DE602004003475T2 - Testen von integrierten schaltungen - Google Patents

Testen von integrierten schaltungen Download PDF

Info

Publication number
DE602004003475T2
DE602004003475T2 DE602004003475T DE602004003475T DE602004003475T2 DE 602004003475 T2 DE602004003475 T2 DE 602004003475T2 DE 602004003475 T DE602004003475 T DE 602004003475T DE 602004003475 T DE602004003475 T DE 602004003475T DE 602004003475 T2 DE602004003475 T2 DE 602004003475T2
Authority
DE
Germany
Prior art keywords
cells
output
input
cell
coupled
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
DE602004003475T
Other languages
English (en)
Other versions
DE602004003475D1 (de
Inventor
M. Leon VAN DE LOGT
F. Thomas WAAYERS
Frank Van Der Heyden
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE602004003475D1 publication Critical patent/DE602004003475D1/de
Application granted granted Critical
Publication of DE602004003475T2 publication Critical patent/DE602004003475T2/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
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • 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
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals

Description

  • Die Erfindung bezieht sich auf integrierte Schaltungen, und insbesondere auf integrierte Schaltungen mit einem Testinterface mit einem Boundary-Scan-Pfad, wie z.B. das durch den IEEE1149.1-Standard definierte Testinterface.
  • Eine Schaltung gemäß der Einleitung von Anspruch 1 ist in einem Artikel mit dem Titel „Enhanced reduced pin count for full scan design" von H. Vrancken et al auf den Seiten 129–143 des Journal of Electronic Testing: Theory and Applications, Vol. 18 Nr. 2, 30 (EPO Referenz XP002285789) beschrieben. Diese Publikation beschreibt eine integrierte Schaltung mit einem „Enhanced Reduced Pin Count Test" (ERPCT)-Modus. In diesem Modus dienen bestimmte IC-Pins als Eingänge oder Ausgänge von Schieberegisterketten, die entlang nur eines Teil einer Boundary-Scan-Kette gemäß dem IEEE1149.1-Standard laufen. Dies macht es möglich, Testdaten über eine Vielzahl von Pins parallel ein- und auszuschieben, ohne einen Tester an alle Pins anschließen zu müssen. Diese Publikation nimmt offensichtlich an, dass feste IC-Pins, abhängig von erlaubten Taktraten der integrierten Schaltung und ihren Interfaces gewählt, als Eingänge oder Ausgänge von Schieberegisterketten dienen. Über dies hinaus spricht die Publikation nicht an, welche dieser Pins als Eingänge oder Ausgänge von Schieberegisterketten verwendet werden sollten.
  • Der IEEE1149.1-Standard definiert ein Testzugriffsinterface für integriere Schaltungen. Dieses Interface erlaubt Testen von Verbindungen auf einer Leiterplatte, die die integrierte Schaltung enthält. Das Interface wird der TAP-Port (Test Access Port – Testzugriffs-Port) genannt und enthält einen Testdateneingang (TDI, Test Data Input), einen Testdatenausgang (TDO, Test Data Output), einen Testtakteingang (TCK, Test Clock Input) einen Testmodusauswahleingang (TMS, Test Mode Select) und einen Teststatusrücksetzeingang (TRST, Test State Reset). Die TDI und TDO-Anschlüsse verschiedener integrierter Schaltungen sind auf einer Leiterplatte in einer Daisy-Chain gekoppelt. Die TCK, TMS und TRST-Eingänge der verschiedenen integrierten Schaltungen sind parallel gekoppelt.
  • Die integrierte Schaltung mit dem Testinterface ist mit einer Anzahl zwischen die Funktionsanschlüsse der integrierten Schaltung und der Kernschaltung der integrierten Schaltung gekoppelten Scan-Zellen versehen. Zusätzlich sind die Scan-Zellen aneinander gekoppelt, um eine Schieberegisterstruktur für Testzugriff zu bilden. Ein Testcontroller (TAP-Controller genannt) steuert den Betrieb der Boundary-Scan-Zellen.
  • Der Standard definiert einen Statusmaschinenbetrieb des TAP-Controllers. Statusübergänge werden durch den TMS-Eingang gesteuert. Verschiedene Statusübergänge stellen Eintreten und Verlassen eines Testmodus bereit. In dem Testmodus fangen die Boundary-Scan-Zellen Signale zwischen der Kernschaltung und den Anschlüssen ab. Ausgangszellen liefern Testsignale an die Anschlüsse anstatt die Kernschaltung und Eingangszellen fangen Daten von den Anschlüssen auf. Die Stati der Statusmaschine stellen einen Schiebestatus bereit, in dem Daten von dem Testdateneingang über eine Kette von Boundary-Scan-Zellen zu dem Testdatenausgang geschoben werden. Bei bestimmten Statusübergängen werden Daten, die durch die Kette geschoben worden sind, verwendet, um Testdaten, die an die Anschlüsse ausgegeben werden, upzudaten, und bei anderen Übergängen werden Daten von den Anschlüssen für Transport durch die Kette aufgefangen.
  • Zusätzlich sorgt der TAP-Controller durch die TDI-Anschlüsse für die Anwendung von Befehlen. Die Befehle können verwendet werden, bestimmte integrierte Schaltungen in verschiedene Submodi des Testmodus zu schalten, inklusive eines normalen EXTEST-Modus, in dem Testdaten durch die Boundary-Scan-Zellen geschoben werden können und Signale zwischen den Anschlüssen und der Kernschaltung abgefangen werden, einem Bypass-Modus, in dem Daten, die Boundary-Scan-Zellen in der integrierten Schaltung umgehend, von TDI zu TDO geschoben werden, einem Funktions-Modus, in dem die integrierte Schaltung normal an ihre Anschlüsse angeschlossen ist während andere integrierte Schaltungen im Test-Modus sind, und einem CLAMP-Modus (Klemm-Modus), in dem die integrierte Schaltung das Updaten von Daten, die von den Boundary-Scan-Zellen geliefert werden, sperrt. In weiteren Modi werden die Testdaten von dem Testdateneingang TDI durch interne, durch Befehle selektierte Scan-Ketten zu dem Testdatenausgang geschickt werden.
  • Eine serielle Schieberegisterstruktur, die durch alle Boundary-Scan-Zellen läuft und, über die TDO/TDI-Verbindungen, von einer integrierten Schaltung zu einer andern, hat Vorteile und Nachteile. Der Hauptvorteil ist, dass die Verdrahtung, die benötigt wird, um Testdaten an verschiedene integrierte Schaltungen zu liefern, minimiert werden kann. Der Hauptnachteil ist, dass serielle Strukturen die Geschwindigkeit verlangsamen, mit der auf die Anschlüsse der integrierten Schaltung zugegriffen werden kann.
  • Die langsame Zugriffsgeschwindigkeit wird teilweise durch Bereitstellen von Bypass- und Klemmbefehlen angegangen. An selektierte integrierte Schaltungen gelieferte Bypassbefehle entfernen effektiv die Boundary-Scan-Ketten selektierter integrierter Schaltungen von der Gesamtkette auf der Leiterplatte und reduzieren so die Anzahl von Taktzyklen, die benötigt werden, Testdaten zu oder von einer relevanten Boundary-Scan-Zelle zu transportieren. Der Klemmbefehl macht es möglich, mehr nützliche Daten innerhalb derselben Anzahl von Taktzyklen zu transportieren, weil die Signale an den Anschlüssen aller irrelevanten integrierten Schaltungen fixiert gehalten werden und keine Testdaten benötigen. Als ein Ergebnis können Daten für aufeinander folgende Updates der relevanten integrierten Schaltung anstatt derer für irrelevante integrierte Schaltungen geliefert werden. Aber bekannte Befehle, um die integrierte Schaltung in den Bypass-Modus oder den Clamp-Modus zu setzen, gelten für die integrierte Schaltung als Ganzes, um die Scan-Kette als Ganzes zu umgehen oder zu klemmen.
  • Der Stand der Technik hat weitere Lösungen vorgeschlagen, die Zugriffsgeschwindigkeit während des Testens zu verbessern. US Patent 6.430.718 hat beispielsweise eine integrierte Schaltung vorgeschlagen, in der Testdaten von automatischem Testgerät, das an eine Anzahl von Anschlüssen parallel angeschlossen ist, parallel in eine Vielzahl von Boundary-Scan-Zellen eingegeben werden können. Die Testdaten werden anschließend in interne Scan-Zellen geschoben, wie sie für Testzwecke verwendet werden. Abhängig von den Befehlen empfangen die internen Scan-Zellen entweder Daten von dem Testdateneingang TDI direkt oder von den Boundary-Scan-Zellen, an die das automatische Testgerät angeschlossen ist. Ähnlich können Testergebnisse entweder von einer Vielzahl Boundary-Scan-Zellen parallel zu einer Anzahl von Anschlüssen übertragen werden oder zu dem Testdatenausgang gespeist werden.
  • US Patent 6.018.815 schlägt auch vor, Testdaten parallel einzugeben, aber in diesem Fall über eine Anzahl dedizierter Anschlüsse. Diese Publikation schlägt auch vor, eine Anzahl von Scan-Ketten und Testcontrollerbefehlen, um zu selektieren, welche dieser Scan-Ketten zwischen den Testdateneingang TDI und den Testdatenausgang TDO gekoppelt wird, wie auch einen Befehl, alle Scan-Ketten in Serie zwischen den Testdateneingang TDI und den Testdatenausgang zu koppeln, bereitzustellen.
  • Die vorgeschlagenen Geschwindigkeitsverbesserungen, was Bypass-Befehle, Clamp-Befehle und Befehle für parallele Eingabe und Rekonfiguration des Scans angeht, zielen auf Reduktion der Menge an Zeit, die benötigt wird, Daten während des Testens zu oder von Anschlüssen zu schicken. Nicht auf die Verbesserungen von Zugriffsgeschwindigkeit bezogen offenbart US Patent 5.991.908 eine Familie von FPGAs (kundenprogrammierbare Gate Arrays) und eine festverdrahtete Anordnung (eine maskenprogrammierbare Schaltung), die den Betrieb der FPGAs von jedem der Familie emulieren kann. Die festverdrahtete Anordnung wird verwendet, um die FPGAs in Schaltungsmodulen zu ersetzen, die genügend entwickelt worden sind, um Massenfertigung ohne weitere Designänderungen zu erlauben. Sowohl die FPGAs als auch die festverdrahteten Anordnungen sind mit einem Boundary-Scan-Interface versehen. Leiterplatten, die entweder das FPGA oder die festverdrahtete Version enthalten, werden auf dieselbe Art getestet. Aber da verschiedene FPGAs in der Familie unterschiedliche Anzahlen von Anschlüssen haben, die überdies als Eingangs- oder Ausgangsanschlüsse programmiert werden können, ist es notwendig, die Boundary-Scan-Kette in der festverdrahteten Anordnung zu rekonfigurieren, um so der des emulierten FPGAs zu entsprechen. Offensichtlich muss diese Rekonfiguration nur einmal durchgeführt werden, wenn das FPGA programmier ist, vermutlich auf dieselbe Art wie der Großteil des FPGAs programmiert ist.
  • Der Testzugriffs-Port ist mehr und mehr für andere Verwendung als nur strukturelles Testen untersucht worden. Zur Programmierung von Flash-Anordnungen und PLDs ist es schon üblich, den TAP für den Zugriff zu verwenden. Der 5-polige Steckverbinder ist für strukturelles Testen schon auf dem PCB (Leiterplatte) vorhanden, so werden zusätzliche Steckverbinder für das Programmierung nicht benötigt, was Leiterplattenplatz spart. Die vorliegende Erfindung zieht die Verwendung des TAPs und der Boundary-Scan-Implementierung für das Debuggen von Design während des Prototypenbaus und andere Arten von Zugriff, wo ein hoher Durchsatz gefordert ist, in Erwägung.
  • Entwicklung einer Applikation oder eines Systems besteht aus mehreren Stufen. Eine dieser Stufen ist die Entwicklung des eigentlichen Designs für eine Verbraucherapplikation wie TV oder DVD. Bevor volle Produktion startet werden Prototypen entwickelt. Während des Prototypenbaus umfasst Testen der Applikation mindestens das Folgende:
    • – Elektrische Verbindungsleitungstests, oft als strukturelle Tests bezeichnet. Der IEEE1149.1-Standard ist heutzutage ein gut anerkannter und geschätzter Standard für strukturelles Testen von PCBs.
    • – Funktionstests überprüfen Verbindungsleitungen, die in strukturellen Tests nicht gelöst werden können.
  • Debuggen des eigentlichen Designs. Während des Debuggens kann die Funktionalität der Applikation (beispielsweise ein TV oder DVD) überprüft werden. Diese Design-Debug-Phase ist typisch für den Prototypenbau, wo das eigentliche Design noch nicht festgelegt ist. Hier kann Unrichtigkeit in dem Design in Ordnung gebracht werden. Wenn die Applikation in voller Produktion ist, wird Debuggen nicht mehr gebraucht und funktionale und strukturelle Tests überprüfen die Funktionalität des Designs.
  • Während des Prototypenbaus ist Debuggen auf Leiterplattenniveau gemeint, um Designfehler zu eliminieren. Die ist ein wichtiger Schritt, bevor die Produktion starten kann. Hier liegt der Fokus auf Aspekten wie:
    • – Designfehler in dem System,
    • – Layoutfehler der Leiterplatte
    • – Softwarefehler
    • – Chipdesignfehler in der Applikation.
  • Alle diese Aspekte sind dem Schritt des Gesamtdesigndebuggens wichtig, um korrektes Funktionieren zu überprüfen.
  • Wenn das Debuggen des Designs schnell und effizient getan werden muss, ist Zugriff auf die ICs von wesentlicher Wichtigkeit. Traditionell wird diese durch Kontaktieren der verfügbaren Steckverbinder auf dem PCB, um die Daten zu überwachen, getan. Viele funktionale Datenströme können auf dem traditionellen Weg untersucht werden. Aber Datenströme, die an den Steckverbindern nicht verfügbar sind, können während des Prototypenbaus genauso wichtig zu untersuchen sein. Da die Verwendung von SOP-Gehäusen und BGA schnell anwächst, ist es mehr und mehr schwierig, Messungen auf dem PCB durchzuführen. Sondenzugriff auf diese Pins ist dann überhaupt nicht offensichtlich. Daneben verursacht starker Druck auf die Kosten, PCBs herzustellen, dass die Applikation weniger Oberfläche auf der Leiterplatte einnimmt. Hinzufügen zusätzlicher Testflecken zur Verwendung mit Testnadeln ist oft nicht durchführbar. Aus diesem Grund sehen Designer nach einem Austausch zwischen Leiterplattenplatz und den für ICs erforderlichen zunehmender Programmierungs- und Debug-Zugriffsmöglichkeiten. Zur Zeit können Datenströ me, auf die nicht durch Standardvorrichtungen zugegriffen werden kann, nicht überprüft werden oder es ist mindestens sehr schwierig es zu tun.
  • Diese Stufe des Debuggen des Design ist ein zeitraubender und deshalb teurer Teil in dem Gesamtzyklus der Produktkreation. Viel teure Zeit man in einem Design nach Fehlern sucht, die aufgrund von Zugriffsproblemen nicht lokalisiert werden können. Es müssen andere Mittel des Zugriffs und der Überwachung erzeugt werden, um auf diesen Chips Datenströme zu überwachen.
  • Debuggen des Systems erfordert auch Zugriff durch Steckverbinder oder Testpunkte. Verwendung der TAP-Ports ist schon für Debuggen auf Chip-Ebene wie auch für Debuggen von Software mit Benutzen des EJTAG-Ports demonstriert worden. Verwenden des TAP-Ports für Debuggen der Designfunktionalität auf Leiterplatten-Ebene ist eine logische Erweiterung. Die implementierte Boundary-Scan-Architektur, die Kontakt zu jedem I/O-Pin eines ICs hat, verbessert den Zugriff auf andere Pins. In der Prototypenbaustufe macht dies möglich, Datenströme zu anders nicht zugreifbaren Pins zu überwachen, ohne zusätzliches Leiterplattendesign hinzuzufügen zu müssen.
  • Der Standard-Boundary-Scan-Test setzt die Applikation in den Testbereich, nicht in den Funktionsbereich. Dies vermeidet, dass funktionale Daten durch die Kette zu dem TAP-Steckverbinder oder andere Pins in der Applikation geschickt werden.
  • Im Prinzip können, wenn ein IC in den EXTEST-Modus gesetzt wird und alle anderen unter Verwendung des BYPASS-Befehls in den Funktions-Modus gesetzt werden, TDO als Beobachter für funktionale Daten und TDI als ein Treiber verwendet werden. Der mit dem IC, das den Debug-Datenstrom trägt, verbunden ist, sollte selektiert werden. Für bestimmte Situationen, wo vordefinierte Werte an die Pins gelegt werden müssen, müssen diese ICs in CLAMP, während das IC, das die Daten zu dem TAP überträgt, in EXTEST sein muss.
  • Das grundsächliche statische Verhalten von Boundary-Scan aber schränkt die Verwendung für Funktionalität durch getriebenen Test oder Debuggen ein. Die serielle Natur der Boundary-Scan-Kette reduziert die effektive Taktfrequenz an den digitalen Pins. Obwohl die Testfrequenz (TCK) im Allgemeinen in dem Bereich 10–20 MHz ist, haben die meisten ASIC-Design Ketten mit 1000 Zellen, was die Geschwindigkeit an IC-Pins (Datenrate) effektiv auf 10 kHz reduziert. Für die meisten (Verbraucher-)Applikationen wie DVDR und digitales TV kann 10 kHz als fast statisch angesehen werden. Normalerweise reicht diese niedrige Frequenz nicht für richtiges und zuverlässiges Debuggen der funktio nalen Merkmale aus, was viel höhere Geschwindigkeiten erfordert. Umgehen von Zellen in der Kette, die zum Durchführen des bestimmten Debug-Tests nicht erforderlich sind, kann die effektive Geschwindigkeit erhöhen. Außerdem sind alle Pins des ICs entweder in einem Funktions-Modus oder im Boundary-Scan-Modus, wenn der normale Boundary-Scan durchgeführt wird.
  • Debuggen unter Verwendung eines Boundary-Scan-Interfaces ist aus einem Artikel mit dem Titel „IEEE1149.11-compliant access architecture for multiple core debug on digital system chips" von B. Vermeulen et al., veröffentlicht in den Proceedings International Test Conference 2002, ITC 2002 Baltimore, 7–10 Okt. 2002, Seiten 55–63 (EPO Referenz XP010609726) bekannt.
  • Die Europäische Patentanmeldung Nr. 855654 offenbart ein Verfahren, ein IEEE1149.1-kompatibles Testinterface an eine Busstruktur anzuschließen.
  • Es ist eine Aufgabe der Erfindung, die Tauglichkeit eines Testinterfaces einer integrierten Schaltung für die Verwendung bei Debuggen zu verbessern.
  • Es ist eine weitere Aufgabe der Erfindung, die Zugriffsgeschwindigkeit, bei der auf selektierte Anschlüsse in Schaltungen über eine Boundary-Scan-Kette zugegriffen werden kann, zu erhöhen.
  • Die Erfindung schafft eine integrierte Schaltung gemäß Anspruch 1. Gemäß der Erfindung unterstützt eine integrierte Schaltung, die zu Testzwecken eine Boundary-Scan-Kette hat, einen weiteren Modus, in den sie durch einen Befehl geschaltet werden kann. Der weitere Modus ist für Zwecke des Debuggens designt, aber ohne von der Erfindung abzuweichen, kann er für andere Zwecke, die effizienten Zugriff erfordern, verwendet werden. In dem weiteren Modus transportieren selektierbare erste der Zellen Daten seriell entlang der Boundary-Scan-Kette, während selektierbare zweite der Zellen Daten schreiben oder lesen, die in dem weiteren Modus durch die ersten der Zellen zu oder von den Anschlüssen von oder zu der Scan-Kette transportiert worden sind oder transportiert werden sollen. Die ersten der Zellen lesen oder schreiben in dem weiteren Modus nicht Daten von oder zu den Anschlüssen.
  • Dies wird vorzugsweise durch Bereitstellen einer Multiplexerschaltung realisiert, die erlaubt, dass die ersten der Zellen in dem weiteren Modus in der Schieberegisterstruktur umgangen werden, wenn die zweiten der Zellen Daten direkt von der Schieberegis terstruktur oder nach Speichern in einem Scan-Flipflop oder einem Update-Flipflop der zweiten der Zellen von oder zu der Schieberegisterstruktur ausgeben oder einnehmen.
  • Vorzugsweise werden Zellen mithilfe von Konfigurationsinformation, die über das Test-Interface in Konfigurationszellen geladen wird, selektiert, erste oder zweite der Zellen zu sein. Vorzugsweise gibt es für jede jeweilige Boundary-Scan-Zelle eine Konfigurationszelle, sodass jede Boundary-Scan-Zelle, die den weiteren Modus unterstützt, individuell selektiert werden kann, unabhängig von den anderen Zellen eine erste oder zweite der Zellen zu sein.
  • In einer weiteren Ausführungsform werden die Update-Flipflops der Boundary-Scan-Zellen als Konfigurationszellen verwendet. Während des normalen Testens fungieren Update-Flipflops, um Testdaten an den Funktionsausgang der Scan-Zelle zu liefern, aber in dem weiteren Modus fungieren sie, um zu selektieren, ob individuelle Zellen als erste oder zweite der Zellen arbeiten.
  • In einer ersten Ausführungsform kann die Boundary-Scan-Kette Signale asynchron übergeben, ohne sie in die Schieberegisterstruktur zu speichern. Daten werden direkt von selektierten Anschlüssen gelesen und/oder zu diesen Anschlüssen geschrieben und transparent entlang des Scan-Pfades übergeben, ohne gespeichert zu werden.
  • In einer zweiten Ausführungsform arbeitet die Boundary-Scan-Kette in dem weiteren Modus synchron, sodass Eingangsdaten zwischengespeichert werden, bevor sie in dem weiteren Modus durch die Boundary-Scan-Kette weitergegeben, bevor sie von der Boundary-Scan-Kette ausgegeben werden.
  • In einer weiteren Ausführungsform unterstützt die integrierte Schaltung beide Modi und einen Befehl, zu selektieren, in welchem Modus die integriere Schaltung arbeitet.
  • Diese und andere Aufgaben und vorteilhafte Aspekte der Erfindung werden detaillierter mit Bezug auf die Zeichnung beschrieben. In dieser zeigen:
  • 1 die Architektur einer integrierten Schaltung;
  • 2 einen Eingangsblock zur Verwendung in einer Boundary-Scan-Kette;
  • 3 einen Ausgangsblock zur Verwendung in einer Boundary-Scan-Kette;
  • 4 einen weiteren Block zur Verwendung in einer Boundary-Scan-Kette;
  • 5 einen Eingangsblock zur Verwendung in einer Boundary-Scan-Kette;
  • 6 einen Ausgangsblock zur Verwendung in einer Boundary-Scan-Kette;
  • 7 einen Eingangsblock zur Verwendung in einer Boundary-Scan-Kette;
  • 8 einen Ausgangsblock zur Verwendung in einer Boundary-Scan-Kette; und
  • 9 ein Debug-System.
  • Beim Entwickeln der ersten konzeptionellen Implementierung wurde gewählt, Standard-Boundary-Scan-Zellen, wie sie durch den IEEE1149.1-Standard definiert sind, zu verwenden. Die erforderliche Erweiterung ist um diese Standardzellen herum gebaut. Die Erweiterung zu der Basisarchitektur ist für beide Modi gleich. Der Unterschied tritt auf Zellen- oder Chip-Pin-Niveau auf und wir in den nächsten zwei Abschnitten erklärt.
  • 1 zeigt die erweiterte Architektur eines integrierten Schaltungschips (IC), der den TAP-Port für Zugriff auf den Chip verwendet, und die Boundary-Scan-Zellen für den Zugriff auf die bestimmten IC-Pins. Die integriere Schaltung umfasst eine Kernschaltung 10, externe Anschlüsse 16 und eine Vielzahl von Boundary-Scan-Blöcken 12. Jeder Boundary-Scan-Block 12 hat einen Scan-Eingang SI, einen Scan-Ausgang SO, und einen Funktionsausgang PO (aus Gründen der Klarheit nur für einen Block gezeigt). Die Boundary-Scan-Blöcke 12 sind in einer Boundary-Scan-Kette gekoppelt, in der die So und SI aufeinander folgenden Blöcke verbunden sind. Blöcke 12 schließen die Kernschaltung 10 an die Anschlüsse 16 mit den Funktions-Eingängen und Ausgängen PI, PO an. Abhängig davon, ob der Anschluss als Eingang oder Ausgang verwendet wird, ist der Funktionseingang PI oder der Funktionsausgang PO des Scan-Blocks 12 an den Anschluss und der Funktionsausgang PO oder der Funktionseingang PI ist an die Kernschaltung angeschlossen.
  • Die integriere Schaltung hat konventionelle P1149.1 Testanschlüsse TDI, TDO, TCK, TMS und TRST und einen an die Boundary-Scan Blöcke 12 gekoppelten TAP (Testzugriffs-Port) Controller (TAP-C). Um der Klarheit halber sind Steuerverbindungen zu den Blöcken für konventionelle P1149.1-Steuerung nicht gezeigt. TAP-Controller TAP-C hat Ausgänge für Signale CTL und MODE, die parallel mit allen Boundary-Scan-Blöcken 12 gekoppelt sind.
  • Die integrierte Schaltung enthält auch eine Kette von Konfigurationszellen 14, die als konventionelle Scan-Zellen implementiert werden können. Die Kette der Konfigurationszellen ist parallel zu der Boundary-Scan-Kette zwischen den Testdateneingang TDI und den Testdatenausgang gekoppelt. Unter der Kontrolle von Befehlen steuert TAP-Controller TAP-C, welche Kette Daten zwischen TDI und TDO empfängt und aussendet, TAP-Controller TAP-C liefert ein HOLD-Signal an die Konfigurationszellen 14.
  • Jede Konfigurationszelle 14 hat einen Konfigurationssignalausgang, der an einen Konfigurationseingang eines entsprechenden der Boundary-Scan-Blöcke 12 gekoppelt ist. So empfangen die Boundary-Scan-Blöcke 12 gemeinsame Signale CTL und MODE und Block-spezifische Konfigurationssignale.
  • Zwei Modi (synchron und asynchron) sind in derselben Architektur implementiert. Zwei neue private Befehle sind in dem Befehlsregister des Boundary-Scan-TAP-Controllers erzeugt, einer für den synchronen Modus (SYNC) und einer für den asynchronen Modus (ASYNC). Diese Befehle selektieren den geforderten Modus. Ein separates Konfigurationsregister (die Konfigurationszellen) in gleicher Länge wie die Boundary-Scan-Kette wird verwendet, um jeden Boundary-Scan-Zellen-Block (BS-Block) zu steuern. Der BS-Block ist ein Teil, der aus einer Standard-Boundary-Scan-Zelle mit zusätzlicher, für den Debug-Modus benötigter Logik besteht. Das Konfigurationsregister hält die Einstellung für jeden aktiven und inaktiven Pin für Debuggen. Aktiv bezieht sich auf Lese- und Schreibzugriff auf einen IC-Pin, inaktiv darauf, dass man keinen Lese- und Schreibzugriff hat. Steuersignale sind erforderlich, um beide Modi möglich zu machen. 1 zeigt nur die zusätzlichen, für diese Implementierung notwendigen Steuersignale. Steuerung wird durch globale Steuerleitungen (CTL, MODE, HOLD) und durch lokale, Zellen-spezifischen Steuerleitungen (CFG(i)) erreicht. Die globalen Steuerleitungen CTL und MODE sind von dem TAP-Controller zu jeden BS-Block verlegt. HOLD ist von dem TAP-Controller zu jeder Zelle des Konfigurationsregisters verlegt. Die lokalen Leitungen CFG(i) sind BS-Blockspezifisch und zwischen dem BS-Block und der steuernden Zelle des Konfigurationsregisters verlegt.
  • Funktionsprinzip
  • Wenn ein Modus ausgewählt ist, wird die Konfiguration in das gesamte Konfigurations-(Schiebe) Register geladen. CFG(i)= "1" zeigt an, dass der spezielle BS-Block Funktionsdaten von oder zu dem IC-Pin lesen oder schreiben wird. Ein „0" zeigt das Gegenteil an, der BS-Block wird umgangen eine keine Daten werden von oder zu dem IC-Pin gelesen oder geschrieben. Das HOLD-Signal garantiert, dass die Konfigurationseinstellung sich während des Testens nicht ändert. Nach Konfiguration wird der Modus durch Selektieren des korrekten privaten Befehls (SYNC oder ASYNC) gewählt. Jeder Befehl tut die korrekten privaten Werte auf die globalen Signale CTL und MODE. CTL garantiert, dass die totale Implementierung mit IEEE1149.1 konform geht, MODE bestimmt den SYNC- oder ASYNC-Modus. Die Tabelle unten zeigt die erforderlichen Werte für unterschiedliche Situationen.
  • Figure 00110001
  • Eingang-Pins und Ausgangs-Pins
  • Der BS-Block selbst bestimmt, wie der spezifische Modus in das Zellen-Design einbezogen wird. Für diese erweiterte Architektur umgibt die zusätzliche Logik die Boundary-Scan-Grundzelle. Das Design der Standard-Boundary-Scan-Zelle wird zu dem Zweck des Prototyp-Baus nicht geändert. Das Standard-Boundary-Scan-Protokoll für die Status-Maschine wird auch für die zwei neuen Modi verwendet. Aus diesem Grund werden die Werte für C0–C3 durch automatisierte Boundary-Scan-Implementierungssoftware bestimmt.
  • 2 zeigt das wirkliche Design für einen Boundary-Scan-Eingangsblock. Element 20 ist eine Standard-Boundary-Scan-Eingangszelle mit an einen Scan-Eingang SI gekoppelten Eingängen und einem Funktionseingang PI (gekoppelt an einen externen Anschluss des ICs) und an einen an einen Scan-Ausgang SO gekoppelten Ausgängen und einem an eine Kernschaltung des ICs gekoppelten Funktionsausgang PO. Decodierungslogik 22 ist zum Erzeugen der Steuersignale bereitgestellt. Zusätzlich werden nur zwei Multiplexer 24, 26 verwendet, um das richtige Routing der Testsignale für beide Modi zu erzeugen.
  • Die Standard-Boundary-Scan-Zelle umfasst eine Multiplexer-Eingangsschaltung 200, 202, ein Scan-Flipflop SFF, einen Update-Multiplexer 206, ein Update-Flipflop UFF und einen Ausgangs-Multiplexer 209. Scan-Eingang SI, Funktions-Eingang PI und ein Ausgang von Scan-Flipflop SFF sind an Eingänge der ersten Multiplexerschaltung 200, 202 gekoppelt. Multiplexerschaltung 200, 202 hat einen an einen Dateneingang von Scan-Flipflop SFF gekoppelten Ausgang. Update-Multiplexer 206 hat an einen Datenausgang von Scan-Flipflop SFF und einen Ausgang von Update-Flipflop UFF gekoppelte Eingänge. Update-Multiplexer 206 hat einen an einen Dateneingang von Update-Fliflop UFF gekoppelten Ausgang. Ausgangs-Multiplexer 209 hat an einen Funktionseingang PI und einen Datenausgang von Update-Flipflop UFF gekoppelte Eingänge. Ausgangs-Multiplexer 209 hat einen an Funktionsdatenausgang PO gekoppelten Ausgang. Scan-Flipflop SFF und Update-Flipflop UFF werden von Testtakteingang TCK getaktet. Erste Multiplexerschaltung 200, 202 wird durch Signale C0, C1 von dem TAP-Controller gesteuert, Update-Multiplexer 206 wird durch ein Signal C2 von dem TAP-Controller gesteuert und Ausgangsmultiplexer 209 wird durch ein Signal C3 von dem TAP-Controller gesteuert. C0–C3 sind Standard-IEEE1149.1 Signale, die verwendet werden, um Boundary-Scan-Zelle 20 in verschiedene Betriebsmodi zu schalten.
  • Scan-Flipflop SFF kann eine Serie von zwei Flipflops umfassen, die Daten von ihren Eingängen zu untereinander entgegengesetzten Flanken des Testtakts TCK laden. Alternativ kann das erste dieser Flipflops irgendwo in dem Pfad von dem Scan-Eingang SI zu dem Scan-Flipflop SFF platziert werden, aber nicht in der Verbindung zwischen dem Scan-Eingang SI und dem ersten zusätzlichen Multiplexer 24.
  • Der erste zusätzliche Multiplexer 24 hat an Funktionsdateneingang PI und Scan-Eingang SI gekoppelte Eingänge. Der zweite zusätzliche Multiplexer 26 hat einen Ausgang des ersten zusätzlichen Multiplexers 24 und dem Datenausgang von Scan-Flipflop SFF gekoppelte Eingänge. Ein Ausgang des zweiten zusätzlichen Multiplexers 26 ist an Scan-Ausgang SO gekoppelt. Es wird erkannt werden, dass die zusätzlichen Multiplexer 24, 26 als eine Multiplexerschaltung mit drei Eingängen fungiert, die jeden ihrer Eingänge an ihren Ausgang koppeln kann. Ohne von der Erfindung abzuweichen können andere Multiplexerschaltungen verwendet werden.
  • Decoderlogik 22 hat Eingänge für ein Steuerungssignal CTL- ein Modus-Selektionssignal MODE und ein Konfigurationssignal CFG(i) für den Block. Decoderlogik 22 speist das logische ODER von CFG(i) und das Inverse von CTL an einen Steuerungseingang des ersten zusätzlichen Multiplexers 24. Decoderlogik 22 speist ein weiteres ODER oder das Inverse dieses logischen ODER und das logische UND des Modussignals und des Konfigurationssignals an den Steuerungseingang des zweiten zusätzlichen Multiplexers.
  • Der Leser kann unter Verwendung der Tabelle leicht verifizieren, dass normales EXTEST noch dem Standard entspricht. Das heißt, dass wenn Decoderlogik den zweiten zusätzlichen Multiplexer 26 setzt, das Ausgangssignal von Scan-Flipflop SFF weiterzugeben, die Schaltung als eine konventionelle Boundary-Scan-Zelle arbeitet.
  • In 3 ist das tatsächliche Design für einen Ausgangsblock gezeigt. Hier ist der Funktionseingang an die Kernschaltung gekoppelt und der Funktionsausgang ist an den externen Anschluss gekoppelt. Der Ausgangsblock enthält eine Standard-Boundary-Scan-Zelle 20 und Decoderlogik 22, die identisch mit denen des Eingangsblocks sind. Verglichen mit dem Eingangsblock ist der erste zusätzliche Ausgangsmultiplexer von dem Ausgangsblock weggelassen, wobei der zweite zusätzliche Multiplexer 26 an Scan-Eingang SI und den Datenausgangs des Scan-Flipflops der Boundary-Scan-Zelle gekoppelte Eingänge hat. Zusätzlich sind ein weiterer Ausgangsmultiplexer 37 und ein Tri-State-Puffer 38 enthalten. Der Ausgang von Ausgangsmultiplexer 209 und der Scan-Eingang SI sind an die Eingänge des weiteren Ausgangsmultiplexers 37 gekoppelt, der einen über Tri-State-Puffer 38 an den Funktionsausgang PO gekoppelten Ausgang hat. Das Steuersignal des weiteren Ausgangsmultiplexers 37 ist das MODE-Signal. Tri-State-Puffer 38 wird von dem logischen ODER von CFG(i) und dem Inversen von CTL gesteuert. Der Tri-State-Puffer 38 ist dazugefügt, um den angeschlossenen IC-Pin Tri-State zu machen. Indem CFG(i) = 0 genommen wird, wird der Pin inaktiv gesetzt. Für dieses Design des Ausgangsblocks kann verifiziert werden, dass EXTEST noch dem Standard entspricht.
  • Die nächsten beiden Abschnitte diskutieren die Funktionsweise des Eingangs- und Ausgangspins für jeden Modus im Detail.
  • Synchroner Modus – rekonfigurierbares Boundary-Scan
  • Der synchrone Modus ist streng mit dem normalen Boundary-Scan verwandt. Der Hauptunterschied ist, dass die Standardkettenlänge an die Debug-Situation angepasst wird. Dies kann Schaltungs-intern getan werden und liefert die Möglichkeit, mehrere unabhängige Datenströme über einen oder mehr Pins zu haben. Die effektive Transfergeschwindigkeit ist verglichen mit einem normalen Boundary-Scan wegen des rekonfigurierbaren Charakters der Kette höher.
  • Wenn man wieder 2 bedenkt, kann die Funktion des Blocks im SYNC-Modus verstanden werden. Der bestimmte Pin kann mit dem Konfigurationssignal CFG(i) aktiv (für Datenströme verwendet) oder inaktiv (nicht für Datenströme verwendet) gesetzt werden. Die Tabelle zeigt die Werte an den Multiplexern A und B, die die erforderlichen Pfade setzen.
  • Figure 00130001
  • Figure 00140001
  • Die Tabelle zeigt, dass ein transparenter Pfad von SI nach SO erzeugt wird, wenn die Zelle inaktiv gesetzt wird. Wenn aktiv, wird SFF verwendet, um einen Pfad von PI nach SO zu erzeugen und UFF tut die Daten zu dem Kern (wie in IEEE1149.1 definiert). Mit diesem normalen Boundary-Scan-Statusmaschinen-Protokoll für die Zelle ist der letztere Pfad ein normaler Boundary-Scan-Pfad.
  • Für Ausgangszellen gilt die Tabelle unten (siehe auch 3).
  • Figure 00140002
  • Wenn die Zelle aktiv ist, wird normales Takten durch die Statusmaschine verwendet. Ein Pfad von SI durch die Boundary-Scan-Zelle nach PO wird erzeugt. Der Puffer ist freigegeben (ENA). Wenn inaktiv, wird derselbe transparente Pfad von SI nach SO erzeugt wie für die Eingangszelle. Der Puffer ist Tri-State.
  • Der Charakter dieser Implementierung ist der einer rekonfigurierbaren Boundary-Scan-Kette.
  • Datenrate über den IC-Pins
  • Der Vorteil, die Kette Schaltungs-intern auf einige Zellen anzupassen ist, dass die effektive Datenrate oder Transferfrequenz an dem IC-Pin erhöht wird.
  • Um dies zu verstehen, betrachte man einen Chip mit 100 Boundary-Scan-Zellen, einer TCK-Frequenz von 20 MHz und einem aktiv gesetzten Pin. Für Standard-EXTEST braucht es 104 TCK-Zyklen, um die ersten Daten an den aktiven Pin zu bringen. Etwa 4 TCK-Zyklen werden für die Statusmaschine verwendet und 100 TCK-Zyklen werden benötigt, um durch die Kette zu schieben. Dies gleicht einer Datentransferrate von 0,2 MHz.
  • Beim Verwenden einer rekonfigurierbaren Boundary-Scan-Kette ist die Konfiguration so, dass diese(r) bestimmte Zelle/Pin die einzige Zelle in der Kette ist. Dies reduziert die Kettenlänge von 100 Zellen auf eine einzelne Zelle. Die Erhöhung in der effektiven Datenrate ist offensichtlich. Noch einmal 4 Zyklen für die Statusmaschine, aber nur 1 zum Schieben, was eine Frequenz von 20/5 = 4 MHz an dem Pin liefert. Wenn 6 Pins selektiert werden, wird die Frequenz zudem 20/10 = 2 MHz. Im Grenzfall wird die normale Boundary-Scan-Kette mit ihrer niedrigen Geschwindigkeit (mit allen Charakteristiken des normalen Boundary-Scans) gewählt. Dieser Frequenzbereich (1–5 MHz) ist oft zum Testen der Funktionalität eines Designs geeignet. Es sei bemerkt, dass einer oder zwei Multiplexer in dem Scan-Pfad die effektive Geschwindigkeit nicht limitieren, aber Geschwindigkeit limitieren, wenn viele aufeinander folgende Zellen inaktiv sind. In dem Fall addiert jede Zelte einen oder zwei Multiplexer zu dem Scan-Pfad. Dann kann die Gesamtverzögerung dieser Multiplexer für korrektes Takten im synchronen Modus ½ TCK nicht übersteigen.
  • Daten-Streaming an IC-Pins
  • In dem synchronen Modus wird das normale Taktgabe-Protokoll wie in IEEE1149.1 definiert verwendet. Ähnlich zu normalem strukturellen Testen kann der synchrone Modus unterschiedliche Datenströme an verschiedenen Pins lesen und schreiben. Das Verwenden einer rekonfigurierbaren Kette durch diesen Modus macht es möglich, dass Zellen/Pins, die nicht für das Testen selektiert werden, transparent von SI nach SO geleitet werden. Da die Gesamtlänge der Kette reduziert ist, benimmt sich jeder aktive Pin in Übereinstimmung mit dem Standardprotokoll. Die selektierte Kette wird mit Daten geladen, worauf eine Update-Stufe folgt. Dieser Prozess wird für längere Datenflüsse wiederholt. Jeder aktive Pin kann unterschiedliche Daten transportieren.
  • Asynchroner Modus – direktes Daten-Streaming
  • Der asynchrone Modus ist von Wichtigkeit, wenn Geschwindigkeit während des Testens das Hauptthema ist. Dieser Modus ist völlig verschieden von dem synchronen Modus, da er die aktuelle Boundary-Scan-Zelle nicht verwendet. Daten werden von oder zu dem IC-Pin gelesen oder geschrieben und direkt zu dem Scan-Pfad transferiert. Jeder erzeugte Pfad ist ein transparenter Pfad. Die Einstellungen für Eingangszellen sind in der Tabelle unten gezeigt (siehe auch 2).
  • Figure 00150001
  • Die Funktionsweise ist unkompliziert. Multiplexer B ist immer „1", da der Boundary-Scan-Zellen-Ausgang nie verwendet wird. Multiplexer A erzeugt einen transpa renten Pfad von SI nach SO, wenn die Zelle inaktiv ist, und einen Pfad von PI nach SO, wenn die Zelle aktiv ist. Die Tabelle unten ist für Ausgangszellen gültig (siehe auch 3)
  • Figure 00160001
  • Wenn die Zelle inaktiv ist, wird ein Pfad von SI nach SO mit einem Tri-State-Puffer erzeugt. Wenn aktiv, ist der Puffer freigegeben und der transparente Pfad SI nach SO wird erzeugt, um zu erlauben, dass Daten auch zu anderen Pins geleitet werden.
  • Datenrate über den IC-Pins
  • Takten wird in dem asynchronen Modus vermieden. Dies liefert die Möglichkeit, über die Grenzen der normalen Boundary-Scan-TCK-Frequenz hinauszugehen. Tatsächlich ist der Scan-Pfad, einmal mit den korrekten Einstellungen in diesem Modus, frei für jegliche digitalen Funktionsdaten. Die Datenrate ist hauptsächlich durch das Testsignal limitiert. Wenn dieses Signal von einem JTAG-Tester kommt, ist es im Allgemeinen auf 20 MHz limitiert. Aber wenn Echtzeitdaten von einem anderen Chip auf der Leiterplatte getestet werden, ist die Grenze theoretisch durch funktionales Design bestimmt. Wie in dem asynchronen Modus gibt es durch die Multiplexer in dem Scan-Pfad induzierte Verzögerung. Trotzdem ist diese Verzögerung für Debuggen hier nicht kritisch, da Takten kein Thema ist.
  • Daten-Streaming an IC-Pins
  • In dem asynchronen Modus können Hochgeschwindigkeitssignale direkt zu den Pins transferiert werden, aber alle Pins haben denselben Datenstrom. Dies gilt, weil die Implementierung aus parallelen Verbindungen besteht. Es wird keine Halte-Funktion verwendet, wie es in dem synchronen Modus getan wird. In der Praxis wird dieser Modus im Allgemeinen zum Testen von Daten an einem einzelnen Pin verwendet. Aber um den Pin in den asynchronen Modus zu bringen, ist Eingriff von dem TAP-Controller erforderlich, da dieser die zusätzlichen Multiplexer steuert. Nach dieser Initialisierung sind die selektierten Pins frei, Daten zu transferieren, wenn der TAP-Controller in dem Schiebe-Status ist.
  • Zweite Ausführungsform
  • In der zweiten Ausführungsform ist als Beispiel nur ein einzelner Debug-Modus implementiert, der ein Umgehen inaktiver Zellen liefert. Anstatt der Steuersignale CTL, MODE liefert der TAP-Controller ein Steuersignal „STREAM" an alle Zelle, um die Zellen zwischen dem normalen Modus und dem Debug-Modus umzuschalten.
  • 4 zeigt eine zweite Ausführungsform eines Boundary-Scan-Blocks. Verglichen mit dem Eingangsblock von 2 sind eine Anzahl von Änderungen gemacht worden. Der erste zusätzliche Multiplexer 24 wurde weggelassen. Zusätzlicher Multiplexer 26 hat an den seriellen Scan-Eingang SI und den Datenausgang von Scan-Flipflop SFF gekoppelte Eingänge. Der Steuerungseingang des zusätzlichen Multiplexers 26 ist an den Ausgang eines logischen Gatters gekoppelt, das das logische UND des Konfigurationseingangs CFG(i) der Zelle und dem STREAM-Signal produziert. Ein Steuerungsmultiplexer 40 ist bereitgestellt, der an den Konfigurationseingang CFG(i) und den konventionellen Steuerungseingang C3 von Ausgangsmultiplexer 209 gekoppelte Eingänge hat. Der Ausgang von Steuerungsmultiplexer 40 ist an den Steuerungseingang von Ausgangsmultiplexer 209 gekoppelt. Der Steuerungseingang von Steuerungsmultiplexer 40 ist an den STREAM-Eingang gekoppelt.
  • Im Betrieb, wenn „STREAM" logisch LO ist, arbeitet der Block als eine normale IEEE1149.1-Zelle. Wenn STREAM logisch HI ist, hängt die Funktionsweise vom Konfigurationssignal CFG(i) des Blocks ab. Blöcke, die selektiert sind, inaktiv (CFG(i) = 0) zu sein, leiten den Scan-Eingang SI zu dem Scan-Ausgang SO und den Funktionseingang PI zu dem Funktionsausgang um. Blöcke, die selektiert sind, aktiv (CFG(i) = 1) zu sein, schieben Daten von dem Scan-Flipflop SFF zu dem Scan-Ausgang und leiten Daten von dem Update-Flipflop UFF zu dem Funktionsausgang.
  • Der Länge der Boundary-Scan-Kette kann so mithilfe des Konfigurationssignals angepasst werden, inaktive Blöcke aus der Kette zu eliminieren. Die aktiven Blöcke können in der verkürzten Kette als normale Boundary-Scan-Zellen betrieben werden. Die inaktiven Blöcke verbinden die Anschlüsse 16 mit der Kernschaltung 10.
  • Dritte Ausführungsform
  • In der dritten Ausführungsform wird das Update-Flipflop der Boundary-Scan-Zellen verwendet, um das Konfigurationssignal zu liefern.
  • 5 zeigt den Eingangsblock der dritten Ausführungsform. Es wird eine konventionelle Boundary-Scan-Zelle verwendet, außer dass ein erster Steuerungsmultiplexer 50 hinzugefügt worden ist. Der erste Steuerungsmultiplexer 50 hat an den Ausgang des Update-Flipflops UFF und den konventionellen IEEE1149.1-Steuerungseingang C1, der verwendet wird, um Datenaufnahme von dem Funktionseingang PI zu steuern, gekoppelte Eingänge. Der Ausgang des ersten Steuerungsmultiplexers 50 ist an den Eingang der Multiplexerschaltung 200, 202, der die Datenaufnahme von dem Funktionseingang P1 steuert, gekoppelt. Der Steuerungseingang des ersten Steuerungsmultiplexers 50 empfängt das STREAM-Signal.
  • 6 zeigt den Ausgangsblock der dritten Ausführungsform. Es wird wieder eine konventionelle Boundary-Scan-Zelle verwendet, außer dass ein zweiter Steuerungsmultiplexer 60 und ein Update-Bypass-Multiplexer 62 hinzugefügt worden sind. Der zweite Steuerungsmultiplexer 60 hat Eingänge, die gekoppelt sind, um das Ausgangssignal des Update-Flipflops UFF und das konventionelle P1149.1-Signal C3, das konventionell den Ausgangsmultiplexer 60 Steuert, zu empfangen. Ein Steuerungseingang des zweiten Steuerungsmultiplexers 60 ist gekoppelt, um das STREAM-Signal zu empfangen. Der zweite Steuerungsmultiplexer 60 hat einen an einen Steuerungseingang von Ausgangsmultiplexer 209 gekoppelten Ausgang.
  • Update-Multiplexer 62 hat an den Datenausgang von Update-Flipflop UFF und den Datenausgang von Scan-Flipflop SFF gekoppelte Eingänge. Ein Steuerungseingang von Update-Bypass-Multiplexer 62 ist gekoppelt, um das STREAM-Signal zu empfangen. Ausgangsmultiplexer 209 hat an den Ausgang des Bypass-Multiplexers und den Funktionsdateneingang PI gekoppelte Eingänge.
  • Im Betrieb wird zuerst das normale Boundary-Scan-Protokol ausgeführt, um Konfigurationsdaten in die Update-Flipflops zu laden. Anschließend wird das normale Boundary-Scan-Protokol verwendet, um einen Befehl für den TAP-Controller zu laden, um STREAM logisch HI zu setzen. Der Inhalt des Update-Flipflops UFF steuert, ob Zellen aktiv sind, wenn das STREAM-Signal die integrierte Schaltung in den Debug-Modus setzt.
  • In den Eingangszellen, wo der Inhalt des Update-Flipflops UFF logisch LO ist, fungiert Scan-Flipflop SFF nur als Teil der Schieberegisterstruktur und wird nicht verwendet, um Daten von dem Funktionseingang P1 aufzunehmen. Die Eingangszellen, wo der Inhalt des Update-Flipflops UFF logisch HI ist, nehmen Daten von dem Funktionseingang PI bei jedem TCK-Taktzyklus auf. Dies wird verwendet, wenn der TAP-Controller dazu gebracht wird, den Schiebe-Status wiederholt anzunehmen, was während normalen 1149.1-Testens nur dafür sorgt, Testdaten durch die Schieberegisterstruktur zu schieben. Wenn STREAM logisch HI ist und TAP-Controller dazu gebracht wird, den Schiebe-Status wiederholt anzunehmen, werden Daten in selektierten Eingangszellen in jedem TCK- Taktzyklus aufgenommen und anschließend von der Eingangszelle durch die Schieberegisterstruktur geschoben.
  • Wenn STREAM logisch HI ist, leiten solche Ausgangszellen, wo der Inhalt des Update-Flipflops UFF logisch LO ist, Daten vom Funktionseingang PI zum Funktionsausgang PO. Die Ausgangszellen, wo der Inhalt des Update-Flipflops UFF logisch HI ist, Daten von der Schieberegisterstruktur zum Funktionsausgang PO.
  • Im Gebrauch werden die meisten Update-Flipflops mit logischen Werten LO geladen. Die Zellen in der Boundary-Scan-Kette, in der Update-Flipflop UFF mit logischen Werten HI sind abwechselnd Eingangs- und Ausgangszellen.
  • In einem Beispiel wird das Update-Flipflop UFF nur einer Eingangszelle mit einem logischen HI-Wert geladen und die Update-Flipflops aller anderen Zellen werden auf logisch LO gesetzt. Als Ergebnis werden in dieser Eingangszelle Daten aufgenommen und bei jedem TCK-Taktzyklus wenn STREAM logisch HI und der TAP-Controller dazu gebracht wird, den Schiebe-Status anzunehmen, durch die Kette zu TDO transportiert.
  • In einem anderen Beispiel wird das Update-Flipflop UFF nur einer Ausgangszelle mit einem logischen HI-Wert geladen und die Update-Flipflops aller anderen Zellen werden auf logisch Lo gesetzt. Als Ergebnis werden von TDI durch die Kette gelieferte Daten bei jedem TCK-Taktzyklus wenn STREAM logisch HI und der TAP-Controller dazu gebracht wird, den Schiebe-Status anzunehmen, von dieser einen Ausgangszelle ausgegeben.
  • In einem weiteren Beispiel werden nur das Update-Flipflop UFF nur einer Ausgangszelle und nur einer Eingangszelle mit einem logischen HI-Wert geladen. Wenn die Eingangszelle der Ausgangszelle in der Boundary-Scan-Kette vorausgeht, resultiert dies in Datenaufnahme in der Eingangszelle, gefolgt vom Transport durch die Boundary-Scan-Kette und Ausgabe von der Ausgangszelle in jedem Taktzyklus, wenn STREAM logisch HI ist und der TAP-Controller dazu gebracht wird, den Schiebestatus anzunehmen. So wird ein Strom von dem Funktionseingang PI der Eingangszelle zu dem Funktionsausgang der Ausgangszelle erzeugt, der in jedem TCK-Zyklus ein Bit transportiert.
  • Es sei verstanden, dass durch Setzen der Update-Flipflops UFF von Paaren von Eingangs/Ausgangszellen jede Anzahl solcher Ströme parallel weitergeleitet werden können.
  • Wenn die erste Zelle in der Boundary-Scan-Kette, in der der Inhalt von Update-Flipflop UFF logisch HI ist, eine Ausgangszelle ist, werden in jedem TCK-Zyklus Daten von TDI zu dieser Ausgangszelle geleitet. Ähnlich, wenn die letzte Zelle in der Boundary-Scan-Kette, in der der Inhalt von Update-Flipflop UFF logisch HI ist, eine Eingangszelle ist, werden in jedem TCK-Zyklus Daten von dieser Eingangszelle zu TDO geleitet.
  • Vierte Ausführungsform
  • Wie die dritte Ausführungsform verwendet die vierte Ausführungsform das Update-Flipflop, um zu steuern, ob Zellen aktiv sind. Aber in der vierten Ausführungsform werden die Scan-Flipflops in dem Debug-Modus umgangen. Das bedeutet, dass Signale direkt entlang der Boundary-Scan-Kette geleitet werden, ohne die Notwendigkeit, unter der Kontrolle von TCK zu schieben. Ein Steuerungssignal „SHORT", das von dem TAP-Controller ausgegeben wird und als Antwort auf einen entsprechenden Befehl auf logisch HI gesetzt wird, ist zum Steuern des Vorbeileitens hinzugefügt.
  • 7 zeigt eine Eingangszelle gemäß der vierten Ausführungsform. Verglichen mit der dritten Ausführungsform wurde ein Bypass-Multiplexer 70 mit an den Dateneingang und Datenausgang von Scan-Flipflop SFF gekoppelten Eingängen und einem an Scan-Ausgang SO der Zelle gekoppelten Ausgang und einem Steuerungseingang, der gekoppelt ist, um das SHORT-Signal zu empfangen, hinzugefügt.
  • 8 zeigt eine Ausgangszelle gemäß der vierten Ausführungsform. Verglichen mit der dritten Ausführungsform wurde ein Bypass-Multiplexer 70 mit an den Dateneingang und Datenausgang von Scan-Flipflop SFF gekoppelten Eingängen und einem an Scan-Ausgang SO der Zelle gekoppelten Ausgang und einem Steuerungseingang, der gekoppelt ist, um das SHORT-Signal zu empfangen, hinzugefügt. Der Ausgang des Bypass-Multiplexers ist auch an einen Eingang von Update-Bypass-Multiplexer 62 anstatt den Datenausgang des Scan-Flipflops gekoppelt.
  • Im Betrieb wird zuerst das normale Boundary-Scan-Protokol ausgeführt, um Konfigurationsdaten in die Update-Flipflops zu laden. Anschließend wird unter Verwendung des konventionellen Boundary-Scan-Protokolls ein Befehl an den TAP-Controller geliefert, um SHORT logisch HI zu setzen. Als ein Ergebnis wird eine direkte Verbindung entlang der Boundary-Scan-Kette geöffnet. In Zellen, die durch die Konfigurationsdaten selektiert werden, aktiv zu sein, wird der Funktionsausgang PI (wenn die Zelle eine Eingangszelle ist) und/oder durch den Funktionsausgang PO (wenn die Zelle eine Ausgangszelle ist) mit dieser direkten Verbindung verbunden. So wird eine direkte Verbindung zwischen dem Funktionseingang PI und dem Funktionsausgang PO von aktiven Zellen einge richtet. In Eingangszellen, die nicht aktiv sind, wird das Eingangssignal von dem Funktionseingang PI oder das Signal von dem Update-Flipflop UFF abhängig vom Teststeuerungssignal zu dem Funktionsausgang geleitet. In Ausgangszellen, die nicht aktiv sind, wird das Eingangssignal von dem Funktionseingang PI zu dem Funktionsausgang PO geleitet.
  • 9 zeigt ein Debug-System mit einer Anzahl miteinander verbundener integrierten Schaltungen 90. Zwei Verbindungen 92, 94 sind speziell angezeigt. Ein Teil der integrierten Schaltung ist über ein Testinterface verbunden, mit TDI-, TDO-Eingängen und Ausgängen und parallelen TCK-, TMS-, TRST-Eingängen (zum Zweck der Klarheit wird nur ein Eingang gezeigt). Die Erfindung macht es möglich, eine oder mehrere integrierte Schaltungen 90 in den Debug-Modus zu setzen, wonach bei einer hohen Rate, oder sogar kontinuierlich über Verbindungen 92, 94 zu anderen integrierten Schaltungen der selektierten integrierten Schaltung oder Schaltungen, Debug-Signale ausgegeben und eingegeben werden können.
  • Man wird erkennen, dass die Erfindung nicht auf die in den Figuren offenbarten speziellen Ausführungsformen beschränkt ist. Beispielsweise können verschiedene Quellen verwendet werden, um Ausgangssignale von den Funktionsausgängen PO inaktiver Zellen zu liefern. Die Ausführungsformen zeigen als Beispiel die Verwendung von Signalen von dem Funktionseingang PI oder von Signalen von dem Update-Flipflop. Obwohl jede Ausführungsform die Verwendung einer bestimmten Quelle zeigt, sollte man erkennen, dass jede andere Quelle statt dessen verwendet werden kann. Sogar eine programmierbare Selektion aus einer Vielzahl von Quellen kann verwendet werden. Unter einigen Umständen ist es wünschenswert, dass die gesamte Schaltung funktional arbeitet, außer für Anschlüsse, wo die Debug-Signale eingebracht werden. In diesem Fall verbinden die inaktiven Zellen vorzugsweise Funktionseingänge PI und Funktionsausgänge PO. Unter anderen Umständen wird ein fester Ausgang bevorzugt, in dem Standardsignale oder Signale von dem Update-Flipflop verwendet werden können.
  • Außerdem wird man erkennen, dass es, obwohl es bevorzugt wird, das Update-Flipflop jeder speziellen Zelle als das Konfigurations-Flipflop für diese spezielle Zelle zu verwenden, keinen Einwand gibt, das Update-Flipflop einer Zelle als das Konfigurations-Flipflop für eine andere Zelle zu verwenden. Jedes Konfigurations-Flipflop kann die Konfiguration einer jeweiligen Zelle steuern, aber natürlich kann ein Konfigurations-Flipflop die Konfiguration einer Vielzahl von Zellen parallel steuern. So muss mindestens ein Teil der Update-Flipflops nicht als Konfigurations-Flipflop verwendet werden, was diese Update-Flipflop frei lässt, um programmierbare Signale an die Funktionsausgänge zu liefern. Konfigurations-Flipflops, die nicht eine Doppelfunktion als Update-Flipflops haben, können auch vielfache Zellen konfigurieren oder dem Update-Flipflop bestimmter Zellen das Konfigurieren der Zelle abnehmen.
  • Außerdem wird man erkennen, dass Zellen jeder der Ausführungsformen programmierbar ausgebildet sein kann, um in nur einer der beschriebenen Debug-Modi oder in einem selektierbaren aus einer Vielzahl von Debug-Modi zu arbeiten. Die Erfindung ist nicht auf die Verwendung der speziellen, in den Ausführungsformen verwendeter Steuerungssignale (z.B. CTL, MODE) beschränkt, andere Arten von Steuerungssignale können verwendet werden.
  • Ein Teil der Zellen in derselben Schaltung (oder sogar in derselben integrierten Schaltung) können gemäß einer Ausführungsform implementiert werden und ein anderer Teil kann gemäß einer anderen Ausführungsform implementiert werden. Speziell kann beispielsweise die vierte Ausführungsform für eine Anzahl von Zellen verwendet werden, um Datentransport schneller zu machen, wobei eine ander Ausführungsform für andere Zellen verwendet wird, um eine Form von Pipeline-Verarbeitung bereitzustellen. Ein Teil der Boundary-Scan-Zellen kann sogar vollständig als konventionelle Boundary-Scan-Zellen, d.h. ohne einen weiteren Modus zu unterstützen, implementiert werden. So kann eine weitere konventionelle Boundary-Scan-Kette untergemischt werden oder in Serie mit der Boundary-Scan-Kette gemäß der Erfindung angeordnet werden.
  • Außerdem sollte man erkennen, dass die in den Ausführungsformen gezeigten tatsächlichen Schaltungen nur als Beispiel bereitgestellt sind. Zum Beispiel könnten die Multiplexerfunktionen mit verschieden alternativen Schaltungen realisiert werden. Ähnlich erkenne man, dass, obwohl vorzugsweise konventionelle P1149.1-Teststati verwendet werden, um Signalerzeugung durch den TAP-Controller zu steuern, dedizierte Stati verwendet werden können, wenn die integrierte Schaltung in den Debug-Modus geschaltet worden ist.
  • Außerdem sollte man erkennen, dass, obwohl die Erfindung für Debug-Zwecke beschrieben worden ist, die Offenbarten Schaltkreise für ander Zwecke, wie Programmieren eines nichtflüchtigen Speichers oder Programmieren einer programmierbaren Schaltung wie Gate-Arrays, verwendet werden kann.

Claims (23)

  1. Integrierte Schaltung, die Folgendes umfasst: – eine Kernschaltung (10); – Anschlüsse (16) zum Koppeln der Kernschaltung (10) an Schaltkreise außerhalb der integrierten Schaltung; – einen Testdateneingang (TDI) und einen Testdatenausgang (TDO); – eine Boundary-Scan-Kette, die zwischen den Testdateneingang (TDI) und -ausgang (TDO) gekoppelte Zellen (14) in einer Schieberegisterstruktur umfasst, wobei jede Zelle (14) auch zwischen einen jeweiligen der Anschlüsse (16) und die Kernschaltung (10) gekoppelt ist; – eine Teststeuerungsschaltung (TAP-C), die ausgebildet ist, die Boundary-Scan-Kette zwischen einem Funktionsmodus, in dem die Zellen (14) Signalfluss zwischen den Anschlüssen (16) und der Kernschaltung (10) erlauben, und einem Testmodus, in dem Testdaten seriell entlang der Boundary-Scan-Kette durch die Zellen (14) geschoben werden, und in dem die Zellen (14) Signalfluss zwischen den jeweiligen der Anschlüsse (16) und der Kernschaltung (10) unterbinden, umzuschalten; – worin die Teststeuerungsschaltung ausgebildet ist, einen Befehl auszuführen, die Boundary-Scan-Kette in einen weiteren Modus zu schalten, wobei in diesem weiteren Modus erste der Zellen (14) Daten seriell entlang der Boundary-Scan-Kette transportieren, während zweite der Zellen (14) Daten schreiben oder lesen, die in dem weiteren Modus durch die ersten der Zellen (14) zu den Anschlüssen (16) hin oder von diesen weg transportiert worden sind oder werden sollen, dadurch gekennzeichnet, dass es extern selektierbar ist, welche der Zellen (14) selektiert werden, die ersten der Zellen (14) oder die zweiten der Zellen (14) zu sein.
  2. Integrierte Schaltung nach Anspruch 1, die für jeweilige Zellen (14) der Boundary-Scan-Kette Konfigurationszellen (12) umfasst, wobei die Konfigurationszellen (12) mit Konfigurationsdaten von dem Testdateneingang (TDI) ladbar sind, jede Zelle (14) der Boundary-Scan-Kette einen an ihre Konfigurationszelle (12) gekoppelten Konfigurati onseingang hat, um unter der Kontrolle der Konfigurationsdaten zu selektieren, ob die Zelle (14) der Boundary-Scan-Kette eine Funktion als eine der ersten oder eine der zweiten der Zellen (14) hat.
  3. Integrierte Schaltung nach Anspruch 2, in der jede der Zellen (14) der Boundary-Scan-Kette ein Scan-Flipflop (SFF) und ein Update-Flipflop (UFF) umfasst, wobei die Scan-Flipflops (SFF) aufeinanderfolgender Zellen (14) in der Boundary-Scan-Kette seriell gekoppelt sind, um die Schieberegisterstruktur zu bilden, das Update-Flipflop (UFF) der Zelle (14) an die Schieberegisterstruktur gekoppelt ist, um Daten von dem Scan-Flipflop (SFF) zu empfangen, das Update-Flipflop (UFF) die Testdaten an den jeweiligen der Anschlüsse (16), an den die Zelle im Testmodus gekoppelt ist, liefert und in der die Update-Flipflops (UFF) mindestens eines Teils der Zellen als die genannten Konfigurationszellen (12) fungieren, um in dem weiteren Modus Konfigurationsdaten zu liefern.
  4. Integrierte Schaltung nach Anspruch 3, in der jede der Zellen (14) der Boundary-Scan-Kette eine Multiplexerschaltung (62, 209) mit an die Schieberegisterstruktur und die Kernschaltung (PI, 10) gekoppelten Eingängen, einem an den Anschluss (16) für die Zelle (14) gekoppelten Ausgang und einem an die Teststeuerungsschaltung (TAP-C) und einen Ausgang des Update-Flipflops (UFF) der Zelle (14) gekoppelten Steuerungseingang hat, sodass die Multiplexerschaltung (62, 209) in dem weiteren Modus die Kernschaltung (PI, 10) an den Anschluss (16) koppelt, wenn das Update-Flipflop (UFF) anzeigt, dass die Zelle eine erste der Zellen ist und die Multiplexerschaltung (62, 209) die Schieberegisterstruktur an den Anschluss (16) koppelt, wenn das Update-Flipflop (UFF) anzeigt, dass die Zelle eine zweite der Zellen ist.
  5. Integrierte Schaltung nach Anspruch 1, in der jede Zelle (14) Folgendes umfasst: – einen Scan-Eingang (SI) und einen Scan-Ausgang (SO), wobei der Testdateneingang (TDI) an den Scan-Eingang (SI) der vordersten der Zellen (14) in der Boundary-Scan-Kette gekoppelt ist, jede weitere der Zellen (14) mit ihrem Scan-Eingang (SI) an den Scan-Ausgangs (SO) einer vorhergehenden der Zellen (14) gekoppelt ist und eine letzte der Zellen mit ihrem Scan-Ausgang (SO) an den Testdatenausgang (TDO) gekoppelt ist; – ein Scan-Flipflop (SFF) mit einem an den Scan-Eingang (SI) der Zelle (14) gekoppelten Eingang; – eine Multiplexerschaltung (24, 26) mit an den Scan-Eingang (SI) der Zelle (14) und an einen Ausgang des Scan-Flipflops (SFF) gekoppelten Eingängen und einen an den Scan-Ausgang (SO) der Zellen (14) und an einen Steuerungseingang gekoppelten Ausgang; – einen an den Steuerungseingang der Multiplexerschaltung (24, 26) gekoppelten Konfigurationseingang, um zu selektieren, dass die Multiplexerschaltung (24, 26) in dem weiteren Modus den Scan-Eingang (SI) an den Scan-Ausgang (SO) koppelt, wenn die Zelle (14) selektiert ist, eine erste der Zellen zu sein.
  6. Integrierte Schaltung nach Anspruch 5, in der jede Zelle einen an einen Eingang des Scan-Flipflops (SFF) gekoppelten Funktionseingang (PI) hat, mindestens ein Teil der Zellen (14) Eingangszellen sind, die Multiplexerschaltung (24, 26) jeder Eingangszelle (14) einen weiteren, an den Funktionseingang (PI) gekoppelten Eingang umfasst, die Multiplexerschaltung (24, 26) ausgebildet ist, in dem weiteren Modus den Funktionseingang (PI) an die Scan-Ausgänge (SO) in den Eingangszellen (14) zu koppeln, wenn die Eingangszelle (14) selektiert ist, eine zweite der Zellen (14) zu sein.
  7. Integrierte Schaltung nach Anspruch 5, in der jede Zelle (14) einen an einen Eingang des Scan-Flipflops (SFF) gekoppelten Funktionseingang (PI) hat, mindestens ein Teil der Zellen (14) Eingangszellen (14) sind, die Multiplexerschaltung (24, 26) jeder Eingangszelle (14) einen weiteren, an den Funktionseingang (PI) gekoppelten Eingang umfasst, die Multiplexerschaltung (24, 26) ausgebildet ist, in dem weiteren Modus den Funktionseingang (PI) an einen Eingang des Scan-Flipflops (SFF) und einen Ausgang des Scan-Flipflops (SFF) an den Scan-Ausgang (SO) zu koppeln, wenn die Eingangszelle (14) selektiert ist, eine zweite der Zellen zu sein.
  8. Integrierte Schaltung nach Anspruch 5, in der jede Zelle einen Funktionsausgang (PO) hat, und in der mindestens ein Teil der Zellen (14) Ausgangszellen sind, die Multiplexerschaltung (24, 26) jeder Ausgangszelle ausgebildet ist, in dem weiteren Modus in den Ausgangszellen der Zellen (14) den Funktionsausgang (PO) an den Scan-Ausgang (SO) zu koppeln, wenn die Ausgangszelle (14) selektiert ist, eine zweite der Zellen zu sein.
  9. Integrierte Schaltung nach Anspruch 5, in der jede Zelle einen Funktionsausgang (PO) hat, und in der mindestens ein Teil der Zellen (14) Ausgangszellen mit einer zwischen das Scan-Flipflop (SFF) und den Funktionsausgang (PO) gekoppelten Ausgangsschaltung (37, 38, 209) sind, wobei die Ausgangsschaltung jeder Zelle ausgebildet ist, in dem weiteren Modus von der Schieberegisterstruktur empfangene Daten an dem Funktionsausgangs (PO) auszugeben, wenn die Zelle selektiert ist, eine zweite der Zellen zu sein, und in dem weiteren Modus zu verhindern, dass Daten von der Schieberegisterstruktur an dem Funktionsausgang (PO) ausgegeben werden, wenn die Zelle (14) selektiert ist, eine erste der Zellen (14) zu sein.
  10. Integrierte Schaltung nach Anspruch 9, in der jede Zelle ein zwischen die Schieberegisterstruktur und die Ausgangsschaltung (37, 38) gekoppeltes Update-Flipflop (UFF) umfasst, wobei die Ausgangsschaltung (37, 38) in dem weiteren Modus in das Update-Flipflop (UFF) hineingespeicherte Datensignale von dem Update-Flipflop (UFF) zu dem Funktionsausgang (PO) ausgibt, wenn die Zelle (14) selektiert ist, eine zweite der Zellen (14) zu sein.
  11. Integrierte Schaltung nach Anspruch 9, in der die Ausgangsschaltung (37, 38) in dem weiteren Modus kontinuierlich Datensignale von der Schieberegisterstruktur zu dem Funktionsausgang ausgibt, wenn die Zelle selektiert ist, eine zweite der Zellen zu sein.
  12. Integrierte Schaltung nach Anspruch 9, in der die Ausgangsschaltung (209) jeder Ausgangszelle eine multiplexende Funktion hat und Multiplexeingänge an den Funktionseingang (PI) der Zelle und die Schieberegisterstruktur gekoppelt sind, wobei die Ausgangsschaltung (209) in dem weiteren Modus den Funktionseingang (PI) an den Funktionsausgang (PO) koppelt, wenn die Zelle (14) selektiert ist, eine erste der Zellen zu sein.
  13. Integrierte Schaltung nach Anspruch 1, in der jede Zelle ein Scan-Flipflop (SFF) umfasst, die Scan-Flipflops (SFF) aufeinanderfolgender Zellen (14) in der Boundary-Scan-Kette in der Schieberegisterstrukture in Serie gekoppelt sind, die Steuerungsschaltung (TAP-C) einen Befehl unterstützt, die integrierte Schaltung in dem genannten weiteren Modus auf asynchronen Betrieb zu schalten, die ersten der Zellen (14) einen transparenten Pfad erzeugen, der im asynchronen Betrieb die Scan-Flipflops (SFF) der ersten der Zellen (14) in der Schieberegisterstruktur umgeht, sodass die Daten im asynchronen Betrieb direkt zu oder von den Anschlüssen (16) von oder zu der Schieberegisterstruktur in den zweiten der Zellen geschrieben oder gelesen werden.
  14. Integrierte Schaltung nach Anspruch 13, wobei die Teststeuerungsschaltung (TAP-C) einen weiteren Befehl unterstützt, die integrierte Schaltung in dem genannten weiteren Modus auf synchronen Betrieb zu schalten, eine Länge der Boundary-Scan-Kette angepasst wird, indem in dem synchronen Modus die ersten der Zellen (14) entlang der Schieberegisterstruktur transparent gemacht werden.
  15. Integrierte Schaltung nach Anspruch 1, in der jede Zelle ein Scan-Flipflop (SFF) umfasst, die Scan-Flipflops (SFF) aufeinanderfolgender Zellen (14) in der Boundary-Scan-Kette in der Schieberegisterstruktur in Serie gekoppelt sind, die Steuerungsschaltung (TAP-C) einen Befehl unterstützt, die integrierte Schaltung in dem genannten weiteren Modus auf synchronen Betrieb zu schalten, eine Länge der Boundary-Scan-Kette angepasst wird, indem in dem synchronen Modus die ersten der Zellen in der Schieberegisterstruktur transparent gemacht werden.
  16. Integrierte Schaltung nach Anspruch 1, in der die Steuerungsschaltung (TAP-C) eine Statusmaschine umfasst, die eine Vielzahl von Zuständen definiert, die die Statusmaschine in dem Testmodus unter der Kontrolle eines Testprotokolls annimmt, und zur Steuerung der Zellen die Steuerungssignale an Steuerungseingänge der Zellen ausgibt, wobei das genannte Testprotokoll verwendet wird, um die Statusmaschine auch in dem weiteren Modus zu steuern, wobei jede Zelle weitere Steuerungseingänge zum Empfangen eines Steuerungssignals, das anzeigt, ob die integrierte Schaltung in dem weiteren Modus arbeitet, und eines Konfigurationssignals, das unterscheidet, ob Zellen als eine erste der Zellen oder eine zweite der Zellen fungieren, zum Steuern der Zellen mit den Steuerungssignalen, die in Kombination mit dem Steuerungssignal und dem Konfigurationssignal an die Eingänge ausgegeben werden, hat.
  17. Integrierte Schaltung nach Anspruch 16, in der die Zustände einen Schiebezustand umfassen, in dem die Steuerungsschaltung die Zellen steuert, im Testmodus Daten durch die Schieberegisterstruktur zu schieben, die Zellen (14) so ausgebildet sind, dass die zweiten der Zellen (14) die Daten, die durch die ersten der Zellen (14) transportiert worden sind oder transportiert werden sollen, in dem Schiebezustand zwischen der Scan-Kette und den Anschlüssen oder der Kernschaltung transportieren, wenn die Statusmaschine in dem Schiebezustand ist.
  18. Verfahren, eine integrierte Schaltung zu betreiben, das eine integrierte Schaltung und eine weitere Schaltung, die aneinandergekoppelt sind, umfasst, wobei die integriere Schaltung eine Boundary-Scan-Kette mit zwischen einen Testdateneingang (TDI) und -Ausgang (TDO) der integrierten Schaltung in einer Schieberegisterstruktur gekoppelte Zellen (14) umfasst, wobei jede Zelle (14) auch zwischen einen jeweiligen von Anschlüssen (16) der integrierten Schaltung und einer Kernschaltung (10) der integrierten Schaltung gekoppelt ist, wobei die integrierte Schaltung schaltbar ist – in einen Funktionsmodus, in dem die Zellen (14) Signalfluss zwischen den Anschlüssen (16) und der Kernschaltung (10) erlauben, – in einen Testmodus, in dem Testdaten seriell durch die Zellen (14) entlang der Boundary-Scan-Kette geschoben werden und in dem die Zellen Signalfluss zwischen dem jeweiligen der Anschlüsse (16) und der Kernschaltung (10) unterbinden, und – auf einen Befehl hin in einen weiteren Modus, in dem erste der Zellen (14) Daten seriell entlang der Boundary-Scan-Kette transportieren, während zweite der Zellen (14) Daten schreiben oder lesen, die in dem weiteren Modus von den ersten der Zellen (14) zu oder von den Anschlüssen (16) von oder zu der Scan-Kette transportiert worden sind oder werden sollen, worin das Verfahren folgenden Schritt umfasst: – Schalten der integrierten Schaltung in den weiteren Modus und Liefern und/oder Extrahieren aufeinander folgender Signale zu und/oder von einem der selektierten Anschlüsse (16) durch die Boundary-Scan-Kette, während sie keine Signale durch die Scan-Kette für oder von anderen der Anschlüsse (16), die zwischen den aufeinander folgenden Signalen kommen, transportiert; dadurch gekennzeichnet, dass die integrierte Schaltung in dem weiteren Modus für externe Selektion sorgt, welche der Zellen selektiert werden, die ersten der Zellen (14) und die zweiten der Zellen (14) zu sein, wobei das Verfahren den Schritt der externen Selektion der ersten der Zellen (14) und der zweiten der Zellen (14) umfasst.
  19. Verfahren nach Anspruch 18, in dem eine bestimmte der Zellen (14) konfiguriert ist, eine zweite der Zellen zu sein, wobei alle anderen Zellen, die der genannten Zelle von dem Testdateneingang (TDI) her entlang der Boundary-Scan-Kette vorausgehen, konfiguriert sind, erste der Zellen (14) zu sein.
  20. Verfahren nach Anspruch 18, in dem eine bestimmte der Zellen (14) konfiguriert ist, eine zweite der Zellen zu sein, wobei alle anderen Zellen (14), die der genannten bestimmten der Zellen (14) zum Testdatenausgang (TDO) hin entlang der Boundary-Scan-Kette nachfolgen, konfiguriert sind, erste der Zellen (14) zu sein.
  21. Verfahren nach Anspruch 18, in dem ein Eingang einer der Zellen (14) und ein Ausgang einer der Zellen (14), die direkt oder indirekt in der Boundary-Scan-Kette dem Eingang einer der Zellen (14) nachfolgt, konfiguriert sind, zweite der Zellen (14) zu sein, wobei jede dazwischen kommende Zelle zwischen dem Eingang einer der Zellen (14) und dem Ausgang einer der Zellen (14) alle konfiguriert sind, erste der Zellen (14) zu sein.
  22. Verfahren nach Anspruch 18, das ein Umgehen der an die genannten anderen der Anschlüsse (16) in der Scan-Test-Kette und Liefern der aufeinander folgenden Signale asynchron zu einem Takt für seriellen Transport durch die Schieberegisterstruktur umfasst.
  23. Elektronische Schaltung, die eine integrierte Schaltung (90) nach Anspruch 1 und eine oder mehr integrierte Schaltungen (90) umfasst, die an die Anschlüsse der integrierten Schaltung (90) gekoppelt sind, worin Testeingänge und -ausgänge (TDI, TDO) der integrierten Schaltungen in einer Daisy-Chain gekoppelt sind und Teststeuerungseingänge (TMS, TCK, TRST) der integrierten Schaltungen parallel gekoppelt sind.
DE602004003475T 2003-02-10 2004-01-28 Testen von integrierten schaltungen Expired - Lifetime DE602004003475T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP03075382 2003-02-10
EP03075382 2003-02-10
EP03102367 2003-07-30
EP03102367 2003-07-30
PCT/IB2004/050057 WO2004070395A2 (en) 2003-02-10 2004-01-28 Testing of integrated circuits

Publications (2)

Publication Number Publication Date
DE602004003475D1 DE602004003475D1 (de) 2007-01-11
DE602004003475T2 true DE602004003475T2 (de) 2007-09-20

Family

ID=32852240

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003475T Expired - Lifetime DE602004003475T2 (de) 2003-02-10 2004-01-28 Testen von integrierten schaltungen

Country Status (6)

Country Link
US (1) US7409612B2 (de)
EP (1) EP1595156B1 (de)
JP (1) JP4579230B2 (de)
AT (1) ATE347112T1 (de)
DE (1) DE602004003475T2 (de)
WO (1) WO2004070395A2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308629B2 (en) 2004-12-07 2007-12-11 Texas Instruments Incorporated Addressable tap domain selection circuit with TDI/TDO external terminal
US7657810B2 (en) 2006-02-03 2010-02-02 Texas Instruments Incorporated Scan testing using scan frames with embedded commands
WO2007049172A1 (en) * 2005-10-24 2007-05-03 Nxp B.V. Ic testing methods and apparatus
WO2007049173A1 (en) * 2005-10-24 2007-05-03 Nxp B.V. Ic testing methods and apparatus
WO2007049171A1 (en) 2005-10-24 2007-05-03 Nxp B.V. Ic testing methods and apparatus
DE602006015084D1 (de) * 2005-11-02 2010-08-05 Nxp Bv Ic-testverfahren und vorrichtungen
US7818641B2 (en) 2006-10-18 2010-10-19 Texas Instruments Incorporated Interface to full and reduce pin JTAG devices
US7861128B1 (en) * 2006-12-14 2010-12-28 Xilinx, Inc. Scan element with self scan-mode toggle
US7554858B2 (en) 2007-08-10 2009-06-30 Micron Technology, Inc. System and method for reducing pin-count of memory devices, and memory device testers for same
US7958479B2 (en) * 2007-12-04 2011-06-07 Alcatel-Lucent Usa Inc. Method and apparatus for describing and testing a system-on-chip
US7890824B2 (en) * 2008-07-24 2011-02-15 International Business Machines Corporation Asynchronous communication apparatus using JTAG test data registers
CN102043124B (zh) * 2009-10-12 2013-07-17 炬力集成电路设计有限公司 一种具有扫描链的集成电路
US8527822B2 (en) 2009-10-19 2013-09-03 Nxp B.V. System and method for single terminal boundary scan
US8205125B2 (en) * 2009-10-23 2012-06-19 Texas Instruments Incorporated Enhanced control in scan tests of integrated circuits with partitioned scan chains
NL1037457C2 (en) * 2009-11-10 2011-05-12 Jtag Technologies Bv A method of and an arrangement for testing connections on a printed circuit board.
US8566656B2 (en) * 2009-12-22 2013-10-22 Nxp B.V. Testing circuit and method
JP5703605B2 (ja) * 2010-06-28 2015-04-22 富士通セミコンダクター株式会社 半導体集積回路
CN101995546B (zh) * 2010-11-16 2013-02-27 复旦大学 基于边界扫描的可编程逻辑器件自动测试系统与方法
NL2006759C2 (en) 2011-05-10 2012-11-13 Jtag Technologies Bv A method of and an arrangement for automatically measuring electric connections of electronic circuit arrangements mounted on printed circuit boards.
US20130086441A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Dynamically self-reconfigurable daisy-chain of tap controllers
CN103033741B (zh) * 2011-09-30 2015-05-27 重庆重邮信科通信技术有限公司 一种具有扫描链测试功能的芯片及测试方法
EP2595059B1 (de) * 2011-11-18 2014-10-01 IHP GmbH-Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Testprozessor für asynchronen Chiptest
US8533546B1 (en) * 2011-12-01 2013-09-10 Pmc-Sierra Us, Inc. Reconfigurable scan chain connectivity to enable flexible device I/O utilization
EP2749894A1 (de) * 2012-12-31 2014-07-02 Testonica Lab Oü System und Verfahren für optimierte Leiterplattenprüfung und -konfiguration
US9904749B2 (en) * 2014-02-13 2018-02-27 Synopsys, Inc. Configurable FPGA sockets
US10481203B2 (en) 2015-04-04 2019-11-19 Nvidia Corporation Granular dynamic test systems and methods
US10444280B2 (en) 2015-10-27 2019-10-15 Nvidia Corporation Independent test partition clock coordination across multiple test partitions
US10310013B2 (en) * 2016-12-12 2019-06-04 Samsung Electronics Co., Ltd. Test mode isolation and power reduction in embedded core-based digital systems of integrated circuits (ICs) with multiple power domains
US10866283B2 (en) 2018-11-29 2020-12-15 Nxp B.V. Test system with embedded tester
US11442106B2 (en) 2020-12-14 2022-09-13 Western Digital Technologies, Inc. Method and apparatus for debugging integrated circuit systems using scan chain
US20220357394A1 (en) * 2021-05-04 2022-11-10 University Of Florida Research Foundation, Incorporated Reconfigurable jtag architecture for implementation of programmable hardware security features in digital designs

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03252569A (ja) * 1990-02-26 1991-11-11 Advanced Micro Devicds Inc スキャンパス用レジスタ回路
DE69333479T2 (de) * 1992-06-17 2005-03-24 Texas Instruments Inc., Dallas Hierarchisches Verbindungsverfahren und -gerät
US5627842A (en) * 1993-01-21 1997-05-06 Digital Equipment Corporation Architecture for system-wide standardized intra-module and inter-module fault testing
JPH1090369A (ja) * 1996-05-08 1998-04-10 Texas Instr Inc <Ti> 集積回路の試験及び評価方法及び装置
JPH1019983A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd バウンダリスキャンテスト方法
FR2790832B1 (fr) * 1999-03-08 2001-06-08 France Telecom Procede de test de circuits integres avec acces a des points de memorisation du circuit
US6343358B1 (en) * 1999-05-19 2002-01-29 Arm Limited Executing multiple debug instructions
US7003707B2 (en) * 2000-04-28 2006-02-21 Texas Instruments Incorporated IC tap/scan test port access with tap lock circuitry
US6961884B1 (en) * 2000-06-12 2005-11-01 Altera Corporation JTAG mirroring circuitry and methods
DE60107531T2 (de) * 2001-02-19 2005-12-08 Lucent Technologies Inc. Abtastverzögerungskette zur Verzögerungsmessung
JP2003004818A (ja) * 2001-06-26 2003-01-08 Mitsubishi Electric Corp 半導体集積回路およびテスト方法
JP2003121497A (ja) * 2001-10-09 2003-04-23 Fujitsu Ltd 論理回路テスト用スキャンパス回路及びこれを備えた集積回路装置
US7000163B1 (en) * 2002-02-25 2006-02-14 Lsi Logic Corporation Optimized buffering for JTAG boundary scan nets
US6862705B1 (en) * 2002-08-21 2005-03-01 Applied Micro Circuits Corporation System and method for testing high pin count electronic devices using a test board with test channels

Also Published As

Publication number Publication date
US20060100810A1 (en) 2006-05-11
EP1595156A2 (de) 2005-11-16
EP1595156B1 (de) 2006-11-29
JP4579230B2 (ja) 2010-11-10
JP2006517295A (ja) 2006-07-20
US7409612B2 (en) 2008-08-05
WO2004070395A3 (en) 2004-09-16
ATE347112T1 (de) 2006-12-15
DE602004003475D1 (de) 2007-01-11
WO2004070395A2 (en) 2004-08-19

Similar Documents

Publication Publication Date Title
DE602004003475T2 (de) Testen von integrierten schaltungen
DE69628143T2 (de) Jtag-prüfung eines busses unter verwendung von einsteckkarten mit jtag-logikschaltung
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE3130714C2 (de)
DE60309931T2 (de) Verbindung mehrerer testzugriffsportsteuerungsvorrichtungen durch ein einzeltestzugriffsport
DE60218498T2 (de) Elektronisches gerät
DE4041897C2 (de) Integrierte Schaltkreiseinrichtung und Abtastpfadsystem
DE60104854T2 (de) System und Verfahren zum Testen integrierter Schaltungen
DE69734379T2 (de) Vorrichtung zur Prüfung von integrierten Schaltungen
DE10244757B3 (de) Programmierung eines Speicherbausteins über ein Boundary Scan-Register
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
DE60208442T2 (de) Topologierekonfiguration einer prüfschaltung und verwendungsverfahren
DE102004053559A1 (de) Drahtloses, berührungsloses Testen von integrierten Schaltungen
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE69628034T2 (de) Hochimpedanzmodus für jtag
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE69433542T2 (de) Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap
DE4208688C2 (de) Umgehungs-Abtastpfad und integrierte Schaltungseinrichtung
DE69933349T2 (de) Prüfbares ic mit analogen und digitalen schaltungen
DE2902375A1 (de) Logikbaustein fuer integrierte digitalschaltungen
DE60106300T2 (de) Eingangs-/ausgangs-durchgangstestmodus-schaltung
DE10238578A1 (de) Bandbreitenanpassung für Abtastaufbauten in einer integrierten Schaltung
DE102009012768B4 (de) JTAG Nachrichtenbox

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

8328 Change in the person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN