DE3752280T2 - Mustergenerator - Google Patents

Mustergenerator

Info

Publication number
DE3752280T2
DE3752280T2 DE3752280T DE3752280T DE3752280T2 DE 3752280 T2 DE3752280 T2 DE 3752280T2 DE 3752280 T DE3752280 T DE 3752280T DE 3752280 T DE3752280 T DE 3752280T DE 3752280 T2 DE3752280 T2 DE 3752280T2
Authority
DE
Germany
Prior art keywords
processing instructions
operation processing
pattern
sequence
register
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
DE3752280T
Other languages
English (en)
Other versions
DE3752280D1 (de
Inventor
Chisato Hamabe
Ikuo Kawaguchi
Shuji Kikuchi
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP61177548A external-priority patent/JPH0754345B2/ja
Priority claimed from JP62018310A external-priority patent/JP2941274B2/ja
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of DE3752280D1 publication Critical patent/DE3752280D1/de
Publication of DE3752280T2 publication Critical patent/DE3752280T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • 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/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die Erfindung betrifft einen Mustergenerator und insbesondere einen Mustergenerator, der Muster mit einer operativen Funktion mit hoher Geschwindigkeit erzeugen kann.
  • In der IFP-A-54-12657 ist ein Mustergenerator nach dem Stand der Technik zum IC-Testen beschrieben, in dem sequentiell von N Mustergeneratoren Ausgangssignale entnommen werden und in dem die Mustererzeugung mit einer Geschwindigkeit erfolgt, die das N-fache der der einzelnen Mustergeneratoren ist. Wenn ein Logik-IC mit einem Testmuster zu testen ist, das keine algorithmischen Eigenschaften hat und das ein Zufallsmuster genannt wird, ist der einzelne Mustergenerator in der Regel mit einem Speicher, der das Testmuster speichert, und einer relativ einfachen logischen Steuerschaltung ausgestattet, die das Testmuster ausliest, und es sieht so aus, als ob dessen Betrieb durch paralleles Auslesen auf einfache Weise beschleunigt werden kann, wie es in der obigen Literaturstelle beschrieben ist.
  • Wenn der getestete IC ein Speicher ist, wird als Mustergenerator ein Algorithmikmustergenerator (im folgenden abgekürzt ALPG) mit mikroprogrammierter Architektur mit einer operativen Funktion verwendet. Durch einfaches Verbindung von N identischen ALPGs läßt sich jedoch kein Parallelbetrieb von N ALPGs realisieren, da parallele Operationen, die voneinander völlig unabhängig sind, von einem Array-Prozessor, der Vektoroperationen durchführt, nicht ausgeführt werden können, und da auch Dummy- Zyklen, die sich daraus ergeben, daß es ein Testmuster ist, nicht erlaubt sind. Es sind daher ein Hardwareaufbau und parallele Programmtechniken erforderlich, die in der bisherigen Computertechnik nicht zur Verfügung stehen. Diese Tatsache wird bei der Technik, die in der obigen Literaturstelle beschrieben ist, nicht berücksichtigt.
  • Die Fig. 13 zeigt schematisch den Aufbau einer bekannten Testanordnung für einen Speicher-IC. Bei dieser Testanordnung erzeugt ein Zeitgenerator 3 eine Ratentaktsignal, das den Testzyklus bestimmt, ein Phasensignal, das bestimmt, an welcher zeitlichen Position in einem Zyklus ein Testsignal mit einer bestimmten Wellenform abgegeben werden soll usw. Ein Mustergenerator 2 nimmt das Ratentaktsignal 4 vom Zeitgenerator 3 auf, führt für jeden Testzyklus synchron damit ein Testprogramm aus und erzeugt verschiedene Arten von Testmustern. Dieses Testprogramm wird im allgemeinen vom Com puter 1 zum Mustergenerator 2 gesendet, um dort ausgeführt zu werden, nachdem im Computer 1 eine Entwicklung oder ein Austesten eines Testsystems erfolgt ist.
  • Die vom Mustergenerator 2 kommenden Musterdaten 5 bestehen aus Daten, die an den zu testenden Speicher angelegt werden, wie Adressendaten, einzuschreibende Daten, Lese/Schreib-Steuerdaten usw. und aus einem Erwartungswert 6, der mit ausgelesenen Daten zu vergleichen ist.
  • Ein Fehlerspeicher T5 speichert Bewertigungsergebnisse Richtig/Falsch, die auf der Basis eines Bewertungstaktsignales vom Zeitgenerator 3 an den Komparator erhalten wurden. Das Ergebnis wird dann zum Computer übertragen, nachdem ein Test ausgeführt wurde, um dort einer Defektanalyseoperation unterworfen zu werden.
  • Die Fig. 14 zeigt schematisch den inneren Aufbau des Mustergenerators 2 der Fig. 13, der im wesentlichen aus einer Sequenzsteuereinheit 7 und einer Datenverarbeitungseinheit 8 besteht. Die Sequenzsteuereinheit 7 weist eine mikroprogrammierte Architektur auf, wie es in der Zeichnung dargestellt ist, und besteht aus einem Befehlsspeicher 9, in dem Mikroprogramme gespeichert sind, einem Programmzähler 10, der die Leseadresse 14 dafür festlegt, einem Multiplexer 11, der die während der Ausführung des Programms erzeugte Sprungadresse 13, die vom Computer 1 angegebene Programmausführungsstartadresse usw. umschaltet, und einen Befehlsdekoder 101, der den Inhalt des Programms zum Erzeugen eines Ladesignals 120 dekodiert, so daß beim Sprung eine neue Adresse in den Programmzähler aufgenommen wird usw. und außerdem ein Interruptsteuersignal 111 für den Computer 1 usw. ausgibt.
  • Darüberhinaus erzeugt, wie in der Fig. 14 gezeigt, ein Register 100, in dem Befehlsdaten 15 vom Befehlsspeicher 9 gespeichert sind, ein Sprungadressensignal 13 für den Multiplexer 11, ein Lese/Schreib-Steuersignal 110 für den getesteten Speicher T2 und Befehlsdaten 112 für den Befehlsdekoder 101.
  • Die Datenverarbeitungseinheit 8 führt arithmetische Operationen wie Additionen, Subtraktionen usw. und logische Operationen wie 0/1-Umkehrungen, Bitverschiebungen usw. entsprechend den Befehlsdaten 15 vom Befehlsspeicher 9 in der Sequenzsteuereinheit 7 aus und gibt ein algorithmisches Muster aus.
  • Auf diese Weise umfaßt der ALPG eine Hardware-Rückkoppelschleife für die Sprungadresse 13 und ein Ladesignal für den Programmzähler 10 usw., um Operationen einschließlich Sprungoperationen, Schleifen und Wiederholungen realisieren zu können. Daher kann als ein der Beschreibung in obigem Dokument ähnliches Verfahren zum Erhöhen der Geschwindigkeit durch paralleles Anordnen einer Anzahl von langsamen Speichern, in denen das Testmuster gespeichert ist, vorgeschlagen werden, bei dem eine Anzahl von ALPGs wie in der Fig. 13 parallel angeordnet ist. Als Testvorrichtung für einen der Mustergeneratoren der Fig. 13 ist es jedoch nicht möglich, eine Anzahl von Testprogrammen (Mikroprogrammen) 12 zu verwenden, wenn sie parallel verbunden sind. Dies wird anhand eines Programms zur Speichertestmustererzeugung erläutert, das Galoppprogramm genannt wird und in den Fig. 15 und 16 gezeigt ist.
  • Die Fig. 15 zeigt den Inhalt des Mikroprogramms zur Erzeugung des Galoppmusters zusammen mit dem Flußdiagramm dafür, wenn die Kapazität n des zu testenden Speichers gleich 32 Bit beträgt:
  • (1) Lösche alle Zellen des getesteten Speichers mittels einer Schleife L1, die 32 mal wiederholt wird.
  • (2) Wähle eine der gelöschten Speicherzellen als Testzelle und schreibe "1" in diese Speicheradresse ein (A = Adresse i).
  • (3) Lese die Daten an einer Adresse (A = Adresse i + j) in der Nachbarschaft der Testzelle als Störzelle und prüfe sie.
  • (4) Lese die Testzellenadresse (A = Adresse i) aus und prüfe den Einfluß des Zugriffs auf die Störzelle.
  • (5) Stelle fest, ob der Zugriff auf die übrigen 31 Bit ohne die Testzelle als Störzellen beendet ist, nachdem die Störzellenadresse (A = Adresse i + j) erneut ausgelesen wurde, und prüfe sie, und wenn er nicht beendet ist, kehre über eine Schleife L2 zum Verarbeitungsschritt (3) zurück. Wiederhole (3)-(4)-(5).
  • (6) Schreibe die Daten "0" in die Testzellenadresse, um sie zu löschen, nachdem alle übrigen Zellen als die Störzellen für die Testzelle ausgelesen wurden. Stelle dann fest, ob die obigen Auslese- und Prüfprozesse unter Verwendung aller Zellen als Testzellen beendet sind. Wenn nicht, addiere 1 (i = i + 1) zur gegenwärtigen Testzellenadresse (A = Adresse i) und kehre über eine Schleife L3 zum Verarbeitungsschritt (2) zurück.
  • Das Programm des Galoppmusters der Fig. 15 und der Fluß ist beendet, wenn die Prüfung für die Testzellen durch Ausführen der Schritte (2)-(6) beendet ist. Genaugenommen wird das Galoppmuster durch Ausführen der Schritte (1)-(6) in einer Form, bei der die Daten "0" und "1" in einer umgekehrten Musterprüfung invertiert wurden, beendet, was hier jedoch weggelassen wurde. Auf diese Weise kann durch Ausnutzen der Regelmäßigkeit des erzeugenden Musters auch ein langes Testmuster mit n² Folgen durch ein Programm mit nur wenigen Zeilen in einer Schleifenstruktur ausgedrückt werden, wie es in der Fig. 15 gezeigt ist.
  • Die Fig. 16 zeigt die Möglichkeit der parallelen Ausführung, bei der zwei ALPGs (I) und (II) alternativ den Schritten des Programms mit gleichem Inhalt zugeordnet werden, dessen Flußdiagramm schematisch in der Fig. 15 dargestellt ist. Im Ergebnis ist für alle drei Schleifen L1, L2 und L3 der Fig. 16 derjenige ALPG, der den Schritt am Startpunkt der Rückkehrschleife ausgeführt hat, und der ALPG, der den Schritt am Ende der Rückkehrschleife ausgeführt hat, immer der gleiche, und es ist daher unmöglich, die Geschwindigkeit durch den alternativen Betrieb der beiden ALPGs zu erhöhen, wenn das gezeigte Programm ausgeführt wird.
  • Die Schleife L1 der Fig. 16 ist eine Wiederholung des gleichen Schrittes, in dem der ALPG (I) allein arbeitet, und eine alternative Ausführung in den ALPGs (I) und (II) ist unmöglich. Die Schleife L2 stellt eine wiederholte Ausführung mit der Rückkehr vom Schritt (5) zum Schritt (3) dar, und die Schritte (3), (4) und (5) werden alternativ nacheinander durch (I), (II) und (I) ausgeführt, bei der Rückkehr der Schleife L2 von Schritt (5) zum Schritt (3) ist jedoch eine parallele Ausführung unmöglich, da der gleiche ALPG (I) zwei aufeinanderfolgende Schritte ausführen muß. Es ist auch ersichtlich, daß in der Schleife L3 bei der Ausführung der Rückkehr der Schleife das (6) und (2) zugeordnete ALPG immer (II) ist und daher nicht zwei verschiedene ALPGs die Aufgaben übernehmen können.
  • Andererseits wird bei jedem Schritt des in der Fig. 16 gezeigten Programms die in der Fig. 15 gezeigte Adressenberechnung durchgeführt. Folglich ist es, damit zwei ALPGs ein Programm alternativ ausführen können, erforderlich, daß einer, davon Operationen durchführt, nachdem er das Ergebnis der Operationen des anderen ALPGs kennt. Bei dem bekannten ALPG-System wurde das nicht berücksichtigt, und es war auch bei der Adressenberechnung eine parallele Programmausführung nicht möglich.
  • Wie erläutert, kann daher zum Zwecke der Erhöhung der Geschwindigkeit das Testprogramm für eine IC-Testvorrichtung mit einem ALPG nicht bei einer IC- Testvorrichtung mit N parallelen ALPGs verwendet werden. Dafür sind unbedingt neue Maßnahmen erforderlich.
  • Die US-A-4 389 723 beschreibt ein System mit den Merkmalen im Oberbegriff der beiden Patentansprüche 1 und 5. Die EP-A-0 211 087, die ein Dokument zum Stand der Technik im Sinne des Art. 54(3) EPC ist, beschreibt ein System mit parallel angeordneten arithmetischen Logikeinheiten, legt jedoch die Umwandlung von Folgen von Befehlen in Sätze von Befehlen für eine parallele Verarbeitung wie bei der vorliegenden Erfindung nicht nahe.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Aufgabe der Erfindung ist es, einen Mustergenerator zu schaffen, mit dem die obigen Probleme des Standes der Technik überwunden und durch den parallelen Betrieb einer Anzahl von ALPGs ein Muster mit hoher Geschwindigkeit erzeugt werden kann.
  • Diese Aufgabe wird mit dem Mustergenerator, der im Patentanspruch 1 angegeben ist, und mit dem Verfahren nach Patentanspruch 5 gelöst.
  • Gemäß einer Ausführungsform der Erfindung werden Schleifen vorab teilweise in einem Computer so umgewandelt, daß ein Testprogramm (Mikroprogramm), das für eine IC-Testvorrichtung mit einem ALPG aufgestellt wurde, sequentiell und alternativ von N ALPGs ausgeführt werden kann, wobei insbesondere der Gegensatz in der in den Schleifen nach Fig. 16 erzeugten Abfolge vermieden wird. Die Verarbeitungsschritte, die von jedem der N ALPGs bei dem so umgewandelten Programm ausgeführt werden können, werden auf der Basis des Programms für einen ALPG herausgenommen und ein Programm für N ALPGs daraus gebildet, so daß die Verarbeitung, die als Ergebnis des Herausnehmens diskret erfolgt, korrekt ausgeführt werden kann. Das oben beschriebene Problem kann durch Umwandeln des Programms auf diese Weise zur Verarbeitung und durch Übertragen davon vor der Ausführung des Tests vom Computer zum Befehlsspeicher 9 jedes der ALPGs vermieden werden.
  • Die Fig. 4 und 5 zeigen Beispiele des Programms, mit dem die Schleifen in dem Programm der Fig. 16 für eine parallele Ausführung in zwei ALPGs derart umgewandelt werden, daß sie von den ALPGs (I) und (II) ausgeführt werden können. Ein wichtiger Aspekt der Erfindung liegt darin, daß jedes der ALPG-Programme durch das vorherige Umformen der Schleifen mittels einer Berechnungseinrichtung derart umgewandelt wird, daß, wie in den Fig. 4 und 5 gezeigt, die Anzahl der Schritte in einer Schleife ein ganzzahliges Vielfaches der Anzahl von parallel angeordneten ALPGs ist, damit die parallele Ausführung zum Erhöhen der Geschwindigkeit möglich wird.
  • Im folgenden wird ein Verfahren zum Umwandeln eines Programms und der Zuordnung davon zu zwei ALPGs genauer erläutert, wobei die in den Fig. 4 und 5 gezeigte parallele Ausführung mit zwei ALPGs als Beispiel verwendet wird. Die Fig. 4(a) ist mit der Fig. 16 identisch. Die Fig. 4(b) zeigt den Zwischenzustand, in den die innersten Schleifen L1 und L2 der Fig. 4(a) umgewandelt werden. Zuerst wird, da die Anzahl der Schritte in der Schleife L1 gleich 1 ist, die Schleife so umgewandelt, daß sie verdoppelt wird, d. h. so daß die Anzahl der Schritte gleich 2 ist, und die Anzahl der Wiederholungen der Schleife wird von 32 auf 16 herabgesetzt. Auf diese Weise kann der Verarbeitungsschritt (1) alternativ von den beiden ALPGs (I) und (II) ausgeführt werden. Andererseits wird, da die Anzahl der Schritte in der Schleife L2 gleich 3 ist, wenn diese zur Verdopplung umgewandelt wird, die Anzahl der Schritte gleich 6, was ein ganzzahliges Vielfaches der Anzahl von ALPGs ist, d. h. 2 · 3, was eine alternative und parallele Ausführung möglich macht. Bei diesem Beispiel von L2 ist jedoch, da die Anzahl von Wiederholungen der Schleife gleich 31 ist, was eine ungerade Zahl ist, die Anzahl von Wiederholungen der Schleife nach der Verdoppelungsumwandlung gleich 1 S. und die verbleibende Schleife wird vor L2' angeordnet wie sie ist. In diesem Fall wird ein anderes Umwandlungsverfahren verwendet, bei dem alle Schritte in L2' eingeschlossen werden und die Verarbeitung in der Mitte der Schleife diese verläßt.
  • Dann wird die äußere Schleife L3' auf die gleiche Weise umgewandelt. Dabei umfaßt die Anzahl der Schritte in der Schleife L3' die darin umgewandelte Schleife L2', wobei die Anzahl der Schritte darin berücksichtigt werden sollte. Die Anzahl der Schritte in L3' ist daher
  • 4 + (6 · 15) + 1 = 95.
  • Folglich kann die Beziehung, daß die Anzahl der Schritte ein ganzzahliges Vielfaches der Anzahl von ALPGs ist, die gleich 2 ist, nicht erhalten werden, und die sukzessive Ausführung ist bei der Rückkehr der Schleife L3' nicht möglich. Die Fig. 4(c) zeigt das Ergebnis, das beim Umwandeln der Schleife L3' in 190 Schritte erhalten wird, was zweimal so groß ist wie 95, so daß die Anzahl der Schritte in der Schleife L3' um ein ganzzahliges Vielfaches, d. h. das 2-fache größer ist als die Anzahl der ALPGs. Die Anzahl der Wiederholungen in der durch diese Umwandlung erhaltenen Schleife L3" ist gleich 16, was die Hälfte von 32 ist, da die Schleife in die doppelte Anzahl von Schritten umgewandelt wird.
  • Das in der Fig. 4(c) gezeigte, wie oben umgewandelte Programm kann trotz des Vorhandenseins der Schleifen ohne auftretende Gegensätze alternativ und aufeinanderfolgend von zwei ALPGs ausgeführt werden.
  • In der Fig. 4(c) wird in der zweiten Hälfte der Umwandlung in der Schleife L3" aufgrund der Tatsache, daß die Anzahl von Wiederholungen eine ungerade Zahl ist, die verbleibende, vor der Schleife L2' hinzugefügte Verarbeitung wie in der Fig. 4(b) gezeigt hier zu der Schleife L2' hinzugefügt. Dies erfolgt unter Berücksichtigung der Leichtigkeit der Zuordnung der Programme zu den ALPGs (I) und (II).
  • Die Fig. 5(a) und 5(b) zeigen die neuen Programme, die durch das Herausnehmen der jeweiligen Schritte für den ALPG (I) und (II) aus der Fig. 4(c) gebildet werden.
  • Andererseits ist es aufgrund der Tatsache, daß das so umgewandelte und den ALPGs zugeordnete Programm bei jedem der ALPGs nur die Ausführung der zugeordneten Verarbeitungsschritte mit einem Intervall gleich der Anzahl der ALPGs beinhaltet, erforderlich, ihnen den Inhalt der Verarbeitungsschritte als akkumulierter Befehl mitzuteilen, die vom anderen ALPG ausgeführt werden.
  • Dies wird im folgenden genauer erläutert.
  • Die Fig. 6(a) zeigt den Betrieb eines ALPG der bekannten Art, wobei S den Zustand des internen Operationsregisters usw. in den ALPGs darstellt und O das Ausgangssignal der ALPGs anzeigt. g ist ein Ausgabebefehl, um O auf der Basis von S ohne Änderung des internen Zustandes S für den Betrieb der ALPGs zu erhalten. f ist ein Erneuerungsbefehl für den internen Zustand. Es sei ST der interne Zustand zu einem Zeitpunkt (Zyklus) T. Auf der Basis des Ausgabebefehles gT wird zum gleichen Zeitpunkt (Zyklus) ein Ausgangssignal OT erhalten. ST wird durch einen Erneuerungsbefehl fT für den internen Zustand und einen anderen internen Zustand ST+1 für den Betrieb zum folgenden Zeitpunkt (Zyklus) T+1 erneuert. Es ist damit möglich, den Aspekt darzustellen, daß die ALPGs aufeinanderfolgend ihren internen Zustand erneuern und aufgrund der folgenden zwei Gleichungen entsprechende Ausgangswerte ausgeben:
  • OT = gT (ST) (1)
  • ST+1 = fT (ST) (2)
  • Die Fig. 6(b) zeigt den Aspekt in dem Fall, daß durch sequentielle Ausgabe mittels dreier ALPGs anstelle der obigen zwei ALPGs die gleiche Ausgangssignalfolge wie in der Fig. 6(a) erhalten wird. Jeder der ALPGs realisiert sequentiell die diskreten internen Zustände und die Ausgangssignale, die ursprünglich für ein ALPG sind, während zwischen aufeinanderfolgenden ALPGs die Operationen mit einer Verschiebung von einem Zyklus ausgeführt werden. Der Betrieb des ALPG (I) kann durch die folgenden beiden Gleichungen ausgedrückt werden:
  • OT = GT (ST) (3)
  • ST+3 = FT (ST) (4)
  • Aus den Gleichungen (1) und (3) ergibt sich
  • OT = gT (ST) = GT (ST)
  • und damit
  • gT = GT (5)
  • und aus den Gleichungen (2) und (4)
  • ST+3 = fT+2(ST+2) = fT+2 · fT+1(ST+1) = fT+2 · fT+1 · fT(ST) = FT(ST)
  • und damit
  • FT = fT+2 · fT+1 · fT, (6)
  • wobei fT+2 · fT+1 · fT, eine Akkumulation von Befehlseffekten anzeigt, z. B. fT heißt +1 für das Separationsregister, fT+1 ist der Befehl für +3 und fT+2 der für -2, FT ist dann +2, was eine Akkumulation der Effekte von +1+3-2 ist.
  • Im allgemeinen gilt für N ALPGs
  • OT = GT (ST) (7)
  • ST+N = FT (ST) (8)
  • GT = gT (9)
  • FT = fT+N-1 · fT+N-2 · ... · fT+2 · fT+1 · fT. (10)
  • Diese vier Gleichungen (7), (8), (9) und (10) stellen das Prinzip zur Bildung eines Parallelprogramms dar.
  • Es wurde damit das Verfahren zur Bildung des Parallelprogramms beschrieben. Hier ist der Ausgangsbefehl GT der gleiche wie der herkömmliche Ausgangsbefehl gT, wie sich aus der Gleichung (9) ergibt, und es ist keine spezielle Hardware, die bisher nicht verwendet wurde, erforderlich, um ihn zu realisieren. Der Erneuerungsbefehl FT für den internen Zustand ist eine Akkumulation von N herkömmlichen Erneuerungsbefehlen f für den internen Zustand, wie es die Gleichung (10) anzeigt, was nicht mit dem bekannten Aufbau der Operationsvorrichtung für einen ALPG realisiert werden kann.
  • Die Fig. 17 zeigt den Aufbau einer Operationsvorrichtung bei einem bekannten ALPG. Ein solcher Aufbau ist in der JP-B-54-36055 und der JP-B-57-52679 beschrieben. Es wurde die bekannte Operationsvorrichtung wie in der Fig. 17 gezeigt so aufgebaut, daß ein Laden des Wertes in einem Konstantdatenregister 2A in ein Verarbeitungsregister, eine Addition und eine Subtraktion bewirkt wurde.
  • Im Gegensatz dazu erfordert der akkumulierte Verarbeitungsbefehl Funktionen, die die bekannte Operationsvorrichtung nicht aufweist. Die Fig. 7 zeigt eine bekanntes Operationsbefehlssystem und ein akkumuliertes Operationsbefehlssystem. Die Fig. 7(a) zeigt einen der einfachsten Sätze von bekannten Operationsbefehlen und die Fig. 7(b) einen Satz von akkumulierten Befehlen. Gleichermaßen zeigt die Fig. 7(c) einen erweiterten bekannten Befehlssatz und die Fig. 7(d) eine Satz von akkumulierten Befehlen dafür. n, n&sub1; und n&sub2; haben hier verschiedene Werte, abhängig von der Art der akkumulierten Befehle und der Reihenfolge der angeordneten Befehle. Es ist daher schwierig, sie zu verwenden, die vorab in das Konstantdatenregister eingegeben wurden. Folglich wird erfindungsgemäß der akkumulierte Operationsbefehl durch Vorsehen einer Operationsvorrichtung 3A er reicht, in der die Informationen n, n&sub1; und n&sub2; vorab in einen Speicher 1A eingespeichert werden und diese Informationen bei der Verarbeitung ausgelesen werden, wobei mit den Werten im Konstantdatenregister 2A und dem Operationsregister 4A mit dem in der Fig. 11 gezeigten Aufbau der Operationsvorrichtung arithmetische Operationen bewirkt werden.
  • Im folgenden wird anhand eines konkreten Programms als Beispiel das Verfahren zum Erstellen eines Parallelprogramms und der Aspekt der Ausführung in der Operationsvorrichtung beschrieben und dessen Betrieb erläutert.
  • Die Fig. 8(a) zeigt ein ALPG-Programm für einen bekannten ALPG. Das Programm besteht aus sieben Zeilen und enthält in der Ausführungsreihenfolge Steuerbefehle für die Reihenfolge der Programme, Operationsbefehle für das Laden und für arithmetische Operationen und Ausgabebefehle, die das Ausgangssignal des Operationsregisters direkt oder invertiert ausgeben. Zur einfacheren Erläuterung sind hier die Steuerbefehle für die Ausführungsreihenfolge als solche nicht angegeben, nur ihre Reihenfolge. Außerdem ist das Operationsbefehlssystem das der Fig. 7(a). LDA R ist der Befehl zum Laden des Wertes des Konstantdatenregisters R in das Operationsregister A; INCR A der Befehl, 1 im Operationsregister A hinzuzuaddieren; DECR A der Befehl, 1 im Operationsregister A abzuziehen und HOLD der Befehl, den Wert im Operationsregister A nicht zu ändern.
  • OUTA ist ein Ausgabebefehl zur Ausgabe des Wertes des Operationsregisters A wie er ist und OUTAB der Befehl, die Werte des Operationsregisters A invertiert auszugeben.
  • Es sei der Wert des Konstantdatenregisters R gleich 100 und der Anfangswert im Operationsregister A gleich 0. Die Fig. 10(a) zeigt die Ausgangssignalfolge, die beim Ausführen des Programms der Fig. 8(a) erhalten wird.
  • Für den Fall, daß mit drei ALPGs als Beispiel die gleiche Ausgangssignalfolge wie oben erhalten wird, wird nun die Erzeugung eines Parallelprogramms beschrieben.
  • Wie bereits angegeben, wird das Parallelprogramm durch Zusammengeben von N (in diesem Beispiel 3) ALPGs im Anfangsprogramm in der Reihenfolge der Ausführung erhalten. Die Fig. 8(b) zeigt die wiederholten Teile, die umgewandelt werden, um die Reihenfolge der Ausführung des Programms der Fig. 8(a) zu erklären.
  • In den Fig. 9(a), 9(b), 9(c) sind immer drei Befehle, beginnend mit einer um jeweils eins verschobenen Position, in der in der Fig. 8(b) gezeigten Reihenfolge der Ausführung zusammengefaßt. Zum Beispiel sind in der Fig. 9(a) immer drei Befehle zusammengefaßt, beginnend mit der Position, der dem Beginn in der Fig. 8(b) um 1 später folgt. Prozesse, bei denen der gleiche Befehl erhalten wird, sind hier als Wiederholungen darge stellt. Die dritte Zeile in der Fig. 9(a) umfaßt die drei zusammengefaßten Befehle (2), (3) und (4) des Originalprogramms. Der Ausgabebefehl verwendet den ersten dieser drei Befehle, der (2) ist, wie er ist, und der Operationsbefehl setzt 3, d. h. +1, Lade A R und -1 zusammen, wodurch Lade A (R-1) entsteht.
  • Die Fig. 9(b) und 9(c) zeigen die Ergebnisse, die durch das Umwandeln des Originalprogramms auf die gleiche Weise erhalten werden. Hier sind im Gegensatz zu der Tatsache, daß alle in das Operationsregister A geladenen Zahlen im Originalprogramm Werte im Konstantdatenregister R sind, diese nach der Umwandlung R-2, R-1, R, R+1, R+2. Außerdem ist im Gegensatz zu der Tatsache, daß die Operationsbefehle im Originalprogramm +1 sind, die Anzahl der Operationen wie ADDA (Addition) 3, SUBA (Subtraktion) 3 usw. erhöht. Die Anzahl von Operationen wie ±1, ±2, ±3 usw. kann durch Vorab-Speicherung im Speicher 1A der Operationsvorrichtung berechnet werden. Durch die Übernahme des erfindungsgemäßen Aufbaus der Operationsvorrichtung können alle der in den Fig. 9(a), 9(b) und 9(c) gezeigten Operationen realisiert werden.
  • Die Fig. 10(b), 10(c) und 10(d) zeigen jeweils das Ergebnis der Ausführung der Fig. 9(a), 9(b) und 9(c). Es ist ersichtlich, daß ein Ausgangssignal entsprechend der Fig. 10(a), das die anfängliche Ausgangsfolge ist, sequentiell aus den drei ALPGs erhalten werden kann.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt schematisch eine Ausführungsform des erfindungsgemäßen Mustergenerators.
  • Fig. 2 zeigt schematisch die zeitliche Folge der Verarbeitung wesentlicher Signale in der Fig. 1.
  • Fig. 3 ist ein Blockschaltbild für den Aufbau einer IC-Testvorrichtung mit einem erfindungsgemäßen Mustergenerator.
  • Fig. 4 und 5 zeigen Schemata zur Erläuterung des Programmumwandlungsverfahrens und des Verfahrens für die Zuordnung der ALPGs, wenn zwei ALPGs parallel betrieben werden.
  • Fig. 6 ist ein Schema zur Erläuterung eines Erzeugungsverfahrens für ein Parallelprogramm, wenn drei ALPGs parallel betrieben werden.
  • Fig. 7 ist ein Schema zur Erläuterung eines bekannten Verarbeitungsbefehlssystems und eines akkumulierten Verarbeitungsbefehlssystems.
  • Fig. 8 und 9 zeigen schematisch ein konkretes Beispiel für die Ausbildung eines Parallelprogramms.
  • Fig. 10 ist ein. Schema zur Erläuterung des Ergebnisses der Ausführung des Parallelprogramms hinsichtlich des konkreten Beispiels in den Fig. 8 und 9.
  • Fig. 11 zeigt schematisch eine Ausführungsform des Aufbaus einer erfindungsgemäßen Operationsvorrichtung in einer IC-Testvorrichtung.
  • Fig. 12 zeigt schematisch eine andere Ausführungsform des Aufbaus einer erfindungsgemäßen Operationsvorrichtung.
  • Fig. 13 zeigt schematisch und in etwa den Aufbau einer bekannten Speicher- IC-Testvorrichtung.
  • Fig. 14 zeigt den inneren Aufbau des Mustergenerators der Fig. 13:
  • Fig. 15 zeigt ein Beispiel für das Mikroprogramm bei einer Galoppmustererzeugung, die als Speichertestmuster bekannt ist.
  • Fig. 16 zeigt schematisch das Flußdiagramm der Fig. 1 S. Fig. 17 zeigt schematisch den Aufbau einer bekannten Operationsvorrichtung.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Eine Ausführungsform des erfindungsgemäßen Mustergenerators wird nun näher anhand der Fig. 1 erläutert.
  • In der Fig. 1 ist die Anzahl von ALPGs gleich 3, und es wird durch den Parallelbetrieb der drei ALPGs (N = 3) sequentiell ein Muster ausgegeben.
  • Vor allem umfaßt er einen Speicher 5S, in dem ein Befehl für die Steuerung der Reihenfolge der Ausführung eines Programms für einen ALPG (Wiederholungskontrolle usw.) und ein Operationsselektionsbefehl 5S gespeichert sind; einen Programmzähler 6S, der Ausleseadressen 10S für diesen Speicher 5S ausgibt; eine Steuerung 7S, die den Steuerbefehl 11S, der vom Speicher 5S ausgelesen wurde, interpretiert und an den Programmzähler 6S ein entsprechendes Steuersignal 12S ausgibt und die daraufhin zu erzeugende Adresse angibt; einen Speicher 1A, auf den unter der Adresse 10S' zugegriffen wird, die der Adresse 105 entspricht, die vom Programmzähler 6S erzeugt wurde, und der Ausleseinformationen 50 abgibt, die für den Betrieb einer Arithmetikdaten- Operationsschaltung 3A erforderlich sind; ein Konstantdatenregister 2A, das von vornherein Konstantdaten 51 speichert und festhält, die für den Betrieb erforderlich sind; wobei die Arithmetikdaten-Operationsschaltung 3A arithmetische Operationen bewirkt, bei denen Operationsinformationen verwendet werden, die vom Speicher 1A ausgegeben werden; ein Operationsregister 4A, das jedesmal das Operationsergebnis 52 aufnimmt und festhält; und eine Ausgabeschaltung (in der Zeichnung nicht gezeigt), die das Ausgangssignal 53 des Operationsregisters 4A so ausgibt wie es ist oder die das Ausgangssignal (53'-1) nach der Ausführung von arithmetisch-logischen Prozessen daran ausgibt. In der Fig. 1 kann zwischen der Adresse 10S und der Adresse 10S' eine Pufferschaltung vorgesehen sein, und die Adressen 10S' und 10S können in den Speicher 1A eingegeben werden wie sie sind.
  • Auch wenn die Speicher 1A und 5S in der Fig. 1 als separate Speicher dargestellt sind, können sie einen einzigen Speicher bilden, wenn der Steuerbefehl über die Reihenfolge der Programmausführung und der Operationsbefehl vorab so gespeichert werden, daß wie angegeben eine Anzahl von ALPGs parallel betrieben werden kann.
  • Der ALPG-Gesamtaufbau umfaßt drei ALPGs (100-1, 100-2, 100-3) wie oben beschrieben sowie eine sequentielle Ausgangsschaltung 700, die sequentiell eines der Ausgangssignale (53'-1, 53'-2, 53'-3) der ALPGs auswählt und das ausgewählte Ausgangssignal als Ausgangssignal 600 ausgibt; einen Taktgenerator 400, der Taktsignale an jeden der ALPGs und an die sequentielle Ausgangsschaltung 700 abgibt; einen Computer 1, der die von einem Nutzer erstellten Programme analysiert, für jeweils N Verarbeitungen (in dieser Ausführungsform 3) die Parallelverarbeitung in der Ausführungsreihenfolge bewirkt und für jeden ALPG (100-1, 100-2, 100-3) ein Programm bildet; und einen Datenübertragungsweg 22, über den die erzeugten Befehle und Operationszahlen übertragen werden.
  • In der Fig. 1 ist der innere Aufbau der mit 100-2 bis 100-N bezeichneten Mustergeneratoren nicht dargestellt, da er identisch ist mit dem von 100-1.
  • In der Fig. 12 ist ein konkreter Aufbau für die Operationsvorrichtungseinheit der Fig. 1 gezeigt. Die ALU der Fig. 12 kann an einem Eingangssignal eine Operation ±n (0 ≤ n ≤ N) ausfuhren. In der Fig. 12(b) sind die Positionen des Selektors und der ALU gegenüber der Fig. 12(a) vertauscht, mit dem gleichen Effekt. Wenn das Operationsbefehlssystem durch die Fig. 7(d) dargestellt wird, kann die Vorrichtung außerdem so aufgebaut sein, daß am Ausgang des Konstantdatenregisters ein Multiplikator angeordnet ist. Zusätzlich kann, auch wenn diese Ausführungsform erläutert wird, bei der angenommen wird, daß ein Konstantdatenregister zu einem Operationsregister gehört, eine Anzahl von Konstantdatenregistern für jedes Operationsregister vorgesehen sein. Wenn Operationen durch eine Anzahl von Konstantdatenregistern für ein Operationsregister bewirkt werden, wird der Aufbau der Operationsvorrichtung komplizierter, die Vorrichtung kann jedoch so aufgebaut werden, daß sich am Ausgang jedes Konstantdatenregisters ein Multiplikator befindet und daß das Ergebnis, das durch Addieren und Subtrahieren der Ausgangssignale davon erhalten wird, in das Operationsregister eingegeben wird, nachdem es mit dem Operationsregister weiteren Additionen und Subtraktionen unterworfen wurde.
  • Auch wenn die Operationsgeschwindigkeit durch die Verwendung von drei ALPGs bei dieser Ausführungsform erhöht ist, ist die Anzahl der ALPGs nicht auf 3 beschränkt, sondern es kann jede beliebige Anzahl davon verwendet werden. Auch ist, auch wenn die Erläuterung anhand der Fig. 1 davon ausgeht, daß der Computer die Programme parallel anordnet und daß die ALPGs über Hardware verbunden sind, das Verbindungsverfahren nicht darauf beschränkt, sondern die Verbindung kann auch über Magnetbänder, Disketten usw. bewerkstelligt werden. In diesem Fall ist zwischen der das Aufzeichnungsmedium auslesenden Vorrichtung und den ALPGs ein Datenübertragungsweg ausgebildet.
  • Auch wenn die Erläuterung bei dieser Ausführungsform davon ausgeht, daß die Ausgangsadresse 10S des Programmzählers 6S und die Adresse 10S' für den Zugriff auf den Speicher 1A identisch sind, kann dazwischen ein Tabellenspeicher oder eine Logikschaltung vorgesehen sein, so daß auf den Speicher 1A mit einer umgewandelten Adresse zugegriffen wird. Was wichtig ist, daß die Adresse 10S' und die Adresse 10S unzweideutig einander entsprechen.
  • Auch wenn bei der obigen Erläuterung angenommen wird, daß der Speicher 5S und der Speicher 1A überschreibbar sind, ist dies nicht wichtig, es können auch, wenn die Arten der zu erzeugenden Testmuster begrenzt sind, für den Speicher 5S und den Speicher 1A ROMs verwendet werden, in denen von vornherein Programme mit parallelen Verarbeitungsvorgängen gespeichert sind.
  • Auch wenn die obige Erläuterung davon ausging, daß bei der Ausführungsform numerische Werte mit etwa 0 ≤ n ≤ N aus dem Speicher 1A ausgelesen werden, und daß Werte, die durch Addieren und Subtrahieren davon erhalten werden, in das Konstantdatenregister oder die Operationsregister eingegeben werden, kann die Vorrichtung so aufgebaut sein, daß sie mit einem Speicher versehen ist, der eine Bitbreite hat, die größer ist als die des Operationsregisters, und in dem die Werte des Speichers 1A, die durch Addieren und Subtrahieren von n zu oder von der Konstanten R erhalten werden, vorab gespeichert sind, und kein Konstantdatenregister verwendet wird.
  • Die Vorrichtung kann auch mit einer Anzahl von Konstantdatenregistern versehen sein, in denen die Werte von R ± n vorab eingespeichert werden.
  • Außerdem kann die sequentielle Ausgangsschaltung 700 durch einen Multiplexer gebildet werden, wie es in der JP-A-54-12657 beschrieben ist, oder durch ein Schieberegister, wie es in der JP-A-56-101224 beschrieben ist.
  • In der Fig. 3 ist ein Aufbau gezeigt, bei dem ein erfindungsgemäßer Mustergenerator bei einer IC-Testvorrichtung angewendet wird.
  • Es ist eine Hochgeschwindigkeits-IC-Testvorrichtung dargestellt, bei der die Mustergeneratoreinheit 2 der Vorrichtung nach dem Stand der Technik, die in der Fig. 13 gezeigt ist, durch eine Hochgeschwindigkeits-Mustergeneratoreinheit nach dem Parallelausführungsverfahren ersetzt ist, die aus dem ALPG (I) 17, dem ALPG (II) 18, einem Taktteiler/Verteiler 21, UND-Gattern 19-1, 19-2 und einem ODER-Gatter 20 besteht, das sequentiell und selektiv zwischen den Ausgangssignalen der beiden ALPGs umschaltet.
  • Der Zeitgenerator 3, der auch bei dem System nach dem Stand der Technik verwendet wird, gibt das Basis-Operationstaktsignal 22 zum Betreiben der Mustergeneratoreinheit und das Zeitsignal 4 für den Wellenformer T1 und den Komparator T3 aus.
  • Der Computer 1 analysiert vor der Ausführung eines Tests die Programmstruktur des Testmusterprogramms für die Mustererzeugung für den Aufbau nach dem Stand der Technik, der in der Fig. 13 gezeigt ist, wandelt es in ein Testprogramm für den ALPG (I) und den ALPG (II) um und überträgt es über einen Datenbus 22 zu jedem der beiden ALPGs. Der Computer 1 schickt zu den anderen Teilen der Fig. 3 verschiedene Daten, um die für das Ausführen des Tests erforderlichen Einstelloperationen und Analyseoperationen für die in einem Fehlerspeicher gespeicherten Daten zu bewirken. Diese sind nicht besonders bemerkenswert verschieden von denen für die bekannte IC-Testvorrichtung.
  • Wie für die obige Ausführungsform erläutert, kann dadurch, daß der Computer 1 ein Programm zum Erzeugen von Testmustern, mit dem N ALPGs parallel arbeiten können und das über einen Datenbus in der IC-Testvorrichtung vor der Ausführung des Tests in einem ALPG-Befehlsspeicher (entsprechend dem Speicher 5S in der Fig. 1) gespeichert wird, jeder der ALPGs mit geringer Geschwindigkeit arbeiten, wobei dessen Testzyklus N-mal so lang ist wie der minimale Testzyklus, der bei der IC-Testvorrichtung erforderlich ist. Folglich ist es möglich, ICs oder LSIs zu verwenden, deren Operationsgeschwindigkeit geringer ist als die neuerer Speicher, deren Geschwindigkeit erheblich erhöht wurde, um eine Testvorrichtung dafür zu schaffen, und die Testvorrichtung dafür kann leicht realisiert werden.
  • Erfindungsgemäß ist es möglich, Operationsbefehle zur Ausgabe diskreter Werte des Testmusters nach einem Nutzerprogramm zu erzeugen und auszuführen. Folglich ist es möglich, ein Testmuster mit einer Geschwindigkeit zu erzeugen, die um ein Mehrfaches höher ist die die höchste Operationsgeschwindigkeit der einzelnen ALPGs, da die gewünschten Testmuster unter Verwendung einer Anzahl von ALPGs sequentiell ausgegeben werden.

Claims (5)

1. Mustergenerator zur Ausführung einer Folge von Operationsverarbeitungsbefehlen unter Erzeugung eines Testmusters, mit
N Algorithmikmuster-Generatoren (100-1...100-N'), deren jeder eine arithmetische Datenoperationsschaltung (3A), eine Speichereinrichtung (1A, 5S) und ein Register (2A) aufweist, zum Erzeugen eines Testmuster-Ausgangs (53'-1...53'-N) parallel zu den anderen Algorithmikmuster-Generatoren (100-1...100-N), und
einer an die Ausgänge (53'-1...53'N) des ersten bis N-ten Algorithmikmuster-Generators (100-1...100-N) angeschlossenen sequentiellen Ausgangsstufe (700) zum mit Taktimpulsen (401) synchronen sequentiellen Ansteuern der Ausgänge (53'-1...53'-N) und Ausgeben des angesteuerten Ausgangs als Testmuster (600),
dadurch gekennzeichnet, daß der Mustergenerator ferner aufweist:
(a) einen Rechner (1) zum Konvertieren einer ursprünglichen Folge von Operationsverarbeitungsbefehlen in N konvertierte Folgen von Operationsverarbeitungsbefehlen, dadurch, daß
(1) die Anzahl von Schritten in jeder in der ursprünglichen Folge von Operationsverarbeitungsbefehlen enthaltenen Schleife zu einem ganzzahligen Vielfachen der Zahl N von zur Parallelverarbeitung verfügbaren Algorithmikmuster-Generatoren (100-1 100-N) gemacht und dadurch eine Zwischenfolge von Operationsverarbeitungsbefehlen gebildet wird, und
(2) die Operationsverarbeitungsbefehle der Zwischenfolge gemäß der Reihenfolge ihrer Ausführung akkumuliert und dadurch die N konvertierten Folgen von Operationsverarbeitungsbefehlen gebildet werden
und Zuordnen der N konvertierten Folgen von Operationsverarbeitungsbefehlen zu den N Algorithmikmuster-Generatoren, und
(b) einen Datenübertragungsweg (22) zum Laden der konvertierten Folgen von Operationsverarbeitungsbefehlen aus dem Rechner (1) in die N Algorithmikmuster-Generatoren (100-1...100-N),
wobei in jedem der N Algorithmikmuster-Generatoren (100-1...100-N)
die Speichereinrichtung eine erste Speichereinrichtung (5S) zum Speichern von Befehlen (11S) für die Steuerung der Reihenfolge der Ausführung der betreffenden konvertierten Folge von Operationsverarbeitungsbefehlen mittels der arithmetischen Datenoperationsschaltung (3A) sowie eine zweite Speichereinrichtung (1A) zum Speichern von Operationsinformationen (50) für die konvertierte Folge von Operationsverarbeitungsbefehlen aufweist,
das Register (2A) zum Betrieb der arithmetrischen Datenoperationsschaltung (3A) erforderliche Konstanten zuführt, und
ein Operationsregister (4A) vorgesehen ist, um das Operationsergebnis der arithmetischen Datenoperationsschaltung (3A) aufzunehmen und das Ausgangsmuster (53'-1...53'-N) des jeweiligen Algorithmikmuster-Generators (100-1...100-N) auszugeben.
2. Mustergenerator nach Anspruch 1, wobei jeder Algorithmikmuster-Generator (100-1 ... 100-N) in Kombination mit der ersten Speichereinrichtung (5S) und der zweiten Speichereinrichtung (1A), einen Programmzähler (6S) zum Erzeugen von Leseadressen (105, 10S') der ersten Speichereinrichtung (5S) und der zweiten Speichereinrichtung (1A) sowie eine Steuereinheit (7S) zum Interpretieren der aus der ersten Speichereinrichtung (5S) ausgelesenen Befehle (11S) zur Steuerung der Reihenfolge der Ausführung sowie zur Ausgabe von Steuersignalen an den Programmzähler (6S) aufweist.
3. Mustergenerator nach Anspruch 1 oder 2, wobei das Register (2A) ein Konstantdatenregister ist.
4. Mustergenerator nach Anspruch 1 oder 2, wobei das Register (2A) Werte enthält, die dadurch erhalten werden, daß zu bzw. von einem konstanten Wert (R) die Zahl n hinzuaddiert oder abgezogen wird, wobei n eine ganze Zahl ist, die den Ausdruck 0 ≤ n ≤ N erfüllt.
5. Verfahren zum Konvertieren und Ausführen einer Folge von ursprünglichen Operationsverarbeitungsbefehlen in einem Mustergenerator, der aufweist:
N Algorithmikmuster-Generatoren (100-1...100-N), die N Folgen von Befehlen parallel ausführen und deren jeder eine Speichereinrichtung (1A, 5S) zum Speichern von Operationsinformationen (50) für die Verarbeitung der Folge von Befehlen und eine aufgrund der Operationsinformationen (50) arbeitende arithmetische logische Datenoperationsschaltung (3A, 4A) aufweist, und
eine sequentielle Ausgangsstufe (700) zum sequentiellen Ansteuern der Ausgänge (53'-1...53'-N) der N Algorithmikmuster-Generatoren (100-1...100-N) zur Bildung des Ausgangsmusters des Mustergenerators,
dadurch gekennzeichnet, daß die Folge von ursprünglichen Operationsverarbeitungsbefehlen in N konvertierte Folgen von Operationsverarbeitungsbefehlen dadurch konvertiert wird, daß
(1) die Anzahl von Schritten in jeder in der ursprünglichen Folge von Operationsverbeitungsbefehlen enthalten Schleife zu einem ganzzahligen Vielfachen der Zahl N von zur Parallelverarbeitung verfügbaren Algorithmikmuster-Generatoren (100-1 ... 100-N) gemacht und dadurch eine Zwischenfolge von Operationsverarbeitungsbefehlen gebildet wird, und
(2) die Operationsverarbeitungsbefehle der Zwischenfolge gemäß der Reihenfolge ihrer Ausführung akkumuliert und dadurch die N konvertierten Folgen von Operationsverarbeitungsbefehlen gebildet werden,
und daß die N konvertierten Folgen von Operationsverarbeitungsbefehlen den N Algorithmikmuster-Generatoren zugeordnet werden.
DE3752280T 1986-07-30 1987-07-28 Mustergenerator Expired - Fee Related DE3752280T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61177548A JPH0754345B2 (ja) 1986-07-30 1986-07-30 Ic試験装置
JP62018310A JP2941274B2 (ja) 1987-01-30 1987-01-30 高速パターン発生器

Publications (2)

Publication Number Publication Date
DE3752280D1 DE3752280D1 (de) 1999-07-15
DE3752280T2 true DE3752280T2 (de) 2000-02-03

Family

ID=26354977

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3752280T Expired - Fee Related DE3752280T2 (de) 1986-07-30 1987-07-28 Mustergenerator

Country Status (3)

Country Link
US (1) US4905183A (de)
EP (1) EP0255118B1 (de)
DE (1) DE3752280T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5048018A (en) * 1989-06-29 1991-09-10 International Business Machines Corporation Debugging parallel programs by serialization
US5157664A (en) * 1989-09-21 1992-10-20 Texas Instruments Incorporated Tester for semiconductor memory devices
US5321700A (en) * 1989-10-11 1994-06-14 Teradyne, Inc. High speed timing generator
JPH03158779A (ja) * 1989-11-15 1991-07-08 Nec Corp Lsiのテストパタン作成方式
JP2771683B2 (ja) * 1990-07-17 1998-07-02 三菱電機株式会社 並列処理方式
US5313622A (en) * 1990-08-16 1994-05-17 National Instruments Timing apparatus and method for generating instruction signals
DE4143468C2 (de) * 1990-10-30 2000-03-16 Teradyne Inc Schaltungsanordnung zur Erzeugung von Ausgangsimpulsen und Zeitsteuerschaltung für eine Schaltungsprüfvorrichtung
JP2964644B2 (ja) * 1990-12-10 1999-10-18 安藤電気株式会社 高速パターン発生器
EP0591562A1 (de) * 1992-09-30 1994-04-13 International Business Machines Corporation Programmgesteuerte Optimierung einer prozessorgesteuerten Schaltung zur Generierung einer algorithmisch erzeugbaren Ausgangs-Sequenz von Werten
JP3323312B2 (ja) * 1993-12-28 2002-09-09 株式会社アドバンテスト 高速化した試験パターン発生器
JP3505266B2 (ja) * 1995-06-15 2004-03-08 三洋電機株式会社 プログラム実行装置
DE19680782C2 (de) * 1995-07-26 2002-11-21 Advantest Corp Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-Mustergenerator
US6061815A (en) * 1996-12-09 2000-05-09 Schlumberger Technologies, Inc. Programming utility register to generate addresses in algorithmic pattern generator
JPH10319095A (ja) * 1997-05-22 1998-12-04 Mitsubishi Electric Corp 半導体テスト装置
US6073263A (en) * 1997-10-29 2000-06-06 Credence Systems Corporation Parallel processing pattern generation system for an integrated circuit tester
JP3291001B2 (ja) 1998-02-09 2002-06-10 株式会社アドバンテスト 半導体デバイス試験装置
US6415409B1 (en) * 1999-11-03 2002-07-02 Unisys Corporation System for testing IC chips selectively with stored or internally generated bit streams
WO2003093845A2 (en) * 2002-05-06 2003-11-13 Nextest Systems Corporation Semiconductor test system having multitasking algorithmic pattern generator
US7600161B2 (en) * 2004-08-13 2009-10-06 Gm Global Technology Operations, Inc. Method of verifying integrity of control module arithmetic logic unit (ALU)
US7363566B2 (en) * 2005-05-24 2008-04-22 Advantest Corporation Pattern generator and test apparatus
US8607111B2 (en) * 2006-08-30 2013-12-10 Micron Technology, Inc. Sub-instruction repeats for algorithmic pattern generators
US7856607B2 (en) * 2007-11-02 2010-12-21 International Business Machines Corporation System and method for generating at-speed structural tests to improve process and environmental parameter space coverage

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5412657A (en) * 1977-06-30 1979-01-30 Takeda Riken Ind Co Ltd Ic tester
JPS5436055A (en) * 1977-08-25 1979-03-16 Nippon Sangyo Kikai Kk Interference oblique plate device for precipitating and removing fine floated materials in liquid
US4369511A (en) * 1979-11-21 1983-01-18 Nippon Telegraph & Telephone Public Corp. Semiconductor memory test equipment
JPS6030973B2 (ja) * 1980-01-18 1985-07-19 日本電気株式会社 高速パタ−ン発生器
FR2487920A1 (fr) * 1980-07-29 1982-02-05 Megatec Ind Generateur electrique actionne par le vent
US4397021A (en) * 1981-06-15 1983-08-02 Westinghouse Electric Corp. Multi-processor automatic test system
US4460999A (en) * 1981-07-15 1984-07-17 Pacific Western Systems, Inc. Memory tester having memory repair analysis under pattern generator control
JPS5994086A (ja) * 1982-11-19 1984-05-30 Advantest Corp 論理回路試験装置
US4639919A (en) * 1983-12-19 1987-01-27 International Business Machines Corporation Distributed pattern generator
JPH0641966B2 (ja) * 1984-02-15 1994-06-01 株式会社アドバンテスト パタ−ン発生装置
KR900001976B1 (ko) * 1984-11-01 1990-03-30 가부시끼가이샤 히다찌세이사꾸쇼 다수 개의 패턴 발생기를 포함하는 패턴 검사 장치
DE3676377D1 (de) * 1985-01-31 1991-02-07 Hitachi Ltd Generator fuer testmuster.
DE3685078D1 (de) * 1985-09-09 1992-06-04 Hitachi Ltd Speicherpruefgeraet.

Also Published As

Publication number Publication date
EP0255118A3 (de) 1989-12-13
EP0255118B1 (de) 1999-06-09
DE3752280D1 (de) 1999-07-15
US4905183A (en) 1990-02-27
EP0255118A2 (de) 1988-02-03

Similar Documents

Publication Publication Date Title
DE3752280T2 (de) Mustergenerator
DE3686436T2 (de) Speichersystem mit hoher leistung.
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69127101T2 (de) System für verteilte mehrfachrechnerkommunikation
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE4206286C2 (de) Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes
DE1928202A1 (de) UEberwachungs- und Statistikeinrichtung fuer Datenverarbeitungssysteme
DE2934971A1 (de) Datenverarbeitungssystem
DE2350884A1 (de) Datenverarbeitungssystem
DE19713421A1 (de) Halbleiterspeicher-Testvorrichtung
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE19524402C2 (de) Programmausführungssteuereinrichtung mit einer Adressierbarkeit entsprechend einer M-reihigen Pseudo-Zufallszahlenfolge
DE3400723C2 (de)
DE2725396A1 (de) Pufferspeicher
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE3587620T2 (de) Logikanalysator.
DE60015720T2 (de) Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem
DE69524315T2 (de) Speicherarchitektur für eine automatische Testeinrichtung mit Vektormodultabelle
DE3121046C2 (de)
DE19743707A1 (de) Speichertestvorrichtung
DE69031361T2 (de) Taktsignalgeneratorsystem
DE19746302A1 (de) Testvorrichtung für Halbleiterspeicher
DE69102770T2 (de) Hochgeschwindigkeitstester und Verfahren zur Erzeugung aufeinanderfolgender Schleifen von Datensignalen einer bestimmten Taktrate.
DE3314139C2 (de)

Legal Events

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