-
Gebiet der
Erfindung
-
Die
Erfindung bezieht sich allgemein auf eine integrierte Schaltung
und insbesondere auf ein Verfahren und Vorrichtung zum Steuern eines
Teils der integrierten Schaltung.
-
Hintergrund
der Erfindung
-
Da
integrierte Schaltungen größer und
komplexer werden, ist es wichtig, die Steuerungsmethodologie und
-struktur zu verbessern, die verwendet wird, um verschiedene Teile
der integrierten Schaltung (IC) zu steuern. Ferner besteht eines
der Verfahren, die verwendet werden, um IC-Designzeit zu reduzieren, darin, wieder
verwendbare Module in eine einzige integrierte Schaltung zu kombinieren.
Wieder verwendbare Module können
von kleinen spezialisierten Funktionsblöcken, wie z. B. einem Ganzzahlmultiplikator, bis
zu Modulen, die früher
eine vollständige
IC waren, wie z. B. einem Mikroprozessor, variieren. Darüber hinaus
können
wieder verwendbare Module in vielen Formen vorhanden sein, die von
einem synthetisierbaren Modell, das leicht modifiziert werden kann,
bis zu einem physikalischen Modell, das nicht modifiziert werden
kann, reichen. Wenn unmodifizierbare wieder verwendbare Module in
einer integrierten Schaltung kombiniert werden, können Probleme
entstehen, wenn versucht wird, sie so zu kombinieren, dass neue
Funktionalität
auf der IC-Ebene verfügbar
ist, während
die Fähigkeit,
die ganze Funktionalität
einzelner wieder verwendbarer Module zu verwenden, testen und steuern,
beibehalten wird. Somit wird es zunehmend wichtiger, dass man im
Stande ist, die Steuerung und das Testen verschiedener wieder verwendbarer
IC-Teile oder Module, die ursprünglich
zur Verwendung in anderen ICs entworfen wurden, zu integrieren.
-
Die
US 6073254 A beschreibt
eine integrierte Schaltung, die eine Mehrzahl von IC-Anschlüssen mit
wieder verwendbaren Modulen mit unmodifizierten Zustandsmaschinen
umfasst. Eine Schaltschaltung koppelt basierend auf Konfigurationsinformation einen
Teil der IC-Anschlüsse
mit einer unmodifizierten Zustandsmaschine.
-
Die
US 6,334,198 beschreibt
eine Vorrichtung, die eine mit mehrfachen Kernschaltungen entworfene
IC steuert, wobei jede Kernschaltung einen zu einer bestimmten Zeit
aktivierten TAP-Controller umfasst.
-
Kurze Beschreibung
der Zeichnungen
-
Die
vorliegende Erfindung wird als Beispiel dargestellt und ist nicht
auf die Ausführungsformen beschränkt, die
in den begleitenden Figuren dargestellt werden, in denen ähnliche
Verweiszeichen ähnliche
Elemente anzeigen.
-
1 stellt
in Blockdiagrammform eine Ausführungsform
einer integrierten Schaltung 10 gemäß der vorliegenden Erfindung
dar.
-
2 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils eines wieder verwendbaren Moduls (1) 14 von 1 gemäß der vorliegenden
Erfindung dar.
-
3 stellt
in Zustandsdiagrammform eine Ausführungsform eines Zustandsdiagramms
für eine unmodifizierte
Zustandsmaschine 20 von 1 gemäß der vorliegenden
Erfindung dar.
-
4 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils einer Schaltung 18 von 1 gemäß der vorliegenden
Erfindung dar.
-
5 stellt
in Blockdiagrammform eine alternative Ausführungsform eines Teils der
Schaltung 18 von 1 gemäß der vorliegenden
Erfindung dar.
-
6 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils einer Schaltsteuerlogik 80 von 5 gemäß der vorliegenden
Erfindung dar.
-
7 stellt
in Blockdiagrammform noch eine weitere alternative Ausführungsform
eines Teils der Schaltung 18 von 1 gemäß der vorliegenden
Erfindung dar.
-
8 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils einer Schaltsteuerlogik 81 von 7 gemäß der vorliegenden
Erfindung dar.
-
9 stellt
in Blockdiagrammform eine Ausführungsform
eines Signaturschieberegisters 140 von 8 gemäß der vorliegenden
Erfindung dar.
-
Es
versteht sich für
qualifizierte Handwerker, dass Elemente in den Figuren der Einfachheit
und Übersichtlichkeit
halber dargestellt werden und nicht unbedingt maßstabgetreu gezeichnet worden
sind. Die Maße
einiger der Elemente in den Figuren können zum Beispiel in Bezug
auf andere Elemente übertrieben
sein, um das Verständnis
für die
Ausführungsformen
der vorliegenden Erfindung verbessern zu helfen.
-
Ausführliche
Beschreibung
-
1 stellt
eine beispielhafte integrierte Schaltung 10 mit IC-Anschlüssen 12 dar.
Die integrierte Schaltung 10 umfasst eine Mehrzahl von
wieder verwendbaren Modulen, nämlich
einem wieder verwendbaren Modul (1) 14 bis zu einem wieder
verwendbaren Modul (N) 16. Alternative Ausführungsformen
der vorliegenden Erfindung können
jedwede Anzahl an wieder verwendbaren Modulen verwenden. Die wieder
verwendbaren Module 14 und 16 umfassen unmodifizierte
Zustandsmaschinen 20 beziehungsweise 22. Durch
einen Teil einer IC-Integrationslogik 38 wird
eine Benutzersteuerung der wieder verwendbaren Module 14, 16 zur
Verfügung
gestellt. Die Logik 38 umfasst eine Steuerungserzeugungslogik 24 und
eine Mehrzahl von Duplizierzustandsmaschinen 26 und 28.
Die Duplizierzustandsmaschinen 26 und 28 duplizieren
einen Betrieb der unmodifizierten Zustandsmaschinen 20 und 22 in
den wieder verwendbaren Modulen 14 und 16. Alternative
Ausführungsformen
der vorliegenden Erfindung können jede
Anzahl an unmodifizierten Zustandsmaschinen 20, 22 und
jede Anzahl an Duplizierzustandsmaschinen 26, 28 umfassen.
Außerdem
können
alternative Ausführungsformen
der vorliegenden Erfindung eine Mehrzahl von unmodifizierten Zustandsmaschinen 20, 22 und
eine einzige Duplizierzustandsmaschine 26 umfassen oder
können
eine Mehrzahl von Duplizierzustandsmaschinen 26, 28 entsprechend
einer oder mehreren unmodifizierten Zustandsmaschinen 20, 22 umfassen.
Eine Schaltung 18 umfasst die Steuerungserzeugungslogik 24 und
die Mehrzahl der Duplizierzustandsmaschinen 26, 28.
Eine Kommunikation und Steuerung zwischen der IC-Integrationslogik 38 und
den wieder verwendbaren Modulen 14 und 16 werden
durch Steuerbus 34 und 36 zusammen mit Datenbus 33 und 35,
die zusammen einen Datenbus 37 umfassen, zur Verfügung gestellt.
In einer Ausführungsform
umfasst ein Testbus 31 den Steuerbus 34 und den
Datenbus 37. In der dargestellten Ausführungsform weist jedes wieder
verwendbare Modul (1) bis (N) ein oder mehrere zugeordnete Steuersignale
(z. B. Steuerbus 34) auf, die verwendet werden, um demjenigen
bestimmten wieder verwendbaren Modul Steuerinformation von der Logik 38 zur
Verfügung
zu stellen. Eine Kommunikation zwischen der Steuerungserzeugungslogik 24 und
den Duplizierzustandsmaschinen 26 und 28 wird durch
zustandsbezogene Informationsbusse 32 und 30 zur
Verfügung
gestellt. Die IC-Anschlüsse 12 können optional
verwendet werden, um es der Logik 38 zu ermöglichen,
Information außerhalb
der integrierten Schaltung 10 zur Verfügung zu stellen und zu empfangen.
-
Ein
bestimmtes Beispiel wird nur für
Veranschaulichungszwecke beschrieben. Es ist keinesfalls beabsichtigt,
die Erfindung auf dieses bestimmte Beispiel zu beschränken. Als
Beispiel ist es erwünscht, die
Steuermethodologie und -struktur einer integrierten Schaltung 10 zu
verbessern, die zwei oder mehrere wieder verwendbare Module (z.
B. 14, 16) kombiniert, wenn jedes wieder verwendbare
Modul einen IEEE (Institute of Electrical and Electronics Engineers)-Standard 1149.1-Test
Access Port umfasst, der eindeutige Funktionalität zur Verfügung stellt. Bei der IEEE Standard
Test Access Port and Boundary Scan Architektur (IEEE Standard 1149.1)
handelt es sich um einen wohl bekannten IEEE-Teststandard, der Zugriff auf Scanregister
innerhalb integrierter Schaltungen (ICs) zur Verfügung stellt.
Der IEEE-Standard
1149.1 definiert einen dedizierten Fünf-Pin-Testbus, bestehend aus vier Eingängen und einem
Dreizustandsausgang. Bei den Eingängen handelt es sich um Testtakt
(TCK), Test Mode Select (TMS), Testdateneingang (TDI) und Test Reset (TRST).
Der Ausgang ist Testdatenausgang (TDO).
-
2 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils des wieder verwendbaren Moduls (1) 14 von 1 gemäß der vorliegenden
Erfindung dar. In einer Ausführungsform
der vorliegenden Erfindung ist die in 2 dargestellte
Logik im Stande, dem IEEE-Standard 1149.1 zu entsprechen. Man beachte,
dass ein oder mehrere der anderen wieder verwendbaren Module (N) 16 diese
selbe Logik oder eine Variante davon verwenden können. In einer Ausführungsform
der vorliegenden Erfindung umfassen Eingänge zum wieder verwendbaren
Modul (1) einen Teil des Datenbusses 33, der ein Benutzersignal
TDI_1 umfasst, und einen Teil des Steuerbusses 34, der
globale Signale TRST und TCK und Benutzersignal TMS_1 umfasst. Man
beachte, dass in einer Ausführungsform
der vorliegenden Erfindung die Benutzersignale TDI_1 und TMS_1 nur
mit dem wieder verwendbaren Modul (1) gekoppelt sind. Der in 2 dargestellte
Teil des wieder verwendbaren Moduls (1) umfasst auch eine unmodifizierte
Zustandsmaschine 20 (TAP-Controller), die der unmodifizierten
Zustandsmaschine 20 in 1 entspricht. Der
in 2 dargestellte Teil des wieder verwendbaren Moduls
(1) umfasst auch ein Befehlsregister 130 und zugeordnete
Befehlsdecodierschaltungseinrichtungen 128, ebenso wie
Testdatenregister 120, ein Bypassregister 126,
ein Boundary Scan Register 124 und Debugregister 122.
-
Das
Befehlsregister 130 wird durch einen Befehlsdecoder 128 decodiert,
um Ausgänge
(Takte und/oder Steuersignale 121) zu erzeugen, die einen Multiplexer
(MUX) 132 steuern, um ein Datenregister aus der Mehrzahl
von Testdatenregistern 120, Debugregistern 122,
Boundary Scan Register 124 und Bypassregister 126 zu
selektieren. Der Test Access Port (TAP)-Controller 20 erzeugt
einen Satz Ausgänge (neun
Ausgänge
für den
IEEE-Standard 1149.1), die Takte und/oder Steuerungen 123 umfassen.
Die Ausgänge
des Tap-Controllers 20 steuern durch ein Steuern des Multiplexers 134 alle
Datenerfassungs- und Registerschiebeoperationen, ebenso wie eine Selektion
von entweder einem Testdatenregisterausgang oder einem Befehlsregisterausgang.
Ein TAP-Controller 20-Ausgang
steuert durch Aktivieren oder Deaktivieren eines Ausgangstreibers 136 auch, ob
das Benutzertestdatenausgangs (TDO_1)-Signal aus ist oder treibt.
-
3 stellt
ein durch den IEEE-Standard 1149.1 definiertes wohl bekanntes Zustandsdiagramm
für einen
Test Access Port (TAP)-Controller dar. In einer Ausführungsform
wird dieses Zustandsdiagramm durch jede der in 1 dargestellten
Zustandsmaschinen 20, 22, 26, 28 ausgeführt. Zu
Veranschaulichungszwecken bezieht sich eine weitere Erörterung
auf den TAP-Controller 20, obwohl die Beschreibung auch
auf TAP-Controller 22, 26 und 28 anwendbar
ist. Der TAP-Controller 20 tastet den Test Mode Select
(TMS)-Eingang bei jeder steigenden Flanke des Testtakts (TCK) ab,
um den Übergang zwischen
Zuständen
zu steuern. Der logische Zustand von TMS wird neben den Übergangspfaden, die
die Zustände
verbinden, dargestellt. Einige Zustandsübergangspfade werden fett (d.
h. als dickere Linien) dargestellt und werden hier unten ausführlicher
erörtert.
Jedoch sind zum Zwecke der folgenden Erörterung die fetten Zustandsübergänge mit
nicht fetten Übergängen identisch.
-
Der
TAP-Controller 20 wird als Antwort auf ein Einschaltrücksetzsignal,
einen Low-Pegel auf TRST oder einer geeigneten Eingangssequenz auf dem
TMS-Signal in den Test-Logic-Reset-Zustand 100 gezwungen.
Falls das TMS-Signal für
fünf aufeinander
folgende steigende Flanken von TCK auf dem High-Pegel gehalten wird,
geht der TAP-Controller 20 immer in den Test-Logic-Reset-Zustand 100 über. Die
Anzahl an aufeinander folgenden steigenden Flanken von TCK, um den
Test-Logic-Reset-Zustand 100 zu erreichen, hängt von
dem gegenwärtigen
Zustand ab, kann aber fünf
nicht überschreiten. Falls
weniger als fünf
aufeinander folgende steigende Flanken von TCK erforderlich sind,
erreicht der TAP- Controller 20 den
Test-Logic-Reset-Zustand in weniger Übergängen, bleibt dann aber in dem Test-Logic-Reset-Zustand 100.
-
Der
TAP-Controller 20 bleibt in dem Test-Logic-Reset-Zustand 100,
bis eine steigende Flanke von TCK mit TMS auf dem Low-Pegel auftritt,
was zu einem Übergang
in einen Run-Test/Idle-Zustand 101 führt. Der
TAP-Controller 20 bleibt im Run-Test/Idle-Zustand 101,
falls TMS auf dem Low-Pegel bleibt; ansonsten geht der TAP-Controller 20 in
den Select-DR-Scan-Zustand 102 über. Von
dem Select-DR-Scan-Zustand 102 geht der TAP-Controller 20,
abhängig
davon, ob sich TMS auf dem Low-Pegel respektive dem High-Pegel befindet,
entweder in einen Capture-DR-Zustand 103 oder in einen
Select-IR-Scan-Zustand 109 über.
-
Die
sechs unter dem Select-DR-Zustand 102 dargestellten Zustände (nämlich Zustände 103, 104, 105, 106, 107 und 108)
weisen analoge Funktionalität
mit den sechs unter dem Select-IR-Scan-Zustand 109 dargestellten
Zuständen
(nämlich
Zuständen 110, 111, 112, 113, 114 und 115)
auf, außer
dass die Zustände
unter dem Zustand 102 Testdatenregisteroperationen steuern,
wohingegen die Zustände
unter dem Zustand 109 Befehlsregisteroperationen steuern.
-
Der
Capture-DR-Zustand 103 initiiert eine Datenregisterscanoperation.
Der TAP-Controller 20 geht durch den Capture-DR-Zustand 103 über, um parallele
Daten in ein durch die Befehlsregisterdecodierung (128 von 2)
selektiertes Datenregister zu laden. Falls sich TMS auf dem High-Pegel
befindet, wird die Datenregisterschiebeoperation übersprungen
und in den Exit1-DR-Zustand 105 eingetreten. Falls sich
TMS während
des Capture-DR-Zustands 103 auf dem Low-Pegel befindet,
wird in den Shift-DR-Zustand 104 eingetreten und das durch
die Befehlsdecodierung 128 selektierte Testdatenregister
von TDI zu TDO geschoben. Die Datenregisterschiebeoperation kann
durch Übergehen über den Exit1-DR-Zustand 105 in
den Pause-DR-Zustand 106 angehalten werden und durch anschließendes Zurückkehren über den
Exit2-DR-Zustand 107 in
den Shift-DR-Zustand 104 wieder aufgenommen werden. Am
Ende der Datenregisterschiebeoperation geht der TAP-Controller 20 immer über den
Exit2-DR-Zustand 107 oder Exit1-DR-Zustand 105 durch
den Update-DR-Zustand 108 über, um neue parallele Daten von
dem Testdatenaktualisierungsregister in das durch die Befehlsdecodierung 128 selektierte
Testdatenregister zu laden und dadurch die Testdatenregisterscanoperation
fertig zu stellen. Vom Update-DR-Zustand 108 kann
der TAP-Controller 20, abhängig davon, ob sich TMS auf
dem Low-Pegel respektive dem High-Pegel befindet, entweder in den Run-Test/Idle-Zustand 101 oder
in den Select-DR-Scan-Zustand 102 übergehen.
-
Falls
in den Select-IR-Scan-Zustand 109 eingetreten wird, kann
der TAP-Controller 20, abhängig davon, ob sich TMS auf
dem Low-Pegel respektive dem High-Pegel befindet, in den Capture-IR-Zustand 110 übergehen,
um eine Befehlsregisterscanoperation zu initiieren, oder in den
Test-Logic-Reset-Zustand 100.
Falls der Übergang
zu einer Befehlsregisterscanoperation erfolgt, sind Operationen
in den Zuständen
Capture-IR 110, Shift-IR 111, Exit1-IR 112, Pause-IR 113,
Exit2-IR 114 und Update-IR 115 analog zu denjenigen,
die in analogen Zuständen
für die Testdatenregisters canoperation
ausgeführt
werden. Vom Update-IR-Zustand 115 können nächste Zustandsübergänge, abhängig davon,
ob sich TMS auf dem Low-Pegel respektive dem High-Pegel befindet, entweder
in den Run-Test/Idle-Zustand 101 oder in den Select-DR-Scan-Zustand 102 erfolgen.
-
Falls
der TAP-Controller 20 vom Select-IR-Scan-Zustand 109 in
den Test-Logic-Reset-Zustand 100 übergeht, erzeugt der TAP-Controller 20 ein
Steuersignal, um das Befehlsregister (130 von 2)
zu initialisieren und um Benutzer selektierte Bits vorgegebener
Register (z. B. 120, 122 und 124 von 2)
rückzusetzen.
-
Es
versteht sich, dass der hiernach genannte Begriff "TAP" einen TAP-Controller
(z. B. 20), ein Befehlsregister (z. B. 130), Testdatenregister
(z. B. 120, 122, 124 und 126)
und TDO- Multiplex (132, 134), wie in 2 dargestellt
und durch den IEEE-Standard 1149.1 definiert, umfasst.
-
Der
IEEE-Standard 1149.1 wurde von der Gesellschaft für elektronische
Tests unter der Annahme, dass eine IC nur einen einzigen TAP umfassen würde, entwickelt.
Heute jedoch können
ICs mehrere TAPs umfassen, da ICs unter Verwendung von wieder verwendbaren
Modulen entworfen werden, wobei jedes Modul einen TAP umfassen kann.
Ein wieder verwendbares Modul ist eine vollständige Schaltungsfunktion, wie
z. B. ein digitaler Signalprozessor, eine CPU, ein Teststeuerblock
oder jeder andere Funktionsblock, und kann seinen eigenen TAP aufweisen,
der als eine Unterschaltung verwendet werden kann, um von einem
externen 1149.1-Testbus (z. B.
-
Testbus 31 von 1)
auf Register innerhalb des wieder verwendbaren Moduls (z. B. 14 von 1)
zuzugreifen.
-
Deshalb
könnte
eine IC, die mehrere wieder verwendbare Module umfasst, mehrere
TAPs umfassen. Die durch diese Situation aufgeworfenen Probleme
bestehen darin, dass nur ein einziger TAP auf IC-Ebene sichtbar
sein sollte, um dem IEEE 1149.1-Standard zu entsprechen, aber ein
Zugriff auf die wieder verwendbaren Modul-TAPs ebenfalls benötigt wird,
um Zugriff auf die internen Register des wieder verwendbaren Moduls
zu erlangen. Deshalb muss irgendeine Art von Steuerschaltungseinrichtungen
auf IC-Ebene verwendet werden, um von dem externen IEEE-Standard-1149.1-Testbus
(z. B. Testbus 31) einen Zugriff auf den IC-Ebenen-TAP
(z. B. einen Teil von Logik 38) und auf jeden der in den
wieder verwendbaren Modulen (z. B. 14) umfassten TAPs zur
Verfügung
zu stellen.
-
Der
Stand der Technik hat eine Lösung
zu diesem Problem vorgeschlagen, welche über irgendeinen selektierten
TAP-Controller, dessen Zustandsmaschinensteuerung durch ein extern
erzeugtes Signal, das die selektierte TAP-Controller-Zustandsmaschine in einen
gewünschten
Zustand treibt, selektiv außer
Kraft gesetzt werden kann, Zugriff auf ein einzelnes Register zur
Verfügung
stellt. Das Verfahren stellt auch einen oder mehrere zusätzliche
TAP-Befehle zur
Verfügung,
die decodierbar sind, um einen externen Datenpfad zu selektieren. Ein
sequentieller Zugriff von TAPs von einer einzelnen IEEE-Standard-1149.1-TAP-Schnittstelle ermöglicht es,
dass sich verschiedenen TAPs zugeordnete Testoperationen zeitweise überschneiden.
-
Ein
sehr wesentliches Problem, das der durch den Stand der Technik gelehrten
Lösung
innewohnt, besteht darin, dass die TAP-Controllerzustandsmaschine
des IEEE-Standards 1149.1. in jedem wieder verwendbaren Modul 14, 16 modifiziert werden
muss, um zusätzliche(n)
Befehl(e) und einen zusätzlichen
Steuereingang zu umfassen; und ihr Zustandsdiagramm modifizieren
muss, so dass sie während
des Update-DR-Zustands
(108 von 3) basierend auf dem Wert des
zusätzlichen
Eingangs entweder in den Run-Test/Id1e-Zustand (101 von 3)
oder den Select-DR-Scan-Zustand (102 von 3) übergeht.
Der Effekt dieses zusätzlichen Steuereingangs
liegt darin, ein Mittel zum Selektieren eines neuen aktiven TAP-Controllers
zur Verfügung zu
stellen, während
nicht selektierte TAPs in einen Ruhezustand gezwungen werden. Zwar
ist dieser Ansatz für
neue Geräte
praktikabel, er ist aber nicht für
physikalische Designs praktikabel, die nicht geändert werden können, und
deshalb nicht verwendet werden können.
-
Die
vorliegende Erfindung geht das Problem an, das durch den Ansatz
auf dem Stand der Technik nicht gelöst wird. Die vorliegende Erfindung
auferlegt der Lösung
eine zusätzliche
und sehr wichtige Randbedingung: die TAP-Controllerzustandsmaschine für die wieder
verwendbaren Module kann nicht geändert werden. Für viele
ICs ist das die Situation in der Realität. In vielen Fällen ist
es nicht möglich
oder es ist unerschwinglich teuer, die TAP-Controllerzustandsmaschinen in einem
oder Modulen auf einem Chip, die wieder verwendet werden, zu ändern. In
einer Ausführungsform
ermöglicht
die vorliegende Erfindung die Se lektion und Steuerung einzelner
TAPs unter Verwendung des externen Testbusses des IEEE-Standards
1149.1, während
irgendwelche Änderungen
in der TAP-Controllerzustandsmaschine für die wieder verwendbaren Module
nicht erforderlich sind. In einer Ausführungsform stellt die vorliegende
Erfindung ein Verfahren zum dynamischen Neukonfigurieren mehrerer
TAPs in einer IC ohne Modifizieren der Standard-TAP-Controllerzustandsmaschine
des wieder verwendbaren Moduls zur Verfügung. Schließlich werden
für einige
Ausführungsformen
der Erfindung kein zusätzlicher
IC-Pin/Anschluss oder externe Anschlussressourcen erfordert.
-
4 stellt
in Blockdiagrammform eine Ausführungsform
eines Teils einer Schaltung 18 von 1 gemäß der vorliegenden
Erfindung dar. 4 stellt eine Art dar, in der
eine Duplizierzustandsmaschine (z. B. 26 von 1)
mit externen Eingängen, die
einen Testtakt (TCK) 60, Test Mode Select (TMS) 61,
Test Reset (TRST) 62 und eine Schaltsteuerung 63 umfassen,
gekoppelt sein kann. Das Schaltsteuerungssignal 63 wird
verwendet, um zu ermöglichen, dass
der Inhalt des Schaltaktualisierungsregisters 52 geändert wird,
das wiederum Schaltschaltungseinrichtungen 50 steuert.
Die Ausgänge
des dargestellten Teils der Steuerungserzeugungslogik 24 sind Steuersignale 34 und 36 (umfassend
die TMS-Signale
für Module
1 bis einschließlich
N) und Datensignale 33 und 35 für jedes
der wieder verwendbaren Module (umfassend die TDI- und TDO-Signale
für jedes Modul
1 bis einschließlich
N). Die Duplizierzustandsmaschine (DSM) 26 stellt über zustandsbezogene
Information 32 eine Zustandsmaschinensynchronisation mit
anderen identischen Zustandsmaschinen in den wieder verwendbaren
Modulen zur Verfügung.
-
Decodier-
und Tor- bzw. Gatingschaltungseinrichtungen 59 verwenden
den gegenwärtigen
Zustand der DSM 26 und Schaltsteuerung 63, um
Ausgangssteuersignale DSM_UpdateDR 70, DSM_ShiftDR 71,
DSM_ClockDR 72, DSM_Select 73 und DSM_Reset 74 zur
Verwendung beim Steuern der Konfiguration all der unmodifizierten
Zustandsmaschinen (z. B. 20, 22) in den wieder
verwendbaren Modulen (z. B. 14, 16) der integrierten Schaltung 10 zu
erzeugen.
-
In
einer Ausführungsform
der vorliegenden Erfindung ist ein TAP-Interconnect-Modul (TIM) 9 über den
IEEE-Standard-1149.1-Testbus
mit jedem wieder verwendbaren Modul (z. B. 14, 16)
von 1 gekoppelt, wobei jeder TAP eine dedizierte Verbindung
aufweist. Alternative Ausführungsformen
könnten
andere Testbusprotokolle für
den Testbus 31 (siehe 1) verwenden.
In einer Ausführungsform
besteht das TIM 9 aus einem TAP-Controller auf Masterebene
(Duplizierzustandsmaschine 26 zusammen mit Decodier- und
Gatingschaltungseinrichtungen 59), einem seriellen Schieberegister 56,
das mit einem Decoder 54 gekoppelt ist, der einem Schaltaktualisierungsregister 52 Steuereingang
zur Verfügung stellt,
und Schaltschaltungseinrichtungen 50. Als Antwort auf das
DSM_UpdateDR-Signal 70 wird der Inhalt des Schaltaktualisierungsregisters 52 vom
Decoder 54 aktualisiert und zu den Schaltschaltungseinrichtungen 50 übertragen,
und wird zusammen mit dem Testdateneingangssignal (TDI) und dem
Test Mode Select-Signal (TMS) verwendet, um jeden der TAPs in den
wieder verwendbaren Modulen 14, 16 separat zu
steuern. Der TAP-Controller in dem TIM 9 folgt den IEEE-Standard-1149.1-Pin/Anschlusssignalen
durch die Standard-TAP-Zustände
wie in 3 dargestellt. Das Schaltaktualisierungsregister 52 wird verwendet,
um die Konfiguration der mehreren TAPs innerhalb der wieder verwendbaren
Module 14, 16 zu steuern.
-
Die
Funktion des TIM 9 besteht darin, als TAP-Controller auf IC-Ebene
zu dienen und eine individuelle Selektion von TAPs innerhalb mehrerer
wieder verwendbarer Module 14, 16 zu ermöglichen. Das
TIM 9 erzeugt ein gemeinsames Rücksetz- und Testtaktsignale
für jeden
wieder verwendbaren Modul-TAP zusammen mit einem Satz einzelner
Steuersignale (TDI_1 bis einschließlich TDI_N und TMS_1 bis einschließlich TMS_N).
Das TIM 9 empfängt
einen eindeutigen Ausgang TDO_1 bis einschließlich TDO_N, wobei N die Gesamtzahl
an TAPs für
alle wieder verwendbaren Module 14, 16 ist.
-
Die
innerhalb des TIM 9 umfassten Schaltschaltungseinrichtungen 50 koppeln
einzelne TDI- und TDO-Signale für
selektierte TAPs (1 bis einschließlich N) zusammen, um eine
serielle Scankette mit den TAPs in jeder gewünschten Ordnung unter Software-
oder Hardwaresteuerung zu bilden. Die Notwendigkeit, dass eher einzelne
Steuersignale, z. B. TDI_1 bis einschließlich TDI_N, erzeugt werden als
es einfach von dem IC-TDI-Eingangspin/Anschluss 12 rund
zu senden, hängt
von dem Verfahren ab, das verwendet wird, um das Select-Signal für TIM 9 zu
implementieren. In 4 wird das TIM-Select-Signal
(Schaltsteuerung 63) über
einen externen IC-Pin/Anschluss 12 zur Verfügung gestellt.
Alternative Ausführungsformen
der vorliegenden Erfindung können
das TIM 9 über
auf der IC 10 eingebaute Testschaltungsein richtungen von
der IC 10 bordseitig steuern (nicht dargestellt).
-
Die
in 4 dargestellte Duplizierzustandsmaschine (DSM) 26 folgt
dem in 3 dargestellten Zustandsmaschinendiagramm und
ermöglicht
es dem TIM 9, den Zustand der unmodifizierten TAP-Zustandsmaschinen
(20, 22 von 1) in den
wieder verwendbaren Modulen 14, 16 zu verfolgen.
Der TIM 9-TAP-Controller stellt über die Steuersignale 34, 36 jeder
der TAP-Zustandsmaschinen in den wieder verwendbaren Modulen 14, 16 auch
ein Reset-Signal zur Verfügung,
das entweder durch ein externes TRST-Signal durch die IC-Anschlüsse 12 oder
dadurch, dass der TIM 9-TAP-Controller den Test-Logic/Reset-Zustand 100 (siehe 3)
erreicht, angelegt wird. Wenn das TIM-Select-Steuersignal (Schaltsteuerung 63)
angelegt wird, wird der TIM 9-TAP-Controller aktiviert,
um während
der geeigneten Zustände
das DSM_ShiftDR-Signal 71, das DSM_ClockDR-Signal 72,
DSM_UpdateDR-Signal 70 und die DSM_Select-Signale 73 (die
funktionsgemäß analog
zu den ShiftDR, ClockDR, UpdateDR und Select-Signalen, wie in dem
IEEE-Standard 1149.1 definiert, sind) zu erzeugen. Die Decodier- und
Gatingschaltungseinrichtungen 59 stellen Steuerlogik für das TIM-Schieberegister 56,
Decoder 54, Schaltaktualisierungsregister 52 und
Schaltschaltungseinrichtungen 50 zur Verfügung.
-
Durch
das IEEE-Standard-1149.1-Testbussignal TDI 64 zur Verfügung gestellte
serielle Eingangsdaten werden dem TIM-Schieberegister 56 präsentiert
und decodiert, wie in 4 dargestellt wird. Wenn das
TIM 9 durch Anlegen des extern zur Verfügung gestellten Schaltsteuerungssignals 63 selektiert
wird und der TIM-TAP-Controller den Update-DR-Zustand (108 in 3)
erreicht, wird DSM_UpdateDR 70 angelegt, und das Schaltaktualisierungsregister 52 wird
mit einem neuen Wert vom Decoder 54 aktualisiert, der verwendet
wird, um die in 4 dargestellten Schaltschaltungseinrichtungen 50 zu
steuern.
-
Alle
TAPs in den wieder verwendbaren Modulen 14, 16 empfangen über die
Steuersignale 34 und 36 identische TCK- und DSM_Reset-Steuersignale.
Die Schaltschaltungseinrichtungen 50 steuern Selektion
und Scankettenordnung der wieder verwendbaren Module 14, 16,
indem jedem der TAPs in den wieder verwendbaren Modulen 14, 16 einzelne IEEE-Standard-1149.1-Testbussignale
TMS beziehungsweise TDI zugeführt
werden. Es besteht die Flexibilität, einen oder mehrere TAPs
in den wieder verwendbaren Modulen 14, 16 zu selektieren
und die einzelnen Befehls- und Datenregister des/der erwünschten
wieder verwendbaren Moduls/Module 14, 16 zu verketten.
Es wird keine Modifikation der IEEE-Standard-1149.1-TAP-Implementierung in den wieder
verwendbaren Modulen 14, 16 erfordert.
-
Alle
deaktivierten TAPs in den wieder verwendbaren Modulen 14, 16 werden
im Run-Test/Idle-Zustand 101 (siehe 3) "geparkt", indem durch die
Schaltschaltungseinrichtungen 50 eine null (0) an das TMS-Signal
jedes während
der fallenden Flanke von TCK zu deaktivierenden TAP gezwungen wird, während sich
die TAP-Zustandsmaschine im Update-DR-Zustand 108 befindet, was den
TAP bei der nächsten
steigenden Flanke von TCK in den Run-Test/Idle-Zustand 101 zwingt.
Deaktivierte TAP-Controller bleiben im Run-Test/Idle- Zustand 101,
während
das TMS-Signal auf null (0) gezwungen bleibt.
-
In
einer Ausführungsform
der vorliegenden Erfindung wird erfordert, dass sich der Zustand
aller aktivierten TAPs in den wieder verwendbaren Modulen 14, 16 im
selben Zustand befindet. Deshalb muss es ein Verfahren geben, das
eine Zustandssynchronisation von aktivierten und wieder aktivierten
Modulen gewährleistet.
Um einen TAP in den wieder verwendbaren Modulen 14, 16 zu
aktivieren oder wieder zu aktivieren, koppeln die Schaltschaltungseinrichtungen 50 die
TMS-Eingänge
dieser wieder verwendbaren Module 14, 16 mit den
kundenspezifischen TMS-Signalen 34 und 36 während der
fallenden Flanke von TCK 60, während sich die TIM 9-TAP-Zustandsmaschine
im Update-DR-Zustand 108 befindet. Die TMS-Eingänge dieser
wieder verwendbaren Module 14, 16 werden bei der
nächsten
steigenden Flanke von TCK 60 abgetastet. Der anschließende Zustand
für alle
aktivierten TAP-Controller
ist entweder Run-Test/Idle 101, falls TMS null (0) ist,
oder Select-DR-Scan 102, falls TMS eins (1) ist. Um zu
gewährleisten,
dass neu deaktivierte TAP-Controller in den wieder verwendbaren
Modulen 14, 16 in den Run-Test/Idle-Zustand 101 eintreten,
werden ihre TMS-Eingänge
während
der fallenden Flanke von TCK 60 auf null (0) getrieben,
während
sich die TIM 9-TAP-Zustandsmaschine im Update-DR-Zustand 108 befindet.
Die TMS-Eingänge
werden bei der nächsten
steigenden Flanke von TCK abgetastet. Der anschließende Zustand
für die
neu deaktivierten TAP-Controller
ist Run-Test/Idle 101, da die TMS-Eingänge für diese TAP-Controller in den
wieder verwendbaren Modulen 14, 16 null (0) sind.
Die TMS-Eingänge
für die
deaktivierten TAP-Controller bleiben unabhängig von dem Wert von TMS 61 bis
zu einer solchen Zeit auf null (0) getrieben, wo neue Schaltkonfigurationsinformation
an die Schaltschaltungseinrichtungen 50 zur Verfügung gestellt
wird, was dazu führt,
dass ein deaktivierter TAP-Controller in den wieder verwendbaren
Modulen 14, 16 wieder aktiviert wird. Dadurch
bleiben die deaktivierten TAP-Controller im Run-Test/Idle-101-Zustand.
-
Dadurch,
dass alle Schaltaktivität
im Update-DR-Zustand 108 ausgeführt wird,
wird eine Synchronisation aller Zustandsmaschinen im Select-DR-Zustand 102 der
aktivierten und wieder aktivierten TAP-Controller in den wieder
verwendbaren Modulen 14, 16 gewährleistet.
Falls während
des Update-DR-Zustands 108 TMS auf den Low-Pegel gezwungen
wird, nämlich
null (0), befinden sich alle TAP-Controller in den wieder verwendbaren
Modulen 14, 16 nach der nächsten steigenden Flanke von TCK
im Run/Test-Idle-Zustand 101. Falls alternativ während des
Update-DR-Zustands 108 TMS auf den High-Pegel getrieben
wird, nämlich
eins (1), gehen bei der nächsten
steigenden Flanke von TCK alle aktivierten TAP-Controller in den
wieder verwendbaren Modulen 14, 16 in den Select-DR-Zustand 102 über, während deaktivierte
TAP-Controller in
den wieder verwendbaren Modulen 14, 16 in den
Run-Test/Idle-Zustand 101 übergehen oder in ihm bleiben.
-
In
einer Ausführungsform
der vorliegenden Erfindung wird durch die Schaltschaltungseinrichtungen 50 eine
Scankettenkonfiguration gesteuert, indem das externe Signal TDI 64 mit
dem TAP-Controller für
das erste aktivierte wieder verwendbare Modul 14, 16 gekoppelt
wird. Der TDO-Ausgang dieses wieder verwendbaren Moduls 14, 16 wird
dann mit Hilfe der Schaltschaltungseinrichtungen 50 zum
TDI-Eingang des nächsten
aktivierten wieder verwendbaren Moduls 14, 16 gemultiplext.
Dieser Prozess setzt sich für
jedes aktivierte wieder verwendbare Modul 14, 16 fort.
Der TDO-Ausgang des letzten aktivierten wieder verwendbaren Moduls 14, 16 wird
mit dem Ausgangsmultiplexer 58 gekoppelt, der den Testdatenausgang
(TDO) 65 treibt. Der TDI-Eingang für deaktivierte wieder verwendbare
Module 14, 16 spielt keine Rolle und kann durch
die Schaltschaltungseinrichtungen 50 entweder auf eins
(1) oder null (0) getrieben werden.
-
Eine
Selektion der wieder verwendbaren Module 14, 16 und
Scankettenordnung wird durch die Schaltschaltungseinrichtungen 50 gesteuert.
Die Konfiguration kann durch Einfügen eines neuen Steuerworts
in das Schieberegister 56 geändert werden, welches durch
den Decoder 54 decodiert wird. Der decodierte Wert wird
während
des Update-DR-Zustands 108 durch den TIM 9-TAP-Controller
an das Schaltaktualisierungsregister 52 übertragen,
wenn der Ausgang DSM_UpdateDR 70 angelegt wird. Damit diese
Betriebsabläufe
jedoch stattfinden können,
muss das TIM 9-Modul selektiert werden; ansonsten wird
das DSM_UpdateDR-Signal 70 im Update-DR-Zustand 108 nicht angelegt
und das Schaltaktualisierungsregister 52 wird nicht geändert.
-
In
der in 4 dargestellten Ausführungsform der vorliegenden
Erfindung wird eine Selektion des TIM 9 durch einen externen
Select-Pin/Anschluss gesteuert, der als der extern zur Verfügung gestellte
Schaltsteuerungseingang 63 von 4 dargestellt
wird. Dieser TIM 9-Select- Pin/Anschluss 12 (siehe 1)
kann abhängig
von der spezifischen Ausführungsform
der aktuellen Erfindung entweder während des Update-IR-Zustands 115 abgetastet und
gelatcht werden oder kann während
eines anschließenden
Eingangs neuer Konfigurationsinformation angelegt bleiben müssen. Wenn
anschließend
in den Shift-DR-Zustand 104 eingetreten wird, empfängt das
serielle Schieberegister 56 einen neuen Wert, der dann
decodiert wird. Falls, und nur falls, der externe TIM 9-Select-Pin/Anschluss 12 angelegt wird
(oder für
einige Ausführungsformen
wie während
des vorherigen Update-IR-Zustands 115 angelegt
erfasst wurde), wird das Steuersignal DSM_UpdateDR 70 angelegt
und der Decoder 54-Ausgang wird in das Schaltaktualisierungsregister 52 gelatcht,
wobei auf diese Weise die Selektion und Ordnung von TAPs in wieder
verwendbaren Modulen 14, 16 wie durch die Schaltschaltungseinrichtungen 50 gesteuert
geändert
werden.
-
5 stellt
eine alternative Ausführungsform der
vorliegenden Erfindung dar, die das Erfordernis nach einem externen
IC-Pin/Anschluss 12 zum Steuern einer Selektion des TIM 9 umgeht.
Stattdessen wird der IC 10 ein Schaltsteuerlogikblock 80 hinzugefügt, um eine
TIM 9-Selektion zu ermöglichen.
Darüber
hinaus wird die Quelle des Testdateneingangs (TDI) zu den Schaltschaltungseinrichtungen 50 von 64 in
den modifizierten TDI-Ausgang 82 der Schaltsteuerung 80 geändert. Die
Schaltsteuerlogik 80 empfängt das externe TDI-Signal 64 und
erzeugt unter Verwendung eines Satzes von Steuersignalen 86 von
der Duplizierzustandsmaschine 26 ein modifiziertes TDI-Signal 82.
Der Schaltsteuerlogikblock 80 erzeugt auch ein zusätzliches
Ausgangssignal TIM select 98, welches, wenn angelegt, das
TIM 9 selektiert. In allen an deren Aspekten können die
Schaltungseinrichtungen von 5 in der
für 4 oben beschriebenen
Weise arbeiten.
-
6 stellt
Einzelheiten eines Teils des in 5 dargestellten
Schaltsteuerlogikblocks 80 zur Verfügung. Die Eingangssignale von 6 sind
TDI 64, welches über
Pin/Anschlüsse 12 (siehe 1) mit
dem externen Testbus gekoppelt ist, und vier Steuersignale, die
durch die Duplizierzustandsmaschine 26 erzeugt werden.
Die vier Steuersignale sind: DSM_Reset 74, DSM_ClockIR 95, DSM_UpdateIR 96 und
DSM_SelectIR 97. Diese vier Steuersignale werden während der
geeigneten Zustände
der Duplizierzustandsmaschine 26 erzeugt, und werden durch
die Selektion von TIM 9 nicht konditioniert. Wenn DSM_Reset 74 angelegt
wird, wird das DSM-Befehlsregister 92 auf eins (1) gezwungen, was
das TIM 9 deselektiert. Wenn eine serielle Scanoperation
für eine
Datenoperation im Gange ist, strömt
das externe Signal TDI 64 unverändert durch die Schaltsteuerlogik 80 durch
einen Multiplexer 94 und wird das modifizierte TDI-Signal 82.
Wenn eine serielle Scanoperation für Befehlsdaten im Gange ist, wird
ein DSM-Befehlsschieberegister 90 mittels des MUX 94 zwischen
das TDI-Signal 64 und das modifizierte TDI-Signal 82 eingeschoben.
DSM_SelectIR 97 wird angelegt, um zu veranlassen, dass
der Ausgang des DSM-Befehlsschieberegisters 90 durch den
MUX 94 auf dem modifizierten TDI-Signal 82 getrieben
wird. Somit wird durch das DSM_SelectIR-Signal 97, das
als ein decodierter Ausgang der Duplizierzustandsmaschine 26 erzeugt
wird und eines der Signale in der Steuerlogik 86 ist, eine
Unterscheidung zwischen Daten- und Befehlsoperationen zur Verfügung gestellt.
Ein Schiebetakten für
das DSM-Befehlsschieberegister 90 und ein Aktualisieren
des DSM-Befehlsregisters 92 wird durch Duplizierzustandsmaschinenausgangssignale DSM_ClockIR 95 beziehungsweise
DSM_UpdateIR 96 gesteuert, die durch eine Selektion von
TIM 9 nicht konditioniert werden.
-
Wenn
Befehlsdaten geschoben werden, wird ein DSM-Befehlsregisterbit (DSM-Befehlsschieberegister 90)
als ein extra Schieberegisterbit in den Befehlsregisterschiebepfad
eingefügt.
Ein Befehlsframe ist die Summe all der aktivierten wieder verwendbaren
Modul-TAP-Befehlsregisterbitbreiten.
Deshalb wird, wenn der Benutzer einen neuen Befehl selektiert, dem
Befehlsframe für
das extra Schieberegisterbit für
das DSM-Befehlsschieberegister 90 ein weiteres Bit hinzugefügt, das
den verketteten Befehlsregistern der aktivierten TAPs in den wieder
verwendbaren Modulen 14, 16 vorangestellt worden
ist.
-
Wenn
ein Befehlsscan im Gange ist, selektiert das DSM_SelectIR-Signal 97 den
DSM-Befehlsschieberegister 90-Eingang des Multiplexers 94,
der das 1-Bit-DSM-Befehlsschieberegister 90 effektiv
in den Befehlsscanpfad einfügt.
Das Steuersignal DSM_ClockIR 96, das durch die Duplizierzustandsmaschine 26 erzeugt
wird, steuert ein Schieben des DSM-Befehlsschieberegisters 90.
Wenn die Befehlsscanoperation das Schieben abgeschlossen hat, wobei
auf diese Weise die Befehlsbits in dem DSM-Befehlsschieberegister 90 und
den Befehlsregistern aller gegenwärtig selektierten TAPs in den wieder
verwendbaren Modulen 14, 16 gerahmt werden, überträgt das TIM_UpdateIR-Signal 96 das DSM-Befehlsschieberegister 90 zum
DSM-Befehlsregister 92 und
der Wert des TIM_SELECT-Signals 98 wird geändert, um
dem Wert des DSM-Schieberegisterbits 90 zu entsprechen.
-
Wenn
eine neue Konfiguration der TAPs erwünscht wird, wird das DSM-Befehlsschieberegisterbit 90 für TIM 9 mit
einer null (0) gefüllt,
was dazu führt,
dass, wird erst einmal der UpdateIR-Zustand 115 erreicht,
das TIM 9 selektiert wird, und andere gegenwärtig selektierte
TAP-Befehlsregister 130 (siehe 2)
werden mit Bypassbefehlen gefüllt,
die tatsächlich
eine Nulloperation sind. Wenn in den Update-IR-Zustand 115 eingetreten
wird, wird das DSM-Befehlsschieberegister 90 abgetastet
und in das DSM-Befehlsregister 92 gelatcht,
und dieser Wert wird als TIM_SELECT 98 zur Verfügung gestellt.
Ist TIM_SELECT 98 erst einmal angelegt, wird es den Decodier-
und Gatingschaltungseinrichtungen 59 ermöglicht,
während
der geeigneten DSM-Zustände
DSM_ShiftDR 71, DSM_ClockDR 72, DSM_Select 73 und
DSM_UpdateDR 70 zu erzeugen. Wenn in einen anschließenden Shift-DR-Zustand 104 eingetreten
wird, wird das TIM-Schieberegister 56 (siehe 5)
mit dem TDO-Pin/Anschluss der IC 10 gekoppelt, und es wird
neue Konfigurationsinformation in das Schieberegister 56 geschoben. Bei
Eintreten in den Update-DR-Zustand 108 wird DSM_UpdateDR 70 angelegt,
und der decodierte Schieberegisterwert wird vom Decoder 54,
der dann neue Konfigurationssteuerdaten lädt, zum Schaltaktualisierungsregister 52 übertragen.
-
Man
kann erkennen, dass die in 5 und 6 dargestellte
Ausführungsform
der vorliegenden Erfindung einen Einbitbefehl hinzufügt, der
den verketteten Befehlen aller aktivierten wieder verwendbaren Module 14, 16 vorangestellt wird.
Dieser Einbitbefehl wird verwendet, um zu ermitteln, ob das TIM 9 für eine anschließende Datenoperation
selektiert oder deaktiviert wird. Falls aktiviert, lädt die anschließende Datenoperation
neue Konfigurationssteuerinformation für die Schaltschaltungseinrichtungen 50.
-
7 stellt
noch eine weitere Ausführungsform
der vorliegenden Erfindung dar, die das Problem der TIM 9-Selektion auf eine
völlig
andere Art und Weise löst,
die weder einen Pin/Anschluss 12 noch eine Erweiterung
des Befehlsregisters (z. B. 92 in 6) erfordert,
die für
eine externe Logik, die den TAP der IC 10 betreibt, sichtbar
sind. Stattdessen werden interne selbst selektierende Schaltungseinrichtungen
in einer Schaltsteuerlogik 81 verwendet (siehe 8),
was dazu führt,
dass das TIM_SELECT-Signal 98 basierend
auf einer Übereinstimmung
mit einer vorgegebenen N-Bit-Signatur angelegt wird.
-
Die
Schaltsteuerlogik 81 von 7 umfasst die
Signaturerzeugungslogik (z. B. 140 von 8) und
empfängt
zustandsbezogene Information von der Duplizierzustandsmaschine 26 und,
optional, dem Testdateneingang 64. In einer Ausführungsform basiert
die Signatur auf Zustandsinformation, während in einer anderen Ausführungsform
die Signatur auf dem Testdateneingang basiert. Alternative Ausführungsformen
der vorliegenden Erfindung können die
Signatur auf einer Kombination aus Zustandsinformation und Testdateneingang
basieren oder können
die Signatur auf was immer für
Information erwünscht
ist basieren.
-
8 stellt
eine Ausführungsform
der Schaltsteuerlogik 81 von 7 dar. Die
Eingangssteuersignale sind Signature_CLK 150, Signature_DATA 151,
Signature_RESET 152 und DSM_UpdateIR 149. Die
N-Bit vorgegebene Signaturschaltung 142 ist ein nichtflüchtiges
Speicherelement, das einen oder mehrere vorgegebene Signaturwerte
speichert. Die Schaltung 142 kann aus Registerspeicherbits
bestehen, es kann sich um fest verdrahtete logische Pegel handeln,
oder kann von Signalen außerhalb
der Schaltsteuerlogik 81 zur Verfügung gestellt werden. Wenn
das Signature_RESET-Signal 152 angelegt wird, wird ein Signaturschieberegister 140 auf
einen nicht passenden Wert initialisiert, das SR-Latch 148 wird
rückgesetzt
und das Schaltsteuerausgangssignal 84 wird so getrieben,
dass das TIM 9 nicht selektiert wird.
-
Der
Signaturregistertakt, Signature_CLK 150, ist ein gegateter
Takt, der "aus" ist, bis ein vorgegebenes
Ereignis, wie z. B. Eintreten in einen vorgegebenen der in 3 dargestellten
TAP-Controller-Zustände,
stattfindet. Bei Triggern des Signaturregistertakts wird Signature_CLK 150 aktiviert,
um dem Testdatentakt, TCK 60 (siehe 7), zu folgen. Signature_CLK 150 wird
bei Erreichen eines weiteren vorgegebenen Ereignisses, wie z. B.
Eintreten in einen vorgegebenen der in 3 dargestellten TAP-Controller-Zustände, erneut
off-gegatet. Es ist eine genaue Steuerung des Signature_RESET-Signals 152 und
des Signature_CLK-Signals 150 erforderlich,
um ein durch eine unbeabsichtigte Signaturübereinstimmung verursachtes
Signaturaliasing zu vermeiden.
-
Während N-Bits
an Daten in das Signaturschieberegister 140 geschoben werden,
wird die eingehende Signatur unter Verwendung eines N-Bit-Komparators 144 mit
der in der vorgegebenen Signaturschaltung 142 gespeicherten
erwarteten Signatur verglichen. Der Komparatorausgang 144 wird nur,
wenn der DSM_UpdateIR 149-Impuls auftritt, abgetastet.
Das Komparatorergebnis wird dann durch 146 zu einem SR-Latch 148 gegatet,
das den Ausgang TIM_Select 98 erzeugt, um eine TIM 9-Selektion
zu steuern. Falls die eingehende Signatur der erwarteten Signatur
entspricht, wird das SR-Latch 148 gesetzt, was dazu führt, dass
das TIM 9 selektiert wird; ansonsten bleibt das SR-Latch
rückgesetzt
und das TIM 9 wird nicht durch die Schaltsteuerung 84 selektiert.
-
Ein
beispielhaftes Verfahren, das verwendet werden kann, um eine Signatur
einzurichten, besteht darin, eine Untermenge der Zustandsüberquerungsgeschichte
des DSM-TAP-Controllers
unter Verwendung des externen TMS-Signals 12 als Signaturdaten
zu erfassen. Mit diesem Verfahren hat der Benutzer Kenntnis von
der Zustandsgeschichte, die benötigt
wird, um ein passendes Signal zu erzeugen, und es liegt in der Verantwortung
des Benutzers, diese Sequenz zu erzeugen, wenn eine TIM 9-Selektion
erwünscht
wird.
-
Um
ein Aliasing zu vermeiden, wird das Signaturschieberegister 140 während des
CaptureIR-Zustands 110 (siehe 3) durch
das Anlegen des Signature_RESET-Signals 152 mit einem nicht passenden
Wert vorgeladen. Das gegatete Taktsignal, nämlich Signature_CLK 150,
wird dann aktiviert, um ein Takten zur Verfügung zu stellen, das jeden
folgenden TMS-Wert in das Signaturschieberegister 140 erfasst,
bis Signature_CLK 150 bei Erreichen des Shift-IR-Zustands 111 deaktiviert
wird.
-
Bei
Erreichen des Shift-IR-Zustands 111 wird Signature_CLK 150 off-gegatet
und die im Signaturschieberegister 140 erfasste letzte
eingehende Signatur wird mit der in der vorgegebenen Signaturschaltung 142 gespeicherten
erwarteten Signatur verglichen. Während des Update-IR-Zustands 115 wird
der Komparatorausgang 144 in das SR-Latch 148 gestrobt
und das TIM_SELECT-Signal 98 wird angelegt, falls sie übereinstimmen,
und negiert, falls sie es nicht tun.
-
9 stellt
das Ergebnis einer beispielhaften Signatur dar, die durch die fett
in 3 dargestellte vorgegebene Zustandsüberquerungssequenz erzeugt
wird. Das Signature_DATA-Signal 151 von 8 wird
als TMS 61 selektiert, das bei der steigenden Flanke von
Signature_CLK 150 abgetastet wird, und die vorgegebene
7-Bit-Signatur ist die TMS-Sequenzbinäre 0100001, wobei die "1" ganz rechts bei der ersten steigenden
Flanke von Signature_CLK 150 abgetastet wird. Die Signatur
von TMS nach der Aktivierung im Capture-IR-Zustand 110 entspricht
einer Überquerung
der folgenden Zustände,
die in 3 fett dargestellt werden: Exit1-IR 112,
Pause-IR 113, Pause-IR 113, Pause-IR 113,
Pause-IR 113, Exit2-IR 114 und Shift-IR 111.
Bei Erreichen des Shift-IR-Zustands 111 wird der Signaturtakt
off-gegatet, um ein Schieben zu beenden, und die zwei Signaturen
werden verglichen. Das Ergebnis des Vergleichs wird dann in das
SR-Latch 148 geladen, wenn der UpdateIR-Zustand 115 anschließend überquert
wird. Es könnten
auch andere Zustandsüberquerungssignaturen
mit sich unterscheidenden Sequenz längen, ebenso wie die Verwendung
anderer Zustände,
um Signature_CLK 150 zu aktivieren und zu deaktivieren,
und um das Signaturschieberegister 140 und SR-Latch 148 rückzusetzen,
verwendet werden. Andere Verfahren zum Ermitteln eines Signaturvergleichs – zum Beispiel
ein selektives Aktivieren und Deaktivieren von Signature_CLK 150 basierend auf
einem oder mehreren Zuständen
der DSM 24, 26 oder basierend auf einem oder mehreren
bestimmten Zustandsübergängen der
DSM 24, 26 – sind
in alternativen Ausführungsformen
der vorliegenden Erfindung ebenfalls möglich.
-
Andere
Signaturverfahren könnten
ebenfalls verwendet werden. Der TDI 64-Pin/Anschluss 12-Wert
spielt während
des Pause-IR-Zustands 113 zum Beispiel normalerweise keine
Rolle. Deshalb könnte
ein signaturbasiertes Verfahren zum Selektieren des TIM 9 darauf
basieren, dass der TDI-Pin/Anschluss 12 während des
Pause-IR-Zustands 113 N-mal abgetastet wird und dann eine
vorgegebene eindeutige N-Bit-Signatur
gesucht wird. Dem Benutzer der IC 10 würde die passende Sequenz zur Kenntnis
gebracht werden, und er würde
die Verantwortung zum Erzeugen der vorgegebenen Sequenz von Ereignissen
haben, um eine passende Signatur zu erzeugen, wenn ein Zugriff auf
das TIM 9 erwünscht
wird. In diesem Verfahren wird das Signature_RESET-Signal 152 durch
einen anderen Zustand als den Pause-IR-Zustand 113 ausgelöst, um das
Signaturschieberegister 140 zu initialisieren. Das Signature_CLK-Signal 150 wird
nur während des
Pause-IR-Zustands 113 aktiviert.
Der Benutzer der IC 10 würde den TAP-Controller für die erforderliche
Anzahl an Takten im Pause-IR-Zustand 113 halten, um die
erwartete Sequenz von Werten am TDI-Pin/Anschluss 12 zur
Verfügung
zu stellen, was dann zu einem Anlegen des TIM_SELECT-Signals 98 im
Update-IR-Zustand 115-Zustand führt.
-
Kombinationen
von Signaturen, die eine oder mehrere erfasste Sequenzen der Zustandsgeschichte
kombiniert mit einer oder mehreren erfassten Sequenzen der TDI 64-Eingangswerte verwenden,
können
ebenfalls verwendet werden, um eine Selektion von TIM 9 für einen
Zugriff zu ermöglichen. Wie
man erkennen kann, ist der Umfang der vorliegenden Erfindung nicht
auf eine bestimmte Sequenz oder Verfahren der Erfassung von Signaturinformation
zum Zwecke des Selektierens des TIM 9 beschränkt.
-
In
der vorangehenden Spezifikation ist die Erfindung mit Bezug auf
bestimmte Ausführungsformen
beschrieben worden. Es versteht sich jedoch für einen ordentlichen Fachmann,
dass verschiedene Modifikationen und Änderungen durchgeführt werden
können
ohne vom Umfang der vorliegenden Erfindung wie in den Ansprüchen unten
dargelegt abzuweichen. Demgemäß sind die
Spezifikation und Figuren vielmehr in einem veranschaulichenden
als einem beschränkenden
Sinne zu betrachten, und es ist beabsichtigt, all derartige Modifikationen
innerhalb des Umfangs der vorliegenden Erfindung zu umfassen. Man
beachte, dass die vorliegende Erfindung nicht auf irgendeinen bestimmten
Teststandard (z. B. den IEEE-Standard 1149.1) beschränkt ist,
und in der Tat in keiner Weise auf den Testbereich beschränkt ist.
Die vorliegende Erfindung ist zum Beispiel bei jeder Anwendung nützlich,
wo es keine oder begrenzte Fähigkeit
zum Modifizieren einer ursprünglichen
Zustandsmaschine gibt. Falls zum Beispiel zusätzliche Fähigkeit für eine ursprüngliche Zustandsmaschine gewünscht wird
(in irgendeinem Betrieb einschließlich Normalbetrieb, Test usw.),
kann der Duplizierzustandsmaschine die zusätzliche Fähigkeit hinzugefügt werden,
und der Steuersignal(e)ausgang von der Duplizierzustandsmaschine
kann von der Duplizierzustandsmaschine zum Ausgang der ursprünglichen
Zustandsmaschine oder zu wo immer das/die Steuersignal/e zu verwenden
sind, geleitet werden. Das kann ein sehr nützlicher Ansatz sein, wenn
ein oder mehrere Blöcke
ursprünglicher
oder vorher vorhandener Schaltungseinrichtungen auf eine einzige integrierte
Schaltung integriert werden.