[go: up one dir, main page]

DE19943941A1 - Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls - Google Patents

Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls

Info

Publication number
DE19943941A1
DE19943941A1 DE19943941A DE19943941A DE19943941A1 DE 19943941 A1 DE19943941 A1 DE 19943941A1 DE 19943941 A DE19943941 A DE 19943941A DE 19943941 A DE19943941 A DE 19943941A DE 19943941 A1 DE19943941 A1 DE 19943941A1
Authority
DE
Germany
Prior art keywords
test
integrated circuits
jtag
master controller
controller
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.)
Withdrawn
Application number
DE19943941A
Other languages
English (en)
Inventor
Olivier Garreau
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.)
Infineon Technologies North America Corp
Original Assignee
Infineon Technologies North America Corp
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 Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of DE19943941A1 publication Critical patent/DE19943941A1/de
Withdrawn 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/318558Addressing or selecting of subparts of the device under test

Landscapes

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

Abstract

Es wird eine Vorrichtung zum Testen einer Vielzahl von JTAG-tauglicher integrierter Schaltkreise vorgestellt, wobei zumindest einer der integrierten Schaltkreise ein Enhanced-Embedded-Debug-Modul beinhaltet. Die Vorrichtung ist in der Lage, selektiv bestimmte integrierte Schaltkreise zu testen, die an verschiedenen Orten lokalisiert sind. Auf diese Art und Weise können integrierte Schaltkreise in einem Zielbauteil getestet werden, bei dem integrierte Schaltkreise fehlerhaft oder nicht vorhanden sind. Die Vorrichtung erlaubt den Zugang zu verbesserten JTAG-Debug-Protokollen innerhalb eines gemischten (OCDS und nicht OCDS) IC-Netzwerks.

Description

Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf integrierte Schalt­ kreise. Insbesondere bezieht sich die vorliegende Erfindung auf ein Verfahren und ein System zum Testen und Debuggen von integrierten Schaltkreisen.
Hintergrund der Erfindung
Es wird angemerkt, daß in der ganzen folgenden Patentschrift unter Testprotokollen solche verstanden werden, die allgemein Debug-Protokolle miteinschließen.
Schaltkreise werden gewöhnlicherweise auf gedruckten Leiter­ karten aufgebaut (PC-Karten). Diese Schaltkreise sind in der Regel komplex und können eine große Anzahl von integrierten Schaltkreisen (IC's) beinhalten, wobei die IC's in eine große Vielzahl von Gehäusen eingebaut werden können. Die Zahl der IC's und die Vielzahl der Gehäuse auf Leiterkarten macht es schwierig, die IC's und die Verbindung zwischen den IC's zu testen.
Um komplexe PC-Kartenschaltungen zu testen, wurden Testarchi­ tekturen und Testbusse wie z. B. Boundary-Scan-Tests entwic­ kelt, wie sie aus dem Stand der Technik bekannt sind. Ein IEEE-Standard für diese Art von Testarchitekturen (definiert durch die generischen Signale TCK, TMS, TDI, TDO, TRST) wurde entwickelt und ist unter IEEE 1149.1 oder JTAG bekannt. Um ei­ nen Boundary-Scan-Test effektiv auf einer PC-heiterkarten un­ ter dem IEEE 1149.1 Standard durchzuführen, muß jeder IC auf der PC-heiterkarte, der getestet werden soll, eine zugehörige Testarchitektur beinhalten, die im nachfolgenden als Boundary- Scan bezeichnet wird, die ebenso JTAG-tauglich ist.
Die Fig. 1 veranschaulicht eine herkömmliche JTAG-taugliche Testarchitektur 100. Die Testarchitektur 100 beinhaltet einen Masterkontroller 102, der mit einem untergeordneten JTAG- Zielbaustein 104 verbunden ist durch die JTAG-tauglichen Ver­ bindungen 106 und 108. Der JTAG-Zielbaustein 104 beinhaltet eine serielle Registerkette 110, die durch in Reihe verknüpfte integrierte Schaltkreise IC 112 bis IC 118 hergestellt wird. Während eines Boundary-Scan-Tests scannt und testet der Ma­ sterkontroller 112 der Reihe nach eine vorbestimmte Reihe von Datenbits, die sowohl die Kontrollinformation als auch die Da­ teninformation enthält in die serielle Registerkette 110. Ty­ pischerweise wird die Kontroll- und Dateninformation durch ein besonderes Testprotokoll bereitgestellt, das durch den Master­ kontroller 112 ausgeführt wird speziell für den durchzuführen­ den Boundary-Scan-Test. Die Kontrollinformation kontrolliert einen Zustand, der in jedem der IC's 112 bis 118 vorliegt. Der Zustand benützt dabei Register und die bereitgestellte Daten­ information, um die Kartenverknüpfungen 120 bis 124 und die dazugehörigen IC's zu testen. Jedes der Register auf einem einzelnen IC ist ein Boundary-Scan-Register, das alle Input-, Output- und Input/Output-Ports auf dem IC beinhaltet.
In einigen Situationen ist es nicht wünschenswert, einen oder mehreren der integrierten Schaltkreise, die sich in dem unter­ geordneten Zielbauelement 102 befinden, zu testen. In so einem Fall wird ein Software "BYPASS" ausgeführt, indem der JTAG- Befehl "BYPASS" vor dem Start des Boundary-Scan-Test ausge­ führt wird, um diese integrierten Schaltkreise zu umgehen. Um einen einzelnen integrierten Schaltkreis zu umgehen, wird ein "BYPASS"-JTAG-Befehl speziell an den integrierten Schaltkreis oder dem integrierten Schaltkreise ausgeführt, die umgangen werden sollen. Der Zustand der sich im integrierten Schalt­ kreis befindet, antwortet auf den Umgehungsbefehl, indem jede eingehenden Daten und Kontrollinformationen um die interne Schaltung umgeleitet wird auf dem integrierten Schaltkreis. Dies führt dazu, data der einzelne IC vom Boundary-Scan-Test, der ausgeführt wird, ausgeschlossen wird.
In einigen Fällen führen Fehler in den integrierten Schaltun­ gen dazu, daß ein Software-BYPASS nicht ausgeführt werden kann. In so einem Fall würde es unmöglich sein einen genauen Boundary-Scan-Test innerhalb der Testarchitektur 100 auszufüh­ ren, da es unmöglich wäre, die fehlerhafte integrierte Schal­ tung zu umgehen. Demzufolge müßte die fehlerhafte integrierte Schaltung ausgewechselt werden, um die übrigen integrierten Schaltkreise sauber testen zu können. In komplexen Leiterkar­ ten, wäre die Entfernung und Ersetzung eines einzelnen inte­ grierten Schaltkreises zu zeitaufwendig und zu teuer um prak­ tisch ausgeführt zu werden.
Durch das Einführen von Debug-Schaltungen innerhalb integrier­ ter Schaltkreise, haben die Designer nun die Fähigkeit bekom­ men, in großem Maßstab die Möglichkeit zu erweitern, inte­ grierte Schaltkreise zu debuggen und dabei die Kosten im De­ sign und der Implementierung zu reduzieren. Die Testarchitek­ tur 100 ist nicht in der Lage, eingebettete und proprietäre Debug-Protokolle, die z. B. von Siemens Microelectronics Incor­ poration, San Jose, Kalifornien entwickelt wurden, zu unter­ stützen, da die JTAG-Verbinder 106 und 208 nicht dazu benutzt werden können, die erforderliche Debug-Information zu dem JTAG-Zielbaustein 104 zu tragen.
Demzufolge ist es wünschenswert, eine verbesserte und program­ mierbare JTAG-Netzwerkarchitektur bereitzustellen, die einge­ bettete Debug-Protokolle unterstützt.
Zusammenfassung der Erfindung
Eine Vorrichtung zum Testen einer Vielzahl von integrierten Schaltkreisen, bei dem jeder einzelne Schaltkreis ein zugehö­ riges Testprotokoll hat und zumindest einer der Schaltkreise ein zugehöriges On-Chip-Debug-Protokoll aufweist, wird im fol­ genden offenbart. Insbesondere beinhaltet die Vorrichtung ei­ nen Masterkontroller, der in der Lage ist, das zugehörige Testprotokoll mit jedem einzelnen der integrierten Schaltkrei­ se inklusive dem On-Chip-Debug-Protokoll auszuführen. Die Vor­ richtung beinhaltet einen programmierbaren Schalter zum selek­ tiven Ausführen von Testschleifen zwischen dem Masterkontrol­ ler und ausgewählten einzelnen integrierten Schaltkreisen, wie sie vom Masterkontroller nach den Konfigurationsdaten ange­ sprochen werden. Die Testschleifen erleichtern die Ausführung von ausgewählten einzelnen Testprotokollen. Die Vorrichtung beinhaltet einen Datenbus zum Verbinden des Masterkontrollers mit jedem einzelnen der integrierten Schaltkreise. Der Daten­ bus ist konfiguriert, um die Daten- und Kontrollsignale zwi­ schen dem Masterkontroller und den integrierten Schaltkreisen hinüber zu schicken und zur erleichterten Ausführung des On- Chip-Protokolls.
In einer bevorzugten Ausführung beinhaltet der Masterkontrol­ ler einen JTAG-Kontroller, der mit dem Datenbus verbunden ist und so konfiguriert ist, um das JTAG-Testprotokoll auszufüh­ ren, und einen On-Chip-Debug-Unterstützungskontroller (OCDS), der mit dem Datenbus verbunden ist und so konfiguriert ist, um das OCDS-Testprotokoll auszuführen. Der Masterkontroller bein­ haltet ferner einen programmierbaren Schalterkontroller, der mit dem programmierbaren Schalter verbunden ist und so konfi­ guriert ist, daß er ein Schalterkontrollsignal an den program­ mierbaren Schalterkontroller liefert. Der programmierbare Schalterkontroller antwortet durch Verbinden des JTAG- Kontrollers nach Bedarf mit dem zu testenden integrierten Schaltkreis.
Ein Testsystem zum Testen von JTAG-tauglichen integrierten Schaltkreisen mit integrierten On-Chip-Debug-Support Schalt­ kreisen (OCDS) wird des weiteren offenbart. In einer bevorzug­ ten Ausführung stellt ein Gascomputer, der mit einem Master­ kontroller verbunden ist, ausgewählte Testprotokolle an den Masterkontroller bereit.
Ein anderer Aspekt der Erfindung beinhaltet eine gedruckte Leiterkarte. Die gedruckte Leiterkarte beinhaltet eine Viel­ zahl von integrierten Schaltkreisen. Jeder der integrierten Schaltkreise weist ein zugehöriges Testprotokoll auf und zu­ mindest einer der integrierten Schaltkreise beinhaltet eine eingebettete Debug-Schaltung. Die eingebettete Debug-Schaltung wiederum hat ein zugehöriges On-Chip-Debug-Protokoll. Die ge­ druckte Leiterkarte beinhaltet des weiteren eine Vielzahl von Leitern zum Ausbilden von Testschleifen zwischen den einzelnen integrierten Schaltkreisen und einer externen Testschaltung.
Die Testschleifen erleichtern die Ausführung von ausgewählten einzelnen Testprotokollen. Die gedruckte Leiterkarte beinhal­ tet ferner einen Datenbus, der mit jedem der einzelnen inte­ grierten Schaltkreise verbunden ist. Der Datenbus ist konfigu­ riert, um Daten- und Kontrollsignale zwischen den integrierten Schaltungen und der externen Testschaltung zu übermitteln. Der Datenbus erleichtert ferner die Ausführung des On-Chip-Debug- Protokolls.
Des weiteren wird ein Verfahren zum Testen einer Vielzahl von integrierten Schaltungen vorgestellt, das einen Masterkontrol­ ler und einen programmierbaren Schalter benutzt, wobei der programmierbare Schalter selektiv den Masterkontroller mit einzelnen ausgewählten integrierten Schaltkreisen verbindet. Jeder integrierte Schaltkreis hat ein zugehöriges Testproto­ koll und zumindest einer der integrierten Schaltkreise bein­ haltet eine eingebettete Debug-Schaltung, der ein zugehöriges On-Chip-Debug-Protokoll aufweist. Das Verfahren beinhaltet die folgenden Verfahrensschritte:
  • - Bereitstellen der Testprotokolle an den Masterkontroller;
  • - Auswählen eines ersten Testprotokolls;
  • - Übermitteln erster Schalterkonfigurationsdaten mit zugehöri­ gem ersten Testprotokoll an den programmierbaren Schalter;
  • - Konfigurieren des programmierbaren Schalters gemäß der er­ sten Schalterkonfigurationsdaten, um den Masterkontroller mit zumindest einem der integrierten Schaltkreise zu verbin­ den;
  • - Ausführen des ersten Testprotokolls;
  • - Zurücksetzen des programmierbaren Schalters und dadurch Un­ terbrechen der Verbindung des Masterkontrollers von dem zu­ mindest einen integrierten Schaltkreis;
  • - Zurücksetzen des Maschinenzustands, der zu dem zumindest ei­ nen integrierten Schaltkreis gehört.
Ferner wird ein Computerprogrammerzeugnis zur Erleichterung des Testens einer Vielzahl von integrierten Schaltungen vorge­ stellt, das einen Masterkontroller und einen programmierbaren Schalter benutzt, wobei der programmierbare Schalter selektiv den Masterkontroller mit ausgewählten einzelnen integrierten Schaltkreisen verbindet. In einem Aspekt weist jede einzelne integrierte Schaltung ein zugehöriges Testprotokoll auf und zumindest eine der integrierten Schaltungen beinhaltet eine eingebettete Debug-Schaltung mit einem zugehörigen On-Chip- Debug-Protokoll. Das Computerprogrammerzeugnis beinhaltet zu­ mindest ein computerlesbares Medium und einen Computerpro­ gramm-Mechanismus und ist in zumindest einem computerlesbaren Medium eingebettet. Der Computerprogramm-Mechanismus bringt einen Computer dazu, die folgenden Operationen auszuführen:
  • - Bereitstellen der Testprotokolle an den Masterkontroller;
  • - Auswählen eines ersten Testprotokolls;
  • - Übermitteln erster Konfigurationsdaten, die zum ersten Test­ protokoll gehören, an den programmierbaren Schalter und da­ durch Konfigurieren des programmierbaren Schalters gemäß der ersten Konfigurationsdaten, um den Masterkontroller mit zu­ mindest einem der integrierten Schaltkreise zu verbinden;
  • - Anweisen des Masterkontrollers, um das erste Testprotokoll auszuführen;
  • - Anweisen des Masterkontrollers, um den programmierbaren Schalter zurückzusetzen, um dabei die Verbindung des Master­ kontrollers von dem zumindest einem integrierten Schaltkreis zu unterbrechen;
  • - Anweisen des Masterkontrollers um den zugehörigen Maschinen­ zustand zurückzusetzen, der zu dem zumindest einen inte­ grierten Schaltkreis gehört.
Die beschriebenen Anordnungen haben zahlreiche Vorteile und eliminieren die Notwendigkeit einer physischen Entfernung von fehlerhaften oder nicht eingeschalteten integrierten Schalt­ kreisen, um gewisse Boardlevel-Tests auszuführen. Des weiteren ermöglicht die Erfindung die volle Nutzung von leistungsstar­ ken durch Einbetten verstärkten On-Chip-Support-Merkmalen in Ergänzung zu herkömmlichen JTAG-Test-Schaltungen. Die Erfin­ dung ermöglicht es auch jegliche Zahl von verschiedenen inte­ grierten Schaltkreisen zu testen, die auf beliebiger Zahl von untergeordneten Zielbauteilen angeordnet sind, wozu auch ge­ druckte Leiterkarten gehören, sowohl lokal als auch zurückge­ setzt, wie in Multiprozessorcomputersystemen. Die beschriebene Erfindung funktioniert mit jeglicher integrierten Schaltung, die einen Funktionstest erfordert, wobei Mikroprozessoren und derartiges gemeint sind. Die Erfindung ist nicht auf Mikropro­ zessoren und derartige Bausteine beschränkt.
Kurze Beschreibung der Zeichnungen
Die vorliegende Erfindung wird durch Ausführungsbeispiele ver­ anschaulicht, aber nicht beschränkt. In den Figuren der beige­ fügten Zeichnungen werden die gleichen Bezugszeichen für ähn­ liche Elemente verwendet. Die Figuren zeigen:
Fig. 1 ist ein herkömmliches JTAG-Testnetzwerk;
Fig. 2 ist ein Testnetzwerk gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 3 ist eine Darstellung eines untergeordneten Zielbau­ teils nach einer Ausführungsform der vorliegenden Erfindung;
Fig. 4 ist eine Darstellung eines programmierbaren Schal­ ters gemäß einer Ausführungsform der vorliegenden Erfindung;
Fig. 5 zeigt einen Testschaltkreis, der konfiguriert ist, um eine Boundary-Scan-Test an ausgewählten inte­ grierten Schaltkreisen nach einer Ausführungsform der vorliegenden Erfindung auszuführen;
Fig. 6 ist die Darstellung eines Testnetzwerks, die sowohl OCDS-taugliche integrierte Schaltungen als auch nur JTAG-taugliche integrierte Schaltungen gemäß einer Ausführungsform der vorliegenden Erfindung aufweist;
Fig. 7 ist ein Testsystem nach einer Ausführungsform der vorliegenden Erfindung;
Fig. 8 ist eine Darstellung eines Testsystems mit einer Vielzahl von untergeordneten Zielbauteilen;
Fig. 9 ist ein Flußdiagramm, das die Prozeßschritte beim Benutzen des Testnetzwerkes aufzeigt, um integrierte Schaltkreise nach einer Ausführungsform der vorlie­ genden Erfindung zu testen und
Fig. 10 zeigt ein typisches Computersystem nach einer Aus­ führungsform der vorliegenden Erfindung.
Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
In der folgenden ausführlichen Beschreibung der vorliegenden Erfindung werden zahlreiche spezifische Ausführungsformen ge­ zeigt, um ein eingehendes Verständnis der vorliegenden Erfin­ dung zu ermöglichen. Es ist jedoch für einen Fachmann selbst­ verständlich, die vorliegende Erfindung ohne diese spezifi­ schen Details auszuführen oder andere Elemente oder Verfah­ rensschritte einzuführen. Des weiteren werden wohl bekannte Verfahren, Prozeduren, Bauelemente und Schaltkreise nicht im Detail beschrieben, um die Aspekte der vorliegenden Erfindung nicht unnötigerweise zu verdunkeln.
Beginnend mit der Fig. 2 wird ein Testnetzwerk 200 nach einer Ausführungsform der vorliegenden Erfindung gezeigt. Das Test­ netzwerk 200 beinhaltet einen Masterkontroller 202, der mit einem programmierbaren Schalter 204 verbunden ist. Der pro­ grammierbare Schalter 204 wiederum ist mit einem untergeordne­ ten Zielbauteil 106 verbunden, der wiederum JTAG-taugliche in­ tegrierte Schaltkreise IC1 bis IC4 beinhaltet. In einer bevor­ zugten Ausführungsform der vorliegenden Erfindung ist zumin­ dest einer der integrierten Schaltkreise IC1 bis IC4 ein On- Chip-Debug-Support (OCDS) integrierter Schaltkreis mit einer On-Chip-Debug-Schaltung. Daher wird zur Erleichterung der Er­ örterung im folgenden angenommen, daß der IC1 ein OCDS-artiger integrierter Schaltkreis mit einer OCDS-Schaltung 208 ist, wo­ hingegen IC2 bis IC4, die auch JTAG-tauglich sind, lediglich eine JTAG-Testschaltung beinhalten (nicht gezeigt). Es wird angemerkt, daß in der Praxis ein beliebiger oder alle oder eben keiner der integrierten Schaltkreise IC1 bis IC4 ein OCDS-artiger integrierter Schaltkreis sein kann.
In einer bevorzugten Ausführungsform der vorliegenden Erfin­ dung beinhaltet der Masterkontroller 202 einen JTAG-Kontroller 210, der mit dem programmierbaren Schalter 204 über I/O- Leitungen 211-1 und 211-2 verbunden ist. Der JTAG-Kontroller 210 stellt JTAG-Testprotokolle bereit, die von den JTAG- Testschaltungen benutzt werden, die in den JTAG-tauglichen in­ tegrierten Schaltkreisen vorliegenden. Wie aus dem Stand der Technik bekannt ist, weisen die Testprotokolle typischerweise Befehle auf, so z. B. Testvektoren, die von den zugehörigen Testschaltungen benutzt werden, um festzustellen, ob die inte­ grierte Schaltung, die getestet wird, sauber funktioniert.
Der Masterkontroller 202 beinhaltet des weiteren einen OCDS- Kontroller 212, der durch einen Datenbus 214 mit dem unterge­ ordneten Zielbauteil 206 verbunden ist. Das untergeordnete Zielbauteil 206 weist leitfähige Pfade, typischerweise in der Form von gedruckten Leitungen, auf, die den Datenbus 214 mit jedem einzelnen integrierten Schaltkreis IC1 bis IC4 verbin­ den. Ein TMS-Signalgenerator 216, der im Masterkontroller 202 vorliegt, ist mit dem Datenbus 214 und dem JTAG-Kontroller 210 verbunden und stellt ein JTAG-taugliches Maschinenzustandskon­ trollsignal (TMS), an jeden der integrierten Schaltkreise IC1 bis IC4 bereit, wie es vom JTAG-Kontroller 210 vorgegeben ist.
Der Masterkontroller 202 beinhaltet des weiteren einen Schal­ terkontroller 218, der mit dem programmierbaren Schalter 204 verbunden ist. Wie weiter unten im Detail beschrieben ist, stellt der Schalterkontroller 218 ein Schalterkontrollsignal bereit, das vom programmierbaren Schalter 204 dazu benutzt wird, um selektiv einen der integrierten Schaltkreise IC1 bis IC4 zu verbinden, die durch den JTAG-Kontroller 210 getestet werden über die I/O-Zuführungen 211. In einer bevorzugten Aus­ führung ist die Verbindung zwischen JTAG-Kontroller 210 und den integrierten Schaltkreisen in der Form einer Feedback- Schleife. Die Feedback-Schleife beinhaltet einen Zuführungs­ pfad, den der JTAG-Kontroller 210 dazu benutzt, um Testbefehle an der JTAG-Testschaltung, die während des Tests in der inte­ grierten Schaltung beinhaltet ist, bereitzustellen. Die JTAG- Testschaltung rückantwortet an den JTAG-Kontroller 210 mit korrespondierenden Testergebnissen und benutzt dabei einen zu­ gehörigen Rückführungspfad (Feedback Phase). Beispielsweise weist der Schalterkontroller 218 den programmierbaren Schalter 204 an, eine I/O-Zuführung 211-1 an eine Vorwärtszuführung 220 anzuschließen und eine Rückwärtszuführung 222 an eine I/O- Zuführung 211-2 anzuschließen, sobald der integrierte Schalt­ kreis IC1 die einzige integrierte Schaltung ist, die unter Be­ nutzung eines zugehörigen JTAG-Testprotokolls auf ihre Funk­ tionalität vom JTAG-Kontroller 210 getestet wird. Auf diese Weise kann der JTAG-Kontroller 210 nur den integrierten Schaltkreis IC1 testen ohne eine andere integrierte Schaltung im untergeordneten Zielbauteil 206 zu testen.
Es wird angemerkt, daß jede Stelle des untergeordneten Ziel­ bauteils 206, die eine integrierte Schaltung unterbringen kann, mit einer zugehörigen Bestimmungsadresse (DA) ausgestat­ tet ist. Auf diese Weise kann der Ort einer einzelnen inte­ grierten Schaltung, die sich auf dem untergeordneten Zielbau­ teil 206 befindet, einfach und zuverlässig identifiziert wer­ den. Ist die Stelle einmal identifiziert, kann auch die Art der integrierten Schaltung, d. h. also ob es sich um eine JTAG- oder eine OCDS-Schaltung handelt, auf der jeweiligen Stelle des untergeordneten Zielbauteils 206 ermittelt werden. Die Fig. 3 veranschaulicht beispielsweise ein untergeordnetes Ziel­ bauteil 300 gemäß einer Ausführungsform der vorliegenden Er­ findung. Wie gezeigt, weist jeder Ort auf dem untergeordneten Zielbauteil 300, das durch eine integrierte Schaltung, wie z. B. IC1 bis IC4, besetzt sein kann, eine Bestimmadresse auf. In diesem einzelnen Fall ist IC1 an einer Stelle des unterge­ ordneten Zielbauteils 300 angeordnet, zu dem die Bestimmadres­ se D1 gehört, wohingegen IC2 an einer Stelle angeordnet ist, zu der die Bestimmadresse D2 gehört etc. In Übereinstimmung mit JTAG korrespondiert zu einer Bestimmadresse ein Bitort in einem globalen Bitrahmen.
Durch das sichere Bestimmen jeder Stelle auf dem untergeordne­ ten Zielbauteil können Konfigurationsdaten, die zu einer ein­ zelnen Testkonfiguration gehören, dazu benutzt werden, um eine weite Vielzahl von Testsituationen zu ermöglichen oder aufzu­ setzen. Die Tabelle 1 gibt die möglichen Konfigurationsdaten wieder, die die integrierten Schaltungen, die auf dem unterge­ ordneten Zielbauteil 300 vorliegen, die getestet werden sollen nach ihren jeweiligen Arten, d. h. ob es sich um JTAG-artige oder OCDS-artige Schaltungen handelt, dabei wird das Beispiel von oben verwendet, wobei die integrierte Schaltung IC1 die einzige von den integrierten Schaltungen IC1 bis IC4 ist, die eine OCDS-Schaltung 208 beinhaltet.
Tabelle 1
Konfigurationsdaten
Die Konfigurationsdaten, die in der Tabelle 1 gezeigt werden, geben dem Masterkontroller 202 die Orte der integrierten Schaltkreise an, die getestet werden sollen, und die dazugehö­ rigen Typen.
Um eine Testumgebung zu generieren mittels der Konfigurations­ daten, die in der Tabelle 1 gezeigt werden, übergibt der Ma­ sterkontroller 202 an den programmierbaren Schalter 204 ein geeignetes Schaltkontrollsignal, das auf den Bestimmadressen, die in den Konfigurationsdaten beinhaltet sind, basiert.
Die Testprioritätsdaten, d. h. die Testreihenfolge, kann eben­ falls beinhaltet sein. Z. B. gibt der Masterkontroller 202 ein Schaltkontrollsignal SCIC1 ab, das den programmierbaren Schal­ ter 204 anweist, eine Feedback-Schleife zwischen dem Master­ kontroller 202 und dem integrierten Schaltkreis IC1 aufzubau­ en, wenn der integrierte Schaltkreis IC1 der erste integrierte Schaltkreis sein soll, der getestet werden soll, wie oben be­ schrieben. Sobald die Feedback-Schleife aufgebaut ist, führt der Masterkontroller 202 die geeigneten Testinstruktionen aus, um die Funktionalität des integrierten Schaltkreises IC1 aus­ zuwerten. Sobald das Testen des IC1 vervollständigt ist, wird das Verfahren bei allen anderen integrierten Schaltkreisen, die getestet werden sollen wiederholt basierend auf dem Test­ protokoll, das vom Masterkontroller 202 ausgeführt wird.
Der Gebrauch von Bestimmadressen, um Orte auf den benutzten untergeordneten Zielbauteilen zu identifizieren, um integrier­ te Schaltkreise zu erfassen, gestattet eine sehr große Flexi­ bilität im Schaffen eines weiten Feldes von Testumgebungen. Im Fall eines fehlerhaften Schaltkreises kann ein Boundary-Scan- Test beispielsweise ausgeführt werden, bei dem nur die funk­ tionierenden integrierten Schaltkreise benutzt werden, indem einfach die Bestimmadressen des fehlerhaften integrierten Schaltkreises identifiziert werden. Das Testprotokoll kann dann einfach den fehlerhaften integrierten Schaltkreis umge­ hen, ohne ein teures und zeitaufwendiges Neuverdrahten oder Ersetzen auszuführen, wie das typisch für herkömmliche Test­ netzwerke ist.
Zusätzlich kann in den Fällen, wo einzelne integrierte Schalt­ kreise, die getestet werden müssen, nicht verfügbar sind, bei­ spielsweise wenn sie noch nicht designed oder zu teuer sind, können die verfügbaren integrierten Schaltkreise dennoch gete­ stet werden, indem die Plazierung umgangen wird ohne einen in­ tegrierten Schaltkreis.
Die Fig. 4 zeigt einen programmierbaren Schalter 400 gemäß einer Ausführungsform der vorliegenden Erfindung. Es wird an­ gemerkt, daß der programmierbare Schalter 400 eine mögliche Ausführungsform des programmierbaren Schalters 204 aus der Fig. 2 zeigt. Der programmierbare Schalter 400 beinhaltet ver­ tikale Datenleitungen 402, die programmierbar verknüpft zu ho­ rizontalen Datenleitungen 404 sind, so daß ein Gegenstand ge­ bildet wird, der als "Crossbar"-Schalter bezeichnet wird. Die vertikalen Datenleitungen 402 und horizontalen Datenleitungen 404 können wahlweise elektrisch verknüpft miteinander sein, wobei programmierbare Verbindungen benutzt werden, um einen Signalpfad bereitzustellen, der zum Passieren von Kontrollsi­ gnalen und Datensignalen geeignet ist. Es wird der Klarheit halber angemerkt, daß nur wenige der verfügbaren programmier­ baren Verbindungen gezeigt sind und daß in der Praxis eine programmierbare Verbindung an jeder horizontalen und vertika­ len Datenleitungsüberschneidung sitzt. Die vertikalen Daten­ leitungen 402 sind mit einem vertikalen Datenleitungskontrol­ ler 406 verknüpft, der mit dem Schalterkontroller 218 ver­ knüpft ist, wohingegen die horizontalen Datenleitungen 404 mit dem horizontalen Datenleitungskontroller 408 verknüpft sind, der ebenfalls mit dem Schalterkontroller 218 verknüpft ist. Jede der horizontalen Datenleitungen 404 ist mit einem der programmierbaren Schaltungs-I/O-Leitungen 410 verknüpft. Jeder der programmierbaren Schaltungs-I/O-Leitungen 410 sind wieder­ um paarweise mit den integrierten IC1 bis IC4 verbunden, die sich auf dem Hardware-Zielbauteil 206 befinden. Der Einfach­ heit halber ist eine horizontale Datenleitung 404-1 mit einer programmierbaren Schaltungs-I/O-Leitung 410-11 verbunden, wo­ hingegen eine horizontale Datenleitung 404-2 mit einer pro­ grammierbaren Schaltungs-I/O-Leitung 410-2 verbunden ist. Die I/O-Leitungen 410-1 und 410-2 sind wiederum mit der Zufüh­ rungsleitung 220 und der Rückführungsleitung 222 verbunden.
Um den IC1 selektiv mit dem JTAG-Kontroller 210 zu verbinden, benutzt der horizontale Datenleitungskontroller 408 program­ mierbare Verbindungen 412-1 und 412-2, um die horizontale Da­ tenleitung 404-1 mit der vertikalen Datenleitung 402-1 und die horizontale Datenleitung 404-2 mit der vertikalen Datenleitung 402-2 zu verbinden. Der vertikale Datenleitungskontroller 406 benutzt die programmierbare Verbindung 412-3, um die vertikale Datenleitung 402-1 mit dem JTAG-Kontroller 210 über die I/O- Leitung 211-1 zu verbinden. Der vertikale Datenleitungskon­ troller 406 benutzt dann die programmierbare Verbindung 412-4, um die vertikale Datenleitung 402-2 über die I/O-Leitung 211-2 mit dem JTAG-Kontroller 210 zu verbinden. Auf diese Weise wird eine Testrückführungsschleife zwischen dem JTAG-Kontroller 210 und dem integrierten Schaltkreis IC1 ausgebildet. An diesem Punkt kann der Masterkontroller 202 direkt den JTAG-Kontroller 210 anweisen, die geeigneten JTAG-Testprotokolle, die zu dem integrierten Schaltkreis IC1 gehören, auszuführen. Gegebenen­ falls können aüch OCDS-Transaktionen ausgeführt werden.
In manchen Situationen kann es wünschenswert sein, zwei oder mehrere integrierte Schaltkreise in Reihe oder in Kette zu schalten. So eine Situation tritt auf, sobald ein JTAG- Kettenpfad wie oben beschrieben ausgeführt werden soll. Die Fig. 5 zeigt eine Schaltung, die konfiguriert ist, um einen Boundary-Scan-Test an ausgewählten integrierten Schaltkreisen IC2 und IC3 gemäß einer Ausführungsform der vorliegenden Er­ findung auszuführen. Der programmierbare Schalter 400 benutzt andere der programmierbaren Verbindungen, um den geeigneten Testschaltkreis auszubilden, wie im folgenden beschrieben wird. Der Schalterkontroller 218 vermittelt das geeignete Schalterkontrollsignal von dem horizontalen Datenleitungskon­ troller 408 an den vertikalen Datenleitungskontroller 406. In diesem Fall benutzt der horizontale Datenleitungskontroller 408 die programmierbare Verbindung 412-5, um die vertikale Da­ tenleitung 402-3 mit der horizontalen Datenleitung 404-3 zu verbinden, und er benutzt die programmierbare Verbindung 412- 6, um die horizontale Datenleitung 404-4 mit der vertikalen Datenleitung 402-4 zu verbinden. Die programmierbare Verbin­ dung 412-7 wird benutzt, um die vertikale Datenleitung 402-4 mit der horizontalen Datenleitung 404-5 zu verbinden, während die programmierbare Verbindung 412-8 dazu benutzt wird, die horizontale Datenleitung 404-6 mit der vertikalen Datenleitung 404-5 zu verbinden. Der vertikale Datenleitungskontroller 406 benutzt dann die programmierbare Verbindung 412-9, um die ver­ tikale Datenleitung 402-4 mit dem JTAG-Kontroller 210 über die I/O-Leitung 211-1 zu verbinden. Der vertikale Datenleitungs­ kontroller 406 benutzt die programmierbare Verbindung 412-10, um die vertikale Datenleitung 402-3 mit dem JTAG-Kontroller 210 über die I/O-Leitung 211-2 zu verbinden. Auf diese Weise können die integrierten Schaltkreise IC3 und IC2 getestet wer­ den, ohne daß andere der integrierten Schaltkreise getestet werden, die sich auf dem untergeordneten Zielbauteil 206 be­ finden und kettenverknüpft in dem JTAG-Pfad liegen.
Die Fig. 6 zeigt ein exemplarisches Testnetzwerk 600 nach ei­ ner Ausführungsform der vorliegenden Erfindung. Das Testnetz­ werk 600 beinhaltet einen Masterkontroller 602, der an einen programmierbaren Schalter 604 gekoppelt ist. Der programmier­ bare Schalter 604 ist verknüpft mit dem untergeordneten Ziel­ bauteil 606, welches einen Mikroprozessor-IC 608 aufweist, der beispielweise aus der Produktfamilie Tricore stammt, die von der Siemens Microelectronics Incorporation in San Jose, Kali­ fornien, USA hergestellt wird. Das untergeordnete Zielbauteil 606 beinhaltet ferner zugehörige Kontrollerchips. Solche Kon­ trollerchips beinhalten einen I/O-Kontroller-IC 610 und einen Adresskontroller-IC 612, die beispielsweise aus der Produktfa­ milie Vantis von CPLD-Produkten stammen kann, die von der Ad­ vanced Micro Devices Incorporation aus Sunnyvale, Kalifornien, USA stammen. Demzufolge beinhaltet der Mikroprozessor IC 608 eine OCDS-Schaltung 609 mit zugehörigen OCDS-Debug- Protokollen, die vom Masterkontroller 602 ausgeführt werden, wohingegen der I/O-Kontroller IC 610 und der Adresskontroller IC 612 nur JTAG-tauglich sind und lediglich mit ihren eigenen JTAG-Testprotokollen verbunden sind, die ebenfalls vom Master­ kontroller 602 ausgeführt werden. Demzufolge ist der Master­ kontroller 602 so konfiguriert, daß er so viele Testprotokolle wie erforderlich ausführen kann.
Der Masterkontroller 602 beinhaltet einen JTAG-Kontroller 614. Der JTAG-Kontroller 614 beinhaltet "Vantis"-JTAG-Register 616, die so angeordnet sind, um die JTAG-Testprotkolldaten zu spei­ chern, je nachdem welche integrierten Schaltkreise mit den zu­ gehörigen Vantis-Testprotokollen getestet werden. Der JTAG- Kontroller 614 beinhaltet des weiteren "Tricore"-JTAG-Register 618, die so angeordnet sind, um JTAG-Testprotokolldaten zu speichern, die spezifisch für den Mikroprozessor IC 608 sind und konsistent mit Tricore-Debug-Protokollen sind. Auf diese Art ist der Masterkontroller 602 in der Lage sowohl Vantis- Testprotokolle als auch Tricore-Debug-Protokolle je nach Be­ darf bereitzustellen. Ein Rücksetz(disable)Register 620 wird benutzt, um ein TMF-Rücksetzsignal (Disable-Signal) bereitzu­ stellen. Der Masterkontroller 602 beinhaltet des weiteren ei­ nen OCDS-Kontroller 622, der programmierbar mit der OCDS- Schaltung 609 verbunden ist über den programmierbaren Schalter 604. Ein Taktschaltkreis TCK stellt ein Taktsignal an jeden einzelnen integrierten Schaltkreis IC 608, IC 610 und IC 612 bereit.
Der programmierbare Schalter 604 beinhaltet einen ersten Mul­ tiplexer 624 zum Auswählen eines TDI-Signales, das zur jewei­ ligen IC-Art, die getestet werden soll, gehört. Falls der Ma­ sterkontroller 602 beispielsweise den Mikroprozessor IC 608 testet, dann wählt der erste Multiplexer 624 das TDI-Signal aus, das zum Tricore-JTAG-Testprotokoll gehört. Falls der Ma­ sterkontroller 602 hingegen entweder einen oder beide der Van­ tis integrierten Schaltkreise IC 610 und IC 612 testet, dann wählt der erste Multiplexer 624 das TDI-Signal aus, das zum Vantis-Testprotokoll gehört. Ein zweiter Multiplexer 626 und ein dritter Multiplexer 628 stehen zur Auswahl von TRS- und TMS-Signalen bereit, je nachdem welche Testprotokolle benutzt werden. Ein Tricore-Ergebnisregister 630 empfängt die Tester­ gebnisse von dem Mikroprozessor IC 608, wohingegen ein Vantis- Ergebnisregister 632 die Testergebnisse von dem Vantis inte­ grierten Schaltkreisen IC 610 und IC 612 empfängt. In der Si­ tuation, wo ein mehrfacher IC-Test erfolgen soll, richtet ein Selektor 634, der Teil einer virtuellen Schaltung sein kann, den Ausgang des IC 608 an den Eingang des IC 610. Auf diese Weise wird eine serielle Kette ausgebildet.
Die Fig. 7 zeigt ein Testsystem 700 nach einer Ausführungs­ form der vorliegenden Erfindung. Das Testsystem 700 weist ei­ nen Gastcomputer 702 auf, der so konfiguriert ist, daß er aus­ führbare Befehle an das Testnetzwerk 703 abgibt. Das Testnetz­ werk 703 beinhaltet einen Masterkontroller 704, der mit dem programmierbaren Schalter 706 verbunden ist. Der programmier­ bare Schalter 706 ist wiederum mit dem untergeordneten Ziel­ bauteil 707 verbunden, das integrierte Schaltungen 708 bis 714 aufweist, die damit verbunden sind.
Während der Arbeit stellt der Gastcomputer 702 ein Benutzerin­ terface bereit, um auszuwählen, welcher der integrierten Schaltkreise 708 bis 714 getestet werden soll. Auf diese Weise stellt das Testsystem 700 einen flexiblen Ansatz dar, um die integrierten Schaltkreise, die beispielsweise auf einer Lei­ terkarte montiert sind, zu testen. Wenn ein Benutzer es wünscht, nur einen einzelnen integrierten Schaltkreis, bei­ spielsweise den IC 708, zu testen, stellt der Gastcomputer die notwendigen Konfigurationsdaten an den Masterkontroller 704 bereit, welcher wiederum den programmierbaren Schalter 706 an­ weist, selektiv den IC 708 an den Masterkontroller 704 zu ver­ binden. In dem Fall, wo z. B. ein Boundary-Scan-Test an den IC 710 und IC 712 durchgeführt werden soll, stellt der Gastcompu­ ter 702 die entsprechenden Konfigurationsdaten an den Master­ kontroller 704 bereit. Der Masterkontroller 704 weist dann den programmierbaren Schalter 706 an, nur die IC 710 und IC 712 der Reihe nach an den Masterkontroller 704 zu verbinden.
In einigen Situationen sind einer oder mehrere der integrier­ ten Schaltkreise, die sich auf dem untergeordneten Zielbauteil 707 befinden, defekt. In dieser Situation stellt der Gastcom­ puter 702 Instruktionen an den Masterkontroller 704 bereit, welcher dieser dazu benutzt, den programmierbaren Schalter 706 anzuweisen, die fehlerhaften integrierten Schaltkreise zu um­ gehen, ohne daß die fehlerhaften integrierten Schaltkreise an sich benutzt werden müssen, um die Umgehung herzustellen. Auf diese Art und Weise stellt das Testsystem 700 einen flexiblen Ansatz dar, um Systemarchitekturen zu testen, bei dem gänzlich der Zwang zum Ersetzen fehlerhafter integrierter Schaltkreise wegfällt, um einen Funktionstest auf einer Leiterkarte auszu­ führen. Das Testsystem 700 kann auch zum Testen von Systemen benutzt werden, wo gewisse integrierte Schaltkreise nicht vor­ handen sind, z. B. aufgrund späterer Design-Stufen oder be­ grenzter Verfügbarkeit. Dann gewährleistet das Testsystem 700 bessere Design-Zykluszeiten, da die Leiterkarte ausgetestet werden kann, ohne mit den Problemen konfrontiert zu sein, die an individuellen integrierten Schaltkreise liegen.
Das Testsystem 700 kann auch integrierte Schaltkreise testen, die verbesserte eingebettete Chip-Debug-Schaltungen aufweisen, da der Masterkontroller 704 in der Lage ist jegliche Zahl von gewünschten JTAG-Protokollen bereitzustellen, die mit Bounda­ ry-Scan, OCDS oder andere Arten zusammenhängen.
Die Fig. 8 zeigt ein Testsystem 800 mit einer Vielzahl von untergeordneten Zielbauteilen. Das Testsystem 800 besteht aus einem Gastcomputer 802, der mit einem Masterkontroller 804 verbunden ist. Der Masterkontroller 804 wiederum ist mit einem programmierbaren Schalter 806 verbunden, der dazu dient be­ stimmte integrierte Schaltkreise (nicht gezeigt) auszuwählen, die sich in der Zahl der untergeordneten Zielbauteile TD1 bis TDn befinden. Es wird angemerkt, daß eine beliebige Zahl von untergeordneten Zielbauteilen, sowohl zurückgesetzt (Remote) oder lokal (Local), programmierbar mit dem programmierbaren Schalter 806 verbunden werden können, je nach Bedarf. Auf die­ se Art und Weise kann jede Zahl von untergeordneten Zielbau­ teilen entfernt voneinander oder entfernt vom Masterkontroller 804 genauso wie vom Gastcomputer 802 angeordnet werden. Dies gewährleistet die Möglichkeit, die integrierten Schaltkreise, die auf vielen verschiedenen untergeordneten Zielbauteilen sitzen, zu testen, beispielsweise die integrierten Schaltkrei­ se eines Multi-Prozessor-Computersystems. In der Praxis weist ein Multi-Prozessor-Computersystem eine Zahl von verschiedenen untergeordneten Zielbauteilen in der Form von Leiterkarten. auf, (manchmal wird das auch eine Plattform genannt), die ty­ pischerweise die Form eines "Motherboard" und mehrfacherer "Add-On-Boards" aufweisen und an verschiedenen Orten innerhalb des Systems angeordnet sind.
Fig. 9 zeigt einen möglichen Verfahrensablauf 900 zum Testen integrierter Schaltkreise nach einer Ausführungsform der vor­ liegenden Erfindung. Es wird angemerkt, daß das Verfahren, das in der folgenden Diskussion erörtert wird, mit dem Testsystem 700 aus Fig. 7 in Einklang gebracht werden kann. Wie gezeigt, beginnt das Testverfahren mit dem Laden (902) der ausgewählten Testprotokolle in den Masterkontroller. Die Testprotokolle können in einem Gastcomputer gespeichert werden, der mit dem Masterkontroller verbunden ist, oder die Testprotokolle können in einem Speicherbauelement gespeichert werden, das mit dem Speicherkontroller verbunden ist. In beiden Fällen geben die Testprotokolle die ausführbaren Instruktionen für den Master­ kontroller, um die integrierten Schaltkreise sauber zu testen. Sobald die sauberen Testprotokolle in den Masterkontroller ge­ laden sind, initialisiert der Masterkontroller (904) alle Re­ gister, I/O-Übergangsstellen usw. Sobald der Masterkontroller initialisiert worden ist, wird ein Testprotokoll ausgewählt (906), das auf dem zu testenden integrierten Schaltkreis ba­ siert. Sobald das Testprotokoll ausgewählt worden ist, werden die zugehörigen Konfigurationsdaten mit dem aufgestellten Testprotokoll an den programmierbaren Schalter übermittelt (908). Sobald die Daten und das Protokoll empfangen worden sind, benutzt der programmierbare Schalter die Konfigurations­ daten, um die dazugehörigen integrierten Schaltkreise oder den zugehörigen integrierten Schaltkreis mit dem Masterkontroller zu verbinden (910). Der Masterkontroller führt dann das ausge­ wählte Testprotokoll (912) aus und danach werden alle Verbin­ dungen abgeschlossen (close) (914).
Sobald die Verbindungen abgeschlossen sind, wird der Maschi­ nenzustand für alle getesteten integrierten Schaltungen zu­ rückgesetzt (916). Es wird dann eine Abfrage gemacht, ob ein anderes Testprotokoll ausgewählt werden soll (918). Wenn nicht, hält das Testverfahren an. Sollte jedoch ein anderes Testprotokoll ausgewählt werden, so wird ein neues Testproto­ koll ausgewählt und das Verfahren läuft weiter.
Die Fig. 10 veranschaulicht ein typisches Computersystem nach einer Ausführungsform der vorliegenden Erfindung. Das Compu­ tersystem 1000 beinhaltet eine Zahl von Prozessoren 1002, die im folgenden auch als zentrale Prozeßeinheiten oder kurz CPU genannt werden; die mit Speicherbauelementen gekoppelt sind, wobei die Speicherbauelemente einen Primärspeicher 1006, der typischerweise ein Random-Access-Memory oder RAM ist, und ei­ nen Primärspeicher 1004, der typischerweise ein Read-Only- Memory oder ROM, ist beinhalten. Wie hinlänglich aus dem Stand der Technik bekannt ist, dient der Primärspeicher 1004 dazu, Daten und Instruktionen unidirektional an die CPU zu übermit­ teln, und der Primärspeicher 1006 wird typischerweise dazu be­ nutzt, Daten und Instruktionen bidirektional zu übermitteln. Beide Arten von Primärspeichern können auch ein geeignetes computerlesbares Medium wie oben beschrieben, beinhalten. Ein Massenspeicher 1008 ist ebenso bidirektional an die CPU 1002 gekoppelt und stellt zusätzliche Datenspeicherkapazität bereit und kann irgendeine der computerlesbaren Medien wie oben be­ schrieben beinhalten. Der Massenspeicher 1008 kann dazu die­ nen, Programme, Daten und ähnliches zu speichern und ist typi­ scherweise ein sekundäres Speichermedium, wie z. B. eine Fest­ platte, die langsamer ist als ein primärer Speicher. Typi­ scherweise kann die Information, die im Massenspeicher 1008 vorliegt, in geeigneten Fällen auf bekannte Weise als Teil des primären Speichers 1006 als ein virtuelles Gedächtnis inkorpo­ riert werden. Ein spezieller Massenspeicher wie ein CDROM 1014 kann ebenso Daten unidirektional an die CPU 1002 weitergeben.
Die CPU 1002 ist ferner an ein Interface 1010 gekoppelt, das ein oder mehrere Input/Output-Bauelemente aufweist, wie z. B. einen Videomonitor, Trackballs, Computermäuse, Tastaturen, Mi­ krofone, berührungssensitive Displays, Transducerkartenleser, Magnetband- oder Papierbandleser, Tabletts, Stifte, Sprach- oder Handschrifterkenner, oder andere gut bekannte Datenquel­ len wie natürlich auch weitere Computer. Letztendlich kann die CPU 1002 optional an einen Computer oder ein Telekommunikati­ onsnetzwerke gekoppelt werden, wobei eine Netzwerkverbindung benutzt wird, wie sie unter dem Bezugszeichen 1012 allgemein gezeigt ist. Mit so einer Netzwerkverbindung kann die CPU 1002 auch mit Informationen aus dem Netzwerk versorgt werden oder kann Informationen an das Netzwerk abgeben, wie das mit dem oben beschriebenen Verfahren möglich ist. Die oben beschriebe­ nen Bauelemente und Materialien sind Fachleuten der Computer­ hardware und Software hinlänglich bekannt.
Die beschriebenen Ausführungsformen haben zahlreiche Vorteile und erlauben das Testen von integrierten Schaltkreisen, die verbesserte eingebettete (enhanced embedded) Debug-Schaltungen aufweisen. Darüber hinaus kann ein optionaler Testmodus die Möglichkeit von schnellen Testen von integrierten Schaltkrei­ sen mit extern generierten Testvektoren merklich steigern. Das beschriebene Testnetzwerk und die Verfahren arbeiten gut mit einem weiten Spektrum von integrierten Schaltungen so z. B. Mi­ kroprozessoren und dergleichen, die mit einem großen Spektrum vom Prozeßtechnologien hergestellt werden können.
Obwohl nur wenige Ausführungsformen der vorliegenden Erfindung im Detail beschrieben worden sind, versteht es sich von selbst, daß die vorliegende Erfindung in vielen anderen spezi­ fischen Formen ausgeführt werden kann, ohne daß der Geist oder der Bereich der vorliegenden Erfindung verlassen wird. Insbe­ sondere sind die Vorteile, die eine flexible Antwort auf ein weites Spektrum von Testsituationen beinhaltet, gleichermaßen anwendbar an jeder beliebig montierten integrierten Schaltung, obwohl die Erfindung hauptsächlich im Kontext von gedruckten Leiterkarten erörtert worden ist.
Ferner können die Testcharakteristiken im Einklang mit dem Be­ darf eines jeweiligen Systems variiert werden. Beispielsweise kann ein einzelnes Testprotokoll eines Herstellers an ver­ schiedenen spezifischen Bauelementen benutzt werden, ohne Um­ programmieren oder Neuentwickeln neuer Testverfahren. Dies spart merklich Ingenieurszeitaufwand. Demzufolge müssen die vorliegenden Beispiele als erläuternd und nicht beschränkend aufgefaßt werden. Die Erfindung ist demnach nicht auf die De­ tails beschränkt, die in der Beschreibung offenbart wurden, sondern können innerhalb des Schutzbereichs der beigefügten Patentansprüche modifiziert werden.

Claims (8)

1. Ein Vorrichtung zum Testen einer Vielzahl von JTAG- tauglicher integrierter Schaltkreise, wobei die integrierten Schaltkreise ein zugehöriges Testprotokoll aufweisen und zu­ mindest einer der JTAG-tauglichen integrierten Schaltkreise ein On-Chip-Debug-Support (OCDS-integrierter Schaltkreis mit einer eingebetteten Debug-Schaltung ist, mit folgenden Be­ standteilen:
  • 1. Ein Masterkontroller, der in der Lage ist, das Testproto­ koll, das zu jedem einzelnen der integrierten Schaltkreise gehört, und das On-Chip-Debug-Protokoll, auszuführen;
  • 2. ein programmierbarer Schalter zum selektiven Ausbilden von Testschleifen zwischen dem Masterkontroller und ausgewählten einzelnen integrierten Schaltkreisen, wie durch den Master­ kontroller nach Konfigurationsdaten vorgegeben wird, wobei die Testschleifen zur leichteren Ausführung ausgewählter einzelner Testprotokolle dienen; und
  • 3. ein Datenbus für die Verbindung des Masterkontrollers mit jedem einzelnen der integrierten Schaltkreise, wobei der Da­ tenbus so konfiguriert wird, um Daten und Kontrollsignale zwischen dem Masterkontroller und den integrierten Schalt­ kreisen zu übermitteln, und der Datenbus auch zur leichteren Ausführung des On-Chip-Debug-Protokolls dient.
2. Vorrichtung nach Anspruch 1, wobei die Testprotokolle be­ inhalten:
  • 1. Ein ausgewähltes JTAG-Testprotokoll, das zum Testen einer korrespondierenden JTAG-Funktion eines JIAG-tauglichen inte­ grierten Schaltkreises dient; und
  • 2. ein ausgewähltes OCDS-Testprotokoll, das dazu dient, eine korrespondierende OCDS-Funktion eines OCDS-integrierten Schaltkreises zu testen.
3. Vorrichtung nach Anspruch 1 oder 2, wobei der Masterkontroller beinhaltet:
  • 1. Einen JTAG-Kontroller, der mit dem Datenbus verbunden ist und so konfiguriert ist, um das JTAG-Testprotokoll auszufüh­ ren, das zu dem ausgewählten JTAG-tauglichen integrierten Schaltkreis, der getestet werden soll, gehört;
  • 2. einen OCDS-Kontroller, der mit dem Datenbus verbunden ist und so konfiguriert ist, um das OCDS-Testprotokoll auszufüh­ ren, wenn der integrierte Schaltkreis, der getestet werden soll, ein OCDS-integrierter Schaltkreis ist; und
  • 3. einen programmierbaren Schalterkontroller, der mit dem pro­ grammierbaren Schalter verbunden ist und so eingerichtet ist, um die Konfigurationsdaten zu nutzen, um ein Schaltkon­ trollsignal bereitzustellen, daß den programmierbaren Schal­ ter anweist, nach Bedarf die ausgewählten jeweiligen JTAG- tauglichen integrierten Schaltkreise, die getestet werden sollen, mit dem JTAG-Kontroller zu verbinden.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ferner ein untergeordnetes Zielbauteil vorhanden ist, das mit dem pro­ grammierbaren Schalter verbunden ist und zumindest einen der ausgewählten integrierten Schaltkreise aufweist.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, wobei das untergeordnete Zielbauteil eine gedruckte Leiterkar­ te ist.
6. Vorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß der Ma­ sterkontroller ein Multi-Masterkontroller ist, der die Funkti­ on hat, nahezu gleichzeitig eine Vielzahl von JTAG- Testprotokollen OCDS-Testprotokollen auszuführen sowie eine Vielzahl von Schalterkontrollsignalen an den programmierbaren Schalter bereitzustellen, um die ausgewählten integrierten Schaltkreise parallel zu testen.
7. Ein Testsystem zum Testen einer Vielzahl von integrierten Schaltkreisen, die jeweils mit einem zugehörigen Testprotokoll ausgestattet sind, wobei zumindest einer der integrierten Schaltkreise mit einer eingebetteten Debug-Schaltung versehen ist, zu der ein On-Chip-Debug-Protokoll gehört, wobei das Testsystem einen Gastcomputer umfaßt, der mit einer Vorrich­ tung nach einem der Ansprüche 1 bis 7 verbunden ist und der dazu dient, ausgewählte Testprotokolle nach Bedarf an den Ma­ sterkontroller bereitzustellen.
8. Testsystem nach Anspruch 7, wobei das untergeordnete Zielbauteil in einem Multi- Prozessorcomputersystem vorliegt.
DE19943941A 1998-10-30 1999-09-14 Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls Withdrawn DE19943941A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/183,620 US6425101B1 (en) 1998-10-30 1998-10-30 Programmable JTAG network architecture to support proprietary debug protocol

Publications (1)

Publication Number Publication Date
DE19943941A1 true DE19943941A1 (de) 2000-05-11

Family

ID=22673607

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19943941A Withdrawn DE19943941A1 (de) 1998-10-30 1999-09-14 Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls

Country Status (4)

Country Link
US (1) US6425101B1 (de)
JP (1) JP2000148528A (de)
DE (1) DE19943941A1 (de)
GB (1) GB2344430B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005041614A1 (de) * 2005-09-01 2007-03-08 Infineon Technologies Ag Halbleiter-Bauelement-Testsystem mit Test-Schnittstellen-Einrichtung
WO2022039831A1 (en) * 2020-08-19 2022-02-24 Siemens Industry Software Inc. High bandwidth ijtag through high speed parallel bus

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000073809A1 (en) * 1999-05-26 2000-12-07 Hitachi, Ltd. Semiconductor integrated circuit
US7287192B1 (en) * 1999-09-23 2007-10-23 Computer Associates Think, Inc. Identifying a failed device in a network
US6691266B1 (en) * 1999-10-15 2004-02-10 Triscend Corporation Bus mastering debugging system for integrated circuits
US6601200B1 (en) * 1999-11-24 2003-07-29 International Business Machines Corporation Integrated circuit with a VLSI chip control and monitor interface, and apparatus and method for performing operations on an integrated circuit using the same
US7072818B1 (en) * 1999-11-30 2006-07-04 Synplicity, Inc. Method and system for debugging an electronic system
US6931572B1 (en) 1999-11-30 2005-08-16 Synplicity, Inc. Design instrumentation circuitry
US6618839B1 (en) * 1999-11-30 2003-09-09 Synplicity, Inc. Method and system for providing an electronic system design with enhanced debugging capabilities
US7065481B2 (en) * 1999-11-30 2006-06-20 Synplicity, Inc. Method and system for debugging an electronic system using instrumentation circuitry and a logic analyzer
US7240303B1 (en) 1999-11-30 2007-07-03 Synplicity, Inc. Hardware/software co-debugging in a hardware description language
US20010034880A1 (en) * 2000-03-02 2001-10-25 Jonathan Dzoba Configurable debug system using source and data objects
US6950963B1 (en) * 2000-05-30 2005-09-27 Agere Systems Inc. Control method and apparatus for testing of multiple processor integrated circuits and other digital systems
US6857092B1 (en) 2000-08-17 2005-02-15 Xilinx, Inc. Method and apparatus to facilitate self-testing of a system on a chip
US6985980B1 (en) 2000-11-03 2006-01-10 Xilinx, Inc. Diagnostic scheme for programmable logic in a system on a chip
US6751751B1 (en) 2000-11-06 2004-06-15 Xilinx, Inc. Universal multi-bus breakpoint unit for a configurable system-on-chip
US6757846B1 (en) 2000-11-06 2004-06-29 Xilinx, Inc. Method and apparatus for multi-bus breakpoint stepping
US7222315B2 (en) * 2000-11-28 2007-05-22 Synplicity, Inc. Hardware-based HDL code coverage and design analysis
US6766486B2 (en) * 2000-12-05 2004-07-20 Intel Corporation Joint test action group (JTAG) tester, such as to test integrated circuits in parallel
JP3708493B2 (ja) * 2001-05-18 2005-10-19 株式会社ソニー・コンピュータエンタテインメント デバッグシステム、半導体集積回路、半導体集積回路のデバッグ方法、半導体集積回路のデバッグプログラム、及び半導体集積回路のデバッグプログラムを記録したコンピュータ読み取り可能な記録媒体
US7757029B2 (en) * 2001-10-17 2010-07-13 St-Ericsson Sa On the fly configuration of electronic device with attachable sub-modules
US6934898B1 (en) * 2001-11-30 2005-08-23 Koninklijke Philips Electronics N.V. Test circuit topology reconfiguration and utilization techniques
DE10213009A1 (de) * 2002-03-22 2003-10-09 Infineon Technologies Ag Verfahren zum elektronischen Testen von Speichermodulen
US20030212934A1 (en) * 2002-05-07 2003-11-13 David Bovitz Debug port for on-die dram
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US7058855B2 (en) * 2002-07-24 2006-06-06 Infineon Technologies Ag Emulation interface system
US7010722B2 (en) * 2002-09-27 2006-03-07 Texas Instruments Incorporated Embedded symmetric multiprocessor system debug
US20040064763A1 (en) * 2002-09-27 2004-04-01 Swoboda Gary L. Apparatus and method for a trace system on a chip having multiple processing units
JP2004164367A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp マルチプロセッサシステム
US20040158784A1 (en) * 2003-02-06 2004-08-12 Transwitch Corporation Microprocessor based self-diagnostic port
US20040193979A1 (en) * 2003-03-31 2004-09-30 Koninklijke Philips Electronics N.V. Circuit configurator arrangement and approach therefor
US7219278B2 (en) * 2003-03-31 2007-05-15 Nxp B.V. Configurator arrangement and approach therefor
US7454664B2 (en) * 2003-06-30 2008-11-18 International Business Machines Corporation JTAGchain bus switching and configuring device
US7878902B2 (en) * 2003-07-16 2011-02-01 Igt Secured verification of configuration data for field programmable gate array devices
US7076708B2 (en) 2003-09-25 2006-07-11 International Business Machines Corporation Method and apparatus for diagnosis and behavior modification of an embedded microcontroller
KR100514319B1 (ko) * 2003-12-02 2005-09-13 조상욱 시스템 온 칩의 테스트를 위한 코아 접속 스위치
US20050149783A1 (en) * 2003-12-11 2005-07-07 International Business Machines Corporation Methods and apparatus for testing an IC
EP1553495B1 (de) * 2004-01-06 2015-11-18 Infineon Technologies AG Programmgesteuerte Einheit
US7117274B2 (en) * 2004-03-05 2006-10-03 Koninklijke Philips Electronics N.V. Graphical user interface and approach therefor
KR100565685B1 (ko) 2004-07-23 2006-03-30 엘지전자 주식회사 Trace32 및 Multi-ICE와 호환되는 JTAG
US7818640B1 (en) * 2004-10-22 2010-10-19 Cypress Semiconductor Corporation Test system having a master/slave JTAG controller
KR100623279B1 (ko) * 2004-12-17 2006-09-14 한국전자통신연구원 내장형 시스템 디버깅 장치 및 방법
KR100697276B1 (ko) * 2005-01-04 2007-03-21 삼성전자주식회사 제이텍과 메모리를 조합한 이동통신 단말기의 아날로그베이스밴드 테스트 장치와 방법
US7492718B2 (en) * 2005-02-10 2009-02-17 Wind River Systems, Inc. Serial protocol controller that supports subroutine calls
US8205186B1 (en) 2005-04-11 2012-06-19 Synopsys, Inc. Incremental modification of instrumentation logic
US9104894B2 (en) * 2005-12-16 2015-08-11 Hewlett-Packard Development Company, L.P. Hardware enablement using an interface
US8078898B2 (en) 2007-06-07 2011-12-13 Texas Instruments Incorporated Synchronizing TAP controllers with sequence on TMS lead
US7743199B2 (en) * 2008-04-23 2010-06-22 International Business Machines Corporation Method and apparatus for obtaining trace information of multiple processors on an SoC using a segmented trace ring bus to enable a flexible trace output configuration
US8166146B2 (en) * 2008-09-29 2012-04-24 International Business Machines Corporation Providing improved message handling performance in computer systems utilizing shared network devices
US8195419B2 (en) * 2009-03-13 2012-06-05 Teradyne, Inc. General purpose protocol engine
CN101871995B (zh) * 2009-04-23 2013-01-02 华为技术有限公司 一种jtag连接控制装置及单板
JP2011242197A (ja) * 2010-05-17 2011-12-01 Nippon Eng Kk バーンインボード、バーンイン装置、及び、バーンインシステム
WO2012077704A1 (ja) 2010-12-07 2012-06-14 日本電気株式会社 デバッグスタブサーバ、デバッグ方法およびプログラム
JP2014127290A (ja) * 2012-12-26 2014-07-07 Yazaki Corp 圧着端子付きアルミ電線及びその製造方法
CN106664812B (zh) 2014-06-23 2019-07-23 Z格鲁公司 用于产生模块化堆叠式集成电路的系统及方法
CN104569794B (zh) * 2014-12-31 2017-08-25 北京时代民芯科技有限公司 一种基于边界扫描结构的fpga在线测试仪及测试方法
US11105850B2 (en) * 2018-05-24 2021-08-31 Seagate Technology Llc Secure debug system for electronic devices
JP7482617B2 (ja) * 2019-11-14 2024-05-14 エスペック株式会社 検査装置、検査システム、及び検査方法
JP7474672B2 (ja) * 2020-10-01 2024-04-25 エスペック株式会社 検査装置、検査システム、及び検査方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860290A (en) 1987-06-02 1989-08-22 Texas Instruments Incorporated Logic circuit having individually testable logic modules
JP2627464B2 (ja) * 1990-03-29 1997-07-09 三菱電機株式会社 集積回路装置
US5301284A (en) * 1991-01-16 1994-04-05 Walker-Estes Corporation Mixed-resolution, N-dimensional object space method and apparatus
JP2741119B2 (ja) * 1991-09-17 1998-04-15 三菱電機株式会社 バイパススキャンパスおよびそれを用いた集積回路装置
GB2276010B (en) 1993-03-03 1997-01-22 Gec Ferranti Defence Syst Electrical circuit
DE4340899A1 (de) 1993-12-01 1995-06-08 Philips Patentverwaltung Meßvorrichtung zum Testen der Verbindungen zwischen wenigstens zwei Baugruppen
US5636227A (en) * 1994-07-08 1997-06-03 Advanced Risc Machines Limited Integrated circuit test mechansim and method
EP0735478A1 (de) 1995-03-31 1996-10-02 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Variables konfigurierbares Datenverarbeitungssystem mit Vorrichtung zur automatischen Verbindungskonfiguration und Umgebung serieller Testschnittstelle
FR2737782B1 (fr) * 1995-08-11 1997-10-31 Deroux Dauphin Patrice Systeme electronique testable
DE69606129T3 (de) * 1995-10-13 2015-03-05 Jtag Technologies B.V. Verfahren und Tester zur Beaufschlagung eines elektronischen Bausteins mit einem Triggerimpuls
US5862152A (en) * 1995-11-13 1999-01-19 Motorola, Inc. Hierarchically managed boundary-scan testable module and method
US5828824A (en) * 1996-12-16 1998-10-27 Texas Instruments Incorporated Method for debugging an integrated circuit using extended operating modes
US5878051A (en) * 1997-02-05 1999-03-02 Lockheed Martin Corp. Assembly-level bist using field-programmable gate array
US6115763A (en) * 1998-03-05 2000-09-05 International Business Machines Corporation Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005041614A1 (de) * 2005-09-01 2007-03-08 Infineon Technologies Ag Halbleiter-Bauelement-Testsystem mit Test-Schnittstellen-Einrichtung
US7895486B2 (en) 2005-09-01 2011-02-22 Infineon Technologies Ag Semiconductor device test system with test interface means
US8185788B2 (en) 2005-09-01 2012-05-22 Infineon Technologies Ag Semiconductor device test system with test interface means
US8555122B2 (en) 2005-09-01 2013-10-08 Infineon Technologies Ag Interface device and method
DE102005041614B4 (de) * 2005-09-01 2014-11-06 Infineon Technologies Ag Halbleiter-Bauelement-Testsystem mit Test-Schnittstellen-Einrichtung
WO2022039831A1 (en) * 2020-08-19 2022-02-24 Siemens Industry Software Inc. High bandwidth ijtag through high speed parallel bus
US12314207B2 (en) 2020-08-19 2025-05-27 Siemens Industry Software Inc. High bandwidth IJTAG through high speed parallel bus

Also Published As

Publication number Publication date
GB2344430B (en) 2003-05-07
GB9925586D0 (en) 1999-12-29
US6425101B1 (en) 2002-07-23
JP2000148528A (ja) 2000-05-30
GB2344430A (en) 2000-06-07

Similar Documents

Publication Publication Date Title
DE19943941A1 (de) Programmierbare JTAG-Netzwerkarchitektur zum Unterstützen eines proprietären Debug-Protokolls
DE3903835C2 (de)
DE60218498T2 (de) Elektronisches gerät
DE602004003475T2 (de) Testen von integrierten schaltungen
DE69915377T2 (de) Auf-chip fehlersuchsystem
DE69107463T2 (de) Integrierte Schaltung, System und Verfahren zur Fehlererzeugung.
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE602004007503T2 (de) REKONFIGURIERBARE ARCHITEKTUR FÜR SOCs
DE69226001T2 (de) Hochgeschwindigkeitsprüfung einer integrierten Schaltung mit JTAG
DE60023882T2 (de) System auf einem Chip mit reprogrammierbarem Testgerät, Fehlerbeseitiger und Busüberwachung
DE69019402T2 (de) Prüfverfahren und -gerät für integrierte Schaltungen.
DE10196310B4 (de) Vorrichtung und Verfahren zum Verifizieren eines Chip-Designs und zum Testen eines Chips
DE69615187T2 (de) Parallele prüfung eines cpu-cachespeichers sowie befehlseinheit
DE60220511T2 (de) Verfahren und system zur optimierung der testkosten und deaktivierungsdefekte für scan- und bist-speicher
DE69430637T2 (de) Vorrichtung und verfahren zum testen von integrierten schaltkreisen
DE102004009693A1 (de) Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests
DE3702408C2 (de)
DE19947603A1 (de) Vorrichtung und Verfahren zum Testen eines Mikroprozessors mit einem platinen-eigenen Testvektorgenerator
DE68927984T2 (de) Logikschaltung mit einer Prüffunktion
DE10339940A1 (de) System und Verfahren zum heterogenen Mehrstellentesten
DE19952262A1 (de) Schaltungssystem und Verfahren zum Prüfen von Mikroprozessoren
DE10393176T5 (de) Verfahren zum Evaluieren eines kernbasierten Systems auf einem Chip
DE60306164T2 (de) Verfahren und kontrolllogik zum ansteuern von mehreren taps (test access ports) über einen einzigen tap
DE69720157T2 (de) System und Verfahren zur Prüfung elektronischer Geräte
DE19903606B4 (de) Halbleiteranordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: INFINEON TECHNOLOGIES NORTH AMERICA CORP. (N.D, US

8139 Disposal/non-payment of the annual fee