DE3687672T2 - Pruefverfahren mittels gewichteten zufallsmustergenerators. - Google Patents

Pruefverfahren mittels gewichteten zufallsmustergenerators.

Info

Publication number
DE3687672T2
DE3687672T2 DE8686108463T DE3687672T DE3687672T2 DE 3687672 T2 DE3687672 T2 DE 3687672T2 DE 8686108463 T DE8686108463 T DE 8686108463T DE 3687672 T DE3687672 T DE 3687672T DE 3687672 T2 DE3687672 T2 DE 3687672T2
Authority
DE
Germany
Prior art keywords
input
test
max
inputs
logical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE8686108463T
Other languages
English (en)
Other versions
DE3687672D1 (de
Inventor
Franco Motika
John Arthur Waicukauski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3687672D1 publication Critical patent/DE3687672D1/de
Publication of DE3687672T2 publication Critical patent/DE3687672T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/31813Test pattern generators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318371Methodologies therefor, e.g. algorithms, procedures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf Prüfvorgänge und im besonderen auf die Prüfung von sehr großen integrierten Schaltkreisen.
  • Komplexe, sehr hoch integrierte Schaltkreise, die auf einem einzigen Halbleiterchip erzeugt werden, enthalten Tausende von funktionellen Schaltkreiselementen, die einer diskreten Prüfung nicht zugänglich sind. Aufgrund der Komplexität der internen Zwischenverbindungen und ihrer kombinatorischen Wechselwirkungen untereinander wird die Prüfung der Fehlerfreiheit der Bauelemente immer zeitaufwendiger, je mehr die Zahl der Schaltkreiselemente ansteigt.
  • Wenn zum Beispiel ein Halbleiterchip fünfzig Eingangsanschlüsse haben sollte, dann beträgt die Anzahl der Verknüpfungen der Eingänge 2&sup5;&sup0;. Wenn man die Anzahl der unterschiedlichen Eingangsmuster betrachtet und die entsprechenden Ausgänge aufzeichnet und die Daten dieser Ausgänge mit den erwarteten Daten an den Ausgaben vergleicht, dann sollte man zu dem Ergebnis kommen, daß dies eine Verfahrensweise ist, die für eine moderne Fertigungsprüfung viel zu unwirtschaftlich ist.
  • In der US-Patentschrift 3,614,608 wird eine der obigen Beschreibung entsprechende Prüfrichtlinie dargelegt. Zur Herabsetzung der Anzahl der für die Prüfung geforderten Muster benutzt diese Richtlinie einen Zufallsgenerator, um die Prüfmuster zu erzeugen. Dieser Ausweg führt zu einer beträchtlichen Herabsetzung der Anzahl der zur Prüfung eines Bauelementes benötigten Muster. Dies ist zutreffend, denn ein Zufallsgenerator erzeugt, anders als ein binärer Zähler, eine Folge von binären Wörtern, bei denen die Aufteilung zwischen binären Nullen und binären Einsen einem 50%igen Anteil für eine große Anzahl von aufeinanderfolgenden Wörtern nahekommt, wobei die Anzahl der Wörter ganz wesentlich geringer ist als die insgesamt mögliche Anzahl der unterschiedlichen Wörter. Somit hat jeder Eingang des zu prüfenden Bauelements (DUT) eine 50%ige Chance, eine binäre Null- oder Eins-Eingabe mit einer geringeren Anzahl von Eingabemustern zu erhalten.
  • Ein zweiter Ausweg zur Verminderung der Prüfzeit besteht in der Benutzung von gewichteten Zufallsstrukturen als Eingaben für das zu prüfende Bauelement (DUT). Dieses Verfahren wendet eine statistisch vorherbestimmte größere Anzahl von binären Einsen oder binären Nullen an den Eingangsanschlüssen der DUT an. Es kommt nun darauf an, ein gewichtetes Prüfmuster anzuwenden, bei dem eine maximale Wirkung bei den unzugänglichen internen Schaltkreiselementen erreicht wird.
  • In der US-Patentschrift 3,719,885 wird eine Prüfmethode mit gewichtetem Zufallsmuster beschrieben. Sie verwendet einen Generator für Pseudo-Zufallsmuster zur Erzeugung einer zufälligen Folge von binären Wörtern, die von binär in dezimal decodiert wurden und deren dezimale Abgriffe in Gruppen von zwei, drei, vier, fünf usw. zusammengeschaltet wurden, um mehrfache oder gewichtete Ausgaben aus dem Decoder zu erzeugen.
  • Eine weitere Darlegung über die Prüfung mit gewichteten Zufallsmustern ist in einem Artikel von H. D. Schnurmann et al mit dem Titel "Ein Generator zur Erzeugung von gewichteten Zufallsprüfmustern", IEEE Transactions on Computers, Band C-24, Nr. 7, Juli 1975, auf den Seiten 695 ff. zu finden.
  • Und noch ein weiterer Ausweg zur Verbesserung der Prüfbarkeit besteht darin, in einen Chip zusätzliche Schaltungsverbindungen einzubauen, die allein Prüfzwecken dienen. Natürlich muß die Anzahl dieser Schaltungen, entsprechend den Prüfbedürfnissen klein gehalten werden, da sie die Verfügbarkeit von Schaltungen für die eigentliche Funktion des Bauelements vermindern. Eine Einrichtung, die beispielgebend für diese eingebaute Prüfbarkeit ist, wird in der US-Patentschrift 3,783,254 beschrieben. Aus einer Prüfung der Fig. 6 der vorliegenden Erfindung, die eine Entsprechung der Fig. 7 des genannten Patentes ist, kann man sehen, daß der Schieberegisterteil der Einrichtung Eingaben direkt aus einer externen Verbindung empfangen und eine Ausgabe liefern kann, und somit ist er einer direkten Prüfung zugänglich. Diese LSSD (kanalempfindliche Abtasteinrichtung) ist ganz besonders für die Prüfung mit Hilfe des zu beschreibenden Verfahrens und Gerätes geeignet.
  • Die US-Patentschrift 3,761,695 legt ein Verfahren dar, das speziell zur Prüfung der oben erwähnten LSSD-Einrichtung entwickelt wurde.
  • Die Verwendung von "Signaturen" anstelle eines Vergleiches jedes einzelnen Prüfwertes mit einem bekannten korrekten Ausgabewert wird in der US-Patentschrift 3,976,864 dargelegt.
  • Während die Prüfverfahren nach dem herkömmlichen Stand der Technik zur Prüfung von Einrichtungen in ihrer abschließend existierenden Komplexität geeignet waren, erfordert der Anstieg in der Schaltungsdichte professionellere Prüfverfahren, und zwar nicht nur wegen einer Verkürzung der Prüfzeit, sondern auch zur Sicherstellung der funktionellen Unversehrtheit dieser Einrichtungen. Da ein defekter integrierter Schaltkreis nicht repariert werden kann, wäre es im höchsten Maße effektiv, wenn man in der Lage wäre, das Fehlverhalten eines Bauelements schon bei mindestens einigen fehleranfälligen Bauelementen zu erkennen, so daß man bei der Herstellung des Bauelements Verfahrensschritte einfügen könnte, damit die Fehleranzahl minimiert wird.
  • Es ist daher Gegenstand der vorliegenden Erfindung, für eine kanalempfindliche Abtasteinrichtung (LSSD) gemäß Anspruch 1 und für Schaltungen gemäß Anspruch 2, die nur kombinatorische Logik umfassen, Verbesserungen in der Prüftechnologie für Bauelemente zur Verfügung zu stellen, die aus komplexen Schaltkreisen mit sehr hohem Integrationsgrad bestehen.
  • Ein weiterer Gegenstand der vorliegenden Erfindung besteht darin, die Erstellung von gewichteten Zufallsmustern als Eingabeanregung für das zu prüfende Bauelement sicherzustellen, wobei die Gewichtung der angewandten Prüfmuster eine Funktion der Anzahl und der Art der internen Schaltkreiselemente ist, die direkt oder indirekt durch ein Eingangssignal an den entsprechenden Eingangsanschlüssen des Bauelements beeinflußt werden. Ein weiterer, mit dem vorherigen übereinstimmender Gegenstand der vorliegenden Erfindung besteht darin, ein Verfahren zur Verfügung zu stellen, mit dem man die entsprechenden Gewichtungen, die jedem Eingangsanschluß zuzuordnen sind, erzeugt.
  • Die vorstehenden und noch weitere Gegenstände, Eigenschaften und Vorteile der vorliegenden Erfindung sollen im folgenden deutlich gemacht und anhand der ausführlichen Beschreibung der Vorzugsvarianten, wie sie in den zugehörigen Darstellungen gezeigt werden, erläutert werden.
  • Fig. 1 ist ein Blockschaltbild des Prüfprotokolls.
  • Fig. 2 ist ein Blockschaltbild einer repräsentativen Schaltung eines linearen Rückkopplungs-Schieberegisters, das als Pseudozufallsmuster-Generator oder als Signaturregister mit mehrfacher Eingabe fungiert.
  • Fig. 3 ist eine Gewichtungsschaltung für die Auswahl der Gewichtung der Einsen und Nullen aus dem Zufallsmustergenerator der Fig. 2.
  • Fig. 4 ist ein Blockschaltbild der Prüfanordnung.
  • Fig. 5 ist ein Flußdiagramm des Rechnerprogramms für die Berechnung der Gewichtung.
  • Fig. 6 ist eine Wiedergabe der Fig. 7 der US-Patentschrift 3,783,254, in der eine kanalempfindliche Abtasteinrichtung (LSSD) schematisch dargestellt ist.
  • Beschreibung der Vorzugsvarianten
  • Das umfassende allgemeingültige Konzept für die Prüfanordnung und das Prüfverfahren ist in Fig. 1 dargestellt. Da das Prüfprotokoll für ein großes Gebiet von Halbleiterbauelementen auswählbar ist, beginnt die Entwicklung eines Protokolls für jedes einzelne Bauelement mit dem Logikmodell zur Teilnumerierung 10. Dieses Logikmodell ist in einem Computer enthalten, der eine schematische Darstellung jedes unterschiedlichen teilnumerierte Bauelements mit allen Zwischenverbindungen zwischen allen internen funktionellen Bauelementen, zwischen den Eingabe- und Ausgangsanschlüssen plus der Art jedes einzelnen funktionellen Bauelementes, d. h. Schieberegisterlatch, UND-Gatter, NICHT-UND-Gatter, ODER-Gatter, NICHT-ODER-Gatter usw. enthält.
  • Dieses Logikmodell (in Form von Computersoftware) wird in ein Computersegment 20 eingegeben, das als korrekte Maschinensimulation bezeichnet wird, die in der Lage ist, die Ausgabewerte einer korrekten Einrichtung an jedem Punkt in einer Reihenfolge von Eingabeanregungen zu simulieren, die von einem Softwaregenerator für Zufallsmuster 30 geliefert wurde. Die simulierten Werte aus der Anordnung 20 werden in einem Simulator für Signaturregister mit Mehrfacheingabe (MISR SIM) 25 kombiniert, der dann eine Folge von Eingabewerten aus der Simulation der korrekten Einrichtung 20 erhält und eine davon abgeleitete Funktion erzeugt.
  • Wenn der Zeitpunkt der Prüfung eines spezifischen DUT da ist, dann versetzt die Einrichtung 30 die Prüfgerätehardware der Zufallsmustergeneratoren 40 in die Lage, die gleichen Muster, wie sie in der Simulation verwendet wurden, auf das DUT 50 anzuwenden, wobei diese Einrichtung entsprechend dieser Prüfmuster eine Folge von Prüfwerten erzeugt, die in einem Hardware-MISR 55 zur Erzeugung einer aktuellen Signatur verarbeitet werden.
  • Die erwarteten korrekten Signaturen, die durch die Simulation in der Anordnung 25 erzeugt werden, werden im Prüfgerät gespeichert und in der Signaturvergleichseinheit des Prüfgerätes 60 verglichen, wobei dann entschieden wird, ob das Bauelement fehlerhaft oder fehlerfrei ist. Fehlerhafte Bauelemente werden entweder aussortiert oder einer Diagnoseeinheit 70 zugeleitet, die wiederum aus einem Rechnerprogramm besteht, das sich auf das Logikmodell 10 und eine Simulation der Fehler bezieht, die notwendig sind, um eine solche Ausgabe, wie sie das fehlerhafte DUT aufweist, zu erzeugen.
  • Prüfverfahren
  • Das Prüfprotokoll ist dazu entwickelt worden um zu bestimmen, ob ein beliebiges internes funktionelles Schaltkreiselement in einem komplexen Halbleiterbauelement entweder im 0- oder 1-Zustand bleibt. Die Prüfgeschwindigkeit wird so angepaßt, daß alle Schaltkreiselemente genügend Zeit haben, ihren entsprechenden stabilen Zustand zu erreichen.
  • Die zu prüfenden Bauelemente und das Prüfprotokoll selbst gehorchen genau vorherbestimmten Regeln der binären Logik. So können die Ausgabewerte des in der Prüfung befindlichen Bauelements zu jedem Zeitpunkt des Prüfzyklus im voraus als Funktion der Chronik einer angewandten Eingangsanregung vorhergesagt werden. Das Wort "Chronik" wurde gewählt, um darauf hinzuweisen, daß viele logische Bauelemente Ausgaben erzeugen, die sowohl eine Funktion von kombinatorischer wie auch von sequentieller Logik sind. Aufgrund der Komplexität der zu prüfenden Bauelemente muß ihre Arbeitsweise im Computer simuliert werden, um zu Bezugsdaten zu gelangen, mit denen dann die Prüfausgaben verglichen werden. Dies wird vor der Prüfung für jedes unterschiedliche zu prüfende Bauelement durchgeführt. Während dieser vorangehenden Simulation wird für jedes einzelne Bauelement auch das optimale Prüfprotokoll bestimmt.
  • Der Begriff "optimales Prüfprotokoll" soll nicht so ausgelegt werden, daß der Computer im voraus bestimmt, welches spezifische Prüfmuster aufgebracht werden soll. Es bestimmt vielmehr, wo und wann die Prüfmuster, was auch immer sie sein können, auf eine beliebiges spezifisches Bauelement zum Zwecke der am meisten aussagefähigen Prüfung aufzubringen sind. Es bestimmt auch für jede entsprechende Einrichtung, welche der Eingangsanschlüsse vorzugsweise binäre Einsen oder binäre Nullen in welchem statistischen Verhältnis empfangen sollten.
  • Obwohl die Computersimulation die spezifischen Bitkonfigurationen der angewandten Prüfmuster nicht vorher zuordnet, kann durch Auswertung der bekannten Progressionen der Pseudo-Zufallszahlengeneration vorhergesagt werden, welches Muster angewandt werden wird und welche Ausgabewerte dazu auftreten müssen.
  • Das Prüfprotokoll benutzt Pseudo-Zufallszahlen als Quelle für die Prüfanregung. Ein extrem leistungsfähiger Pseudo-Zufallszahlengenerator mit einer Kapazität von 32 Bit kann 2³²-1 Wörter erzeugen und kann die gleiche Wortfolge in allen nachfolgenden Zyklen wiederholen. Deshalb wird die Bitkonfiguration einer beliebigen Pseudo-Zufallszahl im Zyklus bekannt sein, wenn der Generator beim Beginn der Prüfung auf eine feste gegebene Zahl (nicht Null) initialisiert (voreingestellt) wird. Zur Zeit Null (Voreinstellzeit) wird die Bitkonfiguration der vorliegende Wert sein. Zu einer beliebigen darauffolgenden Zeit wird die Bitkonfiguration definiert durch ihre relative Lage innerhalb des Zyklus. Und wieder kann durch die Computersimulation die Konfiguration des Musters definiert und mit der Position im Zyklus verknüpft werden. Sie könnte zum Beispiel in einer Tabellendurchsicht gespeichert werden, da sie nicht variabel ist.
  • In dem Prüfgerät wählt ein synchron mit dem Pseudo-Zufallsgenerators getakteter Zähler aus, welches der 2³²-1 Muster als Eingabeanregung verwendet werden soll. Wenn zum Beispiel die Muster 0 bis 99 angewendet werden sollen, dann wird die Konfiguration dieser Muster bekannt sein. Weil die Prüf-Zufallsmuster als Basis für die Erzeugung von Pseudomustern benutzt werden, werden jene einhundert Prüfmuster, natürlich nur im Sinne eines Beispiels eine annähernde statistische Aufteilung von 50 zu 50 für binäre Einsen und Nullen haben. Wenn die Anzahl der Muster ansteigt, dann wird die Aufteilung der Nullen und Einsen bis zu dem Grenzwert (2n-2)/2n ansteigen.
  • Da 2 im Vergleich zu 2n sehr klein ist, beträgt das effektive Verhältnis von Nullen zu Einsen 1:1.
  • Obwohl die Reihenfolge von Eingabe- und Ausgabewerten bekannt ist, vergleicht das Prüfprotokoll nicht die Werte des DUT mit jeder einzelnen Eingabe. Vielmehr erzeugt es eine abgeleitete Funktion einer Folge von Ausgabewerten, die der Bequemlichkeit halber eine "Signatur" genannt wird, und vergleicht diese mit einer als korrekt bekannten Signatur. Die Signatur ist eine binäre 32-Bit-Zahl, die in einem binären Prozessor mit bekannter Betriebsart abgeleitet wird, der eine Gruppe von DUT-Ausgabewerten empfängt und als Auswertung dessen eine Signatur ableitet. Da die Eingabeanregungen bekannt sind, kann der Computer die Ausgabewerte der einzelnen korrekten Einrichtungen dazu simulieren und die Signatur für eine beliebige Gruppe von Eingabewerten ableiten.
  • Wenn das Prüfgerät eine Signatur erzeugt, die mit der vom Computer erzeugten Signatur nicht vergleichbar ist, dann ist diese Einrichtung fehlerhaft. Wenn die Signaturen miteinander vergleichbar sind, dann wird das Bauelement als nicht fehlerhaft, aber nicht notwendigerweise als korrekt bestimmt. Erst dann, wenn in einer Folge von Signaturvergleichen alle Herstellschritte verglichen sind, kann ein Bauelement mit einem hohen Grad von Zuverlässigkeit als korrekt bezeichnet werden.
  • Fehlerhafte Einrichtungen, die eine gemeinsame Fehlersignatur haben, werden wahrscheinlich einen gemeinsamen internen Fehler haben, dies muß aber nicht notwendigerweise so sein. Deshalb ist es bei der Fehlerdiagnose nützlich, auch dann, wenn ein Bauelement beiseitegelegt wird, wenn die erste fehlerhafte Signatur entdeckt wird, die Prüfung auf einige weitere Gruppen von Prüfmustern auszudehnen, damit man bestimmen kann, ob es mehr als eine fehlerhafte Signatur gibt.
  • Zur Fehlerdiagnose wird die Einrichtung nur mit denjenigen Gruppen von Mustern geprüft, die fehlerhafte Signaturen lieferten. Während der diagnostischen Prüfung werden die Signaturen nicht benutzt, da sie per se nicht für die Analyse zur Lokalisierung des Fehlers annehmbar sind. Ihr alleiniger Zweck besteht darin, die Entscheidung von fehlerhaft oder nicht fehlerhaft zu beschleunigen.
  • Für die Fehlerdiagnosen werden die Ausgabewerte des DUT bei jeder einzelnen aufeinanderfolgenden Eingabeanregung aufgezeichnet. Diese werden vom Computer zu dem Zwecke verglichen, das oder die Muster zu bestimmen, die den fehlerhaften Vergleich erzeugt haben. Durch Computersimulation kann die Wirkungsweise jedes Schaltungsknotens innerhalb der Einrichtung in Bezug auf das Eingabemuster geprüft werden, um den Knoten zu bestimmen, der den Fehler verursachte.
  • Pseudo-Zufallsmustergeneratoren
  • Alle Pseudo-Zufallsmustergeneratoren und die Mehrfacheingabe- Signaturregister (MISR) benutzen 32-Bit-Schieberegister mit linearer Rückkopplung (LFSR) 100, wie sie in Fig. 2 gezeigt werden.
  • Jedes Schieberegister mit binärer Rückkopplung besteht aus 32 Schieberegisterstufen 100-0 bis 100-31, von denen jede Stufe eine Verbindung zu einer gemeinsamen A- und einer gemeinsamen B-Taktleitung (nicht dargestellt) haben, die im Falle der wechselweisen Beaufschlagung jedes binäre Bit in die nächste darauffolgende Stufe schieben.
  • Zur Erzeugung der Pseudo-Zufallsmuster wird die Ausgabe der letzten Stufe 100-31 rückgekoppelt und in EXKLUSIV-ODER-Gattern 101-3, 101-5, 101-6, 101-9, 101-11, 101-12, 101-14, 101-15, 101- 16, 101-17, 101-18, 101-21, 101-23, 101-25 und 101-26 kombiniert. Mit diesen Rückkopplungsanzapfungen, die nur eine von vielen Rückkopplungskombinationen darstellt, wird eine komplette Folge von 2³²-1 Pseudo-Zufallsmustern, von denen jedes 32 Bit hat, in jedem Betriebszyklus wiederholbar erzeugt. Jedes EXKLU- SIV-ODER-Gatter in der 101-Reihe wird den Sinn der Ausgabe aus der vorherigen entsprechenden Stufe umkehren, wenn die Ausgabe der Stufe 100-31 eine binäre Eins ist.
  • Jeder der Pseudo-Zufallszahlengeneratoren, der in dem Prüfgerät verwendet wird, hat einen unterschiedlichen Satz von Rückkopplungsanzapfungen, so daß jeder eine unterschiedliche Folge von Zufallszahlen erzeugt. Alle erzeugen einen kompletten Satz. Jedes LFSR wird am Anfang auf eine unterschiedliche gegebene "Impf"-Zahl voreingestellt, die nicht Null ist. Diese Vorwahlleitung (nicht dargestellt) wird wahlweise mit dem Setz- oder Rücksetzeingang jeder entsprechenden Stufe verbunden, um die Impfzahl voreinzustellen.
  • Bei einer bekannten Impfzahl und einer bekannten Konfiguration für jede entsprechende LFSR und einer bekannten Anzahl von Verschiebungen aus der voreingestellten Position ist auch das binäre Muster jedes Pseudo-Zufallsmustergenerators an jedem Punkt in jedem Zyklus bekannt.
  • Nicht allein die Verwendung von parallelen Eingaben erhöht gegenüber einem seriellen Betrieb die Arbeitsgeschwindigkeit, wie ja zu erwarten ist, sondern wichtiger ist die Verwendung eines unterschiedlich aufgebauten Zufallszahlengenerators, der eine unterschiedliche Folge von Zufallsmustern liefert und damit die statistischen Chancen herabsetzt, daß zwei Eingangsanschlüsse, wiederholt eine identische Eingabeanregung erhalten. Die Wechselwirkungen, die mit der Anwendung eines einzigen Mustergenerators und einem seriellen Betrieb verbunden sind, werden damit vermindert.
  • Der Pseudo-Zufallszahlengenerator in Fig. 2 ist denjenigen, die in den Patenten;um obigen Stand der Technik beschrieben werden, weit überlegen. In jenen Patenten wurden die mehrfachen Rückkopplungsanzapfungen in einem Modulo-Zwei-Addierwerk addiert und in die erste Stufe eingegeben. Notwendigerweise erforderte dies die Kaskadenschaltung von vielen EXKLUSIV-ODER-Gattern, nämlich ein Gatter weniger als die Anzahl der Rückkopplungsanzapfungen. Dies verminderte die Wiederholgeschwindigkeit, da für jedes Gatter Zeit zur Stabilisierung erforderlich war. In der Variante nach Fig. 2 wird nur ein EXKLUSIV-ODER-Gatter in jeder Rückkopplungsschleife benutzt, das natürlich auch nur eine Verzögerung verursacht.
  • Wenn das lineare Rückkopplungsschieberegister (LFSR) als Mehrfacheingabe-Schieberegister (MISR) benutzt wird, dann werden zusätzliche parallele Eingaben von den Prüfausgaben aus dem DUT parallel zu den sechs Anschlüssen 103A bis 103F angebracht, diese werden als Eingaben für die entsprechenden EXKLUSIV-ODER-Gatter 104-5, 104-9, 104-13, 104-21, 104-25 und 104-29 verwendet. Genau wie die Rückkopplungsanzapfungen werden diese parallelen Eingaben die Bit-Verschiebung zwischen den Stufen nur dann verändern, wenn eine binäre Eins vorliegt. Wo die Rückkopplungsanzapfung und der MISR-Eingang auf die gleiche Stufe geschaltet werden, wie etwa zwischen der vierten und der fünften Stufe, dort werden zwei in Reihe geschaltete EXKLUSIV-ODER-Gatter (d. h. 101-5 und 104-5) wie dargestellt verbunden.
  • Obgleich die LFSR in Fig. 2, die entweder so verbunden sind, daß sie als Pseudo-Zufallszahlengenerator oder als MISR arbeiten, auf eine beliebige von verschiedenen Arten verdrahtet werden können, arbeiten sie dann, wenn sie einmal verdrahtet sind, wiederholbar in einer bekannten Art und Weise, die unveränderlichen logischen Regeln entspricht. Deshalb ist das Betriebsverhalten eines jeden voraussagbar und kann simuliert werden.
  • Gewichtung
  • Wenn es wünschenswert sein soll, daß die Eingaben des DUT gewichtet werden, um eine größere Anzahl von binären Einsen oder Nullen zu erzeugen, dann hat der Pseudo-Zufallszahlengenerator der Fig. 2 die zusätzliche Schaltung, die in Fig. 3 zu sehen ist. Die Einzelheiten der Fig. 2 werden nicht wiederholt. Es wird angenommen, daß der Pseudo-Zufallszahlengenerator 100 die Rückkopplungsanschlüsse der Fig. 2 mit einer unterschiedlichen Kombination für jeden getrennten Zufallszahlengenerator hat. Die Gewichtungsschaltung 300 nimmt die Ausgaben der ersten fünf Stufen des LSFR 100 (Fig. 2), die als Pseudo-Zufallsmustergenerator verdrahtet sind (ohne DUT-Eingänge, die es zu einem MISR machen würden) und verbindet sie wie dargestellt direkt und über die in Reihe geschalteten UND-Gatter 301 bis 304 zu einem Gewichtungswähler 305. Jede Leitung aus dem LSFR 100 wird im wesentlichen 50 zu 50 aufgeteilte Anteile von Nullen und Einsen erzeugen. Dies trifft aufgrund der Eigenschaften eines Pseudo-Zufallsmustergenerators zu. Daher wird die Leitung 300E 50% Nullen oder Einsen erzeugen. Wenn jedoch nun die Leitung 300E mit der Leitung 300D über in UND-Gatter verknüpft wird, dann werden die Chancen, am Ausgang 301A des UND-Gatters 301 eine binäre Eins zu erzeugen, nur noch 25% betragen. Umgekehrt werden die Chancen, an diesem Ausgang eine binäre Null zu erzeugen, dann 75% betragen. Durch die aufeinanderfolgende Halbierung der Chancen werden sich die Chancen, eine binäre Eins oder eine binäre Null auf den einzelnen Ausgabeleitungen zu erzeugen, wie folgt verhalten: Leitung Chancen für Eins Chancen für Null Gewichtungen
  • Der Gewichtungswähler und Mehrfachkoppler bewirkt, daß eine der Eingabeleitungen 300E, 301A, 302A, 303A oder 304A zum Durchlaß durch die Ausgabeleitung 305A ausgewählt wird und wann sie ausgesteuert wird. Wenn die Leitung 300A zur Gewichtung ausgewählt wird (Gewichtung von 1), dann wird der Gewichtungswähler und Mehrfachkoppler, diese Leitung bei jedem Schiebezyklus des LFSR 100 durchschalten. Wenn die Leitung 301A ausgewählt würde, dann würde die Durchschaltung bei jedem zweiten Schiebevorgang erfolgen. Bei der Leitung 302A erfolgte dann die Durchschaltung bei jedem dritten Schiebevorgang, bei 303A bei jedem vierten Schiebevorgang, bei 304A bei jedem fünften Schiebevorgang.
  • Der Grund für die Verzögerung der Durchschiebevorgänge für bis zu fünf Schiebevorgänge besteht darin, die Wechselwirkungen zwischen den aufeinanderfolgenden Mustern herabzusetzen und die statistischen Gewichtungen, wie sie in der vorstehenden Wertetabelle dargestellt sind, weitestgehend anzunähern.
  • Die Steuereingaben 305B und 305C bewirken die Auswahl der Eingabeleitung und legen auch die Zeit fest, in der sie durchgeschaltet wird. Eine letzte Steuerung wird durch die Leitung 306A bewirkt, die auswählt, ob binäre Nullen oder binäre Einsen die größere Gewichtung haben sollen. Wenn auf 306A keine Steuerung erfolgt, dann wird das EXKLUSIV-ODER 306 die Ausgabe der Leitung 305A unverändert passieren lassen und eine Ausgabe "Chancen für Null" (Spalte 3 oben) auf der Leitung 305B liefern. Der Potentialausgleichsanschluß 306A gewichtet die Ausgaben zugunsten der binären Einsen, indem er den Sinn der Spalten 2 und 3 oben umkehrt und eine Gewichtungsauswahl von 1, 3, 7, 17 oder 31 für die binären Einsen liefert.
  • Pegelempfindliche Abtasteinrichtung
  • Da das vorliegende Prüfverfahren und die vorliegende Prüfanordnung dazu geeignet sind, eine große Vielzahl von unterschiedlichen Bauelementen mit Halbleiterbauelementen zu prüfen, die viele interne, einer direkten Prüfung unzugängliche Funktionselemente haben, wird sie hier im besonderen für die Prüfung einer pegelempfindlichen Abtasteinrichtung angewendet, wie sie in der US-Patentschrift 3,783,254 beschrieben wird.
  • Zur Vereinfachung der Bezüge zu Fig. 7 dieses Patentes wird diese hier als Fig. 6 wiedergegeben und hat die gleichen Bezugszahlen. Die Dateneingaben zur LSSD (Fig. 6 der vorliegenden Einrichtung) werden über die mit "S" und "EIN" (Leitung 45) gekennzeichneten Anschlüsse realisiert. Wie schon erklärt, sind die "S"-Eingaben (Anregung) Datensätze, und die Schaltung von Fig. 6 wird in einer gegenständlichen Einrichtung viele Male wiederholt. Für die Belange der Erklärung der Wirkungsweise der Anordnung wird angenommen, daß es drei kombinatorische Netze wie 30 und 31 gibt, von denen jedes seine entsprechenden Eingabesätze von "S" hat. Es soll weiterhin angenommen werden, daß es bis zu drei Schieberegister geben kann, die aus in Reihe geschalteten Latch-Sätzen, wie etwa 33 und 34, bestehen. In diesem Falle gibt es einen separaten "EIN"-Eingang für jedes Schieberegister. Die Ausgänge bestehen aus "R", die selbst wieder viele einzelne Ausgabeleitungen umfassen, und der Leitung 46 "AUS" aus dem Schieberegister, die im Falle des Vorhandenseins von mehr als einem Schieberegister für jedes einen Ausgang hätten.
  • Die Steuereingänge umfassen die Verschiebetakte "A" und "B" für die aufeinanderfolgende Verschiebung der Daten durch die Schieberegister hindurch. Diese A- und B-Takte können zu dem jeweiligen Schieberegister gehören. Die C&sub1; und C&sub2; sind sogenannte Systemtakte, die die Ausgaben der kombinatorischen Logik zu den entsprechenden Latch-Sätzen durchschalten. Normalerweise werden die "A"- und "B"-Takte während des Betriebes der LSSD-Einrichtung nicht benutzt. Sie sind der Prüfung vorbehalten. Die "C"-Takte werden während des normalen Betriebes und zur Prüfung verwendet.
  • Zum Verständnis der Komplexität der Prüfung einer LSSD-Einrichtung wird angenommen, daß eine Einrichtung bis zu sechsundneunzig Eingangs- und Ausgangsanschlüsse haben kann. Dies gilt natürlich nur zum Zwecke der Erklärung und ist keine Begrenzung hinsichtlich der Größe oder Komplexität einer LSSD-Einrichtung.
  • Schematische Darstellung der Prüfanordnung
  • Wenn wir auf die Erklärung der Baugruppen zurückkommen, die Bestandteil des Prüfsystems sind, nämlich die Pseudo-Zufallszahlengeneratoren, die Gewichtungsschaltung, die MISR und das DUT selbst, dann ist schon erklärt worden, wie jeder dieser Bestandteile in Übereinstimmung mit den unveränderlichen Regeln der Logik arbeitet und somit für die genaue Simulation mittels Computerprogrammierung geeignet ist. Die Wechselwirkung dieser Bestandteile soll nun mit Bezug auf Fig. 4 dargelegt werden.
  • Das DUT 50 soll ein LSSD-Bauelement sein, wie es vorstehend schon mit Bezug auf Fig. 6 beschrieben worden ist, das die Eingänge 50-1 bis 50-96, die Ausgänge 51-1 bis 51-96, die in Gruppen zu sechs angeordnet sind, und die Steuereingänge A&sub1; B&sub1; bis A&sub3;B&sub3; und C&sub1; bis C&sub3; hat.
  • Es ist für jeden Eingang ein Pseudo-Zufallszahlengenerator und eine Gewichtungsschaltung 300-1 bis 300-96 vorhanden, wie es in Fig. 3 dargestellt ist. Dabei ist jede so verdrahtet, daß sie die gesamte Folge von 2³²-1 unterschiedlich angeordneten 32-Bit-Binärmustern mit diskret unterschiedlicher Folge erzeugt, und jede hat ihre eigene Gewichtungsschaltung. Am Anfang werden alle Prüfmustergeneratoren 300 auf ihre "Impf"-Zahl durch ein Steuerpotential eingestellt, das auf den Eingangsanschluß 308 aufgebracht wird (in Fig. 2 und Fig. 3 nicht dargestellt), das aber so beschrieben wird, daß es wahlweise mit der Setz- oder Rücksetzsteuerung jeder Latch-Stufe zur Voreinstellung der Impfzahl verbunden werden kann, die für jede diskrete Einheit unterschiedlich, aber immer die gleiche für eine beliebige gegebene Einheit ist. Zu diesem Zeitpunkt wird die Gewichtungswahleingabe für jede Einheit 300 bei 305B eingegeben, ebenso bei 306A die Gewichtung Null oder Gewichtung Eins für jede Einheit 300. Wenn die Maximumgewichtung für eine beliebige Eins-Anschluß-Eingabe einunddreißig beträgt, dann wird der Anschluß 305C ein Eins-vonfünf-Signal an alle Mehrfachkoppler 305 in allen Mustergeneratoren 300 eingeben, um die Prüfmuster bei jeder fünften Verschiebung zu den Eingangsanschlüssen durchzuschalten. Bei einer geringeren Maximumgewichtung wird eine Eingabe von einer-von-vier, einer-von-drei, einer-von-zwei oder jeder Verschiebung alle Mehrfachkoppler in den entsprechenden Zustand versetzen. Der Takteingang 309 liefert die Takteingangsimpulse (A und B), um die Bits durch den Zufallszahlengenerator zu schieben und den Mehrfachkoppler 305 so zu takten, daß ein Bit entsprechend der höchsten jeder beliebigen Eingabe zugeordneten Gewichtung durchgeschaltet wird. Über den Takteingang wird auch ein 32-Bit-Zähler 310 angesteuert, der durch den gleichen Eingang 308, der die Impfzahl darstellt, rückgesetzt wird. Der Ausgang 310A des Zählers wird dazu benutzt, das Fortschreiten der Zufallszahlen durch jeden Zufallszahlengenerator zu verfolgen und die Anweisungen, die vom Computer im Hinblick auf das Prüfprotokoll empfangen wurden, einzubauen. Wenn zum Beispiel das Prüfprotokoll gefordert hat, daß die Prüfmuster zehntausendmal auf einen gegebenen Satz von Eingangsanschlüssen des Bauelementes aufzubringen sind, dann wird der Computer bestimmen, welche der 2³²-1 Muster eingebracht werden könnte. Wenn der Zähler 310 einen Zählerstand aufweist, der dem vom Computer bestimmten entspricht, dann würden die Muster über den Mehrfachkoppler 305 (Fig. 3) zu den entsprechenden DUT-Eingängen durchgeschaltet.
  • So wurde durch die Korrelation der Pseudo-Zufallszahlensumme mit der Computersimulation jedes in das DUT eingegebene Muster vorher zugeordnet. Zum Beispiel ist bei der Summe 9.856 das Muster in jedem entsprechenden Pseudo-Zufallszahlengenerator bekannt, wie das auch für die Gewichtung jeder entsprechenden Eingabe zutrifft. Es ist für diese Summe auch bekannt, welche Anschlüsse eine Eingabe empfangen sollen. Deshalb ist auch die Eingabe für jeden Anschluß bekannt und wird vom Prüfgerät in Übereinstimmung mit den gespeicherten Befehlen, die vom Computer empfangen worden sind und für das DUT spezifisch sind, realisiert.
  • Daher kann das DUT 50 bis zu sechsundneunzig parallele Eingaben empfangen, von denen jede ein aufeinanderfolgender paralleler Satz von vorher zugeordneten Eingaben ist.
  • Da das DUT 50 jeden Satz der Prüfeingaben empfängt und die Zeitgebersteuereingaben dazu zum richtigen Zeitpunkt eingeschaltet werden, erscheinen die Prüfwerte an den Ausgabeleitungen 51-1 bis 51-96 in Sechsergruppen. Alle Sechsergruppen werden parallel in die Eingänge des LFSR 100 (Fig. 2) eingegeben, das als MISR 400-1 bis 400-16 mit den Eingängen 103A bis 103F verdrahtet ist. So wird jedes MISR 400-1 bis 400-16 sechs parallele Eingaben mit einer Gesamtsumme von sechsundneunzig empfangen. Bei jedem aufeinanderfolgenden Satz von parallelen Eingaben wird das in jedem MISR existierende Bit-Muster um eine Bit-Position verschoben werden und dabei als Funktion der Rückkopplungsanzapfungen und der parallelen Eingaben geändert oder auch nicht geändert werden. Auf diese Weise wird von jedem MISR 400-1 bis 400-16 eine erste Kanalsignatur entwickelt. Wenn die vorherbestimmte Anzahl von Prüfeingaben und -ausgaben erzeugt worden ist, wie etwa zum Beispiel 10.000 Eingaben und Ausgaben, dann wird der Prüfvorgang vorläufig angehalten, und der Inhalt der MISR 400-1 bis 400-16 wird in das Master-MISR 401 eingegeben. Jedes MISR des ersten Kanals enthält eine 32-Bit-Untersignatur, die eine gewünschte Funktion der Aufeinanderfolge von sechs parallelen Eingaben, die dazu aufgebracht werden, und der gewählten Konfiguration des LFSR zusammen mit der voreingestellten Impfzahl ist.
  • Die Ausgaben der sechzehn MISR des ersten Kanals werden daraus der Reihe nach extrahiert und parallel in sechzehn Stufen des Master-MISR 401 eingegeben in Form von zweiunddreißig aufeinanderfolgenden Eingaben und Verschiebungen des Master-MISR 401 und der MISR 401-1 bis 401-16.
  • Jedes der MISR 400-1 bis 400-16 und 401 hat eine Vorwahlleitung, die sie auf eine vorherbestimmte Impfzahl und die A- und B-Takte (von denen keiner dargestellt ist) einstellt. Diese MISR können alle auf geeignete Weise auf die gleiche Impfzahl voreingestellt werden und können auch die gleichen Rückkopplungsanzapfungen haben, da sie keine unterschiedlich konfigurierten Zufallszahlen erzeugen müssen. Ihre einzige Funktion besteht darin, eine vorherbestimmbare gewünschte Signatur in Abhängigkeit von korrekten Ausgaben aus der DUT zu erzeugen. Wenn sie das nicht tun, dann ist die DUT fehlerhaft.
  • Wenn alle Unterzyklen der Prüfung beendet sind und das MISR 401 die gewünschte Signatur hat, dann wird diese Signatur der Reihenfolge nach auf der Leitung 401C ausgelesen, indem die Taktleitungen 401A und 401B wechselweise gepulst werden, damit die Signatur in den Zähler 402 eingegeben wird, der diese Signatur mit einer bekannten korrekten Signatur für den gerade beendeten Unterzyklus der Prüfung vergleicht, die aus dem Speicher 403 extrahiert wird. Alle korrekten Signaturen für jeden Unterzyklus der Prüfung werden mittels Computersimulation entwickelt und vorher in den Speicher geladen.
  • Nach Ende jedes Unterzyklus werden die MISR in ihren Anfangszustand zurückversetzt, so daß die Ergebnisse der vorhergegangenen Prüfungen die nächsten Prüfergebnisse nicht beeinträchtigen können. Die Pseudo-Zufallsmustergeneratoren müssen nicht zurückgesetzt werden, da der Zähler 310 und sein Zählerstand fortlaufen sollen, damit die Muster so, wie sie erzeugt worden sind, zurückverfolgt werden können.
  • Die zeitliche Abfolge der verschiedenen Bauelemente, die das DUT umfaßt, muß so gestaltet werden, daß keine Übergangsbedingungen auftreten. Für alle Bauelemente innerhalb des DUT muß das Erreichen des stabilen Zustandes möglich sein, ehe der nächste Satz Prüfimpulse aufgebracht wird. Daher stellt ein Haupt-Zeitfolgegenerator (nicht dargestellt) die erforderliche Zeit zur Verfügung, damit das Erreichen der notwendigen stabilen Zustände sichergestellt wird.
  • Die Anwendung von Signaturen für jeden Unterzyklus, der aus bis zu 10.000 diskreten Prüfeingaben bestehen kann, vermindert natürlich die Prüfzeit wesentlich, da nur am Ende eines jeden Unterzyklus und nicht für jeden neuen Satz von Mustereingaben ein Vergleich angestellt werden muß. Durch die Verwendung der MISR-Struktur und eines 32-Bit-Signaturregisters ist die Wahrscheinlichkeit, daß ein fehlerhaftes DUT eine korrekte Signatur erzeugt, so niedrig, daß sie mit fast Null angenommen werden kann. Weiterhin sind dadurch, daß die aufeinanderfolgenden Signaturen alle mit einem unterschiedlichen Prüfprotokoll erzeugt werden, die Wahrscheinlichkeiten eines Prüffehlers weiter herabgesetzt worden.
  • Die Anzahl der Prüfmuster für die definitive Prüfung eines kompletten LSSD-Bauelementes wird dadurch vermindert, daß eine Vielzahl von Pseudo-Zufallsmustergeneratoren, jeweils einer für jeden Eingang, benutzt werden, von denen jeder eine unterschiedliche unabhängige Musterfolge erzeugt.
  • LSSD-Prüfverfahren
  • Obwohl die Vorteile des Prüfverfahrens für viele verschiedene komplexe Halbleiterbauelemente mit vielen internen Schaltungselementen gelten, die zu Prüfzwecken nicht direkt zugänglich sind, kann man diese Vorteile am besten an einem Prüfverfahren für ein LSSD-Bauelement darstellen.
  • Wie schon festgestellt wurde, nimmt der Zeitaufwand für eine komplette Prüfung einer komplexen Struktur mit allen zugehörigen Kombinationen und Permutationen der Prüfeingaben mit steigender Anzahl der Eingänge auf eine nicht mehr zulässige Weise zu. Die einer LSSD eigene hohe Flexibilität bei der Ausführung einer Vielzahl von unterschiedlichen logischen Operationen macht sie für den Computereinsatz sehr geeignet. Deshalb wird sie in der folgenden Beschreibung dazu benutzt, die Vielseitigkeit des Prüfverfahrens am besten zu erläutern.
  • Es wird Bezug genommen auf Fig. 6 der vorliegenden Beschreibung für eine typische LSSD-Struktur, wobei diese Struktur noch vollständiger in der US-Patentschrift 3,783,254 beschrieben wird, aus der auch die Fig. 7 hier wiederholt wird.
  • Das grundlegende Konzept, wie es hier offengelegt wird, besteht darin, Zufallsmuster, ob nun gewichtet oder ungewichtet, als Prüfeingaben zu benutzen, wobei diese Zufallsmuster, da sie strukturiert sind, im höchsten Maße voneinander unabhängig sind. Nachdem man die Prüfausrüstung eingeschaltet und für ein neues DUT eingerichtet ist, werden zur Prüfung einer typischen LSSD die folgenden Schritte unternommen:
  • (1) Eine Folge von Bits mit pseudo-zufälligem Ursprung wird parallel auf die "EIN"-Anschlüsse (Fig. 6) aller Schieberegistereingänge aufgebracht, wieviele sie auch immer sein mögen, und werden von den "AUS"-Anschlüssen (Fig. 6) gesammelt und parallel (für eine Vielzahl von Schieberegistern) in eine Folge von Eingängen in die entsprechend geschalteten Stufen der MISR eingegeben. Da die Schieberegister-Latches alle ebenfalls mit dem kombinatorischen Netzwerk 32 (Fig. 6) verbunden sind, werden die "R"-Ausgänge gleichlaufend gesammelt und in die MISR eingegeben. Obgleich die Latchausgaben auch in die gleichen kombinatorischen Netzwerke 30 und 31 eingespeist werden, erzeugen diese Netzwerke deshalb keine "R"-Ausgaben, weil ihre Ausgaben durch die Systemtakte C&sub1; und C&sub2; durch Latchsätze geleitet werden müssen. Für jeden Eingang muß es einen synchronisierten Takt des Pseudo-Zufallszahlengenerators und des MISR geben, so daß beliebige Ausgaben diskret eingegeben werden können.
  • (2) Schritt 2 folgt ohne eine Rücksetzung der MISR. Ein einzelnes Bit aus jedem Zufallszahlengenerator, ob nun gewichtet oder ungewichtet, wird parallel in die "S"-Eingänge der kombinatorischen Netzwerke 30, 31 und 32 eingegeben. Da einige dieser Eingaben, besonders die zur Einheit 32, unmittelbare Ausgaben bei "R" erzeugen werden, werden die aus den "S"-Eingaben resultierenden "R"-Ausgaben parallel in die MISR eingegeben. Die Ausgaben von 30 und 31 sind für die Eingabe in die Speicherlatch verfügbar, werden aber beim Fehlen eines Systemtaktpulses C nicht eingegeben.
  • (3) Ohne zusätzliche Eingaben regt der Schritt 3 nachfolgend die Systemtakte C&sub1; und C&sub2; in Abhängigkeit von der LSSD-Struktur an. Jeder Systemtakt wird eine Eingabe in ein Speicherlatch und ein Ausgabe daraus regenerativ zu anderen Latch des kombinatorischen Netzwerkes bewirken, was zu einer Veränderung in den "R"-Ausgaben führt. Die aufeinanderfolgenden "R"-Ausgaben für jeden getrennten C-Takt werden parallel in die MISR mit einer Zeitverschiebung eingegeben, damit sich die MISR auf jede neue Eingabe einrichten können.
  • (4) Schritt 4 pulst die "B"-Takt-Eingaben der LSSD zur Verschiebung von beliebigen Bits, die sich noch in den Speicherlatch aufhalten (abgeleitet aus den Ausgaben der kombinatorischen Logik), in das zweite Latch jedes Paares in einer Stufe. Dies bereitet das Herausschieben des Inhaltes der Latch vor, die als Schieberegister gewirkt haben.
  • (5) Der letzte Schritt besteht in der Wiedergewinnung der Inhalte der Schieberegister durch wechselweise Potentialbeaufschlagung der Takte A und B der LSSD. Bei jeder Verschiebung werden die MISR ebenfalls verschoben, so daß die Schieberegistersignale "AUS" und die "R"-Ausgaben von der MISR gesammelt werden.
  • Es ist experimentell dargestellt worden, daß es einige Fehler gibt, die mit den System- und Prüftakten verbunden sind, die mit Hilfe einer wiederholten Anwendung der obigen fünf Schritte nicht zu erkennen sind. Bei diesen Fehlern müssen Veränderungen in der grundlegenden Reihenfolge vorgenommen werden. Eine solche Veränderung wiederholt die grundlegende Reihenfolge, wobei Schritt 4 weggelassen wird, den Puls des "B"-Taktes der LSSD.
  • Eine weitere Variante fügt vor dem Schritt 4 einen zusätzlichen "A"-Takt mit Gleichspannungseinschaltung und -abschaltung der LSSD ein. Bei einer dritten Variante tritt entweder nur ein einziger Systemtakt oder gar keiner in Schritt 3 auf. Die gesamte Strategie der Musteraufbringung besteht aus vielen Wiederholungen der grundlegenden fünf Schritte und aus verhältnismäßig wenigen Wiederholungen der speziellen Folgen.
  • Diese Folge von Schritten wird vielleicht bis zu zehntausendmal wiederholt, wenn die Ausgabewerte gesammelt werden. Am Ende der Prüfung werden die MISR des ersten Kanals der Reihe nach ausgelesen und parallel in die MISR des zweiten Kanals eingegeben, damit die abschließende Signatur erzeugt wird, die dann mit der durch Simulation erzeugten Signatur verglichen wird.
  • Es muß angemerkt und nochmals betont werden, daß trotz der Tatsache, daß die Prüfeingaben durch Zufallszahlengeneratoren erzeugt werden, der Sinn jedes in die LSSD eingeführten Bits bekannt und simulationsfähig ist. So ist auch die Reaktion der LSSD auf jede Eingabe und auf jeden Taktpuls durch Simulation vorhersagbar. Die Arbeitsweise der MISR ist ebenfalls vorhersagbar, so daß die durch die Prüfung erzeugte Signatur mit der simulierten Signatur verglichen werden kann. Wenn zum Beispiel keine Veränderung im Ausgabestatus eines gegebenen Anschlusses auftritt, entweder weil es zu ihm keine Verbindung gibt oder weil der spezielle Prüfschritt keine Veränderung erzeugt hat, dann wird diese Erscheinung simuliert und erzeugt die simulierte Signatur.
  • Durch den Parallelbetrieb des Prüfgerätes, die Verwendung von unterschiedlich strukturierten Pseudo-Zufallszahlengeneratoren für jede Eingabe und die Erzeugung von Signaturen parallel mit einer abschließenden Signatur erst nach mehreren tausend Prüfmustern, in denen alle Bauelemente der DUT abgearbeitet worden sind, wird die Prüfung mit einem sehr hohen Prozentsatz an Genauigkeit wesentlich beschleunigt.
  • Gewichtungsalgorithmus
  • Ein großer Anteil bei der Verminderung der Anzahl von Prüfmustern, die zur Durchführung von definierten Prüfungen mit einem sehr hohen Genauigkeitsgrad erforderlich sind, ist auf die durchdachte Gewichtung der Eingaben zurückzuführen. Während bei der Funktionsprüfung des Latches, wenn es als ein einfaches Schieberegister betrieben wird, keine Gewichtung notwendig ist, führt sie doch bei der Prüfung von Netzwerken mit kombinatorischer Logik zu wesentlich weniger erforderlichen Prüfmustern. Das Verfahren und die Anordnung für die Erzeugung und die Auswahl von verschiedenen Gewichtungen von binären Nullen und Einsen durch die "UND"-Schaltung von Ausgaben von aufeinanderfolgenden Stufen eines Pseudo-Zufallsmustergenerators sind im Hinblick auf die Fig. 3 früher schon beschrieben worden. Hinsichtlich des Grundprinzips für die Auswahl einer Eins- oder Nullgewichtung im Hinblick auf jede einzelne Eingabe ist noch keine Erklärung abgegeben worden.
  • Das Grundprinzip für die Auswahl wird in Übereinstimmung mit den folgenden Regeln und einem Algorithmus von einer Analyse des Bauelements selbst abgleitet, und zwar mit Hilfe einer Computeranalyse aller möglichen Schaltungspfade von den Ausgangsanschlüssen des Bauelements bis zur Eingabeeinrichtung.
  • Auffassungsgemäß ergänzen sich die Verteilungen von Einsen und Nullen miteinander zu Hundert. Das EXKLUSIV-ODER-Gatter 306 erlaubt eine Gewichtung zugunsten der Einsen oder Nullen durch die Aufbringung einer Steuer-Eins auf den Anschluß 306A. Eine binäre Eins-Steuerung wird den Sinn der Ausgabe des Mehrfachkopplers umkehren, eine Null-Steuerung wird ihn aufrechterhalten. Bei gewissen Prüfprotokollen, die keine Gewichtung enthalten, werden nur die auf Leitung 300E erscheinenden Taktimpulse durchgeschaltet, und dann wird jeder Schiebezyklus ein 50: 50-Verhältnis von Nullen und Einsen liefern.
  • Gewichtung
  • Sinngemäß wird mit einer Gewichtung beabsichtigt, vorzugsweise eine größere Anzahl von Nullen oder eine größere Anzahl von Einsen an den Eingangsanschlüssen eines zu prüfenden Bauelements aufzubringen, damit die Chancen zur Entdeckung von Fehlfunktionen eines internen Schaltkreiselementes steigen, das einer Prüfung nicht direkt zugänglich ist. Da es viel mehr interne Schaltkreiselemente als Eingangs- und Ausgangsanschlüsse gibt, wird eine Eingabe an einem beliebigen gegebenen Eingangsanschluß die Arbeitsweise von vielen internen Bauelementen beeinflussen. Umgekehrt werden Eingaben an diskret unterschiedlichen Eingangsanschlüssen den Betrieb eines oder mehrerer bestimmter Bauelemente beeinflussen, auf die schon durch Eingaben an anderen Eingangsanschlüssen eingewirkt worden ist. Das gleiche gilt auch im Hinblick auf die Ausgangsanschlüsse.
  • Da den einzelnen Anschlußstellen in Abhängigkeit von der Anzahl der internen Schaltkreiselemente, die durch ein Eingabesignal an einem beliebigen Eingangsanschluß beeinflußt werden, von der Art der Schaltkreiselemente und von den Zwischenverbindungen der betroffenen Schaltkreiselemente unterschiedliche Gewichtungen zugeordnet werden sollen, muß die in Fig. 3 gezeigte Gewichtungsschaltung für jede mögliche Kombination von Gewichtungen und für jede Eingabe wiederholt werden, damit die Wahrscheinlichkeit, daß zwei beliebige Eingaben an das DUT identische Eingabeanregungen erhalten, herabgesetzt wird. Daher gibt es für jeden unterschiedlichen Pseudo-Zufallszahlengenerator eine zugehörige Gewichtungsschaltung mit individuellen Gewichtungssteuerungen.
  • Die Gewichtungsauswahl für einen beliebigen Eingangsanschluß erfordert eine Art von "Verkettungs"-Analyse, in der das letzte Schaltkreiselement, das mit einem Ausgangsanschluß verbunden war, über alle möglichen Pfade bis zu dem einen oder auch mehreren Eingangsanschlüssen zurückverfolgt wird. Dies wird für jeden Pfad zwischen jedem Ausgangsanschluß über alle möglichen Pfade zu einem oder zu mehreren Eingangsanschlüssen durchgeführt. Die entsprechende Gewichtung für jeden Eingangsanschluß wird durch die folgende Reihe von Berechnungen bestimmt, die mit Hilfe eines Computerprogramms erledigt werden, das den Algorithmus von Fig. 5 benutzt.
  • Bei der Prüfung einer UND-Schaltung mit zwanzig Eingängen sind etwa eine Million Zufallsmuster zur Prüfung, ob der Schaltungsausgang dauerhaft auf Null bleibt, erforderlich. Dazu ist es notwendig, daß sich alle zwanzig Eingänge im Eins-Zustand befinden. Wenn jeder Eingang eine gleich große Chance hat, Eins oder Null zu sein, dann beträgt die Chance aller zwanzig Eingänge, daß sie alle Einsen empfangen, eins zu 220. Wenn die Wahrscheinlichkeit der Plazierung einer Eins an den Eingängen erhöht würde, dann könnte die Anzahl der Zufallsmuster, die für die Prüfung notwendig sind, außerordentlich reduziert werden. Im allgemeinen ist es wünschenswert, die Wahrscheinlichkeiten für solche Werte an den Bauelementeeingängen zu erhöhen, die nichtsteuernde Werte auf den logischen Blöcken plazieren. So werden Eins-Werte an den Eingängen der Blöcke vom UND-Typ bevorzugt. Man darf jedoch dabei die Möglichkeit nicht außeracht lassen, daß eine der UND-Eingänge dauerhaft im Eins-Zustand bleibt, so daß eine Eingabe von ausschließlich Einsen keine definitive Prüfung sein würde. Es muß deshalb eine Wahrscheinlichkeit dafür geben, wenigstens eine Null auf jeden Eingang der UND-Gatter zu plazieren, damit ausgeschlossen werden kann, daß das in der Prüfung befindliche Gatter nicht dauerhaft im Eins-Zustand bleibt. Deshalb sollte die Wahrscheinlichkeit der Plazierung eines nicht-steuernden Wertes an einem beliebigen Eingang des Blockes entsprechend der folgenden Näherungsformel erhöht werden:
  • 3-N-[N²-2N+5]½
  • wobei N = Anzahl der Eingaben zum Block ist.
  • Das gewünschte Verhältnis des nicht-steuernden zum steuernden Wert ist gegeben mit Rmin = Pmin/(1-Pmin).
  • Bei einem UND mit vier Eingängen sollte die Wahrscheinlichkeit für die Plazierung eines Eins-Pegels an jedem Eingang 0,768 betragen, damit die Anzahl der für die Prüfung aller Haftfehler, die zu dem Block gehören, notwendigen Zufallsmuster auf ein Minimum beschränkt wird. Die Wahrscheinlichkeit für ein UND-Gatter mit fünf Eingängen beträgt 0,809.
  • Diese Wahrscheinlichkeitsrechnung ist nur gültig, wenn die, die Eingänge speisenden Schaltungen, identisch sind. Dies tritt in der Praxis selten auf, so daß für die Unterschiede in der mit den Eingaben eines Blockes verbundenen Schaltung eine Kompensation notwendig ist, damit man eine genaue Gewichtung erhält. Eine Kompensationsmöglichkeit für die Unterschiede in den Eingangsschaltungen besteht darin, die auf der Anzahl der Bauelementeeingänge (primäre Eingänge und LSSD-Latch), die die Eingänge eines Blocks steuern, basierenden Wahrscheinlichkeiten zu korrigieren. Durch diese Strategie wird die Chance, einen nichtsteuernden Wert des Blockes an einem Eingang zu plazieren, im Verhältnis der Anzahl der Bauelementeeingänge, die diesen Block steuern, zur Anzahl der Bauelementeeingänge, die diesen Eingang steuern, erhöht. Diese Strategie kompensiert die Eingabenkomplexität nur für diejenigen Schaltungen genau, die keine Rückkonvergenz oder Ausgangsauffächerung haben. Falls diese Bedingungen vorliegen, kann es zu einer Überkompensation der Wirkungen der unterschiedlichen Eingabeschaltungen kommen.
  • Algorithmus der Gewichtungsberechnung
  • Neueste Untersuchungen an einer großen Zahl unterschiedlich hergestellter Bauelemente haben gezeigt, daß eine bessere Gewichtungsstrategie darin besteht, aus den hier obenstehend beschriebenen Strategien einen Mittelwert zu bilden. Dies betrifft die Pmin-Formel (1) und die Wahrscheinlichkeiten-Korrektur, die auf der Anzahl der Eingänge des Bauelementes (primäre Eingänge und LSSD-Latches) basiert, die jeden Eingang des Blocks steuern. Die folgenden Schritte werden zur Bestimmung des mit allen Eingängen des Bauelementes verbundenen Gewichtungsfaktors durchgeführt.
  • A. Jedem logischen Block in der Schaltung werden zwei Zahlen zugewiesen, die die Null-Gewichtung (W0) und die Eins-Gewichtung (W1) darstellen. Diese Zahlen werden auf Eins eingestellt. Das Verhältnis der abschließenden Werte von W0 und W1 für die Eingänge des Bauelements ist dann ein Maß für die Chancen der Plazierung eines Null-Wertes an diesem Eingang.
  • B. Für jeden logischen Block in der Schaltung wird die Anzahl der Bauelementeeingänge (NDI) bestimmt, die diesen Block logisch steuern.
  • C. Eine Rückverfolgung von jedem Bauelementeausgang (zu einem Eingangsanschluß oder einem LSSD-Latch) wird durchgeführt, so wie die Rückverfolgung rückwärts von Block X zu Block Y abläuft, werden W0 und W1 bei Block Y (W0Y und W1Y) in Abhängigkeit von der logischen Funktion von Block X entsprechend folgender Formel angepaßt:
  • wobei NDIX = Anzahl der Bauelementeeingänge, die Block X steuern,
  • NDIY = Anzahl der Bauelementeeingänge, die Block Y steuern,
  • NX Anzahl der Eingänge zu Block X und
  • Rmin = Blockeingangsgewichtungsfaktor (vgl. unter Formel (1) oben) ist.
  • NDIX (Anzahl der Bauelementeeingänge) ist die Anzahl derjenigen Eingangsanschlüsse des gesamten zu prüfenden Bauelementes, die direkt oder indirekt über zwischengeschaltete logische Blöcke mit den Eingängen des gegebenen logischen Blocks verbunden sind; Nx (Anzahl der Eingänge) ist die Anzahl der Leitungen, die als Eingänge zu dem gegebenen logischen Block geschaltet sind. Es gibt vier Fälle, die den verschiedenen logischen Funktionen des Blocks X entsprechen. Typ des Blocks X UND NICHT-UND ODER NICHT-ODER
  • Der neue Wert von W0y wird dem Maximum von W0 aus der obigen Tabelle und dem alten Wert von W0y entsprechen. Gleichermaßen wird der neue Wert für W1y das Maximum von W1 und dem alten Wert von W1y sein.
  • D. Für jeden Bauelementeeingang wird bestimmt:
  • D1 Gewichteter Wert (WV). Dies zeigt an, welcher Wert gewichtet werden soll. Wenn W0 > W1, dann gilt WV = 0. Für die Umkehrung gilt WV = 1.
  • D2 Gewichtungsfaktor (WF). Dies zeigt die gewünschten Chancen der Erzeugung eines mit einem Bauelementeeingang verbundenen gewünschten Wertes an. Er wird durch Teilung des größeren der beiden Werte W0 oder W1 durch den jeweils kleineren Wert errechnet.
  • Die Berechnung der Gewichtung erfolgt durch das in Fig. 5 schematisch dargestellte Programm.
  • Obgleich der Bezug zu den verschiedenen logischen Blöcken ("X"- Blöcken oder "Y"-Blöcken) für eine beliebige aus einer großen Anzahl verschiedenartiger Bauelemente wählbar ist, hat in einer Gewichtungsberechnung eines spezifischen Bauelementes jedes logische Element innerhalb des Bauelements genau wie die Eingangs- und die Ausgangsanschlüsse eine eindeutige Identifikationszahl. Jedes logische Element wäre durch seine logische Funktion und durch die Verbindungen zu allen anderen logischen Elementen charakterisiert. Auf diese Weise kann der Computer durch Verkettung jeden Pfad von jedem Ausgangsanschluß zu einem beliebigen Eingangsanschluß über alle möglichen Wege zurückverfolgen. Das logische Modell 10 (Fig. 1) enthält diese Information und wird in Verbindung mit Fig. 3 zur Steuerung der Rückverfolgung benutzt. Der erste Schritt 200 soll das logische Modell 10 (Fig. 1) benutzen, das im Computer gespeichert ist, um die Anzahl der logischen Eingänge für jeden logischen Block in dem DUT festzustellen und diesen Wert zu speichern. Da das logische Modell eine schematische Darstellung der internen Schaltung des DUT enthält, ist dies eine einfache Zählung der Anzahl der Bauelementeeingänge (nicht der Eingangsanschlüsse) zu jedem logischen Knoten. Der zweite Schritt 201 löst nur die Null-Gewichtung (W0) und die Eins-Gewichtung (W1) für alle logischen Blöcke aus.
  • Der dritte Schritt 202 wählt einen logischen Block "X" aus, der mit einem Ausgang verbunden ist, von dem aus die Rückverfolgung zurück zu einem Eingang beginnt. Dann wird zum gewählten "x"- Block einer von mehreren Eingangsblöcken ausgewählt und mit "Y" bezeichnet (Schritt 203). Dann wird aus dem logischen Modell die Funktion des logischen Blockes X in den Schritten 204, 206 oder 208 über die Verzweigungen zu den Schritten 205, 207, 209 oder 210 bestimmt.
  • In Abhängigkeit davon, welche der Verzweigungen ausgewählt worden ist, werden dann das Null-Gewicht (W0y') und das Eins-Gewicht (W1y') in Übereinstimmung mit der in Klammern gesetzten Formel errechnet, wobei die Einzelheiten dazu schon vorstehend erklärt worden sind. Die gespeicherte Berechnung führt weiter zu Block 211. Wenn 211 = JA ist, dann ist die Rückverfolgung abgeschlossen, d. h. alle Rückverfolgungspfade haben zu den Eingangsanschlüssen einschließlich der LSSD-Latches geführt, und der berechnete Wert, den man in den Schritten 205, 207, 209 oder 210 erhalten hat, ist der gewichtete Wert für diese Anschlüsse einschließlich der LSSD-Latches.
  • Wenn die Rückverfolgung für einen gegebenen Bauelementeausgang ist (Block 211 = JA) und wenn weitere Bauelementeausgänge untersucht werden sollen (Block 212 = JA), dann bedeutet dies, daß man zu Block 203 zurückkehren und den Rückverfolgungsprozeß wiederholen muß. Diese Reihenfolge wird wiederholt, bis alle Bauelementeausgänge untersucht worden sind (Block 212 = NEIN). Wenn bei der Rückverfolgung vom ursprünglichen Block X die Spur einen Eingangsanschluß nicht über einen einzigen dazwischenliegenden Block "Y" (211 = NEIN) erreicht, dann wird dieser ursprüngliche "Y"-Block zu einem neuen "X"-Block. Dieser neue Block X kann ein Eingang sein (215 = JA), in diesem Falle schreitet die Spur weiter zu Block 216, der die Rückverfolgung zurück zum ursprünglichen Block "X" bringt, damit von dort aus eine Rückverfolgung über einen zweiten oder dritten Pfad vorgenommen wird.
  • Wenn der neue Block "X" kein Eingang ist (215 = NEIN), dann wird dieser neue Block "X" zum Ursprung für ein Rückverfolgungsverfahren vom Block 203 aus, bis ein Eingangsanschluß erreicht wird. Diese Substitution von "Y"-Blöcken durch "X"-Blöcke kann so lange ablaufen, bis ein Eingangsanschluß erreicht ist. Wenn alle Ausgänge bis zu einem Eingangsanschluß zurückverfolgt worden sind, dann wird jeder Eingangsanschluß eine Null-Gewichtung und eine Eins-Gewichtung haben, die aus allen möglichen Rückverfolgungspfaden errechnet worden sind. Die größere der beiden Null- oder Eins-Gewichtungen wird dann ausgewählt und diesem speziellen Anschluß zugeordnet. Die entsprechenden Gewichtungssteuerungen und zeitlichen Abfolgen der Fig. 3 werden dazu ausgewählt.
  • Bei der Simulation hat jeder logische Block eine Identifikationsnummer und eine Identifikation für den Typ des logischen Blocks, ebenso gilt dies für die Eingangs- und Ausgangsanschlüsse zum nachfolgenden und zum vorhergehenden logischen Block und die Eingangs- und Ausgangsanschlüsse. Der Programmablaufplan der Fig. 5 benutzt bei seiner Realisierung in einem Computer nicht die "X"- und "Y"-Bezeichnungen, sondern die Identitätszahlen der tatsächlichen logischen Blöcke. Dies vereinfacht die Rückverfolgung, da es nicht notwendig ist, bei einem "X"-Block zu bestimmen, ob er ein logisches Anschlußelement ist oder ein zwischengeschaltetes logisches Element.
  • Diagnostische Prüfung
  • In einer gut gesteuerten Fertigungslinie für Bauelemente wird es relativ wenig fehlerhafte Bauelemente geben. Wenn eine hundertprozentige Prüfung wünschenswert ist, dann ist es ratsam, das Prüfprotokoll so einzurichten, daß die fehlerhaften Bauelemente in der kürzesten Prüfzeit isoliert werden, und nicht die Prüfzeit bei einer Fertigungsprüfung für den Versuch vorzugeben, den Fehler in diesen wenigen Bauelementen zu finden.
  • Wenn aus irgendeinem Grunde die Fertigungsprüfung ein in keiner Weise akzeptables Qualitätsniveau aufdeckt, oder wenn man zur Verbesserung des Qualitätsniveaus die Art der Fehler herausfinden möchte, dann ist eine diagnostische Prüfung vorteilhaft. Die diagnostische Prüfung vollzieht im wesentlichen das bei der Fertigungsprüfung benutzte Protokoll nach, aber sie teilt die Prüfung in kleine Segmente auf. Während die abschließende Signatur eines fehlerhaften Bauelementes für eine Fehleranalyse nicht auswertbar ist, trifft dies für die Prüfergebnisse kleiner Segmente sehr wohl zu. Die Summe der Prüfprotokolle der Segmente ist dann gleich dem Ergebnis der Fertigungsprüfungen.
  • Ein gegebenes fehlerhaftes Bauelement (das bei der Fertigungsprüfung isoliert worden ist) wird den folgenden Verfahrensschritten zur Entwicklung einer Datenbank unterworfen, die dann zur Diagnose der Fehler benutzt wird, die das Versagen des Bauelementes ausgelöst haben.
  • Schritt I
  • A. Das Prüfgerät wird in den identischen Zustand versetzt, der bei derjenigen Fertigungsprüfung benutzt wurde, bei der das Bauelement Einrichtung versagt hat.
  • B. Ein Segmentlängenzähler wird auf die gewünschte Segmentlänge eingestellt.
  • C. Das Fertigungsprüfprotokoll wird für eine Anzahl von Wiederholungen nachvollzogen, die gleich der gewünschten Segmentlänge ist, und dann unterbrochen.
  • D. Die abschließende Signatur des zweiten Kanals, die durch Segmentprüfung erzeugt worden ist, wird mit der Signatur eines korrekten Bauelementes verglichen, das durch Simulation der Prüfung dieses Segmentes erzeugt wird.
  • E. Wenn die Signaturen vergleichbar sind, dann schreitet die Prüfung in der Reihenfolge zu den nächsten folgenden Segmenten fort, bis ein fehlerhaftes Segment entdeckt wird.
  • Bei einem fehlerhaften Segment läuft dann Schritt II ab.
  • Schritt II
  • Wiederholungsprüfung eines fehlerhaften Segmentes irgendwo in der Reihenfolge der Segmente.
  • A. Die Pseudo-Zufallszahlengeneratoren werden auf ihre entsprechenden Zustände am Anfang der gerade ablaufenden Segmentprüfung eingestellt.
  • Anmerkung: Dies kann man aus der Computersimulation der bekannten Progression der Pseudo-Zufallszahlen erkennen und erhalten.
  • B. Die MISR werden auf ihre entsprechenden Zustände am Beginn der Prüfung dieses Segmentes eingerichtet.
  • C. Der Segmentlängenzähler wird auf die zu wiederholende Segmentlänge eingestellt.
  • D. Für diese Segmentlänge wird die Prüfung vollständig durchgeführt, und folgendes wird aufgezeichnet:
  • 1. Die entsprechenden Zustände der Pseudo-Zufallsgeneratoren am Beginn dieser Segmentprüfung.
  • 2. Alle Bit-Muster, die während der nachvollzogenen Fertigungsprüfung für dieses Segment in die MISR eingegeben worden sind.
  • 3. Die Anzahl und die Art der Prüfgeräteschleifen, die bei diesem Segment benutzt wurden.
  • E. Am Ende dieser Prüfung des fehlerhaften Segmentes und der Sammlung der Daten geht es weiter zu Schritt III.
  • Schritt III Segmentprüfung nach einer Wiederholungsprüfung eines fehlerhaften Segmentes
  • A. Die Pseudo-Zufallsmustergeneratoren werden auf die entsprechenden Zustände eingestellt, die sie bei Beginn einer Prüfung für ein Segment, das auf ein fehlerhaftes folgt, einnehmen sollen.
  • Anmerkung: bekannt aus der Simulation.
  • B. Die MISR werden auf ihre entsprechenden Zustände eingestellt, die sie am Beginn desjenigen Segmentes einnehmen sollen, wenn keine Prüfungen von fehlerhaften Segmenten vorangegangen sind.
  • Anmerkung: bekannt aus der Simulation.
  • C. Der Segmentlängenzähler wird auf die Länge für dieses nächste Segment eingestellt.
  • D. Die Prüfung wird vollständig durchgeführt.
  • E. Wenn sie korrekt ist, dann wird zur nächsten Segmentprüfung übergegangen.
  • F. Wenn es sich als fehlerhaft herausstellt, dann wird dieses Segment gemäß Schritt II erneut geprüft.
  • Wenn beispielsweise die Daten für ein fehlerhaftes Bauelement für eine Segmentlänge von einhundert gesammelt worden sind, dann können dieses Daten mit Hilfe der Fehlersimulation in einem Computer analysiert werden, damit die Elemente, die dauerhaft einen Null- oder Eins-Zustand haben, lokalisiert werden können. Da viele interne Elemente wahrscheinlich durch die geringe Anzahl der Muster innerhalb eines Segmentes gar nicht geprüft werden, wird die Aufgabe, das eine oder die entsprechenden Elemente zu bestimmen, die die fehlerhafte Prüfausgabe erzeugt haben, wesentlich eingeschränkt. Die Diagnose wird noch sicherer, wenn mehrere Segmente, die Fehler aufwiesen, gleichartig analysiert werden und eine-gemeinsame Fehlerart offenbaren. Andererseits könnte die Analyse eines korrekten Segmentes eine bestimmte Fehlerart ausschließen, wenn diese Fehlerart ein fehlerhaftes Prüfergebnis einer korrekten Segmentprüfung erzeugt hätte. Sollte es einander kompensierende Fehler in einem Bauelement geben, die in einigen Fällen eine korrekte Segmentprüfung erzeugen könnten, dann könnte die Kompensation nicht in allen Fällen wirksam sein. Die Segmentprüfungen würden sie entdecken.
  • Wie schon erklärt worden ist, gehorchen die LSSD-Bauelemente strikten logischen Regeln, so daß die Ausgabewerte für jede beliebige Folge von Eingabeanregungen und Zyklusveränderungen simuliert werden kann. Die Eingabeanregungen, die durch Pseudo-Zufallsmustergeneratoren erzeugt werden, sind an jedem Punkt des Prüfprotokolls bekannt. Damit sind auch die von den MISR aufgebauten logischen Funktionen zur Erzeugung der Signatur einer Simulation zugänglich.
  • Daher kann unabhängig davon, ob ein Bauelement nun einer Fertigungsprüfung oder einer Diagnoseprüfung unterworfen wird, seine Antwort in jedem Punkt der Prüfung zur Erzeugung von Signaturen oder anderen Bitmustern simuliert werden, mit denen dann ein zu prüfendes Bauelement verglichen wird.
  • Die diagnostische Prüfung zur Analyse der Fehlerarten kann das gleiche Protokoll wie die Fertigungsprüfung benutzen, aber sie sollte die Prüfung in kleine Abschnitte zerlegen und damit einen kleinen Datensatz erzeugen, der durch Fehlersimulation auf die Fehlerart hin analysiert werden kann, was durch die geringe Größe der Datensätze, die durch diese Aufteilung entstehen, wesentlich vereinfacht wird.

Claims (2)

1. Verfahren zum Testen einer komplexen integrierten Schaltungsstruktur, die wesentlich mehr intern verbundene logische Einrichtungen und bistabile Einrichtungen besitzt als die Anzahl der Ein- und Ausgabeanschlüsse der Struktur, deren Bauart die logischen Einrichtungen für diskretes Testen unter Anwendung gewichteter Pseudo-Zufallsmuster als Eingabeanregung unzugänglich macht, wobei das Verfahren zum Bestimmen der relativen Frequenz des Auftretens von binären Einsen und Nullen, die als Testanregung den Eingabeanschlüssen der Struktur zuzuführen sind, die folgenden Schritte aufweist:
(1) Rückwärtsverfolgen und aufzeichnen aller möglichen Schaltungspfade von jedem der Ausgabeanschlüsse oder einer mit dem Ausgabeanschluß operativ verbundenen bistabilen Einrichtung bis zu einem Eingabeanschluß oder einer mit dem Eingabeanschluß operativ verbundenen bistabilen Einrichtung;
(2) Aufteilen jedes der Pfade in aufeinanderfolgende überlappende Segmente, von denen jedes ein logisches Einrichtungspaar enthält, wobei jedes Segment gemeinsam mit den überlappenden Nachbarsegmenten eine logische Einrichtung besitzt;
(3) Identifizieren der ersten logischen Einrichtung in jedem Paar in Richtung der Rückwärtsverfolgung als eine X-Einrichtung und der zweiten als eine Y-Einrichtung;
(4) Zählen und Aufzeichnen der Anzahl NDI der Einrichtungseingänge für jede logische Einrichtung, wobei NDI gleich der Summe der Anzahl dieser Eingabeanschlüsse der integrierten Schaltungsstruktur und dieser bistabilen Einrichtungsausgänge ist, die direkt der indirekt mittels dazwischenliegender logischer Einrichtungen mit den Eingängen der gegebenen logischen Einrichtung verbunden sind;
(5) Zählen und Aufzeichnen der Anzahl von Eingängen N jeder logischen Einrichtung, bei welcher die Anzahl der Eingänge gleich der Zahl der Leitungen ist, die als Eingänge mit der logischen Einrichtung verbunden sind;
(6) Identifizieren und Aufzeichnen welche der folgenden logischen Funktionen von jeder logischen Einrichtung ausgeführt wird:
(a) UND
(b) UND/INVERTIEREN,
(c) ODER,
(d) ODER/INVERTIEREN;
(7) Berechnen Pmin für jede der logischen Einrichtungen in der Struktur bei welcher
(8) Zuordnen jeder logischen Einrichtung einer Gewichtung Null (W0) und einer Gewichtung Eins (W1) und Setzen der Gewichtungen Null und Eins auf einen Anfangswert Eins für alle logischen Einrichtungen;
(9) Berechnen und Aufzeichnen der Gewichtungen Null (W0) und Eins (W1) für jedes nächstfolgende Segment in jedem der möglichen Schaltungspfade, beginnend mit dem Segment der Struktur, das dem Ausgabeanschluß am nächsten liegt, und rückwärts fortschreitend in Richtung der Eingabeanschlüsse gemäß der folgenden Beziehung:
(a) wenn die Einrichtung X ein UND ist
W0'y = MAX (W0X oder W0Y)
W1'Y = MAX (KW1X oder W1Y)
(b) wenn die Einrichtung X UND/INVERTIEREND ist
W0'Y = MAX (W1X oder W0Y)
W1'Y = MAX (KW0X oder W1Y)
(c) wenn die Einrichtung X ein ODER ist
W0'Y = MAX (KW0X oder W1Y)
W1'Y = MAX (W1X oder W1Y)
(d) wenn die Einrichtung X ODER/INVERTIEREND ist
W0'Y = MAX (KWIX oder W0Y)
W1'Y = MAX (W0X oder W1Y)
wobei W0X, W0Y, W1X, W1Y die Anfangswerte oder die zuvor für das Einrichtungspaar X und Y des entsprechenden Segmentes berechneten Werte der Gewichtungen Null und Eins darstellen und W0'Y, W1'Y die neu berechneten Gewichtungen Null und Eins der Einrichtung Y in dem entsprechenden Paar darstellen und in jedem Segmentpaar
mit Rmin = Pmin (1-Pmin);
(10) Anhalten der Berechnung des nächstfolgenden Segmentes, wenn der Schaltungspfad einen Eingabeanschluß oder den Ausgang einer bistabilen Einrichtung erreicht und, im Fall eines Eingabeanschlusses, Aufzeichnen der für das nächste Segment berechneten W0'Y und W1'Y-Werte;
(11) Bestimmen einer Auswahl WV des Gewichtungswertes für jeden Anschluß entsprechend dem Folgenden:
(a) falls W0'Y > W1'Y dann WV = 0,
(b) falls W0'Y < W1'Y dann WV = 1;
(12) Bestimmen des Gewichtsfaktors (WF) durch Dividieren des Größeren von W0'Y und W1'Y durch das Kleinere von W0'Y und W1'Y wobei der Gewichtsfaktor das Verhältnis binärer Null- und Einswerte ist, die an den Eingabeanschluß nach dem Anlegen von Eingabe-Testanregungen angelegt werden.
2. Verfahren zum Testen einer komplexen integrierten Schaltungsstruktur, die eine wesentlich geringere Anzahl von Ein- und Ausgabeanschlüssen als die Anzahl intern verbundener logischer Einrichtungen besitzt, deren Bauart die logischen Einrichtungen für diskretes Testen unter Anwendung gewichteter Pseudo-Zufallsmuster als Eingabeanregung unzugänglich macht, wobei das Verfahren zum Bestimmen der relativen Frequenz des Auftretens von binären Einsen und Nullen, die als Testanregung den Eingabeanschlüssen der Struktur zuzuführen sind, die folgenden Schritte aufweist:
(a) Durchführen einer Rückverfolgung von jedem Ausgabeanschluß der Struktur durch alle möglichen Schaltungspfade zu den entsprechenden Eingabeanschlüssen;
(b) Zuordnen jeder logischen Einrichtung einer Gewichtung Null (W0) und einer Gewichtung Eins (W1) jeden der rückwärtsverfolgten Pfade und Setzen der Null- und Eingangsgewichtungen aller logischer Einrichtungen in der Verfolgung auf einen Anfangswert eins;
(c) serielles Fortfahren von logischer Einrichtung zu logischer Einrichtung der rückwärts verfolgten Schaltungspfade und fortschreitendes Ändern der Null- und Einsgewichtungen jeder logischen Einrichtung, außer der ersten logischen Einrichtung des Pfades, in dem so verfolgten Schaltungspfad vom Anfangswert eins auf einen neuen Wert, wobei der neue Wert eine vorbestimmte Funktion ist, die durch die folgenden Beziehungen definiert ist:
(a) wenn die Einrichtung X ein UND ist
W0'Y = MAX (W0X oder W0Y)
W1'Y = MAX (KW1X oder W1Y)
(b) wenn die Einrichtung X UND/INVERTIEREND ist
W0'Y = MAX (W1X oder W0Y)
W1'Y = MAX (KW0X oder W1Y)
(c) wenn die Einrichtung X ein ODER ist
W0'Y = MAX (KW0X oder W0Y)
W1'Y = MAX (W1X oder W1Y)
(d) wenn die Einrichtung X ODER/INVERTIEREND ist
W0'Y = MAX (KW1X oder W0Y)
W1'Y = MAX (W0X oder W1Y)
wobei die W0'Y, W1'Y die neuen, für die gegebene Einrichtung berechneten Werte darstellen;
W0Y, W1Y die Anfangswerte für die gegebene Einrichtung darstellen;
W0'X, W1'X die zuvor bestimmten Werte für die vorhergehende Einrichtung darstellen;
K=[NDIX/NDIY + Rmin(NX)] * 0,5, mit Rmin = Pmin/(1-Pmin);
NDIX = die Anzahl der Eingabeanschlüsse der Struktur, welche die Funktion der vorangehenden Einrichtung beeinflussen;
NDIY = die Anzahl der Eingabeanschlüsse der Struktur, welche die Funktion der gegebenen Einrichtung beeinflussen; und
wobei N = die Anzahl der Eingangsleitungen zu der vorhergehenden Einrichtung ist;
(d) Anhalten der Änderung der Null- und Eingangsgewichtungen einer gegebenen Einrichtung, wenn ein Eingabeanschluß der Struktur erreicht wird, und
(e) Dividieren der so fortschreitend berechneten Werte der Gewichtungen Null und Eins, um einen Gewichtungsfaktor größer eins zu erhalten, wobei der Gewichtungsfaktor das Verhältnis der Frequenz des Auftretens binärer Null- und Einswerte, die als Testanregungen an den entsprechenden Eingabeanschluß der integrierten Schaltungsstruktur angelegt werden.
DE8686108463T 1985-06-24 1986-06-20 Pruefverfahren mittels gewichteten zufallsmustergenerators. Expired - Fee Related DE3687672T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/748,289 US4688223A (en) 1985-06-24 1985-06-24 Weighted random pattern testing apparatus and method

Publications (2)

Publication Number Publication Date
DE3687672D1 DE3687672D1 (de) 1993-03-18
DE3687672T2 true DE3687672T2 (de) 1993-08-19

Family

ID=25008816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8686108463T Expired - Fee Related DE3687672T2 (de) 1985-06-24 1986-06-20 Pruefverfahren mittels gewichteten zufallsmustergenerators.

Country Status (5)

Country Link
US (1) US4688223A (de)
EP (1) EP0206287B1 (de)
JP (1) JPH0672909B2 (de)
CA (1) CA1234599A (de)
DE (1) DE3687672T2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61133873A (ja) * 1984-12-03 1986-06-21 Mitsubishi Electric Corp 半導体試験装置
US4792951A (en) * 1986-09-11 1988-12-20 Grumman Aerospace Corporation Apparatus and method of stimulating an equipment
US4903266A (en) * 1988-04-29 1990-02-20 International Business Machines Corporation Memory self-test
DE3821230A1 (de) * 1988-06-23 1989-12-28 Siemens Ag Testanordnung zur erzeugung von testmustern fuer den test von mikroprozessoren
US5029171A (en) * 1989-05-25 1991-07-02 Hughes Aircraft Company Test vector generation system
US5043988A (en) * 1989-08-25 1991-08-27 Mcnc Method and apparatus for high precision weighted random pattern generation
JP3348221B2 (ja) * 1989-10-31 2002-11-20 株式会社リコー 画像記録装置
DE69126199T2 (de) * 1991-02-21 1997-10-16 Ibm Integrierter Schaltkreis mit eingebautem Selbsttest für die Erkennung logischer Fehler
US5309447A (en) * 1991-06-03 1994-05-03 At&T Bell Laboratories Space compression technique for pseudo-exhaustive self-testing of digital electronic circuits
US5331643A (en) * 1991-09-04 1994-07-19 International Business Machines Corporation Self-testing logic with embedded arrays
US5323400A (en) * 1991-09-09 1994-06-21 Northern Telecom Limited Scan cell for weighted random pattern generation and method for its operation
US5369648A (en) * 1991-11-08 1994-11-29 Ncr Corporation Built-in self-test circuit
US5394405A (en) * 1992-04-24 1995-02-28 International Business Machines Corporation Universal weight generator
US5596587A (en) * 1993-03-29 1997-01-21 Teradyne, Inc. Method and apparatus for preparing in-circuit test vectors
US5422891A (en) * 1993-07-23 1995-06-06 Rutgers University Robust delay fault built-in self-testing method and apparatus
US5414716A (en) * 1993-09-22 1995-05-09 Mitsubishi Electronic Research Laboratories, Inc. Weighting system for testing of circuits utilizing determination of undetected faults
US5485471A (en) * 1993-10-15 1996-01-16 Mitsubishi Electric Research Laboratories, Inc. System for testing of digital integrated circuits
US5583786A (en) * 1993-12-30 1996-12-10 Intel Corporation Apparatus and method for testing integrated circuits
US5642362A (en) * 1994-07-20 1997-06-24 International Business Machines Corporation Scan-based delay tests having enhanced test vector pattern generation
US5682392A (en) * 1994-09-28 1997-10-28 Teradyne, Inc. Method and apparatus for the automatic generation of boundary scan description language files
JP3206724B2 (ja) * 1996-10-23 2001-09-10 矢崎総業株式会社 電源供給装置及びコネクタの接続不良検出方法
US5968194A (en) * 1997-03-31 1999-10-19 Intel Corporation Method for application of weighted random patterns to partial scan designs
US5983380A (en) * 1997-09-16 1999-11-09 International Business Machines Corporation Weighted random pattern built-in self-test
US6272653B1 (en) 1997-11-14 2001-08-07 Intrinsity, Inc. Method and apparatus for built-in self-test of logic circuitry
US6295622B1 (en) * 1997-12-08 2001-09-25 Intrinsity, Inc. Method and apparatus for transforming pseudorandom binary test patterns into test stimulus patterns appropriate for circuits having 1 of N encoded inputs
US6429795B1 (en) 1997-12-08 2002-08-06 Intrinsity, Inc. Method and apparatus for transforming pseudorandom binary patterns into test stimulus patterns appropriate for circuits having 1 of N encoded inputs
US6442720B1 (en) 1999-06-04 2002-08-27 International Business Machines Corporation Technique to decrease the exposure time of infrared imaging of semiconductor chips for failure analysis
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US6678853B1 (en) * 1999-12-17 2004-01-13 Hewlett-Packard Development Company, L.P. Method and apparatus for generating random code
US6490702B1 (en) 1999-12-28 2002-12-03 International Business Machines Corporation Scan structure for improving transition fault coverage and scan diagnostics
US6453436B1 (en) 1999-12-28 2002-09-17 International Business Machines Corporation Method and apparatus for improving transition fault testability of semiconductor chips
US7017095B2 (en) * 2002-07-10 2006-03-21 International Business Machines Corporation Functional pattern logic diagnostic method
ATE325347T1 (de) * 2002-12-20 2006-06-15 Bosch Gmbh Robert Vorrichtung und verfahren zur bildung einer signatur
WO2006058435A2 (en) * 2004-12-03 2006-06-08 Duoject Medical Systems Inc. Cartridge, device and method for pharmaceutical storage, mixing and delivery
US7821276B2 (en) 2006-10-24 2010-10-26 Cadence Design Systems, Inc. Method and article of manufacture to generate IC test vector for synchronized physical probing
JP4842876B2 (ja) * 2007-03-30 2011-12-21 富士通セミコンダクター株式会社 故障診断装置及び故障診断方法
US20090307468A1 (en) * 2008-06-06 2009-12-10 International Business Machines Corporation Generating a Test Case Micro Generator During Processor Design Verification and Validation
US8405419B1 (en) 2011-09-15 2013-03-26 International Business Machines Corporation Digital test system and method for value based data
CN106919365A (zh) 2016-08-29 2017-07-04 阿里巴巴集团控股有限公司 计算机系统中随机数的生成方法及装置
GB201711055D0 (en) * 2017-07-10 2017-08-23 Accelercomm Ltd Electronic device with bit pattern generation, integrated circuit and method for polar coding
US11079433B2 (en) 2019-11-25 2021-08-03 International Business Machines Corporation Logic built-in self test dynamic weight selection method
US11112457B2 (en) 2019-11-25 2021-09-07 International Business Machines Corporation Dynamic weight selection process for logic built-in self test

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3719885A (en) * 1971-12-13 1973-03-06 Ibm Statistical logic test system having a weighted random test pattern generator
US4519078A (en) * 1982-09-29 1985-05-21 Storage Technology Corporation LSI self-test method
US4687988A (en) * 1985-06-24 1987-08-18 International Business Machines Corporation Weighted random pattern testing apparatus and method

Also Published As

Publication number Publication date
JPH0672909B2 (ja) 1994-09-14
EP0206287B1 (de) 1993-02-03
EP0206287A2 (de) 1986-12-30
CA1234599A (en) 1988-03-29
DE3687672D1 (de) 1993-03-18
EP0206287A3 (en) 1989-03-22
US4688223A (en) 1987-08-18
JPS61296279A (ja) 1986-12-27

Similar Documents

Publication Publication Date Title
DE3687672T2 (de) Pruefverfahren mittels gewichteten zufallsmustergenerators.
DE60030480T2 (de) Gerät und verfahren zum selektiven verdichten von testergebnissen
US4745355A (en) Weighted random pattern testing apparatus and method
DE3825260C2 (de) Verfahren zur fehlerdiagnose an elektrischen schaltungen und anordnung zum durchfuehren des verfahrens
DE2729053A1 (de) Verfahren zur stufenempfindlichen pruefung einer einseitig verzoegerungsabhaengigen logischen einheit
DE2349324A1 (de) Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen
DE2842750A1 (de) Verfahren und anordnung zur pruefung von durch monolithisch integrierten halbleiterschaltungen dargestellten sequentiellen schaltungen
DE10127337A1 (de) Verfahren und Vorrichtung zum Erzeugen von beim Testen von Halbleiter-ICs verwendeten Testmustern
DE10209804A1 (de) Eine abtastbasierte Mehrfachringoszillatorstruktur für eine Chip-interne Geschwindigkeitsmessung
DE602005002931T2 (de) Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal
DE3702408C2 (de)
DE3124902C2 (de)
DE602004009784T2 (de) Datenkomprimierung
DE102005046588B4 (de) Vorrichtung und Verfahren zum Test und zur Diagnose digitaler Schaltungen
EP0766092A1 (de) Testbare Schaltungsanordnung mit mehreren identischen Schaltungsblöcken
DE112004000601T5 (de) Ereignisbasiertes Prüfverfahren zur Beseitigung taktbezogener Fehler in integrierten Schaltkreisen
DE112015002991T5 (de) Verfahren zum Managen des Betriebs einer redundanten Mehrheitsentscheidungsschaltung und zugehörige Vorrichtung
DE102008013099A1 (de) Speichertestschaltung
DE10335809B4 (de) Integrierte Schaltung mit einem zu testenden elektronischen Schaltkreis und Testsystem-Anordnung zum Testen der integrierten Schaltung
DE3686989T2 (de) Verminderung des rauschens waehrend des pruefens von integrierten schaltungschips.
DE3784468T2 (de) Testbares mehrmodus-zaehlernetz und methode zur durchfuehrung des tests.
DE3785914T2 (de) Vorgriffsendwertzaehler und methode zur erzeugung eines endzaehlerstandes als ausgangsignal.
DE10338922B4 (de) Elektrische Diagnoseschaltung sowie Verfahren zum Testen und/oder zur Diagnose einer integrierten Schaltung
DE10221611B4 (de) Digitalbaustein mit einer Selbsttestfunktion
DE3422287A1 (de) Pruefanordnung fuer digitalschaltungen

Legal Events

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