[go: up one dir, main page]

DE3689414T2 - Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur. - Google Patents

Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur.

Info

Publication number
DE3689414T2
DE3689414T2 DE19863689414 DE3689414T DE3689414T2 DE 3689414 T2 DE3689414 T2 DE 3689414T2 DE 19863689414 DE19863689414 DE 19863689414 DE 3689414 T DE3689414 T DE 3689414T DE 3689414 T2 DE3689414 T2 DE 3689414T2
Authority
DE
Germany
Prior art keywords
pin
test
channel
memory
tester
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 - Lifetime
Application number
DE19863689414
Other languages
English (en)
Other versions
DE3689414D1 (de
Inventor
Philip I Collins
Keith A Jeffrey
David J Marsh
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.)
Diagnosys Ltd Petersfield Hampshire Gb
Original Assignee
Schlumberger Technologies 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 Schlumberger Technologies Inc filed Critical Schlumberger Technologies Inc
Publication of DE3689414D1 publication Critical patent/DE3689414D1/de
Application granted granted Critical
Publication of DE3689414T2 publication Critical patent/DE3689414T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/31922Timing generation or clock distribution
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer

Landscapes

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

Description

  • Diese Erfindung bezieht sich auf ein Gerät für das automatische Testen von elektronischen Schaltkreisen. Insbesondere bezieht sie sich auf das automatische, funktionelle Testen von elektronischen Schaltkreisen auf einer gedruckten Schaltungskarte.
  • Funktionelle Tester werden mit dem Eingangs/Ausgangsverbinder der gedruckten Schaltkreiskarte verbunden mittels eines Kantenverbinders, der mit der Schaltkreiskarte zusammenpaßt, wenn sie in die Halterung des automatischen Testgeräts eingefügt wird. Der funktionelle Tester untersucht die Karte derart, daß die aktuelle Funktion der gedruckten Schaltkreiskarte in ihrer beabsichtigten Anwendung simuliert wird. Der Tester mißt Daten, welche die Ausgänge der gedruckten Schaltkreiskarte repräsentieren, vergleicht sie mit dem erwarteten Resultat und bestimmt, ob die gedruckte Schaltkreiskarte richtig in ihrer beabsichtigten Anwendung funktioniert oder nicht. Hiervon stammt der Name "funktioneller Tester".
  • Fig. 1 illustriert eine Vorrichtung nach dem Stand der Technik, insgesamt mit 100 markiert, für das funktionelle Testen eines Prüflings (UUT) 146. Der Klarheit der Darstellung halber ist der Tester 100 als mit nur drei Kanälen versehen dargestellt, während Tester mit 256 oder 512 Kanälen üblich sind. Jeder Stift des Testers, hier mit , 1 bzw. n markiert, kontaktiert den entsprechenden Stift an dem Verbinder des UUT. Jeder Stift seinerseits ist verbunden mit dem Ausgang einer Schnittstellenschaltung 140, 142 bzw. 144, die eine Treiberstufe enthält zum Ansteuern des Stiftes mit vorbestimmten Signalen, und einem Empfänger für den Empfang von Daten von dem Stift. Diese Schnittstellenschaltung ist im Stand der Technik bekannt als die "Stiftelektronik". Die Stiftelektronik kann den Stift mit einem Digitalsignal ansteuern, das entweder hoch oder niedrig liegt, zum Repräsentieren einer digitalen "1" oder "0". Zusätzlich kann der Treiberschaltkreis in einen hoch impedanten Ausgangszustand gebracht werden, und ein Empfängerschaltkreis kann aktiviert werden zum Messen der Daten an dem Stift, um zu bestimmen, ob die Spannung an dem Stift hoch oder niedrig ist, wodurch eine digitale "1" oder eine digitale "0" repräsentiert werden.
  • Die Stiftelektroniken 140, 142, 144 sind jeweils verbunden mit dem Ausgang eines Kanalsteuerschaltkreises 126, 128 bzw. 130 über Ausgangsbusse 134, 136 bzw. 138. Der Betrieb der Kanalsteuerschaltungen wird bestimmt durch Befehle, die in einem Stiftsteuerrandomspeicher (RAM) 114, 116 bzw. 118 abgelegt sind, wobei es einen solchen Speicher für jeden Kanal des Testers gibt. Die Testbefehle, abgespeichert in dem Stiftsteuer-RAM bestimmen, ob der Stift anzusteuern ist oder ein Dateneingang am Stift abzugreifen ist. Zusätzlich bestimmen sie, ob der Stift hoch oder niedrig anzusteuern ist, oder ob Daten empfangen werden sollen, und ob die Daten, die erwartet werden, hoch oder niedrig sein sollen. Die Testbefehle von dem Stift-RAM bestimmen auch, welche der globalen Zeitlagesignale ausgenutzt werden, um einen Ausgang zu erzeugen oder einen Eingang an einem bestimmten Stift zu empfangen, wie im Detail weiter unten erläutert. Die Stift-RAMs werden gesteuert durch einen globalen Sequenzsteuerprozessor 104, der eine Adresse auf Adressbus 112 erzeugt, der mit allen Stift-RAMs des Testers gekoppelt ist. Der globale Sequenzsteuerprozessor 104 wird gesteuert durch ein Sequenzsteuer-RAM 102 über Bus 106 zum Ausführen des Testprogramms, das im Sequenzsteuer-RAM 102 gespeichert ist. Die Befehle des Programms in dem Sequenzsteuer-RAM 102 bewirken, daß der globale Sequenzsteuerprozessor eine neue Adresse erzeugt, die ihrerseits alle Stift-RAMs zu neuen Adressen führt, so daß ein Austausch des Zustands aller Kanäle des Testers ermöglicht wird. Die Tatsache, daß die Stift-RAMs als ein einziger Speicher funktionieren mit allen RAMs, die zu derselben nächsten Adresse zu dem gleichen Zeitpunkt geführt werden, ermöglicht einigen Testern nach dem Stand der Technik, einen einzigen Speicherschaltkreis anstelle der individuellen Stift-RAMs zu verwenden. Das einzige Erfordernis an diesen Speicherschaltkreis ist, daß er eine hinreichende Wortlänge besitzt (oder Speicher"breite"), um die erforderliche Anzahl von Steuerbits zu dem Eingang jedes Kanalsteuerschaltkreises zur gleichen Zeit parallel zu übertragen. Das im Sequenzsteuer-RAM 102 abgelegte Testprogramm kann beispielsweise eine Sequenz von Schritten umfassen, die für eine gegebene Anzahl von Malen wiederholt werden. Diese Programmbefehle bewirken, daß der globale Sequenzsteuerprozessor eine Sequenz von Adressen erzeugt, die die Wiederholung dieser Schritte implementieren. Der Adressbus 112 ist außerdem gekoppelt mit dem Eingang des Sequenzsteuer-RAMs 102 und dem Eingang eines Zeitlagesteuer-RAMs 111. Die Adresse, die auf diesem Bus vorliegt, wird ausgenutzt, um den nächsten Befehl vom RAM 102 zu holen für die Steuerung des globalen Sequenzsteuerprozessors 104 und den nächsten Befehl vom RAM 111 zum Steuern des Betriebes des globalen Zeitlagesteuergenerators 110. Die Auswahlbefehle vom RAM 111 sind gekoppelt mit dem Generator 110 über Bus 108.
  • Der globale Sequenzsteuerprozessor 104 arbeitet synchron mit einem Taktsignal, erzeugt durch den globalen Zeitlagesteuergenerator 110 und angekoppelt an den globalen Sequenzsteuerprozessor über Leitung 109. Das Taktsignal wird gesteuert durch die Zeitlagesteuerinformation, abgespeichert im Zeitlagesteuer-RAM 111, zum Andern des Speicherwortes, bereitgestellt zu den Kanalsteuerschaltkreisen 126, 128, 130 für jeden Stift zu jedem Intervall. Der Betrieb des Prüflings kann erfordern, daß alle Änderungen im Betriebszustand des Stiftes nicht gleichzeitig auftreten. Die Minimalzeit zwischen Änderungen im Betriebszustand ist generell begrenzt durch die Zykluszeit im Stift-RAM, was als praktischer Gesichtspunkt zu lang ist, um die erforderliche Flexibilität der Aktivität innerhalb eines Zyklus zu ermöglichen. Demgemäß werden Änderungen des Betriebs gesteuert durch eine Serie von Zeitlagesignalen, erzeugt von dem globalen Zeitlagesteuergenerator 110, und angekoppelt an die Kanalsteuerschaltkreise durch Zeitlagesignalbus 132. Ein typischer globaler Zeitlagesteuergenerator kann in der Lage sein, acht Sätze von jeweils acht unterschiedlichen Signalen zu erzeugen, wobei nur einer der acht Sätze zu einem gegebenen Zeitpunkt erzeugt wird. Demgemäß ist der Zeitlagesignalbus 132 acht Leitungen breit und hat acht Zeitlagesignale zu irgendeinem Zeitpunkt präsent. Die Auswahl des jeweiligen Satzes von Zeitlagesignalen, der zu irgendeinem gegebenen Zeitpunkt zu erzeugen ist, ist "fliegend" änderbar unter Steuerung der Auswahlinformation, die in dem Zeitlagesteuer-RAM 111 abgelegt ist. Die Auswahl erfolgt über Auswahlbus 108. Demgemäß diktieren die in den Stift-RAMs enthaltenen Befehle nicht bloß die Änderung des Betriebszustandes eines Stiftes, sondern spezifizieren auch die Zeitlageimpulse, bei welchen eine aktuelle Zustandsänderung erfolgen soll. Das heißt, die Befehle in dem Speicher bewirken die Änderung des Betriebszustandes des Stiftes zu einem ausgewählten Übergang des ausgewählten einen der acht Zeitlageimpulse. Beispielsweise könnte die Zeitlageinformation hochgehen bei Zeitlagesignal drei, was bedeutet, daß der Stift auf einen hochliegenden Zustand getrieben würde bei dem Niedrig-Hoch-Übergang des Zeitlagesignals drei.
  • Programmierflexibilität für die Testsequenzen wird geschaffen, indem die in Zeitlagesteuer-RAM 111 gespeicherten Befehle den Satz von erzeugten Zeitlageimpulsen steuern sowie die Länge der Zeit zwischen Speicherzyklen. Dies ermöglicht eine Maximierung der Anzahl von Aktivitäten, die an allen Stiften pro Speicherzyklus stattfinden können, ohne in unzulässiger Weise die Fähigkeit zu beschränken, den Zustand irgendeines gegebenen Stiftes zu ändern.
  • In einigen Testern nach dem Stand der Technik werden die Zeitlagesignale erzeugt innerhalb jedes Kanalsteuerschaltkreises zum Herbeiführen größerer Flexibilität bei der Ausführung der Testsequenz. Die kleine Anzahl von Zeitlagesignalen, die zur Verfügung steht, bringt jedoch immer noch Beschränkungen mit sich bezüglich der Fähigkeit des Testers, den tatsächlichen Betriebsablauf des Prüflings zu simulieren.
  • Funktionelle Tester, die diese Art von Architektur verwenden, haben mehrere Hauptnachteile. Erstens ist es wünschenswert, daß die Treiber/Lesesignale exakt den Signalen entsprechen, die während des normalen Betriebes der gedruckten Schaltungskarte erwartet werden. Die Tatsache, daß es nur acht Zeitlagesignale gibt (oder irgendeine andere kleine Anzahl), die zur Verfügung stehen, bedeutet, daß Kompromisse geschlossen werden müssen beim Erzeugen von Signalen, die nahe genug allen gewünschten Zeitlagefunktionen über den Test der Schaltung hin sind. Wenn beispielsweise eine Operation 5 Nanosekunden nach dem Taktimpuls auszuführen ist und eine andere Operation 4 Nanosekunden nach dem Taktimpuls und nur ein einziges Zeitlagesignal übrig blieb, das verwendet werden mußte, um diese beiden Operationen zu steuern, dann wäre ein Kompromiß zu machen. Man müßte entweder entscheiden, welches der Zeitlageintervalle kritischer für den Betrieb der Schaltung ist oder vielleicht ein Intervall von beispielsweise 4,5 Nanosekunden als einen Kompromiß wählen. Selbst wenn eine größere Anzahl als acht Signale zur Verfügung stünden, müßten offensichtlich Kompromisse immer noch geschlossen werden beim Programmieren des Tests. Dies kompliziert in unnötiger Weise die Erzeugung des Tests, insbesondere für große/komplizierte Schaltungskarten. Wegen der Kompliziertheit der Implikationen, erzeugt durch die verschiedenen Kompromißmöglichkeiten, blieb das Programmieren eines Tests für einen funktionellen Tester eine manuell zu lösende Aufgabe. Manuelles Programmieren eines präzisen Tests für einen großen/komplizierten Schaltkreis kann länger dauern und teurer sein als praktisch zulässig. Demgemäß werden üblicherweise Kompromisse gemacht, um den Aufwand und die Kosten zu verringern, obwohl dies zu einem weniger genauen Test führt. Dieses Problem wird verschärft durch die zunehmend komplizierteren Schaltungskarten der Zukunft. Die zunehmende Anzahl von Operationen, die zwischen Speicherzyklen stattfinden können, würde das Problem erleichtern, jedoch mehr Bits pro Wort erfordern, und demgemäß die Abmessung des Speichers erhöhen.
  • Ein weiterer Nachteil dieses Standes der Technik besteht darin, daß oft ein Stift sehr aktiv ist während eines Abschnitts des Tests und relativ ruhig ist während des Restes des Tests. Da jedoch die Speicheradresse für alle Stifte für ein einziges Stiftereignis aufgefrischt werden muß, wie auch für eine Abfolge von Stiftereignissen, müssen die Speicherstellen für diese relativ ruhigen Stifte mit Nicht-Operationen (no-ops) gefüllt werden. Dies ist eine extreme Verschwendung von teurem Speicherraum. Um darüber hinaus die Effizienz des Programmierens dieser Teste zu verbessern, ist es üblich gewesen, das Wiederholen des Testprogramms zuzulassen. Dies erfordert die Anwendung von statischen RANDOM-Speichern (SRAMs), die relativ teuer sind. Bei Testern, die die billigeren dynamischen RANDOM-Speicher (DRAMs) verwenden, werden typischerweise Teile des Programms periodisch in SRAMs für die Exekution geladen. Ein weiterer Nachteil dieser Architektur ist die Tatsache, daß parallele Adressen- und Zeitlagebusse durch die gesamte Testerelektronik laufen, weil sie an alle Elektroniken für alle die Stifte angeschlossen werden müssen, was zu Problemen hinsichtlich Zeitverschiebungen zwischen Bits in diesen Linien bei höheren Speichergeschwindigkeiten führt.
  • Die Druckschrift EP-A-149 048 offenbart eine Prüfvorrichtung mit den Merkmalen, die in dem Oberbegriff des Patentanspruchs 1 genannt sind. Die Vorrichtung der genannten Druckschrift hat auf der Ebene der Stifteinheit keinen Adressenbus, der allen Einheiten gemeinsam ist. Die Prüfmustererzeugung wird durch einen einzigen Taktgeber synchronisiert, und die spezifische Sequenz bei jedem wird in hohem Maße bestimmt durch eine Wiederholungslogik auf einer Ebene eines programmierbaren Steuerteils und Stiftmustergenerators; der Speicher wird nicht für jede Änderung an dem zugeordneten Stift durchgetaktet. Während der Prüfung wird jeder Stiftmustergenerator periodisch mit einer Aussaatadresse von einer nächsten, höher in der Hierarchie angesiedelten Einheit versehen, welche Einheit der programmierbare Steuerteil ist. Die Anzahl solcher Steuerteile ist kleiner als die Anzahl von Stiften, so daß mehrere Stifte sich einen gemeinsamen programmierbaren Steuerteil teilen.
  • Es ist das Ziel der vorliegenden Erfindung, eine Vorrichtung der oben erwähnten Gattung zu schaffen, die jedoch eine vereinfachte Bus-Struktur aufweist. Diese Verbesserung wird erzielt durch die kennzeichnenden Merkmale des Patentanspruchs 1 in Verbindung mit seiner Präambel. Die von Anspruch 1 abhängigen Patentansprüche definieren weitere Details einer Ausführungsform der Erfindung.
  • Die Druckschrift PROCEEDINGS OF THE INTERNATIONAL TEST CONFERENCE, Okt. 1984, Seiten 471 bis 480, IEEE Philadelphia, U.S.A., offenbart eine Prüfvorrichtung mit einer "Prüfer-pro-Stift-Architektur". Diese Druckschrift enthält jedoch nichts zu dem Speichermanagement.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines Systems nach dem Stand der Technik mit gemeinsam genutzter Resource;
  • Fig. 2 ist ein Blockdiagramm einer Ausführungsform eines Systems gemäß der vorliegenden Erfindung;
  • Fig. 3 ist ein mehr ins einzelne gehendes Blockdiagramm eines Kanalsteuerschaltkreises gemäß der Erfindung, wie in Fig. 2 gezeigt;
  • Fig. 4 ist ein Blockdiagramm des RAM-Datendekoders, wie in Fig. 3 gezeigt;
  • Fig. 5 ist ein Zeitlagediagramm zur Illustration einer typischen Testsequenz an einem Stift des Testers gemäß der vorliegenden Erfindung;
  • Fig. 6 ist ein Blockdiagramm einer Kanalsteuerschaltung einschließlich eines Cache-Speichers.
  • DETAILLIERTE BESCHREIBUNG
  • In Fig. 2 ist ein funktioneller Tester gemäß der vorliegenden Erfindung generell mit 200 bezeichnet. Wie in Fig. 1 ist der Tester dargestellt mit drei Kanälen , 1 und n zur Klarheit der Illustration, während es üblich ist, Tester mit 256, 512 oder mehr Kanälen zu haben. Der Tester ist wiederum so organisiert, daß jeder Kanal seine zugeordnete Stift-RAM-Kanalsteuerschaltung und Stiftelektronik besitzt. Demgemäß ist der Stift-RAM 210 gekoppelt mit der Kanalsteuerung 224 über Befehlsbus 222 und Adressbus 220, und die Kanalsteuerung 224 ist mit den Stiftelektroniken 238 über Leitungen 240, 242 bzw. 244 gekoppelt zur Bildung des Kanals . In ähnlicher Weise ist der Stift-RAM 212 gekoppelt mit Kanalsteuerung 230 über Befehlsbus 228 und Adressbus 226, und die Kanalsteuerung 230 ist gekoppelt mit den Stiftelektroniken 252 über Leitungen 254, 256, 258 zur Bildung des Kanals 1; der Stift-RAM 214 ist gekoppelt mit der Kanalsteuerung 236 über Befehlsbus 234 und Adressbus 232, und Kanalsteuerung 236 ist gekoppelt mit den Stiftelektroniken 266 über Leitung 268, 270, 272 zur Bildung des Kanals N. Jede der Kanalsteuerschaltungen ist mit ihrem entsprechenden Anschlußstift gekoppelt, die in Kontakt gebracht werden mit dem Verbinder des Prüflings 280. Demgemäß ist die Stiftelektronik 238 gekoppelt mit dem Stift über Leitung 250, die Stiftelektronik ist gekoppelt mit Stift 1 über Leitung 264 und die Stiftelektronik 266 ist gekoppelt mit Stift N über Leitung 278.
  • In der dargestellten Ausführungsform ist die Stiftelektronik geeignet für das Ansteuern/Auslesen von Logikschaltkreisen, wie TTL oder CMOS. Jede enthält eine Treiberschaltung, die in einen hochimpedanten Ausgangszustand (tri-state) bringbar ist, sowie eine Empfängerschaltung. Andere Logikfamilien würden abweichende Stiftelektronik erfordern.
  • In der in Fig. 2 dargestellten Ausführungsform umfaßt die Stiftelektronik 238 für Kanal einen tri-state-Treiber 246, gekoppelt mit der Kanalsteuerung 224 über Leitung 244. Der Treiber 246 kann in einen hochimpedanten Ausgangszustand gebracht werden mittels eines Signals auf Leitung 242. Ein Datenempfänger 248 ist mit Stift gekoppelt über Leitung 250 und mit der Kanalsteuerung 224 über Leitung 240. In ähnlicher Weise umfaßt die Stiftelektronik 252 für Kanal 1 den Treiber 268 und den Empfänger 262. Der Treiber 268 ist gekoppelt mit der Kanalsteuerung 230 über Leitung 258 und kann in einen hochimpedanten Zustand durch ein Signal auf Leitung 256 gebracht werden. Der Datenempfänger 262 ist mit dem Stift über Leitung 264 gekoppelt sowie mit der Kanalsteuerung 230 über Leitung 254. Die Stiftelektronik 266 für Kanal N umfaßt Treiber 274 und Empfänger 276. Der Treiber 274 ist mit der Kanalsteuerung 236 über Leitung 272 gekoppelt und kann in hochimpedanten Zustand durch ein Signal auf Leitung 270 gebracht werden.
  • Die Stiftelektroniken 238, 252, 266 können mit den Kanalsteuerungen 224, 230, 236 über eine Leitung gekoppelt sein, die kodierte Befehle anstelle der in Fig. 2 dargestellten Technik führen. Dies deshalb, weil die Stiftelektroniken sehr dicht an dem Prüfling positioniert sind, um die Integrität der Ansteuer- oder Empfangssignale zu gewährleisten, während der Rest der Elektronik in einem anderen Abschnitt des Testers untergebracht sein kann und mit der Stiftelektronik über ein Kabel gekoppelt sein kann, das relativ lang ist im Hinblick auf die hohen Betriebsgeschwindigkeiten. Die kodierten Signale würden dekodiert werden und dieselben Funktionen ausführen, wie in Fig. 2 dargestellt. Die Einzelheiten einer solchen Anordnung sind Fachleuten bekannt und brauchen hier nicht wiederholt zu werden.
  • Jeder der Stift-RAMs 210, 212, 214 ist mit dem Zentralprozessor 202 über einen Befehlsbus 208 gekoppelt. Der Zentralprozessor 202 ist ferner mit einem Taktgenerator 206 über eine Steuerleitung 204 gekoppelt. Der Taktgenerator 206 erzeugt ein Taktsignal, das auf Leitung 216 liegt und an alle Kanalsteuerschaltungen innerhalb des Testers angekoppelt ist. Der Taktgenerator 206 erzeugt auch ein Synchronisiersignal (nachstehend "synch"), das auf Leitung 218 liegt und auch an alle Kanalsteuerschaltungen in dem Tester angekoppelt ist.
  • Obwohl jeder der Stift-RAMs einen Eingang von einem Bus empfängt, der allen RAMs gemeinsam ist ähnlich der Schaltung nach Fig. 1, ist sorgfältig festzuhalten, daß der gemeinsame Bus in Fig. 2 ein Befehlsbus ist, während der gemeinsame Bus in Fig. 1 ein Adressenbus ist. Der Befehlsbus in Fig. 2 wird vor dem von dem Tester auszuführenden Test verwendet. Während dieser Betriebsphase ist es erforderlich, die während des Tests auszuführenden Befehle in jeden der Stift-RAMs zu laden. Der Zentralprozessor 202 adressiert jeden der Stift-RAMs über nicht gezeigte Mittel und lädt die Befehle, die den gewünschten Test ausführen, in den Stift-RAM. Alternativ könnte der Bus 208 an alle Kanalsteuerteile angeschlossen werden und die Befehle in die Stift-RAMs über die Kanalsteuerteile laden. Die über Befehlsbus 208 gelieferten Befehle könnten von dem Speicher kommen, der dem Zentralprozessor 202 zugeordnet ist, werden jedoch üblicherweise von einem Magnetband oder einer Magnetplatte kommen, obwohl andere Quellen offensichtlich verwendbar wären. Nachdem der Zentralprozessor 202 die Befehle in alle Stift- RAMs des Testers geladen hat, spielt der Befehlsbus 208 keine weitere Rolle beim Betrieb des Testers. Es ist auch festzuhalten, daß der in Fig. 1 gezeigte Tester ebenfalls dieses Mittel der anfänglichen Ladung der Befehle in die Stift-RAMs erfordert, und daß dies wegen der Klarheit der Darstellung in Fig. 1 weggelassen wurde.
  • Nachdem demgemäß einmal der Tester 200 mit dem Testprogramm geladen worden ist, gibt es keine zentralisierte Steuerung mehr über die Adresse, die verwendet wird, um einen Befehl aus dem Stift-RAM zu holen. Die Adresse für jeden Stift-RAM wird übertragen über seinen entsprechenden Adressenbus von seinem entsprechenden Kanalsteuerschaltkreis. Beispielsweise wird im Kanal die Adresse für Stift-RAM 210 geliefert über Adressbus 220 von der Kanalsteuerung 224. Demgemäß ist die Erzeugung der Adresse für Kanal unabhängig von der Adressenerzeugung für alle anderen Kanäle in dem Tester. Dies seinerseits eliminiert die Notwendigkeit, jeden Stift-RAM durchzutakten, um die erforderliche Testsequenz zu erzeugen. Die Kanalsteuerung taktet demgemäß nur den Speicher, wenn es erforderlich ist, um einen neuen Befehl für die Änderung des Zustands des betreffenden Kanals zu erhalten, was erheblich die Menge an Daten herabsetzt, die in dem Tester gespeichert werden müssen, um die Testsequenz zu erzeugen. Der detaillierte Betrieb der Kanalsteuerschaltung wird in Verbindung mit Fig. 3, 4, 5 und 6 beschrieben. Die Fähigkeit, jeden Kanal unabhängig von dem anderen zu betreiben, so daß der Speicher nur getaktet werden muß, wenn es erforderlich ist, einen neuen Testbefehl zu erhalten, um den Betriebszustand des betreffenden Kanals zu modifizieren, macht jeden Kanal nämlich zu einem unabhängigen Tester. Demgemäß kann die Architektur dieses Testers als eine "echte Tester-pro-Stift"- Architektur bezeichnet werden.
  • Jeder Kanal des Testers arbeitet in derselben Weise, wenn auch unabhängig. Indem Kanal als Beispiel gewählt wird, erzeugt die Kanalsteuerschaltung 224 eine Adresse auf Bus 220, wenn es notwendig ist, einen neuen Befehl aus dem Stift-RAM 210 zu holen, um den Betriebszustand des Kanals zu ändern. Der neue Befehl wird zur Kanalsteuerung 224 über Befehlsbus 222 vom Stift-RAM 210 übertragen. Die Kanalsteuerung 224 dekodiert den Befehl um festzulegen, ob der Stift-Treiber 246 zu aktivieren ist oder nicht. Wenn der Treiber 246 zu aktivieren ist, um den Stift in einen hohen oder niedrigen Zustand zu steuern, wird das entsprechende Signal am Eingang des Treibers plaziert, und der Stift wird entweder auf hohen oder niedrigen Zustand gesteuert, wie dies durch den Testbefehl erforderlich ist. Wenn der Treiber nicht zu aktivieren ist, sondern Daten über Empfänger 248 zu empfangen sind, wird ein Signal auf Leitung 242 gelegt, um den Ausgang des Drei-Status-Logik-Treibers 246 in den hochimpedanten Zustand zu bringen. In diesem Zustand hat der Treiber 246 keinen Einfluß auf das Signal, das von dem Datenempfänger 248 empfangen wird. Wenn Daten zu empfangen sind, werden sie verglichen mit dem erwarteten Wert der betreffenden Daten, und die Resultate werden zum Zentralprozessor über nicht dargestellte Mittel übertragen.
  • Obwohl jeder Kanal unabhängig arbeitet, arbeiten alle Kanäle synchron mit einem Taktsignal, das auf Leitung 216 geliefert wird. Das Taktsignal, das in Fig. 2 dargestellt ist, ist ein typisches Taktsignal, das für dieses System verwendet werden kann, beispielsweise eine 100 MHz-Rate mit einem 5 Nanosekunden-Segment im hochliegenden Zustand und einem 5 Nanosekunden-Segment im tiefliegenden Zustand. Dieses Signal wird kontinuierlich erzeugt und alle Speicherzyklen würden auf derselben Anstiegsflanke des Taktsignals auf Leitung 216 auftreten. Eine Synchronisierung ist offensichtlich erforderlich, weil es notwendig ist, daß die Datenänderung entsprechend dem Protokoll (Betriebserfordernisse) der Schaltungen erfolgen, insbesondere bei integrierten Logikschaltungen und Mikroprozessoren, wenn sie auf der elektronischen Schaltungskarte eingesetzt werden. Da das Taktsignal kontinuierlich erzeugt wird, ist es erforderlich, daß die Testsequenz an allen Stiften synchron begonnen oder beendet werden muß. Demgemäß ist eine Leitung 218 vorgesehen mit einem synch-Signal, das vom Taktgenerator 206 unter Steuerung durch den Zentralprozessor 202 über Steuerleitung 204 erzeugt wird. Die Testsequenz beginnt für alle Kanäle mit der Anstiegsflanke des synch- Signals, das in der Mitte einer Taktperiode auftritt, so daß alle Kanäle bei der nächsten Taktflanke starten. Ein Zeitmonitor im Taktgenerator 206 überwacht die Länge des Tests und beendet die Testsequenz durch Änderung des Status des synch-Signals. Es ist festzuhalten, daß zwei kurze Impulse, einer zum Starten des Tests und ein anderer zum Beenden des Tests, anstelle des einzigen langen dargestellten Impulses verwendet werden könnten.
  • Fig. 3 zeigt ein detaillierteres Blockdiagramm einer Kanalsteuerschaltung 224, 230 oder 236, insgesamt mit 300 bezeichnet. Die Kanalsteuerschaltung hat einen RAM-Datendekoder 304, der an den Stift-RAM über den Befehlsbus 302 angekoppelt ist. Dieser Befehlsbus würde dem Bus 222, 228 bzw. 234 in Fig. 2 entsprechen. Der RAM-Datendekoder 304 ist ferner angekoppelt an einen Speicher-Adressgenerator 308 über Leitung 310. Der Speicher-Adressgenerator 308 seinerseits ist mit dem Stift-RAM gekoppelt, wie RAM 210, 212 oder 214 über Adressenbus 306, der z. B. den Bussen 220, 226 oder 232 entsprechen würde. Der RAM-Datendekoder 304 ist mit einem Stift-Steuerschaltkreis 320 über Daten-Busse 312 und 314 gekoppelt. Die Stift-Steuerschaltung 320 ist gekoppelt mit der Stift- Elektronik 334 über Leitungen 322, 324 und 326. Die Stiftelektronik umfaßt einen Stift-Treiber 330, angekoppelt an die Stift-Steuerschaltung 320 über Leitung 326. Der Drei-Zustands-Eingang des Treibers 330 ist gekoppelt mit der Stift-Steuerschaltung 320 über Leitung 324. Die Stift- Steuerung 320 empfängt Daten von dem Datenempfänger 328 über Leitung 322. Der Datenempfänger 328 und der Stift-Treiber 330 sind miteinander verkoppelt über eine Leitung 332, die außerdem gekoppelt ist mit dem entsprechenden Teststift des betreffenden Kanals. Der RAM-Datendekoder 304, der Speicheradressgenerator 308 und die Stift-Steuerung 320 sind verbunden mit dem Taktgenerator 206 über Leitung 316. Der RAM-Datendekoder 304 und der Speicheradressgenerator 308 sind ebenfalls an den synch- Signalgenerator im Taktgenerator 206 über Leitung 318 verbunden.
  • Der RAM-Datendekoder 304 empfängt ein Wort von dem Ausgang des Stift-RAM über Befehlsbus 302. Dieses Wort ist der nächste Befehl in der Testsequenz für den betreffenden Kanal und wird den Betriebszustand des betreffenden Kanals und nur dieses Kanals ändern. Der RAM-Datendekoder 304 dekodiert dieses Wort zum Erzeugen eines Datenwortes, das den Typ von Ereignis bestimmt, das an dem Stift, der mit diesem Kanal des Testers gekoppelt ist, stattfinden wird. Der RAM-Datendekoder 304 dekodiert auch den Befehl zum Erzeugen eines Wortes, das die Zeitlage des Ereignisses bestimmt, wie im einzelnen unten zu erläutern. Eine detaillierte Beschreibung des Betriebes des Dekoders 304 wird unten in Verbindung mit Fig. 4 erfolgen. Die Stiftsteuerung 320 verwendet das Ereignisdatenwort und Zeitlagedatenwort zum Erzeugen von Signalen zu der Stift-Elektronik 334 zum Ansteuern des Stiftes, der mit dem Prüfling verbunden ist, oder zum Empfang von Daten von dem Prüfling. Der Hauptunterschied zwischen der Stiftsteuerung 320 und einem entsprechenden Abschnitt der Kanalsteuerschaltung nach dem Stand der Technik besteht darin, daß die Stiftsteuerung 320 programmierbar ist zum Erzeugen der erforderlichen Zeitlageinformation für jedes Stiftereignis. Beim Stand der Technik wählte die Elektronik eines aus einer vorbestimmten Anzahl von Zeitlagesignalen, die entweder extern für alle Kanäle des Testers erzeugt wurden, oder intern erzeugt wurden für jeden Kanal des Testers gemäß Befehlen, die in jeden Kanal zu Beginn des Tests geladen wurden. Kein System nach dem Stand der Technik besaß demgemäß die Flexibilität, die Zeitlage für jedes Stiftereignis unabhängig von irgendeinem anderen Stiftereignis in der Testsequenz zu haben. Es ist diese Flexibilität, die es dem Tester ermöglicht, genau dem Testmuster zu folgen, das für den Prüfling erforderlich ist, und auch die Speicherherabsetzung ermöglicht, wie oben beschrieben wurde. Die Erzeugung einer typischen Testsequenz für einen Stift eines Testers wird unten in Verbindung mit Fig. 5 und Tabelle 1 diskutiert.
  • Der Speicheradressgenerator 308 erzeugt die Adresse des nächsten Befehls, der dem Stift-RAM für den betreffenden Kanal zu entnehmen ist. Diese Adresse wird mit dem Stift-RAM über Bus 306 gekoppelt, der beispielsweise den Bussen 220, 226 und 232 aus Fig. 2 entspricht. Der Speicheradressgenerator reagiert auf ein Signal vom RAM-Datendekoder 304, angekoppelt über Leitung 310, zum Erzeugen der nächsten Speicheradresse. In der dargestellten Ausführungsform ist eine Wiederholung in der Testsequenz derart, daß ein Teil der Sequenz eine vorbestimmte Anzahl von Malen wiederholt wird, nicht vorgesehen. Dies wird unten in Verbindung mit Fig. 6 diskutiert.
  • Fig. 4 zeigt ein detaillierteres Blockdiagramm des RAM-Datendekoders 304, generell mit 400 bezeichnet. Der Datenbus 302 ist als Bus 402 gezeigt, der, wie dargestellt, 80 Bit breit ist. Die Breite des Datenbusses 402 wird bestimmt durch die Zykluszeit des Stift-RAMs und die Zeitauflösung, die gewünscht wird. Wenn es beispielsweise gewünscht wird, DRAMs mit einer Zykluszeit von 80 Nanosekunden zu verwenden, und wenn eine Auflösung von 1 Nanosekunde pro Bit gewünscht wird, ergibt dies eine Wortbreite von 80 Bit. Obwohl ein langes Wort erforderlich ist, ist das System immer noch sehr kosteneffizient, weil es dem Benutzer ermöglicht, sehr billige DRAM-Memory-Schaltungen zu verwenden. SRAMs haben eine viel schnellere Zykluszeit und ermöglichen damit dem Benutzer eine kürzere Wortlänge, doch ihre höheren Kosten führen zu einem System, das viel weniger kosteneffizient ist. Im Falle von kontinuierlich sich ändernden Stiftereignissen, ermöglicht das 80 Bit-Wort ein Wort auszulesen, so schnell wie der Speicher takten kann, während immer noch die gewünschte Auflösung von 1 Bit des Wortes 1 Nanosekunde der Testsequenz repräsentiert.
  • Das 80 Bit-Wort wird in Schieberegister 404 parallel durch ein Signal auf Leitung 406 eingetaktet. Das Signal auf Leitung 406 wird erzeugt durch die Steuerung 424 in Reaktion auf die Signale auf der Taktleitung 432 und Synchronisierleitung 430. Die Taktleitung 432 entspricht der Taktleitung 216 der Fig. 2, und die synch-Leitung 430 entspricht der synch-Leitung 218 der Fig. 2. Um das Datenwort mit einer Rate von 1 Bit pro Nanosekunde zu verarbeiten, wäre normalerweise ein 1 GHz-Taktsignal erforderlich. Die Erzeugung eines Taktsignals derart hoher Frequenz ist eine schwierige Aufgabe, wie Fachleuten bekannt ist. Darüber hinaus verschärft in einem System, das so umfangreich ist wie ein Tester mit hunderten von Kanälen, die Zeitverschiebungen, eingeführt durch die langen Leitungen der Verkabelung, die erforderlich sind, um dieses Signal von einem Global-Taktgenerator zu jedem der Kanäle zu koppeln, dieses Problem weiter. Die vorliegende Erfindung überwindet dieses Problem durch Verwendung eines 100 MHz-Takts auf Leitung 408 zum Herausschieben eines 10 Bit-Wortes parallel bei jedem Taktübergang. Das 10 Bit-Wort umfaßt zehn aneinandergrenzende Bits des 80 Bit-Wortes, das auf Bus 402 vorhanden ist. Das 10 Bit-Wort wird verschoben in die Logikschaltung 412 über den 10 Bit breiten Bus 410. Das Verschieben eines 10 Bit-Wortes alle 10 Nanosekunden erzeugt die äquivalente Auflösung von 1 Bit pro Nanosekunde, ohne die Notwendigkeit für den 1 GHz- Takt und die ihn begleitenden Probleme. Die Logikschaltung 412 dekodiert die Information des 10 Bit-Wortes, wie auch die Information, die in dem vorhergehenden 10 Bit-Wort vorhanden gewesen sein mag, zum Erzeugen eines 3 Bit-Ereigniswortes auf Bus 416 und eines 4 Bit-Zeitlagewortes auf Bus 414, die zu dem Stiftsteuerschaltkreis 320 gekoppelt werden, wie in Fig. 3 gezeigt. Das 4 Bit-Zeitlagewort auf Bus 414 wird verwendet, um ein Signal von einem Zeitlagegenerator (nicht dargestellt) auszuwählen, der das Ereignis zeitlich gemäß der Position des Befehls in dem 10 Bit-Wort positioniert. Wenn beispielsweise das erste Bit des Befehls, das ein Flaggenbit ist und immer eine "1" ist (siehe Beschreibung der Fig. 5 und Tabelle 1, unten), in der siebenten Position des zehn Bit- Wortes ist, dann wird ein Signal ausgewählt durch Verwenden der 4 Bits zum Ansteuern eines Zehn-Kanal-Multiplexers, der diesen Befehl 7 Nanosekunden nachdem das 10 Bit-Wort von Logikschaltung 412 verarabeitet worden war, startet. Logikschaltkreise, die in der Lage sind, diese Funktion auszuführen, sind im Stand der Technik bekannt und brauchen hier nicht im Detail beschrieben zu werden. Die Art und Weise, in der die Daten kodiert werden zum Erzeugen der gewünschten Ereigniszeitlage, wird in größeren Einzelheiten unten in Verbindung mit Fig. 5 und Tabelle 1 diskutiert. Die Logikschaltung 412 verwendet ein zweiphasiges Taktsignal, das auf Leitung 420 und 422 vorhanden ist, zum Verarbeiten der Information, die ihr vom Bus 410 zugeführet wird. Das Signal auf Leitung 422 ist 1800 außer Phase mit dem Taktsignal auf Leitung 420. Falls das Ereignis auf Bus 416 eine Zeitverzögerung ist (nachstehend als "Anhalten" bezeichnet), wird dies erkannt durch die Dekoderschaltung 418, die dies der Steuerung 424 durch ein Signal auf Leitung 426 signalisiert. Ein Anhalten bewirkt, daß der Wert der Zeitverzögerung (siehe Beschreibung der Fig. 5 und Tabelle 1, unten) in einen programmierbaren Zähler geladen wird, der sich in der Steuerung 424 befindet. Dieser Zähler wird getaktet durch das Taktsignal auf Leitung 432 zum Erzeugen eines Signals auf Leitung 428, das den Betrieb des Speicheradressgenerators 308 für die Dauer dieses Anhaltens abstoppt. Das Programmieren des Anhaltens läßt sich am besten verstehen durch die Beschreibung der Fig. 5 und die untenstehende Tabelle 1.
  • Fig. 5 zeigt ein Signal 500, das repräsentativ ist für eine Ereignissequenz, die man auf einem bestimmten Kanal des Testers wünscht. Es ist dabei zu verstehen, daß es eine Zeitverzögerung gibt in Verbindung mit der Verarbeitung der Kommandos zum Erzeugen dieses Signals, wie auch eine Zeitverzögerung in Verbindung mit der Länge des Drahtes zwischen der Kanalschaltung und dem Stift. Durch sorgfältiges Auslegen des Testers derart, daß die Zeitverzögerung für jeden Kanal identisch ist, beispielsweise 100 Nanosekunden, ist dann jedoch die relative Zeitlage aller Stifte dieselbe, und dieser Faktor kann ignoriert werden. In gleicher Weise versteht es sich, daß die Übergänge zwischen unterschiedlichen Zuständen des Signals nicht in unendlich kurzer Zeit, wie dargestellt in der Zeichnung, erfolgen. Zwecks Illustration wurde angenommen, daß diese Übergänge schnell genug erfolgen, so daß sie als augenblicklich eintretend angesehen werden können. Das Signal 500 ist dargestellt als bei Zeitpunkt null beginnend und fortlaufend bis zu den 450 Nanosekunden der Zeitskala. Diese Zeitskala ist unterteilt in Inkremente von 50 Nanosekunden, und alle Übergänge sind mit der jeweils laufenden Zeit ihres Auftretens bezeichnet.
  • Die Wellenform beginnt beim Zeitpunkt null im hochimpedanten Zustand, wie durch Segment 502 gezeigt. Dieser Zustand ist, wie oben beschrieben, das Resultat des Schaltens des Drei-Zustands-Treibers in seinen hochimpedanten Zustand. Beispielsweise kann in Fig. 2 der Treiber 246 des Kanals in seinen hochimpedanten Zustand gebracht werden durch ein Signal auf Leitung 242. In diesem Zustand legt der Treiber den Stift weder hoch noch niedrig, so daß der Zustand des Stiftes gemessen werden könnte, falls dies gewünscht wird, ohne Interferenz von dem Treiber. Wie im Segment 502 jedoch dargestellt, erfolgt keine Messung. Einundzwanzig Nanosekunden nach dem Beginn des Tests ist gewünscht, daß der Tester den Stift des Prüflings auf einen niedrigen Zustand bringt, wie durch Segment 504 gezeigt. Der Tester bleibt in diesem Zustand während 53 Nanosekunden, die 74 Nanosekunden nach dem Start des Tests entsprechen. Zu diesem Zeitpunkt ist gewünscht, daß der Tester eine Messung bezüglich eines hochimpedanten Zustands durchführt, wie durch Segment 506 dargestellt. In diesem Zustand mißt der Tester bezüglich einer hohen Impedanz auf dem betreffenden Kanal, herbeigeführt durch den Drei-Zustands-Ausgang des Prüfschaltkreises. Der Tester bleibt in diesem Zustand während 88 Nanosekunden bis zu einem Zeitpunkt von 162 Nanosekunden. Bei 162 Nanosekunden nach dem Beginn des Tests wird erwartet, daß der Prüfling den Stift hochsteuert, wie durch Segment 510 dargestellt. Infolge Veränderungen in den Ausbreitungsverzögerungen der Signale innerhalb des Prüflings ist es bekannt, daß eine 17 Nanosekunden-Periode der Ungewißheit, dargestellt als Segment 508, von einer Zeit von 162 Nanosekunden bis zu einer Zeit von 179 Nanosekunden besteht. Die Dauer dieser Unsicherheitsperiode kann beispielsweise durch ein Simulationsprogramm berechnet worden sein, das die Schaltung des Prüflings analysiert. Demgemäß wird die Messung für einen hochimpedanten Zustand bei Beginn dieser Unsicherheitsperiode beendet, und jener Kanal des Testers bleibt im hochimpedanten Zustand und wartet einfach die 17 Nanosekunden ab. Während Segment 510 mißt der Tester, ob die erwartete Hochbedingung an dem Stift vorliegt. Bei 295 Nanosekunden vom Start des Tests wird erwartet, daß der Prüfling die Ansteuerung des Stiftes beendet. Wiederum infolge unterschiedlichen Ausbreitungsverzögerungen der Signale, die schließlich diesen Zustand hervorrufen, besteht eine Unsicherheitsperiode 512 von 40 Nanosekunden von 295 bis 335 Nanosekunden ab Beginn des Tests. Wiederum wird der Kanal die Unsicherheitsperiode abwarten, wobei ihr instruiert wird, in den hochimpedanten Zustand zu gehen. Nach dem Ende der Unsicherheitsperiode bei 335 Nanosekunden nach dem Start des Tests ist es erwünscht, daß der Stift wieder zur Messung bezüglich des hochimpedanten Zustandes zurückkehrt, wie durch Segment 514 dargestellt. Der Tester bleibt in diesem Zustand während 87 Nanosekunden bis zu 422 Nanosekunden vom Beginn des Tests, an welcher Stelle es erwünscht ist, daß der Tester den Stift des Prüflings ansteuert, wie durch Segment 516 gezeigt.
  • Die Tabelle 1 listet die Befehle auf, die erforderlich sind, um das Signal 500 gemäß Fig. 5 zu erzeugen. Die notwendigen Befehle erfordern zwei vollständige 80 Bit-Worte, die mit Wort 1 und 2 bezeichnet sind, und einen Abschnitt eines dritten Wortes, das mit Wort 3 bezeichnet ist. Diese Worte sind die 80 Bit-Worte, die von dem Stift-RAM erzeugt werden und auf dem Datenbus 402, dargestellt in Fig. 4, erscheinen. Zur Klarheit der Darstellung ist jedes der Worte in acht 10 Bit-Segmente aufgespalten worden, die mit a bis h bezeichnet sind, wobei jedes der Bits in den Segmenten mit bis 9 markiert ist. Diese Segmente entsprechen den 10 Bit-Segmenten, die aus dem Schieberegister 404 auf Bus 410 in Fig. 4 herausgeschoben würden. Zusätzlich wurden Klammern um Gruppen von 5 Bits dargestellt, die als "Pakete" bekannt sind, welche Befehle oder Daten umfassen, die durch die Logikschaltung 412 in Fig. 4 interpretiert werden. Der Klarheit halber sind fünf Buchstaben-Mnemonics substituiert worden für die 5 Bits dieser Pakete, welche Befehle repräsentieren. Es sollte auch festgehalten werden, daß die Verwendung einer kontextabhängigen Kodiertechnik ermöglicht, daß diese Instruktionen unter Verwendung von nur 3 Bits kodiert werden, wobei die anderen Bits für zukünftige Zwecke reserviert bleiben. Diese kontextabhängige Kodierung wird unten in Verbindung mit Tabelle 2 beschrieben. Es ist auch zu verstehen, daß die Klammern als eine Hilfe für den Leser erscheinen für die Identifizierung der Pakete und offensichtlich im Bit-Strom nicht erscheinen. Jedem Paket geht immer eine "1" voraus, was das Vorhandensein des Paketes dem Dekoder anzeigt. Demgemäß erfordert ein Paket tatsächlich 6 Bits.
  • Gemäß Fig. 5 und Tabelle 1 werden wir nun sehen, wie die Befehle der Tabelle 1 eingesetzt werden, um die gewünschte Testsequenz nach Fig. 5 zu erzeugen. Der Tester startet die Testsequenz in seinem hochimpedanten Zustand, repräsentiert durch Segment 502. Dies wird programmiert in den Kanalsteuerschaltkreis mittels nicht dargestellter Mittel, bevor der Test durchgeführt wird. Der erste Wechsel in der Testsequenz erscheint 21 Nanosekunden nach dem Start des Tests. Demgemäß wird der Tester instruiert, im hochimpedanten Zustand für die ersten 21 Nanosekunden zu bleiben. Wie oben dargelegt, repräsentiert jedes Bit des Befehlswortes 1 Nanosekunde der Testsequenz. Demgemäß benutzt eine 21 Nanosekunden lange Verzögerung 21 Bits. Die ersten 10 Bits der Testsequenz sind jene des Segmentes a von Wort 1 in Tabelle 1. Dieses Segment besteht sämtlich aus Nullen. In ähnlicher Weise besteht das Segment b von Wort 1 sämtlich aus Nullen. Diese beiden Segmente liefern eine Gesamtheit von 20 Nanosekunden Verzögerung. Das erste Bit, Bit von Segment c, ist eine 0, die die fehlende Nanosekunde der 21 Nanosekunden Verzögerung liefert. Das zweite Bit von Segment c, Bit Nummer 1, ist eine 1 und damit eine Flagge zur Anzeige, daß die nächsten 5 Bits ein Paket sind. Dieses Paket, identifiziert durch die Klammern, enthält den digitalen Kode für den Befehl "geh tief", hier illustriert als Mnemonic "GOLOW". Dieser Befehl wird dekodiert durch die Logikschaltung 412 der Fig. 4 zum Erzeugen eines 3 Bit-Kodes auf Bus 416, welches den Kanalsteuerschaltkreis aktivieren wird, um die Stiftelektronik für den betreffenden Kanal anzuweisen, den Stift dieses Kanals niedrig zu steuern. TABELLE 1 Bits Segmente WORT
  • Der Tester fährt fort, den Stift auf einen niedrigen Zustand zu steuern während einer Periode von 53 Nanosekunden. Demgemäß wird der nächste Befehl, den Zustand des Stiftes zu ändern, während 53 Nanosekunden nicht auftreten. Die begleitende Zeitverzögerung könnte produziert werden durch Einfügen von Nullen, wie dies für die 21 Nanosekunden Verzögerung zwischen dem Start des Tests und dem Befehl für den Tester, den Stift niedrig zu steuern, der Fall war. Diese Zeitverzögerung wird hier jedoch herbeigefügt durch eine zweite Technik, die brauchbarer ist für längere Verzögerungszeiten, da sie eine erheblich verringerte Anzahl von Bits für eine lange Zeitverzögerung einsetzt. Nach dem Paket, das den Befehl "GOLOW" enthielt, gibt es drei zusätzliche Pakete an die Information. Das erste Paket enthält die Instruktion, daß ein "Anhalten" auftritt, hier illustriert durch das Mnemonic "HDOFF". Das zweite und dritte Paket enthalten die Länge an Zeit für das Anhalten in 10 Nanosekunden-Intervallen. Das Paket, das die Bits 4 bis 8 des Segmentes d enthält, führt keine Zeitverzögerung ein, während das Paket, das die Bits bis 4 des Segmentes e enthält, eine Zeitverzögerung von 20 Nanosekunden einführt. Dieser Serie von Paketen folgen neun Nullen, welche eine weitere Zeitverzögerung von 9 Nanosekunden einführen, wobei 1 Bit 1 Nanosekunde in der zeitlichen Sequenz entspricht. Auf den ersten Blick würde es scheinen, daß nur eine 29 Nanosekunden Verzögerung durch diese Serie von Befehlen eingeführt worden ist. Es ist jedoch daran zu erinnern, daß jedes Bit in den Befehlen 1 Nanosekunde in der zeitlichen Sequenz repräsentiert. Wenn wir mit der Bit Nummer 1 des Segments c starten und die Anzahl von Bits zählen bis Bit Nummer 4 des Segments e, können wir sehen, daß die Befehle selbst 24 Bits verwenden. Diese 24 Bits repräsentieren eine Zeitverzögerung von 24 Nanosekunden, unabhängig von den 29 Nanosekunden Verzögerung, die durch die Befehle eingeführt werden, und die Nullen für eine Gesamtheit von 53 Nanosekunden der zeitlichen Verzögerung. Es ist festzuhalten, daß die Verwendung dieser Technik es ermöglicht, eine Verzögerung von 53 Nanosekunden einzuführen unter Verwendung von nur 27 zusätzlichen Bits. Es muß aber festgehalten werden, daß dies der schlechteste Fall ist bezüglich der Anzahl von erforderlichen Bits, d. h. neun Nullen waren erforderlich nach dem Anhaltebefehl, um die richtige Verzögerung zu erhalten. Es versteht sich, daß die 10 Bits in den beiden Paketen, die dem Anhaltekommando folgen, theoretisch ermöglichen, Zeitverzögerungen bis zu 2¹&sup0; = 1,024 zehn Nanosekunden Verzögerungen oder 10.240 Nanosekunden ermöglichen.
  • Längere Zeitverzögerungen können geschaffen werden durch Erhöhung der Anzahl von Paketen, die verwendet werden zum Bezeichnen der Anhaltezeit. Die Bedeutung dieser Technik besteht darin, daß 3 Pakete plus ein Maximum von 9 Bits, was 27 Bits entspricht, alles ist, was erforderlich ist für irgendeine Zeitverzögerung bis zu 10.240 Nanosekunden, die in einer Testsequenz auftauchen können. Dies bedeutet, daß es keine Notwendigkeit gibt, den Speicher mehrmals zu durchlaufen, um nur noch einen weiteren Null-Betriebbefehl zu empfangen. Auf diese Weise trägt dies zur Kompression einer Anzahl von Befehlen bei, erforderlich zum Ausführen eines bestimmten Testprogramms. Die einzige praktische Beschränkung besteht darin, daß die minimale Zeitverzögerung 3 Pakete an Information umfaßt oder 18 Bits, was 18 Nanosekunden entspricht. Verzögerungen, die kürzer sind als 18 Nanosekunden, erfordern die Verwendung einer Folge von Nullen zum Erzeugen dieser Zeitverzögerung.
  • Am Ende der 53 Nanosekunden Verzögerung steht der Tester bei Bit Nummer 4 des Segments f, was der Start eines Paketes ist, um dem Tester zu befehlen, die Messung des Vorhandenseins eines hochimpedanten Zustandes zu machen, die hier angedeutet wird durch das Mnemonic "MSHIZ". Der Tester muß in diesem Zustand bleiben für eine Periode von 88 Nanosekunden. Diese Zeitverzögerung wird eingeleitet durch das Paket, das mit dem 1 Bit bei Segment g, Bit Nummer , beginnt. Dieses Paket initiiert ein Anhalten mit einer Zeitverzögerung, definiert durch die nächsten beiden Pakete, beginnend als Segment g, Bit Nummer 6 und Segment h, Bit Nummer 2. Das erste Paket hat eine Zeitverzögerung von 0 und das zweite Paket hat eine Zeitverzögerung von 6 oder 60 Nanosekunden. Die Befehle selbst nehmen 24 Bits ein oder 24 Nanosekunden für eine Gesamtzeitverzögerung von 84 Nanosekunden. Um die erforderlichen 88 Nanosekunden Zeitverzögerung zu erhalten, werden vier Nullen addiert bei Segment h, Bits 8 und 9 und in Wort 2, Segment a, Bits und 1.
  • Bei 162 Nanosekunden vom Beginn des Tests gelangt dieser in die erste Unsicherheitsperiode von 17 Nanosekunden. Zu Beginn dieser Zeitperiode wird dem Tester befohlen, das Messen hinsichtlich des hochimpedanten Zustandes zu beenden, angedeutet durch das Mnemonic "SMHIZ" im Paket, das bei Wort 2, Segment a, Bit 2 startet. Dieser Befehl plaziert den Kanal in den hochimpedanten Zustand und erfordert 6 Bits oder 6 Nanosekunden Zeit. Deshalb folgen ihm 11 Nullen, um die 17 Nanosekunden Verzögerung zu erzeugen. Es ist festzuhalten, daß die Anhaltetechnik hier nicht verwendet werden kann, weil diese Technik ein Minimum von 18 Nanosekunden Verzögerung herbeiführt. Wort 2, Segment b, Bit 9 ist das Bit, das ein weiteres Paket signalisiert, das den Befehl für den Tester enthält, ein Hochsignal zu messen, das von dem Prüfling erwartet wird. Dies ist in diesem Paket als Mnemonic "MSFHI" indiziert. Der Tester bleibt in diesem Zustand während einer Dauer von 116 Nanosekunden. Diese Zeitverzögerung wird geschaffen durch ein Anhalten, beginnend mit Wort 2, Segment c, Bit 5. Der Wert des Anhaltens wird indiziert durch das Paket, das bei Wort 2, Segment d, Bit Nummer 7 beginnt, was einen Wert von 9 oder 90 Nanosekunden hat. Diese Befehle benötigen 4 Pakete oder 24 Bits, was eine Zeitverzögerung von 24 Nanosekunden bedeutet. Die 24 Nanosekunden und die 90 Nanosekunden, herbeigeführt durch das Anhalten, liefern eine Warteperiode von 114 Nanosekunden. Deshalb folgen den 4 Paketen 2 Nullen, welche die übrigen 2 Nanosekunden der erforderlichen 116 Nanosekunden Zeitverzögerung bewirken.
  • Am Ende von Segment 510 bei 295 Nanosekunden nach dem Beginn des Tests wird von dem Prüfling erwartet, daß er das Ansteuern beendet. Wegen der Variationen in den Ausbreitungsverzögerungen der Signale innerhalb des Prüflings jedoch ist es bekannt, daß es eine 40 Nanosekunden-Periode der Unsicherheit gibt, dargestellt als Segment 512, zur Zeit von 295 bis zur Zeit 335 Nanosekunden nach dem Start des Tests. Der nächste Befehl, der mit Wort 2, Segment e, Bit 5 beginnt, besteht darin, die Hoch-Messung zu beenden, angedeutet durch das Mnemonic "SMSHI", so daß der Kanal im hochimpedanten Zustand bleibt. Diesem folgt ein Informationspaket, das ein Anhalten für 10 Nanosekunden vorgibt, gefolgt von 6 Nullen zum Vervollständigen der 40 Nanosekunden Verzögerung, welche die Unsicherheitsperiode 512 ausmacht. Die 4 Pakete, die die Befehle bilden zum Erzeugen dieser Zeitperiode benötigen 24 Bits oder 24 Nanosekunden. Die 10 Nanosekunden Zeitverzögerung, erzeugt durch das vierte Paket und die 6 Nanosekunden Zeitverzögerung, hervorgerufen durch die 6 Nullen, komplettieren die 40 Nanosekunden Zeitverzögerung.
  • Am Ende dieser Unsicherheitsperiode, bei 335 Nanosekunden vom Beginn des Tests, wird dem Tester befohlen, in den Meßzustand zu gehen zum Erfassen eines hochimpedanten Zustands, um das Segment 514 zu erzeugen. Das Paket, das diesen Befehl enthält, beginnt mit den letzten 5 Bits des Wortes 2 und endet mit dem ersten Bit des Wortes 3. Der Befehl wird wieder angezeigt durch das Mnemonic "MSHIZ". Dem Befehl folgt ein Paket, beginnend mit Wort 3, Segment a, Bit 1, womit ein Anhalten gestartet wird, bestimmt durch die folgenden beiden Pakete auf 60 Nanosekunden. Die 4 Pakete benötigen 24 Bits oder 24 Nanosekunden, welche mit den 60 Nanosekunden Anhalteperiode und den 3 Nullen, welche den 4 Paketen folgen, die 87 Nanosekunden Zeitverzögerung für das Segment 514 ergeben.
  • Bei 422 Nanosekunden nach dem Start des Tests steuert der Tester den Prüfling an, wie durch Segment 516 gezeigt. Der Befehl beginnt bei Wort 3, Segment c, Bit 2 und wird indiziert durch das Mnemonic "GOHIG" für geh nach hoch. Die 2 Nullen, welche das Segment c des Wortes 3 vervollständigen, sind nur illustrativ, da das Ende des Segments 516 nicht gezeigt ist.
  • Auf diese Weise wird eine Testsequenz erzeugt, die acht separate Zustände für den betreffenden Kanal des Testers umfassen und mehr als 422 Nanosekunden benötigen, um nur 190 Bits gespeicherter Befehle zu verarbeiten. Darüber hinaus werden die Operationen auf dem betreffenden Kanal des Testers vollständig unabhängig von irgendwelchen anderen Kanälen des Testers durchgeführt. Demgemäß kann jener Kanal des Testers getrennt programmiert werden von allen anderen Kanälen des Testers, und das Programm kann exakt dem gewünschten Testmuster für den betreffenden Kanal innerhalb der nächstgelegenen Nanosekunde folgen. Es gibt nämlich zwei "Reserve"-Bits in den 5 Bit-Paketen, die nicht erforderlich sind, um den auszuführenden Befehl zu identifizieren. Diese "Reserve"-Bits könnten ausgenutzt werden als eine Vernier-Funktion zum Bewirken einer Auflösung herunter bis zu den nächsten 250 Picosekunden. Offensichtlich könnte diese Technik expandiert werden, um nahezu jede gewünschte Auflösung zu erzielen.
  • Das Entfallen der Kompromisse zwischen den Operationen der verschiedenen Kanäle, und die Möglichkeit, beinahe jede gewünschte Auflösung zu erzielen, ermöglichen, daß das Programm für einen bestimmten Test von einem Rechner erzeugt wird. Typischerweise wird der Schaltungsaufbau des Prüflings analysiert durch ein Simulationsprogramm, daß die tatsächlichen Operationen der Schaltung simuliert unter Anwendung von typischen und schlechtesten Toleranzen der Komponenten. Die Ausgänge eines solchen Simulationsprogramms können nun verwendet werden durch ein anderes Programm zum Erzeugen einer Testsequenz für den Prüfling, die direkt in den funktionellen Tester eingegeben werden kann. Dies spart ein erhebliches Maß an Programmierzeit, ermöglicht den einfachen Wechsel im Programm wegen letzter Änderungen in der Schaltung oder Änderungen in den Toleranzen der Komponenten, und eliminiert die Notwendigkeit für manuelle Eingriffe, die zu Fehlern in der Testsequenz führen können. Das Ergebnis ist ein besserer Test, der viel schneller und für weit geringere Kosten programmiert wird.
  • Eine andere Technik für die Verringerung der Menge an gespeicherten Befehlen, die erforderlich sind, um eine Testsequenz zu erzeugen, ist die Verwendung von Schleifen. In einer Testschleife wird eine gegebene Sequenz von Befehlen eine vorgegebene Anzahl von Malen auf einem bestimmten Kanal wiederholt. Beispielsweise ändert ein Taktsignal seinen Zustand mit einer regelmäßigen Frequenz. Wenn man annimmt, daß der Hoch-Zustand und der Tief-Zustand des Taktsignals identisch sind, dann umfaßt ein Programm für das Erzeugen eines kontinuierlichen Taktsignals nur drei Befehle. Der erste Befehl ist "ändere den Zustand". Der zweite Befehl liefert eine geeignete Zeitverzögerung für die Dauer der Zeit eines halben Taktzyklus, und der dritte Befehl sagt, geh zurück zum ersten Befehl. Man vergleiche dies mit einer Serie von Befehlen, welche die dauernde Änderung des Zustands und konstante Verzögerung für die gesamte Testsequenz schaffen würde. In den meisten Fällen kann die
  • Anzahl von erforderlichen Befehlen nicht so stark verringert werden, wie dies bei einem Taktgeber möglich ist, doch kann diese Technik verwendet werden zum Herabsetzen der Programmierarbeit für bestimmte Abschnitte der Testsequenz für den betreffenden Kanal.
  • Eines der Probleme bei der Verwendung von Schleifendurchläufen besteht beim Stand der Technik darin, daß SRAMs verwendet werden müssen, die relativ teuer sind. Dies ist deshalb so, weil es nicht möglich ist, das Auffrischen von DRAMs in einer Schleifendurchlaufsituation zu garantieren. Bei DRAMs ist jedes Informationsbit typischerweise in einer zweidimensionalen Matrix gespeichert mit "horizontalen" Zeilen und "vertikalen" Spalten. Die Information wird typischerweise als eine Ladung gespeichert, die präsent ist an der betreffenden Stelle der Matrix während einer sehr kurzen Zeitperiode, typischerweise 4 Millisekunden. Der Speicher muß "wieder aufgefrischt" werden durch Nachladen des Kondensators, der einen Speicher für das betreffende Bit bildet, und zwar mindestens so oft wie die Minimal zeit. Dies erfordert Zugang zu der "horizontalen" Zeile mindestens ebenso oft, was alle Bits in der Zeile wieder auffrischt. Durch richtiges Auslegen des Testers kann man garantieren, daß alle Zeilen angesteuert werden innerhalb einer gegebenen Zeitperiode, unter der Voraussetzung, daß das Programm in linearer Weise fortschreitet. Wenn jedoch das Programm Schleifendurchlauf vorsieht, kann dies nicht garantiert werden, und demgemäß könnte das Programm verlorengehen. SRAMs erfordern keine Wiederauffrischung, was das Problem eliminiert, jedoch zu wesentlich höheren Kosten pro Speicherbit.
  • Die vorliegende Erfindung ermöglicht den Einsatz von DRAMs mit "Schleifenrücklauf". Schleifenrücklauf bedeutet, daß die Schleifen nur zu einem vorhergehenden Befehl zurückkehren können und nicht zu einem zukünftigen Befehl springen können. Unter dieser einen Voraussetzung kann ein Tester aufgebaut werden, der DRAMs verwendet, bei denen Schleifendurchlauf zulässig ist.
  • Fig. 6 zeigt ein detailliertes Blockdiagramm einer Kanalsteuerschaltung, ähnlich der Kanalsteuerschaltung nach Fig. 3, insgesamt mit 600 bezeichnet. Jene Merkmale, die dieselben sind wie die Merkmale, die in Fig. 3 gezeigt wurden, sind mit denselben Bezugszeichen markiert, mit Ausnahme der ersten Ziffer, die in 6 geändert wurde. Der Kanalsteuerschaltkreis 600 könnte der Kanalsteuerschaltkreis 224, 230 oder 236 aus Fig. 2 sein. Der RAM-Datendekoder, die Stiftsteuerung, die Stiftelektronik und der Speicheradressgenerator sind identisch mit jenen, die in Fig. 3 gezeigt sind. Demgemäß hat der Kanalsteuerschaltkreis einen RAM-Datendekoder 604, der gekoppelt ist mit dem Stift-RAM über Befehlsbus 602. Der Befehlsbus würde dem Bus 222, 228 oder 234 in Fig. 2 entsprechen. Der RAM-Datendekoder 604 ist ferner gekoppelt mit einem Speicheradressgenerator 608 über Bus 610. Es ist festzuhalten, daß in Fig. 3 Leitung 310 eine einzige Steuerleitung umfaßte, während in Fig. 6 dies ein mehrere Bit breiter Bus ist. Der Speicheradressgenerator ist seinerseits gekoppelt mit dem Stift-RAM, wie etwa RAM 210, 212 oder 214 über Adressbus 606, der beispielsweise den Bussen 220, 226 oder 232 in Fig. 2 entspricht. Der RAM-Datendekoder 604 ist gekoppelt mit einem Stiftsteuerschaltkreis 620 über Datenbusse 612 und 614. Der Stiftsteuerschaltkreis 620 ist gekoppelt mit der Stiftelektronik 664 über Leitungen 622, 624 und 626. Die Stiftelektronik umfaßt einen Stift-Treiber 630, angekoppelt an den Stiftsteuerschaltkreis 620 über Leitung 626. Der Dritt-Zustands-Eingang des Treibers 630 ist gekoppelt mit dem Stiftsteuerschaltkreis 620 über Leitung 624. Die Stiftsteuerung 620 empfängt Daten vom Datenempfänger 628 über Leitung 622. Der Datenempfänger 628 und der Stift-Treiber 630 sind zusammengekoppelt über Leitung 632, die außerdem gekoppelt ist mit dem entsprechenden Prüfstift des betreffenden Kanals. Der RAM-Datendekoder 604, Speicheradressgenerator 608 und Stiftsteuerung 620 sind verbunden mit dem Taktgenerator 206 über Leitung 616. Der RAM-Datendekoder 304 und der Speicheradressgenerator 608 sind außerdem angeschlossen an den synch- Signalgenerator und Taktgenerator 206 über Leitung 618.
  • Zusätzlich umfaßt der Kanalsteuerschaltkreis 600 einen Cache- Speicher 640, angekoppelt an den RAM-Datendekoder 604 über einen Zweirichtungsbus 636 und gekoppelt mit dem Speicheradressgenerator 608 durch Bus 638.
  • Das Programmieren eines Schleifendurchlaufs erfordert, daß die Adresse sowohl des ersten als auch des letzten Befehls in der Schleife, wie auch die Anzahl von Malen, in der die Schleife zu durchlaufen ist, in dem Speicheradressgenerator 608 abgespeichert wird. Für die allererste Schleife in einer Testsequenz wird diese Information bereitgestellt durch den Speicheradressgenerator vor dem Start des Tests, durch Mittel, die nicht dargestellt sind. Wenn der Speicheradressgenerator die erste Adresse der Schleife erreicht, speichert er diesen Befehl und alle folgenden Befehle in dem Cache-Speicher 640, bis der letzte Befehl in der Schleife erreicht ist. Diese Befehle werden bereitgestellt vom RAM-Datendekoder 604 über Bus 636 zum Cache-Speicher unter Steuerung der Adresse, die auf Bus 638 erzeugt wird. Wenn der letzte Befehl in der Schleife erreicht ist, wird der Speicheradressgenerator die Befehle wiederholen, die im Cache-Speicher abgelegt sind, für die Anzahl von Malen, welche programmiert worden sind. Dies umfaßt das Erzeugen einer Adresse auf Bus 638, was den Cache-Speicher dazu bringt, die Befehle zurück über den Zweirichtungsbus 636 in den RAM-Datendekoder 604 zu senden. Während des Schleifendurchlaufs dekodiert der RAM-Datendekoder die Befehle, die auf Bus 636 eintreffen, anstatt die Befehle auf Bus 602. Ein zusätzliches Wort wird jedoch aus dem Stiftspeicher über Bus 602 in den RAM-Datendekoder 604 gelesen und von dort über Bus 610 in den Speicheradressgenerator 608. Dieses Wort, das 80 Bits umfaßt, wird verwendet, um den Speicheradressgenerator 608 bezüglich des ersten und des letzten Befehls zu instruieren, und bezüglich der Anzahl von Wiederholungszyklen für die nächste Schleife in dem Programm. Da dieser Befehl zugänglich gemacht werden kann, während der RAM-Datendekoder außerhalb der Befehle im Cache-Speicher dekodiert, ist er für das Programm "transparent", d. h. er beeinflußt nicht die Zeitlage des betreffenden Kanals. Dies trifft sogar zu, obwohl die Befehle in Sequenz in demselben Speicher sind wie die Befehle für das Ausführen des Tests.
  • Wenn der Schleifenzyklus lang genug ist, so daß Daten, die in den Stift-RAMs gespeichert sind, verlorengehen könnten infolge fehlender Wiederauffrischung des Speichers, wird ein Wiederauffrischzähler in dem Speicheradressgenerator 608 aktiviert zum Erzeugen von "Modelladressen", die verwendet werden, um den Stift-RAM wieder aufzufrischen. Diese Modelladressen adressieren jede der "horizontalen" Zeilen in den Stift-RAMs zum Wiederauffrischen der Daten. In einem Stift-RAM mit einer minimalen Wiederauffrischzeit von 4 Millisekunden und mit 1.024 "horizontalen" Zeilen muß eine der Zeilen etwa alle 4 Mikrosekunden addressiert werden, um die Gültigkeit der Daten zu garantieren. Wenn demgemäß sich der Schleifenzyklus einer Dauer von 4 Mikrosekunden nähert, würde der Wiederauffrischzähler aktiviert. Für kürzere Schleifen ist es nicht erforderlich, die Wiederauffrischfunktion auszuführen. Dieser Wiederauffrischzyklus wird auch eingesetzt während eines längeren Anhaltezyklus, um den Verlust von Daten in den Stift-RAMs zu vermeiden.
  • Es ist auch festzuhalten, daß Schleifen, die in ihrer Länge unbeschränkt sind, selbst trotz der Anzahl von Befehlen, die für die Schleife erforderlich sind, nicht in den Cache-Speicher passen. In diesem Falle läuft der RAM-Datendekoder von dem Cache-Speicher, bis die Anzahl von Befehlen in dem Cache-Speicher verbraucht ist, wenn man zu den Befehlen in dem Stift-RAM zurückkehrt, um die Schleife zu vollenden. Dies löst das Problem, augenblicklichen Zugang zu dem nächsten Befehl haben zu müssen, was nicht eintreten kann wegen der ziemlich langen Zykluszeit von DRAMs, wie auch die erforderliche Zeit bereitgestellt wird, um die Adressen zu holen und zu laden und die Anzahl von Zyklen für die nächste Schleife.
  • Wenn die Startadresse für die nächste Schleife in dem Zyklus erreicht wird, werden diese Befehle in den Cache-Speicher geladen durch den Speicheradressgenerator 608, bis der letzte Befehl in der Schleife erreicht ist, wenn der oben beschriebene Prozeß wiederholt wird.
  • Eine andere Technik für die Verringerung der benötigten Menge an Stift-RAM ist die Verwendung von kontextabhängiger Kodierung. Bei der Erörterung der Fig. 5 wurde erwähnt, daß nur 3 Bits aus einem 5 Bit- Paket verwendet werden, um einen bestimmten Befehl des Testers zu bezeichnen. Die anderen 2 Bits des Pakets sind Reservebits, die ausgenutzt werden können beispielsweise zum Bereitstellen einer 250 Picosekunden- Auflösung, wenn dies gewünscht wird. Wie jedoch Fachleute ohne weiteres erkennen, ermöglicht die Verwendung von 3 Bits zum Bezeichnen eines Befehls nur acht mögliche Befehle. Dies ist viel zu wenig zum Ermöglichen eines normalen Testerbetriebes. Kontextabhängiges Kodieren eliminiert dieses Problem.
  • Tabelle 2 zeigt die acht möglichen Befehle, mit 0 bis 7 bezeichnet, für jeden von vier möglichen Vorrichtungszuständen Bis jetzt wurde auf die Zustände am Stift des Prüflings abgehoben. Jeder Kanal des Testers arbeitet als ein unabhängiger Tester. Jeder dieser Kanäle umfaßt eine finite Zustandsvorrichtung, welche zugeteilte Aufgaben ausführt. Finite Zustandsvorrichtungen sind im Stand der Technik bekannt und brauchen hier nicht beschrieben zu werden. Um jedoch Konfusion zwischen den Stift-Zuständen und den Vorrichtungszuständen zu vermeiden, sollen die letzteren alle in Großbuchstaben geschrieben werden, beispielsweise: TREIBERZUSTAND. In Tabelle 2 haben die Befehle mit der gleichen Befehlsnummer in jedem der Zustände denselben Binärkode, d. h. binär 0 bis binär 7. Rechts von den Befehlsnummern und den Binärzahlen ist eine Beschreibung gegeben, wie der betreffende Kode durch den Tester interpretiert wird. Wenn man diese Befehle für die verschiedenen Zustände vergleicht, erkennt man, daß derselbe Binärkode als unterschiedliche Befehle interpretiert wird, abhängig von dem Zustand, in welchem sich der betreffende Kanal des Testers gerade befindet. Demgemäß macht der Tester Gebrauch vom Kontext des Testerbetriebes bei der Dekodierung der Befehle. Beispielsweise hat der Befehl Nummer 0 mit Binärkode "000" die Bedeutung "gehe in ANSTEUERUNGSZUSTAND" im HOCHIMPEDANTEN Zustand. Wenn man jedoch bereits im ANSTEUERUNGSZUSTAND wäre, würde dieser Befehl keinen Sinn ergeben. Im ANSTEUERUNGSZUSTAND bedeutet derselbe Befehl binär "000" "in hohen Eingang umschalten und im ANSTEUERUNGSZUSTAND bleiben". Demgemäß bewirkt diese kontextabhängige Kodierung eine verringerte Anzahl von Bits für die Bezeichnung eines bestimmten Befehls durch Ausnutzung des Zustandes des betreffenden Kanals des Testers, nämlich als Teil des Kodes. Dies verringert die Anzahl von Bits, die erforderlich sind für eine gegebene Anzahl möglicher Befehle. Wenn beispielsweise ein Tester acht mögliche Zustände hat, von denen jeder acht mögliche Befehle hat, gibt es vierundsechzig mögliche Befehle. TABELLE 2 Befehlsnummer Binärkode Befehl HOCHIMPEDANTER (HIZ) Zustand geh in ANSTEUERUNGS-Zustand nächstes Paket enthält einen Anhaltezählstand, bleibe im HIZ-Zustand mögliche Schleife, Teste bezüglich niedrig, im HIZ-Zustand bleiben mögliche Schleife, testen bezüglich hoch, im HIZ-Zustand bleiben mögliche Schleife, kein Test, im HIZ-Zustand bleiben Messen bezüglich niedrig, Eingabe MESS-Zustand Messen bezüglich hoch, Eingabe MESS-Zustand geh in MESSEN BEZÜGLICH HIZ-Zustand ANSTEUERUNGS-Zustand Umschalten des Hochausgangs, bleiben im ANSTEUERUNGS-Zustand nächstes Paket enthält einen Anhaltezählstand, im ANSTEUERUNGS-Zustand bleiben mögliche Schleife, kein Test, im ANSTEUERUNGS-Zustand bleiben geh in HIZ-Zustand, Ausgang umschalten geh in HIZ-Zustand, Ausgang unverändert geh in MESSEN BEZÜGLICH HIZ-Zustand, Ausgang umschalten geh in MESSEN BEZÜGLICH HIZ-Zustand, Ausgang unverändert Reserve TABELLE 2 (Forts.) Befehlsnummer Binärkode Befehl MESSUNG- Zustand Überprüfen bezüglich keiner Übergänge Überprüfen bezüglich eines Übergangs nächstes Paket enthält einen Anhaltezählstand, im MESSUNG-Zustand bleiben mögliche Schleife geh in ANSTEUERUNGS-Zustand geh in HIZ-Zustand geh in MESSUNG BEZÜGLICH HIZ-Zustand Reserve MESSUNG BEZÜGLICH HIZ-Zustand geh in HIZ-Zustand geh in ANSTEUERUNGS-Zustand nächstes Paket enthält einen Anhaltezählstand, im MESSUNG BEZÜGLICH HIZ-Zustand bleiben mögliche Schleife Reserve
  • Dies würde normalerweise 5 Bits oder alle Bits in einem Paket erfordern, um diese Befehle zu kodieren. Gemäß der vorliegenden Erfindung werden 2 Bits freigemacht für die Anwendung für andere Zwecke, wie etwa eine größere zeitliche Auflösung, ohne irgendeinen Verlust in der Möglichkeit, den Tester in verschiedene Zustände zu steuern.
  • Wenn man die Befehle in Tabelle 2 vergleicht mit den Mnemonics in Tabelle 1, erkennt man, daß es keine genaue Passung gibt. Beispielsweise erscheint der erste Befehl in Tabelle 1 bei Wort 1, Segment c, Bits 2 bis 6, "GOLOW". Einen solchen Befehl gibt es nicht in Tabelle 2. Dies deshalb, weil der Tester Gebrauch macht von der Tatsache, daß Drei-Zustands-Logik verwendet wird. Bei diesem Logiktyp überspielt die Aktivierung des hochimpedanten Ausgangs den Eingang zu dem Treiberschaltkreis, und der Treiberausgang bleibt im hochimpedanten Zustand. Deshalb ist der Treiber in dem hochimpedanten Zustand unabhängig von dem Signal an seinem Signaleingang. Vor dem Beginn des Tests, der in Tabelle l illustriert ist, wird der Kanal programmiert, sowohl in den HOCHIM- PEDANZ-Zustand zu gehen, als auch einen niedrigen Ausgang zu liefern. Der HOCHIMPEDANZ-Zustand dominiert, und der Ausgang geht auf den Hochimpedanzwert. Wenn der erste Befehl in dem Test, daß der Ausgang auf niedrig gehen soll, erreicht wird, wäre der tatsächliche eingesetzte Befehl binär "000". Da der Tester sich im HOCHIMPEDANTEN Zustand befindet, wird dieser Befehl interpretiert als "geh in ANSTEUERUNGS-Zustand". Sobald der Tester den HOCHIMPEDANZ-Zustand verläßt, wird dieses überspielen ausgelöscht, und der Treiber steuert den Stift niedrig an. Der nächste Befehl in Tabelle 1 ist für den Kanal des Testers bezüglich einer HOHEN IMPEDANZ-BEDINGUNG ZU MESSEN. Bevor bezüglich des richtigen Befehls entschieden wird, schaut man zu dem nächsten Mal, bei dem der Tester ansteuert. Dies erfolgt am Ende der dargestellten Testsequenz, und der Tester steuert dieses Mal hoch an. Demgemäß wählt man für den nächsten Befehl binär "101" (Befehl Nummer 5), was festlegt, daß der Tester in den Zustand MESSUNG BEZÜGLICH HOHER IMPEDANZ gehen soll, und den Ausgang umschaltet. Dies bringt den Ausgang in den Hochzustand, wenn dieser Kanal des Testers das nächste Mal in den ANSTEUERUNGS-Zustand gelangt. Der nächste Befehl beendet die Messung bezüglich des hochimpedanten Zustandes und bringt den Kanal des Testers in den Hochimpedanz- Zustand. Betrachtet man bei Tabelle 2 den Zustand MESSUNG BEZÜGLICH HOHER IMPEDANZ, erkennt man, daß der erste Befehl, d. h. binär "000", den Tester in den HOCHIMPEDANZ-Zustand bringt. Die nächste Phase des Tests erwartet, daß der Prüfling nun ansteuert, und eine 1 wird erwartet. Demgemäß möchte man das Messen bezüglich hohen Potentials beginnen, der vom Ausgang des Prüflings am Stift für den betreffenden Kanal ansteht. Da der HOCHIMPEDANZ-Zustand vorliegt, überprüft man die möglichen Befehle und erkennt, daß Befehl Nummer 6, binär "110", "Messen bezüglich einer Hochlage und Eintritt in den MESSUNGS-Zustand" ist. Am Ende der Zeitperiode, die erforderlich ist, um diese Messung zu machen, tritt man wieder in den HOCHIMPEDANZ-Zustand ein zum Abfangen der Unsicherheitsperiode. Da man sich nun im MESSUNG-Zustand befindet, betrachtet man die Tabelle bezüglich möglicher Befehle und erkennt, daß der Befehl Nummer 5 den Kanal wieder in den HOCHIMPEDANZ-Zustand bringt. Die nächste Phase des Tests für diesen Kanal des Testers besteht darin, nach einem Hochimpedanzausgang zu suchen. Da der HOCHIMPEDANZ-Zustand vorliegt, erkennt man, daß Befehl Nummer 7 den Tester in den Zustand MESSUNG BEZÜGLICH HOCHIMPEDANZ Ausgang bringt. Schließlich muß der betreffende Kanal des Testers den Prüfling hoch ansteuern, was bewirkt wird durch Befehl Nummer 2 diese MESSUNG BEZÜGLICH HOCHIMPEDANZ-Zustand, der darin besteht, "geh in ANSTEUERUNGS-Zustand". Es wird daran erinnert, daß der Treiber in dem Hochausgangszustand mit Befehl Nummer 2 gebracht wurde durch Umschalten des Ausgangszustands, so daß der Ausgang automatisch hoch liegen wird, sobald der ANSTEUERUNGS-Zustand beginnt.
  • Während eine bestimmte Ausführungsform der vorliegenden Erfindung oben offenbart wurde, werden Fachleute bestimmte Änderungen und Modifikationen ohne weiteres erkennen. Alle solchen Änderungen und Modifikationen können erfolgen, ohne von der Erfindung abzuweichen, wie sie durch die anliegenden Ansprüche definiert wird.

Claims (8)

1. Mit einer Mehrzahl von Prüfkanälen versehene Vorrichtung für das Prüfen eines elektronischen Schaltkreises, wobei jeder Kanal umfaßt: ein Prüfstiftmittel (Stift 0; Stift 1; Stift N) für das Kontaktieren eines Prüfpunktes auf einem Prüfling,
ein Kanalsteuerschaltungsmittel (224; 230; 236), angekoppelt an den Stift über das Prüfstiftmittel für die Steuerung des Betriebszustandes des Stiftes,
ein Stiftspeicherschaltungsmittel (210; 212; 214) für das Speichern von Prüfbefehlen, die die Sequenz von Operationen der Kanalsteuerschaltung dirigieren, dadurch gekennzeichnet, daß
jeder Kanal einen Adressenbus (220, 226; 232) umfaßt, der zwischen das Steuerschaltungsmittel (224; 230; 236) und das Stiftspeichermittel (210; 212; 214) gekoppelt ist, wobei jeder jeweilige Adressenbus (220, 226; 232) das einzige Mittel zur Eingabe von Adressen in sein zugeordnetes Stiftspeichermittel (210; 212; 214) während des Prüfens ist, wodurch die Erzeugung von Adressen für jeden Kanal unabhängig ist von der Adressenerzeugung für alle anderen Kanäle, und wodurch das Stiftspeicherschaltungsmittel von dem Kanalsteuerschaltungsmittel gesteuert wird, um das Stiftspeichermittel zu einer nächsten Adresse nur dann fortzuschalten, wenn ein neuer Testbefehl für den betreffenden Kanal erforderlich ist.
2. Die Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß ein Befehlsbus (208) allen Stiftspeicherschaltungsmitteln (210; 212; 214) gemeinsam zugeordnet ist für das Laden der Befehle, die während der Prüfung auszuführen sind in das Stiftspeicherschaltungsmittel, welches Laden vor der Prüfung, jedoch nicht während der Prüfung erfolgt.
3. Die Vorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß jedes Kanalsteuermittel (224; 230; 236) eine Stiftsteuerschaltung (320) umfaßt, die programmierbar ist zum Erzeugen der erforderlichen Zeitlageinformation für jeden Stiftvorgang.
4. Die Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß Takt- und Synchronisationssignalgeneratormittel (206) vorgesehen sind, gemeinsam für alle Kanalsteuermittel (224; 230; 236), zum Bereitstellen von Takt- und Synchronisationssignalen ohne irgendwelche andere Zeitlagesignale zu den Kanalsteuermitteln.
5. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Kanalsteuerschaltungsmittel umfaßt:
Mittel (304), angekoppelt an den Ausgang des Stiftspeichers für das Dekodieren eines an diesem Ausgang präsentierten Befehls, Mittel (320), angekoppelt an die Dekodiermittel für die Steuerung des Betriebszustandes des Stiftes in Reaktion auf ein Steuersignal von den Dekodiermitteln,
Mittel (308), angekoppelt an die Dekodiermittel für die Erzeugung der Adresse des nächsten Befehls in dem Stiftspeicher, welcher Adressengenerator den Speicher zu der nächsten Adresse nur dann fortschaltet, wenn ein neuer Befehl erforderlich ist, um den Betriebszustand des betreffenden Kanals zu ändern.
6. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Kanalsteuerschaltungsmittel umfaßt:
programmierbare Zeitlagemittel (304), die auf den Ausgang des Stiftspeichers reagieren, für die Zeitvorgabe eines gewünschten Intervalls zwischen einem gegenwärtigen Betriebszustand des Prüfstifts und einem nächsten Betriebszustand des Stifts, und
Mittel (308), angekoppelt an die Zeitlagemittel zum Erzeugen der Adresse eines nächsten Befehls in dem Stiftspeicher, welcher Speicher zu der nächsten Adresse am Ende der programmierten Zeit fortgeschaltet wird.
7. Vorrichtung nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß das Speicherschaltungsmittel umfaßt:
ein dynamisches Random-Speicherschaltungsmittel (DRAM) (210; 212; 214) für das Speichern der Prüfbefehle,
ein Cache-Speicherschaltungsmittel (640), angekoppelt an die DRAM-Schaltung und an die Kanalsteuerschaltung für Speichern einer Untersequenz von Prüfbefehlen von der DRAM-Schaltung; wobei die Kanalsteuereinheit den Betrieb des Kanals aus den Prüfbefehlen steuert, die in dem Cache-Speichermittel abgespeichert sind, während die DRAM-Schaltung aufgefrischt wird, wodurch Rückwärtsschleifen in der Sequenz von Prüfbefehlen ermöglicht werden.
8. Vorrichtung nach einem der vorangehenden Ansprüche, ferner gekennzeichnet durch:
Mittel (304) für das Dekodieren eines nächsten Prüfbefehls zum Bestimmen des nächsten Betriebszustandes durch einen Kanal, welches Dekodieren abhängt von dem gegenwärtigen Betriebszustand des betreffenden Kanals.
DE19863689414 1985-12-18 1986-12-17 Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur. Expired - Lifetime DE3689414T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US81047685A 1985-12-18 1985-12-18

Publications (2)

Publication Number Publication Date
DE3689414D1 DE3689414D1 (de) 1994-01-27
DE3689414T2 true DE3689414T2 (de) 1994-06-23

Family

ID=25203939

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863689414 Expired - Lifetime DE3689414T2 (de) 1985-12-18 1986-12-17 Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur.

Country Status (4)

Country Link
EP (1) EP0228332B1 (de)
JP (1) JPH07120300B2 (de)
CA (1) CA1251575A (de)
DE (1) DE3689414T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972413A (en) * 1989-03-23 1990-11-20 Motorola, Inc. Method and apparatus for high speed integrated circuit testing
US5127011A (en) * 1990-01-12 1992-06-30 International Business Machines Corporation Per-pin integrated circuit test system having n-bit interface
US5212443A (en) * 1990-09-05 1993-05-18 Schlumberger Technologies, Inc. Event sequencer for automatic test equipment
US5225772A (en) * 1990-09-05 1993-07-06 Schlumberger Technologies, Inc. Automatic test equipment system using pin slice architecture
EP0805458B1 (de) * 1996-04-30 2001-06-27 Agilent Technologies, Inc. Ein Prüfgerät für elektronische Schaltkreise oder Platinen mit komprimierten Datenfolgen
US5737512A (en) * 1996-05-22 1998-04-07 Teradyne, Inc. Fast vector loading for automatic test equipment
JP3672136B2 (ja) * 1996-10-04 2005-07-13 株式会社アドバンテスト Ic試験装置
US5805610A (en) * 1997-04-28 1998-09-08 Credence Systems Corporation Virtual channel data distribution system for integrated circuit tester
DE69700660T2 (de) 1997-05-30 2000-02-10 Hewlett-Packard Co., Palo Alto Mehrkanalanordnung mit einem unabhängigen Taktsignal pro Kanal
DE69700328T2 (de) 1997-09-13 1999-11-04 Hewlett-Packard Co., Palo Alto Ausgleich von Latenzzeit in einem Speicher
US6363507B1 (en) * 1998-10-19 2002-03-26 Teradyne, Inc. Integrated multi-channel analog test instrument architecture providing flexible triggering
DE60324429D1 (de) 2003-09-17 2008-12-11 Verigy Pte Ltd Singapore Kanal mit verschiedenen Taktregionen
US8295182B2 (en) 2007-07-03 2012-10-23 Credence Systems Corporation Routed event test system and method
US20090112548A1 (en) * 2007-10-30 2009-04-30 Conner George W A method for testing in a reconfigurable tester
CN108957289B (zh) * 2018-06-15 2024-08-13 江西兴泰科技股份有限公司 一种电路板测试引脚系统及测试方法
CN112581561B (zh) * 2020-12-25 2024-07-12 深圳市元征科技股份有限公司 一种创建引脚视图的方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493045A (en) * 1981-10-19 1985-01-08 Fairchild Camera & Instrument Corp. Test vector indexing method and apparatus
US4652814A (en) * 1983-06-13 1987-03-24 Hewlett-Packard Company Circuit testing utilizing data compression and derivative mode vectors
US4656632A (en) * 1983-11-25 1987-04-07 Giordano Associates, Inc. System for automatic testing of circuits and systems
US4639919A (en) * 1983-12-19 1987-01-27 International Business Machines Corporation Distributed pattern generator

Also Published As

Publication number Publication date
DE3689414D1 (de) 1994-01-27
EP0228332A2 (de) 1987-07-08
JPH07120300B2 (ja) 1995-12-20
EP0228332A3 (en) 1988-08-31
JPS62271026A (ja) 1987-11-25
EP0228332B1 (de) 1993-12-15
CA1251575A (en) 1989-03-21

Similar Documents

Publication Publication Date Title
DE3689414T2 (de) Automatisches Prüfsystem mit "wahrem Prüfer-per-Anschluss" -Architektur.
DE69124170T2 (de) Automatisches Prüfausrüstungssystem, das eine Stiftscheibenarchitektur verwendet
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
DE69127060T2 (de) Tester für integrierte Schaltungen
DE69125438T2 (de) Ablaufsteuerung für automatische Testeinrichtung
DE3237224C2 (de)
DE3687787T2 (de) Speicherzugriff-steuerungsschaltung.
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE2918053A1 (de) Schaltungspruefgeraet
DE2658611A1 (de) Vorrichtung zur erzeugung und zum empfang von digitalwoertern
DE10150321A1 (de) Verfahren und Vorrichtung zum Testen von integrierten Schaltungen
DE19722414B4 (de) Verfahren und Vorrichtung zum Testen eines Halbleiterspeichers
DE19823931C2 (de) Testmustergeneratorschaltung für ein IC-Testgerät
DE19860650A1 (de) Chip-Satz-Speichersteuervorrichtung mit Datenausblend-Maskenfunktion
DE19627820A1 (de) Speichertestvorrichtung
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE69524315T2 (de) Speicherarchitektur für eine automatische Testeinrichtung mit Vektormodultabelle
DE10134985A1 (de) Test eines Halbleiterspeichers mit mehreren Speicherbänken
DE3650508T2 (de) Speicheranordnung zur Simulation eines Schieberegisters
DE19743707A1 (de) Speichertestvorrichtung
DE69031361T2 (de) Taktsignalgeneratorsystem
DE69102770T2 (de) Hochgeschwindigkeitstester und Verfahren zur Erzeugung aufeinanderfolgender Schleifen von Datensignalen einer bestimmten Taktrate.
DE19746302A1 (de) Testvorrichtung für Halbleiterspeicher
DE19781563C2 (de) Mustergenerator
DE10111030A1 (de) Vorrichtung und Verfahren zur Einfügung einer Verzögerungszeit bei einem ereignisgestützten Prüfsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: DIAGNOSYS LTD., PETERSFIELD, HAMPSHIRE, GB