-
Scan-Tests
wurden in der Vergangenheit dazu verwendet, die Funktionalität von Logikschaltungen
an den Zwischenverbindungen integrierter Schaltungen zu überprüfen. Als
Hintergrund zu der vorliegenden Erfindung folgt eine kurze Erläuterung der
Technik.
-
1 veranschaulicht schematisch
eine beispielhafte Struktur einer integrierten Schaltung (IC) 2, die
die Grundelemente enthält,
die zum Ausführen von
Boundary-Scan-Tests erforderlich sind. Die IC 2 enthält die Funktionslogikschaltungsanordnung 4, mehrere
Boundary-Scan-Zellen 6a, 6b, 6c, 6d und eine
Testzugriffsanschluss-Steuereinrichtung (TAP-Steuereinrichtung) 12.
Für den
Normalfunktionsbetrieb der IC 2 ist die Funktionslogikschaltungsanordnung 4 über die
jeweiligen Verbindungsleitungen 10a bis 10d mit
den Boundary-Scan-Zellen 6a bis 6d verbunden.
Außerdem
sind die Boundary-Scan-Zellen 6a bis 6d mit den
jeweiligen externen Anschlussstiftverbindungen 8a, 8b, 8c, 8d verbunden,
die es ermöglichen,
die Funktionslogikschaltungsanordnung mit einer weiteren Schaltungsanordnung
zu verbinden, die weitere ICs enthält. Zur Ausführung von
Boundary-Scan-Tests
enthalten die Boundary-Scan-Zellen 6a bis 6d jeweils
zusätzlich eine
Scan-Test-Schaltung, wobei die Scan-Test-Schaltungen über die
Kettenverbindungen 14a, 14b, 14c, 14d, 14e in
einer Kette verbunden sind, die an der TAP-Steuereinrichtung 12 beginnt und
endet.
-
Die
Boundary-Scan-Zellen 6a bis 6d sind lediglich
zur Ausführung
von Boundary-Scan-Tests vorgesehen.
Im Normalfunktionsbetrieb der IC 2 arbeiten die Boundary-Scan-Zellen 6a bis 6d in
der Weise, dass sie eine direkte Verbindung zwischen den Verbindungsleitungen 10a bis 10d und
den externen Anschlussstiftverbindungen 8a bis 8d schaffen.
Somit werden die Verbindungsleitungen 10a bis 10d beim
Rücksetzen
immer direkt mit den externen Anschlussstiftverbindungen 8a bis 8d verbunden, während beim
Rücksetzen
der TAP-Steuereinrichtung immer in die Normalfunktionsbetriebsart
eingetreten wird.
-
Ein
einfacher Boundary-Scan-Test soll die Unversehrtheit zwischen jeder
externen Anschlussstiftverbindung 8a bis 8d und
einer entsprechenden externen An schlussstiftverbindung an einer
anderen IC überprüfen. Eine
einfache Verwirklichung einer bekannten Boundary-Scan-Zelle zur
Verwendung in einer Boundary-Scan-Testschaltung,
die dies verwirklichen kann, ist in 2 veranschaulicht.
Eine solche Boundary-Scan-Zelle ist aus der IEEE-Norm 1149.1-1990
bekannt. Die Boundary-Scan-Zellen 6a bis 6d können so
konstruiert sein, dass sie in der Weise arbeiten, dass Signale lediglich
in die Funktionslogikschaltungsanordnung 4 eingegeben werden können, dass
Signale lediglich von der Funktionslogikschaltungsanordnung 4 ausgegeben
werden können
oder dass Signale sowohl in die Funktionslogikschaltungsanordnung 4 eingegeben
als auch von ihr ausgegeben werden können. Die folgende Beschreibung
betrachtet die Verwirklichung, bei der die Boundary-Scan-Zellen 6a bis 6d alle
Lediglich Signale von der Funktionslogikschaltungsanordnung 4 ausgeben
können.
-
Die
Boundary-Scan-Zelle aus 2 umfasst einen
Eingangsmultiplexer 26a, einen Ausgangsmultiplexer 18a und
zwei Halteeinrichtungen 28a, 40a. Der Eingangsmultiplexer 26a besitzt
als eines seiner Eingangssignale das Signal DATAIN auf der Leitung 10a und
als sein anderes Eingangssignal das Signal SCANIN auf der Leitung 14a.
Der Eingangsmultiplexer wird durch ein Signal TAPCONTROL1 auf der Leitung 34 gesteuert.
Das Ausgangssignal des Eingangsmultiplexers 26a auf der
Leitung 30a bildet das Eingangssignal in die Aufnahme-Halteeinrichtung 28a,
während
das Ausgangssignal der Halteeinrichtung 28a auf der Leitung 16a das
Eingangssignal in die Aktualisierungs-Halteeinrichtung 40a auf
der Leitung 22a und das Signal SCANOUT auf der Leitung 14b bildet.
Die Halteeinrichtungen 28a und 40a werden jeweils
durch die Signale TAPCLOCK1 und TAPCLOCK2 auf den Leitungen 36 bzw. 38 getaktet. Der
Ausgangsmultiplexer 18a besitzt als eines seiner Eingangssignale
das Signal DATAIN auf der Leitung 10a und als sein anderes
Eingangssignal das Ausgangssignal der Halteeinrichtung 40a auf
der Leitung 24a. Der Ausgangsmultiplexer wird durch ein
Signal TAPCONTROL2 auf der Leitung 22 gesteuert und erzeugt
an seinem Ausgang das Signal DATAOUT auf der Leitung 8a.
Die Signale TAPCONTROL1, TAPCONTROL2, TAPCLOCK1 und TAPCLOCK2 werden
alle unter der Steuerung der TAP-Steuereinrichtung 12 erzeugt
und sind für
alle Boundary-Scan-Zellen 6a bis 6d gemeinsam,
obgleich diese Signale und Verbindungen aus Klarheitsgründen in 1 nicht gezeigt sind.
-
Anhand
der 1 und 2 werden nun zwei Betriebsarten
der IC 2 aus 1 beschrieben.
Es ist klar, dass jede der Boundary-Scan-Zellen 6a bis 6d eine
Schaltung enthält,
die ähnlich
der in 2 gezeigten ist,
wobei die verschiedenen Komponenten und Signalleitungen geeignet
mit den Suffixen b, c, d versehen sind.
-
Im
Normalfunktionsbetrieb ist die TAP-Steuereinrichtung 12 inaktiv,
wobei der Ausgangsmultiplexer 8a durch das Steuersignal
TAPCONTROL2 auf der Leitung 22 gesteuert wird, so dass
das Signal DATAIN auf der Leitung 10a direkt mit dem Signal DATAOUT
auf der Leitung 8a verbunden ist. Während dieses Normalfunktionsbetriebs
ist die Steuerung des Eingangsmultiplexers 26a unwichtig,
wobei die Taktsignale TAPCLOCK1 und TAPCLOCK2 auf den Leitungen 36 bzw. 38 vorzugsweise
beide gesperrt sind.
-
Wenn
ein Boundary-Scan-Test ausgeführt werden
soll, steuert die TAP-Steuereinrichtung 12 in der IC2 das
Signal TAPCONTROL2 auf der Leitung 22 in der Weise, dass
der Multiplexer 18a sein Eingangssignal auf der Leitung 24a von
dem Ausgang der Halteeinrichtung 40a mit seinem Ausgangssignal auf
der Leitung 8a verbindet. Um den Boundary-Scan-Test auszuführen, ist
es erforderlich, an jeder der jeweiligen Anschlussstiftverbindungen 8a bis 8b ein
bekanntes Bit anzuordnen. Um dies zu erreichen, steuert die TAP-Steuereinrichtung
den Multiplexer 26a mittels des Steuersignals TAPCONTROL1 auf
der Leitung 34 in der Weise, dass sein Ausgangssignal auf
der Leitung 30a mit seinem Eingangssignal auf der Leitung 14a verbunden
wird. Daraufhin gibt die TAP-Steuereinrichtung 12 auf der
Leitung 14a unter der Steuerung des Taktsignals TAPCLOCK1
auf der Leitung 36 seriell eine Folge von Testbits aus,
so dass die Testbits der Reihe nach über die Signalleitungen 14b bis 14d durch
die Halteeinrichtungen 28a bis 28d getaktet werden.
Nach mehreren Taktzyklen (in dem in 1 gezeigten
Beispiel vier, normalerweise aber je nach der Anzahl und dem Typ
der Anschlussstiftverbindungen 8a bis 8d eine
wesentlich größere Anzahl)
von TAPCLOCK1 besitzt jeder der Knoten 31a bis 31d ein
bekanntes Testbit, das mittels der jeweiligen Halteeinrichtungen 28a bis 28d dort gespeichert
ist. Daraufhin taktet die TAP-Steuereinrichtung das Signal TAPCLOCK2
auf der Leitung 38 in der Weise, dass das Testbit an jedem
Knoten 31a bis 31d auf den Ausgangsleitungen 24a bis 24d der Halteeinrichtungen 40a bis 40d erscheint.
Folglich erscheinen die Testbits an den jeweiligen externen Anschlussstiftverbindungen 8a bis 8d.
Falls die IC 2 mit ähnlichen
Boundary-Scan-Zellen verbunden ist, die in der Weise konfiguriert
sind, dass sie Signale in ihre jeweilige IC eingeben und eine Boundary-Scan-Testfähigkeit
besitzen, können
die TAP-Steuereinrichtungen, die diese Eingangs-Boundary-Scan-Zellen steuern, ihre
jeweiligen Boundary-Scan-Zellen seriell lesen, so dass eine Überprüfung ausgeführt werden
kann, die sicherstellt, dass der durch eine besondere TAP-Steuereinrichtung
in eine Boundary-Scan-Zelle geschriebene Wert erfolgreich an eine
andere Boundary-Scan-Zelle, mit der sie verbunden ist, übermittelt
worden ist. Auf diese Weise können
die Zwischenverbindungen zwischen verschiedenen ICs geprüft werden.
-
Es
ist zu sehen, dass die obige Technik den Test durchzuführen ermöglicht,
ohne dass die TAP-Steuereinrichtung 12 den tatsächlichen
Betrieb der Funktionslogikschaltungsanordnung 4 zu berücksichtigen
braucht. Die TAP-Steuereinrichtung braucht lediglich die Anzahl
und den Typ der Boundary-Scan-Zellen in der IC 2 zu kennen.
Die Boundary-Scan-Test-Technik ist hauptsächlich für die Platinenprüfung bestimmt.
-
3 veranschaulicht das Zustandsdiagramm
der TAP-Steuereinrichtung 12 aus 1, wie sie durch die IEEE-Norm 1149.1-1990
definiert ist. Mit Hilfe des in 3 gezeigten
Zustandsdiagramms wird nun der Betrieb der Schaltungsanordnung aus 2 bei der Durchführung eines
Boundary-Scan-Tests beschrieben.
-
Während des
Normalfunktionsbetriebs der IC 2 ist die TAP-Steuereinrichtung 12 in
einem Test-Logik-Rücksetzzustand
S0. In diesem Zustand ist die Testlogik im Leerlauf und das Signal
DATAIN auf der Leitung 10a mittels des Ausgangsmultiplexers 18a unter
der Steuerung des Signals TAPCONTROL2 auf der Leitung 22 direkt
mit dem Signal DATAOUT auf der Leitung 8a verbunden. Die TAP-Steuereinrichtung 12 wird
durch ein Master-Taktsignal MCLOCK gesteuert. Der Master-Takt MCLOCK ist eine
gepufferte Version des in der IEEE-Norm 1149.1-1990 definierten
Takts TCK. Zu Beginn einer Testoperation geht die TAP-Steuereinrichtung 12 zunächst in
einen Testlauf/Leerlauf-Zustand S1 über.
-
Falls
ein Boundary-Scan-Test durchgeführt werden
soll, tritt die TAP-Steuereinrichtung 12 beim nächsten Zyklus
von MCLOCK in einen Abtastauswahlzustand S2 ein, wobei das Steuersignal TAPCONTROL2
auf der Leitung 22 seinen Zustand in der Weise ändert, dass
das Ausgangssignal DATAOUT des Ausgangsmultiplexers 18a auf
der Leitung 8a direkt mit dem Signal auf der Leitung 24a verbunden
wird. Beim nächsten
Taktzyklus von MCLOCK tritt die TAP-Steuereinrichtung in einen Aufnahmezustand
S3 ein. Da noch keine Testdaten in die Scan-Test-Schaltung geladen worden sind,
ist der Aufnahmezustand in dieser Phase des Tests unwichtig.
-
Beim
nächsten
Taktzyklus von MCLOCK wird in einen Verschiebungszustand S4 eingetreten. In
diesem Zustand erzeugt die TAP-Steuereinrichtung mehrere Taktzyklen,
die auf der Leitung 36 das Taktsignal TAPCLOCK1 bilden,
während
sie das Signal TAPCONTROL1 auf der Leitung 34 auf einem solchen
Pegel halten, dass das Signal SCANIN auf der Leitung 14a an
dem Ausgang 30a des Multiplexers 26a erscheint.
Auf diese Weise werden die Testdaten seriell in die Testschaltungsanordnung
geschoben, so dass die Halteeinrichtungen 28a, 28b, 28c, 28d nach
einer bestimmten Anzahl n von Taktzyklen von TAPCLOCK1 (in diesem
Fall vier) an ihren jeweiligen Ausgängen an den Knoten 31a bis 31d alle
ein bekanntes Testbit besitzen. Somit wird der Verschiebungszustand
S4 für
n Zyklen des Master-Takts MCLOCK erhalten. Beim nächsten Zyklus
des Master-Takts wird in einen Austritt1-Zustand S5 eingetreten.
Der Zustand S5 ist ein vorübergehender
Zustand, wobei die TAP-Steuereinrichtung normalerweise beim nächsten Taktzyklus
des Master-Takts in einen Aktualisierungszustand S8 übergeht.
Alternativ könnte
die TAP-Steuereinrichtung, jedoch aus Gründen, die diese Erfindung nicht
betreffen und hier nicht erläutert
werden, in einen Pausezustand S6 eintreten, auf den ein Austritt2-Zustand
S7 folgt.
-
Während die
TAP-Steuereinrichtung in dem Aktualisierungszustand S8 ist, veranlasst
sie dadurch, dass sie einen Taktzyklus erzeugt, der die einmalige
Taktung des Taktsignals TAPCLOCK2 auf der Leitung 38a bildet,
dass das Ausgangssignal der Halteeinrichtung 40a aktualisiert
wird. Somit erscheint das Testdatenbit an dem Ausgangsknoten 31a der Halteeinrichtung 28a auf
der Leitung 24a am Ausgang der Halteeinrichtung 40a und
folglich als das DATAOUT-Signal auf der Leitung 8a. An
diesem Punkt der Testoperation sind alle DATAOUT-Signale auf den
Leitungen 8a bis 8d aktualisiert worden. Wie zuvor
erwähnt
wurde, sind die Anschlussstiftverbindungen 8a bis 8d mit
den jeweiligen Anschlussstiftverbindungen an einer oder an mehreren
weiteren ICs verbunden. Somit erscheinen die aktualisierten Signale
nach einer kurzen Zeitdauer, um die Ausbreitung des aktualisierten
Signals zwischen den ICs zu ermöglichen
(die die Ausbreitung über
eine Pufferlogik zwischen den ICs enthalten kann), an den Anschlussstiftverbindungen 8a bis 8d an
den jeweiligen Anschlussstiftverbindungen an einer oder an mehreren
weiteren ICs. Die Anschlussstiftverbindungen an den anderen ICs
sind mit Boundary-Scan-Zellen verbunden, die als Eingabe- oder Eingabe/Ausgabe-Vorrichtungen konfiguriert
sind. Es liegt im Umfang des Fachmanns, der auf die IEEE-Norm 1149.1-1990
Bezug nimmt, wie eine solche Eingangs-Boundary-Scan- Zelle verwirklicht
wird, so dass eine solche Eingangs-Boundary-Scan-Zelle hier nicht
ausführlich
beschrieben wird. Zur Vervollständigung
der Beschreibung eines Boundary-Scan-Tests wird angenommen, dass
die Eingangs-Boundary-Scan-Zelle an der IC, mit der die IC 2 verbunden
ist, gleich der Boundary-Scan-Zelle aus 2 ist, mit dem Unterschied, dass die
Anschlussstiftverbindung dieser anderen IC als das DATAIN-Signal
an der Leitung 10a verbunden ist. Somit wird für den Rest
der Beschreibung der Schaltung aus 2 angenommen,
dass das Signal DATAIN auf der Leitung 10a ein zu überprüfendes Ergebnis
ist. Mit anderen Worten, es wird angenommen, dass kurze Zeit, nachdem
die zuvor beschriebene Aktualisierungsoperation ausgeführt worden
ist, auf der Leitung 10a ein Ergebnis erzeugt wird.
-
Im
nächsten
Zyklus des Master-Takts tritt die TAP-Steuereinrichtung noch einmal
in den Abtastauswahlzustand S2 ein, woraufhin sie beim nächsten Zyklus
in den Aufnahmezustand S3 eintritt. In dem Aufnahmezustand wird
die Halteeinrichtung 28a einmal durch das Taktsignal TAPCLOCK1
auf der Leitung 36 getaktet, während der Multiplexer durch
das Signal TAPCONTROL1 auf der Leitung 34 in der Weise
gesteuert wird, dass das Signal auf der Leitung 10a an
seinem Ausgang auf der Leitung 30a erscheint. Somit wird
das in Reaktion auf die Aktualisierungsoperation erzeugte Ergebnis
auf der Leitung 16a aufgenommen. Daraufhin tritt die TAP-Steuereinrichtung
beim nächsten
Master-Taktzyklus noch einmal in den Verschiebungszustand S4 ein,
wobei die an den Ausgängen
der Flipflops 28a bis 28d aufgenommenen Ergebnisse
unter der Steuerung des Taktsignals TAPCLOCK1 auf der Leitung 36 seriell
an die TAP-Steuereinrichtung herausgetaktet werden. Es ist klar,
dass zur gleichen Zeit, während
das aufgenommene Ergebnis aus den Halteeinrichtungen 28a bis 28d getaktet
wird, von der TAP-Steuereinrichtung eine neue Menge von Testbits
in die Halteeinrichtungen 28a bis 28d getaktet
werden können. Folglich
können
die oben beschriebenen Zyklen von Zuständen von S2, S3, S4, S5, S8
und zurück
zu S2 ununterbrochen wiederholt werden.
-
Anhand
von 4 ist nunmehr eine
Verwirklichung der Halteeinrichtung 28a aus 2 gezeigt. Die Halteeinrichtung 28a besteht
aus zwei Halb-Halteeinrichtungen oder transparenten Halteeinrichtungen 44a und 46a.
Jede der Halb-Halteeinrichtungen besteht aus einem jeweiligen Steuerknoten 48a, 52a und
aus einem jeweiligen Speicherknoten 50a, 54a. Das
Taktsignal TAPCLOCK1 auf der Leitung 36 taktet den Steuerknoten 52a der
Halb-Halteeinrichtung 46a, während das Inverse des Taktsignals TAPCLOCK1,
NOTTAPCLOCK1, den Steuerknoten 48a taktet. Wie im Gebiet
bekannt ist, könnten
die Taktsignale TAPCLOCK1 und NOTTAPCLOCK1 selbstverständlich nichtüberlappende
Taktsignale sein oder könnte
die Schaltungsanordnung in den Steuerknoten 48a und 52a alternativ
irgendeine mögliche Überlappung
der zwei Takte zu berücksichtigen. Die
Halteeinrichtung 40a aus 2 umfasst ähnlich zwei
Halb-Halteeinrichtungen. Somit ist zu sehen, dass die Schaltung
aus 2 vier Halb-Halteeinrichtungen
umfasst. Wie aus der oben gegebenen Beschreibung anhand der 2 und 3 selbstverständlich ist, erfordert die Schaltung
aus 2 ein komplexes
Taktungsschema, um sowohl für
den Normalfunktionsbetrieb als auch für Testzwecke einen korrekten
Taktbetrieb bereitzustellen.
-
Die
Abtasthalteeinrichtung aus 4 kann verwendet
werden, um "strukturelle" Tests zum Testen
der Struktur der kombinatorischen Logik durchzuführen.
-
Außerdem werden
diese Halteeinrichtungen zur Verwirklichung so genannter Verzögerungstests in
Abtast- und Nichtabtast-Umgebungen verwendet. Diesbezüglich wird
auf Folgendes Bezug genommen.
-
US-A-4697279
an Baratti offenbart eine Schieberegisterstufe, die Halteeinrichtungsschaltungen
enthält,
die Verzögerungstests
einer integrierten Schaltung schaffen.
-
Ein
Artikel mit dem Titel "Timing
driven test – from
chips to systems" in
Computer Design, Bd. 32, Nr. 10, Oktober 1993, Westford, MA, USA,
S. 69-72, offenbart eine zeitlich angesteuerte "Chips-zu-Systeme"-Methodik. Boundary-Scans, die Pfadverzögerungs-Testerzeugung
und Teil-Scans werden ebenfalls diskutiert.
-
US-5015875
an Giles offenbart ein umschaltfreies Scan-Flipflop. Das Flipflop
besitzt die Fähigkeit,
seinen parallelen Ausgang während
der Testbetriebsart-Abtastoperation
nicht umzuschalten.
-
Ein
Artikel mit dem Titel "Design
for Testability: Using Scanpath Techniques or Path-Delay Test and
Measurement", verfasst
von B. I. Dervisoglu und veröffentlicht
in den Proceedings of the 1991 International Test Conference, S.365-374,
beschreibt eine Flipflop-Konstruktion, die bei der Ausführung interner Pfadverzögerungstests
und -messungen unter Verwendung der Abtastpfadtechniken verwendet
wird. Außerdem
ist die Konstruktion für
eine Boundary-Scan-Zelle be schrieben, die das Messen von Eingabe/Ausgabe-Verzögerungen
ermöglicht.
-
US-4742293
an Koo offenbart eine Schaltung für Tests auf Offen-Klemm-Fehler.
Sie verwendet kombinatorische Logiknetze, die eine Zweimuster-Testtechnik
nutzen, die ein Initialisierungstestmuster verwendet, auf das ein
zweites Erfassungstestmuster folgt.
-
US-5130568
an Miller offenbart ein abtastfähiges
Halteeinrichtungssystem, das mehrere abtastfähige Halteeinrichtungen und
Takttreiber-schaltungen enthält,
die äußerst schnelle
Tests integrierter Schaltungen ermöglichen.
-
Eine
Abhandlung mit dem Titel "An
Efficient Delay Test Generation System for Combinational Logic Circuits", veröffentlicht
in IEEE Transactions on Computer Aided Design of Integrated Circuits
and Systems, Bd. 11, Nr. 7, Juli 1992, New York, USA, S. 926-938,
stellt ein Verzögerungstest-Erzeugungssystem
für kombinatorische
Logikschaltungen dar. Außerdem
offenbart sie ein Zeitsteuerungsanalyseverfahren zur Verzögerungstesterzeugung
und diskutiert sie Bedingungen, unter denen Verzögerungsfehler prüffähig sind.
-
Ein
Artikel mit dem Titel "Delay
Test Techniques for Boundary Scan based Architectures", verfasst von Chang
u. a. und veröffentlicht
in den Proceedings of the IEEE 1992 Custom Integrated Circuits Conference,
3. Mai 1992, Boston, MA, S. 13.2.1-13.2.4, diskutiert eine Technik
zur Verwirklichung von Verzögerungstests
in einer Boundary-Scan-Umgebung. In dieser Abhandlung werden Abtasthalteeinrichtungen
verwendet, um ein Initialisierungsmuster und nachfolgend ein Übergangsausbreitungsmuster
in die Halteeinrichtung an dem Eingang der zu prüfenden Logikschaltungsanordnung hineinzuschieben.
Nachfolgend wird das Ausgangssignal der Logikschaltung aufgenommen
und unter Verwendung der Ausgabe-Abtasthalteeinrichtungen von der
Abtastung ausgegeben. Dieser Verzögerungstest ermöglicht,
Mängel
in Logikschaltungen zu identifizieren. Logikschaltungen, die nach
dem Übergang
von dem Initialisierungsmuster zu dem Übergangsausbreitungsmuster
in dem Systemtaktintervall nicht die erwarteten Ausgangssignale
erzeugen, werden als mangelhaft betrachtet.
-
Wegen
der Struktur der in der Boundary-Scan-Kette genutzten Halteeinrichtungen
gibt es Beschränkungen
an die Zeitsteuerung der zum Durchführen des Verzögerungstests
verwendeten Signale. Insbesondere muss das Systemtaktintervall im Test
größer als
die Taktdauer des Takts sein, der zum Steuern des Verschiebens der
Bits in der Abtastkette verwendet wird. Dies erschwert es, die Funktion der
Logikschaltungsanordnung bis hinab zu kritischen Zeitsteuerungsniveaus
richtig zu prüfen.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren zum Prüfen der
Funktion einer kombinatorischen Logikschaltung geschaffen, die mehrere
Eingänge,
die angeschlossen sind, um Datenausgangsbits von Datenausgängen von
jeweiligen Abtasthalteeinrichtungen bzw. -latches zu empfangen,
und einen Ausgang hat, der angeschlossen ist, um ein Datenausgangsbit
an eine Abtasthalteeinrichtung bzw. -latch zu legen, wobei die Abtasthalteeinrichtungen
bzw. -latches in einer Kette angeschlossen sind, wobei das Verfahren
aufweist: a) ein Sensibilisierungsmuster von Bits wird entlang der Kette
von Abtasthalteeinrichtungen bzw. -latches verschoben; b) am Ende
des Schrittes a) werden die Abtasthalteeinrichtungen bzw. -latches
aktualisiert, um die Bits des Sensibilisierungsmusters an den Datenausgängen der
Abtasthalteeinrichtungen bzw. -latches anzugeben; c) ein Aktivierungsmuster
von Bits wird entlang der Kette von Abtasthalteeinrichtungen bzw.
-latches verschoben, während
das Sensibilisierungsmuster an den Datenausgängen aufrechterhalten wird;
d) am Ende des Schrittes c) werden die Abtasthalteeinrichtungen
bzw. -latches aktualisiert, um die Bits des Aktivierungsmusters
an den Datenausgängen
der Abtasthalteeinrichtungen bzw. -latches anzugeben; e) nach einer
vorbestimmten Zeitdauer werden die Datenausgangsbits von der kombinatorischen
Logikschaltung, die von dem Aktivierungsmuster herrühren, aufgenommen;
f) die Datenausgangsbits werden durch die Abtastkette bewegt bzw.
geschoben; und g) jene Datenausgangsbits werden mit für dieses
Aktivierungsmuster erwarteten Bits verglichen, dadurch gekennzeichnet,
dass die Verschiebungs- und Aktualisierungsschritte unter der Steuerung
eines Taktsignals ausgeführt
werden, wobei die Schritte d) und e) innerhalb einer Taktdauer des
Taktsignals ausgeführt
werden, in dem der Schritt d) zum Aufnehmen in Reaktion auf ein
unabhängig
erzeugtes lokales Taktsignal durchgeführt wird, der so zeitlich gesteuert
bzw. getaktet wird, dass die vorbestimmte Zeitdauer weniger als
die Taktdauer ist.
-
Normalerweise
werden die Datenausgangsbits über
die Abtastkette zu einem externen Tester verschoben, der den Vergleichsschritt
(g) durchführt.
-
Im
Allgemeinen wird das Verfahren in der Weise ausgeführt, dass
die vorbe stimmte Zeitdauer verringert wird, bis das Ergebnis des
Vergleichs unkorrekt wird, wodurch die maximale Funktion der kombinatorischen
Logikschaltung angezeigt wird.
-
Vorzugsweise
werden das sensibilisierende Muster und das aktivierende Muster
in der Weise ausgewählt,
um einen kritischen Zeitsteuerungspfad bzw. Taktungspfad durch die
kombinatorische Logikschaltung zu aktivieren.
-
Vorzugsweise
werden die Signale zur Verwirklichung der Schritte d) und e) erzeugt,
indem das Taktsignal mit einem Bezugstaktsignal kombiniert wird,
um den lokalen Takt zu erzeugen, dessen positive Flanken die Signale
zur Verwirklichung der Schritte d) und e) zur Verfügung stellen.
-
Das
Verfahren kann unter Verwendung einer Abtasthalteeinrichtung verwirklicht
werden, die in der gleichzeitig anhängigen Anmeldung Nr. 95305860.9 (Page,
White & Farrer,
Ref. 74886) beansprucht und beschrieben ist. Eine solche Abtasthalteeinrichtung umfasst
eine freigegebene Halb-Halteeinrichtung, eine aufgenommene Halb-Halteeinrichtung
und eine aktualisierte Halb-Halteeinrichtung. In diesem Fall wird
das Verfahren in der Weise durchgeführt, dass die Schritten a)
und c) unter der Steuerung dieses Taktsignals stehen, wobei ein
erster Abschnitt der Taktperiode bzw. -dauer verwendet wird, um
aufgenommene Halbhalteeinrichtungen der Abtasthalteeinrichtungen
bzw. -latches in einem Datenübertragungszustand
anzuordnen, während
ein zweiter Abschnitt der Taktperiode bzw. -dauer verwendet wird, um
freigegebene Halbhalteeinrichtungen bzw. -latches der Abtasthalteeinrichtung
bzw. der Abtastlatches in einem Datenübertragungszustand anzuordnen
-
Vorzugsweise
hat jede Abtasthalteeinrichtung einen Abtasteingang zum Empfangen
des Sensibilisierungsmusters von Bits und einen Dateneingang, um
ein Datenausgangsbit von einer kombinatorischen logischen Schaltung
zu empfangen, wobei ein Auswählsignal
steuert, ob die Abtasthalteeinrichtungen bzw. -latches angeschlossen
sind, um Signale über
deren Abtasteingang für
deren Dateneingang zu empfangen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung
zum Prüfen der
Funktion einer kombinatorischen Logikschaltung geschaffen, die mehrere
Eingänge,
die an Empfangsdatenausgangsbits von jeweiligen Abtasthal teeinrichtungen
bzw. -latches angeschlossen sind, und einen Ausgang hat, der angeschlossen
ist, um Datenausgangsbits an eine Abtasthalteeinrichtung bzw. -latch
anzulegen, wobei die Abtasthalteeinrichtungen bzw. -latches in einer
Kette angeschlossen sind, wobei die Vorrichtung aufweist: eine Taktquelle,
um ein periodisches Signal zu erzeugen, das eine Taktperiode hat;
Mittel zum Erzeugen eines Auswählsignals, um
als einen Eingang für
jede Abtasthalteeinrichtung bzw. -latch ein Abtast-Testbit oder
ein Datenausgangsbit auszuwählen;
und ein Mittel zum Erzeugen eines Verschiebesteuersignals, welches
steuert, ob ein Bit in einer Abtasthalteeinrichtung bzw. -latch
zu einem Datenausgang der Abtasthalteeinrichtung bzw. -latch oder
einem Abtastausgang einer Abtasthalteeinrichtung bzw. -latch übermittelt
wird; gekennzeichnet durch eine Steuereinrichtung, um die zeitliche
Steuerung bzw. Taktung des Auswählsignals
und das Verschiebesteuersignal zu steuern, wobei die zeitliche Steuerung
bzw. Taktung des Verschiebesteuersignals unabhängig von dem Taktsignal steuerbar
ist, und ein Mittel zum Erzeugen eines Aufnahmesteuersignals, welches
die zeitliche Steuerung bzw. Taktung der Aufnahme eines Abtast-Testbits oder
eines Datenausgangsbits steuert, wobei das Steueraufnahmesignal
unabhängig
von dem Taktsignal steuerbar ist und innerhalb einer vorbestimmten Zeit
erzeugt wird, die geringer als die Taktperiode bzw. -dauer ist,
und dadurch dass jede Abtasthalteeinrichtung bzw. -latch aufweist,
eine Aufnahme-Halb-Halteeinrichtung bzw. -latch, die bzw. der einen
Eingang hat, der anschliessbar ist, um das Abtast-Testbit oder das
Datenausgangsbit zu empfangen, und einen Ausgang, der an eine aktualisierte Halbhalteeinrichtung
bzw. -latch angeschlossen ist, und eine Freigabehalbhalteeinrichtung
bzw. -latch, der bzw. die an den Datenausgang bzw. den Abtastausgang
angeschlossen ist.
-
Für ein besseres
Verständnis
der vorliegenden Erfindung und um zu zeigen, wie diese verwirklicht
werden kann, wird nun beispielhaft auf die 5 bis 15 der
beigefügten
Zeichnung Bezug genommen.
-
In
der Zeichnung sind:
-
1 ein Blockschaltplan einer
integrierten Schaltung, die Boundary-Scan-Tests verwirklichen kann;
-
2 ein Blockschaltplan einer
bekannten Boundary-Scan-Zelle zur Verwendung in einer Boundary-Test-Schaltung;
-
3 ein Teilzustandsdiagramm
für eine Testzugriffsanschluss-Steuereinrichtung
zur Durchführung
eines Strukturtests;
-
4 ein Beispiel einer Ausführungsform
einer synchronen Abtasthalteeinrichtung, die Halb-Halteeinrichtungen
verwendet;
-
5 ein Stromlaufplan einer
Boundary-Scan-Zelle in Übereinstimmung
mit einer Ausführungsform
der Erfindung;
-
6 ein Stromlaufplan einer
Abtastzelle in Übereinstimmung
mit einer weiteren Ausführungsform
der Erfindung;
-
7 ein Zeitablaufplan für die Abtastzelle aus 6, die einen Strukturtest
durchführt;
-
8 ein Teilzustandsdiagramm
für eine Testzugriffsanschluss-Steuereinrichtung
zum Durchführen
eines Funktionstests gemäß einer
Ausführungsform
der vorliegenden Erfindung;
-
9 ein Zeitablaufplan für die Abtastzelle aus 6 bei der Durchführung eines
Funktionstests;
-
10 ein Stromlaufplan einer
Abtastzelle in Übereinstimmung
mit einer weiteren Ausführungsform
der vorliegenden Erfindung;
-
11 ein Zeitablaufplan für die Abtastzelle aus 10, wenn sie zum Durchführen eines
Strukturtests verwendet wird;
-
12a und 12b Zeitablaufpläne für eine Abtastzelle gemäß 10, wenn sie zum Durchführen eines
Funktionstests verwendet wird;
-
13 eine Schaltungsverwirklichung
einer Abtastzelle, die in der Schaltung aus 10 verwendet wird;
-
14 ein Prinzipschaltbild
einer weiteren Schaltungsverwirklichung der Abtastzelle aus 10; und
-
15a und 15b veranschaulichen die Schaltungseinzelheiten
des Prinzipschaltbilds aus 14.
-
Zunächst wird
Bezug genommen auf 5, die
eine effizientere Verwirklichung gemäß einem Aspekt der vorliegenden
Erfindung der in 2 gezeigten
Testschaltungsanordnung veranschaulicht. Die Bezugszeichen sind
die gleichen wie für
gleiche Teile in den 1 und 4. In 5 sind die zwei vollen Halteeinrichtungen 28a, 40a aus 2 durch drei Halb-Halteeinrichtungen,
eine Aufnahme-Halb-Halteeinrichtung 56a,
eine Aktualisierungs-Halb-Halteeinrichtung 58a und eine
Freigabe-Halb-Halteeinrichtung 60a, ersetzt worden. Der
Ausgang des Multiplexers 26a auf der Leitung 62 ist
mit dem Eingang der Aufnahme-Halb-Halteeinrichtung 56a verbunden. Der
Ausgang der Aufnahme-Halb-Halteeinrichtung 56a auf der
Leitung 64a ist mit einer Eingangsleitung 66a der
Aktualisierungs-Halb-Halteeinrichtung 58a und
mit einer Eingangsleitung 68a der Freigabe-Halb-Halteeinrichtung 60a verbunden.
Der Ausgang der Aktualisierungs-Halb-Halteeinrichtung 58a auf
der Leitung 65a bildet einen Eingang in den Ausgangsmultiplexer 18a.
Der Ausgang der Freigabe-Halb-Halteeinrichtung 60a bildet
die Kettenverbindung 14b. Die Aufnahme-Halb-Halteeinrichtung 56a wird
durch das Taktsignal CAPTURECLK auf der Leitung 70 getaktet,
die Aktualisierungs-Halb-Halteeinrichtung wird durch das Taktsignal
UPDATECLK auf der Leitung 74 getastet und die Freigabe-Halb-Halteeinrichtung
wird durch das Taktsignal RELEASECLK auf der Leitung 72 getaktet.
Jede Halb-Halteeinrichtung besitzt die Eigenschaft, dass sie in
einem von zwei Zuständen,
in einem Datenübertragungszustand,
in dem ein Signal an ihrem Eingang direkt an ihren Ausgang gesendet
wird, oder in einem Datenhaltezustand, in dem ein Signal an ihrem
Ausgangsknoten unabhängig
von Änderungen
an dem Eingang gehalten wird, sein kann. Bezugnahmen auf "Takten" der Halb-Halteeinrichtungen
beziehen sich im Folgenden auf Operationen des Datenübertragungszustands.
Es wird angenommen, dass die Halb-Halteeinrichtung, wenn sie nicht "getaktet" wird, in dem Datenerhaltungszustand
ist.
-
Mit
Rückbezug
auf das Zustandsdiagramm aus 3 kann
die gleiche anhand der 2 und 3 diskutierte Folge von Zustandsänderungen
verwendet werden, um die Schaltung aus 5 in der Weise zu betreiben, dass sie
einen Boundary-Scan-Test durchführt. Der
Unterschied liegt in den erforderlichen Taktungsfolgen, die bei
der vorliegenden Erfindung wesentlich einfacher sind. Dies wird
nun anhand der 3 und 5 beschrieben.
-
Während des
Normalfunktionsbetriebs der IC 2 ist die TAP-Steuereinrichtung 12 in
dem Test-Logik-Rücksetzzustand
S0. In diesem Zustand ist die Testlogik im Leerlauf und das Signal
DATAIN auf der Leitung 10a mittels des Ausgangsmultiplexers 18a unter
der Steuerung des Signals TAPCONTROL2 auf der Leitung 22 direkt
mit dem Signal DATAOUT auf der Leitung 8a verbunden. Zu
Beginn einer Testoperation geht die TAP-Steuereinrichtung 12 unter
der Steuerung des Master-Takts
MCLOCK zunächst
in den Testlauf/Leerlauf-Zustand S1 über.
-
Falls
ein Boundary-Scan-Test durchgeführt werden
soll, tritt die TAP-Steuereinrichtung 12 in den Abtastauswahlzustand
S2 ein, wobei das Steuersignal TAP-CONTROL2 auf der Leitung 22 seinen
Zustand in der Weise ändert,
dass das Ausgangssignal DATAOUT des Ausgangsmultiplexers 18a auf
der Leitung 8a direkt mit dem Signal auf der Leitung 65a verbunden
wird. Beim nächsten
Taktzyklus von MCLOCK tritt die TAP-Steuereinrichtung in den Aufnahmezustand
S3 ein. Da noch keine Testdaten in die Scan-Test-Schaltung geladen
worden sind, ist der Aufnahmezustand in dieser Phase des Tests unwichtig.
-
Beim
nächsten
Taktzyklus von MCLOCK wird in den Verschiebungszustand S4 eingetreten.
In diesem Zustand erzeugt die TAP-Steuereinrichtung mehrere Taktzyklen,
die auf der Leitung 70 das Taktsignal CAPTURECLK und auf
der Leitung 72 das Taktsignal RELEASECLK bilden, während sie
das Signal TAP-CONTROL1
auf der Leitung 34 auf einem solchen Pegel halten, dass
das Signal auf der Leitung 14a an dem Ausgang 62a des
Multiplexers 26a erscheint. Auf diese Weise werden die
Testdaten seriell in die Testschaltungsanordnung geschoben, so dass
die Halb-Halteeinrichtungen 56a bis 56d nach einer
bestimmten Anzahl n von Taktzyklen der Taktsignale CAPTURECLK und
RELEASECLK (in diesem Fall vier) alle ein bekanntes Testbit besitzen,
das an ihren jeweiligen Ausgängen
an den Knoten 67a bis 67d erhalten wird. Somit
wird der Verschiebungszustand S4 für n Zyklen des Master-Takts
MCLOCK erhalten. Beim nächsten
Zyklus des Master-Takts wird in den Austritt1-Zustand S5 eingetreten.
Der Zustand S5 ist ein vorübergehender
Zustand, wobei die TAP-Steuereinrichtung normalerweise beim nächsten Taktzyklus
des Master-Takts in den Aktualisierungszustand S8 übergeht.
Alternativ könnte
die TAP-Steuereinrichtung, jedoch aus Gründen, die diese Erfindung nicht
betreffen und hier nicht erläutert werden,
in den Pausezustand S6 eintreten, auf den ein Austritt2-Zustand
S7 folgt.
-
Während die
TAP-Steuereinrichtung in dem Aktualisierungszustand S8 ist, veranlasst
sie dadurch, dass sie einen Taktzyklus erzeugt, der die einmalige
Taktung des Taktsignals UPDATECLK auf der Leitung 74 bildet,
dass das Ausgangssignal der Halb-Halteeinrichtung 58a aktualisiert
wird. Somit erscheint das Testdatenbit an dem Ausgangsknoten 67a der
Aufnahme-Halb-Halteeinrichtung 56a auf der Leitung 65a am
Ausgang der Aktualisierungs-Halb-Halteeinrichtung 58a und
folglich als das DATAOUT-Signal auf der Leitung 8a. An
diesem Punkt der Testoperation sind alle DATAOUT-Signale auf den
Leitungen 8a bis 8d aktualisiert worden. Wie zuvor
erwähnt
wurde, sind die Anschlussstiftverbindungen 8a bis 8d mit
der jeweiligen Anschlussstiftverbindung an einer oder an mehreren
weiteren ICs verbunden. Somit erscheinen nach einer kurzen Zeitdauer,
um die Ausbreitung des aktualisierten Signals zwischen den ICs zu
ermöglichen
(die die Ausbreitung über
eine Pufferlogik zwischen den ICs enthalten kann), die aktualisierten
Signale an den Anschlussstiftverbindungen 8a bis 8d an
den jeweiligen Anschlussstiftverbindungen an einer oder an mehreren
weiteren ICs. Die Anschlussstiftverbindungen an den anderen ICs
sind mit Boundary-Scan-Zellen
verbunden, die als Eingabe- oder Eingabe/Ausgabe-Vorrichtungen konfiguriert
sind. Es liegt im Umfang des Fachmanns, der auf die IEEE-Norm 1149.1-1990
Bezug nimmt, wie eine solche Eingangs-Boundary-Scan-Zelle verwirklicht
wird, wobei eine solche Eingangs-Boundary-Scan-Zelle hier nicht
ausführlich
beschrieben wird. Zur Vervollständigung
der Beschreibung eines Boundary-Scan-Tests wird angenommen, dass
die Eingangs-Boundary-Scan-Zelle
an der IC, mit der die IC2 verbunden ist, gleich der Boundary-Scan-Zelle
aus 5 ist, mit dem Unterschied,
dass die Anschlussstiftverbindung als das DA-TAIN-Signal an der Leitung 10a verbunden
ist. Somit wird für
den Rest der Beschreibung der Schaltung aus 5 angenommen, dass das Signal DATAIN
auf der Leitung 10a ein zu überprüfendes Ergebnis ist, das in
Reaktion auf die zuvor beschriebene Aktualisierung erzeugt wird.
-
Im
nächsten
Zyklus des Master-Takts tritt die TAP-Steuereinrichtung noch einmal
in den Abtastauswahlzustand S2 ein, woraufhin sie beim nächsten Zyklus
in den Aufnahmezustand S3 eintritt. Im Aufnahmezustand wird die
Aufnahme-Halb-Halteeinrichtung 56a einmal
durch das Signal CAPTURECLK auf der Leitung 70 getaktet,
während
der Multiplexer 26a durch das Signal TAPCONTROL1 auf der
Leitung 34 in der Weise gesteuert wird, dass das DATAIN-Signal auf
der Leitung 10a an seinem Ausgang auf der Leitung 62a erscheint.
Somit wird das Ergebnis auf der Leitung 64a aufgenommen.
Daraufhin tritt die TAP-Steuereinrichtung beim nächsten Master-Taktzyklus noch
einmal in den Verschiebungszustand S4 ein, wobei die an den Ausgängen der
Aufnahme-Halb-Halteeinrichtungen 56a bis 56d aufgenommenen
Ergebnisse seriell an die TAP-Steuereinrichtung herausgetaktet werden.
Es ist klar, dass zur gleichen Zeit, während das aufgenommene Ergebnis aus
der Aufnahme-Halb-Halteeinrichtung 56a getaktet wird, von
der TAP-Steuereinrichtung eine neue Menge von Testbits in die Aufnahme-Halb-Halteeinrichtung 56a getaktet
werden können.
Folglich können
die oben beschriebenen Zyklen von Zuständen von S2, S3, S4, S5, S8
und zurück
zu S2 ununterbrochen wiederholt werden.
-
Die
Funktionslogikschaltungsanordnung 4 aus 1 kann in der Weise betrachtet werden,
dass sie aus verschiedenen Blöcken
einer kombinatorischen Logikschaltungsanordnung von verschiedenen
Größen besteht,
die entweder direkt oder über Halteeinrichtungen
miteinander verbunden sind. Es ist möglich, die Funktionsaspekte
der kombinatorischen Logikschaltungsanordnung dadurch zu prüfen, dass
an den Eingängen
der kombinatorischen Logikschaltungsanordnung in der Funktionslogikschaltungsanordnung
bekannte Testbits angeordnet werden und am Ausgang der Halteeinrichtungen
in der kombinatorischen Logikschaltungsanordnung das Ergebnis aufgenommen
wird. Dies kann dadurch erreicht werden, dass an den verschiedenen
Testpunkten in der Funktionslogikschaltungsanordnung Boundary-Scan-Zellen
wie etwa die in 2 oder 5 gezeigte angeordnet werden.
Allerdings hat die Boundary-Scan-Kette dann eine kombinatorische Logik
und Halteeinrichtungen zwischen aufeinander folgenden Boundary-Scan-Zellen,
wobei diese zusätzlichen
Halteeinrichtungen Zeitsteuerungsprobleme während der Testoperationen verursachen.
Allerdings kann dieses Problem dadurch überwunden werden, dass irgendeine
Funktionshalteeinrichtung in der Funktionslogikschaltungsanordnung
durch die Abtasthalteeinrichtung (d. h. durch die Kombination des
Eingangsmultiplexers 26a und der Halb-Halteeinrichtungen 56a und 58a)
der Boundary-Scan-Zelle 6a aus 5 ersetzt wird. Somit arbeitet die Halteeinrichtung
während
der Normalfunktionsbetriebsart als Normalfunktionshalteeinrichtung;
während
sie während
Scan-Tests als eine Abtasthalteeinrichtung arbeitet. Außerdem kann
die Boundary-Scan-Zelle 6a aus 5 dazu verwendet werden, um bei Scan-Tests
der kombinatorischen Logikschaltungsanordnung zusätzliche
beobachtbare und steuerbare Knoten zu schaffen.
-
6 veranschaulicht die Boundary-Scan-Zelle 6a aus 5, die als eine Scan-Zelle 7a rekonfiguriert
ist, die in einer Abtastkette zu verwenden ist, die die kombi natorische
Logikschaltungsanordnung prüft.
Anhand des Zeitablaufplans aus 7 wird
nun der Betrieb der Scan-Zelle 7a aus 6 bei der Ausführung eines Tests der Struktur der
kombinatorischen Logik beschrieben.
-
Zu
Beginn des Taktzyklus MCLOCKO des Master-Takts MCLOCK ist die TAP-Steuereinrichtung in
dem Rücksetzzustand
S0. Am Ende des Taktzyklus MCLOCKO wird ein Signal ACTIVATETEST hoch,
so dass die TAP-Steuereinrichtung 12 im nächsten Taktzyklus
MCLOCK1 des Master-Takts in einen Testlauf-Leerlauf-Zustand S1 eintritt,
woraufhin sie in dem folgenden Taktzyklus MCLOCK2 in einen Abtastauswahlzustand
S2 eintritt. Zu Beginn des Taktzyklus MCLOCK3 wird in einen Aufnahmezustand
S3 eingetreten und ein Testtakt-Einschaltsignal TESTCLKEN
hoch eingestellt. Dies ermöglicht,
dass der Aufnahmetakt CAPTURECLK auf Leitung 70 zu laufen
beginnt. Zu Beginn des Taktzyklus MCLOCK4 ist an dem Dateneingang 10a ein
Datenausgangsbit DOB1 vorhanden, das das von einem vorausgehenden
Test ausgegebene Ergebnis sein kann. Während die TAP-Steuereinrichtung
zu Beginn des Taktzyklus MCLOCK4 vom Zustand S3 in einen Verschiebungszustand
S4 übergeht,
wird wie im Folgenden beschrieben die Aufnahmeoperation ausgeführt.
-
Anhand
von 7 veranlasst die
fallende Flanke 201 des Aufnahmetaktsignals CAPTURECLK zu
Beginn des Taktzyklus MCLOCK4, dass das Datenausgangsbit DOB1 am
Ausgangsknoten 67a der Halb-Halteeinrichtung 56a gehalten
wird. Während dieser
Operation wird der Multiplexer 26a durch das Steuersignal
TAPCONTROL1 in der Weise gesteuert, dass sein Ausgangssignal auf
der Leitung 62a als das DATAIN-Signal auf der Leitung 10a verbunden ist.
Während
des Taktzyklus MCLOCK4 ist die TAP-Steuereinrichtung in dem Verschiebungszustand
S4. Während
der zweiten Hälfte
des Taktzyklus MCLOCK4 wird das (in 7 nicht
gezeigte) Taktfreigabesignal RELEASECLK für die Freigabe-Halb-Nalteeinrichtung 60a zur
Verfügung
gestellt, so dass das Datenausgangsbit DOB1 am Knoten 67a als
das SCANOUT-Signal auf der Leitung 14b erscheint.
-
Im
Verschiebungszustand S4 erscheinen die Testdatenbits als das SCANIN-Signal auf der Leitung 14a,
von denen das ersten durch das Bit TDB1 dargestellt ist, das kurz
nach dem Start des Taktzyklus MCLOCK4 auf der Leitung 14a angeordnet
wird. Auf der steigenden Flanke 200 des CAPTURECLK-Signals
im Taktzyklus MCLOCK4 nimmt die Aufnahme-Halb-Halteeinrichtung 56 ihren
Datenübertragungszustand
ein. Kurze Zeit danach ändert
das Signal TAP- CONTROL1
auf der Leitung 34, wie durch die Flanke 202 gezeigt
ist, seinen Zustand, so dass der Multiplexer 26a seinen
Ausgang auf der Leitung 62a mit seinem Eingang auf der
SCANIN-Signalleitung 14a verbindet. Somit erscheint das
Testdatenbit TDB1 an dem inneren Knoten 67a. In diesem
Beispiel bleibt die TAP-Steuereinrichtung
auf der fallenden Flanke 204 des Aufnahmetakts CAPTU-RECLK zu Beginn des
nächsten
Zyklus MCLOCK5 in dem Verschiebungszustand S4, um zu ermöglichen,
dass ein zweites Testdatenbit TDB2 hinein abgetastet wird. Kurze
Zeit nach Beginn des Taktzyklus MCLOCK5 taktet der Freigabetakt
RELEASECLK auf der Leitung 72 die Halb-Halteeinrichtung 60a,
so dass das erste Testdatenbit TDB1 als die SCANOUT-Signalleitung 14b erscheint.
Somit ist klar, dass die TAP-Steuereinrichtung für so viele Taktzyklen der TAP-Steuereinrichtung
in dem Verschiebungszustand S4 bleiben kann, wie sie zum Hineinschieben
aller erforderlichen Testdatenbits erforderlich sind.
-
In
diesem Beispiel werden lediglich zwei Testdatenbits hineingetaktet,
wobei das zweite Testdatenbit TDB2 auf die gleiche Weise, wie das
Testdatenbit TDB1 wie zuvor beschrieben während des Taktzyklus MCLOCK4
hineinverschoben wurde, während
des Taktzyklus MCLOCK5S auf der Abtasteingangsleitung angeordnet
und in die Schaltung verschoben wird.
-
Zu
Beginn des Taktzyklus MCLOCK6 tritt die TAP-Steuereinrichtung in
einen EXIT1-Zustand S5 ein, wobei der Aufnahmetakt tief wird und
tief bleibt, so dass die Aufnahme-Halb-Halteeinrichtung 56a in dem
Datenhaltezustand bleibt und das Testdatenbit TDB2 an dem inneren
Knoten 67a bleibt. Kurze Zeit nach Beginn des Zyklus MCLOCK6
taktet das Taktsignal RELASECLK die Freigabe-Halb-Halteeinrichtung 60a,
so dass das Testdatenbit TDB2 ebenfalls als das SCANOUT-Signal auf
der Leitung 14b erscheint. Während MCLOCK6 ändert das
Steuersignal TAPCONTROL1 auf der Leitung 34 auf der Flanke 206 ebenfalls
den Zustand, so dass der Multiplexer 26a seinen Ausgang
auf der Leitung 62a wieder mit seinem Eingang auf der Leitung 10a verbindet.
-
Zu
Beginn des Taktzyklus MCLOCK7 tritt die TAP-Steuereinrichtung in
einen Aktualisierungszustand S8 ein. Während am Ende des Taktzyklus MCLOCK7
die TAP-Steuereinrichtung in dem Aktualisierungszustand S8 ist,
hält die
TAP-Steuereinrichtung
das Testdatenbit TDB2 als das Signal DATAOUT an dem inneren Knoten 67a auf
der Leitung 8a, indem sie auf der Leitung 74 die
Flanken 208 und 210 des Taktsignals UPDATECLK
erzeugt und somit die Halb-Halteein richtung 58a in einem
Datenübertragungszustand
und daraufhin in einem Datenhaltezustand anordnet, so dass auf der
Signalleitung 8a das Testdatenbit TDB2 gehalten wird. Das
Halten des Testdatenbits TDB2 findet auf der Flanke 210 während des
Taktzyklus MCLOCK8 statt, nachdem die TAP-Steuereinrichtung wieder
in den Testlauf-Leerlauf-Zustand S1 eingetreten ist. Es ist zu sehen,
dass die nächste
Aufnahmeoperation, falls dieselbe Folge von Operationen erneut ausgeführt wird,
die auf der Leitung 10a ausgegebenen Daten, d. h. das logische Ergebnis
des in die kombinatorische Logikschaltungsanordnung 5 eingegebenen
Testdatenbits TDB2 (und ähnlicher
Testdatenbits von anderen Abtasthalteeinrichtungen), als das Signal
DATAIN aufnimmt.
-
Während des
Normalfunktionsbetriebs werden Daten auf der Leitung 10a von
der kombinatorischen Logikschaltungsanordnung an die DATAOUT-Signalleitung 8a übergeben,
indem die Aufnahme-Halb-Halteeinrichtung mit dem Taktsignal CAPTURECLK
auf der Leitung 70 getaktet wird, worauf das Takten der
Aktualisierungs-Halb-Halteeinrichtung 58 mit dem Taktsignal
UPDATECLK auf der Leitung 74 folgt.
-
Es
ist leicht zu sehen, dass die Aufnahme-Halb-Halteeinrichtung 56a zur
Ausführung
irgendeiner besonderen Funktion entweder mit der Aktualisierungs-Halb-Halteeinrichtung 58a oder
mit der Freigabe-Halb-Halteeinrichtung 60a kombiniert wird, um
als eine volle Halteeinrichtung zu arbeiten. Es wird angemerkt,
dass die Aktualisierungs-Halb-Halteeinrichtung 58a während einer
Verschiebungsoperation (Ausgabe von der Abtastung oder Eingabe in die
Abtastung) in einem Datenhaltezustand gehalten wird, so dass sich
ihr Ausgangssignal nicht ändert. Somit
ist zu sehen, dass die Erfindung eine Scan-Test-Schaltung schafft,
die weniger Hardware erfordert, aber zur Verwirklichung von Boundary-Scan-Tests
gemäß der durch
die IEEE-Norm 1149.1-1990 spezifizierten Zustandsfolge verwendet werden
kann, wobei sich die Funktionsdatenausgabe während einer Schiebeoperation
nicht ändert.
Außerdem
ist die Folge der erforderlichen Taktsignale einfacher als im Stand
der Technik.
-
Die
Schaltung aus 6 schafft
einen weiteren Vorteil gegenüber
der Schaltung des Standes der Technik aus 2, indem sie es ermöglicht, eine sogenannten "Funktionstest" durchzuführen. Ein
Strukturtest ist auf die Bestimmung der logischen Korrektheit einer
Ausgabe für
eine besondere vorhandene Menge von Eingaben beschränkt. Es
ist außerdem wünschenswert,
die Zeitsteuerungsas pekte der kombinatorischen Logik in der Funktionslogikschaltungsanordnung 4 zu
prüfen.
Der Funktionstest ermöglicht es,
die Funktion der Struktur der kombinatorischen Logik (eher als die
Funktion der Logikfunktion) zu prüfen. Um einen Funktionstest
durchzuführen,
ist es erforderlich, die Eingänge
der kombinatorischen Logik mit einer Menge Sensibilisierungsbits
zu sensibilisieren und zu ermöglichen,
dass sich das Ausgangssignal der kombinatorischen Logik ausregelt. Daraufhin
werden die Eingangssignale auf eine Menge von Aktivierungsbits geändert. Die
Zeit, die es dauert, bis sich die Ausgabe von einem in Reaktion auf
das Sensibilisierungseingangssignal eingestellten Wert auf den in
Reaktion auf das Aktivierungseingangssignal eingestellten Wert ändert, ist
ein Maß für die Funktion
einer Schaltung. Es folgt eine Beschreibung, wie ein solcher Test
unter Verwendung der Schaltung aus 6 in Übereinstimmung
mit der vorliegenden Erfindung durchgeführt werden kann.
-
Anhand
des Zustandsdiagramms aus 3 ist
deutlich zu sehen, dass nach Ausführung einer Aktualisierungsoperation
während
der Zeit, in der die TAP-Steuereinrichtung
in dem Zustand S8 ist, zwei Taktzyklen des Takts der TAP-Steuereinrichtung
vergehen müssen,
bevor während
des Zustands S3 eine Aufnahmeoperation ausgeführt werden kann, um das Ergebnis
aufzunehmen. Es ist eine Eigenschaft des Funktionstests, dass ein
Ergebnis schnell aufgenommen werden kann, nachdem ein Eingangssignal
aktiviert worden ist, um zu überprüfen, dass
die Geschwindigkeit, mit der die Schaltung arbeitet, in den Entwurfsrandbedingungen
liegt. Somit ist der Funktionstest so beschaffen, dass in dem Taktzyklus
eine Aufnahme nach der Aktualisierung stattfindet. Unter Verwendung
der Schaltung der vorliegenden Erfindung gemäß 5 oder 6 kann
das Zustandsdiagramm wie in 8 gezeigt
geändert
werden, um Funktionstests zu ermöglichen.
Wie in 8 gezeigt ist,
kann der Funktionstest unter Verwendung der oben diskutierten TAP-Steuereinrichtung 12 und
des Zustandsdiagramms aus 3 dadurch
verwirklicht werden, dass lediglich die von jedem Zustand ausgeführte Operation
geändert
wird. Der Übergang
zwischen nachfolgenden Zuständen
bleibt der gleiche.
-
9 veranschaulicht einen
Zeitablaufplan für
die Steuerung der Scan-Test-Schaltung
aus 6 zur Durchführung eines
Funktionstests. Anhand der 6, 8 und 9 wird nun ein Funktionstest gemäß der vorliegenden
Erfindung beschrieben.
-
Es
wird angenommen, dass die TAP-Steuereinrichtung 12 in dem
Abtastauswahl zustand S2 ist, bevor sie zur Durchführung eines
Funktionstests im Gegensatz zu einem Strukturtest eingestellt wird. Wie
zuvor bezeichnet MCLOCK den Takt der TAP-Steuereinrichtung. Im ersten
Taktzyklus MCLOCKN von MCLOCK wird in einen Austritt0-Zustand S3
eingetreten, während
daraufhin im nachfolgenden Taktzyklus MCLOCKN+1 des Master-Takts
in einen Verschiebungszustand S4 eingetreten wird. Während dieses
Zustands wird der Multiplexer mit der Abtasteingabeleitung 14a verbunden,
indem der Zustand von TAPCONTROL1 wie durch die Flanke 221 veranschaulicht
geändert
wird. Dadurch, dass die Aufnahme-Halb-Halteeinrichtung 56a getaktet
und daraufhin die Freigabe-Halb-Halteeinrichtung 60a für soviel
Taktzyklen, wie das Takten aller Sensibilisierungsbits in die Kette
der Abtasthalteeinrichtungen dauert, freigegeben wird, wird eine
Verschiebungsoperation ausgeführt.
Diese Sensibilisierungsbits sind als SB1, SB2 bezeichnet. Während dieser
Operation werden die Aufnahme-Halb-Halteeinrichtung 56a und
die Freigabe-Halb-Halteeinrichtung 60a durch die Taktsignale
CAPTURECLK auf der Leitung 70 bzw. RELEASECLK auf der Leitung 72 getaktet.
Das Takten der Aufnahme-Halb-Halteeinrichtung ordnet das Sensibilisierungsbit
SB1 an dem inneren Knoten auf der Leitung 67a an. Das Takten
der Freigabe-Halb-Halteeinrichtung ordnet das Sensibilisierungsbit
SB1 auf der Abtastausgabeleitung 14b an. Das Bit SB2 wird
auf dieselbe Weise geschoben. In dem letzten Verschiebungstaktzyklus
MCLOCKN+2 wird das Sensibilisierungsbit SB2 von der Signalleitung 14a als
das SCANIN-Signal an die Signalleitung 14b als das SCANOUT-Signal
verschoben. Wie durch die Flanke 220 gezeigt ist, wird
das CAPTURECLK-Signal auf der Leitung 70 am Ende des Taktzyklus
MCLOCKN+2 tief und bleibt tief, so dass die Aufnahme-Halb-Halteeinrichtung 56a in
dem Datenerhaltungszustand ist. Das RELEASECLK-Signal wird weiter
getaktet, wobei sich das Signal auf der Leitung 14b aber
nicht ändert,
da das Signal an dem inneren Knoten 67a gehalten wird.
Daraufhin tritt die TAP-Steuereinrichtung während des Taktzyklus MCLOCKN+3
in einen Austritt1-Zustand S5 ein und während des Taktzyklus MCLOCKN+4
in einen Verschiebungsaktualisierungszustand S6 ein. Am Ende des
Taktzyklus MCLOCKN+4 wird das UPDATECLK-Signal auf der Leitung 74,
wie durch die Flanke 222 veranschaulicht ist, hoch, was
bewirkt, dass das Sensibilisierungsbit SB2 an dem inneren Knoten 67a als
das DATAOUT-Signal auf der Leitung 8a erscheint.
-
Nachdem
am Ende des Taktzyklus MCLOCKN+4 das UPDATECLK-Signal hoch geworden
ist, tritt die TAP-Steuereinrichtung in den Aufnahmezustand S7 ein.
In dieser Phase ist die Operation des Aufnahmezustands nicht wichtig,
da ein aufzunehmendes Ergebnis noch nicht erzeugt worden ist. Allerdings ändert das
Signal DATAIN auf der Leitung 10a während dieses Aufnahmezustands
S7 in Reaktion darauf, dass das Sensibilisierungsbit SB2 auf der DATAOUT-Signalleitung 8a angeordnet
worden ist, den Zustand.
-
Daraufhin
geht die TAP-Steuereinrichtung von dem Aufnahmezustand S7 zurück zu dem
Verschiebungszustand S4 über,
woraufhin die gleiche Folge der Operationen ausgeführt wird.
Allerdings werden diesmal in dem Verschiebungszustand S4 während der
Taktzyklen MCLOCKN+1 und MCLOCKN+2 die Aktivierungsbits AB1, AB2
verschoben, so dass am Ende des Taktzyklus MCLOCKN+4 das Aktivierungsbit
AB2 das Signal DATAOUT auf der Leitung 8a ist. Es ist das
Ergebnis dieses Übergangs vom
Sensibilisierungsbit SB2 zu dem Aktivierungsbit AB2 auf der DATAOUT-Leitung 8a nach
Ausbreitung über
die kombinatorische Logikschaltungsanordnung 5, das nach
einer kurzen, messbaren Zeitverzögerung
auf der DATAIN-Signalleitung 10a aufgenommen werden muss.
-
Während des
nächsten
Taktzyklus MCLOCKN+5 ist die TAP-Steuereinrichtung in ihrem Aufnahmezustand
S7. In diesem Zustand ist die Breite des Master-Taktimpulses MCLOCK
auf eine Impulsbreite d verringert, wobei zu einem gemessenen Zeitpunkt,
der eine vorbestimmte Zeit t von der positiven Flanke 235 von
MCLOCK ist, ein vorgezogenes Taktsignal ADVANCECLK mit einer positiven
Flanke 224 erzeugt wird. Die verringerte Impulsbreite d
besitzt keine Wirkung auf die Zeitsteuerungsmessung. Zu einer Zeit,
nachdem das Aktivierungsbit AB2 an dem Eingang 8a in die
kombinatorische Logik angeordnet worden ist, ist auf der Leitung 10a zu
dem Multiplexer 26a ein Datenausgangsbit DOB verfügbar, das
sich aus dem Aktivierungseingangsbit AB2 auf der Leitung 8a ergibt.
Dadurch, dass der Zustand von TAPCONTROL1 auf der negativen Flanke 226 des verringerten
Zyklus d von MCLOCK geändert
wird, wird die Leitung 10a mit dem Multiplexer verbunden. Die
Zustandsänderung
des Multiplexers wird durch die fallende Flanke 228 auf
der Leitung 34 dargestellt.
-
Ein
Aspekt der Taktungsfolge aus 9 ist die
Bereitstellung des Vortakts ADVANCECLK, der in der Aufnahmezeitperiode
zur Zeit t aus der positiven Flanke 235 des Takts MCLOCK
unabhängig
die negative Taktflanke 232 des Takts CAPTURECLK erzeugt.
Dies vermeidet die Notwendigkeit, in dem Aufnahmezyklus an dem Master-Takt
MCLOCK einen "Hochfrequenz"-Takt zu erzeugen,
und vermeidet außerdem,
dass die TAP-Steuereinrichtung mit einer solchen höheren Frequenz
getaktet werden muss.
-
Der
einzige Zweck der verringerten Impulsbreite d ist es, von der negativen
Flanke 226 des verringerten Impulses die positive Flanke 230 des
CAPTURECLK-Signals auf der Leitung 70 bereitzustellen.
Somit ist die einzige Anforderung für die Impulsbreite d, dass
sie kleiner als die bestimmte Zeit t sein muss. Wenn das CAPTURECLK
auf der Flanke 230 hoch geworden ist, kann es wie oben
diskutiert unter der Steuerung des vorgezogenen Taktsignals ADVANCECLK
auf der Flanke 232 heruntergenommen werden.
-
Nachdem
der Multiplexer auf der fallenden Flanke 228 auf der Leitung 34 geschaltet
worden ist, wird das CAPTURECLK-Signal auf der Leitung 70 hoch,
was durch die Flanke 230 dargestellt ist, die veranlasst,
dass kurze Zeit danach an dem inneren Knoten 67a das Datenausgangsbit
DOB erscheint. Es wird angenommen, dass die Flanke 230 auftritt, bevor
das Datenausgangsbit DOB ausregelt, und dass sie somit bei der nachfolgenden
Zeitsteuerungsmessung und Aufnahme bei dem Datenausgangsbit DOB
auf der Flanke 232 des CAPTURECLK keine Rolle spielt. Wenn
das Aufnahmetaktsignal CAPTURECLK auf der Flanke 232 tief
wird, ist die Aufnahme-Halb-Halteeinrichtung in der Datenerhaltungsbetriebsart,
wobei das Datenausgangsbit DOB am inneren Knoten 67a erhalten
wird.
-
Außerdem kann
das vorgezogene Taktsignal ADVANCECLK dazu verwendet werden, die
vorzeitige positive Flanke 234 des RELEASECLK-Signals auf
der Leitung 72 zur Verfügung
zu stellen. Nachdem das RELEASECLK-Signal auf der Flanke 234 hoch
geworden ist, erscheint das an dem inneren Knoten erhaltene Datenausgangsbit
DOB als das SCANOUT-Signal auf der Leitung 14b. Allerdings
ist die Zeitsteuerung dieser Freigabe nicht wichtig.
-
Beim
nächsten
Taktzyklus MCLOCKN+6 tritt die TAP-Steuereinrichtung erneut in den
Verschiebungszustand S4 ein. Daraufhin können neue Sensibilisierungs-
oder Aktivierungsbits SB4/AB4, SB5/AB5 auf der SCANIN-Signalleitung 14a hineingeschoben
werden, während
das Datenausgangsbit DOB auf der SCANOUT-Signalleitung 14b herausgeschoben
werden kann.
-
Vorzugsweise
aktiviert das an die Kette der Abtasthalteeinrichtungen angelegte
Sensibilisierungsbitmuster beim Übergang
der Eingangssignale der kombinatorischen Logikschaltungsanordnung 5 zwischen
dem Sensibilisierungs- und dem Aktivierungsmuster einen kritischen
Zeitsteuerungspfad. Es ist leicht klar, dass der Punkt eines Funktionstests
die Messung der Zeit zwischen dem Anordnen der Aktivierungseingangsbits
an den Eingängen 8a, 8b usw. der
kombinatorischen Logikschaltung und dem Erscheinen der Datenausgangsbits
auf der Leitung 10a ist. Um verschiedene Zeitsteuerungspfade
zu praktizieren, kann die Funktionstestfolge für verschiedene Muster wiederholt
werden. Es ist zu sehen, dass die Zeitverzögerung von der Sensibilisierungsaktualisierung
bis zu der Aufnahme des entsprechenden Ergebnisses die Dauer t in
dem Aufnahmezustand ist. Diese Dauer t kann in der Weise eingestellt
werden, dass die kleinste mögliche
Verzögerung
bestimmt wird, die für
eine besondere Menge von Eingangssignalen weiter zu den korrekten
Ausgangsdaten führt.
-
Somit
kann die in 6 veranschaulichte Abtastzelle
entweder einen Strukturtest oder einen Funktionstest ausführen. Allerdings
besitzt sie Merkmale, die sie in bestimmten Aspekten, insbesondere zur
Durchführung
eines Funktionstests, ineffizient machen. Zunächst sind drei Takte erforderlich,
die mehr Leistung verbrauchen, als ein einzelner Takt verbrauchen
würde.
Zweitens sind die Taktzweige (d. h. die abgeleiteten Takte) getrennt,
wobei die Genauigkeit der Funktionstests gefährdet wird, da die drei Takte
unabhängig
sind. Um diese Nachteile zu überwinden,
wird eine neue Halb-Halteeinrichtung geschaffen, die eine Freigabefunktion
enthält,
um ein an sie angelegtes Taktsignal effektiv durchzuschalten. Dies
kann in einer Anzahl von Arten unter Verwendung von zwei Übertragungsgattern
in Serie, durch das Einfügen
einer Einschaltfunktion in den Taktpfad oder unter Verwendung eines
komplexen Gatters, das die Takteinschaltfunktion mit dem Speicherknoten
zusammenführt,
konstruiert werden. Es wird erwartet, dass dem Fachmann auf dem
Gebiet weitere Arten der Verwirklichung einer solchen Halb-Halteeinrichtung
offensichtlich sind.
-
10 zeigt die Schaltung aus 6, wobei die Freigabe- und
die Aktualisierungs-Halb-Halteeinrichtung 58a und 60a durch
zwei Halb-Halteeinrichtungen 82a und 84a des oben
diskutierten Typs, d. h., die jeweils ein Übertragungsgatter TGE mit einem Einschalteingang
und einen Speicherknoten SN besitzen, ersetzt sind. Die Anordnung
aus 10 besitzt gegenüber 6 den Vorteil, dass sie
lediglich erfordert, dass an alle Halb-Halteeinheiten ein Taktsignal
COMMONCLK angelegt wird, was zu einem verringerten Leistungsverbrauch
und zu einer verringerten Anzahl von Taktsignalleitungen führt. Die
Aufnahme-Halb-Halteeinrichtung 56a empfängt das Inverse des an die
Freigabe-Halb-Halteeinrichtung 84a und an die Aktualisierungs-Halb-Halteeinrichtung 82a angelegten
Taktsignals. Da es nur ein Taktsignal gibt, gibt es nur einen Taktzweig,
was zu genaueren Funktionstests führt.
-
Ein
weiteres Steuersignal TAPCONTROL3 ist für die Freigabe-Halb-Halteeinrichtung 84a und
invertiert für
die Aktualisierungs-Halb-Halteeinrichtung 82a vorgesehen.
Aus der TAP-Steuereinrichtung werden die zwei Steuersignale TAP-CONTROL1 und TAPCONTROL3
erzeugt, die während
des Normalfunktionsbetriebs inaktiv sind. Für den Normalfunktionsbetrieb
der IC 2 ist das Steuersignal TAPCONTROL1 tief und das
Steuersignal TAPCONTROL3 tief. Für
eine Aktualisierungsoperation (die inhärent eine Verschiebung enthält) ist TAPCONTROL1
hoch und TAPCONTROL3 tief. Für eine
Aufnahmeoperation (die inhärent
eine Verschiebung enthält)
ist TAPCONTROL1 tief und TAPCONTROL3 hoch. Für eine Verschiebungsoperation
(Abtasteingabe oder Abtastausgabe) ist TAPCONTROL1 hoch und TAPCONTROL3
hoch. Wie unten beschrieben wird, kann außerdem eine asynchrone Aktualisierungsoperation
(ohne inhärente
Verschiebung) erreicht werden, während
der Takt COMMONCLK hoch gehalten wird und auf TAP-CONTROL3 eine negative
Flanke auftritt.
-
11 zeigt einen Zeitablaufplan
für die Schaltung
aus 10 zur Durchführung eines
Strukturtests. Außerdem
wird auf das Zustandsdiagramm aus 3 Bezug
genommen.
-
Zu
Beginn des Taktzyklus MCLOCKO des Master-Takts MCLOCK ist die TAP-Steuereinrichtung in
dem Rücksetzzustand
S0. Am Ende des Taktzyklus MCLOCKO wird ein Signal ACTIVATE TEST hoch,
so dass die TAP-Steuereinrichtung 12 in dem nächsten Taktzyklus
MCLOCK1 in einen Testlauf-Leerlauf-Zustand S1 eintritt und daraufhin im
folgenden Taktzyklus MCLOCK2 in einen Abtastauswahlzustand S2 eintritt.
Zu Beginn des Taktzyklus MCLOCK3 wird in einen Aufnahmezustand S3
(mit inhärenter
Verschiebung) eingetreten, wobei ein Testtakt-Einschaltsignal TESTCLKEN
hoch eingestellt wird. Dies ermöglicht,
dass der gemeinsame Takt COMMONCLK auf der Leitung 86 zu
laufen beginnt. Zu Beginn des Taktzyklus MCLOCK4 ist an dem Dateneingang 10a ein
Dateneingangsbit DOB1 vorhanden, das das von einem vorausgehenden
Test ausgegebene Ergebnis sein kann. Während die TAP-Steuereinrichtung
zu Beginn des Taktzyklus MCLOCK4 vom Zustand S3 in einen Verschiebungszustand
S4 übergeht,
wird die Aufnahmeoperation ausgeführt, wobei das auf der Leitung 90a auf genommene
Bit ebenfalls auf der SCANOUT-Leitung 14b verschoben wird.
Obgleich diese Verschiebungsoperation durch die Aufnahmeoperation
des Taktzyklus MCLOCK3 verursacht wird, ist ihre Wirkung bis zum nächsten Taktzyklus
MCLOCK4 nicht tatsächlich
zu sehen.
-
Bis
zu diesem Punkt ist das Steuersignal TAPCONTROL1 tief, um die Daten
an dem Eingang 10a mit dem Ausgang des Multiplexers 26a zu
verbinden, und ist das Steuersignal TAPCONTROL3 hoch, um die Freigabe-Halb-Halteeinrichtung
einzuschalten und die Aktualisierungs-Halb-Halteeinrichtung in einem
Datenerhaltungszustand zu halten. Wenn der Takt COMMONCLK auf der
Flanke 251 tief wird, werden die Daten DOB1 an dem Ausgang 10a der
kombinatorischen Logikschaltungsanordnung 5 an dem inneren
Knoten 90a dynamisch reflektiert. Auf der steigenden Flanke 252 des
Takts COMMONCLK wird das momentane Datenbit auf der DATAIN-Signalleitung 10a aufgenommen
und an dem inneren Knoten auf der Leitung 90a gehalten.
Gleichzeitig wird die Freigabe-Halb-Halteeinrichtung eingeschaltet,
um die Daten DOB1 an dem Knoten 90a auf der SCANOUT-Signalleitung 14b anzuordnen.
Wenn die negative Flanke 254 von COMMONCLK während MCLOCK4
auftritt, wird das Signal auf der SCANOUT-Leitung 14b gehalten
oder erhalten. Wie durch die Flanke 256 veranschaulicht
ist, schaltet das Steuersignal TAPCONTROL1 während MCLOCK4 von tief auf
hoch, was veranlasst, dass der Multiplexer 26a das Signal
an der SCANIN-Signaleingangsleitung 14a eingibt. Folglich
ist die TAP-Steuereinrichtung in den zwei Taktzyklen MCLOCK4, MCLOCK5
in dem Verschiebungszustand S4, wobei die zwei Scan-Test-Werte TDB1,
TDB2 aufeinander folgend auf die SCANOUT-Signalleitung 14b geschoben
werden. Wie oben anhand von 2 diskutiert worden
ist, ist klar, dass es in dem Verschiebungszustand normalerweise
n Taktzyklen gibt. Auf der steigenden Flanke von MCLOCK6 wird in
den Austritt1-Zustand S5 eingetreten, wobei das Signal TESTCLKEN
heruntergenommen wird und auf der fallenden Flanke von MCLOCK, wie
durch die Flanke 258 veranschaulicht ist, das Signal TAPCONTROL1 heruntergenommen
wird. Die Positionierung der Flanke 258 ist nicht wichtig,
da sie keine Wirkung hat, wobei diese Flanke somit in irgendeinem
nachfolgenden Zyklus positioniert werden könnte. Während MCLOCK7 wird dadurch,
dass die Flanke 260 von TAPCONTROL3 tief wird, die Aktualisierungs-Halb-Halteeinrichtung
eingeschaltet, wobei an dem Eingang 8a in die kombinatorische
Logikschaltungsanordnung 5 das Testdatenbit TDB2 am Knoten 90 erscheint.
Es ist klar, dass das Taktsignal COMMONCLK auf der Leitung 86 an
diesem Punkt hoch ist, so dass die Aktualisierungs-Halb-Halteeinrichtung
den Datenübertragungszustand
annimmt, wenn sie eingeschaltet wird. Die Flanke 260 ist
mit der Taktflanke des Master-Takts MCLOCK nicht synchronisiert,
so dass die durch die Flanke 260 erreichte Aktualisierungsoperation
folglich asynchron ist und es im Zusammenhang mit dieser Aktualisierung
keine inhärente
Verschiebungsoperation gibt. Dies wird als "asynchrone Aktualisierung" bezeichnet. Während MCLOCK8
wird in den Testlauf-Leerlauf-Zustand S1 eingetreten, wobei TAP-CONTROL3 auf der
Flanke 262 in einen hohen Zustand zurückkehrt. Es ist zu sehen, dass
alle kritischen Operationen mit Ausnahme der Operation, die stattfindet,
wenn sich das Signal TAPCONTROL3 auf der Flanke 260 in
MCLOCK7 von hoch auf tief ändert,
wobei diese Operation asynchron ist, synchron sind und auf der positiven
Flanke des Takts COMMONCLK stattfinden. Diese asynchrone Operation
ist ein wichtiges Merkmal der Schaltung aus 10, was ermöglicht, dass das Zustandsdiagramm
gemäß der IEEE-Norm
1149.1-90 während
eines Strukturtests eine Aktualisierung verwirklicht. In der Strukturtestbetriebsart
ist die Zeitsteuerung der Aktualisierung nicht kritisch und die asynchrone Änderung
auf der Ausgangsleitung 8a nicht wichtig.
-
Anhand
der 12a und 12b wird nun mit Bezug auf
das Zustandsdiagramm von 8 die Operation
der Schaltung aus 10 während eines Funktionstests
beschrieben. 12b ist
eine erweiterte Ansicht derjenigen Zyklen MCLOCK5 bis MCLOCK7 aus 12a, während deren die kritischen
Zeitsteuerungspfade des Funktionstests auftreten.
-
Die
Operation der Schaltung aus 10 bei der
Durchführung
eines Funktionstests ist ähnlich
der von 6, so dass die
gemeinsamen Elemente nicht beschrieben werden. Das Folgende ist
eine Diskussion der Unterschiede zwischen den Zeitsteuerungsfolgen
für die
Schaltung aus 6 und
den Zeitsteuerungsfolgen für
die Schaltung aus 10.
-
In 12b ist die Zeitsteuerung
des durch Kombination des Master-Takts MCLOCK und des Bezugstakts
ADVANCECLK erzeugten gemeinsamen Takts COMMONCLK gezeigt.
-
Die
Steuerung der Aktualisierungsfunktion ist in der Schaltung aus 12 anders. Wie in 12a gezeigt ist, ändert das
Signal TAPCONTROL3 auf der fallenden Flanke von COMMONCLK in dem
TAP-Taktzyklus MCLOCKN+4 den Zustand von hoch zu tief, was durch
die Flanke 270 dargestellt ist. Das heißt, dass die Aktuali sierungs-Halb-Halteeinrichtung
in ihren Datenübertragungszustand
versetzt wird und das Bit, das daraufhin an ihrem Eingang am Knoten 90a ist,
an den Ausgang auf der Leitung 8a überträgt, wenn COMMONCLK zu Beginn
des Aufnahmezyklus MCLOCKN+5 hoch wird. Dies stellt das Aktivierungseingangsbit
für den
Funktionstest zur Verfügung.
Daraufhin wird das Steuersignal TAPCONTROL3 von seinem tiefen in seinen
hohen Zustand geändert,
was durch die Flanke 272 dargestellt ist, um dieses Bit
an dem Ausgang der Aktualisierungs-Halb-Halteeinrichtung zu halten, so
dass das Ausgangssignal für
nachfolgende Flanken von COMMONCLK gehalten wird.
-
Auf
der steigenden Flanke 273 des Takts COMMONCLK auf der Leitung 86 wird
das Datenausgangssignal von der Funktionslogikschaltung 4 im
Ergebnis der Aktivierungseingangsbits aufgenommen. Die Zeitsteuerung
der Flanke 273 wird durch das vorgezogene Taktsignal ADVANCECLK
gesteuert.
-
Die
Messung der Funktion der Funktionslogik wird auf die gleiche Weise
wie oben anhand von 9 diskutiert
durchgeführt.
-
12b veranschaulicht deutlicher
das dem Funktionstest zugrunde liegende Prinzip. Der Pfeil p stellt
die Ausbreitungszeit über
die kombinatorische Logikschaltung 5 oder die Zeit, die
es dauert, dass sich die Datenausgabe von einem Zustand zu einem anderen ändert, wenn
die Eingangsbits von dem sensibilisierten Muster zu dem Aktivierungsmuster
geändert
werden, dar. Wie oben erläutert
wurde, kann durch Änderungen
der Zeitsteuerungsverzögerung
t zwischen einer positiven Flanke von MCLOCK und einer positiven
Flanke von ADVANCECLK ein Maß dieser
Zeit gewonnen werden.
-
Das
Vortaktsignal ADVANCECLK wird eingeführt, da es wünschenswert
ist, die Geschwindigkeit des gemeinsamen Taktsignals COMMONCLK während des
Aufnahmezyklus MCLOCKN+5 zu erhöhen. Allerdings
ist es nicht wünschenswert,
einen schnellen Zyklus in den Master-Takt MCLOCK einzuführen. Außerdem muss
das gemeinsame Taktsignal COMMONCLK für die nächste steigende Flanke des
Master-Takts MCLOCK gesperrt werden, wenn es während der Dauer MCLOCKN+5 einen
schnellen Taktzyklus ausgeführt
hat, wobei der Master-Takt und der gemeinsame Takt andernfalls die
Synchronisation verlieren. Falls die Synchronisation zwischen diesen zwei
Takten verloren geht, können
einige der für
die Abtastung eingegebenen oder von der Abtastung ausgegebenen Testbits ebenfalls
verloren gehen. Somit empfängt
die TAP-Steuereinrichtung zu Beginn des Zyklus MCLOCKN+6 eine positive
Taktflanke, während
das COMMONCLK-Signal
keine Flanke erzeugt.
-
13 zeigt ein Beispiel einer
Verwirklichung der Schaltung aus 10 unter
Verwendung bekannter Schaltungskomponenten. Der Multiplexer 26a besteht
aus zwei UND-Gattern 92 und 94 und aus einem NOR-Gatter 122.
Es ist zu sehen, dass das Signal TAPCONTROL1 auf der Leitung 34 direkt in
das UND-Gatter 94 eingegeben wird, während es am Eingang des UND-Gatters 92 invertiert
wird. Die Halb-Halteeinrichtung 56 besteht aus einem Durchlassgatter,
das zwei komplementäre
Transistoren 96 und 98 umfasst, und aus einer
antiparallel geschalteten Inverteranordnung 100, die einen
starken Inverter 100a und einen schwachen Inverter 100b umfasst. Die
Halb-Halteeinrichtung 82 umfasst ein Durchlassgatter, das
zwei komplementäre
Transistoren 106 und 108 umfasst, ein antiparallel
geschaltetes Inverterpaar 116 und einen Inverter 118.
Die antiparallel geschalteten Inverter 116 umfassen einen
starken Inverter 116a und einen schwachen Inverter 116b.
Die Halb-Halteeinrichtung 84 umfasst ein Durchlassgatter,
das zwei komplementäre
Transistoren 110 und 112 umfasst, ein antiparallel
geschaltetes Inverterpaar 114 und einen Inverter 120.
Die antiparallel geschalteten Inverter 114 umfassen einen
starken Inverter 114a und einen schwachen Inverter 114b.
Ferner nutzen die Halb-Halteeinrichtungen 82 und 84 ein Durchlassgatter,
das die komplementären
Transistoren 102, 104 umfasst, gemeinsam.
-
14 veranschaulicht ein weiteres
Beispiel dafür,
wie die vorliegende Erfindung verwirklicht werden kann. 14 ist ein veranschaulichendes
Beispiel dafür,
wie eine wie in dem Stromlaufplan aus 10 gezeigte
Abtastzelle verwirklicht werden kann. Die Abtastzelle dieses Beispiels
besteht aus einer Eingangsstufe 320 (die etwa dem Multiplexer 26a und
der Halteeinrichtung 56a aus 10 entspricht) und
aus einer Ausgangsstufe 330 (die etwa den Halb-Halteeinrichtungen 82a und 84a aus 10 entspricht). Die in 14 veranschaulichte Verwirklichung
der Erfindung zeigt außerdem,
wie die Erfindung durch Hinzufügen
eines zusätzlichen
Multiplexers, der die Funktionsauswahl von einem der zwei Dateneingänge ermöglicht,
zu der Eingangsstufe und durch Hinzufügen einer synchronen Rücksetzeinrichtung
erweitert werden kann.
-
Die
Eingangsstufe empfängt
zusammen mit den Signalen DATAIN1 auf der Leitung 310a, DATAIN2
auf der Leitung 312a, SELECTDATAIN auf der 314a und RESET
auf der Leitung 318 die Signale SCANIN auf der Leitung 14a und
TAP-CONTROL1 auf
der Leitung 34. Das veranschaulichte Beispiel unterscheidet
sich von dem Stromlaufplan aus 10 dadurch,
dass es zwei Dateneingänge,
DATAIN1 und DATAIN2, besitzt. Allerdings kann zu irgendeinem Zeitpunkt
durch das Auswählsignal
SELECTDATAIN nur ein Dateneingang ausgewählt werden. Das Signal RESET
auf der Leitung 318 wird zum Rücksetzen der Eingangsstufe 320 verwendet.
Die Eingangsstufe 320 gibt auf der Leitung 316 ein
Signal DATA aus, das ein Eingangssignal in die Ausgangsstufe 330 bildet.
Das Signal TAP-CONTROL3
auf der Leitung 88 bildet ein zweites Signal in die Ausgangsstufe.
Die Ausgangsstufe gibt auf der Leitung 8a das Signal DATAOUT
und auf der Leitung 14b das Signal SCANOUT aus. Sowohl
die Eingangs- als auch die Ausgangsstufe empfangen über das
Gatter 322 auf der Leitung 86b das Signal NOTCOM-MONCLK und über die
Gatter 322 und 324 auf der Leitung 86a das Signal
COMMONCLK.
-
Anhand
von 15a und 15b kann der Betrieb der
Schaltung aus 14 leicht
verstanden werden. Die 15a und 15b veranschaulichen umfassend
die Eingangsstufe 320 bzw. die Ausgangsstufe 330.
-
Wie
in 15a gezeigt ist,
umfasst die Eingangsstufe 320 eine Anzahl von Gattern 332, 334, 336, 350 und 370,
eine Anzahl von Transistoren 338 bis 348 und 354 bis 368 und
ein Übertragungsgatter 331.
-
Die
wie in 15b gezeigte
Ausgangsstufe 330 umfasst ein Invertergatter 388,
eine Anzahl von Halteeinrichtungen 380, 390, 394,
zwei Inverter 392, 396 und eine Anzahl von Übertragungsgattern 382 bis 386.
Wie wohlbekannt ist, umfasst jede der Halteeinrichtungen 380, 390 und 394 einen
starken Inverter 380a, 390a und 394a,
der jeweils mit einem jeweiligen verhältnismäßig schwachen Inverter 380b, 390b und 394b gekoppelt
ist.
-
Die Übertragungsgatter 330, 382, 384, 386 umfassen
jeweils ein Paar komplementärer
Transistoren, die jeweils den Transistorpaaren 98, 98; 102, 104; 108, 106;
und 110, 112 aus 13 entsprechen.
-
Für den Fachmann
auf dem Gebiet ist mit Bezug auf die vorstehende Beschreibung von 10 klar, wie die Schaltungsverwirklichung
der 14, 15a und 15b arbeitet,
wobei diese Operation somit nicht weiter beschrieben wird.