-
Die
vorliegende Erfindung betrifft eine Steuerung bzw. eine Steuerungseinrichtung
zur Durchführung von
Scanprüfungen
bzw. Scantests und insbesondere eine Prüfzugangsport-Steuerung (Test
Access Port (TAP) Controller) zur Durchführung von Scanprüfungen mit
einer Kette von Scanhaltespeichern (scan lachtes).
-
Die
Grenz-Scanprüfung
(Boundary Scan Testing) ist ein anerkanntes technisches Verfahren
zur Überprüfung der
Funktionsfähigkeit
von Logikschaltkreisen in den Verbindungen integrierter Schaltungen
untereinander. Es folgt nun eine Kurzbeschreibung dieses technischen
Verfahrens als Hintergrund zur vorliegenden Erfindung.
-
1 ist
eine schematische Darstellung eines Beispiels für die Struktur einer integrierten
Schaltung (IC) 2, welche die zur Durchführung der Grenz-Scanprüfung erforderlichen
Grundelemente aufweist. Die IC 2 enthält eine funktionelle Logikschaltung 4,
eine Vielzahl von Grenzscanzellen 6a,6b,6c,6d und
eine Prüfzugangsport-Steuerung
(TAP-Steuerung) 12. Für
den funktionellen Normalbetrieb der IC 2 ist die funktionelle
Logikschaltung 4 mit den Grenzscanzellen 6a bis 6d über respektive
Verbindungsleitungen 10a bis 10d verbunden. Die
Grenzscanzellen 6a bis 6d sind außerdem mit
respektiven externen Anschlußstiften 8a,8b,8c,8d verbunden,
die es ermöglichen,
die funktionelle Logikschaltung mit anderen Schaltungen, darunter
auch andere ICs, zu verbinden. Für
den Zweck der Durchführung
der Grenz-Scanprüfung
enthält
jede Grenzscanzelle 6a bis 6d zusätzlich eine
Scanprüfschaltung,
wobei die Scanprüfschaltungen über Verkettungsverbindungen 14a,14b,14c,14d,14e zu
einer Kette verbunden sind, die an der TAP-Steuerung 12 beginnt und endet.
-
Die
Grenzscanzellen 6a bis 6d sind nur zum Zweck der
Durchführung
der Grenz-Scanprüfung
vorgesehen. Im funktionellen Normalbetrieb der IC 2 bewirken
die Grenzscanzellen 6a bis 6d eine direkte Verbindung
zwischen den Verbindungselementen 10a bis 10d und
den externen Anschlußstiften 8a bis 8d.
Da der funktionelle Normalbetrieb immer aktiviert wird, wenn die
TAP-Steuerung zurückgesetzt
wird, sind die Verbindungselemente 10a bis 10d nach
einer Zurücksetzung
(Reset) immer direkt mit den externen Anschlußstiften 8a bis 8d verbunden.
-
Eine
einfache Grenz-Scanprüfung
erfolgt mit der Absicht, die Integrität der Verbindung zwischen jedem
Anschlußstift 8a bis 8d und
einem entsprechenden Anschlußstift
einer anderen IC zu überprüfen. Eine einfache
Ausführungsform
einer bekannten Grenzscanzelle zur Verwendung in einer Grenzscan-Prüfschaltung,
die dies verwirklichen kann, ist in 2 dargestellt.
Eine solche Grenzscanzelle ist gemäß der IEEE-Normvorschrift 1149.1-1990
bekannt. Die Grenzscanzellen 6a bis 6d können funktionell
so konstruiert werden, daß nur
Eingangssignale für
die funktionelle Logikschaltung 4 angenommen werden können, oder daß nur Ausgangssignale
von der funktionellen Logikschaltung 4 ausgegeben werden
können,
oder daß Signale
sowohl in die funktionelle Logikschaltung 4 eingegeben
sowie auch von ihr ausgegeben werden können. Die folgende Beschreibung
bezieht sich auf die Ausführungsform,
in welcher die Grenzscanzellen 6a bis 6d alle
nur Ausgangssignale von der funktionellen Logikschaltung 4 ausgeben
können.
-
Die
Grenzscanzelle in 2 umfaßt einen Eingangsmultiplexer 26a,
einen Ausgangsmultiplexer 18a und zwei Haltespeicher 28a,40a.
Der Eingangsmultiplexer 26a nimmt das Signal DATAIN auf
der Leitung 10a als eines seiner Eingangssignale und das
Signal SCANIN auf der Leitung 14a als sein anderes Eingangssignal.
Der Eingangsmultiplexer wird vom Signal TAPCONTROL1 auf der Leitung 34 gesteuert.
Das Ausgangssignal des Eingangsmultiplexers 26a auf der
Leitung 30a bildet das Eingangssignal für den Einfang-Haltespeicher 28a,
und das Ausgangssignal vom Haltespeicher 28a auf der Leitung 16a bildet
das Eingangssignal für den
Aktualisierungs-Haltespeicher 40a auf der Leitung 22a und
das Signal SCANOUT auf der Leitung 14b. Die Haltespeicher 28a und 40a werden
respektive mit den Signalen TAPCLOCK1 und TAPCLOCK2 auf der Leitung 36 bzw. 38 getaktet.
Der Ausgangsmultiplexer 18a nimmt als eines seiner Eingangssignale
das Signal DATAIN auf der Leitung 10a und als sein anderes
Eingangssignal das Ausgangssignal des Haltespeichers 40a auf
der Leitung 24a. Der Ausgangsmultiplexer wird von einem
Signal TAPCONTROL2 auf der Leitung 22 gesteuert und erzeugt
das Signal DATAOUT auf der Leitung 8a als sein Ausgangssignal.
Die Signale TAPCONTROL1, TAPCONTROL2, TAPCLOCK1 und TAPCLOCK2 werden
alle unter der Kontrolle der TAP-Steuerung 12 erzeugt und
dienen gemeinsam für
alle Grenzscanzellen 6a bis 6d, jedoch im Interesse
der Übersichtlichkeit
sind diese Verbindungen und Signale in 1 nicht
dargestellt.
-
Nun
werden zwei Betriebsarten der IC 2 in 2 mit
Hinweis auf die 1 und 2 beschrieben. Es
wird darauf hingewiesen, daß jede
der Grenzscanzellen 6a bis 6d eine Schaltung enthält, die
der in 2 dargestellten Schaltung ähnlich ist, wobei die verschiedenen
Bauteile- und Signalleitungs-Bezeichnungen das entsprechende Suffix
b, c, d tragen.
-
In
der normalen Betriebsart ist die TAP-Steuerung 12 inaktiv,
und der Ausgangsmultiplexer 18a wird vom Steuersignal TAPCONTROL2
auf der Leitung 22 so gesteuert, daß das Signal DATAIN auf der
Leitung 10a mit dem Signal DATAOUT auf der Leitung 8a direkt
verbunden ist. Während
dieses funktionellen Normalbetriebs ist die Steuerung des Eingangsmultiplexers 26a unwichtig,
und die Taktsignale TAPCLOCK1 und TAPCLOCK2 auf den Leitungen 36 bzw. 38 werden
vorzugsweise inaktiviert.
-
Wenn
eine Grenz-Scanprüfung
ausgeführt
werden soll, steuert die TAP-Steuerung 12 auf
IC 2 das Signal TAPCONTRL2 auf der Leitung 22 so,
daß der
Multiplexer 18a sein Eingangssignal auf der Leitung 24a vom
Ausgang des Haltespeichers 40a zu seinem Ausgang auf die
Leitung 8a durchverbindet. Um die Grenz-Scanprüfung ausführen zu
können,
ist es erforderlich, ein bekanntes Datenbit an jedem der respektiven Anschlußstifte 8a bis 8d anzulegen.
Um dies zu erreichen, steuert die TAP-Steuerung den Multiplexer 26a mit dem
Steuersignal TAPCONTRL1 auf der Leitung 34 so, daß sein Ausgang
an der Leitung 30a mit seinem Eingang an der Leitung 14a verbunden
ist. Dann gibt die TAP-Steuerung 12 seriell eine Folge
von Prüfbits
auf der Leitung 14a aus, unter der Kontrolle des Taktsignals
TAPCLOCK1 auf der Leitung 36, so daß die Prüfbits sequentiell durch die
Haltespeicher 28a bis 28d über die Signalleitungen 14b bis 14d getaktet
werden. Nach einer Mehrzahl von Taktzyklen des Signals TAPCLOCK1
(vier solche Zyklen im in der 1 dargestellten
Beispiel, jedoch normalerweise eine viel größere Anzahl, die von der Anzahl
und Art der Anschlußstifte 8a bis 8d abhängt) ist
in jedem der Knoten 31a bis 31d ein bekanntes
Prüfbit
mittels der respektiven Haltespeicher 28a bis 28d gespeichert.
Die TAP-Steuerung taktet dann das Signal TAPCLOCK2 auf der Leitung 38 so,
daß das Prüfbit an
jedem Knoten 31a bis 31d auf den Ausgangsleitungen 24a bis 24d der
Haltespeicher 40a bis 40d erscheint. Folglich
erscheinen die Prüfbits
an den respektiven externen Stiftanschlüssen 8a bis 8d.
Wenn die IC 2 mit ähnlichen
Grenzscanzellen verbunden ist, die konfiguriert sind, um Eingangssignale
ihrer respektiven IC zuzuführen
und über
eine Grenzscanfähigkeit
verfügen,
dann können
die TAP-Steuerungen,
die diese Eingangs-Grenzscanzellen steuern, ihre respektiven Grenzscanzellen
auslesen, so daß eine
Prüfung
ausgeführt werden
kann, um sicherzustellen, daß der
von einer jeweiligen TAP-Steuerung an eine Grenzscanzelle geschriebene
Bitwert erfolgreich an eine andere, daran angeschlossene Grenzscanzelle übertragen
wurde. In dieser Weise können
die Verbindungswege zwischen verschiedenen ICs geprüft werden.
-
Es
ist ersichtlich, daß das
oben beschriebene technische Verfahren die Ausführung dieser Prüfung ermöglicht,
ohne daß die
TAP-Steuerung 12 sich mit der eigentlichen Logikoperation
der funktionellen Logikschaltung 4 befassen muß. Die TAP-Steuerung
muß lediglich
die Anzahl und die Art der Grenzscanzellen auf der IC 2 kennen.
Das technische Verfahren der Grenz-Scanprüfung ist in erster Linie zum
Prüfen
der Leiterplatte vorgesehen.
-
3 zeigt
das Statusdiagramm der TAP-Steuerung gemäß der Definition in der IEEE-Norm 1149.1-1990.
Nun wird die Funktionsweise der Schaltung gemäß 2 zur Durchführung einer
Grenz-Scanprüfung
an Hand des in 3 gezeigten Statusdiagramms
beschrieben.
-
Während des
Normalbetriebs der IC 2 befindet sich die TAP-Steuerung 12 in
einem zurückgesetzten Status
SO der Prüflogik.
In diesem Status ist die Prüflogik
inaktiv, und das Signal DATAIN auf der Leitung 10a ist,
durch den Ausgangsmultiplexer 18a, direkt verbunden mit
dem Signal DATAOUT auf der Leitung 8a, gesteuert mit dem
Signal TAPCONTROL2 auf der Leitung 22. Die TAP-Steuerung 12 wird
mit einem Haupt-Taktsignal MCLOCK gesteuert. Das Haupt-Taktsignal
MCLOCK ist eine gepufferte Version des in der IEEE-Norm 1149.1-1990
definierten Taktsignals TCK. Zum Beginn einer Prüfoperation schaltet die TAP-Steuerung
zunächst
um in einen Prüfablauf-Wartestatus
S1.
-
Wenn
eine Grenz-Scanprüfung
durchgeführt
werden soll, geht die TAP-Steuerung 12 im
nächsten Taktzyklus
von MCLOCK in einen Scanwählstatus
S2 über,
und das Signal TAPCONTROL2 auf der Leitung 22 wechselt
seinen Status, so daß das
Ausgangssignal DATAOUT des Multiplexers 18a auf der Leitung 8a direkt
mit dem Signal auf der Leitung 24a verbunden ist. Mit dem
nächsten
Taktzyklus von MCLOCK geht die TAP-Steuerung in einen Einfangstatus
S3 über.
An dieser Stelle des Prüfvorgangs
ist der Einfangstatus belanglos, da noch keine Prüfdaten in
die Scanprüfschaltung
geladen wurden.
-
Mit
dem nächsten
Taktzyklus von MCLOCK erfolgt der Übergang in einen Schiebestatus
S4. In diesem Status erzeugt die TAP-Steuerung eine Mehrzahl von
Taktzyklen, die das Taktsignal TAPCLOCK1 auf der Leitung 36 darstellen,
während
das Signal TAPCONTROL1 auf der Leitung 34 auf einem Pegel
gehalten wird, der das Signal SCANIN auf der Leitung 14a am
Ausgang 30a des Multiplexers 26a erscheinen läßt. In dieser
Weise werden die Prüfdaten
seriell in die Prüfschaltung
hineingeschoben, so daß nach
einer bestimmten Anzahl n von Taktzyklen des Signals TAPCLOCK1 (im
Beispielfall vier solche Zyklen) die Haltespeicher 28a,28b,28c,28d alle
ein bekanntes Prüfbit
an ihren respektiven Ausgängen
auf den Knoten 31a bis 31d enthalten. Folglich
wird der Schiebestatus S4 während
n Zyklen des Haupttaktsignals MCLOCK beibehalten. Im nächsten Zyklus
des Haupt-Taktsignals erfolgt der Übergang in den Exit1-Status
S5. Der Status S5 ist ein temporärer
Status, und die TAP-Steuerung
geht normalerweise im nächsten
Taktzyklus des Haupt-Taktsignals in einen Aktualisierungs-Status
S8 über.
Alternativ könnte
die TAP-Steuerung in einen Pausenstatus S6, gefolgt von einem Exit2-Status, übergehen,
jedoch aus Gründen,
die mit der vorliegenden Erfindung nichts zu tun haben und deshalb
hier nicht erläutert
werden.
-
Während es
sich im Aktualisierungsstatus S8 befindet, veranlaßt die TAP-Steuerung die Aktualisierung
des Haltespeichers 40a, indem es einen Taktzyklus erzeugt
zum einmaligen Takten des Taktsignals TAPCLOCK2 auf der Leitung 38a.
Das Prüfdatenbit
auf dem Ausgangsknoten 31a des Haltespeichers 28a erscheint
deshalb am Ausgang des Haltespeichers 40a auf der Leitung 24a und
folglich als Signal DATAOUT auf der Leitung 8a. An dieser
Stelle der Prüfoperation
sind nun alle DATAOUT-Signale auf den Leitungen 8a bis 8d aktualisiert
worden. Wie bereits erwähnt
wurde, sind die Anschlußstifte 8a bis 8d mit
respektiven Anschlußstiften
einer oder mehrerer anderer ICs verbunden. Deshalb, nach einer kurzen
Zeit zur Übertragung
des aktualisierten Signals zwischen den ICs (einschließlich der Übertragung
durch etwaige Pufferlogik zwischen den ICs), erscheinen die aktualisierten
Signale an den Anschlußstiften 8a bis 8d an
den respektiven Anschlußstiften
von einer oder mehreren anderen ICs. Die Anschlußstifte an den anderen ICs
sind mit den Grenzscanzellen verbunden, die als Eingabe- oder als
Eingabe-/Ausgabe-Vorrichtungen
konfiguriert sind. Der mit der IEEE-Norm 1149.1-1990 vertraute Fachmann
wird selbst erkennen können,
wie eine solche Eingabe-Grenzscanzelle
implementiert wird, so daß eine
solche Eingabe-Grenzscanzelle hier nicht näher beschrieben wird. Für die Vervollständigung
der Beschreibung einer Grenz-Scanprüfung wird nun angenommen, daß die Eingabe-Grenzscanzelle
auf der IC, mit welcher die IC 2 verbunden ist, mit der
in 2 enthaltenen Grenzscanzelle identisch ist, mit
dem Unterschied, daß der
Anschlußstift
jener anderer IC als das Signal DATAIN auf der Leitung 10a verbunden
ist. Deshalb wird für
den Zweck der restlichen Beschreibung der Schaltung von 2 angenommen,
daß das
Signal auf der Leitung 10a ein zu überprüfendes Ergebnis ist. Mit anderen
Worten, es wird angenommen, daß nach
einer kurzen Zeit nach Ausführung
der zuvor beschriebenen Aktualisierungsoperation, ein Ergebnis auf
der Leitung 10a erzeugt wird.
-
Im
nächsten
Zyklus des Haupt-Taktgenerators geht die TAP-Steuerung wieder in
den Scanwahlstatus S2, und danach im nächsten Zyklus in den Einfangstatus
S3 über.
Im Einfangstatus wird der Haltespeicher 28a einmal mit
dem Taktsignal TAPCLOCK1 auf der Leitung 36 getaktet, während der
Multiplexer mit dem Signal TAPCONTROL1 auf der Leitung 34 so
gesteuert wird, daß das
Signal auf der Leitung 10a auf seiner Ausgangsleitung 30a erscheint.
Somit wird das als Antwort auf die Aktualisierungsoperation erzeugte
Ergebnis auf der Leitung 16a eingefangen. Im nächsten Haupt-Taktzyklus
geht die TAP-Steuerung dann wieder in den Schiebestatus S4 über, und
die an den Ausgängen
der Flipflops 28a bis 28d eingefangenen Ergebnisse
werden seriell zur TAP-Steuerung hin getaktet, unter der Steuerung
des Taktsignals TAPCLOCK1 auf der Leitung 36. Offensichtlich
kann ein neuer Satz von Prüfbits
von der TAP-Steuerung in die Haltespeicher 28a bis 28d eingetaktet
werden, gleichzeitig mit dem Austakten des eingefangenen Ergebnisses
aus den Haltespeichern 28a bis 28d heraus. Folglich
kann der oben beschriebene Statusfolge-Zyklus von S2,S3,S4,S5,S8
und zurück
zu S2 kontinuierlich wiederholt werden.
-
Nun
mit Hinweis auf 4 wird eine Ausführungsform
des Haltespeichers 28a von 2 gezeigt.
Der Haltespeicher 28a umfaßt zwei Halbhaltespeicher,
oder transparente Haltespeicher, 44a und 46a.
Jeder Halbhaltespeicher umfaßt
einen respektiven Steuerknoten 48a,52a und einen
respektiven Speicherknoten 50a,54a. Das Taktsignal
TAPCLOCK1 auf der Leitung 36 taktet den Steuerknoten 52a des
Halbhaltespeichers 46a, während das inverse Signal des
Taktsignals TAPCLOCK1, NOTTAPCLOCK1, den Steuerknoten 48a taktet.
Wie bereits gemäß dem Stand
der Technik wohlbekannt ist, könnten
die Taktsignale TAPCLOCK1 und NOTTAPCLOCK1 nichtüberlappende Taktsignale sein,
oder als Alternative könnten
Schaltungselemente in den Steuerknoten 48a und 52a ein
etwaiges Überlappen
der beiden Taktsignale berücksichtigen.
In ähnlicher Weise
umfaßt
der Haltespeicher 40a in 2 zwei Halbhaltespeicher.
Offensichtlich umfaßt
die Schaltung in 2 somit vier Halbhaltespeicher.
Um die richtige Taktoperation für
den funktionellen Normalbetrieb sowie für Prüfzwecke zur Verfügung zu
stellen, benötigt
die Schaltung in 2 eine komplexe Taktorganisation,
wie aus der oben gebrachten Beschreibung mit Hinweis auf die 2 und 3 ersichtlich
ist.
-
Der
Scanhaltespeicher in 4 kann zur Durchführung sogenannter "struktureller" Prüfungen verwendet
werden, um die Struktur von kombinatorischer Logik zu überprüfen. Prüfungen wurden
erdacht, die zum Überprüfen der
Zeitablauf-Aspekte der Schaltungstechnik vorgesehen sind. Ein Aufsatz "Delay Test Techniques
for Boundary Scan based Architecture" (Verzögerungs-Prüftechniken für grenzscanbasierte
Architektur) von Chang et al., 3. Mai 1992 in den Proceedings der
IEEE 1992, Seiten 13.2.1 bis 13.2.4, beschreibt eine Grenzscan-Architektur,
die sogenannte Verzögerungsprüfungen implementieren
kann. In einer Verzögerungsprüfung wird
ein Initialisierungsmuster in die Eingangs-Haltespeicher geladen
und, nachdem es sich stabilisiert hat, wird ein Übergangs-Fortpflanzungsmuster
angelegt, und die Ausgangssignale werden im Systemtaktintervall
nach dem Eingangstakt eingefangen. Der Zweck der Verzögerungsprüfung ist
die Gewährleistung,
daß die Schaltungswege
ihre Signale in kürzerer
Zeit als das Systemtaktinterwall übertragen können. Deshalb wird die Verzögerungsprüfung vorzugsweise
mit der Systemtaktfrequenz durchgeführt.
-
Die
Patentschrift EP-A-548585 diskutiert Schaltungstechnik, die hinsichtlich
Verzögerungsfehler
und Kurzwegfehler sowie Feststeckfehler prüfen kann. Die Prüfung hinsichtlich
kurzer und langer Übertragungswege
wird ausgeführt,
indem das Einfangen der Information von einem Logikblock um einen
Systemtaktzyklus verzögert
wird.
-
Keine
dieser beiden Anordnungen ermöglicht
eine echte "dynamische
Leistungsprüfung", um den zeitorientierten Übertragungsweg
der Logikschaltungen so zu überprüfen, daß die erforderliche
Mindestverzögerung
bestimmt werden kann, die korrekte Ausgangsdaten von einem vorgegebenen
Satz von Eingangsdaten gewährleistet.
Indem diese Mindestverzögerung
bestimmt wird, kann die maximal zulässige, dynamische Betriebsgeschwindigkeit
(dynamische Leistungsfähigkeit)
einer Schaltung ermittelt werden. Es war jedoch bisher nicht möglich, eine
sogenannte "dynamische
Leistungsprüfung" durchzuführen, um
die Übertragungsweg-Laufzeiten
logischer Schaltungsanordnungen zu prüfen.
-
Ein
Ziel der vorliegenden Erfindung ist die Gestaltung eines Steuergeräts zum Durchführen der
Scanprüfung,
welches eine strukturelle Prüfung
sowie eine dynamische Leistungsprüfung mit kleinstmöglichen Änderungen
am Steuergerät
selbst ermöglicht.
-
Gemäß der vorliegenden
Erfindung wird eine Prüfzugangsport-Steuerung
vorgesehen, zum Implementieren von Scanprüfungen mit einer Kette von
Scanhaltespeichern, die folgendes umfaßt: Logikschaltungen zum Erzeugen
einer Vielzahl von Steuersignalen für diese Scanhaltespeicher;
ein Datenausgang zur Ausgabe der Prüfdaten an die Scanhaltespeicher;
ein Dateneingang für
den Empfang der Ergebnisdaten von den Scanhaltespeichern, wobei
diese Ergebnisdaten mit Erwartungsdaten verglichen werden können; ein
Signalgenerator einschließlich
eines Prüftaktgebers
zum Implementieren einer strukturellen Prüfung bei einer vorgegebenen
Frequenz und zum Ausgeben von Timingsignalen an die Scanhaltespeicher,
dadurch gekennzeichnet, daß:
ein Statusanzeiger, angeschlossen an der Logikschaltung und am Signalgenerator
zum Selektieren einer Betriebsart der Steuerung zwischen einem ersten
Betriebsmodus struktureller Prüfung,
der Ergebnisdaten liefert, die abhängig sind von einem vorgegebenen
existierenden Datensatz, und einem zweiten Betriebsmodus dynamischer
Leistungsprüfung,
der Ergebnisdaten liefert, die abhängig sind von einem Wechsel
von einem ersten Satz von Prüfdaten
zu einem zweiten Satz von Prüfdaten
innerhalb von einer Zeitperiode, die mit einem vorausgehenden Taktsignal
variiert werden kann, unabhängig
von der Prüftaktfrequenz
für die
strukturelle Prüfung.
-
In
der bevorzugten Ausführungsform
umfaßt
die Logikschaltung erste und zweite Logikgatter zur respektiven
Ausgabe von Steuersignalen zum Implementieren einer strukturellen
Prüfung
und einer dynamischen Leistungsprüfung, wobei der Statusanzeiger
so betrieben werden kann, daß der
Statusanzeiger den entsprechenden Satz von Logikgattern zwischen
dem ersten bzw. zweiten Satz von Logikgattern selektieren kann.
-
In
diesem Fall kann ein Multiplexer mit den Ausgängen der ersten und der zweiten
Logikgatter verbunden werden, wobei der Statusanzeiger den Status
des Multiplexers anzeigt.
-
Die
Logikschaltung kann eine programmierbare Gatteranordnung aufweisen,
wobei die Konfiguration dieser Gatteranordnung entsprechend einem
Signal vom Statusindikator eingestellt werden kann.
-
In
einer besonders vorteilhaften Ausführungsform kann dem Statusindikator
ein Steuerbit zugeordnet werden, welches in einem Befehlsregister
der Steuerung gespeichert ist. Alternativ kann der Statusanzeiger einen
Code aufweisen, der im Befehlsregister gespeichert wird.
-
Die
Steuerung kann eine Statusmaschine für den sequentiellen Durchlauf
einer Mehrzahl von Zuständen,
einschließlich
der Statuslogik zum Definieren von jedem Status, und ein Statusregister
zur Steuerung des zyklischen Ablaufs und zum Ausgeben der Statusbefehle
an die Logikshaltung, umfassen, wobei die Definition von jedem Status
von einem Signal vom genannten Statusanzeiger abhängt.
-
In
der bevorzugten Ausführungsform
der vorliegenden Erfindung bestimmt das voreilende Taktsignal das
Ende der variierbaren Verzögerungszeit.
Vorzugs weise ist der Signalgenerator fähig, ein weiteres Taktsignal
zu erzeugen, welches den Anfang der variierbaren Verzögerungszeit
definiert.
-
Zum
besseren Verständnis
der vorliegenden Erfindung und zum Aufzeigen, wie diese Erfindung
verwirklicht werden kann, wird nun an Hand eines Beispiels auf die
begleitenden 5 bis 15 hingewiesen.
-
Unter
den begleitenden Figuren:
-
1 ist
ein Blockdiagramm einer integrierten Schaltung, mit welcher die
Grenzscanung implementiert werden kann;
-
2 ist
ein Blockdiagramm einer bekannten Grenzscanzelle zur Verwendung
in einer Grenzscanschaltung;
-
3 ist
ein Teilstatusdiagramm für
eine Prüfzugangsport-Steuerung
zum Ausführen
einer strukturellen Prüfung;
-
4 ist
ein Beispiel einer Ausführungsform
eines synchronen Scanhaltespeichers mit Halbhalteschaltungen;
-
5 ist
ein Schaltplan einer Grenzscanzelle gemäß einer Ausführungsform
der vorliegenden Erfindung;
-
6 ist
ein Schaltplan einer Scanzelle gemäß einer anderen Ausführungsform
der vorliegenden Erfindung;
-
7 ist
ein Zeitablaufdiagramm für
die Scanzelle in 6 beim Ausführen einer strukturellen Prüfung;
-
8 ist
ein Teilstatusdiagramm für
eine Prüfzugangsport-Steuerung
zum Ausführen
einer dynamischen Leistungsprüfung
gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
9 ist
ein Zeitablaufdiagramm für
die Scanzelle in 6 während der Ausführung einer
dynamischen Leistungsprüfung;
-
10 ist
ein Schaltplan einer Scanzelle gemäß einer weiteren Ausführungsform
der vorliegenden Erfindung;
-
11 ist
ein Zeitablaufdiagramm für
die Abstastzelle in 10 bei der Verwendung zur Ausführung einer
strukturellen Prüfung;
-
12a und 12b sind
Zeitablaufdiagramme für
eine Scanzelle gemäß 10 bei
der Verwendung zur Ausführung
einer dynamischen Leistungsprüfung;
-
13 ist
eine Schaltungsausführungsform
einer Scanzelle, die in der Schaltung von 10 verwendet
wird;
-
14 ist
eine schematische Darstellung einer weiteren Schaltungsimplementierung
der Scanzelle von 10;
-
15a und 15b zeigen
die Schaltungseinzelheiten der schematischen Darstellung von 14;
-
16 ist
ein Blockdiagramm einer TAP-Steuerung, welches eine strukturelle
Prüfung
oder eine dynamische Leistungsprüfung
ausführen
kann; und
-
17 ist
ein Blockdiagramm, welches einen Taktgenerator für die TAP-Steuerung darstellt.
-
Zuerst
wird auf 5 hingewiesen, die eine effizientere
Implementierung der in 2 dargestellten Prüfschaltung
gemäß einem
Aspekt der vorliegenden Erfindung aufzeigt. Die numerischen Referenzbezeichnungen
sind in den 1 bis 4 für gleiche
Teile gleich. In 5 wurden die zwei vollständigen Haltespeicher 28a, 40a von 2 mir
drei Halbhaltespeichern, einem Halbhaltespeicher 56a, einem
Aktualisierungs-Halbhaltespeicher 58a sowie einem Freigabe-Halbhaltespeicher 60a ersetzt.
Der Ausgang des Multiplexers 26a auf der Leitung 62 ist
mit dem Eingang des Einfang-Halbhaltespeichers 56a verbunden.
Der Ausgang des Einfang-Halbhaltespeichers 56a auf der
Leitung 64a ist mit einer Eingangsleitung 66a des
Aktualisierungs-Halbhaltespeichers 58a und einer Eingangsleitung 68a des
Freigabe-Halbhaltespeichers 60a verbunden. Der Ausgang
des Aktualisierungs-Halbhaltespeichers 58a auf der Leitung 65a bildet
einen Eingang des Ausgangsmultiplexers 18a. Der Ausgang
des Freigabe-Halbhaltespeichers 60a bildet den Kettenanschluß 14b.
Der Einfang-Halbhaltespeicher 56a wird mit dem Taktsignal
CAPTURECLK auf der Leitung 70 getaktet, der Aktualisierungs-Halbhaltespeicher
wird mit dem Taktsignal UPDATECLK auf der Leitung 74 getaktet,
und der Freigabe-Halbhaltespeicher wird vom Taktsignal RELEASECLK
auf der Leitung 72 getaktet. Jeder Halbhaltespeicher hat
die Eigenschaft, daß er
sich in einem von zwei möglichen
Zuständen
befinden kann, nämlich ein
Datendurchgabe-Zustand, in welchem ein Signal an seinem Eingang
direkt an seinen Ausgang erscheint, und einen Datenhalte-Zustand,
in welchem ein Signal an seinem Ausgangsknoten gehalten wird, unbeeinflußt von Signaländerungen
am Eingang. Hinweise auf "Takten" von Halbhalteschaltungen
im folgenden Text beziehen sich auf Operationen im Datendurchgabestatus.
Es wird unterstellt, daß sich
die Halbhalteschaltung im Zustand "Daten halten" befindet, bis getaktet wird.
-
Wieder
mit Hinweis auf das Statusdiagramm in 3, kann
die gleiche Sequenz von Statusänderungen,
die mit Bezugnahme auf 2 und 3 erläutert wurde,
auch zum Betreiben der Schaltung von 5 zum Ausführen einer
Grenz-Scanprüfung
verwendet werden. Der Unterschied liegt in den benötigten Taktsequenzen,
die mit der vorliegenden Erfindung viel einfacher sind. Dies wird
nun mit Hinweis auf 3 und 5 beschrieben.
-
Im
funktionellen Normalbetrieb der IC 2 befindet sich die
TAP-Steuerung 12 im Status SO mit zurückgesetzter Prüflogik.
In diesem Status befindet sich die Prüflogik im inaktiven Zustand,
und das Signal DATAIN auf der Leitung 10a ist direkt mit
dem Signal DATAOUT auf der Leitung 8a über den Ausgangsmultiplexer 18a unter
der Steuerung des Signals TAPCONTROL2 auf der Leitung 22 durchverbunden.
Wenn eine Prüfoperation
beginnt, geht die TAP-Steuerung 12 zunächst in den Status S1 Prüfung ausführen / warten über, unter
der Steuerung des Haupt-Taktsignals MCLOCK.
-
Wenn
eine Grenz-Scanprüfung
ausgeführt
werden soll, geht die TAP-Steuerung 12 in
den Scanwahlstatus S2 über,
und das Steuersignal TAPCONTROL2 auf der Leitung 22 wechselt
seinen Zustand, so daß das Ausgangssignal
DATAOUT des Ausgangsmultiplexers 18a auf der Leitung 8a direkt
auf die Signalleitung 65a durchgeschaltet wird. Im nächsten Taktzyklus
von MCLOCK geht die TAP-Steuerung in den Einfangstatus S3 über. An dieser
Stelle im Prüfungsablauf
ist der Einfangstatus belanglos, weil noch keine Prüfdaten in
die Scanprüfschaltung
geladen wurden.
-
Mit
dem nächsten
Taktzyklus von MCLOCK erfolgt der Übergang in den Schiebestatus
S4. In diesem Status erzeugt die TAP-Steuerung eine Mehrzahl von
Taktzyklen, die das Taktsignal CAPTURECLK auf der Leitung 70 und
das Taktsignal RELEASECLK auf der Leitung 72 bilden, während das
Signal TAPCONTROL1 auf der Leitung 34 auf einem Pegel gehalten
wird, der das Signal auf der Leitung 14a am Ausgang 62a des Multiplexers 26a erscheinen
läßt. In dieser
Weise werden die Prüfdaten
seriell in die Prüfschaltung
eingeschoben, so daß nach
einer bestimmten Anzahl n von Taktzyklen der Taktsignale CAPTURECLK
und RELEASECLK (in diesem Beispiel vier solche Zyklen) die Halbhaltespeicher 56a bis 56d alle
ein bekanntes Prüfbit
an ihren respektiven Ausgängen
auf den Knoten 67a bis 67d festgehalten haben.
Folglich wird der Schiebestatus S4 während n Zyklen des Haupt-Taktsignals
MCLOCK beibehalten. Mit dem nächsten
Zyklus des Haupt-Taktsignals erfolgt der Übergang in den Exit1-Status
S5. Der Status S5 ist ein temporärer
Status, und normalerweise geht die TAP-Steuerung mit dem nächsten Taktzyklus
des Haupt-Taktsignals in den Aktualisierungs-Status S8 über. Als
Alternative könnte
die TAP-Steuerung in den Pausenstatus S6 gefolgt von einem Exit2-Status übergehen,
jedoch aus Gründen,
die mit der vorliegenden Erfindung nichts zu tun haben und hier
nicht erläutert werden.
-
Während es
sich im Aktualisierungs-Status S8 befindet, veranlaßt die TAP-Steuerung die Aktualisierung
des Ausgangs des Halbhaltespeichers 58a, indem es einen
Taktzyklus erzeugt, der das Taktsignal UPDATECLK auf der Leitung 74 einmal
bildet. Das Prüfdatenbit
am Ausgangsknoten 67a des Einfang-Halbhaltespeichers 56a erscheint
deshalb am Ausgang des Aktualisierungs-Halbhaltespeichers 58a auf
der Leitung 65a und folglich als DATAOUT-Signal auf der
Leitung 8a. An dieser Stelle der Prüfoperation sind alle DATAOUT-Signale
auf den Leitungen 8a bis 8d aktualisiert worden.
Die Anschlußstift-Verbindungen 8a bis 8d sind,
wie bereits erwähnt
wurde, mit den respektiven Anschlußstiften von einer oder mehreren
anderen ICs verbunden.
-
Deshalb,
nach einer kurzen Zeit für
die Übertragung
der aktualisierten Signale zwischen den ICs (darin einbegriffen
die Laufzeit der Übertragung
durch etwaige Pufferlogik zwischen den ICs), erscheinen die aktualisierten
Signale von den Anschlußstiften 8a bis 8d an
den respektiven Anschlußstiften
von einer oder mehreren anderen ICs. Die Anschlußstifte der anderen ICs sind
mit Grenzscanzellen verbunden, die als Eingangs- oder als Eingangs-/Ausgangs-Vorrichtungen konfiguriert
sind. Der mit der IEEE-Norm 1149.1-1990 vertraute Fachmann wird
sich vorstellen können,
wie eine solche Eingangs-Grenzscanzelle
implementiert werden kann, und deshalb wird hier keine solche Eingangs-Grenzscanzelle
detailliert beschrieben. Für
die Vervollständigung der
Beschreibung einer Grenz-Scanprüfung
wird nun angenommen, das die Eingangs-Grenzscanzelle auf der IC,
mit welcher die IC 2 verbunden ist, mit der in 5 dargestellten
Grenzscanzelle identisch ist, jedoch mit dem Unterschied, daß der Anschlußstift als
DATAIN-Signal auf der Leitung 10a verbunden ist. Deshalb
wird für
die restliche Beschreibung der Schaltung von 5 angenommen,
daß das
Signal DATAIN auf der Leitung 10a ein zu überprüfendes Ergebnis
ist, wobei das Ergebnis als Antwort auf die zuvor beschriebene Aktualisierung
erzeugt wird.
-
Mit
dem nächsten
Zyklus des Haupt-Taktsignals geht die TAP-Steuerung wieder in den
Abstastwahlstatus S2, und mit dem nächsten Zyklus danach in den
Einfangstatus S3 über.
Im Einfangstatus wird der Einfang-Halbhaltespeicher 56a einmal
mit dem Signal CAPTURECLK auf der Leitung 70 getaktet,
während
der Multiplexer 26a mit dem Signal TAPCONTROL1 auf der
Leitung 34 so gesteuert wird, daß das Signal DATAIN auf der
Leitung 10a an seinem Ausgang auf der Leitung 62a erscheint.
Somit wird das Ergebnis auf der Leitung 64a eingefangen.
Mit dem nächsten
Haupt-Taktsignalzyklus geht die TAP-Steuerung wieder in den Schiebestatus
S4 über,
und die an den Ausgängen
der Einfang-Halbhaltespeicher 56a bis 56d eingefangenen
Ergebnisse werden seriell zur TAP-Steuerung herausgetaktet. Offensichtlich
kann gleichzeitig mit dem Heraustakten des eingefangenen Ergebnisses
vom Einfang-Halbhaltespeicher 56a ein neuer Satz Prüfbits von
der TAP-Steuerung
in den Einfang-Halbhaltespeicher 56a hineingetaktet werden.
-
Folglich
kann die oben beschriebene, zyklische Statusfolge S2,S3,S4,S5,S8
und zurück
zu S2 kontinuierlich wiederholt werden.
-
Die
funktionelle Logikschaltung 4 in 1 kann verstanden
werden als eine Anordnung diverser kombinatorischer Logikschaltungsblöcke unterschiedlicher
Größe, die
miteinander entweder direkt oder über Haltespeicher verbunden
sind. Es ist möglich,
die funktionellen Aspekte der kombinatorischen Logikschaltkreise zu überprüfen, indem
bekannte Prüfbits
den Eingängen
der kombinatorischen Logikschaltkreise in der funktionellen Logikschaltungsanordnung
zugeführt
und das Ergebnis an den Ausgängen
der Haltespeicher in der funktionellen Logikschaltungsanordnung
eingefangen werden. Dies kann implementiert werden, indem Grenzscanzellen,
wie diejenigen in 2 oder 5, an den
diversen Prüfpunkten
in der funktionellen Logikschaltungsanordnung plaziert werden. Dabei
wird jedoch die Grenzscankette kombinatorische Logik und Haltespeicher
zwischen den sukzessiven Grenzscanzellen aufweisen, wobei die zusätzlichen
Haltespeicher zu Zeitablaufproblemen während der Prüfoperationen
führen.
Solche Probleme können
jedoch überwunden
werden, indem man einen etwaigen funktionellen Haltespeicher innerhalb
der funktionellen Logikschaltungsanordnung mit dem Scanhaltespeicher
(d.h. mit der Kombination des Eingangsmultiplexers 26a und
der Halbhaltespeicher 56a und 58a) der Grenzscanzelle 6a von 5 ersetzt.
Der Haltespeicher funktioniert dann als normaler funktioneller Haltespeicher
in der funktionellen Normalbetriebsart, jedoch als Scanhaltespeicher
während
der Scanprüfung.
Die Grenzscanzelle 6a in 5 kann auch
in der Scanprüfung
der kombinatorischen Logikschaltungsanordnung verwendet werden,
um zusätzliche
beobachtbare und steuerbare Knoten zu beschaffen.
-
6 zeigt
die Grenzscanzelle 6a von 5 in neuer
Konfiguration als eine Scanzelle 7a zur Verwendung in einer
Scankette, welche die kombinatorische Logikschaltungsanordnung prüft. Die
Funktionsweise der Scanzelle 7a in 6 bei der
Durchführung
einer Prüfung
der Struktur der kombinatorischen Logik wird nun mit Bezugnahme
auf das Zeitablaufdiagramm in 7 beschrieben.
-
Am
Anfang des Taktzyklus MCLOCK0 des Haupt-Taktsignals MCLOCK befindet
sich die TAP-Steuerung im zurückgesetzten
Status S0. Am Ende des Taktzyklus MCLOCK0 geht ein Signal ACTIVATETEST
in den Logikzustand 'High' über, so daß im nächsten Taktzyklus MCLOCK1 des
Haupt-Taktsignals die TAP-Steuerung 12 in den Prüfablauf-Wartezustand
S1 und mit dem nächsten
Taktzyklus MCLOCK2 danach in den Scanwahlstatus S2 übergeht.
Am Anfang des Taktzyklus MCLOCK3 erfolgt der Übergang in den Einfangstatus S3,
und ein Prüftakt-Freigabesignal
TESTCLKEN wird in den Logikzustand 'High' gebracht.
Dies startet das Einfang-Taktsignal CAPTURECLK auf der Leitung 70.
Am Anfang des Taktzyklus MCLOCK4 ist ein Datenausgangsbit DOB1,
welches das von einer vorherigen Prüfung ausgegebene Ergebnis sein
kann, am Dateneingang 10a vorhanden. Am Anfang des Taktzyklus
MCLOCK4, während
die TAP-Steuerung von Status S3 in den Schiebestatus S4 übergeht,
wird die Einfangoperation, wie hiernach beschrieben, ausgeführt.
-
Wie
in 7 dargestellt ist, bewirkt die fallende Flanke 201 des
Einfang-Taktsignals
CAPTURECLK am Anfang des Taktzyklus MCLOCK4 das Einfangen des Ausgangsdatenbits
DOB1 am Ausgangsknoten 67a des Halbhaltespeichers 56a.
Während
dieser Operation wird der Multiplexer 26a vom Steuersignal TAPCONTROL1
gesteuert, so daß sein
Ausgang auf der Leitung 62a als DATAIN-Signal auf der Leitung 10a durchgeschaltet
ist. Während
des Taktzyklus MCLOCK4 befindet sich die TAP-Steuerung im Schiebestatus S4.
Während
der zweiten Hälfte
des Taktzyklus MCLOCK4 wird das Freigabetaktsignal RELEASECLK (nicht dargestellt
in 7) dem Freigabe-Halbhaltespeicher 60a zugeführt, so
daß das
Datenausgangsbit DOB1 am Knoten 67a als SCANOUT-Signal
auf der Leitung 14b erscheint.
-
Im
Schiebestatus S4 erscheinen Prüfdatenbits
als Signal SCANIN auf der Leitung 14a, wobei das erste
solche Bit das Bit TDB1 ist, welches kurz nach dem Anfang des Taktzyklus
MCLOCK4 auf der Leitung 14a erscheint. Mit der steigenden
Flanke 200 des Signals CAPTURECLK im Taktzyklus MCLOCK4 geht
der Einfang-Halbhaltespeicher 56 in seinen Datenübergabestatus über. Kurze
Zeit danach wechselt das Signal TAPCONTROL1 auf der Leitung 34 seinen
Logikzustand, dargestellt als Flanke 202, so daß der Multiplexer 26a seinen
Ausgang auf der Leitung 62a mit dem Eingang auf der SCANIN-Signalleitung 14a verbindet.
Folglich erscheint das Prüfdatenbit
TDB1 am internen Knoten 67a. Mit der fallenden Flanke 204 des
Einfang-Taktsignals CAPTURECLK am Anfang des nächsten Zyklus MCLOCK5 bleibt
die TAP-Steuerung,
in diesem Beispiel, im Schiebestatus S4, um das Einscannen eines
zweiten Prüfdatenbits
TDB2 zu ermöglichen.
Kurze Zeit nach dem Anfang des Taktzyklus MCLOCK5 taktet das Freigabe-Taktsignal
RELEASECLK auf der Leitung 72 den Halbhaltespeicher 60a so,
daß das
erste Prüfdatenbit
TDB1 als Signal SCANOUT auf der Leitung 14b erscheint.
Offensichtlich kann die TAP-Steuerung somit für so viele Taktzyklen der TAP-Steuerung
im Schiebestatus S4 bleiben, wie benötigt werden, um alle vorgesehenen
Prüfdatenbits
hineinzuschieben.
-
In
diesem Beispiel werden nur zwei Prüfdatenbits hineingetaktet,
und das zweite Prüfdatenbit
TDB2 wird auf die Eintastleitung gelegt und in die Schaltung eingeschoben
während
des Taktzyklus MCLOCK5 in der gleichen Weise, wie das Prüfdatenbit
TDB1, wie oben beschrieben, während
des Taktzyklus MCLOCK4 eingeschoben wurde.
-
Am
Anfang des Taktzyklus MCLOCK6 geht die TAP-Steuerung in einen Exit1-Status S5 über, und
das Einfang-Taktsignal geht in den Logikzustand 'Low' und
bleibt in diesem Logikzustand, so daß der Einfang-Halbhaltespeicher 56a im
Datenhaltestatus bleibt und das Prüfdatenbit TDB2 am internen
Knoten 67a festgehalten wird. Kurze Zeit nach dem Anfang
des Zyklus MCLOCK6 taktet das Taktsignal RELEASECLK den Freigabe-Halbhaltespeicher 60a,
so daß das
Prüfdatenbit
TDB2 ebenfalls als SCANOUT-Signal auf der Leitung 14b erscheint.
Während
MCLOCK6 wechselt das Steuersignal TAPCONTROL1 auf der Leitung 34 ebenfalls
seinen Logikzustand mit der Flanke 206, so daß der Multiplexer 36a seinen
Ausgang auf der Leitung 62a wieder mit seinem Eingang auf
der Leitung 10a verbindet.
-
Am
Anfang des Taktzyklus MCLOCK7 geht die TAP-Steuerung in den Aktualisierungsstatus
S8 über. Am
Ende des Taktzyklus MCLOCK7, während
welchem sich die TAP-Steuerung im Aktualisierungsstatus S8 befindet,
fängt die
TAP-Steuerung das Prüfdatenbit
TDB2 am internen Knoten 67a auf der Leitung 8a als
das Signal DATAOUT, indem es die Flanken 208 und 210 des
Taktsignals UPDATECLK auf der Leitung 74 erzeugt, womit
der Halbhaltespeicher 58a in den Datenübergabestatus und danach in
den Datenhaltestatus versetzt wird, so daß die Signalleitung 8a das
gefangene Prüfdatenbit
TDB2. aufweist. Das Einfangen des Prüfdatenbits TDB2 findet mit
der Flanke 210 während
des Taktzyklus MCLOCK8 statt, nachdem die TAP-Steuerung wieder in den Prüfablauf-Wartestatus
S1 übergegangen
ist. Es ist ersichtlich, daß die
gleiche Sequenz von Operationen nun wiederholt wird; die nächste Einfangoperation
fängt das
auf der Leitung 10a als Signal DATAIN ausgegebene Datenbit
ein, welches das logische Ergebnis der Eingabe des Prüfdatenbits
TDB2 (und ähnliche
Prüfdatenbits
von anderen Scanhaltespeichern) in die kombinatorische Logikschaltung 5 ist.
-
Während des
funktionellen Normalbetriebs werden Daten auf der Leitung 10a von
der kombinatorischen Logikschaltung auf die DATAOUT-Signalleitung 8a gegeben,
indem der Einfang-Halbhaltespeicher mit dem Taktsignal CAPTURECLK
auf der Leitung 70 getaktet wird, gefolgt vom Takten des
Aktualisierungs-Halbhaltespeichers 58 mit dem Taktsignal
UPDATECLK auf der Leitung 74.
-
Es
ist einfach ersichtlich, daß zum
Ausführen
einer bestimmten Funktion der Einfang-Halbhaltespeicher 56a entweder
mit dem Aktualisierungs-Halbhaltespeicher 58a oder
mit dem Freigabe-Halbhaltespeicher 60a zum kompletten Haltespeicher
kombiniert wird. Dabei ist zu beachten, daß während einer Schiebeoperation
(Hineinschieben oder Hinausschieben) der Aktualisierungs-Halbhaltespeicher
im Datenhaltestatus gehalten wird, so daß sich sein Ausgang nicht verändert. Somit
ist ersichtlich, daß die
vorliegende Erfindung eine Scanprüfschaltung gebracht hat, die
weniger Hardware erfordert, jedoch verwendet werden kann, um die Grenz-Scanprüfung gemäß der in
der IEEE-Norm 1149.1-1990 vorgegebenen Statussequenz zu implementieren,
wobei sich die funktionelle Datenausgabe während einer Schiebeoperation
nicht verändert.
Außerdem
ist die benötigte
Sequenz der Taktsignale einfacher als gemäß dem Stand der Technik.
-
Die
Schaltung gemäß 6 weist
einen weiteren Vorteil gegenüber
der Schaltung gemäß dem Stand der
Technik in 2 auf, indem eine sogenannte "dynamische Leistungsprüfung" ausgeführt werden
kann. Eine strukturelle Prüfung
ist auf die Überprüfung der
logischen Richtigkeit eines Ausgangssignals als Antwort auf eine
bestimmte Kombination von Eingangssignalen beschränkt. Es
ist jedoch auch wünschenswert,
die Zeitablaufaspekte der kombinatorischen Logik in der funktionellen
Logikschaltung 4 zu überprüfen. Die
Leistungsprüfung
ermöglicht
die Prüfung
der dynamischen Leistung der Struktur der kombinatorischen Logik
(im Gegensatz zur statischen Gesetzmäßigkeit der Logikfunktion).
Um eine dynamische Leistungsprüfung
auszuführen,
ist es notwendig, die Eingänge
der kombinatorischen Logik mit einem Satz von Sensibilisierungsbits zu
sensibilisieren, und dann dem Ausgang der kombinatorischen Logik
Zeit zu lassen, sich zu stabilisieren. Danach werden die Eingänge mit
einem Satz von Aktivierungsbits umgestellt. Die dann am Ausgang
benötigte Zeit,
vom Antwortzustand auf die Sensibilisierungsbits in den Antwortzustand
auf die Aktivierungsbits überzugehen,
ist ein Maß für die dynamische
Leistungsfähigkeit
einer Schaltung. Nun folgt eine Beschreibung, wie eine solche Prüfung mit
der Schaltung von 6 gemäß der vorliegenden Erfindung
durchgeführt
werden kann.
-
Mit
Hinweis auf das Statusdiagramm in 3 ist es
klar ersichtlich, daß nach
der Ausführung
einer Aktualisierungsoperation, während welcher sich die TAP-Steuerung
im Status S8 befindet, zwei Taktzyklen des Taktsignals für die TAP-Steuerung
ablaufen müssen,
bevor eine Einfangoperation während
des Status S3 ausgeführt
werden kann, um das Ergebnis einzufangen. Es ist ein Merkmal der
dynamische Leistungsprüfung, daß nach der
Aktivierung eines Eingangs ein Ergebnis schnell eingefangen werden
kann, um die maximale Geschwindigkeit zu erfassen, mit welcher die
Schaltung noch innerhalb der Gestaltungs-Spezifikationen richtig arbeitet.
Deshalb wird die dynamische Leistungsprüfung so eingerichtet, daß ein Einfangen
im nächsten
Taktzyklus nach der Aktualisierung stattfindet. Bei der Verwendung
der Schaltung der vorliegenden Erfindung gemäß 5 oder 6 kann
das Statusdiagramm gemäß 8 modifiziert
werden, um die dynamische Leistungsprüfung zu ermöglichen. Die dynamische Leistungsprüfung kann
mit der oben erläuterten
TAP-Steuerung 12 und dem Statusdiagramm von 3 implementiert
werden, indem man lediglich die in jedem Status ausgeführte Operation,
wie in 8 dargestellt, modifiziert. Die Übergänge in der
Statusfolge bleiben unverändert.
-
9 zeigt
ein Zeitablaufdiagramm zur Steuerung der Scanprüfschaltung von 6 zur
Durchführung einer
dynamischen Leistungsprüfung.
Nun wird eine dynamische Leistungsprüfung gemäß der vorliegenden Erfindung
mit Hinweis auf die 6, 8 und 9 beschrieben.
-
Es
wird angenommen, daß sich
die TAP-Steuerung 12 im Scanwahl-Status S2 befindet, bevor
es zum Ausführen
einer dynamischen Leistungsprüfung,
im Gegensatz zu einer strukturellen Logikprüfung, veranlaßt wird.
MCLOCK bezeichnet wie zuvor das Taktsignal der TAP-Steuerung. Mit
dem ersten Taktzyklus MCLOCKN von MCLOCK erfolgt der Übergang
in einen Exit0-Status
S3, und danach mit dem nächsten
Taktzyklus MCLOCKN+1 des Haupt-Taktsignals
erfolgt der Übergang
in einen Schiebestatus S4. In diesem Status ist der Multiplexer
mit der Scaneingangsleitung 14a verbunden, indem der Zustand
von TAPCONTROL1 wie dargestellt mit der Flanke 221 verändert wird.
Eine Schiebeoperation wird ausgeführt, indem der Einfang-Halbhaltespeicher 56a und
dann der Freigabe-Halbhaltespeicher 60a mit der erforderlichen
Anzahl von Taktzyklen getaktet werden, um alle Sensitisierungsbits
in die Kette der Scanhaltespeicher einzutakten. Diese Sensitisierungsbits werden
als SB1,SB2 bezeichnet. Während
dieser Operation werden der Einfang-Halbhaltespeicher 56a und der
Freigabe- Halbhaltespeicher 60a mit
den Taktsignalen CAPTURECLK auf der Leitung 70 bzw. RELEASECLK
auf der Leitung 72 getaktet. Das Takten des Einfang-Halbhaltespeichers
bringt das Sensitisierungsbit SB1 in den internen Knoten auf der
Leitung 67a. Das Takten des Freigabe-Halbhaltespeichers
bringt das Sensitisierungsbit SB1 auf die Scanausgabeleitung 14b.
Das Bit SB2 wird in gleicher Weise geschoben. Im letzten Schiebetaktzyklus
MCLOCKN+2 wird das Sensitisierungsbit SB2 von der Signalleitung 14a als
SCANIN-Signal auf die Signalleitung 14b als SCANOUT-Signal
geschoben. Am Ende des Taktzyklus MCLOCKN+2 geht das CAPTURECLK-Signal
auf der Leitung 70 in den Logikzustand 'Low',
wie dargestellt mit der Flanke 220, und bleibt im 'Low'-Zustand, so daß sich der Einfang-Halbhaltespeicher 56a im
Datenhalte-Status befindet. Das Signal RELEASECLK taktet weiterhin,
da jedoch das Signal am internen Knoten 67a festgehalten
wird, ändert
sich das Signal auf der Leitung 14b nicht. Die TAP-Steuerung
geht dann in einen Exit1-Status S5 im Taktzyklus MCLOCKN+3 und in
einen Schiebe-Aktualisierungsstatus S6 im Taktzyklus MCLOCKN+4 über. Am Ende
des Taktzyklus MCLOCKN+4 geht das Signal UPDATECLK auf der Leitung 74 in
den Logikzustand 'High', wie dargestellt
mit der Flanke 222, so daß das Sensitisierungsbit SB2
am internen Knoten 67a nun auf der Leitung 8a als
DATAOUT-Signal erscheint.
-
Nachdem
das UPDATECLK-Signal in den Logikzustand 'High' am
Ende des Taktzyklus MCLOCKN+4 gegangen ist, geht die TAP-Steuerung
in den Einfang-Status S7 über.
An dieser Stelle der Operation ist der Einfangstatus belanglos,
da noch kein einzufangendes Ergebnis erzeugt worden ist. Das Signal
DATAIN auf der Leitung 10a ändert sich jedoch während diesem
Einfangstatus S7, als Antwort auf die Übergabe des Sensitisierungsbits
SB2 auf die DATAOUT-Signalleitung 8a.
-
Die
TAP-Steuerung geht dann vom Einfangstatus S7 in den Schiebestatus
S4 zurück,
und die gleiche Sequenz von Operationen wiederholt sich. Diesmal
werden jedoch im Schiebestatus S4 während der Taktzyklen MCLOCKN+1
und MCLOCKN+2 die Aktivierungsbits AB1,AB2 geschoben, so daß am Ende
des Taktzyklus MCLOCKN+4 das Aktivierungsbit AB2 das Signal auf
der DATAOUT-Leitung 8a ist. Das Ergebnis dieses Übergangs
vom Sensitisierungsbit SB2 zum Aktivierungsbit AB2 auf der DATAOUT-Leitung 8a,
nach der Übertragung
durch die kombinatorische Logikschaltung 5, ist das Ergebnis,
welches nach einer kurzen meßbaren Zeitverzögerung auf
der DATAIN-Signalleitung 10a eingefangen
werden muß.
-
Während des
nächsten
Taktzyklus MCLOCKN+S befindet sich die TAP-Steuerung im Einfangstatus S7. In diesem
Status wird die Impulsbreite des Haupt-Taktsignals MCLOCK auf eine
Breite d reduziert, und ein voreilendes Taktsignal ADVANCECLK mit
einer positiven Kante 224 wird erzeugt mit einer meßbaren zeitlichen Position,
die um eine vorgegebene Zeit t vor der positiven Flanke 235 von
MCLOCK liegt. Die reduzierte Impulsbreite d hat keinen Einfluß auf die
Zeitablaufmessung. Nach einer gewissen Zeit, nachdem das Aktivierungsbit
AB2 auf die Eingangsleitung 8a zur kombinatorischen Logikschaltung
gebracht wurde, steht ein Datenausgangsbit DOB als Antwort auf das
Aktivierungs-Eingangsbit AB2 auf der Leitung 8a, auf der
Leitung 10a zum Multiplexer 26a zur Verfügung. Die
Leitung 10a wird mit dem Multiplexer verbunden, indem der
Logikzustand von TAPCONTROL1 an der negativen Flanke 226 des
reduzierten Zyklus d von MCLOCK verändert wird. Der Statuswechsel
des Multiplexers wird als fallende Flanke 228 auf der Leitung 34 dargestellt.
-
Ein
Aspekt der Taktsequenz von 9 ist die
Beschaffung eines voreilenden Taktsignals ADVANCECLK, welches in
unabhängiger
Weise die negative Taktflanke 232 des Taktsignals CAPTURECLK
in der Einfangperiode zum Zeitpunkt t vor der positiven Flanke 235 des
Taktsignals MCLOCK erzeugt. Dies vermeidet die sonstige Notwendigkeit,
ein "hochfrequentes" Taktsignal auf dem
Haupt-Taktsignal MCLOCK im Einfangzyklus zu erzeugen, und es vermeidet
auch die sonstige Notwendigkeit, die TAP-Steuerung mit einer solchen höheren Frequenz
takten zu müssen.
-
Der
einzige Zweck der reduzierten Impulsbreite d ist die Beschaffung
der positiven Flanke 230 des Signals CAPTURCLK auf der
Leitung 70 von der negativen Flanke 226 des breitenreduzierten
Impulses. Die einzige Bedingung für die Impulsbreite d ist somit,
daß sie
kürzer
als die vorgegebene Zeit t sein muß. Sobald CAPTURECLK mit der
Flanke 230 in den Logikzustand 'High' übergegangen
ist, kann dieses Signal mit der Flanke 232 in den Logikzustand 'Low' gebracht werden
unter der Steuerung mit dem voreilenden Taktsignal ADVANCECLK wie
oben erläutert.
-
Nachdem
der Multiplexer an der fallenden Flanke 228 auf der Leitung 34 umgeschaltet
hat, geht das Signal CAPTURECLK auf der Leitung 70 in den
Logikzustand 'High', dargestellt als
Flanke 230, und als Folge erscheint das Datenausgangsbit
DOB am internen Knoten 67a kurze Zeit danach. Es wird angenommen,
daß die
Flanke 230 erscheint, bevor das Datenausgangsbit DOB sich
beruhigt hat, so daß es
keine Rolle spielt in der folgenden Zeitmessung und beim Einfangen
des Datenausgangsbits DOB mit der Flanke 232 von CAPTURECLK.
Wenn das Einfang-Taktsignal CAPTURECLK mit der Flanke 232 in
den Logikzustand 'Low' übergeht, befindet sich der
Einfang-Halbhaltespeicher
im Datenhaltezustand, und das Datenausgangsbit DOB wird im internen
Knoten 67a festgehalten.
-
Das
voreilende Taktsignal ADVANCECLK kann auch verwendet werden, um
die voreilende positive Flanke 234 des Signals RELEASECLK
auf der Leitung zu liefern. Nachdem das Signal RELEASECLK mit der Flanke 234 in
den Logikzustand 'High' übergegangen ist, erscheint
daß im
internen Knoten festgehaltene Ausgangsdatenbit DOB als SCANOUT-Signal
auf der Leitung 14b. Die zeitliche Lage dieser Freigabe
ist jedoch nicht wichtig.
-
Mit
dem nächsten
Taktzyklus MCLOCKN+6 geht die TAP-Steuerung wieder in den Schiebestatus
S4 über.
Neue Sensitisierungs- oder Aktivierungsbits SB4/AB4,SB5/AB5 können dann
auf der SCANIN-Signalleitung 14a eingeschoben werden, und
das Datenausgangsbit DOB kann hinausgeschoben werden auf die SCANOUT-Signalleitung 14b.
-
Vorzugsweise
aktiviert das der Scanhaltespeicherkette zugeführte Sensitisierungs-Bitmuster
einen zeitlich kritischen Weg am Übergang der Eingänge der
kombinatorischen Logikschaltung 5 zwischen den Sensitisierungs-
und den Aktivierungsmustern. Es ist leicht einzusehen, daß der Sinn
einer dynamischen Leistungsprüfung
in der Messung der Zeit liegt, die zwischen dem Anlegen der Aktivierungs-Eingangsbits
an den Eingängen 8a,8b usw.
der kombinatorischen Logikschaltung und dem Erscheinen der Datenausgangsbits
auf der Leitung 10a verstreicht. Die dynamische Leistungsprüfung kann
mit verschiedenen Bitmustern wiederholt werden, um unterschiedliche
Zeitwege anzustoßen.
Es ist ersichtlich, daß die
Zeitverzögerung
von der Sensitisierungs-Aktualisierung bis zum Einfang des entsprechenden
Ergebnisses der Zeitperiode t im Einfangstatus entspricht. Diese
Zeitperiode t kann verändert
werden, um die kürzestmögliche Zeitverzögerung festzustellen, die
noch zu richtigen Ausgangsdaten für einen gegebenen Satz Eingangsdaten
führt.
-
Die
in 6 dargestellte Scanzelle kann somit wahlweise
eine strukturelle Prüfung
oder eine dynamische Leistungsprüfung
ausführen.
Sie weist jedoch Merkmale auf, die sie hinsichtlich bestimmter Aspekte
ineffizient macht, insbesondere für die Ausführung einer dynamischen Leistungsprüfung. Erstens
werden drei Taktgeneratoren benötigt,
die mehr Strom als nur ein Taktgenerator aufnehmen. Zweitens, da
die drei Taktgeneratoren gegenseitig unabhängig sind, sind die Taktbäume, d.h.
die abgeleiteten Taktsignale, separat, so daß die Genauigkeit der dynamischen
Leistungsprüfung
entsprechend beeinträchtigt
ist. Um diese Nachteile zu überwinden,
wird ein neuer Halbhaltespeicher vorgesehen, der eine Freigabefunktion
aufweist, um effektiv die ihm zugeführten Taktsignale zu tasten.
Dies kann in mehreren unterschiedlichen Formen konstruiert werden, zum
Beispiel mit zwei nichtinvertierenden Gattern in Reihe, mit Einfügen einer
Gatterfunktion im Taktpfad oder mit Einsatz eines komplexen Gatters,
welches die Gatterfunktion mit dem Speicherknoten zusammenführt. Es wird
erwartet, daß dem
mit dem Stand der Technik vertrauten Fachmann weitere Möglichkeiten
einfallen werden, um einen solchen Halbhaltespeicher zu implementieren.
-
10 zeigt
die Schaltung von 6, wobei die Freigabe- und Aktualisierungs-Halbhaltespeicher 58a und 60a durch
zwei Halbhaltespeicher 82a und 84a vom soeben
besprochenen Typ ersetzt wurden, d.h. jeder weist ein nichtinvertierendes
Gatter TGE mit Freigabeeingang sowie einen Speicherknoten auf. Die
Anordnung von 10 hat die Vorteile über die
Anordnung von 6, daß nur ein Taktsignal COMMONCLK
erforderlich ist, welches allen Halbhaltespeichern zugeführt wird,
und daß die
Stromaufnahme sowie die Anzahl der benötigten Taktsignalleitungen
kleiner ist. Der Einfang-Halbhaltespeicher 56a bekommt
das inverse Signal des dem Freigabe-Halbhaltespeicher 84a und dem
Aktualisierungs-Halbhaltespeicher 82a zugeführten Taktsignals.
Da hier nur ein Taktsignal vorhanden ist, existiert nur ein Taktbaum,
so daß die
dynamische Leistungsprüfung
entsprechend genauer ist.
-
Ein
weiteres Steuersignal TAPCONTROL3 wird dem Freigabe-Halbhaltespeicher 84a und,
in invertierter Form, dem Aktualisierungs-Halbhaltespeicher 82a zugeführt. Die
zwei Steuersignale TAPCONTROL1 und TAPCONTROL3 werden innerhalb
der TAP-Steuerung erzeugt und sind während des funktionellen Normalbetriebs
inaktiv. Für
den funktionellen Normalbetrieb der IC 2 sind das Steuersignal
TAPCONTROL1 und das Steuersignal TAPCONTROL3 im Logikzustand 'Low'. Für eine Aktualisierungsoperation
(welche eine Schiebeoperation beinhaltet), befindet sich TAPCONTROL1
im Logikzustand 'High' und TAPCONTROL3
im Logikzustand 'Low'. Für eine Einfangoperation
(welche auch eine Schiebeoperation beinhaltet) befindet sich TAPCONTROL1
im Logikzustand 'Low' und TAPCONTROL3
im Logikzustand 'High'. Für eine Schiebeoperation
(Hineinschieben oder Herausschieben) befinden sich TAPCONTROL1 und
TAPCONTROL3 beide im Logikzustand 'High'.
Außerdem
kann eine asynchrone Aktualisierungsoperation (ohne einbegriffene
Schiebeoperation) erzielt werden, während das Taktsignal COMMONCLK
im Logikzustand 'High' gehalten wird und
eine negative Flanke von TAPCONTROL3 erscheint, wie unten beschrieben
wird.
-
11 zeigt
ein Zeitablaufdiagramm für
die Schaltung in 10 zum Ausführen einer strukturellen Prüfung. Es
wird auch auf das Statusdiagramm in 3 hingewiesen.
-
Am
Anfang des Taktzyklus MCLOCK0 des Haupt-Taktsignals MCLOCK befindet
sich die TAP-Steuerung im zurückgesetzten
Status S0. Am Ende des Taktzyklus MCLOCK0 geht ein Signal ACTIVATE
TEST (Prüfung
aktivieren) in den Logikzustand 'High', so daß im nächsten Taktzyklus
MCLOCK1 der TAP-Steuerung 12 dieses
in den Prüfablauf-Wartestatus
S1 und danach im nächsten
Taktzyklus MCLOCK2 in den Scanwartestatus S2 übergeht. Am Anfang vom Taktzyklus
MCLOCK3 erfolgt der Übergang
in einen Einfangstatus S3 (mit einbegriffener Schiebeoperation),
und ein Prüftakt-Freigabesignal TESTCLKEN
wird in den Logikzustand 'High' gesetzt. Dies startet
das gemeinsame Taktsignal COMMONCLK auf der Leitung 86.
Am Anfang vom Taktzyklus MCLOCK4 erscheint ein Datenausgangsbit
DOB1, welches das Ergebnis einer vorherigen Prüfung sein kann, auf der Dateneingangsleitung 10a.
Am Anfang des Taktzyklus MCLOCK4, während die TAP-Steuerung vom
Status S3 in den Schiebestatus S4 übergeht, wird die Einfangoperation
ausgeführt,
und das auf der Leitung 90a eingefangene Bit wird auch
auf die SCANOUT-Leitung 14b herausgeschoben. Obwohl diese Schiebeoperation
von der Einfangoperation des Taktzyklus MCLOCK3 verursacht wird,
wird ihre Auswirkung erst mit dem nächsten Taktzyklus MCLOCK4 gesehen.
-
Bis
zu dieser Stelle befindet sich das Steuersignal TAPCONTROL1 im Logikzustand 'Low', um die Daten auf
der Eingangsleitung 10a mit dem Ausgang des Multiplexers 26a zu
verbinden, und das Steuersignal TAPCONTROL3 befindet sich im Logikzustand 'High', um den Freigabe-Halbhaltespeicher
freizugeben und den Aktualisierungs-Halbhaltespeicher im Datenhaltestatus
zu halten. Wenn das Taktsignal COMMONCLK an der Flanke 251 in
den Logikzustand 'Low' geht, wird das Datenbit
DOB1 am Ausgang 10a der kombinatorischen Logikschaltung 5 dynamisch
am internen Knoten 90a reflektiert. Mit der steigenden
Flanke 252 des Taktsignals COMMONCLK wird das aktuelle
Datenbit auf der DATAIN-Signalleitung 10a eingefangen und
im internen Knoten auf der Leitung 90a gehalten. Zur gleichen
Zeit wird der Freigabe-Halbhaltespeicher freigegeben, um das Datenbit
DOB1 am Knoten 90a auf die SCANOUT-Leitung 14b zu
bringen. An der negativen Flanke 254 von COMMONCLK während MCLOCK4
wird das Signal auf der SCANOUT-Leitung 14b festgehalten. Während MCLOCK4
schaltet das Steuersignal TAPCONTROL1 von 'Low' auf 'High' um, wie dargestellt
mit der Flanke 256, und dies veranlaßt den Multiplexer 26a,
das Signal auf der SCANIN-Signaleingangsleitung 14a als
Eingangssignal zu übernehmen.
In den zwei Taktzyklen MCLOCK4, MCLOCK5 befindet sich die TAP-Steuerung
folglich im Schiebestatus S4, und zwei Scanprüfwerte TDB1,TDB2 werden sequentiell
auf die SCANOUT-Signalleitung 14b hinausgeschoben. Es versteht
sich, daß normalerweise
n Taktzyklen im Schiebestatus erfolgen, wie oben mit Hinweis auf 2 erläutert wurde.
An der steigenden Flanke von MCLOCK6 erfolgt der Übergang
in den Exit1-Status
S5, das Signal TESTCLKEN wird in den Logikzustand 'Low' gebracht und an
der fallenden Flanke von MCLOCK wird das Signal TAPCONTROL1 in den
Logikzustand 'Low' gebracht, wie dargestellt
mit der Flanke 258. Die zeitliche Position der Flanke 258 ist
unwichtig, da sie keinen Einfluß hat, deshalb
könnte
diese Flanke sogar in einem beliebigen, späteren Zyklus untergebracht
werden. Während MCLOCK7
wird der Aktualisierungs-Halbhaltespeicher
freigegeben mit der Flanke 260, wenn TAPCONTROL3 in den
Logikzustand 'Low' übergeht, und das Prüfdatenbit
TDB2 am Knoten 90 erscheint am Eingang 8a der kombinatorischen
Logikschaltung 5. Da das Taktsignal COMMONCLK auf der Leitung 86 sich
zu diesem Zeitpunkt im Logikzustand 'High' befindet,
wird der Aktualisierungs-Halbhaltespeicher, wenn er freigegeben
ist, in den Datenübergabestatus
gehen. Die Flanke 260 ist nicht synchronisiert mit einer
Taktflanke des Haupt-Taktsignals MCLOCK, und folglich ist die mit
der Kante 260 bewirkte Aktualisierungsoperation asynchron,
und in dieser Aktualisierung ist keine Schiebeoperation einbegriffen.
Dies wird als "asynchrone
Aktualisierung" bezeichnet.
Während
MCLOCK8 erfolgt der Übergang
in den Prüflauf-Wartestatus
S1, und TAPCONTROL3 geht mit der Flanke 262 in den Logikzustand 'High' zurück. Es ist
ersichtlich, daß alle
kritischen Operationen synchron an der positiven Flanke des Taktsignals
COMMONCLK ablaufen, mit Ausnahme der Operation, die stattfindet,
wenn das Signal TAPCONTROL3 von 'High' zu 'Low' an der Flanke 260 in
MCLOCK7 übergeht,
so daß diese
Operation asynchron erfolgt. Diese asynchrone Operation ist ein
wichtiges Merkmal der Schaltung von 10, die
es dem Statusdiagramm gemäß der IEEE-Norm
1149.1-90 ermöglicht,
eine Aktualisierung während
einer strukturellen Prüfung
zu implementieren. Im strukturellen Prüfmodus ist der Zeitpunkt der
Aktualisierung nicht kritisch, und die asynchrone Signaländerung
auf der Ausgangsleitung 8a ist nicht signifikant.
-
Mit
Hinweis auf die 12a und 12b wird
nun die Funktionsweise der Schaltung in 10 während einer
dynamischen Leistungsprüfung
an Hand des Statusdiagramms in 8 beschrieben. 12b ist eine expandierte Darstellung der Zyklen
MCLOCK5 bis MCLOCK7 von 12a,
in welchen die kritischen Zeitwege der dynamischen Leistungsprüfung liegen.
-
Die
Funktionsweise der Schaltung von 10 ist
der von 6 bei der Ausführung einer
dynamischen Leistungsprüfung ähnlich,
so daß die
gemeinsamen Elemente nicht beschrieben werden. Es folgt nun eine
Beschreibung der Unterschiede der Zeitablaufsequenzen für die Schaltung
von 6 und der Zeitablaufsequenzen für die Schaltung
von 10.
-
12b zeigt den Zeitablauf des gemeinsamen Taktsignals
COMMONCLK, welches erzeugt wird, indem das Haupt-Taktsignal MCLOCK
und das voreilende Taktsignal ADVANCECLK wie dargestellt kombiniert werden.
-
Die
Steuerung der Aktualisierungsfunktion ist in der Schaltung von 12 anders.
Wie in 12a dargestellt ist, wechselt
das Signal TAPCONTROL3 seinen Logikzustand von 'High' zu 'Low', dargestellt mit
der Flanke 270, an der fallenden Flanke von COMMONCLK im
TAP-Taktzyklus MCLOCKN+4. Dies bedeutet, wenn COMMONCK am Anfang
des Einfangzyklus MCLOCKN+5 in den Logikzustand 'High' übergeht,
daß der Aktualisierungs-Halbhaltespeicher
dann in seinen Datenübergabestatus
gebracht wird und das an seinem Eingang am Knoten 90a dann
befindliche Bit an den Ausgang auf der Leitung 8a transferiert.
Dies liefert das Aktivierungs-Eingangsbit für die dynamische Leistungsprüfung. Das
Steuersignal TAPCONTROL3 wird dann von seinem 'Low'-
zu seinem 'High'-Zustand umgeschaltet,
dargestellt als Flanke 272, um das Bit am Ausgang des Aktualisierungs-Halbhaltespeichers
zu halten, so daß das
Ausgangssignal bei den nachfolgenden Flanken von COMMONCLK unverändert bleibt.
-
Das
Datenausgangssignal der funktionellen Logikschaltung 4,
als ein Ergebnis der Aktivierungs-Eingangsbits, wird mit der steigenden
Flanke 273 des Taktsignals COMMONCLK auf der Leitung 86 eingefangen. Die
zeitliche Position der Flanke 273 wird mit dem voreilenden
Taktsignal ADVANCECLK gesteuert.
-
Die
Messung der dynamischen Leistungsfähigkeit der funktionellen Logik
wird in der gleichen Weise durchgeführt, wie oben im Zusammenhang
mit 9 erläutert
wurde.
-
12b zeigt das Grundprinzip der dynamischen Leistungsprüfung in
noch deutlicherer Weise. Der Pfeil p repräsentiert die Signallaufzeit
durch die kombinatorische Logikschaltung 5, oder die Zeit,
die verstreicht, bis der Datenausgang von einem Zustand zum anderen
Zustand wechselt, nachdem die Eingangsbits von Sensitisierungsmuster
zum Aktivierungsmuster verändert
wurden. Wie oben bereits erläutert
wurde, kann ein Maß für diese
Zeit ermittelt werden, indem man die Verzögerungszeit t zwischen einer
positiven Flanke von MCLOCK und der positiven Flanke von ADVANCECLK
variiert.
-
Das
voreilende Taktsignal ADVANCECLK wird eingeführt, weil es wünschenswert
ist, die Geschwindigkeit des gemeinsamen Taktsignals COMMONCLK im
Einfangzyklus MCLOCKN+S zu erhöhen.
Es ist jedoch unerwünscht,
einen schnellen Zyklus im Haupt-Taktsignal MCLOCK einzuführen. Außerdem,
sobald das gemeinsame Taktsignal COMMONCLK einen schnellen Taktzyklus
während
der Periode MCLOCKN+5 ausgeführt
hat, muß es
für die
nächste
steigende Flanke des Haupt-Taktsignals MCLOCK inhibitiert werden,
sonst würden
das Haupt-Taktsignal und das gemeinsame Taktsignal ihre Synchronisierung
verlieren. Wenn die Synchronisierung zwischen diesen beiden Taktsignalen
verlorengeht, können
einige der ein- bzw.
ausgeschobenen Prüfbits
ebenfalls verlorengehen. Deshalb empfängt die TAP-Steuerung am Anfang
des Taktzyklus MCLOCKN+6 eine positive Taktflanke, aber das Signal
COMMONCLK erzeugt keine Flanke.
-
13 zeigt
ein Beispiel einer Ausführungsform
der Schaltung gemäß 10 mit
bekannten Schaltungskomponenten. Der Multiplexer 26a umfaßt zwei
UND-Gatter 92 und 94 sowie ein NOR-Gatter 122.
Es ist ersichtlich, daß das
Signal TAPCONTROL1 auf der Leitung 34 dem UND-Gatter 94 direkt
zugeführt
wird, aber invertiert am Eingang des UND-Gatters 92 erscheint.
Der Halbhaltespeicher 56 umfaßt ein nichtinvertierendes Gatter,
welches zwei komplementäre
Transistoren 96 und 98 sowie eine Rücken-an-Rücken-Inverteranordnung 100 aufweist,
mit einem starken Inverter 100a und einem schwachen Inverter 100b.
Der Halbhaltespeicher 82 umfaßt ein nichtinvertierendes
Gatter mit zwei komplementären
Transistoren 106 und 108, einem Inverterpaar 116 Rücken-an-Rücken sowie
einen Inverter 118. Die Rücken-an-Rücken-Inverter 116 sind
ein starker Inverter 116a und ein schwacher Inverter 1176b.
Der Halbhaltespeicher 84 umfaßt ein nichtinvertierenes Gatter
mit zwei komplementären
Transistoren 110 und 112, ein Inverterpaar 114 Rücken-an-Rücken und
einen Inverter 120. Die Rücken-an-Rücken-Inverter
sind ein starker Inverter 114a und ein schwacher Inverter 114b. Außerdem verwenden
die Halbhaltespeicher 82 und 84 gemeinsam ein
nichtinvertierendes Gatter mit den komplementären Transistoren 102, 104.
-
14 zeigt
ein weiteres Beispiel einer möglichen
Implementierung der vorliegenden Erfindung. 14 ist
ein Anschaungsbeispiel, wie eine Scanzelle im Schaltplan von 10 implementiert
werden kann. Die Scanzelle in diesem Beispiel umfaßt eine
Eingangsstufe 320 (die etwa dem Multiplexer 26a und
dem Haltespeicher 56a von 10 entspricht)
und eine Ausgangsstufe 330 (die etwa den Halbhaltespeichern 82a und 84a von 10 entspricht).
Die Implementierung der vorliegenden Erfindung in 14 zeigt
ebenfalls, wie die vorliegende Erfindung erweitert werden kann mit
einem zusätzlich
in der Eingangsstufe hinzugefügten
Multiplexer, der die funktionelle Selektion von einem aus zwei Dateneingängen ermöglicht,
und indem eine synchrone Rückstellvorrichtung
hinzugefügt
wurde.
-
Die
Eingangsstufe empfängt
das Signal SCANIN auf der Leitung 14a und das Signal TAPCONTROL1 auf
der Leitung 34, zusammen mit den Signalen DATAIN1 auf der
Leitung 310a, DATAIN2 auf der Leitung 312a, SELECTDATAIN
auf der Leitung 314a und RESET auf der Leitung 318.
Das dargestellte Beispiel unterscheidet sich von der Schaltung in 10,
indem es zwei Dateneingänge
DATAIN1 und DATAIN2 aufweist. Es kann jedoch nur jeweils ein Dateneingang
mit dem Signal SELECTDATAIN selektiert werden. Das RESET-Signal
auf der Leitung 318 wird zum Zurücksetzen der Eingangsstufe 320 verwendet.
Die Eingangsstufe 320 liefert ein Ausgangssignal DATA auf
der Leitung 316, welches ein Eingangssignal für die Ausgangsstufe 330 bildet.
Das Signal TAPCONTROL3 auf der Leitung 88 bildet ein zweites
Eingangssignal für
die Ausgangsstufe. Die Ausgangsstufe liefert das Signal DATAOUT
auf der Leitung 8a und das Signal SCANOUT auf der Leitung 14b.
Die Eingangsstufe und die Ausgangsstufe empfangen beide das Signal
NOTCOMMONCLK auf der Leitung 86b über das Gatter 322,
sowie das Signal COMMONCLK auf der Leitung 86a über die
Gatter 322 und 324.
-
Die
Funktionsweise der Schaltung gemäß 14 kann
einfach mit Hinweis auf 15a und 15b verstanden werden. Die 15a und 15b zeigen respektive die komplette Eingangsstufe 320 und
die komplette Ausgangsstufe 330.
-
Die
in 15a dargestellte Eingangsstufe 320 umfaßt eine
Anzahl von Gattern 332,334,336,350 und 370,
eine Anzahl von Transistoren 338 bis 348 und 354 bis 368 sowie
ein nichtinvertierendes Gatter 331.
-
Die
in 15b dargestellte Ausgangsstufe umfaßt ein invertierendes
Gatter 388, eine Anzahl von Haltespeichern 380, 390, 394,
zwei Inverter 392, 396 und eine Anzahl von nichtinvertierenden
Gattern 382 bis 386. In wohlbekannter Weise umfaßt jeder
der Haltespeicher 380, 390 und 394 einen
starken Inverter 380a, 390a und 394a respektive
gekoppelt mit einem relativ schwachen Inverter 380b, 390b und 394b.
-
Jedes
der nichtinvertierenden Gatter 330,382,384,386 umfaßt ein Paar
komplementärer
Transistoren, die den respektiven Transistorpaaren 96,98; 102,104; 108,106 und 110,112 von 13 entsprechen.
-
Dem
kompetenten Fachmann, der mit der oben gebrachten Beschreibung von 10 vertraut
ist, wird es ersichtlich sein, wie die Schaltungsimplementierung
der 14, 15a und 15b funktioniert,
so daß dies
hier nicht weiter beschrieben wird.
-
Es
wird nun auf 16 hingewiesen, um eine TAP-Steuerung
zu beschreiben, welches wahlweise eine strukturelle Prüfung oder
eine dynamische Leistungsprüfung
ausführen
kann. Diese TAP-Steuerung wird mit der Referenzzahl 12 gemeinsam
mit 1 bezeichnet, und seine Anschlüsse an der Scankette werden
mit 14a und 14e bezeichnet, ebenfalls gemeinsam
mit 1. Dies bedeutet, daß die Prüfdatenbits auf die Leitung 14a ausgegeben
und die Ergebnisdatenbits auf der Leitung 14e eingegeben
werden. Die TAP-Steuerung 12 empfängt Eingangssignale an Ports
gemäß der Definition
in der IEEE-NORM, auf welche oben hingewiesen wurde:
- TMS
(Test Mode Select = Prüfmodus
selektieren) auf der Leitung 500;
- TRST STAR (Prüfung
zurücksetzen – Aktiv 'Low') auf der Leitung 502;
- MCLOCK (entspricht dem Standard TCK) auf der Leitung 504;
- TDI (TAP-Daten Eingang) auf der Leitung 506.
-
TDO
auf der Leitung 508 repräsentiert die Ausgangs-TAP-Daten,
welche die auf der Leitung 14e nach einer Scanprüfung empfangenen
Daten sind. TDI auf der Leitung 506 bezeichnet die TAP-Daten,
welche in der Normalverwendung der TAP-Steuerung 12 der
Scankette auf der Leitung 14a zugeführt werden. Die TAP-Steuerung 12 umfaßt eine
Statusmaschine 512, die wohlbekannt gemäß dem Stand der Technik die
Statuslogik 517 und ein Statusregister 519 für den sequentiellen
Durchlauf der im Statusdiagramm von 3 dargestellten
Zustände
aufweist. Die Statuslogik 517 ist angeschlossen, um das
TMS-Signal zu empfangen, und das Statusregister ist angeschlossen,
um das Signal TRST STAR sowie das TAP-Taktsignal MCLOCK zu empfangen.
Die Implementierung der Statusmaschine 512 ist dem Fachmann
bekannt und wird deshalb hier nicht beschrieben. Die TAP-Steuerung 12 enthält auch
einen Taktgenerator 510, der das Signal MCLOCK in das Signal
COMMONCLK konvertiert. Die in 16 dargestellte
TAP-Steuerung unterscheidet sich vom konventionellen TAP-Steuergerät, indem
die Interpretation von jedem Status der Statusfolge, welche die
Statusmaschine zyklisch durchläuft,
verändert
werden kann, in Abhängigkeit
davon, ob die TAP-Steuerung 12 eine strukturelle Prüfung oder
eine dynamische Leistungsprüfung
implementieren soll.
-
Für diesen
Zweck enthält
die TAP-Steuerung auch ein Befehlsregister 520, in welchem
eine Anweisung geladen wird, die bestimmt, ob es sich um eine strukturelle
Prüfung
oder um eine dynamische Leistungsprüfung über das TDI-Signal auf der Leitung 506 handelt.
Die Statusmaschine 512 enthält eine Ausgangslogik 524,
welche die Statusbefehle vom Statusregister 519 empfängt und
sie interpretiert, um die TAP-Steuersignale auf der Ausgangsleitung 509 zu
erzeugen. Die Ausgangslogik 524 umfaßt zwei Sätze von Logikgattern LG1, LG2,
die mit einem Multiplexer 518 verbunden sind. Ein Ausgangssignal
PERFSELECT, welches die dynamische Leistungsprüfung selektiert, wird dem Multiplexer 518 zugeführt, um
die Interpretation von jedem Status entsprechend zu verändern. Entweder
der Logikgattersatz LG1 oder der Logikgattersatz LG2 ist mit der Ausgangsleitung 509 verbunden,
unter der Steuerung mit dem Signal PERFSELECT, welches vom Befehlsregister 520 ausgegeben
wird.
-
Der
erste Logikgattersatz LG1 in der Ausgangslogik 524 interpretiert
jeden Status der Statusmaschine 512 in der in 3 dargestellten
Weise, um eine strukturelle Prüfung
zu implementieren. Der zweite Logikgattersatz LG2 interpretiert
jeden Status der Statusmaschine in der in 6 dargestellten
Weise, um eine dynamische Leistungsprüfung zu implementieren. Um
die TAP-Steuersignale zur Ausführung
von entweder einer strukturellen Prüfung oder einer dynamischen
Leistungsprüfung
zu erzeugen, ist es somit lediglich erforderlich, entweder den ersten
oder den zweiten Logikgattersatz in der Ausgangslogik 524 zu
selektieren. Diese Selektion erfolgt, indem der Multiplexer 518 mit
dem Signal PERFSELECT gesteuert wird. Die Selektion des ersten oder
des zweiten Logikgattersatzes könnte
in jeder geeigneten, sonstigen Weise ausgeführt werden. Das hier beschriebene
Verfahren erfordert jedoch nur eine geringe Modifikation einer vorhandenen
TAP-Steuerung.
-
Die
Selektierten TAP-Steuersignale auf der Leitung 509 werden
auch dem Taktgenerator 510 zugeführt, um das mit der gewählten Prüfung kompatible
Signal COMMONCLK zu erzeugen, wie unten detailliert beschrieben
wird.
-
Als
Alternative zur Selektion zwischen einem ersten und einem zweiten
Satz Logikgatter, konnte eine programmierbare Logikanordnung oder
eine ähnliche
Vorrichtung innerhalb der Ausgangslogik 524 vorgesehen
werden, so daß die
Verbindungen zwischen den einzelnen Gattern selektiert werden können, um
zu bestimmen, ob die TAP-Steuerung eine strukturelle Prüfung oder
eine dynamische Leistungsprüfung
ausführt.
-
17 zeigt
ein Blockdiagramm der TAP-Steuerung 12 zusammen mit dem
Taktgenerator 510, der das Taktsignal COMMONCLK für die oben
beschriebenen Ausführungsformen
mit einem einzigen Taktgenerator erzeugt. Die Eingänge und
Ausgänge
der TAP-Steuerung 12 wurden bereits im Zusammenhang mit 16 beschrieben,
deshalb wird hier keine weitere Beschreibung gebracht, sondern nur
darauf hingewiesen, daß die
Ausgangssignale TESTCLKEN, ACTIVATE TEST und PERFSELECT umfassen,
die spezifisch dargestellt sind, weil sie die Erzeugung des Taktsignals
COMMONCLK beeinflussen. Die sonstigen, von der TAP-Steuerung erzeugten
Steuersignale sind nur als Signalmenge TAPCONTROL aufgeführt.
-
Ein
Multiplexer 612 liefert das Ausgangssignal COMMONCLK, welches
im funktionellen Normalbetrieb von einem Referenz-Taktsignal auf
der Leitung 610 und in einem Prüfmodus von einem Eingangssignal
auf der Leitung 621 abgeleitet wird. Der Multiplexer 612 wird
mit dem Signal ACTIVATE TEST von der TAP-Steuerung gesteuert. Ein
zweiter Multiplexer 616 empfängt ein Eingangssignal, welches
normalerweise auf dem Logikwert 'High' gehalten wird, auf
der Leitung 618, und das Signal MCLOCK auf der Leitung 506.
Der Ausgang des zweiten Multiplexers 616 wird einem dritten
Multiplexer 620 auf der Leitung 622 zugeführt. Der
dritte Multiplexer hat einen zweiten Eingang auf der Leitung 624,
die das Ausgangssignal eines ODER-Gatters 626 führt, welches
als Eingangssignale REFCLOCK und das Ausgangssignal des zweiten
Multiplexers 616 bekommt. Der Ausgang des dritten Multiplexers
ist als ein Eingang auf der Leitung 621 für den Ausgangsmultiplexer 612 geführt. Der
zweite Multiplexer wird mit dem Signalausgang TESTCLKEN von der
TAP-Steuerung 12 gesteuert.
Der dritte Multiplexer wird mit dem PERFSELECT-Signalausgang von der TAP-Steuerung 12 gesteuert.
-
Für eine strukturelle
Prüfung
wird das Signal COMMONCLK wie folgt gewonnen. Das Signal ACTIVATE
TEST schaltet den Multiplexer 612 so, daß das Ausgangssignal
des Multiplexers 612 von der Leitung 621 stammt.
Eine dynamische Leistungsprüfung
wurde nicht gewählt,
deshalb wird das Eingangssignal zum Multiplexer 620 auf
der Leitung 622 vom Multiplexer 616 geholt. Das
Ausgangssignal dieses Multiplexers ist das Signal auf der Leitung 618,
welches immer den Logikwert '1' aufweist, mit Ausnahme
der Zeit, während
welcher das Signal TESTCLKEN aktiv ist. Während dieser Zeit gibt er das
Signal MCLOCK von der Leitung 506 aus. Somit wird das Signal
COMMONCLK für
eine strukturelle Prüfung,
wie in 11 dargestellt, erzeugt.
-
Für eine dynamische
Leistungsprüfung
wird das Signal COMMONCLK wie folgt gewonnen. Wie zuvor hat das
Signal ACTIVATE TEST die Eingänge
zum Multiplexer 612 so geschaltet, daß dieser über den Puffer 614 das
Eingangssignal von der Leitung 621 ausgibt. In diesem Fall
ist das Signal PERFSELECT aktiv, so daß das Eingangssignal zum Multiplexer 620 auf
der Leitung 624 das logische "ODER" der
Referenztaktleitung 610 mit dem Ausgangssignal des Multiplexers 616 ist.
Der Multiplexer 616 liefert als ein Ausgangssignal auf
der Leitung 622 immer das Signal MCLOCK, mit Ausnahme einer
Periode, in welcher die Eingänge
des Multiplexers 616 so geschaltet sind, daß ein Logikwert "1" als Ausgangssignal erscheint. Die Zeitablauf-Steuerung hierfür ist in 12a dargestellt. Außerdem ist das Signal REFCLK
hier nicht wie in der funktionellen Normalbetriebsart, sondern ein
spezielles Taktsignal, welches verwendet wird, um die zweite zeitbestimmende
Flanke für
die dynamische Leistungsprüfung
zu erzeugen, die mit der Bezeichnung ADVANCECLK in 12a dargestellt ist. Somit hat das über den
Puffer 614 ausgegebene Signal COMMONCLK die in 12a gezeigte Form.
-
-
-
-
-
-
-