-
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.