DE69533275T2 - Ein Steuergerät zur Durchführung der Abtastprüfung - Google Patents

Ein Steuergerät zur Durchführung der Abtastprüfung Download PDF

Info

Publication number
DE69533275T2
DE69533275T2 DE69533275T DE69533275T DE69533275T2 DE 69533275 T2 DE69533275 T2 DE 69533275T2 DE 69533275 T DE69533275 T DE 69533275T DE 69533275 T DE69533275 T DE 69533275T DE 69533275 T2 DE69533275 T2 DE 69533275T2
Authority
DE
Germany
Prior art keywords
signal
test
line
data
clock
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69533275T
Other languages
English (en)
Other versions
DE69533275D1 (de
Inventor
Robert Bristol Warren
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Ltd Great Britain
Original Assignee
STMicroelectronics Ltd Great Britain
SGS Thomson Microelectronics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Ltd Great Britain, SGS Thomson Microelectronics Ltd filed Critical STMicroelectronics Ltd Great Britain
Publication of DE69533275D1 publication Critical patent/DE69533275D1/de
Application granted granted Critical
Publication of DE69533275T2 publication Critical patent/DE69533275T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Description

  • 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.
  • FIGURENBESCHREIBUNG:
    Figure 00380001
  • Figure 00390001
  • Figure 00400001
  • Figure 00410001
  • Figure 00420001
  • Figure 00430001
  • Figure 00440001

Claims (9)

  1. Prüfzugangsport-Steuerung (12) zur Implementierung einer Scanprüfung mit einer Kette von Scanhaltespeichern (Scanlatches) (6a, 6b, 6c, 6d), umfassend: eine Logikschaltung (524) zum Erzeugen einer Vielzahl von Steuersignalen an die Scanhaltespeicher; ein Datenausgang (14a) zur Ausgabe der Prüfdaten an die Scanhaltespeicher; ein Dateneingang (14e) zum Empfang der resultierenden Daten von den Scanhaltespeichern, wobei die resultierenden Daten mit erwarteten Daten verglichen werden können; ein Signalgenerator (510) einschließlich eines Prüftaktgebers zur Implementierung einer strukturellen Prüfung bei einer vorgegebenen Frequenz und zur Ausgabe von Taktsignalen (36, 38) an die Scanhaltespeicher (6a, 6b, 6c, 6d), dadurch gekennzeichnet, daß: eine Statusanzeige (520), die mit der Logikschaltung und mit dem Signalgenerator verbunden ist, um eine Betriebsart der Steuerung aus einem ersten Modus struktureller Prüfung, welcher resultierende Daten in Abhängigkeit von einem vorgegebenen vorhandenen Satz von Prüfdaten liefert, und einem zweiten Modus dynamischer Leistungsprüfung zu wählen, welcher resultierende Daten in Abhängigkeit von einem Wechsel von einem ersten Satz von Prüfdaten zu einem zweiten Satz von Prüfdaten innerhalb einer Zeitperiode liefert, die in Reaktion auf ein vorausgehendes Taktsignal (ADVANCECLK) unabhängig von der Prüftaktfrequenz für die strukturelle Prüfung steuerbar ist, wobei die Zeitperiode einstellbar ist.
  2. Prüfzugangsport-Steuerung gemäß Anspruch 1, wobei die Logikschaltung (524) ein erstes und ein zweites Logikgatter (LG1, LG2) aufweist zur Ausgabe der respektiven Steuersignale zur Implementierung einer strukturellen Prüfung und einer dynamischen Leistungsprüfung, wobei die Statusanzeige (520) betrieben werden kann, um entsprechend den ersten oder den zweiten Satz von Logikgattern auszuwählen.
  3. Prüfzugangsport-Steuerung gemäß Anspruch 2, welches einen Multiplexer (518) umfaßt, der mit den Ausgängen des ersten und des zweiten Logikgatters verbunden ist, wobei die Statusanzeige (520) ein Signal liefert, um das Schalten des Multiplexers zu steuern, um Ausgangssignale entsprechend dem gewählten Prüfmodus zu liefern.
  4. Prüfzugangsport-Steuerung gemäß Anspruch 2, wobei die Logikschaltung (524) eine programmierbare Logikanordnung umfaßt, deren Konfiguration in Reaktion auf ein Signal von der Statusanzeige eingestellt werden kann.
  5. Prüfzugangsport-Steuerung gemäß einem der vorstehenden Ansprüche, wobei die Statusanzeige mit einem Steuerbit in einem Befehlsregister der Steuerung implementiert ist.
  6. Prüfzugangsport-Steuerung gemäß einem der Ansprüche 1 bis 4, wobei die Statusanzeige aus einem Code besteht, der in einem Befehlsregister (520) der Steuerung gespeichert ist.
  7. Prüfzugangsport-Steuerung gemäß einem der vorstehenden Ansprüche, welches eine Statusmaschine für einen sequentiellen zyklischen Durchlauf einer Mehrzahl von Zuständen und eine Statuslogik (517) zum Definieren von jedem Zustand sowie ein Statusregister (519) zur Steuerung der Zyklen und zum Ausgeben von Statusbefehlen an die Logikschaltung (524) umfaßt.
  8. Prüfzugangsport-Steuerung gemäß einem der vorstehenden Ansprüche, wobei das vorausgehende Taktsignal das Ende der Zeitperiode bestimmt und der Signalgenerator (510) die Fähigkeit aufweist, ein weiteres Signal zu erzeugen, welches den Anfang der einstellbaren Zeitperiode definiert, wenn die Leistungsprüfung gewählt ist.
  9. Integrierte Schaltung, die eine Prüfzugangsport-Steuerung nach einem der oben aufgeführten Ansprüche umfaßt.
DE69533275T 1994-09-01 1995-08-22 Ein Steuergerät zur Durchführung der Abtastprüfung Expired - Fee Related DE69533275T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9417602A GB9417602D0 (en) 1994-09-01 1994-09-01 A controller for implementing scan testing
GB9417602 1994-09-01

Publications (2)

Publication Number Publication Date
DE69533275D1 DE69533275D1 (de) 2004-08-26
DE69533275T2 true DE69533275T2 (de) 2005-08-04

Family

ID=10760681

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69533275T Expired - Fee Related DE69533275T2 (de) 1994-09-01 1995-08-22 Ein Steuergerät zur Durchführung der Abtastprüfung

Country Status (5)

Country Link
US (1) US5742617A (de)
EP (1) EP0702239B1 (de)
JP (1) JP3168143B2 (de)
DE (1) DE69533275T2 (de)
GB (1) GB9417602D0 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9622686D0 (en) * 1996-10-31 1997-01-08 Sgs Thomson Microelectronics A test port controller and a method of effecting communication using the same
JP3200565B2 (ja) * 1996-12-10 2001-08-20 松下電器産業株式会社 マイクロプロセッサおよびその検査方法
US6205566B1 (en) * 1997-07-23 2001-03-20 Matsushita Electric Industrial Co., Ltd. Semiconductor integrated circuit, method for designing the same, and storage medium where design program for semiconductor integrated circuit is stored
US6070259A (en) * 1998-01-15 2000-05-30 Lsi Logic Corporation Dynamic logic element having non-invasive scan chain insertion
AU2885999A (en) 1998-03-03 1999-09-20 Rutgers University Method and apparatus for combined stuck-at fault and partial-scanned delay-faultbuilt-in self test
GB9810512D0 (en) 1998-05-15 1998-07-15 Sgs Thomson Microelectronics Detecting communication errors across a chip boundary
US6128758A (en) * 1998-05-20 2000-10-03 National Semiconductor Corporation Modular re-useable bus architecture
US6158034A (en) * 1998-12-03 2000-12-05 Atmel Corporation Boundary scan method for terminating or modifying integrated circuit operating modes
US7058862B2 (en) * 2000-05-26 2006-06-06 Texas Instruments Incorporated Selecting different 1149.1 TAP domains from update-IR state
US6711684B1 (en) 1999-06-08 2004-03-23 General Instrument Corporation Variable security code download for an embedded processor
US6430718B1 (en) 1999-08-30 2002-08-06 Cypress Semiconductor Corp. Architecture, circuitry and method for testing one or more integrated circuits and/or receiving test information therefrom
US6449712B1 (en) 1999-10-01 2002-09-10 Hitachi, Ltd. Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions
US6779145B1 (en) 1999-10-01 2004-08-17 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6591369B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics, Ltd. System and method for communicating with an integrated circuit
US6826191B1 (en) 1999-10-01 2004-11-30 Stmicroelectronics Ltd. Packets containing transaction attributes
US6633971B2 (en) 1999-10-01 2003-10-14 Hitachi, Ltd. Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline
US6772325B1 (en) * 1999-10-01 2004-08-03 Hitachi, Ltd. Processor architecture and operation for exploiting improved branch control instruction
US7266728B1 (en) 1999-10-01 2007-09-04 Stmicroelectronics Ltd. Circuit for monitoring information on an interconnect
US6298394B1 (en) 1999-10-01 2001-10-02 Stmicroelectronics, Ltd. System and method for capturing information on an interconnect in an integrated circuit
US6567932B2 (en) 1999-10-01 2003-05-20 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6918065B1 (en) 1999-10-01 2005-07-12 Hitachi, Ltd. Method for compressing and decompressing trace information
US6546480B1 (en) 1999-10-01 2003-04-08 Hitachi, Ltd. Instructions for arithmetic operations on vectored data
US6684348B1 (en) 1999-10-01 2004-01-27 Hitachi, Ltd. Circuit for processing trace information
US6732307B1 (en) 1999-10-01 2004-05-04 Hitachi, Ltd. Apparatus and method for storing trace information
US6590907B1 (en) 1999-10-01 2003-07-08 Stmicroelectronics Ltd. Integrated circuit with additional ports
US6598128B1 (en) 1999-10-01 2003-07-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6530047B1 (en) 1999-10-01 2003-03-04 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6701405B1 (en) 1999-10-01 2004-03-02 Hitachi, Ltd. DMA handshake protocol
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6615370B1 (en) 1999-10-01 2003-09-02 Hitachi, Ltd. Circuit for storing trace information
US6665816B1 (en) 1999-10-01 2003-12-16 Stmicroelectronics Limited Data shift register
US7793261B1 (en) 1999-10-01 2010-09-07 Stmicroelectronics Limited Interface for transferring debug information
US6463553B1 (en) 1999-10-01 2002-10-08 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6542983B1 (en) 1999-10-01 2003-04-01 Hitachi, Ltd. Microcomputer/floating point processor interface and method
US6351803B2 (en) 1999-10-01 2002-02-26 Hitachi Ltd. Mechanism for power efficient processing in a pipeline processor
US6457118B1 (en) 1999-10-01 2002-09-24 Hitachi Ltd Method and system for selecting and using source operands in computer system instructions
US6487683B1 (en) 1999-10-01 2002-11-26 Stmicroelectronics Limited Microcomputer debug architecture and method
US6412047B2 (en) * 1999-10-01 2002-06-25 Stmicroelectronics, Inc. Coherency protocol
US6502210B1 (en) 1999-10-01 2002-12-31 Stmicroelectronics, Ltd. Microcomputer debug architecture and method
US6557119B1 (en) 1999-10-01 2003-04-29 Stmicroelectronics Limited Microcomputer debug architecture and method
US6820195B1 (en) 1999-10-01 2004-11-16 Hitachi, Ltd. Aligning load/store data with big/little endian determined rotation distance control
US6553460B1 (en) 1999-10-01 2003-04-22 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6928073B2 (en) 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US6412043B1 (en) 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US7000078B1 (en) 1999-10-01 2006-02-14 Stmicroelectronics Ltd. System and method for maintaining cache coherency in a shared memory system
US6859891B2 (en) 1999-10-01 2005-02-22 Stmicroelectronics Limited Apparatus and method for shadowing processor information
US6460174B1 (en) 1999-10-01 2002-10-01 Stmicroelectronics, Ltd. Methods and models for use in designing an integrated circuit
US6408381B1 (en) 1999-10-01 2002-06-18 Hitachi, Ltd. Mechanism for fast access to control space in a pipeline processor
US6434665B1 (en) 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6629115B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method and apparatus for manipulating vectored data
US6598177B1 (en) 1999-10-01 2003-07-22 Stmicroelectronics Ltd. Monitoring error conditions in an integrated circuit
US7260745B1 (en) 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US6574651B1 (en) 1999-10-01 2003-06-03 Hitachi, Ltd. Method and apparatus for arithmetic operation on vectored data
US6629207B1 (en) 1999-10-01 2003-09-30 Hitachi, Ltd. Method for loading instructions or data into a locked way of a cache memory
US7072817B1 (en) 1999-10-01 2006-07-04 Stmicroelectronics Ltd. Method of designing an initiator in an integrated circuit
US6601189B1 (en) 1999-10-01 2003-07-29 Stmicroelectronics Limited System and method for communicating with an integrated circuit
US6349371B1 (en) 1999-10-01 2002-02-19 Stmicroelectronics Ltd. Circuit for storing information
US6574762B1 (en) * 2000-03-31 2003-06-03 Lsi Logic Corporation Use of a scan chain for configuration of BIST unit operation
US6681359B1 (en) 2000-08-07 2004-01-20 Cypress Semiconductor Corp. Semiconductor memory self-test controllable at board level using standard interface
US6665828B1 (en) * 2000-09-19 2003-12-16 International Business Machines Corporation Globally distributed scan blocks
US20030188243A1 (en) * 2002-03-29 2003-10-02 Rajan Krishna B. Method and apparatus for delay fault testing
US20040002832A1 (en) * 2002-05-20 2004-01-01 Chan Patrick P. Method and apparatus for boundary scan of serial interfaces
EP1992955B1 (de) 2003-12-17 2012-07-25 STMicroelectronics (Research & Development) Limited TAP-Multiplexer
US7457998B1 (en) * 2005-01-07 2008-11-25 Cadence Design Systems, Inc. Scan register and methods of using the same
US7761748B2 (en) * 2005-06-09 2010-07-20 Sony Computer Entertainment Inc. Methods and apparatus for managing clock skew between clock domain boundaries
CN104750588B (zh) * 2015-03-04 2018-08-31 广东好帮手电子科技股份有限公司 一种基于串口通信的压力测试方法
US9772376B1 (en) * 2016-04-29 2017-09-26 Texas Instruments Incorporated Increase data transfer throughput by enabling dynamic JTAG test mode entry and sharing of all JTAG pins
CN109298322A (zh) * 2018-09-27 2019-02-01 西安微电子技术研究所 一种动态变链长扫描结构及其方法和边界扫描单元
WO2023272439A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 芯片和芯片测试装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6089120A (ja) * 1983-10-21 1985-05-20 Toshiba Corp フリツプフロツプ回路
US5056094A (en) 1989-06-09 1991-10-08 Texas Instruments Incorporated Delay fault testing method and apparatus
JP2561164B2 (ja) * 1990-02-26 1996-12-04 三菱電機株式会社 半導体集積回路
US5260947A (en) * 1990-12-04 1993-11-09 Hewlett-Packard Company Boundary-scan test method and apparatus for diagnosing faults in a device under test
FR2670299B1 (fr) * 1990-12-07 1993-01-22 Thomson Composants Militaires Circuit integre avec controleur de test peripherique.
US5254942A (en) * 1991-04-25 1993-10-19 Daniel D'Souza Single chip IC tester architecture
JP2973641B2 (ja) * 1991-10-02 1999-11-08 日本電気株式会社 Tapコントローラ
JP2553292B2 (ja) * 1991-12-20 1996-11-13 インターナショナル・ビジネス・マシーンズ・コーポレイション 論理回路テスト装置及び方法
US5329533A (en) * 1991-12-26 1994-07-12 At&T Bell Laboratories Partial-scan built-in self-test technique
US5546406A (en) * 1992-06-29 1996-08-13 Tandem Computers, Inc. Cell architecture for built-in self-test of application specific integrated circuits
US5422891A (en) * 1993-07-23 1995-06-06 Rutgers University Robust delay fault built-in self-testing method and apparatus
JP2727930B2 (ja) * 1993-10-04 1998-03-18 日本電気株式会社 バウンダリスキャンテスト回路
US5583787A (en) * 1994-03-08 1996-12-10 Motorola Inc. Method and data processing system for determining electrical circuit path delays
GB9417592D0 (en) * 1994-09-01 1994-10-19 Inmos Ltd Single clock scan latch

Also Published As

Publication number Publication date
DE69533275D1 (de) 2004-08-26
EP0702239B1 (de) 2004-07-21
JP3168143B2 (ja) 2001-05-21
US5742617A (en) 1998-04-21
EP0702239A3 (de) 1996-04-03
GB9417602D0 (en) 1994-10-19
JPH08189953A (ja) 1996-07-23
EP0702239A2 (de) 1996-03-20

Similar Documents

Publication Publication Date Title
DE69533275T2 (de) Ein Steuergerät zur Durchführung der Abtastprüfung
DE2346617C3 (de) Verfahren zur Prüfung der einseitig begrenzten Laufzeitverzögerung einer Funktionseinheit
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE60009856T2 (de) Umkonfigurierbare integrierte schaltung mit eingebautem fehlersuchsystem für ein simulationssystem
DE69634824T2 (de) Integrierte schaltungstestanordnung mit paralleler ansteuerung
DE60225898T2 (de) Mehrfacherfassungs-dft-system zum detektieren oder auffinden von überschreitenden taktbereichsfehlern während der selbstprüfung oder scan-prüfung
DE4100671C2 (de)
DE2729053C2 (de) Prüfverfahren für eine monolithisch integrierte stufenempfindliche, einseitig verzögerungsabhängige logische Einheit
DE4221748C2 (de) Bypass-Abtastpfad und integrierte Schaltkreiseinrichtung mit mindestens einem solchen Bypass-Abtastpfad
DE2349324A1 (de) Verfahren und vorrichtung zum pruefen funktioneller logischer schaltungen
DE3832113C2 (de)
DE102006024507B4 (de) Integrierte Schaltung und Verfahren zum Erkennen von Laufzeitfehlern in integrierten Schaltungen
DE2360762A1 (de) Elementarschaltungsanordnung fuer schaltwerke zur durchfuehrung von datenverarbeitungsoperationen
DE102016116717A1 (de) Scan-Ketten-Schaltung, die eine Injektion eines logischen Selbsttestmusters während der Laufzeit unterstützt
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE69433542T2 (de) Prüfung, sequenziellogischer Schaltung auf grund einer kombinatorischen Logikschaltungsveränderung
DE19602517A1 (de) Flip-Flop-Steuerung
DE69533018T2 (de) Struktur und Leistungsabtastprüfung
EP0628832B1 (de) Integrierte Schaltung mit Registerstufen
DE60007196T2 (de) Vorrichtung zur Beseitigung von "Durchgleiten" von Daten während einer Schiebeoperation mit Master-Slave Kippschaltungen
DE19748016A1 (de) Kostengünstiges Prüfverfahren für Registerübertragungspegelschaltungen
DE60309761T2 (de) Methode und Vorrichtung zum Testen von Hochgeschwindigkeits-Verbindungsschaltungen
EP1430320B1 (de) Elektronischer baustein und verfahren zu dessen qualifizierungsmessung
DE4233947C2 (de) Ausgangsschaltung für eine integrierte Halbleiterschaltung
DE69636226T2 (de) Taktsignalgenerator

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee