DE112019007610T5 - Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts - Google Patents

Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts Download PDF

Info

Publication number
DE112019007610T5
DE112019007610T5 DE112019007610.8T DE112019007610T DE112019007610T5 DE 112019007610 T5 DE112019007610 T5 DE 112019007610T5 DE 112019007610 T DE112019007610 T DE 112019007610T DE 112019007610 T5 DE112019007610 T5 DE 112019007610T5
Authority
DE
Germany
Prior art keywords
test
interface
test equipment
memory
program
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
DE112019007610.8T
Other languages
English (en)
Inventor
Frank Hensel
Olaf Pöppe
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 DE112019007610T5 publication Critical patent/DE112019007610T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • 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/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/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31912Tester/user interface
    • 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/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5602Interface to device under test

Abstract

Ein Ausführungsbeispiel der vorliegenden Erfindung ist eine automatische Testausrüstung (ATE) zum Testen eines Testobjekts, das eine Verarbeitungseinheit und einen Programm- und/oder Datenspeicher aufweist, wobei die Verarbeitungseinheit Code von einem Programm- und/oder Datenspeicher ausführen kann. Die automatische Testausrüstung ist konfiguriert, um eine Kommunikation einzurichten, zum Beispiel durch Hochladen eines Programms auf das Testobjekt unter Verwendung einer ersten Schnittstelle, wie zum Beispiel einer Fehlerbehebungsschnittstelle oder eines Fehlerbehebungszugriffstors oder einer allgemeinen Schnittstelle mit Zugriff auf die Verarbeitungseinheit für externe Steuerung. Ein typischer Nutzungsfall der ersten Schnittstelle ist ein Fehlerbehebungszugriff auf das Testobjekt, was typischerweise begrenzte Datenraten erfordert. Im Falle der Erfindung ist die erste Schnittstelle ein ATE-Zugriff für Testausführung, wie zum Beispiel eine Schnittstelle, die einen Zugriff auf Verarbeitungseinheitsregister ermöglicht. Die erste Schnittstelle konfiguriert das Testobjekt, um eine zweite Schnittstelle, die bei einer sehr viel höheren Datenrate läuft, die höher ist als die erste Schnittstelle, für eine zusätzliche Kommunikation zu öffnen. Außerdem kann die zweite Schnittstelle im Vergleich zu der ersten Schnittstelle erweiterte Fähigkeiten aufweisen, wie zum Beispiel ihren eigenen Speicher der Verarbeitungseinheit des Testobjekts als einen normalen Systemspeicher zu präsentieren, abgesehen von einer möglicherweise langsameren Zugriffszeit.

Description

  • Technisches Gebiet
  • Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine automatische Testausrüstung zum Testen eines Testobjekts, das eine Verarbeitungseinheit und einen Speicher aufweist. Der Speicher kann Programm- und/oder Datenspeicher aufweisen.
  • Weitere Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine automatische Testausrüstung, die eine Teststeuerung, eine oder mehrere Computerschnittstellen und einen gemeinschaftlich verwendeten Speicher aufweist. Weitere Ausführungsbeispiele gemäß der Erfindung beziehen sich auf ein Verfahren zum Testen eines Testobjekts.
  • Ausführungsbeispiele der vorliegenden Erfindung beziehen sich allgemein auf das Testen digitaler Halbleitervorrichtungen und insbesondere auf ein Systemtyptesten während der Vorrichtungsherstellung.
  • Weitere Ausführungsbeispiele gemäß der Erfindung beziehen sich auf Speichererweiterungsverfahren für chipinterne Systemtests.
  • Hintergrund der Erfindung
  • Für den Herstellungstest von digitalen Halbleitervorrichtungen sind strukturelle Testverfahren weit verbreitet. Diese Tests konzentrieren sich jedoch auf eine bestimmte Implementierung komplexer Funktionen oder einen Intellectual-Property-(IP)-Block in einem digitalen Multi-IP-Halbeiterentwurf. Daher sind die IP-Blöcke, die von unterschiedlichen IP-Quellen und/oder Verkäufern stammen können, typisch strukturell gut testbar mit der Hilfe von Testentwurftechniken. Diese strukturellen Tests testen die logische Funktion und werden in Testmodi durchgeführt. Bei der endgültigen Anwendung eines digitalen Halbleiterentwurfs, d.h. in einem simulierten Betriebsmodus (mission mode) und/oder einem Betriebsmodus (operation mode) befindet, arbeitet eine Vorrichtung typischerweise oder haupsächlich nicht in ihrem Testmodus, sondern in ihrem simulierten Betriebsmodus.
  • Falls der Halbleiter ein System auf einem Chip (SOC; SOC = system on a chip) oder ein System in einem Gehäuse (SIP; SIP = system in a package) ist, kann eine interne und/oder externe Verarbeitungseinheit oder zentrale Verarbeitungseinheit (CPU; CPU = central processing unit) Befehle oder Programmcode ausführen, um mit Daten zu arbeiten, die zwischen den IP-Blöcken ausgetauscht werden. Eine Interaktion der IP-Blöcke kann neue Mechanismen von fehlerhaftem IP-übergreifendem Verhalten einführen. Diese können entwurfsbezogen und/oder prozessbezogen sein.
  • Obwohl ein erstes Systemeinschalten eines neuen Entwurfs darauf abzielt, Entwurfsfehler zu finden, arbeiten immer mehr Halbleiterhersteller an der Einrichtung von Systemtyptesten während der Vorrichtungsherstellung, um prozessbezogene Defekte zu finden. Bei diesem Testschritt ist Betrieb im simulierten Betriebsmodus erforderlich, um eine interne Kommunikation einzurichten oder IP-übergreifende Funktionalität zu beweisen.
  • Typische Bausteine eines SOC- oder SIP-Entwurfs sind beispielsweise eine Verarbeitungseinheit (PU; PU = processing unit), eine Computerinfrastruktur wie Cash-Speicher für Anweisungen und/oder Daten (z. B. L2Cache), Peripherielogik und entwurfsspezifische und/oder kundenspezifische IP-Blöcke.
  • In einer Herstellungsteststufe ist das System, für das diese SOC-Chips entworfen sind, noch nicht vollständig. Komponenten wie externer Speicher, Massenspeicher, Leistungsverwaltung etc. sind nur teilweise verfügbar, da solche Komponenten in späteren Produktionsstufen hinzugefügt werden können, z. B. während der Häusung oder des Zusammenbaus in einer Anwendungsplatine.
  • Daher ist beispielsweise die Speicherung von Programmcode, der auf einer Verarbeitungseinheit auf Waferebene auszuführen ist, sehr beschränkt, das heißt beschränkt auf die chipinternen Speicherressourcen, wie kleine Speicherbänke und/oder ein Cache-Speicher, die neu konfiguriert werden können, um als ein Speicher zu dienen. Das heißt, der Testprogrammcode und die Daten, mit denen zu arbeiten ist, müssen sehr klein sein, um in diese Ressourcen zu passen. Man muss Möglichkeiten finden, mit dieser Beschränkung klarzukommen, wie zum Beispiel Trennen von Testinhalt in kleinere Stücke.
  • Chipexterne Speicherschnittstellen können typischerweise bei der Wafersondentesteinfügung nicht bedient werden. Dieselben erfordern breite Busse, sehr kurze Leiterbahnen und/oder Umlaufzeiten, die Drahtlängen von typischerweise weniger als 1 cm erfordern. Außerdem sind sehr viel mehr Pins erforderlich, da diese Speicherschnittstellen typischerweise wiederverwendet werden als Testtore für die strukturelle Testung. Integrieren der Speicherfunktionalität in die automatische Testausrüstung (ATE) ist nur begrenzt hilfreich, da der Bedarf an breiten Bussen und insbesondere der Bedarf an sehr kurzen Leiterbahnen und/oder Umlaufzeiten nicht ordnungsgemäß bedient werden kann.
  • Hochgeschwindigkeitseingabe/Ausgabe-(HSIO)Busse, wie zum Beispiel Peripheral Component Interface Express (PCle™), Universal Serial Bus (USB), Serial Peripheral Interface (SPI) sind schmal aber sehr schnell. Ähnlich wie bei dem Verarbeitungseinheit-Fehlerbehebungstor ist eine ATE-Abdeckung möglich und in der ATE-Industrie für parametrische Signalverifizierungszwecke weit verbreitet.
  • Um die verfügbare Menge an RAM-Speicher zu erweitern, sind einige Entwürfe bekannt, die spezielle DfT-Hardware (dfT = design for testability = Entwurf für Testbarkeit) aufweisen, was die Umwidmung des L2-Cachespeichers als zusätzlichen RAM ermöglicht, z. B. durch Abschalten von Cache-Algorithmen.
  • Die Verwendung eines Chip-internen RAM für die ausschließliche Ausführung eines Testwahlprogramms bietet jedoch Größenbeschränkungen. Ferner muss ein Programm vollständig geladen werden, bevor eine Ausführung beginnen kann. Somit ist eine Ladezeit durch JTAG und/oder durch ein anderes Fehlerbehebungstor relativ beschränkt. Darüber hinaus wird ein ähnlicher indirekter Zugriff auf die Testergebnisse über die Fehlerbehebungstor-Mechanismen benötigt.
  • Die Ermöglichung einer Erweiterung der RAM-Größe durch Umwidmen des L2-Cachespeichers als RAM erfordert einen speziellen DfT. Während es eine Cache-Funktionalität erfordert, die Startadresse einer sogenannten Cache-Zeile und die Cache-Zeilendaten zu speichern und ein kontinuierlicher Speicherbereich gebildet werden muss, muss der DfT diese Mechanismen ausschalten, um zu verhindern, dass ein Programmcode automatisch überschrieben wird. Diese Option wurde veröffentlicht, aber aufgrund ihrer Komplexität kaum beachtet oder angewendet.
  • Die Verwendung externer Speichermodule, wie zum Beispiel RAM, ROM. FLASH-ROM etc. auf Platinen führt zu einer starken Nutzung von Vorrichtungsstiften, die nicht mehr für einen Testzugriff nutzbar sind und erzeugt eine strukturelle Testlücke. Ferner benötigt diese Option viel Wartung und/oder Diagnoseaufwand, wie zum Beispiel Verifizieren der Schaltungsanordnung, Verifizieren und/oder Ersetzen des Programminhalts. Darüber hinaus, falls dieselbe nicht mit einem Fehlerbehebungszugriffstor kombiniert ist, schafft diese Option begrenzte Sichtbarkeit von Testergebnissen, das heißt eine Zusammenfassung wird auf einzelnen Testobjektbits signalisiert.
  • Das Programm, das über die zweite Schnittstelle auf das Testobjekt hochgeladen wird, führt an dem Testobjekt einen Funktionstest durch, was wünschenswert ist, da Halbleitervorrichtungen gut bekannt dafür sind, hinsichtlich z. B. Leistungsverbrauch im Testmodus im Vergleich zum simulierten Betriebsmodus unterschiedliche Charakteristika anzuzeigen.
  • Es gibt somit einen Bedarf an einem Konzept, das es ermöglicht, die Größe und/oder Verfügbarkeit des Speichers des Testobjekts während eines Funktionstests des Testobjekts zu erhöhen und/oder das eine schnellere und/oder überwachte und/oder geschützte Kommunikation zwischen dem Testobjekt und der ATE ermöglicht.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Ansprüche gelöst.
  • Kurzdarstellunq der Erfindung
  • Ein Ausführungsbeispiel der vorliegenden Erfindung (siehe beispielsweise Anspruch 1) ist eine ATE zum Testen eines Testobjekts, das eine Verarbeitungseinheit und einen Programm- und/oder Datenspeicher aufweist, wobei die Verarbeitungseinheit in der Lage ist, Code von einem Programm- und/oder Datenspeicher auszuführen. Die automatische Testausrüstung ist konfiguriert, ein Programm auf das Testobjekt hochzuladen unter Verwendung einer ersten Schnittstelle, wie zum Beispiel einer Fehlerbehebungsschnittstelle, oder eines Fehlerbehebungszugriffstors (DAP; DAP = Debug Access Port) oder einer allgemeinen Schnittstelle mit Zugriff auf die Verarbeitungseinheit für externe Steuerung.
  • Ein typischer Anwendungsfall der ersten Schnittstelle ist Softwarefehlerbehebung, die typischerweise eher langsam ist. Im Fall der Erfindung kann die erste Schnittstelle beispielsweise ein ATE-Zugriff für Testausführung sein, wie zum Beispiel eine Schnittstelle, die es ermöglicht, auf interne Testobjektfunktionalität zuzugreifen.
  • Das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird konfiguriert das Testobjekt, um eine zweite Schnittstelle, die mit einer höheren Datenrate läuft (beispielsweise einer sehr viel höheren Datenrate), die beispielsweise höher (oder sogar sehr viel höher) ist als die Datenrate der ersten Schnittstelle, für zusätzliche Kommunikation zu öffnen.
  • Beispielsweise kann eine ATE, die konfiguriert ist, ein Programm auf ein Testobjekt hochzuladen und auszuführen, eine zweite Schnittstelle öffnen, die eine höhere Datenrate haben kann und somit die Zeit reduziert, die für das Testen des Testobjekts benötigt wird. Die zweite Schnittstelle kann zusätzlich als Programm- und/oder Datenspeicher dienen und/oder liefert andere Funktionalitäten, die unter Verwendung der ersten Schnittstelle nicht verfügbar sind.
  • Dieses Ausführungsbeispiel basiert auf dem Gedanken, dass ein Test beschleunigt werden kann durch Bereitstellen eines Programms für ein Testobjekt über eine erste, vergleichsweise langsame Schnittstelle, die eine zweite, vergleichsweise schnelle Schnittstelle öffnet, die beispielsweise eine gewisse Konfiguration und/oder eine Treibersoftware benötigt.
  • Somit kann die zweite Schnittstelle eine Kommunikation zwischen der ATE oder dem Tester und dem Testobjekt unterstützen und/oder kann es dem Testobjekt ermöglichen, auf einen Speicher zuzugreifen, der beispielsweise durch den Tester bereitgestellt wird und beispielsweise bei der Durchführung von Testen sinnvoll sein kann.
  • Obwohl die zweite Schnittstelle jedoch beim Einschalten nicht betriebsfähig oder vollständig betriebsfähig sein kann, kann das Programm, das durch den Tester unter Verwendung der ersten Schnittstelle hochgeladen wird, die eine einfache Schnittstelle sein kann, die ohne eine Softwaretreiberkonfigurationsprozedur verfügbar ist, und/oder ohne Treibersoftware die zweite Schnittstelle aktivieren und dadurch einen verbesserten Test ermöglichen. Die Verwendung der ersten Schnittstelle zum Herunterladen von anfänglichen Programmcodes in dem Testobjektspeicher adressiert auch das Problem, dass ein einmal programmierbarer ROM, der auf dem Chip vorliegen kann, nicht verwendet werden kann; derselbe wird normalerweise zu einem späteren Zeitpunkt in dem Produktionsfluss mit Anwendungs-ROM-Code programmiert und kann somit nicht verwendet werden, um die zweite Vorrichtung für Interaktion mit ATE zu konfigurieren, also aus Sicherheitsgründen.
  • Zusammenfassend kann durch Verwenden eines zweistufigen Vorgangs, bei dem eine erste Schnittstelle benötigt wird, um dem Testobjekt ein Programm zu liefern, dass die zweite Schnittstelle aktiviert, ein Testobjekt in einen Zustand versetzt werden, in dem auf einen externen Speicher zugegriffen werden kann, um komplexes Testen zu ermöglichen.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 2) führt das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wurde, einen oder mehrere der folgenden Schritte aus.
    • • Das hochgeladene Programm konfiguriert das Testobjekt und/oder die verbundenen Blöcke unter Verwendung des Testobjekts, beispielsweise einen Speicher des Testobjekts, um über eine zweite Schnittstelle zusätzlichen Programmcode und/oder Daten zu laden. Die zweite Schnittstelle kann eine höhere Datenrate aufweisen oder mit einer höheren Datenrate kommunizieren, die höher ist als die Datenrate der ersten Schnittstelle, falls das Programm durch das Testobjekt ausgeführt wird, so dass das Programm beispielsweise von einem gemeinschaftlich verwendeten Speicher der automatischen Testausrüstung ausgeführt wird. Die zweite Schnittstelle kann zusätzlich als Programm- und/oder Datenspeicher dienen und/oder liefert andere Funktionalitäten, die unter Verwendung der ersten Schnittstelle nicht verfügbar sind.
    • • Das hochgeladene Programm steuert die Ausführung von einem oder mehreren Programmen.
    • • Das hochgeladene Programm stellt Register des Testobjekts auf gewünschte Werte ein.
    • • Das hochgeladene Programm konfiguriert einen Speicherzugriff des Testobjekts, wie zum Beispiel für einen Zufallszugriff.
  • Das hochgeladene Programm ist konfiguriert, das Testobjekt zu konfigurieren, was das Laden zusätzlicher Programme und Daten, das Ausführen eines oder mehrerer Programme, das Einstellen der Registerwerte und des Speicherzugriffs des Testobjekts umfassen kann.
  • Konfigurieren des Testobjekts kann den Vorteil haben, dass eine schnellere Kommunikation zwischen dem Testobjekt und der ATE eingerichtet wird, oder ein gemeinschaftlich verwendeter Speicher abgebildet wird, was zum Ausführen von Programmen von dem gemeinschaftlich verwendeten Speicher und/oder zum Lesen/Schreiben von Daten von dem/in den gemeinschaftlich verwendeten Speicher führen kann.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 3) ist das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, das Testobjekt zu konfigurieren, um unter Verwendung einer Speicherabbildung auf die zweite Schnittstelle zuzugreifen. Dies kann beispielsweise realisiert werden durch Schreiben geeigneter Werte in Speicherabbildungssteuerregister des Testobjekts. Dies kann beispielsweise dazu führen, dass der Inhalt eines gemeinschaftlich verwendeten Speichers der ATE, die über die zweite Schnittstelle mit dem Testobjekt gekoppelt ist, der Verarbeitungseinheit des Testobjekts als ein Speicher erscheint, beispielsweise als ein Speicher, der mit einem Systembus des Testobjekts verbunden ist. Dies kann dazu führen, dass der adressierbare Speicher des Testobjekts erweitert wird.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 4) ist das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, einen Ressourcenverwalter des Testobjekts zu konfigurieren, um einen Speicherteilbereich eines Speicherbereichs, der durch die Verarbeitungseinheit des Testobjekts adressierbar ist, für einen Zugriff auf die zweite Schnittstelle zuzuordnen. Das Programm kann den Ressourcenverwalter konfigurieren, so dass der Inhalt eines gemeinschaftlich verwendeten Speichers der ATE, die über die zweite Schnittstelle mit dem Testobjekt gekoppelt ist, der Verarbeitungseinheit des Testobjekts als ein Speicher in dem zugeordneten Speicherteilbereich erscheint. Dies kann zu einer Erweiterung des Speichers des Testobjekts führen.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 5) ist das Programm, das in das Testobjekt hochgeladen wird, konfiguriert, mit der ATE entweder als Client oder als ein Host zu kommunizieren, unter Verwendung eines geeigneten Anwendungsprotokolls zum Austauschen von Daten mit seinem Gegenpart, das heißt mit der ATE.
  • Beispielsweise können die ausgetauschten Daten unter anderem zusammengestellte Codeschnipsel, Einstellungs- und Konfigurationsdaten, Messergebnisdaten und/oder Registerwerte umfassen. Das Testobjekt ist konfiguriert, ein unabhängiges Computersystem zu bilden.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 6) ist die ATE konfiguriert oder gefordert, sich gegenüber der ersten und/oder zweiten Schnittstelle zu authentifizieren und/oder zu autorisieren.
  • Beispielsweise ist die ATE konfiguriert, sich selbst unter Verwendung kryptographischer Einrichtungen und/oder geheimer Berechtigungsnachweise zu authentifizieren und/oder zu autorisieren. Beispielsweise kann die Authentifizierung erforderlich sein, um die Identität zu beweisen, was beispielsweise erforderlich ist, um eine Kommunikation einzurichten. Beispielsweise kann die Autorisierung erforderlich sein, um Privilegien auf dem Testobjekt zu erhalten, beispielsweise auf ansonsten gesperrte Funktionen zuzugreifen. Beispielsweise führt die erforderliche Authentifizierung und/oder Autorisierung zu erhöhter Sicherheit.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 7) ist die ATE konfiguriert oder gefordert, durch Verwenden der ersten und/oder zweiten Schnittstelle auf eine verschlüsselte Weise und/oder auf eine Weise, die gegen Modifikationen geschützt ist, mit dem Testobjekt zu kommunizieren.
  • Beispielsweise ist die Kommunikation konfiguriert, gegen Modifikationen geschützt zu werden durch Verwendung von standardmäßigen und/oder proprietären Datenqualitätsprüfverfahren wie zum Beispiel Hashes. Beispielsweise ist die Kommunikation konfiguriert, durch Verwendung von standardmäßigen und/oder proprietären Verschlüsselungsschemata und/oder -verfahren verschlüsselt zu werden. Die Verwendung einer geschützten und/oder verschlüsselten Kommunikation führt zu erhöhter Sicherheit.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 8) ist die ATE konfiguriert oder gefordert, mit dem Testobjekt durch Verwenden der ersten und/oder zweiten Schnittstelle auf komprimierte Weise zu kommunizieren durch Verwendung von standardmäßigen und/oder proprietären, verlustbehafteten und/oder verlustlosen Verdichtungseinrichtungen, wobei die automatische Testausrüstung konfiguriert ist, die Daten zu komprimieren, um dieselben an das Testobjekt zu senden, und die Daten, die von dem Testobjekt empfangen werden, zu dekomprimieren.
  • Senden und/oder Empfangen komprimierter Daten ist weniger zeitaufwändig als Senden und/oder Empfangen nicht-komprimierter Daten.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 9) weist das Programm, das über die erste und/oder zweite Schnittstelle auf das Testobjekt hochgeladen wird, einen Programmcode auf zum Durchführen des Verdichtungs- (compaction) und/oder Ent-Verdichtungs- (decompaction)Verfahrens zum Durchführen der Komprimierung und/oder Dekomprimierung.
  • Beispielsweise wird das Verdichtungs- und/oder Ent-Verdichtungsverfahren nur in einem Testmodus verwendet und es ist nicht verpflichtend, dass das Testobjekt das Verdichtungs- und/oder Ent-Verdichtungsverfahren in einem simulierten Betriebsmodus und/oder Betriebsmodus aufweist.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 10) ist die ATE konfiguriert, zu bewirken, dass die Verarbeitungseinheit des Testobjekts einen Testfallcode und/oder ein Testfallprogramm ausführt, das in einem gemeinschaftlich verwendeten Speicher der ATE gespeichert ist und über die zweite Schnittstelle auf das Testobjekt geladen wird.
  • Beispielsweise erscheint der Testfallcode der Verarbeitungseinheit des Testobjekts so, als sei derselbe an einem Speicherteilbereich eines Speicherbereichs angeordnet, der durch die Verarbeitungseinheit des Testobjekts adressierbar ist. Der Testfallcode ist beispielsweise angepasst, um, wenn derselbe durch die Verarbeitungseinheit des Testobjekts ausgeführt wird, eine oder mehrere Funktionalitäten des Testobjekts zu testen. Speichern und/oder Ausführen eines Testfallcodes in einem gemeinschaftlich verwendeten Speicher der ATE reduziert den Testobjektspeicher, der in einem Testmodus erforderlich ist. Außerdem kann die ATE ohne weiteres Testfallprogramme verwalten, die in einem gemeinschaftlich verwendeten Speicher der ATE gespeichert sind.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 11) ist die ATE konfiguriert, ein Ungültigmachen eines Cache oder einer Cache-Region zu bewirken, bevor das Testobjekt einen Testfallcode ausführt, der in einem gemeinschaftlich verwendeten Speicher der ATE gespeichert ist und über die zweite Schnittstelle auf das Testobjekt geladen wird. Die zweite Schnittstelle kann zusätzlich als Programm- und/oder Datenspeicher dienen und/oder andere Funktionalitäten liefern, die unter Verwendung der ersten Schnittstelle nicht verfügbar sind.
  • Ein Ungültigmachen eines Cache oder einer Cache-Region in einem Testmodus kann beispielsweise zum Trennen des Testmodus und des simulierten Betriebsmodus und/oder des Betriebsmodus führen, so dass der Cache und/oder die Cache-Region freibleiben von Programmen und/oder Daten des Testmodus und Daten in dem Cache und/oder der Cache-Region nicht durch den Testprozess überschrieben werden können.
  • Weitere Vorteile eines Ungültigmachens eines Cache oder einer Cache-Region können beispielsweise sein, dass die Daten oder Hilfsdaten, die während des Testprozesses erzeugt werden, in einem gemeinschaftlich verwendeten Speicher gespeichert werden können und beispielsweise durch die ATE ausgewertet werden können. Testen und/oder Auswerten dieser Daten kann beispielsweise ebenfalls zu einer qualitativen Verbesserung des Testprozesses führen, durch Verbessern der Menge und/oder des Typs der Eingangsdaten.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 12) ist das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, die Verarbeitungseinheit des Testobjekts zu initialisieren und die zweite Schnittstelle des Testobjekts zu initialisieren. Ferner ist das Programm konfiguriert, die zweite Schnittstelle des Testobjekts zu konfigurieren, um einen gemeinschaftlich verwendeten Speicher der ATE zu verbinden und einen Speicherbereich des gemeinschaftlich verwendeten Speichers der ATE als einen Speicherbereich bereitzustellen, der durch die Verarbeitungseinheit des Testobjekts genutzt werden kann, beispielsweise durch Verwenden einer Speicherabbildung. Der gemeinschaftlich verwendete Speicherbereich kann beispielsweise durch Verwenden einer Speicherzugriffanweisung und/oder eines Operationscodes zugänglich sein.
  • Vorteile eines gemeinschaftlich verwendeten Speichers können beispielsweise sein, dass sowohl die ATE als auch das Testobjekt Zugriff auf den Speicher haben, wodurch die Tests beschleunigt werden, durch Eliminieren der Notwendigkeit, Daten sowohl zu speichern als auch Daten zwischen der ATE und dem Testobjekt zu senden und zu empfangen, und indem es der ATE ermöglicht wird, Informationen nahezu in Echtzeit während des Betriebs auszutauschen, das heißt jedes Mal, wenn sich der Inhalt des gemeinschaftlich verwendeten Speichers ändert.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 13) ist das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, den Speicherbereich zu initialisieren, auf den der Speicherbereich des Speichers der ATE abgebildet ist, um durch einen Cache gecacht zu werden, wie zum Beispiel einen L2-Cache des Testobjekts.
  • Dies kann dazu führen, dass beispielsweise ein Erweiterungsspeicher, der durch die zweite Schnittstelle bereitgestellt wird, der Verarbeitungseinheit des Testobjekts als ein normaler Systemspeicher präsentiert wird, abgesehen von einer möglicherweise langsameren Zugriffszeit.
  • Die zweite Schnittstelle kann zusätzlich als Programm- und/oder Datenspeicher dienen und/oder liefert andere Funktionalitäten, die unter Verwendung der ersten Schnittstelle nicht verfügbar sind.
  • Dies kann ferner beispielsweise zu einem gemeinschaftlich verwendeten Speicher zwischen der ATE und dem Testobjekt führen, was beispielsweise die Vorteile haben könnte, dass sowohl die ATE als auch das Testobjekt Zugriff auf den Speicher haben, wodurch es der ATE ermöglicht wird, nahezu in Echtzeit während des Betriebs zu testen, das heißt jedes Mal, wenn sich der Inhalt des gemeinschaftlich verwendeten Speichers ändert.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 14) ist das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, den Speicherbereich zu initialisieren, auf den der Speicherbereich des gemeinschaftlich verwendeten Speichers der ATE abgebildet ist, so dass ein Erweiterungsspeicher, der durch die zweite Schnittstelle bereitgestellt wird, der Verarbeitungseinheit des Testobjekts als ein normaler Systemspeicher präsentiert wird, wie zum Beispiel ein Zufallszugriffsspeicher, abgesehen von einer möglicherweise langsameren Zugriffszeit. Der Speicher des „Host“, der in die Speicherregion des Testobjekts abgebildet werden kann, wird gecacht, so dass ein Testprogramm mit vernünftiger Geschwindigkeit ausgeführt werden kann.
  • Dies kann beispielsweise dazu führen, dass ein Erweiterungsspeicher, der durch die zweite Schnittstelle bereitgestellt wird, der Verarbeitungseinheit des Testobjekts als normaler Systemspeicher präsentiert wird, abgesehen von einer möglicherweise langsameren Zugriffszeit.
  • Dies kann ferner beispielsweise zu einem gemeinschaftlich verwendeten Speicher zwischen der ATE und dem Testobjekt führen, was beispielsweise die Vorteile haben könnte, dass sowohl die ATE als auch das Testobjekt Zugriff auf den Speicher haben, womit es der ATE ermöglicht wird, nahezu in Echtzeit während des Betriebs zu testen, das heißt jedes Mal, wenn sich der Inhalt des gemeinschaftlich verwendeten Speichers ändert.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 15) ist das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, das Testobjekt dazu zu bringen, Ergebnisse einer Programmausführung über die zweite Schnittstelle zu der ATE zu übertragen, um beispielsweise über die zweite Schnittstelle Ergebnisse einer Programmausführung in einem gemeinschaftlich verwendeten Speicher der automatischen Testausrüstung zu speichern.
  • Vorteile eines gemeinschaftlich verwendeten Speichers können beispielsweise sein, dass sowohl die ATE als auch das Testobjekt Zugriff auf den Speicher haben, wodurch die Tests beschleunigt werden durch Eliminieren der Notwendigkeit, Daten sowohl zu speichern als auch zwischen der ATE und dem Testobjekt zu senden/zu empfangen und indem es der ATE ermöglicht wird, nahezu in Echtzeit während des Betriebs zu testen, das heißt jedes Mal, wenn sich der Inhalt des gemeinschaftlich verwendeten Speichers ändert.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 16) ist die ATE konfiguriert, eine Datenanalyse auf der Basis der Ergebnisse durchzuführen, die über die zweite Schnittstelle in dem Speicher der ATE gespeichert sind, der zusätzlich als Programm- und/oder Datenspeicher dienen kann und/oder andere Funktionalitäten liefert, die unter Verwendung der ersten Schnittstelle nicht verfügbar sind.
  • Die ATE kann ferner konfiguriert sein, eine Charakterisierung des Testobjekts durchzuführen, wie zum Beispiel eine Erfolg/Fehlschlag-Berechnung auf der Basis der Ergebnisse, die über die zweite Schnittstelle in dem Speicher der ATE gespeichert sind.
  • Die ATE kann ferner konfiguriert sein, ein Datenzugriffsmuster auf den Speicher der ATE über die zweite Schnittstelle auszuwerten, um beispielsweise das Testobjekt zu charakterisieren und/oder eine Erfolg/Fehlschlag-Erfassung durchzuführen.
  • Die ATE kann ferner konfiguriert sein, während des Betriebs Informationen zu analysieren, die von dem Testobjekt über die zweite Schnittstelle empfangen werden, um das Testobjekt zu charakterisieren.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 17) ist die ATE konfiguriert, zu bewirken, dass das Testobjekt sequentiell und/oder parallel eine Mehrzahl von Testfallprogrammen ausführt, beispielsweise im Fall eines Mehrkern-Testobjekts. Dies würde beispielsweise unterschiedliche Belastungsmuster erzeugen und kann potenziell realistischer sein. Die Testfallprogramme sind in unterschiedlichen Speicherbereichen eines gemeinschaftlich verwendeten Speichers der ATE gespeichert, auf die durch das Testobjekt über die zweite Schnittstelle zugegriffen wird. Beispielsweise kann eine parallele Ausführung und/oder Bewertung von Testfällen den Vorteil haben, den Testprozess zu beschleunigen durch Ausführen unterschiedlicher Tests auf unterschiedlichen Kernen.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 18) ist das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, konfiguriert, das Testobjekt zu konfigurieren, Programmcode und/oder Daten eines gegebenen Testfallprogramms während einer Ausführung des gegebenen Testfallprogramms über die zweite Schnittstelle zu laden, wodurch der Speicher des Testobjekts erweitert wird und kann beispielsweise den Cache im Betriebsmodus anstatt in einem Testmodus verwenden und/oder testen.
  • Beispielsweise jedes Mal, wenn die Verarbeitungseinheit des Testobjekts einen neuen Operationscode erfordert, lädt das Programm beispielsweise Programmcode und/oder Daten von einer Speicherregion, die durch den gemeinschaftlich verwendeten Speicher abgedeckt wird, der mit der zweiten Schnittstelle gekoppelt ist.
  • Beispielsweise lädt das Programm jedes Mal, wenn durch einen Cache-Mechanismus des Testobjekts ein Operationscode abgerufen wird, Programmcode und/oder Daten von einer Speicherregion, die durch den gemeinschaftlich verwendeten Speicher abgedeckt ist, der mit der zweiten Schnittstelle gekoppelt ist, unter der Annahme, dass dieselben durch die Verarbeitungseinheit des Testobjekts benötigt werden.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 19) weist die ATE eine Teststeuerung auf. Ferner weist die ATE die erste Schnittstelle auf, wie zum Beispiel eine Fehlerbehebungsschnittstelle, um dem Testobjekt Testdaten bereitzustellen. Darüber hinaus weist die ATE einen gemeinschaftlich verwendeten Speicher auf, der für die Teststeuerung zugänglich ist und der für das Testobjekt beispielsweise über die zweite Schnittstelle zugänglich ist.
  • Die ATE kann dem Testobjekt über eine erste oder zweite Schnittstelle Testdaten bereitstellen. Ferner kann die ATE beispielsweise eine Teststeuerung und einen gemeinschaftlich verwendeten Speicher aufweisen. Sowohl das Testobjekt als auch die Teststeuerung können Zugriff auf den gemeinschaftlich verwendeten Speicher haben, was den Datenaustausch zwischen dem Testobjekt und der ATE verbessert. Ferner kann dies zu einer Testung nahezu in Echtzeit während des Betriebs führen, wobei die ATE den Test jedes Mal ausführen kann, wenn sich die Daten in dem gemeinschaftlich verwendeten Speicher ändern.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 20) weist die ATE eine Teststeuerung auf. Ferner weist die ATE eine erste Schnittstelle auf, wie zum Beispiel eine Fehlerbehebungsschnittstelle, um dem Testobjekt Testdaten bereitzustellen. Darüber hinaus weist die ATE einen gemeinschaftlich verwendeten Speicher auf, der für die Teststeuerung zugänglich ist und beispielsweise durch das Testobjekt beispielsweise über die zweite Schnittstelle zugänglich ist, die eine höhere Datenrate aufweist als die erste Schnittstelle. Die zweite Schnittstelle, die eine Hochgeschwindigkeitsschnittstelle sein kann, kann von einer anderen Fehlerbehebungsschnittstelle umfasst sein, die bei einer hohen Datenrate läuft, die beispielsweise für Tests aufgebaut sein kann.
  • Ferner kann die zweite Schnittstelle eine Schnittstelle sein, die für die Endanwendung des Testobjekts in einem Anwendungsmodus typisch ist, wie zum Beispiel, aber nicht beschränkt auf, PCle oder USB. Diese Option kann auch einen Vorteil für eine Systemtestabdeckung der Testobjekt-Tests liefern.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 21) weist die ATE eine serielle Hochgeschwindigkeitsschnittstelle auf, die konfiguriert ist, Zugriff des Testobjekts auf den gemeinschaftlich verwendeten Speicher zu ermöglichen.
  • Die serielle Hochgeschwindigkeitsschnittstelle kann einen seriellen Datenkanal aufweisen oder kann auch zwei oder mehr serielle Datenkanäle aufweisen und kann als die zweite Schnittstelle dienen. Die serielle Hochgeschwindigkeitsschnittstelle (HSIO) kann auch ein Hostschnittstellenclient sein, der konfiguriert ist, Zugriff des Testobjekts auf den gemeinschaftlich verwendeten Speicher der ATE handzuhaben.
  • Ferner kann die HSI-Schnittstelle mit einem Bandbreitenbedarf des Tests oder der endgültigen Anwendung skaliert werden, was für eine Schnittstellentestabdeckung wichtig sein kann.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 22) ist die serielle Schnittstelle eine PCI-Express-Schnittstelle oder eine PCI-Express-konforme Schnittstelle, wie zum Beispiel PCI Express™ oder PCle™.
  • Die Verwendung üblicher serieller Schnittstellen, wie zum Beispiel PCI Express™ und/oder PCle™-Schnittstelle, kann zu einer größeren Vielzahl nutzbarer bestehender Verbinder und/oder Schnittstellen und/oder den Vorteilen der Verwendung der bereits bestehenden Schnittstellen führen, was Komplexität und/oder Kosten reduzieren kann.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 23) ist die serielle Schnittstelle eine USB-Schnittstelle, wie zum Beispiel eine USB 1.0-Schnittstelle oder eine USB 1.1-Schnittstelle oder eine USB 2.0-Schnittstelle oder eine USB 3.0-Schnittstelle oder eine USB 3.1-Schnittstelle oder eine USB 3.1 Gen 1-Schnittstelle oder eine USB 3.1 Gen 2-Schnittstelle oder eine USB 3.2-Schnittstelle oder eine USB 4-Schnittstelle oder jede andere Schnittstelle, die durch das USB Implementers Forum standardisiert ist und mit den hier erwähnten Schnittstellen rückwärts kompatibel ist.
  • Die Verwendung üblicher serieller Schnittstellen, wie unterschiedlichen Versionen von USB-Schnittstellen, kann zu einer größeren Vielzahl nutzbarer bestehender Verbinder führen und/oder den Vorteilen der Verwendung der bereits bestehenden Schnittstellen, was Komplexität und/oder Kosten reduzieren kann.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 24) ist die serielle Schnittstelle eine Thunderbolt oder Ethernet oder eine IEEE-1394, IEEE-1500, IEEE-1687, IEEE-1149, wie zum Beispiel eine IEEE-1149.10-Schnittstelle oder eine SATA-Schnittstelle, die beispielsweise eine SATA Schnittstelle oder eine SATA Express Schnittstelle oder eine eSATA Schnittstelle oder eine mini-SATA Schnittstelle oder jede andere Schnittstelle sein kann, die mit diesen Schnittstellen rückwärts kompatibel ist. Ferner kann die serielle oder zweite Schnittstelle ein Teil der ersten Schnittstelle sein.
  • Allgemein gesagt ist beispielsweise die serielle Schnittstelle wie jede andere HSIO Schnittstelle geeignet für uni- und/oder bi-direktionalen Austausch von Daten, was auch spezialisierte Fehlerbehebungs- und Testschnittstellen umfassen kann.
  • Die Verwendung üblicher serieller Schnittstellen, wie zum Beispiel Thunderbolt, Ethernet, SATA / eSATA oder IEEE-1394, IEEE-1500, IEEE-1687, IEEE-1149 kann zu einer größeren Vielzahl nutzbarer bestehender Verbinder führen und/oder den Vorteilen der Verwendung der bereits bestehenden Schnittstellen, was Komplexität und/oder Kosten reduzieren kann.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 25) ist die ATE konfiguriert, so dass der gemeinschaftlich verwendete Speicher für mehre Testobjekte zugänglich ist. Gemeinschaftliches Verwenden eines Speichers über mehrere Testobjekte kann Kosten und/oder die Anzahl von Speicher- und/oder Teststeuerungen reduzieren, die in Fällen verwendet werden, wo Testobjekte parallel getestet werden. Abhängig von dem gewünschten Testziel kann jedes Testobjekt auf den gesamten gemeinschaftlich verwendeten Speicher oder nur einen begrenzten Bereich zugreifen.
  • Bei einem bevorzugten Ausführungsbeispiel (siehe beispielsweise Anspruch 26) weist die ATE eine Mehrzahl von Schnittstellen auf, wie zum Beispiel Host-Schnittstellen-Clients, die mit dem gemeinschaftlich verwendeten Speicher gekoppelt sind, um Zugriff auf den gemeinschaftlich verwendeten Speicher durch eine Mehrzahl von Testobjekten zu erlauben.
  • Eine Mehrzahl von Schnittstellen, die mit dem gemeinschaftlich verwendeten Speicher gekoppelt sind, ermöglicht Zugriff auf den gemeinschaftlich verwendeten Speicher durch eine Mehrzahl von Testobjekten. Gemeinschaftliches Verwenden eines Speichers über mehrere Testobjekte kann Kosten und/oder die Anzahl von Speicher und/oder Teststeuerungen reduzieren, die in Fällen verwendet werden, wo mehrere Testobjekte parallel getestet werden.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 27) ist die Teststeuerung konfiguriert, auszuwählen, welcher Abschnitt oder welcher Speicherbereich des gemeinschaftlich verwendeten Speichers für das Testobjekt aktuell zugänglich ist. Die Teststeuerung kann konfiguriert sein, die Auswahl zu ändern, wenn ein neues Testfallprogramm ausgeführt werden soll. Die Teststeuerung kann konfiguriert sein, (einen) Abschnitt(e), wie z.B. Speicherbereich(e) des gemeinschaftlich verwendeten Speichers auszuwählen und einer Vielzahl von Testobjekten zuzuweisen.
  • Das dynamische Zuordnen von Speicherbereichen des gemeinschaftlich verwendeten Speichers kann zu einem adaptiven Testprozess führen, was zu einer Reduzierung des Speichermehraufwands führt. Die Tests können speichereffizienter werden, womit das Risiko, dass der Speicherplatz ausgeht, reduziert wird, beispielsweise, wenn Testobjekte parallel getestet werden.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 28) ist die Teststeuerung konfiguriert, eine Zuordnung von Abschnitten des gemeinschaftlich verwendeten Speichers zu einem gegebenen Testobjekt während eines Testlaufs zu ändern, so dass ein erster Abschnitt des gemeinschaftlich verwendeten Speichers während eines ersten Teils des Testlaufs einem bestimmten Testobjekt zugewiesen wird, und so dass ein zweiter Abschnitt des gemeinschaftlich verwendeten Speichers während eines zweiten Teils des Testlaufs dem gegebenen Testobjekt zugeordnet wird.
  • Das Zuordnen unterschiedlicher Speicherbereiche des gemeinschaftlich verwendeten Speichers zu unterschiedlichen Testprozessen kann zum Trennen der Testprozesse führen, so dass unterschiedliche Testfälle und/oder Daten von unterschiedlichen Testfällen nicht miteinander interagieren können.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 29) ist die ATE konfiguriert, einen aktuell ungenutzten Abschnitt des gemeinschaftlich verwendeten Speichers zu modifizieren, um ein neues Testfallprogramm einzurichten, während das Testobjekt auf einen anderen Abschnitt des gemeinschaftlich verwendeten Speichers zugreift.
  • Das Einrichten neuer Testfälle, um ungenutzte Speicherbereiche des gemeinschaftlich verwendeten Speichers zu nutzen, kann zum Beschleunigen des Testprozesses führen. Die Verwendung des gesamten verfügbaren Speichers für Testzwecke macht den Testprozess zeit- und speichereffizienter.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 30) ist die ATE konfiguriert, Daten, die in dem gemeinschaftlich verwendeten Speicher gespeichert sind, durch das Testobjekt von dem gemeinschaftlich verwendeten Speicher auszulesen, während das Testobjekt auf einen anderen Abschnitt des gemeinschaftlich verwendeten Speichers zugreift.
  • Da Testfälle voneinander getrennt sind, was bedeutet, dass getrennte Speicherabschnitte des gemeinschaftlich verwendeten Speichers für unterschiedliche Testfälle verwendet werden, kann das Auslesen und Auswerten früherer Testergebnisse ausgeführt werden, während andere Tests auf dem Testobjekt laufen, das heißt, das Testobjekt liest/schreibt Daten von/in andere(n) Abschnitte(n) des gemeinschaftlich verwendeten Speichers.
  • Gemäß Ausführungsbeispielen (siehe beispielsweise Anspruch 31) ist die ATE konfiguriert, die Daten, die durch das Testobjekt in dem gemeinschaftlich verwendeten Speicher gespeichert werden, zu analysieren, um ein Testergebnis zu erhalten, wie zum Beispiel eine Erfolg/Fehlschlag-Information oder eine quantitative Information über eine Leistung des Testobjekts. Testdaten können durch die ATE analysiert werden, um ein Testergebnis, eine qualitative und/oder quantitative Information zu erhalten, die eine Erfolg/Fehlschlag-Information und/oder eine Messung über das/von dem Testobjekt sein kann. Gemäß dem/den Testergebnis(en) kann die Qualität des Testobjekts bestimmt werden.
  • Weitere Ausführungsbeispiele gemäß der vorliegenden Erfindung erzeugen jeweilige Verfahren.
  • Es sollte jedoch angemerkt werden, dass die Verfahren auf den gleichen Überlegungen basieren wie die entsprechenden Vorrichtungen. Darüber hinaus können die Verfahren durch jedes der Merkmale, Funktionalitäten und Einzelheiten, die hierin in Bezug auf die Vorrichtungen beschrieben sind, sowohl einzeln als auch in Kombination ergänzt werden.
  • Figurenliste
  • Nachfolgend werden Ausführungsbeispiele der vorliegenden Erfindung mit Bezugnahme auf die Zeichnungen näher beschrieben. Es zeigen:
    • 1 ein schematisches Diagramm einer Testanordnung, die ein Ausführungsbeispiel einer ATE und eines Testobjekt mit einer Verarbeitungseinheit (PU), einem Speicher, einer ersten Schnittstelle und einer zweiten Schnittstelle aufweist;
    • 2 ein schematisches Diagramm einer Testanordnung, die ein Testobjekt und ein Ausführungsbeispiel einer ATE mit einer ersten Schnittstelle, einer Teststeuerung und einem Speicher aufweist, der für die Teststeuerung und das Testobjekt zugänglich ist;
    • 3 ein schematisches Diagramm eines typischen SOC;
    • 4 ein schematisches Diagramm einer herkömmlichen Testanordnung mit einer ATE und einem Testobjekt mit einer beispielhaften Testobjekt-PU-Speicherabbildung;
    • 5 ein schematisches Diagramm einer herkömmlichen Testanordnung mit einer ATE mit einem gemeinschaftlich verwendeten Speicher und einem Testobjekt mit einer beispielhaften Testobjekt-PU-Speicherabbildung, die gemeinschaftlich verwendete Speicher umfasst; und
    • 6 ein Flussdiagramm eines Verfahrens zum Hochladen eines Programms auf das Testobjekt über die erste Schnittstelle, um das Testobjekt zu konfigurieren, zusätzliche Daten und/oder Programmcode zu laden.
  • Detaillierte Beschreibung der Ausführungsbeispiele
  • Nachfolgend werden unterschiedliche erfindungsgemäße Ausführungsbeispiele und Aspekte beschrieben. Außerdem werden weitere Ausführungsbeispiele durch die angehängten Ansprüche definiert.
  • Es sollte angemerkt werden, dass alle Ausführungsbeispiele, wie sie durch die Ansprüche definiert sind, durch alle Einzelheiten (Merkmale und Funktionalitäten), die hierin beschrieben sind, ergänzt werden können. Außerdem können die hierin beschriebenen Ausführungsbeispiele einzeln verwendet werden und können optional auch durch alle der Einzelheiten (Merkmale und Funktionalitäten), die in den Ansprüchen enthalten sind, ergänzt werden. Außerdem sollte angemerkt werden, dass einzelne hierin beschriebene Aspekte einzeln oder in Kombination verwendet werden können. Somit können Einzelheiten jedem der einzelnen Aspekte hinzugefügt werden, ohne Einzelheiten zu einem anderen der Aspekte hinzuzufügen. Es sollte auch angemerkt werden, dass die vorliegende Offenbarung explizit oder implizit Merkmale beschreibt, die in einer ATE nutzbar sind. Somit können alle der hierin beschriebenen Merkmale im Kontext einer ATE verwendet werden.
  • Darüber hinaus können Merkmale und Funktionalitäten, die hierin offenbart sind, die sich auf ein Verfahren beziehen, auch in einer Vorrichtung verwendet werden (die konfiguriert ist, um eine solche Funktionalität durchzuführen). Ferner können alle Merkmale und Funktionalitäten, die hierin in Bezug auf eine Vorrichtung offenbart sind, auch in einem entsprechenden Verfahren verwendet werden. Anders ausgedrückt, die hierin offenbarten Verfahren können durch alle der Merkmale und Funktionalitäten, die in Bezug auf die Vorrichtungen beschrieben sind, ergänzt werden.
  • Die Erfindung ist von der nachfolgenden detaillierten Beschreibung und von den beiliegenden Zeichnungen von Ausführungsbeispielen der Erfindung besser verständlich, die jedoch nicht so gesehen werden sollten, dass dieselben die Erfindung auf die spezifischen beschriebenen Ausführungsbeispiele beschränken, sondern nur Erläuterungs- und Verständniszwecken dienen.
  • Testanordnung gemäß Fig. 1
  • 1 zeigt eine schematische Darstellung einer Testanordnung 100, die ein Ausführungsbeispiel einer ATE 110 und eines Testobjekts 120 aufweist.
  • Das Testobjekt 120 weist ferner eine Verarbeitungseinheit 130, einen Speicher 140, eine erste Schnittstelle 150 und eine zweite Schnittstelle 160 auf, die eine höhere Datenrate aufweist als die erste Schnittstelle 150. Beispielsweise können die Verarbeitungseinheit, der Speicher, die erste und zweite Schnittstelle über einen oder mehrere Busse oder verbindende Strukturen gekoppelt sein. Sowohl die erste Schnittstelle 150 als auch die zweite Schnittstelle 160 sind mit der ATE 110 verbunden. Die ATE 110 weist ein Programm 170 auf, das auf das Testobjekt 120 hochzuladen ist.
  • Die ATE 110 ist konfiguriert, das Programm 170 unter Verwendung der ersten Schnittstelle 150 auf das Testobjekt 120 hochzuladen, wobei die erste Schnittstelle 150 optional bidirektionale Kommunikation erlauben kann. Beispielsweise kann die ATE potenziell Testobjektstatusinformationen und/oder Testobjektwerte und weitere Informationen über die erste Schnittstelle 150 auslesen.
  • Das Programm 170, das über die erste Schnittstelle 150 hochgeladen wird, ist konfiguriert, das Testobjekt 120 zu konfigurieren, die zweite Schnittstelle 160 für eine zusätzliche Kommunikation 190 zu öffnen und/oder zu konfigurieren. Die zweite Schnittstelle 160 ist konfiguriert, bei einer höheren oder sehr viel höheren Datenrate zu laufen als die erste Schnittstelle 150, die beispielsweise eine langsame Schnittstelle und/oder eine Fehlerbehebungsschnittstelle ist.
  • Die ATE 110 profitiert von der konfigurierten zweiten Schnittstelle 160 auf eine Weise, dass jede zusätzliche Kommunikation 190 zwischen der ATE 110 und dem Testobjekt 120 viel schneller ist als über die erste Schnittstelle 150. Dies bedeutet, dass Senden und/oder Empfangen von Programmcode und/oder Testdaten und/oder der Testprozess selbst beschleunigt ist. Außerdem kann ein Speicher des Testobjekts 120 unter Verwendung der zweiten Schnittstelle erweitert werden.
  • Testanordnung gemäß Fig. 2
  • 2 zeigt eine schematische Darstellung einer Testanordnung 200, die ein Ausführungsbeispiel einer ATE 210 aufweist, ähnlich wie die ATE 110 in 1 und ein Testobjekt 220, ähnlich wie das Testobjekt 120 in 1.
  • Die ATE 210 weist eine Teststeuerung 230, einen gemeinschaftlich verwendeten Speicher 240 und eine erste Schnittstelle 250 auf. Ferner ist die ATE 210 über die erste Schnittstelle 250 mit dem Testobjekt 220 verbunden. Die erste Schnittstelle 250 ist nicht notwendigerweise unidirektional, dieselbe kann optional auch bidirektionale Kommunikation ermöglichen. Der gemeinschaftlich verwendete Speicher 240 der ATE ist mit der Teststeuerung 230 und mit dem Testobjekt 220 beispielsweise über eine zweite Schnittstelle verbunden.
  • Die ATE 210 ist konfiguriert, Testdaten 260 über die erste Schnittstelle 250 an das Testobjekt 220 zu senden. Das Testobjekt 220 hat Zugriff auf den gemeinschaftlich verwendeten Speicher 240, beispielsweise über eine zweite Schnittstelle, die eine höhere Datenrate aufweist als die erste Schnittstelle 250. Der gemeinschaftlich verwendete Speicher 240 ist auch für die Teststeuerung 230 der ATE 210 zugänglich.
  • Wie es in 1 beschrieben ist, ist die ATE 110 konfiguriert, ein Programm 170 hochzuladen, um die schnelle zweite Schnittstelle 160 des Testobjekts 120 zu konfigurieren.
  • Als Folge ist der gemeinschaftlich verwendete Speicher 240 der ATE 210 für die Teststeuerung 230 und das Testobjekt 220 über eine schnelle zweite Schnittstelle des Testobjekts 220 zugänglich. Sowohl das Testobjekt 220 als auch die Teststeuerung 230 sind in der Lage, Daten auf den gemeinschaftlich verwendeten Speicher 240 zu schreiben und/oder von demselben zu lesen, während die ATE 210 auch in der Lage ist, Testdaten 260 über die erste Schnittstelle 250 an das Testobjekt 220 zu senden, beispielsweise um eine Testausführung zu steuern.
  • Eine Verwendung des gemeinschaftlich verwendeten Speichers 240 der ATE 210 erweitert den Speicher des Testobjekts 220 und eliminiert die Notwendigkeit, Daten zwischen der ATE 210 und dem Testobjekt 220 zu senden/empfangen. Daten werden stattdessen auf den gemeinschaftlich verwendeten Speicher 240 kopiert/von demselben ausgelesen.
  • Testobjekt gemäß Fig. 3
  • 3 zeigt ein typisches Testobjekt 300, das zu testen ist, beispielsweise in einer Testanordnung 100 in 1. Typische Bausteine eines Testobjekts 300 oder eines SOC-Entwurfs sind Verarbeitungseinheiten, Computerinfrastruktur, Peripherielogik und andere kundenspezifische IP-Blöcke 360, die durch einen Systembus 320 verbunden sind.
  • Typische Verarbeitungseinheiten sind beispielsweise eine Verarbeitungseinheit 310, ein Coprozessor 313 oder ein Digitalsignalprozessor (DSP) 316, usw.
  • Typische Computerinfrastruktur ist beispielsweise ein Level-2-Cache (L2-Cache) 330, ein SRAM 333, ein NVRAM 336, ein BOOT ROM 339 usw.
  • Typische Peripherie ist beispielsweise eine Speicherschnittstelle 340, eine Flash-Speicherschnittstelle 343, eine Fehlerbehebung-DfT-Schnittstelle 349, Host-Schnittstellen 346 wie zum Beispiel PCle, USB, usw.
  • In der Herstellungsteststufe ist das System, für das diese SOC-Chips entworfen sind, typischerweise noch nicht vollständig. Komponenten wie externer Speicher oder Massenspeicher 340, Leistungsverwaltung etc. sind nur teilweise verfügbar, da solche Komponenten zu späteren Zeitpunkten hinzugefügt werden können, beispielsweise während der Häusung oder des Zusammenbaus in einer Anwendungsplatine.
  • Während des Funktionstests wird die Host-Schnittstelle des SOC-Entwurfs typischerweise in einem simulierten Betriebsmodus und/oder Betriebsmodus betrieben.
  • Die Speicherung von Programmcode, der auf einer Verarbeitungseinheit 310 auf WaferEbene auszuführen ist, ist sehr begrenzt, beispielsweise auf die chipinternen Speicherressourcen begrenzt, wie zum Beispiel kleine Speicherbänke 333 oder 336 und einen Cache-Speicher 330, die neu konfiguriert werden können, um als ein Speicher zu dienen.
  • Eine ATE 110, ähnlich wie die ATE in 1 ist konfiguriert, ein Programm über die Fehlerbehebung-DfT-Schnittstelle 349 hochzuladen. Das hochgeladene Programm ist konfiguriert, eine Verbindung zwischen dem Testobjekt 300 und der ATE über die Host-Schnittstelle 346, beispielsweise über eine PCI oder eine USB-Schnittstelle, die eine schnelle Verbindung zwischen der ATE und dem Testobjekt ermöglicht, zu öffnen und/oder einzustellen.
  • Herkömmliche Testanordnung gemäß Fig. 4
  • 4 zeigt eine beispielhafte herkömmliche Testanordnung 400. Diese Testanordnung weist ein Testobjekt 420 auf, das ähnlich ist wie das in 3 gezeigte Testobjekt 300 und eine ATE 410, die ähnlich ist wie die ATE von 1, die eine Teststeuerung 430 aufweist. Die Teststeuerung 430 der ATE 410 ist über ihre Fehlerbehebung-DfT-Schnittstelle 440 mit dem Testobjekt 420 verbunden.
  • 4 zeigt ferner eine beispielhafte Verarbeitungseinheitspeicherabbildung 450. Die Verarbeitungseinheitspeicherabbildung 450 weist Adressen von Verarbeitungseinheiten 460 auf, wie zum Beispiel Coprozessor, DfT und/oder kundenspezifische IT-Blöcke und Adressen von Speichereinheiten 470, wie zum Beispiel L2-Cache, NVRAM, BOOTRAM, SRAM und Adressen von nichtverfügbarem Flash-Speicher und/oder Speicher oder Massenspeicherung. Die Speichereinheiten 470 sind durch L2-Cache abgedeckt.
  • Bei einer herkömmlichen Lösung lädt die Teststeuerung 430 einer ATE 410 Programmcode und/oder Testdaten über eine Fehlebehebung-DfT-Schnittstelle 440 auf das Testobjekt 420 hoch oder von demselben herunter. Der Programmcode und/oder die Testdaten müssen die Speichergrößenbeschränkungen erfüllen.
  • Bei einigen Lösungen kann die RAM-Größe auch erweitert werden durch Umwidmen des L2-Cache als RAM.
  • Begrenzungen der herkömmlichen Lösungen sind die kleine RAM-Größe des Testobjekts 420 und die relativ langsame Hochlade- und/oder Herunterladegeschwindigkeit zwischen der Teststeuerung 430 der ATE 410 und dem Testobjekt 420 über die Fehlebehebung-DfT-Schnittstelle 440.
  • Während herkömmlicher Tests arbeitet die Host-Schnittstelle des SOC-Entwurfs typischerweise in einem simulierten Betriebsmodus und/oder Betriebsmodus, aber im Gegensatz zu der erfindungsgemäßen Testanordnung ist nichts daran angebracht. Daher könnte dieselbe bei einer herkömmlichen Testanordnung auch deaktiviert werden, da das Betriebsverhalten nicht getestet werden kann, außer mit Entwurf-für-Test-(DfT)-Bausteinen oder Methoden. Ein Hauptunterscheidungsmerkmal zwischen der herkömmlichen und der erfindungsgemäßen Testanordnung ist, dass bei der erfindungsgemäßen Testanordnung die ATE über die Host-Schnittstelle auch mit dem Testobjekt verbunden ist und die ATE die Host-Schnittstelle über einen Informationsaustausch zwischen der ATE und dem Testobjekt über die Host-Schnittstelle testet.
  • Zusätzlich bieten herkömmliche Lösungen keine externe Analyse während des Betriebs und Überwachungsfähigkeiten, wie sie durch die Erfindung angezeigt werden.
  • Testanordnung gemäß Fig. 5
  • 5 zeigt eine beispielhafte Testanordnung 500. Die Testanordnung 500 weist ein Ausführungsbeispiel einer ATE 510 auf, ähnlich wie die ATE 110 in 1 und ein Testobjekt 520, das ähnlich ist wie das in 3 gezeigte Testobjekt 300. Die ATE 510 weist eine Teststeuerung 536 und eine ATE-Verarbeitungseinheit 533, einen Hostschnittstellenclient 549 und einen gemeinschaftlich verwendeten Speicher 543 auf, der eine Adressvirtualisierung 546 verwendet. Der gemeinschaftlich verwendete Speicher ist für die Teststeuerung 536 und für das Testobjekt 520 über den Hostschnittstellenclient 546 zugänglich, wie zum Beispiel einen PCle oder USB. Der Hostschnittstellenclient 549 der ATE 510 ist mit der Host-Schnittstelle 523 des Testobjekts verbunden. Die Schnittstelle ist typischerweise eine serielle Schnittstelle, die latenztolerant ist.
  • 5 zeigt ferner eine beispielhafte Speicherabbildung 550. Die Speicherabbildung weist die Adressen der Verarbeitungseinheiten 552 auf, wie zum Beispiel eines Coprozessors, eines DfT und/oder anderer kundenspezifischer IP-Blöcke. Die Speicherabbildung weist ferner Adressen von Speichereinheiten 556 auf, wie zum Beispiel SRAM, BOOT ROM, NVRAM, L2-Cache 529, nicht verfügbare Massenspeicher und/oder Flash-Speicherschnittstellen und die Adresse des gemeinschaftlich verwendeten Speichers. Alle Speichereinheiten 556 können durch den L2-Cache 529 abgedeckt sein.
  • Die ATE-Verarbeitungseinheit 533 und/oder die Teststeuerung 536 der ATE 510 ist konfiguriert, über die Fehlerbehebung-Dft-Schnittstelle 526 ein Programm auf das Testobjekt 520 hochzuladen. Das Programm, das auf das Testobjekt 520 hochgeladen wird, ist konfiguriert, das Testobjekt zu initialisieren, die Hochgeschwindigkeitsschnittstelle zu initialisieren und zu konfigurieren, die ATE 510 als einen Verbindungspartner einzurichten, den gemeinschaftlich verwendeten Speicher 543 zu initialisieren und/oder zu konfigurieren und das Cachen des gemeinschaftlich verwendeten Speichers durch den L2-Cache 529 zu initialisieren und/oder zu konfigurieren. Die Teststeuerung 536 wählt dann einen bestimmten Testfall aus und konfiguriert die Adressvirtualisierung 546 des gemeinschaftlich verwendeten Speichers 543. Die Teststeuerung 536 ist ferner konfiguriert, das Testobjekt 520 zu veranlassen, einen Testfall, der auf dem gemeinschaftlich verwendeten Speicher 543 gespeichert ist, über die Fehlerbehebung-Dft-Schnittstelle 526 auszuführen. Während das Testobjekt 520 einen Testfall ausführt, kann die Teststeuerung 536 Analyseergebnisse vorhergehender Tests analysieren, die Ausführung des aktuellen Tests überwachen, den nächsten Testfall auswählen und/oder einen neuen Testfall ausführen, falls beispielsweise die Verarbeitungseinheit des Testobjekts 520 mehr als einen Kern aufweist.
  • Anders ausgedrückt, die Teststeuerung 536 und/oder die ATE-Verarbeitungseinheit 533 der ATE 510 ist konfiguriert, ein Programm auf das Testobjekt 520 hochzuladen, um das Testobjekt 520 zu konfigurieren, über eine schnellere zweite Host-Schnittstelle 523 auf den gemeinschaftlich verwendeten Speicher 543 zuzugreifen. Die Teststeuerung 536 und/oder die ATE-Verarbeitungseinheit 533 ist ferner konfiguriert, die Adressvirtualisierung 546 des gemeinschaftlich verwendeten Speichers 543 zu konfigurieren und zu veranlassen, dass das Testobjekt 520 den ausgewählten Testfall auf dem gemeinschaftlich verwendeten Speicher 543 ausführt durch Senden von Programmcodes und/oder Testdaten über den Fehlerbehebung-Dft 525 und/oder Host-Schnittstelle 549, 523.
  • Für die Ausführung des Tests durch das Testobjekt ist die ATE-seitige Virtualisierung nicht notwendig. Das Testobjekt könnte auch auf einem „großen Speichersee“ arbeiten, aber aus einer erfindungsgemäßen effizienten ATE-Perspektive ermöglicht die Isolation der Testfälle und/oder die Fähigkeit, Vorbereitung und/oder Testobjektausführung und/oder Ergebnisanalyse parallel auf der Seite der ATE auszuführen, einen höheren Durchsatz der ATE.
  • Anders ausgedrückt, die erfindungsgemäße ATE ist konfiguriert, um die nachfolgenden Schritte auszuführen.
    1. 1. Das Fehlerbehebungszugriffstor (DAP) oder die Fehlerbehebung-Dft-Schnittstelle 526 wird verwendet, um das Testobjekt 520 nach der Rücksetzung im Haltezustand zu halten.
    2. 2. Das DAP 526 wird durch die Teststeuerung 536 und/oder die ATE-Verarbeitungseinheit 533 verwendet, um ein kleines Testausführungsprogramm in das Testobjekt 520 zu laden und auszuführen zum:
      1. a. Initialisieren des digitalen Testobjekt-Halbleiterchips und/oder der Verarbeitungseinheit;
      2. b. Initialisieren und Konfigurieren der HSIO oder der Host-Schnittstelle, wie zum Beispiel eine PCIe-Schnittstelle und zum Einrichten einer Komponente in dem ATE-System 510 als Verbindungspartner zum Bereitstellen eines bestimmten Speicherbereichs des digitalen Halbleitersystemspeichers und/oder Verarbeitungseinheitsspeichers;
      3. c. Initialisieren des „HSIO-Speichers“ der zu cachen ist, beispielsweise ebenfalls durch den L2-Cache 529 oder beispielsweise durch die Verarbeitungseinheit.
    3. 3. Die Teststeuerung 536 ist konfiguriert, einen bestimmten Testfall auszuwählen, wie zum Beispiel Nr. 3.
    4. 4. Ungültigmachen und/oder Zurücksetzen des L2-Cache, beispielsweise durch die Verarbeitungseinheit.
    5. 5. Über DAP: Aufruf zum Starten der Adresse des Testfalls im „HSIO-Speicher“, beispielsweise durch die Verarbeitungseinheit.
    6. 6. Der Testfall wird ausgeführt und schreibt Ergebnisse auch in den „HSIO-Speicher“ beispielsweise durch die Verarbeitungseinheit.
    7. 7. Der Programmfluss kehrt zu einer „Fehlerbehebungssteuerung“ zurück, das bedeutet, dass die Verarbeitungseinheit auf das DAP wartet.
    8. 8. Falls mehr Fälle verfügbar sind, kann die Teststeuerung den nächsten Testfall auswählen, und zu Element 4 gehen und/oder zurückspringen zu und/oder die Schritte von Schritt 4 in dieser Liste ausführen.
    9. 9. Im Hintergrund kann eine Ergebnisanalyse der bereits fertiggestellten Testfälle beginnen. Zusätzlich kann die Ausführung des aktuellen Testfalls überwacht werden. Die Speicherbilder für die nächsten Vorrichtungen können nach Bedarf vorbereitet und/oder aufgefrischt werden. Dies erfordert, dass ein Zweitorspeicher in der ATE-Steuerungshardware und/oder in allen ATE-Verarbeitungseinheiten implementiert ist.
    10. 10. Die HSIO-Schnittstelle, die als zweite Schnittstelle verwendet wird oder als eine Schnittstelle, die auf den gemeinschaftlich verwendeten Speicher auf der ATE-Seite zugreift, wird im Betriebsmodus gründlich getestet, Betriebsverhalten kann diagnostiziert werden und unerwartete Betriebszustände können analysiert werden.
  • Verfahren gemäß Anspruch 6
  • 6 zeigt ein Flussdiagramm 600 eines Verfahrens gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Das Verfahren weist das Hochladen eines Programms auf ein Testobjekt auf, ähnlich wie das Testobjekt 300 in 3 über eine erste Schnittstelle 610. Das Verfahren weist auch den Schritt auf, wo das Programm, das hochgeladen wird, das Testobjekt konfiguriert, um zusätzlichen Programmcode und/oder Daten über die zweite Schnittstelle 620 zu laden.
  • Dieses Verfahren basiert auf den gleichen Überlegungen wie die oben beschriebenen Ausführungsbeispiele. Außerdem können die Verfahren durch alle Merkmale, Funktionalitäten und Einzelheiten, die hierin beschrieben sind, ergänzt werden.
  • Beispielsweise kann das oben beschriebene Verfahren optional durch eine(s) der Merkmale/Funktionalitäten/Einzelheiten, die in Bezug auf 5 beschrieben sind, ergänzt werden, sowohl einzeln als auch in Kombination.
  • Vorteile der Erfindung
  • Die erfindungsgemäße ATE kann im Vergleich zu herkömmlichen Lösungen folgende Vorteile haben:
    • • Viele bekannte HSIO-basierte Datenbusse stellen ein speicherabgebildetes Nutzungsmodell bereit. PCI Express™ ist hier das bekannteste Beispiel: eine Erweiterungsvorrichtung kündigt an, dass dieselbe einen bestimmten Speicher und/oder I/O-Bereich möchte oder bereitstellen möchte. Ein Ressourcenverwalter in der Betriebsumgebung der Verarbeitungseinheit findet einen passenden freien Raum und weist eine ordnungsgemäße Startadresse der Ressource zu. Was (hinter) dieser Ressource steht, wie zum Beispiel ein echter Speicher oder ein Steuerregister, ist abhängig von der Implementierung. Dieses Verfahren ist beispielsweise verfügbar bei auf PCI Express™ aber nicht darauf begrenzt.
    • • Die Nutzung beispielsweise einer PCI-Express™-Karte als Speichererweiterung und somit als eine Quelle für Programmcode und/oder Daten ist in der Praxis nicht bekannt, insbesondere nicht für Testzwecke.
    • • Praktische Beobachtung für viele HSIO-Schnittstellen ist, dass dieselben verwendet werden, um Peripheriegeräte zu steuern, durch Speicherabbildungssteuerregister und/oder auch Datenbereiche in der globalen Speicherabbildung eines Computersystems.
    • • Die Datenbereiche werden als eine Quelle für einen Computercode verwendet, den die Verarbeitungseinheit des Computersystems ausführt, das heißt eine Verarbeitungseinheitsspeichererweiterung. Der Testfallcode zeigt sich bei bestimmten Adressen in dem Verarbeitungseinheitsspeicher. Die Ausführung beginnt durch einen Sprung zu oder einen Aufruf an diese Adresse, die durch die Teststeuerung initiiert werden kann.
    • • Verarbeitungseinheitscaches können so konfiguriert sein, dass eine solche Erweiterung eines Speichers als normaler Systemspeicher akzeptiert wird. Das heißt, es wäre nötig, die gecachten Speicherbereiche entsprechend zu programmieren, was ein normaler Nutzungsfall ist. Das heißt, es wird kein spezieller DfT benötigt.
    • • Ausführen von Tests eines digitalen Halbleiterentwurfs im simulierten Betriebsmodus zielt darauf ab, Ausfälle, zum Beispiel in der Kommunikation zwischen den verschiedenen enthaltenen IP-Blöcken zu identifizieren. Das heißt, die Tests erzeugen einen Daten „verkehr‟ von einem IP zu anderen. Ein Schlüsseltestelement ist häufig die Nutzung von HSIO-Bussen, wie zum Beispiel PCI Express und USB, aber nicht darauf begrenzt in einem simulierten Betriebsmodus. Der Betrieb dieser Schnittstellen fordert Verkehr über Taktdomains in dem Testentwurf heraus. Testen der HSIO-Schnittstelle als solche auf Stabilität ist ein Nebenprodukt der beschriebenen Erfindung.
    • • Viele auch größere und/oder realistischere Testfälle sind mittlerweile möglich.
    • • Kein zusätzlicher Herunterlade- und/oder Kopierzeitmehraufwand wird benötigt. Herunterladen während der Ausführungszeit über einen HSIO-Bus. Laufzeitleistung ist durch den L2-Cache sichergestellt und/oder verbessert.
    • • Die Teststeuerung kann auch mehrere Testfälle verwalten, und das Testobjekt „durchschreiten lassen“.
    • • Die Ausführung von Testfällen kann gleichzeitig durch die ATE überwacht und analysiert werden.
  • Weitere allgemeine Verbesserungen
  • Die Erfindung kann weiter verbessert werden durch Hinzufügen von Sicherheitsmerkmalen zu der Erfindung, die die folgenden Merkmale umfassen können:
    • ◯ eine Authentifizierung der ATE und/oder des Testes gegenüber der ersten und/oder zweiten Schnittstelle:
      • Es kann erforderlich sein, dass die ATE und/oder der Tester sich t gegenüber der ersten und/oder zweiten Schnittstelle authentifizieren müssen, beispielsweise unter Verwendung kryptographischer Mittel und/oder geheimer Berechtigungsnachweise, um die Identität zu beweisen, was beispielsweise erforderlich ist zum Einrichten einer Kommunikation.
    • ◯ Eine Autorisierung der ATE und/oder des Testes gegenüber der ersten und/oder zweiten Schnittstelle:
      • Es kann erforderlich sein, dass die ATE und/oder der Tester sich gegenüber der ersten oder zweiten Schnittstelle autorisieren müssen, beispielsweise unter Verwendung kryptographischer Einrichtungen und/oder geheimer Berechtigungsnachweise zum Erhalten von Privilegien auf dem Gerät, um beispielsweise auf ansonsten gesperrte Funktionen zuzugreifen.
    • ◯ Eine Integritätsprüfung der Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester:
      • Die Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester und/oder der ersten und/oder zweiten Schnittstelle der ATE kann gegenüber Modifikationen geschützt werden unter Verwendung von standardmäßigen und/oder proprietären Datenintensitätsprüfverfahren wie zum Beispiel Hashes.
    • ◯ Eine Verschlüsselung der Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester:
      • Die Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester und/oder der/den Schnittstelle(n) der ATE kann unter Verwendung von Standardverschlüsselungsschemata und/oder proprietärer Verschlüsselungsverfahren verschlüsselt werden.
  • Die Erfindung kann ferner verbessert werden durch Hinzufügen von Komprimierungsmerkmalen zu der Erfindung, die die folgenden Merkmale umfassen können:
    • ◯ Komprimierung der Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester:
      • Die Kommunikation zwischen dem Testobjekt und der ATE und/oder dem Tester oder der primären und/oder sekundären Schnittstelle der ATE kann unter Verwendung von standardmäßigen oder proprietären, verlustbehafteten oder verlustlosen Verdichtungsmitteln komprimiert werden, wo die ATE und/oder der Tester die Daten, die an das Objekt zu senden sind, komprimiert, die durch das Objekt dekomprimiert werden, und/oder das Objekt komprimiert die gesendeten Daten, oder Daten, die an den Tester zu senden sind, und/oder der Tester dekomprimiert die Daten. Eine Komprimierung der Kommunikation zwischen dem Testobjekt und der ATE kann auch erfordern, dass:
    • ■ das erforderliche Verdichtungs- und/oder Ent-Verdichtungsverfahren unter Verwendung der ersten und/oder zweiten Schnittstelle als Teil des Programmcodes auf das Testobjekt hochgeladen werden kann.
  • Implementierungsalternativen
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
  • 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, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, 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.
  • 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 typischerweise greifbar und/oder 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, übertragen 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 ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen (beispielsweise elektronisch oder optisch). 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 zu dem 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 vorzugsweise durch eine beliebige Hardwarevorrichtung durchgeführt.
  • Die hierin beschriebenen Vorrichtungen können unter Verwendung einer Hardware-Vorrichtung, oder unter Verwendung eines Computers, oder unter Verwendung einer Kombination einer Hardware-Vorrichtung und eines Computers implementiert werden.
  • Die hierin beschriebenen Vorrichtungen, oder jede Komponente der hierin beschriebenen Vorrichtungen können zumindest teilweise in Hardware und/oder in Software implementiert werden.
  • Die hierin beschriebenen Verfahren können unter Verwendung einer Hardware-Vorrichtung, oder unter Verwendung eines Computers, oder unter Verwendung einer Kombination einer Hardware-Vorrichtung und eines Computers implementiert werden.

Claims (33)

  1. Eine automatische Testausrüstung (110, 210, 410, 510) zum Testen eines Testobjekts (120, 220, 300, 420, 520), das eine Verarbeitungseinheit (130, 310, 313, 316) und einen Programm- und/oder Datenspeicher (140, 330, 333, 336) aufweist, wobei die automatische Testausrüstung konfiguriert ist, unter Verwendung einer ersten Schnittstelle (150, 250, 349, 440, 526) ein Programm auf das Testobjekt hochzuladen, wobei das Programm (170), das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, das Testobjekt konfiguriert, eine zweite Schnittstelle (160, 346, 523), die mit einer höheren Datenrate läuft, für eine zusätzliche Kommunikation (190) zu öffnen.
  2. Die automatische Testausrüstung gemäß Anspruch 1, bei der das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, das Testobjekt konfiguriert, zusätzlichen Programmcode (170) und/oder Daten (170) über eine zweite Schnittstelle, die eine höhere Datenrate aufweist als die erste Schnittstelle, für eine Ausführung durch das Testobjekt zu laden; und/oder eine Ausführung eines oder mehrerer Programme steuert; und/oder Register (450, 550) des Testobjekts auf gewünschte Werte einstellt; und/oder Speicherzugriff (470, 556) des Testobjekts konfiguriert.
  3. Die automatische Testausrüstung gemäß Anspruch 1 oder Anspruch 2, bei der das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, das Testobjekt konfiguriert, unter Verwendung einer Speicherabbildung (450, 550) auf die zweite Schnittstelle zuzugreifen.
  4. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 3, bei das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, einen Ressourcenverwalter des Testobjekts konfiguriert, um einen Speicherteilbereich eines Speicherbereichs (470, 556), der durch die Verarbeitungseinheit des Testobjekts adressierbar ist, für einen Zugriff auf die zweite Schnittstelle zuzuordnen.
  5. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 4, bei der das Programm, das auf das Objekt hochgeladen wird, entweder als Client oder Host mit der automatischen Testausrüstung kommuniziert, unter Verwendung eines Anmeldungsprotokolls zum Austauschen von Daten mit seinem Gegenpart.
  6. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 5, wobei die automatische Testausrüstung konfiguriert ist, sich gegenüber der ersten und/oder zweiten Schnittstelle zu authentifizieren und/oder zu autorisieren.
  7. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 6, wobei die automatische Testausrüstung konfiguriert ist, auf verschlüsselte Weise und/oder auf eine Weise, die gegen Modifikationen geschützt ist, mit dem Testobjekt zu kommunizieren.
  8. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 7, wobei die automatische Testausrüstung konfiguriert ist, mit dem Testobjekt auf komprimierte Weise zu kommunizieren durch Verwenden einer Verdichtungseinrichtung, wobei die automatische Testausrüstung konfiguriert ist, Daten zum Senden an das Testobjekt zu komprimieren und die Daten, die von dem Testobjekt empfangen werden, zu dekomprimieren.
  9. Die automatische Testausrüstung gemäß Anspruch 8, bei der das Programm, das über die erste und/oder zweite Schnittstelle auf das Testobjekt hochgeladen wird, einen Programmcode aufweist zum Durchführen des Verdichtungs- und/oder Ent-Verdichtungsverfahrens zum Durchführen der Komprimierung und/oder Dekomprimierung.
  10. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 9, wobei die automatische Testausrüstung konfiguriert ist, zu bewirken, dass die Verarbeitungseinheit des Testobjekts einen Testfallcode ausführt, der in einem gemeinschaftlich verwendeten Speicher der automatischen Testausrüstung gespeichert ist und der über die zweite Schnittstelle auf das Testobjekt geladen wird.
  11. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 10, wobei die automatische Testausrüstung konfiguriert ist, ein Ungültigmachen eines Cache (350, 529) oder einer Cache-Region zu bewirken, bevor das Testobjekt einen Testfallcode ausführt, der in einem gemeinschaftlich verwendeten Speicher der automatischen Testausrüstung gespeichert ist und der über die zweite Schnittstelle auf das Testobjekt geladen wird.
  12. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 11, bei der das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, die Verarbeitungseinheit des Testobjekts initialisiert, die zweite Schnittstelle des Testobjekts initialisiert und die zweite Schnittstelle des Testobjekts konfiguriert, um einen Speicher (240, 543) der automatischen Testausrüstung zu verbinden und einen Speicherbereich (240, 543, 546) des Speichers der automatischen Testausrüstung als einen Speicherbereich bereitzustellen, der durch die Verarbeitungseinheit des Testobjekts genutzt werden kann.
  13. Die automatische Testausrüstung gemäß Anspruch 12, bei der das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, den Speicherbereich initialisiert, auf den der Speicherbereich des Speichers der automatischen Testausrüstung abgebildet ist, um durch einen Cache des Testobjekts gecacht zu werden.
  14. Die automatische Testausrüstung gemäß Anspruch 12 oder 13, bei der das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird den Speicherbereich initialisiert, auf den der Speicherbereich des Speichers der automatischen Testausrüstung abgebildet ist, so dass ein Erweiterungsspeicher (240, 543, 546), der durch die zweite Schnittstelle bereitgestellt wird, der Verarbeitungseinheit des Testobjekts als normaler Systemspeicher präsentiert wird, abgesehen von einer möglicherweise langsameren Zugriffszeit.
  15. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 14, bei der das Programm, das unter Verwendung der ersten Schnittstelle auf das Testobjekt hochgeladen wird, bewirkt, dass das Testobjekt Ergebnisse einer Programmausführung über die zweite Schnittstelle zu der automatischen Testausrüstung überträgt.
  16. Die automatische Testausrüstung gemäß Anspruch 15, wobei die automatische Testausrüstung konfiguriert ist, eine Datenanalyse auf der Basis der Ergebnisse durchzuführen, die über die zweite Schnittstelle in dem Speicher (240, 543, 546) der automatischen Testausrüstung gespeichert sind und/oder wobei die automatische Testausrüstung konfiguriert ist, eine Charakterisierung des Testobjekts auf der Basis der Ergebnisse durchzuführen, die über die zweite Schnittstelle in dem Speicher der automatischen Testausrüstung gespeichert sind; und/oder wobei die automatische Testausrüstung konfiguriert ist, ein Datenzugriffsmuster auf den Speicher der automatischen Testausrüstung über die zweite Schnittstelle auszuwerten; und/oder wobei die automatische Testausrüstung konfiguriert ist, Informationen, die von dem Testobjekt über die zweite Schnittstelle erhalten werden, zu analysieren, um das Testobjekt zu charakterisieren.
  17. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 16, wobei die automatische Testausrüstung konfiguriert ist, zu bewirken, dass das Testobjekt sequentiell oder parallel eine Mehrzahl von Testfallprogrammen ausführt, die in unterschiedlichen Speicherbereichen eines Speichers der automatischen Testausrüstung gespeichert sind und auf die das Testobjekt über die zweite Schnittstelle zugreift.
  18. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 17, wobei das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, das Testobjekt konfiguriert, um Programmcode und/oder Daten eines gegebenen Testfallprogramms während einer Ausführung des gegebenen Testfallprogramms über die zweite Schnittstelle hochzuladen.
  19. Die automatische Testausrüstung gemäß einem der Ansprüche 1 bis 18, wobei die automatische Testausrüstung eine Teststeuerung (230, 430, 536) aufweist; wobei die automatische Testausrüstung die erste Schnittstelle aufweist, um dem Testobjekt Testdaten (260) bereitzustellen; und wobei die automatische Testausrüstung einen gemeinschaftlich verwendeten Speicher (240, 543) aufweist, der für die Teststeuerung zugänglich ist und für das Testobjekt zugänglich ist.
  20. Eine automatische Testausrüstung zum Testen eines Testobjekts, wobei die automatische Testausrüstung eine Teststeuerung aufweist; wobei die automatische Testausrüstung eine erste Schnittstelle aufweist zum Bereitstellen von Testdaten an das Testobjekt; und wobei die automatische Testausrüstung einen gemeinschaftlich verwendeten Speicher aufweist, der für die Teststeuerung zugänglich ist und für das Testobjekt zugänglich ist.
  21. Die automatische Testausrüstung gemäß Anspruch 19 oder Anspruch 20, wobei die automatische Testausrüstung eine serielle Schnittstelle (549) aufweist, die konfiguriert ist, um einen Zugriff des Testobjekts auf den gemeinschaftlich verwendeten Speicher zu erlauben.
  22. Die automatische Testausrüstung gemäß Anspruch 21, wobei die serielle Schnittstelle eine PCI-Express-Schnittstelle oder eine PCI-Express-konforme Schnittstelle ist.
  23. Die automatische Testausrüstung gemäß Anspruch 21, bei der die serielle Schnittstelle eine Universal-Serial-Bus-(USB)-Schnittstelle ist.
  24. Die automatische Testausrüstung gemäß Anspruch 21, bei der die serielle Schnittstelle eine Thunderbolt-Schnittstelle oder eine Ethernet-Schnittstelle oder eine IEEE-1394-Schnittstelle oder eine SATA-Schnittstelle ist, oder wobei die serielle Schnittstelle eine IEEE-1149-Schnittstelle ist, oder wobei die serielle Schnittstelle eine IEEE-1 500-Schnittstelle ist, oder wobei die serielle Schnittstelle eine IEEE-1687-Schnittstelle ist, oder wobei die serielle Schnittstelle Teil der ersten Schnittstelle sein kann.
  25. Die automatische Testausrüstung gemäß einem der Ansprüche 19 bis 24, wobei die automatische Testausrüstung konfiguriert ist, so dass der gemeinschaftlich verwendete Speicher für mehrere Testobjekte zugänglich ist.
  26. Die automatische Testausrüstung gemäß Anspruch 25, wobei die automatische Testausrüstung eine Mehrzahl von Schnittstellen aufweist, die mit dem gemeinschaftlich verwendeten Speicher gekoppelt sind, um Zugriff auf den gemeinschaftlich verwendeten Speicher durch eine Mehrzahl von Testobjekten zu erlauben.
  27. Die automatische Testausrüstung gemäß einem der Ansprüche 19 bis 26, bei der die Teststeuerung konfiguriert ist, auszuwählen, welcher Abschnitt (546) des gemeinschaftlich verwendeten Speichers (240, 543) für das Testobjekt zugänglich ist; oder wobei die Teststeuerung konfiguriert ist, eine Zuordnung von Abschnitten (543, 546) des gemeinschaftlich verwendeten Speichers zu einer Mehrzahl von Testobjekten auszuwählen.
  28. Automatische Testausrüstung gemäß einem der Ansprüche 19 bis 27, bei der die Teststeuerung konfiguriert ist, eine Zuordnung von Abschnitten des gemeinschaftlich verwendeten Speichers zu einem gegebenen Testobjekt während eines Testlaufs zu ändern, so dass ein erster Abschnitt des gemeinschaftlich verwendeten Speichers einem gegebenen Testobjekt während eines ersten Teils des Testlaufs zugeordnet ist und so dass ein zweiter Abschnitt des gemeinschaftlich verwendeten Speichers dem gegebenen Testobjekt während eines zweiten Teils des Testlaufs zugeordnet ist.
  29. Die automatische Testausrüstung gemäß einem der Ansprüche 19 bis 28, wobei die automatische Testausrüstung konfiguriert ist, einen aktuell ungenutzten Abschnitt des gemeinschaftlich verwendeten Speichers zu modifizieren, ein neues Testfallprogramm einzurichten, während das Testobjekt auf einen anderen Abschnitt des gemeinschaftlich verwendeten Speichers zugreift.
  30. Die automatische Testausrüstung gemäß einem der Ansprüche 29 bis 29, wobei die automatische Testausrüstung konfiguriert ist, Daten, die durch das Testobjekt in dem gemeinschaftlich verwendeten Speicher gespeichert werden, von dem gemeinschaftlich verwendeten Speicher auszulesen, während das Testobjekt auf einen anderen Abschnitt des gemeinschaftlich verwendeten Speichers zugreift.
  31. Die automatische Testausrüstung gemäß Anspruch 30, wobei die automatische Testausrüstung konfiguriert ist, die Daten, die durch das Testobjekt in dem gemeinschaftlich verwendeten Speicher gespeichert werden, zu analysieren, um ein Testergebnis zu erhalten.
  32. Ein Verfahren (600) zum Testen eines Testobjekts, das eine Verarbeitungseinheit und einen Programm- und/oder Datenspeicher aufweist, wobei das Verfahren das Hochladen (610) eines Programms auf das Testobjekt unter Verwendung einer ersten Schnittstelle aufweist, wobei das Programm, das über die erste Schnittstelle auf das Testobjekt hochgeladen wird, das Testobjekt konfiguriert (620), um zusätzlichen Programmcode und/oder Daten über eine zweite Schnittstelle, die eine höhere Datenrate aufweist als die erste Schnittstelle, für eine Ausführung durch das Testobjekt zu laden.
  33. Ein Computerprogramm zum Durchführen des Verfahrens gemäß Anspruch 32, wenn das Computerprogramm auf einem Computer läuft.
DE112019007610.8T 2019-08-06 2019-08-06 Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts Pending DE112019007610T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2019/071086 WO2021023372A1 (en) 2019-08-06 2019-08-06 An automated test equipment for testing a device under test which comprises a processing unit and a program and/or data memory, an automated test equipment which comprises a test controller, one or more interfaces to the device under test, a shared memory and a method for testing a device under test

Publications (1)

Publication Number Publication Date
DE112019007610T5 true DE112019007610T5 (de) 2022-04-21

Family

ID=67620423

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007610.8T Pending DE112019007610T5 (de) 2019-08-06 2019-08-06 Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts

Country Status (7)

Country Link
US (1) US20220157399A1 (de)
JP (1) JP7317209B2 (de)
KR (1) KR20220044272A (de)
CN (1) CN114190101A (de)
DE (1) DE112019007610T5 (de)
TW (1) TWI785322B (de)
WO (1) WO2021023372A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11899550B2 (en) * 2020-03-31 2024-02-13 Advantest Corporation Enhanced auxiliary memory mapped interface test systems and methods
WO2023078571A1 (en) * 2021-11-08 2023-05-11 Advantest Corporation Automated test equipment, device under test, test setup methods using an acknowledge signaling
CN115391252A (zh) 2021-12-08 2022-11-25 威锋电子股份有限公司 Usb集成电路、测试平台及usb集成电路的操作方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148527A (ja) * 1998-11-17 2000-05-30 Meidensha Corp 処理制御装置
JP2001051863A (ja) * 1999-08-09 2001-02-23 Fujitsu Ltd マイクロプロセッサ
US6424926B1 (en) * 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
US20050099199A1 (en) * 2001-03-19 2005-05-12 Norihiko Sugita Semiconductor device and its test method
US7385927B2 (en) * 2002-06-24 2008-06-10 Lsi Logic Corporation Methods and structure for improved testing of embedded systems
US6975954B2 (en) * 2003-06-24 2005-12-13 Intel Corporation Functional testing of logic circuits that use high-speed links
EP1505491A3 (de) * 2003-08-06 2005-03-02 Agilent Technologies Inc Sequenzierungsgerät mit befehlenzwischenspeichern
US6958616B1 (en) * 2003-11-07 2005-10-25 Xilinx, Inc. Hybrid interface apparatus for testing integrated circuits having both low-speed and high-speed input/output pins
US7596730B2 (en) * 2006-03-31 2009-09-29 Advantest Corporation Test method, test system and assist board
US7486205B2 (en) * 2006-11-28 2009-02-03 Samplify Systems, Inc. Compression and decompression of stimulus and response waveforms in automated test systems
IE20080066A1 (en) * 2007-01-30 2008-09-17 Univ Limerick On-chip testing
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
US8473792B2 (en) * 2011-01-06 2013-06-25 Lsi Corporation Logic BIST for system testing using stored patterns
US8522189B2 (en) * 2011-03-09 2013-08-27 Intel Corporation Functional fabric based test access mechanism for SoCs
WO2013060361A1 (en) * 2011-10-25 2013-05-02 Advantest (Singapore) Pte. Ltd. Automatic test equipment
US9959186B2 (en) * 2012-11-19 2018-05-01 Teradyne, Inc. Debugging in a semiconductor device test environment
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
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
US8583973B1 (en) * 2013-02-22 2013-11-12 Lsi Corporation Stored-pattern logic self-testing with serial communication
US9864007B2 (en) * 2014-04-30 2018-01-09 Duke University Software-based self-test and diagnosis using on-chip memory
WO2018027018A1 (en) * 2016-08-03 2018-02-08 Intel Corporation Remote debugging and management
US10184983B2 (en) * 2017-06-02 2019-01-22 Intel IP Corporation Interface independent test boot method and apparatus using automatic test equipment
US10859627B2 (en) * 2017-06-29 2020-12-08 Intel Corporation In-field system testing
US10914784B2 (en) * 2018-07-27 2021-02-09 Advantest Corporation Method and apparatus for providing UFS terminated and unterminated pulse width modulation support using dual channels
US20220121542A1 (en) * 2020-10-20 2022-04-21 Nvidia Corporation Techniques for testing semiconductor devices
US11480613B2 (en) * 2020-12-18 2022-10-25 Arm Limited Method and/or system for testing devices in non-secured environment

Also Published As

Publication number Publication date
TW202107283A (zh) 2021-02-16
JP7317209B2 (ja) 2023-07-28
JP2022543294A (ja) 2022-10-11
CN114190101A (zh) 2022-03-15
TWI785322B (zh) 2022-12-01
KR20220044272A (ko) 2022-04-07
WO2021023372A1 (en) 2021-02-11
US20220157399A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
DE112020000469T5 (de) Automatisierte testeinrichtung, die ein auf-chip-system-teststeuergerät verwendet
DE112019007610T5 (de) Eine automatische testausrüstung zum testen eines testobjekts, das eine verarbeitungseinheit und einen programm- und/oder datenspeicher aufweist, eine automatische testausrüstung, die eine teststeuerung, eine oder mehrere schnittstellen zu dem testobjekt und einen gemeinschaftlich verwendeten speicher aufweist, und ein verfahren zum testen eines testobjekts
DE112012005320T5 (de) Multicore-Prozessor mit intern integriertem entscheidungsbasierten Selbsttest
DE10392667T5 (de) Ereignisbasiertes IC-Testsystem
EP1720100A1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE2515297A1 (de) Pruefsystem fuer logische netzwerke mit simulatororientiertem fehlerpruefgenerator
DE102011056563A1 (de) Datenkompressionsvorrichtungen, Betriebsverfahren dafür und Datenverarbeitungsgeräte einschließlich derselben
DE102015003363A1 (de) Verfahren und system zum testen cloud-basierter anwendungen in einer produktionsumgebung unter verwendung hergestellter benutzer-daten
DE10238563A1 (de) System und Verfahren zum Testen von Schaltungen und Programmieren integrierter Schaltungsvorrichtungen
DE112013002995T5 (de) Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen
DE112010004194T5 (de) Erleichterung der Datenverdichtung während des Kopierens
DE10004198C2 (de) System und Verfahren für eine intelligente Analysesonde
WO2004049159A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
DE112013000599T5 (de) Konfigurieren von Rechenknoten in einem parallelen Computer unter Verwendung eines entfernt angeordneten direkten Speicherzugriffs
DE102013114558B4 (de) Ausschneiden-bei-der Diagnose (CID) - Ein Verfahren zur Verbesserung des Durchsatzes des Vorgangs für Anhebung der Ausbeute
DE112016001739T5 (de) Busschnittstellensystem
DE112005003216T5 (de) System und Verfahren für Steuerregister, auf die über private Rechenoperationen zugegriffen wird
DE202015009308U1 (de) Universelle Serienbus-Emulation von Peripheriegeräten
DE102019121571A1 (de) Verfahren und einrichtung, um auf hochvolumige prüfdaten über hochgeschwindigkeitsschnittstellen zuzugreifen
DE102021130630A1 (de) Testen von software-anwendungskomponenten
DE102020108216A1 (de) Verfahren und Vorrichtungen zum Durchführen von Design for Debug über eine Protokollschnittstelle
DE112019007386T5 (de) Verbesserte jtag-register mit gleichzeitigen eingängen
DE102022130856A1 (de) Eingabe-ausgabe-vorrichtung mit debug-steuerung
DE102017129380A1 (de) In hohem Maße flexibler Performance-Zähler und System-Debug-Modul

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE