DE3900248C2 - Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens - Google Patents
Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des VerfahrensInfo
- Publication number
- DE3900248C2 DE3900248C2 DE3900248A DE3900248A DE3900248C2 DE 3900248 C2 DE3900248 C2 DE 3900248C2 DE 3900248 A DE3900248 A DE 3900248A DE 3900248 A DE3900248 A DE 3900248A DE 3900248 C2 DE3900248 C2 DE 3900248C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- sequential
- circuit
- ram
- 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/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31919—Storing and outputting test patterns
- G01R31/31921—Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
-
- 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/319—Tester hardware, i.e. output processing circuits
- G01R31/31917—Stimuli generation or application of test patterns to the device under test [DUT]
- G01R31/31928—Formatter
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Complex Calculations (AREA)
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur
schnellen Ablaufsteuerung digitaler Testmuster in einem auto
matischen Schaltungstester und eine Vorrichtung zur Durch
führung des Verfahrens.
Bei einem Gerät zum automatischen Testen elektronischer
Schaltungen werden digitale Testmuster in einem Speicher
abgespeichert und zur Lieferung von Eingangstestsignalen
verwendet, welche Schaltungspunkten einer zu testenden
Schaltung zugeführt werden, und die dabei auftretenden Ausgangssignale
der Schaltung werden mit Soll-Ausgangssignalen
verglichen. Die Testapparatur kann auch analoge Instrumente
enthalten, wie etwa Generatoren für hoch- und niedrigfrequente
Signale, um der zu testenden Schaltung analoge Prüfsignale
zuzuführen, sowie Hoch- und Niedrigfrequenz-Digitalisierer
mit zugehörigen Ergebnisspeichern zur Digitalisierung und
Speicherung der Testergebnisse.
Aus der EP 0211087 A1 und der EP 0160789 A2 sind Testeinrichtungen
bekannt, bei welchen eine Kombination von langsamen
und schnellen Speichern angewandt wird, um Testmuster ohne
Lehrlaufzyklen zu liefern. Zur Steuerung der verschiedenen
Speicher werden zwei unterschiedliche Adressen benutzt, von
denen eine eine komprimierte Adresse darstellt, welche einem
Verzeigungsbefehl entspricht und über eine Steuerschaltung
dem schnellen Speicher zugeführt wird. Die andere Adresse
wird einer Verschachtelungssteuerschaltung zugeführt, welche
die Adressen auf Leitungen zu den langsamen Speichern verteilt.
Aus der DD 239 881 A1 ist weiterhin eine Schaltung
zur beschleunigten Erzeugung gespeicherter Daten bekannt, wobei
es sich jedoch nicht um eine schnelle Ablaufsteuerung für
digitale Testmuster handelt. Schließlich ist es aus der
DE 32 37 365 A1 bekannt, Testimpulsmuster zu erzeugen und
mehreren Anschlüssen eines Prüflings zuzuführen.
Zur gleichzeitigen Lieferung von Steuersignalen für das
Testgerät und einer großen Anzahl von Datenbits für die zu
testende Schaltung gleichzeitig mit dem Takten dieser Schal
tung bei einer hohen Rate, wird eine sehr schnelle Folge
steuerschaltung benötigt, um die nachfolgend als Mikrocode
bezeichneten Steuerbits und die Datenbits parallel mit hoher
Geschwindigkeit zur Verfügung zu stellen. (Der Mikrocode
zuzüglich der Datenbits bei einer gegebenen Taktperiode wer
den als "Vektor" bezeichnet.) Die Steuerbits sind in einem
RAM-Speicher der Folgesteuerschaltung enthalten, beispiels
weise mit 16K Speichertiefe für 16K Befehlsschritte, die
unter Steuerung durch einen Adressengenerator in der Folge
steuerschaltung willkürlich zugänglich sind nach Eingabe
der entsprechenden Adresse zum RAM-Speicher über eine Adres
senleitung (die häufig als State-Bus bezeichnet wird). Die
Steuerbits für die verschiedenen Geräte und Testmusterspei
cher können gleichzeitig in entsprechenden Mikrocode-RAM-
Speichern untergebracht werden, die über getrennte Karten
verteilt sind und über die Adressenleitung zugänglich sind.
Bei der Durchführung von Tests mit einer großen Anzahl von
Testdaten gibt es häufig große Blocks von Vektoren, bei wel
chen der zu testenden Schaltung in aufeinanderfolgenden
Schritten Testdaten zugeführt werden müssen, und der Mikro
code ändert sich über eine große Anzahl von Taktperioden
nicht. Solche Vektoren werden nachfolgend als sequentielle
Vektoren bezeichnet. Wenn im Testprogramm Bedingungsentschei
dungen oder Sprünge auftreten, muß das System in der Lage
sein, willkürlich auf eine Zustandsadresse zu springen,
welche nicht auf die laufende Adresse folgt, und solche Vek
toren werden nachfolgend als nichtsequentielle Vektoren be
zeichnet.
Wegen der Kosten schneller statischer RAM-Speicher und der
großen Anzahl von bei einigen Testmustern verwendeten Daten
signalen werden die Testdaten manchmal in einem Block in
einem Speicher hoher Kapazität von langsameren und weniger
teuren dynamischen RAM′s abgespeichert, welche benutzt wer
den, um Testdatenblocks auf einmal zur Wiederaufladung schnel
ler statischer RAM′s zu übertragen. Beispielsweise ist in
der US 4 451 918 ein automatischer Schaltungstester be
schrieben, bei welchem große Blocks von Testmustern von
zwischengeschalteten dynamischen RAM′s in einen ersten stati
schen RAM geladen werden, während ein zweiter statischer RAM
Testdaten an die zu testende Schaltung liefert, und die Test
muster werden dann in den zweiten statischen RAM geladen,
während der erste die Testdaten liefert usw. Beim Schreiben
eines Steuerprogramms für ein System, welches dynamische
RAM′s benutzt, um wechselweise Testdaten an abwechselnde
statische RAM′s zu liefern, muß der Programmierer dafür sor
gen, daß keine Bedingungsentscheidungen oder Sprünge bei
Schritten auftreten, die nicht in derselben Gruppe enthalten
sind, welche zur gleichen Zeit in einen statischen RAM ge
laden worden ist.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren
zum Testen komplexer Schaltungen mit vereinfachten
Programmen zu schaffen. Ferner soll eine Vorrichtung zur Durchführung
des Verfahrens angegeben werden. Diese Aufgabe wird durch das
im Anspruch 1 angegebene Verfahren gelöst. Eine Vorrichtung zur Durchführung
des Verfahrens ist im Anspruch 6 angegeben. Weiterbildungen
der Erfindung sind in den entsprechenden Unteransprüchen
gekennzeichnet.
Gemäß der Erfindung lassen sich das Schreiben und die Ausführung
von Testprogrammen erheblich vereinfachen, wenn
man einen Daten-RAM zur Speicherung von Daten nichtsequentieller
Vektoren (z. B. für Bedingungsentscheidungen), einen
sequentiellen Datenspeicher zur Speicherung von Datenblöcken
sequentieller Vektoren und mit einer höheren Kapazität als
sie der Daten-RAM hat, und eine Testfolge-Steuerschaltung
zur wahlweisen Übertragung von Daten vom Daten-RAM oder dem
sequentiellen Datenspeicher zu einem Formatierer, welcher die
Eingangssignale für eine zu testende Schaltung liefert, vor
sieht. Das Programm wird geschrieben, als wenn eine tiefe
Speicherkapazität sowohl für Mikrocode als für Daten in allen
Vektoren im Programm verfügbar wäre und als wenn jeder Vektor
willkürlich zugänglich wäre, z. B. wenn das Programm bei Be
dingungsvektoren springt, ohne Rücksicht auf die Adresse, zu
welcher das Programm springt. Ein Nachprozessor, welcher das
Programm überprüft, identifiziert sequentielle Vektoren und
listet die in ihnen enthaltenen Daten auf zur Übertragung zum
sequentiellen Speicher, und er identifiziert nichtsequentiel
le Vektoren und listet die in ihnen enthaltenen Daten auf zur
Übertragung zum Daten-RAM. Während des Testens sind die im
Daten-RAM enthaltenen Daten willkürlich zugänglich, bis ein
Block sequentieller Vektoren auftritt, und dann werden die
Daten sequentiell vom sequentiellen Datenspeicher zugänglich.
Bei bevorzugten Ausführungsformen der Erfindung enthält der
Daten-RAM statische RAM′s, und der sequentielle Daten-Spei
cher enthält eine Mehrzahl dynamischer RAM′s, welche einzeln
langsamer als die statischen RAM′s sind, zusammen jedoch
einen schnel
len Datentransfer bewirken; die dynamischen RAM′s des sequen
tiellen Speichers sind jeweils so geschaltet, daß sie mehrere
Bit parallel als Ausgangssignal an ein entsprechendes Schie
beregister liefern, wobei dieses Mehrbit-Ausgangssignal einem
einzigen Bit, von einer Mehrzahl aufeinanderfolgender sequen
tieller Vektoren entspricht und die seriellen Einzelbitaus
gänge der Register parallel mit hoher Geschwindigkeit zur
Bildung eines sequentiellen Vektors auftreten; das Gerät ent
hält einen Folgeadressengenerator, der Adressen an den State-
Bus liefert, und es sind erste und zweite Mikrocode-RAM′s
vorgesehen, welche mit einem Mikrocode für den Daten-RAM
und den sequentiellen Speicher geladen sind; der erste Mikro
code-RAM enthält Befehle hinsichtlich der Lieferung oder
Nichtlieferung von Daten an den Daten-RAM, und welche Daten
geliefert werden sollen; der zweite Mikrocode-RAM enthält
Befehle hinsichtlich der Lieferung oder Nichtlieferung von
Daten und wo die Datenausgabe beginnen soll und hinsichtlich
der Vorbereitung dafür; der zweite Mikrocode-RAM ist an
einen Befehlsdecoder angeschlossen, welcher den sequentiel
len Speicher steuert; und ein Zeiteinstellspeicher speichert
Blocks von Zeitsteuerdaten für entsprechende sequentielle
Vektoren.
Weitere Vorteile und Merkmale der Erfindung gehen aus der
folgenden Beschreibung einer bevorzugten Ausführungsform und
den Ansprüchen hervor.
Ein bevorzugtes Ausführungsbeispiel der Erfindung sei nun
anhand der Zeichnungen erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines automatischen Schaltungs
testers nach der Erfindung;
Fig. 2 ein Blockschaltbild eines zwischengeschalteten
sequentiellen Datenspeichers des Testers nach Fig. 1;
Fig. 3 ein Flußdiagramm zur Veranschaulichung eines Verfah
rens zur Erzeugung von Datenlisten nichtsequentieller
und sequentieller Vektoren;
Fig. 4 ein Diagramm eines Vektortestmusters für den
Tester nach Fig. 1;
Fig. 5 ein Flußdiagramm zur Erläuterung eines Betriebs
verfahrens eines Compilers für die Durchführung der
Erfindung,
Fig. 6 ein Flußdiagramm zur Erläuterung eines Betriebsver
fahrens eines Nachprozessors bei der Durchführung der
Erfindung und
Fig. 7 eine Auflistung von State-Adressen und Bedingungen
zur Veranschaulichung eines Verfahrens der Benutzung
des Testers nach Fig. 1.
Fig. 1 zeigt einen automatischen Schaltungstester 10 für
eine zu testende Schaltung 12, die elektrisch mit einem
Testkopf 14 verbunden ist. Ein Testcomputer 16 besorgt die
Gesamtsteuerung des Gerätes einschließlich der Folgesteuer
schaltung 18, die der gleichzeitigen Lieferung einer großen
Anzahl von Daten an die zu untersuchende Schaltung 12 dient
unter Verwendung einer ersten Testmuster-Speicherschaltung
19, einer zweiten Testmuster-Speicherschaltung 20, einer
Zeiteinstell-Speicherschaltung 130 und eines Formatier
systems 22. Die Folgesteuerschaltung 18 dient auch zur Lie
ferung von Steuersignalen für den Rest des Testers, z. B. den
Haupttaktgeber 21, die Hochfrequenz-Analogquelle 23 und
andere (nicht dargestellte) Instrumente gleichzeitig mit
dem Takten der zu testenden Schaltung 12 mit deren hoher
Rate von beispielsweise 25 MHz. Der Tester 10 enthält (nicht
dargestellte) Detektoren zur Ermittlung der Ausgangssignale
der zu testenden Schaltung 12. Die Folgesteuerschaltung 18
enthält einen Adressengenerator 24, der mit einem 14 Bit
State-Adressen-Bus 26 und einem Folge-Mikrocode-RAM 28
(16K auf 43 Bit) verbunden ist, der die Steuerbits für die
Steuersignale für den Tester und für den Folgesteuer-
Adressengenerator 24 enthält. Der State-Adressen-Bus 26 ist
mit einem ersten Speicher-Nikrocode-RAM 30 (16K × 8 Bit)
einem zweiten Speicher-Mikrocode-RAM 32 (16K × 8 Bit), einem
Zeiteinstell-Mikrocode-RAM 33 (16K × 8 Bit), einem HF-Analog-
Mikrocode-RAM 34 (16K × 9 Bit), einem Takt-Mikrocode-RAM 29
(16K × 9 Bit) des Haupttaktgebers 21 und anderen Mikrocode-
RAM′s in anderen (nicht dargestellten) Geräteteilen verbun
den.
Der State-Adressen-Bus 26 führt ferner ein Bedingungsbit,
mit Hilfe dessen es möglich ist, daß Vorgänge in der HF-
Quelle 23 und dem Taktgeber 21 die von dem Folgesteuer-
Adressengenerator 24 erzeugten Adressen zu beeinflussen.
Vorgänge in der zu testenden Schaltung 12 können ebenfalls
den Adressengenerator 24 über das Formatierungssystem 22,
die Testmuster-Speicherschaltung 19 oder 20 und das Bedin
gungsbit im State-Adressen-Bus 26 beeinflussen.
Die erste Testmuster-Speicherschaltung 19 ist auf zehn
Schaltungskarten verteilt; die Komponenten für eine einzelne
Schaltungskarte sind in Fig. 1 gezeigt. Der State-Bus 26
ist so geschaltet, daß die Daten der
im Daten-RAM 82 (ein statischer RAM mit 16K auf 24 Bit) ge
speicherten Bedingungsvektoren direkt adressier
bar sind. Der erste Speicher-Mikrocode-RAM 30 ist so ge
schaltet, daß er die Ausgangspuffer 84 steuert. Jede Schal
tungskarte der Schaltung 19 enthält den RAM für acht Kanäle,
wobei jeder Kanal 3 Bits erfordert, um die Art des Eingangs
signals anzuzeigen, welches vom Formatiersystem 22 an einen
einzelnen Eingang der zu testenden Schaltung 12 angelegt
wird.
Die zweite Testmuster-Speicherschaltung 20 ist gleichermaßen
auf zehn Schaltungskarten verteilt, und die Komponenten
einer einzelnen Schaltungskarte sind ebenfalls in Fig. 1
gezeigt. Der zweite Speicher-Mikrocode-RAM 32 ist so ge
schaltet, daß er Befehle an seinen zugehörigen Befehlsde
coder 86 liefert, der seinerseits so geschaltet ist, daß er
Steuersignale an die Speicheradressen-Steuerschaltung 88
und die Ausgangspuffer 90 liefert. Die Speicheradressen-
Steuerschaltung 88 benutzt 25-Bit-Adressen zur Adressierung
eines 24 Bit sequentiellen Speichers 94 von 1 MEG Speicher
tiefe. Von den 25 Bits der Adresse werden 20 zur Bildung von
einer Million Adressen benötigt; zusätzliche Adressenbits
sind vorgesehen, um eine Vergrößerung der Speichertiefe auf
32 MEG zu erlauben, und die weiteren 5 Bits werden benutzt,
um die Möglichkeit einer Seitenauswahl zu bieten. Die zweite
Speicherschaltung 20 kann so ausgeführt sein, um einen Kanal
(mit 3 Bits zur Bezeichnung des Typs) einer Tiefe von acht
Millionen Vektoren auszugeben.
Die Zeiteinstell-Speicherschaltung 130 ist in gleicher Weise
aufgebaut wie eine einzelne Schaltungskarte der zweiten
Testmuster-Speicherschaltung 20. Die in der Speicherschal
tung 130 gespeicherten Daten sind jedoch verschieden von
den in der zweiten Testmuster-Speicherschaltung 20 gespei
cherten Daten. Der sequentielle Speicher 94 der Zeiteinstell
speicherschaltung 130 benutzt sieben von seinen 24 Bits; die
restlichen Bits werden maskiert. Die Ausgangspuffer 90 der
Zeiteinstell-Speicherschaltung 130 sind über den Zeitsteuer-
Bus 132 mit dem Formatierungssystem 22 verbunden. Die 7 Bits
werden benutzt für eine vektorweise Steuerung des durch das
Formatiersystem 22 erfolgenden Timings der Eingangssignale
für die zu untersuchende Schaltung 12 aufgrund von Daten vom
sequentiellen Speicher 94 der zweiten Speicherschaltung 20;
beispielsweise kann das Timing für jeden Vektor in einem
Block sequentieller Vektoren verändert werden. Die Zeit
steuer- oder Timing-Information für Daten im Daten-RAM 82
der ersten Testmuster-Speicherschaltung 19 ist im Zeitein
stell-RAM 95 des Haupttaktgebers 21 gespeichert.
Fig. 2 zeigt die Speicheradressen-Steuerschaltung 88 und
eine Unterschaltung 94a eines sequentiellen Speichers, der
die Speicherung eines einzigen Bits des 24-Bit-Ausgangs
signals des sequentiellen Speichers 94 (Fig. 1) übernimmt.
Es gibt 24 Unterschaltungen 94a auf einer einzigen Schal
tungskarte. Die Speicheradressen-Steuerschaltung 88 enthält
einen 4-Bit-Zähler 98, dessen Ausgabeausgang als Eingabe
eingang an die 16-Bit-Adressenzähler-Verriegelungsschaltung
100 und an die Steuerlogik 102 für den dynamischen RAM an
geschlossen ist. Das Eingangssignal auf dem Bus 96 zur
16-Bit-Zähler-Verriegelungsschaltung 100 sorgt für eine
Voreinstellung des Zählers auf eine Adresse, welche der
Adresse für die Daten des ersten sequentiellen Vektors in
einem Block sequentieller Vektoren entspricht, die vom
sequentiellen Speicher 94 verfügbar sein sollen. Die sequen
tielle Speicherunterschaltung 94a enthält einen DRAM 104 mit
64K auf 16 Bit (vier 64K × 4 Bit-DRAM′s, die parallel adres
siert werden und deren vier 4-Bit-Ausgangssignale zu 16 Bits
kombiniert werden), welcher durch die Adressenzähler-Ver
riegelungsschaltung 100 adressiert werden. Der DRAM 104 kann
daher 1 MEG Bits (64K × 16 Bit) speichern. Die Datenein-
und -ausgänge des DRAM 104 sind mit Schieberegistern 106 und
108 verbunden, die parallelgeschaltet sind und von der DRAM-
Steuerlogik 102 so gesteuert werden, daß sie während des
Testens zwischen dem 16-Bit-Paralleleingangsmode und einem
16-Bit-Seriell-Datenausgangsmode abwechseln. Die seriellen
Datenausgangssignale der Register 106 und 108 werden der
Datenwahl-Verriegelungsschaltung 110 zugeführt, deren Aus
gangssignale über die Leitung 112 als ein einziges Bit des
24-Bit-Bus 114 dem Ausgangsspeicher 104 (Fig. 1) zugeführt
werden. Die I/O-Schreib- und I/O-Lese-Steuerleitungen 115
und 116 der DRAM-Steuerlogik 102 und die Speicherdaten-
Eingangsleitungen 118, die mit den Schieberegistern 106 und
108 verbunden sind, sind auch mit einem 16-Bit-Testcomputer-
Adressen-Bus 78 (Fig. 1) verbunden.
Gemäß Fig. 1 ist ein Hochfrequenz-Analog-Quellen-Mikrocode-
RAM 34 so geschaltet, daß er Befehle an seinen zugehörigen
Adressengenerator 72 liefert, der Adressen an den Signal-RAM
74 (84K auf 20 Bits) liefert, welcher mit einer digitalen
Darstellung eines Analogsignals geladen ist; der Signal-RAM
74 ist so geschaltet, daß er das digitalisierte Signal zum
D/A-Wandler 76 aus liest, der ein analoges Signal an die zu
testende Schaltung 12 liefert. Die Hochfrequenz-Analog-
Quellenschaltung 23 ist somit ein Analog-Signalgenerator.
Der Tester 10 kann auch ein analoges HF-Absorptionsinstru
ment, ein analoges Niederfrequenz-Absorptionsinstrument und
ein analoges Niederfrequenz-Quelleninstrument (alle nicht
dargestellt) enthalten, die sämtlich Mikrocode-RAM′s haben,
welche mit dem State-Adressen-Bus 26 verbunden sind. Der
Adressengenerator 72 der analogen HF-Quelle 23 und der Daten-
RAM 82 der ersten Testmuster-Speicherschaltung 19 sind auch
mit einem 16-Bit-Testcomputer-Bus 78 zur Dateneingabe und
Steuerung durch den Testcomputer 16 verbunden, wenn die
Folgesteuerschaltung 18 keinen Test mit hoher Geschwindig
keit durchführt. Nicht dargestellte Pipeline-Register sind
längs des State-Adressen-Bus 26 und im gesamten Tester 10
längs der Wege von den Mikrocode-RAM′s zu den Signalquellen
verteilt, welche letztlich an der zu testenden Schaltung 12
anliegen; die Pipeline-Register führen nacheinander Adressen
entlang dem Folgeadressen-Bus 26 und Adressen sowie andere
digitale Signale längs anderer Wege.
Es sei nun anhand von Fig. 3 die Betriebsweise erläutert;
vor dem Test einer Schaltung wird ein Steuerprogramm für das
Gerät geschrieben, so als ob eine Speicherkapazität von
1 MEG Tiefe sowohl für Mikrocode als auch für Daten in allen
Vektoren im Programm verfügbar wäre und als wenn jeglicher
Vektor beliebig zugänglich wäre, beispielsweise wenn das
Programm bei Bedingungsvektoren springt ohne Rücksicht auf
die Sprungadresse. Der Benutzer schreibt sein Programm in
der Benutzersprache und gibt an, welche Digitalmuster an
welchen Anschlüssen der zu testenden Schaltung 12 zu welcher
Zeit anliegen sollen und welche anderen Signale und Steuer
vorgänge von der analogen HF-Quelle 23 und anderen Geräte
teilen ausgehen sollen. Das Steuerprogramm wird dann in
Mikrocodebits und die digitalen Testmusterbits mit einem
Compiler umgewandelt, der so arbeitet, als wenn für jedes
Muster 1 MEG Speicherplatz zur Verfügung stünde. Die Mikro
codebits und die digitalen Testmusterbits werden als virtuel
le Vektoren bezeichnet. Das virtuelle Vektorformat ist in
Fig. 4 gezeigt. Der Compiler bildet auch eine Folgetabelle,
wie sie im einzelnen noch erläutert wird. Der Ausgang des
Compilers hat Bezeichnungen, welche die Bestimmungen der
Übertragungen angeben. Ein Postprozessor, welcher die vir
tuellen Vektoren und die sequentiellen Tabellen überprüft,
listet die Daten in den sequentiellen Vektoren auf für die
Weiterführung (mit einigen Ausnahmen) zum sequentiellen
Speicher 94, listet ferner die Daten in den nichtsequen
tiellen Vektoren für die Weiterleitung zum Daten-RAM 82 auf
und stellt einen zusätzlichen Mikrocode her.
Bei der Erzeugung der Folgetabelle tastet der Compiler das
virtuelle Vektormuster vektorweise ab, um innerhalb des Test
musters der Vektoren Diskontinuitäten festzustellen, welche
ein Anzeichen für nichtsequentielle Vektoren sind. Diskon
tinuitäten anzeigende Vektormerkmale sind: ein Musterbeginn,
eine Verzweigung des Steuerflusses (also Sprünge, Subroutine-
Befehle etc.), ein Transferziel (also eine Bestimmung) , und
irgendein Kanal eines Vektors, der eine alternative Quelle
für seine Daten beinhaltet (beispielsweise die analoge HF-
Quelle 23). Jedem virtuellen Vektor ist eine sequentielle
Vektornummer zugeordnet, d. h. ein Muster von n Vektoren
würde n virtuelle Vektornummern haben. Für jeden Block auf
einanderfolgender sequentieller Vektoren wird der Beginn-
Vektor im Block und die Anzahl der Vektoren im Block sequen
tieller Vektoren gespeichert als gepaarte Einstiege in die
Folgetabelle.
Bei der Erzeugung der Folgetabelle wird gemäß Fig. 5 eine
Vektornummernvariable VNV auf -1 initialisiert, eine Start
vektornummernvariable SVNV auf Null initialisiert und die
Größe der Blockvariablen SIZE auf Null initialisiert. VNV
wird dann erhöht, und der nächste Vektor kommt dran. Dieser
nächste Vektor wird daraufhin überprüft, ob er ein sequen
tieller Vektor nach den obengenannten Diskontinuitäts
kriterien ist. Ist dies der Fall, dann werden SIZE und VNV
erhöht, und der nächste Vektor kommt dran. Ist dies kein
sequentieller Vektor, dann wird bestimmt, ob er der erste
nichtsequentielle Vektor nach einem Block sequentieller
Vektoren ist (SIZE nicht gleich Null) oder ob er innerhalb
eines Blockes nichtsequentieller Vektoren liegt (SIZE gleich
Null). Im ersten Fall werden die laufenden SVNV und SIZE in
der Folgetabelle aufgelistet und SIZE wird auf Null zurück
gestellt, so daß es benutzt werden kann zur Zählung des
nächsten Blockes sequentieller Vektoren. Im letztgenannten
Falle werden diese Schritte übergangen. SVNV wird dann
gleich VNV gesetzt und VNV wird erhöht, und der nächste Vek
tor kommt dran.
Wenn keine virtuellen Vektoren mehr vorhanden sind, wird die
Folgetabelle nach aufsteigender Vektorordnung sortiert, alle
Eingangswerte, die weniger als 23 Vektoren groß sind (sequen
tielle Fragmente) werden entfernt, und jegliche angrenzenden
Blocks werden eingefügt. Die Blocks sequentieller Vektoren,
die mehr als 23 Vektoren lang sind, werden dann direkt in
die resultierende Folgetabelle eingeschrieben, und die ver
bleibenden Blocks nichtsequentieller Vektoren und sequentiel
ler Fragmente können in die Tabellenzwischenräume eingefügt
werden. Diese Tabelle dient als Basis zur Aufspaltung des
virtuellen Musters in seine Komponenten.
Zusätzlich zur Erzeugung der virtuellen Vektoren und der
Folgetabelle erzeugt der Compiler auch Symboltabellen, die
verwendet werden zur Lösung von Transfers (etwa Sprüngen,
Bedingungen) innerhalb des virtuellen Vektormusters. Die
erzeugten Symboltabellen enthalten eine Bestimmungstabelle,
welche Vektoren speichert, die Bestimmungen von Transfers
sind, und eine Vektortransfertabelle, welche Vektoren spei
chert, die Transfers enthalten.
Fig. 6 veranschaulicht das Musteraufspaltungsverfahren, wel
ches der Nachprozessor benutzt, um Daten von Blöcken sequen
tieller Vektoren aufzulisten zur Speicherung im sequentiellen
Speicher 94, und um Blöcke nichtsequentieller Daten und
sequentieller Fragmente im Daten-RAM 82 aufzulisten (die
letztgenannten Blöcke werden als nichtsequentielle Blöcke
bezeichnet). Zuerst werden ein VNV und eine State-Nummern
variable (State-Nummer) auf Null initialisiert, und ein Zei
ger wird auf den ersten Eingangswert der sequentiellen
Tabelle gesetzt. Das Vektortestmuster wird blockweise ver
arbeitet, wobei die nichtsequentiellen Blöcke unterschied
lich wie die sequentiellen Blöcke verarbeitet werden. VNV
wird zuerst mit der ersten Start-Nummer der virtuellen Vek
toren verglichen, welche durch den Zeiger der sequentiellen
Tabelle bezeichnet wird. Sind beide nicht gleich, dann ist
der virtuelle Vektor Teil eines nichtsequentiellen Blockes;
andernfalls ist der virtuelle Vektor der erste Vektor in
einem sequentiellen Block.
Durch Adressierung der Behandlung nichtsequentieller Blocks
zuerst wird die Nummer der Vektoren im momentanen nicht
sequentiellen Block berechnet, indem VNV entweder von der
nächsten Start-Vektornummer der sequentiellen Blöcke (die
von der Folgetabelle entnommen wird) oder vom Ende des
Musters (wenn der Vektor nach dem letzten sequentiellen
Block auftritt) subtrahiert wird. Jedem Vektor innerhalb
des nichtsequentiellen Blockes ist eine aufeinanderfolgende
State-Nummer zugeordnet (die in Beziehung zu den State-
Adressen steht, welche auf dem State-Adressen-Bus 26 erschei
nen), und die Daten des Vektors werden dann in den Ausgangs
strom gegeben, der im Daten-RAM 82 gespeichert werden soll,
wobei die Symboltabellen so eingestellt werden, daß die Kom
pression der Größe des virtuellen Vektormusters kompensiert
wird. Außerdem wird der zweite Speicher-Mikrocode (zur Spei
cherung im Mikrocode-RAM 32) als Nichtoperationsbefehl für
jede State-Nummer dieses nichtsequentiellen Blocks ausge
geben. VNV und die State-Nummer werden dann um die Größe des
nichtsequentiellen Blockes vergrößert, und der nächste
Vektor kommt dran.
Adressiert man die Bearbeitung sequentieller Blocks, dann
werden die ersten 18 Vektoren des sequentiellen Blocks zur
Placierung im Mikrocode-RAM 30 und Daten-RAM 32 aufgelistet,
und ihnen werden die nächsten 18 State-Nummern zugeordnet.
(So werden die Daten einiger sequentieller Vektoren im
Daten-RAM 82 mit den Daten nichtsequentieller Vektoren ge
speichert.) Eine Adresse eines sequentiellen Vektors (25 Bits,
von denen die niedrigsten vier auf Null voreingestellt wer
den und die zur Adressierung des sequentiellen Speichers 94
benutzt werden) wird aufgelistet zur Speicherung als SAM-
Mikrocode im zweiten Speicher-Mikrocode-RAM 32 bei State-
Adressen, die den ersten drei State-Nummern der Gruppe der
soeben erwähnten 18 entsprechen. Die restlichen Vektoren
des sequentiellen Blockes werden dann aufgelistet zur Spei
cherung im sequentiellen Speicher 94, und ihnen werden ent
sprechende aufeinanderfolgende Adressen für sequentielle
Vektoren zugeordnet. Die Gesamtzahl der sequentiellen Vekto
ren in dem Block, der von dem Speicher 94 sequentiellen Zu
gangs zu verarbeiten ist, wird berechnet und benutzt zur Be
stimmung der Variablen (X, y und rem) des SAM-Treiberteil-
Mikrocodes (für den Mikrocode-RAM 29), der dazu dient, der
Folgesteuerschaltung 18 eine Zeitmarkierung zu erlauben,
während die sequentiellen Daten vom sequentiellen Speicher
94 ausgegeben werden. Der SAM-Treiberteil besteht aus dem
folgenden Mikrocode, wobei "Setloop x" ein Teil der ersten
18 Vektoren ist:
Setloop x | |
L1: | Setloop y |
L2: | Endloop L2 |
Endloop L1 | |
Setloop rem | |
L3: | Endloop L3 |
wobei die Anzahl der vom SAM verarbeiteten Vektoren durch
die folgende Gleichung gegeben ist:
Nummer der SAM-Vektoren = x * (y+1) + rem + 2.
Der SAM-Treiberteil benutzt vernetzte Schleifen, um die
Größe der Zähler zu verringern, die zur Markierung der Zeit
durch die Folgesteuerschaltung 18 benötigt werden.
Nach der Verarbeitung des Blockes sequentieller Vektoren
wird VNV um die Größe eines sequentiellen Blocks vergrößert,
der Zeiger der sequentiellen Tabelle auf den nächsten Ein
gangswert der sequentiellen Tabelle weitergerückt, und der
nächste Vektor kommt dran.
Dieses Verfahren wird fortgesetzt, bis keine Vektorblocks
im Vektortestmuster übrigbleiben. Der Nachprozessor
stellt auch den Mikrocode her, der notwendig ist zur Durch
führung der selektiven Weiterführung des Testmusters vom
Datenspeicher 82 und sequentiellen Speicher 94, einschließ
lich der 8 Bit des Mikrocodes für die erste Testmuster-
Speicherschaltung 19 und der 8 Bit des Mikrocodes für die
zweite Testmuster-Speicherschaltung 20. Der sich auf Trans
fers beziehende Mikrocode wird aufgelistet zur Speicherung
im Folge-Mikrocode-RAM 28. Das kompilierte und verarbeitete
Programm ist fertig zum Einladen in eine geeignete Hardware
10.
Gemäß Fig. 1 werden die Mikrocode-RAM′s 28, 29, 30, 32, 33,
34 mit ihren jeweiligen Mikrocode-Befehlen geladen, und der
Daten-RAM 82 und die DRAM′s 104 werden mit ihren digitalen
Testmustern geladen, und all dies geschieht unter Steuerung
durch den Testcomputer 26 über den Computer-Bus 78. Beim
Laden in den Daten-RAM 82 und die verschiedenen Mikrocode-
RAM′s sind die State-Adressen verschieden von den durch den
Nachprozessor zugeordneten State-Nummern, jedoch bleiben die
relativen Positionen dieselben; auf diese Weise können meh
rere Testprogramme geladen werden, die zu unterschiedlichen
Zeiten nachbearbeitet worden sind. Die Testdaten in der
ersten Testmuster-Speicherschaltung 19 werden einfach in
den Daten-RAM 82 parallel eingespeichert (über nicht darge
stellte Mittel), während ihm Adressen zugeführt werden. Ge
mäß Fig. 2 werden die gerade in die DRAM′s 104 geladenen
Testdaten zuerst über Speicherdaten-Eingangsleitungen 118
in die Schieberegister 106 oder 108 übertragen und dann zu
jeweils 16 Bit gleichzeitig in die DRAM′s 104 an die ent
sprechenden Adressen geladen. Ein Schieberegister 106 oder
108 erhält die Daten seriell, während das andere 16 Bits
parallel an den DRAM 104 gibt, wobei die jeweiligen Adressen
von der 16-Bit-Adressenzähler-Verriegelungsschaltung 100 ge
liefert werden. Dann erhält das andere Register 106 oder 108
die Daten seriell, während das erste sie parallel ausgibt
usw. Wie sich aus der Erläuterung der Betriebsweise des
sequentiellen Speichers 94 ergibt, werden die 24 Datenbits
eines einzelnen sequentiellen Vektors an jede der 24 sequen
tiellen Speicherunterschaltungen 94a verteilt.
Der im ersten Mikrocode-RAM 30 gespeicherte Mikrocode zeigt
entweder an, daß Daten zu einer speziellen Adresse geliefert
werden sollten, welche über den State-Bus 26 zum Daten-RAM
82 gegeben wird, oder er zeigt an, daß keine Daten vom Daten-
RAM 82 ausgegeben werden sollen. Der im zweiten Mikrocode-
RAM 32 und im Zeiteinstell-Mikrocode-RAM 33 gespeicherte
Mikro-Code enthält Befehle bezüglich der Ausgabe oder Nicht
ausgabe, bezüglich der Startstelle und der Vorbereitung der
Ausgabe. Da in den Mikrocode-RAM′s 32 und 33 nur acht Mikro
codebits enthalten sind, werden drei aufeinanderfolgende
Mikrocode-Adressen benutzt, um die Anfangsadresse im sequen
tiellen Speicher 94 anzugeben. (21 der Adressenbits stammen
von 7 Bits der drei aufeinanderfolgenden 8-Bit-Mikrocode-
Befehle; die restlichen 4 Bits der 25-Bit-Adresse werden
auf Null voreingestellt.)
Während des schnellen Testens unter Steuerung durch die
Folgesteuerschaltung 18 sorgen Adressen, die vom Adressen-
Generator 24 zum State-Bus 26 gelangen, dafür, daß zu den
Geräten oder Instrumenten Befehle von ihren zugehörigen
Mikrocode-RAM′s gleichzeitig mit der Lieferung von Daten
zu der zu testenden Schaltung 12 mit ihrer Taktrate ausge
geben werden. Die an den State-Bus 26 gegebenen Adressen
sorgen außerdem dafür, daß die im Daten-RAM 82 und im
sequentiellen Speicher 94 gespeicherten ausgewählten digi
talen Testmuster über den Vektorbus 85 zum Formatiersystem
22 gelangen. Der Haupttaktgeber 21 sorgt für eine program
mierbare Taktung des Gerätes 10. Die analoge HF-Quelle 23
kann die Adressen beeinflussen, welche von dem Folgesteuer
adressengenerator 24 erzeugt sind, und zwar über das Be
dingungsbit im State-Adressen-Bus 26. Zustände in der zu
testenden Schaltung 12 können ebenfalls die vom Folgeadres
sengenerator 24 erzeugten Adressen beeinflussen, und zwar
über das Formatiersystem 22.
Die in Fig. 7 veranschaulichte Auflistung veranschaulicht
State-Adressen auf dem State-Adressen-Bus 26 und zugehörige
Bedingungen während eines Betriebsbeispiels, bei welchem so
wohl nichtsequentielle Vektoren wie auch sequentielle Vek
toren vorkommen. Zu Anfang des Betriebes ist ein großer
Block nichtsequentieller Vektoren zuzuführen, und somit wer
den Daten vom Daten-RAM 82 ausgegeben, während der sequen
tielle Speicher 94 inaktiv bleibt. Bei der ersten Taktperio
de, welche der State-Adresse Null zugeordnet ist, gibt der
Mikrocode im ersten Mikrocode-RAM 30 an, daß die erste Spei
cherschaltung 19 Daten ausgeben sollte, und der Mikrocode
im zweiten Mikrocode-RAM 32 gibt an, daß die zweite Spei
cherschaltung 20 nicht in Betrieb sein soll. Dieselbe Be
triebsweise gilt für die nächsten 101 Schritte entsprechend
den State-Adressen 1 bis 101. Ein Hardware-Pipelining in
der ersten Speicherschaltung 19 sorgt für sieben Taktperio
den von dem Zeitpunkt, wo die die Ausgabe anzeigende State-
Adresse auf dem State-Bus 36 erscheint, und dem Zeitpunkt,
wo die entsprechenden Daten auf dem Vektorbus 85 erscheinen.
Von dem 16K tiefen Mikrocode-RAM 95 im Haupttaktgeber 21
werden ferner Zeiteinstellinformationen geliefert (die bei
spielsweise angeben, zu welcher genauen Zeit in einer Takt
periode Flanken der Eingangssignale zur zu testenden Schal
tung 12 auftreten sollen).
Der Beginn eines Blockes sequentieller Vektoren im Benutzer
programm entspricht der State-Adresse 102 für den zweiten
Speicher 20 und der State-Adresse 120 für den ersten Spei
cher 19, da der sequentielle Speicher 94 ,25 Taktperioden
braucht, um mit der Datenlieferung zum Vektorbus 25 zu be
ginnen, und nur sieben Taktperioden für den Daten-RAM 82,
wie oben bereits gesagt wurde. Die State-Adressen 102 bis
104 bewirken, daß 21 der 25 Bits, welche die Anfangsadresse
der Daten im sequentiellen Speicher 94 identifizieren,
7-bitweise in drei verschiedenen Taktperioden verfügbar
sind; das Laden des dritten Befehls hat zur Folge, daß die
niedrigeren vier Bits der oben erwähnten 25-Bit-Adresse auf
Null voreingestellt werden. Während der achtzehn Taktperio
den, die den State-Adressen 102 bis 119 entsprechen, fährt
die erste Speicherschaltung 19 fort, Daten an den Vektorbus
85 auszugeben, während die zweite Speicherschaltung 20 die
Datenausgabe vorbereitet. Bei der State-Adresse 120 lassen
die Mikrocode-Befehle im Mikrocode-RAM 30 den Daten-RAM 82
mit der Datenausgabe aufhören; wegen der sieben Taktperioden-
Pipeline erhält die erste Speicherschaltung 90 für sieben
weitere Taktperioden Daten vom Vektorbus 85.
Beginnend mit der State-Adresse 127 werden Daten von der
zweiten Speicherschaltung 10 an den Vektorbus 85 geliefert,
die dynamischen RAM′s 104 liefern Daten über die Schiebe
register 106 und 108, die Datenwähl-Verriegelungsschaltung
110 und die Ausgangspuffer 90. Bei dieser Betriebsweise ist
die Anfangsadresse in der Adressenzähler-Verriegelungsschal
tung 100 durch Befehle über den Bus 96 vom Befehlsdecoder 86
eingestellt; dies ist die erste Adresse der in einem Block
sequentieller Daten auszugebenden Daten. Der 4-Bit-Zähler
98 zählt wiederholtermaßen 16 Taktimpulse und liefert seine
Ausgabeimpulse an die 16-Bit-Adressenzähler-Verriegelungs
schaltung 100 und die DRAM-Steuerlogikschaltung 102 bei je
dem Zählstand von 16. Die Adressenzähler-Verriegelungsschal
tung 100 erhöht die auf ihren Ausgangsleitungen an den DRAM
104 ausgegebene Adresse nach Erhalt jedes Ausgabeimpulses
vom Zähler 98. Bei jedem Ausgabeimpuls wird vom DRAM 104 ein
16-Bit-Wort in das Schieberegister 106 oder das Schiebe
register 108 eingelesen; dieses 16-Bit-Wort stellt die Daten
eines einzigen Bits von sechzehn aufeinanderfolgenden Vek
toren bei sechzehn aufeinanderfolgenden Taktimpulsen dar.
Das kein Eingangssignal erhaltende Schieberegister gibt
sein 16-Bit-Wort seriell aus in die Datenwähl-Verriegelungs
schaltung 110. Beim nächsten Ausgabeimpuls erhält dann das
letztgenannte Register das 16-Bit-Wort in Parallelform, wäh
rend das andere Register sein 16-Bit-Wort seriell an die
Datenwähl-Verriegelungsschaltung 110 ausgibt. Das Ausgangs
signal auf der Leitung 112 ist ein einziges Bit, und die
Bits von den 23 anderen sequentiellen Speicherunterschal
tungen 94a werden an den Ausgangspuffer 90 geliefert, wo
sie zu einem 24-Bit-Wort für den Vektorbus 85 kombiniert
werden. Zur gleichen Zeit wird die Zeiteinstellinformation
von der Zeiteinstell-Speicherschaltung 90 in gleicher Weise
an den Zeiteinstellbus 132 gegeben. Während die dynamischen
RAM′s 104 mit einer langsameren Rate ausgelesen werden als
die statischen RAM′s 82, liefert jede der 24 Datenwahl-
Verriegelungsschaltungen 110 ihr Ausgangssignal mit hoher
Geschwindigkeit über ihre Leitung 112 des 24-Bit-Bus 114 an
die Puffer 90. Auf diese Weise werden weniger teure dynami
sche RAM′s benutzt, um Datenblöcke sequentieller Vektoren
mit hoher Geschwindigkeit zu liefern.
Während der Block sequentieller Vektoren an den Vektorbus 85
geliefert wird und die Zeitsteuerdaten an den Zeitsteuerbus
132 geliefert werden, erscheinen die State-Adressen 127 bis
131 auf dem State-Adressen-Bus 26 als Folge des vernetzten
Schleifenbetriebes des SAM-Treiberteils des Blockes, welcher
durch die Folgesteuerschaltung 18 zur Zeitmarkierung benutzt
wurde. Sieben Taktperioden vor Ende des Blocks sequentieller
Vektoren erscheint die neue State-Adresse 132 auf dem State-
Adressen-Bus 26; der entsprechende Mikrocode-Befehl im
Mikrocode-RAM 30 läßt die erste Speicherschaltung 19 mit
der Datenausgabe beginnen, und der Mikrocode-Befehl im
Mikrocode-RAM 32 läßt die Speicherschaltung 20 mit der
Datenausgabe aufhören. Die Speicherschaltung 20 liefert für
sieben weitere Taktperioden Daten an die Busse 85.
Claims (11)
1. Verfahren zur schnellen Ablaufsteuerung digitaler Test
muster in einem automatischen Schaltungstester, gekenn
zeichnet durch folgende Schritte:
- - Aufstellung eines nichtsequentielle und sequentielle Vekto ren enthaltenden Testmusters,
- - Aufstellung von Befehlen zur Speicherung von Daten der nichtsequentiellen Vektoren in einem Daten-RAM-Speicher einer ersten Speicherschaltung und zur Speicherung von Blocks von Daten sequentieller Vektoren in einem sequentiel len Datenspeicher einer zweiten Speicherschaltung,
- - Laden der Daten der nichtsequentiellen Vektoren in den Daten-RAM-Speicher der ersten Speicherschaltung,
- - Laden der Daten der sequentiellen Vektoren in den sequen tiellen Datenspeicher der zweiten Speicherschaltung und
- - wahlweise Übertragung der Daten von dem Daten-RAM-Speicher oder dem sequentiellen Datenspeicher zu einer Formatier schaltung, welche Eingangssignale für eine zu testende Schaltung liefert.
2. Verfahren nach Anspruch 1, gekennzeichnet durch die
Schritte:
- - Aufstellung eines ersten und zweiten Mikrocodes aus Steuer daten für die erste und zweite Speicherschaltung zum je weiligen Datentransfer von dem Daten-RAM-Speicher oder dem sequentiellen Datenspeicher in Abhängigkeit von Adressen auf einem Adressen-Bus des automatischen Schaltungstesters und
- - Laden des ersten Mikrocodes in einen ersten Mikrocode-RAM- Speicher in der ersten Speicherschaltung und Laden des zwei en Mikrocodes in einen zweiten Mikrocode-RAM-Speicher in der zweiten Speicherschaltung.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
bei der Datenausgabe aus dem sequentiellen Datenspeicher, der
eine Mehrzahl dynamischer RAM-Speicher aufweist, welche ein
zeln langsamer als der - statische - Daten-RAM-Speicher sind,
- - die Ausgangssignale der dynamischen RAM-Speicher kombiniert werden im Sinne eines schnellen Datentransfers bei der bit weisen Ausgabe von Mehrbitwörtern aus den dynamischen RAM- Speichern und deren Eingabe in Schieberegister,
- - und die seriellen Ausgangssignalbits der Schieberegister kombiniert werden zur schnellen Bildung von Ausgangssigna len in Form von Mehrbit-Ausgabewörtern,
daß jeweils in ein Register eines in jedem dynamischen RAM-
Speicher enthaltenen Paares von Schieberegistern Mehrbit
wörter eingespeichert werden, während aus dem anderen Regi
ster ausgespeichert wird und umgekehrt,
und daß zur Vorbereitung der dynamischen RAM-Speicher für die Lieferung von Daten mit hoher Geschwindigkeit Daten einiger sequentieller Vektoren vor Blocks von im sequentiellen Spei cher gespeicherten Daten geladen werden, wobei eine Start adresse in den dynamischen RAM-Speichern für den Beginn des Datenblocks sequentieller Daten erzeugt wird unter Kombina tion von Teilen der in aufeinanderfolgenden Adressen eines durch den Adressenbus adressierten Mikrocode-RAM-Speichers gespeicherten Startadressen.
und daß zur Vorbereitung der dynamischen RAM-Speicher für die Lieferung von Daten mit hoher Geschwindigkeit Daten einiger sequentieller Vektoren vor Blocks von im sequentiellen Spei cher gespeicherten Daten geladen werden, wobei eine Start adresse in den dynamischen RAM-Speichern für den Beginn des Datenblocks sequentieller Daten erzeugt wird unter Kombina tion von Teilen der in aufeinanderfolgenden Adressen eines durch den Adressenbus adressierten Mikrocode-RAM-Speichers gespeicherten Startadressen.
4. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
daß bei der Befehlsaufstellung eines Blocks der sequentiellen
Vektoren darstellende Folgetabelle gebildet wird, bei der
jeder Eingabewert einem Block aufeinanderfolgender sequen
tieller Vektoren entspricht.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß bei der Erzeugung der Folgetabelle weiterhin
- - in jeden Eingabewert der Folgetabelle ein dem ersten Vektor des Blockes entsprechender sequentieller Startvektor und eine die Anzahl der sequentiellen Vektoren in dem Block darstellende Größennummer eingefügt wird,
- - ein Vektor aus dem Vektormuster entnommen und bestimmt wird, ob er ein nichtsequentieller oder ein sequentieller Vektor ist,
- - die Größennummer erhöht wird, wenn der Vektor einer der
sequentiellen Vektoren ist und die Größennummer beibehalten
wird, wenn der Vektor einer der nichtsequentiellen Vektoren
und der erste solche nach einem der sequentiellen Vektoren
ist,
und daß das Verfahren außerdem die Schritte umfaßt - - Speicherung eines dem Datenblock der sequentiellen Vekto ren entsprechenden Blocks von Zeitsteuerdaten in einem Zeiteinstellspeicher und
- - Lieferung der Zeitsteuerdaten an die Formatierschaltung bei der wahlweisen Datenübertragung vom sequentiellen Datenspeicher,
- - und bei der Befehlsaufstellung das Aufspalten des Vektor musters in sequentielle Blöcke und nichtsequentielle Blöcke mit Hilfe der Folgetabelle, wobei Vektoren in den nicht sequentiellen Blöcken Adressennummern zugeordnet werden entsprechend auf einem Adressenbus des automatischen Testers gelieferten Adressen.
6. Vorrichtung zur Durchführung des Verfahrens nach einem
der vorstehenden Ansprüche, gekennzeichnet durch
- - eine erste Speicherschaltung (19), die einen Daten-RAM- Speicher (82) mit einer ersten Speicherkapazität zur Spei cherung von Daten nichtsequentieller Vektoren enthält,
- - eine zweite Speicherschaltung (20), die einen sequentiellen Datenspeicher (94) mit einer größeren Speicherkapazität als der Daten-RAM-Speicher (82) zur Speicherung von Datenblocks sequentieller Vektoren enthält,
- - eine Formatierschaltung (22), welche aufgrund ihr vom Daten- RAM-Speicher (82) oder dem sequentiellen Datenspeicher (94) zugeführten Daten Eingangssignale für eine zu testende Schaltung (12) erzeugt,
- - und eine Folgesteuerschaltung (18) zur Steuerung der ersten und zweiten Speicherschaltung (19,20) für die wahlweise Übertragung von Daten von dem Daten-RAM-Speicher (82) oder dem sequentiellen Datenspeicher (94) zur Formatierschaltung (22)
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet,
daß der Daten-RAM-Speicher (82) statische RAM-Speicher auf
weist und daß der sequentielle Datenspeicher (94) eine Mehr
zahl dynamischer RAM-Speicher aufweist, die einzeln langsamer
als die statischen RAM-Speicher sind und deren Ausgangssignale
im Sinne eines schnellen Datentransfers kombinierbar sind.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet,
daß der sequentielle Datenspeicher (94) Schieberegister ent
hält, die jeweils so geschaltet sind, daß ihnen ein Mehrbit-
Parallel-Ausgangssignal eines jeweiligen dynamischen RAM-
Speichers zuführbar ist, und die ein serielles Schieberegi
ster-Ausgangssignal liefern,
daß die dynamischen RAM-Speicher jeweils ein Mehrbit-Wort liefern, welches einem einzigen Bit von Daten einer Mehr zahl aufeinanderfolgender sequentieller Vektoren ent spricht,
und daß zur Vorbereitung der dynamischen RAM-Speicher für die schnelle Lieferung von Daten im Daten-RAM-Speicher Daten einiger sequentieller Vektoren vor den Blocks gespeichert sind.
daß die dynamischen RAM-Speicher jeweils ein Mehrbit-Wort liefern, welches einem einzigen Bit von Daten einer Mehr zahl aufeinanderfolgender sequentieller Vektoren ent spricht,
und daß zur Vorbereitung der dynamischen RAM-Speicher für die schnelle Lieferung von Daten im Daten-RAM-Speicher Daten einiger sequentieller Vektoren vor den Blocks gespeichert sind.
9. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet,
- - daß die Folgesteuerschaltung (18) einen Folgeadressen generator (24) enthält,
- - daß die erste Speicherschaltung (19) einen ersten Mikro code-RAM-Speicher (30), dem Adressen von dem Adressenbus (26) zugeführt werden, zur Speicherung von Mikrocodes aus Steuerdaten enthält, die Befehle hinsichtlich der Eingabe oder Nichteingabe von Daten in den Datenspeicher darstel len,
- - daß die zweite Speicherschaltung (20) einem
zweiten Mikrocode-RAM-Speicher (32), dem Adressen von
dem Adressenbus (26) zugeführt werden, zur Speicherung
von Mikrocodes, die Befehle hinsichtlich der Eingabe
oder Nichteingabe, des Eingabebeginns und der Eingabe
vorbereitung darstellen,
einen Befehlsdecodierer (86), dem Befehle von dem zweiten Mikrocode-RAM-Speicher (32) zugeführt werden,
eine Speicheradressen-Steuerschaltung (88)
und Ausgangspuffer (90) für den von dem Befehls decoder gesteuerten sequentiellen Datenspeicher (94) enthält und
daß an den Folgeadressengenerator (24) ein Adressenbus (26) angeschlossen ist.
10 Vorrichtung nach Anspruch 6, gekennzeichnet durch
einen Zeiteinstellspeicher (130) zur Speicherung von Blocks
von Zeitdaten entsprechend den Datenblocks sequentieller
Vektoren und zur Lieferung von Daten für die Formatierschal
tung (22).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/141,202 US4875210A (en) | 1988-01-06 | 1988-01-06 | Automatic circuit tester control system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3900248A1 DE3900248A1 (de) | 1989-07-27 |
DE3900248C2 true DE3900248C2 (de) | 1994-08-18 |
Family
ID=22494634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3900248A Expired - Fee Related DE3900248C2 (de) | 1988-01-06 | 1989-01-05 | Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens |
Country Status (6)
Country | Link |
---|---|
US (1) | US4875210A (de) |
JP (1) | JP2674709B2 (de) |
CA (1) | CA1288817C (de) |
DE (1) | DE3900248C2 (de) |
FR (1) | FR2625568B1 (de) |
GB (1) | GB2213942B (de) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5127011A (en) * | 1990-01-12 | 1992-06-30 | International Business Machines Corporation | Per-pin integrated circuit test system having n-bit interface |
CA2038295A1 (en) * | 1990-03-16 | 1991-09-17 | Brian Jerrold Arkin | High speed fail processor |
US5225772A (en) * | 1990-09-05 | 1993-07-06 | Schlumberger Technologies, Inc. | Automatic test equipment system using pin slice architecture |
US5321701A (en) * | 1990-12-06 | 1994-06-14 | Teradyne, Inc. | Method and apparatus for a minimal memory in-circuit digital tester |
US5414365A (en) * | 1992-09-25 | 1995-05-09 | Martin Marietta Corporation | Diagnostic apparatus for testing an analog circuit |
US6286120B1 (en) | 1994-09-01 | 2001-09-04 | Teradyne, Inc. | Memory architecture for automatic test equipment using vector module table |
JPH08184648A (ja) * | 1994-12-28 | 1996-07-16 | Advantest Corp | 半導体試験装置用テストパターンの高速転送装置 |
US5737512A (en) * | 1996-05-22 | 1998-04-07 | Teradyne, Inc. | Fast vector loading for automatic test equipment |
US6119251A (en) * | 1997-04-22 | 2000-09-12 | Micron Technology, Inc. | Self-test of a memory device |
KR19990018125A (ko) * | 1997-08-26 | 1999-03-15 | 윤종용 | Ic칩 검사용 테스터데이타 압축방법과 그 압축장치 및 ic칩용 테스터장치와 그 테스터방법 |
US6763490B1 (en) * | 2000-09-25 | 2004-07-13 | Agilent Technologies, Inc. | Method and apparatus for coordinating program execution in a site controller with pattern execution in a tester |
WO2003093848A1 (en) | 2002-05-03 | 2003-11-13 | Mcgill University | Method and device for use in dc parametric tests |
CN1781029A (zh) * | 2003-03-14 | 2006-05-31 | 爱德万测试株式会社 | 测试装置、测试装置的程式、测试图案记录媒体以及测试装置的控制方法 |
EP1738493A4 (de) * | 2004-02-19 | 2012-02-22 | Georgia Tech Res Inst | Systeme und verfahren zur parallelen kommunikation |
US7319936B2 (en) * | 2004-11-22 | 2008-01-15 | Teradyne, Inc. | Instrument with interface for synchronization in automatic test equipment |
US7454681B2 (en) * | 2004-11-22 | 2008-11-18 | Teradyne, Inc. | Automatic test system with synchronized instruments |
TWI294153B (en) * | 2006-02-16 | 2008-03-01 | C Chang Edward | Improved automatic test equipment (ate) and method of implementing the same |
US7725793B2 (en) * | 2007-03-21 | 2010-05-25 | Advantest Corporation | Pattern generation for test apparatus and electronic device |
JP5507054B2 (ja) | 2008-03-28 | 2014-05-28 | 富士フイルム株式会社 | 重合性組成物、カラーフィルタ、カラーフィルタの製造方法、及び固体撮像素子 |
CN108121628B (zh) * | 2017-12-19 | 2021-01-05 | 珠海市君天电子科技有限公司 | 一种读写速度的测试方法、装置及电子设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5552967A (en) * | 1978-10-13 | 1980-04-17 | Advantest Corp | Pattern signal generator |
US4451918A (en) * | 1981-10-09 | 1984-05-29 | Teradyne, Inc. | Test signal reloader |
DE3237365A1 (de) * | 1982-10-08 | 1984-04-12 | Siemens AG, 1000 Berlin und 8000 München | Anordnung zur erzeugung von mustern von pruefsignalen bei einem pruefgeraet |
JPS5990067A (ja) * | 1982-11-15 | 1984-05-24 | Advantest Corp | 論理回路試験用パタ−ン発生装置 |
JPH0641966B2 (ja) * | 1984-02-15 | 1994-06-01 | 株式会社アドバンテスト | パタ−ン発生装置 |
JPS6137582A (ja) * | 1984-07-31 | 1986-02-22 | Hitachi Constr Mach Co Ltd | 装軌式車両 |
JPH0750156B2 (ja) * | 1985-03-05 | 1995-05-31 | 株式会社日立製作所 | メモリ読出制御装置 |
WO1986004686A1 (en) * | 1985-01-31 | 1986-08-14 | Hitachi, Ltd. | Test pattern generator |
DD239881A1 (de) * | 1985-07-31 | 1986-10-08 | Erfurt Mikroelektronik | Schaltungsanordnung zur beschleunigten generierung gespeicherter daten |
DE3613896A1 (de) * | 1986-04-24 | 1987-10-29 | Siemens Ag | Einrichtung und verfahren fuer die ein- oder ausgabe binaerer daten, insbesondere testdaten digitaler prueflinge |
-
1988
- 1988-01-06 US US07/141,202 patent/US4875210A/en not_active Expired - Lifetime
-
1989
- 1989-01-05 DE DE3900248A patent/DE3900248C2/de not_active Expired - Fee Related
- 1989-01-05 CA CA000587544A patent/CA1288817C/en not_active Expired - Lifetime
- 1989-01-05 FR FR8900081A patent/FR2625568B1/fr not_active Expired - Fee Related
- 1989-01-06 GB GB8900292A patent/GB2213942B/en not_active Expired - Lifetime
- 1989-01-06 JP JP64001144A patent/JP2674709B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB2213942B (en) | 1992-01-29 |
JP2674709B2 (ja) | 1997-11-12 |
FR2625568B1 (fr) | 1993-07-16 |
GB2213942A (en) | 1989-08-23 |
DE3900248A1 (de) | 1989-07-27 |
JPH026765A (ja) | 1990-01-10 |
CA1288817C (en) | 1991-09-10 |
FR2625568A1 (fr) | 1989-07-07 |
GB8900292D0 (en) | 1989-03-08 |
US4875210A (en) | 1989-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3900248C2 (de) | Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens | |
DE3687942T2 (de) | Pruefmustergenerator. | |
DE3237225C2 (de) | Vorrichtung zum Prüfen elektrischer Schaltungsanordnungen | |
DE69124170T2 (de) | Automatisches Prüfausrüstungssystem, das eine Stiftscheibenarchitektur verwendet | |
DE4206286C2 (de) | Speicherzugriffssystem und Verfahren zum Ausgeben eines digitalen Datenstromes | |
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE2555439C2 (de) | Monolithische hochintegrierte Halbleiterschaltung | |
DE10045568B4 (de) | Ereignisgestütztes Halbleiterprüfsystem | |
DE19738569B4 (de) | Testschaltkreis für integrierte Schaltkreise und Verfahren zum Testen | |
DE10150321A1 (de) | Verfahren und Vorrichtung zum Testen von integrierten Schaltungen | |
DE2751097A1 (de) | Triggerschaltungseinheit | |
DE2723523A1 (de) | Kompression und dekompression von gespeicherten digitaldaten | |
DE19983098B4 (de) | Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren | |
DE3689414T2 (de) | Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur. | |
DE3832440A1 (de) | Testschaltungseinrichtung | |
DE69109703T2 (de) | Sequentielle Endlichautomatenschaltung sowie integrierte Schaltung mit einer derartigen Schaltung. | |
DE3587620T2 (de) | Logikanalysator. | |
DE3933253A1 (de) | Einrichtung und verfahren zur durchfuehrung von booleschen rasteroperationen an quellen- und zieldaten | |
DE19951205A1 (de) | Testmustergenerator; Speichertestvorrichtung und Verfahren zur Erzeugung einer Mehrzahl von Testmustern | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE3650508T2 (de) | Speicheranordnung zur Simulation eines Schieberegisters | |
EP1163680B1 (de) | Vorrichtung und verfahren für den eingebauten selbsttest einer elektronischen schaltung | |
DE10296828T5 (de) | Halbleiterspeichertestgerät und Adressgenerator zur Defektanalyse | |
DE3317593A1 (de) | Pruefspeicherarchitektur | |
DE10111030A1 (de) | Vorrichtung und Verfahren zur Einfügung einer Verzögerungszeit bei einem ereignisgestützten Prüfsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |