-
Die vorliegende Erfindung betrifft
ein Analyseverfahren und eine Analysevorrichtung zum optimalen Anordnen
von Testpunkten für
ein leichtes Testen einer aus einer Anzahl von Elementen zusammengesetzten
logischen Schaltung und auch eine hinsichtlich der Anordnung von
Testpunkten verbesserte integrierte Halbleiterschaltung.
-
Eine Technik zum leichten Testen
einer integrierten Halbleiterschaltung umfaßt das Einfügen von Testpunkten in die
Schaltung. Die Testpunkte werden eingeteilt in "1-Kontrollpunkte" zum leichten Kontrollieren
einer Signalleitung auf eine 1 (im folgenden als "1-Kontrollierbarkeit" bezeichnet), "0-Kontrollpunkte" zum leichten Kontrollieren
einer Signalleitung auf eine 0 (im folgenden als "0-Kontrollierbarkeit" bezeichnet), und "Beobachtungspunkte" zum leichten Beobachten
des Signalwertes auf einer Signalleitung (im folgenden als "Beobachtbarkeit" bezeichnet).
-
Die Schaltungen für die Testpunkte und ein Verfahren
zum Analysieren der Positionen zum Einfügen der Testpunkte sind im
Detail in einem Artikel mit dem Titel "Test Points Insertion for Scan-Based BIST" von B. Seiss et
al. in Proceeding of 2nd European Test Conference, Seiten 253 bis
262 (1990) und in der japanischen Patent-Offenlegungsschrift Nr. 6-331709
mit dem Titel "Circuit
improved in testability and method of improving testability of circuit" beschrieben.
-
Das in der ersten Druckschrift beschriebene Verfahren
zum Analysieren von Testpunkten legt unter Verwendung einer probabilistischen
Testbarkeitsskala, die COP (Controllability Observability Procedure)
genannt wird, eine Zielfunktion (im folgenden mit "Testkosten" bezeichnet) fest
und bestimmt die Testpunkte einzeln so, daß die Zielfunktion minimal wird.
Die Prozedur zur Bestimmung eines Testpunktes umfaßt dabei
die Schritte der Auswahl von Kandidaten für einen Testpunkt (im folgenden "Testpunktkandidaten" genannt) auf der
Basis eines Näherungswertes
für die
Testkosten beim Einfügen
des Testpunktes, Berechnen der tatsächlichen Testkosten beim Einfügen jedes
der Testpunktkandidaten, und dann Festlegen des Testpunktkandidaten
mit den minimalen Testkosten als Testpunkt. Dieser Prozeß wird für die Anzahl
der Testpunkte wiederholt. Es wurde bestätigt, daß dieses Analyseverfahren gut
ist für
die Erleichterung eines Zufallszahl-Mustertestes.
-
In einem Artikel mit dem Titel "Timing-Driven Test
Point Insertion for Full-Scan Partial-Scan BIST" von K.-T. Cheng et al. in Proceeding
of International Test Conference, Seiten 506 bis 514 (1995) ist
ein Verfahren zum Analysieren von Testpunkten beschrieben, das besser
ist als das obige Verfahren von B. Seiss et al. und mit dem eine
Signalverzögerung aufgrund
der Testpunkteinfügung
unterdrückt
wird. In der Prozedur zum Erhalten eines Testpunkts bei dem obigen
Verfahren von B. Seiss et al. berechnet dieses Verfahren einen Bereich
für die
Signalverzögerung
in jeder Signalleitung einer Schaltung und fordert die Bedingung
für den
Testpunktkandidat, daß der
Bereich der Signalverzögerung
größer ist
als ein vorgegebener Wert. Die anderen Prozesse sind die gleichen
wie im Verfahren von B. Seiss et al. Der Bereich für die Signalverzögerung auf
dem Weg zwischen Anschlüssen
oder Elementen ist ein Wert für
die Subtraktion der tatsächlichen
Signalverzögerung
von der erlaubten, konstruktiv bedingten Signalverzögerung. Der
Bereich der Signalverzögerung
in jeder Signalleitung ist der minimale Bereich für die Signalverzögerung in
dem Weg mit der Signalleitung.
-
Bei den erwähnten herkömmlichen Verfahren zum Analysieren
von Testpunkten weist das Verfahren von B. Seiss et al. das Problem
auf, daß die Leistungsfähigkeit
der integrierten Halbleiterschaltung durch die erhöhte Signalverzögerung wegen
der Testpunkteinfügung
herbgesetzt wird. Andererseits ist es das Problem des Verfahrens
von K.-T. Cheng, daß die Verarbeitung
aufgrund des Flaschenhalses dieses Prozesses für logische Schaltungen großen Umfangs
nicht innerhalb praktikabler Zeiten ausgeführt werden kann, da es erforderlich
ist, jedesmal beim Erhalten eines Testpunkts die Bereiche für die Signalverzögerung auf
den einzelnen Signalleitungen zu berechnen.
-
Beim tatsächlichen Ausbilden eines Testpunkts
in einer integrierten Halbleiterschaltung ist es üblich, für einen
1-Kontrollpunkt ein OR-Gate mit zwei Eingängen einzufügen und für einen 0-Kontrollpunkt ein
AND-Gate mit zwei Eingängen
vorzusehen. Die meisten integrierten Halbleiterschaltungen sind nach
dem Einfügen
eines Testpunkts jedoch Schaltungen mit Problemen, die unter dem
Gesichtspunkt der Belastungen durch die Signalverzögerung und die
Schaltkreisfläche
optimiert werden sollten.
-
Die oben genannten Verfahren zum
Analysieren von Testpunkten weisen im praktischen Gebrauch ein Problem
auf, da die Verarbeitungszeit sehr lang ist, wenn eine logische
Schaltung großen Umfangs
analysiert wird. Die meiste Verarbeitungszeit geht für die Berechnung
der Testkosten für
die Testpunktkandidaten drauf, in der die Verschachtelung am tiefsten
ist. Unter der Annahme, daß die
Anzahl der Testpunktkandidaten und die Anzahl der Testpunkte der
Anzahl von Gattern proportional ist, ist im ungünstigsten Fall die Berechnungszeit
für die Testkosten
proportional der Anzahl von Gattern, und die Bearbeitungszeit für die gesamte
Testpunktanalyse ist proportional der dritten Potenz der Anzahl
von Gattern. Andererseits sollte vorzugsweise unter dem Gesichtspunkt
des Trends zu größeren integrierten Halbleiterschaltungen
und des Trends zur Erhöhung der
Arbeitsgeschwindigkeit der Computer die praktische Bearbeitungszeit
proportional der zweiten Potenz oder weniger der Anzahl Gatter sein.
-
Ein weiteres Problem beim Einfügen der Testpunkte
in eine integrierte Halbleiterschaltung ist die Vergrößerung der
Schaltkreisfläche.
Der Hauptgrund dafür
sind die Eingangselemente, die nur für die Testpunkte verwendet
werden, und die Flip-Flops mit Scanfunktion, die als Ausgangselemente
verwendet werden.
-
Die vorliegende Erfindung wird durch
die Patentansprüche
definiert.
-
Vorzugsweise ist es die erste Aufgabe
der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum
schnellen Analysieren von Testpunkten in einer integrierten Halbleiterschaltung
zu schaffen, wobei die Nachteile in der Signalverzögerung und hin sichtlich
der Schaltkreisfläche
aufgrund des Einfügens
der Testpunkte herbgesetzt sind und wobei die Verarbeitung mit hoher
Geschwindigkeit erfolgt und leicht umsetzbar ist.
-
Die erste Aufgabe der vorliegenden
Erfindung kann dadurch gelöst
werden, daß ein
Analyseverfahren für
Testpunkte in integrierten Halbleiterschaltungen geschaffen wird,
mit dem die Testpunkt-Einfügepositionen
und die Arien der Modifikation der Schaltung in der integrierten
Halbleiterschaltung durch Ausbilden einer Verbindung einer Anzahl von
Zellen mit Signalleitungen mit verbesserter Testbarkeit bestimmt
werden, wobei das Verfahren die Schritte des Erstellens eines Testpunkt-Einfügearchivs,
das Sätze
für Zelltypen,
die als Testpunkte eingefügt
werden können,
eine Pinnummer, den Testpunkttyp und die Art der Modifikation der
Schaltung für
die Anzahl von Zellen und Signalleitungen enthält, um den Testpunkttyp angeben
zu können,
der eingefügt
werden kann, und die Art der Modifikation der Schaltung, wenn der
Testpunkt in eine Signalleitung eingefügt wird, die durch den Zelltyp
und die Pinnummer der integrierten Halbleiterschaltung angegeben wird,
und des Bestimmens der Testpunkt-Einfügepositionen und die Art der
Modifikation der Schaltung durch die Auswahl von Signalleitungen
und Testpunkttypen nur aus den Signalleitungen und Testpunkttypen,
die den Zelltypnamen und den Pinnummern entsprechen, die durch das
Testpunkt-Einfügearchiv
angegeben werden, umfaßt.
-
Die erste Aufgabe der vorliegenden
Erfindung kann auch dadurch gelöst
werden, daß ein
Analyseverfahren für
Testpunkte in integrierten Halbleiterschaltungen geschaffen wird,
mit dem die Testpunkt-Einfügepositionen
und die Arien der Modifikation der Schaltung in der integrierten
Halbleiterschaltung bestimmt werden, wobei das Verfahren die Schritte
des Erstellens von Testpunkt-Einfügeverbotsinformationen, die
Sätze für die Signalleitungen
und Testpunkttypen angeben, die das Einfügen eines Testpunkts in die
integrierte Halbleiterschaltung verhindern, und des Bestimmens von
Testpunkt-Einfügepositionen
und Arien der Modifikation der Schaltung unter Ausschluß der Sätze von
Signalleitungen und Testpunkttypen aus den Testpunktkandidaten, die
durch die Testpunkt-Einfügeverbotsinformationen bezeichnet
werden, umfaßt.
-
Die erste Aufgabe der vorliegenden
Erfindung kann außerdem
effektiv dadurch gelöst
werden, daß ein
Analyseverfahren für
Testpunkte in integrierten Halbleiterschaltungen geschaffen wird,
mit dem die Testpunkt-Einfügepositionen
und die Arien der Modifikation der Schaltung bestimmt werden, wobei das
Verfahren die Schritte des Erstellens eines Testpunkt-Einfügearchivs
und von Testpunkt-Einfügeverbotsinformationen
und des Bestimmens von Testpunkt-Einfügepositionen und Arten der
Modifikation der Schaltung durch die Auswahl von Signalleitungen und
Testpunkttypen nur aus den Signalleitungen und Testpunkttypen der
Schaltung, die den Zelltypnamen und Pinnummern entsprechen, die
durch das Testpunkt-Einfügearchiv
bezeichnet werden, und unter Ausschluß der Signalleitungen und Testpunkttypen
in der Schaltung, die durch die Testpunkt-Einfügeverbotsinformationen
bezeichnet werden, umfaßt.
-
Ein Analysegerät für integrierte Halbleiterschaltkreistestpunkte,
bei dem das erfindungsgemäße Verfahren
angewendet wird, umfaßt
eine Testpunkt-Einfügestellen-Begren zungseinheit
zum Festlegen des Unterschieds zwischen einer Testpunkteinfügefähigkeit
bzw. Nichtfähigkeit
in jede der Signalleitungen für
jede Testpunktart aus Testpunkt-Einfügeverbotsinformationen
zur Angabe von Signalleitungen und Testpunkttypen, die das Einfügen eines
Testpunkts verbieten, Schaltkreisinformationen des integrierten
Halbleiterschaltkreises bzw. des Testpunkteinfügearchivs, und zum Erhalten
einer Testpunkt-Einfügestelleninformation,
die eine Information über
einen dem Testpunkt entsprechenden Schaltkreis-Modifizierweg enthält, wenn
feststeht, daß der Testpunkt
eingefügt
werden kann, um den einfügbaren
Testpunkttyp und die entsprechende Art der Schaltungsmodifikation
beim Einfügen
des Testpunkts in die Signalleitung anzugeben, die durch den Zelltypnamen
und die Pinnummer der integrierten Halbleiterschaltung bezeichnet
wird, eine Testpunkt-Index-Berechnungseinheit zum Berechnen eines
Indexes, der einen Testfähigkeitsgrad
für eine
mit einem Testpunkt versehbare Signalleitung und den Testpunkttyp
ausdrückt,
wenn der Testpunkt eingefügt
wird; und eine Testpunkt-Festlegeeinheit, die eine Signalleitung
und den Testpunkttyp mit einem großen Index, der, entsprechend
der Signalleitung, einen Testfähigkeitsgrad
und eine Testpunktart ausdrückt,
als einen Testpunkt aus der testpunkteinfügefähigen Signalleitung festlegt.
-
Vorzugsweise ist es die zweite Aufgabe
der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung zum
schnellen Analysieren von Einfügepositionen
für Testpunkte
in einer logischen Schaltung zu schaffen.
-
Vorzugsweise ist es die dritte Aufgabe
der vorliegenden Erfindung, eine integrierte Halbleiterschaltung
zu schaffen, in der die Belastung durch die einzufügenden Testpunktschaltkreise
verringert sind.
-
Vorzugsweise ist es die vierte Aufgabe
der vorliegenden Erfindung, ein Analyseverfahren für Testpunktkorrelationsinformationen
zu schaffen, das erforderlich ist, die Flächenbelastung aufgrund des Einfügens von
Testpunkten zu verringern.
-
Die zweite Aufgabe der vorliegenden
Erfindung kann gelöst
werden durch ein Analyseverfahren für logische Schaltkreis-Testpunkte,
das Testpunkteinfügestellen
und Schaltkreisarten dadurch festlegt, daß die Testkosten berechnet
werden, wenn die Testpunkte in die entsprechenden Signalleitungen
eines durch die Verbindung mehrerer Elemente gebildeten logischen
Schaltkreises eingefügt
wurden, mit den Schritten des Auswählens einer vorbestimmten Anzahl
von Testpunktkandidaten im absteigenden Grad ihrer Testbarkeit,
die durch die Berechnung der Testkosten oder eines Näherungswerts
für die
Testkosten für
jede der Signalleitungen in der logischen Schaltung erhalten werden,
des Erhaltens eines Wirkbereichs, in dem die Testbarkeit variiert,
wenn angenommen wird, daß jeder
der Testpunktkandidaten eingefügt
wird; und des Bestimmens einer Kandidatengruppe von Testpunktkandidaten,
deren Wirkbereiche sich nicht oder sich mit vernachlässigbarer Auswirkung überlappen,
als neue Testpunktgruppe, deren Testpunkte simultan testbar sind.
-
Die zweite Aufgabe kann außerdem durch das
Erhalten eines Wirkbereichs gelöst
werden, in dem sich die Testbarkeit ändert, wenn angenommen wird,
daß jeder
der Testpunktkandidaten eingefügt wird,
wobei die Testpunktkandidaten durch die Auswahl einer vorgegebenen
Anzahl von Testpunkten im abnehmenden Grad ihrer Testbarkeit auf
der Basis der Testkosten für
jede der Signalleitungen bestimmt werden, und daß eine Kandidatengruppe aus
den Testpunktkandidaten, die nicht in den Wirkbereichen anderer
Gruppen von Testpunktkandidaten enthalten ist, als neue Testpunktgruppe
mit gleichzeitig testbaren Testpunkten festgelegt wird, wozu der
Wirkbereich jedes Testpunktkandidaten in der abnehmenden Reihenfolge
des Grades der Testbarkeit überprüft wird.
-
Die zweite Aufgabe kann gelöst werden durch
Erhalten der Testkosten (zum Beispiel COP) oder eines Näherungswertes
für die
Testkosten (zum Beispiel CRF) für
jede der Signalleitungen in der logischen Schaltung unter der Bedingung
des Nichtvorhandenseins oder des Vorhandenseins eines in die Signalleitung
eingefügten
Testpunkts, des Auswählens
einer vorbestimmten Anzahl von Testpunktkandidaten in absteigender
Ordnung der CRF, des Erhaltens der Testkosten, wenn angenommen wird,
daß jeder
der Testpunktkandidaten eingefügt
wird, des Festlegens der Absenz oder Präsenz einer Wirkung jedes gesetzten
Testpunkts auf die Testkosten der anderen Testpunktkandidaten, wenn
jeder der Testpunktkandidaten als Testpunkt in der Reihenfolge der ansteigenden
Ordnung der Testkosten gesetzt wird, des Bestimmens eines Testpunktkandidaten
als neue Testpunktgruppe, dessen Wirkung auf die Testkosten für die anderen
Testpunktkandidaten nicht vorhanden oder vernachlässigbar
ist, des Berechnens der Wirkungen des neuen Testpunkts auf die anderen
Testpunktkandidaten; und des Wiederholens der obigen Schritte.
-
Die zweite Aufgabe kann bei den obigen
Verfahren dadurch gelöst
werden, daß,
wenn eine vorgegebene Komplettierbedingung bei der Ausführung des
Bestimmungsprozesses für
die neue Testpunktgruppe für
alle der vorgegebenen Anzahl der Testpunktkandidaten auf der Basis
der Präsenz
oder Absenz von Auswirkungen einer Testpunktwirkung nicht erfüllt ist,
die CRFs für
den logischen Schaltkreis mit bereits bestimmten Testpunkten neu
berechnet werden, weiterhin die nötige Anzahl von Testpunktkandidaten
wiederholt in absteigender Ordnung der CRFs bestimmt wird und der
Bestimmungsprozeß für eine neue
Testpunktgruppe wiederholt wird, wobei die Wirkungen jedes der neu
bestimmten Testpunktkandidaten berücksichtigt wird.
-
Die zweite Aufgabe kann dadurch gelöst werden,
daß diejenigen
Kandidaten aus den Testpunktkandidaten bestimmt werden, die keine
Wirkungen der festgesetzten Testpunkte erfahren und deren Testkosten
eine vorgegebene Schwelle nicht übersteigen.
-
Die zweite Aufgabe kann gelöst werden durch
ein Analysegerät
für logische
Schaltkreis-Testpunkte nach den genannten Verfahren, wobei das Gerät eine Testpunkt-Index-Berechnungseinheit
zum Erhalten der Testkosten oder eines Näherungswertes für die Testkosten
für jede
der Signalleitungen in dem logischen Schaltkreis unter der Bedingung
des Nichtausführens
bzw. Ausführens
der Testpunkteinfügung für die Signalleitung,
und zum Auswählen,
basierend auf den erhaltenen Testkosten oder dem erhaltenen Näherungswert
für die
Testkosten für
jede Signalleitung in dem logischen Schaltkreis, einer vorgegebenen
Anzahl von Testpunktkandidaten in absteigender Ordnung des festgestellten
Testfähigkeitsgrades, eine
Testpunkt-Wirkungs-Berechnungseinheit zum Berechnen, ob die Testfähigkeit
jedes anderen Testpunktkandidaten durch den Testpunkt, der gerade vorher
gesetzt wurde, beeinträchtigt
wird, und eine Testpunkt-Festlegeeinheit zum Wiederholen eines Prozesses
zum Bestimmen eines Testpunktkandidaten mit einem höchsten Testfähigkeitsgrad
als einen Testpunkt, und einen Prozeß zum Bestimmen eines Testpunktkandidaten
als nächsten
Testpunkt umfaßt, der
nicht die zuvor genannte Wirkung zwischen dem Testpunktkandidaten
und dem gesetzten Testpunkt aufweist.
-
Die zweite Aufgabe kann gelöst werden durch
das Vorsehen eines Analysegeräts
für logische Schaltkreis-Testpunkte
gemäß der genannten
Vorrichtung, wobei die Testpunktfestlegeeinheit eine Testpunkt-Korrelationsinformation
ausgibt, die Testpunkte als in derselben Gruppe identifiziert, deren Wirkbereiche
sich nicht überschneiden,
wobei ein Testfähigkeitsgrad
für jede
der Signallinien in jedem Wirkbereich dadurch variiert, daß ein Testpunkt
in dem Wirkbereich bestimmt wird.
-
Vorzugsweise wird die dritte Aufgabe
der vorliegenden Erfindung gelöst
durch das Vorsehen einer integrierten Halbleiterschaltung mit eingefügten Kontrollpunkten
in einer Anzahl von Signalleitungen mit relativ kleinen Testkosten
in die durch das Verbinden einer Anzahl von Elementen gebildete
logische Schaltung, wobei eine Testdaten-Eingangssignalleitung für jeden
der Kontrollpunkte, für
die Wirkbereiche, der Grad der Testbarkeit für jede der Signalleitungen
in jedem der Wirkbereiche durch das Festlegen eines Kontrollpunkts
im Wirkbereich ändert,
sich nicht überschneiden,
mit einem vorgegebenen Element verbunden wird, und das Element mit
einem externen Eingangselement, einem Flip-Flop mit Scanfunktion
und einer Testdaten-Eingangssignalleitung verbunden wird, so daß ein Signalwert
eingestellt werden kann.
-
Vorzugsweise wird die vierte Aufgabe
der vorliegenden Erfindung gelöst
durch das Vorsehen eines Verfahrens zum Analysieren von Korrelationsinformationen
für Testpunkte
in einer logischen Schaltung mit einer Anzahl von vorgegebenen Testpunkten,
wobei das Verfahren einen ersten Schritt des vorläufigen Bestimmens
aller Testpunkte, für
die es noch keine Testpunktgruppe gibt, als Testpunktkandidaten
auf der Basis von Schaltungsinformationen einschließlich der
Einfügepositionen
der Testpunkte, der Arten von Schaltungen und der Testkosten, und
des Bestimmens eines Testpunktkandidaten mit minimalen Testkosten
als Testpunkt, einen zweiten Schritt des Berechnens eines Wirkbereiches,
in dem sich die Testkosten der einzelnen Signalleitungen durch das
Einfügen
des festgelegten Testpunkts ändern,
und des Wiederholens eines Prozesses zum Überprüfen jedes der Testpunktkandidaten
in ansteigender Ordnung der Testkosten, ob er im Wirkbereich enthalten
ist oder nicht, eines Prozesses zum Bestimmen eines Testpunktkandidaten,
der nicht im Wirkbereich enthalten ist, als neuem Testpunkt, und eines
Prozesses zum Hinzufügen
von Korrelationsinformationen der gleiche Gruppe zu den als neue Testpunkte
bestimmten Testpunktkandidaten, und einen dritten Schritt des Zurückkehrens
der Bearbeitung zum ersten Schritt umfaßt, wenn nicht eine vorgegebene
Anzahl von Testpunkten als neue Testpunkte festgelegt werden kann,
wenn der zweite Schritt an allen Testpunktkandidaten ausgeführt wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
eine Blockdarstellung des Aufbaus einer Ausführungsform einer Vorrichtung
zur Testpunktanalyse für
eine integrierte Halbleiterschaltung gemäß der vorliegenden Erfindung.
-
2 ist
ein Flußdiagramm
für eine
Ausführungsform
einer Prozeßprozedur
der Vorrichtung zur Testpunktanalyse für eine integrierte Halbleiterschaltung.
-
3A und 3B zeigen jeweils ein Beispiel
für eine
integrierte Halbleiterschaltung bzw. für eine integrierte Halbleiterschaltung
mit eingefügten
Testpunkten.
-
4A und 4B sind Tabellen für Beispiele von
Testpunkt-Einfügearchiven.
-
5 zeigt
Schaltungen zur Erläuterung
der einzelnen Schaltungs-Modifikationsarten zum Einfügen eines
Testpunkts in verschiedene Zellentypen.
-
6A und 6B sind Tabellen für Beispiele von
Testpunkt-Einfügeverbotsinformationen.
-
7A und 7B sind Tabellen für Beispiele von
Testpunkt-Einfügepositionsinformationen.
-
8 ist
ein Flußdiagramm
für eine
Bearbeitungsprozedur bei dem Testpunkt-Einfügepositionsbeschränkungsprozeß der 2.
-
9A, 9B und 9C sind Tabellen für den transienten Inhalt bei
der Bearbeitung von Testpunkt-Indexinformationen.
-
10 ist
eine Tabelle für
ein Beispiel einer Testpunktinformation.
-
11 ist
eine Schaltungsdarstellung für eine
Ausführungsform
einer integrierten Halbleiterschaltung, in die gemäß der vorliegenden
Erfindung Testpunkte eingefügt
werden.
-
12 ist
eine Tabelle für
die Bereiche der Signalverzögerung
auf entsprechenden Wegen.
-
13A und 13B zeigen eine Blockdarstellung
zur Erläuterung
der Verbotswege, die das Einfügen
von Testpunkten verbieten, und eine Tabelle mit Informationen über die
Verbotswege.
-
14 ist
eine Blockdarstellung des Aufbaus einer Ausführungsform einer Vorrichtung
zur Testpunktanalyse für
eine logische Schaltung gemäß der vorliegenden
Erfindung.
-
15 ist
ein Flußdiagramm
für eine
Ausführungsform
einer Prozeßprozedur
der Vorrichtung zur Testpunktanalyse für eine logische Schaltung.
-
16A und 16B zeigen jeweils ein Beispiel für eine logische
Schaltung bzw. für
eine logische Schaltung mit einem eingefügten Testpunkt.
-
17A und 17B zeigen Konzeptansichten zur
Erläuterung
der Bereiche, die durch entsprechende Testpunkte beeinflußt werden.
-
18A–18D zeigen Konzeptansichten
zur Erläuterung
der gegenseitigen Beziehung von zwei Testpunkten.
-
19 ist
ein Flußdiagramm
für die
Einzelheiten des Testpunkt-Index-Berechnungsprozesses der 15.
-
20 ist
ein Flußdiagramm
für die
Einzelheiten des anfänglichen
Testpunktbestimmungsprozesses der 15.
-
21 ist
ein Flußdiagramm
für die
Einzelheiten des Testpunktwirkungsberechnungsprozesses der 15.
-
22 ist
ein Flußdiagramm
für die
Einzelheiten des Korrelation im Testpunktbestimmungsprozesses der 15.
-
23A–23C sind Tabellen für den Berechnungsinhalt
von COP, der differentiellen Koeffizienten und von CRF.
-
24A und 24B sind Tabellen für die Testpunkt-Indexinformation
und die Zusammensetzung der Testpunktwirkungsinformation für Testpunktkandidaten
und des Übergangsinhalts
im Bearbeitungsprozeß.
-
25A und 25B sind Tabellen für die Testpunktwirkungsinformation
und des Übergangsinhalts bei
der Verarbeitung.
-
26A und 26B sind Tabellen für die Zusammensetzung
und den Inhalt der Testpunktinformation und der Testpunktkorrelationsinformation.
-
27 ist
eine Konzeptansicht zur Erläuterung
der Verwendung von geteilten Schaltkreisinformationen für eine andere
Ausführungsform
eines Testpunktanalyseprozesses nach der vorliegenden Erfindung.
-
28 ist
ein Flußdiagramm
zur Berechnung der Testpunktkorrelationsinformation aus der Testpunktinformation
für eine
andere Ausführungsform
der Testpunktkorrelationsinformationsanalyse nach der vorliegenden
Erfindung.
-
29 ist
eine Darstellung des Aufbaus einer weiteren Ausführungsform einer integrierten Halbleiterschaltung
gemäß der vorliegenden
Erfindung.
-
GENAUE BESCHREIBUNG DER
AUSFÜHRUNGSFORMEN
-
Anhand der beiliegenden Zeichnungen
werden nun Ausführungsformen
der vorliegenden Erfindung genauer beschrieben.
-
Die 1 zeigt
den Aufbau einer Ausführungsform
einer Vorrichtung zur Testpunktanalyse für eine integrierte Halbleiterschaltung.
Die Analysevorrichtung umfaßt
eine Dateneingabeeinheit 101 zur Eingabe von Informationen über Zellen
und Signalleitungen der integrierten Halbleiterschaltung; eine Berechnungseinheit 102 für Berechnungen
wie die Bestimmung von Einfügepositionen
von Testpunkten; eine Speichereinheit 103 zum Speichern
von Schaltungsinformationen 122, einem Testpunkt-Einfügearchiv 123,
von Testpunkt-Einfügeverbotsinformationen 124,
von Testpunkt-Einfügepositionsinformationen 125,
von Testpunkt-Indexinformationen 126 und von Testpunktkorrelationsinforma tionen 127;
und eine Datenausgabeeinheit 104 zur Ausgabe von berechneten
Ergebnissen wie der Testpunktinformation 127.
-
Die Schaltungsinformationen 122 umfassen Informationen über die
Signalleitungen zwischen den Zellen in der integrierten Halbleiterschaltung
und Informationen über
angenommene Fehler. Die Informationen über die Zellen in der integrierten
Halbleiterschaltung sind der inhärente
Zellenname für
jede Zelle, der Zelltypname für
die Art der Zelle, ein Pinname und der Signalleitungsname für die Verbindung mit
dem Pin. Die Zelle in der integrierten Halbleiterschaltung hängt von
der Herstellungstechnologie der integrierten Halbleiterschaltung
ab, eine logische Schaltung weist in Abhängigkeit vom Typ eine logisch äquivalente
Funktion auf. Die integrierte Halbleiterschaltung wird daher im
Prozeß zur
Berechnung der Testpunkt-Indexinformation bei der vorliegenden Ausführungsform
als logische Schaltung modelliert.
-
Das Testpunkt-Einfügearchiv 123 dient
der Angabe des Testpunkttyps, der eingefügt werden kann, und des Schaltungsmodifikationsverfahrens, wenn
der Testpunkt in eine bestimmte Signalleitung durch eine Zelle und
die Pinnummer in der integrierten Halbleiterschaltung eingefügt werden
kann, und es umfaßt
Informationslistensätze über die
einfügbaren
Zelltypnamen und die Pinnummer und den Testpunkttyp und das Schaltungsmodifikationsverfahren.
-
Die Testpunkt-Einfügeverbotsinformationen umfassen
Informationslistensätze
für Signalleitungen,
in die kein Testpunkt eingefügt
werden kann. Die Signalleitung wird durch den Startpunkt oder Endpunkt
eines Pfades ausgedrückt,
und der Startpunkt und der Endpunkt des Pfades wird durch einen
Satz aus dem Signalleitungsnamen, einem Anschlußnamen oder einer Zellenposition
und einer Pinnummer ausgedrückt.
Die Testpunkttypen sind "1-Kontrollpunkt", "0-Kontrollpunkt" und "Beobachtungspunkt".
-
Die Testpunkt-Einfügepositionsinformationen 125 umfassen
Informationen über
die Unterscheidung zwischen der Fähigkeit oder der Nichtfähigkeit
des Einfügens
von Testpunkten mit einem Schaltungsmodifikationsverfahren, wenn
der Testpunkt an jedem Testpunkt in der integrierten Halbleiterschaltung
eingefügt
werden kann.
-
Die Testpunkt-Indexinformationen 126 stellen
eine numerische Information über
einen Testpunktkandidaten dar, die die Testbarkeit der Gesamtschaltung
angibt, wenn der Testpunktkandidat eingefügt wird, wobei die Informationen 126 durch
eine Tabelle für
die Testpunktindizes entsprechend den Testpunktkandidaten ausgedrückt wird.
Jeder Testpunktkandidat wird durch die Signalleitung und den Testpunkttyp
bezeichnet.
-
Die Testpunktinformationen 127 umfassen Informationen über die
Einfügepositionen
der Testpunkte und die Schaltungsmodifikationsverfahren, sie werden
jeweils durch die Signalleitung (angegeben durch einen Zellennamen
und eine Pinnummer) und das im Testpunkt-Einfügearchiv 123 beschriebene
Schaltungsmodifikationsverfahren ausgedrückt.
-
Die Berechnungseinheit 102 besteht
aus einem Testpunkt-Einfügepositionsbeschränkungsberechnungsabschnitt 111 zum
Berechnen der Testpunkt-Einfügepositionsinformationen
aus den Schaltungsinformationen 122, dem Testpunkt-Einfügearchiv 123 und
den Testpunkt-Einfügeverbotsinformationen 124;
einem Testpunkt-Indexberechnungsabschnitt 122 zum Berechnen
der Testpunkt-Indexinformationen anhand der Schaltungsinformationen
und der Testpunkt-Einfügepositionsinformationen 125; und
einem Testpunkt-Bestimmungsabschnitt 113 zum Berechnen
der Testpunkte und der Testpunktinformationen 127 aus den
Testpunkt-Indexinformationen 126.
-
Die 2 ist
ein Flußdiagramm
für eine
Ausführungsform
einer Prozeßprozedur
der Vorrichtung zur Testpunktanalyse bei einer integrierten Halbleiterschaltung.
-
Der Schritt S101 umfaßt die Dateneingangsverarbeitung,
bei der die Schaltungsinformationen 122, das Testpunkt-Einfügearchiv 123 und
die Testpunkt-Einfügeverbotsinformationen 124 an
der Dateneingabeeinheit 101 eingegeben und in der Speichereinheit 103 gespeichert
werden.
-
Der Schritt S102 umfaßt die Testpunkt-Einfügepositionsbeschränkungsverarbeitung
durch die Testpunkt-Einfügepositionsbeschränkungseinheit 111,
in der die Testpunkt-Einfügepositionsbeschränkungsinformationen 125 durch
Berechnen des Unterschieds zwischen der Möglichkeit und der Nichtmöglichkeit
des Einfügens
eines Testpunkts für
jeden der Testpunkttypen in jede der Signalleitungen in der Schaltung
aus den Schaltungsinformationen 122, dem Testpunkt-Einfügearchiv 123 und
den Testpunkt-Einfügeverbotsinformationen 124 gebildet
werden.
-
Der Schritt S103 umfaßt die Testpunkt-Indexberechnung
durch den Testpunkt-Indexberechnungsabschnitt 112,
in dem die Testpunkt-Indexinformationen 126 durch Berechnen
eines Testpunktindexes für
einen Testpunktkandidaten aus den Testpunkt-Einfügepositionsinformationen 125 gebildet werden.
-
Der Schritt S104 umfaßt die Testpunktbestimmung
durch den Testpunkt-Indexberechnungsabschnitt 112, bei
dem der Testpunktkandidat mit der höchsten Testbarkeit auf der
Basis der Testpunktindex-Informationen 126 ausgewählt wird.
Der Testpunktkandidat wird in den Testpunktinformationen 127 registriert.
-
Im Schritt S107 wird festgestellt,
ob eine vorgegebene Komplettierungsbedingung für die Testpunktanalyse gegeben
ist. Wenn die Komplettierungsbedingung nicht gegeben ist, kehrt
der Prozeß zum
Schritt S103 zurück,
und die Testpunkt-Indexberechung für die integrierte Halbleiterschaltung
wird mit den festgelegten Testpunkten ausgeführt. Dann werden der Testpunktbestimmungsprozeß zur Bestimmung
eines neuen Testpunktes auf der Basis der Testpunktindizes für die Testpunktkandidaten
mit Ausnahme der bestimmten Testpunkte und die Testpunkt-Indexberechnung
und die Testpunktbestimmung ausgeführt, und die Verarbeitung wird
wiederholt, wenn die Komplettierungsbedingung nicht erfüllt ist.
Die Komplettierungsbedingung wird zum Beispiel durch eine Obergrenze
für die
Anzahl der Testpunkte, einen Schwellenwert für den Testpunktindex, eine Beschränkung der
Bearbeitungszeit und dergleichen vorgegeben.
-
Wenn die Komplettierungsbedingung
im Schritt S107 erfüllt
ist, geht der Prozeß zum
Schritt S108 weiter, und die in der Speichereinheit 103 gespeicherte
Testpunktinfor mation 127 wird über die Datenausgabeeinheit 104 als
Ergebnis aus der Vorrichtung zur Testpunktanalyse für integrierte
Halbleiterschaltungen ausgegeben.
-
Jede der Informationen und jeder
der Bearbeitungsschritte wird im folgenden anhand eines Beispiels
für eine
integrierte Halbleiterschaltung im Detail beschrieben.
-
Die 3A und
die 3B zeigt jeweils
ein Beispiel für
eine integrierte Halbleiterschaltung bzw. eine neu zusammengesetzte
integrierte Halbleiterschaltung, in die bezüglich der ersten integrierten Halbleiterschaltung
Testpunkte eingefügt
wurden. Die 3A zeigt
ein Beispiel für
eine integrierte Halbleiterschaltung vor dem Einsetzen von Testpunkten,
die logische Operationen ausführt,
die einer logischen Schaltung aus Invertergattern, AND-Gattern, OR-Gattern,
NAND-Gattern, NOR-Gattern, Einganganschlüssen und Ausgangsanschlüssen äquivalent sind.
Ein Gatter entspricht dabei einer Zelle. Die Zelltypnamen für die Zellen
sind in der Reihenfolge der Zellen 251 bis 257 und 262 bis 266 AND3,
NAND3, AND3, NAND3, OR2, AND2, INV1, NAND2, OR3, NOR3, AND2 und
OR2. Hinsichtlich der Pinnummern für die Zellen steigt die Pinnummer
für den
Eingangspin in der Reihenfolge von der Oberseite der Figur zur Unterseite
wie 1, 2, ... an, und die Pinnummer des Ausgangspins ist (die Nummer
des Eingangspins + 1). Zum Beispiel sind in der Zelle 251 die
Pinnummern für
die Eingangspins, die mit den Anschlüssen 221, 222 und 223 verbunden
sind, 1, 2 bzw. 3, und die Nummer des mit der Signalleitung 201 verbundenen
Pins ist 4. Als Fehlergruppen werden Ausfälle der Ausgangsleitungen angenommen,
das heißt
die Signalleitungen 201 bis 206 und die Signalleitungen 212 bis 216,
die auf den Signalwert 0 degenerieren (0-Degenerationsfehler) und
Fehler, bei denen die Ausgangsleitungen auf den Signalwert 1 degenerieren
(1-Degenerationsfehler).
-
Dieses Beispiel für eine integrierte Halbleiterschaltung
ist außerdem
mit Blockinformationen versehen, die Informationen über die
Untergruppierung einer Anzahl von Zellen und Signalleitungen in der
Schaltung darstellen. Der Block 2000 ist eine Subschaltung
mit der Zelle 251, der Block 2100 eine Subschaltung
mit den Zellen 252 bis 257, und der Block 2200 ist
eine Subschaltung mit den Zellen 262 bis 266.
Beim Entwerfen einer integrierten Halbleiterschaltung werden die
Informationen über
Blöcke
im allgemeinen dann benutzt, wenn der Entwurf schrittweise von Blöcken mit
einer kleinen Funktion hin zu Blöcken
mit einer komplizierteren Funktion unter Verendung der Blöcke mit
kleinen Funktionen erfolgt.
-
Die 3B zeigt
ein Beispiel für
eine Schaltung, bei der in die Schaltung der 3A mit einem herkömmlichen Testpunkt-Einfügeverfahren
(dem Verfahren, das in der oben erwähnten Druckschrift von B. Seiss
et al. beschrieben ist) drei Testpunkte eingefügt wurden. In die Signalleitung 202 ist
ein 1-Kontrollpunkt 271 eingefügt, in die Signalleitung 212 ist
ein 0-Kontrollpunkt 281 eingefügt, und in die Signalleitung 203 ist
ein Beobachtungspunkt 291 eingefügt.
-
Der Kontrollpunkt 271 verbessert
die 1-Kontrolle der Signalleitung 202. Der Kontrollpunkt 271 besteht
aus einem OR-Gatter 273 mit 2 Eingängen und einem Flip-Flop mit
Scanfunktion 274, und die Eingangsleitungen der Zelle 273 sind
mit einen Eingangsseiten abschnitt 272 der Signalleitung 202 und mit
dem Flip-Flop mit Scanfunktion 274 verbunden. Die Ausgangsleitung
der Zelle 273 ist mit der Signalleitung 202 verbunden.
Das Flip-Flop mit
Scanfunktion 254 gibt einen Signalwert aus, der beim Testen durch
eine Scankette eingegeben wird, es gibt im Normalbetrieb immer das
Signal 0 aus.
-
Der 0-Kontrollpunkt 281 verbessert
die 0-Kontrolle der Signalleitung 212. Der Kontrollpunkt 281 besteht
aus einem AND-Gatter 283 mit zwei Eingängen und einem Flip-Flop mit
Scanfunktion 284, und die Eingangsleitungen der Zelle 283 sind
mit dem Eingangsseitenabschnitt 282 der Signalleitung 212 verbunden,
und eine Testdateneingangsleitung ist mit dem Flip-Flop mit Scanfunktion 284 verbunden.
Die Ausgangsleitung der Zelle 283 ist mit der Signalleitung 212 verbunden.
Das Flipflop mit Scanfunktion 264 gibt beim Testen einen
durch eine Scankette eingegebenen Signalwert aus, im normalen Betrieb
gibt es immer das Signal 1 aus.
-
Der Beobachtungspunkt 291 verbessert
die Beobachtbarkeit der Signalleitung 203. Mit der Signalleitung 292,
die von der Signalleitung 203 abzweigt, ist ein Flip-Flop
mit Scanfunktion 293 verbunden.
-
Das Testpunkt-Einfügearchiv 123 wird
im folgenden anhand der 4(a) und der 5 beschrieben.
-
Die 4A ist
ein Beispiel für
ein Testpunkt-Einfügearchiv 123.
In der Figur bezeichnet die Spalte 401 die Nummer der einzelnen
Elemente des Testpunkt-Einfügearchivs,
und die Spalten 402, 403 bezeichnen den Zellennamen
und die Pinnummer für die
Angabe einer Signalleitung, in die ein Testpunkt eingefügt werden
kann. Die Spalte 404 bezeichnet den Testpunkttyp, der den
Zweck des Einfügens
eines Testpunkts angibt, und die Spalte 405 bezeichnet das
tatsächliche
Schaltungsmodifizierungsverfahren. Im Schaltungsmodifizierungsverfahren
beschreiben die Informationen der Spalte 406 das Verbindungsverfahren
für jeden
Pin so, daß es
eindeutig ist.
-
Die Zeilen 411 bis 417 bezeichnen
die Elemente des Testpunktarchivs als Satz von Zelltypnamen für das Einfügen eines
Testpunkts, einer Pinnummer, einem Testpunkttyp und einem Schaltungsmodifizierungsverfahren.
Die Diagramme (1) bis (7) in der 5 zeigen
die den einzelnen Zelltypen 411 bis 417 der 4A entsprechenden Schaltungsmodifizierungsverfahren.
-
Das Bezugszeichen 1 des
Testpunkt-Einfügearchivs
(die Zeile 411) drückt
aus, daß ein
1-Kontrollpunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 2 des Zelltyps namens INV1 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Ändern der Zelle INV1 in eine
Zelle NAND2 umfaßt.
Das heißt,
daß, wie
im Diagramm (1) der 5 gezeigt,
die Zelle 511 mit der Funktion eines INV-Gatters durch
eine Zelle 513 mit der Funktion eines NAND-Gatters ersetzt
wird, und daß die Pins
1 und 3 den Pins 1 und 2 der Zelle 511 vor dem Ersetzen
entsprechen und Pin 2 mit der Signalleitung des Ausgangspins eines
Flip-Flops 515 mit Scanfunktion verbunden ist.
-
Das Bezugszeichen 2 des
Testpunkt-Einfügearchivs
(die Zeile 412) drückt
aus, daß ein
0-Kontrollpunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 2 des Zell typs namens INV1 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Ändern der Zelle INV1 in eine
Zelle NOR2 umfaßt.
Das heißt,
daß, wie
im Diagramm (2) der 5 gezeigt,
die Zelle 521 mit der Funktion eines INV-Gatters durch
eine Zelle 523 mit der Funktion eines NOR-Gatters ersetzt
wird, und daß die
Pins 1 und 3 den Pins 1 und 2 der Zelle 521 vor dem Ersetzen
entsprechen und Pin 2 mit der Signalleitung des Ausgangspins eines
Flip-Flops 525 mit Scanfunktion verbunden ist.
-
Das Bezugszeichen 3 des
Testpunkt-Einfügearchivs
(die Zeile 413) drückt
aus, daß ein
0-Kontrollpunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 1 des Zelltyps namens BUF1 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Ändern der Zelle BUF1 in eine
Zelle AND2 umfaßt.
Das heißt,
daß, wie
im Diagramm (3) der 5 gezeigt,
die Zelle 531 mit der Funktion eines BUF-Gatters durch
eine Zelle 533 mit der Funktion eines AND-Gatters ersetzt
wird, und daß die
Pins 1 und 3 den Pins 1 und 2 der Zelle 531 vor dem Ersetzen
entsprechen und Pin 2 mit der Signalleitung des Ausgangspins eines
Flip-Flops 535 mit Scanfunktion verbunden ist.
-
Das Bezugszeichen 4 des
Testpunkt-Einfügearchivs
(die Zeile 414) drückt
aus, daß ein
0-Kontrollpunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 3 des Zelltyps namens NAND2 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Ändern der Zelle NAND2 in eine
Zelle ANDNOR umfaßt.
Das heißt,
daß, wie
im Diagramm (4) der 5 gezeigt,
die Zelle 541 mit der Funktion eines NAND-Gatters durch
eine Zelle 543 mit der Funktion eines AND-Gatters und eines
NOR-Gatters ersetzt wird, und daß die Pins 1, 2 und 4 den Pins
1, 2 und 3 der Zelle 531 vor dem Ersetzen entsprechen und
Pin 3 mit der Signalleitung des Ausgangspins eines Flip-Flops 546 mit
Scanfunktion verbunden ist.
-
Das Bezugszeichen 5 des
Testpunkt-Einfügearchivs
(die Zeile 415) drückt
aus, daß ein
1-Kontrollpunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 1 des Zelltyps namens AND3 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Einfügen einer Zelle OR2 umfaßt. Das heißt, daß, wie im
Diagramm (5) der 5 gezeigt, eine
Zelle 553 mit der Funktion eines OR-Gatters in die Signalleitung
eingefügt
wird, die mit Pin 4 der Zelle 551 mit der Funktion eines
AND-Gatters verbunden ist, daß die
Pins 1 und 3 den Signalleitungen der Eingangsseite und der Ausgangsseite
entsprechen, und daß Pin
2 mit der Signalleitung des Ausgangspins eines Flip-Flops 555 mit
Scanfunktion verbunden ist.
-
Das Bezugszeichen 6 des
Testpunkt-Einfügearchivs
(die Zeile 416) drückt
aus, daß ein
Beobachtungspunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 4 des Zelltyps namens AND3 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Abzweigen der Signalleitung
für eine
Verbindung mit einem Flip-Flop mit Scanfunktion umfaßt. Das
heißt,
daß, wie
im Diagramm der 5 gezeigt,
eine Signalleitung 563 von der Signalleitung abgezweigt
wird, die mit Pin 4 der Zelle 561 mit der Funktion eines
AND-Gatters verbunden ist, um eine Verbindung mit dem Dateneingangspin
des Flip-Flops 564 mit
Scanfunktion herzustellen.
-
Das Bezugszeichen 7 des
Testpunkt-Einfügearchivs
(die Zeile 417) drückt
aus, daß ein
Beobachtungspunkt für
eine Signalleitung eingefügt
werden kann, die mit Pin 4 des Zelltyps namens OR3 verbunden ist,
und daß das
Schaltungsmodifizierungsverfahren das Abzweigen der Signalleitung
für eine
Verbindung mit einem Flip-Flop mit Scanfunktion umfaßt. Das
heißt,
daß, wie
im Diagramm (7) der 5 gezeigt,
eine Signalleitung 573 von der Signalleitung abgezweigt
wird, die mit Pin 4 der Zelle 571 mit der Funktion eines
OR-Gatters verbunden ist, um eine Verbindung mit dem Dateneingangspin
des Flip-Flops 564 mit Scanfunktion herzustellen.
-
Die Testpunkt-Einfigeverbotsinformationen 124 werden
im folgenden anhand der 6A beschrieben.
-
Die 6A ist
ein Beispiel für
die Testpunkt-Einfügeverbotsinformationen.
In diesem Beispiel bestehen die Testpunkt-Einfügeverbotsinformationen aus
Informationen 601 über
verbotene Pfade, die Signalleitungen bezeichnen, in die kein Testpunkt eingefügt werden
kann, und aus Informationen 602 über verbotene Blöcke, die
Blöcke
bezeichnen, in die kein Testpunkt eingefügt werden kann. Der Inhalt
der Zeilen 615 bis 618 und 624 bis 625 steht
beispielhaft für
die integrierte Halbleiterschaltung der 3A.
-
Die Informationen 601 über verbotene
Pfade bestehen aus dem Bezugszeichen 611, einem Pfadstartpunkt
für den
Pfad, in den kein Testpunkt 612 eingefügt werden kann, dem Pfadendpunkt 613 und dem
verbotenen Testpunkttyp 614. Zum Beispiel besagt die Zeile 615,
daß das
Einfügen
eines Kontrollpunkts (eines 1-Kontrollpunkts und eines 0-Kontrollpunkts) in
die Signalleitung auf dem Pfad vom Anschluß 226 zum Anschluß 242 verboten
ist, das heißt für die Signalleitung,
die mit dem Anschluß 226 und den
Signalleitungen 212, 213 und 215 verbunden
ist. Die Zeile 616 besagt, daß das Einfügen eines Beobachtungspunkts
in die Signalleitung auf dem Pfad von der Signalleitung 212 zur
Signalleitung 215 verboten ist, das heißt in die Signalleitungen 212, 213 und 215.
Die Zeile 617 besagt, daß das Einfügen eines Kontrollpunkts in
die Signalleitung auf dem Pfad vom Pin 4 der Zelle 251 zum
Pin 3 der Zelle 252 verboten ist, das heißt in die
Signalleitung 201. Die Zeile 618 besagt, daß das Einfügen eines
Kontrollpunkt in die Signalleitung auf dem Pfad vom Anschluß 236 zur Signalleitung 214 verboten
ist, das heißt
für die
Signalleitung, die mit dem Anschluß 236 und der Signalleitung 214 verbunden
ist. Wie in den Zeilen 615 bis 618 gezeigt, können der
Pfadstartpunkt und der Pfadendpunkt durch jeden Satz von Werten
ausgedrückt werden,
der die beiden Enden eines Pfades angibt, wie dem Anschlußnamen,
dem Namen der Signalleitung, dem Zellennamen oder der Pinnummer.
-
Die Informationen 602 über verbotene
Blöcke
bestehen aus dem Bezugszeichen 621, dem Blocknamen 622 für den Block,
in den kein Testpunkt eingefügt
werden kann, und dem verbotenen Testpunkttyp 623. Zum Beispiel
besagt die Zeile 624, daß das Einfügen eines Kontrollpunkts in
die Signalleitungen im Block 2000 verboten ist, das heißt in die
Signalleitungen, die mit den Anschlüssen 221 bis 223 und
der Signalleitung 201 verbunden sind. Gleichermaßen besagt
die Zeile 625, daß das
Einfügen
eines Kontrollpunkts in die Signalleitungen im Block 2200 verboten
ist, das heißt
in die Signalleitungen, die mit den Anschlüssen 226, 233 bis 238 und
den Signalleitungen 212 bis 216 verbunden sind.
-
Die 13A und 13B zeigen eine andere Ausführungsform
zum Bezeichnen von Testpunkt-Einfügeverbotsinformationen. Die 13A zeig ein Beispiel für eine integrierte
Halbleiterschaltung, in der die Bezugszeichen 1301 bis 1306 Eingangsanschlüsse bezeichnen,
und in der die Zelle 1310 den Zelltypnamen "Selektor" und fünf Pins
aufweist. Die 13B zeigt
die Informationen 1331 über die
verbotenen Pfade für
diese Schaltung. Der Aufbau der Informationen 1331 über verbotene
Pfade ist der gleiche wie bei den Informationen 601 über verbotene
Pfade, das Angabeverfahren für
den Startpunkt und den Endpunkt ist jedoch ein anderes. Zum Beispiel
umfaßt
in der Zeile 1345 der Startpunkt des Pfades alle Eingangsanschlüsse und
alle Elemente mit Eingabemöglichkeiten,
das heißt
die Eingangsanschlüsse 1301 bis 1306,
und den Endpunkt, den Pin 2 des Zelltyps mit dem Namen "Selektor". Der sich ergebende
bezeichnete Pfad besteht somit aus den Signalleitungen 1320, 1321, 1322 und 1323.
Gleichermaßen
umfaßt
der durch die Zeile 1346 bezeichnete Pfad die Leitungen 1320, 1321 und 1324.
Da die Testpunkttypen in den beiden Zeilen Kontrollpunkte sind,
sind Kontrollpunkte auf den beiden Pfaden verboten.
-
Ein solches Angabeverfahren wird
zum Beispiel für
ein eingebautes Selbsttestverfahren (BIST) bei der Inspektion einer
integrierten Halbleiterschaltung verwendet, und es wird eine Zelle
verwendet, die einen undefinierten Wert (es ist nicht definiert,
ob der Wert 0 oder 1 ist) ausgibt. Ein Beispiel für eine solche
Zelle ist der oben genannte Selektor 1310, wobei das Ausgangssignal
einen undefinierten Wert hat (der vom Aufbau der Zelle abhängt), wenn
die Eingangswerte an Pin 2 und Pin 4 (0, 0) oder (1, 1) sind. Da
die Schaltung vor dem Einfügen
eines Testpunkts so aufgebaut wurde, daß ein solcher Eingangszustand
vermieden wird, ist das Einfügen
eines Kontrollpunkts an der Eingangsseite des Pins 2 und des Pins
4 verboten, um den Zustand der Schaltung beizubehalten.
-
Die Testpunkt-Einfügepositionsinformationen 125 werden
im folgenden anhand der 7A und 7B beschrieben.
-
Die 7A ist
ein Beispiel für
die Testpunkt-Einfügepositionsinformationen.
Die Testpunkt-Einfügepositionsinformationen
bestehen aus einem Signalleitungsnamen 701, einen 0-Punkt-Information
für die
Signalleitung 702, einer 1-Punkt-Information für die Signalleitung 705 und
Beobachtungspunktinformationen 708. Die Informationen für jeden
Signalleitungs-Testpunkt umfassen Möglichkeitsflags (703, 706, 709)
für die
Möglichkeit
oder Unmöglichkeit
des Einfügens
eines Testpunkts und Archivnummern (704, 707, 710)
für die
Schaltungsmodifikationsverfahren, wenn ein Testpunkt eingefügt werden
kann. In der Zeichnung wird das Möglichkeitsflag durch "O" bezeichnet, wenn ein Testpunkt eingefügt werden
kann, und durch "X", wenn kein Testpunkt
eingefügt
werden kann. Die Archivnummer bezeichnet ein Element des Testpunkt-Einfügearchivs
und gibt das entsprechende Schaltungsmodifikationsverfahren des
Testpunkt-Einfügearchivs
an. Der Inhalt ist in der Zeichnung ein Beispiel für die integrierte
Halbleiterschaltung der 3A,
und es wird angenommen, daß das
Testpunkt-Einfügearchiv
das der 4A ist. Zum
Beispiel besagt die Zeile für
die Signalleitung 201 der 7A,
daß in
die Signalleitung 201 kein 0-Kontrollpunkt eingefügt werden kann, und daß in die
Signalleitung 201 ein 1-Kontrollpunkt eingefügt werden
kann, und daß die
Schaltungsmodifikation durch das Einfügen einer Zelle OR2 wie in
der Spalte 5 der Zeile 415 der 4A gezeigt umfaßt, wenn der 1-Kontrollpunkt eingefügt wird,
und daß ein
Beobachtungspunkt in die Signalleitung 201 eingefügt werden
kann und dabei die Schaltungsmodifikation eine Abzweigung zu einem Flip-Flop
mit einer Scanfunktion umfaßt,
wie es in der Spalte 6 der Zeile 416 der 4A gezeigt ist.
-
Es folgt eine Beschreibung der Bearbeitungsprozedur
in jedem Abschnitt der Berechnungsvorrichtung, die in jedem der
Schritte der 2 ausgeführt wird.
-
Die 8 ist
ein Flußdiagramm
für die
Bearbeitungsprozedur im Testpunkt-Einfügepositionsbeschränkungsprozeß. Dieser
Prozeß wird
im Testpunkt-Einfügepositionsbeschränkungsabschnitt 111 ausgeführt, und
die Testpunkt-Einfügepositionsinformationen 125 werden
anhand des Testpunkt-Einfügearchivs 123 und
der Testpunkt-Einfügeverbotsinformationen 124 ausgeführt. Die
Beschreibung erfolgt anhand des Beispiels für das Testpunkt-Einfügearchiv
der 4A, des Beispiels
der Testpunkt-Einfigeverbotsinformationen der 6A und 6B und
des Beispiels für
die Testpunkt-Positionsinformationen der 7A und 7B.
-
Im Schritt 801 wird eine
Signalleitung in der integrierten Halbleiterschaltung ausgewählt, und
es wird ein Testpunkttyp wie ein 0-Kontrollpunkt, ein 1-Kontrollpunkt
oder ein Beobachtungspunkt für
die Signalleitung ausgewählt.
Im Schritt 802 werden für die
Zellen und Pins der ausgewählten
Signalleitung die Zelltypnamen der Zelle und die Pinnummern der Pins
bestimmt. Es wird dabei angenommen, daß die Signalleitung in einer
Eins-zu-Eins-Entsprechung zu einem Satz von Zellen und Pins steht.
Im Schritt 803 wird untersucht, ob es ein Element (einen
Satz aus Zelltypnamen, Pinnummer, Testpunkttyp, Schaltungsmodifizierungsverfahren)
gibt, der mit dem Zelltypnamen, der Pinnummer und dem Testpunkttyp übereinstimmt.
Wenn es ein solches Element gibt, geht der Prozeß zum Schritt 804 weiter,
um in das Möglichkeitsflag
für die
entsprechende Signalleitung und den Testpunkttyp der Testpunkt-Einfügepositionsinformationen
ein "O" für die Möglichkeit
des Einfügens
des Testpunkts einzusetzen. Dann wird im Schritt 805 die
Elementnummer des übereinstimmenden
Elements im Testpunkt-Einfügearchiv
auf die Archivnummer gesetzt, so daß das Schaltungsmodifikationsverfahren
identifiziert werden kann. Wenn es im Schritt 803 kein übereinstimmendes
Element im Testpunkt-Einfügearchiv
gefunden wird, geht der Prozeß zum
Schritt 806 weiter, um ein "X" für die Unmöglichkeit
des Einfügens
des Testpunkts in das Möglichkeitsflag
des entsprechenden Testpunkttyps einzusetzen. Im Schritt 807 wird
festgestellt, ob die Prozesse der Schritte 801 bis 806 für alle Signalleitungen
ausgeführt
wurden. Wenn nicht, kehrt der Prozeß zum Schritt 801 zurück, um die
Prozesse der Schritte 802 bis 806 durch Auswahl
eines noch nicht bearbeiteten Satzes für eine Signalleitung und einen Testpunkttyp
weiterzuführen.
Wenn die Prozesse alle ausgeführt
sind, geht die Bearbeitung zum Schritt 808 weiter. Im Schritt 808 wird
die Markierung "X" für das Möglichkeitsflag
für einen
bestimmten Testpunkttyp für
die Signalleitung auf dem durch die Informationen über verbotene
Pfade der Testpunkt-Einfügeverbotsinformationen
gesetzt, die die Unmöglichkeit des
Einfügens
eines Testpunkts angibt. Im Schritt 809 wird die Markierung "X" für
das Möglichkeitsflag für einen
bestimmten Testpunkttyp für
die Signalleitung auf dem durch die Informationen über verbotene Blöcke der
Testpunkt-Einfügeverbotsinformationen gesetzt,
die die Unmöglichkeit
des Einfügens
eines Testpunkts angibt.
-
Der erwähnte Testpunkt-Positionsbeschränkungsprozeß ist für den Fall,
daß sowohl
das Testpunkt-Einfügearchiv
als auch Testpunkt-Einfügeverbotsinformationen
vorliegen. Wenn keine Testpunkt-Einfügeverbotsinformationen vorliegen
und nur das Testpunkt-Einfügearchiv
erstellt ist, ist es möglich,
die Schritte 808 bis 809 zur Verarbeitung der Testpunkt-Einfügeverbotsinformationen
im Prozeß der 8 wegzulassen. Entsprechend
reicht es aus, daß der
Prozeß nach S103 im
Gesamtfluß der 2 mit den Testpunkt-Positionsinformationen
aus den Schritten 801 bis 807 fortgesetzt wird.
-
Wenn kein Testpunkt-Einfügearchiv
erstellt wurde und nur Testpunkt-Einfügeverbotsinformationen vorliegen,
ist andererseits die Archivnummer bedeutungslos, und die Testpunkt-Positionsinformationen
dienen allein zur Unterscheidung der Möglichkeit oder Nichtmöglichkeit
des Einfügens
von Testpunkten anhand des Möglichkeitsflags.
Im Testpunkt-Einfügepositionsbeschränkungsprozeß wird das
Möglichkeitsflag
für alle
Signalleitungen und alle Testpunkte auf die Markierung "O" gesetzt, um die Möglichkeit des Einfügens von
Testpunkten anzuzeigen, und die Prozesse der Schritte 808 und 809 werden
ausgeführt,
um die Testpunkt-Positionsinformationen auszubilden.
-
Es wird nun die Prozeßprozedur
für den
Testpunkt-Indexberechnungsabschnitt 112 beschrieben, der
im Testpunkt-Indexberechungsprozeß des Schrittes S103 ausgeführt wird.
Zuerst werden aus den Testpunkt-Einfügepositionsinformationen 125 eine Signalleitung
und ein Testpunkttyp mit dem Möglichkeitsflag "O" ausgewählt, das die Möglichkeit
des Einfügens
von Testpunkten anzeigt. An dieser Signalleitung und diesem Testpunkttyp
wird die Berechnung an einem Index (Testpunktindex) ausgeführt, der
den Grad der Testbarkeit angibt, wenn der Testpunkt eingefügt wird.
Dieser Prozeß wird
für alle Kombinationen
von Signalleitungen und Testpunkttypen mit dem Möglichkeitsflag "O" ausgeführt, das die Möglichkeit
des Einfügens
von Testpunkten anzeigt.
-
Diese Beareitung wird durch den Testpunkt-Indexberechnungsabschnitt 111 ausgeführt, und
es wird als Testpunktindex eine Skala der wahrscheinlichen Testbarkeit
berechnet, die wie oben angegeben COP genannt wird. Dies ist jedoch
nicht auf das COP beschränkt,
es kann jeder Index verwendet werden, solange der Index die Auswirkungen
einer verbesserten Testbarkeit angibt.
-
Es wird nun ein Berechnungsverfahren
für COP
beschrieben. Die Berechnung von COP erfolgt durch Berechnen der
Kontrollierbarkeit (1-Kontrollierbarkeit) von der Eingangsseite
zur Ausgangsseite und zur Berechnung der Beobachtbarkeit von der Ausgangsseite
zur Eingangsseite. Dabei wird die Wahrscheinlichkeit für die Erfassung
eines Fehlers berechnet. Die Fehlererfassungswahrscheinlichkeit ist
das Produkt aus der Wahrscheinlichkeit, daß im Fehlerfall die fehlerhafte
Signalleitung für
jeden angenommenen Fehler einen Signalwert aufweist, der sich vom
Signalwert im Normalzustand unterscheidet, mit der Wahrscheinlichkeit,
daß der
Signalleitungsfehler erfaßt
werden kann. Das heißt,
daß die Fehlererfassungswahrscheinlichkeit
eines 0-Degenerationsfehlers das Produkt einer 1-Kontrollierbarkeit mit der Beobachtbarkeit
und die Fehlererfassungswahrscheinlichkeit eines 1-Degenerationsfehlers
das Produkt einer 0-Kontrollierbarkeit mit der Beobachtbarkeit ist.
Es gilt daher "0-Kontrollierbarkeit
= 1 – 1-Kontrollierbarkeit". Außerdem wird
die Zielfunktion für
die Testkosten durch Hinzufügen
des Reziprokwertes der Fehlererfassungswahrscheinlichkeit zu allen
Fehlern bestimmt. Es ist dies der Wert, der dem erwarteten Wert
der Anzahl von Testmustern zum Erfassen eines Fehlers äquivalent
ist, und da er die Testbarkeit einer ganzen Schaltung wiedergibt, wird
die Testbarkeit um so größer, je
kleiner die Kosten sind.
-
In der obigen Beschreibung ist zwar
angegeben, daß die
Verarbeitung zur Berechnung des Testpunktindexes für alle Signalleitungen
und alle Testpunkttypen ausgeführt
wird, an denen ein Testpunkt eingefügt werden kann, dazu ist allerdings
viel Bearbeitungszeit erforderlich. Eine wirkungsvolle Methode zur
Berechnung des Testpunktindexes unter Vermeidung dieses Problems
ist in der Literaturstelle von B. Seiss et al. beschrieben. Dieses
Verfahren wird im folgenden erläutert.
-
Zuerst wird COP vor dem Einfügen eines Testpunkts
berechnet. Dann wird für
jede der Signalleitungen der Differentialkoeffizient für die Testkosten hinsichtlich
der Beobachtbarkeit und der Differentialkoeffizient für die Testkosten
hinsichtlich der Kontrollierbarkeit berechnet. Die Einzelheiten
des Berechnungsverfahrens sind in dem Artikel mit dem Titel "Testability-Driven
Random Test-Pattern Generation" von
R. Lisanke et al., IEEE Transactions on Computer-Aided Design, Bd.
CAD-6, Seiten 1082–1087 (1987)
beschrieben. Für
alle Sätze
von Signalleitungen und Testpunkttypen mit der Möglichkeit des Einfügens eines
Testpunkts werden die sogenannten CRFs (Cost Reduction Factors)
berechnet. Das CRF ist ein Näherungswert
für den
Testkostenunterschied beim Einfügen
eines Testpunkts, das heißt
ein Näherungswert
für die
Subtraktion der Testkosten beim Einfügen eines Testpunkts von den
Testkosten vor dem Einfügen
des Testpunkts. Die Einzelheiten des Berechnungsverfahrens für das CRF
sind in der genannten Literaturstelle von B. Seiss beschrieben, vorzugsweise
wird ein Testpunkt in die Signalleitung mit dem größeren Wert
von CRF eingefügt.
Da CRF ein Näherungswert
ist, ist es jedoch erforderlich, die Testkosten beim tatsächlichen
Einfügen
eines Testpunkts zu berechnen. Die eine Bedingung erfüllenden
Testpunktkandidaten werden auf der Basis des CRF ausgewählt, und
es wird eine Gruppe von Testpunktkandidaten ausgebildet. Die Bedingung
des CRF für
die Testpunktkandidaten ist eine Obergrenze für die Anzahl der Testpunkte,
die mit abnehmender Größe des CRF
vorher bestimmt wurde, oder ein bestimmtes Verhältnis zum Maximalwert des CRF. Schließlich werden
die COPs (Kontrollierbarkeit, Beobachtbarkeit, Testkosten) beim
Einfügen
der Testpunktkandidaten für
alle Elemente der Gruppe von Testpunktkandidaten berechnet. Mit
dem Ergebnis werden die Testpunkt-Indexinformationen 126 erstellt,
die eine Gruppe von Sätzen
aus Testpunktkandidaten und Testkosten darstellen.
-
Der Testpunkt-Indexberechnungsprozeß S103 ist
nicht auf den angegebenen Prozeß beschränkt. Es
ist möglich,
jeden Prozeß zu
verwenden, der Testpunkt-Indexinformationen erzeugt, mit denen Testpunktindizes
bestimmt werden, die Testpunktkandidaten mit großen Werten für die Testbarkeit
ergeben.
-
Es wird im folgenden der Prozeß für die Ausführung des
Testpunkt-Bestimmungsprozesses durch den Testpunktbestimmungsabschnitt 113 im Schritt S104 beschrieben.
Aus den Testpunkt-Indexinformationen 126, die Sätze von
Testpunktkandidaten und den Testpunktindex angeben, wird der Testpunkt
mit dem größten Testpunktindex
als Testpunkt bestimmt, und die Signalleitung und der Testpunkttyp werden
in den Testpunktinformationen 127 registriert. Das heißt, daß im Falle
der Verwendung der Testkosten auf der Basis des oben erwähnten COP
als Testpunktindex der Testpunktkandidat mit den minimalen Testkosten
als Testpunkt festgelegt wird.
-
Es wurden der Aufbau der Vorrichtung
zur Testpunktanalyse für
eine integrierte Halbleiterschaltung und die Verarbeitungsprozedur
gemäß der vorliegenden
Erfindung beschrieben. Es folgt nun anhand des Flußdiagramms
der 2 die Beschreibung
der Operationen, wenn die vorliegende Erfindung auf die integrierte
Halbleiterschaltung der 3A angewendet
wird. Es wird dabei das Beispiel für das Testpunkt-Einfügearchiv 123 der 4A und das Beispiel für die Testpunkt-Einfügeverbotsinformationen 124 der 6A verwendet, und die Komplettierungsbedingung
im Schritt S107 im Prozeßfluß ist, daß die Anzahl der neu bestimmten
Testpunkte gleich drei ist.
-
Zuerst werden im Schritt S101 die
Informationen der 3A als
Schaltungsinformationen 122 eingegeben. Als angenommene
Fehler werden Fehler auf der Ausgangsleitung angenommen, das heißt 0-Degenerationsfehler
und 1-Degenerationsfehler auf den Signalleitungen 201 bis 206 und
den Signalleitungen 212 bis 216. Die Signalleitungen,
in die ein Kontrollpunkt und ein Beobachtungspunkt eingefügt werden
können,
seien die Ausgangsleitungen der einzelnen Elemente, das heißt die Signalleitungen 201 bis 207 und 212 bis 216.
-
Dann werden im Testpunkt-Einfügepositionsbeschränkungsprozeß des Schrittes S102 in
den Schritten 801 bis 807 aus den Schaltungsinformationen
und dem Testpunkt-Einfügearchiv
die Testpunkt-Einfügepositionsinformationen
gebildet. Die 7A zeigt
die Testpunkt-Einfügepositionsinformationen
zu der Zeit, wenn die Feststellung im Schritt 807 "J" ist.
-
Wenn im Schritt 801 die
Signalleitung 201 und der 0-Kontrollpunkt ausgewählt werden,
werden im Schritt 802 der Zelltypname AND3 und die Pinnummer
4 für die
Signalleitung 201 berechnet. Im Schritt 803 wird
nach der Testpunkt-Einfügearchivnummer
von AND3, Pinnummer 4, 0-Kontrollpunkt gesucht, aber nichts gefunden.
Der Prozeß geht
daher zum Schritt 806 weiter, und das Möglichkeitsflag wird auf "X" gesetzt. Wieder zu rück beim Schritt 801 wird
bei der Auswahl der Signalleitung 201 und 1-Kontrollpunkt
im Schritt 803 nach der Testpunkt-Einfügearchivnummer von AND3, Pinnummer 4,
1-Kontrollpunkt
gesucht und die Testpunkt-Einfügearchivnummer
5 (die Zeile 415) gefunden. Im Schritt 804 wird
das Möglichkeitsflag
auf "O" gesetzt und im Schritt 805 die
Archivnummer auf 5 gesetzt. Zurück
im Schritt 801 wird bei der Auswahl der Signalleitung 201 und
Beobachtungspunkt im Schritt 803 nach der Testpunkt-Einfügearchivnummer
von AND3, Pinnummer 4, Beobachtungspunkt gesucht und die Testpunkt-Einfügearchivnummer
6 (die Zeile 416) gefunden. Im Schritt 804 wird
das Möglichkeitsflag
auf "O" gesetzt und im Schritt 805 die
Archivnummer auf 6 gesetzt.
-
Ähnlich
werden aufeinanderfolgend Kombinationen aus den Signalleitungen 202 bis 216 und 0-Kontrollpunkt,
1-Kontrollpunkt sowie Beobachtungspunkt ausgewählt und die obige Bearbeitung ausgeführt. Signalleitungen
und Testpunkttypen mit der Möglichkeit
des Einfügens
eines Testpunkts sind ein 1-Kontrollpunkt und ein Beobachtungspunkt
auf der Signalleitung 203 für den Zelltypnamen AND3 und
die Pinnummer 4, ein 0-Kontrollpunkt und ein 1-Kontrollpunkt auf
der Signalleitung 207 für
den Zelltypnamen INV1 und die Pinnummer 2, ein 0-Kontrollpunkt auf
der Signalleitung 212 für
den Zelltypnamen NAND2 und die Pinnummer 3 und ein Beobachtungspunkt
auf der Signalleitung 213 für den Zelltypnamen OR3 und
die Pinnummer 4. Für
diese Punkte wird das Möglichkeitsflag
im Schritt 804 auf "O" gesetzt und im Schritt 805 die
Archivnummer eingestellt. Die anderen Signalleitungen und Testpunkttypen
können nicht
für Testpunkte
herangenommen werden, und das Möglichkeitsflag
dafür wird
auf "X" gesetzt.
-
Wenn im Schritt 807 festgestellt
wird, daß das
Setzen des Möglichkeitsflags
und der Archivnummer für
alle Signalleitungen und alle Testpunkttypen ausgeführt wurde,
wird der Prozeß für die Testpunkt-Einfügeverbotsinformationen 124 der 6A ausgeführt. Die 7B zeigt die Testpunkt-Einfügepositionsinformationen
zu der Zeit, wenn der Schritt 809 beendet ist.
-
Im Schritt 808 wird für die Signalleitungen
auf dem Pfad vom Anschluß 226 zum
Anschluß 242,
die in den Informationen 631 über verbotene Pfade beschrieben
werden, das heißt
für die
Signalleitungen 212, 213 und 215, das
Einfügen
eines Kontrollpunkts (0-Kontrollpunkt,
1-Kontrollpunkt) untersagt. Auch wenn nach den Testpunkt-Einfügepositionsinformationen
der 7A das Einfügen eines
0-Kontrollpunkts in die Signalleitung 212 möglich ist,
wird durch den vorliegenden Prozeß das Flag auf die Markierung "X" gesetzt, die ein Verbot des Einfügens von Testpunkten
anzeigt.
-
Im Schritt 809 wird für die Signalleitungen
im Block 2000, das heißt
für die
Signalleitung 201, das Einfügen eines Kontrollpunkts (0-Kontrollpunkt, 1-Kontrollpunkt)
untersagt. Auch wenn nach den Testpunkt-Einfügepositionsinformationen der 7A das Einfügen eines
1-Kontrollpunkts in die Signalleitung 201 möglich ist,
wird durch den vorliegenden Prozeß das Flag auf die Markierung "X" gesetzt, die ein Verbot des Einfügens von
Testpunkten anzeigt.
-
Im Testpunkt-Indexberechnungsprozeß des Schrittes S103 werden
für die
Sätze aus
einer Signalleitung und einem Testpunkttyp mit der Möglichkeit des
Einfügens
eines Testpunkts in den Testpunkt-Einfügepositionsinformationen 125,
das heißt für die Testpunktkandidaten,
durch Berechnen eines Testpunktindexes die Testpunktindexinformationen 126 erstellt.
Der Testpunktindex sind die Testkosten auf der Basis des genannten
COP. Die 9A ist eine
Tabelle für
die Testpunktindexinformationen, die bei einem Prozeß zum Bestimmen
eines ersten Testpunkts erhalten werden, und des Testpunktindexes (der
Testkosten) 905 für
den Testpunktkandidaten 902 der Signalleitung 903 und
des Testpunkttyps 904.
-
Im Testpunktbestimmungsprozeß des Schrittes S104 wird
aus dem Testpunktindex in den Testpunktindexinformationen 126 der 9A als Testpunkt der Testpunktkandidat
für einen
1-Kontrollpunkt auf der Signalleitung 207 mit der höchsten Testbarkeit,
das heißt
den geringsten Testkosten bestimmt und in den Testpunktinformationen 127 registriert.
Die 10 zeigt ein Beispiel
für die
Testpunktinformationen, die aus Zellennamen 1003 und einer Pinnummer 1004 sowie
einer Testpunkt-Einfügearchivnummer 1005 für ein bestimmtes
Schaltungsmodifikationsverfahren zusammengesetzt sind. Der vorher
bestimmte 1-Kontrollpunkt auf der Signalleitung 207 wird
in der Zeile 1011 als Testpunktnummer 1 eingetragen, die
Pinnummer 2 der Zelle 257 wird entsprechend der Signalleitung 207 eingestellt,
und die Archivnummer wird auf 1 (Eins) gesetzt, sie bezeichnet die
Archivnummer für
den 1-Kontrollpunkt auf der Signalleitung 207 in den Testpunkt-Einfügepositionsinformationen
der 7B.
-
Im Schritt S107 kehrt der
Prozeß zum
Schritt S103 zurück,
da die vorher festgelegte Bedingung für die Anzahl von Testpunkten
= 3 nicht erfüllt
ist, und es wird der Prozeß zur
Bestimmung eines zweiten Testpunkts gestartet. Im Schritt S103 werden
auf der Basis der Schaltung, in die der Testpunkt Nummer 1 eingefügt wurde,
ein Testpunktkandidat und die Testkosten für die Schaltung mit dem Testpunkt
1 berechnet. Die 9B zeigt
die während
der Bearbeitung zur Bestimmung des zweiten Testpunkts erzeugten
Testpunktindexinformationen. Im Schritt S104 wird der Testpunktkandidat
mit den minimalen Testkosten, das heißt der Beobachtungspunkt für die Signalleitung 213,
als Testpunkt Nummer 2 bestimmt und in den Testpunktinformationen
(die Zeile 1012 der 10)
registriert.
-
Gleichermaßen kehrt der Prozeß vom Schritt S107 zum
Schritt S103 zurück,
um den Testpunkt-Indexberechnungsprozeß auszuführen. Die 9C zeigt die während der Bestimmung des dritten
Testpunkts erzeugten Testpunktindexinformationen. Im Schritt S104 wird
der Testpunktkandidat für
einen Beobachtungspunkt auf der Signalleitung 203 als Testpunkt
Nummer 3 bestimmt und in den Testpunktinformationen (die Zeile 1013 der 10) registriert.
-
Da die vorher festgelegte Bedingung
für die Anzahl
von Testpunkten = 3 im Schritt S107 erfüllt ist, geht der Prozeß zur Datenausgabe
im Schritt S108 weiter. Im Datenausgabeprozeß wird der
Inhalt der 10 als Testpunktinformationen 127 ausgegeben.
-
Mit diesen Prozessen wird durch Einfügen der
Testpunkte aus der integrierten Halbleiterschaltung der 3A die integrierte Halbleiterschaltung der 11. Die Testpunkte sind
in der Reihenfolge ab dem Testpunkt Nummer 1 der "1-Kontrollpunkt" 1111, der "Beobachtungspunkt" 1121 und
der "Beobachtungspunkt" 1131.
-
Es erfolgt nun ein Vergleich der
Testbarkeit für
die integrierte Halbleiterschaltung (3A)
vor dem Einfügen
der Testpunkte, die integrierte Halbleiterschaltung (3B) mit nach dem herkömmlichen Verfahren
(nach B. Seiss et al.) eingefügten
Testpunkten und die integrierte Halbleiterschaltung (11). Die berechneten Testkosten
auf der Basis des genannten COP sind für die 3A "1810", für die 3B "324" und für die 11 "344". Sowohl die Testbarkeit
einer Schaltung mit nach dem herkömmlichen Verfahren eingefügten Testpunkten
als auch die Testbarkeit einer Schaltung mit erfindungsgemäß eingefügten Testpunkten
ist wesentlich besser als die der Schaltung vor dem Einfügen von
Testpunkten. Die Testbarkeit der Schaltung mit den erfindungsgemäß eingefügten Testpunkten
ist etwas schlechter, jedoch nahezu gleich der Testbarkeit der Schaltung
mit den herkömmlich
eingefügten
Testpunkten. Dies zeigt, daß die
analysierten Signalleitungen bei der vorliegenden Ausführungsform
auf Signalleitungen mit der Möglichkeit
des Einfügens
eines Testpunkts beschränkt
sind, durch das Erhalten von optimalen Testpunkten in den eingeschränkten Signalleitungen
ist es jedoch möglich,
eine Testbarkeit zu erhalten, die nahezu gleich der in dem Fall
ist, daß die
analysierten Signalleitungen nicht auf Signalleitungen mit der Möglichkeit
des Einfügens
eines Testpunkts beschränkt
sind (das herkömmliche
Verfahren).
-
Die erfindungsgemäße Vorrichtung zur Testpunktanalyse
für eine
integrierte Halbleiterschaltung ist daher dafür geeignet, daß der Designer
einer integrierten Halbleiterschaltung leicht die Signalleitungen auf
Signalleitungen mit der Möglichkeit
des Einfügens
von Testpunkten und die Testpunkttypen anhand des Testpunkt-Einfügearchivs 123 oder
der Testpunkt-Einfügeverbotsinformationen 124 einschränken kann,
und der Designer kann Testpunkte mit maximaler Testbarkeit angeben
und Testpunkte an Stellen vermeiden, an denen kein Testpunkt eingefügt werden
soll.
-
Es wird nun ein Analyseverfahren
zur Testpunkteinfügung
mit geringen Auswirkungen auf die Signalverzögerung beschrieben.
-
Zuerst werden hinsichtlich der Schaltungsinformationen 122 alle
Zelltypnamen, Pinnummern, Testpunkttypen und Schaltungsmodifikationsverfahren
für das
Einfügen
von Testpunkten derart festgesetzt, daß die Signalverzögerung von
jedem Eingangspin zu einem Ausgangspin einer Zelle vor dem Einfügen eines
Testpunkts und die Signalverzögerung
von jedem Eingangspin zum Ausgangspin der Zelle nach dem Einfügen des
Testpunkts einander nahezu gleich sind oder der Unterschied in den
Signalverzögerungen
kleiner ist als die Signalverzögerung
von jedem der Eingangspins zum Ausgangspin einer Zelle mit zwei
Eingängen
und einer AND-Funktion oder einer OR-Funktion. Da die Signalverzögerung in
der Zelle von der Zellenstruktur abhängt, das heißt von der
Halbleiter-Herstellungstechnologie, kann
die Signalverzögerung
nicht auf der Ebene der logischen Gatter mit der Möglichkeit
des Einfügens von
Testpunkten für
die obige Bedingung erläutert werden.
Es wird jedoch ein Beispiel gezeigt.
-
Ein Beispiel ist der Zellenaustausch
durch die Einfügung
eines Kontrollpunkts, wie es in den Zeilen 411 bis 414 der 4A gezeigt ist. Wenn die
Zellenstruktur ausgebildet wird, bei der zu einer vorherigen Zelle
eine Testpunktfunktion hinzugefügt
wird, kann die Zelle nach dem Einfügen des Testpunkts so aufgebaut
werden, daß die
zusätzliche
Signalverzögerung
klein ist. Die Einfügung
eines Beobachtungspunkts wie in den Zeilen 416 und 417 der 4A gezeigt ist ein Beispiel
für das
Einfügen
von Testpunkten unter Erfüllung
der obigen Bedingung. Beim Einfügen
eines Beobachtungspunktes ist der Unterschied zwischen der Signalverzögerung vor
dem Einfügen
und nach dem Einfügen
klein. Die 4B ist ein
Beispiel für
ein Testpunkt-Einfügearchiv,
das unter Berücksichtigung
einer Verringerung der zusätzlichen
Signalverzögerung
durch das Einfügen
von Testpunkten erstellt wurde. Die Kontrollpunkteinfügung ist
nur die Schaltungsmodifikation (die Zeilen 431, 432),
mit der die Zelle INV1 durch die Zelle NAND2 oder NOR2 ersetzt wird,
und die Beobachtungspunkteinfügung
ist auf allen Signalleitungen möglich
(Zeile 433).
-
Es ist hier erwähnt, welcher Zelltyp als Zielzelle
beim Zellenaustausch in der Einfügung
eines Kontrollpunkts geeignet ist. Im allgemeinen sind in einer
integrierten Halbleiterschaltung Zellen mit einer hohen Ansteuerbarkeit,
wobei "Ansteuerbarkeit" die Fähigkeit
zur Abgabe von Signalen bedeutet, und die logisch Puffern oder Invertern äquivalent
sind, so ausgerüstet,
um Verzögerungen
in Signalleitungen zu verringern, die entweder lang sind oder die
vielfach verzweigt sind. Die Zelltypnamen von hoch ansteuerbaren
Zellen lassen sich leicht angeben, und sie werden in integrierten
Halbleiterschaltungen in großen
Mengen verwendet. Es ist deshalb wünschenswert, daß das Testpunkt-Einfügearchiv
diese Zelltypen als Zielzelltypen enthält, die beim Einfügen von
Testpunkten als Kontrollpunkte gegen Zellarten der gleichen Ansteuerbarkeit
auszutauschen sind. Bei dieser Art von Zelltausch sind daher die Änderungen
zwischen vor und nach dem Einfügen
eines Testpunkts vernachlässigbar
klein. Die Anzahl von Punkten, in die jeder Kontrollpunkt einsetzbar
ist, ist ausreichend groß,
um die Testbarkeit der Schaltung einfach zu vergrößern. In
einer wie oben aufgebauten integrierten Halbleiterschaltung wird
wenigstens eine der Zellen mit großer Ansteuerbarkeit, die dafür vorgesehen
sind, Verzögerungen
auf den Signalleitungen zu verringern, die lang oder vielfach verzweigt sind,
als Bauteil (zum Beispiel als 2-NAND-Zelle, von der eine Eingangsleitung
mit einem Flip-Flop mit Scanfunktion verbunden ist, der als Kontrollpunkt verwendet
wird) für
einen Kontrollpunkt verwendet, der zum Einfügen eines Testpunkts vorgesehen
wird.
-
Andererseits sind hinsichtlich des
Testpunkt-Einfügearchivs 123,
der Sätze
von Signalleitungen in der Schaltung und des Testpunkttyps die Einfügeverbote
für Testpunkte
so festgelegt, daß in eine
Signalleitung auf einem Pfad mit nur wenig Spielraum für die Signalverzögerung auf
dem Pfad zwischen einem Anschluß oder
einem Speicherelement und einem Anschluß oder einem Speicherelement
Kontrollpunkte eingefügt
werden. Ein Beispiel für
das Ausbilden von Testpunkt-Einfügeverbotsinformationen
unter Berücksichtigung
der Signalverzögerung
wird nun beschrieben.
-
Zuerst wird eine Tabelle von Pfaden
für Signalverzögerungsbereiche
mit einem Werkzeug zum Berechnen der Signale in einer integrierten
Halbleiterschaltung erzeugt. Die 12 ist
ein Beispiel für eine
Liste von Pfaden mit engen Bereichen für die Signalverzögerung,
die dadurch erhalten wird, daß die Signalverzögerung auf
dem Pfad zwischen einem Anschluß oder
einem Speicherelement und einem Anschluß und dem Speicherelement in
der integrierten Halbleiterschaltung der 3A berechnet wird. Das heißt, daß ein Signalverzögerungsbereich
(Verzögerungsbereich) 1204 für den Pfad
zwischen einem Pfadstartpunkt 1202 und einem Pfadendpunkt 1203 angegeben
wird. Die Zeilen sind in ansteigender Reihenfolge des Verzögerungsbereichs
von der Zeile 1211 zur Zeile 1219 aufgelistet.
Die Werte für die
Signalverzögerungsbereiche
sind in der Darstellung beispielhafte Werte zum Zwecke der Erläuterung,
jedoch keine tatsächlich
berechneten Werte.
-
Pfade, in die kein Kontrollpunkt
eingesetzt werden darf, werden unter dem Gesichtspunkt des Reduzierens
einer Verschlechterung der Signalverzögerung aufgrund einer Testpunkteinfügung aus dieser
Tabelle ausgewählt.
Zum Beispiel werden in dem Fall, daß das Einfügen eines Kontrollpunkts in die
Pfade der Zeilen 1211 bis 1213 mit einem kleinen Verzögerungsbereich
verboten ist, die Informationen für verbotene Pfade in den Testpunkt-Einfügeverbotsinformationen
wie in der Spalte 631 der 6B gezeigt.
Die Zeilen 1211 und 1212 der 12 entsprechen den Zeilen 645 bis 647 der 6B.
-
Der Testpunktanalyseprozeß wird anhand des
Testpunkt-Einfügearchivs
der 4B und der Testpunkt-Einfügeverbotsinformationen
der 6B sowie der integrierten
Halbleiterschaltung der 3A gezeigt.
Im Testpunkt-Einfügepositionsbeschränkungsprozeß S102 besteht
die erzeugte Testpunkt-Einfügepositionsinformation
aus den Signalleitungen, in die ein Testpunkt eingefügt werden
kann, und die Testpunkttypen sind 1-Kontrollpunkte und 0-Kontrollpunkte
in der Signalleitung 207 und Beobachtungspunkte in allen
Signalleitungen. Auf der Basis dieser Informationen werden der Testpunkt-Indexberechnungsprozeß S103 und
der Testpunktbestimmungsprozeß S104 wiederholt,
bis die vorgegebene Bedingung über
die Anzahl von Testpunkten = 3 erfüllt ist. Die sich ergebende
Testpunktinformation wird zu der in der 10 gezeigten Tabelle, die die gleiche
ist wie bei der ersten Ausführungsform
des Testpunktanalyseprozesses.
-
Die Zunahme der Signalverzögerung aufgrund
der Testpunkteinfügung
wird nun verglichen zwischen der integrierten Halbleiterschaltung (3B) mit herkömmlich eingefügten Testpunkten (dem
Verfahren von B. Seiss et al.) und der integrierten Halbleiterschaltung
(11) mit erfindungsgemäß eingefügten Testpunkten.
Im Pfad von den Anschlüssen 221, 222, 223 zum
Anschluß 242 beträgt die zusätzliche
Verzögerung
für das
herkömmliche Beispiel
die der AND2-Zelle 283 entsprechenden Signalverzögerung,
die als 0-Kontrollpunkt 281 eingefügt wurde. Andererseits beträgt die zusätzliche
Verzögerung
bei der vorliegenden Ausführungsform
nur die Signalverzögerung
durch das Einfügen
des Beobachtungspunkts 1121. Im Pfad von den Anschlüssen 221, 222, 223 zum
Anschluß 239 ist
die zusätzliche
Signalverzögerung
im herkömmlichen
Beispiel die der OR2-Zelle 273 entsprechende Signalverzögerung,
die als 1-Kontrollpunkt 271 eingefügt wurde, und die Signalverzögerung aufgrund
des Einfügens des
Beobachtungspunkts 291. Andererseits ist die zusätzliche
Signalverzögerung
bei der vorliegenden Ausführungsform
gleich dem Unterschied in den Signalverzögerungen aufgrund des Austauschens
der INV1-Zelle 257 gegen die NOR2-Zelle 1112 zum
Einfügen
des 1-Kontrollpunkts 1111 und die Signalverzögerung durch
das Einfügen
des Beobachtungspunkts 291. Die zusätzliche Signalverzögerung durch
die Einfügung
des Beobachtungspunkts ist nur die Verzögerung durch die Abzweigung
in der Signalleitung und damit vernachlässigbar. Bei dem herkömmlichen Verfahren
ist daher die zusätzliche
Signalverzögerung
durch das Einfügen
der Testpunkte in die integrierte Halbleiterschaltung groß, im Vergleich
dazu ist jedoch die zusätzliche
Signalverzögerung
bei der vorliegenden Ausführungsform
durch das Einfügen von
Testpunkten in die integrierte Halbleiterschaltung sehr klein.
-
Es wird nun die Zunahme der Schaltungsfläche durch
das Einfügen
der Testpunkte zwischen den beiden Schaltungen auf der Basis der
erhöhten
Anzahl von Zellen verglichen. In der herkömmlichen Schaltung entspricht
die Zunahme der AND2-Zelle und der OR2-Zelle für die Kontrollpunkte und den
drei Flip-Flops mit Scanfunktion. Bei der erfindungsgemäßen Schaltung
werden nur die drei Flip-Flops mit Scanfunktion vorgesehen. Die
Zunahme der Schaltungsfläche
aufgrund des Einfügens
von Testpunkten ist bei der integrierten Halbleiterschaltung der
vorliegenden Ausführungsform
daher kleiner als bei der herkömmlichen
integrierten Halbleiterschaltung.
-
Andererseits ist, wie oben angegeben,
die Testbarkeit in beiden Schaltungen nahezu gleich.
-
Die erfindungsgemäße Vorrichtung zur Testpunktanalyse
einer integrierten Halbleiterschaltung hat daher den Vorteil, daß die Auswirkungen
auf die Signalverzögerung
und die Schaltungsfläche
durch das Einfügen
von Testpunkten vermittels des Testpunkt-Einfügearchivs 123 und
der Testpunkt-Einfügeverbotsinformationen 124 mit
Berücksichtigung der
Signalverzögerung
erstellt werden, und daß die Ausführung von
Testpunkten mit nahezu der gleichen Testbarkeit wie bei dem herkömmlichen
Verfahren möglich
ist. Da bei der erfindungsgemäßen Vorrichtung
zur Testpunktanalyse die Signalverzögerung nicht berechnet zu werden
braucht, kann die Bearbeitung mit hoher Geschwindigkeit erfolgen.
-
Erfindungsgemäß ist es möglich, ein Verfahren und eine
Vorrichtung zur schnellen Testpunktanalyse in einer integrierten
Halbleiterschaltung zu schaffen, bei dem die Einflüsse auf
die Signalverzögerung
und die Schaltungsfläche
durch das Einfügen von
Testpunkten geringer sind, wobei die Bearbeitung mit hoher Geschwindigkeit
erfolgen kann. Verfahren und Vorrichtung sind leicht anzuwenden.
-
Die 14 zeigt
eine Blockdarstellung für den
Aufbau einer Ausführungsform
einer erfindungsgemäßen Vorrichtung
zur Testpunktanalyse für
eine logische Schaltung. Die Analysevorrichtung umfaßt eine
Eingabeeinheit 1401 zur Eingabe von Informationen über Elemente
und Signalleitungen der Schaltung; eine Berechnungseinheit 1402 für die Be rechnungen
von Typen und Einfügepositionen
für Testpunkte;
eine Speichereinheit 1403 zum Speichern von Schaltungsinformationen 1422,
Testpunkt-Indexinformationen 1423, Testpunkt-Auswirkungsinformationen 1424,
von Testpunktinformationen 1425 und Testpunkt-Korrelationsinformationen 1426;
und eine Datenausgabeeinheit 1404.
-
Die Schaltungsinformationen 1422 umfassen
Informationen über
die Art jedes Elements und die Signalleitungen zwischen den Elementen
in der logischen Schaltung, Informationen über angenommene Fehler und
Informationen darüber,
ob ein Testpunkt eingefügt
werden kann oder nicht. Die Testpunkt-Indexinformationen 1423 sind
numerische Informationen über
die Testbarkeit der gesamten Schaltung und werden durch eine Tabelle
der Testpunktindizes ausgedrückt,
die jedem Element einer Gruppe von Testpunktkandidaten entspricht.
-
Die Testpunktkandidaten werden hier
durch die Namen der Signalleitungen und den Typ der Testpunkte ausgedrückt. Der
Name der Signalleitung ist ein Name für die Position der Signalleitung,
die durch die Schaltungsinformationen angegeben wird. Die Art der
Signalleitung ist "1-Kontrollpunkt", 0-Kontrollpunkt" oder "Beobachtungspunkt".
-
Die Testpunkt-Auswirkungsinformationen 1424 drücken das
Vorhandensein oder Nichtvorhandensein einer Änderung in den Testpunkt-Indexinformationen
durch einen oder mehrere eingefügte
Testpunkte aus, sie setzen sich aus Testpunkt-Auswirkungsinformationen
hinsichtlich der Testpunktkandidaten und Testpunkt-Auswirkungsinformationen
hinsichtlich der für
die Berechnung erforderlichen Signalleitungen zusammen. Die Testpunkt-Auswirkungsinformationen
hinsichtlich der Signalleitungen werden durch die Signalleitungen
und die Testpunktauswirkungen ausgedrückt und die Testpunkt-Auswirkungsinformationen
hinsichtlich der Testpunktkandidaten werden durch die Testpunktkandidaten
und den Testpunkteffekt ausgedrückt.
-
Die Testpunktinformationen 1425 sind
Informationen über
die Einfügepositionen
der Testpunkte und die Schaltungen anhand der Namen der Signalleitungen
und der Arten der Testpunkte. Die Testpunkt-Korrelationsinformationen 1425 sind
Informationen über
Gruppen von Testpunkten in Bereichen (im folgenden als Testpunktauswirkungsbereiche
bezeichnet) der Schaltung, in denen sich der Testpunktindex durch
das Einfügen
eines Testpunkts ändert und
keine Überschneidung
durch die Testpunkte und die Identifikationsnummer für die Testpunktgruppe ergibt.
Wenn die Testpunktinformationen 1425 oder die Testpunkt-Korrelationsinformationen 1426 hinzugefügt oder
korrigiert werden oder eine neue Testpunkt-Korrelationsinformation 1426 erstellt
wird, wird die Testpunktinformation 1425 manchmal zusätzlich zu
den Schaltungsinformationen 1422 direkt an der Dateneingabeeinheit 1401 eingegeben.
-
Die Berechnungseinheit 1402 besteht
aus einem Testpunkt-Indexberechnungsabschnitt 1411 zum
Berechnen der Testpunkt-Indexinformationen 1423 aus den
Schaltungsinformationen 1422, einem Testpunkt-Effektbewirkungsabschnitt 1413 zum
Berechnen der Testpunkt-Auswirkungsinformationen hinsichtlich der
Signalleitungen und der Testpunkt-Auswirkungsinformationen hinsichtlich
der Testpunkten; und einem Testpunkt- Bestimmungsabschnitt 1412 zum
Berechnen der Testpunkte und der Testpunkt-Korrelationsinformationen auf der Basis der
Testpunkt-Indexinformationen 1423 und der Testpunkt-Auswirkungsinformationen 1424.
-
Die 15 ist
ein Flußdiagramm
für die
Prozeßprozedur
der Vorrichtung zur Testpunktanalyse bei einer logischen Schaltung.
Der Schritt S1501 umfaßt
die Dateneingangsverarbeitung, bei der die Schaltungsinformationen 1422 an
der Dateneingabeeinheit 1401 eingegeben und in der Speichereinheit 1403 gespeichert
werden. Wenn zusätzlich
zu den Schaltungsinformationen 1422 die Testpunktinformationen 1425 eingegeben
werden, werden die Schaltungsinformationen 1422 erneuert,
um die Testpunktinformationen 1425 wiederzugeben.
-
Der Schritt S1502 ist die
Testpunkt-Indexberechnung durch den Testpunkt-Indexberechnungsabschnitt 1411,
während
der die Testpunkt-Indexinformationen 1423 durch Berechnen
einer Gruppe von Testpunktkandidaten und eines Testpunktindexes
für jeden
der Testpunktkandidaten aus den Schaltungsinformationen 1422 erzeugt
werden. Der Schritt S1503 ist die anfängliche Testpunktbestimmung durch
den Testpunktbestimmungsabschnitt 1412, in der der Testpunktkandidat
mit der höchsten
Testbarkeit auf der Basis der Testpunkt-Indexinformationen 1423 ausgewählt wird
und der Testpunktkandidat in den Testpunktinformationen 1425 anfänglich registriert
wird.
-
Der Schritt S1504 ist die
Testpunkteffektberechnung durch den Testpunkteffektberechnungsabschnitt 1413,
in der der Auswirkungsbereich des Testpunktes unmittelbar vor der
Registrierung in den Testpunktinformationen 1425 berechnet
wird und das Vorhandensein oder Nichtvorhandensein von Testpunktauswirkungen
für jeden
der Testpunktkandidaten geprüft
wird und die Testpunkteffektinformationen 1424 erzeugt
werden.
-
Der Schritt S1505 ist die
Korrelation hinsichtlich der Testpunktbestimmung durch den Testpunktbestimmungsabschnitt 1412,
in der durch die Auswahl eines Testpunktkandidaten aus den Testpunktkandidaten
durch die Testpunkt-Indexinformationen 1423 mit einem "Nichtvorhandensein" eines Testpunkteffekts
im Schritt S1504 und mit einem Testpunktindex über einem
bestimmten Wert ein neuer Testpunkt bestimmt wird und in den Testpunktinformationen 1425 registriert
wird.
-
Im Schritt S1506 wird festgestellt,
ob ein neuer Testpunkt bestimmt wurde oder nicht, und wenn ein neuer
Testpunkt bestimmt wurde, kehrt der Prozeß zu S1504 zurück. Die
Bearbeitung wird dann derart wiederholt, daß der Auswirkungsbereich des
Testpunktes unmittelbar vor der Registrierung in den Testpunktinformationen 1425 berechnet
wird und das Vorhandensein oder Nichtvorhandensein eines Testpunkteffekts
für jeden
der Testpunktkandidaten geprüft
wird. Wenn es einen Testpunktkandidaten gibt, der im Schritt S1504 einen "nichtvorhandenen" Testpunkteffekt
aufweist und einen Testpunktindex über einem bestimmten Wert besitzt,
wird dieser in den Testpunktinformationen 1425 registriert.
Dadurch werden Testpunkte, die sich in den Auswirkungsbereichen
nicht überschneiden,
ohne dauerndes Neuberechnen des Testpunktindexes sofort verarbeitet.
-
Die in den Schritten S1504 bis S1506 unmittelbar
verarbeiteten Testpunkte werden mit der gleichen Gruppennummer versehen
und in den Testpunkt-Korrelationsinformationen 1426 als
Gruppe von Testpunkten mit nicht überschneidenden Auswirkungsbereichen
gespeichert.
-
Wenn im Schritt S1506 kein
neuer Testpunkt bestimmt wurde, wird im Schritt S1507 eine
vorgegebene Komplettierungsbedingung der Testpunktanalyse überprüft. Wenn
die Komplettierungsbedingung nicht erfüllt ist, kehrt der Prozeß zum Schritt S1502 zurückt, und
die Testpunktindexberechnung für
die logische Schaltung wird mit den bestimmten Testpunkten ausgeführt. Dann
erfolgt eine neue Bestimmung der Testpunktkandidaten mit Ausnahme
der Testpunkte, die bereits bestimmt wurden, und es wird auf der
Basis des Testpunktindexes die anfängliche Testpunktbestimmung
ausgeführt
und die obige Bearbeitung wiederholt. Die Komplettierungsbedingung umfaßt zum Beispiel
eine Obergrenze für
die Anzahl der Testpunkte, einen Schwellenwert für den Testpunktindex, einen
Grenzwert für
die Bearbeitungszeit und so weiter.
-
Wenn die Komplettierungsbedingung
erfüllt ist,
geht der Prozeß zum
Schritt S1508 weiter, und es werden die in der Speichereinheit 1403 gespeicherten
Testpunktinformationen 1426 und Testpunktkorrelationsinformationen 1426 von
der Datenausgabeeinheit 1404 als Ergebnis aus der Vorrichtung
zur Testpunktanalyse in logischen Schaltungen ausgegeben. Wenn die
Testpunktkorrelationsinformationen 1426 nicht ausgegeben
werden brauchen, kann das Erzeugen der Testpunktkorrelationsinformationen 1426 im
Schritt S1505 und die Ausgabe der Testpunktkorrelationsinformationen 1426 im
Schritt S1508 weggelassen werden.
-
Es wird nun vor der genauen Erläuterung
der Testpunktanalyse die logische Schaltung, die Schaltung für den Testpunkt
und der Testpunkt-Auswirkungsbereich beschrieben. Die 16A und 16B zeigen Beispiele für eine logische
Schaltung bzw. für Testpunkte,
wobei die 16A ein Beispiel
für eine logische
Schaltung vor dem Einfügen
von Testpunkten zeigt, die aus AND-Gattern, OR-Gattern, NAND-Gattern,
NOR-Gattern und Eingabe/Ausgabeanschlüssen besteht. Für die Fehlergruppen
werden Fehler auf den Ausgangsleitungen der jeweiligen Gatter, das
heißt
den Signalleitungen 1601 bis 1606 und den Signalleitungen 1612 bis 1616,
mit einer Degeneration auf den Signalwert 0 (0-Degenerationsfehler) und Fehler auf
den Ausgangsleitungen mit einer Degeneration auf den Signalwert
1 (1-Degenerationsfehler) angenommen.
-
Die 16B zeigt
ein Beispiel für
eine Schaltung, bei der in die Schaltung der 16A vier Testpunkte eingefügt wurden.
In die Signalleitung 1602 wird ein 1-Kontrollpunkt 1651 eingefügt, in die
Signalleitung 1612 ein 0-Kontrollpunkt 1661, in
die Signalleitung 1603 ein Beobachtungspunkt 1671 und
in die Signalleitung 1613 ein Beobachtungspunkt 1681.
-
Der Kontrollpunkt 1651 verbessert
die 1-Kontrollierbarkeit der Signalleitung 1602. Der Kontrollpunkt 1651 ist
aus einem OR-Gatter 1653 mit zwei Eingängen und einem Flip-Flop mit
Scanfunktion 1654 zusammengesetzt, und die Eingangsleitungen
des OR- Gatters 1653 sind
eine normale Eingangsleitung, die mit der Eingangsseite 1652 der
Signalleitung 1602 verbunden ist, und eine Testdaten-Eingangsleitung,
die mit dem Flip-Flop mit Scanfunktion 1654 verbunden ist.
Die Ausgangsleitung des OR-Gatters 1653 ist mit der Signalleitung 1602 verbunden.
Das Flip-Flop mit Scanfunktion 1654 gibt beim Testen einen
durch eine Scankette eingegebenen Signalwert aus und im Normalbetrieb
immer das Signal 0.
-
Der Kontrollpunkt 1661 verbessert
die 0-Kontrollierbarkeit der Signalleitung 1612. Der Kontrollpunkt 1661 ist
aus einem AND-Gatter 1663 mit zwei Eingängen und einem Flip-Flop mit
Scanfunktion 1664 zusammengesetzt, und die Eingangsleitungen
des AND-Gatters 1663 sind
eine normale Eingangsleitung, die mit der Eingangsseite 1662 der
Signalleitung 1612 verbunden ist, und eine Testdaten-Eingangsleitung,
die mit dem Flip-Flop mit Scanfunktion 1664 verbunden ist.
Die Ausgangsleitung des AND-Gatters 1663 ist mit der Signalleitung 1612 verbunden.
Das Flip-Flop mit Scanfunktion 1664 gibt beim Testen einen
durch eine Scankette eingegebenen Signalwert aus und im Normalbetrieb
immer das Signal 1.
-
Der Beobachtungspunkt 1671 verbessert
die Beobachtbarkeit der Signalleitung 1603. Ein Flip-Flop
mit Scanfunktion 1673 ist mit der Signalleitung 1672 verbunden,
die von der Signalleitung 1603 abzweigt. Gleichermaßen verbessert
der Beobachtungspunkt 1681 die Beobachtbarkeit der Signalleitung 1613.
Ein Flip-Flop mit Scanfunktion 1683 ist mit der Signalleitung 1682 verbunden,
die von der Signalleitung 1613 abzweigt.
-
Die 17A und 17B sind Ansichten zur Erläuterung
der Testpunkt-Auswirkungsbereiche. Die 17A zeigt den Auswirkungsbereich eines
Kontrollpunkts. Durch das Bezugszeichen 1702 wird eine Eingangselementgruppe
der logischen Schaltung 1701 bezeichnet und durch das Bezugszeichen 1703 eine
Ausgangselementgruppe. Der durch den Kontrollpunkt 1704 verändern Bereich
der Kontrollierbarkeit ist die vertikal gestrichelte Subschaltung 1705 in Verbindung
mit der Signalleitung an einer Stelle, die den Kontrollpunkt 1704 zur
Ausgangsseite verschiebt. Der durch den Kontrollpunkt 1704 verändern Bereich
der Beobachtbarkeit ist die Subschaltung 1705 und die horizontal
gestreifte Subschaltung 1706 von den Ausgängen in
der Subschaltung 1705 zur Eingangsseite. In diesen Subschaltungen 1705, 1706 verändern sich
die Testpunktkandidaten auf den Signalleitungen in den Testpunktindexinformationen,
da sich sowohl die Kontrollierbarkeit als auch die Beobachtbarkeit
verändert.
Die Testpunkteffektinformationen für die Signalleitungen in den
Subschaltungen 1705, 1706 sind daher auf "Vorhandensein", und die Testpunkteffektinformationen
für die
anderen Signalleitungen, zum Beispiel die Signalleitungen in der Subschaltung 1707,
sind auf "Nichtvorhandensein" gestellt.
-
Wie in der 16b zu
sehen, sind die Signalleitungen im Bereich der Kontrollierbarkeit,
die sich durch den Kontrollpunkt 1651 ändert, die Signalleitungen 1602, 1603, 1605 und 1606.
Die Signalleitungen im Bereich der Beobachtbarkeit, die sich durch
den Kontrollpunkt 1651 ändert,
sind die Signalleitungen 1606, 1605, 1604, 1603, 1602 und 1601.
-
Die 17B zeigt
den Auswirkungsbereich eines Beobachtungspunkts. Durch das Bezugszeichen 1712 wird
eine Eingangselementgruppe der logischen Schaltung 1711 bezeichnet
und durch das Bezugszeichen 1713 eine Ausgangselementgruppe. Der
durch den Kontrollpunkt 1714 veränderte Bereich der Beobachtbarkeit
ist die Subschaltung 1715 in Verbindung mit der Signalleitung
an einer Stelle, die den Beobachtungspunkt 1714 zur Eingangsseite verschiebt.
Im vorliegenden Fall verändert
sich die Kontrollierbarkeit durch den Beobachtungspunkt 1714 nicht.
In der Subschaltung 1715 ändern sich die Testpunktkandidaten
auf den Signalleitungen in den Testpunktindexinformationen, da sich
die Beobachtbarkeit verändert.
Die Testpunkteffektinformationen für die Signalleitungen in der
Subschaltung 1715 sind daher auf "Vorhandensein", und die Testpunkteffektinformationen
für die
Signalleitungen in der Subschaltung 1716 sind auf "Nichtvorhandensein" gestellt.
-
Die 18A bis 18D sind Ansichten zur Erläuterung
des Überschneidens
von Auswirkungsbereichen von zwei Testpunkten. In diesen Darstellungen
wird durch das Bezugszeichen 1802 eine Eingangselementgruppe
der logischen Schaltung 1801 bezeichnet, durch das Bezugszeichen 1803 eine Ausgangselementgruppe,
und durch das Bezugszeichen 1804 ein Kontrollpunkt. Der
Bereich 1805 bezeichnet den Testpunkt-Auswirkungsbereich
des Kontrollpunkts 1804. Die Erläuterung erfolgt anhand des
in der 18A gezeigten
Falls, in dem ein Testpunkt im Auswirkungsbereich eines anderen
Testpunkts liegt, anhand des in der 18B gezeigten Falls,
in dem sich die Auswirkungsbereiche von zwei Testpunkten nicht überschneiden,
und anhand der Fälle
der 18C und 18D, in der sich die Auswirkungsbereiche
von zwei Testpunkten überschneiden, aber
keiner der beiden Testpunkte im Auswirkungsbereich des jeweils anderen
Testpunkts liegt.
-
In der 18A liegt
der Kontrollpunkt 1806 im Auswirkungsbereich des Kontrollpunkts 1804.
In diesem Fall wird gesagt, daß sich
die beiden Kontrollpunkte in einer starken Korrelation befinden.
Die Beziehung der starken Korrelation kann für den Fall eines Kontrollpunkts
und eines Beobachtungspunkts und für den Fall von zwei Beobachtungspunkten ähnlich definiert
werden. Wenn sich zwei Testpunktkandidaten in einer starken Korrelation
befinden, ändert sich
die Kontrollierbarkeit/Beobachtbarkeit im Auswirkungsbereich des
einen Testpunkts, wenn der andere Testpunktkandidat als Testpunkt
festgelegt wird. Die Testpunktindexinformationen müssen daher
aktualisiert werden.
-
Bei der Ausführungsform der 16B umfaßt der Bereich der starken
Korrelation durch den Kontrollpunkt 1651 die Signalleitungen 1601, 1602 bis 1606.
Der Bereich der starken Korrelation durch den Kontrollpunkt 1661 umfaßt die Signalleitungen 1601, 1612 bis 1616.
-
In der 18B überschneidet
sich der Testpunkt-Auswirkungsbereich 1817 des Kontrollpunkts 1816 nicht
mit dem Auswirkungsbereich 1805 des Kontrollpunkts 1804.
In diesem Fall wird dieser Zustand so bezeichnet, daß die beiden
Kontrollpunkte unabhängig
sind. Die Beziehung der Unabhängigkeit kann
gleichermaßen
für den
Fall eines Kontrollpunkts und eines Beobachtungspunkts und für den Fall
von zwei Beobachtungspunkten definiert werden. Wenn zwei Testpunktkandidaten
unabhängig
sind, ändert sich
die Kon trollierbarkeit/Beobachtbarkeit im Auswirkungsbereich des
einen Testpunkts nicht, auch wenn der andere Testpunktkandidat als
Testpunkt festgelegt wird. Die Testpunktindexinformationen brauchen
daher nicht aktualisiert zu werden.
-
In der 18C überschneidet
sich der Testpunkt-Auswirkungsbereich 1827 des Kontrollpunkts 1826 mit
dem Testpunkt-Auswirkungsbereich 1805 des Kontrollpunkts 1804,
der Kontrollpunkt 1826 liegt aber nicht im Testpunkt-Auswirkungsbereich 1805 des
Kontrollpunkts 1804, und der Kontrollpunkt 1804 liegt
nicht im Testpunkt-Auswirkungsbereich 1827 des Kontrollpunkts 1826.
In diesem Fall wird dieser Zustand so bezeichnet, daß die beiden
Kontrollpunkte in einer schwachen Korrelation stehen. Bei der Ausführungsform
der 16B schneiden sich
die Auswirkungsbereiche der Kontrollpunkte 1651 und 1661 an
der Signalleitung 1601.
-
Wenn zwei Testpunktkandidaten in
schwacher Korrelation stehen, ändert
sich die Kontrollierbarkeit im Auswirkungsbereich des einen Testpunkts nicht,
sondern es ändert
sich ein Teil der Beobachtbarkeit, wenn der andere Testpunktkandidat
als Testpunkt festgelegt wird. Genau genommen müssen daher die Testpunkt-Indexinformationen
aktualisiert werden. Bei Untersuchungen der Erfinder hat sich jedoch
gezeigt, daß sich
kein praktisches Problem ergibt, wenn die Testpunktkandidaten in
schwacher Korrelation mit einem "Nichtvorhandensein" von Testpunktauswirkungen
behandelt werden. Ob der Testpunktindex neu berechnet wird oder
nicht, kann jedoch in Abhängigkeit
von der maximalen Bearbeitungszeit oder einem Zweck wie der Optimierung
der Testpunkt-Einfügeposition
oder dergleichen bestimmt werden.
-
In der 18D überschneidet
sich der Testpunkt-Auswirkungsbereich 1837 des Beobachtungspunkts 1836 mit
dem Testpunkt-Auswirkungsbereich 1805 des Kontrollpunkts 1804,
der Beobachtungspunkt 1836 liegt aber nicht im Testpunkt-Auswirkungsbereich 1805 des
Kontrollpunkts 1804, und der Kontrollpunkt 1804 liegt
nicht im Testpunkt-Auswirkungsbereich 1837 des Beobachtungspunkts 1836. In
diesem Fall befinden sich die beiden Kontrollpunkte in einer schwachen
Korrelation. Ein Teil der Beobachtbarkeit im Auswirkungsbereich
des einen Testpunkts ändert
sich, wenn der andere Testpunktkandidat als Testpunkt festgelegt
wird. Bei einem Kontrollpunkt und einem Beobachtungspunkt kann die schwache
Korrelation als die in den 18C und 18D gezeigten Fälle definiert
werden. Bei zwei Beobachtungspunkten ist jedoch die schwache Korrelation nicht
definiert.
-
Es folgt nun eine Beschreibung der
Bearbeitung in jedem Abschnitt der Berechnungsvorrichtung in jedem
der Schritte der 15.
Die 19 ist ein Flußdiagramm,
das Einzelheiten der Testpunktindexberechnung im Schritt S1502 zeigt.
Dieser Prozeß wird
im Testpunkt-Indexberechnungsabschnitt 1411 ausgeführt und
berechnet eine Skala für
die wahrscheinliche Testbarkeit, die wie oben beschrieben COP genannt
wird, für
den Testpunktindex. Es ist dies jedoch nicht auf das COP beschränkt, sondern es
kann jeder Index benutzt werden, wenn der Index die Auswirkungen
einer Verbesserung der Testbarkeit ausdrückt.
-
Im Schritt S1901 wird das
COP vor dem Einfügen
von Testpunkten berechnet. Die Berechnung des COP erfolgt durch
die Berechnung der Kontrollierbarkeit (1-Kontrollierbarkeit) von
der Eingangsseite zur Ausgangsseite und Berechnen der Beobachtbarkeit
von der Ausgangsseite zur Eingangsseite. Es wird auch eine Fehlererfassungswahrscheinlichkeit berechnet.
Die Fehlererfassungswahrscheinlichkeit ist das Produkt aus der Wahrscheinlichkeit,
daß eine Signalleitung
einen von angenommenen Fehlern mit einem Signalwert, der sich vom
Signalwert im Normalzustand unterscheidet, mit der Wahrscheinlichkeit,
daß der
Signalleitungsfehler erfaßt
wird. Die Fehlererfassungswahrscheinlichkeit eines 0-Degenerationsfehlers
ist daher das Produkt der 1-Kontrollierbarkeit und der Beobachtbarkeit,
und die Fehlererfassungswahrscheinlichkeit eines 1-Degenerationsfehlers
ist das Produkt der 0-Kontrollierbarkeit mit der Beobachtbarkeit.
Es gilt damit "0-Kontrollierbarkeit
= 1 – 1-Kontrollierbarkeit". Die objektive Funktion der
Testkosten ist definiert als der Wert beim Hinzufügen des
Reziprokwertes der Fehlererfassungswahrscheinlichkeit zu allen Fehlern.
Es ist dies ein Wert, der gleich dem erwarteten Wert für die Anzahl von
Testmustern zum Erfassen eines Fehlers ist, und da er die Testbarkeit
für die
ganze Schaltung angibt, wird die Testbarkeit größer, wenn die Kosten kleiner werden.
-
Im Schritt S1902 werden
der Differentialkoeffizient der Testkosten hinsichtlich der Beobachtbarkeit
und der Differentialkoeffizient der Testkosten hinsichtlich der
Kontrollierbarkeit für
jede Signalleitung berechnet. Die Einzelheiten des Berechnungsverfahrens
sind in dem Artikel mit dem Titel "Testability-Driven Random Test-Pattern
Generation" von
R. Lisanke et al., IEEE Transactions on Computer-Aided Design, Bd.
CAD-6, Seiten 1082–1087
(1987) beschrieben.
-
Im Schritt S1903 wird das
CRF (Cost Reduction Factor) für
jeden der Testpunktkandidaten berechnet. Das CRF ist ein Näherungswert
für den
Unterschied in den Testkosten (ACR: Actual Cost Reduction) durch
das Einfügen
eines Testpunkts, das heißt
ein Näherungswert
für das
Subtrahieren der Testkosten beim Einfügen eine Testpunkts (Kandidaten)
von den Testkosten vor dem Einfügen
des Testpunkts. Eine Signalleitung für einen Testpunktkandidaten
ist eine Signalleitung mit der Möglichkeit
der Aufnahme eines Kontrollpunkts und eine Signalleitung mit der
Möglichkeit
der Aufnahme eines Beobachtungspunkts, sie wird in Abhängigkeit
vom Wert des CRF ausgewählt.
-
Die Einzelheiten des Berechnungsverfahrens
für das
CRF sind in der oben angegebenen Literaturstelle von B. Seiss beschrieben,
es gibt ein CRFc für
Kontrollpunkte und ein CRFo für
Beobachtungspunkte. Zwischen dem CRF und dem ACR besteht eine gute
Korrelation, und vorzugsweise wird ein Testpunkt in die Signalleitung
mit dem größeren Wert
für das
CRF eingefügt.
Da das CRF ein Näherungswert
ist, ist es jedoch erforderlich, die Testkosten dann zu berechnen,
wenn der Testpunkt tatsächlich
eingefügt
wird.
-
Im Schritt S1904 werden
die eine Bedingung erfüllenden
Testpunktkandidaten auf der Basis des CRF ausgewählt und eine Gruppe von Testpunktkandidaten
geformt. Die Bedingung des CRF für
die Testpunktkandidaten ist eine Obergrenze für die Anzahl von Testpunkten,
die in abnehmender Reihenfolge der CRFs vorgegeben wird, oder ein
be stimmtes Verhältnis
zum Maximalwert des CRF. Die anhand des CRFc-Wertes ausgewählten Testpunktkandidaten sind
Kontrollpunktkandidaten, und die durch den CRFo-Wert ausgewählten Testpunktkandidaten
sind Beobachtungspunktkandidaten.
-
In den Schritten S1905 und S1906 wird
das COP (Kontrollierbarkeit, Beobachtbarkeit, Testkosten) für alle Elemente
der Gruppe der Testpunktkandidaten berechnet. Anhand des Ergebnisses
werden die Testpunktindexinformationen 1423 für eine Gruppe
von Sätzen
von Testpunktkandidaten und Testkosten erzeugt.
-
Die 20 ist
ein Flußdiagramm
für Einzelheiten
des anfänglichen
Testpunktbestimmungsprozesses im Schritt S1503. Die Bearbeitung
erfolgt im Testpunktbestimmungsabschnitt 1412.
-
Im Schritt S2001 wird der
Inhalt der Testpunkt-Auswirkungsinformationen 1424 insgesamt auf "Nichtvorhanden" eines Testpunkteffekts
gesetzt. Das heißt,
daß die
Testpunktauswirkungen für
alle Signalleitungen auf "Nichtvorhanden" gesetzt werden, und
daß die
Testpunktauswirkungen für
alle Testpunktkandidaten auf "Nichtvorhanden" gesetzt werden.
Im Schritt S2002 werden neue Gruppennummern, die bisher
nicht verwendet wurden, für
die Gruppennummern der Testpunkt-Korrelationsinformationen 1426 eingetragen.
Im Schritt S2003 wird der Testpunkt mit dem besten Testpunktindex,
das heißt
der Testpunktkandidat mit den minimalen Testkosten in den Testpunktindexinformationen 1423,
als Testpunkt bestimmt, und der Name der Signalleitung und die Art
des Testpunkts werden in den Testpunktinformationen 1425 registriert.
Dann werden im Schritt S2005 die Schaltungsinformationen 1422 auf die
Schaltungsinformationen mit eingefügtem Testpunkt aktualisiert.
-
Die 21 ist
ein Flußdiagramm
mit Einzelheiten des Testpunkteffektberechnungsprozesses im Schritt S1504.
Dieser Prozeß wird
im Testpunkt-Auswirkungsberechnungsabschnitt 1413 ausgeführt. Ein Testpunktkandidat
in schwacher Korrelation zu einem anderen Testpunkt wird hier mit
einem "Nichtvorhandensein" eines Testpunkteffekts
behandelt.
-
Im Schritt S2101 wird der
Testpunkt-Auswirkungsbereich für
den gerade bestimmten Testpunkt berechnet, und die Testpunktauswirkungen
für die
Signalleitungen im Auswirkungsbereich werden auf "Vorhanden" gesetzt. Testpunkteffekte
auf Signalleitungen außerhalb
des Auswirkungsbereichs werden nicht aktualisiert. Dann wird im
Schritt S2102 der für die
Testpunkt-Einfügeposition
berechnete Testpunkteffekt auf "Vorhanden"/"Nichtvorhanden" gesetzt. Der Prozeß wird für alle Testpunktkandidaten
im Schritt 2103 wiederholt.
-
Da die Testpunkteffektberechnung
(S1504) eine Suchverbindungsbeziehung zwischen den Signalleitungen
aus den Schaltungsinformationen darstellt, ist die Bearbeitungszeit
für die
Testpunkteffektberechnung (S1504) im ungünstigsten
Fall proportional der Anzahl von Gattern, da die Anzahl von Objektelementen
kleiner ist als die Anzahl von Gattern. Die Bearbeitungszeit für die Testpunkteffektberechnung
(S1504) ist daher wesentlich kleiner als die für die Testpunktindexberechnung S1502 zum
Berechnen des COP (Kontrollierbarkeit, Beobachtbarkeit, Testkosten)
und wird nicht zu einem Flaschenhals bei der Gesamt-Bearbeitungszeit
für die
Testpunktanalyse.
-
Die 22 ist
ein Flußdiagramm
mit Einzelheiten für
die Korrelation im Testpunktbestimmungsprozeß im Schritt S1505.
Dieser Prozeß wird
im Testpunktbestimmungsabschnitt 1412 ausgeführt.
-
Im Schritt S2201 wird die
Gruppe der Testpunktkandidaten unter Verwendung der Testpunkt-Indexinformationen 1423 in
der Reihenfolge des besseren Testpunktindexes sortiert und von 1
die Testpunktkandidatennummer aufeinanderfolgend addiert. Wenn der
Testpunktindex die Testkosten darstellt, wird die Sortierreihenfolge
zu einer Reihenfolge zunehmender Testkosten. Um die Testpunktkandidaten
in der Sortierreihenfolge des Testpunktindexes im folgenden Prozeß zu bearbeiten,
wird die Anzahl N der Objekt-Testpunktkandidaten im Schritt S2202 auf
1 gesetzt.
-
Im Schritt S2203 wird durch
Vergleich der Nummer N der Objekt-Testpunktkandidaten mit der Anzahl
von Testpunktkandidaten festgestellt, ob alle Testpunktkandidaten
bearbeitet wurden. Wenn die Anzahl N kleiner ist als die Anzahl
von Testpunktkandidaten, wird im Schritt S2204 festgestellt,
ob der Testpunkteffekt für
den Testpunktkandidaten N "Vorhanden" ist, und es wird
im Schritt S2205 festgestellt, ob ein Testpunktkandidat
N mit "Nichtvorhanden" für den Testpunkteffekt
die Testpunktindexbedingung erfüllt.
Wenn der Testpunktkandidat N die beiden Bedingungen nicht erfüllt, wird
im Schritt S2206 die Anzahl N der Objekt-Testpunktkandidaten
um 1 erhöht, und
der Prozeß kehrt
dann zu Schritt S2203 zurück.
-
Wenn der Testpunktkandidat N die
beiden Bedingungen im Schritt S2207 erfüllt, werden der Name der Signalleitung
und die Art des Testpunkts des Testpunktkandidaten N in den Testpunktinformationen 1425 registriert.
Dann wird im Schritt S2208 die Testpunkt-Gruppennummer (die
im Schritt S2002 der 20 eingestellte
Nummer) entsprechend dem gerade vor de Einstellung auf die Testpunkt-Korrelationsinformationen 1426 registrierten
Testpunkt eingestellt. Im Schritt S2209 werden die Schaltungsinformationen 1422 durch
Einfügen
des gerade vorher registrierten Testpunkts aktualisiert, und der
Prozeß endet
im Schritt S2210. Außerdem
wird zu einem Rückkehrwert
für neu
bestimmte, existierende Testpunkte zurückgekehrt. Wenn zum Rückkehrwert
für neu
bestimmte, existierende Testpunkte zurückgekehrt wird, kehrt im Schritt S1506 der 15 die Kontrolle zu S1504 zurück.
-
Wenn andererseits die Anzahl N von
Objekt-Testpunktkandidaten größer ist
als die Anzahl von Testpunktkandidaten, das heißt wenn keiner der Testpunktkandidaten
die beiden Bedingungen der Schritte S2204 und S2205 erfüllt, endet
der Prozeß im
Schritt S221, und es wird nicht zu einem Rückkehrwert
für neu
bestimmte, nicht existierende Testpunkte zurückgekehrt. Wenn dieser Rückkehrwert
im Schritt S1507 der 15 bei
der Komplettierungsbedingung festgestellt wird und diese nicht erfüllt ist, kehrt
die Kontrolle zum Schritt S1502 zurück.
-
Die Testpunkt-Indexbedingung im Schritt S2205 ist
zum Beispiel, wenn der Testpunktindex die Testkosten durch COP beschreibt,
wie es oben angegeben ist, daß "der Unterschied in
den Testkosten nach dem Einfügen
eines Testpunktkandidaten zu den Testkosten vor dem Einfügen des
Testpunktkandidaten größer ist
als der Wert beim Multiplizieren eines vorgegebenen Wertes mit dem
Unterschied zwischen den Kosten nach dem Einfügen eines gerade bestimmten
Testpunkts und den Kosten vor dem Einfügen des Testpunkts". Das heißt, da die
Testkosten für
den Testpunktkandidaten in der Bearbeitungsreihenfolge eine ansteigende
Reihenfolge darstellen, daß ein
bestimmtes Verhältnis
des Unterschieds gerade vorher verglichen wird mit dem Unterschied
zur Zeit, und wenn letzterer in einem vergleichsweise großen Bereich
liegt, das heißt
wenn eine Verringerung der Testkosten erwartet werden kann, wird
die Bearbeitung wiederholt. Wenn die Testkosten für den eingefügten Testpunktkandidaten
groß sind
und eine Testpunkt-Indexbedingung erreichen, bei der keine Verringerung
der Testkosten erwartet werden kann, endet der Prozeß.
-
Es wurde bisher der Aufbau und die
Prozeßprozedur
der erfindungsgemäßen Vorrichtung
zur Testpunktanalyse für
logische Schaltungen beschrieben. Es folgt nun eine Beschreibung
der Operationen an der logischen Schaltung der 16A anhand des Prozeßflusses der 15. Es wird dabei angenommen, daß die Komplettierungsbedingung
im Schritt S1507 die ist, daß die Anzahl von neu bestimmten Testpunkten
= 4 ist.
-
Zuerst werden im Schritt S1501 die
Informationen der 16A als
Schaltungsinformationen 1422 eingegeben. Die angenommenen
Fehler sind 0-Degenerationsfehler und 1-Degenerationsfehler auf
den Ausgangsleitungen der jeweiligen Elemente, das heißt den Signalleitungen 1601 bis 1606 und
den Signalleitungen 1612 bis 1616. Es wird angenommen,
daß die
Signalleitungen mit der Möglichkeit
der Aufnahme eines Kontrollpunkts oder eines Beobachtungspunkts
die Ausgangsleitungen der jeweiligen Elemente sind, das heißt die Signalleitungen 1601 bis 1606 und 1612 bis 1616.
-
Dann werden in den Schritten S1901 bis S1903 des
Berechnungsprozesses des Schrittes 1502 die Werte wie das
COP und so weiter berechnet. Die 23A ist
eine Tabelle für
die Berechnungswerte von COP, der Differentialkoeffizienten und
von CRF.
-
In der Darstellung bezeichnet die
Spalte 2311 die Signalleitungsnummern der 16A. Die Spalten 2312 bis 2315 bezeichnen
Werte, die im Schritt S1901 berechnet wurden, sie geben
die 1-Kontrollierbarkeit (C), die Beobachtbarkeit (O), die Fehlererfassungswahrscheinlichkeit
für einen
0-Degenerationsfehler (P(0)) und die Fehlererfassungswahrscheinlichkeit
für einen
1-Degenerationsfehler (P(1)) auf den Signalleitungen der Spalte 2311 an.
Im Schritt S1901 werden die Reziprokwerte der jeweiligen
Werte der Spalten 2314 und 2315 akkumuliert, und
es werden auch die Testkosten 2320 berechnet. Im Falle
dieser logischen Schaltung ist der Fehler mit der geringsten Fehlererfassungswahrscheinlichkeit der
0-Degenerationsfehler auf der Signalleitung 1603, wobei
die Wahrscheinlichkeit gleich "0,001" ist, und die Testkosten
sind "1810".
-
Die Spalte 2316 und die
Spalte 2317 geben die im Schritt S1902 berechneten
Werte und die Differentialkoeffizienten (dU/dO) der Testkosten hinsichtlich
der Beobachtbarkeit und die Differentialkoeffizienten (dU/dC) der
Testkosten hinsichtlich der 1-Kontrollierbarkeit an. Wenn die Testkosten
durch Abnahme der 1-Kontrollierbarkeit bei positivem dU/dC klein
werden, wird vorzugsweise ein 0-Kontrollpunkt eingefügt. Andererseits
wird vorzugsweise ein 1-Kontrollpunkt eingefügt, wenn die Testkosten durch
Zunehmen der 1-Kontrollierbarkeit
bei negativem dU/dC klein werden. Die Spalte 2318 und die Spalte 2319 sind
das im Schritt S1903 berechnete CRF, das CRFo bei der Einfügung eines
Beobachtungspunkts und das CRFc bei der Einfügung eines Kontrollpunkts.
-
Dann werden in den Schritten S1904 bis S1906 die
in den Spalten 2402 bis 2405 der 24A gezeigten Testpunkt-Indexinformationen
erhalten. Die Spalte 2402 gibt die Testpunktkandidaten
an, die durch Sätze
aus einer Signalleitung 2403 und einem Testpunkttyp 2404 ausgedrückt werden.
Im Schritt S1904 werden aus dem CRF und dem CRF der 23A fünf der Gruppen der Testpunktkandidaten mit
großen
Werten ausgewählt.
Die Auswahl des 1-Kontrollpunkts oder des 0-Kontrollpunkts erfolgt gemäß dem Differentialkoeffizienten
dU/dC des Kandidatenpunkts. Die Spalte 2405 gibt die Testkosten an,
die als Testpunktindex zu verwenden sind, die durch Berechnen von
COP nach dem Einfügen
eines Testpunktkandidaten in den Schritten S1905 und S1906 erhalten
werden.
-
Auf der Basis der Testpunkt-Indexinformationen 1423 der 24A wird der anfängliche
Testpunkt-Bestimmungsprozeß des
Schrittes S1503 ausgeführt.
Hinsichtlich der Testpunkt-Auswirkungsinformationen 1424,
die nach diesem Schritt verwendet werden, sind die Testpunkt-Auswirkungsinformationen
für die
Testpunktkandidaten in den Spalten 2411 bis 2413 der 24A gezeigt, und die Testpunkt-Auswirkungsinformationen
für die
Signalleitungen sind in den Spalten 2502 bis 2504 der 25A gezeigt. Die Testpunkt-Auswirkungsinformationen werden
durch "Vorhanden" oder "Nichtvorhanden" angegeben.
-
Zu Beginn der Bearbeitung im Schritt S2001 sind
alle Testpunkteffekte (1) für
die Testpunktkandidaten auf "Nichtvorhanden" eingestellt, wie
es in der Spalte 2411 gezeigt ist, und die Testpunkteffekte
(1) für
alle Signalleitungen sind ebenfalls auf "Nichtvorhanden" eingestellt, wie es in der Spalte 2502 gezeigt ist.
Im Schritt S2002 wird die Gruppennummer für die Testpunkt-Korrelationsinformationen 1426 auf
1 eingestellt. Dann wird im Schritt S2003 aus der Spalte 2405 der 24A der "1-Kontrollpunkt" auf der Signalleitung 1602 als
Testpunkt mit den geringsten Testkosten ausgewählt und in den Testpunktinformationen 1425 als
Testpunkt registriert.
-
Die 26A und 26B zeigen Tabellen für die Testpunktinformation.
In den Spalten 2601 bis 2604 der 26A werden die festgelegten Testpunkte 2602 jeweils
durch eine Signalleitung 2603 und einen Testpunkttyp 2604 ausgedrückt. Der
Rahmen für
den Testpunkt Nummer 1 enthält 1602 für die Signalleitung
und "1-Kontrollpunkt" für den Testpunkttyp.
Im Schritt S2004 wird als Testpunkt-Korrelationsinformation 1426 die
Testpunktgruppe Nummer 1 bestimmt, wie es in der Spalte 2605 gezeigt
ist.
-
Es wird nun das Einstellen und der Übergang der
Testpunkt-Auswirkungsinformationen 1424 durch die Testpunkt-Auswirkungsberechnung
im Schritt S1504 beschrieben.
-
Die Testpunkt-Auswirkungsinformation
für einen
Testpunktkandidaten in schwacher Korrelation mit einem anderen Testpunkt
wird auf "Nichtvorhanden" eingestellt.
-
Im Schritt S2101 wird der
Testpunkt-Auswirkungsbereich für
den Testpunkt Nummer 1 berechnet, und es werden die Testpunkt-Auswirkungsinformationen
für die
Signalleitung aktualisiert. Hinsichtlich der Auswirkungen durch
den "1-Kontrollpunkt" der Signalleitung 1602 umfaßt der Bereich
für die Veränderung
der Kontrollierbarkeit die Signalleitungen 1603, 1605, 1606 von
der Signalleitung 1602 bis zur Ausgangsseite, wie es oben
beschrieben ist. Der Bereich der sich ändernden Beobachtbarkeit umfaßt die Signalleitungen
von den Signalleitungen 1605, 1606 des Ausgangsabschnitts
mit sich ändernder Kontrollierbarkeit,
die invers zur Eingangsseite anschließen, das heißt die Signalleitungen 1601 bis 1606.
Der Auswirkungsbereich des Testpunkts Nummer 1 auf die einzelnen
Signalleitungen ist daher bei den Signalleitungen 1601 bis 1606 "Vorhanden" und bei den anderen
Signalleitungen "Nichtvorhanden", wie es in der Spalte 2503 der 25A gezeigt ist.
-
Im Schritt S2102 und S2103 werden
die Testpunkt-Auswirkungsinformationen für die Testpunktkandidaten auf
der Basis der Spalte 2503 mit den Testpunktauswirkungen
auf die Signalleitungen durch den Testpunkt Nummer 1 wie in der
Spalte 2412 der 24A gezeigt
eingestellt. Bei den Testpunktkandidaten der Nummern 1, 2 und 3
werden die Testpunkteffekte der entsprechenden Signalleitungen 1603, 1604 und 1605 auf "Vorhanden" gesetzt. Für die Testpunktkandidaten
der Nummern 4 und 5 werden die Testpunkteffekte der entsprechenden
Signalleitungen 1612 und 1613 auf "Nichtvorhanden" gesetzt.
-
Es wird nun das Einstellen und der Übergang der
Testpunktinformationen 1425 und der Testpunkt-Korrelationsinformationen 1426 durch
die Korrelation hinsichtlich der Testpunktbestimmung im Schritt S1505 beschrieben.
-
Im Schritt S2201 werden
die Testpunkt-Indexinformationen der Spalten 2402 bis 2405 der 24A in ansteigender Reihenfolge
des Testpunktindexes 2405 (der Testkosten) angeordnet.
Die Spalte 2401 in der Zeichnung gibt die neuen Nummern
in ansteigender Ordnung an. Vom Schritt S2202 bis zum Schritt S2206 wird
in der ansteigenden Reihenfolge vom Testpunktkandidaten Nummer 2
an festgestellt, ob sich im Schritt S2204 ein "Nichtvorhanden" für den Testpunkteffekt
des Testpunktkandidaten ergibt und ob er im Schritt S2205 die
Testpunkt-Indexbedingung erfüllt.
-
Für
die Testpunkt-Indexbedingung wird hier angenommen, daß der Unterschied
zwischen den Testkosten (zum Beispiel 894 im Fall des Testpunktkandidaten
Nummer 2) nach dem Einfügen
des Testpunktkandidaten und den Testkosten (1810) vor dem Einfügen des
Testpunktkandidaten größer ist
als ein Wert (93,9), der sich durch Multiplikation von 0,1 mit dem
Unterschied zwischen den Testkosten (871) nach dem Einfügen des
Testpunkts Nummer 1 unmittelbar vorher und den Testkosten (1810)
vor dem Einfügen
des Testpunkts ergibt. Diese Indexbedingung ist gleichwertig mit
der, daß der
Testpunktindex nach dem Einfügen
des Testpunktkandidaten kleiner ist als 1716,1, und alle Testpunktkandidaten
Nummer 2 bis Nummer 5 erfüllen
diese Bedingung.
-
Folglich sind die Testpunktkandidaten
mit einem "Nichtvorhanden" für den Testpunkteffekt,
die die Testpunkt-Indexbedingung erfüllen, die Nummer 4 und die
Nummer 5, der Kandidat Nummer 4 ("0-Kontrollpunkt" in der Signalleitung 1612)
mit den kleineren Testkosten wird jedoch zuerst ausgewählt. Dann
werden im Schritt S2207 die Signalleitung und der Testpunkttyp
für den
Testpunktkandidaten mit der Kandidatennummer 4 in den Rahmen für den Testpunkt
Nummer 2 der 26A eingetragen.
Außerdem
wird im Schritt S2208 die Testpunkt-Gruppennummer = 1 für den Testpunkt
der Testpunktnummer 2 eingestellt. Des weiteren wird im Schritt S2210 der Rückkehrwert
für das
Vorhandensein des neu bestimmten Testpunkts eingestellt und damit
die Korrelation hinsichtlich der Testpunktbestimmung im Schritt S1505 beendet.
-
Dann kehrt im Schritt S1506 der
Prozeß zur Testpunkt-Auswirkungsberechnung
des Schrittes S1504 zurück,
da ein Testpunkt neu bestimmt wurde. Da der Testpunkt-Auswirkungsbereich
des gerade bestimmten "0-Kontrollpunktes" der Signalleitung 1612 die
Signalleitungen 1601, 1612, 1613, 1614, 1615 und 1616 umfaßt, werden
die Testpunkt-Auswirkungsinformationen
für alle
diese Signalleitungen auf "Vorhanden" gestellt. Im Ergebnis
wird der Testpunkteffekt (3) für
die Signalleitungen wie in der Spalte 2504 der 25A gezeigt verändert. Außerdem wird
der Testpunkteffekt (3) für
die Testpunktkandidaten wie in der Spalte 2413 der 24A gezeigt verändert.
-
Dann geht der Prozeß zur Korrelation
hinsichtlich der Testpunktbestimmung im Schritt S1505 weiter.
Dabei gibt es nach den Testpunkt-Auswirkungsinformationen 2413 für die Testpunktkandidaten
keinen Testpunktkandidaten mit einem "Nichtvorhanden" in den Testpunkt-Auswirkungsinformationen (auch
der Kandidat Nummer 5 wurde auf "Vorhanden" geändert).
Im Schritt S2211 der 22 wird
daher die Korrelation hinsichtlich des Testpunkt-Bestimmungsprozesses
beendet, und der Rückkehrwert
für den
nicht existierenden, neu bestimmten Testpunkt wird wieder aufgenommen.
Anhand dieses Rückkehrwertes
wird im Schritt S1507 festgestellt, ob die Komplettierungsbedingung
erfüllt
ist. Da die eingestellte Nummer der vorhandenen Testpunkte gleich
2 ist, was die Komplettierungsbedingung für die Anzahl von Testpunkten
= 4 nicht erfüllt,
kehrt der Prozeß zum
Schritt S1502 zurück.
-
Im Testpunkt-Indexberechnungsprozeß des Schrittes S1502 werden
die Testkosten 2340 durch Berechnen von COP für die logische
Schaltung mit den eingefügten
Testpunkten 1, 2 wie in den Testpunktinformationen registriert wie
in den Spalten 2331 bis 2335 der 23B gezeigt berechnet. Hinsichtlich der
beim Berechnen der Testkosten berücksichtigten Fehler werden
außer
den Fehlern auf der Signalleitung der Spalte 2331 der 23B auch Fehler auf den
Ausgangsleitungen der Elemente in den eingefügten Testpunkten berücksichtigt.
Wie in den Spalten 2336 bis 2339 der 23B gezeigt werden auch
die Differentialkoeffizienten der Testkosten und die CRFs berechnet.
Auf der Basis des CRF werden fünf
Testpunktkandidaten mit einem großen CRF ausgewählt und
der Testpunktindex (die Testkosten) für jeden der Testpunktkandidaten
berechnet. Die so erzeugten Testpunkt-Indexinformationen sind in den Spalten 2422 bis 2425 der 24B gezeigt.
-
Im anfänglichen Testpunkt-Bestimmungsprozeß des Schrittes S1503 werden
im nächsten
Schritt alle Inhalte der anfänglichen
Testpunkteffekte (1) auf die Signalleitung und der Testpunkteffekte
(1) auf die Testpunktkandidaten auf "Nichtvorhanden" gestellt, wie es in der Spalte 2512 der 25B und der Spalte 2431 der 24B gezeigt ist. Dann wird
der Beobachtungspunkt auf der Signalleitung 1603 des Testpunktkandidaten
mit den kleinsten Testkosten als Testpunkt für den Testpunkt Nummer 3 ausgewählt und
in den Testpunktinformationen 1425 registriert. Die Testpunkt-Gruppennummer
ist hier "2". Die Testpunktinformationen
und die Testpunkt-Korrelationsinformationen zu diesem Zeitpunkt
sind unter den Testpunktnummern 1 bis 3 der 26B gezeigt.
-
Bei der Testpunkt-Auswirkungsberechnung im
Schritt S1504 wird der Testpunkt-Auswirkungsbereich durch den Beobachtungspunkt
des Testpunkts Nummer 3 berechnet. Die Testpunktauwirkungen (2) auf
die Signalleitungen sind in der Spalte 2513 der 25B gezeigt und die Testpunktauswirkungen
(2) auf die Testpunktkandidaten in der Spalte 2432 der 24B.
-
Bei der Korrelation hinsichtlich
der Testpunktbestimmung im Schritt S1505 wird für den Testpunkt
unter der Testpunktnummer 4 der Beobachtungspunkt in der Signalleitung 1613 in
den Testpunktinformationen 1425 registriert, der unter
den Testpunktkandidaten mit einem "Nichtvorhanden" für den
Testpunkteffekt (2) und einer Erfüllung der Testpunkt-Indexbedingung
die minimalen Testkosten aufweist. Die Testpunkt-Gruppennummer ist "2". Die Testpunktinformationen und die
Testpunkt-Korrelationsinformationen zu diesem Zeitpunkt sind unter
den Testpunktnummern 1 bis 4 der 26B gezeigt.
-
Im Schritt S1507 geht der
Prozeß zum
Schritt S1508 weiter, da die Komplettierungsbedingung für die Anzahl
von Testpunkten = 4 erfüllt
ist. Im Datenausgabeprozeß wird
der Inhalt der 26B als
Testpunktinformationen 1425 und als Testpunkt-Korrelationsinformationen 1426 ausgegeben.
-
Die logische Schaltung der 16A wird damit durch Einfügen der
Testpunkte zu der der 16B.
Vom Testpunkt Nummer 1 an sind die Testpunkte der "1-Kontrollpunkt" 1651, der "0-Kontrollpunkt" 1661, der "Beobachtungspunkt" 1671 und
der "Beobachtungspunkt" 1681.
-
In der 23C ist
das berechnete Ergebnis für
das COP der logischen Schaltung der 16B gezeigt.
Die in der Spalte 2360 gezeigten Testkosten sind "252", und sie sind damit
wesentlich besser als die Testkosten "1810" vor dem Einfügen der Testpunkte der 23A. Außerdem ist die Fehlererfassungswahrscheinlichkeit
für einen
0-Degenerationsfehler auf der Signalleitung 1601 mit "0,0278" im Vergleich zu
der minimalen Fehlererfassungswahrscheinlichkeit vor dem Einfügen des
Testpunkts mit "0,0010
(0-Degenerationsfehler auf der Signalleitung 1603)" wesentlich besser.
Die logische Schaltung weist damit nach dem Einfügen der Testpunkte der 16B im Vergleich zu der
logischen Schaltung der 16A eine
höhere
Testbarkeit auf.
-
Es wird nun die Bearbeitungszeit
für die
Testpunktanalyse der vorliegenden Ausführungsform der 15 diskutiert. Die meiste Bearbeitungszeit
wird zur Berechnung von COP (S1905) nach dem Einfügen der
Testpunktkandidaten im Testpunkt-Indexberechnungsprozeß des Schrittes S1502 benötigt. Diese
Bearbeitung umfaßt
die Schleife der Schritte S1905 und S1906 in der
Schleife der Schritte S1502 bis S1507, in der
die Verschachtelung der Schleifen am tiefsten ist. Die Anzahl der
ersten Schleifen ist gleich der Anzahl der Testpunktkandidaten.
Die Anzahl der zweiten Schleifen ist ein Wert, der durch Subtraktion
der Anzahl der nur durch die Korrelation hinsichtlich der Testpunktbestimmung
im Schritt S1505 bestimmten Testpunkte von der Gesamtzahl der
als Komplettierungsbedingung festgesetzten Testpunkte erhalten wird.
Das heißt,
daß die
Bearbeitungszeit um die nur durch ersteres bestimmten Testpunkte
verkürzt
werden kann.
-
Es wird nun die Gesamtbearbeitungszeit
für die
Testpunktanalyse berechnet. Es wird erwartet, daß die Anzahl der Testpunkte,
die durch die Korrelation hinsichtlich der Testpunktbestimmung im
Schritt S1505 aufgezeigt werden, entsprechend etwa der halben
Potenz der Anzahl von Gattern zunimmt. Der Grund dafür ist, daß sich die
Anzahl der Elemente in der logischen Schaltung nicht groß verändert, daß aber die
Anzahl der Eingangs/Ausgangselemente und die Anzahl von Speicherelementen
zunimmt, wenn die Skala für
eine logische Schaltung erhöht wird,
weshalb entsprechend die Anzahl von Subschaltungen ohne Korrelation
in der logischen Schaltung zunimmt. Wenn die Anzahl der Testpunktkandidaten,
die Anzahl der Testpunkte und die Berechnungszeit für COP proportional
zur Anzahl der Gatter ist, ist die Gesamtbearbeitungszeit für die Testpunktanalyse
im ungünstigsten
Fall proportional der zweieinhalbfachen Potenz der Anzahl von Gattern.
Wenn bei der COP-Berechnung nur der Änderungswert für die Signalleitungen,
das heißt
das sogenannte bestandsgesteuerte Verfahren angewendet wird, ist
die Berechnungszeit proportional der halben Potenz der Anzahl von
Gattern. Die Gesamtbearbeitungszeit für die Testpunktanalyse ist
daher proportional zur zweiten Potenz der Anzahl von Gattern. Wie
oben angegeben ist die Bearbeitungszeit im Vergleich zum herkömmlichen
Verfahren wesentlich kürzer
und liegt in einem praktisch ausführbaren Bereich.
-
Andererseits ist die Möglichkeit
der Minimalisierung der Testkosten durch die Korrelation hinsichtlich
der Testpunktbestimmung bei der vorliegenden Ausführungsform,
das heißt
der Effekt der Testbarkeit in etwa gleich der beim herkömmlichen
Verfahren. Der Grund dafür
ist, daß für eine Signalleitung
mit einem "Nichtvorhanden" für den Testpunkteffekt
sich der relative numerische Wert des Testpunktindexes für den Fall,
daß nach
der Festlegung des Testpunkts die Schaltungsinformationen aktualisiert
werden und der Testpunktindex neu berechnet wird, und für den Fall,
daß der
Testpunktindex vor der Bestimmung des Testpunkts verwendet wird,
nicht unterscheidet.
-
Wie beschrieben kann die Vorrichtung
zu Analyse von Testpunkten für
logische Schaltungen dadurch eine Bestimmung der Testpunkte mit
Auswirkungen auf die Testbarkeit auf gleichem Pegel mit hoher Geschwindigkeit
durch Verringerung der COP-Berechnung
im Testpunkt-Indexberechnungsabschnitt 1411 ausführen, daß der Testpunkt-Auswirkungsberechnungsteil 1413 für die Ausführung der Testpunkt-Auswirkungsberech nung
und der Testpunkt-Bestimmungsabschnitt 1412 für die Ausführung der
Korrelation hinsichtlich der Testpunktbestimmung vorgesehen werden.
-
Im folgenden wird eine weitere Ausführungsform
der vorliegenden Erfindung beschrieben. Bei der zweiten Ausführungsform
einer Vorrichtung zur Analyse von Testpunkten für logische Schaltungen wird
der Testpunkt-Bestimmungsprozeß unter
Verwendung von Informationen zur Aufteilung der logischen Schaltung
in eine Anzahl von Subschaltungen ausgeführt. Der grundlegende Aufbau
der vorliegenden Ausführungsform
ist der gleiche wie in den 14 und 15 gezeigt.
-
Die 27 ist
eine Ansicht zur Erläuterung der
Testpunkt-Auswirkungsbereiche bei der Verwendung von Informationen
zur Aufteilung der logischen Schaltung in eine Anzahl von Subschaltungen.
Durch das Bezugszeichen 2702 wird eine Eingangselementgruppe
der logischen Schaltung 2701 bezeichnet und durch das Bezugszeichen 2702 eine
Ausgangselementgruppe. Die logische Schaltung 2701 wird
durch die Informationen zur Aufteilung der logischen Schaltung in
eine Anzahl von Subschaltungen in die Subschaltungen 2711, 2712, 2713 und 2714 aufgeteilt.
Die Testpunkte 2721 und 2723 sind Kontrollpunkte,
und die Testpunkte 2722 und 2724 sind Beobachtungspunkte.
-
Wenn der Testpunkt-Auswirkungsbereich
auf die Subschaltung beschränkt
wird, die den Testpunkt enthält,
sind die Auswirkungsbereiche der Testpunkte 2721, 2722, 2723 und 2724 die
Bereiche 2731, 2732, 2733 und 2734.
-
Im Testpunkt-Auswirkungsberechnungsprozeß S1504 kann
bei der Bearbeitung des Schrittes S2101 in der 21 die Berechnung des Auswirkungsbereiches
durch Beschränken
auf eine Subschaltung und auf die Signalleitungen in der Subschaltung
erfolgen.
-
Im Testpunkt-Indexberechnungsprozeß S1502 wird
die Berechnung der Testpunktindexe für die Testpunktkandidaten auf
die Subschaltung mit den Testpunktkandidaten beschränkt. Das
heißt,
daß im
Prozeß des
Schrittes S1905 der 19 die
Kosten für
die ganze Schaltung nach dem Einfügen der Testpunktkandidaten
durch Berechnen der Kontrollierbarkeit und der Beobachtbarkeit für die Signalleitungen
innerhalb der Subschaltung mit den Testpunktkandidaten berechnet
wird, und die Kontrollierbarkeit und die Beobachtbarkeit für die anderen
Signalleitungen vor dem Einfügen
der Testpunktkandidaten verwendet wird.
-
Die Informationen zur Aufteilung
der logischen Schaltung in eine Anzahl von Subschaltungen machen
von Informationen über
logische Blöcke
im logischen Aufbau Gebrauch. Anderenfalls können die Informationen zur
Aufteilung der logischen Schaltung vor der Testpunktanalyse erstellt
werden. Die Aufteilung erfolgt vorzugsweise so, daß die Korrelation
zwischen den Subschaltungen so klein wie möglich ist, oder so, daß die Anzahl
der Verbindungen zwischen den Subschaltungen so klein wie möglich ist.
-
Mit dieser Ausführungsform wird im Testpunkt-Auswirkungsberechnungsprozeß S1504 die Anzahl
der Signalleitung verringert, die eine Berechnung des Testpunkteffektes
erfordern. Gleichermaßen
kann im Testpunkt-Indexberechnungsprozeß S1502 die Anzahl
der Signalleitungen verringert werden, die eine Berechnung der Kontrollierbarkeit
und der Beobachtbarkeit nach dem Einfügen der Testpunktkandidaten
erfordern. Entsprechend können diese
Prozesse mit großer
Geschwindigkeit ausgeführt
werden.
-
Es wird im folgenden eine Ausführungsform des
Testpunkt-Korrelationsinformationsanalyseprozesses der anderen Erfindung
beschrieben. Bei dieser Ausführungsform
werden aus den vorhandenen Testpunktinformationen 1425 nur
die Testpunkt-Korrelationsinformationen 1426 erstellt.
Die 28 ist ein Flußdiagramm
für den
Testpunkt-Korrelationsinformationsprozeß der vorliegenden
Ausführungsform.
Ein Unterscheidungsmerkmal gegenüber
der Ausführungsform
der Testpunktanalyse für
logische Schaltungen der 15 ist,
daß der
Testpunkt-Indexberechnungsprozeß S1502 nicht
ausgeführt
wird, sondern als Testpunktkandidaten vorgegebene Testpunkte verwendet
werden (Schritt S2802).
-
Das heißt, daß nach der Eingabe der Schaltungsinformationen 1422 im
Schritt S1501 im Schritt S2802 anfänglich alle
vorgegebenen Testpunkte als Testpunktkandidaten eingegeben werden.
Die folgenden Prozesse werden ähnlich
wie bei der ersten Ausführungsform
ausgeführt.
Unter den Testpunktkandidaten wird der Testpunktkandidat mit den kleinsten
Testkosten als Testpunkt bestimmt, und es wird der Testpunkt-Auswirkungsbereich
berechnet. Wenn ein Testpunktkandidat, der sich nicht im Auswirkungsbereich
befindet, als Testpunkt bestimmt werden kann, wird der Auswirkungsbereich
berechnet und ein weiterer neuer Testpunkt bestimmt. Dieser Prozeß wird wiederholt.
Jeder der in diesem wiederholten Prozeß bestimmten Testpunkte wird
mit der gleichen Gruppennummer versehen. Wenn dagegen kein neuer
Testpunkt bestimmt wird und keine vorgegebene Anzahl von Testpunkten
erhalten wird, kehrt der Prozeß zum
Schritt S2802 zurück,
und alle Testpunkte, die nicht in der Testpunktgruppe sind, werden
als neue Testpunktkandidaten aufgestellt, und der Prozeß wird wiederholt,
bis die Komplettierungsbedingung erfüllt ist.
-
Bei dem Prozeß der vorliegenden Ausführungsform
erhöht
sich die Anzahl der Testpunkte, die zu den einzelnen Testpunktgruppen
gehören,
da die Gruppierung der Testpunkte anhand der Testpunkt-Auswirkungsinformationen
ohne Bezug zu den Testpunkt-Indexinformationen
erfolgt, wenn die Testpunkte bereits bestimmt sind. Die Gruppennummer, die
anzeigt, daß sich
die Testpunkte nicht im gegenseitigen Auswirkungsbereich befinden,
das heißt
die Testpunkt-Korrelationsinformationen werden zu nützlichen
Informationen für
die Konstruktion der Testpunktschaltung. Wie später noch beschrieben, können die
Testpunkte der gleichen Gruppe ein Teil der Testpunktschaltung sein,
zum Beispiel ein Flip-Flop mit Scanfunktion für einen Testpunkt.
-
Es wird nun eine Ausführungsform
für eine integrierte
Halbleiterschaltung beschrieben, auf das das erwähnte Testpunkt-Analyseverfahren
für logische
Schaltungen angewendet wird. Die Testpunkte für diese integrierte Schaltung
werden mit den genannten Testpunktinformationen optimal angeordnet. Des
weiteren ist dies ein Beispiel dafür, daß die Testpunkt-Korrelationsinformationen
ihre Auswirkungen bei der Verringerung der Schaltungsfläche für die Testpunkte
zeigen.
-
Die 29 ist
eine Darstellung des Aufbaus einer integrierten Halbleiterschaltung
auf der Basis der vorliegenden Ausführungsform. Die integrierte Halbleiterschaltung
stellt ein Beispiel für
die Anwendung der vorliegenden Ausführungsform auf die logische
Schaltung der 16B mit
vier Testpunkten dar, und der Schaltungsaufbau ändert sich in einem Kontrollpunkt 1651,
der in die Signalleitung 1602 eingefügt wird, und einem Kontrollpunkt 1662,
der in die Signalleitung 1612 eingefügt wird, der Rest ist der gleiche
wie bei der logischen Schaltung der 16B. Der
Auswirkungsbereich des Kontrollpunkts 1651 und der Auswirkungsbereich
des Kontrollpunkts 1662 überschneiden sich nicht, und
beide Kontrollpunkte sind in der gleichen Gruppe enthalten.
-
Das heißt, daß das Flip-Flop mit Scanfunktion 1654,
das mit der Test-Dateneingangsleitung des "1-Kontrollpunkts" 1651 verbunden ist, und das Flip-Flop
mit Scanfunktion 1664, das mit der Test-Dateneingangsleitung
des "0-Kontrollpunkts" 1661 verbunden
ist, durch ein gemeinsam verwendetes Flip-Flop mit Scanfunktion 2905 ersetzt
wird, und daß sich
die Ausgangsleitung 2904 in eine Signalleitung 2901 und
eine Signalleitung 2902 verzweigt, die zu dem Element 1653 bzw.
dem Element 1663 führt.
Der Inversionswert der Signalleitung 2902 wird über ein NOT-Gate 2903 dem
Element 1663 zugeführt,
so daß die
Kontrollpunkte 1651 und 1661 im normalen Betrieb
nicht arbeiten. Das Flip-Flop mit Scanfunktion 2905 befindet
sich im Normalbetrieb immer auf dem Signalwert 0.
-
Bei dem gezeigten Schaltungsaufbau überschneiden
sich die durch das Signal beeinflußten Bereiche nicht, auch wenn
an die Test-Dateneingangsleitungen der beiden unabhängigen Kontrollpunkte 1651, 1661,
die mit dem Flip-Flop mit Scanfunktion 2905 verbunden sind,
das gleiche Signal angelegt wird. Es ist daher möglich, in dem Fall, daß zwei Flip-Flops
mit Scanfunktion an den beiden Kontrollpunkten 1651 und 1661 vorgesehen
sind und auf den Test-Dateneingangsleitungen verschiedene Signale eingegeben
werden, einen äquivalenten
Effekt für
die Testbarkeit zu erhalten. Es ist damit möglich, die Schaltungsfläche für die Eingangselemente
wie Flip-Flops mit Scanfunktion und dergleichen zu verringern.
-
Unter Berücksichtigung der Tatsache,
daß die
Dateneingangsleitungen für
eine Anzahl von Testpunkten durch ein gemeinsam verwendetes Flip-Flop
mit Scanfunktion ersetzt werden können, sind die Testpunkte vorzugsweise
unabhängig,
sie können
aber auch in schwacher Korrelation zueinander stehen.
-
Bei der vorliegenden Ausführungsform
kann daher in einer integrierten Halbleiterschaltung mit einer Anzahl
von Testpunkten, wenn die Testpunkte voneinander unabhängig sind
oder in schwacher Korrelation stehen, die Schaltungsfläche verkleinert werden,
während
die Testbarkeit erhalten bleibt, wenn ein Flip-Flop mit Scanfunktion
gemeinsam für die
Test-Dateneingangsleitungen für
eine Anzahl von Testpunkten verwendet wird.
-
Erfindungsgemäß ist es möglich, eine praktisch anwendbare
Analysevorrichtung aufzubauen, die Testpunkte in einer logischen
Schaltung schnell analysieren kann.
-
Außerdem ist es erfindungsgemäß möglich, zur
Konstruktion einer Testpunktschaltung mit einer geringen Belastung
beizutragen, da es möglich
ist, leicht eine Testpunkt-Korrelationsinformation
zu erstellen, die Gruppen angibt, in denen sich die Testpunkt-Auswirkungsbereiche überlappen.
-
Erfindungsgemäß ist es schließlich möglich, eine
integrierte Halbleiterschaltung bereitzustellen, bei der die Vergrößerung der
Schaltungsfläche
durch das Einfügen
der Testpunkte auf der Basis der Testpunkt-Korrelationsinformation
gering bleibt.