DE69634824T2 - Integrierte schaltungstestanordnung mit paralleler ansteuerung - Google Patents

Integrierte schaltungstestanordnung mit paralleler ansteuerung Download PDF

Info

Publication number
DE69634824T2
DE69634824T2 DE69634824T DE69634824T DE69634824T2 DE 69634824 T2 DE69634824 T2 DE 69634824T2 DE 69634824 T DE69634824 T DE 69634824T DE 69634824 T DE69634824 T DE 69634824T DE 69634824 T2 DE69634824 T2 DE 69634824T2
Authority
DE
Germany
Prior art keywords
node
signal
test
nodes
time
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
DE69634824T
Other languages
English (en)
Other versions
DE69634824D1 (de
Inventor
J. Gary LESMEISTER
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.)
Credence Systems Corp
Original Assignee
Credence Systems Corp
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 Credence Systems Corp filed Critical Credence Systems Corp
Publication of DE69634824D1 publication Critical patent/DE69634824D1/de
Application granted granted Critical
Publication of DE69634824T2 publication Critical patent/DE69634824T2/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/31813Test pattern generators
    • 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
    • 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/2851Testing of integrated circuits [IC]
    • 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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
    • 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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • G01R31/3191Calibration
    • 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/31922Timing generation or clock distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/025Digital function generators for functions having two-valued amplitude, e.g. Walsh functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

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

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Prüfgeräte für integrierte Schaltungen und insbesondere auf ein Integrierte-Schaltungs-Prüfgerät, das eine parallele Verarbeitung algorithmischer Anweisungen verwendet, um die Prüfsignal-Erzeugung und die Datenerfassung während der Prüfung einer integrierten Schaltung zu steuern.
  • Beschreibung des Stands der Technik
  • Um eine integrierte Schaltung oder eine ähnliche zu prüfende Vorrichtung (DUT) zu prüfen, überträgt ein typisches Integrierte-Schaltungs-Prüfgerät Prüfsignal-Impulse an verschiedene Anschlüsse der DUT und erfasst durch die DUT an diesen Anschlüssen erzeugte Ausgabedaten als Reaktion auf die Prüfsignale. Die erfassten Daten können dann analysiert werden, um zu bestimmen, ob die DUT wie erwartet auf die Prüfsignale reagiert. Im Allgemeinen muss die Übertragung von Prüfsignalen und das Erfassen von DUT-Ausgabedaten präzise koordiniert werden.
  • Integrierte-Schaltungs-Prüfgeräte enthalten typischerweise eine Gruppe von Modulen oder "Knoten", wobei ein Knoten jedem Anschluss der DUT zugeordnet wird. Eine Prüfung wird zu einer Gruppe aufeinanderfolgender Zeitabschnitte ("Prüfzyklen") organisiert. Während jedes gegebenen Prüfzyklusses kann jeder Knoten entweder ein Prüfsignal zu dem zugeordneten Anschluss übertragen, DUT-Ausgabedaten an dem zugeordneten Anschluss erfassen oder weder das eine noch das andere tun. Jeder Kno ten enthält seinen eigenen Speicher zum Speichern einer Abfolge von Befehlen. Jeder Befehl zeigt eine Handlung an, die von dem Knoten während eines Prüfzyklus durchzuführen ist, zum Beispiel ob er die Übertragung beginnen oder beenden oder ob er die Erfassung beginnen oder beenden soll. Jeder Befehl zeigt auch eine Zeit während des Zyklus an, bei der die Handlung durchzuführen ist. Jeder Knoten enthält auch Schaltungen zum sequentiellen Auslesen der Befehle aus dem Speicher während aufeinanderfolgender Prüfzyklen und zum Durchführen der angezeigten Handlungen.
  • Die Knoten sind typischerweise an einem Hauptrechner (Host) über ein Bus-Netzwerk miteinander verbunden. Bevor eine Prüfung beginnt, führt der Hauptrechner einen Algorithmus durch, um die in den Knotenspeichern zu speichernden Befehle zu erzeugen. Der Hauptrechner überträgt dann die erzeugten Befehle an die Knoten zur Speicherung in ihren Speichern. Daraufhin synchronisiert ein an alle Knoten übertragenes Taktsignal die Knoten derart, dass alle von ihnen die Befehle aus dem Speicher auslesen und die angezeigten Handlungen im Einklang durchführen.
  • Im Allgemeinen speichert ein Prüfgerät einen Befehl in jedem Knotenspeicher für jeden Prüfzyklus. In den letzten Jahren haben die Größe und Komplexität integrierter Schaltungen wie auch die Länge der Befehlssequenzen, die zum vollständigen Prüfen dieser Schaltungen benötigt werden, dramatisch zugenommen. Es ist nicht unüblich, dass bei Prüfungen viele Millionen von Zyklen durchlaufen werden müssen und deshalb Befehlssequenzen benötigt werden, die viele Millionen von Elementen haben. Die Speicheranforderungen für derart große Befehlssequenzen überschreiten die Größe des Speichers, der praktisch oder wirtschaftlich bei jedem Knoten installiert werden kann. Somit werden lange Prüfungen in Segmenten durch geführt, wobei der Prüfgerät-Betrieb zwischen jedem Segment aufgehalten wird, während die Befehle für das nächste Segment in die Knotenspeicher geladen werden. Dies verlängert in großem Umfang die Gesamtzeit und die Kosten, die für eine Prüfung benötigt werden.
  • So wie die DUT-Betriebsgeschwindigkeiten zugenommen haben, nahm auch der Bedarf für eine präzise und flexible Steuerung über die Zeitabstimmung der Prüfsignal-Übertragung und der DUT-Ausgabesignal-Abtastung während jedes Prüfzyklus zu. Ein Prüfgerät des Stands der Technik enthält eine Zeitformatierungsschaltung, die ein Ausgabe-Referenzsignal zu einer ausgewählten Zeit während eines Prüfzyklus erzeugen kann. Die Zeit wird in Übereinstimmung mit einem eingegebenen "Zeitwort" ausgewählt – Daten, die eine Zahl befördern, die eine spezielle Zeit während eines Prüfzyklus anzeigt. Um die Zeit in kleine Inkremente aufzulösen (z.B. 1/1000000 eines Prüfzyklus), muss das Zeitwort sehr lang sein (z.B. 20 Bits). Für lange Prüfungen würde es zu viel Speicher erfordern, um ein langes Zeitwort in jeden Befehl für jeden Prüfzyklus zu enthalten. Somit werden vor dem Beginn einer Prüfung einige wenige (z.B. vier) ausgewählte Zeitwörter in Registern innerhalb jedes Knotens des Speichers gespeichert. Die vier Zeitwörter zeigen vier unterschiedliche Zeiten innerhalb eines Prüfzyklus an, bei dem ein Ereignis auftreten kann. Die Befehle in jedem Knoten brauchen somit nur 2 Bits enthalten, um eine Ereignis-Zeitabstimmung anzuzeigen. Während jedoch in einem derartigen Prüfgerät-System die Ereignis-Zeitabstimmung genau gesteuert werden kann, ist die Zeitabstimmungs-Auswahl begrenzt. Ein derartiges Prüfgerät kann zum Beispiel eine Prüfung durchführen, bei der eine Signal-Zeitabstimmung um kleine Beträge inkrementell verschoben wird, um die Toleranz einer Schaltung gegenüber einer Veränderung der Signal-Zeit abstimmung zu bestimmen, ohne die Prüfung periodisch anzuhalten und neue Zeitwörter in die Knotenregister zu laden.
  • Beispiele von Integrierten-Schaltungs-Prüfgeräten, die bekannt waren und die in verschiedenem Umfang beschrieben sind, werden in den US-Patenten der Nummern 5345186, 4928278, 4862460 und 4517512 sowie in der deutschen Offenlegungsschrift DE 4305442 beschrieben. Ein Prüfgerät wird auch in einem Artikel beschrieben mit dem Titel "Linear array systolic tester (LAST)", International Test Conference 1989 Proceedings, Meeting the Tests Time, Washington D. C. (29. bis 31. August, 1989, Seiten 543 bis 549, XP000089983 (Institute of Electrical and Electronics Engineers).
  • Zusammenfassung der Erfindung
  • Gemäß einem Gesichtspunkt der Erfindung wird ein Integrierte-Schaltungs-Prüfgerät bereitgestellt zum Prüfen einer integrierten Schaltung mit einer Vielzahl von Anschlüssen zum Empfangen von Prüfsignalen und Aussenden von Ausgabesignalen, die durch die integrierte Schaltung erzeugt werden, wobei das Gerät die integrierte Schaltung prüft, indem ausgewählte Handlungen bezüglich jedem der Anschlüsse zu vorbestimmten Zeiten während einer Aufeinanderfolge von Prüfzyklen festgelegter Dauer durchgeführt werden, wobei jede dieser Handlungen aus einer Gruppe ausgewählt wird, die das Bestätigen eines Prüfsignals, das Nicht-Bestätigen eines Prüfsignals und das Abtasten eines Ausgangssignals aufweist, wobei die Prüfvorrichtung für die integrierte Schaltung aufweist:
    ein Mittel zum Erzeugen eines periodischen Taktsignals; und
    eine Vielzahl von Knoten, wobei jeder Knoten einem gesonderten Anschluss der Anschlüsse entspricht, wobei jeder Knoten Mittel aufweist, welche das Taktsignal empfangen, um die Dau er jedes der Prüfzyklen bezüglich der Perioden des Taktsignals festzulegen, wobei jeder Knoten algorithmische Anweisungen während mindestens einem der Prüfzyklen durchführt, um einen Befehl zu erzeugen, der eine der Handlungen auswählt und eine Zeit während eines anschließenden Prüfzyklusses anzeigt, bei der die ausgewählte Handlung durchzuführen ist, und wobei jeder Knoten auf den erzeugten Befehl reagiert, indem die ausgewählte Handlung bezüglich ihres entsprechenden Anschlusses zu der angezeigten Zeit während des anschließenden Prüfzyklusses durchgeführt wird.
  • Typischerweise weist jeder Knoten auf:
    ein Mittel, welches das Taktsignal empfängt, um ein Anzeigesignal zu erzeugen, das den Beginn jedes der aufeinanderfolgenden Prüfzyklen in Bezug auf Perioden des Taktsignal markiert;
    ein Speichermittel zum Speichern der algorithmischen Anweisungen;
    ein Verarbeitungsmittel zum Reagieren auf das Anzeigesignal durch Ausführen der algorithmischen Anweisungen, die in dem Speichermittel gespeichert sind, wodurch der Befehl erzeugt wird; und
    ein Mittel, das auf den Befehl reagiert, um die ausgewählte Handlung bezüglich des entsprechenden Anschlusses zu der angezeigten Zeit während des anschließenden Prüfzyklusses durchzuführen.
  • Möglicherweise weist das Mittel, welches das Taktsignal empfängt, auf:
    ein Mittel zum Erzeugen einer Vielzahl von Zeitabstimmungssignalen, wobei die Zeitabstimmungssignale und das Taktsignal Perioden ähnlicher Dauern haben, wobei jedoch die Zeitabstimmungssignale ungleiche Phasen haben;
    ein Mittel zum Erzeugen des Anzeigesignals durch Zählen von Perioden eines der Zeitabstimmungssignale.
  • Vorzugsweise zeigt der Befehl die Zeit an, indem eines der Zeitabstimmungssignale angezeigt wird, und wobei das Mittel, das auf den Befehl reagiert, die ausgewählte Handlung als Reaktion auf das angezeigte Signal der Zeitabstimmungssignale durchführt.
  • Alternativ zeigt der Befehl die Zeit an, indem eines der Zeitabstimmungssignale angezeigt wird und eine Verzögerungszeit angezeigt wird, und wobei das Mittel, das auf den Befehl reagiert, die ausgewählte Handlung als Reaktion auf das angezeigte Signal der Zeitabstimmungssignale durchführt, wobei die Reaktion durch die angezeigte Verzögerungszeit verzögert wird.
  • Es können Mittel vorhanden sein, welche die Vielzahl der Knoten miteinander verbinden, um zwischen ihnen algorithmische Anweisungen zu befördern.
  • Außerdem weist das Mittel, welches die Vielzahl der Knoten miteinander verbindet, auf:
    eine Vielzahl von Übertragungsleitungen zum Befördern algorithmischer Anweisungen; und
    eine Vielzahl von Verbindungsmitteln, wobei jedes Verbindungsmittel mit einem gesonderten Paar der Übertragungsleitungen verbunden ist, um algorithmische Anweisungen zu empfangen, die auf einer der beiden Übertragungsleitungen befördert werden, und wahlweise zum Übertragen der empfangenen Gruppe algorithmischer Anweisungen auf einer anderen der beiden Übertragungsleitungen oder zum Weiterleiten der empfangenen Gruppe algorithmischer Anweisungen zu einem gesonderten Knoten der Knoten, um dadurch ausgeführt zu werden, wobei die Vielzahl der Übertragungsleitungen und der Verbindungsmittel ein Netzwerk bilden, um die algorithmischen Anweisungen zwischen den Knoten zu befördern.
  • Kurzbeschreibung der Zeichnung
  • 1 ist ein Blockdiagramm eines Integrierte-Schaltungs-Prüfgeräts mit paralleler Verarbeitung gemäß der vorliegenden Erfindung;
  • 2 ist ein Blockdiagramm eines typischen Knotens des Integrierte-Schaltungs-Prüfgeräts von 1;
  • 3 ist ein Blockdiagramm, das den phasenstarren Oszillator von 2 zeigt;
  • 4 ist ein Blockdiagramm der Schnittstellenschaltung der zu prüfenden Vorrichtung von 2;
  • 5 ist ein Blockdiagramm, das den Zeitformatierer von 2 beschreibt;
  • 5A ist eine Darstellung eines Datenwortes, das durch den Zeitformatierer von 2 verarbeitet wird;
  • 6 ist ein Blockdiagramm, das die Hoch-Ansteuerungsschaltung von 5 zeigt;
  • 7 ist ein Blockdiagramm, das einen typischen Zeitereignis-Generator von 6 zeigt;
  • 8 ist eine Kombination aus Blockdiagramm und Schaltbild, welche die TEG0-Schaltung von 7 zeigt;
  • 9 ist eine Kombination aus Blockdiagramm und Schaltbild, die eine typische Multiplexer-Latchschaltung von 5 zeigt;
  • 10 ist ein Blockdiagramm, das die Anweisungs-Verarbeitungseinheit von 2 beschreibt;
  • 10A ist ein Blockdiagramm, das den Mikroprozessor von 10 beschreibt;
  • 11 ist ein Blockdiagramm, das die Netzwerk-Schnittstelle von 2 veranschaulicht;
  • 12 ist ein Blockdiagramm, das ausgewählte Abschnitte einer Gruppe miteinander verbundener Netzwerk-Schnittstellen von 11 darstellt;
  • 13 ist ein Diagramm, das die relative Zeitabstimmung von Signalen in 12 darstellt;
  • 14 ist ein Blockdiagramm, das die Zeitabstimmungsschaltung von 11 darstellt;
  • 1517 sind Blockdiagramme, die verschiedene Betriebs-Konfigurationen für das Integrierte-Schaltungs-Prüfgerät von 1 darstellen;
  • 1828 sind Flussdiagramme, die durch das Prüfgerät von 1 durchgeführte Algorithmen darstellen.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • 1 ist ein Blockdiagramm eines Prüfgeräts 10 gemäß der vorliegenden Erfindung zum Prüfen einer integrierten Schaltung oder einer anderen zu prüfenden Vorrichtung (Device under Test = DUT) 12. Die DUT 12 hat eine Gruppe von Kontaktstiften, Kontaktflächen oder andersartigen Zugriffsanschlüssen für Eingabe- und Ausgabesignale. Das Prüfgerät 10 enthält verschiedene Verarbeitungsknoten 14. Aus Gründen der Einfachheit zeigt 1 nur einige wenige Knoten 14, doch kann das Prüfgerät 10 eine viel größere Menge an Knoten 14 enthalten.
  • Jeder Knoten 14 kann durch einen gesonderten Leiter 16 mit einem gesonderten Anschluss der DUT 12 verbunden sein. Während einer Prüfung kann jeder Knoten 14 ein Prüfsignal über den Leiter 16 an den Knoten übertragen oder kann Ausgabesignale abtasten, die durch die DUT auf dem Leiter 16 erzeugt werden.
  • Eine Prüfung wird in eine Anzahl von Prüfzyklen ähnlicher Dauer unterteilt, und zu genau vorbestimmten Zeiten während jedes Prüfzyklus einer Aufeinanderfolge von Prüfzyklen kann jeder Knoten 14 eine oder mehrere Handlungen als Reaktion auf eine Abfolge von Befehlen durchführen. Jeder nachfolgende Befehl zeigt eine während eines nachfolgenden Prüfzyklusses durchzuführende Handlung an, wie zum Beispiel das Bestätigen eines Prüfsignals oder das Abtasten des DUT-Ausgabesignals. Jeder Befehl zeigt auch eine relative Zeit während des Prüfzyklusses an, bei dem die Handlung durchzuführen ist.
  • Anstelle des Speicherns der Abfolge von Befehlen speichert jeder Knoten 14 algorithmische Anweisungen zum Erzeugen der Abfolge von Befehlen. Jeder Knoten 14 enthält Schaltungen zum Verarbeiten der algorithmischen Anweisungen, um die Befehlsabfolgen zu erzeugen, wobei jeder Befehl unmittelbar bevor er während der Prüfung benötigt wird, erzeugt wird. Jeder Befehl ist ein Datenwort, und es ist allgemein bekannt, dass ein relativ kleiner Anweisungssatz mathematische Operationen, wie Addition, Subtraktion, Bit-Verschiebung, und algorithmische Operationen, wie zum Beispiel Verzweigung und Wiederholung, verwenden kann, um eine viel größere Datenabfolge zu erzeugen. Für lange Prüfoperationen, die viele Befehle benötigen, ist der Speicher, der zum Speichern eines algorithmischen Anweisungssatzes zum Erzeugen der notwendigen Befehle benötigt wird, viel kleiner als der Speicher, der zum Speichern der eigentlichen Befehle selbst benötigt wird.
  • Somit empfangen die Knoten des Prüfgeräts der vorliegenden Erfindung als Eingabe algorithmische Anweisungen zum Erzeugen der Befehle anstatt der eigentlichen Befehle selbst. Die Verarbeitungsknoten 14 sind durch Übertragungsleitungen 18, 19 in einer Schleife zusammengeschaltet, die als Netzwerk-Schnittstelle wirken, um ein Schleifen-Netzwerk zu bilden, um die algorithmischen Anweisungen sowie Steuerungsdaten und Signale zu jedem Knoten zu befördern. Eine Haupt-Schnittstellenschaltung 20, die in dem Netzwerk anstelle eines Knotens geschaltet ist, ermöglicht einem Hauptrechner 22 den Zugriff auf das Netzwerk über einen Bus 24. Ein Referenzoszillator-Taktsignal ROSC, das durch eine Taktschaltung 25 von 1 erzeugt wird, liefert eine gemeinsame Zeitabstimmungs-Referenz an alle Knoten 14, so dass ihre Operationen während eines Prüfvorgangs in der weiter unten beschriebenen Art und Weise synchronisiert werden können.
  • Bevor ein Prüfvorgang beginnt, überträgt der Hauptrechner 22 einen gesonderten Satz algorithmischer Anweisungen an jeden Knoten 14. Der Hauptrechner 22 überträgt auch Steuerungsdaten an jeden Knoten 14 über das Netzwerk. Die in Registern innerhalb jedes Knotens 14 gespeicherten Steuerungsdaten wählen verschiedene Betriebsarten des Knotens aus, wie zum Beispiel den Spannungspegel von Prüfsignalen, die zu der DUT 12 übertragen werden, oder die Dauer eines Prüfzyklusses. Um einen Prüfvorgang zu beginnen, überträgt der Hauptrechner 22 ein START-Steuerungssignal an die Knoten 14 über das Netzwerk. Jeder Knoten 14 enthält seinen eigenen internen Anweisungsprozessor, der als Reaktion auf das START-Signal das Lesen und Verarbeiten der algorithmischen Anweisungen in dem Speicher des Knotens beginnt, um eine Abfolge von Befehlen zu erzeugen. Jeder Befehl zeigt eine Handlung an, die während eines nächsten Prüfzyklusses durchzuführen ist, sowie eine spezielle Zeit während des nächsten Prüfzyklusses, bei welcher der Knoten die angezeigte Handlung durchführen soll. Jeder Knoten 14 enthält eine interne "Zeitformatierer"-Schaltung zum Dekodieren der Befehle. Zu der durch jeden Befehl angezeigten Zeit signalisiert der Zeitformatierer einer internen DUT-Schnittstellenschaltung, dass sie die durch den Befehl angezeigte Handlung durchführen soll.
  • 2 ist ein Blockdiagramm eines typischen Knotens 14 des Prüfgeräts 10 von 1. Der Knoten 14 enthält eine Netzwerk-Schnittstelle 30 und bildet eine Schnittstelle zwischen dem Knoten und den unidirektionalen hereinkommenden und herausgehenden seriellen Übertragungsleitungen 18 und 19, welche den Knoten mit vorhergehenden und nachfolgenden Knoten der Netzwerkschleife verbinden. Bei dem bevorzugtem Ausführungsbeispiel der Erfindung verbinden vier hereinkommende Übertragungsleitungen 18 und vier herausgehende Übertragungsleitungen 19 jeden Knoten mit seinen nächsten Nachbarn.
  • Der Knoten 14 enthält auch eine Speicher-Managementeinheit 32, einen Anweisungsspeicher 34 sowie eine Anweisungs-Verarbeitungseinheit 36. Der Anweisungsspeicher 34 ist geeigneterweise ein herkömmlicher adressierbarer Direkt-Zugriffsspeicher (RAM) zum Speichern algorithmischer Anweisungen. Die Verarbeitungseinheit 36 führt die in dem Speicher 34 gespeicherten Anweisungen aus, um eine Abfolge von Befehlen zu erzeugen, welche die Knotenoperationen steuern. Die Speicher-Managementeinheit 32 ist eine herkömmliche RAM-Steuerungsvorrichtung zum Steuern des Lese- und Schreibzugriffs auf den Speicher 34. Jede Netzwerk-Schnittstelle 30 empfängt serielle Daten und Adressen über eine hereinkommende Übertragungsleitung 18 und leitet sie an einen nächsten Knoten der Netzwerkschleife über eine herausgehende Übertragungsleitung 19 weiter. Jede Netzwerk-Schnittstelle 30 kann auch die seriellen Daten und Adresswörter in eine parallele Form konvertieren und sie zu einem lokalen Bus 31 weiterleiten. Die Speicher-Managementeinheit 32 bestimmt, ob auf den Speicher 34 zugegriffen wird, und, wenn dies der Fall ist, speichert sie die Daten in dem Speicher 34 ab. Während eines Prüfvorgangs überträgt die Verarbeitungseinheit 36 Speicheradressen an die Speicher-Managementeinheit 32 über einen 24-Bit-Bus 33, und die Speicher-Managementeinheit liest Anweisungen aus dem Speicher 34 bei diesen Adressen aus und leitet die Anweisungen über einen lokalen Bus 31 an die Verarbeitungseinheit 36 weiter.
  • Der Knoten 14 enthält zusätzlich eine Zeitformatierer-Schaltung 38 sowie eine Schnittstellenschaltung 40 für die zu prüfende Vorrichtung (DUT). Die DUT-Schnittstellenschaltung 40 enthält einen Eingabe/Ausgabe-Anschluss, der mit der zu prüfenden Vorrichtung über einen Leiter 16 verbunden ist. Während jedes Prüfzyklusses kann die DUT-Schnittstellenschaltung 40 ein Prüfsignal an die DUT über einen Leiter 16 übertragen und/oder kann ein Datenbit abtasten und speichern, das durch die DUT auf dem Leiter 16 erzeugt wird. Wenn die Verarbeitungseinheit 36 die aus dem Speicher 34 ausgelesenen Anweisungen ausführt, erzeugt sie Befehle und überträgt sie zu dem Zeitformatierer 38 über den Bus 33. Als Reaktion auf jeden Befehl führt der Zeitformatierer 38 selektiv eine Bestätigung oder Nicht-Bestätigung eines von drei Ausgabesignalen, COMPARE, DRIVE, und TRISTATE zu einer geeigneten Zeit durch. Der Zeitformatierer 38 bestätigt oder nicht-bestätigt das TRISTATE-Signal, um der DUT-Schnittstellenschaltung 40 mitzuteilen, wann sie den Leiter 16 mit einem Prüfsignal ansteuern soll. Das DRIVE-Signal wird bestätigt und nicht-bestätigt, um der DUT-Schnittstellenschaltung 40 mitzuteilen, wann das Prüfsignal hoch oder tief sein soll. Das COMPARE-Signal wird bestätigt und nicht-bestätigt, um der DUT-Schnittstellenschaltung 40 mitzuteilen, wann das Abtasten eines durch die DUT erzeugten Signals begonnen oder beendet werden soll. Eine an den lokalen Bus 31 angebundene Eingabe/Ausgabe-(I/O)-Steuerungsvorrichtung 44, kommuniziert mit anderen Knoten in dem Netzwerk oder mit dem Hauptrechner 22 von 1 über eine Netzwerk-Schnittstelle 30 und die Übertragungsleitungen 18, 19. Vor dem Beginn des Prüfvorgangs empfängt die I/O-Steuerungsvorrichtung 44 Steuerungsdaten über das Netzwerk und speichert diese Daten in verschiedenen Registern innerhalb der Netzwerk-Schnittstelle 30, der Anweisungs-Verarbeitungseinheit 36, dem Zeitformatierer 38 und der DUT-Schnittstellenschaltung 40. Die Steuerungsdaten stellen verschiedene Betriebsarten dieser Vorrichtungen während einer Prüfung ein, wie weiter unten besprochen wird. Nachdem eine Prüfung abgeschlossen ist, gibt die I/O-Steuerungsvorrichtung 44 den Hauptrechner oder eine andere Vorrichtung frei, um Prüfdaten aus einem Erfassungsspeicher innerhalb der DUT-Schnittstellenschaltung 40 auszulesen.
  • Der Knoten 14 enthält auch Verbindungen zwischen der Netzwerk-Schnittstelle 30 und der Verarbeitungseinheit 36 zum Befördern hereinkommender und herausgehender Laufzeit-Steuerungssignale. Diese Laufzeitsignale (RUNTIME-Signale) können durch ausgewählte Übertragungsleitungen 18, 19 übertragen werden, um den Beginn und das Ende von Prüfvorgängen zu signalisieren. Die Laufzeitsignale können auch eine Kommunikation zwischen Knoten während Prüfvorgängen erzeugen, um zum Beispiel Änderungen der Betriebsart oder Fehler anzuzeigen, die während einer Prüfung auftreten.
  • Eine Oszillatorschaltung 42, die in jedem Knoten 14 enthalten ist, hilft beim Synchronisieren der Operationen aller Knoten des Netzwerks während eines Prüfvorgangs. Die Oszillatorschaltung 42 erzeugt eine Gruppe von Zeitabstimmungssignalen T0–T30, die zu dem Zeitformatierer 38 und der Netzwerk-Schnittstelle 30 übertragen werden. Diese Zeitabstimmungssignale T0– T30 haben die selbe Frequenz wie das ROSC-Signal, sind jedoch voneinander zeitlich verschoben, um die Periode des ROSC-Signals in 31 Segmente im wesentlichen gleicher Dauer aufzuteilen. In jedem Knoten 14 taktet das Zeitabstimmungssignal T0 die Anweisungsverarbeitung mittels der Anweisungs-Verarbeitungsschaltung 36. Als Reaktion auf Befehle wählt der Zeitformatierer 38 ein Zeitabstimmungssignal aus den Zeitabstimmungssignalen T0–T30 als Referenz für die Zeitabstimmung der durch den Befehl angezeigten Handlung aus. Da die Signale T0–T30 aller Knoten in der selben Phasenbeziehung bezüglich des ROSC-Signals gehalten werden, sind die Signale T0–T30 jedes Knotens mit ähnlichen Signalen in jedem anderen Knoten in Phase. Da die Anweisungs-Verarbeitung und die Ereignis-Zeitabstimmung in jedem Knoten auf die Signale T0–T30 als Referenz bezogen werden, können die Aktivitäten aller Knoten synchronisiert werden.
  • Das ROSC-Signal, und somit das T0-Signal, wird zweckmäßigerweise auf die Betriebsgeschwindigkeit eines Mikroprozessors innerhalb der Verarbeitungseinheit 36 eingestellt. Es ist jedoch wünschenswert, dass die Zeitabstimmung der Signale COMPARE, DRIVE und TRISTATE innerhalb einer höheren Auflösung steuerbar ist. Die Signale T0–T30 lösen die Zeit auf das 1/31-ste eines ROSC-Zyklusses auf, doch enthält der Zeitformatierer 38 Schaltungen, wie weiter unten besprochen wird, die seine Ausgabesignal-Zeitabstimmung um einen Faktor 16 weiter auflösen können. Geht man von einem ROSC-Signal mit 100 MHz aus, das für die 0,8-Mikrometer-Technologie geeignet ist, so kann der Knoten 14 die Zeitabstimmungsflanken der Signale COMPARE, DRIVE und TRISTATE bis auf etwa 20 ps auflösen. Verwendet man eine 0,4-Mykrometer-Technologie, ermöglicht ein ROSC-Signal mit 200 MHz eine Auflösung von 10 ps.
  • Die Vorrichtungen 30, 32, 34, 36, 38, 42 und 44 werden zweckmäßigerweise auf einer einzigen hochintegrierten Schaltung 15 unter Verwendung von CMOS-Logik-Technologie implementiert.
  • 3 ist ein Blockdiagramm, das den phasenstarren Oszillator 42 von 2 beschreibt, der verwendet wird, um das Synchronisieren der Operationen aller Knoten 14 des Prüfgeräts von 1 zu unterstützen. Der Oszillator 42 enthält eine Gruppe aus 31 identischen Umkehrschaltungen 45, die in Serie geschaltet sind, um eine Schleife zu bilden. Ein Signalimpuls zirkuliert um die Schleife mit einer Geschwindigkeit, die durch die Ausbreitungs-Verzögerungszeit der Umkehrschaltungen 45 bestimmt wird. Diese Verzögerungszeit wird durch die Ausgangsspannung einer Stromversorgung 46 gesteuert, die allen Umkehrschaltungen 45 Energie zuführt. Die Zeitabstimmungssignale T0–T30 werden alle bei den Verbindungen zwischen den Umkehrschaltungen 45 abgenommen. Da die Ausbreitungsverzögerung aller Umkehrschaltungen 45 im Wesentlichen die selbe ist, sind die Signale T0–T30 alle voneinander um im Wesentlichen die selben Beträge verschoben. Das durch eine Verzögerungsschaltung 47 verzögerte Signal T0 wird als Signal T0' einem Eingang eines Komparators 48 zugeführt. Das ROSC-Signal wird einem anderen Eingang des Komparators zugeführt. Immer dann, wenn ein ROSC-Signalimpuls vor einem T0'-Impuls kommt, nimmt der Ausgang des Komparators 48 den hohen Pegel ein. Wenn ein T0'-Impuls vor einem ROSC-Signalimpuls kommt, nimmt der Ausgang des Komparators 48 den tiefen Pegel ein. Die Ausgabe des Komparators 48 wird durch ein Filter 49 gefiltert und der Stromversorgung 46 zugeführt. Die Spannung der Ausgabe des Filters 49 steuert die Ausgangsspannung der Stromversorgung 46.
  • Es dürfte klar sein, dass bei alternativen Ausführungsbeispielen die Elemente 45 von den Umkehrschaltungen verschiede ne Vorrichtungen sein können, wie zum Beispiel mit magerem Strom betriebene Puffer (current starved buffers) oder differentielle Elemente.
  • Die durch die Vorrichtungen 4649 erzeugte Rückkopplung führt eine Phasenrastung des Signals T0' mit dem ROSC-Signal durch, um zu gewährleisten, dass die Signale T0–T30 die selbe Frequenz wie das ROSC-Signal haben, wobei jedes von ihnen eine geringfügig unterschiedliche Phase hat. Da die Signale T0–T30 voneinander um die gleichen Beträge phasenverschoben sind, ist die Zeit zwischen aufeinanderfolgenden T0–T30 gleich groß wie 1/31 der Periode des ROSC-Signals.
  • Damit das System von 1 eine DUT 12 richtig prüft, müssen diejenigen Knoten 14, welche die Prüfsignale zu der DUT übertragen und diejenigen Knoten 14, welche Abtastdaten von Signalen erfassen, die durch die DUT erzeugt werden, dies zu genauen Zeiten relativ zueinander durchführen. Das an alle Knoten 14 gesendete ROSC-Signal bildet eine Referenz zum Synchronisieren ihrer jeweiligen Zeitabstimmungssignale T0–T30. Wenn zum Beispiel zwei Knoten jeweils einen Prüfsignal-Impuls zu der DUT übertragen haben, wenn sie einen Impuls des Signals T5 erfasst haben, würden die beiden Prüfsignale zu der DUT zur selben Zeit übertragen werden, da die beiden Signale T5, die als gegenüber dem ROSC-Signal um den selben Betrag phasenverschoben gelten, miteinander in Phase sind. Allerdings wären die beiden Prüfsignale aus zwei Gründen nicht notwendigerweise in Phase.
  • Erstens können sich die Zeiten unterscheiden, die zwei Knoten 14 benötigen, um ihre Prüfsignale nach dem Erfassen ihrer T5-Signalimpulse zu erzeugen. Dies geschieht dann, wenn die Signal-Bearbeitungsgeschwindigkeiten der beiden Knoten unterschiedlich sind. Die beiden Knoten sind auf verschiedenen integrierten Schaltungen implementiert, und Schwankungen der Parameter der Chipherstellung können die Verarbeitungsgeschwindigkeiten beeinträchtigen. Da die beiden Knoten physikalisch getrennt sind, können sie bei unterschiedlichen Umgebungstemperaturen betrieben werden, und die Chip-Temperatur beeinflusst die Verarbeitungsgeschwindigkeit. Um zu helfen, dieses Problem zu lösen, ist die Verzögerungsschaltung 47 in der Rückkopplungsschleife des Oszillators 42 von 3 enthalten. Die Verzögerungsschaltung 47 führt zeitlich vorwärts gerichtete Phasenverschiebungen der Signale T0–T30 um einen Betrag durch, der die Verarbeitungsverzögerung des Zeitformatierers 38 von 2 berücksichtigt. Die Verzögerungsschaltung 47 ist einfach eine Serie aus Gattern, welche die selbe Kanalbreite (und deshalb Verzögerung) wie die Gatter haben, welche die Signale T0–T30 verarbeiten, um die Signale COMPARE, DRIVE und TRISTATE zu steuern. Da der Oszillator 42 und der Zeitformatierer 38 auf der selben integrierten Schaltung 15 implementiert sind, bewirken alle Veränderungen des Prozesses und der Umgebung, welche die Signal-Ausbreitungsgeschwindigkeit durch den Zeitformatierer 38 von 2 beeinflussen, eine Beeinflussung der Verzögerung der Verzögerungsschaltung 47 von 3. Die Verzögerungsschaltung 47 jedes Knotens stellt daher automatisch ihre eigene Verzögerung ein, um eine Phasenverschiebung der Signale T0–T30 um geeignete Beträge zu bewirken, um die Unterschiede der Ausbreitungsverzögerung durch den Zeitformatierer des Knotens zu berücksichtigen. Somit tritt zum Beispiel ein T5-Impuls eines langsamen Knotens vor dem T5-Impuls eines schnelleren Knotens auf, so dass Signale COMPARE, DRIVE oder TRISTATE, die durch beide Knoten als Reaktion auf den T5-Impuls bestätigt werden, tatsächlich zur selben Zeit bestätigt werden.
  • Ein zweites Zeitabstimmungsproblem tritt auf, da es vorkommen kann, dass das ROSC-Signal nicht bei allen Knoten 14 von 1 zur selben Zeit ankommt. Die Knoten sind physikalisch getrennt, und der ROSC-Takt 25 von 1 ist von einigen Knoten weiter entfernt als von anderen. Selbst wenn die Zeitabstimmungssignal-T5-Impulse der beiden Knoten von dem ROSC-Signalimpuls um den selben Betrag phasenverschoben werden, wären sie daher selbst nicht in Phase. Daher wären Prüfsignale, die gemäß unterschiedlicher Zeitabstimmungssignal-T5-Impulse zeitabgestimmt werden, nicht zeitgleich beziehungsweise nicht simultan. Die vorliegende Erfindung überwindet dieses Problem, indem sie eine Kalibrierung der Verzögerungsschaltungen innerhalb des Zeitformatierers 38 innerhalb jedes Knotens ermöglicht, wodurch kleine Einstellungen der Verzögerung ermöglicht werden, um Unterschiede der ROSC-Signal-Ankunftszeit zu berücksichtigen. Eine derartige Kalibrierung wird weiter unten in Verbindung mit Einzelheiten des Zeitformatierers besprochen.
  • 4 ist ein Blockdiagramm der DUT-Schnittstellenschaltung 40 von 2. Die Schaltung 40 enthält eine herkömmliche Dreizustands-Ansteuerungsschaltung 50 zum Zuführen des Prüfsignals, das zu der DUT über den Leiter 16 übertragen wird. Die Ansteuerungsschaltung 50 empfängt die DRIVE- und TRISTATE-Signale von dem Zeitformatierer 38 von 2. Das TRISTATE-Signal bestimmt, ob die Ansteuerung ihre Prüfsignal-Ausgabe über den Leiter 16 zu der DUT überträgt. Das DRIVE-Eingabesignal steuert den logischen Zustand der Prüfsignal-Ausgabe. Die Ansteuerung 50 ist in dem Sinne programmierbar, dass die Logikpegel ihrer Prüfsignal-Ausgabe je nach den Anforderungen der DUT eingestellt werden können. Ein Register 52 speichert die zu ihm übertragenen Steuerungsdaten von dem Hauptrechner über die I/O-Steuerungsvorrichtung 44 von 2 vor einem Prüfvorgang. Die Daten in dem Register 52 werden der Ansteuerung 50 zugeführt, und die Prüfsignal-Logikpegel werden gesteuert.
  • Die DUT-Schnittstellenschaltung 40 enthält auch einen Komparator 54. Der Komparator 54 vergleicht ein Signal, das durch die DUT auf dem Leiter 16 erzeugt wird, mit einer Analogsignal-Ausgabe eines Digital/Analog-Wandlers (D/A-Wandler) 56. Der Betrag des Ausgabesignals des D/A-Wandlers 56 wird durch Daten gesteuert, die in dem Register 58 gespeichert sind und einen Haltepunkt zwischen einem logisch wahren und einem logisch falschen Zustand des DUT-Ausgabesignals anzeigen. Der Hauptrechner lädt Daten in das Register 58 über die I/O-Steuerungsvorrichtung, bevor ein Prüfvorgang begonnen wird. Wenn das COMPARE-Signal von dem Zeitformatierer 38 von 2 bestätigt wird, erzeugt der Komparator 54 ein Ausgangsdaten-Bit, das anzeigt, ob die Spannung des DUT-Ausgabesignals höher als das Ausgabesignals des D/A-Wandlers 56 ist. Wenn das COMPARE-Signal das nächste Mal nicht-bestätigt wird, speichert eine Speicher-Steuerungsschaltung 60 das Bit in dem Erfassungsspeicher 62. während eines Prüfvorgangs kann der Erfassungsspeicher 62 somit eine Abfolge von Datenwerten erfassen und speichern. Danach kann der Hauptrechner, der durch die I/O-Steuerungsvorrichtung 44 von 2 betrieben wird, die erfassten Daten über die Speichersteuerung 60 für eine anschließende Analyse aus dem Speicher 62 auszulesen.
  • 5 ist ein Blockdiagramm, das den Zeitformatierer 38 von 2 beschreibt. Der Zeitformatierer 38 enthält eine Gruppe aus sechs Zeitabstimmungs-Schaltungen 7176 und eine Gruppe aus Multiplexer-Latchschaltungen 80, 82 und 84. Eine Hoch-Ansteuerungsschaltung 71 bestimmt, wann das Ansteuerungssignal DRIVE auf den hohen Pegel gesteuert wird, und eine Tief-Ansteuerungsschaltung 72 bestimmt, wann das Ansteuerungssignal DRIVE auf den tiefen Pegel gesteuert wird. Die Hoch-Abtastschaltung 73 und die Tief-Abtastschaltung 74 bestimmen, wann das Signal COMPARE auf den hohen beziehungsweise auf den tiefen Pegel gesteuert wird, und die Hoch-Dreizustands-Schal tung 75 und die Tief-Dreizustands-Schaltung 76 bestimmen, wann das Dreizustands-Signal TRISTATE auf den hohen oder den tiefen Pegel gesteuert wird.
  • Die Schaltungen 7176 können in der einen oder der anderen zweier Betriebsarten betrieben werden, nämlich einer Prozessor-Betriebsart (PROCESSOR) oder einer Muster-Betriebsart (PATTERN). Sie müssen nicht alle in der selben Betriebsart zu einer gegebenen Zeit arbeiten. Ein Prüfvorgang wird in eine Gruppe aufeinanderfolgender Prüfzyklen segmentiert, wovon sich jeder über eine ausgewählte Anzahl von Zyklen des T0-Zeitabstimmungssignals erstreckt. In der Prozessor-Betriebsart überträgt die Anweisungs-Verarbeitungseinheit 36 von 2 einen oder mehrere Befehle zu dem Zeitformatierer 38 während jedes Prüfzyklusses. Jeder Befehl enthält ein 20-Bit-Zeitwort (TIMEWORD) sowie ein 6-Bit-Aktionswort (ACTIONWORD). Das Zeitwort zeigt eine spezielle Zeit an, bei welcher der Zeitformatierer eine Handlung während des nächsten Zyklusses aufführen soll, und das Aktionswort zeigt die durchzuführende spezielle Handlung an. Das Zeitwort wird zu jeder Schaltung 7176 in der Prozessor-Betriebsart parallel gesendet, während jedes Bit L1–L6 des Aktionswortes an eine jeweilige entsprechende Schaltung 7176 gesendet wird. Wenn ein Aktionswort-Bit eingestellt wird, speichert die Schaltung 7176, die es empfängt, das Zeitwort und initiiert eine Handlung während des nächsten Prüfzyklusses zu der durch das Zeitwort angezeigten Zeit. Somit wählt das Aktionswort eine während des nächsten Prüfzyklusses durchzuführende Handlung aus, indem die spezielle Zeitabstimmungsschaltung 7176 für den Empfang des Zeitwortes ausgewählt wird.
  • In der Muster-Betriebsart begründet jede Zeitabstimmungsschaltung 7176 ihre Zeitabstimmungs-Begründung auf Abfolgen von Zeitwörtern, welche der Hauptrechner 22 von 1 in die Zeitabstimmungsschaltung 7176 über die I/O-Steuerungsvorrichtung 44 von 2 lädt, bevor der Prüfvorgang beginnt. Wenn zum Beispiel das Signal DRIVE in einem kurzen, sich wiederholenden Muster während eines Prüfvorgangs bestätigt und nicht-bestätigt werden soll, können die beiden Schaltungen 71 und 72, welche die Zeitabstimmung des DRIVE-Signals steuern, in der Muster-Betriebsart betrieben werden. Wenn das DRIVE-Signal in einem langen Muster bestätigt und nicht-bestätigt werden soll, wird die Prozessor-Betriebsart ausgewählt. Die Betriebsarten für die Schaltungen 7376 werden auf ähnliche Weise ausgewählt.
  • 5A ist eine Darstellung eines Zeitwortes (TIMEWORD), das durch den Zeitformatierer 38 verarbeitet wird. Wenn bei der Prozessor-Betriebsart in 5 und 5A ein Zeitwort in einer der Schaltungen 7176 während eines Prüfzyklusses gespeichert wird, leitet diese Schaltung eine spezielle Handlung während des nächsten Prüfzyklusses zu einem Zeitpunkt ein, der durch das Zeitwort gekennzeichnet ist. Am Anfang dieses nächsten Prüfzyklusses sendet die Verarbeitungseinheit einen Neuzyklus-Impuls (NEWCYCLE) an jede Zeitabstimmungsschaltung 7176. Wenn zum Beispiel die Hoch-Ansteuerungsschaltung 71 in der Prozessor-Betriebsart arbeitet, reagiert sie auf den Neuzyklus-Impuls, indem sie T0 Signalzyklen bis zu der Anzahl N hochzählt, die durch die ersten 11 Bits (Bits 0–10) ihres zuletzt gespeicherten Zeitwortes angezeigt wird, wie in 5A dargestellt. Die Hoch-Ansteuerungsschaltung 71 wählt dann eine spezielle Untergruppe DH0–DH7 von acht der 31 Zeitabstimmungssignale T0–T30 aus, verzögert sie um einen ausgewählten Betrag und leitet sie zu einem "Einstell"-Eingang einer Multiplexer-Latchschaltung 80 in Form ihrer Ausgabesignale DH0–DH7 weiter. Die Bits 11 und 12 (TAP) des Zeitwortes, wie in 5A gezeigt, zeigen an, welche spezielle Untergruppe (DH0–DH7) von acht der 31 Zeitabstimmungssignale T0– T30 ausgewählt werden. Die Bits 13–16 (DELAY) zeigen den Betrag an, um den diese acht Zeitabstimmungssignale verzögert sind. In der Zwischenzeit leitet die Hoch-Ansteuerungsschaltung 71 auch die letzten drei Bits (SELECT) des Zeitwortes (TIMEWORD) als Auswahlsignale DHS0–DHS2 an einen "Einstell-Auswahl"-Eingang der Multiplexer-Latchschaltung 80 weiter. Als Reaktion auf die Bits DHS0–DHS2 wählt die Multiplexer-Latchschaltung 80 eines der acht ausgewählten Zeitabstimmungssignale DH0–DH7 aus. Wenn dieses eine Zeitabstimmungssignal dem Einstell-Eingang der Multiplexer-Latchschaltung 80 einen Impuls zuführt, stellt die Latchschaltung ihr Ausgangssignal DRIVE ein (steuert es auf den hohen Pegel).
  • Wenn somit ein Zeitwort (TIMEWORD) in die Hoch-Ansteuerungsschaltung 71 geladen wird, zeigt es genau an, wann das DRIVE-Signal während des nächsten Prüfzyklusses auf den hohen Pegel gesteuert werden muss. Wenn die Tief-Ansteuerungsschaltung 72 ein Zeitwort als Reaktion auf das Steuerungssignal L2 empfängt, überträgt es dann auf ähnliche Weise acht gesonderte Zeitabstimmungssignale DL0–DL7, um die Eingänge der Multiplexer-Latchschaltung 80 zusammen mit drei Steuerungsbits DLS0–DLS2 rückzusetzen, um eines der acht Zeitabstimmungssignale auszuwählen. Die Latchschaltung 80 führt dann eine Rücksetzung des DRIVE-Signals als Reaktion auf einen Impuls von dem ausgewählten Zeitabstimmungssignal DLS0–DLS7 durch (steuert es auf den tiefen Pegel). wenn ein Zeitwort in die Tief-Ansteuerungsschaltung 72 geladen wird, zeigt es sehr genau an, wann bezüglich der nächsten Bestätigung des Neuzyklus-Signals (NEWCYCLE) das DRIVE-Signal auf den tiefen Pegel gesteuert werden muss.
  • Die Multiplexer-Latchschaltung 82 erzeugt das Vergleichssignal COMPARE als Reaktion auf Signale von der Hoch-Abtast schaltung 72 und der Tief-Abtastschaltung 73, und die Multiplexer-Latchschaltung 84 erzeugt das Dreizustands-Signal TRISTATE als Reaktion auf Signale von der Hoch-Dreizustandsschaltung 75 und der Tief-Abtastschaltung 76. Diese Schaltungen arbeiten auf ähnliche Weise wie die Schaltungen 71, 72 und 80, um die Zustände der Signale COMPARE und TRISTATE zu steuern.
  • Für diejenigen Schaltungen 7176, die in der Muster-Betriebsart arbeiten sollen, führt der Hauptrechner 22 von 1 durch Einwirkung der I/O-Steuerungsschaltung 44 von 2 eine Vorabladung einer Gruppe von bis zu vier Zeitwörtern in jede Zeitabstimmungsschaltung 7176 durch, bevor ein Prüfvorgang beginnt. So wie in der Prozessor-Betriebsart zeigen die Zeitwörter auch Zeiten während aufeinanderfolgender Prüfzyklen an, während denen eine Handlung stattfinden soll. Während des Prüfvorgangs führen jedoch diejenigen Schaltungen 7176, die in der Muster-Betriebsart arbeiten sollen, in wiederholter Weise die Operationen durch, die durch ihre gespeicherten Zeitwort-Abfolgen während aufeinanderfolgender Prüfzyklen angezeigt werden, und empfangen keine Zeitwörter von der Anweisungs-Verarbeitungseinheit.
  • 6 ist ein Blockdiagramm, das die Hoch-Ansteuerungsschaltung 71 von 5 beschreibt. Die Schaltungen 7276 von 5 sind ähnlich. In 6 speichert ein Register 90 das 20-Bit-Zeitwort (TIMEWORD) als Reaktion auf das L1-Bit des Aktionswortes (ACTIONWORD). Die ersten elf Bits N des in dem Register 90 gespeicherten Zeitwortes werden einer Sequenziervorrichtung 91 als Eingabe zugeführt. Die verbleibenden neun Bits (TAP, DELAY und SELECT) des in dem Register (REG) 90 gespeicherten Zeitwortes werden einer Latchschaltung (LATCH) 92 als Eingabe zugeführt. Die Ausgabe der Latchschaltung 92 wird einem Eingang eines Multiplexers (MUX) 93 zugeführt. Beim Empfang des Neuzyklus-Signals (NEWCYCLE) in der Verarbeitungseinheit 36 leitet die Latchschaltung 92 die Abschnitte TAP, DELAY und SELECT des Zeitwortes in dem Register 90 zu dem Multiplexer 93 weiter. Bei dem N-ten ROSC-Signalimpuls, der auf den Neuzyklus-Signalimpuls folgt, führt die Sequenziervorrichtung 91 eine Rücksetzung des Flip-Flops 94 durch, das einen Q-Ausgang (DISABLE) hat, der dem Multiplexer 93 als Eingang zugeführt wird. Das Flip-Flop 94 wird durch die Ansteuerungssignal-Ausgabe (DRIVE) der Latchschaltung 80 von 5 gesetzt. Der 20/10-Bit-Multiplexer 93 wird durch ein Betriebsart-Bit (MODE) gesteuert, dort in einem Register 95 durch den Hauptrechner über die I/O-Steuerungsschaltung 44 von 2 vor dem Prüfvorgang gespeichert wird. Das Betriebsart-Bit zeigt an, ob die Hoch-Ansteuerungsschaltung 71 in der Prozessor- oder Muster-Betriebsart arbeiten soll.
  • Beim Betrieb in der Prozessor-Betriebsart leitet der Multiplexer 93 die drei Auswahl-Bits (SELECT) als Ausgabe der Latchschaltung 92 als Auswahlsignale DHS0–DHS2 zu dem Auswahl-Steuerungseingang der Multiplexer-Latchschaltung 80 von 5 weiter. Der Multiplexer 93 leitet die verbleibenden sechs Bits (zwei TAP-Bits und vier DELAY-Bits) der Ausgabe der Latchschaltung 92 zu einer Zeitereignis-Generator-(TEG)-Schaltung 100 weiter, welche die acht Zeitabstimmungssignale DH0–DH7 erzeugt, die dem Setz-Eingang der Multiplexer-Latchschaltung 80 von 5 zugeführt werden. Die TEG-Schaltung 100 wählt acht der 31 T0–T30 aus und verzögert sie in eingestellter Weise, um die Zeitabstimmungssignale DH0–DH7 zu erzeugen. Die acht Zeitabstimmungssignale DH0–DH7 werden in Übereinstimmung mit den TAP-Bits ausgewählt, und der Betrag, um den jedes Zeitabstimmungssignal DH0–DH7 verzögert wird, wird durch die vier Verzögerungsbits (DELAY) bestimmt.
  • Der Multiplexer 93 leitet auch die Sperr-Ausgabe (DISABLE) des Flip-Flops 94 zu der TEG-Schaltung 100 weiter. Wenn während eines Prüfzyklusses die Multiplexer-Latchschaltung 80 das Ansteuerungssignal (DRIVE) bestätigt, setzt sie das Sperrausgabe-Bit des Flip-Flops 94 auf wahr ein. Dieses Bit "sperrt" die Schaltung TEG 100, indem sie ihr mitteilt, dass sie ihre Ausgabe-Bits DH0–DH7 der Schaltung TEG 100 auf den tiefen Wert zieht und sie auf dem tiefen Wert hält. Nachdem die Sequenziervorrichtung 91 während des nächsten Prüfzyklus N ROSC-Zyklen gezählt hat, setzt sie das Flip-Flop 94 zurück, um das Sperrbit (DISABLE) auf den niedrigen Pegel zu steuern. Dies gibt die TEG 100 frei, um den Satz der Signalimpulse DH0–DH7 während des nächsten Taktzyklusses T0 zu erzeugen.
  • In der Muster-Betriebsart (PATTERN) speichert der Hauptrechner, der durch die I/O-Steuerungsvorrichtung 44 von 2 tätig wird, bis zu vier Zeitwörter in einer Gruppe aus vier Registern 96, bevor ein Prüfvorgang beginnt. Das in jedem Register 96 gespeicherte Zeitwort wird einem gesonderten Eingang eines Multiplexers 97 zugeführt. Der Multiplexer 97 leitet die neun Bits TAP, DELAY und SELECT eines Zeitwortes eines ausgewählten Registers 96 zu einem Eingang des Multiplexers 93 weiter. Der Multiplexer 97 sendet die verbleibenden elf Bits des ausgewählten Zeitwortes zu einem Eingang einer Sequenziervorrichtung 98. Bei jedem Empfang eines Neuzyklus-Impulses schaltet die Sequenziervorrichtung 98 den Multiplexer 97 um, um das Zeitwort für den nächsten Prüfzyklus auszuwählen, und beginnt mit dem Zählen der T0 Signalimpulse. Wenn der Zählwert N erreicht, setzt die Sequenziervorrichtung 99 ein Flipflop 99 zurück, das dem Multiplexer 93 ein Sperrsignal (DISABLE) zuführt. Das Flip-Flop 99 wird durch das Ansteuerungssignal (DRIVE) gesetzt. In der Muster-Betriebsart wählt das in den Registern 99 gespeicherte Muster-Bit die Bits TAP, DELAY und SELECT von dem Multiplexer 97 und das Sperrbit (DISABLE) von dem Flip-Flop 99 aus. Die TEG-Schaltung 100 von 6 und die Multiplexer-Latchschaltung 80 von 2 verarbeiten diese Daten auf dieselbe Weise wie in der Prozessor-Betriebsart, um festzustellen, wann das Ansteuerungssignal (DRIVE) bestätigt werden soll. Das Flip-Flop 99 arbeitet auf ähnliche Weise wie das Flip-Flop 94, um die TEG-Schaltung 100 freizugeben, nachdem es das Ansteuerungssignal einmal während des Prüfzyklus auf den hohen Pegel gesteuert hat. Die spezielle Muster-Sequenziervorrichtung 98 folgt beim Auswählen eines Registers 96, nachdem jedes Neuzyklus-Signal bestimmt ist, durch Muster-Steuerungsdaten, die der Sequenziervorrichtung 98 durch den Hauptrechner über die I/O-Steuerungsvorrichtung 44 von 2 zugeführt werden, bevor der Prüfvorgang beginnt.
  • Um die TEG-Schaltung 100 für einen gesamten Prüfzyklus zu sperren, werden die elf Bits N eines Zeitwortes (TIMEWORD), das entweder in einem Register 96 gespeichert ist (für die Muster-Betriebsart) oder dem Register 90 zugeführt wird (für die Prozessor-Betriebsart), auf einen Wert eingestellt, der höher als die Länge des Prüfzyklus ist. In einem solchen Fall sind die Sequenziervorrichtungen 98 und 91 nicht in der Lage, hoch genug zu zählen, um die Flip-Flops 99 und 94 während jedes Prüfzyklusses zurückzusetzen. Wie weiter unten besprochen wird, führt die I/O-Steuerungsschaltung 44 der TEG-Schaltung 100 Kalibrierungsdaten (CAL) für eine kurzgefasste Steuerung der Zeitabstimmung der Signale DH0–DH7 zu.
  • 7 ist ein Blockdiagramm, das den Zeitereignis-Generator 100 von 6 beschreibt. Der Zeitereignis-Generator 100 enthält eine Gruppe aus acht identischen Auswahl- und Verzögerungszellen (S/D-Zellen) 110117. Wenn das Sperrbit (DISABLE) tief ist, wählt die S/D-Zelle 110 eines der Zeitabstimmungssignale T0–T3 aus, um es als Reaktion auf die beiden TAP-Bits des Zeitwortes als Zeitabstimmungssignal DH0 weiterzuleiten. Wenn die S/D-Zelle 110 das ausgewählte Abzapfsignal T0–T3 als das DH0-Signal weiterleitet, verzögert sie das ausgewählte Abzapfsignal (TAP) von null bis 15 "Verzögerungseinheiten", wie dies durch die vier Verzögerungsbits (DELAY) bestimmt wird. Wenn das Sperrbit (DISABLE) tief ist, zieht die Zelle 110 das Signal DH0 auf den tiefen Wert unabhängig von den Zuständen der ausgewählten Zeitabstimmungssignale T0–T3. Die S/D-Zellen 111117 arbeiten auf ähnliche Weise, wobei jede von ihnen eines von vier Oszillator-Anzapfsignalen als Reaktion auf die Bits TAP und DELAY auswählt und in abgestimmter Weise verzögert, um jeweils ein entsprechendes Ausgangssignal DH1–DH7 zu erzeugen. Wie weiter unten besprochen wird, empfängt jede S/D-Zelle auch Kalibrierungsdaten, die von der I/O-Steuerungsschaltung 44 von 2 eingegeben werden, welche die Signalausbreitungs-Verzögerung durch die S/D-Zellen aus weiter unten erklärten Gründen einstellt.
  • Die "Verzögerungseinheit", durch welche die S/D-Zellen die ausgewählte Anzapfung verzögern können, beträgt 1/16 der Zeitdifferenz zwischen den Impulsen aufeinanderfolgender Anzapfungen T0–T30 oder 1/17 der Verzögerung eines Gatters 45 des Oszillators 42 von 3. Während der phasenstarre Oszillator 42 von 2 Anzapfsignale T0–T30 erzeugt, welche den ROSC-Signalzyklus in 31 Zeitsegmente unterteilen, kann der Zeitereignis-Generator 100 jedes Zeitsegment weiter in 16 Untersegmente unterteilen. Die Verzögerungsdaten (DELAY) von dem Zeitwort stellen die Zeitabstimmung jedes Signalimpulses DH0–DH7 in Schritten von 1/(31 × 16) oder 1/496 eines ROSC-Signalzyklus ein. Somit können wir durch geeignetes Auswählen und Verzögern eines Signalimpulses DH0–DH7 einen Referenzsignal-Impuls erhalten, der bei allen der 496 gleichmäßig beabstandeten Zeiten während eines ROSC-Signalzyklusses auftritt.
  • 8 ist eine Kombination aus Blockdiagramm und Schaltbild, welche die S/D-Zellen 110 von 7 darstellen. Die anderen S/D-Zellen 111117 sind ähnlich. In 8 enthält die S/D-Zelle 110 einen Multiplexer (MUX) 120, der durch die beiden Anzapfsignal-Bits (TAP) gesteuert wird. Der Multiplexer 120 wählt eines der Anzapfsignale T0–T3 aus, um sie zu einer programmierbaren Verzögerungsschaltung (PROG.DELAY) 122 weiterzuleiten. Als Reaktion auf die vier Verzögerungsbits (DELAY) verzögert die Verzögerungsschaltung 122 das ausgewählte Anzapfsignal um eine bis 15 Verzögerungseinheiten, um das DH0-Ausgabesignal zu erzeugen. Ein Transistor 164, der durch das Sperrbit (DISABLE) gesteuert wird, koppelt das DH0-Signal an eine Quelle mit logisch "0" (tief), wenn das Sperrbit (DISABLE) hoch ist. Der Transistor 164 zieht das DH0-Signal nach unten, nachdem das Ansteuerungssignal (DRIVE) einmal während eines Prüfzyklusses bestätigt wird, so dass das ausgewählte Zeitabstimmungssignal T0–T3 nicht wiederholt das Ansteuerungssignal (DRIVE) während des Restes des Prüfzyklusses bestätigt.
  • Wie weiter unten besprochen, kommen die Impulse des ROSC-Signals von 1 bei den verschiedenen Knoten 14 zu unterschiedlichen Zeiten an, was zu Zeitabstimmungs-Differenzen zwischen den entsprechenden Oszillator-Anzapfsignalen T0–T30 dieser gesonderten Knoten führt. Auch wenn die Verzögerungsschaltung 116 von 3 hilft, Knoten/Knoten-Differenzen der Signalausbreitungs-Geschwindigkeiten aufgrund von Schwankungen bei der Verarbeitung der integrierten Schaltung und Umgebungsschwankungen zu kompensieren, können andere Faktoren, wie zum Beispiel zyklische Rausch-Störungen, zu kleinen Ausbreitungs-Differenzen führen. Zwei Kalibrierungsschaltungen 142 und 144 führen eine weitere Einstellung der Ausbreitungsverzögerung der ausgewählten Signale T0–T3 durch, um zu gewährleisten, dass die Ausbreitungsverzögerungen, die durch die Verzögerungsschaltungen 122 der gesonderten Knoten erzeugt werden, gleichwertig sind.
  • Eine Kalibrierungschaltung 124 innerhalb der S/D-Schaltung 110 von 8 enthält ein Register 126, einen Multiplexer 128, eine Gruppe von Stromquellen 130, 131 und 132 sowie drei Transistoren 140, 141 und 142. Die Transistoren 140142 koppeln jeweils die Stromquellen 130132 an den Eingang der Verzögerungsschaltung 122. Jedes Bit einer Drei-Bit-Ausgabe des Multiplexers 128 steuert den Gate-Anschluss eines gesonderten Transistors der Transistoren 140142. Der Hauptrechner speichert über die I/O-Schaltung 44 von 2 zwölf Bits in dem Register 126, und zwar drei Bits, die jedem der vier Anzapfsignale T0–T4 zugeordnet sind. Als Reaktion auf den Wert der Zwei-Bit-Abzapfdaten (TAP) wählt der Multiplexer 128 drei der Bits in dem Register 126 aus, um die Umschaltzustände der Transistoren 140142 zu steuern. Somit werden die speziellen Stromquellen 130132, die an den Eingang der Verzögerungsschaltung 122 gekoppelt sind, ausgewählt je nach dem, welche Anzapfung T0–T3 momentan ausgewählt ist, und dem Wert der in dem Register 126 gespeicherten zugeordneten Daten.
  • Die Stromquellen 130132 erzeugen Ströme mit jeweiligen relativen Größen 1, 2 und 4, und durch selektives Einschalten der Transistoren 140142 kann die Menge des Stromes, welcher dem Eingang der Verzögerungsschaltung 122 zugeführt wird, jede beliebige relative Größe 0–7 haben. Dieser Strom bewirkt eine Vorab-Ladung der Eingangs-Kapazität der Verzögerungsschaltung 122, so dass, wenn der Multiplexer 120 ein Signal zu der Verzögerungsschaltung weiterleitet, die Verzögerungsschaltung rascher reagiert. Durch Erhöhen der Menge des Stroms, der zum Vorab-Laden dieser Eingangs-Kapazität zur Verfügung steht, verzögern wir die Ausbreitungs-Verzögerung. Die in das Regis ter 126 geladenen Daten kalibrieren somit separat die Ausbreitungs-Verzögerung für jedes Zeitabstimmungs-Signal T0–T3.
  • Die zweite Kalibrierungsschaltung 144 enthält ein Register 146, einen Multiplexer 148, eine Gruppe aus Stromquellen 150, 151 und 152 sowie drei Transistoren 160, 161 und 162. Die Transistoren 160162 koppeln jeweils die Stromquellen 150152 an den Ausgang der Verzögerungsschaltung 122. Jedes Bit der Drei-Bit-Ausgabe des Multiplexers 148 steuert den Gate-Anschluss eines gesonderten Transistors der Transistoren 160162. Die I/O-Schaltung 44 von 2 speichert 48 Bits in dem Register 146, und zwar drei Bits, die jeder der 16 möglichen Verzögerungen zugeordnet sind, die durch die Vier-Bit-Verzögerungsdaten (DELAY) ausgewählt werden. Als Reaktion auf den Wert der Vier-Bit-Verzögerungsdaten wählt der Multiplexer 128 drei der Bits in dem Register 146 aus, um die Umschaltzustände der Transistoren 160162 zu steuern. Somit werden die speziellen Stromquellen 150152, die mit dem Ausgang der Verzögerungsschaltung 122 gekoppelt sind, je nach dem ausgewählten Betrag der Verzögerung der Verzögerungsschaltung 122 und dem Wert der zugeordneten Daten, die in dem Register 146 gespeichert sind, bestimmt. Die Kalibrierungsschaltung 144 arbeitet auf ähnliche Weise wie die Kalibrierungsschaltung 126, um die Ausbreitungsverzögerung in der Schaltung durch Vorab-Laden der Eingangskapazität der nächsten Stufe einzustellen, um die Reaktion der nächsten Stufe auf das DH0-Signal zu beschleunigen oder zu verlangsamen.
  • Während eines Kalibrierungsvorgangs werden alle Knoten von 1 so betrieben, dass sie ein Ausgabe-Prüfsignal zur selben Zeit bestätigen, und die DUT wird durch Geräte zum Messen kleiner Zeitdifferenzen zwischen Signalimpulsen ersetzt. Bei ausgeschalteten Transistoren 140142 wird die auf ein Minimum eingestellte Verzögerung der Verzögerungsschaltung 122 wie der Multiplexer 120 in allen Knoten so umgeschaltet, dass T0 ausgewählt wird. Wenn alle Knoten richtig kalibriert sind, bestätigen alle Knoten ihre Prüfsignale zur selben Zeit. Zeitabstimmungsdifferenzen werden überwacht, und die in dem Register 126 gespeicherten und der Anzapfung T0 zugeordneten drei Datenbits werden auf einer iterativen Basis für alle der Knoten überwacht, bis alle von ihnen ihre Prüf-Ausgabesignale zur selben Zeit innerhalb der Auflösung erzeugen, die durch die Kalibrierungsschaltung 124 erzeugt wird. Der Vorgang wird für jedes der Referenzsignale T1–T3 für alle der Knoten wiederholt.
  • Anschließend wird die Anzapfung T0 in jedem Knoten ausgewählt, die Prüfsignal-Zeitabstimmung wird für alle unterschiedlichen Verzögerungs-Einstellungen der Verzögerungsschaltung 122 verglichen, und die Daten in dem Register 146 werden iterativ eingestellt, um zu gewährleisten, dass alle Knoten Prüfsignale zur selben Zeit für jede Einstellung der Verzögerungsschaltung 122 innerhalb der durch die Kalibrierungsschaltung 144 ermöglichten Auflösung bestätigen. Der Kalibrierungsvorgang wird für alle S/D-Zellen 111117 des Zeitereignis-Generators 100 von 6 und 7 sowie für ähnliche Zeitereignis-Generatoren wiederholt, die in den Tief-Ansteuerungs-, den Hoch-Abtastungs-, den Tief-Abtastungs-, den Hoch-Dreizustands- und den Tief-Dreizustands-Schaltungen 7176 von 5 jeweils enthalten sind.
  • 9 ist eine Kombination aus Blockdiagramm und Schaltbild, die eine typische Multiplexer-Latchschaltung 80 von 5 beschreibt. Die Multiplexer-Latchschaltungen 82 und 84 sind ähnlich. Die Multiplexer-Latchschaltung 80 enthält acht CMOS-NICHT-UND-Gatter N0–N7, acht CMOS-UND-Gatter A0–A7, acht pMOS-Transistoren T0–T7, acht nMOS-Transistoren T8–T15, eine bistabile Latchschaltung 170 sowie zwei Dekodierer 172 und 174. Die Hochansteuerung-Auswahlsignale DHS0–DHS3 erzeugen eine Eingabe für den Dekodierer 172. Der Dekodierer 172 hat acht Ausgänge, die jeweils einen Eingang eines gesonderten Gatters der NICHT-UND-Gatter G0–G7 ansteuert und jeweils als Reaktion auf eine gesonderte Kombination von Dekodierer-Eingabebits bestätigt werden. Der Dekodierer 174 dekodiert die Tiefansteuerung-Auswahlsignale DLS0–DLS2, um acht Ausgaben zu erzeugen, die jeweils einen Eingang eines gesonderten Gatters von UND-Gattern A1–A7 als Reaktion auf eine gesonderte Kombination der Bits DLS0–DLS2 ansteuern.
  • Die Hochansteuerung-Zeitabstimmungsbits DH0–DH7 werden jeweils zweiten Eingängen der NICHT-UND-Gatter N0–N7 zugeführt, und die Tief-Ansteuerungsbits werden jeweils zweiten Eingängen von UND-Gattern A1–A7 zugeführt. Die Ausgaben der NICHT-UND-Gatter N0–N7 steuern jeweils die Gate-Anschlüsse der Transistoren T0–T7, und die Ausgaben der UND-Gatter A0–A7 steuern jeweils die Gate-Anschlüsse der Transistoren T8–T15. Der Source-Anschluss jedes Transistors T0–T7 ist an eine gemeinsame Spannungsquelle VSS angebunden, während der Source-Anschluss jedes Transistors T8–T15 geerdet ist. Die Drain-Anschlüsse aller Transistoren T0–T15 sind bei einem Knoten 176 miteinander verbunden. Die bistabile Latchschaltung 170 besteht aus zwei CMOS-Umkehrschaltungen I1 und I2. Der Ausgang von I2 ist mit dem Eingang von I1 verbunden, und der Ausgang von I1 ist mit dem Eingang von I2 sowie mit dem Schaltungsknoten 176 verbunden. Das Latchschaltung-Ausgabesignal (DRIVE) erscheint am Schaltungsknoten 176.
  • Als Reaktion auf ein spezielles Bitmuster DHS0–DHS2 steuert der Dekodierer 172 einen Eingang zum Beispiel des NICHT-UND-Gatters N0 auf den hohen Pegel. Wenn das NICHT-UND-Gatter N0 anschließend einen Impuls von dem Zeitabstimmungs-Signal DH0 empfängt, schaltet es den Transistor T0 ein, wodurch das An steuerungssignal (DRIVE) auf den hohen Pegel gezogen wird. Wenn das Ansteuerungssignal (DRIVE) auf den hohen Pegel schwingt, geht die Ausgabe Inverters I2 auf den tiefen Pegel und bewirkt wiederum, dass die Ausgabe des Inverters I1 auf den hohen Pegel geht. Nachdem das Zeitabstimmungs-Signal DH0 auf den tiefen Pegel geht, bewirkt die Ausgabe des Inverters I1 weiterhin, dass das Ansteuerungssignal (DRIVE) nach oben gezogen wird. Somit wird das Ansteuerungssignal (DRIVE) bis zum Rücksetzen auf dem hohen Pegel gehalten.
  • Um anschließend das Ansteuerungssignal (DRIVE) auf den tiefen Logikpegel rückzusetzen, steuert der Dekodierer 174 als Reaktion auf ein spezielles Bitmuster der DLS0–2 einen Eingang zum Beispiel des UND-Gatters A0 auf den hohen Pegel. Wenn das UND-Gatter A0 anschließend einen Impuls von dem Zeitabstimmungs-Signal DL0 empfängt, schaltet es den Transistor T8 ein, wodurch das Ansteuerungssignal (DRIVE) auf den tiefen Pegel gezogen wird. Der Transistor T8 ist relativ groß im Vergleich zu den die Umkehrschaltungen I1 und I2 bildenden Transistoren und überwindet ihre Latchwirkung. Wenn das Ansteuerungssignal (DRIVE) auf, den tiefen Pegel geht, geht die Ausgabe der Umkehrschaltung I2 auf den hohen Pegel und bewirkt wiederum, dass die Ausgabe der Umkehrschaltung I1 auf den tiefen Pegel geht. Nachdem das Zeitabstimmungs-Signal DL0 auf den tiefen Pegel geht, zieht der Ausgang der Umkehrschaltung I1 die Ansteuerung DRIVE weiterhin nach unten. Das Ansteuerungssignal DRIVE verbleibt danach in dem tiefen Logikzustand, bis ein Rücksetzen auf einen hohen Zustand durch eines der Hoch-Ansteuerungssignale DH0–DH7 erfolgt.
  • 10 ist ein Blockdiagramm, welches die Anweisungs-Verarbeitungsschaltung 36 von 2 beschreibt. Die Anweisungs-Verarbeitungsschaltung 36 enthält einen Mikroprozessor 180, der Anweisungen ausführt, die auf einem lokalen Bus 31 von dem Speicher 34 von 2 über eine Speicher-Managementeinheit 32 befördert werden. Wenn der Mikroprozessor 180 eine 24-Bit-Startadresse zu der Speicher-Managementeinheit 32 von 2 über den Bus 33 und Signale zu der Speicher-Managementeinheit 32 über die Steuerungsleitungen 183 sendet, reagiert die Speicher-Managementeinheit 32, indem sie drei Acht-Bit-Datenwörter aus dem Speicher 34 von 2 beginnend bei der angezeigten Adresse ausliest. Die Speicher-Managementeinheit 32 lädt die drei 8-Bit-Datenwörter in eine Gruppe aus drei Registern 181 und lädt dann gleichzeitig die Inhalte der Register als ein 24-Bit-Datenwort in einen ersten FIFO-Puffer 182, indem eine Verschiebung des Steuerungssignals SI auf den Steuerungsleitungen 183 bestätigt wird. Die Speicher-Managementeinheit 32 von 2 liest weiterhin 8-Bit-Datenwörter bei aufeinanderfolgenden Adressen des Speichers 34 aus und verschiebt sie als 24-Bit-Wörter in den FIFO-Puffer 182, bis der FIFO-Puffer voll ist. Die Speicher-Managementeinheit 32 führt dann dem Mikroprozessor 180 über die Steuerungsleitungen 183 Signale zu und teilt ihm mit, dass die Anweisungen in dem FIFO-Puffer 182 vorhanden sind.
  • Der Mikroprozessor 180 erzeugt dann sequentiell ein Herausschiebungs-Signal S0 (Dauerumschaltung), wodurch bewirkt wird, dass der FIFO-Puffer 182 eine nächste Anweisung aus dem Bus 33 herausschiebt. Der Mikroprozessor 180 liest dann die auf dem Bus 33 erscheinende Anweisung und führt sie aus. Diese Anweisungen bilden einen Algorithmus, der dem Mikroprozessor 180 mitteilt, eine Abfolge von Befehlen zu erzeugen, wobei jeder Befehl ein Zeitwort und ein Aktionswort (TIMEWORD und ACTIONWORD) enthält. Wie weiter oben besprochen, zeigt ein Aktionswort eine spezielle Handlung an, die während eines nächsten Prüfzyklusses durchzuführen ist, und zeigt ein Zeitwort eine Zeit während des nächsten Prüfzyklusses an, wann der Zeitformatierer von 4 die angezeigte Handlung einzu leiten hat. Der Mikroprozessor 180 gibt einen Aktionswort-Abschnitt des Befehls auf eine Gruppe von sechs Steuerungsleitungen L1–L6 aus und gibt den 20-Bit-Zeitwort-Abschnitt des Befehls auf den Bus 33 aus. Die Leitungen L1–L6 und die 20 Leitungen des Bus 33 befördern den Aktionswort/Zeitwort-Befehl zu der Zeitformatierer-Schaltung 38 von 5.
  • Bevor ein Prüfvorgang beginnt, speichert der Hauptprozessor über die I/O-Schaltung 44 von 2 einen Datenwert in einem Zähler 184 innerhalb der Anweisungs-Verarbeitungsschaltung 36, wodurch die Länge jedes Prüfzyklusses als Anzahl von Signalzyklen T0 angezeigt wird. Nach dem Empfang eines Start-Steuerungssignals (START) von dem Mikroprozessor 180 beginnt der Zähler 184 das Zählen der Signalimpulse T0. Wenn der Zählwert die angezeigte Grenze erreicht, erzeugt der Zähler 184 einen Neuzyklus-Impuls (NEWCYCLE) und beginnt seine Zählung der Signalimpulse T0 erneut. Wie zuvor besprochen, wird der Neuzyklus-Impuls zu den Schaltungen 7176 von 5 gesendet, um anzuzeigen, wann ein neuer Prüfzyklus beginnen soll.
  • Der Mikroprozessor 180 kann jedes beliebige von vier Laufzeit-Ausgabesignalen (RUNTIME) bestätigen, wovon jedes zu einer gesonderten Verbindung der vier Verbindungen 30 von 2 gesendet wird. Der Mikroprozessor 180 kann auch ein beliebiges von vier Laufzeit-Eingabesignalen empfangen, und zwar eines von jeder Verbindung 30. Die Ausgabe-Laufzeitsignale ermöglichen es dem Mikroprozessor 180, dem Hauptrechner oder anderen Knoten während eines Prüfvorgangs Signale zuzuführen, wenn diese Anweisung erfolgt, um zum Beispiel den Abschluss einer Prüfung anzuzeigen. Die Eingabe-Laufzeitsignale ermöglichen es dem Hauptrechner oder anderen Knoten, dem Mikroprozessor 180 während einer Prüfung Signale zuzuführen, um zum Beispiel den Beginn oder das Ende einer Prüfung zu markieren oder um dem Mikroprozessor 180 mitzuteilen, ein Unterbrechungsprogramm auszuführen.
  • Zu Beginn einer Prüfung reagiert der Mikroprozessor 180 auf ein Laufzeitsignal, indem er das Startsignal zu einem Zähler 184 sendet, um ihm mitzuteilen, das Zählen der Signalzyklen T0 zu beginnen, und indem er eine erste Adresse zu der Speicher-Managementeinheit über den Bus 33 sendet. Die Speicher-Managementeinheit sendet dann eine Abfolge von Anweisungen zu dem FIFO-Puffer 182. Wenn der Mikroprozessor 180 die Anweisungen ausliest und ausführt, sendet er einen Zeitwort/Aktionswort-Befehl zu dem Zeitformatierer 38 von 2 für jede Handlung, die während des nächsten Prüfzyklusses durchgeführt werden soll. Wenn der FIFO-Puffer 182 von den Anweisungen entleert ist, sendet der Mikroprozessor 180 eine weitere Adresse zu der Speicher-Managementeinheit 32 von 2, und die Speicher-Managementeinheit lädt den FIFO-Puffer erneut mit einem nächsten Satz Anweisungen. Eine letzte Anweisung während jedes Prüfzykluses teilt dem Mikroprozessor 180 mit, dass er ruhen soll, bis er ein Neuzyklus-Signal von dem Zähler 184 erhält, das den Beginn eines neuen Prüfzyklusses anzeigt. Der Mikroprozessor 180 beginnt dann erneut mit dem Auslesen von Anweisungen aus dem FIFO-Puffer 182 und ihrer Ausführung, um Zeitwort/Aktionswort-Befehle für den nächsten Prüfzyklus zu erzeugen. Der Vorgang wird für jeden Zyklus der Prüfung fortgeführt. Am Ende eines Prüfvorgangs kann eine letzte Anweisung dem Mikroprozessor 180 mitteilen, ein Ausgabe-Laufzeitsignal zu bestätigen, welches die Vollendung bzw. den Abschluss der Prüfung anzeigt. Die Netzwerk-Schnittstelle 30 von 2 kann so konfiguriert werden, dass sie dieses Signal in geeigneter Weise zu dem Hauptrechner oder anderen Knoten weiterleitet.
  • 10A ist ein Blockdiagramm, welches eine geeignete Architektur für den Mikroprozessor 180 von 10 veranschaulicht. Die primäre Funktion des Mikroprozessors 180 besteht darin, algorithmische Anweisungen durchzuführen, wie zum Beispiel Addieren, Subtrahieren, Bit-Verschieben, Verwenden von Unterprogrammen, Rekursion, Verzweigen sowie andere wohlbekannte algorithmische Verfahren, um Befehlsabfolgen zu erzeugen. Jeder Befehl enthält ein Zeitwort, das auf dem Bus 33 erzeugt wird, sowie ein Aktionswort, das auf den sechs Leitungen L1–L6 erzeugt wird.
  • Dem Fachmann ist geläufig, dass eine Anzahl wohlbekannter 24-Bit-Mikroprozessor-Architekturen derartige Funktionen implementieren können. In dem bevorzugten Ausführungsbeispiel enthält der Mikroprozessor 180 einen Anweisungs-Dekodierer 185, eine arithmetische Logikeinheit (ALU) 186, zwei Register 187, zwei Programmzähler 188 und eine Stapelschaltung 189. Der Anweisungs-Dekodierer 185 dekodiert 24-Bit-Anweisungen auf dem Bus 33, um mehrere Steuerungs-Ausgabebits zu erzeugen. Einige dieser Bits steuern das Laden von Daten in die Register 187 und wählen durch die ALU 186 durchzuführende Operationen aus. Die ALU 186 hat einen Ausgang, der über einen Dreizustands-Puffer 186A, der durch den Dekodierer 185 gesteuert wird, selektiv an den Bus 33 gekoppelt ist. Die ALU 186 hat zwei Eingänge, die jeweils geschaltet sind, um Daten zu empfangen, die in einem von den beiden Register 187 gesonderten Register gespeichert sind. Die Register 187 empfangen und speichern Daten, die auf dem Bus 33 erscheinen, wenn der Eingang durch Signale von dem Dekodierer 185 freigegeben wird. Die ALU 186 kann eine Ausgabe erzeugen, die selektiv entweder die Summe von oder die Differenz zwischen den beiden in den Registern 187 gespeicherten Werten ist, oder die eine bit-verschobene (mit zwei multiplizierte oder durch zwei dividierte) Version eines in dem einen und dem anderen Register gespei cherten Wertes ist. Die ALU 186 ist zum Beispiel nützlich, wenn eine Abfolge von Zeitwörtern erzeugt wird, wobei jedes aufeinanderfolgende Zeitwort eine Zeit darstellt, die von der Letzten um einen konstanten Betrag phasenverschoben ist. Die Programmzähler 188 haben Ausgänge, die mit dem Bus 33 durch die Dreizustands-Puffer 188A gekoppelt sind, sowie Eingänge, die mit dem Bus 33 durch die Dreizustands-Puffer 188B gekoppelt sind. Die Puffer 188A und 188B werden durch Signale von dem Dekodierer 185 gesteuert. Die Zähler 188 sind nützlich, um Anweisungsadressen im Auge zu behalten. Stapelschaltungen 189, die durch den Dekodierer 185 gesteuert werden, haben Ausgänge, die Adressen auf dem Bus 33 über Dreizustands-Puffer 189A empfangen, und Eingänge zum Ausgeben der Adressen aus dem Bus 33 über Dreizustands-Puffer 189B. Die Stapelschaltungen 189 enthalten Programmzähler, Stapelregister und andere Schaltungen, die auf wohlbekannte Art und Weise arbeiten, um Unterprogramm-Rücksprungadressen unter der Steuerung des Dekodierers 185 draufzulegen (push), abzuheben (pop), zu löschen (clear), zu halten (hold) oder zu inkrementieren.
  • 11 ist ein Blockdiagramm, das eine Netzwerk-Schnittstelle 30 einer Gruppe aus vier Netzwerk-Schnittstellen 30 von 2 darstellt. Jede Verbindung 30 empfängt die Daten auf einer gesonderten seriellen Eingangs-Übertragungsleitung 18 von einem vorhergehenden Netzwerkknoten und überträgt Daten auf einer seriellen Ausgangs-Übertragungsleitung 19 zu dem nächsten Netzwerkknoten mit einer klar definierten Übertragungszeit. Dies ermöglicht eine sehr hohe unidirektionale Bandbreite, die mit Standardbussen nicht möglich ist. Ein Dreizustands-Puffer 191 kann die hereinkommende Übertragungsleitung 18 mit einer Seriell/Parallel-Schnittstellenschaltung 190 selektiv koppeln. Ein weiterer Dreizustands-Puffer 192 kann die Seriell/Parallel-Schnittstellenschaltung 190 selektiv mit der herausgehenden Übertragungsleitung 19 koppeln.
  • Die Schnittstellenschaltung 190, bei der es sich zweckmäßigerweise um eine skalierbare, kohärente Schnittstelle vom IEEE-Standard 1596-1993 handelt, empfängt Daten von der Übertragungsleitung 18 in serieller Form, und leitet sie auf die herausgehende Übertragungsleitung 19 in serieller Form weiter und leitet sie auf den lokalen Bus 31 in paralleler Form weiter. Die Seriell/Parallel-Schnittstellenschaltung 190 kann auch auf dem Bus 31 empfangene parallele Daten in serieller Form von einer Übertragungsleitung 19 nach außen übertragen.
  • Eine Synchronisationsschaltung 193 erzeugt eine genaue Zeitabstimmung für die Übertragung und den Empfang von Laufzeit-Signalen, die auf der hereinkommenden Übertragungsleitung 18 und der herausgehenden Übertragungsleitung 19 befördert werden. Die Synchronisationsschaltung 193 umfasst drei Dreizustands-Puffer 195197, drei D-Flip-Flops 200201 und eine Zeitabstimmungsschaltung (TIMINIG) 203. Ein Ring 18 (Ringlein, ringlet) ist mit den D-Eingängen der Flip-Flops 200 und 201 verbunden, und der Puffer 195 koppelt den Q-Ausgang des Flip-Flops 200 an die herausgehende Übertragungsleitung 19. Der Puffer 196 befördert ein Laufzeitsignal zu der Anweisungs-Verarbeitungseinheit 36 von dem Q-Ausgang des Flip-Flops 201. Ein durch die Anweisungs-Verarbeitungseinheit 36 von 2 erzeugtes Laufzeitsignal steuert den D-Eingang des Flip-Flops 202 an. Ein Puffer 197 koppelt das Laufzeitsignal an dem Q-Ausgang des Flip-Flops 202 auf die herausgehende Übertragungsleitung 19. Die Zeitabstimmungs-Schaltung 203 steuert die Takteingänge der Flip-Flops 200202 als Reaktion auf eine Steuerungseingabe von der I/O-Steuerungsvorrichtung 44 von 2, wobei die Zeitabstimmungs-Signale T0–T30 als Referenz verwendet werden. Ein Register 206 speichert ein Datenwort von der I/O-Steuerungsvorrichtung 44 von 2, wobei jedes Bit des gespeicherten Da tenwortes die Freigabe der Dreizustands-Puffer 190197 steuert.
  • Wenn die Übertragungsleitungen 18 und 19 zum Befördern der Anweisungen oder Steuerungsdaten von Knoten zu Knoten verwendet werden, werden die Puffer 191 und 192 freigegeben, wodurch die Schnittstellenschaltung 190 zwischen die Übertragungsleitungen geschaltet wird. In dieser Konfiguration kann ein Hauptrechner auf den lokalen Bus 31 jedes Knotens über die Seriell/Parallel-Schnittstelle 190 zugreifen. Mit dem Zugriff auf den Bus 31 kann der Hauptrechner eine Anweisung in den Speicher 34 von 2 über die Speicher-Managementeinheit 32 schreiben, Steuerungsdaten in die verschiedenen Vorrichtungen 36, 38 und 40 von 2 über die I/O-Steuerungsvorrichtung 44 von 2 schreiben und erfasste Prüfdaten aus dem Erfassungsspeicher innerhalb der DUT-Schnittstellenschaltung 40 von 2 über die I/O-Steuerungsvorrichtung 44 auslesen.
  • Während eines Prüfvorgangs können die Übertragungsleitungen 18 und 19 verwendet werden, um Laufzeitsignale in den Knoten hinein und aus ihm heraus zu befördern. Nach einer derartigen Betriebsart wird der Puffer 195 freigegeben, und die Zeitabstimmungsschaltung 203 taktet das Flip-Flop 200 periodisch, wodurch ein auf der Übertragungsleitung 18 erscheinendes Laufzeitsignal auf die Übertragungsleitung 19 geschaltet wird. Wenn der Knoten auf ein Laufzeitsignal auf der Übertragungsleitung 18 reagieren soll, wird der Puffer 196 ebenfalls freigegeben, und die Zeitabstimmungsschaltung 203 taktet periodisch das Flip-Flop 201, so dass das Flip-Flop 201 das auf der Übertragungsleitung 18 erscheinende Laufzeitsignal auf die Verarbeitungseinheit 36 von 2 weiterleitet. Wenn der Knoten ein Laufzeitsignal während eines Prüfvorgangs erzeugen soll, wird der Puffer 137 freigegeben. Die Zeitabstimmungsschaltung 203 taktet periodisch das Flip-Flop 202 und bewirkt, dass das Flip-Flop 202 seinen Laufzeit-Signaleingang periodisch auf die Übertragungsleitung 19 schaltet.
  • 12 ist ein Blockdiagramm, welches veranschaulicht, wie die Laufzeitsignale von Knoten zu Knoten durch eine Netzwerk-Schnittstelle hindurchtreten. 12 zeigt relevante Abschnitte jeder Verbindung 30 eines Netzwerks, das aus N Knoten besteht, die als Knoten 0 bis Knoten N – 1 gekennzeichnet sind und in einer Schleife geschaltet sind, wobei die herausgehende Übertragungsleitung 19 jedes Knotens mit der hereinkommenden Übertragungsleitung 18 des nächsten verbunden ist. In dem Beispiel erzeugt der Prozessor des Knotens 0 ein Laufzeitsignal, das um die Netzwerkschleife herum zu der Verbindung in jedem Knoten läuft und von der Verbindung zu der Anweisungs-Verarbeitungseinheit innerhalb jedes Knotens läuft. In dem Beispiel von 12 sind die Puffer 191, 192 und 195197 von 11 nicht gezeigt, doch es wird angenommen, dass die Puffer 191 und 192 aller Knoten gesperrt sind, der Puffer 196 aller Knoten freigegeben ist, der Puffer 195 nur in dem Knoten 0 gesperrt ist und der Puffer 197 nur in dem Knoten 0 freigegeben ist.
  • Um eine synchrone Reaktion für ein Laufzeitsignal durch alle Konten zu erzeugen, sollten Impulse des Laufzeitsignals allen Mikroprozessoren innerhalb aller Knoten zur selben Zeit zugeführt werden. Offensichtlich wird ein von dem Knoten 0 ausgehender Laufzeit-Impuls nicht bei allen Knoten zur selben Zeit ankommen. Ein von dem Knoten 0 ausgehender Laufzeit-Impuls wird jedoch sequentiell auf den D-Eingang des Flip-Flops 200 jedes aufeinanderfolgenden Knotens der Schleife geschaltet und anschließend durch alle Flip-Flops 201 hindurch gleich zeitig getaktet, so dass das Signal zu dem Mikroprozessor jedes Knotens zur selben Zeit gesendet wird.
  • 13 zeigt die Flip-Flop-Zeitabstimmung für 2, wenn die Anzahl der Knoten N vier beträgt. Alle der Zeitabstimmungssignale 0T, 1T, ..., NT haben die selbe Periode N·T, wobei T eine Einheits-Verzögerungsperiode ist und in geeigneter Weise größer als oder gleich groß wie die maximale mögliche Signalausbreitungs-Verzögerung durch den langsamsten Knoten des Netzwerkes ist. Das Signal 0T, welches das Flip-Flop 202 des Knotens 0 taktet und die Signale NT, welche die Flip-Flops 201 aller Knoten takten, sind miteinander in Phase. Jedoch sind alle anderen Signale 1T–NT voneinander um T Picosekunden phasenverschoben.
  • Wenn der Knoten 0 das Laufzeit-Signal bestätigt, macht das Flip-Flop 202 des Knotens 0 nichts, bis das Signal 0T es zu einer Zeit 0 taktet. Bei diesem Punkt geht der Laufzeitsignal-Zustand zu dem Q-Ausgang des Flip-Flops 202 des Knotens 0 über und erscheint an den D-Eingängen der Flip-Flops 200 und 201 des Knotens 0. T Pikosekunden später wird das Flip-Flop 200 des Knotens 1 getaktet, wodurch das Laufzeitsignal auf die Flip-Flops 200 und 201 des Knotens 0 übergeleitet wird. Zu einem Zeitpunkt 2·T wird das Flip-Flop 200 des Knotens 0 getaktet, wodurch das Laufzeitsignal auf die Flip-Flops 200 und 201 des Knotens 3 übergeleitet wird. Dieser Vorgang geht weiter, bis bei einem Zeitpunkt (N – 1)·T das Flip-Flop 200 des Knotens N getaktet wird, wodurch das Laufzeitsignal auf das Flip-Flop 201 des Knotens 0 geleitet wird. An diesem Punkt erscheint der selbe Laufzeitsignal-Zustand an den D-Eingängen zu allen Latchschaltungen 201. Schließlich führen zum Zeitpunkt N·T die Signale NT eine gleichzeitige Taktung der Flip-Flops 201 aller Knoten durch, so dass sie das Laufzeitsignal gleichzeitig auf ihre Anweisungs-Verarbeitungsschaltungen übertragen.
  • 14 ist ein Blockdiagramm, welches die Zeitabstimmungsschaltung 203 von 11 veranschaulicht, welche die Flip-Flop-Taktsignale zu den Flip-Flops 200202 erzeugt. Die Zeitabstimmungsschaltung 203 enthält einen Zeitgeber 211, der ein die Flip-Flops 202 von 11 taktendes Zeitabstimmungssignal erzeugt, sowie Zeitgeber 212A und 212B, welche die Flip-Flops 200 und 201 von 11 taktende Zeitabstimmungssignale erzeugen. Der Zeitgeber 211 enthält eine Gruppe aus Registern 213, die Steuerungsdaten enthalten, die zu ihnen von dem Hauptrechner über die T/O-Steuerungsvorrichtung 44 von 2 vor dem Beginn eines Prüfvorgangs übertragen werden. Ein Multiplexer 215 unter der Steuerung der Daten in den Registern 216 wählt ein Signal aus den Referenz-Zeitabstimmungssignalen T0–T30 aus, die durch den Oszillator 42 von 2 erzeugt werden, und leitet es zu einem Takteingang eines D-Flip-Flops 214 weiter. Ein Zähler 215 zählt die Signalimpulse T0 und führt einen Ausgabe-Signalimpuls dem D-Eingang des Flip-Flops 214 immer dann zu, wenn der Zählwert eine Grenze erreicht, die durch Daten in den Registern 212 angezeigt wird. Die Q-Ausgabe des Flip-Flops 214, die den Zählwert des Zählers 215 rücksetzt, liefert das Zeitabstimmungssignal, welches das Flip-Flop 202 von 11 taktet. Die Daten in den Registern 216 werden so eingestellt, dass das Zeitabstimmungssignal an dem Q-Ausgang des Flip-Flops 214 die Periode N·T hat.
  • Die Zeitgeber 212A und 212B sind ähnlich wie der Zeitgeber 211 mit der Ausnahme, dass ihre internen Zähler durch die Ausgabe des Zeitgebers 211 rückgesetzt werden und nicht durch ihre eigenen Ausgaben. Da ihre internen Zähler durch das NT-Signal rückgesetzt werden, haben ihre Ausgangssignale eben falls eine Periode N·T. Durch Einstellen der Steuerungsdaten in den Zeitgebern 212A und 212B können jedoch ihre Ausgangssignale um jeden beliebigen Betrag von dem NT-Signal phasenverschoben werden.
  • Jeder Knoten in dem bevorzugten Ausführungsbeispiel des Prüfgeräts enthält vier Verbindungen, die zu der in 11 dargestellten einen Verbindung 30 ähnlich sind. Jede Verbindung eines Knotens hat eine gesonderte hereinkommende Übertragungsleitung 18 und eine gesonderte herausgehende Übertragungsleitung 19. Alle vier Verbindungen können ihre hereinkommenden und/oder herausgehenden Übertragungsleitungen an den lokalen Bus 31 koppeln, wenn auch nicht gleichzeitig. Die vier Verbindungen in jedem Knoten werden mit entsprechenden Verbindungen ihrer beiden benachbarten Knoten verbunden, um vier unabhängige Schleifen-Netzwerke zu bilden. Diese vier unabhängigen Netzwerke ermöglichen es, das Prüfgerät auf vielfältige Weise zu konfigurieren, wie dies weiter unten dargestellt ist.
  • Die Hauptrechner-Schnittstelle 20 von 1 ist in ihrem Aufbau und ihrer Funktionsweise im Wesentlichen ähnlich wie die in jedem Knoten enthaltenen Verbindungen 30 von 2.
  • 15 ist ein Blockdiagramm, das eine "Ein-Knoten-Pro-Kontaktstift"-Betriebskonfiguration für das Integrierte-Schaltungs-Prüfgerät 10 von 1 darstellt, bei welcher das Prüfgerät eine Prüfung an einer einzigen 16-Kontaktstift-DUT 220 durchführt. Die DUT-Stifte sind mit A0–A15 bezeichnet. Das in 15 gezeigte Prüfgerät hat nur 16 Knoten ND0–ND15, wobei jedoch ein Prüfgerät eine viel größere Anzahl von Knoten haben kann und es mehr Knoten als Kontaktstifte auf der DUT haben kann. Wie in 15 gezeigt, enthält jeder Knoten ND0–ND15 vier Verbindungen (A–D) zusammen mit den Anweisungs-Speicher- und Verarbeitungsabschnitten (ISP) des Knotens 14, einschließlich allen in 2 gezeigten mit Ausnahme der Netzwerk-Schnittstelle 30. Jeder Knoten ND0–ND15 ist mit einem entsprechenden Stift A0–A15 der DUT 220 verbunden, um Prüfsignale zu ihr zu übertragen und/oder Ausgangssignale von ihr zu empfangen. Der Hauptprozessor (Host) ist nicht gezeigt.
  • Bei dieser Konfiguration speichert der Anweisungsspeicher in jedem Knoten alle Anweisungen, die benötigt werden, um die Prüfsignal- und Datenerfassungs-Operationen für den DUT-Kontaktstift zu definieren, mit dem der Knoten verbunden ist. Die einzige Kommunikation zwischen den Knoten 14 während einer Prüfung erfolgt über ein Laufzeitsignal. In dem Beispiel von 15 sind die Verbindungen A der 16 Knoten auf ähnliche Weise wie in 12 gezeigt gekoppelt und befördern das Laufzeitsignal während des Prüfvorgangs von Knoten zu Knoten. Die verbleibenden Verbindungen B–D sind inaktiv, da ihre Dreizustands-Puffer 191197 (11) nicht freigegeben sind. Falls mehr als ein Laufzeitsignal während einer Prüfung benötigt würde, könnten eine oder mehrere andere Verbindungen B–D durch Einschalten der passenden Puffer 195197 (11) aktiviert werden.
  • 16 ist ein Blockdiagramm, das eine "Mehrere-Knoten-Pro-Kontaktstift"-Betriebskonfiguration für das Integrierte-Schaltungs-Prüfgerät von 1 darstellt. Bei dieser Konfiguration führt das Prüfgerät eine Prüfung an einer DUT 230 durch, bei der die Anweisungs-Speicheranforderungen für einen oder mehrere Kontaktstifte die Kapazität des lokalen Anweisungsspeichers überschreiten. In einem solchen Fall verwendet das System verfügbare Anweisungs-Speicherkapazität in anderen Knoten. Bei dem vereinfachten Beispiel von 16 hat die DUT 230 nur drei Kontaktstifte A0 bis A2, auf die durch die jeweiligen Knoten ND6, ND7 und ND8 zugegriffen wird. Die verbleibenden Knoten sind mit den DUT-Kontaktstiften nicht verbunden. Während eines Prüfvorgangs sind die Verbindungen A, C und D aller Knoten für eine serielle Datenübertragung von Knoten zu Knoten miteinander verbunden. Wie man in
  • 11 sieht, werden die Puffer 191 und 192 der Verbindung A freigegeben, und die Puffer 195197 werden gesperrt. Während der Prüfung liest die ISP-Schaltung von Knoten 7 Anweisungen nicht nur aus ihrem eigenen lokalen Anweisungsspeicher aus, sondern auch aus den Anweisungsspeichern der Knoten ND0, ND1 und ND3 über das Netzwerk der Verbindung A. Auf ähnliche Weise kann der Knoten ND8 Anweisungen von den Knoten ND10, ND12 und ND14 über das Netzwerk der Verbindung C erhalten, und der Knoten ND6 kann Anweisungen von den Knoten ND2, ND4 und ND5 über die Verbindungen D erhalten. Gleichzeitig können die Verbindungen B aller Knoten miteinander verbunden sein, wie in 12, um einen Laufzeit-Signalweg zu erzeugen.
  • Einer der anderen Knoten, die mit einem DUT-Kontaktstift nicht verbunden sind und keine Anweisungen für einen anderen Knoten speichern, wie zum Beispiel der Knoten ND15, kann als "Hauptrechner" wirken. Das heißt, die in seinem Speicher gespeicherten Anweisungen können ihrem Anweisungsprozessor mitteilen, wann er ein Laufzeitsignal an die anderen Knoten über die Verbindungen B übertragen soll und ihnen mitteilen, eine Prüfung zu beginnen. Der Knoten ND15 kann auch Unterbrechungsprogramme speichern, um mitzuteilen, wie er auf Laufzeitsignale von anderen Knoten reagieren soll, die zum Beispiel Fehler oder das Ende einer Prüfung signalisieren können. Ein hereinkommendes Laufzeitsignal könnte dem Knoten ND15 mitteilen, erfasste Prüfdaten auf einem Erfassungsspeicher in einem der anderen Knoten zum Beispiel über die Verbindung A auszulesen und die selbe Handlung auf der Grundlage des Wertes der Daten durchführen. Eine solche Handlung könnte darin bestehen, eine Adresse zu einem oder mehreren anderen Knoten über die Verbindung A zu senden, wodurch der lokale Speicherort einer Gruppe durchzuführender Anweisungen angezeigt wird. Dies verleiht dem Prüfgerät die Fähigkeit, als Reaktion auf Werte erfasster Prüfdaten automatisch den Verlauf einer Prüfung zu verändern.
  • 17 ist ein Blockdiagramm, welches eine "Mehrfach-DUT"-Betriebskonfiguration für das Integrierte-Schaltungs-Prüfgerät von 1 darstellt. Bei dieser Konfiguration kann das Prüfgerät unabhängige Prüfungen an mehr als einer DUT durchführen. In dem Beispiel von 17 werden zwei 8-Kontaktstift-DUTs 240 und 250 geprüft. Die Knoten ND0–ND3 und ND12–ND15 prüfen die Stifte B0–B7 der DUT 240, während die Knoten ND4–ND7 und ND8–ND11 die Kontaktstifte A0–A7 der DUT 250 prüfen. Die Verbindungen A aller Knoten sind auf die in 12 dargestellte Weise miteinander verbunden, um einen Laufzeit-Signalweg für die Prüfung der DUT 250 zu erzeugen, während die Verbindung B aller Knoten auf ähnliche Weise miteinander verbunden sind, um einen Laufzeit-Signalweg für die Prüfung der DUT 240 zu erzeugen. Die beiden Prüfungen können völlig unabhängig voneinander ohne jegliche Laufzeitsignal-Koordination zwischen den beiden Prüfungen durchgeführt werden. In dieser Konfiguration arbeitet das Prüfgerät als zwei unabhängige Prüfgeräte.
  • PRÜFGERÄT-PROGRAMMIERUNG
  • Um das Prüfgerät zu programmieren, stellt ein Benutzer dem Hauptrechner eine Hardware-Beschreibungssprache-(HDL)-Beschreibung einer Prüfung zur Verfügung. Die HDL-Beschreibung ist ein Abfolge von Datenpositionen der Form (Zeit, Aktionswort, Knoten) beziehungsweise (TIME, ACTIONWORD, NODE). "Knoten" (NODE) zeigt den speziellen Knoten an, der eine Handlung durchführen soll. Die Größe des Knotens hängt von der Anzahl der Knoten in dem Prüfgerät ab. In einem 256- Knoten-Prüfgerät besteht Knoten (NODE) aus acht Bit. "Zeit" (TIME) zeigt eine vergangene Zeit seit dem Beginn der Prüfung an, bei der die Handlung durchzuführen ist. Wenn die Prüfung in 2N Prüfzyklen unterteilt ist und jeder Prüfzyklus in 2M Zeitschlitze aufgelöst ist, ist Zeit (TIME) ein (M + N)-Bit-Wort.
  • "Aktionswort" (ACTIONWORD) ist ein Sechs-Bit-Wert, der eine Handlung oder Handlungen anzeigt, die durch einen Knoten durchgeführt werden sollen. Die möglichen Handlungen sind Hoch-Ansteuern, Tief-Ansteuern, Hoch-Vergleichen, Tief-Vergleichen, Hoch-Dreizustand und Tief-Dreizustand. Das Aktionswort wird kodiert, wie in Tabelle I gezeigt. So zeigt zum Beispiel ein Aktionswort-Wert (100010) an, dass das Prüfgerät den Knoten-Ausgang hoch ansteuern soll und gleichzeitig seine Dreizustands-Puffersteuerung hoch einstellen soll, so dass ein Hoch-Logikwert-Prüfsignal zu dem Kontaktstift der zu prüfenden Vorrichtung gesendet wird. Andere als die in Tabelle I gezeigten Werte von Aktionswort sind ungültig.
  • TABELLE I
    Figure 00480001
  • Der Hauptrechner wandelt die HDL-Prüfbeschreibung in eine Gruppe von Algorithmen um, und zwar in einer für jeden Knoten, und speichert die Algorithmen in den Knotenspeichern. Jeder gespeicherte Algorithmus teilt einem Knoten mit, einen Prüfvektor der Form (TIMEWORD, ACTIONWORD) beziehungsweise (Zeitwort, Aktionswort) während jedes Zyklusses der Prüfung zu erzeugen. Wie zuvor besprochen, zeigt TIMEWORD eine spezielle Zeit bezüglich des Beginns des Prüfzyklusses an, bei dem die Handlung durchzuführen ist. Der 6-Bit-Prüfvektor ACTIONWORD hat eine identische Bedeutung wie das 6-Bit-HDL-Sprache-Aktionswort ACTIONWORD. Man beachte jedoch, dass sich das 20-Bit-Zeitwort TIMEWORD von der (10 + N)-Bit-Zeit TIME der HDL-Abfolge unterscheidet. TIME zeigt eine Gesamtzeit vom Beginn der Prüfung an, bei der eine Handlung auftreten soll, während TIMEWORD nur eine relative Zeit innerhalb einer Prüfperiode anzeigt, bei der die Handlung auftreten soll. Das 20-Bit-Zeitwort TIMEWORD ist um N Bits kleiner als der entsprechende TIME-Wert, da es keine Prüfzyklus-Zahl enthält. Bei einer Prüfung, in der zum Beispiel 220 Prüfzyklen erfolgen, benötigt TIME zusätzliche 20 Bits, um den Prüfzyklus anzuzeigen. Jeder Prüfvektor wird dem Zeitformatierer 38 von 2 zugeführt. Der Formatierer 38 reagiert auf einen Prüfvektor, indem er die angezeigte Handlung zu der angezeigten Zeit in der weiter oben beschriebenen Art und Weise durchführt.
  • Jeder durch den Hauptrechner als Reaktion auf die eingegebene HDL-Prüfbeschreibung erzeugte Algorithmus enthält eine Abfolge von 24-Bit-Anweisungen, die in aufeinanderfolgenden Adressen des Knotenspeichers gespeichert werden. Mehrere Arten derartiger Anweisungen sind in Tabelle II aufgelistet. Jede dieser Anweisungen werden weiter unten ausführlicher besprochen.
  • TABELLE II
    Figure 00500001
  • 18 ist ein Daten-Flussdiagramm, welches die Art und Weise darstellt, in der der Hauptrechner 22 von 1 die eingegebene HDL-Beschreibung einer Prüfung in die in den Knotenspeichern gespeicherten gesonderten Algorithmen umwandelt. Ausgehend von Schritt 300 führt der Hauptrechner anfänglich einen Analyse-Algorithmus (Parsing) an dem eingegebenen HDL-Code-NODE-Wert durch, um zu bestimmen, welche Prüfgerätknoten während der Prüfung aktiv sein sollen. Bei Schritt 301 selektiert der Hauptrechner die Periode der für die Prüfung zu verwendenden Prüfzyklen, indem die kürzeste Periode zwischen aufeinanderfolgenden Handlungen bei jedem Knoten bestimmt wird. Der Hauptrechner macht dies, indem er die HDL-Beschreibungs-TIME-Werte für aufeinanderfolgende Handlungen an den Knoten vergleicht.
  • Bei Schritt 302 selektiert der Hauptrechner einen ersten der aktiven Knoten als einen "aktuellen Knoten", und bei Schritt 304 filtert und modifiziert er die HDL-Beschreibung, um eine neue Datensequenz zu erzeugen, die für den aktuellen Knoten spezifisch ist. Die HDL-Eingabe bei Schritt 302 ist eine Sequenz von Wörtern der Form (TIME, ACTIONWORD, NODE). In Schritt 302 wird die HDL-Sequenz von Wörtern befreit, bei denen NODE sich nicht auf den in Schritt 302 selektierten aktuellen Knoten bezieht. Der NODE-Wert wird aus den HDL-Wörtern entfernt. Somit ist die Ausgabe von Schritt 302 eine Sequenz der Form (TIME, ACTIONWORD) und befördert die Zeitabstimmungs- und Handlungsinformation nur für den aktuellen Knoten.
  • Bei Schritt 306 ruft der Hauptrechner ein "Umwandlungs"-Unterprogramm auf, in welchem die Ausgabesequenz von Schritt 304 in einen Satz Anweisungen umgewandelt wird, die durch den aktuellen Knoten ausgeführt werden sollen. Bei Schritt 308 speichert der Hauptrechner die Anweisungen in dem Speicher des Knotens. Er speichert in dem Knotenspeicher auch einen Satz Unterprogramme, welche dem Knoten mitteilen, wie er jede Anweisung ausführen soll. (Diese Unterprogramme werden weiter unten ausführlicher beschrieben.) Wenn bei Schritt 310 der Hauptrechner feststellt, dass der aktuelle Knoten nicht der letzte Knoten auf seiner Liste der aktiven Knoten ist, kehrt er zu Schritt 302 zurück, und der Hauptrechner selektiert einen nächsten Knoten aus der Liste als aktuellen Knoten und wiederholt die Schritte 302 bis 308, um einen Algorithmus für den nächsten Knoten zu erzeugen. Der Prozess schreitet fort, bis der Hauptrechner einen gesonderten Algorithmus für jeden aktiven Knoten erzeugt hat und in den Knotenspeichern gespeichert hat. Bei diesem Punkt endet das Hauptprogramm (Schritt 314).
  • 19 ist ein Daten-Flussdiagramm, welches das Umwandlungs-Unterprogramm darstellt, das bei Schritt 306 von 18 aufgerufen wird. Dieses Unterprogramm wandelt die HDL-Beschreibung bezüglich eines einzelnen Knotens in einen Satz algorithmischer Anweisungen für diesen Knoten um. Am Anfang bei Schritt 320 werden die (TIME, ACTIONWORD)-Datenpositionen der eingegebenen HDL-Sequenz in NOMAP-Anweisungen der Form (0, TIMEWORD, ACTION) umgewandelt. Das höchstwertige Bit der NOMAP-Anweisung ist eine "0", wodurch die Anweisung als NOMAP-Typ identifiziert wird. Die nächsten 20 Bits (TIMEWORD) der NOMAP-Anweisung zeigen einen Zeitschlitz innerhalb eines Prüfzyklus an, um eine Handlung durchzuführen. Die verbleibenden drei Bits (ACTION) der NOMAP-Anweisung zeigen die durchzuführende Handlung an. Der 3-Bit-ACTIONWORD-Wert ist eine komprimierte Form des 6-Bit-ACTIONWORD-Codes der HDL-Prüfbeschreibung. Die Tabelle III zeigt die Umwandlungen zwischen ACTION und ACTIONWORD.
  • TABELLE III
    Figure 00520001
  • In der Eingabesequenz zu Schritt 320 zeigt jedes (TIME, ACTIONWORD)-Wort eine zu einer speziellen Zeit durchzuführende Handlung an. Da die HTL-Beschreibung die Prüfung nicht in Prüfzyklen organisiert, gibt es keine Übereinstimmung zwischen (TIME, ACTIONWORD)-Wörtern und Prüfzyklen. Der Hauptrechner erzeugt jedoch bei Schritt 320 eine Sequenz aus NOMAP-Anweisungen, und zwar eine für jeden Prüfzyklus, wobei die Prüfung in Prüfzyklen mit einer Periode organisiert werden, die zuvor bei Schritt 301 von 18 bestimmt wird. Wenn mehrere Prüfzyklen zwischen Zeiten auftreten, die durch zwei aufeinanderfolgende eingegebene (TIME, ACTIONWORD)-Wörter dargestellt sind, erzeugt der Hauptrechner mehrere ähnliche NOMAP-Wörter, und zwar eines für jeden Prüfzyklus.
  • Die Position jeder NOMAP-Anweisung in der erzeugten Sequenz zeigt den Prüfzyklus für die durchzuführende Handlung an, und ihr TIMEWORD-wert zeigt die Zeit während des Zyklusses an, bei der die Handlung durchzuführen ist. Der Schritt 320 ist der einzige Umwandlungsschritt in dem Umwandlungsprogramm, bei dem die Ausgabesequenz länger als die Eingabesequenz ist. Die verbleibenden Umwandlungsschritte 322328 komprimieren progressiv die Ausgabesequenz von Schritt 320.
  • Nach dem Umwandeln der HDL-Sequenz in eine Sequenz von 24-Bit-NOMAP-Anweisungen bei Schritt 320 komprimiert der Hauptrechner die Sequenz der NOMAP-Anweisungen, wo dies möglich ist, indem zusammenhängende Gruppen aus 21 NOMAP-Anweisungen in einzelne 24-Bit-ACTSEL-Anweisungen umgewandelt werden (Schritt 322). Somit befördert eine 24-Bit-ACTSEL-Anweisung dieselbe Information wie 21-NOMAP-Anweisungen. Das ACTSEL-Anweisungsformat verwendet die Tatsache, dass Handlungen oftmals von einem Knoten zur selben relativen Zeit während zahlreicher aufeinanderfolgender Zyklen einer Prüfung durchgeführt werden. Somit kann der Wert von TIMEWORD über viele Prüfzyklen hinweg unverändert bleiben. Sobald der Wert von TIMEWORD durch eine NOMAP-Anweisung festgelegt ist, kann somit dieser TIMEWORD-Wert während aufeinanderfolgender Zyklen verwendet werden, bis er verändert werden muss. Somit brauchen Anweisungen, welche der NOMAP-Anweisung folgen, die einen TIMEWORD-Wert definiert, nicht selbst eine Zeitabstimmung anzeigen, es sei denn, die Zeitabstimmung ändert sich gegenüber vorhergehenden Zyklen. Die ACTSEL-Anweisung selbst befördert keine Zeitabstimmungs-Information direkt, sondern zeigt inhärent an, dass 21 aufeinanderfolgende Handlungen jeweils zur selben relativen Zeit während 21 aufeinanderfolgender Prüfzyklen durchzuführen sind, und dass die relative Zeit durch das Zeitwort TIMEWORD angezeigt wird, das durch die letzte vorhergehende NOMAP-Anweisung erzeugt wird.
  • Das ACTSEL-Anweisungsformat nutzt auch die Tatsache, dass bei einem gegebenen Knoten die Handlungen gewöhnlicherweise auf zwei und nicht auf vier Wahlmöglichkeiten begrenzt sind. Wie man in Tabelle III sieht, kann ein Knoten oftmals auf eine Hin- und Herschaltung beschränkt werden zwischen Hoch-Ansteuerung und Tief-Ansteuerung (ACTION-Codes 101 und 100) oder zwischen Hoch-Vergleich und Tief-Vergleich (ACTION-Codes 011 und 010) während aufeinanderfolgender Zyklen. Man beachte, dass beim Hin- und Herschalten zwischen Hoch-Ansteuerung und Tief-Ansteuerung oder zwischen Hoch-Vergleich und Tief-Vergleich sich nur das letzte Bit des ACTION-Codes verändert.
  • Eine ACTSEL-Anweisung hat die Form (100, A[0], ..., A[20]). Die ersten drei Bits (101) identifizieren sie als eine ACTSEL-Anweisung, und die verbleibenden 21 Bits A[0], ..., A[20] zeigen jeweils eine Handlung an, die während 21 aufeinanderfolgenden Prüfzyklen durchzuführen sind. Die verbleibenden 21 Bits A[0], ..., A[20] stellen jeweils nur das letzte Bit eines ACTION-Codes dar. Wenn ein Knoten die ACTSEL-Anweisung ausführt, nimmt er an, dass die ersten beiden Bits des ACTION-Codes dieselben sind wie die, die die letzte vorhergehende NOMAP-Anweisung beförderten.
  • Sobald ein ACTION-Code und ein TIMEWORD-Code durch eine NOMAP-Anweisung erstellt sind, kann der Hauptrechner somit Gruppen aus 21 aufeinanderfolgenden NOMAP-Anweisungen durch ACTSEL-Anweisungen ersetzen unter der Voraussetzung, dass der TIMEWORD-Code unverändert bleibt und unter der Voraussetzung, dass nur das letzte Bit des ACTION-Codes sich von einer NOMAP-Anweisung zur nächsten ändert. Da die eine 24-Bit-RCTSEL-Anweisung 21 NOMAP-Anweisungen ersetzt, erzeugen die ACTSEL-Anweisungen eine 21/1-Kompression. Die bei Schritt 322 für jeden Knoten erzeugte Ausgabesequenz besteht daher aus einer Gruppe von ACTSEL-Anweisungen, die durch eine oder meh rere NOMAP-Anweisungen getrennt sind. Die erste Anweisung der Sequenz ist stets eine NOMAP-Anweisung, welche das aktuelle Zeitwort TIMEWORD und den ACTION-Code begründet. Eine NOMAP-Anweisung erscheint in der Sequenz immer dann, wenn sich TIMEWORD ändert oder immer dann, wenn sich das eine oder das andere der ersten beiden Bits des ACTION-Codes verändert.
  • Wenn die ersten beiden Bits des ACTION-Codes sich häufig ändern, kann die durch den Hauptrechner erzeugte Sequenz immer noch viele NOMAP-Anweisungen enthalten, die durch ACTSEL-Anweisungen nicht ersetzt werden könnten. Bei Schritt 324 ersetzt der Hauptrechner Gruppen von sieben aufeinanderfolgenden NOMAP-Anweisungen, die ähnliche TIMEWORD-Werte haben, durch NOTIME-Anweisungen des Formats (101, ACTION[0], ..., ACTION[6]). Die ersten drei Bits (101) identifizieren die Anweisung als NOTIME-Typ. Die verbleibenden 21 Bits bestehen aus 7 ACTION-Codes, und zwar ACTION[0], ..., ACTION[6], der sieben aufeinanderfolgenden NOMAP-Anweisungen, welche die NOTIME-Anweisung ersetzt. Für den TIMEWORD-Wert für jeden Zyklus wird angenommen, dass er der Wert ist, der durch die letzte vorhergehende NOMAP-Anweisung erstellt wurde. Da jede NOTIME-Anweisung 7 NOMAP-Anweisungen ersetzt, erzeugen die NOTIME-Anweisungen eine 7/1-Kompression.
  • Wenn die relative Zeitabstimmung (TIMEWORD-Wert) und das eine oder das andere der beiden Bits ACTION-Codes sich von Zyklus zu Zyklus ändern, enthält die Ausgabe der Anwendungssequenz von Schritt 324 immer noch zahlreiche aufeinanderfolgende NOMAP-Anweisungen, welche in die kompakteren ACTSEL- oder NOTIME-Anweisungen nicht konvertiert werden könnten. Obwohl TIMEWORD jeden beliebigen von 220 unterschiedlichen Werten haben kann, kann jedoch die Anzahl unterschiedlicher Werte, die TIMEWORD in einer gegebenen Prüfung tatsächlich zugeordnet werden, oftmals auf 16 oder weniger begrenzt sein. Selbst wenn TIMEWORD nicht auf 16 oder auf weniger Werte begrenzt ist, können gewisse Werte von TIMEWORD oftmals mit einer viel größeren Frequenz als andere auftreten.
  • Bei Schritt 326 überprüft der Hauptrechner somit alle der verbleibenden NOMAP-Anweisungen, um die 16 häufigst auftretenden TIMEWORD-Werte zu bestimmen. Er ersetzt diese TIMEWORD-Wörter als 20-Bit-"TSEL"-TIMEWORD-Wörter am Vorderteil der Anweisungssequenz. Der Hauptrechner ersetzt dann, wo dies möglich ist, Gruppen aus drei aufeinanderfolgenden NOMAP-Anweisungen durch TIMESEL-Anweisungen der Form (110, ACTION[0], TSEL[0], ..., ACTION[2], TSEL[2]). Die ersten drei Bits (110) identifizieren die Anweisung als den TIMESEL-Typ. Eine Gruppe aus 3-Bit-Werten ACTION[0], ..., ACTION[2] sind Aktionscodes, die in den drei aufeinanderfolgenden NOMAP-Anweisungen enthalten sind, die durch die TIMESEL-Anweisung ersetzt werden. Eine Gruppe aus drei 4-Bit-Werten TSEL[0], ..., TSEL[2] nehmen bezug auf diejenigen der 16 gespeicherten TSEL-Wörter, die mit den TIMEWORD-Wörtern übereinstimmen, die in den ersetzten NOMAP-Anweisungen enthalten sind. Da jede TSEL-Anweisung 3 NOMAP-Anweisungen ersetzt, erzeugen die TIMESEL-Anweisungen eine 3/1-Kompression.
  • Die Ausgabesequenz von Schritt 326 kann sich wiederholende Sätze von Anweisungen enthalten. So tritt z.B. dieselbe ACTSEL-Anweisung viele Male aufeinanderfolgend auf, wenn ein Knoten seinen Zustand über eine große Anzahl von Prüfzyklen hinweg nicht verändert. Oder dasselbe Muster von NOTIME-Anweisungen kann viele Male aufeinanderfolgend wiederholt werden, wenn ein Knoten dasselbe Muster von Handlungen über eine große Anzahl von Prüfzyklen hinweg wiederholt. Um den durch die Anweisungssequenz-Ausgabe von Schritt 326 definierten Algorithmus weiter zu komprimieren, ersetzt der Hauptrechner nun bei Schritt 328 alle bis auf das erstmalige Er scheinen jedes sich wiederholenden Anweisungsmusters durch eine Schleifen-Anweisung (LOOP-Anweisung). Eine LOOP-Anweisung hat die Form (1110, STEP_NUM, LOOP_NUM). Die ersten vier Bits (11 10) identifizieren die Anweisung als eine LOOP-Anweisung. STEP_NUM ist zweckmäßigerweise eine 10-Bit-Größe, welche die Länge des Musters anzeigt, das bis zu 1024 Anweisungen lang sein kann. LOOP_NUM ist zweckmäßigerweise eine 10-Bit-Größe, welche die Anzahl aufeinanderfolgender Auftritte des Musters anzeigt, und zwar bis zu 1024. Somit ersetzt jede LOOP-Anweisung bis zu 220 andere Anweisungen. (STEM_NUM und LOOP_NUM können andere Abmessungen haben).
  • Bei Schritt 330 addiert der Hauptrechner schließlich HALT und FORWARD-Anweisungen zu der Sequenz. Eine HALT-Anweisung hat die Form (11111, RUNTIME, x, ..., x), wobei die ersten fünf Bits die Anweisung als eine HALT-Anweisung identifizieren. Das nächste Bit (RUNTIME) teilt dem Prozessor mit, ob er ein Laufzeitsignal zu dem Hauptrechner rückübertragen soll, um das Ende der Prüfung zu signalisieren. Die verbleibenden Bits der HALT-Anweisung sind ungenutzt. Die HALT-Anweisung wird an das Ende der Anweisungssequenz gestellt, um das Ende der Prüfung anzuzeigen. Bei Schritt 332 kehrt das Umwandlungs-Unterprogramm von 19 zu Schritt 308 des Hauptprogramms von 18 zurück.
  • Eine FORWARD-Anweisung der Form (11110, NODE, CYCLES, PACKET_SIZE) ermöglicht dem System die Verwendung von Speichern innerhalb von Leerlauf-Knoten, um zusätzliche Anweisungen für aktive Knoten zu speichern. Dies ist hilfreich, wenn eine Anweisungssequenz für einen Knoten länger ist als das Ausmaß, das in dem Speicher des Knotens gehalten werden kann. In einem solchen Fall können Abschnitte einer Anweisungsgruppe in Speichern von Leerlauf-Knoten gespeichert werden, denen eine FORWARD-Anweisung vorausgeht. Wenn ein Knoten auf eine FORWARD-Anweisung trifft, wartet er während einer durch CYCLES angezeigten Anzahl von Prüfzyklen und leitet dann eine Gruppe von Anweisungen, die in einer spezifizierten Anzahl ihrer Knotenspeicher-Orte gespeichert ist (durch PACKET_SIZE angezeigt), zu dem NODE identifizierten Knoten über den Netzwerkbus weiter. Diese Anweisungen werden bei sequenziellen Adressen in dem Speicher des empfangenden Knotens gespeichert, wobei Anweisungen überschrieben werden, die durch den empfangenden Knoten ausgeführt worden sind. Die Wartezeit, die durch CYCLES angezeigt wird, reicht aus, um zu gewährleisten, dass der empfangende Knotenanweisungen im Bereich seines Knotenspeichers, der die weitergeleiteten Anweisungen empfangen soll, schon ausgeführt hat. Nachdem der Prozessor des empfangenden Knotens die Anweisungen gelesen hat, die bei der letzten Adresse des Knotenspeicher-Bereichs gespeichert wurden, der für Anweisungen reserviert ist, und dabei auf keine HALT-Anweisung gestoßen ist, beginnt er mit dem Lesen der neu empfangenen Anweisungen an der ersten Adresse des Anweisungsbereichs des Knotenspeichers.
  • 20 zeigt ein Hauptprogramm, das durch den Anweisungsprozessor 36 von 2 ausgeführt wird. Der Hauptrechner speichert das Hauptprogramm und verschiedene Unterprogramme in den Knotenspeichern bei Schritt 308 von 18, wenn er die Anweisungsgruppen in den Knotenspeichern speichert. Der Knotenspeicher beginnt mit der Ausführung seines Hauptprogramms (20) am Anfang einer Prüfung als Reaktion auf ein START-Signal. Der Anweisungsprozessor führt einen Durchlauf durch das Hauptprogramm für jede Anweisung durch. Bei jedem Durchlauf liest der Anweisungsprozessor eine Anweisung aus dem Speicher aus, bestimmt den Anweisungstyp und führt das geeignete Unterprogramm für diesen Typ von Anweisung aus.
  • In 20 beginnt das Hauptprogramm bei Schritt 400, wo der Anweisungsprozessor eine Überprüfung durchführt, um zu bestimmen, ob er zuvor eine "Schleifen"-Markierung gesetzt hat. Wenn die Schleifen-Markierung nicht gesetzt ist, befindet sich der Anweisungs-Prozessor nicht im Prozess der Durchführung einer Schleifen-Anweisung. In einem solchen Fall liest die Anweisung unmittelbar eine nächste Anweisung aus der nächsten Knoten-Speicheradresse aus (Schritt 402). (Falls die vorherige Anweisung auf der letzten Adresse des für Anweisungen reservierten Knoten-Speicherbereichs ausgelesen wurde, liest der Prozessor bei Schritt 402 die nächste Anweisung von der nächsten Adresse des Anweisungsbereichs aus. Diese Anweisung wäre zu dieser Speicheradresse durch einen anderen Knoten als Reaktion auf eine FORWARD-Anweisung weitergeleitet worden.)
  • Der Prozessor überprüft dann die identifizierenden Bits der Anweisung, um die Eigenart der Anweisung zu bestimmen (Schritte 404414) und ruft das passende Unterprogramm auf (Schritte 416428), um die durch die Anweisung angezeigten Prüfvektoren zu erzeugen. Daraufhin kehrt das Hauptprogramm zu Schritt 400 zurück und wiederholt den Prozess für die nächste Anweisung. Falls eine Anweisung eine HALT-Anweisung ist (das heißt, keine Anweisung vom Typ ACTSEL, NOTIME, TIMESEL, NOMAP, LOOP oder FORWARD), ruft das Hauptprogramm bei Schritt 429 ein HALT-Unterprogramm auf und endet dann bei Schritt 429.
  • Falls bei Schritt 404 der Knoten feststellt, dass eine Anweisung ein ACTSEL-Typ ist, wird das ACTSEL-Unterprogramm von 21 aufgerufen. Dieses Unterprogramm bewirkt, dass der Anweisungs-Prozessor eine Abfolge von 21 Ausgabe-Prüfvektoren der Form (TIMEWORD, ACTIONWORD) als Reaktion auf die ACTSEL-Anweisung erzeugt. Der Datenabschnitt der ACTSEL-Anweisung hat die Form (A[0], ..., A[20]), wobei jedes Bit A(n) den Zustand des niedrigstwertigen Bits eines ACTION-Codes darstellt, von dem der ACTIONWORD-Abschnitt eines der 21 Prüfvektoren abgeleitet werden soll. Wie man in 21 sieht, wird ausgehend von Schritt 440 ein Zähler J auf Null gesetzt. J wird verwendet, um die Anzahl der Ausgabe-Prüfvektoren im Auge zu behalten. Bei Schritt 442 werden durch den Anweisungs-Prozessor die Werte von TIMEWORD und ACTION für den zuletzt erzeugten Prüfvektor aus dem Speicher wiedergewonnen. (Wie man sehen wird, speichert der Anweisungs-Prozessor diese Werte in dem Speicher immer dann, wenn sie sich ändern). Bei Schritt 444 wandelt der Anweisungs-Prozessor das Bit A(J) in ein geeignetes ACTIONWORD um, indem das letzte Bit des wiedergewonnenen ACTION-Codes durch A(J) ersetzt wird und durch Umwandeln des Ergebnisses in ein ACTIONWORD gemäss dem in Tabelle III dargestellten Umwandlungsmuster. Als Reaktion auf einen Neuzyklus-Impuls (NEWCYCLE) von dem Zähler 184 von 10 gibt der Anweisungs-Prozessor dann einen Prüfvektor aus (Schritt 446), wobei der aus dem Speicher bei Schritt 442 ausgelesene TIMEWORD-Wert sowie der bei Schritt 444 gebildete ACTIONWORD-Wert verwendet werden. Falls J noch nicht 20 ist, wird der Wert J bei Schritt 450 inkrementiert, und der Prozess wird ausgehend von Schritt 444 wiederholt. Wenn J bei Schritt 448 den Wert 20 erreicht, hat der Anweisungs-Prozessor 21 Ausgabevektoren erzeugt, und das Unterprogramm kehrt bei Schritt 452 zu dem Hauptprogramm (MAIN) zurück.
  • Wie man bei dem Hauptprogramm von 20 sieht, wird das NOTIME-Unterprogramm von 22 aufgerufen, falls bei Schritt 406 der Knoten feststellt, dass die Anweisung ein NOTIME-Typ ist. Dieses Programm bewirkt, dass der Anweisungs-Prozessor eine Sequenz von 7 Ausgabe-Prüfvektoren als Reaktion auf die NOTIME-Anweisung erzeugt. Der Datenabschnitt der ACTSEL-Anweisung hat die Form (ACTION[0], ... ACTION[6]), wo bei jeder 3-Bit-ACTION[n]-Code in einen ACTIONWORD-Abschnitt eines der zu erzeugenden 7 Prüfvektoren umgewandelt wird. Wie man 22 sieht, wird bei Schritt 460 ein Zähler J auf Null gesetzt. J behält die Anzahl der Ausgabe-Prüfvektoren im Auge. Bei Schritt 462 erfolgt durch den Anweisungs-Prozessor aus dem Speicher eine Wiedergewinnung des abgespeicherten TIMEWORD für den zuletzt erzeugten Prüfvektor, und bei Schritt 464 erfolgt eine Umwandlung von ACTION (J) in ein ACTIONWORD gemäss dem in Tabelle III dargestellten Umwandlungsmuster. Als Reaktion auf einen Neuzyklus-Impuls (NEWCYCLE) aus dem Zähler 184 von 10 gibt der Anweisungs-Prozessor dann einen Prüfvektor aus (Schritt 466), wobei der aus dem Speicher bei Schritt 462 ausgelesene TIMEWORD-Wert und der bei Schritt 464 gebildete ACTIONWORD-Wert verwendet werden. Falls J noch nicht 6 ist (Schritt 468), wird der Wert von J bei Schritt 470 inkrementiert, und der Prozess wird ausgehend von Schritt 464 wiederholt. Wenn J bei Schritt 448 den Wert 6 erreicht, hat der Anweisungs-Prozessor alle sieben Ausgabe-Prüfvektoren erzeugt. Bei Schritt 472 speichert dann der Anweisungsprozessor ACTION(J) als den Speicher-ACTION-Wert ab, und zwar gemäss der zuletzt erzeugten Ausgabe entsprechend diesem Punkt, und kehrt bei Schritt 474 zu dem Hauptprogramm (MAIN) zurück.
  • Wenn bei Schritt 408 des Hauptprogramms von 20 der Knoten feststellt, dass die Anweisung eine TIMESEL-Anweisung ist, wird das TIMESEL-Unterprogramm von 23 aufgerufen. Dieses Unterprogramm bewirkt, dass der Anweisung-Prozessor eine Abfolge von drei Ausgabe-Prüfvektoren als Reaktion auf die TIMESEL-Anweisung erzeugt. Der Datenabschnitt der TIMESEL-Anweisung hat die Form (ACTION[0], TSEL[0], ..., ACTION[2], TSEL[2]). Wie man in 23 sieht, wird beginnend bei Schritt 480 ein Zähler J auf Null gesetzt. J behält die Anzahl der Ausgabe-Prüfvektoren im Auge. Bei Schritt 482 er folgt durch den Anweisungs-Prozessor eine Wiedergewinnung des abgespeicherten ACTIONWORD aus dem Speicher für den zuletzt erzeugten Prüfvektor, und bei Schritt 484 wandelt er ACTION(J) in ein ACTIONWORD gemäss dem in Tabelle III dargestellten Umwandlungsmuster um. Bei Schritt 486 gewinnt er aus einem Speicherort, auf den durch TSEL(J) Bezug genommen wird, ein in dem nächsten Ausgabevektor zu verwendendes TIMEWORD. Als Reaktion auf einen NEWCYCLE-Impuls von dem Zähler 184 von 10 gibt der Anweisungs-Prozessor einen Prüfvektor aus (Schritt 488), wobei der aus dem Speicher bei Schritt 486 ausgelesene TIMEWORD-Wert und der bei Schritt 484 gebildete ACTIONWORD-Wert verwendet werden. Falls J bei Schritt 490 noch nicht 2 ist, wird der Wert von J bei Schritt 491 inkrementiert, und der Prozess wird ausgehend von Schritt 484 wiederholt. Wenn J bei Schritt 492 den Wert 2 erreicht, hat der Anweisungs-Prozessor alle drei Ausgabe-Prüfvektoren erzeugt. Der Anweisungs-Prozessor speichert dann das TIMEWORD des zuletzt erzeugten Vektors ab (Schritt 492) und kehrt zu dem Hauptprogramm (MAIN) zurück (Schritt 494).
  • Wenn bei Schritt 410 der Knoten feststellt, dass eine Anweisung eine NOMAP-Anweisung ist, wird das TIMESEL-Unterprogramm von 24 aufgerufen. Dieses Unterprogramm bewirkt, dass der Anweisungs-Prozessor einen Ausgabe-Prüfvektor als Reaktion auf die NOMAP-Anweisung erzeugt. Der Datenabschnitt der NOMAP-Anweisung hat die Form (TIMEWORD, ACTION). Wie man in 24 sieht, führt der Anweisungs-Prozessor bei Schritt 500 eine Umwandlung von ACTION in ein ACTIONWORD gemäss dem in Tabelle III dargestellten Umwandlungsmuster durch. Bei Schritt 502 speichert der Anweisungs-Prozessor die Werte von TIMEWORD und von ACTION in dem Speicher, und bei Schritt 504 erfolgt als Reaktion auf einen NEWCYCLE-Impuls von dem Zähler 184 von 10 durch den Anweisungs-Prozessor eine Ausgabe eines Prüfvektors (Schritt 488), wobei der in der NOMAP- Anweisung enthaltene TIMEWORD-Wert und der bei Schritt 500 gebildete ACTIONWORD-Wert verwendet werden. Der Anweisungs-Prozessor kehrt dann zu dem Hauptprogramm (MAIN) zurück (Schritt 506).
  • Wenn bei Schritt 412 der Knoten feststellt, dass eine Anweisung eine LOOP-Anweisung ist, wird das FLAG-Unterprogramm von 25 aufgerufen. Wie man in 25 sieht, wird ausgehend von Schritt 520 durch den Anweisungs-Prozessor ein LOOP_FLAG-Bit gesetzt, um anzuzeigen, dass er momentan eine Schleifenanweisung verarbeitet. Bei den Schritten 522 und 524 speichert er im Speicher die Werte von STEP_NUM und von LOOP_NUM ab, die in der Schleifen-Anweisung enthalten sind, bei Schritt 526 initialisiert er Werte der Variablen LOOP_CNT und STEP_CNT, die er im Speicher behält, und bei Schritt 528 kehrt er zu dem Hauptprogramm zurück. STEP_NUM zeigt die Abmessung der zu wiederholenden Abfolge von Anweisungen an, und LOOP_NUM zeigt die Anzahl der Wiederholungen dieser Abfolge von Anweisungen an. Die Variable LOOP_CNT behält die Anzahl der Wiederholungen der Abfolge im Auge, die durchgeführt worden sind, und STEP_CNT behält die Position innerhalb der Anweisungs-Abfolge der zuletzt ausgeführten Anweisung im Auge.
  • Bei dem Hauptprogramm (MAIN) von 20 sieht man, dass, wenn der Anweisungs-Prozess bei Schritt 400 feststellt, dass die Schleifen-Markierung gesetzt worden ist, es bei Schritt 426 ein LOOP-Unterprogramm aufruft. Das Schleifen-Unterprogramm teilt dem Anweisungs-Prozessor mit, wo er die nächste Anweisung erhalten soll. Wie in 26 dargestellt, beginnt das Schleifen-Unterprogramm bei Schritt 530, wo der aktuelle Wert von STEP_CNT mit STEP_NUM verglichen wird, um festzustellen, ob die zuletzt ausgeführte Anweisung die letzte Anweisung der wiederholten Anweisungs-Abfolge ist. Wenn dies nicht der Fall ist, inkrementiert der Anweisungs- Prozessor den Wert STEP_CNT (Schritt 532) und kehrt (bei Schritt 533) zu Schritt 402 des Hauptprogramms (20) zurück, wo er die nächste Anweisung aus dem Speicher erhält.
  • Der Anweisung-Prozessor behält eine Aufzeichnung (einen Anweisung-Zählwert) des Speicherortes der zuletzt erhaltenen Anweisung (bei Schritt 402, Schritt 20) und erhält die nächste Anweisung von dem nächsten Speicherort. Wenn bei Schritt 534 von 26 LOOP_CNT zu LOOP_NUM nicht gleich ist, inkrementiert der Prozessor bei Schritt 536 LOOP_CNT, um anzuzeigen, dass eine neue Wiederholung der Anweisungs-Abfolge beginnt, und bei Schritt 538 setzt er STEP_CNT auf Null zurück, um anzuzeigen, dass der Prozessor dabei ist, auch die erste Anweisung der Sequenz zu erhalten. Bei Schritt 540 stellt der Anweisungs-Prozessor den Anweisungs-Zählwert ein, der bei Schritt 402 (20) des Hauptprogramms beibehalten wurde, um den Speicherort der nächsten Anweisung zu bestimmen. Bei Schritt 540 (26) wird der Zählwert gesetzt, so dass die erste Anweisung der wiederholten Abfolge gewonnen wird.
  • Wie man in 26 sieht, fährt der Prozessor mit dem Durchschreiten der Gruppe wiederholter Anweisungen fort, bis bei Schritt 530 STEP_CNT zu STEP_NUM gleich ist. Bei diesem Punkt befindet sich der Anweisungs-Prozessor ungefähr bei der Durchführung der letzten Anweisung der als Reaktion auf die LOOP-Anweisung zu wiederholenden Abfolge. Er prüft dann bei Schritt 534, um festzustellen, ob er die letzte Wiederholung der Abfolge verarbeitet (das heißt, wenn LOOP_CNT zu LOOP_NUM gleich ist). In einem solchen Fall setzt der Anweisungs-Prozessor die Markierung LOOP_FLAG zurück (Schritt 542), um anzuzeigen, dass keine Schleifen-Anweisung ausgeführt wird, und kehrt zu dem Hauptprogramm zurück (Schritt 402, 20), wo die letzte Anweisung aus dem Speicher wiedergewonnen wird.
  • Wenn bei dem Hauptprogramm von 20 bei Schritt 414 eine FORWARD-Anweisung angetroffen wird, wird bei Schritt 428 ein FORWARD-Unterprogramm aufgerufen. Das FORWARD-Unterprogramm ist in 27 beschrieben. Der Datenabschnitt der FORWARD-Anweisung hat die Form (NODE, CYCLES, PACKET_SIZE), wobei NODE den Prüfgerät-Knoten zum Empfangen von Anweisungen anzeigt, CYCLES die Anzahl der Prüfzyklen anzeigt, die vor dem Senden der Anweisung abgewartet werden müssen, und PACKET_SIZE die Anzahl der zu den empfangenen Knoten zu sendenden Anweisungen ist. In Schritt 550 wird der Anweisungs-Zählwert so eingestellt, dass er mit ADDR übereinstimmt, und in Schritt 552 wartet der Anweisungs-Prozessor während der angezeigten Anzahl von Zyklen. In Schritt 552 sendet dann der Prozessor die Anweisungen über den Netzwerkbus zu dem empfangenden Knoten.
  • Wenn bei dem Hauptprogramm von 20 bei Schritt 414 eine HALT-Anweisung angetroffen wird, wird bei Schritt 429 ein HALT-Unterprogramm aufgerufen. Das HALT-Unterprogramm ist in 28 beschrieben. Der Datenabschnitt der HALT-Anweisung hat die Form (RUNTIME, x ... x). RUNTIME ist ein Bit, welches anzeigt, ob der Knoten ein RUNTIME-Signal zu dem Hauptrechner senden soll, durch das das Ende der Prüfung angezeigt wird. Wenn dies der Fall ist, erfolgt dann bei Schritt 560 eine Wegleitung des Programmflusses zu Schritt 562, wo das RUNTIME-Signal zu dem Hauptprozessor gesendet wird. Wenn kein RUNTIME-Signal gesendet werden soll oder nachfolgend auf Schritt 562, kehrt das HALT-Unterprogramm zu dem Hauptprogramm zurück (Schritt 564). Das Hauptprogramm endet dann (Schritt 430, 20).
  • Der Fachmann erkennt, dass die mehrfachen Verbindungen 30 es dem Prüfgerät ermöglichen, in einer Vielzahl nützlicher Konfigurationen betrieben zu werden, und zwar einschließlich derjenigen, die in 1517 dargestellt sind, sowie in Form zahlreicher Kombinationen und Permutationen davon.
  • Es wurde somit ein Integrierte-Schaltungs-Prüfgerät beschrieben und dargestellt zum Übertragen von Prüfsignalen an ausgewählte Anschlüsse einer zu überprüfenden Vorrichtung (DUT) und zum Erfassen von Daten, die durch die DUT an anderen ihrer Anschlüsse während einer Aufeinanderfolge von Prüfzyklen erzeugt werden. Das Prüfgerät enthält mehrere Verarbeitungsknoten, wobei ein Knoten jedem Anschluss der DUT zugeordnet ist und jeder Knoten einen Speicher zum Speichern algorithmischer Anweisungen zum Erzeugen einer Abfolge von Befehlen enthält. Jeder Befehl enthält Aktionsdaten, die eine spezielle Handlung anzeigen, die während eines nächsten Prüfzyklusses durchzuführen ist, sowie Zeitabstimmungsdaten, die eine Zeit während des nächsten Prüfzyklusses anzeigen, bei der die Handlung durchgeführt werden soll. Jeder Knoten enthält auch eine Schaltung zum Verarbeiten der algorithmischen Anweisungen zum Erzeugen der Befehle sowie Schaltungen, die auf die Befehle reagieren, um das Prüfsignal und die Datenerfassung zu steuern, wie dies durch die Befehle angezeigt wird. Das Integrierte-Schaltungs-Prüfgerät kann eine lange Integrierte-Schaltungs-Prüfung durchführen, ohne dass es großer Knotenspeicher bedarf und ohne die Prüfung periodisch anhalten zu müssen, um die Knotenspeicher erneut zu laden. Das Prüfgerät kann somit eine hochflexible und genaue Zeitabstimmung der Prüfereignisse während jedes Zyklusses einer Prüfung zu ermöglichen. Da es sich um eine Zusammenschaltung von Knoten zu Knoten handelt, kann die Signal-Übertragungsgeschwindigkeit maximiert werden, können die Übertragungsleitungen optimiert werden und ist eine Knoten-Erweiterung nicht durch die Gesetze der Physik begrenzt.
  • Wenn in der obigen Beschreibung auch bevorzugte Ausführungsbeispiele der vorliegenden Erfindung beschrieben wurden, kann ein Fachmann doch zahlreiche Abwandlungen an dem bevorzugten Ausführungsbeispiel durchführen, ohne dass er die Erfindung im weiteren Sinne verlässt. Die beigefügten Ansprüche sollen daher alle derartigen Abwandlungen abdecken, die innerhalb des wahren Schutzbereichs der Erfindung liegen.

Claims (7)

  1. Gerät (10) zum Prüfen integrierter Schaltungen (12), das auch Integrierte-Schaltungs-Prüfgerät genannt wird, zum Prüfen einer integrierten Schaltung (12), mit einer Vielzahl von Anschlüssen (16) zum Empfangen von Prüfsignalen und Aussenden von Ausgabesignalen, die durch die integrierte Schaltung erzeugt werden, wobei das Gerät (10) die integrierte Schaltung prüft, indem ausgewählte Handlungen bezüglich jedem der Anschlüsse zu vorbestimmten Zeiten während einer Aufeinanderfolge von Prüfzyklen festgelegter Dauer durchgeführt werden, wobei jede dieser Handlungen aus einer Gruppe ausgewählt wird, die das Bestätigen eines Prüfsignals, das Nicht-Bestätigen eines Prüfsignals und das Abtasten eines Ausgangssignals aufweist, wobei die Prüfvorrichtung für die integrierte Schaltung aufweist: ein Mittel (25) zum Erzeugen eines periodischen Taktsignals; und eine Vielzahl von Knoten (14), wobei jeder Knoten einem gesonderten Anschluss der Anschlüsse entspricht, wobei jeder Knoten Mittel aufweist, welche das Taktsignal empfangen, um die Dauer jedes der Prüfzyklen bezüglich der Perioden des Taktsignals festzulegen, wobei jeder Knoten algorithmische Anweisungen während mindestens einem der Prüfzyklen durchführt, um einen Befehl zu erzeugen, der eine der Handlungen auswählt und eine Zeit während eines anschließenden Prüfzyklusses anzeigt, bei der die ausgewählte Handlung durchzuführen ist, und wobei jeder Knoten auf den erzeugten Befehl reagiert, indem die ausgewählte Handlung bezüglich ihres ent sprechenden Anschlusses zu der angezeigten Zeit während des anschließenden Prüfzyklusses durchgeführt wird.
  2. Gerät nach Anspruch 1, bei dem jeder Knoten aufweist: ein Mittel (42, 184), welches das Taktsignal empfängt, um ein Anzeigesignal zu erzeugen, das den Beginn jedes der aufeinanderfolgenden Prüfzyklen in Bezug auf Perioden des Taktsignals markiert; ein Speichermittel (32, 34) zum Speichern der algorithmischen Anweisungen; ein Verarbeitungsmittel (180, 181, 182) zum Reagieren auf das Anzeigesignal durch Ausführen der algorithmischen Anweisungen, die in dem Speichermittel gespeichert sind, wodurch der Befehl erzeugt wird; und ein Mittel (38, 40), das auf den Befehl reagiert, um die ausgewählte Handlung bezüglich des entsprechenden Anschlusses zu der angezeigten Zeit während des anschließenden Prüfzyklusses durchzuführen.
  3. Gerät nach Anspruch 2, bei dem das Mittel, welches das Taktsignal empfängt, aufweist: ein Mittel (42) zum Erzeugen einer Vielzahl von Zeitabstimmungssignalen, wobei die Zeitabstimmungssignale und das Taktsignal Perioden ähnlicher Dauer haben, wobei jedoch die Zeitabstimmungssignale ungleiche Phasen haben; und ein Mittel (184) zum Erzeugen des Anzeigesignals durch Zählen von Perioden eines der Zeitabstimmungssignale.
  4. Gerät nach Anspruch 3, bei dem der Befehl die Zeit anzeigt, in dem eines der Zeitabstimmungssignale angezeigt wird, und wobei das Mittel, das auf den Befehl reagiert, die ausgewählte Handlung als Reaktion auf das angezeigte Signal der Zeitabstimmungssignale durchführt.
  5. Gerät nach Anspruch 3, bei dem der Befehl die Zeit anzeigt, in dem eines der Zeitabstimmungssignale angezeigt wird und eine Verzögerungszeit angezeigt wird, und wobei das Mittel, das auf den Befehl reagiert, die ausgewählte Handlung als Reaktion auf das angezeigte Signal der Zeitabstimmungssignale durchgeführt wird, wobei die Reaktion durch die angezeigte Verzögerungszeit verzögert wird.
  6. Gerät nach einem der vorhergehenden Ansprüche, bei dem außerdem die Vielzahl der Knoten (14) miteinander verbunden werden, um zwischen ihnen algorithmische Anweisungen zu befördern.
  7. Gerät nach Anspruch 6, bei dem das Mittel, welches die Vielzahl der Knoten (14) miteinander verbindet, aufweist: eine Vielzahl von Übertragungsleitungen zum Befördern algorithmischer Anweisungen; und eine Vielzahl von Verbindungsmitteln, wobei jedes Verbindungsmittel mit einem gesonderten Paar der Übertragungsleitungen verbunden ist, um algorithmische Anweisungen zu empfangen, die auf einer der beiden Übertragungsleitungen befördert werden, und wahlweise zum Übertragen der empfangenen Gruppe algorithmischer Anweisungen auf einer anderen der beiden Übertragungsleitungen oder zum Weiterleiten der empfangenen Gruppe algorithmischer Anweisungen zu einem gesonderten Knoten der Knoten, um dadurch ausgeführt zu werden, wobei die Vielzahl der Übertragungsleitungen und der Verbindungsmittel ein Netzwerk bilden, um die algorithmischen Anweisungen zwischen den Knoten zu befördern.
DE69634824T 1995-09-25 1996-09-10 Integrierte schaltungstestanordnung mit paralleler ansteuerung Expired - Fee Related DE69634824T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US534015 1995-09-25
US08/534,015 US5748642A (en) 1995-09-25 1995-09-25 Parallel processing integrated circuit tester
PCT/US1996/014728 WO1997012254A1 (en) 1995-09-25 1996-09-10 Parallel processing integrated circuit tester

Publications (2)

Publication Number Publication Date
DE69634824D1 DE69634824D1 (de) 2005-07-14
DE69634824T2 true DE69634824T2 (de) 2006-05-04

Family

ID=24128358

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69634824T Expired - Fee Related DE69634824T2 (de) 1995-09-25 1996-09-10 Integrierte schaltungstestanordnung mit paralleler ansteuerung

Country Status (6)

Country Link
US (4) US5748642A (de)
EP (1) EP0852730B1 (de)
JP (1) JPH11511565A (de)
KR (1) KR100453488B1 (de)
DE (1) DE69634824T2 (de)
WO (1) WO1997012254A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230004966A1 (en) * 2017-01-12 2023-01-05 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based proof and payment

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19631289A1 (de) * 1996-08-02 1998-02-05 Ibm Verfahren zum Testen eines Protokollumsetzers und Protokollumsetzer
US5925145A (en) * 1997-04-28 1999-07-20 Credence Systems Corporation Integrated circuit tester with cached vector memories
US5930735A (en) * 1997-04-30 1999-07-27 Credence Systems Corporation Integrated circuit tester including at least one quasi-autonomous test instrument
US5917834A (en) * 1997-08-21 1999-06-29 Credence Systems Corporation Integrated circuit tester having multiple period generators
US5919270A (en) * 1997-08-29 1999-07-06 Credence Systems Corporation Programmable formatter circuit for integrated circuit tester
US5825787A (en) * 1997-11-25 1998-10-20 Xilinx, Inc. System and method for accessing a test vector memory
US6064948A (en) * 1998-03-02 2000-05-16 Tanisys Technology, Inc. Tester systems
US6107818A (en) * 1998-04-15 2000-08-22 Teradyne, Inc. High speed, real-time, state interconnect for automatic test equipment
AU9654198A (en) * 1998-06-29 2000-01-17 Iliya Valeryevich Klochkov A skew calibration means and a method of skew calibration
US6820234B2 (en) 1998-06-29 2004-11-16 Acuid Limited Skew calibration means and a method of skew calibration
US6363507B1 (en) * 1998-10-19 2002-03-26 Teradyne, Inc. Integrated multi-channel analog test instrument architecture providing flexible triggering
GB2359162B (en) * 1998-11-10 2003-09-10 Fujitsu Ltd Parallel processor system
US6499125B1 (en) * 1998-11-24 2002-12-24 Matsushita Electric Industrial Co., Ltd. Method for inserting test circuit and method for converting test data
US6351769B1 (en) * 1998-12-04 2002-02-26 Dell Usa, L.P. Dynamic burn rack monitor listener server
US6647027B1 (en) * 1999-11-10 2003-11-11 Lsi Logic Corporation Method and apparatus for multi-channel data delay equalization
US6581019B1 (en) * 2000-03-20 2003-06-17 Koninklijke Philips Electronics N.V. Computer-system-on-a-chip with test-mode addressing of normally off-bus input/output ports
US20030110427A1 (en) * 2000-04-12 2003-06-12 Advantest Corporation Semiconductor test system storing pin calibration data in non-volatile memory
US6737875B2 (en) 2000-05-22 2004-05-18 Damerco, Inc. Method and apparatus for in-circuit impedance measurement
US6549036B1 (en) 2000-05-31 2003-04-15 Micron Technology, Inc. Simple output buffer drive strength calibration
JP2002123562A (ja) * 2000-07-31 2002-04-26 Hitachi Ltd テスタ構築データの生成方法およびテスタの構築方法並びにテスト回路
US6760772B2 (en) 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
CN1205540C (zh) * 2000-12-29 2005-06-08 深圳赛意法微电子有限公司 含有解码器的电路、时分寻址的方法和一个微控制器
US6665627B2 (en) * 2001-03-30 2003-12-16 Intel Corporation Method and apparatus for evaluating and correcting the tester derating factor (TDF) in a test environment
US6711509B2 (en) * 2001-04-02 2004-03-23 Square D Company Impulsive transient hardware simulation
US20020152046A1 (en) * 2001-04-13 2002-10-17 Velichko Sergey A. Concurrent control of semiconductor parametric testing
US7035755B2 (en) * 2001-08-17 2006-04-25 Credence Systems Corporation Circuit testing with ring-connected test instrument modules
JP2003066099A (ja) * 2001-08-23 2003-03-05 Advantest Corp 測定制御装置、方法、プログラムおよび該プログラムを記録した記録媒体
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
US6976183B2 (en) * 2001-11-09 2005-12-13 Teradyne, Inc. Clock architecture for a frequency-based tester
US7162386B2 (en) * 2002-04-25 2007-01-09 Micron Technology, Inc. Dynamically adaptable semiconductor parametric testing
JP2004055076A (ja) * 2002-07-23 2004-02-19 Yamaha Corp 光ピックアップ及び光ディスク記録装置
KR100457225B1 (ko) 2002-07-25 2004-11-16 동부전자 주식회사 모스펫의 제조 방법
US7181660B2 (en) * 2002-07-26 2007-02-20 Verigy Pte. Ltd. Reconstruction of non-deterministic algorithmic tester stimulus used as input to a device under test
US7290192B2 (en) * 2003-03-31 2007-10-30 Advantest Corporation Test apparatus and test method for testing plurality of devices in parallel
US7437261B2 (en) * 2003-02-14 2008-10-14 Advantest Corporation Method and apparatus for testing integrated circuits
US7010451B2 (en) * 2003-04-17 2006-03-07 Micron Technology, Inc. Dynamic creation and modification of wafer test maps during wafer testing
ATE517500T1 (de) 2003-06-02 2011-08-15 Qualcomm Inc Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten
EP2363992A1 (de) 2003-08-13 2011-09-07 Qualcomm Incorporated Signalschnittstelle für höhere Datenübertragungsraten
AU2004303402A1 (en) 2003-09-10 2005-03-24 Qualcomm Incorporated High data rate interface
EP1680904A1 (de) 2003-10-15 2006-07-19 QUALCOMM Incorporated Schnittstelle für hohe datenrate
KR100827573B1 (ko) * 2003-10-29 2008-05-07 퀄컴 인코포레이티드 높은 데이터 레이트 인터페이스
US8606946B2 (en) 2003-11-12 2013-12-10 Qualcomm Incorporated Method, system and computer program for driving a data signal in data interface communication data link
KR20060096161A (ko) 2003-11-25 2006-09-07 콸콤 인코포레이티드 향상된 링크 동기화를 제공하는 고속 데이터 레이트인터페이스
EP2247070B1 (de) 2003-12-08 2013-09-25 QUALCOMM Incorporated Hochgeschwindigkeits-Datenschnittstelle mit verbesserter Verknüpfungssynchronisation
EP1733537A1 (de) 2004-03-10 2006-12-20 Qualcomm, Incorporated Schnittstellenvorrichtung und -verfahren mit hoher datenrate
CA2560067C (en) 2004-03-17 2011-08-23 Qualcomm Incorporated High data rate interface apparatus and method
JP5032301B2 (ja) 2004-03-24 2012-09-26 クゥアルコム・インコーポレイテッド 高データレートインターフェース装置および方法
US7516379B2 (en) * 2004-04-06 2009-04-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Circuit and method for comparing circuit performance between functional and AC scan testing in an integrated circuit (IC)
US7079973B2 (en) * 2004-04-06 2006-07-18 Avago Technologies General Ip Pte. Ltd. Apparatus and method for compensating clock period elongation during scan testing in an integrated circuit (IC)
CA2569106C (en) 2004-06-04 2013-05-21 Qualcomm Incorporated High data rate interface apparatus and method
US8650304B2 (en) 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
US7484122B2 (en) * 2004-06-17 2009-01-27 International Business Machines Corporation Controlling timing of execution of test instruction by target computing device
US7454681B2 (en) * 2004-11-22 2008-11-18 Teradyne, Inc. Automatic test system with synchronized instruments
US7319936B2 (en) * 2004-11-22 2008-01-15 Teradyne, Inc. Instrument with interface for synchronization in automatic test equipment
US8699330B2 (en) 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8539119B2 (en) 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8723705B2 (en) 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8667363B2 (en) 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
US8692838B2 (en) 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8112654B2 (en) * 2005-06-01 2012-02-07 Teklatech A/S Method and an apparatus for providing timing signals to a number of circuits, and integrated circuit and a node
JP4657053B2 (ja) * 2005-07-29 2011-03-23 株式会社アドバンテスト タイミング発生器及び半導体試験装置
US20070094557A1 (en) * 2005-10-21 2007-04-26 Skala Kenneth L Semiconductor integrated circuit tester
US8730069B2 (en) 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8692839B2 (en) 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US7890822B2 (en) * 2006-09-29 2011-02-15 Teradyne, Inc. Tester input/output sharing
US8851072B2 (en) * 2007-02-16 2014-10-07 Wasatch Manufacturing, Llc Supplemental air diffusion devices, kits and methods
US7725793B2 (en) * 2007-03-21 2010-05-25 Advantest Corporation Pattern generation for test apparatus and electronic device
US7707000B2 (en) * 2007-04-19 2010-04-27 Agilent Technologies, Inc. Test instrument and system responsive to execution time data
US7831865B1 (en) * 2007-09-26 2010-11-09 Sprint Communications Company L.P. Resource allocation for executing automation scripts
JP5580709B2 (ja) * 2010-10-05 2014-08-27 株式会社アドバンテスト 試験装置及び試験方法
JP5787829B2 (ja) * 2012-06-01 2015-09-30 株式会社東芝 マルチプロセッサ
MX356316B (es) * 2013-03-15 2018-05-23 Arris Entpr Llc Conversion de corriente de dlna/dtcp para reproduccion de medios segura.
CN104570990B (zh) 2013-10-29 2018-10-16 恩智浦美国有限公司 智能操作装置资源分配系统
TWI742865B (zh) * 2020-09-28 2021-10-11 蔚華科技股份有限公司 具數據處理功能的自動化測試機及其資訊處理方法
CN115312110A (zh) * 2021-05-08 2022-11-08 瑞昱半导体股份有限公司 芯片验证系统及其验证方法
CN116243137B (zh) * 2022-12-22 2023-12-01 无锡麟聚半导体科技有限公司 一种测试模式保护电路及芯片

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3931506A (en) * 1974-12-30 1976-01-06 Zehntel, Inc. Programmable tester
US4070565A (en) * 1976-08-18 1978-01-24 Zehntel, Inc. Programmable tester method and apparatus
US4354268A (en) * 1980-04-03 1982-10-12 Santek, Inc. Intelligent test head for automatic test system
US4402055A (en) * 1981-01-27 1983-08-30 Westinghouse Electric Corp. Automatic test system utilizing interchangeable test devices
US4439858A (en) * 1981-05-28 1984-03-27 Zehntel, Inc. Digital in-circuit tester
US4397021A (en) * 1981-06-15 1983-08-02 Westinghouse Electric Corp. Multi-processor automatic test system
US4517512A (en) * 1982-05-24 1985-05-14 Micro Component Technology, Inc. Integrated circuit test apparatus test head
US4637020A (en) * 1983-08-01 1987-01-13 Fairchild Semiconductor Corporation Method and apparatus for monitoring automated testing of electronic circuits
US4806852A (en) * 1984-09-07 1989-02-21 Megatest Corporation Automatic test system with enhanced performance of timing generators
JPH0750159B2 (ja) * 1985-10-11 1995-05-31 株式会社日立製作所 テストパタ−ン発生装置
US5032783A (en) * 1985-10-23 1991-07-16 Texas Instruments Incorporated Test circuit and scan tested logic device with isolated data lines during testing
JPS62195572A (ja) * 1986-02-21 1987-08-28 Mitsubishi Electric Corp 半導体テスト装置
JPH0746127B2 (ja) * 1986-05-20 1995-05-17 三菱電機株式会社 半導体試験装置
JPS63271180A (ja) * 1987-04-30 1988-11-09 Fujitsu Ltd 集積回路用試験装置
US4928278A (en) * 1987-08-10 1990-05-22 Nippon Telegraph And Telephone Corporation IC test system
US5127011A (en) * 1990-01-12 1992-06-30 International Business Machines Corporation Per-pin integrated circuit test system having n-bit interface
US5068601A (en) * 1991-02-11 1991-11-26 Credence Systems Corporation Dual function cam-ring system for DUT board parallel electrical inter-connection and prober/handler docking
US5345186A (en) * 1993-01-19 1994-09-06 Credence Systems Corporation Retriggered oscillator for jitter-free phase locked loop frequency synthesis
US5552733A (en) * 1993-01-19 1996-09-03 Credence Systems Corporation Precise and agile timing signal generator based on a retriggered oscillator
KR100317727B1 (ko) * 1993-01-19 2002-04-06 이데이 노부유끼 디바이스의 자동 측정방법 및 측정장치
DE4305442C2 (de) * 1993-02-23 1999-08-05 Hewlett Packard Gmbh Verfahren und Vorrichtung zum Erzeugen eines Testvektors
US5696772A (en) * 1994-05-06 1997-12-09 Credence Systems Corporation Test vector compression/decompression system for parallel processing integrated circuit tester
EP0686917A1 (de) * 1994-06-07 1995-12-13 International Business Machines Corporation Vorrichtung zur Bearbeitung einer Serie von Taktsignalen
FR2728690B1 (fr) * 1994-12-23 1997-01-24 Schlumberger Ind Sa Procede et equipement de test automatique de composants electroniques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230004966A1 (en) * 2017-01-12 2023-01-05 American Express Travel Related Services Company, Inc. Systems and methods for blockchain based proof and payment

Also Published As

Publication number Publication date
US5935256A (en) 1999-08-10
EP0852730B1 (de) 2005-06-08
DE69634824D1 (de) 2005-07-14
EP0852730A4 (de) 1999-06-16
US5931952A (en) 1999-08-03
US5931953A (en) 1999-08-03
JPH11511565A (ja) 1999-10-05
US5748642A (en) 1998-05-05
WO1997012254A1 (en) 1997-04-03
KR19990066930A (ko) 1999-08-16
KR100453488B1 (ko) 2005-04-13
EP0852730A1 (de) 1998-07-15

Similar Documents

Publication Publication Date Title
DE69634824T2 (de) Integrierte schaltungstestanordnung mit paralleler ansteuerung
DE69533275T2 (de) Ein Steuergerät zur Durchführung der Abtastprüfung
DE68928837T2 (de) Prüf-Puffer/Register
DE3687956T2 (de) Datensynchronisator zwischen einer sende- und einer empfangsanlage.
DE69332051T2 (de) System zum Steuern von Testlogik mit Boundary-Scan in einem Kommunikationsnetz
DE68928613T2 (de) Bidirektionale-Boundary-Scan-Testzelle
DE3832113C2 (de)
DE69031362T2 (de) Verzögerungsfehler-Testvorrichtung
DE2349324C2 (de) Verfahren zum Prüfen einer Funktionseinheit und Einrichtung zur Durchführung des Verfahrens
DE2346617C3 (de) Verfahren zur Prüfung der einseitig begrenzten Laufzeitverzögerung einer Funktionseinheit
DE69626441T2 (de) Speicherentwurf für IC-Anschlüsse
DE69218999T2 (de) Breitbandiger digitaler Phasenausrichter
DE3750236T2 (de) Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.
DE69024138T2 (de) Verfahren und Einrichtung zur Erzeugung von Steuersignalen
DE69425468T2 (de) Verfahren und Gerät zur Analog-Digital-Umsetzung
DE19914986B4 (de) Vorrichtung zum Verzögern eines Taktsignals
DE69126848T2 (de) Integrierte Halbleiterschaltung
DE69819648T2 (de) Zweitorpuffer
DE3855410T2 (de) Diagnosegerät für ein Datenverarbeitungssystem
DE68922984T2 (de) Programmierbare Zeitsteuerung der Datenübertragung.
DE10346559A1 (de) Dateninvertierungsschaltung und Halbleitervorrichtung
DE69216338T2 (de) Schnittstellenschaltung zur Datenübertragung
EP1315337B1 (de) Bus-Interface
DE102007004713B4 (de) Datenübergabeeinheit zum Übertragen von Daten zwischen unterschiedlichen Taktbereichen
DE602004006236T2 (de) Testen von elektronischen schaltungen

Legal Events

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