-
HINTERGRUND
DER ERFINDUNG Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft Verbesserungen beim Testen von integrierten
Schaltungen. Speziell betrifft die Erfindung ein Verfahren und eine Vorrichtung
zum Testen einer Megazelle innerhalb einer anwendungsspezifischen
integrierten Schaltung "ASIC" auf Chipebene.
-
Beschreibung
des Stands der Technik
-
Die
zunehmende Komplexität
von Schaltungsentwürfen
und neuen Kapselungstechniken für integrierte
Schaltungen führen
zu einem immer größer werdenden
Problem des Testens von integrierten Schaltungen und Leiterplatten.
Das Software-Testen von digitaler Hardware wird ständig verbessert,
aber die Komplexität
der Schaltungen erschwert das Testen, wenn die Komponenten nicht
von vornherein im Hinblick auf Testfähigkeit entworfen werden.
-
Die
EP-Patentveröffentlichung
Nr. 0 549 130 zeigt ein Beispiel der Anwendung einer teilabtastenden
eingebauten Selbsttesttechnik für
das Testen von Schaltkreisen. Ein anderes Verfahren zum Testen von
Schaltungen, das viel Aufmerksamkeit erfahren hat, ist der IEEE
1148.1 Boundary-Scanned Standard, der von der International Joint
Tests Action Group bzw. JTAG entwickelt wurde. Eine Realisierung
dieses Standards umfaßt
das Entwerfen von Bauelementen (z. B. von integrierten Schaltungen) zum
seriellen grenzabtastenden Testen durch Vorsehen von Schieberegisterelementen,
die in Kaskade geschaltet sind, um einen Pfad um den Rand einer
integrierten Schaltungskomponente herum zu bilden. Der Gedanke hinter
dem seriellen Testen besteht im Verschieben von seriellen Daten
in und durch eine Reihe von integrierten Schaltungskomponenten.
Die seriellen Daten werden Eingängen
bekannter Schaltkreise zugeführt,
um Ausgangssignale zu bewirken, die durch die Schaltungsfunktionen
bestimmt sind. Eine Mastertestschaltung vergleicht die Rückdaten mit
einem erwarteten Resultat (d. h. einem Resultat, das von den Funktionen
der bekannten Schalkreise abhängig
ist). Anders ausgedrückt:
Die seriellen Dateneingänge,
die der zu prüfenden
Schaltung zugeführt
werden, erzeugen bekannte Ausgänge,
wenn die Schaltung ordnungsgemäß funktioniert.
Wenn der zu der Mastertestschaltung rückgeführte Datenstrom nicht den Erwartungen
entspricht, wird von der Testschaltung eine Fehlfunktion in der
Schaltung detektiert. Eine sorgfältige
Analyse (unter Softwaresteuerung) der Abweichungen in dem Datenstrom kann
etwaige Fehlfunktionen innerhalb einer Schaltung isolieren.
-
Das
Grenzabtast-Testen von Bauelementen, wie es oben kurz erläutert wurde,
kann auch auf das Testen einer höchstintegrierten
Schaltung bzw. VLSI wie etwa einer ASIC ausgedehnt werden. Eine
ASIC weist eine interne Logikschaltung auf, die normalerweise über die
an dem IC-Gehäuse
vorgesehenen Ausgangsstifte nicht zugänglich ist. Eine solche interne
Logikschaltung innerhalb der ASIC wird typischerweise vom Hersteller
als Modul mit definierten Eingängen
und Ausgängen
geliefert und gewöhnlich
als Megazelle bezeichnet. Bei manchen Leiterplatten sind die Testeingänge und
-ausgänge
für die
vom Hersteller gelieferte Megazelle innerhalb der ASIC mit bestimmten
Kontaktstiften an dem IC-Gehäuse verbunden,
so daß die
Megazelle für
Testzwecke vom Hersteller über
externe Anschlußstifte
an dem IC-Gehäuse
zugänglich
ist. Die Extra-Anschlußstifte, die
notwendig sind, um die Zelle zu testen, sind aber typischerweise
während
der normalen Implementierung und Operation der IC nutzlos. Ferner
verlangen die zusätzlichen
Test-Anschlußstifte
manchmal vom Hersteller, daß das
IC-Gehäuse
wegen der erhöhten Anzahl
von Anschlußstiften
auf die nächstgrößere Chipgröße und/oder
Gehäusegröße vergrößert wird. Somit
nimmt das IC-Gehäuse
zusätzlichen
Leiterplattenplatz ein, und die Kosten steigen, weil ein größerer Chip
im allgemeinen teurer ist.
-
Die
Standard-JTAG-Spezifikation erlaubt ferner, daß eine Megazelle innerhalb
einer ASIC intern mit JTAG-Zellen umgeben ist. Der Gebrauch dieser Testarchitektur
ist jedoch mit der Weise inkompatibel, wie ein Verkäufer typischerweise
vom Hersteller gelieferte Megazellen testet. Dabei haben Megazellen-Hersteller
im allgemeinen einen Standardtest für ihre Megazellen. Die Standardtestvektoren
und Testverfahren, die vom Hersteller bereitgestellt werden, um
eine Megazelle zu testen, sind zwar hinreichend flexibel, um eine
alternierende Kontaktstiftordnung zu erlauben, wenn die Megazellen
getestet werden, es ist jedoch vom Kostenstandpunkt für einen
Hersteller nicht möglich,
die Funktionalität
des Standardtests zu ändern.
Beispielsweise kann ein Hersteller-Standardtest seriell durch den
JTAG-Port geladen und parallel an die Megazelle angelegt werden,
die Kosten hierfür
wären jedoch
nicht tragbar, weil dadurch die Testdauer um die zweifache Länge der
JTAG-Kette vervielfacht würde.
-
Wie
oben bereits erwähnt
wurde, zeigt EP-A-0 549 130 ein Verfahren zum Testen einer integrierten
Schaltung unter Anwendung eines eingebauten Teilabtast-Selbsttestverfahrens.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird eine JTAG-Schnittstelle verwendet,
um einen kundenspezifischen JTAG-Befehl zu laden, der anstelle der
normalen Signale, die an den Ausgangsanschlußstiften zum Gebrauch durch
den Hersteller der ASIC für
das Testen von dessen Chipebene dieser ASIC bereitgestellt werden,
die Testeingänge
und -ausgänge
für eine
vom Hersteller gelieferte Megazelle innerhalb einer ASIC an die
Ausgangsanschlußstifte
bringt. Somit sind zum Testen der Zelle keine Extraanschlußstifte
notwendig. Dadurch werden Anschlußstifte eingespart, und der
Hersteller braucht nicht die nächst
größere Chipgröße und/oder Gehäusegröße wegen
zusätzlicher
Testanschlußstifte
zu verwenden. Dadurch wird Leiterplattenplatz verringert, und die
Kosten werden gesenkt, weil die kleinere Chipgröße im allgemeinen billiger
ist. Die JTAG-Schnittstelle wird nicht auf die beabsichtigte Weise
verwendet (d. h. als die einzige Schnittstelle zum Tester). Statt
dessen wird sie benutzt, um die ASIC in einen Testmodus zu bringen,
der es ermöglicht,
daß ein
Standard-Megazellentest
des Herstellers läuft,
ohne daß neue
Anschlußstifte
hinzukommen.
-
Nach
einem Aspekt ist die vorliegende Erfindung ein System, das eine
verringerte Anzahl von externen Anschlußstiften an einem integrierten
Schaltungsbaustein bzw. IC-Baustein, der JTAG-Testfähigkeit
hat, vorsieht. Das System weist kundenspezifische digitale Logikschaltkreise
auf, die in dem IC-Baustein
gebildet sind. Die kundenspezifische digitale Logikschaltung hat
Eingänge
und Ausgänge. Das
System weist ferner ein standardisiertes Megazellenmodul auf, das
selbständige
Funktionalität
hat und innerhalb des IC-Bausteins
gebildet und in den Baustein so eingebunden ist, daß es gemeinsam
mit der kundenspezifischen digitalen Logikschaltung kommuniziert
und wirksam ist. Das Megazellenmodul hat Testeingänge und
Testausgänge,
die dazu dienen, die Funktionalität des Megazellenmoduls zu testen.
Das System weist ferner ein JTAG-Grenzabtast-Datenregister mit Ausgängen auf,
das einen Testvektor speichert, der dazu dient, die Integrität von Eingängen und
Ausgängen
des IC-Bausteins
zu testen. Außerdem
weist das System ferner auf: einen ersten Wählschaltkreis, der erste Eingänge hat,
die mit mindestens einem von den Ausgängen des Datentestregisters
und mindestens einem von den Testausgängen des Megazellenmoduls verbunden
sind, wobei der erste Wählschaltkreis
ferner ein erstes Wähleingangssignal
empfängt
und auf der Basis des ersten Wähleingangssignals
eines von den ersten Eingangssignalen als ein Ausgangssignal abgibt;
einen zweiten Wählschaltkreis,
der zweite Eingänge hat,
die mit dem Ausgang des ersten Wählschaltkreises
und mit mindestens einem von den Ausgängen der kundenspezifischen
digitalen Logikschaltkreise verbunden sind, wobei der zweite Wählschaltkreis ferner
ein zweites Wähleingangssignal
empfängt
und auf der Basis des zweiten Wähleingangssignals
eines von den zweiten Eingangssignalen als ein Ausgangssignal abgibt.
Das System der Erfindung weist zusätzlich ein JTAG-Befehlsregister auf,
das Befehlsbits speichert, wobei die Befehlsbits dazu dienen, das erste
Wähleingangssignal
zu dem ersten Wählschaltkreis
und das zweite Wähleingangssignal
zu dem zweiten Wählschaltkreis
zu bestimmen. Schließlich weist
das System eine Vielzahl von externen Anschlußstiften auf, die als Ausgänge des
zweiten Wählschaltkreises
so angeschlossen sind, daß die Testausgangssignale
des Megazellenmoduls an den externen Anschlußstiften erscheinen, wenn das
Befehlsregister so eingestellt ist, daß der erste und der zweite
Wählschaltkreis
dazu veranlaßt
werden, die Megazellenmodul-Testeingangs-
und -ausgangssignale zu den externen Anschlußstiften weiterzuleiten.
-
Nach
einem weiteren Aspekt ist die Erfindung ein Verfahren zum Testen
einer Megazelle innerhalb einer integrierten Schaltung, die die
Megazelle als integrales Schaltungsbauelement innerhalb der integrierten
Schaltung hat. Die Megazelle hat mindestens ein Testausgangssignal,
das beim Betrieb der integrierten Schaltung keine Verbindung außerhalb
der integrierten Schaltung hat. Die integrierte Schaltung hat eine
Vielzahl von Signalen, die während
des Betriebs der integrierten Schaltung als Ausgangssignale an jeweiligen
Anschlußstiften
der integrierten Schaltung erscheinen. Das Verfahren weist auf:
Anlegen eines seriellen Befehls an die integrierte Schaltung über einen
JTAG-Eingangsanschlußstift, um
die integrierte Schaltung in einen vorbestimmten Testmodus zu bringen;
selektives Unwirksammachen von einem von der Vielzahl von Ausgangssignalen von
einem jeweiligen ersten Anschlußstift
der integrierten Schaltung; selektives Leiten eines Testausgangssignals
von der Megazelle zu dem jeweiligen ersten Anschlußstift des
unwirksam gemachten Ausgangssignals; Anlegen eines Testeingangssignals
an die Megazelle über
einen zweiten Anschlußstift
der integrierten Schaltung, um die Megazelle zu stimulieren, einen
Testvorgang auszuführen;
und Überwachen
des Testausgangssignals der Megazelle an dem entsprechenden ersten
Anschlußstift
der integrierten Schaltung.
-
Die
vorliegende Erfindung ist durch die Patentansprüche 1 bis 6 definiert, die
sich auf ein System und ein Verfahren zum Testen einer standardisierten
Megazelle beziehen, die selbständige
Funktionalität
hat und innerhalb einer IC gebildet ist, die JTAG-Testfähigkeit
besitzt. Die Patentansprüche
1 bis 5 betreffen ein System, das folgendes aufweist: kundenspezifische
digitale Logikschaltkreise, die in der IC gebildet sind, wobei die
kundenspezifischen digitalen Logikschaltkreise Eingänge und
Ausgänge haben;
ein standardisiertes Megazellenmodul, das selbständige Funktionalität hat und
in der IC gebildet und in die Baugruppe der IC so eingebunden ist,
daß es
gemeinsam mit den kundenspezifischen digitalen Logikschaltkreisen
kommuniziert und wirksam ist, wobei das Megazellenmodul Testeingänge und
Testausgänge
hat, die dazu dienen, die Funktionalität des Megazellenmoduls zu testen;
ein JTAG-Grenzabtast-Datenregister,
das einen Testvektor speichert, der dazu dient, die Integrität von Eingängen und
Ausgängen
der IC-Baugruppe zu testen, wobei das Grenzabtast-Datenregister
Ausgänge
hat; einen ersten Wählschaltkreis,
der erste Eingänge
hat, die mit mindestens einem von den Ausgängen des Grenzabtast-Datenregisters und
mindestens einem von den Testausgängen des Megazellenmoduls verbunden sind,
wobei der erste Wählschaltkreis
ferner ein erstes Wähleingangssignal
empfängt
und auf der Basis des ersten Wähleingangssignals
eines von den ersten Eingangssignalen als ein Ausgangssignal abgibt; einen
zweiten Wählschaltkreis,
der zweite Eingänge hat,
die mit dem Ausgang des ersten Wählschaltkreises
und mit mindestens einem von den Ausgängen der kundenspezifischen
digitalen Logikschaltkreise verbunden sind, wobei der zweite Wählschaltkreis ferner
ein zweites Wähleingangssignal
empfängt
und auf der Basis des zweiten Wähleingangssignals
eines von den zweiten Eingangssignalen als ein Ausgangssignal abgibt;
ein JTAG-Befehlsregister, das Befehlsbits speichert, wobei die Befehlsbits
und der JTAG-TAP-Zustand dazu dienen, das erste Wähleingangssignal
zu dem ersten Wählschaltkreis
und das zweite Wähleingangssignal
zu dem zweiten Wählschaltkreis
zu bestimmen; und eine Vielzahl von externen Anschlußstiften,
die als Ausgänge
des zweiten Wählschaltkreises
so angeschlossen sind, daß die
Testausgangssignale des Megazellenmoduls an den externen Anschlußstiften
erscheinen, wenn das Befehlsregister und der TAP-Zustand so eingestellt sind,
daß der
erste und der zweite Wählschaltkreis dazu
veranlaßt
werden, die Megazellenmodul-Testausgangssignale
zu den externen Anschlußstiften weiterzuleiten.
-
Patentanspruch
6 betrifft ein Verfahren zum Testen einer standardisierten Megazelle,
die selbständige
Funktionalität
hat, in einer integrierten Schaltung, die die Megazelle als eine
integrale Schaltkreiskomponente innerhalb der integrierten Schaltung
hat, wobei die Megazelle mindestens ein Eingangs- oder Ausgangssignal
hat, das bei Normalbetrieb der integrierten Schaltung keine Verbindung außerhalb
der integrierten Schaltung hat, wobei die integrierte Schaltung
eine Vielzahl von Signalen hat, die während des Betriebs der integrierten
Schaltung als Eingangs- und/oder Ausgangssignale an jeweiligen Anschlußstiften
der integrierten Schaltung erscheinen, wobei die integrierte Schaltung
ferner folgendes hat: ein JTAG-Grenzabtast-Datenregister, das einen
Testvektor speichert, der dazu dient, die Integrität von Eingängen und
Ausgängen
der integrierten Schaltung zu testen, und ein JTAG-Befehlsregister,
das Befehlsbits speichert, wobei das Verfahren die folgenden Schritte
aufweist: Anlegen eines seriellen Befehls an die integrierte Schaltung über einen JTAG-Eingangsanschlußstift,
um die integrierte Schaltung in einen vorbestimmten Megazellen-Testmodus
zu bringen; selektives Unwirksammachen von einem der Vielzahl von
Ausgangssignalen von einem jeweiligen ersten Anschlußstift der
integrierten Schaltung; selektives Leiten eines Testausgangssignals von
der Megazelle zu dem jeweiligen ersten Anschlußstift des unwirksam gemachten
Ausgangssignals; Anlegen eines Testeingangssignals an die Megazelle über einen
zweiten Anschlußstift
der integrierten Schaltung, um die Megazelle zu stimulieren, einen
Testvorgang auszuführen;
und Überwachen des
Testausgangssignals der Megazelle an dem entsprechenden ersten Anschlußstift der
integrierten Schaltung.
-
Kurze Beschreibung der
Zeichnungen
-
1 ist ein schematisches
Blockbild, das die Konfiguration einer JTAG-Testschaltung zeigt;
-
2 ist ein schematisches
Blockbild, das eine IC-Schaltung zeigt, die eine Megazelle hat,
wobei Testeingangs-/-ausgangsanschlüsse mit externen Anschlußstiften
der IC verbunden sind;
-
3 ist ein Zustandsdiagramm,
das die Operation der TAP-Steuerschaltung zeigt, die zur Steuerung
der JTAG-Testschaltung verwendet wird;
-
4 ist ein schematisches
Blockbild, das eine verbessertes JTAG-Testschaltung zeigt, die eine Verbindung
mit einer internen Megazelle mit einem externen Anschlußstift herstellt.
-
Genaue Beschreibung
der Erfindung
-
1 ist ein schematisches
Blockbild, das einen integrierten Schaltungs- bzw. IC-Chip 100 zeigt,
der zum Testen unter Verwendung eines seriellen Grenzabtast-Kaskaden-Testsystems
JTAG IEEE 1149.1 konfiguriert ist. Das in 1 gezeigte beispielhafte JTAG-System
weist auf: einen Master-Zeichengenerator/Vergleicher 102,
der ein Daten-/Befehlssignal über
eine Leitung 105, ein Modussignal über eine Leitung 107 und
ein Taktsignal über
eine Leitung 109 abgibt. Es versteht sich, daß gemäß der herkömmlichen
Terminologie die Daten-/Befehlssignalleitung 105 auch als
die TDI-Signalleitung, die Modussignalleitung 107 als die
TMS-Signalleitung und die Taktsignalleitung 109 als die
TCK-Signalleitung bezeichnet werden. Die Ausgangsleitungen 105, 107 und 109 des
Zeichengenerators/Vergleichers 102 sind mit externen Eingangsanschlußstiften
verbunden, die von der IC 100 ausgehen, so daß eine TAP-Ablaufsteuereinheit 110 innerhalb
der IC 100 die Signale über
die Leitungen 105, 107 und 109 empfängt.
-
Die
TAP-Ablaufsteuereinheit 110 ist mit einem Datenschieberegister 115 über eine
serielle Datenleitung 117 und eine Taktfreigabeleitung 119 verbunden.
Die TAP-Ablaufsteuereinheit 110 ist ferner mit einem Befehlsschieberegister 120 über eine
serielle Befehlsleitung 122 und eine Taktfreigabeleitung 124 verbunden.
Es wird hier darauf hingewiesen, daß die TDI-Leitung 105,
die serielle Datenleitung 117 und die serielle Befehlsleitung 122 typischerweise mit
einem gemeinsamen Knoten verbunden sind und die Leitungen 105, 117 und 122 sich
nur dadurch unterscheiden, daß sie
als Daten, Befehle oder beides führend
angesehen werden.
-
Das
Datenschieberegister 115 ist mit einem Datenspeicherregister 130 parallelgeschaltet,
während
das Befehlsschieberegister 120 mit einem Befehlsspeicherregister 140 parallelgeschaltet
ist. Jeder der Bitspeicherplätze
innerhalb des Datenspeicherrregisters 130 ist mit einem
ersten Eingang eines Multiplexers innerhalb der IC 100 verbunden.
Wie 1 zeigt, ist beispielsweise
einer der Speicherplätze
des Datenspeicherregisters 130 mit einem ersten Eingang
eines 2 : 1-Multiplexers 145 über eine Leitung 147 verbunden.
Ebenso ist jeder der Speicherplätze
innerhalb des Datenspeicherregisters 130 mit einem Eingang
eines Multiplexers innerhalb der IC 100 verbunden; der
Einfachheit halber ist in 1 jedoch
nur ein Multiplexer 145 in Verbindung mit dem Datenspeicherregister 130 dargestellt.
-
Das
Befehlsspeicherregister 140 ist mit einem Decoder 150 parallelgeschaltet,
der dazu dient, die in dem Befehlsspeicherregister 140 gespeicherten
Befehle zu decodieren. Der Decoder 150 liefert an jeden
der JTAG-Multiplexer innerhalb der IC 100 (d. h. an die
Multiplexer, die dazu dienen, JTAG-Zwangsausgangspegel zu liefern)
Wählausgangssignale.
Ebenfalls der Einfachheit halber liefert jedoch der in 1 gezeigte Decoder 150 nur
ein einziges Wählausgangssignal
an den Multiplexer 145 auf einer Leitung 152.
-
Ein
zweiter Eingang des Multiplexers 145 ist mit der normalen
integrierten Schaltung 160 innerhalb der IC 100 über eine
Leitung 162 verbunden. Die normale integrierte Schaltung 160 innerhalb
der IC 100 ist die Schaltung, die die bestimmten Funktionen ausführt, die
die IC 100 im Normalbetrieb ausführt (also wenn die IC 100 nicht
getestet wird). Der Ausgang eines Multiplexers 145 ist
mit einem Ausgangsanschlußstift
an der Oberfläche
der IC 100 über
eine Leitung 165 verbunden.
-
Das
Datenschieberegister 114 und das Befehlsschieberegister 120 haben
jeweils serielle Daten- und Befehlsleitungen 172, 174 als
erste und zweite Eingänge
zu einem 2 : 1-Multiplexer 170, der wiederum eine serielle
Datenrückleitung 175 zu
dem Mustergenerator/Vergleicher 102 hat.
-
Im
Betrieb erzeugt der Mustergenerator/Vergleicher 102 ein
Muster von Daten und/oder Befehlen (typischerweise als Testvektor
bezeichnet), die seriell über die
Leitung 105 zu der TAP-Ablaufsteuereinheit 110 übertragen
werden. Der Mustergenerator/Vergleicher 102 liefert ferner
ein Modus- und ein Taktsignal an die TAP-Ablaufsteuereinheit 110 über die
Leitungen 107 bzw. 109. Wie noch im einzelnen
unter Bezugnahme auf 3 beschrieben
wird, reagiert die TAP-Ablaufsteuereinheit 110 auf
die Modus- und Taktsignale und verschiebt die Daten oder Befehle, die
auf Leitung 105 vorhanden sind, entweder in das Datenschieberegister 115 (wenn
Daten auf der Leitung 105 vorhanden sind) oder in das Befehlsschieberegister 120 (wenn
Befehle auf der Leitung 105 vorhanden sind). Die Daten,
die in das Datenschieberegister 150 verschoben werden,
und die Befehle, die in das Befehlsschieberegister 120 verschoben
werden, werden seriell in ihre jeweiligen Schieberegister 115, 120 unter
Steuerung durch die TAP-Ablaufsteuereinheit 110 getaktet.
Wenn also beispielsweise 70 Datenbits in das Datenschieberegister 115 zu
verschieben sind und 30 Befehlsbits in das Befehlsschieberegister 120 zu
verschieben sind, dauert es insgesamt 100 Taktzyklen, um alle Daten-
und Befehlsbits in ihre jeweiligen Schieberegister zu verschieben.
Wie noch im einzelnen beschrieben wird, sind natürlich zusätzliche Taktzyklen notwendig,
um Daten von dem Mustergenerator/Vergleicher 102 in die
TAP-Ablaufsteuereinheit 110 zu übertragen und den Modus der
TAP-Ablaufsteuereinheit 110 so zu ändern, daß die TAP-Ablaufsteuereinheit 110 die richtigen
Steuersignale auf den Taktfreigabeleitungen 119, 124 bereitstellt.
-
Nachdem
die geeigneten Daten zum Testen der bezeichneten Eingänge und
Ausgänge
der IC 100 in die Schieberegister 115, 120 verschoben
sind, führen
die Schieberegister 115 und 120 das parallele Zwischenspeichern
der Daten und Befehle, die in den Schieberegistern 115, 120 enthalten
sind, in die jeweiligen Speicherregister 130, 140 aus.
Die in das Register 140 eingespeicherten Befehle werden
von dem Decoder 150 decodiert, um den entsprechenden Ausgang
des Multiplexers 145 sowie alle weiteren JTAG-Multiplexer
(nicht gezeigt) innerhalb der IC 100 zu wählen. Wie
oben kurz beschrieben wurde, empfängt jeder der JTAG-Multiplexer
(z. B. der Multiplexer 145 in 1) ein JTAG-Eingangssignal, das mit dem
Datenspeicherregister 130 verbunden ist. Beispielsweise
wird also der Multiplexer 145 von dem Decoder 150 über die
Leitung 152 aktiviert und wählt den Eingang 147,
der eine Verbindung mit einem Speicherplatz in dem Register 130 herstellt.
Somit wird der Ausgang 165 des Multiplexers 145 zwangsweise
mit dem im Register 130 gespeicherten Bitwert verbunden.
Auf diese Weise können
die Ausgangsverbindungen der IC 100 über die Leitung 165 auf Fehler
getestet werden. Wenn beispielsweise der Speicherplatz, der mit
dem Multiplexer 145 über
die Leitung 147 verbunden ist, ein Bit mit hohem Spannungspegel
enthält
(d. h. entsprechend einer digitalen 1), dann sollte das Ausgangssignal
des Multiplexers 145 auf der Leitung 165 am Ausgangsanschlußstift der
IC 100 als eine digitale 1 detektiert werden. Wenn dieser
Ausgangsanschlußstift
keine digitale 1 erzeugt, erkennt die Testschaltung, mit der die
IC 100 verbunden ist, einen Fehler, so daß die IC 100 als fehlerhaft
bezeichnet werden kann. Dieser Test wird für jeden der Eingänge und
Ausgänge
ausgeführt,
die von dem Decoder 150 in Abhängigkeit von den Befehlen,
die von dem Mustergenerator/Vergleicher 102 geladen wurden,
bezeichnet sind.
-
Es
ist selbstverständlich,
wenn auch in 1 nicht
dargestellt, daß eine
Vielzahl von ICs in Reihe in einer Kaskadenkonfiguration so verbunden
sein können,
daß der
Mustergenerator/Vergleicher 102 Daten und Befehle für eine Vielzahl
von ICs gleichzeitig einschieben kann. Daher weist die IC 100 einen Multiplexer 170 auf,
der die Daten, die das Register 115 durchlaufen, oder die
Befehle, die das Register 120 durchlaufen, selektiv über die
Leitungen 172 oder 174 unter Steuerung durch die
TAP-Ablaufsteuereinheit 110 selektiv ausschiebt. Schließlich werden die
von der letzten IC ausgegebenen Daten über die serielle Rückleitung 175 zurück zu dem
Mustergenerator/Vergleicher 102 übertragen.
-
2 ist ein schematisches
Blockbild, das eine IC 200 zeigt, die eine vom Hersteller
gelieferte Megazelle 210 zusätzlich zu normalen integrierten Schaltkreisen 220 zeigt.
Die Megazelle 210 wirkt als eine Funktionseinheit innerhalb
der IC 200, die über Leitungen 225 Eingangssignale
von den normalen Schaltkreisen 220 empfängt und diesen Eingangssignale
zuführt.
-
Die
vom Hersteller gelieferte Megazelle 210 unterscheidet sich
von den normalen Schaltkreisen 220 dadurch, daß die vom
Hersteller gelieferte Megazelle 210 eine standardisierte
Konstruktion und Funktion hat, die vom Hersteller vorgesehen ist,
wogegen die normalen Schaltkreise von einem ASIC-Designer kundenspezifisch
entworfen sind. Somit hat das Megazellenmodul eine selbständige Funktionalität (d. h. die
Megazelle könnte
verwendet werden, um die gleiche Funktion in vielen verschiedenen
sie umgebenden Schaltungskonfigurationen ausführen, so daß diese Funktionalität von den
anderen Schaltkreisen innerhalb der IC 200 im wesentlichen
unabhängig ist).
Ferner wird typischerweise eine separate Menge von Testvektoren
verwendet, die von denjenigen verschieden sind, die zum Testen der
Gesamt-IC 200 verwendet werden, um die Funktionalität der Megazelle 210 separat
zu testen.
-
Beispielsweise
verwendet ein ASIC-Designer funktionelle Standardlogikblöcke wie
etwa UARTS, Phasenregelschleifen usw. als Teil des ASIC-Entwurfs.
Ein ASIC-Hersteller liefert die Struktur für diese funktionellen Standardlogikblöcke, die der
ASIC-Designer in eine kundenspezifische ASIC einbaut. Diese funktionellen
Standardlogikblöcke werden
als Megazellen bezeichnet, und der Megazellen-Hersteller liefert
typischerweise Testvektoren, die vom Chiphersteller während des
Herstellungsverfahrens genutzt werden, um die Megazelle innerhalb der
ASIC zu testen. Typischerweise kann die ASIC als Gesamteinheit getestet
werden, wenn jedoch in der Gesamteinheit Fehlfunktionen entdeckt
werden, ist es schwierig festzustellen, ob die Fehlfunktionen auf
kundenspezifische Schaltkreise zurückgehen, deren Struktur vom
ASIC-Designer bereitgestellt wird, oder auf die vom Zellenhersteller
gelieferten Megazellenschaltungen zurückgehen. Außerdem braucht der ASIC-Designer
sich nicht die Arbeit zu machen, die Megazelle intensiv zu testen,
weil dieses Testen über
die vom Hersteller bereitgestellten Tests erfolgt.
-
Um
jedoch eine Megazelle wie etwa die Megazelle 210 in 2 zu testen, erfordern Testausgänge von
der Megazelle 210 eine Vielzahl von Ausgangsanschlußstiften 234 an
der äußeren Oberfläche der
ASIC 200. Die vom Hersteller gelieferten Testvektoren werden
den Testeingängen 230 zugeführt, und
das resultierende Muster an den Testausgängen 235 wird gemessen,
um festzustellen, ob die Megazelle richtig funktioniert. Das Testen
der Funktionalität der
Megazelle erfolgt typischerweise in der Chipfabrik (d. h. als Test
nach der Fertigstellung), ist aber nicht erforderlich, nachdem der
Chip sich im normalen Betriebsgebrauch befindet. So werden beispielsweise
nur die Operationseingänge
und -ausgänge 240 genutzt,
wenn die IC 200 im Normalgebrauch in einer Schaltung implementiert
ist. Die Ausgangsanschlußstifte 234 sind
also im Normalgebrauch der IC 200 überflüssig. Wie noch im einzelnen unter
Bezugnahme auf 4 beschrieben
wird, sieht die vorliegende Erfindung eine Verringerung der Anzahl
von Ausgangsanschlußstiften
an einem IC-Baustein vor, der eine Megazellenschaltung enthält. Die durch
die Erfindung ermöglichten
Einsparungen können
signifikant sein (z. B. in der Größenordnung von ein oder zwei
Dutzend Anschlußstiften,
die entfallen können),
so daß eine
kostengünstigere
(d. h. kleinere) Chipgröße und ein
kleinerer IC-Baustein verwendet werden können.
-
3 ist ein Zustandsdiagramm,
das die Operation der TAP-Ablaufsteuereinheit 110 in Abhängigkeit
von Steuersignalen zeigt, die auf der Modus- und der Taktleitung 107, 109 vorhanden
sind. Die TAP-Ablaufsteuereinheit 110 beginnt in einem Ruhezustand 300,
der einen Steuereinheitszustand zwischen Abtastoperationen bildet.
Nachdem sie in diesen Zustand gelangt ist, bleibt die TAP-Ablaufsteuereinheit 110 in
dem Ruhezustand 300, solange TMS niedrig gehalten wird.
In dem Ruhezustand 300 findet eine Aktivität in gewählter Testlogik
nur statt, wenn bestimmte Befehle vorliegen, wie das auf dem Gebiet
bekannt ist. Im Fall von Befehlen, die in das Befehlsregister 140 geladen
sind und keine Funktionen zur Ausführung im Ruhezustand 300 der TAP-Ablaufsteuereinheit
verursachen, behalten alle Testdatenregister, die von dem aktuellen
Befehl gewählt
sind, ihren vorhergehenden Zustand (d. h. Ruhezustand). Ferner ändern sich
die in das Befehlsregister 140 geladenen Befehle nicht,
während
sich die TAP-Ablaufsteuereinheit 110 im Ruhezustand 300 befindet.
-
Wenn
das TMS (Modussignal auf Leitung 107) hoch ist und das
TCK-Signal (Taktsignal auf Leitung 109) eine ansteigende
Flanke hat, gelangt die TAP-Ablaufsteuereinheit 110 in
einen Abtastzustand 305 zur Wahl eines Datenregisters.
Der Datenregisterwähl-Abtastzustand 305 ist
ein vorübergehenden Steuereinheitszustand,
in dem sämtliche
Testdatenregister, die von dem aktuellen Befehl ausgewählt sind,
ihren vorhergehenden Zustand behalten. Wenn das TMS niedrig gehalten
wird, während
das TCK eine ansteigende Flanke erhält, erfolgt ein Übergang der
TAP-Ablaufsteuereinheit 110 in einen Datenregister-Holzustand 315,
wogegen dann, wenn TMS hoch gehalten wird und TCK eine ansteigende
Flanke erhält,
die TAP-Ablaufsteuereinheit 110 in einen Befehlsregisterwähl-Abtastzustand 310 übergeht.
-
Wenn
die TAP-Ablaufsteuereinheit 110 in den Datenregister-Holzustand 315 übergeht,
können in
diesem Zustand während
der Anstiegsflanke von TCK Daten parallel aus dem Schieberegister 115 in das
Datenregister 130 geladen werden. Wenn die JTAG-Testschaltung
kein parallel geladenes Datenregister 130 aufweist oder
wenn für
den ausgewählten
Test kein Holen erforderlich ist, behält das Datenregister seinen
vorhergehenden Zustand unverändert
bei. Ferner bleiben die in den Befehlsregistern 140, 120 gespeicherten
Bits unverändert,
während sich
die TAP-Ablaufsteuereinheit 110 in dem Datenregister-Holzustand 315 befindet.
Wenn sich die TAP-Ablaufsteuereinheit 110 in dem Datenregister-Holzustand 315 befindet,
während
gleichzeitig TMS niedrig gehalten wird und TCK eine ansteigende Flanke
erhält,
tritt die Steuereinheit in einen Datenregister-Verschiebezustand 320 ein.
Wenn jedoch TMS hoch gehalten wird, während TCK die ansteigende Flanke
erhält,
dann geht die TAP-Ablaufsteuereinheit 110 aus
dem Datenregister-Holzustand 315 direkt in einen Datenregister-Austrittszustand 325 ein.
Innerhalb des Datenregister-Verschiebezustands 320 werden
Daten auf der Leitung 105 in das Datenverschieberegister 115 über Leitung 117 verschoben.
Bei Anlegen jeder ansteigenden Flanke von TCK, während gleichzeitig TMS niedrig
gehalten wird, wird ein zusätzliches
Datenbit auf der Leitung 117 in das Datenschieberegister 115 verschoben.
Die TAP-Ablaufsteuereinheit 110 bleibt solange in dem Datenregister-Verschiebezustand 320,
wie TMS niedrig gehalten wird. Somit werden so viele Datenbits,
wie erforderlich sind, um die vorher bezeichneten Testvektoren in
die Schieberegister 115 zu laden, in die Register 115 verschoben,
während
gleichzeitig TMS im Zustand 320 niedrig gehalten wird.
-
Wenn
sich die TAP-Ablaufsteuereinheit 110 in dem Datenregister-Verschiebezustand 320 befindet
und TCK eine ansteigende Flanke erhält, während gleichzeitig TMS hoch
gehalten wird, tritt die TAP-Ablaufsteuereinheit 110 in
den Datenregister-Austrittszustand 325 ein. Der Datenregister-Austrittszustand 325 ist
ein vorübergehender
Steuereinheitszustand. Wenn TMS hoch gehalten wird, bewirkt eine
ansteigende Flanke an TCK, daß die
TAP-Ablaufsteuereinheit 110 in
einen Datenregister-Aktualisierungszustand 340 eintritt,
wogegen dann, wenn TMS niedrig gehalten wird, während TCK eine ansteigende
Flanke erhält,
die TAP-Ablaufsteuereinheit 110 in einen Datenregister-Pausezustand 330 eintritt. Der
Datenregister-Pausezustand 330 erlaubt das vorübergehende
Anhalten des Verschiebens des Testdatenregisters 315. Die
TAP-Ablaufsteuereinheit 110 bleibt in dem Datenregister-Pausezustand 330,
während
TMS niedrig gehalten wird. Wenn TMS hoch gehalten wird und TCK eine
ansteigende Flanke erhält, tritt
die TAP-Ablaufsteuereinheit 110 in einen Datenregister-Austritt-2-Zustand 335 ein,
der ebenfalls ein vorübergehender
Zustand der Steuereinheit ist. Wenn TCK eine ansteigende Flanke
erhält,
während TMS
niedrig gehalten wird, kehrt die TAP-Ablaufsteuereinheit 110 in
den Datenregister-Verschiebezustand 320 zurück. Wenn
jedoch TMS hoch gehalten wird, während
gleichzeitig TCK eine ansteigende Flanke erhält, erfolgt ein Übergang
der TAP-Ablaufsteuereinheit 110 von dem Datenregister-Austritt-2-Zustand 335 in
den Datenregister-Aktualisierungszustand 340.
Wie 1 zeigt, weist das
Datenverschieberegister 115 einen verriegelten parallelen Ausgang
auf, um Änderungen
an den Daten in dem Datenregister 130 zu verhindern, während Daten
in dem zugehörigen
Schieberegisterpfad 115 in Abhängigkeit von bestimmten Befehlen
im Befehlsregister 140 verschoben werden. Somit werden
in dem Datenregister-Aktualisierungszustand 340 bei
der abfallenden Flanke von TCK Daten von dem Schieberegister 115 auf
den parallelen Ausgang des Schieberegisters 115 zwischengespeichert.
Diese Daten sind somit innerhalb des gesperrten Datenregisters 130 gespeichert,
so daß sich
die Daten innerhalb des Registers 130 nur im Datenregister-Aktualisierungszustand ändern, wenn
nicht eine Operation während der
Ausführung
eines Selbsttests erforderlich ist (z. B. im Ruhezustand in Abhängigkeit
von einem entwurfsspezifischen öffentlichen
Befehl). Ebenso wie im Fall der Zustände 305 bis 335 ändern sich
die Befehle, die in dem Befehlsschieberegister 120 und dem
Befehlssperrdatenregister 140 gespeichert sind, nicht,
während
sich die TAP-Ablaufsteuereinheit 110 in dem Datenregister-Aktualisierungszustand 340 befindet.
Wenn sich die TAP-Ablaufsteuereinheit
in dem Datenregister-Aktualisierungszustand befindet und TCK eine
ansteigende Flanke erhält,
tritt die TAP-Ablaufsteuereinheit 110 in den Datenregisterwähl-Abtastzustand 305,
wenn TMS hoch gehalten wird, oder in den Ruhezustand 300,
wenn TMS niedrig gehalten wird.
-
Wenn
TMS hoch gehalten wird und TCK eine ansteigende Flanke erhält, während sich
gleichzeitig die TAP-Ablaufsteuereinheit 110 in dem Datenregister-Wählzustand 305 befindet,
geht die TAP-Ablaufsteuereinheit 110 in den Befehlswähl-Registerabtastzustand 310 über.
-
Wenn
die TAP-Ablaufsteuereinheit 110 in den Befehlsregister-Holzustand 345 übergeht,
können
in diesem Zustand bei der Anstiegsflanke von TCK Befehle parallel
aus dem Befehlsverschieberegister 120 in das Befehlsregister 140 geladen
werden. Wenn die JTAG-Testschaltung kein parallel geladenes Befehlsregister 140 aufweist
oder wenn für den
gewählten
Test ein Holen nicht erforderlich ist, behält das Befehlsverschieberegister 120 unverändert seinen
vorhergehenden Zustand. Ferner bleiben die in den Datenregistern 130, 115 gespeicherten Bits
unverändert,
während
sich die TAP-Ablaufsteuereinheit 110 in dem Befehlsregister-Holzustand 345 befindet.
Wenn sich die TAP-Ablaufsteuereinheit 110 in
dem Befehlsregister-Holzustand 345 befindet, während gleichzeitig
TMS niedrig gehalten wird und TCK eine ansteigende Flanke hat, dann
tritt die Steuereinheit in einen Befehlsregister-Verschiebezustand 350 ein.
Wenn jedoch TMS hoch gehalten wird, während TCK die ansteigende Flanke
hat, dann erfolgt ein Übergang
der TAP-Ablaufsteuereinheit 110 in
einen Befehlsregister-Austrittszustand 355 direkt aus dem
Befehlsregister-Holzustand 345. Innerhalb des Befehlsregister-Verschiebezustands 350 werden
Befehle auf Leitung 105 über die Leitung 122 in
das Befehlsschieberegister verschoben. Beim Anlegen jeder Anstiegsflanke
von TCK, während
gleichzeitig TMS niedrig gehalten wird, wird ein zusätzliches
Befehlsbit in das Befehlsschieberegister 120 über die Leitung 122 verschoben.
Die TAP-Ablaufsteuereinheit 110 bleibt so lange in dem
Befehlsregister-Verschiebezustand 350,
wie TMS niedrig gehalten wird. Somit werden in dem Zustand 350 so
viele Befehlsbits, wie zum Laden der vorher bezeichneten Befehlsvektoren
in die Schieberegister 120 notwendig sind, in das Register 120 verschoben,
während
TMS niedrig gehalten wird.
-
Wenn
die TAP-Ablaufsteuereinheit 110 in dem Befehlsregister-Verschiebezustand 350 ist
und TCK eine Anstiegsflanke hat, während gleichzeitig TMS hoch
gehalten wird, tritt die TAP-Ablaufsteuereinheit 110 in
den Befehlsregister-Austrittszustand 355 ein.
Der Befehlsregister-Austrittszustand 355 ist ein vorübergehender
Zustand der Steuereinheit. Wenn TMS hoch gehalten wird, bewirkt
eine ansteigende Flanke von TCK, daß die TAP-Ablaufsteuereinheit 110 in
einen Befehlsregister-Aktualisierungszustand 370 eintritt,
wogegen dann, wenn TMS niedrig gehalten wird, wenn TCK eine Anstiegsflanke
hat, die TAP-Ablaufsteuereinheit 110 in
einen Befehlsregister-Pausezustand 360 eintritt.
-
Der
Befehlsregister-Pausezustand 360 erlaubt das vorübergehende
Anhalten des Verschiebens des Testbefehlsregisters 345.
Die TAP-Ablaufsteuereinheit 110 bleibt in dem Befehlsregister-Pausezustand 360,
während
gleichzeitig TMS niedrig gehalten wird. Wenn TMS hoch gehalten wird
und TCK eine ansteigende Flanke hat, tritt die TAP-Ablaufsteuereinheit 110 in
einen Befehlsregister-Austritt-2-Zustand 365 ein,
der ebenfalls ein vorübergehender
Zustand der Steuereinheit ist. Wenn TCK eine ansteigende Flanke
hat, während
gleichzeitig TMS niedrig gehalten wird, kehrt die TAP-Ablaufsteuereinheit 110 in
den Befehlsregister-Verschiebezustand 350 zurück. Wenn
jedoch TMS hoch gehalten wird, während gleichzeitig
TCK eine ansteigende Flanke hat, dann erfolgt ein Übergang
der TAP-Ablaufsteuereinheit 110 von dem Befehlsregister-Austritt-2-Zustand 365 in
den Befehlsregister-Aktualisierungszustand 370. Wie 1 zeigt, weist das Verschiebebefehlsregister 120 einen
verriegelten parallelen Ausgang auf, um Änderungen des Befehls in dem
Befehlsregister 140 zu verhindern, während gleichzeitig ein Befehl
in dem zugehörigen
Verschieberegisterpfad 120 in Abhängigkeit von bestimmten Befehlen
in dem Befehlsregister 140 verschoben wird. Somit werden
in dem Befehlsregister-Aktualisierungszustand 370 Befehle von
dem Schieberegister 120 bei fallender Flanke von TCK an
dem parallelen Ausgang des Schieberegisters 120 zwischengespeichert.
Diese Befehle werden somit in dem gesperrten Befehlsregister 140 gespeichert,
so daß die
Befehle in dem Register 140 sich nur in dem Befehlsregister-Aktualisierungszustand ändern, wenn
nicht eine Operation während der
Ausführung
eines Selbsttests verlangt wird (z. B. im Ruhezustand in Abhängigkeit
von einem entwurfsspezifischen öffentlichen
Befehl). Wie im Fall jedes der Zustände 310 und 345 bis 365 ändern sich
die Daten innerhalb des Datenschieberegisters 115 und des
verriegelten Datenregisters 130 nicht, während die
TAP-Ablaufsteuereinheit 110 sich
in dem Befehlsregister-Aktualisierungszustand 370 befindet.
Wenn die TAP-Ablaufsteuereinheit 110 in dem Befehlsregister-Aktualisierungszustand 370 ist
und TCK eine ansteigende Flanke hat, tritt die TAP-Ablaufsteuereinheit 110 in
den Datenregisterwähl-Abtastzustand 305 ein,
wenn TMS hoch gehalten wird, oder tritt in den Ruhezustand 300 ein,
wenn TMS niedrig gehalten wird.
-
Wenn
innerhalb des Befehlsregisterwähl-Zustands 310 TMS
hoch gehalten wird, während
TCK eine ansteigende Flanke hat, tritt die TAP-Ablaufsteuereinheit 110 in
den Testlogik-Rücksetzzustand 342 ein.
Wenn die TAP-Ablaufsteuereinheit 110 in den Testlogik-Rücksetzzustand 342 eintritt,
wird die Testlogik deaktiviert, so daß der Normalbetrieb der auf dem
Chip befindlichen Logik (d. h. in Abhängigkeit von Signalen, die
durch die Systemanschlußstifte empfangen
werden) ungehindert fortgesetzt werden kann. Die TAP-Ablaufsteuereinheit 110 bleibt
im Testlogik-Rücksetzzustand 342,
während
TMS hoch gehalten wird. Indem TMS während einer ansteigenden Flanke
von TCK niedrig gehalten wird, tritt die TAP-Ablaufsteuereinheit 110 in
den Ruhezustand 300 ein.
-
4 ist ein schematisches
Blockbild, das eine beispielhafte interne JTAG-Testschaltung innerhalb einer IC 400 zeigt.
Um die Darstellung der vorliegenden Erfindung einfach zu halten,
sind in 4 die TAP-Ablaufsteuereinheit 110,
die Daten- und Befehls-Schieberegister 115, 120 und
andere zugehörige
JTAG- Schaltungen
nicht gezeigt. Es versteht sich aber für den Fachmann, daß die IC 400 die
vorher erwähnte
JTAG-Schaltung aufweist, die im wesentlichen die gleichen Funktionen
hat, wie sie oben beschrieben wurden. Die IC 400 kann beispielsweise eine
anwendungsspezifische integrierte Schaltung bzw. ASIC sein, die
eine kundenspezifische digitale Schaltung aufweist, die von einem
ASIC-Designer entworfen
ist (in 4 als Normalschaltung 410 dargestellt),
und eine vom Hersteller gelieferte Struktur für eine Megazelle aufweist,
die der ASIC-Designer
in die kundenspezifische ASIC einfügt (in 4 als die Megazellenschaltung 420 dargestellt).
Die Normalschaltung 410 kommuniziert über Eingangs- und Ausgangsleitungen 422 mit
der Megazellenschaltung 420. Beispielsweise kann die Megazellenschaltung 420 eine
Standard-Arithmetik- und Logikeinheit bzw. Standard-ALU, einen Mikroprozessor
oder andere Schaltkreise aufweisen, die Standardaufbau haben und
als selbständiges
Modul innerhalb der ASIC 400 implementiert sein können.
-
Die
Normalschaltung 410 empfängt Eingangssignale von externen
Anschlußstiften
wie etwa Anschlußstiften 423, 425 über Leitungen 433, 435. Es
versteht sich dabei, daß typischerweise
die Normalschaltung 410 Dutzende oder auch Hunderte von Eingangssignalen
empfängt,
aber für
die übersichtliche
Darstellung der vorliegenden Erfindung sind nur die Eingangsanschlüsse 423, 425 zum
Verbinden mit der Normalschaltung 410 dargestellt. Zusätzlich zu der
Ausgabe von Signalen zu der Megazellenschaltung 420 über die
Leitungen 422 kann die Normalschaltung 410 auch
bestimmte Signale an die Megazellenschaltung 420 über eine
Leitung 437 ausgeben, die mit einem ersten Eingang eines
2 : 1-Multiplexers 440 verbindbar ist. Der Multiplexer 440 empfängt ferner
ein Eingangssignal von einem externen Anschlußstift 445 über einen
zweiten Eingang 447. Das Ausgangssignal des Multiplexers 440 wird
einem Eingang der Megazelle 420 über eine Leitung 449 zugeführt, wie 4 zeigt.
-
Der
Multiplexer 440 empfängt
ein Wähleingangssignal
von einem Decoder 450 über
eine Leitung 452. Die Megazellenschaltung 420 empfängt ferner
Testeingangssignale von einem UND-Glied 455 und einem ODER-Glied 457.
Es versteht sich natürlich,
daß die
Megazellenschaltung 420 typischerweise mehrere Testeingänge aufweist,
aber das UND-Glied 455 und das ODER-Glied 457 sind
dargestellt und leiten der Megazellenschaltung 420 zwei beispielhafte
Testeingangssignale zu. Das UND-Glied 455 empfängt ein
erstes Eingangssignal auf Leitung 452 und ein zweites Eingangssignal
auf Leitung 433 von dem Eingangsanschlußstift 423. Ferner
empfängt
das ODER-Glied 457 ein erstes invertierendes Eingangssignal
auf Leitung 452 und ein zweites Eingangssignal auf Leitung 435 von
dem Eingangsanschlußstift 425.
Ferner wird davon ausgegangen, daß Anschlußstifteingangs- und -ausgangspuffer
vorhanden sind, diese sind jedoch in 4 aus Gründen der Übersichtlichkeit
nicht gezeigt.
-
Die
Normalschaltung 410 ist mit einem Eingang eines JTAG-Ausgangsmultiplexers 460 über eine
Leitung 462 verbunden. Auch hier versteht es sich, daß die Normalschaltung
typischerweise einige zehn oder Hunderte von Ausgangssignalen aufweist, wobei
aber der Klarheit halber nur das Ausgangssignal 462 in 4 gezeigt ist. Das Ausgangssignal
eines 2 : 1-Multiplexers 460 wird
einem externen Anschlußsstift
auf einer Leitung 464 zugeführt. Ein Wähleingangssignal des 2 : 1-Multiplexers 460 wird von
dem Decoder 450 über
eine Leitung 466 geliefert. Bei einer herkömmlichen
Schaltung wird das zweite Eingangssignal des 2 : 1-Multiplexers 460 direkt
mit einem Grenzabtast-Datenregister verbunden, so daß der JTAG-Standardeingangswert
den Ausgangsanschluß 465 zwangsweise
gleich dem JTAG-Bit machen würde,
wenn das entsprechende Wählsignal
dem Eingang des 2 : 1-Multiplexers 460 zugeführt würde. Gemäß der vorliegenden
Erfindung kann jedoch der zweite Eingang des Multiplexers 460 ebenfalls
ein Ausgangssignal von der Megazellenschaltung 420 über einen
2 : 1-Multiplexer 470 über eine
Leitung 472 empfangen.
-
Dabei
empfängt
der 2 : 1-Multiplexer 470 ein erstes Eingangssignal auf
Leitung 474 von der Megazellenschaltung 420. Der
2 : 1-Multiplexer 470 empfängt ferner ein zweites Eingangssignal
von dem Grenzabtast-Datenregister 480 auf einer Leitung 476.
Schließlich
empfängt
der 2 : 1-Multiplexer 470 ein Wähleingangssignal vom Decoder 450 über eine Leitung 478.
Der Decoder 450 decodiert Befehle, die in einem verriegelten
Befehlsregister 484 enthalten sind.
-
Während des
normalen (d. h. testfreien) Betriebs empfangen die Normalschaltung 410 und
die Megazellenschaltung 420 Eingangssignale über eine Vielzahl
von Eingangsanschlußstiften
(z. B. die Eingangsanschlußstifte 423, 425 und 445)
und verarbeiten diese Eingangssignale entsprechend dem ASIC-Design und liefern
die jeweiligen Ausgangswerte an eine Vielzahl von Ausgangsanschlußstiften (z.
B. den Ausgangsanschlußstift 465).
Im Normalbetrieb erfolgt zwischen der Normalschaltung 410 und der
Megazellenschaltung 420 der Informationsaustausch über interne
Schaltungspfade (z. B. die Schaltungspfade 422, 437, 449 und 474),
so daß die
Megazellenschaltung 420 als Modul wirksam ist, das eine
vorbestimmte Funktion ausübt,
die die Gesamtoperation der ASIC 400 unterstützt.
-
Um
daher die Funktionalität
von Megazellenschaltungen in ASICs zu testen, ist es typischerweise notwendig,
bestimmte Eingangs- und Ausgangsleitungen der Megazelle auf externe
Anschlußstifte
an der ASIC zu ziehen, so daß die
Chipfabrik die Megazellenschaltung unter Anwendung von Testvektoren unabhängig testen
kann, die vom Megazellenhersteller bereitgestellt werden. Wie oben
im einzelnen ausgeführt
ist, führt
das zu einer Reihe von äußeren Anschlußstiften
an der Oberfläche
der IC, die im Normalbetrieb der IC nicht genutzt werden. Gemäß der vorliegenden
Erfindung ist daher die in der ASIC 400 vorhandene JTAG-Schaltung
speziell so modifiziert, daß ein
Ausgabepfad für
die Megazellenschaltung 420 gebildet wird, so daß die Megazellenschaltung 420 vom
Chiphersteller getestet werden kann, ohne daß zusätzliche Ausgangsanschlußstifte
an der ASIC 400 vorgesehen sein müssen.
-
Dabei
macht es der zusätzliche
Multiplexer 470 möglich,
daß der
zweite Eingang zum Multiplexer 460 alternativ als ein JTAG-Ausgang
oder als ein Megazellenausgang genutzt wird, was durch das Signal auf
der Wählleitung 478 von
dem Decoder 450 bestimmt wird. Somit wird also nicht die
Testausgangsleitung 474 der Megazelle 420 direkt
mit einem externen Anschlußstift
verbunden, sondern dieselbe Ausgangsleitung 464, die dazu
dient, alternativ das JTAG-Standard-Grenzabtast-Ausgangssignal oder den Normalschaltungs-Ausgangswert
auszugeben, kann auch genutzt werden, um das Testsignal von der
Megazellenschaltung 420 auszugeben. Die Wahl des Ausgangssignals
auf der Leitung 464 von einem der drei möglichen
Ausgänge
(d. h. dem Ausgang von einer Normalschaltung 410, dem Ausgang
von der Megazellenschaltung 420 oder dem JTAG-Grenzabtastausgang
von dem Datenregister 480) wird unter Steuerung durch den
Decoder 450 nach Maßgabe
der Befehle koordiniert, die in dem gesperrten Befehlsregister 484 enthalten
sind. Somit kann die Implementierung der vorliegenden Erfindung
zusätzliche
Speicherplätze
oder Decodiermuster innerhalb des gesperrten Befehlsregisters 484 erforderlich
machen, um die zusätzlichen
Steuersignale möglich
zu machen. Derzeitige Befehlsregister innerhalb von JTAG-Testschaltungen
sind jedoch typischerweise anwenderdefiniert, so daß zusätzliche Decodierzustände genutzt
werden können,
um die zusätzliche
Steuerinformation bereitzustellen.
-
Beim
Testen der Megazellenschaltung 420 gemäß den Methoden der vorliegenden
Erfindung werden ausgewählten
externen Eingangsanschlußstiften
(z. B. den Anschlußstiften 423, 425)
Testvektoreingänge
(vom Megazellenhersteller geliefert) zugeführt. Wenn das Signal auf der
Leitung 452 hoch gehalten wird, werden die den Anschlüssen 423, 425 zugeführten Testvektoreingänge durch
das UND-Glied 455 und das ODER-Glied 457 zu den
Testeingängen
der Megazellenschaltung 420 durchgelassen. Es versteht
sich für
den Fachmann, daß das Signal
auf Leitung 452 niedrig ist, wenn der Testmodus nicht aktiv
ist, und daß die
Ausgänge
des UND-Glieds 455 und des ODER-Glieds 457 auf
niedrig bzw. hoch gesetzt sind, um zu verhindern, daß sich die
Testeingänge
zu der Megazellenschaltung 420 im Normalbetrieb ändern. Wenn
die an den Eingangsanschlüssen 423, 425 liegenden
Standard-Testvektoreingänge zu den
Testeingängen
der Megazellenschaltung 420 durchgeleitet werden, gibt die
Megazellenschaltung 420 Ausgangssignale in Abhängigkeit
von den Testvektoreingängen über eine Vielzahl
von Ausgabeleitungen aus. Bei dem Beispiel von 4 ist der Klarheit halber nur die Ausgabeleitung 474 gezeigt,
aber es versteht sich, daß eine Vielzahl
von Ausgangsleitungen zu einer Vielzahl von 2 : 1-Multiplexern (wie
dem Multiplexer 470) vorgesehen ist, um die funktionellen
Charakteristiken der Megazellenschaltung 420 vollständig zu
testen.
-
Das
von der Megazellenschaltung 420 in Abhängigkeit von den Testvektoreingängen ausgegebene
Signal wird als erstes Eingangssignal dem Multiplexer 470 auf
Leitung 474 zugeführt.
Das gesperrte Befehlsregister 484 enthält, wenn der Megazellentestmodus
ausgeführt
wird, Befehlsbits, die den Decoder 450 veranlassen, das
Wählsignal
auf der Leitung 478 zu veranlassen, den Megazellentestausgang
auf Leitung 474 zu wählen.
Somit wird das Ausgangssignal der Megazellenschaltung 420 in
Abhängigkeit
von den Testvektoreingangssignalen auf Leitung 472 am Ausgang
des Multiplexers 470 bereitgestellt. Der Decoder 450 liefert
ferner in Abhängigkeit von
den Befehlen in dem Register 484 ein Signal auf Leitung 484 zur
Wahl der Eingangsleitung 472, so daß das Testausgangssignal der
Megazellenschaltung auf Leitung 464 zu dem Ausgangsanschlußstift 485 geführt wird.
Wenn die Megazellenschaltung 420 richtig funktioniert,
bewirken die Testvektoreingangssignale, daß das richtige Muster von Testvektorausgangssignalen
an den Ausgangsanschlußstiften
erscheint, für
die ein Pfad von der Megazellenschaltung 420 vorgesehen
ist. Somit bezeichnet der Ausgangsanschlußstift 465 die Funktionalität der Megazellenschaltung 420,
wenn die Testvektoreingangssignale den Eingangsanschlußstiften 423, 425 zugeführt werden.
Auf diese Weise kann die Funktionalität der Megazellenschaltung 420 getestet
werden, ohne daß zusätzliche
Ausgangsanschlußstifte
an der ASIC 400 vorgesehen sein müssen.
-
Wenn
die Funktionalität
der Megazellenschaltung 420 nicht gerade geprüft wird,
werden die entsprechenden Befehlsbits in das Befehlsregister 484 geladen,
um den Decoder 450 zu veranlassen, entweder den Normalbetriebsmodus
oder den JTAG-Testmodus zu wählen.
Wenn der JTAG-Testmodus gewählt
wird, wird der Decoder 450 veranlaßt, ein Wählsignal über die Leitungen 478 auszugeben, um
das Eingangssignal über
die Leitung 476 von dem Datenregister 480 zu dem
Ausgang 472 des Multiplexers 470 zu leiten. Außerdem gibt
der Decoder 450 ein Wählsignal über die
Leitung 466 aus, das bewirkt, daß das Eingangssignal auf Leitung 472 (das
den Wert eines Datenbits innerhalb des Datenregisters 480 über die
Leitung 476 darstellt) an den Ausgang 464 des
Multiplexers 460 geführt
wird, so daß das
JTAG-Grenzabtast-Datenbit an dem Ausgangsanschlußstift 486 erscheint,
wenn der Ausgangspfad Integrität
besitzt.
-
Wenn
andererseits die ASIC 400 auf die normale Weise wirken
soll, veranlaßt
die JTAG-TAP-Ablaufsteuereinheit 486 den Decoder 450,
den ersten Eingang 462 des Multiplexers 460 zu
wählen,
so daß das
Signal auf der Leitung 462 über den Multiplexer 460 und
die Leitung 464 an den Anschlußstift 465 ausgegeben
wird. Ferner gibt der Decoder 450 ein niedriges Signal
auf der Leitung 462 aus, so daß die Testeingangssignale zu
der Megazellenschaltung 420 auf definierten Werten gehalten
werden, so daß die
Operation der Megazellenschaltung 420 von den Eingangssignalen
an den Anschlußstiften 423, 425 nicht
beeinflußt
wird.
-
Die
bevorzugten Ausführungsformen
der vorliegenden Erfindung wurden zwar vorstehend im einzelnen erläutert, aber
die obige Beschreibung soll als beispielhaft und nicht-einschränkend angesehen werden.
Der Umfang der vorliegenden Erfindung ist daher durch die beigefügten Patentansprüche definiert.