[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE112020000036T5 - Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers - Google Patents

Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers Download PDF

Info

Publication number
DE112020000036T5
DE112020000036T5 DE112020000036.2T DE112020000036T DE112020000036T5 DE 112020000036 T5 DE112020000036 T5 DE 112020000036T5 DE 112020000036 T DE112020000036 T DE 112020000036T DE 112020000036 T5 DE112020000036 T5 DE 112020000036T5
Authority
DE
Germany
Prior art keywords
data
test
memory
shared
port processing
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.)
Pending
Application number
DE112020000036.2T
Other languages
English (en)
Inventor
Olaf Pöppe
Klaus-Dieter Hilliges
Alan Krech
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.)
Advantest Corp
Original Assignee
Advantest 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 Advantest Corp filed Critical Advantest Corp
Publication of DE112020000036T5 publication Critical patent/DE112020000036T5/de
Pending legal-status Critical Current

Links

Images

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/31724Test controller, e.g. BIST state machine
    • 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/31712Input or output aspects
    • 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/31712Input or output aspects
    • G01R31/31713Input or output interfaces for test, e.g. test pins, buffers
    • 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/3177Testing of logic operation, e.g. by logic analysers
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • 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/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • 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/31905Interface with the device under test [DUT], e.g. arrangements between the test head and the DUT, mechanical aspects, fixture
    • 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
    • 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
    • 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/31926Routing signals to or from the device under test [DUT], e.g. switch matrix, pin multiplexing
    • 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/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31935Storing data, e.g. failure memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus

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)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Abstract

Eine automatisierte Prüfeinrichtung zum Prüfen eines oder mehrerer Prüfobjekte, die eine Mehrzahl von Portverarbeitungseinheiten aufweisen, die zumindest einen jeweiligen Pufferspeicher und eine jeweilige Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, zum Verbinden mit zumindest einem der Prüfobjekte aufweist. Die Portverarbeitungseinheiten sind dazu konfiguriert, Daten zu empfangen, die empfangenen Daten in dem jeweiligen Pufferspeicher zu speichern und die in dem jeweiligen Pufferspeicher gespeicherten Daten einem oder mehreren der verbundenen Prüfobjekte über die jeweilige HSIO-Schnittstelle bereitzustellen, um das eine oder die mehreren verbundenen Prüfobjekte zu prüfen. Ein Verfahren und ein Computerprogramm zum automatisierten Prüfen eines oder mehrerer Prüfobjekte sind ebenfalls beschrieben.

Description

  • Technisches Gebiet
  • Ausführungsbeispiele gemäß der vorliegenden Erfindung beziehen sich auf eine automatisierte Prüfeinrichtung zum Prüfen eines oder mehrerer Prüfobjekte.
  • Weitere Ausführungsbeispiele gemäß der vorliegenden Erfindung beziehen sich auf ein Verfahren zum automatisierten Prüfen eines oder mehrerer Prüfobjekte.
  • Weitere erfindungsgemäße Ausführungsbeispiele beziehen sich auf jeweilige Computerprogramme.
  • Erfindungsgemäße Ausführungsbeispiele beziehen sich auf das Prüfen von Vorrichtungen, d. h. ein Empfangen von Daten von den Prüfobjekten (devices under test), DUT, über eine Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle (high-speed-input-output interface), HSIO-Schnittstelle, und ein Bereitstellen von Daten für die DUTs über die HSIO.
  • Hintergrund der Erfindung
  • Im Folgenden wird eine Einführung in einige konventionelle Lösungen gegeben.
  • Eine automatisierte Prüfeinrichtung (Automated Test Equipment, ATE) ist jeder Apparat, der Prüfungen an einer Vorrichtung, dem so genannten Prüfobjekt (DUT), durchführt, wobei Automatisierung verwendet wird, um schnell Messungen durchzuführen und die Prüfergebnisse auszuwerten. Eine ATE kann ein einfaches computergesteuertes digitales Multimeter oder ein kompliziertes System sein, das Dutzende von komplexen Prüfinstrumenten enthält - reale oder simulierte elektronische Prüfeinrichtungen -, die in der Lage sind, eine automatische Prüfung durchzuführen und Fehler in hochentwickelten elektronischen paketierten Bauteilen oder bei Wafertests zu diagnostizieren, einschließlich chipinterne Systeme und integrierte Schaltungen.
  • Strukturelle Prüfungen ermöglichen eine systematische Prüfabdeckung einzelner Strukturen, so genannter Zellen, die die komplexen Funktionen eines digitalen Blocks innerhalb eines chipinternen Systems, SOC (system on a ship), implementieren. Strukturelle Prüfungen umfassen eine Mehrzahl von Prüfverfahren, einschließlich, aber nicht beschränkt auf einen in den Speicher eingebauten Selbsttest (built-in self-test, BIST), einen BIST, einen Logik-BIST (auf dem Chip erzeugte Struktur) und eine Abtastprüfung (extern bereitgestellte Struktur). Einzelne Prüfungen werden zu Prüfblöcken kombiniert: z. B. wird die Abtastprüfung hierarchisch auf Blöcke angewendet (seriell oder parallel).
  • Fortgeschrittene strukturelle Prüfverfahren wenden eine Kombination aus extern bereitgestellten Prüfdaten (Stimulus von automatisierter Prüfeinrichtung, ATE) und einer auf dem Chip befindlichen Prüfvorrichtung, DFT (device for testing), an, die extern bereitgestellte Prüfdaten, so genannte Seeds, zu Abtastketten erweitert. Die Prüfergebnisse werden verdichtet und zu einer reduzierten Menge von Prüfdaten komprimiert, die der primären Eingabe-Ausgabe-Schnittstelle, IO, eines SOC bereitgestellt werden. Diese Daten werden als empfangene Daten bezeichnet und durch die ATE mit erwarteten Daten verglichen. Die empfangenen Daten können auch durch die ATE maskiert sein.
  • Die DFT, manchmal auch als Design für Prüfung (design for testing) oder Design für Prüfbarkeit (design for testability) bezeichnet, besteht typischerweise aus Integrierte-Schaltung-Designtechniken, die einem Hardware- oder Vorrichtungsproduktdesign oder einer Vorrichtung, d. h. dem DUT, Prüfbarkeitsmerkmale hinzufügen. Die hinzugefügten Merkmale erleichtern die Entwicklung und Anwendung von Prüfungen auf das DUT.
  • Im Folgenden wird die Abtastprüfung als allgemeine Darstellung einer strukturellen Prüfung wie oben beschrieben bezeichnet.
  • Mit der zunehmenden Komplexität von SOCs, die durch neue Herstellungsprozesse ermöglicht wird, bestehen jedoch Herausforderungen an die kosteneffiziente Skalierung von Abtastprüfungen.
  • Eine Herausforderung ist die eskalierende Menge an Prüfdaten, die auf der ATE gespeichert werden müssen. Eine weitere Herausforderung sind die eskalierenden Prüfzeiten, um die Prüfdaten durch die SOC-IO zu leiten. Auch die zunehmende Komplexität auf dem Chip stellt die Verteilung der Prüfdaten auf zu prüfende Blöcke und das Erzeugen der erforderlichen Taktsignale vor eine Herausforderung.
  • Darüber hinaus erfordern die Qualitäts- und Zuverlässigkeitserwartungen an komplexe SOCs strukturelle Prüfungen, wenn das SOC in der Endanwendung eingesetzt wird: z. B. in einem Automobil- oder Kommunikationsinfrastruktursystem.
  • Angesichts dieser Situation besteht der Wunsch nach einem Konzept, das bei der Prüfung von Prüfobjekten mit einer automatisierten Prüfeinrichtung einen verbesserten Kompromiss zwischen den zu speichernden Daten, der Verarbeitungsgeschwindigkeit und der Qualität und Zuverlässigkeit von Prüfungen vorsieht.
  • Kurzdarstellung der Erfindung
  • Ein Ausführungsbeispiel gemäß der vorliegenden Erfindung ist eine automatisierte Prüfeinrichtung zum Prüfen eines oder mehrerer Prüfobjekte.
  • Die automatisierte Prüfeinrichtung weist eine Mehrzahl von Portverarbeitungseinheiten auf.
  • Die Portverarbeitungseinheiten weisen zumindest einen jeweiligen Pufferspeicher und eine jeweilige Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, zum Verbinden mit zumindest einem der Prüfobjekte auf, und empfangen Daten, speichern die empfangenen Daten in dem jeweiligen Pufferspeicher und stellen die in dem jeweiligen Pufferspeicher gespeicherten Daten einem oder mehreren der verbundenen Prüfobjekte über die jeweilige HSIO-Schnittstelle bereit, um das eine oder die mehreren verbundenen Prüfobjekte zu prüfen.
  • Die Daten, die die Portverarbeitungseinheiten empfangen, können gemeinsam genutzte Daten sein, z. B. Daten, die von einer Mehrzahl von Portverarbeitungseinheiten gemeinsam genutzt werden, z. B. gemeinsam genutzte Stimulusdaten, die verwendet werden, um zum Prüfen an die Prüfobjekte gesendet zu werden. Die Daten können z. B. von einem gemeinsam genutzten Speicherpool oder von einer anderen Portverarbeitungseinheit, möglicherweise über eine andere Portverarbeitungseinheit, empfangen werden.
  • Die Daten, die gemeinsam genutzt werden können, können den Prüfobjekten bereitgestellt werden, z. B. um dem Prüfobjekt Prüfdaten oder Prüfprogramme über eine Schnittstelle, die die HSIO oder eine andere Schnittstelle sein kann, auf Basis der gemeinsam genutzten Daten von dem gemeinsam genutzten Speicherpool bereitzustellen.
  • Alternativ können den Prüfobjekten Daten bereitgestellt werden, um dem Prüfobjekt Prüfsignale auf Basis der gemeinsam genutzten Daten von dem gemeinsam genutzten Speicherpool bereitzustellen.
  • Alternativ können den Prüfobjekten Daten bereitgestellt werden, um erwartete Signale oder erwartete Ergebnisse von dem Prüfobjekt auf Basis der gemeinsam genutzten Daten zu definieren.
  • Außerdem ist jede Kombination der oben genannten Möglichkeiten möglich, da die Daten, die dem einen oder den mehreren Prüfobjekten bereitgestellt werden, eine Kombination der oben genannten Optionen sein können.
  • Eine HSIO-Schnittstelle bezieht sich auf Schnittstellen, die für Hochgeschwindigkeitskommunikation ausgelegt sind. Eine nicht erschöpfende Liste von Beispielen umfasst USB, PCle, SATA, Gigabit LAN. Prüfobjekte, DUTs, können beispielsweise chipinterne Systeme, SOCs, sein.
  • Dieses Ausführungsbeispiel beruht auf der Idee, dass das Prüfen eines Prüfobjekts eine Datenübertragung in beide Richtungen zwischen der ATE und den Prüfobjekten erfordert. Einige dieser Übertragungen werden über die HSIO übertragen.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung kann seitens der jeweiligen Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, auf den jeweiligen Pufferspeicher als lokaler Speicher zugegriffen werden.
  • Es hat sich als vorteilhaft erwiesen, wenn über die jeweilige Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, auf den jeweiligen Pufferspeicher einer Portverarbeitungseinheit als lokaler Speicher zugegriffen werden kann, wodurch unnötige Übersetzungen von Speicheradressen vermieden werden. Eine Möglichkeit, den Speicherinhalt über die HSIO zu adressieren, besteht über den direkten Speicherzugriff (direct memory access), DMA. Der jeweilige Pufferspeicher ist somit als lokaler Speicher an die HSIO gekoppelt.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weist die ATE ferner einen Datenspeicher auf, der einen gemeinsam genutzten Speicherpool aufweist, und die Portverarbeitungseinheiten empfangen ferner gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool.
  • Es hat sich, wie oben erwähnt, als vorteilhaft erwiesen, dass die Daten von Portverarbeitungseinheiten gemeinsam genutzt werden können. Um die Daten gemeinsam nutzen zu können, verfügt die ATE über einen gemeinsam genutzten Speicherpool, um die gemeinsam genutzten Daten zu speichern, z. B. Daten, die von einer Mehrzahl von Portverarbeitungseinheiten gemeinsam genutzt werden, z. B. gemeinsam genutzte Stimulusdaten zum Prüfen der Prüfobjekte, und die Portverarbeitungseinheiten empfangen die gemeinsam genutzten Daten von dem gemeinsam genutzten Speicherpool, z. B. um den Puffer mit Daten zu füllen, die von dem gemeinsam genutzten Speicherpool empfangen werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung streamt der Datenspeicher ferner gemeinsam genutzte Daten an eine oder mehrere der Portverarbeitungseinheiten und/oder an einen Speicherhub.
  • Es wurde festgestellt, dass die Architektur für die ATE Portverarbeitungseinheiten mit dedizierten Speichern aufweisen kann, jedoch kann auch ein Speicherhub zum Steigern der Gesamteffizienz eingesetzt werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung speichert der Datenspeicher ferner Ergebnisdaten pro Vorrichtung in einer Mehrzahl von Speicherbereichen.
  • Es wurde festgestellt, dass die ATE die Ergebnisse oder Ergebnisströme, die z. B. durch die Portverarbeitungseinheiten in verschiedenen Speicherbereichen bereitgestellt werden können, auf einer Pro-Vorrichtung-Basis speichern kann. Dies kann vorteilhaft sein, da die Datenraten der Ergebnisdaten pro Prüfobjekt voneinander abweichen können, z. B. kleiner, z. B. um zumindest einen Faktor zehn, als die Datenrate eines anderen Ergebnisses oder Ergebnisstroms sein können. Außerdem sind das Volumen und die Bandbreite, die für das Speichern der Ergebnisse erforderlich sind, wesentlich kleiner als bei gemeinsam genutzten Stimulusdaten.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung leiten eine oder mehrere der Portverarbeitungseinheiten (port processing units), PPUs, ferner gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool an zumindest eine andere Portverarbeitungseinheit weiter.
  • Es hat sich als vorteilhaft erwiesen, dass die PPUs untereinander Daten übertragen können. So kann eine PPU, die gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool empfangen hat, die Daten an eine andere PPU weiterleiten, so dass der gemeinsam genutzte Speicherpool entlastet wird.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung ist eine oder mehrere der Portverarbeitungseinheiten dazu konfiguriert, gemeinsam genutzte Daten von zumindest einer anderen Portverarbeitungseinheit empfangen.
  • Es hat sich als vorteilhaft erwiesen, dass die PPUs untereinander Daten übertragen können. So kann eine PPU gemeinsam genutzte Daten von einer anderen PPU empfangen, die die gemeinsam genutzten Daten von dem gemeinsam genutzten Speicherpool empfangen hat, so dass der gemeinsam genutzte Speicherpool entlastet werden kann.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung bildet eine oder mehrere der Mehrzahl von Portverarbeitungseinheiten eine Verkettung (daisy chain), um gemeinsam genutzte Daten nacheinander von dem gemeinsam genutzten Speicherpool weiterzuleiten.
  • Es wurde festgestellt, dass eine Möglichkeit eines derartigen Weiterleitens und Empfangens von gemeinsam genutzten Daten an und von den PPUs dadurch bewirkt werden kann, dass aus den PPUs eine Verkettung gebildet wird.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung ist eine oder mehrere der Mehrzahl von Portverarbeitungseinheiten dazu konfiguriert, gemeinsam genutzte Daten von einem Speicherhub zu empfangen.
  • Es wurde festgestellt, dass alternativ auch die PPUs die gemeinsam genutzten Daten von einem Speicherhub empfangen können. Wenn der Speicherhub mehr als eine PPU mit gemeinsam genutzten Daten versorgt, könnte er auch als zentraler Speicherhub betrachtet werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weisen die Portverarbeitungseinheiten einen Pufferspeicher und/oder einen oder mehrere Cachespeicher auf, um eine Zeitverschiebung zwischen einem Empfang von gemeinsam genutzten Daten und einer Verwendung der gemeinsam genutzten Daten zum Prüfen eines oder mehrerer verbundener Prüfobjekte zu ermöglichen.
  • Es wurde festgestellt, dass der Pufferspeicher, z. B. ein Durchlaufspeicher, FIFO(first-in-first-out)-Speicher, dazu beitragen kann, Verzögerungen zu reduzieren und mehr der erforderlichen Daten zum Beschleunigen der Verarbeitung bereitzustellen. Ebenso können Cachespeicher eingesetzt werden, um Stockungen bei der Verarbeitung zu reduzieren und mehr Daten praktisch gleichzeitig für die Nutzung durch die PPU zur Verfügung zu haben.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung stellt zumindest eine der Portverarbeitungseinheiten ferner Prüfinformationen, die auf den gemeinsam genutzten Daten basieren, einem Prüfobjekt über eine Schnittstelle bereit, und zum Kennzeichnen eines Prüfobjekts abhängig von einem Zeitpunkt der Übertragung der Prüfinformationen an das Prüfobjekt.
  • Es wurde festgestellt, dass die PPUs Prüfinformationen, z. B. ein Prüfprogramm oder Prüfdaten, den Prüfobjekten auf Basis der gemeinsam genutzten Daten über eine Schnittstelle, z. B. die HSIO, bereitstellen können. Außerdem kann die PPU anschließend ein Prüfobjekt kennzeichnen, z. B. den DUT-Typ bestimmen und/oder das DUT identifizieren, abhängig von einem Zeitpunkt der Übertragung der Prüfinformationen an das Prüfobjekt. Dazu wird der Zeitpunkt der Übertragung der Prüfinformation seitens des Prüfobjekts bestimmt oder beeinflusst, z. B. weil das Prüfobjekt die Schnittstelle steuert, z. B. als Master-Vorrichtung, oder weil das Prüfobjekt die Übertragung als Slave-Vorrichtung verlangsamen oder unterbrechen kann.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung ist zumindest eine der Portverarbeitungseinheiten dazu konfiguriert, ein Prüfobjekt als fehlerhaft zu kennzeichnen, wenn eine Übertragung von Prüfinformationen an das Prüfobjekt um mehr als eine vorbestimmte Zeit hinter einem Empfang von gemeinsam genutzten Daten durch die jeweilige Portverarbeitungseinheit zurückbleibt.
  • Es wurde festgestellt, dass zur Verbesserung der Gesamtleistung der ATE die PPU derselben ein Prüfobjekt als fehlerhaft kennzeichnen oder identifizieren kann, d. h. bestimmen kann, dass das Prüfobjekt defekt ist, wenn eine Datenübertragung zu dem oder von dem Prüfobjekt einen bestimmten zeitlichen Schwellenwert überschreitet, d. h. wenn die Kommunikation der ATE mit dem Prüfobjekt nicht innerhalb eines vorbestimmten Zeitrahmens durchgeführt oder abgeschlossen werden kann. Der vorbestimmte Zeitrahmen kann z. B. benutzerspezifisch, vorrichtungspezifisch oder prüfspezifisch sein.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung erhalten die Portverarbeitungseinheiten ferner Ergebnisdaten pro Vorrichtung und leiten die Ergebnisdaten pro Vorrichtung an den Datenspeicher weiter.
  • Es wurde festgestellt, dass die gesamte ATE-Kommunikation verbessert werden kann, wenn die PPUs die Ergebnisdaten, z. B. Ergebnisströme oder Ausfalldaten, auf einer Pro-Vorrichtung-Basis, d. h. pro DUT, erhalten und die Ergebnisdaten pro Vorrichtung, z. B. Ergebnisströme pro DUT oder Ausfalldaten pro DUT, an den Datenspeicher weiterleiten.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung erhalten die Portverarbeitungseinheiten ferner die Ergebnisdaten pro Vorrichtung unter Verwendung von Erwartungsdaten, die auf den gemeinsam genutzten Daten basieren.
  • Es wurde festgestellt, dass die gesamte ATE-Datenverarbeitung verbessert werden kann, wenn die PPUs die Ergebnisdaten pro Vorrichtung, z. B. Ergebnisströme pro DUT oder Ausfalldaten pro DUT, unter Verwendung von Erwartungsdaten erhalten, wobei die Erwartungsdaten auf den gemeinsam genutzten Daten basieren.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weist die ATE einen Speicherhub auf, um eine Mehrzahl von Portverarbeitungseinheiten mit dem Datenspeicher in einer Sternarchitektur zu koppeln.
  • Es wurde festgestellt, dass eine Sternarchitektur eine gangbare Option zum Implementieren eines Speicherhubs ist, der als Datenspeicher oder als gemeinsam genutzter Speicherpool für die PPUs dient.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weist der Speicherhub einen Pufferspeicher und/oder einen oder mehrere Cachespeicher auf, um eine nicht-gleichzeitige Weiterleitung von gemeinsam genutzten Daten an unterschiedliche Portverarbeitungseinheiten zu ermöglichen.
  • Es wurde festgestellt, dass der Pufferspeicher, z. B. ein Durchlaufspeicher, FIFO-Speicher, dazu beitragen kann, Verzögerungen zu reduzieren und mehr der erforderlichen Daten zum Beschleunigen der Verarbeitung bereitzustellen. Ebenso können Cachespeicher eingesetzt werden, um Stockungen bei der Verarbeitung zu reduzieren und um mehr Daten praktisch gleichzeitig für die Nutzung durch den Speicherhub zur Verfügung zu haben. Dadurch, dass mehr der gemeinsam genutzten Daten in einem Pufferspeicher oder in Cachespeichern gehalten werden, können die relevanten Daten zu unterschiedlichen Zeiten an unterschiedliche PPUs weitergeleitet werden, ohne dass mehrere Lesezugriffe auf den gemeinsam genutzten Speicherpool oder Datenspeicher erforderlich sind.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weist der Datenspeicher ferner separate Schnittstellen für die gemeinsam genutzten Daten, die den Portverarbeitungseinheiten bereitgestellt werden, und für die Ergebnisdaten pro Vorrichtung auf.
  • Es wurde festgestellt, dass durch die Verwendung von separaten Schnittstellen, um die gemeinsam genutzten Daten den PPUs bereitzustellen und um die Ergebnisse pro Vorrichtung bereitzustellen, die Gesamtleistung der ATE verbessert werden kann.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weist der Datenspeicher eine Speicherschnittstelle auf, um auf Ergebnisdaten pro Vorrichtung zuzugreifen, ohne eine Bereitstellung von gemeinsam genutzten Daten für die Portverarbeitungseinheiten zu stören.
  • Es hat sich als vorteilhaft erwiesen, wenn der Datenspeicher über eine Speicherschnittstelle verfügt, um auf Ergebnisdaten pro Vorrichtung, z. B. zum Nachbearbeiten oder Hochladen, zuzugreifen, z. B. dieselben auszulesen, ohne dass eine Bereitstellung, z. B. seitens des Datenspeichers über die HSIO- oder eine andere Schnittstelle, von gemeinsam genutzten Daten für die Portverarbeitungseinheiten gestört wird.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung weisen die Portverarbeitungseinheiten ferner einen Streamingfehlererfassungsblock zum Erfassen eines Befehlsfehlers in den empfangenen Daten und zum Vergleichen der empfangenen Daten mit vorab geladenen Erwartungsdaten auf, wobei die Erwartungsdaten vorzugsweise Maskendaten aufweisen.
  • Es hat sich als vorteilhaft erwiesen, wenn die Portverarbeitungseinheit einen Streamingfehlererfassungsblock zum Erfassen eines Befehlsfehlers aufweist. Das Prüfen eines Prüfobjekts erzeugt Ergebnisdaten, die mit Erwartungsdaten verglichen werden können, wodurch angegeben wird, was ein ordnungsgemäß funktionierendes Prüfobjekt als Ergebnis zurückgeben würde.
  • Es wurde festgestellt, dass zur Überprüfen des korrekten Funktionierens des Prüfobjekts, DUT, so genannte Erwartungsdaten vorbereitet und vorab auf der ATE geladen werden können. Die empfangenen Daten können dann mit den Erwartungsdaten verglichen werden und das korrekte Funktionieren der Vorrichtung kann bestimmt werden. Die empfangenen Daten können sich auf Daten aus der Abtastkette, auf Befehls- und/oder Nutzlastdaten beziehen.
  • Durch die Verwendung von Maskendaten, d. h. Daten, die definieren, welche Bits der empfangenen Daten welchen Inhalt enthalten sollen, kann die ATE in die Lage versetzt werden, die Daten intelligenter zu verarbeiten. Zum Beispiel können die Erwartungsdaten Maskendaten enthalten, die angeben, dass die empfangenen Daten für eine bestimmte Prüfprozedur drei Datenblöcke enthalten werden, nämlich den Befehl, der die betreffende Prüfung angibt, die Ergebnisdaten, die durch das DUT erzeugt wurden, und die Seed-Daten, die seitens des DUT verwendet wurden, um das Ergebnis zu erzeugen. Da die ATE das DUT mit den Seed-Daten versorgt hat, ist ein Speichern der Seed-Daten in Abhängigkeit von der Prüfung möglicherweise nicht notwendig. Außerdem kann durch selektives Speichern der Ergebnisdaten zusätzlicher Speicherplatz eingespart werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung kann die ATE ferner die Erwartungsdaten vorab in einen Durchlaufspeicher, FIFO-Speicher, pro Vorrichtung oder in einen verwalteten Cache laden, der einer oder mehreren verbundenen Vorrichtungen zugeordnet ist.
  • Es wurde festgestellt, dass die ATE somit Erwartungsdaten vorab in einen Durchlaufspeicher, FIFO-Speicher, pro Vorrichtung laden kann und dadurch Erwartungsdaten für einen schnelleren Vergleich mit den empfangenen Daten vorbereitet hat. Dies ist besonders vorteilhaft, wenn die empfangenen Daten in einer bestimmten Reihenfolge erwartet werden, so dass die ersten vorab geladenen Daten, „first in“, auch die ersten sind, die verglichen werden, und somit auch als erstes aus dem FIFO-Speicher entfernt werden können, „first out“. Für diese Verwendung kann nur ein Teil der Erwartungsdaten, ein so genanntes Fenster von Erwartungsdaten, vorab geladen werden.
  • Alternativ kann ein verwalteter Cachespeicher, der mehr als einem Prüfobjekt zugeordnet sein kann, dazu verwendet werden, Erwartungsdaten oder ein Fenster von Erwartungsdaten vorab zu laden und dann mit den empfangenen Daten von mehr als einem Prüfobjekt zu vergleichen. Auf diese Weise müssen die Erwartungsdaten nicht wiederholt für alle Vorrichtungen geladen oder vorab geladen werden.
  • Außerdem kann der FIFO-Speicher oder verwaltete Cachespeicher die Nutzung, z. B. den Vergleich mit den empfangenen Daten, von den zugeordneten verbundenen DUTs verfolgen und Daten verwerfen, die verwendet, d. h. verglichen, wurden oder aus einem anderen Grund nicht mehr behalten werden müssen.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung erkennt die ATE ein bestimmtes Prüfobjekt als fehlerhaft, ansprechend auf ein Feststellen auf Basis der Verfolgung der Datennutzung, dass das bestimmte Prüfobjekt einem Datenstrom nicht folgt.
  • Es wurde festgestellt, dass, ansprechend auf ein Feststellen, dass ein bestimmtes Prüfobjekt Daten so langsam bereitstellt, dass die Erwartungsdaten in dem verwalteten Cachespeicher, der dem bestimmten Prüfobjekt zugeordnet ist, viel länger ungenutzt bleiben als die entsprechenden Erwartungsdaten, die anderen Prüfobjekten zugeordnet sind, das DUT als fehlerhaft erkannt werden kann.
  • Wenn im Falle eines verwalteten Cachespeichers die entsprechenden beibehaltenen Erwartungsdaten nur für eines von mehreren Prüfobjekten in dem Speicher behalten werden, könnte die Effizienz nachteilig beeinflusst werden, und indem das Prüfobjekt, für das die speziellen Erwartungsdaten beibehalten werden, als fehlerhaft betrachtet wird, können die Erwartungsdaten aus dem verwalteten Cachespeicher verworfen und die Gesamteffizienz verbessert werden. Außerdem könnte, wenn erwartet wird, dass die empfangenen Daten einem bestimmten Datenstrom oder einer Struktur folgen, und ein DUT die empfangenen Daten nicht in diesem Datenstrom oder einer Struktur liefert, dasselbe als fehlerhaft betrachtet werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung speichert die ATE Daten in einer komprimierten Darstellung in dem Speicher.
  • Es wurde festgestellt, dass komprimierte Daten weniger Speicherplatz verbrauchen. Die ATE kann im Allgemeinen unterschiedliche Teile der vollständigen Datensätze speichern, z. B. nur die empfangenen Daten, die von den Erwartungsdaten abweichen, und/oder die Erwartungsdaten, für die die Empfangsdaten unterschiedlich sind, oder Daten, die eine Abweichung zwischen den empfangenen Daten und den Erwartungsdaten beschreiben. Einige oder alle der Daten, die in dem und/oder durch die ATE gespeichert sind, können komprimiert werden, um weniger Speicherplatz zu verbrauchen. Die Komprimierung selbst kann für alle Daten, die komprimiert gespeichert werden sollen, dasselbe Datenkomprimierungsverfahren sein, kann jedoch auch abhängig von bestimmten Parametern für unterschiedliche Datenbefehle verschieden sein.
  • Beispiele für derartige Parameter können z. B. der Typ der Prüfung sein, die sich auf die Daten bezieht. Ein weiteres Beispiel für einen derartigen Parameter ist der Typ des Prüfobjekts und/oder der Typ der ATE. Andere Parameter können sich direkt auf eine beteiligte Vorrichtung beziehen, z. B. Temperatur, Nutzungsstatistik, Speicherstatus, verfügbarer Speicher, verfügbare CPU und ähnliches. Andere Parameter können sich auf den Befehl oder die Nutzlast beziehen, sogar darauf, ob dem Befehl überhaupt eine Nutzlast folgt, die aktuelle Zeit, die Übertragungszeit, die Empfangszeit, die Dauer der Übertragung usw.
  • Die für einen Teil oder die Gesamtheit der Daten verwendete Komprimierung kann verlustfrei oder verlustbehaftet sein.
  • Beispiele für verlustfreie Komprimierungstypen, die verwendet werden können, umfassen Entropietypen wie z. B. arithmetisch, asymmetrische Zahlensysteme, Golomb, Huffman, Range, Shannon, Shannon-Fano, Shannon-Fano-Elias, Tunstall, Unär, Universell, z. B. Exp-Golomb, Fibonacci, Gamma, Levenshtein, Wörterbuchtyp, z. B. Byte-Paar-Codierung, Lempel-Ziv, oder andere Typen, z. B. BWT, CTW, Delta, DMC, DPCM, LDCT, MTF, PAQ, PPM, RLE (Lauflängencodierung z. B. für fehlerhafte Bits).
  • Beispiele für verlustbehaftete Komprimierungstypen, die verwendet werden können, umfassen Transformationstypen, z. B. diskrete Cosinus-Transformation, DST, FFT, Wavelet, prädiktive Typen, z. B. DPCM, LPC, Bewegung, Psychoakustik.
  • Auch Kombinationen von Komprimierungsverfahren können verwendet werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung kann die ATE die Komprimierung dynamisch dahin gehend anpassen, dass dieselbe mit einer erwarteten Fehlerverteilung übereinstimmt.
  • Es hat sich als effizient erwiesen, wenn die empfangenen Daten Registerwerte enthalten, was zu kurzen Fehlerbündeln (englisch: burst of errors) führt, sobald ein Registerwert falsch ist. Dies kann effektiv durch einen Header mit dem Byteversatz beim Start des Fehlerbursts und einem Fehlerwort, das sich bis zu einem Registerwert erstreckt, gespeichert werden.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung kann die ATE empfangene Daten, die wahrscheinlich fehlerhaft sind, in der Nähe in dem empfangenen Datenstrom halten.
  • Es wurde festgestellt, dass bei Hochgeschwindigkeitskommunikationen, z. B. über eine serielle USB oder eine andere HSIO-Technologie, verwandte Bits in dem Prüfobjekt gepuffert werden können, z. B. durch ein DFT, um dieselben innerhalb eines kleinen Bereichs von seriellen Bits nach außen zu streamen. Falls es sich bei der HSIO um USB handelt, könnte dies durch die USB-DFT erfolgen. Zum Beispiel könnte der Wert eines MISR, der über mehrere Abtastketten empfangen wird, gepuffert werden. In diesem Fall ist MISR ein Mehrfacheingabesignaturregister (multi-input signature register), auch Mehrfacheingabeschieberegister (multi-input shift register) genannt, das eine sequentielle elektronische Schaltung ist, deren Struktur im Wesentlichen ein Linearrückkopplungsschieberegister (linear feedback shift register), LFSR, ist, das so modifiziert wurde, dass ein Exklusives-Oder-Gatter, XOR-Gatter, die Eingabe eines oder mehrerer Flipflops des LFSR treibt.
  • Wenn dieses Register ausfällt, werden viele Bits umgedreht, und dementsprechend kann ein Bündel von fehlerhaften Bits mit einem einzigen Versatzwert seines Anfangs innerhalb des gesamten Empfangsstroms gespeichert werden (siehe oben). In ähnlicher Weise könnte die DFT Daten aus einer einzelnen Abtastkette puffern und bündeln. Außerdem kann die DFT die Ergebnisse eines einzelnen Blocks, die von mehreren Abtastketten stammen, gepuffert halten und diese getrennt von den Ergebnissen eines anderen Blocks bündeln.
  • Bei einem bevorzugten Ausführungsbeispiel der automatisierten Prüfeinrichtung speichert der Streamingfehlererfassungsblock ferner statistische Informationen, die für die Ausfallanalyse relevant sind.
  • Es wurde festgestellt, dass das Speichern von statistischen Informationen für die Auswertung möglicherweise auftretender Fehler von Vorteil ist. Beispiele für derartige statistische Informationen sind das Zählen der Gesamtzahl von Ausfällen, möglicherweise nach Typ, wie oben beschrieben ist, und/oder das Speichern des Byteversatzes des ersten Ausfallzyklus.
  • Ein Ausführungsbeispiel weist ein Verfahren zum automatisierten Prüfen eines oder mehrerer zu prüfender Geräte auf, das ein Empfangen von Daten, ein Speichern der empfangenen Daten und ein Bereitstellen der gespeicherten Daten für eines oder mehrere der Prüfobjekte umfasst.
  • Dieses Verfahren basiert auf denselben Überlegungen wie die oben beschriebene automatisierte Prüfeinrichtung. Es ist jedoch zu beachten, dass das Verfahren durch beliebige der hierin beschriebenen Merkmale, Funktionalitäten und Details ergänzt werden kann, auch in Bezug auf die automatisierte Prüfeinrichtung. Darüber hinaus kann das Verfahren durch die Merkmale, Funktionalitäten und Details der automatisierten Prüfeinrichtung ergänzt werden, sowohl einzeln als auch in Kombination.
  • Ein Ausführungsbeispiel gemäß der Erfindung erzeugt ein Computerprogramm zum Durchführen des hier beschriebenen Verfahrens, wenn das Computerprogramm auf einem Computer läuft.
  • Figurenliste
  • Ausführungsbeispiele gemäß der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die beigefügten Figuren beschrieben, wobei:
    • 1 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
    • 2 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers zeigt;
    • 3 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers und eines Speicherhubs zeigt;
    • 4 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers einschließlich eines beispielhaften Datenflusses von Stimulusdaten zeigt;
    • 5 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers und eines Speicherhubs einschließlich eines beispielhaften Datenflusses von Stimulusdaten zeigt;
    • 6 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers einschließlich eines beispielhaften Datenflusses von Erwartungsdaten zeigt;
    • 7 ein Blockschema einer automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich eines Datenspeichers einschließlich eines beispielhaften Datenflusses von Erwartungsdaten, Antwortdaten und Ausfalldaten zeigt; und
    • 8 ein Blockschema einer beispielhaften automatisierten Prüfeinrichtung gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung einschließlich Datenflüsse zeigt.
  • In den Figuren bezeichnen ähnliche Referenzzeichen ähnliche Elemente und Merkmale.
  • Detaillierte Beschreibung der Ausführungsbeispiele
  • 1 zeigt ein Blockschema einer automatisierten Testvorrichtung 100 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die automatisierte Prüfeinrichtung, ATE, dient zum Prüfen eines oder mehrerer Prüfobjekte, DUTs 130. Die automatisierte Prüfeinrichtung 100 weist eine Mehrzahl von Portverarbeitungseinheiten, PPUs 110, auf, die einen Pufferspeicher 140 und eine Hochgeschwindigkeits-Eingabe-Ausgabe- Schnittstelle, HSIO-Schnittstelle 120, zum Verbinden mit den Prüfobjekten 130 aufweist.
  • Die Prüfobjekte werden geprüft, z. B. indem denselben Prüfdaten bereitgestellt werden und von denselben auf verschiedene Weise Prüfergebnisse empfangen werden. Die PPUs können diese Prüfdaten von einer Entität innerhalb der ATE oder von außerhalb der ATE empfangen. Die PPUs können dann die empfangenen Daten in dem Pufferspeicher speichern und die Daten über die HSIO den Prüfobjekten bereitstellen.
  • Das Prüfen eines Prüfobjekts erfordert eine Datenübertragung in beiden Richtungen zwischen der ATE und den Prüfobjekten. Einige dieser Übertragungen werden über die HSIO übertragen.
  • Die Daten, die die Portverarbeitungseinheiten empfangen, können gemeinsam genutzte Daten sein. Dies kann zum Beispiel einen Aufbau darstellen, bei dem ähnliche oder identische Prüfobjekte gleichzeitig geprüft werden. Die gleichzeitigen Prüfungen, die immer noch dieselben sein können, können jedoch auch an unterschiedlichen Prüfobjekten durchgeführt werden. Die PPUs können die Stimulusdaten empfangen, die den DUTs für das Prüfen bereitgestellt werden, und wenn die Daten für alle PPUs dieselben sind, können die Daten als gemeinsam genutzte Daten betrachtet werden. Diese gemeinsam genutzten Daten sind somit für die PPUs dieselben, d. h. die Daten werden von den Portverarbeitungseinheiten gemeinsam genutzt. Wie oben erwähnt ist, ist ein Beispiel für derartige gemeinsam genutzten Daten gemeinsam genutzte Stimulusdaten, die zum Prüfen an die DUTs gesendet werden.
  • Die Daten können beispielsweise von einem gemeinsam genutzten Speicherpool oder von einer anderen Portverarbeitungseinheit, möglicherweise über eine andere Portverarbeitungseinheit, empfangen werden, wie unten beschrieben ist.
  • Die Daten können die Prüfobjekte mit Prüfdaten, Prüfsignalen oder Prüfprogrammen versehen, und die Daten können die Daten sein, die die PPUs empfangen, oder eine verarbeitete Version davon, d. h. die den Prüfobjekten bereitgestellten Daten sind Daten auf Basis der Daten, die gemeinsam genutzt werden können. Alternativ können die Daten, die die PPUs empfangen, auch erwartete Signale oder erwartete Ergebnisse von dem Prüfobjekt darstellen, die die Prüfobjekte nach dem Prüfen an die PPU zurückgeben. Diese Daten können auch die Erwartungsdaten sein oder eine Verarbeitung in der PPU erfordern, so dass die Erwartungsdaten Daten auf Basis der Daten sind, die durch die PPUs empfangen werden, wobei dieselben auch gemeinsam genutzte Daten sein können.
  • Auch eine beliebige Kombination des oben Genannten ist möglich, da die Daten, die dem einen oder mehreren Prüfobjekten bereitgestellt werden, eine Kombination der oben genannten Optionen sein können.
  • Auf die Pufferspeicher 140 kann lediglich von den PPUs 110 aus zugegriffen werden, ein Zugriff auf dieselben ist jedoch auch direkt durch die HSIO 120 möglich. Der Pufferspeicher, der mit der PPU und/oder der HSIO gekoppelt ist, kann in beiden Konstellationen als lokaler Speicher dienen, insofern er als solcher adressiert werden kann.
  • Indem es ermöglicht wird, den Pufferspeicher als lokalen Speicher zu adressieren, können unnötige Übersetzungen von Speicheradressen vermieden werden. Eine Option, den Speicherinhalt von der PPU und/oder der HSIO zu adressieren, ist über den direkten Speicherzugriff, DMA.
  • 2 zeigt ein Blockschema einer automatisierten Prüfeinrichtung 200, die der ATE 100 ähnlich ist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die automatisierte Prüfeinrichtung ATE dient zum Prüfen eines oder mehrerer Prüfobjekte, DUTs 230.
  • Die automatisierte Prüfeinrichtung 200 weist eine Mehrzahl von Portverarbeitungseinheiten, PPUs 210, auf, die einen Pufferspeicher 240 und eine Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle 220, zum Verbinden mit den Prüfobjekten 230 aufweist. 2 zeigt ferner einen Datenspeicher 250, der als beispielhafte Implementierung in 2 als gemeinsam genutzter Poolspeicher bezeichnet wird.
  • Der Datenspeicher 250 ist mit den PPUs 210 verbunden, die auch in Form einer Verkettung miteinander verbunden sind. Lediglich als Beispiel ist in 2 eine PPU 210 mit einem Prüfobjekt 230 verbunden, wobei eine HSIO 220 für diese Verbindung vorgesehen ist, während in 1 jede HSIO 120 mehrere Verbindungen mit den Prüfobjekten 130 unterhalten kann. Beide Varianten sind in jeder Kombination mit anderen Merkmalen gemäß der Beschreibung möglich.
  • Der Datenspeicher 250 kann ein gemeinsam genutzter Speicherpool sein oder einen gemeinsam genutzten Speicherpool aufweisen. Die PPUs 210 können anschließend Daten direkt von dem Datenspeicher 250 empfangen. Der Datenspeicher 250 kann ein internes Element der ATE 200 sein, kann aber auch ein zugeordnetes Element außerhalb der ATE 200 sein. Die PPUs empfangen Daten, die gemeinsam genutzt werden können, von dem Datenspeicher 250 bzw. von dem gemeinsam genutzten Speicherpool.
  • Die Daten können von den Portverarbeitungseinheiten gemeinsam genutzt werden, d. h. die Daten, die von einer Mehrzahl von Portverarbeitungseinheiten gemeinsam genutzt werden, können durch die PPUs von dem Datenspeicher 250 empfangen werden. Bei den gemeinsam genutzten Daten kann es sich zum Beispiel um gemeinsam genutzte Stimulusdaten zum Prüfen der Prüfobjekte 230 handeln, und die Portverarbeitungseinheiten 210 empfangen die gemeinsam genutzten Daten von dem gemeinsam genutzten Speicherpool 250. Eine beispielhafte Verwendung ist z. B. das Füllen des Pufferspeichers 240 mit Daten, die von dem gemeinsam genutzten Speicherpool 250 empfangen werden.
  • Der Datenspeicher 250 kann gemeinsam genutzte Daten an eine oder mehrere der Portverarbeitungseinheiten 210 streamen, und der Datenspeicher 250 kann pro Vorrichtung, d. h. pro Prüfobjekt, Ergebnisdaten, z. B. Ergebnisse oder Ergebnisströme, in einer Mehrzahl von Speicherbereichen speichern. Insbesondere können diese Speicherbereiche funktional und/oder technisch verschieden sein. Dadurch stellen die PPUs die Ergebnisse dem Datenspeicher bereit, und da die Datenraten der Ergebnisdaten pro Prüfobjekt abweichen sein können, z. B. kleiner, z. B. um zumindest einen Faktor zehn, als die Datenrate eines anderen Ergebnisses oder Ergebnisstroms sein können, kann es vorteilhaft sein, die Ergebnisse abhängig von ihren besonderen Charakteristika in unterschiedlichen Speicherbereichen zu speichern. Außerdem sind das Volumen und die Bandbreite, die für das Speichern der Ergebnisse erforderlich sind, wesentlich kleiner als bei gemeinsam genutzten Stimulusdaten, weshalb diese auch in unterschiedlichen Speicherbereichen gespeichert werden könnten.
  • Die Portverarbeitungseinheiten, PPUs 210, können ferner gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool an zumindest eine andere Portverarbeitungseinheit weiterleiten. Bei dem Ausführungsbeispiel, bei dem die PPUs miteinander oder zumindest mit einer anderen PPU verbunden sind, können die PPUs die Daten an die anderen PPUs oder zumindest an eine andere PPU weiterleiten. Dadurch werden die Speicherzugriffe, d. h. Lese- und Schreibzugriffe, von den PPUs auf den Datenspeicher 250 reduziert.
  • Ebenso können die PPUs 210 gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool von zumindest einer anderen Portverarbeitungseinheit empfangen. Bei dem Ausführungsbeispiel, bei dem die PPUs miteinander oder zumindest mit einer anderen PPU verbunden sind, können die PPUs die Daten von den anderen PPUs oder zumindest von einer anderen PPU empfangen. Dadurch werden auch die Speicherzugriffe, d. h. Lese- und Schreibzugriffe, von den PPUs auf den Datenspeicher 250 reduziert.
  • Eine besondere Form der oben beschriebenen ausführlichen Verbindung der PPUs ist eine Verkettung, bei der jede PPU mit zwei anderen PPUs verbunden ist, so dass eine Reihe von PPUs erzielt wird, und die erste PPU mit dem Datenspeicher 250 verbunden ist.
  • Andere Topologien sind ebenfalls möglich, z. B. eine vom Typ Mesh, Stern, vollständig verbunden, Linie, Baum, Bus. Die erste und die letzte PPU können außerdem miteinander verbunden sein, so dass ein Ring gebildet wird, jedoch können dieselben auch nicht miteinander verbunden sein, so dass eine Reihe von PPUs gebildet wird (echte Verkettung). Jede PPU kann mit dem Datenspeicher 250 verbunden sein.
  • 3 zeigt ein Blockschema einer automatisierten Prüfeinrichtung 300, die der ATE 100 und 200 ähnlich ist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die automatisierte Prüfeinrichtung, ATE, dient zum Prüfen eines oder mehrerer Prüfobjekte, DUTs 330. Die automatisierte Prüfeinrichtung 300 weist eine Mehrzahl von Portverarbeitungseinheiten, PPUs 310, auf, die einen Pufferspeicher 340 und eine Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle 320, zum Verbinden mit den Prüfobjekten 330 aufweisen. 3 zeigt ferner einen Datenspeicher 350, der als beispielhafte Implementierung in 3 als gemeinsam genutzter Poolspeicher bezeichnet wird, und einen Speicherhub 360.
  • Gemäß diesem Ausführungsbeispiel kann der Datenspeicher 350 gemeinsam genutzte Daten an den Speicherhub 360 streamen, von wo aus die gemeinsam genutzten Daten an die PPUs 310 gesendet werden können. Der Speicherhub 360 kann die Gesamteffizienz der ATE 300 verbessern.
  • Die PPUs 310 können die gemeinsam genutzten Daten von dem Speicherhub 360 empfangen. Wenn der Speicherhub 360 mehr als eine PPU 310 mit gemeinsam genutzten Daten versorgt, könnte er auch als zentraler Speicherhub betrachtet werden.
  • Andere Topologien sind ebenfalls möglich, Beispiele finden sich in der Beschreibung von 2.
  • Für beide Varianten, wie sie in Zusammenhang mit 2 und 3 beschrieben sind, sowie für das Layout von 1 können die PPUs 210, 310 einen Pufferspeicher 340 und/oder einen oder mehrere Cachespeicher (nicht gezeigt) aufweisen, um eine Zeitverschiebung zwischen einem Empfang der gemeinsam genutzten Daten und einer Verwendung der gemeinsam genutzten Daten zum Prüfen eines oder mehrerer verbundener Prüfobjekte 330 zu ermöglichen.
  • Ein Durchlaufspeicher, FIFO-Speicher, 340 trägt dazu bei, Verzögerungen zu reduzieren und mehr der erforderlichen Daten zum Beschleunigen der Datenverarbeitung bereitzustellen. Ebenso können Cachespeicher eingesetzt werden, um Stockungen bei der Verarbeitung zu reduzieren und mehr Daten praktisch gleichzeitig für die Nutzung durch die PPU zur Verfügung zu haben.
  • Jede der PPUs 210, 310 stellt Prüfinformationen, die auf den gemeinsam genutzten Daten basieren, einem oder mehreren Prüfobjekten 230, 330 über eine Schnittstelle 220, 320 bereit. Abhängig von der Zeit, die für die Übertragung dieser Prüfinformationen benötigt wird, können die PPUs ein Prüfobjekt kennzeichnen. Eine derartige Kennzeichnung kann eine Identifizierung eines einzelnen DUT, die Bestimmung eines bestimmten DUT-Typs oder die Bestimmung eines Parameters für ein Prüfobjekt sein, z. B. schnelle/langsame Vorrichtung, einwandfrei funktionierendes/defektes DUT, Hochgeschwindigkeit verfügbar: Ja/Nein oder ähnliche oder andere Parameter, die sich auf die Vorrichtung und/oder die Prüfung beziehen.
  • Die PPUs 210, 310 können Prüfinformationen, z. B. ein Prüfprogramm oder Prüfdaten, den Prüfobjekten 230, 330 auf Basis der gemeinsam genutzten Daten über eine Schnittstelle, z. B. die HSIO 220, 320, bereitstellen. Auch die PPU 210, 310 kann anschließend ein Prüfobjekt 230, 330 kennzeichnen, z. B. den DUT-Typ bestimmen und/oder das DUT identifizieren, abhängig von einem Zeitpunkt der Übertragung der Prüfinformationen an das Prüfobjekt. Dazu wird der Zeitpunkt der Übertragung der Prüfinformation durch das Prüfobjekt bestimmt oder beeinflusst, z. B. weil das Prüfobjekt die Schnittstelle steuert, z. B. als Master-Vorrichtung, oder weil das Prüfobjekt die Übertragung als Slave-Vorrichtung verlangsamen oder unterbrechen kann.
  • Eine PPU 210, 310 kann ein Prüfobjekt 230, 330 als fehlerhaft charakterisieren, wenn die Übertragung von Prüfinformationen an das Prüfobjekt um mehr als eine vorbestimmte Zeit hinter einem Empfang von gemeinsam genutzten Daten durch die jeweilige Portverarbeitungseinheit 210, 310 zurückbleibt.
  • Um die Gesamtleistung der ATE 200, 300 zu verbessern, kann eine PPU 210, 310 ein DUT 230, 330 als fehlerhaft kennzeichnen oder identifizieren, d. h. bestimmen, dass das DUT fehlerhaft ist, wenn eine Datenübertragung zu dem oder von dem DUT einen bestimmten zeitlichen Schwellenwert überschreitet, d. h. wenn die Kommunikation der ATE mit dem DUT nicht innerhalb eines vorbestimmten Zeitrahmens durchgeführt oder abgeschlossen werden kann. Der vorbestimmte Zeitrahmen kann z. B. benutzerspezifisch, vorrichtungsspezifisch oder prüfspezifisch sein.
  • 4, 5, 6 und 7 zeigen ein Blockschema einer automatisierten Prüfeinrichtung 400, 500, die der ATE 100, 200, 300, wie sie in 1 bis 3 beschrieben ist, ähnlich ist, gemäß einem Ausführungsbeispiel der vorliegenden Erfindung einschließlich Datenflüsse. Die automatisierte Prüfeinrichtung, ATE, dient zum Prüfen eines oder mehrerer Prüfobjekte, DUTs 130, 230, 330, 430, 530.
  • Beispielhafte Datenflüsse der Prüfinformationen, z. B. von Stimulusdaten, sind in 4 und 5 dargestellt. In 4 werden die Daten von dem Datenspeicher 450 zu einer der PPUs 410 gesendet, von wo aus sie, wie oben beschrieben ist, zu einer anderen PPU 410 und von dort zu einer anderen PPU 410 gesendet werden. In den PPUs werden die Daten in einem lokalen Pufferspeicher 440 gespeichert und von dort über eine HSIO 420 an die verbundenen Prüfobjekte 430 gesendet.
  • Dieser exemplarische Datenfluss ist lediglich für eine beispielhafte Topologie gezeigt. Wie oben ausgeführt ist, ist es auch möglich, dass alle PPUs 410 die Daten direkt von dem Datenspeicher 450 erhalten, oder es könnte möglich sein, dass einige der PPUs 410 die Daten direkt von dem Datenspeicher 450 empfangen und andere PPUs 410 die Daten von einer anderen PPU 410 empfangen.
  • In 5 werden die Daten von dem Datenspeicher 550 an den Speicherhub 560 gesendet, von wo aus die Daten an die PPUs 510 gesendet werden. In den PPUs werden die Daten in einem lokalen Pufferspeicher 540 gespeichert und von dort über eine HSIO 520 an die verbundenen Prüfobjekte 530 gesendet.
  • Nach der Prüfung können die PPUs 210, 310, 410, 510 von den Prüfobjekten 230, 330, 430, 530 Ergebnisdaten pro Vorrichtung empfangen und die Ergebnisdaten pro Vorrichtung an den Datenspeicher 250, 450 weiterleiten. Optional erfolgt die Übertragung an den Speicherhub 360, 560, von wo aus die Daten an den Datenspeicher 350, 550 540 werden.
  • Die ATE-Kommunikation kann insgesamt verbessert werden, wenn die PPUs 210, 310, 410, 510 die Ergebnisdaten, z. B. Ergebnisströme oder Ausfalldaten, auf einer Pro- Vorrichtung-Basis, d. h. Pro-DUT-Basis, erhalten und die Ergebnisdaten pro Vorrichtung, z. B. Ergebnisströme pro DUT oder Ausfalldaten pro DUT, an den Datenspeicher 250, 350, 450, 550 weiterleiten.
  • Die PPUs 210, 310, 410, 510 können die Ergebnisdaten pro Vorrichtung unter Verwendung von Erwartungsdaten erhalten, die auf den gemeinsam genutzten Daten basieren. Diese Erwartungsdaten stellen erwartete DUT-Antwortdaten dar. Die Erwartungsdaten werden in dem Datenspeicher 250, 350, 450, 550, 650 gespeichert und, wie in 6 beispielhaft gezeigt ist, an die PPUs 210, 310, 410, 510, 610 gesendet, wo sie lokal in dem lokalen Pufferspeicher 240, 240, 440, 540, 640 gespeichert werden können. In 6 empfängt lediglich eine PPU die Daten und gibt dieselben an eine andere PPU weiter, von wo dieselben wiederum an eine andere PPU gesendet werden. Wie oben beschrieben ist, sind andere Datenflüsse, d. h. alle oder einige PPUs empfangen Daten von dem Datenspeicher 250, 350, 450, 550, 650, und Topologien, d. h. die Daten werden an einen Speicherhub 360, 560 gesendet, möglich.
  • Von dem lokalen Pufferspeicher 240, 240, 440, 540, 640 werden die Daten von den PPUs 210, 310, 410, 510, 610 nach Bedarf abgerufen, um die Erwartungsdaten zu verarbeiten. Beispielsweise, um dieselben mit den tatsächlichen Antwortdaten der DUTs 230, 330, 430, 530, 630 zu vergleichen.
  • In 7 ist gezeigt, wie die PPUs 210, 310, 410, 510, 610, 710 die Ergebnisdaten pro Vorrichtung, z. B. Ergebnisströme pro DUT oder Ausfalldaten pro DUT, unter Verwendung von Erwartungsdaten erhalten, wobei die Erwartungsdaten auf den gemeinsam genutzten Daten basieren.
  • Insbesondere die DUTs 730c, 730d, 730e und 730 f geben Antwortdaten an die entsprechenden PPUs 710b und 710c über die jeweiligen HSIO-Schnittstellen 720c, 720d, 720e und 720f zurück. Die PPUs 710b und 710c rufen die betreffenden Daten von den lokalen Pufferspeichern 740b und 740c ab, wo sie zuvor gespeichert waren, wie in Zusammenhang mit 6 beschrieben ist.
  • Die PPUs vergleichen dann die Erwartungsdaten und die Empfangsdaten und berechnen möglicherweise Ausfalldaten, die dann in dem Datenspeicher 750 gespeichert werden können. Auch hier ist der Datenfluss von 7 nur beispielhaft. Die Verwendung eines Speicherhubs ist ebenso möglich wie die Übertragung zwischen PPUs, wie oben erörtert ist.
  • Die ATE 100, 200, 300, 400, 500, 600, 700 kann einen Speicherhub zum Koppeln einer Mehrzahl von Portverarbeitungseinheiten mit dem Datenspeicher in einer Sternarchitektur aufweisen. Der Speicherhub kann auch über einen Pufferspeicher und/oder einen oder mehrere Cachespeicher verfügen, die beide nicht gezeigt sind, um eine nicht-gleichzeitige Weiterleitung von gemeinsam genutzten Daten an unterschiedliche Portverarbeitungseinheiten zu ermöglichen.
  • Ein Durchlaufspeicher, FIFO-Speicher, kann dazu beitragen, Verzögerungen zu reduzieren und mehr der erforderlichen Daten zum Beschleunigen der Verarbeitung bereitzustellen. Ebenso können Cachespeicher eingesetzt werden, um Stockungen bei der Verarbeitung zu reduzieren und mehr Daten praktisch gleichzeitig für die Nutzung durch den Speicherhub zur Verfügung zu haben. Dadurch, dass mehr der gemeinsam genutzten Daten in einem Pufferspeicher oder in Cachespeichern gehalten werden, können die relevanten Daten zu unterschiedlichen Zeiten an unterschiedliche PPUs weitergeleitet werden, ohne dass mehrere Lesezugriffe auf den gemeinsam genutzten Speicherpool oder Datenspeicher erforderlich sind.
  • Der Datenspeicher 250, 350, 450, 550, 650, 750 kann darüber hinaus separate Schnittstellen für die gemeinsam genutzten Daten, die den Portverarbeitungseinheiten bereitgestellt werden, und für die Ergebnisdaten pro Vorrichtung aufweisen, wodurch auch die Gesamtleistung der ATE verbessert werden kann.
  • Der Datenspeicher 250, 350, 450, 550, 650, 750 kann außerdem eine Speicherschnittstelle aufweisen, um z. B. auf Ergebnisdaten pro Vorrichtung, z. B. zum Nachbearbeiten oder Hochladen, zuzugreifen, z. B. dieselben auszulesen, ohne dass eine Bereitstellung, z. B. seitens des Datenspeichers über die HSIO- oder andere Schnittstelle, von gemeinsam genutzten Daten für die Portverarbeitungseinheiten gestört wird.
  • Die PPUs 110, 210, 310, 410, 510, 610, 710 können ferner einen nicht gezeigten Streamingfehlererfassungsblock zum Erfassen eines Befehlsfehlers in den empfangenen Daten und zum Vergleichen der empfangenen Daten mit vorab geladenen Erwartungsdaten aufweisen, wobei die Erwartungsdaten vorzugsweise Maskendaten umfassen. Das Prüfen eines Prüfobjekts erzeugt Ergebnisdaten, die mit Erwartungsdaten verglichen werden können, wodurch angegeben wird, was ein ordnungsgemäß funktionierendes Prüfobjekt als Ergebnis zurückgeben würde. Um das korrekte Funktionieren des Prüfobjekts, des DUT, zu überprüfen, können auf der ATE so genannte Erwartungsdaten vorbereitet und vorab geladen werden. Die empfangenen Daten können dann mit den Erwartungsdaten verglichen werden und so das korrekte Funktionieren der Vorrichtung bestimmt werden. Die empfangenen Daten können sich auf Daten aus der Abtastkette, auf Befehls- und/oder Nutzlastdaten beziehen. Durch die Verwendung von Maskendaten, d. h. Daten, die definieren, welche Bits der empfangenen Daten welchen Inhalt enthalten sollen, kann. die ATE in die Lage versetzt werden, die Daten intelligenter zu verarbeiten. Als Beispiel können die Erwartungsdaten Maskendaten enthalten, die angeben, dass die empfangenen Daten für eine bestimmte Prüfprozedur drei Datenblöcke enthalten werden, nämlich den Befehl, der die betreffende Prüfung angibt, die Ergebnisdaten, die durch das DUT erzeugt wurden, und die Seed-Daten, die seitens des DUT verwendet wurden, um das Ergebnis zu erzeugen. Da die ATE das DUT mit den Seed-Daten versorgt hat, ist ein Speichern der Seed-Daten in Abhängigkeit von der Prüfung möglicherweise nicht notwendig. Außerdem kann durch selektives Speichern der Ergebnisdaten zusätzlicher Speicherplatz eingespart werden.
  • Dies ATE kann die Erwartungsdaten ferner vorab in einen Durchlaufspeicher, FIFO-Speicher, pro Vorrichtung oder in einen verwalteten Cachespeicher laden, der einer oder mehreren verbundenen Vorrichtungen zugeordnet ist, wodurch die Erwartungsdaten für einen schnelleren Vergleich mit den empfangenen Daten vorbereitet werden können. Dies ist besonders vorteilhaft, wenn die empfangenen Daten in einer bestimmten Reihenfolge erwartet werden, so dass die ersten vorab geladenen Daten, First-in-Daten, auch die ersten sind, die verglichen werden, und somit auch als erstes aus dem FIFO-Speicher entfernt werden können, First-out-Daten. Für diese Verwendung kann nur ein Teil der Erwartungsdaten, ein so genanntes Fenster von Erwartungsdaten, vorab geladen werden.
  • Alternativ kann ein verwalteter Cache, der mehr als einem Prüfobjekt zugeordnet sein kann, dazu verwendet werden, Erwartungsdaten oder ein Fenster von Erwartungsdaten vorab zu laden und dann mit den empfangenen Daten von mehr als einem Prüfobjekt zu vergleichen. Auf diese Weise müssen die Erwartungsdaten nicht wiederholt für alle Prüfobjekte geladen oder vorab geladen werden.
  • Außerdem kann der FIFO-Speicher oder verwaltete Cachespeicher die Nutzung, z. B. den Vergleich mit den empfangenen Daten, von den zugeordneten verbundenen DUTs verfolgen und Daten verwerfen, die verwendet, d. h. verglichen, wurden oder aus einem anderen Grund nicht mehr behalten werden müssen.
  • Die ATE kann ein bestimmtes Prüfobjekt als fehlerhaft erkennen, ansprechend auf ein Feststellen auf Basis der Verfolgung der Datennutzung, dass das bestimmte Prüfobjekt einem Datenstrom nicht folgt, d. h. wenn ein bestimmtes Prüfobjekt Daten so langsam bereitstellt, dass die Erwartungsdaten in dem verwalteten Cache, der dem bestimmten Prüfobjekt zugeordnet ist, viel länger ungenutzt bleiben als die entsprechenden Erwartungsdaten, die anderen Prüfobjekten zugeordnet sind, kann das DUT als fehlerhaft erkannt werden. Wenn im Falle eines verwalteten Cachespeichers die entsprechenden beibehaltenen Erwartungsdaten nur für eines von mehreren Prüfobjekten in dem Speicher behalten werden, könnte die Effizienz nachteilig beeinflusst werden, und indem das Prüfobjekt, für das die speziellen Erwartungsdaten beibehalten werden, als fehlerhaft betrachtet wird, können die Erwartungsdaten aus dem verwalteten Cache verworfen und die Gesamteffizienz verbessert werden. Außerdem könnte, wenn erwartet wird, dass die empfangenen Daten einem bestimmten Datenstrom oder einer Struktur folgen, und ein DUT die empfangenen Daten nicht in diesem Datenstrom oder dieser Struktur liefert, dasselbe als fehlerhaft betrachtet werden.
  • Der Streamingfehlererfassungsblock kann darüber hinaus statistische Informationen speichern, die für die Ausfallanalyse relevant sind.
  • Wie in der Kurzdarstellung ausführlich beschrieben ist, können die Daten auch in einer komprimierten Darstellung gespeichert werden. Dies bezieht sich natürlich auf alle Speicher und alle Daten. Und die Komprimierung kann dynamisch eingestellt sein. Zum Beispiel, um mit einer erwarteten Fehlerverteilung übereinzustimmen.
  • Die ATE kann außerdem empfangene Daten, die wahrscheinlich fehlerhaft sind, in der Nähe in dem empfangenen Datenstrom halten, wie oben erörtert wird.
  • Es wird darauf hingewiesen, dass die ATE 100, 200, 300, 400, 500, 600, 700 optional durch beliebige der hierin beschriebenen Merkmale, Funktionalitäten und Details ergänzt werden kann, sowohl einzeln als auch in Kombination.
  • Die vorliegende Erfindung bezieht sich auch auf ein Verfahren zum automatisierten Prüfen eines oder mehrerer Prüfobjekte, das ein Empfangen von Daten, ein Speichern der empfangenen Daten und ein Bereitstellen der gespeicherten Daten für eines oder mehrere der Prüfobjekte aufweist.
  • Dieses Verfahren basiert auf denselben Überlegungen wie die oben beschriebene automatisierte Prüfeinrichtung. Es wird darauf hingewiesen, dass das Verfahren durch beliebige der hierin beschriebenen Merkmale, Funktionalitäten und Details ergänzt werden kann, auch in Bezug auf die automatisierte Prüfeinrichtung. Darüber hinaus kann das Verfahren durch die Merkmale, Funktionalitäten und Details der automatisierten Prüfeinrichtung ergänzt werden, sowohl einzeln als auch in Kombination.
  • Ein Ausführungsbeispiel gemäß der Erfindung erzeugt ein Computerprogramm zum Durchführen des hier beschriebenen Verfahrens, wenn das Computerprogramm auf einem Computer läuft.
  • Details und Ausführungsbeispiele
  • Im Folgenden werden einige Überlegungen, die der vorliegenden Erfindung zugrunde liegen, erörtert und mehrere Lösungen beschrieben. Insbesondere wird eine Reihe von Details offenbart, die optional in jede der hierin offenbarten Ausführungsbeispiele eingeführt werden können.
  • Motivation
  • Strukturelle Prüfungen ermöglichen eine systematische Prüfabdeckung von einzelnen Strukturen („Zellen“), die die komplexen Funktionen eines digitalen Blocks innerhalb eines SOC [System on a Chip] implementieren. Die strukturelle Prüfung umfasst eine Mehrzahl von Prüfverfahren, einschließlich, aber nicht beschränkt auf Speicher-BIST, Logik-BIST (auf dem Chip erzeugte Struktur) und Abtastprüfung (extern bereitgestellte Struktur). Einzelne Tests Prüfungen zu Prüfblöcken kombiniert: z. B. wird die Abtastprüfung hierarchisch auf Blöcke angewendet (seriell oder parallel).
  • Fortgeschrittene strukturelle Prüfverfahren wenden eine Kombination aus extern bereitgestellten Prüfdaten (Stimulus von ATE [Automated Test Equipment]) und einer auf dem Chip befindlichen DFT [Device for Testing] an, die extern bereitgestellte Prüfdaten (Seeds) zu Abtastketten erweitert. Die Prüfergebnisse werden verdichtet und zu einer reduzierten Menge an Prüfdaten komprimiert, die der primären IO eines SOC zur Verfügung gestellt werden (Empfangsdaten), die die ATE mit erwarteten Daten vergleicht (einschließlich der Fähigkeit, Empfangsdaten zu maskieren).
  • Ohne die Anwendung der vorgeschlagenen Lösung einzuschränken, wird im Folgenden auf die Abtastprüfung als allgemeine Darstellung der strukturellen Prüfung wie oben beschrieben Bezug genommen.
  • Es entstehen jedoch mit der zunehmenden Komplexität von SOCs, die durch neue Herstellungsprozesse ermöglicht wird, Herausforderungen an die kosteneffiziente Skalierung von Abtastprüfungen.
    • • Eskalierende Menge an Prüfdaten, die auf der ATE gespeichert werden müssen
    • • Eskalierende Prüfzeiten zum Zuführen der Prüfdaten durch die SOC 10 hindurch
    • • Zunehmende On-Chip-Komplexität, die die Verteilung von Prüfdaten auf zu prüfende Blöcke und das Erzeugen der erforderlichen Taktsignale vor eine Herausforderung stellt.
  • Darüber hinaus erfordern die Qualitäts- und Zuverlässigkeitserwartungen an komplexe SOCs strukturelle Prüfungen, wenn das SOC in der Endanwendung eingesetzt wird: z. B. in einem Automobil- oder Kommunikationsinfrastruktursystem.
  • Es gibt mehrere mögliche Lösungen für diese Herausforderungen:
    • • Prüfdatenlieferung durch funktionale Hochgeschwindigkeits-E/A-Schnittstellen:
      • z. B. durch USB oder PCIe. Dies führt zu folgendem Ergebnis:
        • ○ Ermöglicht höhere Datenraten
        • ○ Ermöglicht strukturelle Prüfungen in der Endanwendung
        • ○ Erfordert ein Entkoppeln der Zeiten auf der ATE und auf dem DUT [Device under testing] (wie es für HSIO-Datenkommunikation typisch ist). Jede genaue Zeitsynchronisation erfordert zeitkritische Signale zwischen dem DUT und der ATE oder anderen zusätzlichen Vorrichtungen (z. B. Oszilloskop).
    • • Erweiterte On-Chip-Prüfdatenverarbeitung, Prüfplanung und Prüfdatenkommunikation mit zu prüfenden Blöcken.
      • ○ Typische vorgeschlagene Elemente:
        • ein Kommunikationsprotokoll zwischen der ATE und der HSIO-DFT: z. B. 1149.10
        • Verwendung eines chipintegrierten Netzwerks (Network on chip, NOC) zum flexiblen Weiterleiten von Prüfdaten, wobei die lokale DFT die Testanwendung verwaltet
        • Flexible Prüfplanung seriell oder parallel für mehrere Blöcke.
      • ○ Dies führt zu folgendem Ergebnis:
        • Erfordert komplexe Interaktionen zur effektiven Planung einer Prüfdatenübertragung zu dem und von dem DUT
      • Ermöglicht eine Kommunikation auf höherer Ebene (Semantik), die über den Prüfport übertragen wird und neue Ebenen der Steuerung bietet, z. B.:
        • • DFT stellt vorverarbeitete Ergebnisse bereit, die die Entscheidungsfindung erleichtern und ertragsbezogenes Lernen ermöglichen
        • • DFT steuert die ATE-Leistung
  • Aspekt 1: Lösung für gemeinsame Datennutzung an mehreren Standorten, Datenstreaming, Datenverarbeitung
  • Problem: Das eskalierende Prüfdatenvolumen erfordert die gemeinsame Nutzung von Prüfdaten über mehrere parallel geprüfte Standorte hinweg:
    • • Verschiedene Arten von Daten könnten gemeinsam genutzt werden und müssen von einem gemeinsam genutzten Datenspeicher zu der DUT-Schnittstelle („Port“) oder zu Verarbeitungseinheiten pro Standort gestreamt werden. Daten, die gemeinsam genutzt werden könnten, umfassen die folgenden, ohne auf diese beschränkt zu sein:
      • ○ Antriebsdaten (Stimulus)
      • ○ Erwartungsdaten (einschließlich Maskendaten, die mit Erwartungsdaten oder in einem separaten Speicherbereich gespeichert sind)
      • ○ Hilfsdaten, die für die Nachbearbeitung der Ergebnisse benötigt werden
    • • Der Datenfluss muss mit der HSIO-Datenrate Schritt halten, wodurch die Auswirkungen auf die resultierende Prüfdatenübertragung pro Standort minimiert werden.
    • • Im Idealfall könnte der Datenspeicher über alle Standorte hinweg gemeinsam genutzt werden, wobei Schnittstelle zu den Portverarbeitungseinheiten der ATE gebildet würde. Dies würde jedoch zu ungemein komplexen und teuren Datenschnittstellen führen. Es muss eine geeignete Architektur gefunden werden, um die gemeinsame Nutzung ohne Auswirkungen auf die Prüfausführung zu maximieren.
    • • Daten pro Standort können nicht gemeinsam genutzt werden. Dazu gehören:
      • ○ Empfangsdaten von dem DUT
      • ○ Ergebnisse, die nach einem Vergleichen der Empfangsdaten mit den Erwartungsdaten gespeichert werden
      • o Prüfbedingungen pro Standort: z. B. DUT-spezifischer On-Chip-Aufbau, der dem DUT als Präambel für die eigentliche Prüfdatenübertragung kommuniziert wird.
  • Lösung:
  • 8 zeigt einen beispielhaften Datenfluss. Derselbe stellt jedoch nur einen einzelnen Standort dar und unterscheidet nicht zwischen dem Datenspeicher und der einen oder den mehreren Portverarbeitungseinheiten (PPU).
  • Lösungskomponenten:
    1. 1. Datenspeicher:
      • ○ Speicherteilsystem auf der ATE-Hardware, das einen großen, gemeinsam genutzten Speicherpool implementiert
      • ○ Typischerweise als der schnellste verfügbare Commodity-RAM implementiert
      • ○ Wird zum Streamen von gemeinsam genutzten Daten an die Portverarbeitungseinheiten verwendet. Um die Bandbreitennutzung zu minimieren, werden Daten, die für eine Prüfausführung an mehreren Standorten gemeinsam genutzt werden, vorzugsweise nur einmal seitens einer PPU oder eines Speicherhubs gelesen.
      • ○ Wird zum Speichern von Ergebnisströmen pro DUT in kontrollierten Speicherbereichen verwendet. Das Volumen und die Bandbreite, die für das Speichern der Ergebnisse erforderlich werden, sind vorzugsweise wesentlich kleiner als bei gemeinsam genutzten Stimulusdaten.
      • ○ Auf einer ATE-Karte können ein oder mehrere Datenspeicher vorhanden sein. Jeder Datenspeicher erfordert eine Replikation der Datenflussarchitektur.
    2. 2. PPU - Portverarbeitungseinheit:
      • ○ Schnittstellen mit einem oder mehreren DUTs
      • ○ Implementiert HSIO-, Debug- und Steuerports für DUTs
      • ○ Empfängt Daten von dem Datenspeicher entweder direkt oder von einer anderen PPU (Verkettung) oder einem zentralen Speicherhub weitergeleitet.
      • ○ Verwendet Pufferung (FIFOs) und Cachespeicher, um Lesezugriffe auf die Datenquelle derselben zu minimieren.
      • ○ Bewältigt fehlerhafte bzw. langsame Sites auf elegante Weise: Der Benutzer kann z. B. eine maximale Verarbeitungsdisparität angeben, die angibt, dass eine Vorrichtung ausfällt, wenn dieselbe über diese Zahl hinaus hinter den Empfang zurückfällt.
      • ○ Kann gemeinsam genutzte Daten an eine oder mehrere andere PPUs weiterleiten
      • ○ Implementiert den Vergleich pro DUT von Erwartungsdaten mit Empfangsdaten und berechnet Ausfalldaten pro DUT
      • ○ Sendet Ausfalldaten an den Datenspeicher - möglicherweise über eine andere PPU oder einen Speicherhub.
    3. 3. Speicherhub (optional):
      • ○ Wird zur Implementierung einer Sternarchitektur verwendet.
      • ○ Bietet Datenschnittstellen für jede PPU
      • ○ Verwendet Pufferung (FIFOs) und Cachespeicher, um Lesezugriffe auf den Datenspeicher zu minimieren.
    4. 4. Ergebnisdatenspeicher (optional):
      • ○ Unabhängige Datenspeicher für Ergebnisse können aus folgenden Gründen an jede PPU oder zentral an einen Speicherhub angeschlossen sein:
      • ○ Bietet eine Speicherschnittstelle, die unabhängig von der Schnittstelle ist, die zum Streamen von gemeinsam genutzten Daten an die PPUs verwendet wird.
      • ○ Bietet eine Speicherschnittstelle für den Zugriff auf Ergebnisdaten zum Nachbearbeiten oder Hochladen, ohne die nächste Prüfausführung zu stören.
  • Aspekt 2: Lösung für Streaminqfehlererfassunq und Fehlerkomprimierung
  • Problem: Eine traditionelle ATE in Echtzeit tastet die primären Ausgaben der Strukturprüfungen ab und vergleicht dieselben mit Erwartungsdaten (inkl. Maskierung). Dieser Prozess wird durch eine deterministische, zyklische E/A von Prüfdaten ermöglicht.
  • Die Abtastprüfung durch HSIO ist jedoch von Natur aus nicht-deterministisch und gebündelt. Außerdem handelt es sich bei der Abtastausgabe um Nutzlastdaten in einem Protokollstapel: d. h. die Daten, die zu den Abtastketten gehen bzw. von denselben kommen, werden zu einer seriellen Nutzlast verwürfelt, die mit Befehlen „getaggt“ ist.
  • USB-Empfangsdaten (Befehle und Nutzlasten) werden in dem Speicher gespeichert, bevor dieselben verarbeitet werden: z. B. verglichen mit Erwartungsdaten.
  • Dieser Ansatz hat zwei Probleme:
    1. 1. Die Datenverarbeitung hat erhebliche Anforderungen an die Speicherbandbreite, wenn dieselbe empfangene Daten speichert und später wieder liest, um sie mit erwarteten Daten zu vergleichen, die an einem anderen Speicherort gespeichert sind. Dies wird weiter vervielfacht, indem mehrere Geräte parallel geprüft werden.
    2. 2. Die Entscheidung, ob eine Abtaststruktur fehlgeschlagen ist, basiert auf der Nachbearbeitung der über USB-Pakete empfangenen Daten. Im schlimmsten Fall dominiert der Vergleich der empfangenen Daten mit den Erwartungsdaten die Gesamtausführungszeit: d. h. er dauert länger als der Datenstrom durch die HSIO.
  • Lösung:
    • Ein in die Portverarbeitungseinheit eingebetteter Streamingfehlererfassungsblock, der gerade empfangene Abtastdaten mit vorab geladenen Erwartungsdaten vergleicht, um lediglich dann in den Speicher zu schreiben, wenn ein tatsächlicher Fehler erfasst wurde. Beachten Sie, dass Erwartungsdaten Maskendaten umfassen können.
  • Im Einzelnen:
    1. 1. Unter Verwendung der oben beschriebenen Datenstreaming-Architektur behält eine Portverarbeitungseinheit ein Fenster von Erwartungsdaten bei, das bereitsteht, um mit empfangenen Datenpaketen verglichen zu werden. Die Erwartungsdaten werden vorab in einen FIFO pro Standort oder in einen verwalteten Cachespeicher geladen, der die Nutzung seiner Daten durch alle aktiven Standorte verfolgt, bevor die Daten verworfen werden. Dadurch wird vermieden, dass die Erwartungsdaten aus dem großen Datenspeicher ausgelesen werden - möglicherweise wiederholt für jeden Standort. Falls eine Vorrichtung dem Datenstrom nicht folgt, kann die PPU eine Ausnahme auslösen, den Standort als fehlerhaft erklären und nur die verfügbaren Fehlerdaten speichern.
    2. 2. Beim Empfangen von Abtastdaten auf der HSIO vergleicht die Portverarbeitungseinheit die empfangenen Daten mit den „übereinstimmenden“ vorab geladenen Erwartungsdaten. Im Falle einer HSIO-Kommunikation als deterministischer Strom von Bytes bezieht sich „übereinstimmend“ auf den Vergleich empfangener Daten in der Reihenfolge der vorab geladenen Erwartungsdaten. Im Falle einer DMA-Übertragung von empfangenen Daten stimmt die PPU den Byteversatz der geschriebenen Empfangsdaten mit dem Byteversatz in den Erwartungsdaten ab. Der Byteversatz verhält sich wie eine Speicheradresse.
    3. 3. Die Fehlerinformationen werden in einer komprimierten Darstellung nach außen gestreamt, um das Datenvolumen und die erforderliche Bandbreite der Speicherschnittstelle zu minimieren. Über die Standarddatenkomprimierung hinaus (z. B. Lauflängencodierung von fehlerhaften Bits) kann der Streamingfehlererfassungsblock prüfpezifische Formate implementieren (z. B. wie sie auch von einer traditionellen ATE geliefert werden). Die Komprimierung kann dynamisch an die erwartete Fehlerverteilung angepasst werden: Z. B. können die empfangenen Daten Registerwerte enthalten, was zu kurzen Fehlerbündeln führt, sobald ein Registerwert falsch ist. Dies kann effektiv durch einen Header mit dem Byteversatz beim Start des Fehlerbursts und einem Fehlerwort, das sich bis zu einem Registerwert erstreckt, gespeichert werden. Die Komprimierung von Ergebnisdaten kann verbessert werden, wenn die USB-DFT Empfangsdaten, die wahrscheinlich fehlerhaft sind, in der Nähe in dem seriellen USB-Empfangsdatenstrom hält. Die USB-DFT könnte verwandte Bits puffern, um dieselben innerhalb eines kleinen Bereichs von seriellen Bits nach außen zu streamen: z. B. den Wert eines MISR-Registers puffern, das über mehrere Abtastketten empfangen wurde. Wenn dieses Register ausfällt, werden viele Bits umgedreht, und dementsprechend kann ein Bündel von fehlerhaften Bits mit einem einzigen Versatzwert seines Anfangs innerhalb des gesamten Empfangsstroms gespeichert werden (siehe Absatz oben). In ähnlicher Weise könnte die USB-DFT Daten aus einer einzelnen Abtastkette puffern und bündeln. Außerdem kann die USB-DFT die Ergebnisse eines einzelnen Blocks, die von mehreren Abtastketten stammen, gepuffert halten und diese getrennt von den Ergebnissen eines anderen Blocks bündeln. Über die einzelnen Fehlerinformationen hinaus speichert der Streamingfehlererfassungsblock Statistiken, die für die Ausfallanalyse relevant sind: z. B. Zählen der Gesamtzahl von Ausfällen, Speichern des Byteversatzes des ersten Ausfallzyklus.
    4. 4. Ein einzigartiges Merkmal der Ergebnisverarbeitung von Abtasten-über-HSIO ist, dass ein Fehler nicht nur in der Nutzlast der Abtastausgabedaten, sondern auch in dem Befehlscode auftreten kann: z. B.
      • a. Die HSIO-Abtast-DFT hat eine Anomalie festgestellt, die sie kommuniziert, wobei dadurch die Befehlssequenz unterbrochen wird.
      • b. Die HSIO-Abtast-DFT selbst ist defekt, wodurch typischerweise die gesamte Nutzlast ungültig wird. Eine Lösung hierfür wäre das Speichern eines zusätzlichen Erwartungsdatensatzes, wobei jedes Bit beschreibt, ob das jeweilige Empfangsdatenbit ein Befehl ist: Befehlsflagdaten. Immer wenn ein Fehler in einem Befehl erfasst wird, wird ein „Befehlsfehler“-Flag gesetzt, um das Ergebnis zu qualifizieren und das Erfassen von unerwarteten Prozessproblemen zu beschleunigen. Wann immer ein derartiger Fehler auftritt, kann der Streamingfehlererfassungsblock in einen Modus wechseln, der die Speicherung nutzloser und zufälliger Nutzlastdaten minimiert oder möglicherweise die folgenden Bits als Informationsnutzlast über den Zustand des HSIO-Abtast-DFT-Blocks erfasst.
    5. 5. Über das effiziente Erfassen, dass ein Fehler aufgetreten ist, und das Speichern des Ergebnisses hinaus kann das Verarbeiten von Streamingergebnissen die Ergebnisse so entwürfeln, dass die Fehlerabbildung nicht auf dem Bitversatz der in den seriellen USB-Stream mit seiner Befehlsstruktur gepackten Abtastdaten basiert, sondern sich direkt auf Versätze der Block-IO bezieht: z. B. Versätze in einer Abtastkette. Das Entwürfeln erfordert Abbildungsinformationen, die mit der Abtaststruktur als „Anmerkungen“ gespeichert werden müssen. Diese könnte mit den Befehlsflagdaten zusammengeführt werden, um Befehlsdaten herauszufiltern, die im Vergleich zu der Abtast-IO eines geprüften SOC-Blocks inhärent irrelevant sind.
  • Darüber hinaus können die Abbildungsinformationen unterschiedlich sein, sobald Empfangsdaten verschiedener SOC-Blöcke übermittelt wurden. Dementsprechend kann der Entwürfelungsprozess zunächst den Nutzlasttyp erfassen (z. B. gespeichert in einem Blockindex eines Befehls), bevor die korrekte Entwürfelungsabbildung angewendet wird: z. B. wie jedes Bit in der Nutzlast auf Abtastketten abgebildet wird - möglicherweise wiederholt für einen langen Nutzlast-Burst. Insgesamt lässt sich der Fluss einer Streamingentwürfelung in drei Phasen unterteilen, die sich bei einer effektiven Implementierung sequenzieren lassen:
    1. a. Verwerfen von Befehlsdaten
    2. b. Erfassen des Nutzlasttyps. Diese Stufe kann auch Wiederholungen von identisch strukturierter Nutzlast verarbeiten, die in einem einzigen Befehlsrahmen codiert ist.
    3. c. Entwürfeln der Nutzlast mit anwendbarer Abbildung
  • Aspekt 3: Lösung zum Reduzieren des erforderlichen Prüfdatenvolumens
  • Problem: Das Prüfdatenvolumen eskaliert. Dies wirkt sich sowohl auf die Speicherung als auch auf die erforderliche Bandbreite beim Speicherzugriff und beim Datenstreaming an mehreren Standorten aus.
  • Lösung:
    • Sowohl Maskendaten als auch Befehlsflagdaten können mit Algorithmen komprimiert werden, die eine Echtzeitdekomprimierung kurz vor dem tatsächlichen Vergleich mit den Empfangsdaten ermöglichen.
    • Da Maskenbits selten sein sollten und eher für Fehlerbündelung anfällig sind, kann die Lauflängencodierung effektiv und einfach zu decodieren sein.
  • Befehlsflagdaten können lauflängencodiert oder algorithmisch komprimiert seinn: z. B. wenn ein Empfangswort in Befehls- und Nutzlastbits aufgeteilt ist.
  • Aspekt 4: Lösung zum Reduzieren des des zeitlichen Mehraufwands von Sequenzbefehlen
  • Problem: HSIO-Abtastprüfungen sind von anderen Aktionen umgeben: z. B. Einrichten der Vorrichtung vor dem HSIO-Abtasten, Ändern der Testbedingungen zwischen HSIO-Abtastprüfungen oder Bündeln von unabhängigen HSIO-Abtaststrukturprüfungen. In all diesen Fällen führt die sequentielle Ausführung von Aktionen zu Mehraufwand.
  • Bei einer typischen ATE wird dies minimiert oder ganz vermieden, indem die Prüfdaten der folgenden Aktion in FIFOs so vorbereitet werden, dass das Prüfen ohne Unterbrechung fortgesetzt werden kann.
  • Lösung:
    • Aktionen, die das HSIO-Abtasten steuern, erfordern im Allgemeinen in einem High-Level-Betriebssystem die Unterstützung durch den Softwarestapel. Dementsprechend erfordert die Vorbereitung der Prüfdaten der folgenden Aktion den parallelen Beginn von Aktivitäten auf Betriebssystemebene vor dem Abschluss der vorherigen. Dies kann durch Multi-Threading erfolgen, das in der Regel durch ein hochmodernes Betriebssystem (z. B. Linux) zur Verfügung gestellt wird. Die Aktivitäten an der DUT-Schnittstelle müssen jedoch in Reihenfolge sein. Dementsprechend muss die Übertragung der USB-Daten angehalten werden, bis die vorherige Aktion abgeschlossen ist.
  • Das Anhalten der HSIO-Abtast-Datenübertragung erfordert einen Eingriff in den Protokollstapel des spezifischen HSIO-Ports: z. B. für PCle: PCle kann LEERLAUF (IDLE) weiter treiben, bis die vorbereiteten Frames gestartet werden können. Wenn es sich um DMA-Zugriff von dem Prüfobjekt handelt, könnte PCle vollständig vorbereitet sein und nur warten, bis das Prüfobjekt nach Abschluss der vorherigen Aktionen in den DMA-Datentransfer einsteigt.
  • Das Anhalten der Datenübertragung erfordert geeignete Änderungen des HSIO-Stapels in der HSIO-IP: z. B. kann die HSIO zwei Pipelines haben, die Übertragungen vorbereiten. Jedes Mal bleibt eine von ihnen gerüstet/durchgeschaltet, bis ein Auslöser empfangen wird, um die Datenübertragung im nächsten verfügbaren Schlitz freizugeben. Der Auslöser kann entweder ein Softwarebefehl auf niedriger Ebene oder ein elektrischer Auslöser sein, der von einer anderen Vorrichtung oder sogar von dem DUT selbst empfangen wird.
  • Aspekt 5: Lösung für die Entkopplung von Prüfaufbau, Prüfdaten und Prüfdatenfluss von den Besonderheiten des HSIO-Ports
  • Problem: HSIO-Schnittstellen sind auf verschiedenen Betriebssystemen und mit unterschiedlichen Treibern auf unterschiedliche Weise programmiert. Typische Variationen, die die Prüfeinrichtung unterstützen muss, sind unter anderem, jedoch nicht darauf beschränkt:
    • • Unterschiedliche HSIO-Ports einschließlich USB, PCle, 1149.10 oder sogar proprietäre Schnittstellen
    • • HSIO als Host/Root oder als Endpunkt betrieben
    • • aktives Streamen von Prüfdaten zu dem DUT oder dem DUT, das Daten von der ATE (DMA) zieht, seitens der ATA
    • • HSIO-Kommunikation über Standardschnittstellen oder unter Verwendung eines kundenspezifischen Treibers
  • ATE und Prüfprogramme müssen jedoch generische, konfigurierbare Prüfaufbauten und Nutzungsfälle ermöglichen.
  • Lösung:
    • Die ATE-Lösung ermöglicht die Neukonfiguration der Portschnittstelle innerhalb eines Prüfprogramms: z. B. von dem PCIe-Endpunkt zu der 1149.10-Testschnittstelle. Die ATE-Software unterstützt zwei oder mehr generische Nutzungsmodelle, die durch ein virtuelles „Instrument“ ermöglicht werden, das auf einen oder mehrere HSIO-Typen angewendet werden kann: z. B.
      • • Push-Modus-Streaming (typisch für USB, 1149.10): Die ATE stößt die Stimulusdaten aktiv in die HSIO-Kommunikation
      • • DMA-Modus (typisch für PCle): Das Prüfobjekt bildet den OCST-Speicher auf seinen Speicherbereich ab und liest Daten von/zu demselben.
  • Hinzufügen von Haken zu dem System, um es dem Kunden oder einer Drittpartei zu ermöglichen, den Standardblock gemäß der proprietären Schnittstelle anzupassen: z. B.
    • • Definieren einer Standardschnittstelle für die Implementierung eines benutzerdefinierten Ports gemäß einem ausgewählten Nutzungsmodell: z. B. DMA.
    • • Effizienter benutzerdefinierter Code/Drittanbietercode, der auf der OCST-Karte ausgeführt wird, um die empfangenen Pakete für das ertragsbezogene Lernen zu analysieren. In diesem Fall können die Erwartungsdaten eher unterstützende Informationen als direkt vergleichbare Erwartungsdaten enthalten.
    • • Verschlüsselung pro DUT kurz vor dem Stoßen der Daten in die HSIO.
    • • Erlauben einer standortbezogenen Zuordnung von Adressen, die durch das DUT verwendet werden, das Ergebnisse im DMA-Modus schreibt. Dadurch bleibt der physische Empfangsspeicher eindeutig, auch wenn die DMAs jedes Standorts identisch sind.
  • Schlussfolgerungen
  • Abschließend sei gesagt, dass die hier beschriebenen Ausführungsbeispiele optional durch beliebige der hier beschriebenen wichtigen Punkte oder Aspekte ergänzt werden können. Es wird jedoch darauf hingewiesen, dass die hier beschriebenen wichtigen Punkte und Aspekte entweder einzeln oder in Kombination verwendet werden können und in jedes der hier beschriebenen Ausführungsbeispiele sowohl einzeln als auch in Kombination eingeführt sein können.
  • Alternativen zur Implementierung
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschrittes entspricht. Analog dazu stellen Aspekte, die im Zusammenhang mit einem Verfahrensschritt beschrieben werden, auch eine Beschreibung eines entsprechenden Blocks oder Elements oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle Verfahrensschritte können durch eine HardwareVorrichtung, wie z. B. einen Mikroprozessor, einen programmierbaren Computer oder eine elektronische Schaltung, ausgeführt werden (oder diese verwenden). Bei einigen Ausführungsbeispielen können einer oder mehrere der wichtigsten Verfahrensschritte durch eine solche Vorrichtung ausgeführt werden.
  • Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, z. B. einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers erfolgen, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Daher kann das digitale Speichermedium computerlesbar sein.
  • Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
  • Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
  • Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
  • Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft.
  • Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist. Der Datenträger, das digitale Speichermedium oder das aufgezeichnete Medium sind üblicherweise greifbar bzw. nicht-flüchtig.
  • Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
  • Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
  • Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
  • Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das dazu konfiguriert ist, ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren an einen Empfänger zu übertragen. Die Übertragung kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein. Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung des Computerprogramms an den Empfänger umfassen.
  • Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
  • Die hierin beschriebenen Vorrichtungen können unter Verwendung einer Hardwarevorrichtung oder unter Verwendung eines Computers oder unter Verwendung einer Kombination aus einem einer Hardwarevorrichtung und einem Computer implementiert sein.
  • Die hierin beschriebenen Vorrichtungen oder beliebige Komponenten der hierin hierin beschriebenen Vorrichtung können zumindest teilweise in Hardware und/oder Software implementiert sein.
  • Die hierin beschriebenen Verfahren können unter Verwendung einer Hardwarevorrichtung oder eines Computers oder unter Verwendung einer Kombination aus einer Hardwarevorrichtung und einem Computer durchgeführt werden.
  • Die hierin beschriebenen Verfahren oder beliebige Komponenten der hierin hierin beschriebenen Vorrichtungen können zumindest teilweise in Hardware und/oder Software implementiert sein.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.

Claims (27)

  1. Eine automatisierte Prüfeinrichtung (100) zum Prüfen eines oder mehrerer Prüfobjekte (130), wobei die automatisierte Prüfeinrichtung folgende Merkmale aufweist: eine Mehrzahl von Portverarbeitungseinheiten (110), die zumindest Folgendes aufweisen: einen jeweiligen Pufferspeicher (140) und eine jeweilige Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, (120) zum Verbinden mit zumindest einem der Prüfobjekte (130); wobei die Portverarbeitungseinheiten dazu konfiguriert sind: Daten zu empfangen, die empfangenen Daten in dem jeweiligen Pufferspeicher (140) zu speichern und die in dem jeweiligen Pufferspeicher (140) gespeicherten Daten einem oder mehreren der verbundenen Prüfobjekte über die jeweilige HSIO-Schnittstelle (120) bereitzustellen, um das eine oder die mehreren verbundenen Prüfobjekte (130) zu prüfen.
  2. Automatisierte Prüfeinrichtung (100) gemäß einem der vorhergehenden Ansprüche, wobei über die jeweilige Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstelle, HSIO-Schnittstelle, (120) auf den jeweiligen Pufferspeicher (140) als lokaler Speicher zugegriffen werden kann.
  3. Automatisierte Prüfeinrichtung (100) gemäß einem der vorhergehenden Ansprüche, die ferner einen Datenspeicher aufweist, der einen gemeinsam genutzten Speicherpool aufweist, und wobei die Portverarbeitungseinheiten ferner dazu konfiguriert sind, gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool zu empfangen.
  4. Automatisierte Prüfeinrichtung gemäß Anspruch 3, wobei der Datenspeicher ferner dazu konfiguriert ist, gemeinsam genutzte Daten zu einer oder mehreren der Portverarbeitungseinheiten und/oder zu einem Speicherhub zu streamen.
  5. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 4, wobei der Datenspeicher ferner dazu konfiguriert ist, Ergebnisdaten pro Vorrichtung in einer Mehrzahl von Speicherbereichen zu speichern.
  6. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 5, wobei eine oder mehrere der Portverarbeitungseinheiten ferner dazu konfiguriert sind, gemeinsam genutzte Daten von dem gemeinsam genutzten Speicherpool an zumindest eine andere Portverarbeitungseinheit weiterzuleiten.
  7. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 6, wobei eine oder mehrere der Portverarbeitungseinheiten dazu konfiguriert sind, gemeinsam genutzte Daten von zumindest einer anderen Portverarbeitungseinheit zu empfangen.
  8. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 7, wobei eine oder mehrere der Mehrzahl von Portverarbeitungseinheiten eine Verkettung bilden, um gemeinsam genutzte Daten nacheinander von dem gemeinsam genutzten Speicherpool weiterzuleiten.
  9. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 8, wobei eine oder mehrere der Mehrzahl von Portverarbeitungseinheiten dazu konfiguriert sind, gemeinsam genutzte Daten von einem Speicherhub zu empfangen.
  10. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 9, wobei die Portverarbeitungseinheiten einen Pufferspeicher und/oder einen oder mehrere Cachespeicher umfassen, um eine Zeitverschiebung zwischen einem Empfang von gemeinsam genutzten Daten und einer Verwendung der gemeinsam genutzten Daten zum Prüfen eines oder mehrerer verbundener Prüfobjekte zu ermöglichen.
  11. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 10, wobei zumindest eine der Portverarbeitungseinheiten ferner dazu konfiguriert ist, Prüfinformationen, die auf den gemeinsam genutzten Daten basieren, über eine Schnittstelle einem Prüfobjekt bereitzustellen und ein Prüfobjekt abhängig von einem Zeitpunkt der Übertragung der Prüfinformationen an das Prüfobjekt zu kennzeichnen.
  12. Automatisierte Testvorrichtung gemäß Anspruch 11, wobei die zumindest eine Portverarbeitungseinheit dazu konfiguriert ist, ein Prüfobjekt als fehlerhaft zu kennzeichnen, wenn eine Übertragung von Prüfinformationen an das Prüfobjekt um mehr als eine vorbestimmte Zeit hinter einem Empfang von gemeinsam genutzten Daten durch die jeweilige Portverarbeitungseinheit zurückbleibt.
  13. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 12, wobei die Portverarbeitungseinheiten ferner dazu konfiguriert sind, Ergebnisdaten pro Vorrichtung zu erhalten und die Ergebnisdaten pro Vorrichtung an den Datenspeicher weiterzuleiten.
  14. Automatisierte Prüfeinrichtung gemäß Anspruch 13, wobei die Portverarbeitungseinheiten ferner dazu konfiguriert sind, die Ergebnisdaten pro Vorrichtung unter Verwendung von Erwartungsdaten zu erhalten, die auf den gemeinsam genutzten Daten basieren.
  15. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 14, die ferner einen Speicherhub aufweist, der dazu konfiguriert ist, eine Mehrzahl von Portverarbeitungseinheiten mit dem Datenspeicher in einer Sternarchitektur zu koppeln.
  16. Automatisierte Prüfeinrichtung gemäß Anspruch 15, wobei der Speicherhub einen Pufferspeicher und/oder einen oder mehrere Cachespeicher umfasst, um eine nicht-gleichzeitige Weiterleitung von gemeinsam genutzten Daten an unterschiedliche Portverarbeitungseinheiten zu ermöglichen.
  17. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 16, wobei der Datenspeicher ferner getrennte Schnittstellen für die gemeinsam genutzten Daten, die den Portverarbeitungseinheiten bereitgestellt werden, und für die Ergebnisdaten pro Vorrichtung aufweist.
  18. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 3 bis 17, wobei der Datenspeicher eine Speicherschnittstelle umfasst, die dazu konfiguriert ist, auf Ergebnisdaten pro Vorrichtung zuzugreifen, ohne eine Bereitstellung von gemeinsam genutzten Daten für die Portverarbeitungseinheiten zu stören.
  19. Automatisierte Prüfeinrichtung gemäß einem der vorhergehenden Ansprüche, wobei die Portverarbeitungseinheiten ferner einen Streamingfehlererfassungsblock aufweisen, der dazu konfiguriert ist, einen Befehlsfehler in den empfangenen Daten zu erfassen und die empfangenen Daten mit vorab geladenen Erwartungsdaten zu vergleichen, wobei die Erwartungsdaten vorzugsweise Maskendaten umfassen.
  20. Automatisierte Prüfeinrichtung gemäß Anspruch 19, die ferner dazu konfiguriert ist, die Erwartungsdaten vorab in einen FIFO-Speicher pro Vorrichtung oder einen verwalteten Cachespeicher zu laden, der einer oder mehreren verbundenen Vorrichtungen zugeordnet ist, der vorzugsweise dazu konfiguriert ist, eine Datennutzung durch die zugeordneten verbundenen Vorrichtungen zu verfolgen und die Daten zu verwerfen, und wobei die automatisierte Prüfeinrichtung insbesondere vorzugsweise ferner dazu konfiguriert ist, ein bestimmtes Prüfobjekt als fehlerhaft zu erkennen, ansprechend auf ein Feststellen auf Basis der Verfolgung der Datennutzung, dass das bestimmte Prüfobjekt einem Datenstrom nicht folgt.
  21. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 19 bis 20, die ferner dazu konfiguriert ist, Daten in dem Speicher in einer komprimierten Darstellung zu speichern, wobei die Komprimierung vorzugsweise eine Standarddatenkomprimierung oder ein prüfspezifisches Format ist.
  22. Automatisierte Prüfeinrichtung gemäß Anspruch 21, die ferner dazu konfiguriert ist, die Komprimierung dynamisch dahin gehend anzupassen, dass dieselbe mit einer erwarteten Fehlerverteilung übereinstimmt.
  23. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 21 bis 22, wobei die automatisierte Prüfeinrichtung dazu konfiguriert ist, empfangene Daten, die wahrscheinlich fehlerhaft sind, in der Nähe in dem empfangenen Datenstrom zu halten.
  24. Automatisierte Prüfeinrichtung gemäß einem der Ansprüche 19 bis 23, wobei der Streamingfehlererfassungsblock ferner dazu konfiguriert ist, statistische Informationen, die für die Fehleranalyse relevant sind, zu speichern.
  25. Verfahren zum automatisierten Prüfen eines oder mehrerer Prüfobjekte, das folgende Schritte aufweist: Empfangen von Daten, Speichern der empfangenen Daten und Bereitstellen der gespeicherten Daten für eines oder mehrere der Prüfobjekte.
  26. Ein Computerprogramm für eine Verarbeitungsvorrichtung, das Softwarecodeabschnitte zum Durchführen der Schritte gemäß Anspruch 25 aufweist, wenn das Programm auf der Verarbeitungsvorrichtung ausgeführt wird.
  27. Computerprogramm gemäß Anspruch 26, das ein computerlesbares Medium aufweist, auf dem die Softwarecodeabschnitte gespeichert sind, wobei das Programm direkt in einen internen Speicher der Verarbeitungsvorrichtung geladen werden kann.
DE112020000036.2T 2019-01-22 2020-01-22 Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers Pending DE112020000036T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962795456P 2019-01-22 2019-01-22
US62/795,456 2019-01-22
PCT/EP2020/051540 WO2020152231A1 (en) 2019-01-22 2020-01-22 Automated test equipment for testing one or more devices under test, method for automated testing of one or more devices under test, and computer program using a buffer memory

Publications (1)

Publication Number Publication Date
DE112020000036T5 true DE112020000036T5 (de) 2021-01-21

Family

ID=69192062

Family Applications (3)

Application Number Title Priority Date Filing Date
DE112020000035.4T Pending DE112020000035T5 (de) 2019-01-22 2020-01-22 Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm zur handhabung von befehlsfehlern
DE112020000469.4T Pending DE112020000469T5 (de) 2019-01-22 2020-01-22 Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet
DE112020000036.2T Pending DE112020000036T5 (de) 2019-01-22 2020-01-22 Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE112020000035.4T Pending DE112020000035T5 (de) 2019-01-22 2020-01-22 Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm zur handhabung von befehlsfehlern
DE112020000469.4T Pending DE112020000469T5 (de) 2019-01-22 2020-01-22 Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet

Country Status (7)

Country Link
US (3) US11385285B2 (de)
JP (3) JP7101814B2 (de)
KR (3) KR102604010B1 (de)
CN (3) CN112703409B (de)
DE (3) DE112020000035T5 (de)
TW (3) TW202202865A (de)
WO (3) WO2020152232A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204849B2 (en) 2020-03-13 2021-12-21 Nvidia Corporation Leveraging low power states for fault testing of processing cores at runtime
US11809570B2 (en) * 2020-10-06 2023-11-07 Newae Technology Inc Method and apparatus for analyzing side channel-related security vulnerabilities in digital devices
US11719749B1 (en) * 2020-10-22 2023-08-08 Cadence Design Systems, Inc. Method and system for saving and restoring of initialization actions on dut and corresponding test environment
US11836059B1 (en) 2020-12-14 2023-12-05 Sanblaze Technology, Inc. System and method for testing non-volatile memory express storage devices
CN112597006B (zh) * 2020-12-14 2023-10-03 中国航发控制系统研究所 一种嵌入式软件集成测试自动化执行系统及方法
US11431379B1 (en) * 2021-03-31 2022-08-30 Teradyne, Inc. Front-end module
CN115391108A (zh) * 2021-05-25 2022-11-25 爱德万测试股份有限公司 自动测试设备系统及其自动测试设备方法
CN113572661B (zh) * 2021-07-28 2022-12-27 迈普通信技术股份有限公司 一种测试多激活检测性能的系统和方法
CN113836060B (zh) * 2021-09-24 2024-05-28 北京机电工程研究所 一种适用于仿真模型及流程模型的分布式实时仿真平台
CN113961405B (zh) * 2021-09-30 2022-10-28 北京百度网讯科技有限公司 状态切换指令验证方法、装置、电子设备及存储介质
KR20240136317A (ko) * 2021-11-08 2024-09-13 주식회사 아도반테스토 트리거 라인을 사용하는 자동화된 테스트 장비, 테스트 대상 디바이스, 테스트 셋업 방법들
CN114167258B (zh) * 2021-11-29 2024-03-22 上海御渡半导体科技有限公司 一种ate测试系统的数据存储和读取装置及方法
CN113904970B (zh) * 2021-12-09 2022-03-01 伟恩测试技术(武汉)有限公司 一种半导体测试设备的传输系统及方法
CN114461150B (zh) * 2022-02-09 2024-08-16 马来西亚明试国际有限公司 一种用于自动测试设备数据聚合的方法、系统及存储介质
KR102461404B1 (ko) * 2022-04-08 2022-10-31 주식회사 세미파이브 시스템 온 칩과 메모리 사이의 통신을 위한 io 파라미터를 설정하는 방법 및 장치
US11853251B2 (en) * 2022-05-04 2023-12-26 Qualcomm Incorporated On-die chip-to-chip (C2C) link state monitor
US20240096432A1 (en) * 2022-09-15 2024-03-21 Advantest Corporation Memory queue operations to increase throughput in an ate system
TWI847363B (zh) * 2022-11-14 2024-07-01 華邦電子股份有限公司 積體電路測試方法及裝置
TWI847391B (zh) * 2022-11-28 2024-07-01 英業達股份有限公司 適用於SlimSAS插槽的檢測系統及其方法
CN116340191B (zh) * 2023-05-31 2023-08-08 合肥康芯威存储技术有限公司 一种存储器固件的测试方法、装置、设备及介质

Family Cites Families (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2966417B2 (ja) * 1988-09-05 1999-10-25 株式会社アドバンテスト 論理集積回路試験装置
US7328387B2 (en) 2004-12-10 2008-02-05 Texas Instruments Incorporated Addressable tap domain selection circuit with selectable ⅗ pin interface
US5103450A (en) * 1989-02-08 1992-04-07 Texas Instruments Incorporated Event qualified testing protocols for integrated circuits
US5321702A (en) * 1989-10-11 1994-06-14 Teradyne, Inc. High speed timing generator
JP3114753B2 (ja) * 1991-10-31 2000-12-04 九州日本電気株式会社 Lsiテスト方法
JPH07244130A (ja) * 1994-03-02 1995-09-19 Sony Tektronix Corp テストパターン発生器
JPH08129508A (ja) * 1994-10-31 1996-05-21 Toshiba Corp コンピュータシステム及びその共有メモリ制御方法
JPH10240560A (ja) * 1997-02-26 1998-09-11 Toshiba Corp 波形信号処理装置
GB9805054D0 (en) * 1998-03-11 1998-05-06 Process Intelligence Limited Memory test system with buffer memory
AU9654198A (en) 1998-06-29 2000-01-17 Iliya Valeryevich Klochkov A skew calibration means and a method of skew calibration
US6452411B1 (en) * 1999-03-01 2002-09-17 Formfactor, Inc. Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses
JP2001210685A (ja) 1999-11-19 2001-08-03 Hitachi Ltd テストシステムおよび半導体集積回路装置の製造方法
US6424926B1 (en) 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
KR100374328B1 (ko) * 2000-06-03 2003-03-03 박현숙 칩 설계 검증 및 테스트 장치 및 방법
JP2002156404A (ja) 2000-11-20 2002-05-31 Seiko Epson Corp 半導体測定方法及び半導体測定装置
JP2002311095A (ja) 2001-04-12 2002-10-23 Tritec:Kk Lsi検査装置
US6988232B2 (en) 2001-07-05 2006-01-17 Intellitech Corporation Method and apparatus for optimized parallel testing and access of electronic circuits
JP2003121499A (ja) * 2001-10-09 2003-04-23 Hitachi Ltd 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム
US7171598B2 (en) * 2002-05-08 2007-01-30 Credence Systems Corporation Tester system having a multi-purpose memory
JP2004030765A (ja) 2002-06-25 2004-01-29 Fujitsu Ltd 自己診断機能内蔵の半導体記憶装置
JP3614838B2 (ja) 2002-09-19 2005-01-26 Necエレクトロニクス株式会社 半導体検査システム及び半導体デバイスの検査方法
US7131046B2 (en) * 2002-12-03 2006-10-31 Verigy Ipco System and method for testing circuitry using an externally generated signature
GB0315931D0 (en) * 2003-07-08 2003-08-13 Koninkl Philips Electronics Nv Radio device testing system
US7310752B2 (en) * 2003-09-12 2007-12-18 Micron Technology, Inc. System and method for on-board timing margin testing of memory modules
JP4602004B2 (ja) 2004-06-22 2010-12-22 株式会社東芝 テストパターン作成装置、テストパターン作成方法及びテストパターン作成プログラム
US7089139B2 (en) * 2004-08-16 2006-08-08 Agilent Technologies, Inc. Method and apparatus for configuration of automated debug of in-circuit tests
US7627798B2 (en) 2004-10-08 2009-12-01 Kabushiki Kaisha Toshiba Systems and methods for circuit testing using LBIST
US7437517B2 (en) * 2005-01-11 2008-10-14 International Business Machines Corporation Methods and arrangements to manage on-chip memory to reduce memory latency
JP2006266835A (ja) * 2005-03-23 2006-10-05 Advantest Corp 試験装置、試験方法、及び試験制御プログラム
US20070168809A1 (en) 2005-08-09 2007-07-19 Naoki Kiryu Systems and methods for LBIST testing using commonly controlled LBIST satellites
CN1925384A (zh) * 2005-09-02 2007-03-07 上海乐金广电电子有限公司 数字广播信息流传输错误检测装置及方法
US7562271B2 (en) 2005-09-26 2009-07-14 Rambus Inc. Memory system topologies including a buffer device and an integrated circuit memory device
US7389461B2 (en) * 2005-09-28 2008-06-17 Teradyne, Inc. Data capture in automatic test equipment
CN1987236A (zh) * 2005-12-22 2007-06-27 乐金电子(天津)电器有限公司 空调器的错误记录管理控制装置及其管理控制方法
US7552370B2 (en) 2006-03-31 2009-06-23 Robert Pochowski Application specific distributed test engine architecture system and method
JP4864006B2 (ja) * 2006-04-06 2012-01-25 株式会社アドバンテスト 試験装置および試験方法
KR20090083327A (ko) * 2006-07-10 2009-08-03 아스테리온, 인크. 자동화 테스트 장비에서의 디지털 파형 발생 및 측정
KR101370728B1 (ko) * 2006-08-04 2014-03-06 어드밴테스트 (싱가포르) 피티이. 엘티디. 테스트 장치
US7698088B2 (en) * 2006-11-15 2010-04-13 Silicon Image, Inc. Interface test circuitry and methods
US7486205B2 (en) * 2006-11-28 2009-02-03 Samplify Systems, Inc. Compression and decompression of stimulus and response waveforms in automated test systems
US7788562B2 (en) * 2006-11-29 2010-08-31 Advantest Corporation Pattern controlled, full speed ATE compare capability for deterministic and non-deterministic IC data
US20080196103A1 (en) * 2007-02-09 2008-08-14 Chao-Yu Lin Method for analyzing abnormal network behaviors and isolating computer virus attacks
KR100897681B1 (ko) * 2007-04-05 2009-05-14 베리지 (싱가포르) 피티이. 엘티디. 테스트 프로그램 적응 시스템 및 자동화 테스트 시스템
US20090112548A1 (en) * 2007-10-30 2009-04-30 Conner George W A method for testing in a reconfigurable tester
US7717752B2 (en) 2008-07-01 2010-05-18 International Business Machines Corporation 276-pin buffered memory module with enhanced memory system interconnect and features
US20100023294A1 (en) * 2008-07-28 2010-01-28 Credence Systems Corporation Automated test system and method
US20100229058A1 (en) * 2009-03-04 2010-09-09 Suresh Goyal Method and apparatus for system testing using scan chain decomposition
US8195419B2 (en) * 2009-03-13 2012-06-05 Teradyne, Inc. General purpose protocol engine
US8170828B2 (en) 2009-06-05 2012-05-01 Apple Inc. Test method using memory programmed with tests and protocol to communicate between device under test and tester
US8386867B2 (en) * 2009-07-02 2013-02-26 Silicon Image, Inc. Computer memory test structure
US8261119B2 (en) 2009-09-10 2012-09-04 Advantest Corporation Test apparatus for testing device has synchronization module which synchronizes analog test module to digital test module based on synchronization signal received from digital test module
US20110273197A1 (en) * 2010-05-07 2011-11-10 Qualcomm Incorporated Signal generator for a built-in self test
JP2011248597A (ja) 2010-05-26 2011-12-08 Yokogawa Electric Corp テスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法
CN103038751B (zh) * 2010-05-28 2016-04-27 爱德万测试公司 具有可变并行性和固件可升级性的灵活存储接口测试器
US9317351B2 (en) * 2010-09-07 2016-04-19 Advantest Corporation System, methods and apparatus using virtual appliances in a semiconductor test environment
US8598898B2 (en) * 2010-10-05 2013-12-03 Silicon Image, Inc. Testing of high-speed input-output devices
US9043665B2 (en) * 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
US20120324302A1 (en) 2011-06-17 2012-12-20 Qualcomm Incorporated Integrated circuit for testing using a high-speed input/output interface
US9470759B2 (en) 2011-10-28 2016-10-18 Teradyne, Inc. Test instrument having a configurable interface
US20130227367A1 (en) * 2012-01-17 2013-08-29 Allen J. Czamara Test IP-Based A.T.E. Instrument Architecture
TW201337236A (zh) 2012-03-15 2013-09-16 Le & Der Co Ltd 流體自動化採樣控制裝置
US9606183B2 (en) * 2012-10-20 2017-03-28 Advantest Corporation Pseudo tester-per-site functionality on natively tester-per-pin automatic test equipment for semiconductor test
US9026869B1 (en) * 2012-11-01 2015-05-05 Amazon Technologies, Inc. Importance-based data storage verification
US9959186B2 (en) * 2012-11-19 2018-05-01 Teradyne, Inc. Debugging in a semiconductor device test environment
US9183952B2 (en) * 2013-02-20 2015-11-10 Micron Technology, Inc. Apparatuses and methods for compressing data received over multiple memory accesses
US10161993B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US11009550B2 (en) * 2013-02-21 2021-05-18 Advantest Corporation Test architecture with an FPGA based test board to simulate a DUT or end-point
US10162007B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US20140236527A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US9952276B2 (en) * 2013-02-21 2018-04-24 Advantest Corporation Tester with mixed protocol engine in a FPGA block
US9810729B2 (en) 2013-02-28 2017-11-07 Advantest Corporation Tester with acceleration for packet building within a FPGA block
US9310427B2 (en) * 2013-07-24 2016-04-12 Advantest Corporation High speed tester communication interface between test slice and trays
US20150153405A1 (en) 2013-12-04 2015-06-04 Princeton Technology Corporation Automatic testing system and method
CN204044309U (zh) 2014-01-24 2014-12-24 矽创电子股份有限公司 自动测试设备和升级自动测试设备的集成电路测试界面
US9934831B2 (en) * 2014-04-07 2018-04-03 Micron Technology, Inc. Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters
US9304846B2 (en) * 2014-04-29 2016-04-05 Ford Global Technologies, Llc Apparatus and method of error monitoring with a diagnostic module
US9811420B2 (en) * 2015-03-27 2017-11-07 Intel Corporation Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC)
JP6458626B2 (ja) 2015-05-07 2019-01-30 富士通株式会社 デバッグ回路、半導体装置及びデバッグ方法
KR102377362B1 (ko) * 2015-07-08 2022-03-23 삼성전자주식회사 보조 테스트 장치, 그것을 포함하는 테스트 보드 및 그것의 테스트 방법
JP6386434B2 (ja) 2015-10-08 2018-09-05 株式会社アドバンテスト 試験装置、試験信号供給装置、試験方法、およびプログラム
CN105895163B (zh) * 2016-03-28 2018-09-28 工业和信息化部电子第五研究所 基于镜像备份的单粒子效应检测方法和系统
US10395748B2 (en) * 2016-06-15 2019-08-27 Micron Technology, Inc. Shared error detection and correction memory
JP2018006406A (ja) 2016-06-28 2018-01-11 東京エレクトロン株式会社 基板検査装置
JP6686769B2 (ja) 2016-07-27 2020-04-22 富士通株式会社 テストパタン生成装置及びテストパタン生成方法
US11309056B2 (en) * 2017-01-31 2022-04-19 Octavo Systems Llc Automatic test equipment method for testing system in a package devices
JP6878071B2 (ja) 2017-03-21 2021-05-26 株式会社東芝 半導体集積回路及び半導体集積回路の診断方法
US10580200B2 (en) 2017-04-07 2020-03-03 Intel Corporation Virtual reality apparatus and method including prioritized pixel shader operations, alternate eye rendering, and/or augmented timewarp
CN107390109B (zh) * 2017-06-09 2019-12-24 苏州迅芯微电子有限公司 高速adc芯片的自动测试平台及其软件架构设计方法
TWI661208B (zh) * 2017-10-11 2019-06-01 致茂電子股份有限公司 測試裝置及其測試電路板

Also Published As

Publication number Publication date
DE112020000035T5 (de) 2020-12-31
JP2021520570A (ja) 2021-08-19
CN113330322B (zh) 2024-06-21
JP7058759B2 (ja) 2022-04-22
US20210073094A1 (en) 2021-03-11
TW202202865A (zh) 2022-01-16
KR20210079347A (ko) 2021-06-29
DE112020000469T5 (de) 2021-10-07
WO2020152230A1 (en) 2020-07-30
US20210025938A1 (en) 2021-01-28
JP7101814B2 (ja) 2022-07-15
WO2020152231A1 (en) 2020-07-30
KR102591340B1 (ko) 2023-10-20
TWI853054B (zh) 2024-08-21
TW202132793A (zh) 2021-09-01
KR102604010B1 (ko) 2023-11-20
TWI853053B (zh) 2024-08-21
US11385285B2 (en) 2022-07-12
JP2022517513A (ja) 2022-03-09
CN112703409B (zh) 2024-06-14
CN113330322A (zh) 2021-08-31
CN111989580B (zh) 2023-06-30
US11913990B2 (en) 2024-02-27
CN111989580A (zh) 2020-11-24
KR102569335B1 (ko) 2023-08-22
KR20210079348A (ko) 2021-06-29
CN112703409A (zh) 2021-04-23
JP7295954B2 (ja) 2023-06-21
WO2020152232A1 (en) 2020-07-30
JP2021520001A (ja) 2021-08-12
US11415628B2 (en) 2022-08-16
TW202202864A (zh) 2022-01-16
US20210055347A1 (en) 2021-02-25
KR20210116604A (ko) 2021-09-27

Similar Documents

Publication Publication Date Title
DE112020000036T5 (de) Automatisierte prüfeinrichtung zum prüfen eines oder mehrerer prüfobjekte, verfahren zum automatisierten prüfen eines oder mehrerer prüfobjekte und computerprogramm unter verwendung eines pufferspeichers
DE3903835C2 (de)
DE69019402T2 (de) Prüfverfahren und -gerät für integrierte Schaltungen.
DE102013114564B4 (de) System zur Reduzierung einer Leistungsspitze während einer Abtastverschiebung auf lokaler Ebene für abtastbasierte Prüfungen
DE69834892T2 (de) Eingebetteter Logikanalysator
DE3882266T2 (de) Abfrageprüfgerät für digitale Systeme mit dynamischem Direktzugriffspeicher.
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE4402796C2 (de) Verbesserte Redundanzanalysiereinrichtung für eine automatische Speichertestvorrichtung
DE69705813T2 (de) Diagnosesystem und Verfahren bei einer integrierten Halbleiterschaltung
DE10343227A1 (de) System und Verfahren zum Testen eines Schaltungsaufbaus unter Verwendung einer extern erzeugten Signatur
DE19952272A1 (de) Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen
DE112019005121T5 (de) Testsysteme zum ausführen von selbsttests in eingesetzten automobilen plattformen
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE69802977T2 (de) Steuervorrichtung einer Auslösesignalreihenfolge
DE102013114512B4 (de) Globales Einfangschema mit niedriger Leistung für Kerne
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE69717385T2 (de) Verfahren und System zur Speichereinrichtungsprüfung
DE112020004747T5 (de) Geräte und Verfahren für Direktzugriffs-Hybridtests
DE10250875B4 (de) Vorrichtung und Verfahren zum Konfigurieren einer integrierten Schaltung mit eingebettetem Speicher
DE602004006236T2 (de) Testen von elektronischen schaltungen
DE3037475A1 (de) Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage
DE102006011706A1 (de) Halbleiter-Bauelement, sowie Halbleiter-Bauelement-Test-Verfahren
DE102020108216A1 (de) Verfahren und Vorrichtungen zum Durchführen von Design for Debug über eine Protokollschnittstelle
DE60224107T2 (de) Verfahren und einheit zur programmierung eines speichers

Legal Events

Date Code Title Description
R012 Request for examination validly filed