DE19680782C2 - Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-Mustergenerator - Google Patents
Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-MustergeneratorInfo
- Publication number
- DE19680782C2 DE19680782C2 DE19680782T DE19680782T DE19680782C2 DE 19680782 C2 DE19680782 C2 DE 19680782C2 DE 19680782 T DE19680782 T DE 19680782T DE 19680782 T DE19680782 T DE 19680782T DE 19680782 C2 DE19680782 C2 DE 19680782C2
- Authority
- DE
- Germany
- Prior art keywords
- pattern
- address
- sub
- value
- address signal
- 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
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/31813—Test pattern generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Description
Die vorliegende Erfindung bezieht sich auf ein Hochgeschwindigkeits-Mustergenerierungsverfah
ren, das zum Erzeugen von Testmustersignalen mit hoher Geschwindigkeit dient, und auf einen
Hochgeschwindigkeits-Mustergenerator, der unter Anwendung dieses Verfahrens arbeitet,
wobei das Verfahren und der Mustergenerator beim Einsatz in einem Halbleiterbauelement-Test
gerät oder dergleichen vorteilhaft sind. Das Halbleiterbauelement-Testgerät ist hierbei derart
ausgelegt, daß es ein Halbleiterbauelement, das zum Beispiel als eine integrierte Halbleiterschal
tung (IC), beispielsweise als IC-Speicher ausgebildet ist, dahingehend testet, ob das Halbleiter
bauelement ein auslegungskonformes (akzeptables oder fehlerfreies) Bauteil oder ein nicht
auslegungskonformes (fehlerhaftes) Bauteil ist.
Fig. 1 zeigt ein Beispiel eines Halbleiterbauelement-Testgeräts, das herkömmlicherweise zum
Testen eines Halbleiterbauelements, wie etwa eines IC-Speichers bzw. integrierten Halbleiter
speichers, eingesetzt wird. Wie in der Zeichnung gezeigt ist, enthält dieses Halbleiterbauelement-
Testgerät einen Mustergenerator 100, einen Datenwähler 200, ein im Test befindliches Bauele
ment, zum Beispiel einen integrierten Baustein (IC) 300 und einen logischen Vergleicher 400.
Der Mustergenerator 100 weist einen Folgesteuerabschnitt 110 und einen Mustererzeugungs
abschnitt 120 auf.
Der Folgesteuerabschnitt 110 weist gemäß der Darstellung in Fig. 2 eine Programmzähler
steuereinrichtung 111, einen Programmzähler 112, einen Befehlsspeicher 113, einen Schleifen
zähler 114 und ein Anfangswert-Speicherregister 115 auf. Der Befehlsspeicher 113 weist einen
Speicherbereich 113A zum Speichern von Folgesteuerbefehlen und einen Speicherbereich 113B
zum Speichern von Mustererzeugungsbefehlen auf. Auf diese Speicherbereiche 113A und 113B
wird mittels eines Adreßsignals zugegriffen, das von dem Programmzähler 112 zugeführt wird.
Wenn auf den Speicherbereich 113A zur Speicherung der Folgesteuerbefehle zugegriffen wird,
wird ein Folgesteuerbefehl aus diesem Speicherbereich 113A ausgelesen und dann dieser Folge
steuerbefehl an die Programmzählersteuereinrichtung 111 abgegeben, in der er decodiert wird
und eine Adresse, auf die nachfolgend zugegriffen werden soll, bestimmt wird. Diese Adresse
wird von der Programmzählersteuereinrichtung 111 an den Programmzähler 112 abgegeben,
und es leitet der Programmzähler 112 ein Adreßsignal für den Zugriff zu der bestimmten
Adresse an den Befehlsspeicher 113 weiter. Anschließend wird ein Folgesteuerbefehl, der als
nächstes abgearbeitet werden soll, aus dem Befehlsspeicher 113 ausgelesen. Auf diese Weise
bestimmt die Programmzählersteuereinrichtung 111 jedesmal dann, wenn einer der Folgesteuer
befehle sequentiell aus dem Befehlsspeicher 113 ausgelesen wird, eine Adresse, auf die als
nächstes zugegriffen werden soll, in Abhängigkeit von einem Steuerbefehl, der in diesem Folge
steuerbefehl enthalten ist. Der vorstehend beschriebene Ablauf wird wiederholt, so daß ein
Mustererzeugungsbefehl aus dem Speicherbereich 113B zum Speichern der Mustererzeugungs
befehle ausgelesen wird.
Einer der Gründe, weshalb ein gemäß vorstehender Beschreibung ausgelegtes System zum
Auslesen eines Mustererzeugungsbefehls unter Bestimmung einer Adresse, auf die als nächstes
zugegriffen werden soll, in Abhängigkeit von einem Folgesteuerbefehl eingesetzt wird, besteht
darin, daß im Fall des Einsatzes eines Systems, das zur Programmierung von Mustererzeu
gungsbefehlen beispielsweise jeweils in einzelnen Schritten (Schritt für Schritt) zur Erzeugung
von Mustersignalen ausgelegt ist, Probleme bezüglich des Systems dahingehend vorhanden
sind, daß das Programm ausgedehnt und langwierig wird und folglich großer Arbeitsaufwand
und Zeitaufwand für die Programmierung erforderlich sind.
Daher wird allgemein eine Programmiermethode eingesetzt, die zur Erzeugung eines vorbe
stimmten Testmusters mit einer bestimmten Häufigkeit unter Einsatz eines Schleifenbefehls
dient. Bei dieser Methode wird zu Beginn der Erzeugung eines Musters die Anzahl von Schlei
fendurchläufen usw. in dem Anfangswert-Speicherregister 115 für jeden Schleifenbefehl
gespeichert, und es wird bei der Abarbeitung eines Schleifenbefehls die Anzahl von Schleifen
durchläufen durch den Schleifenzähler 114 gezählt. Wenn der Schleifenbefehl für eine vorbe
stimmte Anzahl abgearbeitet worden ist, wird die Abarbeitung des Schleifenbefehls beendet, und
es schreitet der Ablauf dann zur Ausführung des nächsten Schleifenbefehls weiter.
Ein Mustererzeugungsbefehl, der aus dem Speicherbereich 113B zur Speicherung der Musterer
zeugungsbefehle ausgelesen wird, wird an den Mustererzeugungsabschnitt 120 angelegt, und
es erzeugt der Mustererzeugungsabschnitt 120 ein Testmustersignal und ein Adreßsignal in
Abhängigkeit von dem Mustererzeugungsbefehl.
Der Datenwähler 200 wählt ein Adreßsignal und ein Datensignal usw., die an den im Test
befindlichen IC 300 anzulegen sind, aus den Signalen aus, die durch den Mustererzeugungsab
schnitt 120 erzeugt werden, und führt diese Signale dem im Test befindlichen IC 300 zu, nach
dem die Wellenformen bzw. Signalverläufe geformt wurden. Ebenso wählt der Datenwähler 200
Erwartungswertdaten aus den Testmustersignalen aus und gibt die Erwartungswertdaten an den
logischen Vergleicher 400 ab.
In dem logischen Vergleicher 400 werden Daten, die aus dem im Test befindlichen IC 300
ausgelesen werden, logisch mit von dem Datenwähler 200 zugeführten Erwartungswertdaten
verglichen. Wenn eine fehlerhafte Übereinstimmung bei dem logischen Vergleicher erfaßt wird,
wird bestimmt, daß in dem im Test befindlichen IC ein Fehler vorhanden ist. Wenn demgegen
über keine fehlerhafte Übereinstimmung ermittelt wird, wird der im Test befindliche IC 300 als
ein guter bzw. fehlerfreier IC bezeichnet. Demzufolge läßt sich eine Beurteilung bezüglich des im
Test befindlichen IC's 300 hinsichtlich Fehlerfreiheit beziehungsweise Fehlerhaftigkeit durchfüh
ren.
Da der Befehlsspeicher 113 bei dem herkömmlichen Mustergenerator 100 mit einer Geschwin
digkeit betrieben werden muß, die höher ist als die Frequenz der Mustergenerierung, ist es
schwierig, den Folgesteuerabschnitt 110 hinsichtlich eines Betriebs bei höherer Geschwindigkeit
zu verbessern. Insbesondere müssen zur Erzielung einer höheren Geschwindigkeit der Muster
generierung alle nachfolgend genannten Komponenten, nämlich der Befehlsspeicher 113, die
Programmzählersteuereinrichtung 111, der Programmzähler 112 und der Schleifenzähler 114
usw., derart ausgestaltet werden, daß Elemente eingesetzt werden, die einen Betrieb mit höhe
rer Geschwindigkeit ermöglichen. Der Mustererzeugungsabschnitt 120 muß ebenfalls so ausge
legt werden, daß bei höherer Geschwindigkeit betreibbare Elemente verwendet werden, und es
muß ein mehrstufiger Super-Pipeline-Aufbau eingesetzt werden. Daher ergibt sich bei dem
Betrieb des Mustergenerators mit hoher Geschwindigkeit der Nachteil, daß ein enormer
Aufwand notwendig ist, und daß die Ausgestaltung teuer ist und sogar große, physikalische
Größe aufweist, wenn das Gerät realisiert wird.
Darüberhinaus ergibt sich selbst dann, wenn dieser Aufwand möglich ist, eine Grenze bezüglich
der Arbeitsgeschwindigkeit der mit hoher Geschwindigkeit betreibbaren Elemente. Beim Stand
der Technik ist es daher schwierig, die Geschwindigkeit der Mustergenerierung von 100 MHz
auf mehrere 100 MHz zu erhöhen.
Aus der US 5,390,192 ist ein Hochgeschwindigkeits-Mustergenerator zum Erzeugen von
Testmustersignalen für Halbleiterbauelemente bekannt, bei dem mehrere Untermustergenera
toren mit einer Frequenz f/n betrieben werden und die von ihnen abgegebenen Untermuster
signale mittels eines Multiplexers zu einem Testmustersignal der Frequenz f verschachtelt
werden. Ein programmierbarer Zähler teilt ein Taktsignal der Frequenz f durch die Variable n, die
aus einem Steuerspeicher 4 ausgelesen und in den programmierbaren Zähler eingestellt wird.
Die von dem programmierbaren Zähler als Frequenzteiler abgegebene Frequenz f/n taktet sowohl
die Untermustergeneratoren als auch den Steuerspeicher. Damit werden aus dem Steuerspeicher
Signale für die einzelnen Untermustergeneratoren sowie die erwähnte Variable n ausgelesen.
Aus der US 4,905,183 ist ein Hochgeschwindigkeits-Mustergenerator mit mehreren parallel,
aber zeitlich versetzt arbeitenden Mustergeneratoren bekannt. Jeder dieser mehreren Muster
generatoren entspricht im Prinzip einem Mustergenerator 100, wie er in Fig. 1 dargestellt ist.
Dieser Stand der Technik sieht demnach eine Vervielfachung der an sich bekannten Muster
generatoren und die Verschachtelung von deren Ausgangssignalen vor, wobei jeder der einzel
nen Mustergeneratoren einen Teil eines entsprechend aufbereiteten Programms für die Gesamt
mustererzeugung abarbeitet.
Aus der US 4,389,723 ist ein Hochgeschwindigkeits-Mustergenerator bekannt, der eine
Steuereinheit mit einem Mikroprogramm, eine Speichersteuerung und eine Rechenwerksteue
rung enthält. Ein Musterspeicher enthält Musterdaten, die in einem Register zwischenge
speichert werden und dann in mehreren, parallel arbeitenden Rechenwerken zu Untermustern
verarbeitet werden. Die Verschachtelung dieser von den Rechenwerken parallel ausgegebenen
Untermuster zu einem Testmustersignal erfolgt mit Hilfe eines Schieberegisters, und im
Musterspeicher sind Musterdaten und keine Mustererzeugungsbefehle gespeichert.
Aus der DE 44 46 988 A1 ist ein Hochgeschwindigkeits-Mustergenerator bekannt (Stand der
Technik nach § 3, Abs. 2, Nr. 1 PatG), bei dem Musterbefehlsdaten aus einem Programm
speicher auf einer Parallelisierschaltung gegeben und die von dieser abgegebenen, parallelen
Befehlssignale in einer Befehlsverarbeitungsschaltung verarbeitet werden, um dann schließlich
von einer Arithmetikschaltung 200 zu mehreren, mittels einer Multiplexschaltung verschachtelten
Mustersignalen gemacht zu werden.
Es ist eine erste Aufgabe der vorliegenden Erfindung, ein Hochgeschwindigkeits-
Mustererzeugungsverfahren und einen zu seiner Durchführung geeigneten Hochgeschwindig
keits-Mustergenerator zu schaffen, die Muster mit einer hohen Geschwindigkeit erzeugen kann,
ohne daß die Notwendigkeit des Einsatzes von Elementen besteht, die bei hoher
Geschwindigkeit betreibbar sind. Insbesondere ist es Aufgabe der vorliegenden Erfindung, ein
Hochgeschwindigkeits-Mustererzeugungsverfahren und einen zu seiner Durchführung
geeigneten Hochgeschwindigkeits-Mustergenerator zu schaffen, bei denen ein Programm zum
Erzeugen von Mustern mit hoher Geschwindigkeit einfach erzeugt werden kann, ohne daß eine
spezielle Programmiertechnik hinsichtlich eines Betriebs mit hoher Geschwindigkeit erforderlich
ist.
Diese Aufgabe wird mit einem Verfahren gemäß den Patentansprüchen 1 und 8 bzw. einem
Mustergenerator gemäß den Patentansprüchen 2, 5 und 9 gelöst. Vorteilhafte Weiterbildungen
der Erfindung sind Gegenstand der Unteransprüche.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen unter Bezugnahme auf die
beiliegenden Zeichnungen näher erläutert.
Fig. 1 zeigt ein Blockschaltbild zur Erläuterung einer Ausgestaltung eines Beispiels eines
herkömmlichen IC-Testgeräts;
Fig. 2 zeigt ein Blockschaltbild zur Erläuterung eines Folgesteuerabschnitts, der bei einem
herkömmlichen IC-Testgerät eingesetzt wird;
Fig. 3 zeigt ein Blockschaltbild zur Erläuterung eines ersten Ausführungsbeispiels eines
Verfahrens zur Mustererzeugung mit hoher Geschwindigkeit gemäß der vorliegenden
Erfindung;
Fig. 4 zeigt ein Ablaufdiagramm zur Erläuterung des ersten Ausführungsbeispiels des
Verfahrens zur Mustererzeugung mit hoher Geschwindigkeit gemäß der vorliegenden
Erfindung;
Fig. 5 zeigt ein Zeitdiagramm zur Erläuterung der Betriebsweise eines wesentlichen
Abschnitts eines ersten Ausführungsbeispiels des Hochgeschwindigkeits-Mustergene
rators gemäß der vorliegenden Erfindung;
Fig. 6 zeigt ein Diagramm, in dem ein Beispiel eines Programms zur Erzeugung eines
Musters dargestellt ist;
Fig. 7 zeigt ein Diagramm zur Erläuterung einer Beziehung zwischen Folgesteuerbefehlen
und Mustern und Untermustern, wenn das in Fig. 6 gezeigte Programm abgearbeitet
wird;
Fig. 8 zeigt ein Blockschaltbild, in dem ein spezielles Beispiel eines Folgesteuerabschnitts
gezeigt ist, das bei einem zweiten Ausführungsbeispiel des Hochgeschwindigkeits-
Mustergenerators gemäß der vorliegenden Erfindung eingesetzt wird;
Fig. 9 zeigt eine Darstellung zur Erläuterung der Betriebsweise des Folgesteuerabschnitts,
der in Fig. 8 gezeigt ist;
Fig. 10 zeigt ein Blockschaltbild, in dem ein spezielles Beispiel eines Adreßumwandlungsab
schnitts dargestellt ist, der in Fig. 8 gezeigt ist;
Fig. 11 zeigt eine Schaltungsverbindungsdarstellung, in der ein spezielles Beispiel für eine
Multiplexschaltung dargestellt ist, die in dem Hochgeschwindigkeits-Mustergenerator
gemäß der vorliegenden Erfindung eingesetzt wird;
Fig. 12 zeigt ein Blockschaltbild zur Erläuterung eines speziellen Beispiels für einen Folge
steuerabschnitt, der in dem Hochgeschwindigkeits-Mustergenerator gemäß der vorlie
genden Erfindung verwendet wird;
Fig. 13 zeigt eine Darstellung zur Erläuterung einer Ausgestaltung eines Adreßraums eines
Befehlsspeichers, der in dem Hochgeschwindigkeits-Mustergenerator eingesetzt wird,
der in Fig. 12 dargestellt ist;
Fig. 14 zeigt eine Darstellung zur Erläuterung eines Adreßumwandlungsvorgangs bei dem in
Fig. 12 gezeigten Hochgeschwindigkeits-Mustergenerator;
Fig. 15 zeigt ein Blockschaltbild zur Erläuterung eines dritten Ausführungsbeispiels des Hoch
geschwindigkeits-Mustergenerators gemäß der vorliegenden Erfindung;
Fig. 16 zeigt ein Blockschaltbild zur Erläuterung einer Ausgestaltung des Folgesteuerab
schnitts, der bei dem Hochgeschwindigkeits-Mustergenerator, der in Fig. 15 gezeigt
ist, eingesetzt wird;
Fig. 17 zeigt eine Darstellung zur Erläuterung eines Beispiels eines Programms für die
Ansteuerung des in Fig. 16 dargestellten Folgesteuerabschnitts;
Fig. 18 zeigt eine Darstellung zur Erläuterung einer Beziehung zwischen Folgesteuerbefehlen,
die erzeugt werden, wenn das in Fig. 17 gezeigte Programm abgearbeitet wird, und
von Mustern, die durch diese Folgesteuerbefehle erzeugt werden;
Fig. 19 zeigt ein Wellenformdiagramm bzw. eine Signaldarstellung zur Erläuterung eines
Betriebs des in Fig. 15 gezeigten Hochgeschwindigkeits-Mustergenerators;
Fig. 20 zeigt ein Blockschaltbild zur Erläuterung eines speziellen Beispiels für einen Hauptmu
stererzeugungsabschnitt und einen Untermustererzeugungsabschnitt, die in dem
Hochgeschwindigkeits-Mustergenerator eingesetzt werden, der in Fig. 15 gezeigt ist;
Fig. 21 zeigt ein Blockschaltbild zur Erläuterung eines speziellen Beispiels einer Multiplex
schaltung, die in dem Hochgeschwindigkeits-Mustergenerator verwendet wird, der in
Fig. 15 gezeigt ist, und
Fig. 22 zeigt ein Wellenformdiagramm bzw. Signalverläufe zur Erläuterung eines Betriebs der
Multiplexschaltung, die in Fig. 21 gezeigt ist.
Unter Bezugnahme auf Fig. 3 wird nun zunächst ein erstes Ausführungsbeispiel des Verfahrens
zur Mustererzeugung mit hoher Geschwindigkeit gemäß der vorliegenden Erfindung erläutert.
Bei der vorliegenden Erfindung sind in einem Befehlsspeicher 113 eine Mehrzahl von Speicher
bereichen 113B1 bis 113B4 zur Speicherung von Befehlen für eine Untermustererzeugung
vorgesehen. Bei diesem Beispiel ist ein Fall gezeigt, bei dem vier Speicherbereiche 113B1 bis
113B4 vorgesehen sind und vier Untermustererzeugungsbefehle bzw. vierphasige
Untermustererzeugungsbefehle generiert werden. Hierbei ist die Anzahl von Speicherbereichen
113B1 bis 113 4 zur Speicherung der Untermustererzeugungsbefehle nicht auf vier beschränkt
und kann gleich oder größer zwei sein. Wie vorstehend erläutert, ist der Speicherbereich 113A
zur Speicherung von Folgesteuerbefehlen in dem Befehlsspeicher 113 zusätzlich zu den
Speicherbereichen 113B1 bis 113B4 vorgesehen. In gleicher Weise wie bei der herkömmlichen
Methode wird eine Adresse, auf die als nächstes in dem Befehlsspeicher zugegriffen werden
soll, dadurch bestimmt, daß ein Folgesteuerbefehl ausgelesen wird, der in dem Speicherbereich
113A gespeichert ist, und die Lesefolge des Mustererzeugungsbefehls durch den
Folgesteuerbefehl gesteuert wird.
Die Untermustererzeugungsbefehle, die in den Speicherbereichen 113B1 bis 113B4 gespeichert
sind, werden von einem übergeordneten Computer zur Verwaltung des Testgeräts zugeführt und
in den Befehlsspeicher 113 eingeschrieben. Dies bedeutet, daß ein Musterprogramm, das in
Übereinstimmung mit einer Mustererzeugungssequenz, die von einem Benutzer beabsichtigt ist,
erzeugt ist, in ein mehrere Phasen bzw. Unterprogramme aufweisendes
Unterstützungsprogramm mit Hilfe eines Übersetzungsprogramms umgewandelt wird, und daß
die Untermustererzeugungsbefehle der Unterprogramme zu dem Befehlsspeicher 113 des
Testgeräts für eine Speicherung in diesem übertragen werden.
Nachfolgend wird die Beziehung zwischen einem Mustererzeugungsbefehl und einem Untermu
stererzeugungsbefehl unter Bezugnahme auf Fig. 4 erläutert. In Fig. 4 bezeichnet das Bezugs
zeichen 10 Mustererzeugungsbefehle bezüglich Mustern, die ein Benutzer erzeugen möchte und
die Schritt für Schritt aufgelistet sind. Bei diesem Beispiel ist ein Fall gezeigt, bei dem die
Mustererzeugungsbefehle derart erzeugt werden, daß ein Mustererzeugungsbefehl "X < 0" zur
Initialisierung des Adreßmusters X auf 0 in einem Schritt 1 ausgeführt wird, ein Mustererzeu
gungsbefehl "X < X + 1" zum Inkrementieren des Adreßmusters X um 1 bei dem nachfolgenden
Schritt 2 ausgeführt wird, der Mustererzeugungsbefehl "X < X + 1" in den nachfolgenden
Schritten 3 bis 12 ausgeführt wird, ein Mustererzeugungsbefehl "X < X - 1" zum Dekrementieren
der Musteradresse X um 1 bei den nachfolgenden Schritten 13 bis 16 durchgeführt wird, der
Mustererzeugungsbefehl "X < X + 1" zum Inkrementieren des Adreßmusters X um 1 erneut bei
den nachfolgenden Schritten 17 bis 24 abgearbeitet wird, und der Mustererzeugungsbefehl
"X < X - 1" in den anschließenden Schritten 25 bis 28 ausgeführt wird. Ein Bezugszeichen 11
bezeichnet Werte für die Adreßmuster X (Werte in dem Register für die Adresse X), die erzeugt
werden, wenn die Mustererzeugungsbefehle 10 abgearbeitet werden. Wie in den Adreßmustern
11 für die Adresse X gezeigt ist, wird bei dem Schritt 1 "X = 0" bei dem Adreßmuster X
generiert, wonach das Adreßmuster X sequentiell jeweils um 1 (+1) bei jedem Schritt aus den
Schritten 2 bis 12 erhöht wird, das Adreßmuster X dann sequentiell jeweils um 1 (-1) bei jedem
Schritt aus den Schritten 13 bis 16 verringert wird, nachdem es bei dem Schritt 12 den Wert X
= 11 erreicht hatte, und dann, wenn es in dem Schritt 16 auf den Wert X = 7 verringert ist,
das Adreßmuster X in dem Schritt 24 den Wert X = 15 erreicht, und das Adreßmuster X beim
Schritt 28 den Wert X = 11 annimmt. Die dargestellten Adreßmuster X, die in den Zeichnungen
gezeigt sind, werden an einen im Test befindlichen IC in der Reihenfolge der Schritte 1 bis 28
angelegt.
Zusätzlich zu den Adreßmustern X sind in der Praxis Adreßmuster Y, Adreßmuster Z usw.
vorhanden. Hier werden jedoch lediglich Adreßmuster X (für die Adresse X) erläutert.
Die Bezugszeichen 12A, 12B, 12C und 12D in Fig. 4 veranschaulichen Untermustererzeugungs
befehle. Das Verfahren zum Umwandeln der Mustererzeugungsbefehle in Untermustererzeu
gungsbefehle 12A bis 12D wird im folgenden erläutert. Jeder der Untermustererzeugungsbe
fehle 10 ist einer jeweiligen Phase bei der schrittweisen Auslegung der Abfolge der Musterer
zeugung zugeordnet. Hierbei werden die Mustererzeugungsbefehle in der Anzahl, die der Anzahl
von der Multiplexierung bzw. -verschachtelung zu unterziehenden Phasen entspricht,
aufsummiert (es wird eine algebraische Berechnung unter der Annahme durchgeführt, daß die
Registerwerte Variable sind), wobei stromaufwärts zurückgeschritten wird und von dem
zugeordneten Mustererzeugungsbefehl für die Umwandlung in die Untermuster begonnen wird.
Wenn zum Beispiel angenommen wird, daß die Untermustererzeugungsbefehle 12A in dem
Speicherbereich 113B1 gespeichert sind, die Untermustererzeugungsbefehle 12B in dem
Speicherbereich 113B2 gespeichert sind, die Untermustererzeugungsbefehle 12C in dem
Speicherbereich 113B3 gespeichert sind und die Untermustererzeugungsbefehle 12D in dem
Speicherbereich 113B4 gespeichert sind und eine Multiplexierung in der Reihenfolge der
Speicherbereiche 113B1, 113B2, 113B3 und 113B4 durchgeführt wird, ist der
Mustererzeugungsbefehl X < 0 im Schritt 1 der Befehlsgruppe 12A zur Erzeugung von
Untermustern zugeordnet. Da vor dem Schritt 1 kein Mustererzeugungsbefehl vorhanden ist,
wird der zusammengesetzte Untermustererzeugungsbefehl 12A zu X < 0.
Danach wird der Mustererzeugungsbefehl X < X + 1 im Schritt 2 der Befehlsgruppe 12B zur
Erzeugung von Untermustern zugeordnet. Da in diesem Fall ein Mustererzeugungsbefehl X < 0
vor dem Schritt 2 vorhanden ist, werden X < 0 und X < X + 1 aufsummiert, und es wird ein
Untermustererzeugungsbefehl X < 1 erhalten.
Danach wird der Mustererzeugungsbefehl X < X + 1 im Schritt 3 der Befehlsgruppe 12C zur
Erzeugung von Untermustern zugeordnet. Da ein Mustererzeugungsbefehl X < 0 im Schritt 1 und
ein Mustererzeugungsbefehl X < X + 1 im Schritt 2 vor dem Schritt 3 vorhanden sind, werden
diese Mustererzeugungsbefehle und der Mustererzeugungsbefehl X < X + 1 im Schritt 3
aufsummiert, und es wird ein Untermustererzeugungsbefehl X < 2 erhalten.
Danach wird der Mustererzeugungsbefehl X < X + 1 im Schritt 4 der Befehlsgruppe 12D zur
Erzeugung von Untermustern zugeordnet. Da ein Mustererzeugungsbefehl X < 0 im Schritt 1, ein
Mustererzeugungsbefehl X < X + 1 im Schritt 2 und ein Mustererzeugungsbefehl X < X + 1 im
Schritt 3 vor dem Schritt 4 vorhanden sind, werden diese Mustererzeugungsbefehle und der
Mustererzeugungsbefehl X < X + 1 im Schritt 4 aufsummiert, das heißt, es werden vier Musterer
zeugungsbefehle, deren Anzahl gleich groß ist wie die Anzahl von Speicherbereichen für die
Speicherung von Untermustererzeugungsbefehlen, aufsummiert, und es wird ein Untermusterer
zeugungsbefehl X < 3 erhalten.
Hierbei veranschaulichen (X = 0), (X = 1), (X = 2), (X = 3) und (X = 4), die in Klammern
unterhalb der jeweiligen Untermustererzeugungsbefehle dargestellt sind, die Ergebnisse der
Generierung der Adreßmuster X, wenn die Untermustererzeugungsbefehle 12A bis 12D an die
Untermustererzeugungsabschnitte 120A bis 120D angelegt werden. Diese Adreßmuster X
stimmen jeweils mit den Adreßmustern 11 für die Adresse X überein, die durch Abarbeitung der
Mustererzeugungsbefehle 10, die in Fig. 4 gezeigt sind, erhalten werden.
In dem Schritt 5 wird der Mustererzeugungsbefehl X < X + 1 der Befehlsgruppe 12A zur Erzeu
gung der Untermuster zugeordnet. Dieser Mustererzeugungsbefehl X < X + 1 und die drei
Mustererzeugungsbefehle X < X + 1 vor dem Schritt 5 werden aufsummiert, und es wird ein
Untermustererzeugungsbefehl X < X + 4 als der Untermustererzeugungsbefehl 12A in dem
Schritt 5 erhalten.
In gleicher Weise werden anschließend die Mustererzeugungsbefehle X < X + 1 von jeweils vier
Schritten aufsummiert, um hierdurch einen Untermustererzeugungsbefehl X < X + 4 für jeden
der Schritte bis zu dem Schritt 12 zu erhalten. Da der Mustererzeugungsbefehl in dem Schritt
13 auf X < X - 1 geändert wird, wird der Untermustererzeugungsbefehl 12A zu X < X + 2. In dem
Schritt 14 wird der Untermustererzeugungsbefehl 12B zu X < X + 0. Im Schritt 15 wird der
Untermustererzeugungsbefehl 12C zu X < X - 2. Bei dem Schritt 16 wird der Untermustererzeu
gungsbefehl 12D zu X < X - 4. Bei den Schritten 17 bis 20 werden die Untermustererzeugungsbe
fehle 12A bis 12D jeweils zu X < X - 2, X < X - 0, X < X + 2 bzw. X < X + 4, da der Mustererzeu
gungsbefehl bei jedem Schritt gleich X < X + 1 ist.
Da der Mustererzeugungsbefehl X < X + 1 bei den Schritten 21 bis 24 andauert, werden die
Untermustererzeugungsbefehle 12A bis 12D in der Schrittfolge zu X < X + 4, X < X + 4, X < X + 4
und X < X + 4. Bei den Schritten 25 bis 28 ändern sich die Untermustererzeugungsbefehle 12A
bis 12D jeweils zu X < X + 2, X < X + 0, X < X - 2 bzw. X < X - 4, da sich der Mustererzeugungsbe
fehl zu X < X - 1 ändert.
Die Untermustererzeugungsbefehle werden ausgeführt, und es können zugeordnete Adreßmuster
für die Adresse X aus den jeweiligen Untermustererzeugungsabschnitten 120A bis 120D
erzeugt werden, indem die Untermustererzeugungsbefehle 12A bis 12D Schritt für Schritt
jeweils aus den Speicherbereichen 113B1 bis 113B4 ausgelesen werden und diese jeweils an die
Untermustererzeugungsabschnitte 120A, 120B, 120C bzw. 120D angelegt werden.
Fig. 5 zeigt die Beziehung zwischen den Untermustererzeugungsbefehlen, die aus den Speicher
bereichen 113B1 bis 113B4 ausgelesen werden, und den Adreßmustern für die Adresse X, die
durch diese Untermustererzeugungsbefehle in den Untermustererzeugungsabschnitten 120A bis
120D erzeugt werden. In einer Periode t - 1 eines Takts CP1 werden die
Untermustererzeugungsbefehle X < 0, X < 1, X < 2 und X < 3 jeweils aus den Speicherbereichen
113B1 bis 113B4 ausgelesen. Diese Untermustererzeugungsbefehle X < 0 bis X < 3 werden an
die jeweiligen Untermustererzeugungsabschnitte 120A bis 120D angelegt, um jeweils die
Adreßmuster für die Adresse X mit den Werten X = 0, X = 1, X = 2 bzw. X = 3 zu erzeugen.
Durch Anlegen dieser Adreßmuster für die Adresse X mit den Werten X = 0, X = 1, X = 2 und
X = 3 an die Multiplexschaltung 130 und durch Multiplexierung der Adreßmuster für die Adresse
X im Zeitmultiplexbetrieb unter Verwendung eines Takts CP2 in der Reihenfolge von X = 0,
X = 1, X = 2 zu X = 3 kann ein Hochgeschwindigkeits-Mustersignal HIP erhalten werden, das eine
Frequenz aufweist, die einer Multiplikation mit der Anzahl der Multiplexschritte entspricht, wie
es in Fig. 5D gezeigt ist.
In einer Periode des Takts CP1 sind alle Untermustererzeugungsbefehle, die aus den Speicher
bereichen 113B1 bis 113B4 ausgelesen werden, gleich X < X + 4. Wenn diese
Untermustererzeugungsbefehle X < X + 4 in den Untermustererzeugungsabschnitten 120A bis
120D abgearbeitet werden, werden bei dieser Ausführung von X < X + 4 Adreßmuster für die
Adresse X mit jeweils X = 4, X = 5, X = 6 und X = 7 erhalten, da in der vorhergehenden Periode t -1
bereits jeweils X = 0, X = 1, X = 2 und X = 3 eingegeben worden ist.
Wie aus der vorstehenden Erläuterung ersichtlich ist, sind bei dem erfindungsgemäßen Verfah
ren zur Erzeugung von Mustern mit hoher Geschwindigkeit die Speicherbereiche 113B1 bis
113B4 zur Speicherung der Befehle zur Untermustererzeugung in dem Befehlsspeicher 113 mit
einer Anzahl vorgesehen, die der Anzahl der Multiplexvorgänge bzw. Multiplexschrifte
entspricht. Die Untermustererzeugungsbefehle 12A bis 12D werden aus der Mehrzahl von
Speicherbereichen 113B1 bis 113B4 zur Speicherung der Befehle zur Untermustererzeugung
ausgelesen und an die Untermustererzeugungsabschnitte 120A bis 120D angelegt. Bei dieser
Ausgestaltung läßt sich ein Hochgeschwindigkeitsmustersignal HIP, das in der ursprünglichen
Folge arrangiert ist und an einen im Test befindlichen IC anzulegen ist, dadurch erhalten, daß die
mehrphasigen Untermuster erzeugt werden und diese mehrphasigen Untermuster in Über
einstimmung mit einer vorbestimmten Abfolge in der Multiplexschaltung 130 einer Multiplexie
rung bzw. Verschachtelung unterzogen werden.
Selbst wenn daher der Abschnitt des Mustergenerators bis hin zu der Multiplexschaltung 130
unter Verwendung von Schaltungen aufgebaut ist, die mit einer Geschwindigkeit arbeiten, die
gleich oder ähnlich ist wie die Geschwindigkeit eines herkömmlichen Mustergenerators, stellt
das Hochgeschwindigkeitsmustersignal HIP, das von der Multiplexschaltung 130 abgegeben
wird, ein Mustersignal hoher Geschwindigkeit bzw. hoher Frequenz dar, das eine Geschwindig
keit aufweist, die ein dem Verschachtelungsgrad entsprechendes Vielfaches der bisherigen
Geschwindigkeit ist. Wenn zum Beispiel wie bei dem vorstehenden erläuterten Ausfüh
rungsbeispiel der Verschachtelungsgrad gleich N = 4 ist, läßt sich ein
Hochgeschwindigkeitsmustersignal erhalten, das die vierfache Geschwindigkeit besitzt. Wenn
die Lesegeschwindigkeit beim Auslesen der Untermustererzeugungsbefehle aus dem
Befehlsspeicher 113 = 100 MHz ist, läßt sich ein Hochgeschwindigkeitsmustersignal mit einer
Geschwindigkeit bzw. Frequenz von 400 MHz erhalten.
Wenn die vorstehend erwähnten Untermustererzeugungsbefehle in den Befehlsspeicher 113
eingeschrieben werden, kann eine nachstehend beschriebene Schwierigkeit auftreten. In dem
Befehlsspeicher 113 ist nämlich der Speicherbereich 113A zur Speicherung der Folgesteuerbe
fehle, zusätzlich zu den Speicherbereichen 113B1 bis 113B4 zur Speicherung der Untermuster
erzeugungsbefehle, vorhanden. Ein Folgesteuerbefehl, der zur Festlegung einer Adresse dient,
unter der der nächste Zugriff auf den Befehlsspeicher 113 erfolgen soll, ist in den
Speicherbereich 113A zur Speicherung der Folgesteuerbefehle eingeschrieben und wird
ausgelesen, um hierdurch die Adresse für den nachfolgenden Zugriff zu bestimmen.
Fig. 6 zeigt ein Beispiel für ein einfaches Programm zur Erzeugung eines Folgesteuerbefehls und
eines Testmusters. Der Befehl "START #0" stellt einen Befehl zur Initialisierung des Programm
zählers 112 (siehe Fig. 2) auf #0 dar. PC = #0, PC = #1, . . . zeigen die Werte des Programmzäh
lers 112, das heißt die Adressen des Befehlsspeichers 113 an (man beachte, daß im
vorliegenden Text das Zeichen # eine Hexadezimalzahl bezeichnet). Die Folgesteuerbefehle, die
an der jeweiligen rechten Seite von PC = #0, PC = #1, . . . gezeigt sind, sind an den jeweiligen
Adressen gespeichert. Ein Befehl NOP ist in die Adresse #0 des Speicherbereichs 113A zur
Speicherung der Folgesteuerbefehle (Fig. 1) des Befehlsspeichers 113 eingeschrieben. Der
Befehl NOP ist ein Befehl, der bedeutet "Addieren von + 1 zu dem Wert des Programmzählers
und Abarbeiten des nächsten Befehls".
Der Programmzähler 112 gibt daher PC = #1 ab, und es wird "LB1:LOOP1 LB1" (LB1: Schleife 1
LB1), das in der Adresse #1 des Speicherbereichs 113A des Befehlsspeichers 113 eingeschrie
ben ist, abgearbeitet. LB1 bezeichnet einen "Etiketten"-Namen bzw. Befehlsnamen und
"LOOP1" (Schleife 1) bezeichnet einen Befehl zum wiederholten Abarbeiten der Zeilen zwischen
der Befehlszeile und der Zeile, die durch einen im Anschluß an den Befehl beschriebenen Namen
(Label) bezeichnet ist, wobei die Abarbeitung der Zeilen mit einer bestimmten Häufigkeit durch
geführt wird. In dem Fall des Befehls "LB1:LOOP1 LB1" wird diese Befehlszeile wiederholt mit
einer bestimmten Häufigkeit abgearbeitet. Der Wert der bestimmten Häufigkeit ist in dem in Fig.
2 gezeigten Register 115 zur Speicherung des Anfangswerts gespeichert. Wenn die Schleife mit
der vorbestimmten Anzahl abgearbeitet worden ist, erfaßt der Schleifenzähler 114 diesen
Zustand, und es wird der Adreßwert, der von dem Programmzähler 112 abgegeben wird, um
eins hochgestuft (inkrementiert).
Wenn zum Beispiel "2" in dem Register 115 zur Speicherung des Anfangswerts gespeichert ist,
addiert der Programmzähler 112 + 1 zu der auszugebenden Adresse, und es schreitet der Ablauf
zu der nächsten Zeile weiter, nachdem der Befehl "LOOP1" zweimal abgearbeitet wurde. Bei der
nachfolgenden Zeile wird ein Befehl "LOOP2 LB1", der in der Adresse #2 des Befehlsspeichers
113 eingeschrieben ist, abgearbeitet. Dieser Befehl stellt einen Befehl zum einmaligen
Abarbeiten von "LOOP2" und zum anschließenden Zurückkehren zu der Zeile, die durch den
Namen LB1 bezeichnet ist, dar. Tatsächlich wird der Befehl "LB1:LOOP1 LB1" zum Beispiel
mehrere hundertmal wiederholt abgearbeitet, und es wird dann der Befehl "LOOP2" einmal
ausgeführt.
Auf der anderen Seite sind die Mustererzeugungsbefehle in den in Fig. 6 gezeigten Speicher
bereich 113B zur Speicherung der Testmustererzeugungsbefehle eingeschrieben. Diese Testmu
ster werden durch die Mustererzeugungsbefehle erzeugt, die aus den Adressen #0, #1, #2, . . .
des Befehlsspeichers 113 ausgelesen werden, die ihrerseits durch Abarbeitung der Folgesteuer
befehle bestimmt sind. In Fig. 7 ist die Beziehung zwischen jedem Zyklus, den Adreßwerten
(Werten von PC), die von dem Adreßzähler 112 abgegeben werden, den Folgesteuerbefehlen
und den Mustern A bis C für den Fall gezeigt, daß ein Mustererzeugungsbefehl, der aus der
Adresse #0 ausgelesen wird, gleich A ist, ein Mustererzeugungsbefehl, der aus der Adresse #1
ausgelesen wird, gleich B ist, und ein Mustererzeugungsbefehl, der aus der Adresse #2 ausge
lesen wird, gleich C ist, wobei ein Folgesteuerbefehl LOOP1 zweifach ausgeführt wird und
LOOP2 einmal durchgeführt wird und anschließend ein Ablauf zur erneuten Rückkehr zu einer
Bezeichnung bzw. einem Namen (Label) LB1 ausgeführt wird.
Falls die Muster A, B, C . . . unabhängige Muster sind, die nicht in gegenseitiger Beziehung
stehen, kann das Muster A in der Adresse #0 des Speicherbereichs 113B zur Speicherung der
Mustererzeugungsbefehle eingeschrieben werden, während das Muster B in der Adresse #1
eingeschrieben werden kann und das Muster C unter der Adresse #2 gespeichert werden kann.
Allerdings kann zur Durchführung der Multiplexverarbeitungsvorgänge, wie sie in Fig. 4 gezeigt
sind, die Notwendigkeit bestehen, daß die Untermustererzeugungsbefehle 12A bis 12D unter
schiedliche Untermustererzeugungsbefehle in Abhängigkeit von den Mustern in dem vorherge
henden Zyklus erzeugen müssen, selbst wenn die Untermustererzeugungsbefehle mittels des
gleichen Schleifenbefehls ausgelesen werden. Dieser Zustand ist in Fig. 7 in der Spalte für die
Untermuster gezeigt. Bei dem Zyklus 1 kann der Untermustererzeugungsbefehl A unter der
Adresse #0 eingeschrieben werden, da noch keine Vorgeschichte vorhanden ist. Bei dem Zyklus
2 muß ein Untermuster A~B, das durch das Muster A des Zyklus 1 und das in dieser Zeile
angegebene Muster B bestimmt ist, in der Adresse #1 eingeschrieben werden. In gleichartiger
Weise ist das Untermuster des Zyklus 3 gleich B~B, das Untermuster des Zyklus 4 gleich B~C,
das Untermuster des Zyklus 5 gleich C~B, das Untermuster des Zyklus 6 gleich B~B und das
Untermuster des Zyklus 7 gleich B~C.
Wie aus der vorstehenden Beschreibung ersichtlich ist, müssen die Untermuster A~B, B~B und
C~B, die in den Zyklen 2, 3, 5 und 6 erzeugt werden, in der gleichen Adresse #1 eingeschrieben
werden. Eine solche Erscheinung tritt häufig auf, wie es in Fig. 6B gezeigt ist, wenn
Betriebsabläufe zur Rückkehr zu einem gemeinsamen Namen bzw. Label LB1 aus im Multi
plexbetrieb abgearbeiteten Schleifenbefehlen LOOP2 bis LOOP5 ausgeführt werden.
Wenn die die Vorgeschichte angebenden Bezeichnungen A~B, B~B, B~C . . . der Untermuster, die
unter Bezugnahme auf Fig. 7 erläutert wurden, im Zusammenhang mit Fig. 4 betrachtet werden,
sehen die Untermuster A~B, die in den Schritten 5 bis 8 erzeugt werden, und die Untermuster
B~B, die in den Schritten 9 bis 12 erzeugt werden, wie die gleichen Mustererzeugungsbefehle
aus, da alle Untermustererzeugungsmusterbefehle gleich X < X + 4 sind. Jedoch muß das
System derart ausgelegt werden, daß ein normaler Betrieb stets durchgeführt werden kann,
wenn zum Beispiel irgendwann in den Schritten 1 bis 4 ein Initialisierungsbefehl X < 0 durch den
Benutzer vorgegeben wird. Wenn zum Beispiel X < 0 in dem Schritt 2 vorgegeben wird, wird der
Untermustererzeugungsbefehl in dem Schritt 5 zu X < 3. Daher müssen die Untermustererzeu
gungsbefehle für A~B und B~B als unterschiedliche Untermustererzeugungsbefehle in Abhän
gigkeit von der Historie der Untermuster behandelt werden.
Wie vorstehend erwähnt, kann sich der Fall ergeben, daß bei dem Einschreiben von Untermu
stern in einem Befehlsspeicher bei einer Multiplexierung unterschiedliche Untermustererzeu
gungsbefehle (im folgenden auch als Mustererzeugungsbefehle unterschiedlicher Art bezeichnet)
eventuell unter der gleichen Adresse eingeschrieben werden müssen. Gemäß einem ersten
Ausführungsbeispiel des in Übereinstimmung mit der vorliegenden Erfindung stehenden Hoch
geschwindigkeits-Mustergenerators wird zur Lösung dieses Problems ein Hochgeschwindig
keits-Mustergenerator vorgeschlagen, der normal arbeitet, indem ein Adreßumwandlungsab
schnitt für die Speicherung von Mustererzeugungsbefehlen unterschiedlicher Art in unterschied
lichen Adressen vorgesehen wird.
Fig. 8 zeigt ein spezielles Beispiel eines Folgesteuerabschnitts 110, der einen Adreßumwand
lungsabschnitt aufweist, der in einem Hochgeschwindigkeitsmustergenerator verwendet wird.
Diejenigen Abschnitte, die denjenigen gemäß Fig. 2 entsprechen, sind mit den gleichen Bezugs
zeichen versehen. Die durch den Folgesteuerabschnitt 110 charakterisierte Gestaltung besteht
darin, daß der Befehlsspeicher 113 in einen ersten Befehlsspeicher 113-1 und einen zweiten
Befehlsspeicher 113-2 unterteilt ist, daß eine Adresse, die an den ersten Befehlsspeicher 113-1
anzulegen ist, in dem Adreßumwandlungsabschnitt 140 in eine unterschiedliche Adresse
umgewandelt wird, und daß die umgewandelte Adresse dem zweiten Befehlsspeicher 113-2
zugeführt wird.
Der in Fig. 3 gezeigte Speicherbereich 113A zur Speicherung von Folgesteuerbefehlen ist in dem
ersten Befehlsspeicher 113-1 vorgesehen, und es wird auf diesen Speicherbereich 113A zur
Speicherung von Folgesteuerbefehlen mit Hilfe eines Adreßsignals ADR (#0, #1, #2, . . .)
zugegriffen, das von dem Programmzähler 112 abgegeben wird. In dem zweiten Befehlsspeicher
113-2 sind Speicherbereiche 113B1, 113B2, 113B3 und 113B4 zur Speicherung von Untermu
stererzeugungsbefehlen vorgesehen. Die Adreßkapazität bzw. der Adreßumfang des zweiten
Befehlsspeichers 113-2 ist derart ausgewählt, daß er größer ist als der Adreßbereich des ersten
Befehlsspeichers 113-1 und zum Beispiel den doppelten Adreßumfang wie der erste Befehls
speicher 113-1 besitzt. Indem der Adreßumfang des zweiten Befehlsspeichers 113-2 doppelt so
groß ausgelegt wird wie derjenige des ersten Befehlsspeichers 113-1, kann ein Adreßbereich,
der durch die Adresse #0, #1, #2, #3, . . . bestimmt ist, die von dem Programmzähler 112
ausgegeben werden, auf die erste Hälfte des Adreßumfangs des zweiten Befehlsspeichers 113-2
festgelegt bzw. diesem fest zugeordnet werden. Weiterhin können die Mustererzeugungsbe
fehle unterschiedlicher Art, die nicht in den Adressen #0, #1, #2, #3, . . . eingeschrieben werden
können, in die zweite Hälfte des Adreßbereichs des zweiten Befehlsspeichers 113-2 einge
schrieben werden.
Fig. 10 zeigt eine spezielle Gestaltung des Adreßumwandlungsabschnitts 140. Der Adreßum
wandlungsabschnitt 140 kann durch eine Adreßverzögerungseinrichtung 142 zur Verzögerung
eines Ausgangssignals, das von dem Programmzähler 112 abgegeben wird, um einen Zyklus,
eine Wähleinrichtung 143 zum Auswählen und Herausgreifen entweder des Adreßsignals, das in
der Adreßverzögerungseinrichtung 142 um einen Zyklus verzögert worden ist, oder des nicht
verzögerten Adreßsignals, und eine Addiereinrichtung 144 zum Addieren eines vorbestimmten
Werts zu dem von dem Programmzähler 112 abgegebenen Adreßsignal dann, wenn die Wähl
einrichtung das um einen Zyklus verzögerte Adreßsignal auswählt, gebildet sein. Weiterhin
bezeichnen die Bezugszeichen 141 und 145 in Fig. 10 jeweils Flipflops für die Neufestlegung
der Zeitsteuerung (re-timing).
Ein Steuersignal wird von einer Steuerlogikschaltung 150 an einen Steueranschluß S der Wähl
einrichtung 143 angelegt, um entweder das Adreßsignal, das in der Verzögerungseinrichtung
142 verzögert worden ist, oder das nicht verzögerte Adreßsignal auszuwählen. Nach der
Gewinnung eines Folgesteuerbefehls, der aus der Programmzählersteuereinrichtung 111 und
dem ersten Befehlsspeicher 113-1 ausgelesen wurde, gibt die Steuerlogikschaltung 150 ein
Steuersignal ab, das den Wert einer logischen "0" aufweist, wenn sich der Adreßwert, der von
dem Programmzähler 112 abgegeben wird, zu einem Wert ändert, der um eins hochgestuft ist,
oder es gibt die Steuerlogikschaltung 150 ein Steuersignal ab, das den Wert einer logischen "1"
aufweist, wenn der Adreßwert, der von dem Programmzähler 112 abgegeben wird, einen ande
ren Wert aufweist als ein um eins inkrementierter Wert. Bei einem Zustand, bei dem die Steuer
logikschaltung 150 eine logische "0" abgibt, wählt die Wähleinrichtung 143 den Eingangsan
schluß A aus und gibt das Adreßsignal, das von dem Programmzähler 112 abgegeben wird, in
unveränderter Form aus. Wenn die Steuerlogikschaltung 150 eine logische "1" abgibt, wählt die
Wähleinrichtung 143 den Eingangsanschluß B für die Auswahl des Adreßsignals, das in der
Verzögerungseinrichtung 142 um einen Zyklus verzögert worden ist, aus und gibt dann das
verzögerte Adreßsignal an die Addiereinrichtung 144 ab. In der Addiereinrichtung 144 wird ein
vorbestimmter Wert zu dem Adreßsignal, das von dem Programmzähler 112 abgegeben wird,
hinzuaddiert, indem das eine Bit des Steuersignals, das von der Steuerlogikschaltung 150 abge
geben wird, zu dem oberen Bitbereich des Adreßsignals, das durch die Wähleinrichtung 143
ausgewählt ist, hinzuaddiert wird. Dies bedeutet, daß der Adreßbereich auf den doppelten
Adreßbereich dadurch vergrößert wird, daß ein Bit zu dem oberen Bitbereich des Adreßsignals,
das von dem Programmzähler 112 abgegeben wird, hinzuaddiert wird. Folglich wird es möglich,
daß Untermustererzeugungsbefehle (Mustererzeugungsbefehle von unterschiedlicher Art), die
nicht in den Adreßbereich, der durch das von dem Programmzähler 112 abgegebene Adreß
signal bestimmt wird, eingeschrieben werden können, in den Adreßbereich eingeschrieben
werden, der auf das doppelte ausgedehnt ist. Bei dem in Fig. 9 gezeigten Beispiel ist der Wert,
der in der Addiereinrichtung 144 hinzuaddiert wird, gleich #400, da der Programmzähler 112 10
Bits aufweist.
Fig. 9 zeigt die Adreßumwandlungsvorgänge, wenn der Befehl LOOP1 viermal wiederholt wird
und der Befehl LOOP2 zweimal wiederholt wird, wie es bei dem Programmbeispiel gemäß Fig.
6A vorgesehen ist. Wenn der Adreßwert (PC-Wert), der von dem Programmzähler 112 abgege
ben wird, um eins aufgestuft (inkrementiert) wird, wird die Adresse IM2A des zweiten Befehls
speichers 113-2 nicht umgewandelt, und es wird der Wert von PC zu PC = IM2A. In einem Fall,
bei dem der Wert PC sich von einem um eins inkrementierten Wert unterscheidet, wird ein
Adreßumwandlungsvorgang durchgeführt, bei dem + #400 zu dem um einen Zyklus verzögerten
Wert von PC hinzuaddiert wird. Daher können bei den Schritten, bei denen die Untermuster
geändert werden, jegliche Mustererzeugungsbefehle von unterschiedlicher Art, die übergangs
mäßig erzeugt werden, ohne jegliche Ausnahme in dem zweiten Befehlsspeicher 113-2 gespei
chert werden.
In diesem Fall ist der Adreßumwandlungsabschnitt 140 derart ausgelegt, daß die Wähleinrich
tung 143 ein Adreßsignal wählt, das um einen Zyklus verzögert ist, wenn sich ein Adreßwert,
der von dem Programmzähler 112 abgegeben wird, zu einem Wert ändert, der sich von einem
um eins inkrementierten Wert unterscheidet. Daher wird wie bei dem in Fig. 6B gezeigten
Programm zur Mustererzeugung selbst dann, wenn der Ablauf von vielen Schleifenbefehlen zu
dem durch den Namen LB1 bezeichneten Befehl LOOP1 zurückkehrt, der vorbestimmte Wert
#400 zu der Adresse hinzuaddiert, bei der ein in dem vorhergehenden Zyklus abgearbeiteter
Schleifenbefehl definiert ist, um hierdurch eine Adreßumwandlung durchzuführen. Selbst wenn
daher der Ablauf aus irgendeinem der Schleifenbefehle zu der Schleife LOOP1 zurückkehrt, tritt
keine Duplizierung der Adresse auf.
Fig. 11 zeigt eine spezielle Ausführungsform der Multiplexschaltung 130. Untermuster X = 0,
X = 1, X = 2 und X = 4 (siehe Fig. 5), die jeweils durch die Untermustererzeugungsabschnitte
120A, 120B, 120C und 120D des Untermustergenerators 120, der in Fig. 3 gezeigt ist, erzeugt
werden, werden jeweils an die Eingangsanschlüsse A, B, C bzw. D angelegt. Mit den Eingangs
anschlüssen A, B, C und D sind jeweils Flipflops FF1, FF2, FF3 bzw. FF4 gekoppelt. Der in Fig. 5
gezeigte Takt CP1 wird an jeden Takteingangsanschluß CK der Flipflops FF1 bis FF4 angelegt.
Die Untermuster X = 0, X = 1, X = 2 und X = 3 werden jeweils in die Flipflops FF1 bis FF4 in der
Periode des Takts CP1 eingespeichert. Die Ausgänge der Flipflops FF1 bis FF4 sind jeweils mit
Eingangsanschlüssen T0 bis T3 des Multiplexers MUX gekoppelt. Ein Zählausgang des Takts
CP2 (siehe Fig. 3) wird von einem Zähler CTR an einen Steuereingangsanschluß S des Multiple
xers MUX angelegt. Die vier Eingangsanschlüsse werden sequentiell geschaltet, um hierdurch
sequentiell die Untermuster X = 0, X = 1, X = 2 und X = 3 an einem Ausgangsanschluß Q abzu
geben, wie es in Fig. 5D gezeigt ist. Folglich wird eine hohe Geschwindigkeit bzw. Frequenz
besitzendes Mustersignal HIP abgegeben. In dem nächsten Zyklus des Takts CP1 werden die
Untermuster X = 4, X = 5, X = 6 und X = 7 jeweils in die Flipflops FF1 bis FF4 eingespeichert.
Diese Untermuster werden einer Multiplexverarbeitung unterzogen und an dem Ausgangsan
schluß Q als hohe Geschwindigkeit aufweisendes Mustersignal HIP abgegeben. Im Anschluß
hieran wird der vorstehend beschriebene Betriebsablauf wiederholt, und es kann ein eine hohe
Geschwindigkeit aufweisendes Mustersignal, das sich in der gewünschten Abfolge ändert,
erzeugt werden.
Fig. 12 zeigt ein zweites Ausführungsbeispiel des Hochgeschwindigkeits-Mustergenerators
gemäß der vorliegenden Erfindung. Bei diesem Ausführungsbeispiel sind ein erster Befehlsspei
cher 113-1 und ein zweiter Befehlsspeicher 113-2, die jeweils eine Adresse mit 10 Bit aufwei
sen, durch Speicher gebildet, die jeweils die gleiche Adreßkapazität bzw. den gleichen
Adreßumfang haben. Bei der Abfolge, bei der ein Mustererzeugungsbefehl unterschiedlicher Art
erzeugt wird, wird eine Adresse, an der der Folgesteuerbefehl geschrieben bzw. enthalten ist, in
eine Adresse umgewandelt, die jedesmal sequentiell um eins, ausgehend von der letzten
Adresse des zweiten Befehlsspeichers 113-2, dekrementiert bzw. verkleinert wird.
Bei diesem Ausführungsbeispiel ist ein Tabellenbereich 113-1A zur Adreßumwandlung in dem
ersten Befehlsspeicher 113-1 vorgesehen, und es sind in diesem Bereich Tabellendaten für die
Adreßumwandlung eingeschrieben. Tabellendaten für die Adreßumwandlung stellen einen
Adreßwert für die Speicherung eines Mustererzeugungsbefehls unterschiedlicher bzw. anderer
Art dar, der übergangsmäßig in den Schritten erzeugt wird, bei denen sich Untermuster ändern.
Wenn ein Folgebefehl, wie etwa der Schleifenbefehl LOOP usw., bei dem ein anderer Ablauf als
der Vorgang zur Inkrementierung des Programmzählers um eins durchgeführt wird, in einem
Musterprogramm beschrieben bzw. vorgegeben ist, werden mit Hilfe eines Übersetzungspro
gramms Werte der Tabellendaten #3FF, #3FE, #3FD, #FC, . . . für die Adreßumwandlung zuge
ordnet, die ausgehend von der letzten Adresse #3FF des zweiten Befehlsspeichers 113-2
jeweils um eins in der Reihenfolge des Auftretens verringert werden.
Fig. 13 zeigt den Status der Adreßzuordnung in dem ersten Befehlsspeicher 113-1 und dem
zweiten Befehlsspeicher 113-2. Auf der Seite bzw. beginnend von der ersten Adresse #0 des
ersten Befehlsspeichers 113-1 sind Folgesteuerbefehle SA, SB, SC und SD in den Adressen, die
für die Folgesteuerbefehle bestimmt sind, sequentiell ausgehend von #0 eingeschrieben. Die
Folgesteuerbefehle SA, SB, SC und SD, die Befehle, wie etwa Schleifenbefehle usw. sind, bei
denen jeweils ein anderer Vorgang als der Vorgang des Inkrementierens des Programmzählers
um eins durchgeführt wird, sind ebenfalls in dem Befehlsspeicher 113-1 ohne irgendwelche
Ausnahme eingeschrieben. Untermustererzeugungsbefehle sind in den gleichen Adressen des
zweiten Befehlsspeichers 113-2 wie die Adressen des ersten Befehlsspeichers eingeschrieben.
Weiterhin sind bei diesem Beispiel Mustererzeugungsbefehle unterschiedlicher Art wie etwa
Schleifenbefehle LOOP und so weiter, die den Folgesteuerbefehlen SA, SB, SC und SD
entsprechen und von denen jeder jeweils einen Ablauf bewirkt, der sich von dem Vorgang der
Inkrementierung des Programmzählers um eins unterscheidet, auf der Seite bzw. beginnend von
der letzten Adresse des zweiten Befehlsspeichers 113-2, das heißt in der Reihenfolge #3FF,
#3FE, #3FD, #3FC, . . ., eingeschrieben.
Durch die Wähleinrichtung 143 wird entweder ein umgewandeltes Adreßsignal, das aus dem
Tabellenbereich 113-1A für die Adreßumwandlung abgegeben wird, oder ein Adreßsignal, das
von dem Programmzähler 112 abgegeben wird, ausgewählt und an den zweiten Befehlsspeicher
113-2 angelegt. Das umgewandelte Adreßsignal, das aus dem Tabellenbereich 113-1A für die
Adreßumwandlung ausgegeben wird, wird in der Adreßverzögerungseinrichtung 142 um einen
Zyklus verzögert und an die Wähleinrichtung 143 angelegt. Die Wähleinrichtung 143 wird durch
ein Steuersignal gesteuert, das von der gleichen Steuerlogikschaltung 150 abgegeben wird, wie
sie unter Bezugnahme auf Fig. 10 bereits erläutert wurde.
Fig. 14 zeigt das Ergebnis der Adreßumwandlung, wenn der Schleifenbefehl LOOP1 viermal
wiederholt wird und der Schleifenbefehl LOOP2 zweifach wiederholt wird. Wenn sich, wie im
Zyklus 7 veranschaulicht ist, der Programmzähler auf einen Wert ändert, der sich von einem um
eins inkrementierten Wert unterscheidet, wird in diesem Fall #3FE, das ausgehend von der
Adresse #2 des vorhergehenden Zyklus umgewandelt ist, in der Adreßverzögerungseinrichtung
142 verzögert und an den zweiten Befehlsspeicher angelegt. Danach wird die Adresse #3FF, die
aus #1 umgewandelt worden ist, bei der ein Folgesteuerbefehl im Zyklus 7 ausgelesen wird, an
den zweiten Befehlsspeicher angelegt. Daher werden aufgrund dieses Ablaufs selbst dann,
wenn der Ablauf aus vielen Schleifen gemäß der Darstellung in Fig. 6B zu der gleichen Schleife
zurückkehrt, keine duplizierten Adressen erzeugt. In gleichartiger Weise wie dem unter Bezug
nahme auf Fig. 10 erläuterten Ausführungsbeispiel können auch bei der in Fig. 14 gezeigten
Ausgestaltung Mustererzeugungsbefehle unterschiedlicher Art in dem zweiten Befehlsspeicher
113-2 gespeichert und aus diesem ausgelesen werden.
Nachfolgend wird ein zweites Ausführungsbeispiel des erfindungsgemäßen Verfahrens zur
Erzeugung von Mustern mit hoher Geschwindigkeit und auch ein drittes Ausführungsbeispiel
des Hochgeschwindigkeits-Mustergenerators gemäß der vorliegenden Erfindung unter Bezug
nahme auf Fig. 15 erläutert. Wie in Fig. 15 gezeigt ist, weist der Hochgeschwindigkeits-Muster
generator 130 bei diesem dritten Ausführungsbeispiel einen Folgesteuerabschnitt 110, einen
Mustererzeugungsabschnitt 120 und eine Multiplexschaltung 500 zur Multiplexierung der Test
muster, die durch den Mustererzeugungsabschnitt 120 erzeugt werden, in zeitteilender Weise
bzw. im Zeitmultiplex auf. Bei diesem Ausführungsbeispiel wird daher eine Ausgestaltung
eingesetzt, bei der ein eine hohe Geschwindigkeit bzw. Frequenz besitzendes Mustersignal durch
Multiplexierung erhalten wird. Es müssen deshalb Mustersignale erzeugt werden, die auf die
Anzahl von Pfaden bzw. Kanälen aufgeteilt sind, die der Anzahl der Multiplexierung bzw. Multi
plexkanäle entsprechen. Bei diesem Ausführungsbeispiel werden daher durch den Folgesteuer
abschnitt 110 bei jeder Folgesteuerung ein Befehl MAIN zur Erzeugung des Hauptmusters sowie
Argumente (Parameter) P1, P2 und P3 zum Definieren von vorbestimmten Mustern, die dem
Hauptmuster nachfolgen, erzeugt.
Der Befehl MAIN zur Erzeugung des Hauptmusters wird in einen Hauptmustererzeugungsab
schnitt 121 zur Erzeugung eines Hauptmusters eingespeist. Auf der anderen Seite werden die
Parameter P1, P2 und P3 an jeweilige Untermustererzeugungsabschnitte 122, 123 und 124
angelegt. Das Hauptmuster, das von dem Hauptmustererzeugungsabschnitt 121 erzeugt wird,
wird ebenfalls an diese Untermustererzeugungsabschnitte 122, 123 und 124 angelegt. Diese
Untermustererzeugungsabschnitte 122, 123 und 124 erzeugen Muster, die an einen im Test
befindlichen IC 300 anzulegen sind, in einer Folge, die sich an das Hauptmuster anschließt, und
auf dem Hauptmuster unter Verwendung der Parameter P1, P2 und P3 basieren.
Der Aufbau und die Arbeitsweise jedes Abschnitts wird nachstehend in Einzelheiten erläutert.
Der Folgesteuerabschnitt 110 weist in gleicher Weise wie das herkömmliche Beispiel, das in Fig.
2 gezeigt ist, eine Programmzählersteuereinrichtung 111, einen Programmzähler 112, einen
Befehlsspeicher 113, einen Schleifenzähler 114 und ein Register 115 zur Speicherung eines
anfänglichen Werts auf. Jedoch unterscheidet sich, wie in Fig. 16 gezeigt ist, der Folgesteuer
abschnitt 110 in diesem Fall von dem herkömmlichen Beispiel in dem Punkt, daß ein Befehl
MAIN zur Erzeugung eines Hauptmusters und eine Mehrzahl von Parametern, P1, P2 und P3
durch den zur Speicherung der Mustererzeugungsbefehle dienenden Speicherbereich 113B des
Befehlsspeichers 113 bei jedem Folgesteuerbefehl generiert werden.
Fig. 17 zeigt ein Beispiel eines Musterprogramms, das zur Erzeugung der Mustererzeugungsbe
fehle dient. Die Angabe START #0 bedeutet, daß die Mustererzeugung, ausgehend von der
ersten Adresse, begonnen wird, die von dem Programmzähler 112 abgegeben wird. "NOP"
(keine Operation) wird bei der Adresse #0 ausgeführt. NOP bedeutet, daß die Adresse um eins
hochgestuft (inkrementiert) wird. Daher wird die Adresse in der nächsten Zeile auf #1 geändert.
In der zweiten Reihe werden wiederholte Ausführung des Befehls mit dem Namen (Label) LB1
durchgeführt, wobei die Anzahl der Ausführungen durch die Häufigkeit N bestimmt ist, die
durch den Schleifenbefehl LOOP1 bestimmt ist. Die jeweiligen Häufigkeiten bzw. Werte N
werden durch einen Einstellwert definiert, der in dem Register 115 zur Speicherung des anfäng
lichen Werts gespeichert ist.
X < 0 (1, 2, 3) und X < X + 4 (1, 2, 3), die in der ersten Zeile bzw. in der zweiten Zeile angege
ben sind, bilden die Mustererzeugungsbefehle. In diesem Fall repräsentieren X < 0 und X < X + 4
die Befehle zur Erzeugung des Hauptmusters. X < 0 ist ein Befehl, der zum Initialisieren des
Adreßregisters für die Adresse X auf 0 dient, wohingegen X < X + 4 ein Befehl ist, der das
Hinzuaddieren von + 4 zu einem Wert des Adreßregisters für die Adresse X und das Speichern
des Rechenergebnisses in dem Adreßregister für die Adresse X befiehlt. Die Zahlenwerte in (1,
2, 3) geben jeweils Werte für die Parameter P1, P2 und P3 an und werden zu dem Hauptmuster
jeweils in den Untermustererzeugungsabschnitten 122, 123 und 124 hinzuaddiert.
Fig. 18 zeigt die Beziehung zwischen dem Befehl MAIN zur Erzeugung eines Hauptmusters,
einem durch den Befehl MAIN erzeugten Hauptmuster und von Untermustern, die durch die
Untermustererzeugungsabschnitte 122 bis 124 erzeugt werden, wenn das Musterprogramm
abgearbeitet wird, das in Fig. 17 gezeigt ist.
Wenn der Befehl zur Erzeugung des Hauptmusters an den Hauptmustererzeugungsabschnitt
121, der in Fig. 15 gezeigt ist, angelegt wird und die Parameter P1, P2 und P3 jeweils an die
Untermustererzeugungsabschnitte 122, 123 und 124 angelegt werden, gibt der Hauptmusterer
zeugungsabschnitt 121 als Adreßmuster für die Adresse X den Wert X = 0 ab, und es geben die
Untermustererzeugungsabschnitte 122, 123 und 124 jeweils die Werte X = 0 + 1, X = 0 + 2 und
X = 0 + 3 ab. Fig. 18 zeigt den Fall, bei dem der Schleifenbefehl LOOP1, der in Fig. 17 gezeigt
ist, zehnmal wiederholt wird. Die Mustererzeugungsbefehle, die in den in Fig. 18 gezeigten
Schritten 2 bis 11 erzeugt werden, führen daher zur Erzeugung von X < X + 4 (1, 2, 3), was
durch den Schleifenbefehl LOOP1 angegeben ist. Wenn dieser Mustererzeugungsbefehl X < X + 4
an den Hauptmustererzeugungsabschnitt 121 angelegt wird, gibt der Hauptmusterer
zeugungsabschnitt 121 = 4 als ein Hauptmuster ab, während die Untermustererzeugungsab
schnitte 122, 123 und 124 jeweils Muster X = 4 + 1, X = 4 + 2 bzw. X = 4 + 3 abgeben, wie es in
dem zweiten Zyklus t in Fig. 19 gezeigt ist.
Auf diese Weise geben der Hauptmustererzeugungsabschnitt 121 und die Untermustererzeu
gungsabschnitte 122, 123 und 124 Schritt für Schritt Gruppen aus kontinuierlichen Mustern
X = 1, X = 2, X = 3; X = 5, X = 6, X = 7; und X = 9, X = 10, X = 11 ab, die den Hauptmustern
X = 0, X = 4, X = 8, . . . nachfolgen.
Fig. 20 zeigt eine spezifische Ausführungsform des Hauptmustererzeugungsabschnitts 121 und
der Untermustererzeugungsabschnitte 122, 123 und 124. Der Hauptmustererzeugungsabschnitt
121 kann durch vier Register REG1, REG2, REG3 und REG4, einen Addierer ALU, zwei Multi
plexer MUX1 und MUX2 und ein Maskierungsgate bzw. Maskierungstor MASK gebildet sein.
Ein Hauptmustererzeugungsbefehl X < 0 oder X < X + 4 oder mit einem ähnlichen Wert wird von
dem Folgesteuerabschnitt 110 in das Register REG1 des Hauptmustererzeugungsabschnitts 121
eingespeist, und es wird der Wert X in diesem gespeichert. Ein von dem Folgesteuerabschnitt
110 abgegebener Parameter 0 wird in dem Register REG2 des Hauptmustererzeugungsab
schnitts 121 gespeichert. Der Multiplexer MUX1 wählt anfänglich das Register REG1 aus, und es
wird der Wert X, der in dem Register REG1 gespeichert ist, zu einem Wert hinzuaddiert, der in
dem Register REG2 gespeichert ist. Anschließend wird das Ergebnis der Addition in dem
Register REG3 gespeichert. Wenn der Mustererzeugungsabschnitt gleich X < 0 ist, wird X auf 0
initialisiert und wird in dem Register REG1 gespeichert. Daher berechnet der Addierer ALU
X = 0 + 0, und es wird in dem Register REG3 der Wert X = 0 gespeichert. Der Wert von X, der in
dem Register REG3 gespeichert ist, wird an eine Musterverzögerungsschaltung 125 über den
Multiplexer MUX2 und das Maskierungsgate MASK abgegeben und wird nach einer geeigneten
Verzögerung an einem Ausgangsanschluß TA ausgegeben. Weiterhin wird der maximale Wert
des Musters, das an einen im Test befindlichen IC 300 anzulegen ist, in dem Register REG4
eingestellt. Wenn der Wert des Registers REG3 den Wert des Registers REG4 überschreitet,
verhindert das Maskierungsgate bzw. Maskierungstor MASK, daß ein Wert, der größer ist als
der in dem Register REG4 eingestellte Wert, an einen im Test befindlichen IC 300 angelegt wird.
Die Musterverzögerungsschaltung 125 ist dazu vorgesehen, ein Testmuster zu verzögern, das
durch den Hauptmustererzeugungsabschnitt 121 erzeugt wird, und zwar um die gleiche Verzö
gerungszeit wie die Verzögerungszeit in den Untermustererzeugungsabschnitten 122, 123 und
124, so daß die Testmuster an den Ausgangsanschlüssen TA bis TD mit der gleichen Phase
abgegeben werden.
Wenn ein Mustererzeugungsbefehl X < X + 4 in das Register REG1 des Hauptmustererzeugungs
abschnitts 121 eingespeist wird, wird in dem Register REG1 der Wert X = 4 gespeichert. Als
Ergebnis berechnet der Addierer ALU den Wert X = 4 + 0, und es wird das Rechenergebnis in
dem Register REG3 gespeichert. Daher wird das Hauptmuster zu X = 4.
Nachfolgend werden der Aufbau und die Arbeitsweise der Untermustererzeugungsabschnitte
122 bis 124 erläutert. Da die Untermustererzeugungsabschnitte 122 bis 124 dieselbe Gestal
tung besitzen, wird im folgenden lediglich ein Untermustererzeugungsabschnitt 122 erläutert.
Dieser Untermustererzeugungsabschnitt 122 weist drei Register REG2, REG3 und REG4, zwei
Multiplexer MUX1 und MUX2 und ein Maskierungsgate bzw. Maskierungstor MASK auf. Die
Hauptmuster X = 0, X = 4, X = 8, . . ., die durch den Hauptmustererzeugungsabschnitt 121
erzeugt werden, werden in den Multiplexer MUX1 eingespeist. Der Parameter P1 wird von dem
Folgesteuerabschnitt 110 (Fig. 16) in das Register REG2 eingelesen. Bei diesem Beispiel ist der
Fall dargestellt, daß P11 ist. Dieser Parameter P1 = 1 wird in dem Register REG2 gespeichert.
(Die Parameter 2 und 3 werden jeweils in den Registern REG2 der Untermustererzeugungsab
schnitte 123 und 124 gespeichert.) Wenn der Hauptmustererzeugungsabschnitt 121 ein
Hauptmuster X = 0 erzeugt, berechnet der Addierer ALU X = 0 + 1, und es wird das Berech
nungsergebnis X = 1 in dem Register REG3 gespeichert. Daher wird ein Untermuster X = 1 an
einem Ausgangsanschluß TB abgegeben. Wenn der Hauptmustererzeugungsabschnitt 121 dann
ein Hauptmuster X = 4 erzeugt, berechnet der Addierer ALU des Untermustererzeugungsab
schnitts 122 den Wert X = 4 + 1, und es wird das Berechnungsergebnis in dem Register REG3
gespeichert. Als Ergebnis wird ein Untermuster X = 5 an dem Ausgangsanschluß TB abgegeben.
Auf diese Weise werden die Parameter (1, 2, 3), die in dem Register REG2 gespeichert sind, in
den Untermustererzeugungsabschnitten 122 bis 124 zu den Hauptmustersignalen X = 0, X = 4,
X = 8, . . ., die von dem Hauptmustererzeugungsabschnitt 121 erzeugt werden, in den jeweiligen
Schritten 1, 2, 3 . . ., hinzuaddiert, und es werden Mustersignale X = 0, X = 1, X = 2, X = 3; X = 4,
X = 5, X = 6, X = 7; und X = 8, X = 9, X = 10, X = 11, die in der gewünschten Reihenfolge ange
ordnet sind, an den Ausgangsanschlüssen TA bis TD bei jedem der jeweiligen Zyklen t - 1, t,
t + 1, . . ., abgegeben.
Die Muster, die an den Ausgangsanschlüssen TA bis TD abgegeben werden, werden an jewei
lige Eingangsanschlüsse IA bis ID der Multiplexerschaltung bzw. Multiplexschaltung 500 ange
legt, die in Fig. 21 gezeigt ist. In der Multiplexerschaltung 500 sind Flipflops 501, 502, 503 und
504 jeweils mit den Eingangsanschlüssen IA, IB, IC bzw. ID gekoppelt. Die Muster, die von dem
Mustererzeugungsabschnitt 120 erzeugt werden und zum Beispiel die Werte X = 0, X = 1, X = 2
und X = 3 haben, werden in den Flipflops 501 bis 504 jeweils mit Hilfe eines Takts CLK1
zwischengespeichert, der in Fig. 22A dargestellt ist. In einem Multiplexer 506, der eine Ausge
staltung mit vier Eingängen und einem Ausgang besitzt, werden die der Zwischenspeicherung
entsprechenden Ausgangssignale der Flipflops 501 bis 504 in der Periode eines Takts CLK2, der
in Fig. 22C gezeigt ist, ausgewählt und abgegriffen. Weiterhin werden diese durch die
Zwischenspeicherung erhaltenen Ausgangssignale dann hinsichtlich ihrer zeitlichen Lage mit
Hilfe eines Flipflops 507 eingestellt und einem Ausgangsanschluß TQ abgegeben. Ein hohe
Geschwindigkeit aufweisendes Mustersignal HIP, das eine um das vierfache erhöhte Geschwin
digkeit besitzt und in Fig. 22D gezeigt ist, wird an dem Ausgangsanschluß TQ in Übereinstim
mung mit der vorbestimmten Abfolge abgegeben. Weiterhin bezeichnet ein Bezugszeichen 505,
das in Fig. 21 dargestellt ist, einen Zähler, der zum Zählen des Takts CLK2 dient, wobei der
Multiplexer 506 hinsichtlich seiner Umschaltung durch das Zählausgangssignal des Zählers 505
gesteuert wird.
Wie vorstehend erläutert, läßt sich in Übereinstimmung mit der vorliegenden Erfindung ein eine hohe
Geschwindigkeit aufweisendes Mustersignal erhalten, dessen erhöhte Geschwindigkeit der
herkömmlichen Arbeitsgeschwindigkeit, multipliziert mit der Anzahl von Multiplexierungen bzw.
Multiplexverschachtelungen oder Multiplexkanälen, entspricht, wobei ein Folgesteuerabschnitt
und ein Mustererzeugungsabschnitt eingesetzt werden, die mit einer Geschwindigkeit arbeiten,
die gleich der herkömmlichen Arbeitsgeschwindigkeit ist. Daher läßt sich ein Betrieb mit hoher
Geschwindigkeit erhalten, ohne daß die Notwendigkeit besteht, die Schaltungen unter Verwen
dung von Elementen aufzubauen, die speziell bei hohen Geschwindigkeiten arbeiten. Da der
Betrieb mit hoher Geschwindigkeit erzielt werden kann, ohne daß ein Super-Pipeline-Aufbau
eingesetzt wird, läßt sich darüberhinaus ein mit hoher Geschwindigkeit arbeitender Mustergene
rator schaffen, der mit niedrigen Kosten hergestellt werden kann und kompakt ist.
Ferner kann ein Benutzer ein Programm (ein Musterprogramm) zur Erzeugung von Mustern in
einer Weise schreiben, die gleichartig ist wie die herkömmliche Vorgehensweise, so daß der
Benutzer kein spezielles Programm für die Multiplexierung schaffen muß. Demzufolge läßt sich
ein Programm zur Generierung eines Hochgeschwindigkeitsmusters in einfacher Weise
aufbauen.
In Übereinstimmung mit dem Hochgeschwindigkeits-Mustergenerator gemäß dem dritten
Ausführungsbeispiel der vorliegenden Erfindung läßt sich darüberhinaus ein Hochgeschwindig
keits-Mustersignal generieren, das eine erhöhte Geschwindigkeit besitzt, die durch die Multipli
kation mit der Anzahl von Multiplexschritten bzw. Multiplexkanälen in dem Multiplexer 500
bestimmt ist, und zwar selbst dann, wenn der Folgesteuerabschnitt 110, der Mustererzeu
gungsabschnitt 120 und die Flipflops 501 bis 504, die die Multiplexschaltung 500 bilden, aus
Schaltungen aufgebaut sind, die mit einer Geschwindigkeit arbeiten, die gleich oder ähnlich wie
die herkömmliche Arbeitsgeschwindigkeit ist. Wenn daher in der Multiplexschaltung 500 die
Anzahl N der Multiplexschritte bzw. Multiplexkanäle wie bei dem vorstehend erläuterten
Ausführungsbeispiel so gewählt ist, daß N = 4 ist, führt der Einsatz von Schaltungen, die bei
einer Geschwindigkeit von 100 MHz arbeiten, zur Erzeugung eines Hochgeschwindigkeitsmu
stersignals, das eine Frequenz von 400 MHz besitzt.
Da ferner in Übereinstimmung mit der vorliegenden Erfindung Argumente (Parameter) zu einem
Hauptmustererzeugungsbefehl addiert werden, und Untermuster, die einer Multiplexierung zu
unterziehen sind, unter Verwendung der Argumente generiert werden, kann ein Programmierer
ein Programm schaffen, indem er lediglich das Hauptmuster definiert. Daher wird der Vorteil
erhalten, daß ein Programm zur Erzeugung von Hochgeschwindigkeitsmustern einfach geschrie
ben werden kann.
Weiterhin kann das Gerät gemäß der vorliegenden Erfindung mit geringen Kosten hergestellt
werden, da die hauptsächlichen Abschnitte des Folgesteuerabschnitts 110 und des Musterer
zeugungsabschnitts 120 usw. aus Schaltungen aufgebaut werden können, die gleich oder die
ähnlich sind, wie die herkömmlichen Schaltungen. Ferner ergibt sich der weitere Vorteil, daß das
gesamte Gerät mit kompakter Größe hergestellt werden kann, da kein mehrstufiger Super-Pipe
line-Aufbau vorgesehen werden muß.
Claims (12)
1. Hochgeschwindigkeits-Mustererzeugungsverfahren zum Erzeugen von Testmuster
signalen mit hoher Geschwindigkeit mittels eines Mustergenerators, der einen Folgesteuer
abschnitt (110) und einen Mustererzeugungsabschnitt (120) aufweist und ein Testmustersignal
aus dem Mustererzeugungsabschnitt in Abhängigkeit von einem Mustererzeugungsbefehl
generiert, der aus einem in dem Folgesteuerabschnitt vorhandenen Befehlsspeicher (113)
ausgelesen wird, wobei das Testmustersignal an ein im Test befindliches Bauteil (300) zum
Testen von dessen Betrieb angelegt wird,
dadurch gekennzeichnet, daß das Verfahren die folgenden Schritte aufweist:
Bereitstellen einer Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) in dem Befehlsspeicher (113) zur Speicherung von Untermustererzeugungsbefehlen,
Bereitstellen einer Mehrzahl von Untermustererzeugungsabschnitten (120A-120D) in dem Mustererzeugungsabschnitt (120), die je einem jeweiligen Untermusterspeicherbereich (113B1-113B4) entsprechen,
Anlegen von Untermustererzeugungsbefehlen, die gleichzeitig aus der Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) ausgelesen werden, an die jeweiligen Unter mustererzeugungsabschnitte (120A-120D),
gleichzeitiges Erzeugen von Untermustersignalen durch die Mehrzahl von Untermuster erzeugungsabschnitten (120A-120D) nach Maßgabe der Untermustererzeugungsbefehle, wobei die einzelnen Untermustersignale in der Folge der Mustersignale, die an das im Test befindliche Bauteil anzulegen sind, verteilt sind, und
Zeitmultiplex-Verschachteln der Untermustersignale unter Verwendung einer Multiplex schaltung (130), um hierdurch ein Hochgeschwindigkeitsmustersignal zu generieren.
Bereitstellen einer Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) in dem Befehlsspeicher (113) zur Speicherung von Untermustererzeugungsbefehlen,
Bereitstellen einer Mehrzahl von Untermustererzeugungsabschnitten (120A-120D) in dem Mustererzeugungsabschnitt (120), die je einem jeweiligen Untermusterspeicherbereich (113B1-113B4) entsprechen,
Anlegen von Untermustererzeugungsbefehlen, die gleichzeitig aus der Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) ausgelesen werden, an die jeweiligen Unter mustererzeugungsabschnitte (120A-120D),
gleichzeitiges Erzeugen von Untermustersignalen durch die Mehrzahl von Untermuster erzeugungsabschnitten (120A-120D) nach Maßgabe der Untermustererzeugungsbefehle, wobei die einzelnen Untermustersignale in der Folge der Mustersignale, die an das im Test befindliche Bauteil anzulegen sind, verteilt sind, und
Zeitmultiplex-Verschachteln der Untermustersignale unter Verwendung einer Multiplex schaltung (130), um hierdurch ein Hochgeschwindigkeitsmustersignal zu generieren.
2. Hochgeschwindigkeits-Mustergenerator, der unter Verwendung des im Anspruch 1
angegebenen Hochgeschwindigkeits-Mustererzeugungsverfahrens arbeitet, dadurch gekenn
zeichnet, daß:
der Befehlsspeicher (113) in einen ersten Befehlsspeicher (113-1), in dem Folgesteuer befehle gespeichert sind, und einen zweiten Befehlsspeicher (113-2), der die Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) aufweist, in denen die Untermustererzeugungs befehle gespeichert sind, unterteilt ist,
der Folgesteuerabschnitt (110) einen Adreßumwandlungsabschnitt (140) und einen ersten Adreßerzeugungsabschnitt (112) zur Erzeugung eines ersten Adreßsignals (ADR) nach Maßgabe eines aus dem ersten Befehlsspeicher (113-1) ausgelesenen Folgesteuerbefehls aufweist,
das erste Adreßsignal (ADR) von dem ersten Adreßerzeugungsabschnitt (112) an den ersten Befehlsspeicher (1113-1) für den Zugriff auf den ersten Befehlsspeicher sowie an den Adreßumwandlungsabschnitt (140) angelegt wird und
der Adreßumwandlungsabschnitt (140) derart ausgestaltet ist, daß er dann, wenn der Adreßwert des ersten Adreßsignals (ADR), das von dem ersten Adreßerzeugungsabschnitt (112) für den Zugriff auf den ersten Befehlsspeicher (113-1) erzeugt wird, ein Wert ist, der dem um eins inkrementierten Adreßwert des unmittelbar vorhergehenden Zyklus des ersten Adreßsignals entspricht, dieses Adreßsignal als zweites Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) zum Zugriff auf den zweiten Befehlsspeicher (113-2) anlegt, während der Adreßum wandlungsabschnitt (140), wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) ein anderer als der um eins inkrementierte Wert ist, ein umge wandeltes Adreßsignal erzeugt, das einen Wert besitzt, der durch Addition eines vorbestimmten Werts zum Adreßwert des ersten Adreßsignals im unmittelbar vorhergehenden Zyklus gebildet wird, und das umgewandelte Adreßsignal als zweites Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) anlegt.
der Befehlsspeicher (113) in einen ersten Befehlsspeicher (113-1), in dem Folgesteuer befehle gespeichert sind, und einen zweiten Befehlsspeicher (113-2), der die Mehrzahl von Untermusterspeicherbereichen (113B1-113B4) aufweist, in denen die Untermustererzeugungs befehle gespeichert sind, unterteilt ist,
der Folgesteuerabschnitt (110) einen Adreßumwandlungsabschnitt (140) und einen ersten Adreßerzeugungsabschnitt (112) zur Erzeugung eines ersten Adreßsignals (ADR) nach Maßgabe eines aus dem ersten Befehlsspeicher (113-1) ausgelesenen Folgesteuerbefehls aufweist,
das erste Adreßsignal (ADR) von dem ersten Adreßerzeugungsabschnitt (112) an den ersten Befehlsspeicher (1113-1) für den Zugriff auf den ersten Befehlsspeicher sowie an den Adreßumwandlungsabschnitt (140) angelegt wird und
der Adreßumwandlungsabschnitt (140) derart ausgestaltet ist, daß er dann, wenn der Adreßwert des ersten Adreßsignals (ADR), das von dem ersten Adreßerzeugungsabschnitt (112) für den Zugriff auf den ersten Befehlsspeicher (113-1) erzeugt wird, ein Wert ist, der dem um eins inkrementierten Adreßwert des unmittelbar vorhergehenden Zyklus des ersten Adreßsignals entspricht, dieses Adreßsignal als zweites Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) zum Zugriff auf den zweiten Befehlsspeicher (113-2) anlegt, während der Adreßum wandlungsabschnitt (140), wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) ein anderer als der um eins inkrementierte Wert ist, ein umge wandeltes Adreßsignal erzeugt, das einen Wert besitzt, der durch Addition eines vorbestimmten Werts zum Adreßwert des ersten Adreßsignals im unmittelbar vorhergehenden Zyklus gebildet wird, und das umgewandelte Adreßsignal als zweites Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) anlegt.
3. Mustergenerator nach Anspruch 2, bei dem der Adreßumwandlungsabschnitt (140)
umfaßt:
eine Adreßverzögerungseinrichtung (142) zum Verzögern des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher um einen Zyklus,
eine Wähleinrichtung (143) zum Auswählen und Abgreifen entweder eines verzögerten Adreßsignals, das durch die Adreßverzögerungseinrichtung verzögert ist, oder eines Adreß signals, das nicht durch die Verzögerungseinrichtung hindurchgeleitet ist, und
eine Addiereinrichtung (144) zum Addieren eines vorbestimmten Werts zu dem ausge wählten, verzögerten Adreßsignal, wenn die Wähleinrichtung das verzögerte Adreßsignal auswählt, das durch die Verzögerungseinrichtung verzögert ist, um dadurch das umgewandelte Adreßsignal auszugeben.
eine Adreßverzögerungseinrichtung (142) zum Verzögern des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher um einen Zyklus,
eine Wähleinrichtung (143) zum Auswählen und Abgreifen entweder eines verzögerten Adreßsignals, das durch die Adreßverzögerungseinrichtung verzögert ist, oder eines Adreß signals, das nicht durch die Verzögerungseinrichtung hindurchgeleitet ist, und
eine Addiereinrichtung (144) zum Addieren eines vorbestimmten Werts zu dem ausge wählten, verzögerten Adreßsignal, wenn die Wähleinrichtung das verzögerte Adreßsignal auswählt, das durch die Verzögerungseinrichtung verzögert ist, um dadurch das umgewandelte Adreßsignal auszugeben.
4. Mustergenerator nach Anspruch 3, bei dem:
der Folgesteuerabschnitt (110) ferner eine Steuerlogikschaltung (150) aufweist, die entweder ein Steuersignal mit dem Wert einer logischen "0" ausgibt, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) einen Wert aufweist, der dem um eins inkrementierten Wert entspricht, oder ein Steuersignal mit dem Wert einer logischen "1" ausgibt, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) einen Wert aufweist, der sich von dem um eins inkrementierten Wert unterscheidet,
wobei das Steuersignal mit dem Wert einer logischen "1" die Wähleinrichtung (143) steuert, das verzögerte Adreßsignal auszuwählen, und
die Addiereinrichtung das Steuersignal mit dem Wert einer logischen "1" zu dem Bit höchster Wertigkeit des verzögerten, ersten Adreßsignals hinzuaddiert, um dadurch das umgewandelte Adreßsignal auszugeben.
der Folgesteuerabschnitt (110) ferner eine Steuerlogikschaltung (150) aufweist, die entweder ein Steuersignal mit dem Wert einer logischen "0" ausgibt, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) einen Wert aufweist, der dem um eins inkrementierten Wert entspricht, oder ein Steuersignal mit dem Wert einer logischen "1" ausgibt, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) einen Wert aufweist, der sich von dem um eins inkrementierten Wert unterscheidet,
wobei das Steuersignal mit dem Wert einer logischen "1" die Wähleinrichtung (143) steuert, das verzögerte Adreßsignal auszuwählen, und
die Addiereinrichtung das Steuersignal mit dem Wert einer logischen "1" zu dem Bit höchster Wertigkeit des verzögerten, ersten Adreßsignals hinzuaddiert, um dadurch das umgewandelte Adreßsignal auszugeben.
5. Hochgeschwindigkeits-Mustergenerator, der unter Verwendung des im Patentan
spruch 1 angegebenen Hochgeschwindigkeits-Mustererzeugungsverfahrens arbeitet, dadurch
gekennzeichnet, daß:
der Befehlsspeicher (113) in einen ersten Befehlsspeicher (113-1) mit einem Folge steuerbefehlsbereich, in dem Folgesteuerbefehle gespeichert sind, und einem Adreßumwand lungstabellenbereich (113-1A), in dem Adreßumwandlungstabellendaten gespeichert sind, und einen zweiten Befehlsspeicher (113-2) unterteilt ist, der die Mehrzahl von Untermusterspeicher bereichen (113B1-113B4) aufweist, wobei:
wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehls speicher ein Wert ist, der sich von dem um eins inkrementierten Adreßwert des ersten Adreß signals im unmittelbar vorhergehenden Zyklus unterscheidet, der erste Befehlsspeicher (113-1) nach Maßgabe der Adreßumwandlungstabellendaten ein umgewandeltes Adreßsignal mit einem Adreßwert erzeugt, der jeweils durch Dekrementieren um eins von dem letzten Adreßwert des zweiten Befehlsspeichers (113-2) gebildet wird, und
eine Wähleinrichtung (143) entweder, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) der um eins inkrementierte Wert ist, das erste Adreßsignal unverändert als zweites Adreßsignal an den zweiten Befehlsspeicher (113-2) zum Zugriff auf diesen anlegt, oder, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher ein anderer als der um eins inkrementierte Wert ist, das umgewandelte, nach Maßgabe der Adreßumwandlungstabellendaten ausgegebene Adreßsignal als das zweite Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) anlegt.
der Befehlsspeicher (113) in einen ersten Befehlsspeicher (113-1) mit einem Folge steuerbefehlsbereich, in dem Folgesteuerbefehle gespeichert sind, und einem Adreßumwand lungstabellenbereich (113-1A), in dem Adreßumwandlungstabellendaten gespeichert sind, und einen zweiten Befehlsspeicher (113-2) unterteilt ist, der die Mehrzahl von Untermusterspeicher bereichen (113B1-113B4) aufweist, wobei:
wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehls speicher ein Wert ist, der sich von dem um eins inkrementierten Adreßwert des ersten Adreß signals im unmittelbar vorhergehenden Zyklus unterscheidet, der erste Befehlsspeicher (113-1) nach Maßgabe der Adreßumwandlungstabellendaten ein umgewandeltes Adreßsignal mit einem Adreßwert erzeugt, der jeweils durch Dekrementieren um eins von dem letzten Adreßwert des zweiten Befehlsspeichers (113-2) gebildet wird, und
eine Wähleinrichtung (143) entweder, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) der um eins inkrementierte Wert ist, das erste Adreßsignal unverändert als zweites Adreßsignal an den zweiten Befehlsspeicher (113-2) zum Zugriff auf diesen anlegt, oder, wenn der Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher ein anderer als der um eins inkrementierte Wert ist, das umgewandelte, nach Maßgabe der Adreßumwandlungstabellendaten ausgegebene Adreßsignal als das zweite Adreßsignal (IM2A) an den zweiten Befehlsspeicher (113-2) anlegt.
6. Mustergenerator nach Anspruch 5, der weiterhin aufweist:
eine Adreßverzögerungseinrichtung (142) zum Verzögern der umgewandelten Adresse, die aus dem Adreßumwandlungstabellenbereich ausgegeben wird, um einen Zyklus und zum Liefern des verzögerten, umgewandelten Adreßsignals an die Wähleinrichtung (143).
eine Adreßverzögerungseinrichtung (142) zum Verzögern der umgewandelten Adresse, die aus dem Adreßumwandlungstabellenbereich ausgegeben wird, um einen Zyklus und zum Liefern des verzögerten, umgewandelten Adreßsignals an die Wähleinrichtung (143).
7. Mustergenerator nach Anspruch 6, der weiterhin eine Steuerlogikschaltung (150)
aufweist zum Steuern der Wähleinrichtung (143) dann, wenn der Adreßwert des ersten
Adreßsignals für den Zugriff auf den ersten Befehlsspeicher (113-1) den um eins inkrementier
ten Wert aufweist, in einer solchen Weise, daß die Wähleinrichtung das erste Adreßsignal für
den Zugriff auf den ersten Befehlsspeicher auswählt und das ausgewählte, erste Adreßsignal an
den zweiten Befehlsspeicher anlegt, sowie zum Steuern der Wähleinrichtung dann, wenn der
Adreßwert des ersten Adreßsignals für den Zugriff auf den ersten Befehlsspeicher ein anderer
als der um eins inkrementierte Wert ist, in einer solchen Weise, daß die Wähleinrichtung die
umgewandelte Adresse, die von dem Adreßumwandlungstabellenbereich ausgegeben wird,
wählt und die ausgewählte, umgewandelte Adresse an den ersten Befehlsspeicher als zweites
Adreßsignal anlegt.
8. Hochgeschwindigkeits-Mustererzeugungsverfahren zum Erzeugen von Testmuster
signalen mit hoher Geschwindigkeit, gekennzeichnet durch die Schritte:
Ausgeben eines Mustererzeugungsbefehls, der ein Argument bzw. einen Parameter zum Definieren einer Mehrzahl von einem Hauptmuster nachfolgenden Untermustern enthält, aus einem Befehlsspeicher,
Erzeugen eines Hauptmusters durch einen Hauptmustererzeugungsabschnitt (121) in Übereinstimmung mit dem Mustererzeugungsbefehl,
Anlegen des Hauptmusters, das durch den Hauptmustererzeugungsabschnitt (121) generiert worden ist, an eine Mehrzahl von Untermustererzeugungsabschnitten (122-124),
Ändern des Hauptmusters in der Mehrzahl von Untermustererzeugungsabschnitten (122-124) in Abhängigkeit von den Argumenten bzw. Parametern,
Verzögern des Hauptmusters, um hierdurch eine Mehrzahl von dem Hauptmuster folgenden Untermustern mit der gleichen Phase wie derjenigen des Hauptmusters zu erzeugen, und
Zeitmultiplex-Verschachteln des Hauptmusters und der Mehrzahl von Untermustern in einer Multiplexschaltung (500) und Abgreifen der durch die Zeitmultiplexverschachtelung gebildeten Muster, so daß Hochgeschwindigkeitsmuster generiert werden, die sich in Übereinstimmung mit einer vorbestimmten Mustererzeugungsfolge ändern.
Ausgeben eines Mustererzeugungsbefehls, der ein Argument bzw. einen Parameter zum Definieren einer Mehrzahl von einem Hauptmuster nachfolgenden Untermustern enthält, aus einem Befehlsspeicher,
Erzeugen eines Hauptmusters durch einen Hauptmustererzeugungsabschnitt (121) in Übereinstimmung mit dem Mustererzeugungsbefehl,
Anlegen des Hauptmusters, das durch den Hauptmustererzeugungsabschnitt (121) generiert worden ist, an eine Mehrzahl von Untermustererzeugungsabschnitten (122-124),
Ändern des Hauptmusters in der Mehrzahl von Untermustererzeugungsabschnitten (122-124) in Abhängigkeit von den Argumenten bzw. Parametern,
Verzögern des Hauptmusters, um hierdurch eine Mehrzahl von dem Hauptmuster folgenden Untermustern mit der gleichen Phase wie derjenigen des Hauptmusters zu erzeugen, und
Zeitmultiplex-Verschachteln des Hauptmusters und der Mehrzahl von Untermustern in einer Multiplexschaltung (500) und Abgreifen der durch die Zeitmultiplexverschachtelung gebildeten Muster, so daß Hochgeschwindigkeitsmuster generiert werden, die sich in Übereinstimmung mit einer vorbestimmten Mustererzeugungsfolge ändern.
9. Hochgeschwindigkeits-Mustergenerator, der in einem Halbleiterbauelement-Testge
rät zum Testen der Arbeitsweise eines im Test befindlichen Bauelements unter Erzeugung eines
Testmustersignals durch einen Mustererzeugungsabschnitt (120) in Übereinstimmung mit
Mustererzeugungsbefehlen, die aus einem in einem Folgesteuerabschnitt (110) vorgesehenen
Befehlsspeicher (113) ausgelesen werden, und durch Anlegen des Testmustersignals an das im
Test befindliche Bauelement eingesetzt wird,
wobei der Hochgeschwindigkeits-Mustergenerator dadurch gekennzeichnet ist,
daß ein Hauptmustererzeugungsbefehl zur Erzeugung eines Hauptmusters und Argu mente bzw. Parameter zum Definieren einer Mehrzahl von Mustern, die in einer vorbestimmten Reihenfolge im Anschluß an das Hauptmuster zu erzeugen sind, aus dem Befehlsspeicher (113) ausgelesen werden,
daß das Hauptmuster durch einen Hauptmustererzeugungsabschnitt (121) in Übereinstimmung mit dem ausgelesenen Hauptmustererzeugungsbefehl erzeugt wird,
daß das von dem Hauptmustererzeugungsabschnitt (121) generierte Hauptmuster an eine Mehrzahl von Untermustererzeugungsabschnitten (122-124) angelegt wird,
daß eine Mehrzahl von Untermustern, die der Mehrzahl von Mustern, die in der vorbe stimmten Reihenfolge im Anschluß an das Hauptmuster zu erzeugen sind, entsprechen, in Übereinstimmung mit den Argumenten bzw. Parametern in der Mehrzahl von Untermustererzeu gungsabschnitten (122-124) erzeugt werden und
daß die Mehrzahl von Untermustern und das Hauptmuster in einer Multiplexschaltung (500) einer Zeitmultiplex-Verschachtelung unterzogen werden, so daß Hochgeschwindigkeitsmuster generiert werden, die eine erhöhte Geschwindigkeit besitzen, die der Anzahl von Multiplexvorgängen bzw. Multiplexkanälen in der Multiplexschaltung, multipliziert mit der Geschwindigkeit des Auslesens der Mustererzeugungsbefehle, entspricht.
daß ein Hauptmustererzeugungsbefehl zur Erzeugung eines Hauptmusters und Argu mente bzw. Parameter zum Definieren einer Mehrzahl von Mustern, die in einer vorbestimmten Reihenfolge im Anschluß an das Hauptmuster zu erzeugen sind, aus dem Befehlsspeicher (113) ausgelesen werden,
daß das Hauptmuster durch einen Hauptmustererzeugungsabschnitt (121) in Übereinstimmung mit dem ausgelesenen Hauptmustererzeugungsbefehl erzeugt wird,
daß das von dem Hauptmustererzeugungsabschnitt (121) generierte Hauptmuster an eine Mehrzahl von Untermustererzeugungsabschnitten (122-124) angelegt wird,
daß eine Mehrzahl von Untermustern, die der Mehrzahl von Mustern, die in der vorbe stimmten Reihenfolge im Anschluß an das Hauptmuster zu erzeugen sind, entsprechen, in Übereinstimmung mit den Argumenten bzw. Parametern in der Mehrzahl von Untermustererzeu gungsabschnitten (122-124) erzeugt werden und
daß die Mehrzahl von Untermustern und das Hauptmuster in einer Multiplexschaltung (500) einer Zeitmultiplex-Verschachtelung unterzogen werden, so daß Hochgeschwindigkeitsmuster generiert werden, die eine erhöhte Geschwindigkeit besitzen, die der Anzahl von Multiplexvorgängen bzw. Multiplexkanälen in der Multiplexschaltung, multipliziert mit der Geschwindigkeit des Auslesens der Mustererzeugungsbefehle, entspricht.
10. Mustergenerator nach Anspruch 9, dadurch gekennzeichnet,
daß das Hauptmuster, das durch den Hauptmustererzeugungsabschnitt (121) generiert wird, um eine Verzögerungszeit verzögert wird, die im wesentlichen gleich groß ist wie diejenige in den Untermustererzeugungsabschnitten (122-124), so daß die Phase des Hauptmusters und die Phasen der Untermuster, die durch die Mehrzahl von Untermustererzeugungsabschnitten erzeugt werden, aufgrund dieses Verzögerungsvorgangs aneinander angepaßt sind und
daß das Hauptmuster und die Untermuster, deren Phasen aneinander angepaßt sind, an die Multiplexschaltung (500) angelegt werden.
daß das Hauptmuster, das durch den Hauptmustererzeugungsabschnitt (121) generiert wird, um eine Verzögerungszeit verzögert wird, die im wesentlichen gleich groß ist wie diejenige in den Untermustererzeugungsabschnitten (122-124), so daß die Phase des Hauptmusters und die Phasen der Untermuster, die durch die Mehrzahl von Untermustererzeugungsabschnitten erzeugt werden, aufgrund dieses Verzögerungsvorgangs aneinander angepaßt sind und
daß das Hauptmuster und die Untermuster, deren Phasen aneinander angepaßt sind, an die Multiplexschaltung (500) angelegt werden.
11. Mustergenerator nach Anspruch 4, bei dem jeder der Untermusterspeicherbereiche
(113B1-113B4) einen Adressenbereich entsprechend dem des ersten Befehlsspeichers (113-1)
aufweist, in welchem die Untermustererzeugungsbefehle gespeichert sind und auf den mit dem
Adreßsignal zugegriffen wird, sowie einen zusätzlichen Adreßbereich, in welchem
Untermustererzeugungsbefehle einer anderen Art gespeichert sind, und auf den durch das
umgewandelte Adreßsignal zugegriffen wird.
12. Mustergenerator nach Anspruch 5, bei dem jeder der Untermusterspeicherbereiche
einen Adressenbereich entsprechend dem des ersten Befehlsspeichers (113-1) aufweist, in
welchem die Untermustererzeugungsbefehle, ausgehend von der ersten Adresse bis zu letzten
Adressen, sequentiell gespeichert sind und durch das erste Adreßsignal in Zugriff genommen
werden, während Untermustererzeugungsbefehle einer anderen Art von der letzten Adresse zur
ersten Adresse gespeichert sind und von dem umgewandelten Adreßsignal in Zugriff genommen
werden.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19051495A JP3393567B2 (ja) | 1995-07-26 | 1995-07-26 | 高速パターン発生器 |
JP19051395A JP3368570B2 (ja) | 1995-07-26 | 1995-07-26 | 高速パターン発生方法及びこの方法を用いた高速パターン発生器 |
PCT/JP1996/002104 WO1997005499A1 (fr) | 1995-07-26 | 1996-07-26 | Procede et appareil de generation rapide de formes |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19680782T1 DE19680782T1 (de) | 1997-10-02 |
DE19680782C2 true DE19680782C2 (de) | 2002-11-21 |
Family
ID=26506139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19680782T Expired - Fee Related DE19680782C2 (de) | 1995-07-26 | 1996-07-26 | Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-Mustergenerator |
Country Status (5)
Country | Link |
---|---|
US (1) | US6006349A (de) |
KR (1) | KR100307664B1 (de) |
DE (1) | DE19680782C2 (de) |
TW (1) | TW301786B (de) |
WO (1) | WO1997005499A1 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6178532B1 (en) * | 1998-06-11 | 2001-01-23 | Micron Technology, Inc. | On-chip circuit and method for testing memory devices |
US9664739B2 (en) | 1999-11-23 | 2017-05-30 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US6684358B1 (en) | 1999-11-23 | 2004-01-27 | Janusz Rajski | Decompressor/PRPG for applying pseudo-random and deterministic test patterns |
US7493540B1 (en) | 1999-11-23 | 2009-02-17 | Jansuz Rajski | Continuous application and decompression of test patterns to a circuit-under-test |
US8533547B2 (en) | 1999-11-23 | 2013-09-10 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
US6353842B1 (en) | 1999-11-23 | 2002-03-05 | Janusz Rajski | Method for synthesizing linear finite state machines |
US6874109B1 (en) | 1999-11-23 | 2005-03-29 | Janusz Rajski | Phase shifter with reduced linear dependency |
US9134370B2 (en) | 1999-11-23 | 2015-09-15 | Mentor Graphics Corporation | Continuous application and decompression of test patterns and selective compaction of test responses |
EP1242885B1 (de) | 1999-11-23 | 2009-10-07 | Mentor Graphics Corporation | Ständige anwendung und dekompression von prüfmustern zu einer zu testenden integrierten schaltung |
US6327687B1 (en) | 1999-11-23 | 2001-12-04 | Janusz Rajski | Test pattern compression for an integrated circuit test environment |
US6557129B1 (en) | 1999-11-23 | 2003-04-29 | Janusz Rajski | Method and apparatus for selectively compacting test responses |
DE10115879C1 (de) * | 2001-03-30 | 2002-10-10 | Infineon Technologies Ag | Testdatengenerator |
DE10122081B4 (de) * | 2001-05-07 | 2004-02-05 | Infineon Technologies Ag | Verfahren zum Kalibrieren eines Testsystems für eine integrierte Halbleiterschaltung und kalibrierbares Testystem |
US20040193986A1 (en) * | 2003-03-31 | 2004-09-30 | Canagasaby Karthisha S. | On-die pattern generator for high speed serial interconnect built-in self test |
US7904905B2 (en) * | 2003-11-14 | 2011-03-08 | Stmicroelectronics, Inc. | System and method for efficiently executing single program multiple data (SPMD) programs |
US7213182B2 (en) * | 2005-01-19 | 2007-05-01 | Advantest Corporation | Test apparatus and test method |
JP4704184B2 (ja) * | 2005-10-27 | 2011-06-15 | 株式会社アドバンテスト | 試験装置及び試験方法 |
US8607111B2 (en) * | 2006-08-30 | 2013-12-10 | Micron Technology, Inc. | Sub-instruction repeats for algorithmic pattern generators |
KR101137536B1 (ko) * | 2008-06-02 | 2012-04-23 | 가부시키가이샤 어드밴티스트 | 시험 장치 및 시험 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4389723A (en) * | 1980-01-18 | 1983-06-21 | Nippon Electric Co., Ltd. | High-speed pattern generator |
US4905183A (en) * | 1986-07-30 | 1990-02-27 | Hitachi, Ltd. | Pattern generator having plural pattern generating units executing instructions in parallel |
US5390192A (en) * | 1990-12-10 | 1995-02-14 | Ando Electric Co., Ltd. | High-speed pattern generator |
DE4446988A1 (de) * | 1993-12-28 | 1995-07-27 | Advantest Corp | Schneller Testmustergenerator |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0750159B2 (ja) * | 1985-10-11 | 1995-05-31 | 株式会社日立製作所 | テストパタ−ン発生装置 |
JPH0746127B2 (ja) * | 1986-05-20 | 1995-05-17 | 三菱電機株式会社 | 半導体試験装置 |
US4959832A (en) * | 1988-12-09 | 1990-09-25 | International Business Machines | Parallel pseudorandom pattern generator with varying phase shift |
JP2956124B2 (ja) * | 1990-05-09 | 1999-10-04 | 横河電機株式会社 | 波形発生装置 |
US5100610A (en) * | 1990-11-20 | 1992-03-31 | Westinghouse Electric Corp. | Tube plug inspection system |
JPH04218785A (ja) * | 1990-12-19 | 1992-08-10 | Advantest Corp | Ic試験装置 |
US5224125A (en) * | 1991-04-05 | 1993-06-29 | National Semiconductor Corporation | Digital signed phase-to-frequency converter for very high frequency phase locked loops |
-
1996
- 1996-07-26 WO PCT/JP1996/002104 patent/WO1997005499A1/ja active IP Right Grant
- 1996-07-26 KR KR1019970701975A patent/KR100307664B1/ko not_active IP Right Cessation
- 1996-07-26 US US08/809,632 patent/US6006349A/en not_active Expired - Fee Related
- 1996-07-26 DE DE19680782T patent/DE19680782C2/de not_active Expired - Fee Related
- 1996-08-02 TW TW085109346A patent/TW301786B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4389723A (en) * | 1980-01-18 | 1983-06-21 | Nippon Electric Co., Ltd. | High-speed pattern generator |
US4905183A (en) * | 1986-07-30 | 1990-02-27 | Hitachi, Ltd. | Pattern generator having plural pattern generating units executing instructions in parallel |
US5390192A (en) * | 1990-12-10 | 1995-02-14 | Ando Electric Co., Ltd. | High-speed pattern generator |
DE4446988A1 (de) * | 1993-12-28 | 1995-07-27 | Advantest Corp | Schneller Testmustergenerator |
Also Published As
Publication number | Publication date |
---|---|
TW301786B (de) | 1997-04-01 |
WO1997005499A1 (fr) | 1997-02-13 |
US6006349A (en) | 1999-12-21 |
KR970706507A (ko) | 1997-11-03 |
DE19680782T1 (de) | 1997-10-02 |
KR100307664B1 (ko) | 2001-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19680782C2 (de) | Hochgeschwindigkeits- Mustergenerierungsverfahren und unter Verwendung dieses Verfahrens arbeitender Hochgeschwindigkeits-Mustergenerator | |
DE10045568B4 (de) | Ereignisgestütztes Halbleiterprüfsystem | |
DE60002426T2 (de) | Takterzeugung und verteilung in einem emulationssystem | |
DE4307564C2 (de) | Speichersteuerung mit programmierbarer Zeitgabe und Verfahren zum Steuern des Zugriffs auf einen Speicher | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE102007044627B4 (de) | Frequenzsynthesizer und Verfahren | |
DE2934971A1 (de) | Datenverarbeitungssystem | |
DE2658611A1 (de) | Vorrichtung zur erzeugung und zum empfang von digitalwoertern | |
DE3900248C2 (de) | Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens | |
DE19814415A1 (de) | Logikanalyse-Untersystem in einem Zeitscheibenemulator | |
DE69634227T2 (de) | Emulationssystem mit emulierten Mehrtaktzyklen pro Emulation-Taktzyklus und Signalweglenkung | |
DE112006000788T5 (de) | Taktübertragungsvorrichtung und Prüfvorrichtung | |
DE102004044099B4 (de) | Streuspektrum-Taktgeber, Speichersystem und Taktsignalverzögerungsverfahren | |
DE19951205A1 (de) | Testmustergenerator; Speichertestvorrichtung und Verfahren zur Erzeugung einer Mehrzahl von Testmustern | |
DE3926489A1 (de) | Pseudozufallsrauschcodegenerator | |
DE19741915A1 (de) | Zwischenspeicheroptimierung in Hardware-Logikemulations-Systemen | |
DE2829709C2 (de) | Verfahren und Anordnung zur Erzeugung zeitlich unmittelbar aufeinanderfolgender Impulszyklen | |
DE19746302A1 (de) | Testvorrichtung für Halbleiterspeicher | |
DE10243765A1 (de) | Halbleitervorrichtung mit Verzögerungskorrekturfunktion | |
DE4446988B4 (de) | Schneller Testmustergenerator | |
DE3801993C2 (de) | Zeitgebersystem | |
DE19636881A1 (de) | Zeitlagearchitektur für eine Testanlage | |
DE19781563C2 (de) | Mustergenerator | |
DE10204647A1 (de) | Matrizenrechner des Zeitteilungstyps | |
DE3819706A1 (de) | Vorrichtung zum erzeugen einer linear auftretenden maximallaengencodefolge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8607 | Notification of search results after publication | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20120201 |