-
Technisches
Gebiet
-
Die
vorliegende Erfindung bezieht sich allgemein auf die Prüfung, das
Austesten und die Diagnose integrierter Schaltungen, in denen Design-zur-Prüfung-(DFT)-
und Design-zum-Austesten-(DFD)-Techniken
eingebettet sind. Insbesondere bezieht sich die vorliegende Erfindung
auf das Austesten oder die Fehlerdiagnose von Baumustern unter Verwendung
von DFT- und DFD-Techniken, um physikalische Ausfälle in einer
integrierten Schaltung auszutesten oder zu diagnostizieren.
-
Hintergrund
-
Der
jüngste
Fortschritt in der Halbleiterfertigung und der Design-zur-Prüfung-(DFT)-Technologie hat
hochqualitative integrierte Schaltungen hervorgebracht, die Millionen
von Gattern enthalten. Die populärsten
DFT-Techniken, die aktuell in einer integrierten Schaltung verwendet
werden, umfassen Scan, Speicher-BIST (eingebauter Selbsttest), logischer BIST
und Boundary-Scan. Siehe die von Abromovici u.a. (1990), Nadeau-Dostie
(2000) und Crouch (2000) verfaßten
Bücher.
Diese DFT-Techniken haben eine integrierte Schaltung prüfbarer gemacht und
niedrigere Prüfkosten
ergeben, als die Verwendung von speziellen Funktionsprüftechniken.
Jedoch wird es immer schwieriger sicherzustellen, daß die integrierte
Schaltung, selbst wenn in sie DFT-Schaltungskomplexe eingebettet
sind, beim ersten Mal funktionieren wird.
-
Ansätze des
Stands der Technik zum Austesten oder zur Diagnose von Baumustern
konzentrieren sich auf die Verwendung einer ATE (automatischen Prüfeinrichtung)
oder eines Elektronenstrahl-(E-Strahl) Testgeräts, um physikalische Ausfälle in der
integrierten Schaltung auszutesten oder zu diagnostizieren. Dieser
Prozeß ist
mühsam
und zeitaufwendig, da er gemeinschaftliche Anstrengungen von Designingenieuren
und Testingenieuren erfordert, und stark von der Verfügbarkeit
des Testgeräts abhängt.
-
Während diese
Ansätze
letztendlich physikalische Ausfälle
in der integrierten Schaltung erkennen können, ist es immer noch gut
möglich,
daß der
Chip auf einer Auswertungsschaltkarte oder System infolge unentdeckter
Timingfehler auf der ATE oder einer fehlenden Funktionsspezifikation
nicht arbeiten wird. Infolgedessen müssen Designingenieure Diagnostikmerkmale
in die integrierte Schaltung einbetten und die Funktionsfehler der
Schaltung getrennt auf einer Auswertungsschaltkarte oder- System austesten. Siehe
die US-Patente Nr. 5,488,688 (1996), 5,491,793 (1996), 5,544,311
(1996), 5,724,505 (1998), 5,828,824 (1998), 5,828,825 (1998) und 6,249,893
(2001). Dieses fehlende Glied zwischen der DFT-Prüfung auf
einer ATE und Funktionsprüfung auf
einer Auswertungsschaltkarte oder -System könnte potentiell das Produkteinführungszeitfenster oder
das Umsatzzeitfenster des Chips verpassen.
-
EP-A-0
826 974 betrifft im allgemeinen die Auswertung der Funktionalität elektronischer
integrierter Schaltungen und insbesondere die Steuerung und das
Design von Prüfzugriffsanschlüssen in integrierten
Schaltungen.
-
Es
gibt einen Bedarf, ein verbessertes Verfahren und eine Vorrichtung
zum Austesten oder zur Diagnose von DFT- und Funktionsfehlern in
einer integrierten Schaltung bereitzustellen, die auf einer Auswertungsschaltkarte
oder -System angeordnet ist, wobei eine preisgünstige DFT-Austestvorrichtung verwendet
wird. Es gibt außerdem
einen Bedarf, ein solches computergestütztes Design-(CAD)-Verfahren
zur automatischen Synthese der Design-zum-Austesten-(DFD)-Schaltungskomplexe
in der integrierten Schaltung zu entwickeln.
-
Inhalt
-
Folglich
ist es eines Hauptaufgabe der vorliegenden Erfindung, ein solches
verbessertes Verfahren und eine Vorrichtung zur Einführung von
Design-zum-Austesten-(DFD)-Schaltungskomplexen in eine integrierte
Schaltung bereitzustellen, um das Austesten und die Diagnose von
Baumustern zu erleichtern. Eine weitere Aufgabe der vorliegenden
Erfindung ist es, ein solches computergestütztes Design-(CAD)-Verfahren
zur automatischen Synthese der DFD-Schaltungskomplexe in der integrierten Schaltung
zu entwickeln.
-
In
der vorliegenden Erfindung setzen wir voraus, daß die integrierte Schaltung
in der Prüfung eine
Vielzahl von Design-zur-Prüfung-(DFT)
Modulen aufweist, die Scankerne, Speicher-BIST-(eingebauter Selbsttest) Kerne,
logische BIST-Kerne und Funktionskerne enthalten. Das Verfahren
und die Vorrichtung der vorliegenden Erfindung werden es Designern
ermöglichen,
eine DFT und ein Funktionsaustesten oder eine Diagnose unter Verwendung
einer preisgünstigen
DFT-Austestvorrichtung auf einem Tisch durchzuführen, während die schwierigsten Probleme
einer ATE-(automatischen Prüfeinrichtung) oder
einem Elektronenstrahl (E-Strahl)-Testgerät zum endgültigen Austesten oder zur Diagnose überlassen
werden. In der vorliegenden Erfindung werden das Verfahren oder
die Vorrichtung selektiv innerhalb oder außerhalb der integrierten Schaltung
in der Prüfung
implementiert oder angeordnet.
-
In
einem Aspekt der vorliegenden Erfindung stellt das Verfahren einen
Basissatz von Boundary-Scan-gesteuerten DFD-Befehlen bereit, um
die obenerwähnten
DFT-Module zu prüfen,
auszutesten oder zu diagnostizieren. (Man nehme bitte auf 1 im
Abschnitt „Detaillierte
Beschreibung der Zeichnungen" für weitere
Erläuterungen
bezug). Diese Basis-DFD-Befehle werden, wenn sie für sich verwendet
oder miteinander kombiniert werden, es Designern ermöglichen,
DFT- und Funktionsfehler auf einer Auswertungsschaltkarte oder -System
unter Verwendung einer preisgünstigen
Boundary-Scan-gesteuerten DFT-Austestvorrichtung auszutesten.
-
In
einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung
gemäß des Verfahrens
aufgebaut. Die Vorrichtung weist einen DFD-Kontroller und eine Vielzahl
von DFD-Schaltungskomplexen
zur Einfügung
in die obenerwähnten DFT-Module auf. Der DFD-Kontroller
verwendet einen IEEE 1149.1-konformen
Boundary-Scan-Testzugriffsport (TAP), um die DFD- Schaltungskomplexe zu steuern. Siehe
der IEEE 1149.1 Boundaryscan Std. (1993) für detaillierte Erläuterungen.
Da der IEEE-Boundary-Scan-Standard
eingesetzt wird, gibt es keinen Bedarf, irgendeinen zusätzlichen
Eingangs- oder Ausgangsstift zur Schaltung in der Prüfung hinzuzufügen, mit
der Ausnahme der 4 bis 5 zweckbestimmten Boundary-Scan-Stiften,
die durch den Standard benötigt
werden: TDI (Prüfdaten-Eingang),
TDO (Prüfdaten-Ausgang),
TMS (Prüfmodus-Auswahl),
TCK (Prüftakt)
und den optionalen TRSTB (Prüfrücksetzung).
-
Die
Aspekte und Merkmale der vorliegenden Erfindung werden, wenn sie
kombiniert werden, es Designingenieure ermöglichen, die folgenden Ziele zu
erreichen:
- 1. Sie können eine integrierte Schaltung,
die auf einer Auswertungsschaltkarte oder -System angeordnet ist,
alleine austesten oder diagnostizieren, und nur bei der Lösung der
schwierigsten Probleme auf einem ATE- oder E-Strahl-Testgerät Prüfingenieure
um Unterstützung
bitten.
- 2. Sie können
nur die Boundary-Scan-Stifte und -Systemtakte verwenden, um verdächtige DFT-Module,
die Scankerne, Speicher-BIST-Kerne, logische BIST-Kerne und Funktionskerne
enthalten, auf einer preisgünstigen
DFT-Austestvorrichtung auszutesten oder zu diagnostizieren.
- 3. Sie können
eine Scandiagnose durchführen, um
defekte Scanketten und Scanzellen unter Verwendung aller Scanketten
und Scantakte, die schon in die integrierte Schaltung eingebaut
sind, auf einer DFT-Austestvorrichtung zu lokalisieren.
- 4. Sie können
eine Speicher-BIST-Diagnose durchführen, um alle Speicherfehler,
die von Fehlern herrühren,
einschließlich
Speicherdefekten oder Datenhaltefehlern, auf einer DFT-Austestvorrichtung
zu lokalisieren.
- 5. Sie können
eine logische BIST-Diagnose durchführen, um alle mehrfachen Signaturfehler als
auch ihre jeweiligen defekten Scanketten und Scanzellen auf einer
DFT-Austestvorrichtung zu lokalisieren.
- 6. Sie können
eine Funktionsdiagnose durchführen,
um Funktionsfehler, die von Fehlern herrühren, einschließlich Verzö gerungsfehlern
oder Speicher-Schreib-/Lesefehlern auf einer DFT-Austestvorrichtung
zu lokalisieren.
- 7. Das Verfahren und die Vorrichtung der vorliegenden Erfin
dung sind zum Austesten oder Diagnostizieren anderer Typen von DFT-Modulen
anwendbar, die Speicher-Scankerne, ROM-(Festwertspeicher) BIST-Kerne, PLL-(Phasenregelschleife)
BIST-Kerne, DAC-(Digital-/Analog-Wandler) BIST-Kerne, ADC-(Analog-/Digital-Wandler)
BIST-Kerne und andere BIST-Kerne enthalten, die Fehlersignale oder
Zyklusendsignale erzeugen.
-
Um
Scankerne oder Funktionskerne in einer integrierten Schaltung auszutesten
oder zu diagnostizieren, weist die vorliegende Erfindung erstens
die Verwendung eines DFD-Selektors auf, um anzuzeigen, welche Scankerne
oder Funktionskerne gleichzeitig diagnostiziert werden sollten.
Wenn ein bestimmtes Bit im DFD-Selektor auf den logischen Wert 1
gesetzt ist, wird ein Scankern oder Funktionskern zur Diagnose gewählt. Der
DFD-Selektor weist,
falls erwünscht,
in jedem Scankern oder Funktionskern ferner zusätzliche Bits auf, um Hafttyp-Fehler, Nicht-Hafttyp-Verzögerungsfehler
oder Speicher-Schreib-/Lesefehler zu diagnostizieren. Der DFD-Selektor
wird durch den TCK gesteuert und ist ein Schieberegister, dessen
Scandateneingang und Scandatenausgang mit dem TDI bzw. dem TDO verbunden
sind.
-
Das
Verfahren der vorliegenden Erfindung umfaßt es ferner, alle Scanzellen
innerhalb aller Scankerne und Funktionskerne mit dem TDI und dem TDO
direkt zu verbinden. Es gibt drei Ansätze, das Verfahren zu implementieren.
Der erste Ansatz ist es, alle Scanzellen in allen mehrfachen Scanketten
als eine serielle Scankette miteinander zu verketten, wobei ihr
Scandateneingang und ihr Scandatenausgang mit dem TDI bzw. dem TDO
verbunden sind. Der zweite Ansatz ist es, diese Scanzellen als eine
serielle Scankette miteinander zu verketten und sie vor oder nach
der IEEE 1149.1 Boundary-Scankette einzufügen. Der letzte Ansatz ist
es, nur jene Scanzellen, die denselben Scantakt gemeinsam haben,
als eine einzige Scankette miteinander zu verketten, die als gruppierte
Scankette bezeichnet wird, wobei ihr Scandateneingang und ihr Scandatenausgang
mit dem TDI bzw. dem TDO verbunden sind.
-
Es
wird ein Scanverbinder, der eine Vielzahl von Multiplexern und Verriegelungs-D-Klinkenschaltungen
(oder D-Flipflops) aufweist, in der vorliegenden Erfindung verwendet,
um die serielle Scankette oder gruppierte Scankette gemäß des gewählten Ansatzes
aufzubauen.
-
Im
Prinzip sind die Funktionskerne Scankerne. Der einzige Unterschied
ist es, daß die
Funktionskerne durch Systemtakte gesteuert werden, während die
Scankerne durch rekonfigurierte Systemtakte gesteuert werden, die
als Scantakte bezeichnet werden.
-
Um
Scankerne auszutesten oder zu diagnostizieren, umfaßt die vorliegende
Erfindung ferner die Verwendung eines Scantaktgenerators zum Erzeugen
einer Vielzahl von nichtüberlappenden TCK-Takten
oder einer Vielzahl von nichtüberlappenden
Systemtakten zum Verbinden mit Scantakten auf, um die Schiebe- und
Erfassungsoperationen durchführen.
-
Es
gibt eine Anzahl von Vorteilen bei diesem Ansatz. Erstens ermöglicht er
es Designern, nur über den
TDI und den TDO Daten in und aus allen Scanzellen in allen Scanketten
zur Diagnose zu schieben. Zweitens reduziert er die Spitzenleistungsaufnahme als
auch die durchschnittliche Verlustleistung, da nur Scanzellen, die
mit einem Scantakt verbunden sind, ihre Zustände während jeder Schiebeoperation ändern werden.
Drittens wird es überhaupt
keine Taktversatzprobleme während
jeder Erfassungsoperation geben. Schließlich wird er es bei der Verwendung gruppierter
Scanketten ermöglichen,
daß die
Diagnose an einer gruppierten Scankette durchgeführt wird, wobei folglich die
Scandiagnoseauflösung
und Genauigkeit erhöht
wird.
-
Es
gibt eine Anzahl weiterer Vorteile bei diesem Ansatz. Erstens werden
die nichtüberlappenden TCK-Takte
verwendet, um jegliche Hafttyp-Fehler einschließlich Haftfehlern, Überbrükkungsfehlern und
IDDQ-(IDD-Ruhestrom)-Fehlern in Scankernen auszutesten oder diagnostizieren.
Zweitens werden die nichtüberlappenden
Systemtakte verwendet, um alle Nicht-Hafttyp- Verzögerungsfehler,
einschließlich Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern,
Speicher-Schreib-/Lesefehlern
und Mehrfachzyklus-Verzögerungsfehlern auszutesten
oder zu diagnostizieren. Schließlich können Scanmuster,
die zur Fertigungsprüfung
entwickelt. werden, unmittelbar zur Diagnose wiederverwendet werden,
was es folglich Designern ermöglicht,
eine preisgünstige
DFT-Austestvorrichtung zu verwenden, um dieselben Probleme auf einer
Auswertungsschaltkarte oder -System zu duplizieren, die auf einer
ATE auftauchten.
-
Um
Funktionskerne auszutesten oder zu diagnostizieren, umfaßt die vorliegende
Erfindung ferner die Verwendung einer Vielzahl von DFD-Befehlen, einschließlich RESET,
BREAK, RUN, STEP und STOP, um die Operation der Systemtakte zu steuern. Wenn
ein Funktionsfehler gefunden wird, können die Ausfalldaten unter
Verwendung der seriellen Scankette oder gruppierten Scanketten,
die schon in die Scankerne eingebaut sind, zur Diagnose herausgeschoben
werden.
-
Wenn
die Spitzenleistungsaufnahme und durchschnittliche Verlustleistung
kein Problem sind, kann man während
der Schiebeoperation den TCK mit der seriellen Scankette verbinden
und nur während
der Erfassungsoperation nichtüberlappende TCK-Takte
oder nichtüberlappende
Systemtakte mit allen Scantakten verbinden. Dies kann die Schiebezeit
und Diagnosezeit weiter reduzieren, wenn eine serielle Scankette
zur Diagnose eingesetzt wird.
-
Um
Speicher-BIST- und logische BIST-Kerne in einer integrierten Schaltung
auszutesten oder zu diagnostizieren, umfaßt das Verfahren der vorliegenden
Erfindung erstens die Verwendung eines DFD-Selektors, um anzuzeigen,
welche Speicher-BIST-Kerne oder logischen BIST-Kerne gleichzeitig
diagnostiziert werden sollen. Wenn ein bestimmtes Bit des DFD-Selektors
auf den logischen Wert 1 gesetzt ist, wird ein Speicher-BIST-Kern
oder logischer BIST-Kern zur Diagnose gewählt. Der DFD-Selektor weist
ferner, falls erwünscht,
in jedem Speicher-BIST- oder logischen BIST-Kern zusätzliche
Bits auf, um einzelne oder mehrere Fehler zu diagnostizieren, die
von Fehlern herrühren,
einschließlich Speicherfehlern,
Datenhaltefehlern, Hafttyp-Fehlern oder Nicht-Hafttyp-Verzögerungsfehlern.
-
Es
gibt eine Anzahl von Vorteilen bei diesem Ansatz. Erstens ermöglicht er
es Designingenieuren, die Diagnose von ausgewählten BIST-Kernen zu jeder.
Zeit freizugeben oder zu sperren. Zweitens, ermöglicht er es Designingenieuren,
die ausgefallenen BIST-Kerne zu überspringen
und sich auf die Diagnose anderer BIST-Kerne zu konzentrieren. Schließlich ermöglicht er
es Prüfingenieuren,
die Leistungsaufnahme während
der Fertigungsprüfung
durch selektive Auswahl von BIST-Kernen zur Parallelprüfung zu regeln.
-
Um
Speicher-BIST-(MBIST)-Ausfälle
auszutesten oder zu diagnostizieren, umfaßt das Verfahren der vorliegenden
Erfindung ferner die Verwendung eines asynchronen Abtastansatzes,
um den Inhalt des MBIST-Austestregisters zur Diagnose herauszuschieben.
Der asynchrone Abtastansatz gibt an, daß der Inhalt des MBIST-Austestregisters
periodisch abgetastet und herausgeschoben wird, zur Analyse, ob oder
ein Fehler gefunden wird oder nicht. Das MBIST-Austestregister ist
ein getrenntes Schieberegister, das ein ausgewähltes MBIST-Abschlußsignal, Statuscodes,
eine Speicheradresse, Ausgangdaten, einen Fehlerspeicherindex, ein
Fehlersignal und andere ausgewählte
Register und Signale im Speicher-BIST-Kern speichert. Es wird durch
den TCK gesteuert, und sein Scandateneingang und Scandatenausgang
sind direkt oder indirekt mit dem TDI bzw. dem TDO verbunden.
-
Jedesmal
wenn eine Speicher-BIST-Operation im Speicher-BIST-Kontroller einen Fehler detektiert,
wird der Speicher-BIST-Kontroller
im Speicher-BIST-Kern ein Fehlersignal ausgeben, die BIST-Operation
anhalten, und beginnen, auf ein Fortsetzungssignal zu warten, um
seine BIST-Operation wieder aufzunehmen und das Fehlersignal zurückzusetzen.
Um die Diagnosezeit zu reduzieren, umfaßt die vorliegende Erfindung
ferner die Verwendung eines Sprungregisters zur Speicherung der
Anzahl der MBIST-Taktzyklen oder Fehler, die der Designer während der
Diagnose überspringen
möchte.
In diesem Fall wird das Fehlersignal nur ausgegeben, nachdem der
Speicher-BIST-Kontroller die Anzahl der MBIST-Taktzyklen oder Fehler
durchgelassen hat.
-
Während der
Speicher-BIST-Kontroller die Speicher-BIST-Operation durchführt, werden die MBIST-Daten
periodisch im MBIST-Austestregister erfaßt (oder abgetastet) und zur
Diagnose herausgeschoben. Während
oder nach dem Herausschieben der MBIST-Daten zur Diagnose wird der
TAP-Kontroller über
den Speicher-BIST-DFD-Schaltungskomplex das Fortsetzungssignal ausgeben,
um die Speicher-BIST-Operation wiederaufzunehmen. Die Erfassungs-
und Schiebeoperationen werden periodisch wiederholt, bis die Speicher-BIST-Diagnose
fertig ist.
-
Um
logische BIST-(LBIST)-Ausfälle
auszutesten oder zu diagnostizieren, umfaßt das Verfahren der vorliegenden
Erfindung ferner die Verwendung eines synchronen Abtastansatzes,
um den Inhalt des Startregisters zur Diagnose hineinzuschieben und herauszuschieben.
Der synchrone Abtastansatz gibt an, daß der Inhalt des Startregisters
nur abgetastet werden darf, nachdem ein Zyklusendsignal gefunden wird.
Wenn es viele BIST-Operationen
gibt, die gleichzeitig durchgeführt
werden sollen, muß der TAP-Kontroller
warten, bis alle Zyklusendsignale erzeugt worden sind. Das Startregister
speichert ausgewählte
LBIST-Daten, die den pseudozufälligen Mustergenerator
(PRPG), Zykluszähler,
das Mehrfacheingang-Signaturregister (MISR), die Scankettenmaske,
den Zyklusmaskenstartindex, den Zyklusmaskenstopindex und andere
ausgewählte
Register und Signale umfassen. Es ist aus gegenwärtigen Datenregistern und Signalen
als Schieberegister rekonfiguriert, kann jedoch auch ein getrenntes LBIST-Austestregister
sein. Wenn ein LBIST-Austestregister verwendet wird, wird sein Taktgeber
direkt mit dem TCK verbunden sein. Es wird keinerlei Bedarf geben,
den Takt zwischen dem TCK und dem LBIST-Takt umzuschalten, wie im
Fall des Startregisters.
-
Jedesmal
wenn eine logische BIST-Operation im logischen BIST-Kontroller einen
oder mehrere ausgewählte
LBIST-Taktzyklen vollendet, wird der logische BIST-Kontroller im
logischen BIST-Kern
ein Zyklusendsignal ausgeben, die BIST-Operation anhalten, und beginnen,
auf ein Fortsetzungssignal zu warten, um seine BIST-Operation wiederaufzunehmen
und das Zyklusendsignal zurückzusetzen.
Die LBIST-Daten werden periodisch im Startregister erfaßt (oder
abgetastet) und zur Diagnose herausgeschoben. Nach dem Herausschieben
der BIST-Daten zur Diagnose wird der TAP-Kontroller über den
logischen BIST-DFD-Schaltungskomplex das Fortsetzungssignal ausgeben,
um die logische BIST-Operation wiederaufzunehmen. Die Erfassungs-
und Schiebeoperationen werden periodisch wiederholt, bis die logische
BIST-Diagnose fertig ist.
-
Es
gibt eine Anzahl von Vorteilen der Verwendung dieses Startregisters
zur logischen BIST-Diagnose. Erstens kann es mehrere Signaturfehler
lokalisieren. Herkömmliche
Ansätze
ohne die Fähigkeit
zum Verschieben eines ausgewählten Startparameters
zum fehlgeschlagenen BIST-Zyklus konnten nur den ersten Signaturfehler
finden. Zweitens kann er ferner mehrere Fehler in Scanketten und Scanzellen
lokalisieren. Schließlich
kann eine lineare Suche oder binäre
Suche für
sich oder miteinander kombiniert eingesetzt werden, um die Diagnosezeit zu
reduzieren.
-
Die
vorliegende Erfindung umfaßt
ferner die Verwendung eines hybriden linearen Such- und binären Suchverfahrens,
um alle Signaturfehler in jedem MISR zu lokalisieren. Wenn ein Signaturfehler
gefunden wird, können
alle Scanzellen im logischen BIST-Kern zur Diagnose außerhalb
des Chips herausgeschoben werden. Die Designer können auch auf dem Chip befindliche
Diagnostikmerkmale verwenden, um defekte Scanketten und Scanzellen
zu lokalisieren. Siehe die US-Patente Nr. 5,881,067 (1999) und 6,308,290
(2001), und den Artikel, der durch Ghosh-Dastidar u.a. (2000) gemeinsam
verfaßt
wurde.
-
Ein
Hauptunterschied zwischen der Speicher-BIST-Diagnose und der logischen
BIST-Diagnose der vorliegenden Erfindung ist, daß die erstgenannte ein zusätzliches
MBIST-Austestregister verwendet, um die BIST-Daten zu erfassen,
und die letztgenannte vorhandene Datenregister und Signale als ein
Schieberegister rekonfiguriert, das als Startregister bezeichnet
wird, um die BIST-Daten zu speichern. Beide Verfahren tasten die
BIST-Daten periodisch ab, jedoch verwendet die erstgenannte einen asynchronen
Ansatz, während
die letztgenannte einen synchronen Ansatz verwendet. Folglich ist
es wichtig sicherzustellen, daß jede
TCK-Abtastperiode länger
als ein Speicher-BIST- oder logischer BIST-Zyklus ist, um das Schiebedatenvolumen
zur Diagnose zu reduzieren. Zusätzlich
sollte man zur logischen BIST-Diagnose
die TCK-Abtastperiode sehr sorgfältig
steuern, um die logische BIST-Operation nicht durcheinander zu bringen.
-
Es
sollte erkannt werden, daß die
vorliegende Erfindung auch zum Austesten oder zur Diagnose irgendwelcher
anderen digitalen oder analogen BIST-Kerne, einschließlich Speicher-Scankernen, ROM-BIST-Kernen,
PLL-BIST-Kernen, DAC-BIST-Kernen, ADC-BIST-Kernen und anderer BIST-Kerne
anwendbar ist, die Fehlersignale oder Zyklusendsignale erzeugen.
Zusätzlich
können Boundary-Scan-gesteuerte
Befehle zu dem offenbarten Satz von DFD-Befehlen hinzugefügt, miteinander kombiniert
oder daraus gelöscht
werden, um das Austesten und die Diagnose der obigen digitalen und analogen
Kerne zu erleichtern, und werden folglich ebenfalls durch die vorliegende
Erfindung abgedeckt, wenn solche DFD Techniken verwendet werden.
-
Kurze Beschreibung
der Zeichnungen
-
Die
obigen und anderen Aufgaben, Vorteile und Merkmale der Erfindung
werden deutlicher werden, wenn sie mit der folgenden Beschreibung
und beigefügten
Zeichnungen betrachtet werden, wobei.
-
1 eine
Vielzahl von Boundary-Scan-gesteuerten Befehlen auflistet, die 14
Basis-Design-zum-Austesten-(DFD)-Befehle
einer Ausführungsform
der vorliegenden Erfindung zur Prüfung, zum Austesten oder zur
Diagnose von Scankernen, Speicher-BIST-Kernen, logischen BIST-Kernen und Funktionskernen
in einer integrierten Schaltung umfassen;
-
2 einen
DFD-Kontroller einer Ausführungsform
der vorliegenden Erfindung zeigt, der die in 1 aufgelisteten
Basis-DFD-Befehle unterstützt;
-
3 einen
DFD-Schaltungskomplex einer Ausführungsform
der vorliegenden Erfindung zeigt, um Scankerne auszutesten oder
zu diagnostizieren;
-
4 einen
Scanverbinder einer ersten Ausführungsform
der vorliegenden Erfindung zeigt, um zur Diagnose von Scankernen,
logischen BIST-Kernen oder Funktionskernen mehrere Scanketten zu
einer seriellen Scankette miteinander zu verketten;
-
5 einen
Scanverbinder einer zweiten Ausführungsform
der vorliegenden Erfindung zeigt, um zur Diagnose von Scankernen,
logischen BIST-Kernen oder Funktionskernen mehrere Scanketten zu
einer seriellen Scankette miteinander zu verketten;
-
6 einen
Scanverbinder einer dritten Ausführungsform
der vorliegenden Erfindung zeigt, um zur Diagnose von Scankernen,
logischen BIST-Kernen oder Funktionskernen mehrere Scanketten zu
einer Vielzahl von gruppierten Scanketten miteinander zu verketten;
-
7 einen
Scantaktgenerator einer Ausführungsform
der vorliegenden Erfindung zeigt, um Scantakte zur Diagnose von
Scankernen zu erzeugen;
-
8 einen
DFD-Schaltungskomplex einer Ausführungsform
der vorliegenden Erfindung zeigt, um Speicher-BIST-Kerne auszutesten
oder zu diagnostizieren;
-
9 ein
MBIST-Austestregister einer Ausführungsform
der vorliegenden Erfindung zeigt, um ausgewählte MBIST-Daten zur Diagnose von Speicher-BIST-Kernen
zu speichern;
-
10 einen
DFD-Schaltungskomplex einer Ausführungsform
der vorliegenden Erfindung zeigt, um logische BIST-Kerne auszutesten
oder zu diagnostizieren;
-
11 eine
Vielzahl von Startregistern einer ersten Ausführungsform der vorliegenden
Erfindung zeigt, um zur Diagnose logischer BIST-Kerne ausgewählte LBIST-Daten
zu speichern;
-
12 eine
Vielzahl von Startregistern einer zweiten Ausführungsform der vorliegenden
Erfindung zeigt, um zur Diagnose logischer BIST-Kerne ausgewählte LBIST-Daten
zu speichern;
-
13 einen
DFD-Schaltungskomplex einer Ausführungsform
der vorliegenden Erfindung zeigt, um Funktionskerne auszutesten
oder zu diagnostizieren;
-
14 einen
Unterbrechungssteuerschaltungskomplex einer Ausführungsform der vorliegenden
Erfindung zeigt, um zur Diagnose von Funktionskernen Steuersignale
zu erzeugen;
-
15 ein
Zeitdiagramm des Funktionstaktkontrollers einer Ausführungsform
der vorliegenden Erfindung zeigt, um Funktionskerne auszutesten oder
zu diagnostizieren;
-
16 einen
Ablaufplan ausgewählter DFD-Befehle
einer Ausführungsform
der vorliegenden Erfindung zeigt, um Scankerne auszutesten oder zu
diagnostizieren;
-
17 einen
Ablaufplan ausgewählter DFD-Befehle
einer Ausführungsform
der vorliegenden Erfindung zeigt, um Speicher-BIST-Kerne auszutesten
oder zu diagnostizieren;
-
18 einen
Ablaufplan ausgewählter DFD-Befehle
einer Ausführungsform
der vorliegenden Erfindung zeigt, um logische BIST-Kerne auszutesten
oder zu diagnostizieren;
-
19 einen
Ablaufplan ausgewählter DFD-Befehle
einer Ausführungsform
der vorliegenden Erfindung zeigt, um Funktionskerne auszutesten oder
zu diagnostizieren; und
-
20 ein
erfindungsgemäßes computergestütztes Design-(CAD)-Verfahren zeigt,
um die DFD-Kontroller- und DFD-Schaltungskomplexe zu synthetisieren.
-
Detaillierte
Beschreibung der Erfindung
-
Die
folgende Beschreibung wird gegenwärtig als die beste Art der
Ausführung
der vorliegenden Erfindung angesehen. Diese Beschreibung ist nicht
in einem einschränkenden
Sinne aufzufas sen, sondern wird lediglich zum Zwecke der Beschreibung
der Prinzipien der Erfindung vorgenommen. Der Rahmen der Erfindung
sollte durch Bezugnahme auf die beigefügten Ansprüche festgelegt werden.
-
1 listet
eine Vielzahl von Boundary-Scan-gesteuerten Befehlen auf, um DFT-Module in
einer integrierten Schaltung zu prüfen, auszutesten oder zu diagnostizieren.
Die DFT-Module umfassen Scankerne, Speicher-BIST-Kerne, logische BIST-Kerne
und Funktionskerne.
-
Die
ersten 6 Befehle, von BYPASS zu IDCODE sind JTAG-(Joint Test Action Group) Anweisungen
des Stands der Technik, um die Boundary-Scan-Operationen zu prüfen. Die
nächsten
3 Befehle, von RUN_SCAN bis RUN_LBIST, sind herkömmliche DFT-Anweisungen, um diese DFT-Module zu
prüfen.
Die letzten 14 Befehle, die 4 Anweisungen von DBG SCAN bis DBG_FUNCTION
und 10 Befehle von SELECT bis STOP umfassen, werden alle als DFD-Befehle der vorliegenden
Erfindung bezeichnet, um diese DFT-Module auszutesten oder zu diagnostizieren.
-
Genauer
gesagt setzt eine Anweisung wie DBG_SCAN einen Scanaustestmodus
auf einen logischen Wert 1, während
ein Befehl, wie SELECT oder STOP, ein Steuersignal erzeugen und
den Scanaustestmodus nicht auf einen logischen Wert 0 zurücksetzen
wird. Diese DFD-Befehle, wenn sie für sieh verwendet oder mit anderen
JTAG- und DFT-Anweisungen kombiniert werden, werden das Austesten oder
die Diagnose der DFT-Module erleichtern und es Designern ermöglichen,
Funktionsfehler auf einer Auswertungsschaltkarte oder -System unter
Verwendung einer preisgünstigen
DFT-Austestvorrichtung auszutesten oder zu diagnostizieren.
-
Der
IEEE 1149.1 Boundary-Scan-Standard unterstützt 4 zweckbestimmte Stifte,
TDI (Prüfdaten-Eingang),
TDO (Prüfdaten-Ausgang), TMS (Prüfmodus-Auswahl),
und TCK (Prüftakt),
als auch einen optionalen Eingangsstift TRSTB (Prüfrücksetzung).
-
Die
Funktion jedes Basis-DFD-Befehls der vorliegenden Erfindung wird
im folgenden aufgelistet und beschrieben:
-
1. DFD-Befehl – DBG_SCAN
-
Der
Befehl wird dem DFD-Kontroller mitteilen, welche Scankerne ausgetestet
oder diagnostiziert werden sollen. Ein Scanaustestmodus wird auf einen
logischen Wert 1 gesetzt, wenn der Befehl ausgegeben wird. Der Scanaustestmodus
wird auf dem logischen Wert 1 bleiben, bis man irgendeine andere JTAG-Anweisung,
einschließlich
DBG_MBIST, DBG_LBIST oder DBG_FUNCTION ausgibt. Zu diesem Zeitpunkt
wird der Scanaustestmodus automatisch auf den logischen Wert 0 zurückgesetzt.
-
2. DFD-Befehl – DBG_MBIST
-
Der
Befehl wird dem DFD-Kontroller mitteilen, welche Speicher-BIST-Kerne
ausgetestet oder diagnostiziert werden sollen. Ein MBIST-Austestmodus
wird auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben
wird. Der MBIST-Austestmodus wird auf dem logischen Wert 1 bleiben,
bis man irgendeine andere JTAG-Anweisung einschließlich DBG_SCAN,
DBG_LBIST oder DBG_FUNCTION ausgibt. Zu diesem Zeitpunkt wird der
MBIST-Austestmodus
automatisch auf den logischen Wert 0 zurückgesetzt.
-
3. DFD-Befehl – DBG_LBIST
-
Der
Befehl wird dem DFD-Kontroller mitteilen, welche logischen BIST-Kerne
ausgetestet oder diagnostiziert werden sollen. Ein LBIST-Austestmodus
wird auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben
wird. Der LBIST-Austestmodus wird auf dem logischen Wert 1 bleiben,
bis man irgendeine andere JTAG-Anweisung ausgibt, einschließlich DBG_SCAN,
DBG_MBIST oder DBG_FUNCTION. Zu diesem Zeitpunkt wird der LBIST-Austestmodus
automatisch auf den logischen Wert 0 zurückgesetzt.
-
4. DFD-Befehl – DBG_FUNCTION
-
Der
Befehl wird dem DFD-Kontroller mitteilen, welche Funktionskerne
ausgetestet oder diagnostiziert werden sollen. Ein Funktionsaustestmodus wird
auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben wird.
Der Funktionsaustestmodus wird auf dem logischen Wert 1 bleiben,
bis man irgendeine andere JTAG-Anweisung, einschließlich DBG_SCAN,
DBG_MBIST oder DBG_LBIST ausgibt. Zu diesem Zeitpunkt wird der Funktionsaustestmodus
automatisch auf den logischen Wert 0 zurückgesetzt.
-
5. DFD-Befehl – SELECT <Kerne>
-
Der
Befehl wird es Designern ermöglichen, gewünschte DFT-Module <Kerne> zur Diagnose auszuwählen oder überspringen.
Zusätzliche
Fehlertypen, einschließlich
Haftfehlern, Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern, Mehrfachzyklus-Verzögerungsfehlern,
IDDQ-Fehlern, Datenhaltefehlern und Speicher-Schreib-/Lesefehlern
können
im DFT-Selektor gespeichert werden.
-
6. DFD-Befehl – SHIFT <Muster>
-
Der
Befehl wird das spezifizierte <Muster> über den TDI automatisch in
ausgewählte
Scanzellen hineinschieben und über
den TDO den Inhalt ausgewählter
Scanzellen zur Diagnose herausschieben. Abhängig vom DFD-Austestmodus werden
spezifische Scanzellen in einer ausgewählten seriellen/gruppierten
Scankette, einem MBIST-Austestregister oder LBIST-Startregister
ausgewählt.
-
7. DFD-Befehl – SHIFT_CHAIN <Index> <Muster>
-
Der
Befehl wird automatisch dieses spezifizierte <Muster> über
den TDI hineinschieben und es in die Scanzellen der gruppierten
Scankette <Index> laden. Dieser Befehl
ist zur Scandiagnose, logischen BIST-Diagnose und Funktionsdiagnose
nützlich, wenn
es erforderlich ist, Daten in und aus allen Scanzellen in der ausgewählten Scankette <Index> hinein- und herauszuschieben.
-
8. DFD-Befehl – CAPTURE
-
Der
Befehl wird die Ergebnisse erfassen und sie in die Scanzellen in
ausgewählten
Scankerne, Speicher-BIST-Kerne oder logischen BIST-Kerne laden.
-
9. DFD-Befehl – SKIP <Zyklen>/SKIP <Anzahl von Fehlern>
-
Der
Befehl wird es der integrierten Schaltung ermöglichen, einen oder mehrere <Zyklen> oder <Anzahl von Fehlern> unter Verwendung von
Speicher-BIST-Takten zu überspringen.
Es ist ein Sprungregister erforderlich, um die <Zyklen> oder die <Anzahl von Fehlern> in jedem Speicher-BIST-Kern zu speichern.
-
10. DFD-Befehl – RESET
-
Der
Befehl wird die Funktionskerne auf einen vorbestimmten Zustand initialisieren.
Es wird ein Rücksetzsteuersignal
auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben wird.
-
11. DFD-Befehl – BREAK <Index> <Bedingung>
-
Der
Befehl wird die Systemtakte unmittelbar stoppen, nachdem der Unterbrechungs-<Index> die Unterbrechungs-<Bedingung> trifft. Der Unterbrechungs-<Index> zeigt an, welches
Signal oder welcher Bus im Funktionskern überwacht werden soll. Die Unterbrechungs-<Bedingung> zeigt an, wann die Systemtakte
zu stoppen sind. Es kann so viele BREAK-Befehle geben, wie benötigt werden,
um die internen Zustände
zu überwachen.
Da dieser Befehl spezifiziert wird, bevor ein RUN-Befehl ausgegeben wird,
wird es keine TCK-Taktverzögerungen
geben. Es wird ein Satz von Unterbrechungsregistern benötigt, um
die BREAK-Befehle zu speichern. Es wird ein Unterbrechungssteuersignal
auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben wird, und
es wird ein Unterbrechungsbedingungssignal auf einen logischen Wert
1 gesetzt, wenn die Unterbrechungsregister-<Bedingung> erfüllt
ist. Beide Signale werden auf einen logischen Wert 0 zurückgesetzt, wenn
ein TAP-Kontrollersignal Update_IR eintrifft.
-
12. DFD-Befehl – RUN
-
Der
Befehl wird es der integrierten Schaltung ermöglichen, während jedes DFD-Austestmodus ständig in
Betrieb zu sein. Ein Ausführungssteuersignal
wird auf einen logischen Wert 1 gesetzt, wenn der Befehl ausgegeben
wird.
-
13. DFD-Befehl – STEP <Zyklen>
-
Der
Befehl wird es der integrierten Schaltung ermöglichen, einen oder mehrere <Zyklen> unter Verwendung von
Systemtakten auszuführen.
Es ist ein Schrittzähler
erforderlich, um die <Zyklen>-Grenze zu speichern.
Ein Schrittsteuersignal wird auf einen logischen Wert 1 gesetzt,
wenn der Befehl ausgegeben wird, und ein Schrittgrenzsignal wird
auf einen logischen Wert 1 gesetzt, wenn der Schrittzähler seine
Grenze erreicht.
-
14. DFD-Befehl – STOP
-
Der
Befehl wird die Ausführung
der integrierten Schaltung stoppen. Da der Befehl der TCK-Steuerung
unterliegt, wird es einige Taktzyklen Verzögerung geben, bevor die Systemtakte
stoppen können. Ein
Stopsteuersignal wird auf einen logischen Wert 1 gesetzt, um die
Operation des ausgewählten
Scankerns, Speicher-BIST-Kerns, logischen BIST-Kerns oder Funktionskerns
zeitweilig auszusetzen.
-
2 zeigt
einen DFD-Kontroller 203 einer Ausführungsform der vorliegenden
Erfindung, der die Basis-DFD-Befehle unterstützt, die in 1 aufgelistet
sind. Die auszutestende Schaltung 212 besteht aus Scankernen 208,
Speicher-BIST-Kernen 209, logischen BIST-Kernen 210 oder
Funktionskernen 211 oder einer Mischung dieser Typen von
Kernen. Jeder Typ Kern ist mit einem zweckbestimmten DFD-Schaltungskomplex 204 bis 207 verbunden.
Diese DFD-Schaltungskomplexe 204 bis 207 werden
durch den zentralen DFD-Kontroller 203 gesteuert, der wiederum
durch den TAP-Kontroller 202 gesteuert wird. Die Steuer-
und Datenschnittstelle zwischen der auszutestenden Schaltung 212 und
der preisgünstigen DFT-Austestvorrichtung 201 ist
eine Standard-JTAG-Schnittstelle,
die aus dem TDI 213, TDO 214, TCK 215,
TMS 216 und optional dem TRSTB 217, als auch den
Systemtakten sys_CK 238 besteht.
-
Für Scankerne 208 wird
ein Schieberegister 245 verwendet, das als DFD-Selektor
1 bezeichnet wird, um anzugeben, welche Scankerne ausgetestet werden
sollen und auf welchen Typ von Fehlern abgezielt werden soll. Die
Details des DFD-Selektors 1 245 werden in 3 angegeben.
Zusätzlich
sollten alle Scanzellen SC in allen Scankernen 208 in Scanketten
SCN 246 gelegt werden. In Austestmodus werden diese Scanketten
SCN 246 miteinander verkettet, um entweder eine serielle
Scankette oder mehrere gruppierte Scanketten zu bilden. Auf diese seriellen
oder gruppierten Scanketten kann durch den TDI 213 und
TDO 214 zugegriffen werden. Die Details der Scankettenverkettung
mit einem Scanverbinder werden in 4, 5 und 6 dargestellt.
Die Operation der Scankerne 208 wird über den zweckbestimmten DFD-Schaltungskomplex 204 durch
den DFD-Kontroller 203 gesteuert.
-
Für Speicher-BIST-Kerne 209 wird
ein Schieberegister 256 verwendet, das als DFD-Selektor
2 bezeichnet wird, um anzugeben, welche Speicher-BIST-Kerne ausgetestet
werden sollen und auf welchen Typ von Fehlern abgezielt werden soll.
Die Details des DFD-Selektors 2 werden in 8 angegeben.
Zusätzlich
gibt es MBIST-Austestregister 257, die verwendet werden,
um die Werte verschiedener interner Signale in Speicher-BIST-Kernen 209 zu Austestzwecken
zu erfassen und herauszuschieben. Ferner gibt es Sprungregister 258,
eines für
jeden Speicher-BIST-Kern.
Es wird ein Sprungregister 258 zur Speicherung einer vorbestimmten
Anzahl von MBIST-Taktzyklen oder Fehlern verwendet, die während des
Prozesses des Austestens eines Speicher-BIST-Kerns übersprungen werden sollen.
Die Operation der Speicher-BIST-Kerne 209 wird über den
zweckbestimmten DFD-Schaltungskomplex 205 durch den DFD-Kontroller 203 gesteuert.
-
Für logische
BIST-Kerne 210 wird ein Schieberegister 268 verwendet,
das als DFD-Selektor 3 bezeichnet wird, um anzugeben, welche logischen BIST-Kerne
ausgetestet werden sollen und auf welchen Typ von Fehlern abgezielt
werden soll. Die Details des DFD-Selektors 3 werden in 10 angegeben.
Zusätzlich
gibt es Startregister 269, die aus vorhandenen Registern,
einschließlich
PRPGs und MISRs, rekonfiguriert werden können oder durch zusätzliche
Register gebildet werden können,
die verwendet werden, um die Werte verschiedener interner Signale
zu Austestzwecken zu halten. Ferner sollten alle Scanzellen SC in
allen logischen BIST-Kernen 210 in Scanketten SCN 270 gelegt
werden. Im Austestmodus werden die Scanketten SCN 270 miteinander
verkettet, um entweder eine serielle Scankette oder mehrere gruppierte
Scanketten zu bilden. Auf diese seriellen oder gruppierten Scanketten
kann durch den TDI 213 und den TDO 214 zugegriffen werden.
Die Details der Scankettenverkettung mit einem Scanverbinder werden
in 4, 5 und 6 dargestellt.
Die Operation der logischen BIST-Kerne 210 wird über den
zweck bestimmten DFD-Schaltungskomplex 206 durch den DFD-Kontroller 203 gesteuert.
-
Für Funktionskerne 211 wird
ein Schieberegister 279 verwendet, das als DFD-Selektor
4 bezeichnet wird, um anzugeben, welche Funktionskerne ausgetestet
werden sollen und auf welchen Typ von Fehlern abgezielt werden soll.
Die Details des DFD-Selektors
4 werden in 13 angegeben. Zusätzlich gibt
es Unterbrechungsregister 280 und Schrittzähler 281,
die Unterbrechungsbedingungen bzw. Schrittgrenzen enthalten. Ferner
sollten alle Scanzellen SC in allen Funktionskernen 211 in
Scanketten SCN 282 gelegt werden. In Austestmodus werden
die Scanketten SCN 282 verkettet, um entweder eine serielle
Scankette oder mehrere gruppierte Scanketten zu bilden. Auf diese
seriellen oder gruppierten Scanketten kann durch den TDI 213 und den
TDO 214 zugegriffen werden. Die Details der Scankettenverkettung
mit einem Scanverbinder werden in 4, 5 und 6 dargestellt.
Die Operation der Funktionskerne 211 wird über den
zweckbestimmten DFD-Schaltungskomplex 207 durch den DFD-Kontroller 203 gesteuert.
-
Der
DFD-Kontroller 203 erzeugt Steuersignale, die auf 14 DFD-Befehlen,
einschließlich
4 Anweisungen von DBG_SCAN bis DBG_FUNCTION, und 10 Befehlen von
SELECT bis STOP beruhen, die in 1 aufgelistet
sind. Ein DFD-Befehl wird von der preisgünstigen DFT-Austestvorrichtung 201 über den
TAP-Kontroller 202 angelegt und wird in geeignete Steuerwerte
umgesetzt, einschließlich DFD-Prüfmodi 225, 227 und 230,
DFD-Austestmodi 226, 228, 231 und 232,
und Steuersignale 229, 233, 234, 235, 236 und 237.
Jede Anweisung von DBG_SCAN bis DBG_FUNCTION setzt ihr entsprechendes
Austestmodussignal auf den logischen Wert 1. Zum Beispiel wird das
Anlegen der DBG_SCAN-Anweisung das scan_debug_mode-Signal 226 auf
den logischen Wert 1 setzen. Jedoch erzeugt jeder Befehl von SELECT
bis STOP nur ein entsprechendes Steuersignal und kann überhaupt kein
Austestmodussignal auf den logischen Wert 0 zurücksetzen. Die 14 DFD-Befehle,
wenn sie für
sich verwendet oder mit anderen JTAG- und DFT-Anweisungen kombiniert
werden, werden das Austesten oder die Diagnose ver schiedener Kerne
unter Verwendung einer preisgünstigen
DFT-Austestvorrichtung
erleichtern.
-
3 zeigt
einen DFD-Schaltungskomplex 204 einer Ausführungsform
der vorliegenden Erfindung, um Scankerne 208 auszutesten
oder zu diagnostizieren.
-
In
den Scankernen 208 ist der DFD-Selektor 1 ein Schieberegister 245,
von dem 2 oder mehr Bits jedem Scankern zugeordnet werden, um anzuzeigen,
ob der Scankern diagnostiziert wird, und auf welche Art von Fehlern,
einschließlich
Haftfehlern, Überbrückungsfehlern,
IDDQ-Fehlern, Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern,
Speicher-Schreib-/Lesefehlern
oder Mehrfachzyklus-Verzögerungsfehlern
abgezielt werden soll. Zum Beispiel zeigt das Bit 303 für den ersten Scankern,
Scankern 1 an, ob dieser Kern diagnostiziert wird, während die
Bits 304 und 305 angeben, auf welche Art von Fehlern
abgezielt werden sollte.
-
Zusätzlich sollten
alle Scanzellen SC in allen Scankernen 208 in Scanketten
SCN 306 bis 307 gelegt werden, die mit dem Scanverbinder 301 verbunden
sind. Im Austestmodus, der durch das scan_debug_mode-Signal 226 angezeigt
wird, werden die Scanketten SCN 306 bis 307 mit
einem Scanverbinder, der in 4, 5 und 6 dargestellt
wird, in entweder eine serielle Scankette oder mehrere gruppierte
Scanketten verkettet. Als Ergebnis können, wenn die Signale Select1 312 und Select2 313 geeignet
erzeugt werden, der DFT-Selektor 1 245, eine serielle Scankette
oder irgendeine der gruppierten Scanketten gemäß der verschiedenen Prüf- und Austestanforderungen
zwischen dem TDI 218 und dem TDO 219 angeordnet
werden.
-
Ferner
enthält
der DFD-Schaltungskomplex 204 einen Scantaktgenerator 302,
dessen bauliche Einzelheiten und Musterausgangswellenformen in 7 gezeigt
werden.
-
4 zeigt
einen Scanverbinder 408 einer ersten Ausführungsform
der vorliegenden Erfindung, um zum Zweck der Diagnose von Scankernen 208, logischen
BIST-Kernen 210 oder Funktionskernen 211 mehrere
Scanketten SCN 409 bis 412 zu einer seriellen
Scankette SSC 414 miteinander zu verketten.
-
Die
Scankette SCN 409 wird durch den Scantakt SCK[1] 416 betrieben,
die Scanketten SCN 410 und 411 werden im selben
Taktbereich durch den Scantakt SCK[2] 419 betrieben, und
die Scankette SCN 412 wird durch den Scantakt SCK[3] 424 betrieben.
Mit vier Multiplexern 402 bis 406 im Scanverbinder 408 werden
die vier Scanketten 409 bis 412 zu einer seriellen
Scankette SSC 414 verkettet. Das Signal Select5 426 sollte
so erzeugt werden, daß alle Scanketten
SCN 409 bis 412 im Austestmodus Eingangsdaten
vom TDI 218 und im Prüfmodus
von den äußeren Scandateneingängen sys_SDI[1] 415, sys_SDI[2] 418,
sys_SDI[3] 421 und sys_SDI[4] 423 erhalten. Das
Signal Select4 435 sollte so erzeugt werden, daß die Boundary-Scankette
BSC 401, die serielle Scankette SSC 414 oder andere
Register gemäß der verschiedenen
Prüf- und
Austestanforderungen geeignet zwischen dem TDI 218 und
dem TDO 219 angeordnet werden können.
-
Man
beachte, daß zwei
Inverter und zwei Verriegelungselemente (die jeweils ein D-Flipflop oder
eine D-Klinkenschaltung aufweisen) LE 404 und LE 407 an
den Begrenzungen zwischen SCK[1] 416 und SCK[2] 419 bzw.
zwischen SCK[2] 419 und SCK[3] 424 eingefügt sind,
um sich überkreuzende Taktbereichstimingprobleme
zu verhindern. Sie können
selektiv an den Begrenzungen zwischen dem Multiplexer 402 und
der Scankette SCN 409 bzw. zwischen dem Multiplexer 405 und
der Scankette SCN 411 eingefügt werden.
-
5 zeigt
einen Scanverbinder einer zweiten Ausführungsform der vorliegenden
Erfindung, um zur Diagnose von Scankernen 208, logischen BIST-Kernen 210 oder
Funktionskernen 211 mehrere Scanketten zu einer seriellen
Scankette miteinander zu verketten.
-
In 5(a) ist die serielle Scankette SSC 501,
die in der in 4 gezeigten Weise aufgebaut ist,
vor der Boundary-Scankette
BSC 502 angeordnet. Die Signale Select6 503 und
Select7 504 sollten so erzeugt werden, daß die Boundary-Scankette BSC 502,
die kombinierte Scankette, die aus der seriellen Scankette SSC 501 und
der Boundary-Scankette BSC 502 zusammengesetzt ist, oder
andere Register gemäß der verschiedenen
Prüf- und Austestanforderungen
geeignet zwischen dem TDI 218 und dem TDO 219 angeordnet
werden.
-
In 5(b) ist die serielle Scankette 506,
die in der in 4 gezeigten Weise aufgebaut
ist, nach der Boundary-Scankette
BSC 505 angeordnet. Das Signal Select8 507 sollte
so erzeugt werden, daß die Boundary-Scankette
BSC 505, die kombinierte Scankette, die aus der Boundary-Scankette
BSC 505 und der seriellen Scankette SSC 506 zusammengesetzt ist,
oder andere Register gemäß der verschiedenen Prüf- und Austestanforderungen
geeignet zwischen dem TDI 218 und dem TDO 219 angeordnet
werden können.
-
6 zeigt
einen Scanverbinder 606 einer dritten Ausführungsform
der vorliegenden Erfindung, um zur Diagnose von Scankernen 208,
logischen BIST-Kernen 210 oder Funktionskernen 211 mehrere Scanketten
SCN 607 bis 610 zu einer Vielzahl von gruppierten
Scanketten GSC 612 miteinander zu verketten.
-
Die
Scankette SCN 607 wird durch den Scantakt SCK[1] 614 betrieben,
Die Scanketten SCN 608 und 609 werden im selben
Taktbereich durch den Scantakt SCK[2] 617 betrieben, und
die Scankette SCN 610 wird durch den Scantakt SCK[3] 622 betrieben.
Mit vier Multiplexern 602 bis 605 im Scanverbinder 606 werden
die vier Scanketten SCN 607 bis 610 zu drei Gruppen
verkettet:
die Scankette SCN 607 befindet sich in
der ersten Gruppe, die Scanketten SCN 608 und 609 befinden sich
in der zweiten Gruppe, und die Scankette SCN 610 befindet
sich in der dritten Gruppe. Das Signal Select9 624 sollte
so erzeugt werden, daß alle
Scanketten SCN 607 bis 610 im Austestmodus Eingangsdaten
vom TDI 218 und im Prüfmodus
von den äußeren Scandateneingängen sys_SDI[1] 613, sys_SDI[2] 616,
sys_SDI[3] 619 und sys_SDI[4] 621 erhalten. Das
Signal Select10 625 sollte so erzeugt werden, daß die Boundary-Scankette
BSC 601, jede der gruppierten Scanketten GSC 612 oder
andere Register gemäß der verschiedenen
Prüf- und
Austestanforderungen geeignet zwischen dem TDI 218 und
dem TDO 219 angeordnet werden können.
-
7 zeigt
einen Scantaktgenerator 302 einer Ausführungsform der vorliegenden
Erfindung, der Scantakte 244 zur Diagnose von Scankernen 208 erzeugt.
-
7(a) zeigt den Scantaktgenerator 302, der
aus einem Taktphasengenerator 701 und einem Scantaktkontroller 702 zusammengesetzt
ist. Der Taktphasengenerator 701 nimmt den TCK als Eingabe
auf und erzeugt drei nichtüberlappende
Takte TCK1 706, TCK2 707 und TCK3 708,
die dieselbe Frequenz wie der TCK aufweisen. Zusätzlich zu den nichtüberlappenden
TCK-Taktsignalen weist der Scantaktkontroller 702 noch
einen Satz Takteingangssignale auf: sys_CK[1] 703, sys_CK[2] 704 und sys_CK[3] 705,
die Systemtakte sind, die von außerhalb der auszutestenden
Schaltung 212 bereitgestellt werden. Das Signal Select3 314,
das beruhend auf dem Fehlertyp und der Leistungsgrenze der als Ziel gesetzten
Scankerne 208 erzeugt wird, wird verwendet, um den TCK 220,
die nichtüberlappenden TCK-Takte 706 bis 708 oder
die externen Systemtakte 703 bis 705 als Scantakte
SCK[1] 709, SCK[2] 710, und SCK[3] 711 für die Scankerne 208 auszuwählen. Das
globale Scanfreigabesignal GSE 243 wird ebenfalls durch
den Scantaktkontroller 702 erzeugt.
-
7(b) zeigt die Wellenformen für die Scantakte
SCK[1] 709, SCK[2] 710 und SCK[3] 711, als
auch das globale Scanfreigabesignal GSE 243, wenn das Signal
Select3 314 den Wert 0 repräsentiert. Es sollte beachtet
werden, daß während des Schiebezyklus
nichtüberlappende
TCK-Takte verwendet werden. Wie durch die Impulse 733 bis 735 dargestellt,
kann dieses Taktschema sowohl die Spitzenleistungsaufnahme als auch
die durchschnittliche Verlustleistung reduzieren. Während des
Erfassungszyklus werden auf dem Taktbereich beruhende Signalerfassungsimpulse 736 bis 738 mit
der Frequenz des TCK angelegt. Dies macht es möglich, Hafttyp-Fehler, einschließlich Haftfehlern, Überbrückungsfehlern
oder IDDQ-Fehlern zu diagnostizieren.
-
7(c) zeigt die Wellenformen für die Scantakte
SCK[1] 709, SCK[2] 710, und SCK[3] 711, als
auch das globale Scanfreigabesignal GSE 243, wenn das Signal
Select3 314 den Wert 1 re präsentiert. Es sollte beachtet
werden, daß während des Schiebezyklus
nichtüberlappende
TCK-Takte verwendet werden. Wie durch die Impulse 741 bis 743 dargestellt,
kann dieses Taktschema sowohl die Spitzenleistungsaufnahme als auch
die durchschnittliche Verlustleistung reduzieren. Während des
Erfassungszyklus werden auf dem Taktbereich beruhende Doppel-Erfassungsimpulse <744, 745>, <746, 747> und <748, 749> mit den Systemtaktfrequenzen
angelegt. Dies macht es möglich,
Nicht-Hafttyp-Verzögerungsfehler,
einschließlich Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern,
Speicher-Schreib-/Lesefehlern
oder Mehrfachzyklus-Verzögerungsfehlern
zu diagnostizieren.
-
7(d) zeigt die Wellenformen für die Scantakte
SCK[1] 709, SCK[2] 710 und SCK[3] 711, als
auch das globale Scanfreigabesignal GSE 243, wenn das Signal
Select3 314 den Wert 2 repräsentiert. Während des Schiebezyklus werden überlappende
TCK-Takte verwendet.
Es sollte beachtet werden, daß diese überlappenden
TCK Takte nur verwendet werden, wenn eine serielle Scankette eingesetzt
wird. Wie durch die Impulse 763 bis 765 dargestellt,
kann dieses Taktschema die Schiebezeit reduzieren. Während des
Erfassungszyklus werden auf dem Taktbereich beruhende Einzel-Erfassungsimpulse 766 bis 768 mit
der Frequenz des TCK angelegt. Dies macht es möglich, Hafttyp-Fehler, einschließlich Haftfehlern, Überbrückungsfehlern
oder IDDQ-Fehlern zu diagnostizieren.
-
7(e) zeigt die Wellenformen für die Scantakte
SCK[1] 709, SCK[2] 710, und SCK[3] 711, als
auch das globale Scanfreigabesignal GSE 243, wenn das Signal
Select3 314 den Wert 3 repräsentiert. Während des Schiebezyklus werden überlappende
TCK-Takte verwendet.
Es sollte beachtet werden, daß diese überlappenden
TCK-Takte nur verwendet werden, wenn eine serielle Scankette eingesetzt
wird. Wie durch die Impulse 771 bis 773 dargestellt,
kann dieses Taktschema die Schiebezeit reduzieren. Während des
Erfassungszyklus werden auf dem Taktbereich beruhende Doppel-Erfassungsimpulse <774, 775>, <776, 777> und <778, 779>, mit den Systemtaktfrequenzen
angelegt. Dies macht es möglich, Nicht-Hafttyp-Verzögerungsfehler,
einschließlich Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern,
Speicher-Schreib-/Lesefehlern oder Mehrfachzyklus-Verzögerungsfehlern
zu diagnostizieren.
-
8 zeigt
einen DFD-Schaltungskomplex 205 einer Ausführungsform
der vorliegenden Erfindung, um Speicher-BIST-Kerne 209 auszutesten oder
zu diagnostizieren.
-
In
den Speicher-BIST-Kernen 209 ist der DFD-Selektor 2 ein
Schieberegister 256, von dem 2 oder mehr Bits jedem Speicher-BIST-Kern zugeordnet
werden, um anzuzeigen, ob der Speicher-BIST-Kern diagnostiziert wird und welche
Art von Fehlern, einschließlich
jener Fehler, die eine schnelle Prüfung benötigen oder jener Fehler, die eine
langsame Prüfung
benötigen,
als Ziel gesetzt werden sollen. Zum Beispiel zeigt für den ersten Speicher-BIST-Kern
MBIST-Kern 1 das Bit 804 an, ob dieser Kern diagnostiziert
wird, während
die Bits 805 und 806 einzeigen, welche Art von
Fehlern als Ziel gesetzt werden sollten.
-
Zusätzlich gibt
es MBIST-Austestregister 257, eines für jeden Speicher-BIST-Kern.
Ein MBIST-Austestregister wird verwendet, um solche ausgewählte Daten,
wie das ausgewählte MBIST-Abschlußsignal,
die Speicheradresse, den Fehlerspeicherindex, Ausgangdaten, das
Fehlersignal, Statuscodes und andere ausgewählte Register und Signale in
einem der Speicher-BIST-Kerne 209 zu speichern.
-
Ferner
gibt es Sprungregister 258, eines für jeden Speicher-BIST-Kern.
Ein Sprungregister wird zur Speicherung einer vorbestimmten Anzahl
von MBIST-Taktzyklen oder Fehlern verwendet, die während des
Prozesses zum Austesten einer der Speicher-BIST-Kerne 209 verwendet
werden sollen.
-
Der
DFD-Selektor 2 256, die MBIST-Austestregister 257 und
die Sprungregister 258 sind alle mit einem Multiplexer 801 verbunden.
Wenn das Signal Select11 808 geeignet erzeugt wird, können der DFT-Selektor
2 256, die MBIST-Austestregister 257, oder die
Sprungregister 258 gemäß der verschiedenen
Prüf- und
Austestanforderungen zwischen dem TDI 218 und dem TDO 219 angeordnet
werden. Der DFD-Selektor 2 256, die MBIST-Austestregi ster 257 und
die Sprungregister 258 werden durch den TCK 215 gesteuert.
-
Der
DFD-Schaltungskomplex 205 enthält außerdem einen MBIST-Austestkontroller 802,
der alle notwendigen Austeststeuersignale für den Speicher-BIST-Kontroller 807 erzeugt.
-
Wenn
der BIST-Modus 249 auf den logischen Wert 1 gesetzt ist,
wird der Speicher-BIST-Kontroller 807 in einem ausgewählten Speicher-BIST-Kern 209 seine
Speicher-BIST-Operation unmittelbar starten. Dies geschieht, indem
der MBIST-Prüfmodus 227 auf
den logischen Wert 1 oder sowohl der MBIST-Austestmodus 228 als
auch das Ausführungssteuersignal 236 auf
den logischen Wert 1 gesetzt werden. Der MBIST-Prüfmodus 227 wird auf
einen logischen Wert 1 gesetzt, wenn ein herkömmlicher RUN_MBIST-Befehl ausgegeben
wird.
-
Der
BIST-Modus 249 wird während
des Verlaufs der Speicher-BIST-Operation
auf einem logischen Wert 1 bleiben. Während dieser Zeitspanne wird
abhängig
von verschiedenen Prüf-
und Austestanforderungen durch Shift _DR 221 aus dem TAP-Kontroller 202 ein
Diagnosescanfreigabesignal Diag_SE 247 zur Steuerung der
Schiebe- und Erfassungsoperationen der MBIST-Austestregister 257, der
Sprungregister 258 und des DFD-Selektors 2 256 erzeugt.
Die Speicher-BIST-Operation wird gestoppt, wenn ein Stopsteuersignal 237 ausgegeben
wird.
-
Jedesmal
wenn eine Speicher-BIST-Operation im Speicher-BIST-Kontroller 807 einen Fehler
detektiert, nachdem eine vorbestimmte Übersprungsbedingung erfüllt wird,
wird der Speicher-BIST-Kontroller 807 im
ausgewählten
Speicher-BIST-Kern 209 ein Fehlersignal 252 ausgeben,
die BIST-Operation anhalten und beginnen, auf ein Fortsetzungssignal 250 zu
warten um seine Speicher-BIST-Operation wieder aufzunehmen und das
Fehlersignal 252 zurückzusetzen.
-
Während der
Speicher-BIST-Kontroller die Speicher-BIST-Operation ausführt, werden die ausgewählten Daten
periodisch im MBIST-Austestregister 257 erfaßt (oder
abgetastet) und zur Diagnose herausgeschoben. Nach dem Herausschieben
der ausgewählten
Daten zur Diagnose wird der TAP-Kontroller 202 über den
Spei cher-BIST-DFD-Schaltungskomplex 205 das Fortsetzungssignal 250 (einen
Taktimpuls durch Update_DR 224) ausgeben, um die Speicher-BIST-Operation
wiederaufzunehmen und das Fehlersignal 252 auf den logischen
Wert 0 zurückzusetzen.
Die Erfassungs- und Schiebeoperationen werden periodisch wiederholt,
bis die Speicher-BIST-Diagnose fertig ist.
-
9 zeigt
MBIST-Austestregister 257 einer Ausführungsform der vorliegenden
Erfindung, die ausgewählte
MBIST-Daten zur Diagnose von Speicher-BIST-Kernen 209 zu
speichern. Die MBIST-Austestregister 257, die durch den
Scantakt SCK 253 betrieben werden, der mit der Frequenz
des TCK 220 arbeitet, umfassen die MBIST-Austestregister
1 901 bis MBIST-Austestregister n 903, wobei jedes
solche Speicher-BIST-Austestregister einem Speicher-BIST-Kern entspricht.
Zum Beispiel speichert das MBIST-Austestregister 1 901 das MBIST-Abschlußsignal 905,
die Speicheradresse 906, den Fehlerspeicherindex 907,
die Ausgangdaten 908, das Fehlersignal 909, die
Statuscodes 910 und andere ausgewählte Register und Signale im entsprechenden
Speicher-BIST-Kern.
-
10 zeigt
einen DFD-Schaltungskomplex 206 einer Ausführungsform
der vorliegenden Erfindung, um logische BIST-Kerne 210 auszutesten
oder zu diagnostizieren.
-
In
den logischen BIST-Kernen 210 ist der DFD-Selektor 3 ein
Schieberegister 268, von dem 2 oder mehr Bits jedem LBIST-Kern
zugeordnet werden, um anzuzeigen, ob der LBIST-Kern diagnostiziert
wird und welche Art von Fehlern, einschließlich Haftfehlern, Überbrückungsfehlern,
IDDQ-Fehlern, Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern
oder Mehrfachzyklus-Verzögerungsfehlern
als Ziel gesetzt werden sollen. Zum Beispiel zeigt für den ersten
logischen BIST-Kern LBIST-Kern 1 das Bit 1004 an, ob dieser Kern
diagnostiziert wird, während
die Bits 1005 und 1006 anzeigen, welche Art von
Fehlern als Ziel gesetzt werden sollten.
-
Zusätzlich enthält jeder
ausgewählte
logische BIST-Kern ein Startregister 269, das aus vorhandenen
Registern rekonfiguriert werden kann, einschließlich des pseudozufälligen Mustergenera tors (PRPG)
und des Mehrfacheingang-Signaturregisters (MISR), oder durch zusätzliche
Register gebildet werden kann, die verwendet werden, um solche ausgewählte Daten
wie das LBIST-Abschlußsignal,
die PRPG-Ausgaben, die Zykluszähler-Ausgaben,
die MISR-Ausgaben, das Zyklusendsignal, die Scankettenmaske, den
Zyklusmaskenstartindex, den Zyklusmaskenstopindex und andere ausgewählte Register und
Signale zu speichern. Diese Informationen sind im Prozeß des Austestens
logischer BIST-Kerne 210 unentbehrlich.
-
Ferner
sollten alle Scanzellen SC in allen logischen BIST-Kernen 210 in
Scanketten SCN 1007 bis 1008 gelegt werden, die
dann durch einen Scanverbinder 1001 in entweder eine serielle
Scankette SSC oder mehrere gruppierte Scanketten GSC verkettet werden.
Als Ergebnis können,
wenn die Signale Select13 1014 und Select14 1015 geeignet
erzeugt werden, der DFT-Selektor 3 268, die Startregister 269,
eine serielle Scankette SSC oder jede der gruppierten Scanketten
gemäß der verschiedenen Prüf- und Austestanforderungen
zwischen dem TDI 218 und dem TDO 219 angeordnet
werden.
-
Der
DFD-Schaltungskomplex 206 enthält außerdem einen LBIST-Austestkontroller 1002,
der alle notwendigen Austeststeuersignale für den logischen BIST-Kontroller 1009 erzeugt.
-
Wenn
der BIST-Modus 259 auf den logischen Wert 1 gesetzt wird,
wird der logische BIST-Kontroller 1009 in einem ausgewählten logischen
BIST-Kern 210 seine logische BIST-Operation unmittelbar
starten. Dies geschieht, wenn der LBIST-Prüfmodus 230 auf einen
logischen Wert 1 gesetzt wird oder sowohl der LBIST-Austestmodus 231 als
auch das Ausführungssteuersignal 236 auf
den logischen Wert 1 gesetzt werden. Der LBIST-Prüfmodus 230 wird
auf einen logischen Wert 1 gesetzt, wenn ein herkömmlicher
RUN_LBIST Befehl ausgegeben wird.
-
Der
BIST-Modus 259 wird im Verlauf der logischen BIST-Operation auf einem
logischen Wert 1 bleiben. Während
dieser Zeitspanne wird abhängig von
verschiedenen Prüf-
und Austestanforderungen durch Shift_DR 221 aus dem TAP-Kontroller 202 ein Diagnosescanfreigabesignal
Diag_SE 265 zur Steuerung der Schie be- und Erfassungsoperationen
der Startregisters 269 und des DFD-Selektors 3 268 erzeugt.
Die logische BIST-Operation wird gestoppt, wenn ein Stopsteuersignal 237 ausgegeben
wird.
-
Jedesmal
wenn eine logische BIST-Operation im logischen BIST-Kontroller 1009 einen
oder mehrere ausgewählte
LBIST-Taktzyklen
vollendet, wird der logische BIST-Kontroller 1009 im ausgewählten logischen
BIST-Kern 210 ein Zyklusendsignal 262 ausgeben,
die BIST-Operation anhalten und beginnen, auf ein Fortsetzungssignal 263 zu
warten, um seine logische BIST-Operation
wiederaufzunehmen und das Zyklusendsignal 262 zurückzusetzen. Die
ausgewählten
Daten werden periodisch in einem Startregister 269 erfaßt (oder
abgetastet) und zur Diagnose herausgeschoben. Nach dem Herausschieben
der ausgewählten
Daten zur Diagnose wird der TAP-Kontroller 202 über den
logischen BIST-DFD-Schaltungskomplex 206 das Fortsetzungssignal 263 (einen
Taktimpuls durch Update_DR 224) ausgeben, um die logische
BIST-Operation und das Zyklusendsignal 262 auf einen logischen
Wert 0 zurückzusetzen.
Die Erfassungs- und Schiebeoperationen werden periodisch wiederholt,
bis die logische BIST-Diagnose fertig ist.
-
Es
sollte beachtet werden, daß die
Schiebeoperation an den Startregistern 269 nur zulässig ist, nachdem
sich das Zyklusendsignal 262 auf einem logischen Wert 1
befindet. Man muß den
SHIFT-Befehl sehr sorgfältig
ausgeben, um die logische BIST-Operation
nicht mit der Schiebeoperation durcheinander zu bringen.
-
Zusätzlich kann
jedes Startregister 269 unter Verwendung eines getrennten
Registers aufgebaut werden oder aus vorhandenen Datenregistern oder Signalen
rekonfiguriert werden. 11 wird ein Beispiel der Verwendung
eines getrennten LBIST-Austestregisters
als Startregister 269 zeigen, während 12 ein
anderes Beispiel der Rekonfiguration eines ausgewählten Satzes
von Datenregistern und Signalen als ein Startregister 269 zeigt.
Ein Hauptunterschied zwischen diesen beiden Ansätzen ist, daß wenn ein
getrenntes LBIST-Austestregister verwendet wird, sein Takt direkt
mit dem TCK 220 verbunden sein wird. Es wird überhaupt
keinen Bedarf geben, den Takt des Startregisters zwischen dem TCK 220, der
die Schiebeoperation steuert, und dem LBIST-Takt 267 umzuschalten,
der die logische BIST-Operation steuert, wie in dem anderen Fall.
-
11 zeigt
eine Vielzahl von Startregistern 269 einer ersten Ausführungsform
der vorliegenden Erfindung, die ausgewählte LBIST-Daten zur Diagnose
logischer BIST-Kerne 210 speichern. Die Startregister 269,
die durch den Scantakt SCK 266 betrieben werden, der mit
der Frequenz des TCK 220 arbeitet, umfassen die LBIST-Austestregister
1 1101 bis LBIST-Austestregister n 1103, wobei
jedes logische BIST-Austestregister einem logischen BIST-Kern entspricht.
Zum Beispiel wird das LBIST-Austestregister 1 1101 verwendet,
um das LBIST-Abschlußsignal 1105,
die Ausgaben 1106 des pseudozufälligen Mustergenerators (PRPG),
die Zykluszählerausgaben 1107,
die Ausgaben 1108 des Mehrfacheingang-Signaturregisters
(MISR), das Zyklusendsignal 1109, die Scankettenmaske 1110,
den Zyklusmaskenstartindex 1111, den Zyklusmaskenstopindex 1112 und
andere ausgewählte
Register und Signale im ausgewählten
logischen BIST-Kern zu speichern.
-
12 zeigt
eine Vielzahl von Startregistern 269 einer zweiten Ausführungsform
der vorliegenden Erfindung, um zur Diagnose logischer BIST-Kerne 210 ausgewählte LBIST-Daten
zu speichern. In jedem ausgewählten
logischen BIST-Kern wird ein Startregister durch Rekonfiguration
eines Teilsatzes vorhandener Datenregister und Signale in einem Schieberegister
aufgebaut. Zum Beispiel werden das LBIST-Abschlußsignalregister 1201,
der pseudozufällige
Mustergenerator (PRPG) 1202, der Zykluszähler 1203,
das Mehrfacheingang-Signaturregister (MISR) 1204, das Zyklusendsignalregister 1205,
das Scankettenmaskenregister 1206, das Zyklusmaskenstartindexregister 1207,
das Zyklusmaskenstopindexregister 1208 und andere ausgewählte Register
und Signale im ausgewählten
logischen BIST-Kern zu einem Startregister für den ersten logischen BIST-Kern 1209 rekonfiguriert.
Solche einzelnen Startregister werden ferner zu einer einzigen Scankette
miteinander verkettet, so daß durch
den Boundary-Scan auf sie zugegriffen werden kann. Die Startregister 269 werden
während
der Austestschiebeoperation durch den Scantakt SCK 266 und
während
der logischen BIST-Operation durch den logischen BIST-Takt-LBIST_CK 267 betrieben.
-
13 zeigt
einen DFD-Schaltungskomplex 207 einer Ausführungsform
der vorliegenden Erfindung, um Funktionskerne 211 auszutesten
oder zu diagnostizieren.
-
In
den Funktionskernen 211 ist der DFD-Selektor 4 ein Schieberegister 279,
von dem 2 oder mehr Bits jedem Funktionskern zugeordnet sind, um anzuzeigen,
ob der Funktionskern diagnostiziert wird und welche Art von Fehlern,
einschließlich
Haftfehlern, Überbrückungsfehlern,
IDDQ-Fehlern, Übergangs-(Gatterverzögerungs-)
Fehlern, Pfad-Verzögerungsfehlern,
Speicher-Schreib-/Lesefehlern oder Mehrfachzyklus-Verzögerungsfehlern
als Ziel gesetzt werden sollten. Zum Beispiel gibt für den ersten Funktionskern,
Funktionskern 1, das Bit 1304 an, ob dieser Kern diagnostiziert
wird, während
die Bits 1305 und 1306 angeben, welche Art von
Fehlern als Ziel gesetzt werden sollte.
-
Zusätzlich kann
jeder ausgewählte
Funktionskern eine Vielzahl von Unterbrechungsregistern 280 zur
Speicherung vorbestimmter Unterbrechungsbedingungen enthalten. Er
enthält
außerdem einen
Schrittzähler 281 zur
Speicherung eines vorbestimmten Zykluszählwerts.
-
Ferner
sollten alle Scanzellen SC in allen Funktionskernen 211 in
Scanketten SCN 1307 bis 1308 gelegt werden, die
dann durch einen Scanverbinder 1301 zu einer seriellen
Scankette oder mehrere gruppierte Scanketten miteinander verkettet
werden. Als Ergebnis können,
wenn die Signale Select15 1313 und Select16 1314 geeignet
erzeugt werden, der DFT-Selektor 4 279, die Unterbrechungsregister 280,
die Schrittzähler 281,
eine serielle Scankette oder irgendeine der gruppierten Scanketten
gemäß der verschiedenen
Prüf- und
Austestanforderungen zwischen dem TDI 218 und dem TDO 219 angeordnet
werden.
-
Der
DFD-Schaltungskomplex 207 enthält außerdem einen Funktionstaktkontroller 1302 und
einen RESET-Steuerschaltungskomplex 1303, die alle notwendigen
Austeststeuersignale für
die Funktionskerne 211 erzeugen. Die Funktionskernaustestablaufsteuerung
wird in 19 gezeigt.
-
14 zeigt
einen BREAK-Steuerschaltungskomplex 1400 einer Ausführungsform
der vorliegenden Erfindung, der zur Diagnose von Funktionskernen 211 Steuersignale
erzeugt.
-
Alle
Unterbrechungsregister 1401 bis 1404 werden durch
denselben Scantakt SCK 274 betrieben, der mit der Frequenz
des TCK 220 arbeitet. Jeder Funktionskern kann eine Vielzahl
von Unterbrechungsregistern enthalten, wobei jedes Unterbrechungsregister
eine Unterbrechungsbedingung repräsentiert. Jedes Unterbrechungsregister 1401 oder 1404 speichert
eine erforderliche Unterbrechungsbedingung. Seine Ausgänge sind
mit einem Komparator 1402 verbunden und werden mit ausgewählten Signalen
im ausgewählten
Funktionskern verglichen. Wenn die ausgewählten Signale eine Bedingung
repräsentieren,
die durch das Unterbrechungsregister 1401 oder 1404 angegeben
wird, wird ein break_condition-Signal 277 den logischen
Wert 1 annehmen.
-
15 zeigt
ein Zeitdiagramm 1500 des Funktionstaktkontrollers 1302 einer
Ausführungsform der
vorliegenden Erfindung, um Funktionskerne 211 auszutesten
oder zu diagnostizieren.
-
Wenn
ein RUN-Befehl ausgegeben wird, wird der Update_IR-Impuls 1501 das run_control_signal 236 auf
den logischen Wert 1 ändern,
wie durch 1502 gezeigt. Als Ergebnis wird der Funktionstakt
func_CK 275 beginnen zu laufen, wie durch 1503 gezeigt.
Wenn dann ein STOP-Befehl ausgegeben wird, wird der Update_IR-Impuls 1504 das
stop_control_signal 237 auf den logischen Wert 1 ändern, wie
durch 1506 gezeigt, und das run_control_signal 236 auf
den logischen Wert 0, wie durch 1505 gezeigt. Als Ergebnis
wird der Funktionstakt func_CK 275 aufhören zu laufen, wie durch 1507 gezeigt.
-
Setzt
man nun voraus, daß ein
BREAK-Befehl ausgegeben wird, wird der Update_IR-Impuls 1508 das
break_control_signal 234 auf den logischen Wert 1 ändern, wie
durch 1509 gezeigt. Dies wird den Unterbrechungsbedingungsvergleich
freigeben. Wenn dann ein RUN-Befehl ausgegeben wird, wird der Update_IR-Impuls 1510 das run_control_signal 236 auf
den logischen Wert 1 ändern,
wie durch 1511 gezeigt, und das stop_control_signal 237 auf
den logischen Wert 0, wie durch 1512 gezeigt. Als Ergebnis
wird der Funktionstakt func_CK 275 beginnen zu laufen,
wie durch 1513 gezeigt. Wenn die Unterbrechungsbedingung erfüllt ist,
wird das break_condition-Signal 277 den logischen Wert
1 annehmen, wie durch 1514 gezeigt. Dies wird den Funktionstakt
func_CK 275 unmittelbar stoppen, wie durch 1515 gezeigt.
-
Setzt
man nun voraus, daß ein
STEP Befehl ausgegeben wird, wird der Update_IR-Impuls 1516 das
step_control_signal 235 auf den logischen Wert 1 ändern, wie
durch 1517 gezeigt. Dies wird den Schrittzähler freigeben,
damit zu beginnen abwärts zu
zählen.
Gleichzeitig wird der Funktionstakt func_CK 275 beginnen
zu laufen, wie durch 1520 gezeigt. Zusätzlich werden das break_control_signal 234 und
das break_condition-Signal 277 den logischen Wert 0 annehmen,
wie durch 1518 bzw. 1519 gezeigt. Wenn der Schrittzähler null
wird, wird das step_limit-Signal 278 den logischen Wert
1 annehmen, wie durch 1521 gezeigt. Dies wird den Funktionstakt
func_CK 275 unmittelbar stoppen, wie durch 1522 gezeigt.
-
16 zeigt
einen Ablaufplan 1600 ausgewählter DFD-Befehle einer Ausführungsform der vorliegenden
Erfindung, um Scankerne 208 auszutesten oder zu diagnostizieren.
-
Zur
Scandiagnose wird zuerst im Stadium 1601 ein Boundary-Scan-gesteuerter
Befehl der vorliegenden Erfindung, DBG_SCAN, ausgegeben, um das
scan_debug_mode-Signal 226 auf den logischen Wert 1 zu
setzen, das den Start des Prozesses des Austestens der Scankerne 208 anzeigt.
Dann wird im Stadium 1602 ein Basisbefehl, SELECT, verwendet, um
auszuwählen,
welche Art von Fehlern und welche Scankerne ausgetestet oder diagnostiziert
werden sollen. Danach werden im Stadium 1603 ein erster SHIFT-Befehl oder eine
erste Vielzahl von SHIFT_CHAIN-Befehlen ausgegeben, um Scanmuster
in ausgewählte
Scanketten zu schieben. Dann wird ein CAPTURE-Befehl ausgegeben,
um im Stadium 1604 eine Ausgangsantwort in ausgewählten Scanketten
zu erfassen. Danach werden ein zweiter SHIFT-Befehl oder eine zweite
Vielzahl von SHIFT_CHAIN-Befehlen ausgegeben, um im Stadium 1605 die Ausgangsantwort
herauszuschieben und ein neues Scanmuster hineinzuschieben. Dieser Prozeß wird zwischen
den Stadien 1604 und 1605 wiederholt, bis die
Scandiagnose fertig ist. Zu diesem Zeitpunkt kann man im Stadium 1607 einfach
einen STOP-Befehl ausgeben.
-
17 zeigt
einen Ablaufplan 1700 ausgewählter DFD-Befehle einer Ausführungsform der vorliegenden
Erfindung, um Speicher-BIST-Kerne 209 auszutesten oder
zu diagnostizieren.
-
Zur
Speicher-BIST-Diagnose wird im Stadium 1701 zuerst ein
Boundary-Scan-gesteuerter Befehl der vorliegenden Erfindung, DBG_MBIST,
ausgegeben, um das MBIST_debug_mode-Signal 228 auf den
logischen Wert 1 zu setzen, was den Start des Prozesses des Austestens
der Speicher-BIST-Kerne 209 anzeigt. Dann wird im Stadium 1702 ein
Basisbefehl, SELECT, verwendet, um auszuwählen, welche Art von Fehlern
und welche Speicher-BIST-Kerne, einschließlich SRAM- oder DRAM-Kernen
ausgetestet oder diagnostiziert werden sollen. Danach wird im Stadium 1703 ein
Basisbefehl, SKIP, ist verwendet, um in jedes Sprungregister 258 eine
vorbestimmte Anzahl von MBIST-Taktzyklen oder Fehlern hineinzuschieben,
die während des
Prozesses des Austestens eines Speicher-BIST-Kerns 209 übersprungen
werden sollen.
-
Wenn
ein Speicher-BIST-Austestprozeß gestartet
wird, werden zwei gleichzeitige Ablaufsteuerungen eingeleitet: eine
ist ein Speicher-BIST-Operationsablauf, wie auf der linken Seite 1704 bis 1708 der 17 gezeigt,
die andere ist ein Speicher-BIST-Abtastablauf,
wie auf der rechten Seite 1709 bis 1711 der 17 gezeigt.
Sowohl das Fehlersignal 252 als auch das Fortsetzungssignal 250 werden
im Stadium 1701 auf einen Anfangszustand eines logischen
Werts 0 bzw. 1 gesetzt.
-
Der
Speicher-BIST-Operationsablauf 1704 bis 1707 geht
weiter, bis der erste Speicher-BIST-Fehler, nachdem die Übersprungsbedingung
erfüllt
wird, gefunden wird. Wenn dies passiert, wird die Speicher-BIST-Operation
unmittelbar angehalten, und das Fehlersignal 252 wird im
Stadium 1706 auf einen logischen Wert 1 gesetzt. Wenn der MBIST-Ablauf
im Stadium 1708 nicht beendet wird, wird er im Stadium 1704 auf
ein Fortset zungssignal 250 warten, um die Speicher-BIST-Operation
wiederaufzunehmen. Dies wird nur passieren, wenn der Speicher-BIST-Abtastablauf 1709 bis 1711 im
Stadium 1712 ferner das Fortsetzungssignal 250 auf
den logischen Wert 1 setzt.
-
Der
Speicher-BIST-Abtastablauf 1709 bis 1711 verwendet
den CAPTURE-Befehl im Stadium 1709 weiter, um ausgewählte MBIST-Daten, einschließlich Speicheradresse
und Daten, in den MBIST-Austestregistern 257 zu
erfassen oder abzutasten, und den SHIFT-Befehl im Stadium 1710,
um seinen Inhalt zur Diagnose herauszuschieben. Nachdem der SHIFT-Befehl
verarbeitet ist und wenn das Speicher-BIST-Austesten nicht beendet
ist, wird das Fortsetzungssignal 250 im Stadium 1712 auf
1 gesetzt. Dies wird den Speicher-BIST-Operationsablauf 1704 bis 1708 erneut
starten und ihn laufen lassen, bis der nächste Fehler, nachdem die Überprungsbedingung
erfüllt
ist, angetroffen wird. Der gesamte Prozeß geht weiter, bis das Speicher-BIST-Austesten ausgeführt ist.
Zu diesem Zeitpunkt kann man im Stadium 1713 einfach einen
STOP-Befehl zum Erzeugen eines Stopsteuersignals 237 ausgeben,
um die Speicher-BIST-Operation zu stoppen.
-
18 zeigt
einen Ablaufplan 1800 ausgewählter DFD-Befehle einer Ausführungsform der vorliegenden
Erfindung, um logische BIST-Kerne 210 auszutesten oder
zu diagnostizieren.
-
Zur
logischen BIST-Diagnose wird im Stadium 1801 zuerst ein
Boundary-Scan-gesteuerter Befehl der vorliegenden Erfindung, DBG_LBIST,
ausgegeben, um das LBIST_debug_mode-Signal 231 auf den
logischen Wert 1 zu setzen, was den Start des Prozesses des Austestens
logischer BIST-Kerne 210 anzeigt. Dann wird im Stadium 1802 ein
Basisbefehl, SELECT, verwendet, um auszuwählen, welche Art von Fehlern
und welche logischen BIST-Kerne, einschließlich DSP- oder CPU-Kernen,
ausgetestet oder diagnostiziert werden sollen. Im Stadium 1803 wird ein
erster SHIFT-Befehl
ausgegeben, um einen vorbestimmten Startparameter mit N Zyklen in
ein Startregister 269 in jedem ausgewählten logischen BIST-Kern 210 hineinzuschieben.
-
Dann
wird im Stadium 1804 ein RUN-Befehl ausgegeben. Die logische
BIST-Operation wird weitergehen, bis N logische BIST- Zyklen vollendet
sind. Zu dieser Zeit wird die logische BIST-Operation unmittelbar angehalten. Die
ausgewählten
Daten, einschließlich
der Zwischensignatur im Startregister 269 werden dann auf
dem Chip verglichen oder zum Vergleich herausgeschoben. Es wird
im Stadium 1805 ein zweiter SHIFT-Befehl ausgegeben, um über eine vorbestimmte
Abtastperiode die erwartete Signatur zum Vergleich auf dem Chip
hineinzuschieben oder die Zwischensignatur zum Vergleich außerhalb
des Chips herauszuschieben. Abhängig
davon, ob während
des Vergleichs im Stadium 1806 ein Signaturfehler gefunden
wird, wird im Stadium 1807 ferner ein dritter SHIFT-Befehl
ausgegeben, um einen neuen Startparameter mit N logischen BIST-Zyklen
aufzunehmen und in das Startregister 269 hineinzuschieben,
wobei eine lineares Such- oder binäres Suchverfahren verwendet
wird.
-
Dieser
Prozeß von 1804 bis 1808 wird
wiederholt, bis die logische BIST-Diagnose fertig ist. Zu diesem
Zeitpunkt kann man im Stadium 1809 einen STOP-Befehl zum
Erzeugen eines Stopsteuersignals 237 ausgeben, um die logische
BIST-Operation zu stoppen.
-
Die
Verwendung von Startregistern macht es möglich, den internen Schaltungszustand
für jeden Zyklus
wiederherzustellen. Beruhend darauf können verschiedene Suchverfahren
verwendet werden, um einen Signaturfehler zu lokalisieren. Es werde
vorausgesetzt, daß nach
dem Ablauf von 1000 logischen BIST-Zyklen ein Signaturfehler gefunden
wird. Das lineare Suchverfahren und das binäre Suchverfahren werden im
folgenden kurz dargestellt:
Um alle versagenden Zyklen zu lokalisieren,
die Signaturfehler erzeugen, kann man das lineare Suchverfahren
verwenden, in dem der Prozeß des
Ablaufs während
eines Zyklus, der Prüfung
auf irgendwelche Signaturfehler, der Wiederherstellung des internen Schaltungszustands
wiederholt werden, bis ein Signaturfehler gefunden wird. Im ungünstigsten
Fall benötigt
dieses Verfahren 1000 Signaturprüfungen,
um alle einzelnen und mehrfachen Signaturfehler zu lokalisieren.
Um diesen Prozeß zu
beschleunigen, kann man die 1000 Zyklen in 10 Gruppen unterteilen, die
jeweils 100 Zyklen enthalten. Dann führt man zuerst einen logischen
BIST vom Zyklus 1 bis zum Zyklus 100, vom Zyklus 101 bis zum Zyklus
200, ... vom Zyklus 901 bis Zyklus 1000 aus, und prüft dann
die 10 erhaltenen Signaturen beim 100. Zyklus, 200. Zyklus, ...
und 1000. Zyklus. Es werde vorausgesetzt, daß nur zwei Signaturfehler beim
300. Zyklus und 700. Zyklus gefunden werden. In diesem Fall kann man
dann dieses lineare Suchverfahren Zyklus für Zyklus verwenden, um alle
einzelnen und mehrfachen Signaturfehler vom Zyklus 201 bis zum Zyklus 300
und vom Zyklus 601 bis zum Zyklus 700 zu lokalisieren. In diesem
Fall beträgt
die Anzahl der Signaturprüfungen
210 anstelle von 1000.
-
Um
den ersten Zyklus zu lokalisieren, der einen Signaturfehler erzeugt,
kann man auch das binäre
Suchverfahren verwenden, in dem der Prozeß der Ausführung des logischen BIST für die Hälfte der
verdächtigen
Zyklen wiederholt wird, bis ein Signaturfehler gefunden wird. Anfänglich liegt
der verdächtige Bereich
zwischen dem Zyklus 1 und dem Zyklus 1000. Man kann den logischen
BIST vom Zyklus 1 bis zum Zyklus 500 ausführen. Wenn ein Signaturfehler gefunden
wird, dann führt
man den logischen BIST vom Zyklus 1 bis zum Zyklus 250 aus. Wenn
kein Signaturfehler beim 250. Zyklus gefunden wird, dann führt man
den logischen BIST vom Zyklus 251 bis zum Zyklus 375 aus, und prüft erneut
auf irgendeinen Signaturfehler. In diesem Fall werden insgesamt
10 Signaturprüfungen
benötigt.
-
Es
sollte beachtet werden, daß man
abhängig
vom Fehlersignaturverhalten selektiv ein hybrides lineares Such-
oder binäres
Suchverfahren verwenden kann, um die Signaturprüfungen weiter zu reduzieren.
-
19 zeigt
einen Ablaufplan 1900 ausgewählter DFD-Befehle einer Ausführungsform der vorliegenden
Erfindung, um Funktionskerne 211 auszutesten oder zu diagnostizieren.
-
Zur
Funktionsdiagnose wird im Stadium 1901 zuerst ein Boundary-Scan-gesteuerter
Befehl der vorliegenden Erfindung, DBG_FUNCTION, ausgegeben, um
das functional_debug_mode-Signal 232 auf den logischen
Wert 1 zu setzen, was den Start des Prozesses des Austestens der
Funktionskerne 210 anzeigt. Dann wird im Stadium 1902 ein Basisbefehl,
SELECT, verwendet, um auszuwählen, welche
Art von Fehlern und welche Funktionskerne, einschließlich Speichern
oder IO-Kernen, ausgetestet oder diagnostiziert werden sollen. Der DFD-Schaltungskomplex
der vorliegenden Erfindung weist ferner einige Basisbefehle auf:
RESET, BREAK, RUN, SHIFT/SHIFT_CHAIN, STEP und STOP.
-
Der
RESET-Befehl initialisiert die Funktionskerne 211 im Stadium 1903 auf
einen vorbestimmten Zustand. Man kann auch einen SHIFT-Befehl oder eine
Vielzahl von SHIFT_CHAIN Befehlen verwenden, um die Initialisierung
im Stadium 1903 durchzuführen. Dies wird den Initialisierungsprozeß flexibler machen.
-
Der
im Stadium 1904 ausgegebene BREAK-Befehl ermöglicht es
dem Designer, die Operation der Schaltung festzulegen und zu stoppen, wenn
die Unterbrechungs-<Bedingung> erfüllt wird. Der
Designer kann dann im Stadium 1905 einen RUN-Befehl ausgeben,
um die Systemtakte ständig laufen
zu lassen. Die Unterbrechungs-<Bedingung> wird im Stadium 1906 geprüft. Wenn
sie erfüllt
wird, werden die Funktionskerne gestoppt, und der Designer kann
dann im Stadium 1907 einen ersten SHIFT-Befehl oder eine
erste Vielzahl von SHIFT_CHAIN-Befehlen zum Herausschieben des Inhalts
der Scanzellen SC in den Funktionskernen 211 zur Diagnose
ausgeben. Dann kann der Designer im Stadium 1908 einen
STEP-Befehl ausgeben, um die Funktionskerne 211 für einen
oder mehrere Systemtaktzyklen auszuführen. Wenn die Schaltung stoppt,
kann der Designer im Stadium 1909 einen zweiten SHIFT-Befehl oder eine
zweite Vielzahl von SHIFT_CHAIN-Befehlen zum Herausschieben des Inhalts
der Scanzellen SC in den Funktionskernen 211 zur Diagnose
ausgeben.
-
Der
Prozeß geht
weiter, bis die Funktionsdiagnose fertig ist. Zu diesem Zeitpunkt
kann man im Stadium 1911 einfach einen STOP-Befehl ausgeben. Es
sollte beachtet werden, daß im
Stadium 1905 zu jeder Zeit ein zweiter STOP-Befehl ausgegeben
werden kann, nachdem der RUN-Befehl ausgegeben ist. Dies wird sicherstellen,
daß die
Schaltung gestoppt werden kann, selbst wenn keine der spezifizierten Unterbrechungsbedingungen
erfüllt
wird. Zu dieser Zeit kann der Designer ferner im Stadium 1904 eine Anzahl
von BREAK-Befehlen festlegen und im Stadium 1905 erneut
einen zweiten RUN-Befehl ausgeben.
-
Es
sollte beachtet werden, daß es
notwendig ist, um bei einem fehlgeschlagenen Funktionszyklus vollständige Austestinformationen
zu erhalten, den SHIFT-Befehl zweimal zu verwenden. Es werde zum Beispiel
vorausgesetzt, daß ein
Funktionskern beim 100. Zyklus versagt. Um die Eingangswerte in
internen logischen Blöcken
beim 100. Zyklus zu erhalten, ist es notwendig, den ersten SHIFT-Befehl
zu verwenden, um den Inhalt aller Scanzellen beim 99. Zyklus herauszuschieben.
Wenn dann der 100. Zyklus kommt, sollte der zweite SHIFT-Befehl
erneut verwendet werden, um den Inhalt aller Scanzellen herauszuschieben,
um die Ausgangsantworten der internen logischen Blöcke zu erhalten.
-
20 zeigt
ein erfindungsgemäßes computergestütztes Design-(CAD)
Verfahren 2000, um den DFD-Kontroller 203 und
die DFD-Schaltungskomplexe 204 bis 207 zu synthetisieren.
Das computergestützte
Design-(CAD) Verfahren nimmt den vom Benutzer gelieferten HDL-(Hardwarebeschreibungssprache)
Code oder die Netzliste 2002 zusammen mit den DFD-Steuerdateien 2001 und
der gewählten Herstellerbibliothek 2003 auf.
Die DFD-Steuerdateien 2001 enthalten alle eingestellten
Informationen und Skripte, die zur Kompilation 2004, DFD-Regelprüfung 2006,
DFD Regelreparatur 2007, DFD-Synthese 2008 und
Nachbearbeitung 2009 benötigt werden, so daß das CAD-Verfahren 2000 den
endgültigen
DFD-HDL-Code oder
die Netzliste 2011 und die HDL-Prüfstände und ATE-(automatische Prüfeinrichtung) Prüfprogramme 2010 erzeugen
kann. Die HDL-Prüfstände und
ATE-Prüfprogramme 2010 können ferner
Prüfprogramme
zur Verwendung in einer preisgünstigen
DFT-Austestvorrichtung 201 aufweisen.
Alle Berichte und Fehler werden in den Berichtsdateien 2012 gesichert.
-
Die
oben beschriebenen gegenwärtig
bevorzugten Ausführungsformen
der vorliegenden Erfindung sind dazu bestimmt, veranschaulichend
zu sein, und stellen in überhaupt
keiner Hinsicht eine Begrenzung der Erfindung dar.