-
GEBIET DER
ERFINDUNG
-
Die
Erfindung bezieht sich im Allgemeinen auf die Bewertung der Funktionalität elektronischer integrierter
Schaltungen und insbesondere auf eine integrierte Schaltung, die
eine funktionale Schaltungsanordnung, einen Testbus aus Testleitungen und
Testanschlüsse
umfasst.
-
HINTERGRUND
DER ERFINDUNG
-
Der
IEEE-Standard Test Access Port and Boundary Scan Architecture (IEEE
STD 1149.1) ist ein wohlbekannter IEEE-Teststandard, der einen Abtastzugriff
auf Abtastregister innerhalb integrierter Schaltungen (ICs) schafft. 12 zeigt
ein Schema der 1149.1-Testlogik. Die Testlogik umfasst einen TAP-Controller 120,
ein Befehlsregister und mehrere Testdatenregister. Der TAP-Controller 120 ist
mit dem Testbetriebsart-Auswahlpin (TMS-Pin), dem Test-Taktpin (TCK-Pin)
und dem Test-Rücksetzpin (TRST*-Pin)
verbunden. Der TAP-Controller 120 antwortet auf Steuereingaben
in TCK und TMS, um Daten entweder durch die Befehls- oder Datenregister über den
Testdaten-Eingangspin (TDI-Pin) und den Testdaten-Ausgangspin (TDO-Pin)
abzutasten. Der TRST* ist ein optionaler Pin, der verwendet wird,
um die Testlogik (d. h. den TAP-Controller, das Befehlsregister
und die Datenregister) zurückzusetzen
oder zu initialisieren. Die Eingänge
in die Befehls- und Datenregister sind beide direkt mit dem TDI-Eingangspin
verbunden. Der Ausgang der Befehls- und Datenregister wird zum TDO-Pin
multiplexiert. Während der
Befehlsregister-Abtastungen veranlasst der TAP-Controller 120 den
Multiplexer 121, das Befehlsregister an den TDO auszugeben.
Während
der Datenregister-Abtastungen veranlasst der TAP-Controller 120 den
Multiplexer 121, die Datenregister an den TDO auszugeben.
Der in das Befehlsregister eingescannte Befehl wählt aus, welches der mehreren
Datenregister während
einer nachfolgenden Datenregister-Abtastoperation abgetastet wird.
Wenn der TAP-Controller 120 die Daten durch die Befehls-
oder Datenregister abtastet, gibt er ein Steuersignal aus, um die
Ausgangstufe freizugeben, um die Ausgangsdaten vom TDO-Pin auszugeben,
andernfalls sperrt der TAP-Controller die Ausgangstufe.
-
13 zeigt,
wie vier ICs, wobei jede IC den TAP-Controller 120, das
Befehlsregister und die Datenregister nach 12 enthält, auf
Steckeinheitenniveau für
die serielle Datenübertragung
(TDI, TDO) und die parallele Steuerung (TMS, TCK) angeschlossen
sein würden.
-
14 zeigt
die Zustandsdiagramm-Operation des TAP-Controllers nach 12.
Der TAP-Controller 120 wird durch den TCK getaktet und
antwortet auf die TMS-Eingabe, indem er zwischen seinen Zuständen übergeht.
Der logische Zustand des TMS ist neben den Wegen gezeigt, die die
Zustände
nach 14 verbinden. Der Testlogik-Rücksetzzustand befindet sich
dort, wo der TAP-Controller 120 in Reaktion auf ein Hochfahr-Rücksetzsignal,
ein tief am TRST* oder eine geeignete TMS-Eingabesequenz hingeht.
Vom Testlogik-Rücksetzen
kann der TAP-Controller 120 in den Testausführungs-/Ruhezustand übergehen.
Aus dem Testausführungs-/Ruhezustand
kann der TAP-Controller 120 in den Select-DR-Scan-Zustand übergeben.
Aus dem Select-DR-Scan-Zustand kann der TAP-Controller 120 in eine Datenregister-Abtastoperation
oder in den Select-IR-Scan-Zustand übergehen.
Falls der Übergang
zur Datenregister-Abtastoperation erfolgt, geht der TAP-Controller 120 durch
einen Capture-DR-Zustand, um parallele Daten in ein ausgewähltes Datenregister
zu laden, wobei er dann das ausgewählte Datenregister während des
Shift-DR-Zustands vom TDI zum TDO verschiebt. Die Datenregister-Verschiebungsoperation
kann unterbrochen werden, indem über
den Exit1-DR-Zustand in den Pause-DR-Zustand übergegangen wird, und wiederaufgenommen
werden, indem über
den Exit2-DR-Zustand in den Shift-DR-Zustand zurückgekehrt wird. Am Ende der
Datenregister-Verschiebungsoperation geht der TAP-Controller 120 durch
den Update-DR-Zustand, um neue parallele Daten vom Datenregister
zu aktualisieren (auszugeben) und dadurch die Datenregister-Abtastoperation
abzuschließen.
Aus dem Update-DR-Zustand kann der TAP-Controller 120 zum
Testausführungs-/Ruhezustand
oder Select-DR-Scan-Zustand übergehen.
-
Falls
aus dem Select-DR-Scan-Zustand in den Select-IR-Scan-Zustand eingetreten
wird, kann der TAP-Controller 120 in den Testlogik-Rücksetzzustand übergehen
oder er kann in eine Befehlsregister-Abtastoperation übergehen.
Falls der Übergang in
eine Befehlsregister-Abtastoperation erfolgt, sind Capture-IR-,
Shift-IR-, optionale Pause-IR und Update-IR-Zustände analog zu den Zuständen der
Datenregister-Abtastoperation vorgesehen. Die nächsten Zustandsübergänge aus
dem Update-IR-Zustand können
entweder zum Testausführungs-/Ruhezustand
oder zum Select-DR-Scan-Zustand erfolgen. Falls der TAP-Controller 120 aus
dem Select-IR-Scan-Zustand in den Testlogik-Rücksetzzustand übergeht,
gibt der TAP-Controller 120 ein Rücksetzsignal aus, um die Befehls-
und Datenregister zurückzusetzen
oder zu initialisieren.
-
15 zeigt,
dass die Zustandsübergänge des
TAP-Controllers 120 nach 12 an
der Anstiegsflanke des TCK auftreten, und dass Aktionen entweder
an der Anstiegs- oder Abfallflanke des TCK geschehen können, während sich
der TAP-Controller 120 in
einem gegebenen Zustand befindet.
-
Der
Begriff TAP, auf den im folgenden Bezug genommen wird, ist so zu
verstehen, dass er einen TAP-Controller, ein Befehlsregister, Testdatenregister
und die TDO-Multiplexierung des allgemeinen Typs, die in 12 gezeigt
sind, umfasst, sich jedoch von 12 entsprechend
neuartigen Merkmalen der vorliegenden Erfindung unterscheidet, die
hierin in Ausführlichkeit
beschrieben sind. Der 1149.1-Standard wurde unter der Bedingung
entwickelt, dass es nur einen TAP pro IC geben würde. Heute können die ICs
mehrere TAPs enthalten. Der Grund dafür ist, dass die ICs unter Verwendung
eingebetteter Megamodul-Kerne entwickelt werden, die ihre eigenen TAPs
enthalten. Ein Megamodul ist eine vollständige Schaltungsfunktion, wie
z. B. ein DSP, das seinen eigenen TAP besitzt und als eine Unterschaltung
innerhalb einer IC oder als eine selbstständige IC verwendet werden kann.
Eine IC, die mehrere Megamodule enthält, besitzt deshalb mehrere
TAPs.
-
In
einem Beispiel ist in 1 eine IC 10, die vier
TAPs enthält,
gezeigt. Der TAP1 ist mit dem Grenz-Abtastregister (BSR) verbunden
gezeigt, um die her kömmliche
Verbindungs-Testfähigkeit
auf Steckeinheitenniveau des 1149.1-Standards bereitzustellen. Der
TAP1 kann außerdem
mit einer anderen Schaltungsanordnung innerhalb der IC verbunden
sein, die außerhalb
der Megamodule vorhanden ist. Der TAP2 ist ein integrierter Bestandteil
des Megamoduls MM1. Gleichermaßen
sind der TAP3 und der TAP4 integrierte Bestandteile der Megamodule MM2
und MM3. Jeder TAP nach 1 enthält eine herkömmliche
1149.1-TAP-Schnittstelle 11 für die Übertragung
von Steuersignalen (TMS, TCK und TRST) und Datensignalen (TDI und
TDO). Der 1149.1-Standard ist jedoch dafür entwickelt, dass nur ein
TAP innerhalb einer IC enthalten ist und dass die 1149.1-TAP-Schnittstelle dieses
einen TAP außerhalb
der IC an den Anschlüssen
(oder Pins) der IC für die
Verbindung über
den 1149.1-Testbus 13 mit einem externen Test zugänglich ist.
-
EP 0 661 551 offenbart einen
Puffer, der einen Testwert empfängt
und auf einer seiner Ausgangsleitungen S0–S7 ein Steuersignal erzeugt.
Das Steuersignal wählt
einen Multiplexer und einen Demultiplexer aus, um eines der Vierdraht-Grenz-Abtastsysteme
auszuwählen.
-
EP 0 578 386 offenbart eine
adressierbare Schattenanschlussschaltung, die Adressen von einem
seriellen Bus-Master empfängt.
Wenn die empfangene Adresse mit der Adresse des adressierbaren Schattenanschlusses
(ASP) übereinstimmt,
verbindet der ASP die TDI-, TDO-, TMS- und TCK-Signale mit dem ausgewählten TAP.
-
Es
ist deshalb erwünscht,
eine Architektur zu schaffen, in der alle TAPs einer IC über eine
einzelne von außen
zugängliche
1149.1-TAP-Schnittstelle von einem externen 1149.1-Testbus gesteuert
werden können
und zugänglich
sind.
-
Die
vorliegende Erfindung schafft eine Architektur, die erlaubt, dass
auf mehrere TAPs selektiv zugegriffen wird und dass mehrere TAPs
von einer einzelnen 1149.1-TAP-Schnittstelle gesteuert werden. Die
Erfindung schafft ferner über
einen ausgewählten
TAP von mehreren TAPs Zugriff auf ein einzelnes Register. Die Erfindung
schafft ferner einen TAP-Controller, dessen Zustandsmaschinen steuerung
selektiv durch ein extern erzeugtes Vorrangsignal außer Kraft
gesetzt werden kann, das die Zustandsmaschine synchron in einen
gewünschten
Zustand steuert. Die Erfindung schafft ferner einen TAP-Befehl,
der decodierbar ist, um einen externen Datenweg auszuwählen. Außerdem erlaubt
gemäß der Erfindung
der sequentielle Zugriff auf die TAPs von einer einzelnen 1149.1-TAP-Schnittstelle,
dass sich Testoperationen, die verschiedenen TAPs zugeordnet sind,
einander zeitlich überlappen.
-
Insbesondere
schafft die vorliegende Erfindung eine integrierte Schaltung, die
eine funktionale Schaltungsanordnung, einen Testbus aus Testleitungen
und Testanschlüsse
umfasst.
-
Die
funktionale Schaltungsanordnung ist in der integrierten Schaltung
ausgebildet. Die funktionale Schaltungsanordnung besitzt getrennte
Teile, die miteinander verbunden sind.
-
Der
Testbus aus Testleitungen, die Testsignale transportieren, ist auf
der integrierten Schaltung ausgebildet und von außerhalb
der integrierten Schaltung zugänglich.
-
Die
Testanschlüsse
sind auf der integrierten Schaltung ausgebildet. Jeder Testanschluss
ist wenigstens einem Teil der funktionalen Schaltungsanordnung zugeordnet,
wobei jeder Testanschluss Testschnittstellenleitungen, die mit den
Testleitungen verbunden sind, besitzt.
-
Dieser
Aspekt der Erfindung ist dadurch gekennzeichnet, dass jeder Testanschluss
außerdem eine
Wähl-Ausgangsleitung,
die ein Ausgangswählsignal
transportiert, das angibt, ob der Testanschluss für die Kommunikation
mit dem Testbus gewählt
ist, und eine Freigabeeingangsleitung, die ein Freigabeeingangssignal
empfängt,
das angibt, ob der Testanschluss für die Kommunikation mit dem
Testbus freigegeben ist, besitzt.
-
KURZBESCHREIBUNG
DER ZEICHNUNG
-
Die
vorliegende Erfindung wird nun beispielhaft unter Bezugnahme auf
die beigefügte
Zeichnung weiter beschrieben, worin:
-
1 einen
Test-Controller veranschaulicht, der mit einer integrierten Schaltung
verbunden ist, die mehrere TAPs enthält;
-
2 eine
integrierte Schaltung, die mehrere TAPs enthält, gemäß der vorliegenden Erfindung veranschaulicht;
-
3 das
TAP-Verknüpfungsmodul
nach 2 ausführlicher
veranschaulicht;
-
4 den
TLM-TAP-Controller nach 3 ausführlicher veranschaulicht;
-
5 eine
weitere beispielhafte integrierte Schaltung, die mehrere TAPs enthält, gemäß der vorliegenden
Erfindung veranschaulicht;
-
6 das
TAP-Verknüpfungsmodul
nach 5 ausführlicher
veranschaulicht;
-
7 den
TAP4 nach den 2 und 5 ausführlicher
veranschaulicht;
-
8 die
Multiplexierungs-Schaltungsanordnung veranschaulicht, die dem Abtasteingang
des TAP4 nach 5 zugeordnet ist;
-
9 ein
Zustandsdiagramm zeigt, das dem TAP-Controller nach 7 zugeordnet
ist;
-
9A einen
Abschnitt des TAP-Controllers nach 7 ausführlicher
veranschaulicht;
-
10–11 Taktdiagramme
sind, die Beispiele veranschaulichen, wie die TAPs nach den 2 und 5 synchron
mit dem Testbus nach den 2 und 5 verknüpft und
vom Testbus nach den 2 und 5 getrennt
werden können;
-
12 die
Architektur eines herkömmlichen 1149.1-TAP
veranschaulicht;
-
13 mehrere
integrierte Schaltungen veranschaulicht, die in einer herkömmlichen
Weise für das
1149.1-Testen angeschlossen sind;
-
14 ein
Zustandsdiagramm ist, das dem herkömmlichen TAP-Controller nach 12 zugeordnet
ist;
-
15 ein
Taktplan ist, der veranschaulicht, wann Zustandänderungen und andere Aktionen
in der herkömmlichen
TAP-Architektur nach 12 geschehen können;
-
16 einen
Abschnitt des Standes der Technik nach 12 ausführlicher
veranschaulicht;
-
16A herkömmliche
Befehle veranschaulicht, die der Architektur nach 16 zugeordnet sind;
-
17 einen
Abschnitt des TAP4 nach 7 ausführlicher veranschaulicht; und
-
17A einen Satz von Befehlspaaren veranschaulicht,
die der Architektur nach 17 zugeordnet
sind.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
2 zeigt
eine beispielhafte IC gemäß der Erfindung,
die ein TAP-Verknüpfungsmodul
(TLM) 21 enthält,
das über
Auswahlsignale (SEL1–4)
und Freigabesignale (EN1–4)
an jeden TAP gekoppelt ist und an eine extern zugängliche
1149.1-Schnittstelle 20, die die TDI-, TCK-, TMS-, TRST*-
und TDO-Pins enthält,
gekoppelt ist. Die TAPs sind mit den TCK- und TMS-Pins und mit dem
Rücksetzausgang
aus dem TLM verbunden. Die SEL1–4-Signale
sind die Ausgaben aus den TAPs an das TLM, während die EN1–4-Signale
vom TLM an die TAPs ausgegeben werden. Das Auswahlsignal jedes TAP
wird in Reaktion auf einen in sein Befehlsregister eingescannten speziellen
Befehl ausgegeben. Der Befehl setzt den Auswahlausgang vom TAP hoch,
was bewirkt, dass das TLM als der Datenregister-Abtastweg zwischen den
TDI- und TDO-Pins 26 und 27 der IC ausgewählt wird.
Eine herkömmliche
Datenregister-Abtastoperation wird verwendet, um die Daten zu erfassen
und dann die Daten vom TDI durch das TLM zum TDO zu verschieben.
Während
einer derartigen TLM-Abtastoperation stellt das TLM-Select-Ausgangssignal
vom TLM eine Verbindung vom TDO-Ausgang 25 des TLM über den
Multiplexer 3SMUX zum TDO-Ausgang 27 der IC her. Außerdem gibt
während
einer TLM-Abtastoperation eine Freigabeausgabe vom gegenwärtig freigegebenen
TAP (eines von Enable 1, 2, 3, 4) über das ODER-Gatter 29 einen
TDO-Ausgangspuffer (im 3SMUX) frei. Dies ist zum Freigeben der Ausgangstufe
in 12 analog. Nach der TLM-Abtastoperation gibt das
TLM die EN1–4-Signale
an die TAPs und die TAPSEL0–1-Signale
an den Multiplexer 23 aus, um eine TAP-Verknüpfungskonfigurationen
aufzubauen. Die in das TLM eingescannten Daten wählen einen der vier Ausgänge EN1–4 aus,
damit er aktiv ist, um den entsprechenden TAP freizugeben. Außerdem verursachen
die TAPSEL0–1-
und TLM-Select-Signale, dass der TDO des freigegebenen TAP (einer
von TDO1–TDO4)
mit dem TDO-Pin 27 der IC verbunden wird.
-
Aus
dieser Beschreibung ist ersichtlich, dass das TLM 21 arbeitet,
um einen der TAPs selektiv freizugeben, damit über die 1149.1-Test-Pins der
IC auf ihn zugegriffen wird. Auf die an den freigegebenen TAP gekoppelte
Schaltung (BSR, MM1, MM2, MM3) kann deshalb direkt von den 1149.1-Test-Pins
zugegriffen werden. Ein gegenwärtig
freigegebener TAP kann das TLM 21 auswählen und abtasten, das wiederum
einen weiteren TAP auswählt
und freigibt. Wenn ein weiterer TAP freigegeben wird, wird der vorher
freigegebene TAP gesperrt und verbleibt so, bis er abermals durch
das TLM freigegeben wird. Die EN1–4-Eingänge in die TAPs können die
TAPs in vielen Arten freigeben oder sperren. Die EN1–4-Eingänge könnten z.
B. einfach verwendet werden, um den TCK "EIN"- und "AUS" zu tasten. Alternativ
und bevorzugt könnten
die EN1–4-Eingänge in den
Konstruktionen der Zustandsmaschinen des TAP-Controllers enthalten
sein, um den TAP in seinem Testausführungs-/Ruhezustand zu halten,
wenn er gesperrt ist. Dieses bevorzugte Verfahren der Verwendung
der EN1–4-Signale
ist im Folgenden im Zusammenhang mit den 9 und 9A beschrieben.
-
3 zeigt
eine Beispielimplementierung der Schaltung des TLM 21.
Die Schaltung umfasst einen TLM-TAP-Controller 31, ein
2-Bit-Schieberegister, eine Decodierlogik und ein Verknüpfungsaktualisierungsregister.
Der TLM-TAP-Controller 31 ist
immer freigegeben, um dem Testbus-Protokoll an den TCK- und TMS-Pins
zu folgen (d. h. der TLM-TAP-Controller ist immer mit dem Zustand
des 1149.1-Testbusses 13 synchronisiert, der mit den TCK-
und TMS-Pins verbunden ist). Die Ausgänge des TLM-TAP-Controllers
(d. h. TLM-ShiftDR, TLM-ClockDR,
TLM-UpdateDR und TLM-Select) sind jedoch nur während einer Datenregister-Abtastoperation
und nur, falls der Auswahleingang (SEL1–4) vom gegenwärtig freigegebenen
TAP hoch ist, freigegeben.
-
Falls
der gegenwärtig
freigegebene TAP eine hohe Auswahleingabe an einem der SEL1–4 eingibt, antwortet
der TLM-TAP-Controller 31 auf TCK und TMS, um eine Steuerung
auf TLM-ShiftDR, TLM-ClockDR und TLM-Select auszugeben, um die Daten
zu erfassen und sie durch das 2-Bit-Schieberegister zu verschieben
und um dann die TLM-UpdateDR-Steuerung auszugeben, um die decodierte
Ausgabe aus dem Schieberegister zum Verknüpfungsaktualisierungsregister
zu aktualisieren. Diese Erfassungs-, Verschiebungs- und Aktualisierungsoperation
ist eine wohlbekannte Abtastoperation des TAP-Controllers, die im
IEEE STD 1149.1 gelehrt und in dessen 5–1 und 5–7 gezeigt
ist. Während dieser
Abtastoperation gibt der TLM-TAP-Controller die TLM-Select-Steuerung
aus, um den TDO-Ausgang des TLM 21 über den 3SMUX nach 2 mit dem
TDO-Pin 27 der IC zu koppeln. Während der Abtastoperation ist
außerdem
der Ausgang des 3SMUX durch den freigegebenen TAP (eines von Enable1–4) aktiviert,
um die Daten am TDO-Pin 27 der IC auszugeben. Die Daten
vom Verknüpfungsaktualisierungsregister
werden als EN1–4
und TAPSEL0–1
ausgegeben, um den gewünschten
TAP und seine TDO-Verbindung (eines aus TDO1–4) zum TDO-Pin 27 der
IC freizugeben. Das aktive Freigabesignal der Freigabesignale EN1–4 qualifiziert
ein entsprechendes Auswahlsignal der Auswahlsignale SEL1–4 an einem
der UND-Gatter 33–36,
wodurch das entsprechende SEL1–4 über das
ODER-Gatter 37 in den TLM-TAP-Controller eingegeben werden
kann. Die Auswahlsignale von den gesperrten TAPs werden durch die
UND-Gatter "AUS"-getastet, die den inaktiven Freigabesignalen
der Freigabesignale EN1–4 zugeordnet
sind. Das Decodieren vom 2-Bit-Schieberegister erlaubt, dass von
den 1149.1-Pins
bei 20 jedes von TAP1, TAP2, TAP3 oder TAP4 einzelnen ausgewählt, auf
jedes einzeln zugegriffen, jedes einzeln gesteuert und jedes einzeln
abgetastet werden kann.
-
4 zeigt
beispielhaft eine Detailansicht des TLM-TAP-Controllers 31.
Der TLM-TAP-Controller umfasst den herkömmlichen 1149.1-TAP-Controller 120 nach 12 und
eine Torsteuerung, um die TLM-Select-, TLM-ClockDR-, TLM-ShiftDR- und TLM-UpdateDR-Ausgänge des
TLM-TAP-Controllers freizugeben oder zu sperren. Nach dem Rücksetzen beim
Hochfahren ist der 1149.1-TAP-Controller 120 immer
mit dem Zustand des 1149.1-Testbusses synchronisiert. Es wird angegeben,
dass das Ausgangssignal 39 des UND-Gatters 38 nach 3 mit
dem 1149.1-TAP-Controller 120 an seinem Eingangsknoten 123 verbunden
ist, wo das TRST*-Signal üblicherweise
angeschlossen sein würde
(vergleiche mit 12). Die herkömmlichen
Ausgänge
des 1149.1-TAP-Controllers werden durch die ODER-Gatter 41 und 42 und
die UND-Gatter 45 und 47 "AUS"-getastet, sodass
der Zustand des Schieberegisters und des Verknüpfungsaktualisierungsregisters
des TLM während
der Datenregister-Abtastungen nicht gestört werden, die geschehen, während der
SEL-Eingang vom ODER-Gatter 37 (3) tief ist.
TLM-Select und TLM-ClockDR sind hoch, während das SEL tief ist, wobei
TLM-UpdateDR und TLM-ShiftDR tief sind, während das SEL tief ist. Diese
Ausgangsbedingungen stimmen damit überein, was der herkömmliche
1149.1-TAP-Controller 120 auf den analogen Signaltypen
(d. h. Select, ClockDR, ShiftDR und UpdateDR) ausgeben würde, wenn
die Datenregister-Abtastungen nicht ausgeführt werden. Wenn der SEL-Eingang
hoch ist, folgen die getasteten Ausgaben aus dem TLM-TAP-Controller
den herkömmlichen
1149.1-TAP-Controller-Ausgaben. Der Rücksetzausgang aus dem TLM-TAP-Controller
ist immer freigegeben, um das herkömmliche 1149.1-Rücksetzsignal
an die TAPs innerhalb der IC auszugeben. Der TLM-TAP-Controller
kann als der Master-TAP-Controller in der IC betrachtet werden, weil
er die Rücksetzbefugnis über alle
anderen TAPs besitzt.
-
Wenn
der TLM-TAP-Controller durch die Hochfahr-Rücksetzschaltung oder durch
Aktivierung des TRST*-Pins oder durch eine geeignete TMS-Sequenz
zurückgesetzt
wird (d. h. in den Testlogik-Rücksetzzustand
nach 14 gezwungen wird), gibt er ein Rücksetzsignal
aus. Entweder die Hochfahr-Rücksetzschaltung
oder das TRST*-Signal können
den Ausgang 39 des UND-Gatters 38 (siehe 3)
tief steuern und dadurch den Testlogik-Rücksetzzustand erzwingen. Eine
geeignete Folge von logischen 1en im TMS kann außerdem den TLM-TAP-Controller
in den Testlogik-Rücksetzzustand
setzen (siehe 14). Innerhalb des TLM 21 lädt das Rücksetzsignal
das Verknüpfungsaktualisierungsregister
mit EN1 und der geeigneten TAPSEL0–1-Steuerung (siehe 3),
um den TAP1 freizugeben und ihn zwischen den TDI-Pin 26 und den
3SMUX zu schalten (siehe 2). Das TLM-Select wird hoch
gesteuert, wenn sich der Controller 31 im Testlogik-Rücksetzzustand
befindet, weil der Auswahlausgang aus dem herkömmlichen 1149.1-TAP-Controller 120 im
Testlogik-Rücksetzzustand
hoch geht. Wenn das TLM-Select hoch ist, ist der Ausgang des MUX 23 über den
3SMUX mit dem TDO-Pin 27 verbunden. Indem anfangs der TAP1
aktiv gewählt
wird, erscheint die IC dem Testbus 13 so arbeitend, wie
es eine Ein-TAP-IC tun würde,
die im 1149.1-Standard beschrieben ist. Nach der anfänglichen
Auswahl des TAP1 kann das TLM durch den TAP1 ausgewählt und
dann abgetastet werden, um irgendeinen anderen TAP in der IC auszuwählen, damit
er der aktive TAP wird. Außerhalb
des TLM 21 initialisiert das Rücksetzsignal alle TAPs in den
Testlogik-Rücksetzzustand
nach 14.
-
5 zeigt
eine weitere Beispiel-IC gemäß der Erfindung,
die ein TAP-Verknüpfungsmodul
(TLM 51) enthält,
das ähnlich
zu 2 an die TAPs, die 1149.1-Test-Pins und die Multiplexer gekoppelt
ist. Außerdem
ist das TLM 51 über
die Verknüpfungssteuersignale
(LC2–4)
mit den TAPs 2–4
gekoppelt. Der Betrieb des TLM 51 ist zu dem des TLM 21 nach 2 ähnlich,
mit Ausnahme: (1) dass das TLM 51 mit Daten geladen werden
kann, um mehr als einen TAP auf einmal in der IC freizugeben; und
(2) dass das TLM 51 die Verknüpfungssteuerung an die TAPs ausgibt,
um die Verknüpfung
der TAPs miteinander in verschiedenen Anordnungen innerhalb eines
einzelnen Abtastweges zwischen den TDI-Pins 26 und den TDO-Pins 27 zu
erlauben. Die Verknüpfung
und Freigabe mehrerer ausgewählter
TAPs erlaubt, dass auf die den TAPs zugeordneten Schaltungen (BSR, MM1,
MM2, MM3) gleichzeitig zugegriffen wird.
-
In 5 ist
zu sehen, dass die TAPs 2–4 mehrere
Abtasteingänge
besitzen. Insbesondere besitzen die TAPs 2–4 Abtasteingänge wie
folgt: der TAP2 besitzt den TDI-Pin 26 und den TDO1; der TAP3
besitzt den TDI-Pin 26, den TDO1 und den TDO2; und der
TAP4 besitzt den TDI-Pin 26, den TDO1, den TDO2 und den
TDO3. Dies dient dazu, die serielle Verkettung freigegebener TAPs
miteinander in verschiedenen Arten zu erlauben. Der TAP1 und der
TAP4 können
z. B. gleichzeitig freigegeben und zusammen in den seriellen Weg
zwischen dem TDI 26 und dem TDO 27 geschaltet
sein. In dieser Anordnung können
der TAP1 und der TAP4 zusammen während
des Tests teilnehmen, während
der TAP2 und der TAP3 gesperrt sind. Die Verknüpfungssteuersignale LC2–4 für die TAPs
2–4 wählen den geeigneten
Abtasteingang in die TAPs aus, um eine spezielle serielle Verknüpfung zwischen
den TAPs herzustellen. Das TLM 51 kann die folgenden TAP-Verknüpfungsanordnungen
zwischen dem TDI 26 und dem TDO 27 schaffen:
TAP1-Verknüpfungen:
TAP1, TAP1&2,
TAP1&3, TAP1&4, TAP1,2&3, TAP1,2,&4, TAP1,2,3&4, TAP1,3&4
TAP2-Verknüpfungen:
TAP2, TAP2&3,
TAP2&4, TAP2,3&4
TAP3-Verknüpfungen:
TAP3, TAP3&4
TAP4-Verknüpfungen:
TAP4
-
Es
gibt umso mehr mögliche
Verknüpfungsanordnungen,
je mehr Abtasteingänge
es pro TAP gibt. Der TAP3 könnte
z. B. außer
denjenigen, die in 5 gezeigt sind, außerdem den
TDO4 als einen Abtasteingang besitzen. Die den mehreren Abtasteingängen der
TAPs nach 5 zugeordnete Multiplexierungs-Schaltungsanordnung
ist für
die Klarheit in 5 nicht gezeigt, ein Beispiel
ist jedoch im Folgenden in Bezug auf 8 beschrieben.
-
6 zeigt
eine Implementierung eines Schaltungsbeispiels des TLM 51.
Das TLM 51 ist zum TLM 21 nach 3 ähnlich,
mit Ausnahme: (1) dass das Schieberegister länger ist, zurückzuführen auf
die zusätzliche
Decodierung, die erforderlich ist, um mehrere TAPs zu verknüpfen; (2)
dass die Decodierschaltung und das Verknüpfungsaktualisierungsregister
einen zusätzlichen
Ausgang für
die Verknüpfungssteuerungen
LC2–4
bereitstellen; und dass (3) die Auswahleingänge von allen freigegebenen
und verknüpften
TAPs durch entsprechende aktive Freigabesignale für die Eingabe über die
UND- und ODER-Gatter 33–37 in den TLM-TAP-Controller 31 qualifiziert
werden.
-
Das
Beispiel nach 7 zeigt einen Abschnitt der
Konstruktion des TAP4 nach 2. Die anderen
TAPs nach 2 können analog konstruiert sein.
Der TAP-Controller 71 enthält einen Eingang für das EN4-Signal
vom TLM 21, das verwendet wird, um den TAP-Controller 71 freizugeben
oder zu sperren. Außerdem
besitzt der TAP-Controller 71 einen Eingang 73,
der mit dem Rücksetzausgang
vom TLM 21 verbunden ist, um ein globales Rücksetzen
aller TAPs bereitzustellen. Die Decodierung des TAP4-Befehlsregisters
enthält
die SEL4-Ausgabe zum TLM 21. Es wird außerdem ein Befehl bereitgestellt,
um zu erlauben, den SEL4-Ausgang hoch zu setzen, um den Abtastzugriff
des TLM 21 freizugeben.
-
Das
Beispiel nach 8 zeigt den TDI-Pin 26,
den TDO1, den TDO2 und den TDO3, die auf den Abtasteingang des TAP4
multiplexiert werden, um die Konstruktion nach 5 zu
unterstützen.
Die Abtasteingänge
der anderen TAPs nach 5 werden analog multiplexiert.
In diesem Beispiel ist ein 4 : 1-Multiplexer 81 über zwei
Verknüpfungssteuersignale
LC4A und LC4B mit dem TLM 51 verbunden, um zu steuern,
welcher Abtasteingang (TDI-Pin 26, TDO1, TDO2 oder TDO3)
mit dem TDI-Eingang des TAPs verbunden ist.
-
9 zeigt
eine Beispielkonstruktion des TAP-Controllers, um das Freigegeben
und Sperren der TAPs 1–4
nach den 2 und 5 unter
Verwendung der EN1–4-Ausgaben
entweder aus dem TLM 21 oder dem TLM 51 zu unterstützen. Das
Zustandsdiagramm des TAP-Controllers nach 9 entspricht
dem TAP-Controller 71 nach 7,
wobei es einen Testausführungs-/Ruhezustand
enthält,
in dem das Freigabesignal (in diesem Fall EN4) zusammen mit dem
TMS-Signal ausgewertet wird, um den nächsten Zustandsübergang
zu bestimmen. Im Testausführungs-/Ruhezustand
nach 9 ist der nächste
Zustand immer der Testausführungs-/Ruhezustand,
falls EN4 tief ist, ungeachtet des Logikpegels am TMS. Falls EN4
hoch ist, ist der nächste
Zustand von Testausführung/Ruhe
durch den Logikpegel am TMS bestimmt. Im UpdateDR-Zustand wird das
EN4-Signal zusammen mit dem TMS-Signal ausgewertet, um den nächsten Zustandsübergang
zu bestimmen. Im UpdateDR-Zustand nach 9 ist der
nächste
Zustand immer die Testausführung/Ruhe,
falls EN4 tief ist, ungeachtet des Logikpegels am TMS. Falls EN4
hoch ist, ist der nächste
Zustand vom UpdateDR durch den Logikpegel am TMS bestimmt. Obwohl 9 ein
Beispielzustandsdiagramm für
den TAP-Controller
des TAP4 veranschaulicht, können die
TAPs 1–3
analog konstruiert sein.
-
Der
Testausführungs-/Ruhezustand
nach 9 schafft außer
seinen herkömmlichen
Testausführungs-
oder Ruhefunktionen einen stabilen Zustand für den TAP-Controller, den er
annimmt und indem er verbleibt, wenn er nicht freigegeben ist, um mit
den 1149.1-Testbus-Pins verknüpft
zu werden. Die Verwendung des Testausführungs-/Ruhezustands als den
stabilen Zustand für
die fehlende Verknüpfung
ist vorteilhaft, weil ein wohlbekanntes Verfahren des Initialisierens
der Testoperationen, die einem gegebenen Befehl zugeordnet sind,
daran besteht, den TAP in die Testausführung/Ruhe mit dem gegebenen
Befehl im Befehlsregister zu überführen. Ein
Beispiel dieser vorteilhaften Verwendung von Testausführung/Ruhe
als den stabilen Zustand für die
fehlende Verknüpfung
ist im Folgenden in Bezug auf den RunBist-Befehl beschrieben.
-
Der
UpdateDR-Zustand nach 9 stellt außer seiner herkömmlichen
Datenaktualisierungsfunktion einen Verknüpfungsänderungszustand bereit, in dem
ein gegenwärtig
freigegebener TAP-Controller gesperrt wird und in den Testausführungs-/Ruhezustand
geht, während
ein neuer TAP-Controller freigegeben wird, um den Testbus-Pins der
ICs zu folgen.
-
In 2 und
nach einem Rücksetzen
befinden sich z. B. der TLM-TAP-Controller 31 und alle TAP-Controller
der TAPs1–4
im Testlogik-Rücksetzzustand
nach 9. Die 1149.1-Testbus-Pins der IC befinden sich
außerdem
im Testlogik-Rücksetzzustand,
da sie durch den externen Test-Controller angesteuert werden. Wenn
der Testbus aus dem Testlogik-Rücksetzen
in Testausführung/Ruhe
geht, folgen alle TAP-Controller der TAPs1–4 dem Testbus. Wenn jedoch
der Testbus aus Testausführung/Ruhe zu
Select-DR-Scan geht, folgt nur der TAP-Controller des TAP1 (TAP1 wird beim
Rücksetzen
freigegeben, um mit dem TAP verknüpft zu werden, wie vorausgehend
beschrieben worden ist). Die anderen TAP-Controller der TAPs2–4 verbleiben
in Testausführung/Ruhe,
weil ihre Freigabeeingänge
EN2–4
tief sind. Der TAP1 fährt
damit fort, dem Testbus zu folgen, bis ein weiterer TAP durch das
Abtasten des TLM 21 freigegeben wird. Wenn das TLM 21 abgetastet
wird, wird die neue Freigabe- und TAPSEL0,1-Steuerung vom TLM 21 aktualisiert. Falls
z. B. der TAP2 der neue auszuwählende
TAP ist, geht das EN1 für
den TAP1 tief, während
das EN2 für
den TAP2 in den UpdateDR-Zustand
hoch geht. Außerdem ändern sich
die TAPSEL0,1-Ausgänge, um
das TDO2 aus dem Multiplexer 23 auszugeben. Wenn sich die
Freigabeausgänge
vom TLM 21 ändern,
sieht der TAP-Controller des TAP1 ein tief am EN1, wobei er in den Übergang
aus dem UpdateDR-Zustand in die Testausführung/Ruhe gezwungen wird,
ungeachtet des Logikpegels am TMS. Wenn der TAP-Controller des TAP2
ein hoch auf EN2 sieht, wird er freigegeben, um entweder (1) vom
Testausführungs-/Ruhezustand
in den Select-DR-Scan-Zustand überzugehen,
falls das TMS hoch ist, oder (2) im Testausführungs-/Ruhezustand zu verbleiben, falls
das TMS tief ist. Während
ein TAP, der unverknüpft
ist, zum Übergang
aus dem UpdateDR-Zustand in den Testausführungs-/Ruhezustand gezwungen
wird, ungeachtet des Logikpegels am TMS, kann so ein verknüpfter TAP
entweder im Testausführungs-/Ruhezustand
verbleiben, falls der nächste
Zustand des Testbusses der Testausführungs-/Ruhezustand ist (TMS
= 0), oder in den Select-DR-Scan-Zustand übergehen,
falls der nächste
Zustand des Testbusses der Select-DR-Scan-Zustand ist (TMS = 1).
-
9A zeigt
ein Beispiel, wie der TAP-Controller 71 nach 7 das
EN4-Signal verwenden kann,
um das Zustandsdiagramm nach 9 zu verwirklichen.
Die TAP-Zustandsmaschinen-Schaltung 97 nach 9A kann
die herkömmliche 1149.1-TAP-Zustandsmaschine
sein, die das Zustandsdiagramm nach 14 implementiert.
Der Eingang 95, wo das TMS üblicherweise an die Zustandsmaschine
angelegt wird, ist in 9A jedoch mit dem Ausgang eines
Multiplexers 90 verbunden, dessen Dateneingabe TMS und
die Ausgabe 91 eines UND-Gatters 93 sind, dessen
Eingaben das TMS und das EN4 sind. Der Multiplexer 90 wird
gesteuert, um den Ausgang 91 des UND-Gatters auszuwählen, wenn
der decodierte Zustand der TAP-Zustandsmaschine Update-DR oder Testausführung/Ruhe
ist, und andernfalls das TMS auszuwählen.
-
Abgesehen
von den Verbesserungen, die den 7–9A (und 17 im
Folgenden) zugeordnet sind, können
die TAPs1–4
nach den 2 und 5 ansonsten
der herkömmlichen 1149.1-TAP-Konstruktion
nach 12 entsprechen. In der Tat arbeitet der TAP-Controller 71 nach
den 7–9A als
ein herkömmlicher 1149.1-TAP-Controller 120 nach 12,
falls EN4 hoch verankert ist. Es wird angegeben, dass der Eingang 73 des
TAP-Controllers 71 dem TRST*-Eingang des herkömmlichen
TAP-Controllers 120 entspricht (siehe 12).
-
Die
Beispiele in den 10 und 11 veranschaulichen
zwei Arten, in denen ein TAP synchron mit dem Testbus 13 verknüpft werden
kann. Das Beispiel nach 10 zeigt,
wie ein TAP synchron mit dem Testbus 13 verknüpft wird,
wenn der Testbus vom UpdateDR in den Testausführungs-/Ruhezustand übergeht.
Das Beispiel nach 11 zeigt, wie ein TAP synchron
mit dem Testbus 13 verknüpft wird, wenn der Testbus
vom UpdateDR zu Select-DR-Scan übergeht.
-
10 zeigt
ein Taktungsbeispiel, in dem der unverknüpfte TAP2 verknüpft wird
und der verknüpfte
TAP1 unverknüpft
wird, während
der Testbus aus dem UpdateDR-Zustand in den Testausführungs-/Ruhezustand
in den Select-DR-Scan-Zustand übergeht.
Die Verknüpfungsänderung
geschieht bei der Abfallflanke des TCK im UpdateDR-Zustand, wenn
das EN1 des TAP1 tief geht und das EN2 des TAP2 hoch geht. Bei der
nächsten
TCK-Anstiegsflanke geht der Testbus in den Testausführungs-/Ruhezustand,
der TAP1 (jetzt unverknüpft)
wird gezwungen, in die Testausführung/Ruhe überzugehen
(siehe 9), während
der TAP2 (jetzt verknüpft)
in der Testausführung/Ruhe
verbleibt (siehe 9). Bei der nächsten TCK-Anstiegsflanke
geht der Testbus in den Select-DR-Scan-Zustand über, der TAP2 geht mit dem
Testbus in den Select-DR-Scan-Zustand über und der TAP1 verbleibt
im Testausführungs-/Ruhezustand.
-
11 zeigt
ein Taktungsbeispiel, in dem der unverknüpfte TAP2 verknüpft wird
und der verknüpfte TAP1
unverknüpft
wird, während
der Testbus aus dem UpdateDR-Zustand direkt in den Select-DR-Scan-Zustand übergeht.
Die Verknüpfungsänderung
geschieht bei der Abfallflanke des TCK im UpdateDR-Zustand, wenn
das EN1 des TAP1 tief geht und das EN2 des TAP2 hoch geht. Bei der nächsten TCK-Anstiegsflanke
geht der Testbus in den Select-DR-Scan-Zustand über, der TAP1 wird gezwungen,
in die Testausführung/Ruhe überzugehen
(siehe 9), während
der TAP2 mit dem Testbus aus der Testausführung/Ruhe in den Select-DR-Scan-Zustand übergeht
(siehe 9). Bei der nächsten
TCK-Anstiegsflanke
geht der Testbus in den Select-IR-Scan-Zustand über, der TAP2 geht mit dem
Testbus in den Select-IR-Scan-Zustand über und der TAP1 verbleibt
im Testausführungs-/Ruhezustand.
-
Nach
dem Abschluss aller TAP-Zugriffe kann der Testbus in den Testlogik-Rücksetzzustand übergehen.
Die gegenwärtig
mit dem Testbus verknüpften TAP(s)
folgen ihm in den Testlogik-Rücksetzzustand. Die
nicht mit dem Testbus verknüpften
TAP(s) (d. h. die unverknüpften
und im Testausführungs-/Ruhezustand gelassenen
TAPs) werden durch den Rücksetzausgang
vom TLM-TAP-Controller 31 in
den Testlogik-Rücksetzzustand
gezwungen (3 und 4), der
immer den Testbusübergängen folgt
und das Rücksetzsignal
an alle TAPs ausgibt (siehe 2–5),
wenn der Testbus in den Testlogik-Rücksetzzustand eintritt.
-
Um
Flexibilität
bei der Verwendung des TLM 21 oder des TLM 51 zu
schaffen, um die TAPs innerhalb einer IC freizugeben oder zu sperren,
sollten die TLMs vorzugsweise während
einiger oder aller Befehle, die für jeden TAP definiert sind,
auswählbar sein.
Der 1149.1-Standard definiert z. B. die folgende Liste der erforderlichen
und optionalen TAP-Befehle: Bypass, Extest, Sample/Preload, Intest,
RunBist, Clamp, Highz, Idcode und Usercode. Während der Bypass-, Sample/Preload-,
Idcode- und Usercode-Befehle verbleibt die dem TAP zugeordnete funktionale
Schaltung in ihrer normalen Betriebsart. Während der Extest-, Intest-,
RunBist-, Clamp- und Highz-Befehle ist die dem TAP zugeordnete funktionale
Schaltung von ihrer normalen Betriebsart gesperrt. Die Anwender
des 1149.1-Standards
können Befehle
definieren und hinzufügen,
um kundenspezifische Testoperationen zu erreichen, wie z. B. internes
Abtasten, Emulation oder Online-BIST.
-
Die
Flexibilität
der Verwendung der TLMs wird verbessert, falls jeder der obenerwähnten herkömmlichen
Befehle durch ein Befehlspaar gemäß der vorliegenden Erfindung
ersetzt wird, wobei dieses Befehlspaar bestimmt, ob das TLM ausgewählt wird
oder nicht. Der herkömmliche
Extest-Befehl wählt
z. B. das Grenz-Abtastregister aus, um die Daten zwischen den TDI-
und TDO-Pins der IC abzutasten, wobei er aber den in 7 gezeigten
Auswahlausgang SEL4 überhaupt
nicht umfasst. Demzufolge würde
ein Befehl des Extest-Ersatzpaars (1) das Grenz-Abtastregister wie
der herkömmliche
Extest-Befehl auswählen,
(2) den SEL4-Ausgang deaktivieren, um das TLM abzuwählen und
(3) ansonsten die IC genauso wie der herkömmliche Extest-Befehl beeinflussen.
Ein weiterer Befehl des Extest-Ersatzpaars würde (1) das Grenz-Abtastregister
abwählen, (2)
SEL4 aktivieren, um das TLM für
das Abtasten auszuwählen,
und (3) ansonsten die IC genauso wie der herkömmliche Extest-Befehl beeinflussen.
-
Ein
Vorteil ist, dass das TLM betrieben werden kann, um einen TAP zu
sperren und einen weiteren freizugeben, während die Wirkung des aktuellen Befehls
auf die funktionale Schaltung aufrechterhalten wird, die dem gesperrten
TAP zugeordnet ist. In den 2 und 5 kann
es z. B. erwünscht
sein, die E/A der IC zu sperren, während eine Test- oder Emulationsoperation
am MM1 ausgeführt
wird. Um dies zu tun, würde
der TAP1 freigegeben und mit einer Highz-Befehlsversion abgetastet,
die das TLM auswählt
und das Umgehungsregister abwählt,
aber ansonsten die IC genauso wie der herkömmliche Highz-Befehl beeinflusst,
der die E/A der IC sperrt. Als Nächstes
sperrt eine Datenregisterabtastung für das TLM den Abtastzugriff
auf den TAP1 und gibt den Abtastzugriff auf den TAP2 frei, um die
gewünschte Test-
oder Emulationsoperation am MM1 freizugeben. Während der Test oder die Emulation
am MM1 geschieht, hält
die Highz-Befehlsversion, die im TAP1 in Kraft gelassen worden ist,
die E/A der IC gesperrt. Andere 1149.1-Befehle oder anwenderdefinierte
Befehle können ähnlich durch
einen ersten Befehl, der das TLM abwählt und ein Datenregister innerhalb
des TAPs auswählt,
und einen zweiten Befehl, der das TAP-Datenregister abwählt und
den externen TLM auswählt,
ersetzt sein, wobei beide Ersatzbefehle ansonsten die IC genauso
wie der entsprechende herkömmliche
Befehl beeinflussen.
-
Die
Beispiele nach den 16–17A veranschaulichen
die obenbeschriebene Ersetzung eines gegebenen herkömmlichen
Befehls durch ein Paar von Ersatzbefehlen, die das TLM auswählen oder
abwählen. 16 veranschaulicht
verschiedene Funktionen, die durch das Befehlsregister in der Architektur
des herkömmlichen
IEEE STD 1149.1 nach 12 gesteuert werden. In 16 wird
ein Befehl in das Schieberegister 162 verschoben, wobei die
Schieberegisterbits SRB3, SRB2 und SRB1 (d. h. der Befehl) dann
durch die Decodierlogik 165 decodiert werden. Die Ausgabe
der Decodierlogik wird in ein Aktualisierungsregister 167 geladen,
dessen Ausgänge
verschiedene Funktionen in der Testarchitektur steuern. Im Beispiel
nach 16 werden sechs Signale vom Aktualisierungsregister
ausgegeben, um die verschiedenen Funktionen zu steuern. Das Signal
BR gibt das Umgehungsregister frei, um die Daten durch dieses abzutasten,
das Signal BSR gibt das Grenz-Abtastregister (BSR) frei, um die
Daten durch dieses abzutasten, das an das BSR angelegte MODE-Signal
bestimmt, ob sich das BSR in einer Testbetriebsart, um die Testdaten
zu bearbeiten, oder in einer transparenten Betriebsart, um die normalen
funktionalen Signale hindurchzuleiten, befindet, das HIGHZ-Signal
kann die Ausgangspuffer 163 der integrierten Schaltung
oder des Kern-Megamoduls sperren, das BENA-Signal ist ein Bist-Freigabesignal,
um die Bist-Operationen freizugeben, und das REGSEL-Signal steuert
den Multiplexer 161, um zu bestimmen, welches Datenregister
(in diesem Beispiel das Umgehungsregister oder das BSR) mit dem Eingang
des Multiplexer 121 verbunden wird, der wiederum bestimmt,
ob ein Datenregister oder das Befehlsregister abgetastet wird.
-
16A zeigt herkömmliche
Befehle für
die Verwendung mit der herkömmlichen
Architektur nach 16. Jeder der Befehle wird decodiert,
um die angegebenen Logikpegel in den sechs Steuersignalen nach 16 zu
erzeugen. Der HighZ-Befehl gibt z. B. das Umgehungsregister für das Abtasten
frei (BR = 1), sperrt das BSR für
das Abtasten (Signal BSR = 0), setzt das BSR in die transparente
Betriebsart (MODE = 0), sperrt die Ausgangspuffer 163 (HIGHZ =
1), sperrt das Bist (BENA = 0) und wählt das Umgehungsregister am
Multiplexer 161 aus (REGSEL = 0). Als ein weiteres Beispiel
sperrt der herkömmliche
Extest-Befehl das Umgehungsregister für das Abtasten (BR = 0), gibt
das BSR für
das Abtasten frei (Signal BSR = 1), setzt das BSR in die Testbetriebsart
(MODE = 1), gibt die Ausgangspuffer 163 frei (HIGHZ = 0),
sperrt das Bist (BENA = 0) und wählt
das BSR am Multiplexer 161 aus (REGSEL = 1).
-
Die
beispielhafte 17 veranschaulicht die Befehlsregistersteuerung
innerhalb des TAP4 nach 7 gemäß der vorliegenden Erfindung
ausführlicher.
Die verbleibenden TAPs 1–3
können
analog konstruiert sein. Das Aktualisierungsregister 175 nach 17 gibt
die sechs Steuersignale nach 16 plus
das Signal SEL4, um das TLM auswählen,
aus. Das Schieberegister 171 nach 17 besitzt
ein zusätzliches
Schieberegisterbit SRB4, weil die sechs Beispielbefehle nach 16A gemäß der vorliegenden
Erfindung zwölf
Ersatzbefehle erfordern, wie in
-
17A gezeigt ist. Das zusätzliche Bit SRB4 ist folglich
notwendig, um die zwölf
Befehle nach 17A eindeutig zu codieren.
-
In 17A ist das Ersatzpaar für den herkömmlichen HighZ-Befehl im dritten
und neunten Eintrag der Tabelle nach 17A zu
sehen. Spezifischer wird der HighZ-Befehl, wobei das TLM nicht ausgewählt ist,
bei 173 decodiert (siehe 17), um dieselben
Logikpegel wie der herkömmliche HighZ-Befehl
auszugeben, und um außerdem
eine logische 0 am SEL4-Ausgang auszugeben, um zu sichern, dass
das TLM nicht ausgewählt
ist. Die decodierte Ausgabe des HighZ-Befehls, wobei das TLM ausgewählt ist,
ist dieselbe wie die decodierte Ausgabe des HighZ-Befehls, wobei
das TLM nicht ausgewählt
ist, mit Ausnahme, dass BR = 0 und SEL4 = 1 gilt, um zu sichern,
dass das TLM ausgewählt
ist und das Umgehungsregister abgewählt ist. Ähnlich enthält die decodierte Ausgabe des
Extest-Befehls, wobei das TLM nicht ausgewählt ist, dieselben sechs Logikpegel
wie der herkömmliche
Extest-Befehl plus eine logische 0 am SEL4, um zu sichern, dass
das TLM nicht ausgewählt
ist. Die decodierte Ausgabe des Extest-Befehls, wobei das TLM ausgewählt ist, ist
dieselbe wie die decodierte Ausgabe des Extest, wobei das TLM nicht
ausgewählt
ist, mit Ausnahme, dass sich das BSR-Signal auf einer logischen
0 befindet, um das BSR abzuwählen,
und dass SEL4 = 1 gilt, um das TLM auszuwählen. Folglich erlauben die obenbeschriebenen
Befehlspaare und die anderen in 17A gezeigten
Befehlspaare die Auswahl entweder des TLM oder eines internen Datenregisters (wie
z. B. des Umgehungsregisters oder des BSR) für das Abtasten, aber beide
Befehle jedes Befehlspaars stellen ansonsten die völlig gleichen
Steuersignale bereit, die durch die entsprechenden herkömmlichen Befehle
bereitgestellt werden, die in 16A veranschaulicht
sind. Folglich erlauben die Befehlspaare nach 17A dem TAP4, für das Abtasten entweder den
externen Datenweg im TLM oder ein internes Datenregister, wie z.
B. das Umgehungsregister oder das BSR, auszuwählen, während ansonsten Steuersignale
ausgegeben werden, die zu denjenigen völlig gleich sind, die den entsprechenden
herkömmlichen Befehlen
nach 16A zugeordnet sind.
-
Die
Ausführung
der RunBist-Operationen wird durch die Verwendung der RunBist-Ersatzbefehle
verbessert. Der herkömmliche
RunBist-Befehl beginnt eine Bist-Operation (Operation des eingebauten
Selbsttests), wenn der TAP in die Testausführung/Ruhe eintritt, aber der
herkömmliche
RunBist-Befehl wählt
ein Datenregister innerhalb des TAP (das Grenz-Abtastregister in
den 16–17)
für das
Abtasten aus. Ein erster TAP kann mit dem RunBist-Ersatzbefehl freigegeben
und abgetastet werden, der das TLM auswählt und das Grenz-Abtastregister
abwählt.
Nach dem Abtasten des TLM, um einen zweiten TAP freizugeben, wird der
erste TAP gesperrt, wobei er automatisch in den Testausführungs-/Ruhezustand übergeht (9–11),
in dem der RunBist-Ersatzbefehl wirksam wird, um die Bist-Operation zu beginnen. Während der
erste TAP die Bist-Operation in der Testausführung/Ruhe ausführt, kann
der zweite TAP mit dem obenerwähnten
RunBist-Ersatzbefehl abgetastet werden, der das TLM auswählt und
das Grenz-Abtastregister
abwählt.
Das Abtasten des TLM, um einen dritten TAP freizugeben, zwingt den
zweiten TAP in den Testausführungs-/Ruhezustand,
in dem der RunBist-Ersatzbefehl wirksam wird, um eine Bist-Operation
zu beginnen. Dieses Schema kann fortgesetzt werden, um aufeinanderfolgend
die TAPs auszuwählen
und das Bist-Testen in so vielen TAPs wie gewünscht zu beginnen. Folglich
können
die BIST-Operationen in den ausgewählten Megamodulen anstatt rein
sequentiell in zeitüberlappender
Weise geschehen. Dies schafft selbstverständlich Zeitersparnisse.
-
Um
das Bist-Ergebnis vom BSR nach 17 zu
erhalten, kann der TAP4 über
das TLM freigegeben und dann mit dem RunBist-Ersatzbefehl geladen werden,
der das TLM abwählt
und das BSR auswählt.
Mit dem ausgewählten
BSR kann das Bist-Ergebnis durch eine Datenregister-Abtastoperation
aus dem BSR heraus abgetastet werden.
-
Die
Architektur nach 5 kann außerdem die obige Prozedur ausführen, um
mehrere RunBist-Operationen zu beginnen, oder sie könnte einfach
alle TAPs oder die ausgewählten
TAPs zusammen freigeben/verknüpfen,
in jeden einen herkömmlichen
RunBist-Befehl einscannen und dann in die Testausführung/Ruhe eintreten,
um die RunBist-Befehle gleichzeitig auszuführen. Nach der Verknüpfung einer
ersten Gruppe von TAPs miteinander in 5 kann jeder
von ihnen mit dem RunBist-Ersatzbefehl geladen werden, der das TLM 51 auswählt, wobei
danach die Verknüpfung
der ersten Gruppe über
das TLM 51 aufgehoben werden kann, sodass die erste Gruppe
die Bist-Operationen in der Testausführung/Ruhe ausführen kann,
während
das TLM 51 eine zweite Gruppe von TAPs verknüpft, um
dieselbe Prozedur zu wiederholen. Während die Architektur nach 2 das
Freigeben eines TAP, das Laden von RunBist und dann das Sperren
des TAP, um die Bist-Operationen in einem Megamodul auszuführen, erlaubt,
erlaubt die Architektur nach 5 das Freigeben/Verknüpfen einer
Gruppe von TAPs, das Laden von RunBist und dann das Sperren/Aufheben der
Verknüpfung
der Gruppe von TAPs, um gleichzeitige Bist-Operationen in einer
Gruppe von Megamodulen auszuführen.
Die Fähigkeit
des aufeinanderfolgenden Auswählens
von Gruppen von TAPs, sodass jede Gruppe die Bist-Operationen gleichzeitig innerhalb
der Gruppe und in einer zeitüberlappenden Weise
bezüglich
anderer Gruppen ausführt,
schafft zusätzliche
Flexibilität,
um den zeiteffizientesten Zugang für einen Megamodul-Strukturentwurf
einer gegebenen IC zu schaffen.
-
Obwohl
das Vorsehen eines Ersatzbefehlspaars für jeden Befehl erlaubt, jeden
Befehl in Kraft zu lassen, nachdem ein TAP gesperrt worden ist, kann
ein einzelner Befehl definiert werden, um auf Wunsch das TLM auszuwählen. Wenn
ein einzelner TLM-Auswahlbefehl verwendet wird, kann der TAP die
Wirkung eines spezifischen Befehls in der IC nicht aufrechterhalten,
wenn auf das TLM zugegriffen wird.
-
Der
hierin beschriebene TAP-Verknüpfungszugang
könnte
auf einem Substrat (z. B. Mehrfachchip-Modul oder Leiterplatte),
das einzelne Schaltungen umfasst (z. B. Chip oder IC), erreicht
werden, wobei jede einen TAP mit extern zugänglichen Auswahl- und Freigabesignalen
besitzt, die SEL1–4
und EN1–4
entsprechen. Auf dem Substrat würde
außerdem
eine TLM-Schaltung (z. B. Chip oder IC) erforderlich sein. Ferner
würden
Multiplexer-Schaltungen (z. B. Chip oder IC) an den TDI-Eingängen einiger oder
aller der TAP'ed-Schaltungen
erforderlich sein, um das Verknüpfungsschema
für mehrere
TAP nach 5 zu unterstützen.
-
Obwohl
oben beispielhafte Ausführungsformen
der vorliegenden Erfindung beschrieben worden sind, schränkt diese
Beschreibung den Umfang der Erfindung nicht ein, die in einer Vielzahl
von Ausführungsformen
hergestellt werden kann.