DE60211659T2 - Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd) - Google Patents

Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd) Download PDF

Info

Publication number
DE60211659T2
DE60211659T2 DE60211659T DE60211659T DE60211659T2 DE 60211659 T2 DE60211659 T2 DE 60211659T2 DE 60211659 T DE60211659 T DE 60211659T DE 60211659 T DE60211659 T DE 60211659T DE 60211659 T2 DE60211659 T2 DE 60211659T2
Authority
DE
Germany
Prior art keywords
scan
dfd
cores
errors
bist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60211659T
Other languages
English (en)
Other versions
DE60211659D1 (de
Inventor
Laung-Terny Sunnyvale WANG
Ming-Tung Fenyuan shiang CHANG
Shyh-Horng Lin
Hao-Jan Chao
Jachee San Jose LEE
Hsin-Po Wang
Xiaoqing Sunnyvale WEN
Po-Ching Hsu
Shih-Chia Kao
Meng-Chyi Lin
Sen-Wei Tsai
Chi-Chan Hsu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Syntest Technologies Inc
Original Assignee
Syntest Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Syntest Technologies Inc filed Critical Syntest Technologies Inc
Application granted granted Critical
Publication of DE60211659D1 publication Critical patent/DE60211659D1/de
Publication of DE60211659T2 publication Critical patent/DE60211659T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31704Design for test; Design verification
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

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

Claims (19)

  1. Vorrichtung zur Implementierung eines DFD (Design-zum-Austesten)-Schaltungskomplexes (204207) in einer integrierten Schaltung, um ausgewählte Fehlertypen in Scankernen auszutesten oder zu diagnostizieren, wobei die integrierte Schaltung zwei oder mehr der Scankerne aufweist, die jeweils einen Scantakt aufweisen; wobei die Vorrichtung gekennzeichnet ist durch: (a) einen DFD-Selektor (245, 256, 268, 279) zur Anzeige, welcher der Scankerne und der ausgewählten Fehlertypen gleichzeitig ausgetestet oder diagnostiziert werden sollen; (b) einen Scanverbinder (301) zur Verbindung mehrerer Scanketten in den Scankernen mit einer Boundary-Scankette in der integrierten Schaltung; (c) einen Scantaktgenerator (302) zum Erzeugen einer geordneten Sequenz von Erfassungstakten zur Verbindung mit den Scantakten in den Scankernen; und (d) einen Multiplexer zum Verbinden des DFD-Selektors und des Scanverbinders mit einem TAP-(Testzugriffsport)-Kontroller in der integrierten Schaltung.
  2. Vorrichtung nach Anspruch 1, ferner gekennzeichnet durch einen Scanaustestmodus; wobei der Scanaustestmodus auf einen logischen Wert 1 gesetzt wird, wenn die Scankerne diagnostiziert werden sollen, und auf einen logischen Wert 0 gesetzt wird, wenn die Scankerne nicht diagnostiziert werden sollen.
  3. Vorrichtung nach Anspruch 2, ferner dadurch gekennzeichnet, daß der Scanaustestmodus durch einen zentralen DFD-Kontroller (2) erzeugt wird; wobei der zentrale DFD-Kontroller mit dem TAP-Kontroller und dem DFD-Schaltungskomplex gekoppelt ist; und wobei der TAP-Kontroller gemäß eines ausgewählten Boundary-Scan-Standards aufgebaut ist, der einen Testzugriffsport (TAP) umfaßt, der TDI (Testdateneingang), TDO (Testdatenausgang), TCK (Testtakt), TMS (Testmodusauswahl) und selektiv TRSTB (Testrücksetzen) umfaßt.
  4. Vorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß die Fehler, die durch die ausgewählten Fehlertypen gewählt werden, ferner Hafttyp-Fehler und Nicht-Hafttyp-Verzögerungsfehler umfassen; wobei die Hafttyp-Fehler Hängenbleibenfehler, Überbrückungsfehler und IDDQ-(IDD-Ruhestrom)-Fehler umfassen; und wobei die Nicht-Hafttyp-Verzögerungsfehler Übergangs-(Gatterverzögerungs-)Fehler, Pfad-Verzögerungsfehler, Speicher-Schreib/Lesefehler und Mehrfachzyklus-Verzögerungsfehler umfassen.
  5. Vorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß der DFD-Selektor ferner die Verwendung eines Schieberegisters mit 2 oder mehr Bit in jedem Scankern aufweist, um anzuzeigen, ob der Scankern diagnostiziert werden wird und welcher ausgewählte Fehlertyp als Ziel gesetzt wird; wobei das Schieberegister durch den TCK gesteuert wird und sein Scandateneingang und Scandatenausgang mit dem TDI bzw. dem TDO über den Multiplexer verbunden sind.
  6. Vorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß der Scanverbinder ferner die Verwendung einer Vielzahl von Multiplexern (402406) aufweist, um die mehreren Scanketten als eine serielle Scankette zusammenzuheften und ihren Scandateneingang und Scandatenausgang mit dem TDI bzw. dem TDO zu verbinden; wobei die Multiplexer durch den Scanaustestmodus gesteuert werden.
  7. Vorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß der Scanverbinder ferner die Verwendung einer Vielzahl von Multiplexern aufweist, um die mehreren Scanketten als eine serielle Scankette zusammenzuheften und die serielle Scankette vor oder nach der Boundary-Scankette einzufügen; wobei die Multiplexer durch den Scanaustestmodus gesteuert werden.
  8. Vorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß der Scanverbinder ferner die Verwendung einer Vielzahl von Multiplexern aufweist, um nur jene Scanzellen innerhalb aller der mehreren Scanketten, die sich denselben Scantakt teilen, als eine einzige Scankette zusammenzuheften, die als gruppierte Scankette bezeichnet wird; wobei die gruppierte Scankette ihren Scandateneingang und Scandatenausgang mit dem TDI bzw. dem TDO verbindet; und wobei die Multiplexer durch den Scanaustestmodus gesteuert werden.
  9. Vorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß der Scanverbinder ferner die selektive Einfügung eines Inverters und eines Verriegelungselements zwischen irgendwelchen der mehreren Scanketten aufweist, wenn sie zusammengeheftet sind, um eine serielle Scankette oder eine gruppierte Scankette zu bilden; wobei das Verriegelungselement ein ausgewähltes D-Latch oder D-Flip-Flop ist.
  10. Vorrichtung nach Anspruch 3, ferner dadurch gekennzeichnet, daß der Scantaktgenerator zum Erzeugen einer geordneten Sequenz von Erfassungstakten ferner einen Taktphasengenerator und einen Scantaktkontroller aufweist.
  11. Vorrichtung nach Anspruch 10, ferner dadurch gekennzeichnet, daß der Taktphasengenerator durch den TCK gesteuert wird und eine Vielzahl von nichtüberlappenden TCK-Takten erzeugt; und wobei der Scantaktkontroller durch den ausgewählten Fehlertyp gesteuert wird und die Erfassungstakte, die den TCK, die nichtüberlappenden TCK-Takte und nichtüberlappenden Systemtakte umfassen, mit den Scantakten in den Scankernen verbindet; wobei die nichtüberlappenden Systemtakte durch die Systemtakte außerhalb der integrierten Schaltung oder an einer ATE (automatischen Testeinrichtung) erzeugt werden.
  12. Vorrichtung nach Anspruch 11, ferner dadurch gekennzeichnet, daß die nichtüberlappenden TCK-Takte verwendet werden, um die Hafttyp-Fehler, die die Hängenbleibenfehler, die Überbrückungsfehler und die IDDQ-Fehler umfassen, in den Scankernen in der integrierten Schaltung auszutesten oder zu diagnostizieren.
  13. Vorrichtung nach Anspruch 11, ferner dadurch gekennzeichnet, daß die nichtüberlappenden Systemtakte verwendet werden, um die Nicht-Hafttyp-Verzögerungsfehler, die die Übergangs-(Gatterverzögerungs)-Fehler, die Pfadverzögerungsfehler, die Speicher-Schreib/Lesefehler und die Mehrfachzyklus-Verzögerungsfehler umfassen, in den Scankernen in der integrierten Schaltung auszutesten oder zu diagnostizieren.
  14. Vorrichtung nach Anspruch 11, ferner dadurch gekennzeichnet, daß der Scantakt-Kontroller ferner einen Generator zum Erzeugen eines globalen Scanfreigabe-(GSE)-Signals aufweist, um die Schiebe- und Erfassungsoperationen der mehreren Scanketten in den Scankernen zu steuern; wobei der Generator zum Erzeugen eines globalen Scanfreigabe-(GSE)-Signals ferner durch den TAP-Kontroller, einschließlich Shift_DR, Capture_DR und Update_DR, gemäß des ausgewählten Boundary-Scan-Standards erzeugt wird.
  15. Vorrichtung nach Anspruch 1, ferner dadurch gekennzeichnet, daß der DFD-Schaltungskomplex ferner zum Austesten oder Diagnostizieren von Speicher-Scankernen ausgewählt ist.
  16. Verfahren zum Austesten oder Diagnostizieren ausgewählter Fehlertypen in Scankernen unter Verwendung eines eingebetteten DFD-(Design-zum-Austesten)Schaltungskomplexes in einer integrierten Schaltung, wobei die integrierte Schaltung zwei oder mehr der Scankerne enthält, die jeweils einen Scantakt aufweisen, wobei der DFD-Schaltungskomplex einen Scanverbinder zum Verbinden mehrerer Scanketten in den Scankernen mit einer Boundary-Scankette in der integrierten Schaltung aufweist; wobei das Verfahren durch die Schritte gekennzeichnet ist: (a) Ausgeben eines DBG_SCAN-Befehls zum Erzeugen eines Scanaustestmodus, um den DFD-Schaltungskomplex in den Scankernen zu steuern; (b) Ausgeben eine SELECT-Befehls, um ausgewählte Scankerne und die ausgewählten Fehlertypen, die ausgetestet oder diagnostiziert werden sollen, in den DFD-Selektor des DFD-Schaltungskomplexes in den Scankernen hinein zu schieben; (c) Ausgeben eines ersten SHIFT-Befehls oder einer ersten Vielzahl von SHIFT_CHAIN-Befehlen, um zur Diagnose ein vorbestimmtes Scanmuster in alle Scanzellen innerhalb ausgewählter Scanketten in den Scankernen hinein zu schieben; (d) Ausgeben eines oder mehrere CAPTURE-Befehle zum Erfassen von Ausgangsantworten in allen Scanzellen in den Scankernen; (e) Ausgeben eines zweiten SHIFT-Befehls oder einer zweiten Vielzahl von SHIFT_CHAIN-Befehlen, um zur Diagnose ein neues vorbestimmtes Scanmuster in alle Scanzellen innerhalb der ausgewählten Scanketten in den Scankernen zu schieben und aus ihnen eine Antwort auszugeben; (f) Wiederholen der Schritte (d)–(e), bis die Scandiagnose durchgeführt ist; und (g) Ausgeben eines STOP-Befehls zum Erzeugen eines Stopsteuersignals, um die Scanoperation zu stoppen.
  17. Verfahren nach Anspruch 16, ferner gekennzeichnet durch Bereitstellen eines zentralen DFD-Kontrollers zum Annehmen der Befehle und Erzeugen des Scanaustestmodus und des Stopsteuersignals, um den DFD-Schaltungskomplex zu steuern; wobei der DFD-Kontroller mit dem DFD-Schaltungskomplex und einem TAP-(Testzugriffsport)-Kontroller in der integrierten Schaltung gekoppelt ist; und wobei der TAP-Kontroller gemäß eines ausgewählten Boundary-Scan-Standards aufgebaut ist.
  18. Verfahren nach Anspruch 16, ferner dadurch gekennzeichnet, daß die Fehler, die zum Austesten oder zur Diagnose durch den ausgewählten Fehlertyp im ausgewählten Scankern gewählt werden, ferner selektiv Hafttyp-Fehler oder Nicht-Hafttyp-Verzögerungsfehler umfassen; wobei die Hafttyp-Fehler Hängenbleibenfehler, Überbrückungsfehler und IDDQ-Fehler umfassen; und wobei die Nicht-Hafttyp-Verzögerungsfehler Übergangs-(Gatterverzögerungs)-Fehler, Pfadverzögerungsfehler, Speicher-Schreib/Lesefehler und Mehrfachzyklus-Verzögerungsfehler umfassen.
  19. Verfahren nach Anspruch 16, ferner dadurch gekennzeichnet, daß die Befehle ferner verwendet werden, um Speicher-Scankerne auszutesten oder zu diagnostizieren.
DE60211659T 2001-03-01 2002-02-28 Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd) Expired - Lifetime DE60211659T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86214 1993-07-01
US27206401P 2001-03-01 2001-03-01
US272064P 2001-03-01
US10/086,214 US7191373B2 (en) 2001-03-01 2002-02-27 Method and apparatus for diagnosing failures in an integrated circuit using design-for-debug (DFD) techniques
PCT/US2002/003413 WO2002071567A1 (en) 2001-03-01 2002-02-28 Method and apparatus for diagnosing failures in an integrated circuit using design-for-debug (dfd) techniques

Publications (2)

Publication Number Publication Date
DE60211659D1 DE60211659D1 (de) 2006-06-29
DE60211659T2 true DE60211659T2 (de) 2007-04-26

Family

ID=26774484

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60211659T Expired - Lifetime DE60211659T2 (de) 2001-03-01 2002-02-28 Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)

Country Status (5)

Country Link
US (2) US7191373B2 (de)
EP (1) EP1364436B1 (de)
AT (1) ATE327587T1 (de)
DE (1) DE60211659T2 (de)
WO (1) WO2002071567A1 (de)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356786B2 (en) * 1999-11-30 2008-04-08 Synplicity, Inc. Method and user interface for debugging an electronic system
US7240303B1 (en) 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US6823497B2 (en) * 1999-11-30 2004-11-23 Synplicity, Inc. Method and user interface for debugging an electronic system
US7222315B2 (en) 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
DE60206845T2 (de) * 2001-06-20 2006-07-06 Broadcom Corp., Irvine Testsystem
JP2003121499A (ja) * 2001-10-09 2003-04-23 Hitachi Ltd 組込みテスト機能付き半導体集積回路、テストコード生成プログラムから成る電子設計データを保存する記憶媒体、該半導体集積回路のテスト方法、テストコード生成自動化方法及びそのプログラム
US6996760B2 (en) * 2001-10-12 2006-02-07 Sun Microsystems ASIC BIST employing stored indications of completion
US7055135B2 (en) * 2002-05-06 2006-05-30 Sun Microsystems, Inc. Method for debugging an integrated circuit
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US7111199B2 (en) * 2002-07-08 2006-09-19 Lsi Logic Corporation Built-in debug feature for complex VLSI chip
US7213216B2 (en) * 2002-08-09 2007-05-01 Synplicity, Inc. Method and system for debugging using replicated logic and trigger logic
US6904576B2 (en) * 2002-08-09 2005-06-07 Synplicity, Inc. Method and system for debugging using replicated logic
US7444576B2 (en) * 2002-10-24 2008-10-28 Advantest Corp. Target value search circuit, taget value search method, and semiconductor test device using the same
US20040153926A1 (en) * 2002-10-30 2004-08-05 Abdel-Hafez Khader S. Method and apparatus for testing asynchronous set/reset faults in a scan-based integrated circuit
US7502976B2 (en) * 2003-02-13 2009-03-10 Ross Don E Testing embedded memories in an integrated circuit
US7437640B2 (en) 2003-02-13 2008-10-14 Janusz Rajski Fault diagnosis of compressed test responses having one or more unknown states
US7509550B2 (en) * 2003-02-13 2009-03-24 Janusz Rajski Fault diagnosis of compressed test responses
US7302624B2 (en) * 2003-02-13 2007-11-27 Janusz Rajski Adaptive fault diagnosis of compressed test responses
US7085976B1 (en) * 2003-02-18 2006-08-01 Xilinx, Inc. Method and apparatus for hardware co-simulation clocking
US7155649B2 (en) * 2003-03-12 2006-12-26 Matsushita Electric Industrial Co., Ltd. Scan test control method and scan test circuit
US7975197B2 (en) * 2003-03-31 2011-07-05 Lsi Corporation On-chip scan clock generator for ASIC testing
US7080789B2 (en) * 2003-05-09 2006-07-25 Stmicroelectronics, Inc. Smart card including a JTAG test controller and related methods
US7216274B2 (en) * 2003-06-26 2007-05-08 Intel Corporation Flexible scan architecture
CN100370264C (zh) * 2003-07-28 2008-02-20 华为技术有限公司 一种自动识别电路板类型的方法
EP1505400A1 (de) * 2003-08-07 2005-02-09 Texas Instruments Incorporated Modulator für die Scan-Erfassungs-Frequenz
US7219265B2 (en) * 2003-12-29 2007-05-15 Agere Systems Inc. System and method for debugging system-on-chips
US7055117B2 (en) * 2003-12-29 2006-05-30 Agere Systems, Inc. System and method for debugging system-on-chips using single or n-cycle stepping
ATE408152T1 (de) * 2004-01-19 2008-09-15 Nxp Bv Prüfung von schaltungen mit mehreren taktdomänen
US20050240834A1 (en) * 2004-03-30 2005-10-27 Aviation Communication & Surveillance Systems Llc Systems and methods for controlling extended functions
EP1584938B1 (de) * 2004-04-07 2008-05-21 STMicroelectronics Limited Hochgeschwindigkeitsprüfung von integrierten Schaltungen
US7707472B1 (en) * 2004-05-17 2010-04-27 Altera Corporation Method and apparatus for routing efficient built-in self test for on-chip circuit blocks
US7814377B2 (en) * 2004-07-09 2010-10-12 Sandisk Corporation Non-volatile memory system with self test capability
US7627798B2 (en) * 2004-10-08 2009-12-01 Kabushiki Kaisha Toshiba Systems and methods for circuit testing using LBIST
JP2006350707A (ja) * 2005-06-16 2006-12-28 Hitachi Ltd 検出手段の故障診断装置
US7665002B1 (en) * 2005-12-14 2010-02-16 Advanced Micro Devices, Inc. Multi-core integrated circuit with shared debug port
JP2007163845A (ja) * 2005-12-14 2007-06-28 Oki Electric Ind Co Ltd 音源システム
US7949920B2 (en) * 2006-04-19 2011-05-24 Texas Instruments Incorporated DFT techniques to reduce test time and power for SoCs
US7539913B2 (en) * 2006-07-05 2009-05-26 Via Technologies, Inc. Systems and methods for chip testing
US20080016421A1 (en) * 2006-07-13 2008-01-17 International Business Machines Corporation Method and apparatus for providing programmable control of built-in self test
WO2008008546A2 (en) * 2006-07-14 2008-01-17 Xinghao Chen Universal reconfigurable scan architecture
WO2008059638A1 (fr) * 2006-11-13 2008-05-22 Panasonic Corporation Dispositif semi-conducteur
US8079071B2 (en) 2006-11-14 2011-12-13 SanDisk Technologies, Inc. Methods for accessing content based on a session ticket
US8763110B2 (en) 2006-11-14 2014-06-24 Sandisk Technologies Inc. Apparatuses for binding content to a separate memory device
US20080114772A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for connecting to a network location associated with content
US8327454B2 (en) * 2006-11-14 2012-12-04 Sandisk Technologies Inc. Method for allowing multiple users to access preview content
US20080114693A1 (en) * 2006-11-14 2008-05-15 Fabrice Jogand-Coulomb Method for allowing content protected by a first DRM system to be accessed by a second DRM system
DE102006053483B4 (de) 2006-11-14 2019-09-12 Robert Bosch Gmbh Verfahren zur Überwachung einer Klopfregelung und Vorrichtung zur Klopfregelung einer Brennkraftmaschine
US20080133989A1 (en) * 2006-12-05 2008-06-05 Sony Computer Entertainment Inc. Method And Apparatus For Scan Chain Circuit AC Test
US8112683B1 (en) * 2007-02-06 2012-02-07 Marvell International Ltd. System and application debugging
KR101047533B1 (ko) * 2007-02-23 2011-07-08 삼성전자주식회사 멀티 페이즈 스캔체인을 구동하는 시스템온칩과 그 방법
US8756350B2 (en) 2007-06-26 2014-06-17 International Business Machines Corporation Method and apparatus for efficiently tracking queue entries relative to a timestamp
US8140925B2 (en) * 2007-06-26 2012-03-20 International Business Machines Corporation Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
US8010875B2 (en) 2007-06-26 2011-08-30 International Business Machines Corporation Error correcting code with chip kill capability and power saving enhancement
US7984448B2 (en) * 2007-06-26 2011-07-19 International Business Machines Corporation Mechanism to support generic collective communication across a variety of programming models
US8509255B2 (en) 2007-06-26 2013-08-13 International Business Machines Corporation Hardware packet pacing using a DMA in a parallel computer
US8103832B2 (en) * 2007-06-26 2012-01-24 International Business Machines Corporation Method and apparatus of prefetching streams of varying prefetch depth
US7827391B2 (en) 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
US8032892B2 (en) * 2007-06-26 2011-10-04 International Business Machines Corporation Message passing with a limited number of DMA byte counters
US7793038B2 (en) 2007-06-26 2010-09-07 International Business Machines Corporation System and method for programmable bank selection for banked memory subsystems
US7886084B2 (en) 2007-06-26 2011-02-08 International Business Machines Corporation Optimized collectives using a DMA on a parallel computer
US8468416B2 (en) 2007-06-26 2013-06-18 International Business Machines Corporation Combined group ECC protection and subgroup parity protection
US8230433B2 (en) 2007-06-26 2012-07-24 International Business Machines Corporation Shared performance monitor in a multiprocessor system
US8458282B2 (en) 2007-06-26 2013-06-04 International Business Machines Corporation Extended write combining using a write continuation hint flag
US7802025B2 (en) 2007-06-26 2010-09-21 International Business Machines Corporation DMA engine for repeating communication patterns
US8108738B2 (en) 2007-06-26 2012-01-31 International Business Machines Corporation Data eye monitor method and apparatus
US7877551B2 (en) * 2007-06-26 2011-01-25 International Business Machines Corporation Programmable partitioning for high-performance coherence domains in a multiprocessor system
US20090089636A1 (en) * 2007-10-01 2009-04-02 Fernsler Matthew E Method and Apparatus for Logic Built In Self Test (LBIST) Fault Detection in Multi-Core Processors
US7870448B2 (en) * 2007-12-18 2011-01-11 International Business Machines Corporation In system diagnostics through scan matrix
US7805644B2 (en) * 2007-12-29 2010-09-28 Texas Instruments Incorporated Multiple pBIST controllers
JP2009216619A (ja) * 2008-03-12 2009-09-24 Texas Instr Japan Ltd 半導体集積回路装置
US8046651B2 (en) 2008-04-02 2011-10-25 Texas Instruments Incorporated Compare circuit receiving scan register and inverted clock flip-flop data
US7895490B2 (en) * 2008-05-20 2011-02-22 International Business Machines Corporation Method and system for testing an electronic circuit to identify multiple defects
US7934134B2 (en) * 2008-06-05 2011-04-26 International Business Machines Corporation Method and apparatus for performing logic built-in self-testing of an integrated circuit
EP2331979B1 (de) * 2008-09-26 2012-07-04 Nxp B.V. Verfahren zur prüfung einer teilweise zusammengebauten mehrchipanordnung, integrierter schaltungschip und mehrchipanordnung
US8136059B2 (en) * 2008-10-24 2012-03-13 International Business Machines Corporation Indeterminate state logic insertion
US7921346B2 (en) * 2008-10-31 2011-04-05 International Business Machines Corporation Verification of array built-in self-test (ABIST) design-for-test/design-for-diagnostics (DFT/DFD)
US8418008B2 (en) * 2008-12-18 2013-04-09 Lsi Corporation Test technique to apply a variable scan clock including a scan clock modifier on an integrated circuit
CA3000710C (en) * 2009-01-15 2022-04-12 Electronic Warfare Associates, Inc. Systems and methods of implementing remote boundary scan features
US8106801B2 (en) * 2009-02-12 2012-01-31 Qualcomm, Incorporated Methods and apparatus for built in self test of analog-to-digital convertors
US20120072777A1 (en) * 2009-05-27 2012-03-22 Mitsubishi Electric Corporation Debugging device, debugging method, and computer program for sequence program
US8381052B2 (en) * 2009-11-10 2013-02-19 International Business Machines Corporation Circuit and method for efficient memory repair
EP2365441B1 (de) * 2010-03-08 2018-01-24 Mobileye Vision Technologies Ltd. Haltepunkt-Methodologie für Einchipsysteme
TWI482166B (zh) * 2010-03-19 2015-04-21 Hoy Technology Co Ltd Hybrid self - test circuit structure
US8281199B2 (en) * 2010-05-03 2012-10-02 Hoy Technologies, Co., Ltd. Hybrid self-test circuit structure
JP2012145467A (ja) * 2011-01-13 2012-08-02 Renesas Electronics Corp 半導体集積回路及び電源電圧適応制御システム
TWI557746B (zh) 2011-05-10 2016-11-11 電子戰協會公司 實施微電腦為基的電路之內容驗證的系統及方法
US8671320B2 (en) * 2011-06-21 2014-03-11 Lsi Corporation Integrated circuit comprising scan test circuitry with controllable number of capture pulses
TWI546692B (zh) 2011-10-27 2016-08-21 電子戰協會公司 包括與已知電路板資訊有關之電路測試及驗證等特徵的裝置鑑別之系統及方法
US20130173978A1 (en) * 2012-01-01 2013-07-04 Hiroyuki Sasaya Multiple input and/or output data for boundary scan nodes
US8583973B1 (en) * 2013-02-22 2013-11-12 Lsi Corporation Stored-pattern logic self-testing with serial communication
US20140258780A1 (en) * 2013-03-05 2014-09-11 Micron Technology, Inc. Memory controllers including test mode engines and methods for repair of memory over busses used during normal operation of the memory
US20140281717A1 (en) * 2013-03-14 2014-09-18 Nisar Ahmed Built-in self test (bist) with clock control
KR102066661B1 (ko) 2013-09-02 2020-01-15 삼성전자 주식회사 스캔-체인으로 연결된 플립-플롭들의 값들을 jtag 인터페이스를 이용하여 재구성할 수 있는 집적 회로, 이의 동작 방법, 및 상기 집적 회로를 포함하는 장치들
US9110135B2 (en) * 2013-09-23 2015-08-18 International Business Machines Corporation Chip testing with exclusive OR
US9632141B2 (en) * 2014-06-26 2017-04-25 Oracle International Corporation Simultaneous transition testing of different clock domains in a digital integrated circuit
CN105988075B (zh) 2015-02-17 2019-12-20 恩智浦美国有限公司 用于扫描测试的增强状态监视器
EP3272015B1 (de) * 2015-03-17 2022-09-28 Huawei Technologies Co., Ltd. Integrierte schaltung mit gemischten signalen
CN105486999A (zh) * 2015-11-27 2016-04-13 中国电子科技集团公司第三十八研究所 基于pxi总线的边界扫描数字电路测试***及其测试方法
TWI625534B (zh) * 2015-12-21 2018-06-01 瑞昱半導體股份有限公司 透過掃描測試的掃描鏈所執行的除錯方法及相關電路系統
US10234503B2 (en) * 2015-12-21 2019-03-19 Realtek Semiconductor Corp. Debugging method executed via scan chain for scan test and related circuitry system
US9891282B2 (en) * 2015-12-24 2018-02-13 Intel Corporation Chip fabric interconnect quality on silicon
US10139448B2 (en) 2016-08-31 2018-11-27 Nxp Usa, Inc. Scan circuitry with IDDQ verification
CN107870832B (zh) * 2016-09-23 2021-06-18 伊姆西Ip控股有限责任公司 基于多维度健康诊断方法的多路径存储设备
KR20180037422A (ko) * 2016-10-04 2018-04-12 삼성전자주식회사 집적 회로 및 애플리케이션 프로세서
US9733307B1 (en) * 2016-10-20 2017-08-15 International Business Machines Corporation Optimized chain diagnostic fail isolation
KR20180073300A (ko) 2016-12-22 2018-07-02 삼성전자주식회사 스캔 데이터 컨트롤 장치 및 이를 갖는 전자 시스템
US10247776B2 (en) 2017-02-22 2019-04-02 International Business Machines Corporation Structurally assisted functional test and diagnostics for integrated circuits
US10613142B2 (en) 2017-02-22 2020-04-07 International Business Machines Corporation Non-destructive recirculation test support for integrated circuits
JP6832787B2 (ja) * 2017-04-28 2021-02-24 ルネサスエレクトロニクス株式会社 半導体装置および半導体装置のテスト方法
US10319459B1 (en) * 2017-06-28 2019-06-11 Cadence Design Systems, Inc. Customizable built-in self-test testplans for memory units
US10585142B2 (en) 2017-09-28 2020-03-10 International Business Machines Corporation Functional diagnostics based on dynamic selection of alternate clocking
TWI762538B (zh) * 2017-12-13 2022-05-01 英業達股份有限公司 電路板的電壓腳位導通檢測系統及其方法
CN112997089A (zh) * 2018-08-22 2021-06-18 康姆索利德有限责任公司 扩展jtag控制器和使用扩展jtag控制器进行功能调试的方法
US11493553B2 (en) * 2018-08-22 2022-11-08 Commsolid Gmbh Extended JTAG controller and method for functional reset using the extended JTAG controller
US10817644B2 (en) * 2018-10-19 2020-10-27 Globalfoundries Singapore Pte. Ltd. Circuit and method for design of RF integrated circuits for process control monitoring
US10746792B1 (en) * 2018-11-30 2020-08-18 Amazon Technologies, Inc. Debug mechanisms for a processor circuit
KR20210014365A (ko) * 2019-07-30 2021-02-09 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
JP7150676B2 (ja) * 2019-09-02 2022-10-11 株式会社東芝 半導体集積回路及びそのテスト方法
US10998075B2 (en) 2019-09-11 2021-05-04 International Business Machines Corporation Built-in self-test for bit-write enabled memory arrays
US10971242B2 (en) * 2019-09-11 2021-04-06 International Business Machines Corporation Sequential error capture during memory test
US11183261B2 (en) * 2020-04-01 2021-11-23 Taiwan Semiconductor Manufacturing Company, Ltd. Test device for memory, method for detecting hardware failure in memory device, and test apparatus of memory array
CN112526327B (zh) * 2020-10-28 2022-07-08 深圳市紫光同创电子有限公司 边界扫描测试方法及存储介质
US11513153B2 (en) * 2021-04-19 2022-11-29 Nxp Usa, Inc. System and method for facilitating built-in self-test of system-on-chips
WO2023076671A1 (en) * 2021-11-01 2023-05-04 Synopsys, Inc. Embedded memory transparent in-system built-in self-test
US11754624B1 (en) 2022-02-24 2023-09-12 Seagate Technology Llc Programmable scan chain debug technique

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5491793A (en) 1992-07-31 1996-02-13 Fujitsu Limited Debug support in a processor chip
US5828825A (en) 1993-12-22 1998-10-27 Intel Corporation Method and apparatus for pseudo-direct access to embedded memories of a micro-controller integrated circuit via the IEEE test access port
TW253942B (de) * 1994-01-31 1995-08-11 At & T Corp
US5488688A (en) 1994-03-30 1996-01-30 Motorola, Inc. Data processor with real-time diagnostic capability
US5544311A (en) 1995-09-11 1996-08-06 Rockwell International Corporation On-chip debug port
US5724505A (en) 1996-05-15 1998-03-03 Lucent Technologies Inc. Apparatus and method for real-time program monitoring via a serial interface
DE69734379T2 (de) 1996-08-30 2006-07-06 Texas Instruments Inc., Dallas Vorrichtung zur Prüfung von integrierten Schaltungen
US5828824A (en) 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US5881067A (en) 1997-01-28 1999-03-09 Sun Microsystems, Inc. Flip-flop design and technique for scan chain diagnosis
KR100240662B1 (ko) * 1997-09-25 2000-01-15 윤종용 제이태그에 의한 다이나믹램 테스트장치
JPH11184724A (ja) 1997-12-18 1999-07-09 Matsushita Electric Ind Co Ltd インサーキットエミュレータ及び半導体集積回路
US6199031B1 (en) 1998-08-31 2001-03-06 Vlsi Technology, Inc. HDL simulation interface for testing and verifying an ASIC model
US6249893B1 (en) 1998-10-30 2001-06-19 Advantest Corp. Method and structure for testing embedded cores based system-on-a-chip
US6191603B1 (en) 1999-01-08 2001-02-20 Agilent Technologies Inc. Modular embedded test system for use in integrated circuits
US6308290B1 (en) 1999-05-20 2001-10-23 International Business Machines Corporation Look ahead scan chain diagnostic method
US6598192B1 (en) * 2000-02-28 2003-07-22 Motorola, Inc. Method and apparatus for testing an integrated circuit
US6686759B1 (en) * 2000-11-28 2004-02-03 Cadence Design Systems, Inc. Techniques for testing embedded cores in multi-core integrated circuit designs

Also Published As

Publication number Publication date
DE60211659D1 (de) 2006-06-29
EP1364436A1 (de) 2003-11-26
ATE327587T1 (de) 2006-06-15
EP1364436A4 (de) 2005-02-16
US20020138801A1 (en) 2002-09-26
US7191373B2 (en) 2007-03-13
US7284175B2 (en) 2007-10-16
EP1364436B1 (de) 2006-05-24
US20070168803A1 (en) 2007-07-19
WO2002071567A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE60225898T2 (de) Mehrfacherfassungs-dft-system zum detektieren oder auffinden von überschreitenden taktbereichsfehlern während der selbstprüfung oder scan-prüfung
DE68921269T2 (de) Integrierte Prüfschaltung.
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE69031362T2 (de) Verzögerungsfehler-Testvorrichtung
DE69107463T2 (de) Integrierte Schaltung, System und Verfahren zur Fehlererzeugung.
DE69126575T2 (de) Durch Ereignis befähigte Prüfarchitektur
DE69533275T2 (de) Ein Steuergerät zur Durchführung der Abtastprüfung
DE102006009224B4 (de) Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest
US7058869B2 (en) Method and apparatus for debug, diagnosis, and yield improvement of scan-based integrated circuits
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
DE69024138T2 (de) Verfahren und Einrichtung zur Erzeugung von Steuersignalen
DE102016116717A1 (de) Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE69825299T2 (de) Verfahren und vorrichtung zur anwendung von gewichteten zufallsmustern bei teilabtastung
DE2729053A1 (de) Verfahren zur stufenempfindlichen pruefung einer einseitig verzoegerungsabhaengigen logischen einheit
DE2346617A1 (de) Verfahren zur pruefung der laufzeitverzoegerung einer funktionalen logischen einheit
DE102006024507B4 (de) Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
DE602005003302T2 (de) Automatischer mit Geschwindigkeit ablaufender Test auf Fehler von Logikblöcken unter Verwendung von BIST-Logikschaltungen
DE102005026403B4 (de) Verfahren zum Liefern von Abtastmustern zu einer elektronischen Vorrichtung
DE68927984T2 (de) Logikschaltung mit einer Prüffunktion
DE60012735T2 (de) Verfahren zur unterscheidung von verschiedenen typen von abtastfehlern, rechnerbasierte schaltungsemulation und fehlerdetektionssystem
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap

Legal Events

Date Code Title Description
8364 No opposition during term of opposition