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 Verfahrens

Info

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
Application number
DE3900248A
Other languages
English (en)
Other versions
DE3900248A1 (de
Inventor
John Louis Russo
Robert Humphrey Van Der Kloot
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Teradyne Inc
Original Assignee
Teradyne Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Teradyne Inc filed Critical Teradyne Inc
Publication of DE3900248A1 publication Critical patent/DE3900248A1/de
Application granted granted Critical
Publication of DE3900248C2 publication Critical patent/DE3900248C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31928Formatter

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.
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.
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).
DE3900248A 1988-01-06 1989-01-05 Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens Expired - Fee Related DE3900248C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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