DE60128014T2 - Intelligenter Prüfadapter - Google Patents

Intelligenter Prüfadapter Download PDF

Info

Publication number
DE60128014T2
DE60128014T2 DE60128014T DE60128014T DE60128014T2 DE 60128014 T2 DE60128014 T2 DE 60128014T2 DE 60128014 T DE60128014 T DE 60128014T DE 60128014 T DE60128014 T DE 60128014T DE 60128014 T2 DE60128014 T2 DE 60128014T2
Authority
DE
Germany
Prior art keywords
test
interface
tests
tester
integrated circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60128014T
Other languages
English (en)
Other versions
DE60128014D1 (de
Inventor
Laurence H. Los Gatos Cooke
Christopher K. San Jose Lennard
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.)
Cadence Design Systems Inc
Original Assignee
Cadence Design Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cadence Design Systems Inc filed Critical Cadence Design Systems Inc
Application granted granted Critical
Publication of DE60128014D1 publication Critical patent/DE60128014D1/de
Publication of DE60128014T2 publication Critical patent/DE60128014T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Description

  • Hintergrund der Erfindung
  • 1. Bereich der Erfindung
  • Die vorliegende Erfindung betrifft die elektronische Entwurfsautomatisierung und, insbesondere, Systeme zum Testen integrierter Schaltungen während Herstellungs- und/oder Fabrikationsstadien gemäß dem Oberbegriff des unabhängigen Anspruchs 1. Solche Systeme werden beispielsweise in dem US-Patent 4,354,268 offenbart.
  • Hintergrund
  • Schaltkreischip-Designer verwenden oft elektronische Entwurfsautomatisierungs (EDA)-Softwaretools zum Unterstützen des Designprozesses und zum Erlauben der Simulation des Chipdesigns vor dem Bau eines Prototyps oder der Produktion. Das Designen von Chips unter Verwendung von EDA-Softwaretools umfasst einen iterativen Prozess, mit dem das Chipdesign schrittweise perfektioniert wird. Typischerweise designen Chipdesigner einen Schaltkreis durch Eingeben von Informationen auf einer Computerarbeitsstation, die im Allgemeinen eine hochqualitative Graphikfähigkeit hat, um so Teile der Chipdesigns wie benötigt anzuzeigen. Eine von-oben-nach-unten-Methodik wird herkömmlicherweise angewandt unter Verwendung von Hardwarebeschreibungssprachen (HDL), beispielsweise Verilog® oder VHDL, zum Beispiel, durch welche der Designer einen integrierten Schaltkreis schafft durch hierarchisches Definieren funktionaler Komponenten (Bauelemente) des Schaltkreises und dann Zerlegen jeder Komponente in kleinere und kleinere Komponenten.
  • Die verschiedenen Komponenten eines integrierten Schaltkreises werden anfänglich definiert durch deren Funktionsoperationen und relevanten Eingaben und Ausgaben. Aus der HDL oder einer anderen Beschreibung auf hohem Niveau wird die tatsächliche Logikzellenimplementierung typischerweise durch logische Synthese bestimmt, welche die Funktionsbeschreibung des Schaltkreises in eine spezifische Schaltkreisimplementierung umwandelt. Die logischen Zellen werden dann "platziert" (d.h., gegebene spezifische Koordinatenpunkte in dem Schaltkreislayout) und "geroutet" (d.h. verdrahtet oder zusammengekoppelt gemäß den Definitionen des Schaltkreisdesigners). Die Platzierungs- und Routingsoftware-Routinen akzeptieren als deren Eingabe gewöhnlich eine verflachte Netzliste, die gewöhnlich durch einen logischen Syntheseprozess erzeugt wurde. Die verflachte Netzliste identifiziert die spezifischen logischen Zelleninstanzen aus einer Ziel-Standardzellenbibliothek und beschreibt die spezifische Zellen-zu-Zelle Konnektivität. Nachdem diese spezifische Zellen-zu-Zelle Konnektivität errichtet wurde, schafft die Software für das physikalische Design und Layout eine Datei des pysikalischen Layouts des integrierten Schaltkreises, einschließlich der physikalischen Position jeder Metall-Leitung (d.h. Draht) und jedes Vias (d.h. Metallverbindung zwischen Chipschichten).
  • Als letzten Schritt vor der Schaffung der Maskendatei zum Ausliefern an die Fabrikationseinrichtung führt die Software für physikalische Verifizierung und Layoutvalidierung verschiedene Entwurfsregelprüfungen (DRC) an der Layoutdatei aus. In jüngerer Zeit wird, um sehr große und komplexe Designs zu handhaben, eine Netzliste für jeden Abschnitt oder Block in dem Design geschaffen. Die nachfolgend platzierten und gerouteten Blocks werden dann beim nächsten, Volldesign-Niveau hierarchisch als "Zellen" betrachtet und wieder platziert und geroutet, um das Layout des gesamten Chips zu bilden. In diesem hierarchischem Ansatz werden die DRCs auch hierarchisch ausgeführt. Eine weitere Erklärung eines besonderen Chipdesigns wird beispielsweise in dem US-Patent 5,838,583 dargestellt.
  • Während der Fabrikation in einer Halbleiter-Gießerei werden integrierte Schaltkreise typischerweise als Teil eines vielstufigen Prozesses auf Halbleiterwafern hergestellt. Ein einzelnes Design eines integrierten Schaltkreises wird gewöhnlich viele Male über einen einzigen Halbleiterwafer, mit gleichmäßig in Reihen und Spalten ausgelegten Iterationen des integrierten Schaltkreises, dupliziert. Die Fabrikation eines Halbleiterwafers, der integrierte Schaltkreise enthält, kann Ätz-, Abscheidungs-, Diffusions-, und Reinigungsprozesse umfassen, die innerhalb spezifischer Toleranzen ausgeführt werden.
  • Typischerweise sind, aufgrund von Mängeln in dem Herstellungsprozess, einige von den integrierten Schaltkreisen auf dem Halbleiterwafer nicht für die kommerzielle Verwendung geeignet. Die Anzahl der integrierten Schaltungen auf jedem Wafer, die problematisch sein wird, hängt zum Teil von der Qualität und Konsistenz des Fabrikationsprozesses ab. Jedoch werden, ungeachtet der oft besten Bemühungen der Halbleiter-Gießereien, üblicherweise auf jedem Wafer eine Anzahl von integrierten Schaltkreisen vorhanden sein, die ausgeschieden werden müssen, selbst wenn das Design des "Blaudrucks" korrekt ist, weil während des Fabrikationsprozesses elektrischer Komponenten nicht die angemessenen Toleranzen erreicht werden, weil elektrische Kopplungen, die gemacht werden sollten, nicht ausreichend leitend gemacht werden, weil elektrische Pfade, die isoliert sein sollten, sich zu nahe kommen oder kurzgeschlossen werden, oder aufgrund anderer Mängel, die an jedem Punkt auftreten können beim Ätz-, Abscheidungs-, Diffusions- oder Reinigungsprozess. Das endlose Schieben zum Verringern der Größe von integrierten Schaltkreisen, einschließlich der darauf gebildeten Mikro-Schaltkreise, Drähte und Komponenten, erhöht lediglich die Wahrscheinlichkeit, dass Mängel während des Fabrikationsprozesses auftreten, das Ausscheiden von wenigstens Einigen (und manchmal aller) der integrierten Schaltkreise auf dem Halbleiterwafer erfordernd.
  • Nach dem Fabrikationsprozess geht der Halbleiterwafer typischerweise durch einen Verkapselungsprozess, in welchem der Wafer in Würfel zerteilt und dann zum Versand oder zur Integration auf elektronische Vorrichtungen verkapselt wird. Es zu unterlassen, problematische integrierte Schaltkreise vor solch einem Versand oder solch einer Integration zu identifizieren, kann sich verheerend auswirken. Falls ein mangelhafter integrierter Schaltkreis vor einem Versand nicht identifiziert wird, kann er in einem Produkt platziert werden und an einen Verbraucher oder Endbenutzer verkauft werden, woraufhin er möglicherweise während des Betriebs versagt. Neben dem Verletzen des guten Rufes des Chipdesigners und der Halbleiterfabrikationsstätte können solche Funktionsfehler große Probleme für die Anwendung des Verbraucher oder Endbenutzer verursachen. Ferner sind die Kosten für den Austausch des gesamten defekten Produktes viel größer als das Entfernen der defekten Komponente aus dem Herstellungsprozess, bevor sie in das fertige Produkt eingebaut ist.
  • Folglich sollten integrierte Schaltkreise getestet werden, um sicherzustellen, dass sie richtig funktionieren. Ein solches Testen kann stattfinden an dem Punkt, wenn die Herstellung des Halbleiterwafers vollendet ist und/oder nach dem die Würfel verkapselt worden sind. Eine Vielfalt von Tests wurden entwickelt zur Anwendung während einer dieser Stufen der Herstellung. Die meisten dieser Tests werden durch eine "Testkarte" (Nadelkarte) verwaltet, die mit einer automatisierten Maschine gekoppelt ist. Die Testkarte ist eine Test-Aufnahmevorrichtung, die direkt mit dem zu testenden integrierten Schaltkreis kontaktiert (in diesem Zusammenhang auch bekannt als das "Messobjekt" oder "DUT" (Device Under Test = Messobjekt). In einer Ausführungsform enthält die Testkarte eine elektrische Schnittstelle, die zu dem DUT kompatibel ist. Die automatische Maschine, die die Testkarte steuert, enthält im allgemeinen einen Computer, der verschiedene gespeicherte Testinformationen hat, die durch die Design- oder Testingenieure speziell für das DUT entwickelt wurden. Die ausgeführten Klassen des Tests können sein Funktionstests, wie zum Beispiel Diagnostiktests und Belastungstests zum Sicherstellen, dass die Funktionalität des integrierten Schaltkreises vollständig ist, und Strukturtests, wie zum Beispiel eingebaute Selbsttests (BIST), und Abtast-basierte Tests zum Sicherstellen, dass keine strukturellen Fehler in der Logik des DUT existieren.
  • Einer der Gesichtspunkte zum Auswählen des Typs/der Typen von Tests zum Anwenden für einen integrierten Schaltkreis, ist der Zeitaufwand, welcher jeder Test benötigt. Weil integrierte Schaltkreise oft Teil eines Massenproduktionsprozesses sind, in welchem zehntausende oder sogar Millionen von Einheiten produziert werden können, können sogar relativ kurze Tests in der Gesamtsumme signifikante Prozessverzögerungen zur Folge haben. Darüberhinaus benötigen Nach-Fabrikations-Tests typischerweise teures, spezialisiertes Testequipment, welches sich in die Zehntausende oder Millionen Dollars pro Testmaschine bewegen kann. Weil integrierte Schaltkreise zunehmend Millionen oder Zehnmillionen von Gates enthalten, werden herkömmliche Testtechniken schnell entweder zu zeitaufwändig oder ineffizient bei Volltests von integrierter Schaltkreisen. Aus demselben Grund werden die Testkosten schnell zum teuersten Anteil bei der Herstellung eines integrierten Schaltkreises.
  • Ein Nachteil bei herkömmlichen Testverfahren sind die großen Mengen an Daten in der Form von Testmustern, die oft zwischen dem Tester und der internen Schaltung des integrierten Schaltkreises über die Testkarte übertragen werden müssen, die mit dem integrierten Schaltkreis gekoppelt ist. Mit möglicherweise Millionen von zu testenden Gates auf einem einzelnen integrierten Schaltkreis können die Testmuster lang sein. Die Verwendung der normalen Schnittstellenschaltung des integrierten Schaltkreises zum Laden der Testmuster und Auslesen der Ergebnisse kann eine relativ große Menge an Zeit beanspruchen. Auf-Geschwindigkeit Belastungstests, welche typischerweise die Systemniveau-Funktionalität an den Grenzen der operativen Arbeitsleistung des integrierten Schaltkreises testet, können besonders schwierig zu implementieren sein aufgrund der Bandbreitengrenzen zwischen dem Tester und dem integrierten Schaltkreis-Messobjekt.
  • Es wurden einige Ansätze gemacht, die Geschwindigkeit des Testens zu erhöhen, indem Tester mit höherer Geschwindigkeit verwendet werden (beispielsweise einer mit einer Geschwindigkeit von 200 MHz im Gegensatz zu den typischen 25 MHz). Jedoch können Hochgeschwindigkeitstester außerordentlich teuer sein. Auch kann bei solchen hohen Geschwindigkeiten die Länge der Drähte, die den Tester mit dem integrierten Schaltkreis koppeln (durch die Testkarte), ein signifikanter geschwindigkeitsbegrenzender Faktor werden aufgrund der Impedanzen, die teilweise frequenzbezogen sind. Daher werden, um einen Hochgeschwindigkeitstest durchzuführen, kurze Drähte benötigt, welche Design-Einschränkungen für das Testequipment mit sich bringen und den automatischen Betrieb des Testequipments möglicherweise beschwerlicher und teuerer machen.
  • Eine andere vorgeschlagene Lösung war, zusätzliche Test-I/O-Pins auf der zu testenden Vorrichtungen zu platzieren. Das Problem bei diesem Ansatz ist, dass jede Verbesserung bestenfalls linear ist und daher relativ unsignifikant ist im Vergleich zu der Erhöhung der Dichte der für einen integrierten Schaltkreis zu testenden Gates. Mehrfachabtastungs-Teststrings könnten unter Verwendung der zusätzlichen Eingabe/Ausgabe-Pins in das DUT eingegeben werden, aber wieder hat aufgrund des begrenzten realen Leistungsvermögens die Verbesserung der Leistung eine niedrige Obergrenze. Ferner werden durch das Aufnehmen zusätzlicher Pins die Kosten für das Chip-Verkapseln erhöht.
  • Analog wurde auch vorgeschlagen, die Testeingaben unter Verwendung von Signal-I/O-Pins für Tests schneller in das DUT zu übertragen. Um dies zu tun, werden Test- und Verwendungs-Eingaben/Ausgaben (I/O) für einen Bereich des Satzes von Signal-I/O-Pins gemultiplext. Diese Option zieht jedoch zusätzliche Leistungserfordernisse auf sich. Weil außerdem das reale Leistungsvermögen für Eingabe/Ausgabe-Pins begrenzt ist, liefert diese Alternative auch nur begrenzt einen Vorteil.
  • Eine der neueren Entwicklungen in Schaltkreisdesigns ist das Aufkommen von sogenannten virtuellen Komponenten-Blocks (Bauelement-Gruppen), welche von einem generellen Standpunkt aus gesehen vor-designte und vor-gehärtete (pre-hardened) (oder halb-gehärtete) Schaltkreisdesigns in Software-Form (beispielsweise im GDSII-Format) sind, welche in unterschiedlichen, größeren Schaltkreisdesings leicht wiederverwendet oder wiederaufbereitet werden können. Ein Vorteil von virtuellen Komponenten (oder VC)-Blocks ist, dass sie die Zeit, um einen gesamten Schaltkreis zu designen, reduzieren und dadurch die Geschwindigkeit merklich erhöhen. Virtuelle Kompontenten-Blocks können auch von einem logischen und funktionellen Standpunkt aus verifiziert werden, auch Zeit in dem Verifizierungsabschnitt des Designprozesses sparend.
  • Während virtuelle Komponenten-Blocks vom Design-Blickwinkel her als bequem befunden wurden, wenn sie in größere Schaltkreisdesigns eingearbeitet und auf Silizium fabriziert sind, neigen sie immer noch dazu, zu versagen, entweder aufgrund eines Fehlers in dem Herstellungsprozess oder aufgrund von Problemen, die aus einer versuchten Integration in das größere Schaltkreisdesign entstehen. Daher müssen integrierte Schaltkreise, die teilweise auf virtuelle Komponenten-Blocks basieren, genauso wie jeder andere Typ eines integrierten Schaltkreises, im Allgemeinen im Herstellungsstadium getestet und verifiziert werden. Folglich müssen, gemäß dem herkömmlichen Elektronikdesign-Automatisierungsprozess, für jedes neue integrierte Schaltkreisdesign, das einen virtuellen Komponenten-Block umfasst, neue Tests (ob Funktions-, Diagnostik- oder Belastungstests) geschrieben werden. Diese Tests können, wie oben erwähnt, genauso zeitaufwändig und teuer zu designen sein, wie sie während des Herstellens ausgeführt werden können.
  • Demgemäß wäre es vorteilhaft, verbesserte Mittel zum Testen integrierter Schaltkreise zu schaffen, einschließlich von Designtests, Ausführungstests, und Test-Systemen und -Komponenten am Punkt des Fabrizierens und/oder Verkapselns. Es wäre ferner vorteilhaft, verbesserte Mittel zum Testen von integrierten Schaltkreisen zu schaffen, die aus vordefinierten und vor-gehärteten virtuellen Komponenten-Blocks entwickelt wurden.
  • Zusammenfassung der Erfindung
  • Die Erfindung schafft ein System zum Testen von integrierten Schaltkreisen gemäß dem kennzeichnenden Teil des unabhängigen Anspruchs 1. Bevorzugte Ausführungsbeispiele sind in den abhängigen Ansprüchen offenbart.
  • Die Erfindung offenbart ein nicht-beanspruchtes Verfahren zum Testen eines integrierten Schaltkreises, der Komponenten-Blocks zufälliger Logik (random logic) in einer Herstellungsumgebung enthält. Das Verfahren enthält vorzugsweise die Schritte des Durchführens von eingebauten Selbsttests, mindesten zum Teil zum Testen von Speicher- und Datenpfaden des integrierten Schaltkreises; Durchführens von Diagnostiktests, mindesten zum Teil zum individuellen Testen der Komponenten-Blocks zufälliger Logik; Durchführens von Belastungstests unter Verwendung von Testvektoren, mindesten zum Teil zum kollektiven Testen der Komponenten-Blocks zufälliger Logik; und Durchführens von Abtast-basierten Tests des integrierten Schaltkreises, mindesten zum Teil zum Testen auf struktureller Fehler in dem integrierten Schaltkreis hin.
  • Die Erfindung offenbart auch ein nicht-beanspruchtes System zum Testen eines integrierten Schaltkreises, der einen Speicher zum Speichern von Signaturen zum Initialisieren von eingebauten Selbsttests, von Eingaben für Diagnostiktests, von Testvektoren für Belastungstests, und von Abtastmustern für Abtast-basierten Tests enthält. Das System enthält ferner vorzugsweise einen Prozessor zum Initialisieren und Evaluieren des Leistungsvermögens des integrierten Schaltkreises bei den eingebauten Selbsttests, den Diagnostiktests, den Belastungstests und den Abtast-basierten Tests.
  • Die Erfindung offenbart ein nicht-beanspruchtes computerlesbares Medium, das eine Sequenz von Instruktionen zum Testen eines hergestellten integrierten Schaltkreises speichert. Der integrierte Schaltkreis enthält vorzugsweise einen Speicher, Komponenten-Blocks von zufälliger Logik und Datenpfade. Die Sequenz von Instruktionen ist zum Durchführen eines Satzes von Aktionen, die enthalten (a) Durchführen von eingebauten Selbsttests, mindesten zum Teil, um den Speicher und die Datenpfade des integrierten Schaltkreises zu testen; (b) Durchführen von Diagnostiktests, mindesten zum Teil, um die Komponenten-Blocks der zufälligen Logik individuell zu testen; (c) Durchführen von Belastungstests unter Verwendung von Testvektoren, mindesten zum Teil, um die Komponenten-Blocks der zufälligen Logik kollektiv zu testen; und (d) Durchführen von Abtast-basierten Tests des integrierten Schaltkreises, mindesten zum Teil, um auf strukturelle Fehler in dem integrierten Schaltkreis hin zu testen.
  • Die Erfindung offenbart eine nicht-beanspruchte Testkarte zum Testen eines Messobjekts. Die Testkarte enthält vorzugsweise eine Messobjekt-Schnittstelle, eine Tester-Schnittstelle, und einen Speicher zum Speichern von Testeingaben für das Messobjekt. Die Testkarte enthält ferner vorzugsweise einen Datenübersetzer, der zwischen dem Speicher und der Tester-Schnittstelle gekoppelt ist zum Formatieren von zwischen dem Speicher und der Tester-Schnittstelle kommunizierten Testdaten.
  • Die Erfindung offenbart eine nicht-beanspruchte Testkarte zum Testen eines Messobjekt, vorzugsweise enthaltend eine Messobjekt-Schnittstelle, eine Tester-Schnittstelle, und einen analogen Signalgenerator, der zwischen der Tester-Schnittstelle und der Messobjekt-Schnittstelle gekoppelt ist. Der analoge Signalgenerator ist vorzugsweise dazu konfiguriert, analoge Tests kennzeichnende digitale Signale von der Tester-Schnittstelle zu empfangen, basierend auf die digitalen Signale ein analoges Signal zu erzeugen, und das analoge Signal an das Messobjekt zu senden. Die Testkarte enthält ferner einen Datenübersetzer, der zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle gekoppelt ist zum Formatieren von zwischen dem Messobjekt und der Tester-Schnittstelle kommunizierten Testdaten.
  • Die Erfindung beansprucht eine Testkarte zum Testen eines Messobjekts, vorzugsweise enthaltend eine Messobjekt-Schnittstelle, eine Tester-Schnittstelle, eine Foldback-Schaltung (Zurückfalt-Schaltung), die mindestens zwei Pins des Messobjekts verbindet, und einen Datenübersetzer, der zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle elektrisch gekoppelt ist. Vorzugsweise formatiert der Datenübersetzer zwischen dem Messobjekt-Schnittstelle und der Tester-Schnittstelle kommunizierte Testdaten.
  • Die Erfindung offenbart einen nicht-beanspruchten integrierten Schaltkreis, der Schaltkreis-Komponenten-Blocks, die über einen Bus gekoppelt sind, und Eingabe/Ausgabe-Pins mit entsprechenden, mit dem Bus gekoppelten Leitern enthält. Die Eingabe/Ausgabe-Pins stellen vorzugsweise eine Fähigkeit zur Kommunikation mit Außerhalb des Schaltkreises bereit. Der integrierte Schaltkreis enthält ferner eine Foldback-Schaltung zum Zurückführen (foldback) eines auf einer der Leitungen an einen von den Pins gesendeten Signals, und Foldback-Logik zum Aktivieren oder Deaktivieren der Foldback-Schaltung.
  • Die Erfindung offenbart ein nicht-beanspruchtes computerlesbares Medium, das eine Sequenz von Instruktionen zum Spezifizieren eines integrierten Schaltkreises speichert. Die Sequenz von Instruktionen ist zum Ausführen eines Satzes von Aktionen, die enthalten Spezifieren eines über einen Bus verbundenen Schaltkreis-Komponenten-Blocks, und Spezifizieren von Eingabe/Ausgabe-Pins mit Leitungen, die mit dem Bus gekoppelt sind. Die Eingabe/Ausgabe-Pins schaffen vorzugsweise die Fähigkeit zum Kommunizieren mit Außerhalb des integrierten Schaltkreises. Der Satz von Aktionen enthält vorzugsweise ferner Spezifizieren eines Foldback-Schaltkreises zum Zurückführen eines auf einen der Leitungen zu einen der Pins gesendeten Signals, und Spezifizieren einer Foldback-Logik zum Aktivieren und Desaktivieren des Foldback-Schaltkreises.
  • Die Erfindung offenbart eine nicht-beanspruchte Teststation zum Testen eines Messobjekts. Die Teststation enthält vorzugsweise das Messobjekt, wobei das Messobjekt einen Speicher und Testlogik zum Sperren mindestens eines Bereichs des Speichers während eines Tests des Messobjekts enthält. Die Teststation enthält ferner einen Tester, wobei der Tester mit dem Messobjekt elektrisch gekoppelt ist und zum Senden von digitalen Signalen zum Sperren mindestens eines Bereichs des Speichers ist. Die Teststation enthält ferner eine Testkarte, die mit dem Messobjekt und dem Tester elektrisch gekoppelt ist, wobei die Testkarte einen Taktgenerator zum Senden von Taktsignalen an das Messobjekt und einen zwischen der Chip-Schnittstelle und der Tester-Schnittstelle elektrisch gekoppelten Datenübersetzer enthält. Vorzugsweise formatiert der Datenübersetzer zwischen der Chip-Schnittstelle und der Tester-Schnittstelle kommunizierte Testdaten.
  • Die Erfindung offenbart ein nicht-beanspruchtes Verfahren des Erzeugens von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank (Prüfstand). Das Verfahren enthält vorzugsweise Schritte des Erhaltens von Funktionsniveau-Testvektoren, Umwandelns der Testvektoren in eine Reihe von Nachrichtenblocks, Anwenden eines Schnittstellen-Protokolls auf die Reihe von Nachrichtenblocks, um Testdaten zu erzeugen, und Anwenden eines Schnittstellen-Protokolls für ein Messobjekt auf die Testvektordaten.
  • Die Erfindung offenbart ein nicht-beanspruchtes System zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank. Das System enthält vorzugsweise einen Speicher zum Speichern von Funktionsniveau-Testvektoren, und einen mit dem Speicher gekoppelten Prozessor zum Übersetzen der Testvektoren in Nachrichtenblocks, zum Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen, und zum Anwenden eines Schnittstellen-Protokolls für ein Messobjekt, um die Testvektordaten zu testen.
  • Die Erfindung offenbart ein nicht-beanspruchtes computerlesbares Medium, das eine Sequenz von Instruktionen zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank speichert. Die Sequenz von Instruktionen ist zum Durchführen eines Satzes von Aktionen, die enthalten (a) Spezifizieren von Funktionsniveau-Testvektoren; (b) Übersetzen der Testvektoren in Nachrichtenblocks; (c) Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen; und (d) Anwenden eines Schnittstellen-Protokolls für den integrierten Schaltkreis auf die Testvektordaten.
  • Die Erfindung offenbart ein nicht-beanspruchtes Verfahren des Erzeugen von Diagnostiktests zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank. Das Verfahren enthält vorzugsweise Schritte des Erhaltens von Funktionsniveau-Testvektoren für virtuelle Komponenten-Blocks eines integrierten Schalkreisdesigns, Übersetzens der Diagnostiktests in zeitakkurate Diagnostiktests, Umwandelns der zeitakkuraten Diagnostiktests in Speicherladeinstruktionen, und Anwendens eines Schnittstellen-Protokolls für ein Messobjekt, um die Speicherladeinstruktionen zu testen.
  • Die Erfindung offenbart ein nicht-beanspruchtes computerlesbares Medium, das eine Sequenz von Instruktionen zum Spezifizieren und Testen eines hergestellten integrierten Schaltkreises speichert. Die Sequenz von Instruktionen ist zum Durchführen eines Satzes von Aktionen, die enthalten (a) Spezifizieren von virtuellen Komponenten-Blocks; (b) Spezifizieren von Kopplungen zwischen den virtuellen Komponenten-Blocks; (c) Spezifizieren von Sätzen von Diagnostiktests zum Testen hergestellter Formen der virtuellen Komponenten-Blocks, wobei jeder Satz von Diagnostiktests mit einem der virtuellen Komponenten-Blocks korrespondiert; und (d) Spezifizieren eines Satzes von Testvektoren zum Testen des gefertigten integrierten Schaltkreises.
  • Die Erfindung offenbart ein nicht-beanspruchtes computerlesbares Medium, das eines Sequenz von Instruktionen zum Erzeugen und/oder Übersetzen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank speichert. Die Sequenz von Instruktionen ist zum Durchführen eines Satzes von Aktionen, die enthalten (a) Spezifizieren von Funktionsniveau-Testvektoren zum Testen einer Funktionsspezifizierung des integrierten Schaltkreises; (b) Übersetzen der Testvektoren in Nachrichtenblocks; (c) Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen; (d) Anwenden eines Schnittstellen-Protokolls des integrierten Schaltkreises auf die Testvektordaten.
  • Die Erfindung offenbart ein nicht-beanspruchtes Verfahren des Herstellens eines computerlesbaren Mediums, das ein Design für einen integrierten Schaltkreis und eine Ansammlung von Testeingaben zum Herstellen und Funktions-Testen einer hergestellten Form des integrierten Schaltkreises speichert. Das Verfahren enthält ferner die Schritte des (a) Designens von virtuellen Komponenten-Blocks, um in dem Design des integrierten Schalkreises verwendet zu werden, (b) Designens eines Diagnostiktests, spezifisch für jeden virtuellen Komponenten-Block, (c) Bestimmens des Designs für den integrierten Schalkreis, der die virtuellen Komponenten-Blocks aufweist, (d) Erhaltens von Hochniveau-Testvektoren für den integrierten Schaltkreis, (e) Verifizierens des integrierten Schaltkreises unter Verwendung der Testvektoren und der Diagnostiktests, (f) Vermehrens der Diagnostiktests und der Testvektoren für eine Herstellungsumgebung, und (g) Verkapselns des Designs für den integrierten Schaltkreis mit den vermehrten Testvektoren.
  • Kurze Beschreibungen der Zeichnungen
  • 1 ist ein Diagramm eines Computersystems, das in Verbindung mit verschiedenen Ausführungsbeispielen der hierin beschriebenen Erfindung verwendet werden kann.
  • 2 ist ein Diagramm eines vereinfachten integrierten Schaltkreises, wie er unter Verwendung eines Computersystems, wie zum Beispiel dem in 1 gezeigten, erzeugt werden kann, nachdem die Komponenten-Blocks auf dem integrierten Schaltkreis-Chip platziert wurden.
  • 3 ist ein Diagramm eines allgemeinen Prozessablaufs für ein Schaltkreisdesign, verschiedene Niveaus der Schaltkreisabstraktion zeigend.
  • 4 ist ein Diagramm eines virtuellen Komponenten-Blocks- und Diagnostiktestinformations-Managementsystems, die Anwendung von Informationen über virtuelle Komponenten-Block-(einschließlich von Test- und Diagnostikinformation) auf verschiedenen Stufen in einem Elektronikdesign-Automatisierungsprozess zeigend.
  • 5 ist ein Blockdiagramm eines Ausführungsbeispiels einer Testbank, wie sie in 4 allgemein dargestellt ist.
  • 6a ist ein Diagramm eines Prozessablaufs zum Übersetzen von Tests aus einer Designverifizierungsphase in eine Herstellungsphase (Fertigungsphase), in welcher individuell hergestellte integrierte Schaltkreise getestet werden.
  • 6b ist eine Darstellung der Migration eines Verifizierungstests für ein virtuelles IC-Design in eine Herstellungsphase zum Testen tatsächlicher ICs, die das Design manifestieren.
  • 7 ist ein Diagramm eines Satzes von Schritten zum Konfigurieren einer Testbank, um vorteilhaft Testvektoren und Diagnostiktests auszuführen, die in der Herstellungsumgebung vermehrt wurden.
  • 8 ist ein Diagramm eines physikalischen Layouts für einen Chip mit Schnittstellen zum Übertragen von Diagnostikdaten an Schaltkreisblocks, um spezifische Diagnostiktests durchzuführen, und Testvektordaten an einen geeigneten Speicher, um eine lokale Ausführung eines Auf-Geschwindigkeit-Belastungstests zu aktivieren.
  • 9A ist ein Diagramm einer bevorzugten Implementierung eines Foldback-Schemas, wie beispielsweise das in 7 allgemein angegebene, wobei das Foldback-Schema gänzlich auf dem zu testenden Chip angeordnet ist.
  • 9B ist ein Diagramm einer alternativen Ausführungsform eines Foldback-Schemas, wie beispielsweise das in 7 angegebene, wobei Testdaten aus einer PCI-Schnittstelle und dann aus einem I/O-Pin ausgelesen werden.
  • 10 ist ein Diagramm eines physikalischen Layouts für eine Testkarte und von Schnittstellen zu einem DUT und einem Tester.
  • 11 ist ein Diagramm eines Prozessablaufs für eine bevorzugte Reihenfolge von Tests in einem Chipfertigungs-Testprozess.
  • Ausführliche Beschreibung von bevorzugten Ausführungsbeispielen
  • Bevorzugte Ausführungsbeispiele werden nun beschrieben unter Bezugnahme, wenn notwendig, auf die beigefügten Zeichnungen. Zunächst jedoch wird zusätzliche allgemeine Hintergrundinformation bezüglich Automatisierungs (EDA)-Softwaretools zur Verfügung gestellt.
  • Wie hierin in dem Hintergrund-Abschnitt ausführlich erklärt wurde, verwenden Chipdesigner im Allgemeinen eine von-oben-nach-unten-Methodik, mit Hardwarebeschreibungssprachen (HDLs) startend, wie beispielsweise Verilog® oder VHDL, um einen integrierten Schaltkreis durch hierarchisches Definieren von funktionalen Komponenten des Schaltkreises und dann Zerlegen jeder Komponente in immer kleinere und kleinere Komponenten zu schaffen. Die in den integrierten Schaltkreisen verwendeten Komponenten können entweder als Funktions- oder als Kommunikations-Blocks oder -Komponenten charakterisiert sein.
  • Aus der HDL- oder anderer Hochniveau-Beschreibung wird die aktuelle Logikzellenimplementierung typischerweise durch logische Synthese bestimmt, welche die Funktionsbeschreibung des Blocks in eine spezifische Schaltkreisimplementierung des Blocks umwandelt. Die Schaltkreisimplementierung existiert typischerweise als eine Netzliste, die Logikzellen oder Komponenten-Blocks aufweist und eine oder mehrere Kommunikationsblocks enthält. Die Komponenten-Blocks werden dann platziert und geroutet, eine Datei des physikalischen Layouts zur Folge habend. Die Datei des physikalischen Layouts wird allgemein als ein Design-"Blaudruck" zum Fertigen des integrierten Schaltkreises bezeichnet. Auf jeder Stufe des Designprozesses sowie auf der Herstellungs-Stufe können verschiedene Tests ausgeführt werden, um die korrekte Arbeitsweise des Schaltkreisdesigns sicherzustellen.
  • 1 ist ein Diagramm eines nicht beanspruchten Computersystems 100, das in Verbindung mit verschiedenen Ausführungsbeispielen der hierin beschriebenen Erfindung verwendet werden kann. Wie in 1 gezeigt ist, enthält das Computersystem 100 einen Computer 110, der mit einer Anzeigevorrichtung 191 und verschiedenen I/O-Vorrichtungen 192 gekoppelt ist. Der Computer 110 kann einen oder mehrere Prozessoren (nicht gezeigt) aufweisen, sowie Arbeitsspeicher (beispielsweise RAM) in einer Menge, die ausreicht, den Geschwindigkeits- und Verarbeitungserfordernisse des Systems 100 zu genügen. Der Computer 110 kann beispielsweise eine SPARCTM Arbeitsstation, die kommerziell verfügbar ist von Sun Microsystems, Inc., Santa Clara, Kalifornien, oder einen anderen geeigneten Computer aufweisen.
  • Wie oben verwendet ist der Ausdruck "Prozessor" vorzugsweise ein Mehrzweck-Prozessor zum Ausführen von Software (im Vergleich zu einem komplett festverdrahteten Prozessor), aufgrund der Brauchbarkeit und Flexibilität beim Programmieren des Prozessors und eventuellen Modifizieren oder Ersetzen der Software. Im Allgemeinen jedoch, in seiner durchgängigen Verwendung, bezeichnet der Ausdruck "Prozessor" eine beliebige Form eines Prozessors oder Prozessoren, die die hierin beschriebenen verschiedenen elektronischen Funktionen ausführen können. Daher bezeichnet der Ausdruck "Prozessor" eine große Vielfalt von Berechnungs-Vorrichtungen oder -Mitteln, einschließlich von, beispielsweise, der Verwendung von vielen Prozessoren, die unterschiedliche Verarbeitungsaufgaben durchführen oder dieselbe Aufgabe zwischen verschiedene Prozessoren aufteilen. Der Prozessor (bzw. die Prozessoren) können Mehrzweck-CPUs oder Sonderzweck-Prozessoren sein, wie sie herkömmlicherweise beispielsweise oft in Signalverarbeitungssystemen verwendet werden. Ferner können viele Prozessoren in eine Server-Client- oder Netzwerk-Konfiguration implementiert sein, als ein Pipeline-Array oder eine Reihe von Prozessoren, usw. Ferner ist ein Teil der Verarbeitung oder die gesamte Verarbeitung alternativ implementiert mit individuell angepassten und/oder festverdrahteten Schaltkreisen, wie beispielsweise einem anwendungsspezifischen integrierten Schaltkreis (ASIC), einem feldprogrammierbaren Gatearray (FDGA) oder einer anderen logischen Vorrichtung.
  • In Verbindung mit dem Ausdruck "Prozessor" bezeichnet der Ausdruck "Speicher", wie er verwendet wird, durchgängig ein Speichermedium, das für einen Prozessor zugreifbar ist, der den Speichererfordernissen des Speichers für ein System oder eine Systemkomponente zum Ermöglichen der verschiedenen hierin beschriebenen durchgeführten elektronischen Funktionen genügt. Vorzugsweise enthält der Speicher einen wahlfreien Zugriffsspeicher (RAM), auf den durch den Prozessor direkt zugegriffen wird. Optional kann der Speicher in Form einer Festplatte oder einer anderen nichtflüchtigen Speichervorrichtung oder Komponente zum Speichern von Daten, Software, und/oder anderen Formen von elektronisch vorliegenden Informationen vorliegen.
  • Wieder bezugnehmend auf 1 enthält der Computer 110 gespeicherten Programmcode, einschließlich einem Block-Grundrissplaner 120, einem Blockplatzierer 130, einem Logiksynthetisierer 135 und einem Routing-Raum-Schätzer 140. Der Block-Grundrissplaner 120 sorgt für die Definition von Blockfunktionen, Blockregionen, und beschränkt auf diese für den Zweck von interaktiven Grundrissplanungsoperationen durch den Schalkreisdesigner, und die Steuerung von Platzierungsoperationen des Blockplatzierers 130. Der Blockplatzierer 130 bestimmt die Platzierung von Zellen innerhalb von Blocks gemäß den durch den Schaltkreisdesigner definierten Randbedingungen (Beschränkungen). Der Routing-Raum-Schätzer 140 schätzt den zum Routen der Blocks benötigten Routing-Raum, gegeben durch die Platzierung solcher Blocks durch den Blockplatzierer 130.
  • Zur Stützung der oben erwähnten Systemkomponenten können ein Chip-Grundrissplaner 150, ein globaler/ausführlicher Router 160, ein Standardzellenplatzierer 170, ein Logiksynthetisierer 180, und ein HDL-Editor 190 nutzbringend angewendet werden. Der Betrieb dieses Chip-Grundrissplaners 150, globalen/ausführlichen Routers 160, Standardzellenplatzierer 170, Logiksynthetisierers 180, und HDL-Editors 190 ist von herkömmlicher Art und Weise, da das Design dieser Komponenten wohlbekannt ist in dem Bereich von elektronischer Design-Automatisierung. Kommerziell erhältliche Beispiele dieser Systemkomponenten sind PreviewTM, Cell3TM, QplaceTM, SynergyTM, und Verilog®.
  • Der Computer 110 ist vorzugsweise mit einer Massenspeichervorrichtung (z.B. ein magnetische Scheibe oder ein magnetische Bandspeichervorrichtung) gekoppelt, die eine Layout-Datenbank 195 bereitstellt, mit der die vorangehenden Systemkomponenten koppeln. Die Layout-Datenbank 195 kann implementiert werden unter Verwendung irgendeines Datenbankstandards, wie beispielsweise EDIF, LEF oder DEF. Der Computer 110 kann auch aufweisen oder verbunden sein mit einem Massenspeicher, der eine oder mehrere Komponenten-Bibliotheken (nicht gezeigt) enthält, die Merkmale von elektrischen Komponenten spezifizieren, die zur Verwendung in Schaltkreisdesigns erhältlich sind.
  • Nun bezugnehmend auf 2 wird eine Blockdarstellung eines Beispiels eines nicht-beanspruchten, vereinfachten ICs 200 gezeigt, wobei einen Fundierungsblock 202 und eine Anzahl von peripheren Komponenten-Blocks B1, ..., B12 spezifiziert wurden und deren Position auf dem integrierten Schaltkreis 200 und die Verbindungen zwischen diesen bestimmt wurden. In tatsächlichen, realistischeren integrierten Schaltkreisdesigns würde der integrierte Schaltkreis 200 wahrscheinlich viel komplizierter sein. Jedoch ist 2 nützlich zum Zwecke der Veranschaulichung. Der Fundierungsblock 202 enthält vorzugsweise einen Prozessor 204, einen Speicher 206, verschiedene andere Komponenten-Blockes, A1, ..., A5, und einen Kommunikationsblock, der einen Bus 208 und zwölf Ports 210 aufweist. Die Ports 210 darin sind vorzugsweise zwitterartig, so dass jeder als Ziel oder als Initiator in der Kommunikations-Schnittstelle konfiguriert werden kann, nachdem das Layout des integrierten Schaltkreises 200 abgeschlossen ist. Der Fundierungsblock 202, einschließlich dessen Komponenten (der Prozessor 204, der Speicher 206, und die Komponenten A1 bis A5), und die anderen peripheren Komponenten-Blocks sind vorzugsweise voll in der Layoutdatenbank 195 charakterisiert. Vorzugsweise erfolgt die Platzierung der Blocks auf eine Art und Weise, mit Hinsicht auf die Positionen und Längen der Kopplungen zu den Ports auf dem Fundierungsblock 202 die optimal ist.
  • 3 ist ein Diagramm eines nicht-beanspruchten allgemeinen Prozessablaufs 300 für ein Block-basiertes Schaltkreisdesign, einige der verschiedenen Niveaus der integrierten Schaltkreisdesign-Abstraktion veranschaulichend. Wie in 3 gezeigt ist, erfährt eine Registerübertragungslogik (register tranfer logic) (RTL)-Datei 301 in der Form einer HDL-Datei oder einer anderer Hochniveau-Funktionsbeschreibungen einen Spezifizierungs (Grundrissplanungs- und Bereichs-Zuweisungs)-Prozess 302. In diesem Prozess 302 werden Komponenten-Blocks aus einer Komponentenbibliothek identifiziert 306, um spezifische Funktionen auszuführen, die in der RTL-Datei 301 enthalten sind. Die Komponenten-Blocks sind vorzugsweise vordefiniert, und obwohl einer oder mehrere auf einem individuell angepassten Design basieren können, nicht gespeichert oder erst kürzlich in der Bibliothek 306 gespeichert.
  • In dem nächsten Schritt 303 wird eine Art einer logischen Synthese ausgeführt, wobei in einem bevorzugten Ausführungsbeispiel die funktionale Beschreibung der Kopplungen zwischen den Komponenten in eine spezifische Kopplungs-Implementierung umgewandelt wird, die in Form einer Netzlisten-Datei 304 gespeichert sein kann. Als Teil dieses Kompilierungsprozesses 303 wird die Komponentenbibliothek 306, welche Informationen betreffend den Kommunikationsschnittstellen speichert, allgemein referenziert, und die Eigenschaften der Komponenten, welche benötigt werden, um deren funktionelle Konnektivität zu bestimmen. Die Netzlistendatei 304 identifiziert, wie vorher bemerkt, allgemeinen die Komponenten-Blocks aus der Bibliothek 306 und beschreibt die spezifische Komponenten-zu-Komponenten-Konnektivität.
  • Durch Anwendung eines physikalischen Designprozesses 309, der in 3 gezeigt ist, werden die Komponenten-Blocks der Netzlistendatei 304 dann platziert und geroutet, eine Layoutdatei zur Folge habend. In dieser Prozessstufe wird die Komponentenbibliothek 306 verwendet, um Informationen betreffend der Größen der Komponenten zu erhalten, die in der Netzliste 304 vorhanden sein können. Vorher beziehen diese Information Schnittstellen-Spezifizierungen ein, wie beispielsweise die Anzahlen und Positionen der Schnittstellen, ob jede Schnittstelle ein Ziel oder ein Initiator ist, und die Anzahl der Pins und deren Signalzuweisungen. Wie oben in dem Hintergrundabschnitt beschrieben ist, wird dann die Platzierungs- und Routing-Operation durchgeführt und kann in einer Weise automatisiert werden, bei der die ultimative Leistungsfähigkeit des integrierten Schaltkreises durch Minimieren der Verbindungslängen und der gesamten Grundfläche (Fußabdruck) des integrierten Schaltkreises optimiert wird. Dieser Platzierungs- und Routing-Prozess hängt jedoch mit den aus der Komponentenbibliothek 306 erhaltenen Schnittstellen-Spezifizierungen zusammen.
  • Von der Layout-Datei 310 ausgehend kann, wie ferner in 3 gezeigt ist, ein Verifizierungsprozess 312 ausgeführt werden, eine Maskendatei in, beispielsweise, einem GDSII- oder CIF-Format zur Folge habend. Die Maskendatei 315 kann an eine Halbleiter-Gießerei geliefert werden und enthält genügend Informationen, um der Halbleiter-Gießerei zu erlauben, daraus einen tatsächlichen integrierten Schaltkreis herzustellen.
  • Gemäß einem Aspekt werden Systeme bereitgestellt in Verbindung mit bestimmten, hierin offenbarten Ausführungsbeispielen zum Testen von Schaltkreisdesigns, insbesondere diesen Schaltkreisdesigns, die virtuelle Komponenten-Blocks enthalten und die auf Silizium als Bestandteil eines Halbleiterfabrikationsprozesses reduziert wurden.
  • Es ist eine nicht-beanspruchte Datenbank virtueller Komponenten-Blocks zusammen mit vor-entwickelten Diagnostiken vorgesehen, die speziell auf die Architektur der virtuellen Komponenten-Blocks zugeschnitten ist, so dass die virtuellen Komponenten-Blocks und die assoziierten Diagnostiken leicht wiederverwendet und in eine Vielfalt von unterschiedlichen Schaltkreisdesigns recycelt werden können.
  • 4 ist ein Diagramm eines nicht-beanspruchten Design- und Verifikations-Managementsystems 400, das eine Anwendung von virtueller Komponenten-Block-Information (einschließlich von Test- und Diagnostikinformation) auf verschiedenen Stufen eines Elektronikdesign-Automatisierungsprozesses zeigt. In einem Aspekt zeigt 4 einen Elektronikdesign-Automatisierungsprozessablauf ähnlich zu dem aus 3. Daher zeigt 4 beispielsweise eine Funktionsdesign- und/oder Registertransferlogik (RTL)-Datei 401, welche in Form einer Hardwarebeschreibungssprachen (HDL)-Datei oder einer anderen Hochniveau-Funktionsbeschreibung vorliegen kann. Ähnlich dem in 3 gezeigten Prozess durchläuft die Funktionsdesigndatei 401 einen Kompilierungsprozess 403, welcher die Funktionsbeschreibung des Schaltkreises in eine spezielle Schaltkreisimplementierung umwandelt, welche in Form einer Netzlistendatei 404 gespeichert werden kann. Ein physikalischer Designprozess 409 bewirkt, dass die Logikzellen der Netzlistendatei 404 platziert und geroutet werden, eine Layoutdatei zur Folge habend. Von der Layoutdatei 410 ausgehend kann ein Verifikationsprozess 412 gestartet werden, eine Maskendatei 415 zur Folge habend, welche beispielsweise in einem GDSII- oder CIF-Format dargestellt werden kann. Die Maskendatei 415 kann an eine Halbleiter-Gießerei geliefert werden, die Erzeugung eines Halbleiterwafers 460 zur Folge habend.
  • Um das Schaltkreisdesign während der unterschiedlichen Designstufen zu testen, können Testvektoren 420 gemäß irgendwelchen herkömmlichen Verfahren erzeugt werden. Die Testvektoren 420 können angewendet werden, um die Funktionalität der Funktionsdesigndatei 401 zu testen. Dieselben Testvektoren 420 können, falls geeignet, übersetzt, auch verwendet werden, um die Netzlistendatei 404 und/oder die Layoutdatei 410 zu testen.
  • Eine nicht-beanspruchte Datenbank 430 wird bereitgestellt zum Speichern von virtuellen Komponenten-Block-Daten 431 in Form einer Vielzahl von virtuellen Komponenten-Blocks 440 und zum Speichern von Diagnostikdaten 432 in Form von Diagnostiktest-Eingabesätzen 441. Jeder Diagnostiktestsatz 441 ist auf die besondere Architektur eines spezifischen virtuellen Komponenten-Blocks 440 zugeschnitten. Ein Diagnostiktestsatz 441 wird daher mit einem spezifischen virtuellen Komponenten-Block 440 assoziiert. Dieser Aspekt wird in 4 dargestellt durch virtuelle Komponenten-Blocks 1 ... N in der Datenbank 430, entlang der Diagnostiktestsätze 1 ... N in der Datenbank 430. Jedes mal, wenn ein bestimmter virtueller Komponenten-Block in einem Design verwendet wird, kann derselbe Diagnostiktestsatz 441, der mit dem vorzugsweise verwendeten virtuellen Komponenten-Block assoziiert wird, verwendet werden, weil er vorzugsweise speziell für die Architektur des virtuellen Komponenten-Blocks 440 vorbereitet wurde. Optional können für einen gegebenen virtuellen Komponenten-Block mehrere Diagnostiktestsätze 441 vorgesehen sein.
  • Virtuelle Komponenten-Blocks 440 sind eine Ressource für das Design großangelegter Schaltungen. Virtuelle Komponenten-Blocks 440 können teilweise vor-gehärtet und (von einem logischen und funktionellen Standpunkt aus) vor-getestet und vor-definiert sein. Im Allgemeinen werden so viele interne Schaltkreise des virtuellen Komponenten-Blocks 440 wie möglich vorgehärtet, während die äußeren Kopplungen (beispielsweise PIN-Orte) "weich" oder konfigurierbar sein können nach der Erzeugung des virtuellen Komponenten-Blocks 440. Virtuelle Komponenten-Blocks 440 können aus der Datenbank 430 herausgezogen und in eine Funktionsdesigndatei 401 (oder sogar in eine Datei niedrigeren Niveaus) aufgenommen werden. Weil virtuelle Komponenten-Blocks 440 weitgehend vor-gehärtet sind, müssen deren internen Schaltkreise nicht synthetisiert oder validiert noch platziert oder geroutet werden. Stattdessen wird der virtuelle Komponenten-Block 440 vorzugsweise als Ganzes in das gesamte Schaltkreisdesign platziert und mit anderen Komponenten des Designs gekoppelt.
  • Als ein Teil des Designprozess sind Einrichtungen vorzugsweise zum Testen des Designs während der Verifizierungs-Stufe und, später, nach der Herstellung des Halbleiterwafers 460 und/oder dem Verkapseln des integrierten Schaltkreises vorgesehen. Speziell wird für das Leistungsvermögen der Abtast-basierten Tests eine Abtastlogik in das Design aufgenommen, vorzugsweise während der Netzlisten-Stufe. Daher werden auf dieser Ebene der Gestaltung Abtastmuster, die mit der reduzierten Masken-Datei 415 korrespondieren, zur Verwendung während der Herstellungs-Stufe erzeugt. Gleichermaßen wird eine Logik in das Design des integrierten Schaltkreises (IC) aufgenommen, um die Ausführung des eingebauten Selbsttests (BIST) zu ermöglichen. Diese Tests werden durch den hergestellten IC selbst ausgeführt, wenn der Vorrichtung eine bestimmte Testsignatur bereitgestellt wird.
  • Daher sind die Maskendatei für den IC und Testeingaben aus der Gestaltungs- und Verifizierungsphase als Packet (beispielsweise als eine elektronische Datei zur Speicherung und/oder Übertragung) für die Gießerei bereitgestellt, um den Herstellungsprozess zu initiieren. In einem Ausführungsbeispiel enthalten die Testeingaben Sätze von Diagnostiktesteingaben und Testvektoren, die an die Herstellungsprozessumgebung angepasst wurden, und vorzugsweise Sätze von Abtastmustern und Eingabesignaturen zum Initiieren der BISTs. Beispielsweise können die Testeingaben (d.h. Diagnostiktests, Belastungstests, Abtast-basierte Tests und BIST-Eingaben) an eine Testbank 450 angepasst sein, die für die Fertigungs- und Testvorgänge der Gießerei spezifisch sind. Solche Testeingaben sind vorzugsweise als ein Teil eines computerlesbaren Pakets geistigen Eigentums enthalten, das die Maskendatei für den der Gießerei gelieferten IC enthält.
  • Die Diagnostiktesteingaben und Testvektoren werden direkt in die Herstellungs-Testbank 450 eingegeben und werden durch die Testbank 450 zur Anwendung auf das Messobjekt (DUT) übersetzt. Beispielsweise kann ein Testübersetzter in der Testbank 450 (d.h. eine Testübersetzungsfunktion) eine Prozessor (beispielsweise ein Mehrzweck-Prozessor)-Ausführungssoftware enthalten, wobei die Software vorzugsweise auch in dem Paket geistigen Eigentums vorgesehen ist, das die Testvektoren übersetzt, bevor sie in das Messobjekt (DUT) eingegeben werden. Alternativ sind die übersetzten Diagnostiktests und Testvektoren in dem der Gießerei gelieferten Paket geistigen Eigentums vorgesehen, so dass der äquivalente Testübersetzer in der Testbank 450 nicht erforderlich ist.
  • 5 stellt ein bevorzugtes Ausführungsbeispiel einer Testbank 500 zum Robustheits-Testen von komplexen integrierten Schaltkreisen dar, die, ob auf Wafer konfiguriert oder verkapselt, in Hinblick auf die Testzeit und Testkosten pro Wafer (oder Paket) praktikabel sind. Die Testbank 500 enthält vorzugsweise einen Tester 502 und eine Testkarte 504, auf welcher individuelle IC-Wafer zum Testen angeordnet sind. Die Testkarte 504 ist vorzugsweise an das Design des IC angepasst und enthält mehrere Komponenten zum Aktivieren eines Auf-Geschwindigkeit-Testens des Messobjekts ohne das Erfordern einer Kommunikation mit hoher Bandbreite mit dem Tester 502.
  • Die Testbank 500 ist vorzugsweise im Allgemeinen dazu designed, eine Anzahl von Zielen über die herkömmliche Herstellungstestfunktion hinaus zu erreichen. Erstens verwendet die Testbank 500 die Testeingaben, die vorher erzeugt wurden, um die Verifizierungsphase für den IC zu vervollständigen. Zweitens ist die Testbank 500 dazu konfiguriert, verarbeitungsintensive Testoperationen zu haben, die vorzugsweise auf dem Messobjekt selbst ausgeführt werden, untergeordnet auf der Testkarte 504, und zuletzt auf dem Tester 502, in einer solchen Art und Weise, dass die I/O zwischen dem Tester 502 und der Testkarte 504 minimiert ist. Drittens konfiguriert die Testbank 500 das Ordnen von Tests, um die minimale Testzeit pro DUT zu minimieren. Vorzugsweise ist das Ordnen der Tests für jedes IC-Design angepasst.
  • In einem Ausführungsbeispiel enthält der Tester 502 vorzugsweise eine Teststeuereinheit (Test-Kontroller) 510, einen Testeingabenübersetzer, und einen Testsequenzer 508. Die Teststeuereinheit 510 steuert vorzugsweise übergreifende Testoperationen und enthält vorzugsweise allgemeine Testinstruktionen für die Testkarte 504. Der Testeingabenübersetzer 506 kann die Testvektoren und Diagnostiktests aus der Verifizierungsphase der IC-Entwicklung zur Anwendung in der Herstellungstestumgebung übersetzen. Optional wird die Übersetzung auf der Testkarte 504 (siehe den Datenübersetzer 1004 aus 10 und hierin später diskutiert) oder anderswo auf der Testbank 500 durchgeführt. Wie oben diskutiert wurde, werden in der Verifizierungsphase eines ausführlichen Designs für einen integrierten Schaltkreis Diagnostiktests vorzugsweise erzeugt, um das Leistungsvermögen jeder der virtuellen Komponenten-Blocks zu verifizieren. Ferner werden die Testvektoren, variierende Feinheits-Niveaus habend, vorzugsweise erzeugt, um das Leistungsvermögen des virtuellen IC als Ganzes zu testen.
  • Der Testsequenzer 508 steuert vorzugsweise die Anordnung der Tests, die für ein spezielles IC-Design durchgeführt werden. Vorzugsweise ordnet der Testsequenzer 508 Tests, um die insgesamte Testzeit pro DUT zu minimieren. Der Testsequenzer 508 kann in Software oder auf einem speziellen Mehrzweck-Prozessor implementiert sein oder voll in Hardware oder als eine Kombination von Hardware und Software implementiert sein. Optional ist die Funktionalität des Testsequenzers 508 in dem der Gießerei gelieferten, vorzugsweise computerlesbaren Paket geistigen Eigentums (d.h. der Maskendatei, Testkarte 504, und den Testeingaben) enthalten.
  • 6A stellt ein nicht beanspruchtes Verfahren 600 zum Übersetzen der Testvektoren und Diagnostiktests dar, die für eine Verifizierungsphase eines IC-Designs auf eine Herstellungsphase abgeleitet wurden, in welcher hergestellte ICs individuell getestet werden. Optional führt ein Testeingabevektor, wie beispielsweise der oben beschriebene und in 5 gezeigte, den Übersetzungsvorgang durch und enthält Software, Hardware, oder eine herkömmliche Kombination dieser beiden, um das Testeingabenübersetzungsverfahren 600 zu implementieren. Beim Übersetzen der Verifizierungstests sind hinsichtlich der Diagnostiktests zum Testen individueller Komponenten-Blocks die Diagnostiktests zum Testen eines Satzes von virtuellen Komponenten vorgesehen. Vorzugsweise kann eine Gruppe von Diagnostiktests in Sätze von Tests herunter gebrochen werden, von denen jeder mit einem speziellen virtuellen Komponenten-Block korrespondiert, der physikalisch auf dem IC vertreten ist. Jeder Satz von Diagnostiktest testet vorzugsweise nur einen Komponentenblock und testet im Allgemeinen keine Teile von anderen Komponenten-Blocks. Ferner erfordert jeder Satz von Diagnostiktests vorzugsweise ein wenig oder keine Verwendung anderer Komponenten-Blocks, um den Test seines korrespondierenden Komponenten-Blocks zu vervollständigen.
  • Sobald die Diagnostiktests mit Komponenten-Unabhängigkeit zum Testen bereitgestellt sind, ist ein nächster Schritt 604 vorzugsweise zum Erhalten der Diagnostiktests, die Test einer bezüglich einer Datentransaktion spezifischen Architektur aktivieren. Insbesondere können die Diagnostiktests aus Schritt 602 spezifisch für eine spezielle Funktion aber nicht eine spezielle Architektur für die Funktion sein. In einem Ausführungsbeispiel können Diagnostiktests für die Architektur, die gewählt wurde, um die gegebene Funktion durchzuführen, verfügbar sein, in welchem Fall die Diagnostiktests für diese Komponente zurückerlangt werden können. Alternativ werden die Diagnostiktests auf der funktionellen Ebene für die neue Architektur verfeinert. Beispielsweise kann ein Funktionsniveau-Diagnostiktest in der Form einer C-Kode-Routine sein, welche durch die Funktion iteriert. Um den Diagnostiktest auf das Architektur-spezifische Niveau zu verfeinern, kann die C-Kode-Routine in eine Assemblerkode-Beschreibung (d.h. aus Mnemoniks in binäre Instruktionen) umgewandelt werden. Auf diesem Niveau können die Diagnostiktests verwendet werden, um die Funktion des Komponenten-Blocks und die Bitfehler in den physikalischen Blocks zu verifizieren, wie es für Herstellungstest erforderlich ist.
  • In einem nächsten Schritt 606 werden die Diagnostiktests vorzugsweise in Speicherladeinstruktionen für die Fertigungs-Testbank umgewandelt. Die spezielle Form der Speicherladeinstruktionen hängt erstens davon ab, ob es gewünscht wird, die Tests aus dem Tester, die Testkarte, oder dem Messobjekt (DUT) auf der Testbank auszuführen. Vorzugsweise werden die Tests aus dem DUT ausgeführt, oder, falls dies nicht machbar oder nicht vorteilhaft ist, aus der Testkarte. Sobald bestimmt, werden die Diagnostiktests auf einen bestimmten Satz von Adressen in einem Cache- oder Notizblock-Speicher festgemacht, basierend auf die Größe und den Typs des Cache oder Notizblock-Speichers. Jeder Diagnostiktest ist dadurch einer bestimmten Adresse in dem Speicher zugeordnet, die vollständige Liste von Zuordnungen ist dann einem Diagnostiktestplaner zugeführt.
  • In einem nächsten Schritt 614 werden die Diagnosetests vorzugsweise in dem Schnittstellen-Protokoll formatiert, welches für die physikalisch offenbarten Gruppen des System-Busses auf dem DUT spezifiziert ist. Vorzugsweise involviert dieses Formatieren das Verpacken der Diagnosetests mit den Protokollen des System-Busses und der virtuellen Bauelemente-Schnittstelle (VCI) des IC (siehe die ebenfalls anhängige Anmeldung mit dem Titel "Circuit Component Interface" mit der Lyon & Lyon LLP Docket-Nummer 260/086, welche am 18.01.2001 eingereicht wurde und hierin unter Bezugnahme vollständig aufgenommen ist und den VSIA Virtual Component Interface Standard (OCB 2 1.0) diskutiert). Formatieren für das VCI-Protokoll vereinfacht die Probleme mit Bezug auf Design-Schnittstellen für Bauelemente. Mittels Einbringens des VCI-Protokolls in das Bauelemente-Design, können Diagnosetests in den Cache oder in andere Speicher mit geringen Bedenken bezüglich der speziellen Bus-Architektur, welche für den System-Bus verwendet wird, geladen werden. Außerdem erlaubt das Protokoll den Bauelementen vorzugsweise, dass sie programmatisch in Zustände als Initiatoren oder Ziele für Kommunikation von Daten gesetzt werden.
  • Mit Bezug auf die Testvektoren gibt es einen ersten Schritt 608, um vorzugsweise die während der Verifikationsphase festgelegten Testvektoren zu erlangen, welche Verifikationsphase verwendet wird, um das Design des virtuellen IC zu testen. Die vorzugsweise erlangten Testvektoren können verwendet werden, um Belastungstests an dem IC in einer hohen Spezifikationsebene (typischerweise in einer funktionellen Ebene) durchzuführen, und können eine Datei auf einem Computer-lesbaren Medium aufweisen. Um die Testvektoren zum Gebrauch in der Herstellungsumgebung zu übersetzen, wird die Testvektor-Datei in einem nächsten Schritt 610 vorzugsweise in eine oder mehrere Nachrichten-Gruppen oder -Pakete umgewandelt oder aufgeteilt, um die Übertragung der Testdaten in einen Speicher in einem Herstellungsprüfstand zu ermöglichen. Jede Nachrichten-Gruppe kann zum Beispiel ein umfassendes Datenstück sein, welches auf einem Bus übertragen werden kann. Die Nachrichten-Gruppen werden dann in einem nächsten Schritt 612 vorzugsweise mit einem Punkt-zu-Punkt-Schnittstellen-Protokoll formatiert, wie beispielsweise das oben diskutierte VCI-Protokoll, basierend auf den Typen der in dem Design des IC verwendeten Schnittstellen. Als ein letzter Schritt 616 werden die geeignet formatierten Diagnosetests und Testvektoren als separate Gruppen in den DUT geladen und als Teil einer optimierten Sequenz von Tests in einem Herstellungsprüfstand-Prozess (siehe 11) ausgeführt.
  • 6B zeigt eine Darstellung der Migration von Tests von der Verifikationsphase für das virtuelle IC-Design in die Herstellungsphase zum Testen tatsächlicher ICs, welche das Design offenbaren. Testvektoren in einer Design-Verifikations-Stufe können mittels variierender Verfeinerungs-Ebenen gekennzeichnet werden. Das heißt, eine Reihe von Testvektoren kann auf eine hohe oder funktionelle Design-Ebene angewendet werden, während andere Vektoren auf detailliertere oder architektonisch spezifiziertere Ebenen des Hardware-Designs angewendet werden. Das Konzept der variierenden Verfeinerungs-Ebenen in der Testeingabe für einen Design-Verifikations-Prozess wird bevorzugt dann angewendet, um funktionelle Testvektoren in einer Verifikationsumgebung in hilfreiche Testvektoren in einer Herstellungs-Test-Umgebung zu migrieren. Wie in 6B gezeigt, werden funktionelle Testvektoren unter Verwendung von Softwaremodulen zunehmend verfeinert, welche Softwaremodule entwickelt wurden, um die funktionellen Testvektoren in Testeingaben in die zeitpräzise Ebene, welche notwendig ist, um einen Chip zu testen, zu verfeinern. Wie in 6B gezeigt, kann eine ähnliche Migration von Testdaten mit Bezug auf Fehlerdiagnosedaten-Design durchgeführt werden, um virtuelle Bauelement-Gruppen im Gruppen-basierten Design-Prozess zu testen. Diese Diagnosetests werden vorzugsweise gesteigert, um die physikalischen Ergänzungen für die virtuellen Bauelement-Gruppen in den Chips innerhalb der Herstellungsumgebung zu testen.
  • 10 zeigt ein physikalisches Layout für ein bevorzugtes Ausführungsbeispiel einer Testkarte 1000 und Schnittstellen zu einem DUT 1002 und einem Tester 1001. Vorzugsweise ist die spezielle Implementierung der Testkarte 1000 so, dass sie angepasst ist für das spezifische, durch das Messobjekt repräsentierte IC-Design. Als eine angepasste Komponente kann die Testkarte 1000 parallel mit oder in jedem üblichen Zeitraum nach dem IC-Designprozess designed werden. In einem Ausführungsbeispiel enthält das Paket geistigen Eigentums, das die Maskendatei für den IC und die Testeingaben enthält, die für die Gießerei vorgesehen sind, auch die Testkarte, die speziell zum Testen der integrierten Schaltkreise designed wurde, die basierend auf das Design in der Maskendatei und zum Ausführen der spezifischen Testeingaben hergestellt wurden. Die Gießerei spezifiziert vorzugsweise den Fußabdruck für die Testkarte (d.h. die Größe und die Form der Karte, die Orte der Proben, und Schnittstellen zum DUT) und deren Schnittstelle, einschließlich dem Satz von Signalen zum Kommunizieren mit dem Tester. Basierend auf diesen beschränkten Satz von Informationen aus der Gießerei ist die Testkarte 1000 vorzugsweise Bestandteil des der Gießerei gelieferten Pakets geistigen Eigentums.
  • Die Testkarte 1000 enthält vorzugsweise irgend eines oder mehrere der folgenden, wie benötigt: einen Datenübersetzer 1004, eine Speicher- und Steuerungslogik 1006, einen Hochgeschwindigkeits-Taktgenerator 1008, einen analogen Signalgenerator 1012, eine Abtast-Tester-Schnittstelle 1010 und eine direkte Tester-Schnittstelle 1014. Die Kopplungen zwischen der Testkarte 1000 und dem Tester 1001 weisen im Allgemeinen eine Tester-Schnittstelle auf, und die Verbindungen zwischen der Testkarte 1000 und dem DUT 1002 weisen im Allgemeinen eine DUT-Schnittstelle auf. Das DUT 1002 ist vorzugsweise positioniert, um mit jeder der Komponenten auf der Testkarte 1000 zu elektrisch koppeln. Die Komponenten auf der Testkarte 1000 sind besonders positioniert, um das Leistungsvermögen von Auf-Geschwindigkeit-Diagnostiktests von Komponenten-Blocks auf dem DUT 1002, und von Auf-Gschwindigkeit-Belastungstests, unter Verwendung von Testvektoren, zu aktivieren.
  • Der Datenübersetzer 1004 kann als eine hardwaremäßig verdrahtete Komponente, ein FPGA, ein Software-ausführender Mehrzweck-Prozessor, oder eine andere Art von Prozessor implementiert sein. Der Datenübersetzer 1004 enthält vorzugsweise Verbindungen mit der Speicher- und Steuerungslogik 1006 und dem Tester 1001. Der Datenübersetzer 1004 enthält ferner eine VCI- und Chip-Schnittstelle, um vorzugsweise direkten Zugriff bereitzustellen auf den Systembus auf dem Messobjekt 1002. Der Datenübersetzer 1004 kann Testdaten aus dem Tester 1001 für das Messobjekt 1002 oder die Speicher- und Steuerungslogik 1006 mit Protokoll- und/oder Präambel-Informationen formatieren. Falls er als programmierbare Vorrichtung implementiert ist, kann der Datenübersetzer 1004 der Testkarte 1000 ermöglichen, an eine Vielfalt von unterschiedlichen Designs von integrierten Schaltkreisen, insbesondere herkömmlich abgeleitete Designs, wie zum Beispiel diese, die auf einen herkömmlichen Fundierungsblock basieren, angepasst zu sein.
  • Der Taktgenerator 1008 hat Steuerungskopplungen mit dem Tester 1001 und Kopplungen mit dem DUT 1002 und der Speicher- und Steuerungslogik 1006. Der Taktgenerator 1008 befindet sich auf der Testkarte 1000, um die Kosten und Komplikationen des Verteilens von Hochgeschwindigkeitstakten aus dem Tester 1001 zu minimieren. Zum Teil, weil das DUT 1002 im Allgemeinen keinen Kristalloszillator enthält, um einen Taktgeber anzusteuern und, möglicherweise, aufgrund von Betrachtungen über Rauschen, ist der Taktgenerator 1008 vorzugsweise auf der Testkarte 1000 lokalisiert.
  • Der analoge Signalgenerator 1012 enthält Kopplungen mit dem Tester 1001 und dem DUT 1002. Ferner stellt die Testkarte 1000 vorzugsweise die direkte Tester-Schnittstelle 1014 für direkte Tests des DUT 1002 aus dem Tester 1001 bereit. Die Testkarte 1000 stellt auch die Abtasttestschnittstelle zwischen dem Tester 1001 und dem DUT 1002 bereit, um Abtasttests zu erlauben, die der Tester 1001 direkt an unterschiedlichen logischen Punkten innerhalb des DUT 1002 durchführen kann.
  • 7 stellt einen nicht-beanspruchten Satz von Merkmalen der Testbank zum vorteilhaften Ausführen der Testvektoren und der Diagnostiktests dar, die zu der Herstellungsumgebung hinzugefügt wurden. Die Merkmale ziehen im Allgemeinen einen Vorteil aus den Verarbeitungs- und Speicherkapazitäten des DUT und, zweitens, der Testkarte, um die Tests zu vervollständigen. Für unterschiedliche IC-Designs können einige von den Merkmalen optional nicht vorhanden sind, wie einige Merkmale nur für Designs vorteilhaft sein können, die bestimmte Attribute haben.
  • Ein Merkmal ist, dass der Speicher auf dem Chip, vorzugsweise Cache, sperrbar ist, um sicherzustellen, dass die geladene Diagnostik während ihrer Operation nicht entfernt wird. Der Speicher ist vorzugsweise, aufgrund der Logik- und/oder Speicher-Elemente in dem Speicher und/oder woanders auf dem Chip, auch als ein Übertragungsziel für ein externes Laden des Tests spezifizierbar. Mit diesem Merkmal kann dann ein Speicher, der ansonsten nicht konfiguriert ist, um Daten aus einer externen Quelle zu empfangen, verwendet werden, um Tests zu speichern, und wird effektiv ein Teil des Herstellungstestprozesses. Vorzugsweise wird diese Parametrisierung des Speichers durchgeführt, indem er ein Protokoll aufweist, das dem Speicher erlaubt, als ein Ziel für externe Daten spezifiziert zu sein. Das oben diskutierte VCI-Protokoll stellt vorzugsweise diese Funktionalität bereit. Ferner können bestimmte Cache- oder andere Speicher automatisch ausgelagert werden, bis sie speziell als abgeschlossen konfiguriert sind, um den Verlust der Test- und Diagnostikdaten zu vermeiden. Durch Sperren bestimmter Speicherplätze werden die Testdaten, die ansonsten verloren wären, vorzugsweise für die Dauer des Tests gehalten. Zusätzliche Einzelheiten und Alternativen hinsichtlich der Verwendung von Speicher, einschließlich von Speichercache, zum Testen eines Schaltkreises sind in dem US-Patent Nr. 6,003,142 , erteilt an Mori, offenbart.
  • Gleichermaßen werden, als ein anderes Merkmal, andere Chipinterne Blocks vorzugsweise mit einer Schnittstelle zum Aktivieren direkten Adressierens aus einem Testport an eine externe Datenquelle konfiguriert. Vorzugsweise enthalten diese Komponenten auch eine virtuelle Komponenten (VC)-Schnittstelle, um die als Ziele für Diagnostiktests zu spezifizierenden Komponenten zu aktivieren. Der Testport enthält vorzugsweise eine VC-Schnittstelle direkt zu dem Systembus auf dem Chip und spezifiziert vorzugsweise sich selbst als ein Nachrichteninitiator für Kommunikationstestdaten. Aus diesem Testport auf dem Messobjekt (DUT), werden die Testvektoren (welche vorzugsweise schon in zeitakkurate Vektoren übersetzt wurden) in die spezifischen Komponenten auf dem Chip geschrieben, wobei jede Komponente ihre eigene VC-Schnittstelle (oder eine andere Punkt-zu-Punkt-Schnittstelle) hat, um Testdaten anzunehmen.
  • 8 stellt ein physikalisches Layout eines nicht-beanspruchten Chips 800 mit Schnittstellen zum Senden von Diagnostikdaten an geeignete Blocks für bestimmte Diagnostiktests, und Testvektordaten an geeignete Speicher, um eine lokale Ausführung der Auf-Geschwindigkeit-Belastungstests zu ermöglichen. Mit der VC-Schnittstelle kann jede Komponente (einschließlich eines Prozessors 802, eines Speichers 804, und Schaltkreisblocks A ... N 806), die nicht Teil des Systembusses 808 ist, konfiguriert sein, Testdaten zu empfangen und auszuführen. Falls ein direkter Zugriff auf eine Komponente erforderlich ist, dann ist vorzugsweise eine VC-Schnittstelle auf der Komponente enthalten. Alternativ enthält jede Komponente eine androgyne Version der Standard-VC-Schnittstelle, die jeder Komponente ermöglicht, dynamisch umzuschalten zwischen der Ziel-Seite der Schnittstelle zu der Initiator-Seite der Schnittstelle, und umgekehrt. Einzelheiten der Implementierung der androgynen Schnittstelle sind in der mitanhängigen Anmeldung mit dem Titel "Circuit Component Interface" (= Schaltkreis-Komponenten-Schnittstelle) offenbart, auf die oben Bezug genommen wurde. Vorzugsweise enthält der Chip 800 eine periphere Komponenten-Kopplungs (Peripheral Component Interconnect) (PCI)- und/oder serielle Eingaben/Ausgaben (Seriell Input Output) (SIO)-Schnittstelle 810, um die Kommunikation zwischen den Chip-Komponenten und peripheren Komponenten des Chips, die nicht Teil des Chips 800 sind, zu ermöglichen. Die Implementierung einer Standardschnittstelle für jede Komponente auf dem Chip 800 und bei einem Testport 812 ermöglicht den Testvektoren und den Diagnostiken, von dem verwendeten Systembus 808 unabhängig zu sein.
  • Wieder bezugnehmend auf 7 ist ein anderes Merkmal der Auf-Geschwindigkeit-Testbank eine Foldback-Fähigkeit bei den I/O-Schnittstellen des Chips. Eine Foldback-Implementierung kann die Geschwindigkeit und Effizienz der Diagnostiktests und der Tests, die die Testvektoren anwenden, erhöhen. Die 9A und 9B zeigen im Detail zwei Formen des Foldback- Schemas, von denen beide zum Testen von unterschiedlichen Bereichen des ICs verwendet werden können. Typischerweise werden die Diagnostiktests und die Testvektoren nicht in dem Herstellungsprozess zum Testen des Chips auf Takt-für-Takt-Basis verwendet. Die Ergebnisse des Tests haben vorzugsweise die Form einer Prüfsumme, die Testeingabe mit Testausgabe vergleicht. Um die Effizienz solcher Tests zu erhöhen, ermöglicht eine Foldback-Fähigkeit das simultane Testen von Ausgangsleitungen aus dem Chip und Eingangsleitungen in den Chip. 9A stellt eine bevorzugte Implementierung eines Foldback 900 dar, die gänzlich auf dem Chip liegt, ohne eine Übertragung von Signalen zu gebrauchen, die nicht zu dem Chip gehören und auf der Testkarte 1000 vorhanden sind. In 9A ist ein logischer Zustand vorgesehen, um das simultane Lesen und Schreiben der Testdaten in Einem auf den I/O-Pins 902 zu aktivieren. In diesem logischen Zustand wird ein Test, der, beispielsweise, in den Speicher des DUT geladen wurde, durch die Vorrichtung ausgeführt, wobei der Prozessor auf dem DUT die I/O-Operationen handhabt. Testdaten, die ausgelesen werden, werden in den Chip zurückgefaltet, um eingelesen zu werden, wobei eine Prüfsummierung durchgeführt wird. Solch eine Foldback-Logik wird vorzugsweise in das Design das ICs integriert und wird dazu verwendet, die Effizienz des Testens des ICs während der Herstellung zu erhöhen. Foldbacks können auch in individuelle Schaltkreis-Blocks innerhalb des DUTs eingebaut sein, um die Effizienz des Testens solcher Blocks zu erhöhen. Wo das DUT oder individuelle Blocks sowohl analoge Eingänge als auch Ausgänge enthalten, können analoge Zurückfaltungen (fold-backs) in den integrierten Schaltkreis hineingestaltet sein.
  • 9B zeigt ein anderes Ausführungsbeispiel einer Zurückfaltung (fold-back) 910, wobei Testdaten herausgeschrieben werden aus einer Kommunikations-Schnittstelle 912 (beispielsweise eine PCI-Schnittstelle) auf einen Chip 920 und dann aus einem I/O-Pin 914. Eine Kommunikationsschnittstelle 916, die nicht Teil des Chips ist, (beispielsweise eine PCI-Schnittstelle) strippt die Protokollinformation heraus und sendet die Roh-Testdaten an einen Prüfsummierer 918. Die Kommunikations-Schnittstelle 916 faltet dann die Daten zurück (fold-back) in den Chip 920. Am Ende eines Tests kann eine (nicht gezeigte) Prüfsumme aus dem DUT 920 mit der Prüfsumme 918 auf der Testkarte 1000 verglichen werden, um den Ort (d.h. die Eingabe in das oder die Ausgabe aus dem DUT) irgendeines Fehlers zu isolieren. Die Prüfsumme auf der Testkarte zu haben, verhindert, die Daten an den Tester senden zu müssen. In einem Ausführungsbeispiel geschieht die Zurückfaltung (Zurückführung) 910 in den Chip 920 über einen seriellen Eingabe/Ausgabe (SIO)-Pin 922. In einem anderen Ausführungsbeispiel steuert die Zurückfaltung in den Chip, gezeigt in 9A, auch eine externe Prüfsumme auf der Testkarte 1000, um den Ort irgendeines Fehlers zu isolieren. Verzugsweise ist die Logik, die nicht Teil des Chips ist, in das Design der Testkarte 1000 eingebaut und kann, beispielsweise, in einem Datenübersetzer implementiert sein, wie er beispielsweise in 10 dargestellt ist.
  • Wieder bezugsnehmend auf 7 können zusätzliche Merkmale ein Auf-Geschwindigkeit-Testen ermöglichen ohne Beanspruchung der untragbaren Kosten von Hochgeschwindigkeitstestern. Diese zusätzlichen Merkmale minimieren die Bandbreite zwischen der Testkarte und dem Tester, ohne den Wunsch nach einem Auf-Geschwindigkeit-Testen des DUT zu gefährden. In einem Ausführungsbeispiel enthält die Testkarte vorzugsweise eine signifikante Menge an Speicher, um die Bandbreite zu dem Tester (beispielsweise 500 MBit RAM) zu reduzieren. Durch Verschieben von signifikantem Speicher nach außerhalb des Testers und auf die Testkarte können bestimmte Hochgeschwindigkeits-Transaktionen zwischen dem DUT und der Testkarte durchgeführt werden, ohne den Tester involvieren zu müssen. Zum Beispiel, obgleich zwischen der Testkarte und dem DUT Daten mit, relativ zu der Bandbreite zwischen dem Tester und der Testkarte, hoher Geschwindigkeit übertragen werden, werden die Daten in seltenen Häufungen ausgetauscht. Daher werden Daten durch Aufnehmen eines FIFO auf die Testkarte regulär aus dem Tester auf die Testkarte übertragen, um Daten in dem FIFO zu halten, während sie, in Hochgeschwindigkeits-Ausbrüchen, heraus aus dem FIFO zum DUT übertragen werden. Während eine Vergrößerung des Speichers auf der Testkarte im Allgemeinen die Kosten der Testkarte vergrößert, minimiert eine Verwendung von soviel von auf dem Chip gelegenen Speicher wie möglich vorzugsweise solche Kosten. Ferner ist ein vergrößerter Speicher auf der Testkarte ein relativ geringer Aufwand, wenn er sich über alle Chips, die getestet werden können, amortisiert hat.
  • Ein anderes bevorzugtes Merkmal der Testbank ist, dass die analogen Schnittstellen des DUT effektiv in digitale Schnittstellen umgewandelt werden. Dies Umwandlung wird vorzugsweise implementiert durch Aufnehmen eines analogen Signalgenerators auf der Testkarte. In einem bevorzugten Ausführungsbeispiel werden, anstatt dass der Tester analoge Signale an die analogen Schnittstellen des DUT sendet, digitale Kodes, die bestimmte analoge Signale darstellen, aus dem Tester an die Testkarte gesendet. Dann erzeugt die Testkarte basierend auf dem digitalen Kode aus dem Tester ein geeignetes analoges Signal und liefert das Signal als Eingabe an das DUT.
  • Ferner werden die aus der Verifizierungsphase migrierten Testvektoren und Diagnostiktests und andere Tests, die vielleicht ausgeführt werden (beispielsweise Abtasttest), vorzugsweise in einer minimalen Form aus dem Tester zu der Testkarte übertragen, um den Bandbreiten-Zuschlag zwischen den zwei Komponenten der Testbank minimieren. Beispielsweise werden die Diagnostiktests vorzugsweise als kurzer String referenziert, der an die Testkarte gesendet wird. Der String führt dann vorzugsweise einen verarbeitungsintensiven Test aus, der eine durch den Tester verursachte Bandbreitenbegrenzung entfernt. Der kurze String kann in Form eines Kodes für den Testvektor vorliegen, welcher auf der Testkarte gespeichert ist. Alternativ kann der String einen aktuellen Diagnostiktest repräsentieren, der verwendet wird, zeitaufwändige Tests durchzuführen, und wird dann optional automatisch durch die Testkarte modifiziert, um zusätzliche Diagnostiktests zu erzeugen. Bezüglich der Testvektoren kann der Tester konfiguriert sein, nur die kritische Funktionsinformation bezüglich einem Satz von Testvektoren zu übertragen und eine Logik auf der Testkarte bereitzustellen, um die geeigneten Steuersignale zu erzeugen, die auf das DUT angewendet würden, um den Test auszuführen. Optional können auch Abtast-basierte Tests auf der Testkarte erzeugt werden, basierend auf einen durch den Tester bereitgestellten Abtast-Muster-Identifikator.
  • Ein anderes bevorzugtes Merkmal ist die Verwendung von separaten Spannungsquellen für die Testkarte und das DUT, um das DUT zu schützen. Mittels separater Spannungsquellen kann ein DUT eingeschaltet werden, ohne dass das Einschalten der Testkarte für jedes DUT wiederholt werden muss. Ferner können durch Unterhalten separater Quellen Tests bezüglich der Spannungsversorgung des DUT leichter durchgeführt werden. Beispielsweise kann durch Verwendung separater Spannungsversorgungen für die Testkarte und das DUT eine Prüfung des elektrischen Stroms des DUTs durchgeführt werden, wenn Spannung aus dessen separater Spannungsversorgung angelegt ist.
  • Noch ein anderes bevorzugtes Merkmal der Testbank ist, dass direkte Schnittstellen zwischen dem Tester und den Pins des DUTs vorgesehen sind. Durch Aufnehmen dieser Schnittstellen können analoge Tests des DUTs, beispielsweise der Ansteuerungsstärke und Spannungsniveaus der Ansteuereinheiten der Pins, durchgeführt werden.
  • Bevorzugte, nicht-beanspruchte Verfahren zum IC-Testen werden bereitgestellt, welche die aus der Designverifizierungsphase zur Herstellungsphase migrierten Testvektoren und Diagnostiktests verwenden. Die bevorzugten Testverfahren erreichen die Ziele eines robusten, noch immer Kosteneffizienten Herstellungsphasen-Testens. Bei diesen Verfahren werden vorzugsweise mindestens vier Arten von Tests ausgeführt, einschließlich der Diagnostiktests und Belastungstests, eingebauten Selbsttests (BISTs) und Abtasttests zum Durchführen eines vollständigen und robusten Testens eines DUTs. Die BISTs sind im Allgemeinen effizient beim Testen von Speichern und Datenpfaden, einschließlich deren Zeitsteuerungs- und festgefahrenen Fehler, die herkömmlicherweise benötigte Fehlerprüfungs-Effizienz von ungefähr 99,9% erreichend. Jedoch sind die BISTs im Allgemeinen nicht so effizient beim Testen zufälliger Logik, einschließlich von Steuerungsfunktionen. Um diese anderen Bereiche des ICs zu Testen, können Diagnostiktests, Belastungstests und Abtast-basierte Tests angewandt werden.
  • Die Diagnostiktests werden ausgeführt, vorzugsweise Auf-Geschwindigkeit, um die individuellen Schaltkreisblocks zu Testen, für welche sie designed sind. Die Belastungstests, welche vorzugsweise die migrierten Testvektoren Auf-Geschwindigkeit ausführen, schaffen einen Test-Schnappschuss des gesamten Systems. Die Belastungstests testen typischerweise die Funktionalität der Komponenten auf einem Systemniveau bei den operativen Leistungsgrenzen des ICs. Diese zwei Tests erreichen jedoch im Allgemeinen nicht die herkömmliche Erfordernis von ungefähr 99,9% für strukturelles Fehlertesten. Um dieses Testeffizienz-Niveau zu erreichen, werden vorzugsweise Abtast-basierte Tests ausgeführt, um den Testprozess zu vervollständigen.
  • 11 stellt einen nicht-beanspruchten Prozessfluss in Form einer bevorzugten Reihenfolge der Ausführung von Tests in einem Chipfabrikations-Testprozess 1100 dar. Die Reihenfolge der Prozessschritte wird vorzugsweise durch einen Wunsch geleitet, die schnellsten und am wenigsten teueren zuerst durchzuführen, um zu bestimmen, ob ein Fehler in einem bestimmten Chip existiert, und um die zeitaufwändigen und teuren Tests bis zum Ende des Testprozesses 1100 aufzusparen. Der in 11 dargestellte Testprozess 1100 ist vorzugsweise basierend auf eine Gewichtung in Richtung eines Identifizierens des Ortes des Fehlers (im Vergleich zu einem lediglich Bestimmen, dass ein Fehler existiert), welches eine Priorität sein kann, falls beispielsweise die Herstellungs-Tests auf einer Prototyp-Fehlersuch-Stufe durchgeführt werden. Daher ist ein Protokoll zum Bestimmen der Reihenfolge der Tests, dass Tests die vorherige Verifizierung von bestimmten Komponenten als nicht durchgeführt voraussetzen können bis die bestimmten Komponenten durch andere Tests verifiziert wurden. In einem Ausführungsbeispiel steuert ein Testsequenzer, wie beispielsweise der oben diskutierte und in 5 dargestellte, die Reihenfolge der Tests basierend auf die Fehlerdetektions- und/oder Identifikationsprioritäten.
  • Als ein erster bevorzugter Test 1102 in dem Prozess 1100 werden die eingebauten Selbsttests (BISTs) vorzugsweise zuerst durchgeführt. Dann werden in einem zweiten Schritt 1102 vorzugsweise die Auf-Geschwindigkeit-Diagnostiktests durchgeführt, um das Leistungsvermögen der individuellen Komponenten-Blocks auf dem Chip zu verifizieren. Als ein nächster Schritt 1106 werden die Auf-Geschwindigkeit-Belastungstests unter Verwendung der Testvektoren auf den Chip angewandt. Weil diese Tests im Allgemeien das gesamte System testen, setzten sie die Validierung der individuellen Komponenten voraus. Daher werden diese Test vorzugsweise nach den Diagnostiktests und BISTs durchgeführt. Dann wird in einem nächsten Schritt 1108 von dem Tester Abtast-basiertes Testen des DUT durchgeführt, wobei unter Verwendung von existierenden Software-Tools (beispielsweise die "Automatic Test Pattern Generation" = automatische Testmuster-Erzeugungs (ATPG)-Software) Abtastmuster erzeugt werden können. Die Abtast-basierten Tests sind normalerweise die zeitaufwändigsten und teuersten von den Tests auf der Herstellungs-Testbank und werden daher vorzugsweise als ein abschließender oder Abschluss-naher Test durchgeführt. Weil die Diagnostiktests und die Belastungstests für die überwältigende Mehrheit der Fehler testen, können weniger Abtastmuster ausgeführt werden als dies ansonsten erforderlich wäre für die notwendige 99,9%-Verifizierung.
  • Alternativ kann die Reihenfolge der ersten zwei Schritte 1102, 1104 umgekehrt werden, in Abhängigkeit von den relativen Kosten der Tests. Als eine andere Alternative kann die Reihenfolge der Schritte 1104 und 1106 umgekehrt werden. Im Zusammenhang der Herstellung-für-Produktion, wo die getesteten ICs nacheinander in elektronische Produkte eingearbeitet werden und/oder an Verbraucher geliefert werden (d.h. "hinaus auf das Feld"), ist die Fehlerdetektion statt die Fehleridentifizierung im Allgemeinen von höherer Priorität. Daher ist die Testreihenfolge vorzugsweise durch den Wunsch, IC-Fehler schnell zu identifizieren, geleitet, so dass diese verworfen werden können und die Tests an potentiell guten ICs fortgeführt werden können. Die Belastungstests, welche das gesamte System testen und dadurch größere Bereiche des IC-"Grundstücks" testen als Diagnostiktests, können geeigneter sein, um Fehler schneller zu identifizieren als Diagnostiktests. Daher werden im Rahmen der Herstellung-für-Produktion Belastungstests vorzugsweise vor den Diagnostiktests und, optional, vor den BISTs durchgeführt.
  • Alternativ, aber nicht beansprucht, können analoge Test in das Testordnungsverfahren eingebaut werden. Typischerweise sind analoge Tests langsamer als digitale Tests, weil analoge Tests der natürlichen Einschwingzeit von analogen Vorrichtung unterliegen. Jedoch sind sie nicht so zeitaufwändig und teuer wie Abtast-basierte Tests. Daher werden für ICs, die einen relativ kleinen analogen Bereich haben können, die analogen Tests vorzugsweise durchgeführt, nachdem die Funktionstests durchgeführt wurden (d.h. der Diagnostiktestschritt 1104 und der Belastungstestschritt 1106), aber bevor die Abtast-basierten Tests 1108 ausgeführt werden. Alternativ werden für ICs, bei denen analoge Vorrichtungen überwiegen, die analogen Tests vorzugsweise als ein erster Testschritt durchgeführt, insbesondere im Zusammenhang mit Herstellung-für-Produktion, wo frühe Fehlerdektion von höchster Priorität sein kann und analoge Tests die größten Bereiche des ICs testen.
  • Das Durchführen von Abtast-basierten Tests kann aufgeteilt werden in vorzugsweise zwei separate Schritte. Wo Block-Niveau-Abtastmuster in der Designverifizierungsphase erzeugt wurden, werden solche Block-Niveau-Abtasttests vorzugsweise durchgeführt, nachdem Diagnostiktests auf dem Block-Niveau ausgeführt wurden. Diese Bevorzugung ist insbesondere anwendbar im Prototyp, Fehlersuche-Zusammenhang, wo Fehlerort-Identifizierung die höchste Priorität haben kann anstatt frühe Fehlerdetektion. In diesem Fall weist das Ausführen von Zwischen-Block-Abtastmustern vorzugsweise das Durchführen der Abtast-basierten Tests 1108 als einen abschließender oder Abschluss-naher Testschritt auf. In anderen Ausführungsbeispielen kann die Sequenz von Tests variiert werden, um ein Gesamtziel des Minimierens der Testkosten pro DUT zu erreichen.
  • Weitere Informationen über bevorzugte Test- und Verifizierungs-Methodologien und Systeme ist in den beigleitenden Unterlagen beschrieben. Zusätzliche Informationen bezüglich der verschiedenen Aspekten von virtuellen Komponenten-Blocks können in der mitanhängigen vorläufigen US-Patentanmeldung mit der Seriennummer 60/176,879 , eingereicht am 18. Januar 2000, gefunden werden.
  • Weitere bevorzugte Ausführungsbeispiel der Erfindung, welche nicht beansprucht werden, werden in den folgenden Absätzen gegeben:
    Ein erstes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein Verfahren des Testens eines integrierten Schaltkreises, der Komponenten-Blocks von zufälliger Logik in einer Herstellungsumgebung aufweist, welches die Schritte aufweist des: (a) Durchführens von eingebauten Selbsttests, mindestens zum Teil, um einen Speicher und Datenpfade des integrierten Schaltkreises zu testen; (b) Durchführens von Diagnostiktests, mindestens zum Teil, um die Komponenten-Blocks von zufälliger Logik individuell zu testen; (c) Durchführens von Belastungstests unter Verwendung von Testvektoren, mindestens zum Teil, um die Komponenten-Blocks von zufälliger Logik gemeinsam zu testen; und (d) Durchführens von Abtast-basierten Tests des integrierten Schaltkreises, mindestens zum Teil auf strukturelle Fehler in dem integrierten Schaltkreis hin.
  • Gemäß einem ersten Aspekt des ersten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist das Verfahren ferner den Schritt des Durchführens von analogen Tests der analogen Bereiche des integrierten Schaltkreises auf.
  • Gemäß einem zweiten Aspekt des ersten weiteren Ausführungsbeispiels der Erfindung ist der integrierte Schaltkreis ein Prototyp und die Schritte werden in der Reihenfolge Schritt (a), dann Schritt (b), dann Schritt (c), und dann Schritt (d) durchgeführt. Der integrierte Schaltkreis kann einen analogen Bereich und einen digitalen Bereich enthalten, wobei der digitale Bereich wesentlich größer ist als der analoge Bereich und das Verfahren ferner einen zwischen den Schritten (c) und (d) durchgeführten Schritt des Durchführens analoger Tests des analogen Bereichs des integrierten Schaltkreises aufweist. Alternativ kann der integrierte Schaltkreis einen analogen Bereich und einen digitalen Bereich enthalten, wobei der analoge Bereich wesentlich größer ist als der digitale Bereich und das Verfahren ferner den vor dem Schritt (a) durchgeführten Schritt des Durchführens analoger Tests des analogen Bereichs des integrierten Schaltkreises aufweist.
  • Gemäß einem dritten Aspekt des ersten weiteren Ausführungsbeispiels der Erfindung ist der integrierte Schaltkreis einer aus einer Produktion von integrierten Schaltkreisen für die Feld-Verwendung und die Schritte werden in der Reihenfolge Schritt (c), dann Schritt (a), dann Schritt (b), und dann Schritt (d) durchgeführt. Der integrierte Schaltkreis kann einen analogen Bereich und einen digitalen Bereich enthalten, wobei der digitale Bereich wesentlich größer ist als der analoge Bereich und das Verfahren ferner zwischen den Schritten (b) und (d) einen Schritt des Durchführens analoger Tests des analogen Bereichs des integrierten Schaltkreises aufweist. Alternativ kann der integrierte Schaltkreis einen analogen Bereich und einen digitalen Bereich enthalten, wobei der analoge Bereich wesentlich größer ist als der digitale Bereich und das Verfahren ferner vor dem Schritt (c) einen Schritt des Durchführens analoger Tests des analogen Bereichs des integrierten Schaltkreises aufweist.
  • Ein zweites weiteres Ausführungsbeispiel der Erfindung ist ein System zum Testen eines integrierten Schaltkreises, aufweisend: (a) einen Speicher zum Speichern von Signaturen zum Initiieren von eingebauten Selbsttests, Eingaben für Diagnostiktests, Testvektoren für Belastungstests, und Abtastmustern für Abtast-basierte Tests; und (b) einen Prozessor zum Initiieren und Evaluieren des Leistungsvermögens des integrierten Schaltkreises über die eingebauten Selbsttest, die Diagnostiktests, die Belastungstests und die Abtast-basierten Tests.
  • Gemäß einem ersten Aspekt des zweiten weiteren bevorzugten Ausführungsbeispiels der Erfindung ist der Prozessor konfiguriert, die Tests des integrierten Schaltkreises basierend auf die relativen Prioritäten einer frühen Fehlerdetektion gegen eine frühe Fehleridentifizierung ablaufen zu lassen. Die Priorität der frühen Fehleridentifizierung kann die Priorität der frühen Fehlerdetektion übertreffen, und der Prozessor kann konfiguriert sein, die Tests in der Reihenfolge eingebaute Selbsttests, Diagnostiktests, Belastungstests, und dann Abtast-basierte Tests ablaufen zu lassen. Alternativ kann die Priorität der frühen Fehlerdetektion die Priorität der frühen Fehleridentifizierung übertreffen und der Prozessor kann konfiguriert sein, die Tests in der Reihenfolge Belastungstests, eingebaute Selbsttests, Diagnostiktests, und dann Abtast-basierte Tests ablaufen zu lassen.
  • Gemäß einem zweiten Aspekt des zweiten weiteren bevorzugten Ausführungsbeispiels der Erfindung speichert der Speicher ferner Tests zum Testen von analogen Komponenten des integrierten Schaltkreises, und der Prozessor ist konfiguriert, das Leistungsvermögen der integrierten Schalkreises über die analogen Tests zu initiieren und evaluieren.
  • Ein drittes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein computerlesbares Medium mit einer oder mehreren darin gespeicherten Sequenzen von Instruktionen zum Testen eines hergestellten integrierten Schaltkreises, wobei der integrierte Schaltkreis einen Speicher, Komponenten-Blocks von zufälliger Logik und Datenpfade aufweist, wobei eine oder mehrere der Sequenzen von Instruktionen einen oder mehrere Prozessoren dazu veranlasst, eine Mehrzahl von Aktionen durchzuführen, wobei die Aktionen aufweisen: (a) Durchführen von eingebauten Selbsttests, mindestens zum Teil, um den Speicher und Datenpfade des integrierten Schaltkreises zu testen; (b) Durchführen von Diagnostiktests, mindestens zum Teil, um die Komponenten-Blocks von zufälliger Logik individuell zu testen; (c) Durchführen von Belastungstests unter Verwendung von Testvektoren, mindestens zum Teil, um die Komponenten-Blocks von zufälliger Logik gemeinsam zu testen; und (d) Durchführen von Abtast-basierten Tests des integrierten Schaltkreises, mindestens zum Teil, um für die strukturellen Fehler in dem integrierten Schaltkreis zu testen.
  • Gemäß einem ersten Aspekt des dritten weiteren bevorzugten Ausführungsbeispiels der Erfindung weisen die Aktionen ferner einen analogen Test eines analogen Bereichs des integrierten Schaltkreises auf.
  • Gemäß einem zweiten Aspekt des dritten weiteren bevorzugten Ausführungsbeispiels der Erfindung ist der integrierte Schaltkreis ein Prototyp eines integrierten Schaltkreises, und die Aktionen werden in der Reihenfolge Aktion (a), dann Aktion (b), dann Aktion (c), und dann Aktion (d) durchgeführt.
  • Gemäß einem dritten Aspekt des dritten weiteren bevorzugten Ausführungsbeispiels der Erfindung ist der integrierte Schaltkreis einer aus einer Produktion von integrierten Schaltkreisen zur Feld-Verwendung, und die Aktionen werden in der Reihenfolge Aktion (c), dann Aktion (a), dann Aktion (b), und dann Aktion (d) durchgeführt.
  • Ein viertes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist eine Testkarte zum Testen eines Messobjekts, wobei die Testkarte aufweist: (a) eine Messobjekt-Schnittstelle; (b) eine Tester-Schnittstelle; (c) einen Speicher zum Speichern von Testeingaben für das Messobjekt; und (d) einen Datenübersetzter, wobei der Datenübersetzer zwischen dem Speicher und der Tester-Schnittstelle gekoppelt ist zum Formatieren von zwischen dem Speicher und der Testerschnittstelle kommunizierten Testdaten.
  • Gemäß einem ersten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner einen mit der Tester-Schnittstelle und dem Messobjekt gekoppelten Taktgenerator zum Empfangen von Steuersignalen aus der Testerschnittstelle und Übertragen von Taktsignalen an das Messobjekt auf.
  • Gemäß einem zweiten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner mit dem Speicher gekoppelte Steuerungslogik zum Anwenden der Testeingaben für das Messobjekt auf. Die Testkarte kann ferner einen mit der Tester-Schnittstelle und der Steuerungslogik gekoppelten Taktgenerator zum Empfangen von Steuersignalen von der Testerschnittstelle und Übertragen von Taktsignalen an die Steuerungslogik aufweisen. Außerdem kann die Testkarte ferner einen zwischen der Tester-Schnittstelle und dem Messobjekt gekoppelten analogen Signalgenerator aufweisen, wobei der analoge Signalgenerator konfiguriert ist, von der Testerschnittstelle digitale Signale zu empfangen, die kennzeichnend für einen analogen Test sind, ein analoges Signal basierend auf die digitalen Signale zu erzeugen, und die analogen Signale an das Messobjekt-Schnittstelle zu übertragen. Der Datenübersetzer kann ferner zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle gekoppelt sein zum Formatieren von Testdaten, die zwischen dem Messobjekt und der Testerschnittstelle kommuniziert werden, und der Taktgenerator ferner mit der Messobjekt-Schnittstelle gekoppelt sein zum Übertragen von Taktsignalen an das Messobjekt.
  • Gemäß einem dritten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist der Speicher einen FIFO auf.
  • Gemäß einem vierten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine Foldback-Schaltung auf, die mindestens zwei Pins des Messobjekt verbindet. Die Foldback-Schaltung kann eine mit einer Prüfsummenlogik gekoppelte Komponenten-Schnittstelle aufweisen.
  • Gemäß einem fünften Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner einen zwischen der Tester-Schnittstelle und der Messobjekt-Schnittstelle gekoppelten analogen Signalgenerator auf, wobei der analoge Signalgenerator konfiguriert ist, von der Tester-Schnittstelle digitale Signale zu empfangen, die kennzeichnend für einen analogen Test sind, ein analoges Signal basierend auf die digitalen Signale zu erzeugen, und das analoge Signal an die Messobjekt-Schnittstelle zu übertragen. Die Testkarte kann ferner einen mit der Tester-Schnittstelle und der Messobjekt-Schnittstelle gekoppelten Taktgenerator zum Empfangen von Taktsteuerungssignalen von der Tester-Schnittstelle und Übertragen von Taktsignalen an das Messobjekt aufweisen.
  • Gemäß einem sechsten Aspekt des vierten weiteren bevorzugen Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine mit dem Speicher und dem Datenübersetzer gekoppelte und von dem Messobjekt elektrisch isolierte Spannungsquelle auf.
  • Gemäß einem siebten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine direkte Tester-Schnittstelle zum Durchführen von Tests des Messobjekts direkt von einem Tester auf.
  • Gemäß einem achten Aspekt des vierten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine Abtasttest-Schnittstelle zum Durchführen von Abtast-Tests des Messobjekts direkt von einem Tester auf.
  • Ein fünftes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist eines Testkarte zum Testen eines Messobjekts, wobei die Testkarte aufweist: (a) eine Messobjekt-Schnittstelle; (b) eine Tester-Schnittstelle; (c) einen analogen zwischen der Tester-Schnittstelle und dem Messobjekt gekoppelten analogen Signalgenerator, wobei der analoge Signalgenerator konfiguriert ist, von der Tester-Schnittstelle digitale Signale zu empfangen, die kennzeichnend für einen analogen Test sind, ein analoges Signal basierend auf die digitalen Signale zu erzeugen, und das analoge Signal an die Messobjekt-Schnittstelle zu übertragen; und (d) einen Datenübersetzer, der elektrisch gekoppelt ist zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle und zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle kommunizierte Testdaten formatiert.
  • Gemäß einem ersten Aspekt des fünften weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner einen mit der Tester-Schnittstelle und der Steuerungslogik gekoppelten Taktgenerator zum Empfangen von Steuersignalen aus der Testerschnittstelle und Übertragen von Taktsignalen an die Steuerungslogik auf.
  • Gemäß einem zweiten Aspekt des fünften weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine Foldback-Schaltung auf, die mindestens zwei Pins des Messobjekts verbindet. Die Foldback-Schaltung kann eine mit einer Prüfsummenlogik gekoppelte Komponenten-Schnittstelle aufweisen.
  • Gemäß einem dritten Aspekt des fünften weiteren bevorzugen Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine mit dem Speicher und dem Datenübersetzer gekoppelte und von dem Messobjekt elektrisch isolierte Spannungsquelle auf.
  • Gemäß einem vierten Aspekt des fünften weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine direkte Tester-Schnittstelle zum Durchführen von Tests des Messobjekts direkt von einem Tester auf.
  • Gemäß einem fünften Aspekt des fünften weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine Abtasttest-Schnittstelle zum Durchführen von Abtast-Tests des Messobjekts direkt von einem Tester auf.
  • Ein sechstes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist eine Testkarte zum Testen eines Messobjekts, wobei die Testkarte aufweist: (a) eine Messobjekt-Schnittstelle; (b) eine Tester-Schnittstelle; (c) eine Foldback-Schaltung, die mindestens zwei Pins des Messobjekts koppelt; und (d) einen Datenübersetzer, der elektrisch gekoppelt ist zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle und zwischen der Messobjekt-Schnittstelle und der Tester-Schnittstelle kommunizierte Testdaten formatiert.
  • Gemäß einem ersten Aspekt des sechsten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner einen zwischen der Tester-Schnittstelle und der Steuerungslogik gekoppelten Taktgenerator zum Empfangen von Steuersignalen von der Tester-Schnittstelle und Übertragen von Taktsignalen an die Steuerungslogik auf.
  • Gemäß einem zweiten Aspekt des sechsten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine mit dem Speicher und dem Datenübersetzer gekoppelte und elektrisch von dem Messobjekt isolierte Spannungsquelle auf.
  • Gemäß einem dritten Aspekt des sechsten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine direkte Tester-Schnittstelle zum Durchführen von Tests des Messobjekt direkt von einem Tester auf.
  • Gemäß einem vierten Aspekt des sechsten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist die Testkarte ferner eine Abtasttest-Schnittstelle zum Durchführen von Abtasttests des Messobjekts direkt von einem Tester auf.
  • Ein siebtes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein integrierter Schaltkreis, der aufweist: (a) eine Mehrzahl von Schaltkreis-Komponenten-Blocks, die über einen Bus gekoppelt sind; (b) eine Mehrzahl von I/O-Pins mit einer entsprechenden Mehrzahl von mit dem Bus gekoppelten Adern, wobei die I/O-Pins eine Fähigkeit zum Kommunizieren mit Außerhalb des integrierten Schaltkreises bereitstellen; (c) eine Foldback-Schaltung zum Zurückführen eines auf einer der Mehrzahl von Adern an eine der Mehrzahl von Pins übertragenen Signals; und (d) eine Foldback-Logik zum Aktivieren und Deaktivieren der Foldback-Schaltung.
  • Gemäß einem ersten Aspekt des siebten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist der integrierte Schaltkreis ferner einen mit dem Bus gekoppelten Testport auf und enthält jeder der Schaltkreis-Komponenten-Blocks eine Block-Schnittstelle zu dem Systembus. Der Testport kann eine Kommunikations-Initiierungs-Hülle aufweisen, und jede Block-Schnittstelle weist eine Ziel-Hülle auf. Der integrierte Schaltkreis kann ferner einen sperrbaren Speicher aufweisen, der über eine Block-Schnittstelle mit dem Bus gekoppelt ist.
  • Ein achtes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein computerlesbares Medium mit einer oder mehreren darauf gespeicherten Sequenzen von Instruktionen zum Spezifizieren eines integrierten Schaltkreises, wobei die eine oder mehreren Sequenzen von Instruktionen einen oder mehreren Prozessoren dazu veranlassen, eine Mehrzahl von Aktionen durchzuführen, wobei die Aktionen aufweisen: (a) Spezifizieren einer Mehrzahl von Schaltkreis-Komponenten-Blocks, die untereinender über einen Bus gekoppelt sind; (b) Spezifizieren einer Mehrzahl von I/O-Pins mit einer entsprechenden Mehrzahl von mit dem Bus gekoppelten Adern, wobei die I/O-Pins eine Fähigkeit zum Kommunizieren mit Außerhalb des integrierten Schaltkreises bereitstellen; (c) Spezifizieren einer Foldback-Schaltung zum Zurückführen eines auf einer der Mehrzahl von Adern an eine der Mehrzahl von Pins übertragenen Signals; und (d) Spezifizieren einer Foldback-Logik zum Aktivieren und Deaktivieren der Foldback-Schaltung.
  • Gemäß einem ersten Aspekt des achten weiteren bevorzugten Ausführungsbeispiels der Erfindung weisen die Aktionen ferner Spezifizieren eines mit dem Bus gekoppelten Testports auf und jeder der Schaltkreis-Komponenten-Blocks enthält eine Block-Schnittstelle zu dem Systembus. Der Testport kann eine Kommunikations-Initiierungs-Hülle aufweisen, und jede Block-Schnittstelle weist eine Ziel-Hülle auf. Der integrierte Schaltkreis kann ferner Spezifizieren eines sperrbaren Speichers aufweisen, der über eine Block-Schnittstelle mit dem Bus gekoppelt ist.
  • Ein neuntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist eine Teststation zum Testen eines Messobjekts, wobei die Teststation aufweist: (a) das Messobjekt, wobei das Messobjekt einen Speicher und Testlogik zum Sperren mindestens eines Bereichs des Speichers während eines Tests des Messobjekts aufweist; (b) einen Tester, wobei der Tester mit dem Messobjekt elektrisch gekoppelt ist, und digitale Signale überträgt, um den mindestens einen Bereich des Messobjekts zu sperren; und (c) eine Testkarte, die mit dem Messobjekt und dem Tester elektrisch gekoppelt ist, wobei die Testkarte aufweist einen Taktgenerator zum Übertragen von Taktsignalen an das Messobjekt, und einen Datenübersetzer, der elektrisch gekoppelt ist zwischen einer Schnittstelle für das Messobjekt und der Tester-Schnittstelle, wobei der Datenübersetzer zwischen der Schnittstelle für das Messobjekt und der Tester-Schnittstelle kommunizierte Testdaten formatiert.
  • Gemäß einem ersten Aspekt des neunten weiteren bevorzugten Ausführungsbeispiels der Erfindung enthält das Messobjekt ferner einen mit einem Systembus auf dem Messobjekt gekoppelten Testport und die Komponenten-Blocks des Messobjekts enthalten jeder eine Block-Schnittstelle zu dem Systembus. Der Testport kann eine Kommunikations-Initiierungs-Hülle aufweisen, und jede Block-Schnittstelle weist eine Ziel-Hülle auf.
  • Gemäß einem zweiten Aspekt des neunten weiteren bevorzugten Ausführungsbeispiels der Erfindung weist das Messobjekt eine Foldback-Schaltung auf, um Ausgangssignale von dem Messobjekt in das Messobjekt einzugeben, und Logik zum Aktivieren der Foldback-Schaltung.
  • Ein zehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein Verfahren zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, aufweisend die Schritte des (a) Erhaltens von Funktionsniveau-Testvektoren; (b) Umwandelns der Testvektoren in eine Reihe von Nachrichtenblocks; (c) Anwendens eines Schnittstellen-Protokolls auf die Reihe von Nachrichtenblocks, um Testvektordaten zu erzeugen; und (d) Anwendens eines Schnittstellen-Protokolls für ein Messobjekt auf die Testvektordaten.
  • Ein elftes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein System zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, aufweisend: (a) einen Speicher zum Speichern von Funktionsniveau-Testvektoren; (b) einen mit dem Speicher gekoppelten Prozessor zum Übersetzen der Testvektoren in Nachrichtenblocks, zum Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen, und zum Anwenden eines Schnittstellen-Protokolls für ein Messobjekt auf die Testvektordaten.
  • Ein zwölftes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein System zum Erzeugen von Testvektoren zum testen eines integrierten Schaltkreises auf einer Herstellungstestbank, aufweisend: (a) ein Mittel zum Speichern von Funktionsniveau-Testvektoren; (b) einen mit dem Mittel zum Speichern von Funktionsniveau-Testvektoren gekoppeltes Verarbeitungs-Mittel, wobei das Verarbeitungs-Mittel zum Übersetzen der Testvektoren in Nachrichtenblocks, zum Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen, und zum Anwenden eines Schnittstellen-Protokolls für ein Messobjekt auf die Testvektordaten ist.
  • Ein dreizehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein computerlesbares Medium mit einer oder mehreren darauf gespeicherten Sequenzen von Instruktionen zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, wobei die eine oder mehreren Sequenzen von Instruktionen einen oder mehrere Prozessoren dazu veranlasst, eine Mehrzahl von Aktionen durchzuführen, wobei die Aktionen aufweisen: (a) Spezifizieren von Funktionsniveau-Testvektoren; (b) Übersetzen der Testvektoren in Nachrichtenblocks; (c) Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen; und (d) Anwenden eines Schnittstellen-Protokolls für ein Messobjekt auf die Testvektordaten.
  • Ein vierzehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein Verfahren des Erzeugens von Diagnostiktests zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, aufweisend die Schritte des (a) Erhaltens von Funktionsniveau-Diagnostiktests für virtuelle Komponenten-Blocks eines integrierten Schaltkreis-Designs; (b) Übersetzens der Diagnostiktests in zeitakkurate Diagnostiktests; (c) Umwandelns der zeitakkuraten Diagnostiktests in Speicherladeinstruktionen; und (d) Anwendens eines Schnittstellen-Protokolls für ein Messobjekt auf die Speicherladeinstruktionen.
  • Ein fünfzehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein computerlesbares Medium mit einer oder mehreren darauf gespeicherten Sequenzen von Instruktionen zum Spezifizieren und Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, wobei die eine oder mehreren Sequenzen von Instruktionen einen oder mehrere Prozessoren dazu veranlasst, eine Mehrzahl von Aktionen durchzuführen, wobei die Aktionen aufweisen: (a) Spezifizieren einer Mehrzahl von virtuellen Komponenten-Blocks; (b) Spezifizieren von Verbindungen zwischen der Mehrzahl von virtuellen Komponenten-Blocks; (c) Spezifizieren einer Mehrzahl von Sätzen von Diagnostiktests zum Testen hergestellter Formen der Mehrzahl von virtuellen Komponenten-Blocks, jeder Satz von Diagnostiktests mit einem der Mehrzahl von virtuellen Komponenten-Blocks korrespondierend; und (d) Spezifizieren eines Satzes von Testvektoren zum Testen des hergestellten integrierten Schaltkreises.
  • Ein sechszehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein computerlesbares Medium mit einer oder mehreren darauf gespeicherten Sequenzen von Instruktionen zum Erzeugen von Testvektoren zum Testen eines integrierten Schaltkreises auf einer Herstellungs-Testbank, wobei die eine oder mehreren Sequenzen von Instruktionen einen oder mehrere Prozessoren dazu veranlasst, eine Mehrzahl von Aktionen durchzuführen, wobei die Aktionen aufweisen: (a) Spezifizieren von Funktionsniveau-Testvektoren zum Testen einer funktionellen Spezifikation des integrierten Schaltkreises; (b) Übersetzen der Testvektoren in Nachrichtenblocks; (c) Anwenden eines Schnittstellen-Protokolls auf die Nachrichtenblocks, um Testvektordaten zu erzeugen; und (d) Anwenden eines Schnittstellen-Protokolls des integrierten Schaltkreises auf die Testvektordaten.
  • Ein siebzehntes weiteres bevorzugtes Ausführungsbeispiel der Erfindung ist ein Verfahren des Herstellens eines computerlesbaren Mediums, das ein Design für einen integrierten Schaltkreis und eine Ansammlung von Testeingaben zum Herstellen und Funktionalitäts-Testen einer hergestellten Form des integrierten Schaltkreises aufweist, aufweisend die Schritte des (a) Designens von in dem Design des integrierten Schaltkreises zu verwendenden virtuellen Komponenten-Blocks; (b) Designens eines Diagnostiktests, spezifisch für jeden virtuellen Komponenten-Block; (c) Bestimmens des Designs für den integrierten Schaltkreis, der die virtuellen Komponenten-Blocks aufweist; (d) Erhaltens von Hochniveau-Testvektoren für den integrierten Schaltkreis; (e) Verifizierens des integrierten Schaltkreises unter Verwendung der Testvektoren und Diagnostiktests; (f) Vermehrens der Diagnostiktests und der Testvektoren für eine Herstellungsumgebung; und (g) Verkapselns des Designs für den integrierten Schaltkreis mit den vermehrten Testvektoren.
  • Obgleich bevorzugte Ausführungsbeispiele der Erfindung hierin diskutiert wurden und in dem beigleitenden Unterlagen weiter erklärt werden, sind viele Variationen möglich, die innerhalb des Konzepts und dem Rahmen der Erfindung bleiben. Solche Variationen werden einem Fachmann nach Inspizierung der Spezifikation und der Zeichnungen klar. Die Erfindung ist daher nicht eingeschränkt außer durch den Rahmen der beigefügten Ansprüche.

Claims (9)

  1. Testkarte (probe card) (1000) zum Testen eines Messobjekts (1002), aufweisend eine Tester-Schnittstelle zum Kommunizieren mit einem Tester (1001) und eine Messobjekt-Schnittstelle zum Kommunizieren mit dem Messobjekt (1002), dadurch gekennzeichnet, dass die Testkarte (1000) ferner aufweist: eine Foldback-Schaltung (910), die mindestens zwei Pins (914, 922) des Messobjekts (1002) verbindet, wobei die Foldback-Schaltung (910) eine mit der Messobjekt-Schnittstelle gekoppelte Prüfsummenlogik (918) enthält; und einen mit der Messobjekt-Schnittstelle und der Tester-Schnittstelle gekoppelten Datenübersetzer (1004), wobei der Datenübersetzer (1004) die Foldback-Schaltung (910) enthält und konfiguriert ist, die an die oder aus der Tester-Schnittschnelle übertragenen Testdaten zu formatieren.
  2. Testkarte (1000) gemäß Anspruch 1, ferner aufweisend eine Speicher- und Steuerungslogik (1006) zum Speichern von Testeingaben für das Messobjekt (1002) und zum Anwenden der Testeingaben für das Messobjekt (1002).
  3. Testkarte (1000) gemäß Anspruch 2, wobei die Speicher- und Steuerungslogik (1006) einen FIFO aufweist.
  4. Testkarte (1000) gemäß einem der obigen Ansprüche, ferner aufweisend einen mit der Messobjekt-Schnittstelle gekoppelten Taktgenerator (1008) zum Empfangen von Steuersignalen von der Tester-Schnittstelle und Übertragen von Taktsignalen an das Messobjekt (1002).
  5. Testkarte (1000) gemäß einem der obigen Ansprüche, ferner aufweisend einen zwischen der Tester-Schnittstelle und der Messobjekt-Schnittstelle gekoppelten analogen Signalgenerator (1012), wobei der analoge Signalgenerator (1012) konfiguriert ist, digitale Signale, die kennzeichnend für einen analogen Test sind, von der Tester-Schnittstelle zu empfangen, ein analoges Signal basierend auf den digitalen Signalen zu erzeugen, und das analoge Signal an die Messobjekt-Schnittstelle zu übertragen.
  6. Testkarte (1000) gemäß einem der obigen Ansprüche, ferner aufweisend eine Spannungsversorgung, die von dem Messobjekt (1002) elektrisch isoliert ist.
  7. Testkarte (1000) gemäß einem der obigen Ansprüche, ferner aufweisend eine direkte Tester-Schnittstelle (1014) zum Durchführen von Tests des Messobjekts (1002) direkt aus einem Tester (1001).
  8. Testkarte (1000) gemäß einem der obigen Ansprüche, ferner aufweisend eine Abtast-Testschnittstelle (1010) zum Durchführen von Abtast-Tests des Messobjekts (1002) direkt aus einem Tester (1001).
  9. Tester (1001) zur Verwendung mit der Testkarte (1000) gemäß einem der obigen Ansprüche.
DE60128014T 2000-06-28 2001-06-28 Intelligenter Prüfadapter Expired - Lifetime DE60128014T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US21492800P 2000-06-28 2000-06-28
US214928P 2000-06-28
US21674600P 2000-07-03 2000-07-03
US216746P 2000-07-03
US09/888,054 US6701474B2 (en) 2000-06-28 2001-06-22 System and method for testing integrated circuits
US888054 2001-06-22

Publications (2)

Publication Number Publication Date
DE60128014D1 DE60128014D1 (de) 2007-05-31
DE60128014T2 true DE60128014T2 (de) 2008-01-03

Family

ID=27396047

Family Applications (3)

Application Number Title Priority Date Filing Date
DE60138933T Expired - Lifetime DE60138933D1 (de) 2000-06-28 2001-06-28 System und Verfahren zum Testen integrierter Schaltungen
DE60104854T Expired - Lifetime DE60104854T2 (de) 2000-06-28 2001-06-28 System und Verfahren zum Testen integrierter Schaltungen
DE60128014T Expired - Lifetime DE60128014T2 (de) 2000-06-28 2001-06-28 Intelligenter Prüfadapter

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE60138933T Expired - Lifetime DE60138933D1 (de) 2000-06-28 2001-06-28 System und Verfahren zum Testen integrierter Schaltungen
DE60104854T Expired - Lifetime DE60104854T2 (de) 2000-06-28 2001-06-28 System und Verfahren zum Testen integrierter Schaltungen

Country Status (6)

Country Link
US (1) US6701474B2 (de)
EP (1) EP1299739B1 (de)
AT (3) ATE273520T1 (de)
AU (1) AU2001271590A1 (de)
DE (3) DE60138933D1 (de)
WO (1) WO2002001237A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146277B2 (en) 2008-11-07 2015-09-29 Infineon Technologies Ag Test board and test system

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020006624A1 (en) * 2000-06-30 2002-01-17 Town Terence C. Method and assay for diagnosing substance dependency
WO2002005144A1 (en) * 2000-07-03 2002-01-17 Cadence Design Systems, Inc. Circuit component interface
US7139947B2 (en) * 2000-12-22 2006-11-21 Intel Corporation Test access port
GB2371640B (en) * 2001-01-26 2004-09-01 Advanced Risc Mach Ltd Validating integrated circuits
JP2002288255A (ja) * 2001-03-26 2002-10-04 Toshiba Corp ハードウェア記述言語で記述されたシステムlsiの回路部品、及びその検証方法、検証支援回路、システムlsiの製造方法
US6714828B2 (en) * 2001-09-17 2004-03-30 Formfactor, Inc. Method and system for designing a probe card
US20030229643A1 (en) * 2002-05-29 2003-12-11 Digimarc Corporation Creating a footprint of a computer file
US6630685B1 (en) * 2002-06-24 2003-10-07 Micron Technology, Inc. Probe look ahead: testing parts not currently under a probehead
US6816814B2 (en) * 2002-11-12 2004-11-09 Sonics, Inc. Method and apparatus for decomposing and verifying configurable hardware
US6961674B2 (en) 2003-08-11 2005-11-01 Hewlett-Packard Development Company, L.P. System and method for analysis of cache array test data
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775112B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for increasing die yield
US6957402B2 (en) * 2003-09-24 2005-10-18 Artisan Components, Inc. Yield maximization in the manufacture of integrated circuits
US7275228B1 (en) 2003-11-17 2007-09-25 Altera Corporation Techniques for grouping circuit elements into logic blocks
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US7406509B2 (en) * 2004-01-07 2008-07-29 Network Appliance, Inc. Dynamic switching of a communication port in a storage system between target and initiator modes
US7823128B2 (en) * 2004-04-19 2010-10-26 Verigy (Singapore) Pte. Ltd. Apparatus, system and/or method for combining multiple tests to a single test in a multiple independent port test environment
US8581610B2 (en) * 2004-04-21 2013-11-12 Charles A Miller Method of designing an application specific probe card test system
US7225416B1 (en) * 2004-06-15 2007-05-29 Altera Corporation Methods and apparatus for automatic test component generation and inclusion into simulation testbench
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
JP4464237B2 (ja) * 2004-09-30 2010-05-19 Necエレクトロニクス株式会社 バーンイン試験方法,及び,それに用いるバーンイン用測定プログラム
US7526692B2 (en) * 2004-09-30 2009-04-28 International Business Machines Corporation Diagnostic interface architecture for memory device
US8621304B2 (en) * 2004-10-07 2013-12-31 Hewlett-Packard Development Company, L.P. Built-in self-test system and method for an integrated circuit
US7539912B2 (en) 2005-12-15 2009-05-26 King Tiger Technology, Inc. Method and apparatus for testing a fully buffered memory module
US7511526B2 (en) * 2006-08-23 2009-03-31 Munt Kenneth A Circuit module testing apparatus and method
US8499208B2 (en) * 2006-10-27 2013-07-30 Qualcomm Incorporated Method and apparatus for scheduling BIST routines
US7953582B2 (en) * 2006-11-21 2011-05-31 Cadence Design Systems, Inc. Method and system for lithography simulation and measurement of critical dimensions
US7558642B2 (en) 2007-04-27 2009-07-07 International Business Machines Corporation Method, apparatus, and product for optimizing manufacturing tests by integrating part and test objects in the same order configuration application
US7620861B2 (en) * 2007-05-31 2009-11-17 Kingtiger Technology (Canada) Inc. Method and apparatus for testing integrated circuits by employing test vector patterns that satisfy passband requirements imposed by communication channels
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US7757144B2 (en) * 2007-11-01 2010-07-13 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuit modules comprising a plurality of integrated circuit devices
US8042086B2 (en) * 2007-12-21 2011-10-18 Oracle America, Inc. Method and apparatus for verifying integrated circuit design using a constrained random test bench
US7810006B2 (en) * 2008-01-14 2010-10-05 Emerging Display Technologies Corp. Testing system for a device under test
US7848899B2 (en) * 2008-06-09 2010-12-07 Kingtiger Technology (Canada) Inc. Systems and methods for testing integrated circuit devices
US7925949B2 (en) 2008-10-15 2011-04-12 Micron Technology, Inc. Embedded processor
US20100169715A1 (en) * 2008-12-29 2010-07-01 Dedicated Computing Llc Process for Verifying Computers
US20100305933A1 (en) * 2009-06-01 2010-12-02 Chang Chioumin M Method and Apparatus for Verifying Logic Circuits Using Vector Emulation with Vector Substitution
US8572528B1 (en) * 2009-11-25 2013-10-29 Xilinx, Inc. Method and apparatus for analyzing a design of an integrated circuit using fault costs
US8356215B2 (en) * 2010-01-19 2013-01-15 Kingtiger Technology (Canada) Inc. Testing apparatus and method for analyzing a memory module operating within an application system
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US8887136B2 (en) * 2010-05-04 2014-11-11 Synopsys, Inc. Context-based evaluation of equations
US8918686B2 (en) 2010-08-18 2014-12-23 Kingtiger Technology (Canada) Inc. Determining data valid windows in a system and method for testing an integrated circuit device
US9317351B2 (en) * 2010-09-07 2016-04-19 Advantest Corporation System, methods and apparatus using virtual appliances in a semiconductor test environment
US8729975B2 (en) * 2011-08-23 2014-05-20 International Business Machines Corporation Implementing differential resonant clock with DC blocking capacitor
US9003256B2 (en) 2011-09-06 2015-04-07 Kingtiger Technology (Canada) Inc. System and method for testing integrated circuits by determining the solid timing window
US20130074033A1 (en) * 2011-09-16 2013-03-21 International Business Machines Corporation Designing a configurable pipelined processor
US8724408B2 (en) 2011-11-29 2014-05-13 Kingtiger Technology (Canada) Inc. Systems and methods for testing and assembling memory modules
US9117552B2 (en) 2012-08-28 2015-08-25 Kingtiger Technology(Canada), Inc. Systems and methods for testing memory
US8924801B2 (en) * 2013-02-14 2014-12-30 Lsi Corporation At-speed scan testing of interface functional logic of an embedded memory or other circuit core
CN103294579A (zh) * 2013-06-09 2013-09-11 浪潮电子信息产业股份有限公司 一种高性能计算集群应用性能测试方法
CN104614659B (zh) * 2013-11-01 2017-08-29 普诚科技股份有限公司 自动化测试系统和方法
US20150153405A1 (en) * 2013-12-04 2015-06-04 Princeton Technology Corporation Automatic testing system and method
US9360523B2 (en) 2014-04-18 2016-06-07 Breker Verification Systems Display in a graphical format of test results generated using scenario models
JP6341795B2 (ja) * 2014-08-05 2018-06-13 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びマイクロコンピュータシステム
US10267853B2 (en) * 2015-12-18 2019-04-23 Taiwan Semiconductor Manufacturing Company Ltd. System and method to diagnose integrated circuit
KR102494048B1 (ko) 2016-01-11 2023-02-01 삼성전자주식회사 반도체 장치의 핀 간 라우팅 설계 방법 및 그것을 적용한 설계 시스템
US9857422B2 (en) 2016-03-08 2018-01-02 International Business Machines Corporation Methods and systems for generating functional test patterns for manufacture test
US10598526B2 (en) 2016-03-08 2020-03-24 International Business Machines Corporation Methods and systems for performing test and calibration of integrated sensors
US10571519B2 (en) 2016-03-08 2020-02-25 International Business Machines Corporation Performing system functional test on a chip having partial-good portions
US10789550B2 (en) * 2017-04-13 2020-09-29 Battelle Memorial Institute System and method for generating test vectors
US10268787B2 (en) * 2017-07-17 2019-04-23 Taiwan Semiconductor Manufacturing Company Ltd. Hybrid timing analysis method and associated system and non-transitory computer readable medium
US10762262B1 (en) * 2017-11-03 2020-09-01 Synopsys, Inc. Multi-dimensional constraint solver using modified relaxation process
CN108344909B (zh) * 2018-01-11 2020-10-30 福建联迪商用设备有限公司 Ic卡终端自动化测试方法及其系统、上位机
DE102019207868A1 (de) * 2019-05-29 2020-12-03 Continental Teves Ag & Co. Ohg Modul und Verfahren zur Initialisierung und Kalibrierung eines Produkts während dessen Herstellung
US11204849B2 (en) * 2020-03-13 2021-12-21 Nvidia Corporation Leveraging low power states for fault testing of processing cores at runtime
CN112835759A (zh) * 2021-02-01 2021-05-25 百度在线网络技术(北京)有限公司 测试数据处理方法、装置、电子设备以及存储介质
US20230184821A1 (en) * 2021-12-09 2023-06-15 Nanya Technology Corporation Appratus for performing multiple tests on a device under test

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872169A (en) 1987-03-06 1989-10-03 Texas Instruments Incorporated Hierarchical scan selection
US5539652A (en) 1995-02-07 1996-07-23 Hewlett-Packard Company Method for manufacturing test simulation in electronic circuit design
US5838583A (en) 1996-04-12 1998-11-17 Cadence Design Systems, Inc. Optimized placement and routing of datapaths
US6067409A (en) 1996-06-28 2000-05-23 Lsi Logic Corporation Advanced modular cell placement system
US6286128B1 (en) 1998-02-11 2001-09-04 Monterey Design Systems, Inc. Method for design optimization using logical and physical information
US6311302B1 (en) 1999-04-01 2001-10-30 Philips Semiconductor, Inc. Method and arrangement for hierarchical control of multiple test access port control modules

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146277B2 (en) 2008-11-07 2015-09-29 Infineon Technologies Ag Test board and test system

Also Published As

Publication number Publication date
WO2002001237A2 (en) 2002-01-03
ATE360217T1 (de) 2007-05-15
WO2002001237A3 (en) 2002-08-15
ATE433119T1 (de) 2009-06-15
DE60128014D1 (de) 2007-05-31
US6701474B2 (en) 2004-03-02
EP1299739A2 (de) 2003-04-09
ATE273520T1 (de) 2004-08-15
DE60104854T2 (de) 2005-09-15
EP1299739B1 (de) 2004-08-11
DE60138933D1 (de) 2009-07-16
DE60104854D1 (de) 2004-09-16
US20020091979A1 (en) 2002-07-11
AU2001271590A1 (en) 2002-01-08

Similar Documents

Publication Publication Date Title
DE60128014T2 (de) Intelligenter Prüfadapter
US5550839A (en) Mask-programmed integrated circuits having timing and logic compatibility to user-configured logic arrays
DE602004011320T2 (de) Verfahren und struktur zur entwicklung eines testprogramms für integrierte halbleiterschaltungen
US5036473A (en) Method of using electronically reconfigurable logic circuits
US5812414A (en) Method for performing simulation using a hardware logic emulation system
DE69628143T2 (de) Jtag-prüfung eines busses unter verwendung von einsteckkarten mit jtag-logikschaltung
DE10392497T5 (de) Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
DE10053207A1 (de) Verfahren und Vorrichtung zur Gültigkeitsprüfung bei Systemchip-Entwürfen
DE10393176T5 (de) Verfahren zum Evaluieren eines kernbasierten Systems auf einem Chip
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
DE10296464T5 (de) Verfahren und Gerät zur Validierung des Entwurfes einer komplexen integrierten Schaltungen
US20080295045A1 (en) Method for Creating Hdl Description Files of Digital Systems, and Systems Obtained
DE2902375A1 (de) Logikbaustein fuer integrierte digitalschaltungen
DE10150370A1 (de) Apparat und Verfahren zum Testen einer integrierten Halbleiterschaltung
DE19748016A1 (de) Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen
DE112014006751T5 (de) Schlankes serielles Interface für ein Wrapper-Boundary-Register (vorrichtung und Verfahren)
Dorsch et al. Adapting an SoC to ATE concurrent test capabilities
EP1469320A1 (de) Verfahren zur Generierung von Testersteuerungen
DE112019007386T5 (de) Verbesserte jtag-register mit gleichzeitigen eingängen
DE102020130212A1 (de) Verfahren zum deterministischen Clustering und Packing für Random-Logik auf programmierbaren integrierten Schaltungen
DE112019007375T5 (de) Speichergerät mit verbesserter sensorstruktur
DE60003847T2 (de) Universelle vorrichtung sowie verfahren und werkzeuge zu ihrer verwendung
DE112019007428T5 (de) Jtag-basierte architektur für multi-core-betrieb
EP1473573B1 (de) Intelligenter Prüfadapter
CH694927A5 (de) Verfahren und Vorrichtung zur Fehleranalyse digitaler Logikschatungen..

Legal Events

Date Code Title Description
8364 No opposition during term of opposition