DE69126575T2 - Durch Ereignis befähigte Prüfarchitektur - Google Patents

Durch Ereignis befähigte Prüfarchitektur

Info

Publication number
DE69126575T2
DE69126575T2 DE69126575T DE69126575T DE69126575T2 DE 69126575 T2 DE69126575 T2 DE 69126575T2 DE 69126575 T DE69126575 T DE 69126575T DE 69126575 T DE69126575 T DE 69126575T DE 69126575 T2 DE69126575 T2 DE 69126575T2
Authority
DE
Germany
Prior art keywords
event
test
counter
input
signal
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 - Lifetime
Application number
DE69126575T
Other languages
English (en)
Other versions
DE69126575D1 (de
Inventor
Lee D Whetsel Jr
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE69126575D1 publication Critical patent/DE69126575D1/de
Application granted granted Critical
Publication of DE69126575T2 publication Critical patent/DE69126575T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Testing Of Individual Semiconductor Devices (AREA)

Description

    VERWANDTE ANMELDUNGEN
  • Diese Anmeldung bezieht sich auf das US-Patent US-A-5 001 713 mit dem Titel "Event Qualified Testing Architecture for Integrated Circuits", die der EP-A-0 382 360 entspricht, die US- Patentanmeldung Nr. 374,896, eingereicht am 30. Juni 1989, mit dem Titel "Digital Bus Monitor Integrated Circuits", die US-A-5 056 093, mit dem Titel "System Scan Path Architecture", sowie auf die US-A-5 054 024 mit dem Titel "System Scan Path Protocols".
  • TECHNISCHES GEBIET DER OFFENBARUNG
  • Diese Erfindung bezieht sich allgemein auf elektronische Schaltungen und insbesondere auf eine ereignisqualifizierte Testarchitektur.
  • HINTERGRUND DER OFFENBARUNG
  • Da die Halbleitertechnologien fortlaufend die Geschwindigkeit erhöhen, mit der die ICs operieren, wird die Funktionsprüfung sowohl auf IC- als auch auf Schaltungsplatinenebene bei diesen Geschwindigkeiten schwieriger. Schaltungsplatinen werden herkömmlicherweise bei Betriebsgeschwindigkeit unter Verwendung einer Funktionsprüfausrüstung geprüft. Funktionsprüfvorrichtungen geben Prüfmuster in die Primäreingänge einer Platine ein und messen die Antwort an den Primärausgängen der Platine. Wenn die Primärausgangssignale nicht mit der erwarteten Antwort übereinstimmen, ist der Funktionstest nicht bestanden. Die Kosten für die Anschaffung oder den Entwurf von Hochgeschwindigkeits-Funktionsprüfvorrichtungen, die mit dem Stand der Technik des Platinentwurfs mithalten können, sind stark angestiegen.
  • Nach der letzten Mitteilung der Boundary-Scan-Norm IEEE 1149.1 werden mehr IC-Entwürfe das Boundary-Scan-Verfahren beinhalten, um die Prüf fähigkeit auf Platinenebene zu verbessern. Die Norm 1149.1 beschreibt eine Prüfarchitektur, die in ICs eingebaut werden kann, um das Prüfen der Verdrahtungsverbindungen zwischen den ICs in einer Schaltung zu erleichtern.
  • Die 1149.1-Architektur umfaßt einen Prüfzugriffsanschluß (TAP) e sowie eine Reihe von abtastbaren Boundary-Test-Zellen, jeweils eine Zelle pro Eingangs- und Ausgangssignal. Die Eingangstestzellen werden zu einem Eingangstestzellenregister (TCR1) kombiniert, während die Ausgangstestzellen zu einem Ausgangstestzellenregister (TCR2) kombiniert werden.
  • Die Norm 1149.1 stellt einen Befehl zur Verfügung, mit External Test (Extest) bezeichnet, der die IC in einen nicht funktionalen Off-line-Testmodus versetzt und ermöglicht, daß die Ausgangsanschlußstifte der IC vom TCR2 gesteuert werden, während die Eingangsanschlußstifte über das TCR1 beobachtet werden können. Dieser Befehl ermöglicht, daß die Verdrahtungsverbindungen sowie die Kombinationslogik zwischen den ICs auf einem Platinenentwurf durch eine wiederholte Scan-Zugriffsoperation auf TCR1 und TCR2 einfach geprüft werden können.
  • Außerdem bietet die Norm 1149.1 einen Befehl, mit Sample bezeichnet, der ermöglicht, daß auf den Boundary-Scan-Weg der IC zugegriffen wird, während sich die IC in einem On-line-Funktionsmodus befindet. Als Antwort auf die in den TAP eingegebenen Steuersignale fängt der Sample-Befehl die Daten, die in die IC eingegeben werden oder diese verlassen, im TCRI und im TCR2 ab, und schiebt sie anschließend für eine Untersuchung heraus. Diese Prüfung beeinträchtigt nicht die Operation der Der Sample-Befehl weist jedoch schwerwiegende Einschränkungen auf. Ein Problem betrifft die Synchronisierung der Steuereingangssignale, so daß Daten während eines stabilen Zustands, jedoch nicht in einem übergangszustand abgetastet werden können. Ein weiteres Problem beim Sample-Befehl betrifft die Qualifizierung, wenn die Boundary-Daten abgetastet werden sollen. Um bedeutsame Daten zu erhalten, sollte die Abtastoperation durch das Auftreten eines erwarteten Ereignisses qualifiziert werden. Das synchrone, jedoch zufällige Abtasten von Daten hat die praktischen Anwendungen bei der Systemprüfung eingeschränkt.
  • Ein weiteres Problem beim Sample-Befehl besteht darin, daß dieselben Steuersignale global an jede IC auf einem Platinenentwurf weitergeleitet werden, um ein Verschieben von Daten durch alle ICs während der Abtastoperationen zu ermöglichen. Da jede IC dieselben Steuersignale empfängt, muß die Datenabtastoperation global über alle IC-Boundaries hinweg angewendet werden. Bei typischen Platinenentwürfen arbeiten nicht alle ICs mit demselben Systemtakt, weshalb es unmöglich ist, mit einer Abtastoperation gültige Daten von allen IC-Boundaries zu erhalten.
  • Daher besteht Bedarf an einem Schaltungsentwurf, der erlaubt, daß die Funktionsprüfung der Platinenebene weniger durch eine externe Prüfeinrichtung, sondern mittels einer Prüflogik in den ICs selbst durchgeführt wird. Außerdem sollte der Prüfschaltkreis Daten in einem unveränderlichen Zustand prüfen, sollte auf qualifizierende Ereignisse antworten und mit voneinander getrennten Systemtakten arbeiten.
  • Die EP-A-0 315 475 offenbart eine Ereignisqualifizierungsstruktur, die die Zeitablauf- und Steuersignale zur Verfügung stellt, die benötigt werden, um die Prüflogik einer integrierten Schaltung während der normalen funktionalen Operation zu aktivieren. Eine Logikschaltung besitzt einen Eingang und einen Ausgang für Signaldaten. Ausgewählte Eingänge und Ausgänge der Logikschaltung besitzen damit gekoppelte
  • Testzellen, wobei jede Testzelle wenigstens eine Speichereinrichtung zum Speichern einer Testbedingung enthält. Jede Testzelle besitzt ferner einen Komparator zum Vergleichen der Signaldaten mit der gespeicherten Bedingung. Jeder Komparator erzeugt Steuersignale, die ein wahres Vergleichsergebnis zwischen den Signaldaten und der gespeicherten Bedingung anzeigen. Eine Kombinationsschaltung ist vorgesehen, um die Steuersignale zu kombinieren und ein zweites Steuersignal zu erzeugen, das verwendet wird, um anzuzeigen, daß ein im voraus gewähltes Muster von Eingangssignalen und Ausgangssignalen aufgetreten ist.
  • Die EP-A-0 382 360, ein Dokument, das unter den Inhalt des Artikels 54(3) EPÜ fällt, offenbart eine Boundary-Test-Architektur, die in einer integrierten Schaltung verwendet werden kann, um einen Boundary-Test durchzuführen, während sich die integrierte Schaltung im Funktionsmodus befindet. Ein Eingangsschaltkreis ist vorgesehen, um ankommende Daten zu empfangen, während ein Ausgangsschaltkreis vorgesehen ist, um Daten aus der integrierten Schaltung auszugeben. Der Logikschaltkreis ist zwischen den Eingangs- und Ausgangsschaltkreisen angeschlossen, um mit den ankommenden Daten eine gewünschte Funktion auszuführen, wie z. B. ein Speichern oder logische Operationen. Der Testschaltkreis ist mit den Eingangs- und Ausgangsschaltkreisen verbunden, um als Antwort auf die Detektion der vorgegebenen Bedingung zu analysieren und Daten zu speichern. Die vorgegebene Bedingung kann durch einen Vergleich der Daten vom Logikschaltkreis mit einem in einem Register oder Speicher gespeicherten, erwarteten Datenwort detektiert werden. Einige Bits des erwarteten Datenwortes können unter Verwendung eines Maskierungsdatenworts maskiert werden, so daß die Maskenbits bei der Vergleichsoperation nicht verwendet werden.
  • In einem zweiten Beispiel kann eine zweite vorgegebene Bedingung detektiert werden, wobei zu diesem Zeitpunkt die Speicherung und die Analyse beendet werden. Die Speicherung und die Analyse können nach Detektion einer dritten vorgegebenen Bedingung fortgesetzt werden und nach der Detektion einer vierten vorgegebenen Bedingung ausgesetzt werden.
  • In einem dritten Beispiel enthält die Testarchitektur einen Schaltkreis zum Ausgeben von Testdaten über den Ausgangsschaltkreis als Antwort auf eine vorgegebene Bedingung. Die Ausgabe der Testdaten kann bei Detektion einer zweiten vorgegebenen Bedingung ausgesetzt werden und bei der Detektion einer dritten vorgegebenen Bedingung wieder aufgenommen werden. Nach einer vierten vorgegebenen Bedingung kann die Ausgabe gestoppt werden.
  • In einem vierten Beispiel wird in der Testschaltung ein Pufferspeicher verwendet, um mehrere der in die integrierte Schaltung eingegebenen Datenwörter und Testdatenwörter für die Ausgabe aus der integrierten Schaltung zu speichern.
  • Die vorliegende Erfindung schafft:
  • eine Testarchitektur, mit:
  • einer Testschaltungsanordnung zum Ausführen von Testfunkt ionen;
  • einer Vergleichsschaltungsanordnung mit einem internen Speicher zum Vergleichen von in die Vergleichsschaltungsanordnung eingegebenen Daten mit im internen Speicher gespeicherten Daten und zum Erzeugen eines Übereinstimmungssignals als Antwort darauf;
  • einer Steuerschaltungsanordnung, die mit der Vergleichsschaltungsanordnung gekoppelt ist und die Testschaltungsanordnung als Antwort auf das Übereinstimmungssignal steuert; gekennzeichnet durch:
  • einen ersten Zähler, der der Steuerschaltungsanordnung zugeordnet ist und eine Zahl speichert, die die Anzahl angibt, in der ein Test durch die Testschaltungsanordnung wiederholt worden ist;
  • einen zweiten Zähler, der der Steuerschaltungsanordnung zugeordnet ist und eine Zahl speichert, die die Anzahl angibt, in der ein vorgegebenes Ereignis aufgetreten ist; und
  • einen Speicher, der dem zweiten Zähler zugeordnet ist und mehrere Zählwerte speichert.
  • Die vorliegende Erfindung bietet gegenüber dem Stand der Technik bedeutende technische Vorteile. Die vorliegende Erfindung überwindet die Probleme, die beim 1149.1-Sample-Befehl beschrieben sind, und schafft Verfahren zur Durchführung von Testfunktionen, die über das Abtasten von einzelnen Datenmustern hinausgehen. Wenn die vorliegende Erfindung freigegeben wird, um eine Testoperation zu steuern, arbeitet sie unabhängig von den TAP der Schaltungen, wodurch ermöglicht wird, daß unterschiedliche Schaltungen zu unterschiedlichen Zeiten unterschiedliche Tests durchführen. Da die Steuerschaltungsanordnung für jede Schaltung lokal vorgesehen ist, statt global für alle Schaltungen vorgesehen zu sein, wird das Testen auf Schaltungsplatinenebene dezentralisiert.
  • Ferner erlaubt die Fähigkeit der vorliegenden Erfindung, die Boundary-Test-Logik freizugeben, während die Host-Schaltung normal arbeitet, ein Testen der Datenübertragungen zwischen den Schaltungen bei Betriebsgeschwindigkeit. Die vorliegende Erfindung bietet die Fähigkeit, auf Probleme bei Betriebsgeschwindigkeit zu prüfen, wenn das physikalische Prüfen des Platinenentwurfs nicht möglich ist oder wenn das Prüfen die Operation der Platine beeinträchtigt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Für ein vollständigeres Verständnis der vorliegenden Erfindung und deren Vorteile wird nun auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen Bezug genommen, in welchen:
  • Fig. 1 eine integrierte Schaltung zeigt, die die IEEE-1149.1- Boundary-Scan-Architektur implementiert;
  • Fig. 2 ein Blockschaltbild der Testarchitektur der vorliegenden Erfindung zeigt;
  • Fig. 3 ein Blockschaltbild einer Ereignisqualifizierungszelle zeigt;
  • Fig. 4 ein Blockschaltbild einer alternativen Ausführungsform einer Ereignisqualifizierungszelle zeigt;
  • Fig. 5 ein Blockschaltbild eines Ereignisqualifizierungsmoduls zeigt;
  • Fig. 6 ein Blockschaltbild der Ereignisqualifizierungsmodul- Steuervorrichtung zeigt;
  • Fig. 7 ein Flußdiagramm zeigt, das darstellt, wie die Zustandsmaschine der Ereignisqualifizierungsmodul- Steuervorrichtung Testprotokolle auswählt;
  • Fig. 8-17 Zustandsdiagramme der Testprotokolle zeigen;
  • Fig. 18 ein Blockschaltbild einer Schaltungsplatine zeigt, die mehrere Teilschaltungen enthält, die die Testarchitektur der vorliegenden Erfindung aufweisen;
  • Fig. 19 ein Blockschaltbild eines Digitalsignalmonitors zeigt, der die vorliegende Erfindung verwendet; und
  • Fig. 20 ein Blockschaltbild eines Analogsignalmonitors zeigt, der die vorliegende Erfindung verwendet.
  • GENAUE BESCHREIBUNG DER OFFENBARUNG
  • Die bevorzugte Ausführungsform der vorliegenden Erfindung wird am besten verstanden durch Bezugnahme auf die Fig. 1-20 der Zeichnungen, in welchen ähnliche Bezugszeichen für ähnliche und einander entsprechende Teile der verschiedenen Zeichnungen verwendet werden.
  • Fig. 1 zeigt eine integrierte Schaltung (IC), die die IEEE-1149. 1-Boundary-Scan-Architektur implementiert. Die IC 10 umfaßt einen Testzugriffsanschluß (TAP) sowie eine Reihe von abtastbaren Boundary-Test-Zellen, jeweils eine Zelle pro Eingangs- und Ausgangssignal. Die Eingangstestzellen sind zu einem Eingangstestzellenregister (TCRI) 14 kombiniert, während die Ausgangstestzellen zu einem Ausgangstestzellenregister (TCR2) 16 kombiniert sind. Die Funktionslogik 18 der IC 10 ist zwischen dem TCR1 und dem TCR2 angeschlossen.
  • Der TAP 12 bietet eine serielle Schnittstelle zur Testlogik der IC 10. Der TAP 12 empfängt zwei Steuereingangssignale, einen Testtakt (TCK) sowie ein Testmodusauswahlsignal (TMS), die dessen Operation regeln. Ferner besitzt der TAP 12 einen Testdateneingang (TDI) sowie einen Testdatenausgang (TDO), um zu ermöglichen, daß serielle Daten in die Testarchitektur eingegeben und von der Testarchitektur ausgegeben werden können. Innerhalb des TAP 12 befindet sich ein Befehlsregister, auf das über die TDI- und TDO-Anschlußstifte seriell zugegriffen werden kann, um Testbefehle zu laden.
  • Der Extest-Befehl versetzt die IC 10 in einen nicht funktionalen Off-line-Testmodus und ermöglicht, daß die Ausgangsanschlußstifte der IC vom TCR2 gesteuert werden, wobei die Eingangsanschlußstifte über das TCRI 14 beobachtet werden können. Während dieses Befehls empfängt der TAP 12 externe Steuersignale von TMS und TCK, um die Eingangs- und Ausgangsstifte der IC 10 über TCR1 und TCR2 zu steuern. Während des Extest-Befehls können die Ausgangsanschlußstifte der IC veranlaßt werden, Testdaten auszugeben, während die Eingangsanschlußstifte Testdaten empfangen. Dieser Befehl erlaubt, daß die Verdrahtungsverbindungen zwischen den ICs auf der Platine sowie die Funktionslogik 18 durch eine wiederholte Scan-Zugriffsoperation auf TCRI 14 und TCR2 16 leicht getestet werden können.
  • Außerdem ermöglicht der Sample-Befehl, daß auf den Boundary- Scan-Weg der IC 10 zugegriffen wird, während sich die IC 10 in einem On-line-Funktionsmodus befindet. Als Antwort auf ein Steuereingangssignal am TAP 12 fängt der Sample-Befehl im TCR1 14 und im TCR2 16 die Daten ab, die die IC betreten oder verlassen, und schiebt die abgefangenen Daten zur Untersuchung heraus. Der Sample-Test beeinträchtigt nicht die Operation der integrierten Schaltung 10.
  • Im Betrieb bringt jedoch der Sample-Befehl einige schwerwiegende Probleme mit sich, die dessen Verwendung einschränken. Ein Problem betrifft die Synchronisierung der TCK- und TMS- Steuereingangssignale mit den Systemdaten, die die Boundary der Ziel-IC durchqueren, so daß die Daten während eines stabilen Zustands und nicht während eines Übergangszustands abgetastet werden. Ein weiteres Problem des Sample-Befehls betrifft die Qualifizierung der Zeitpunkte, zu denen die Boundary-Daten abgetastet werden. Um bedeutende Daten zu erhalten, sollte die Abtastoperation durch das Auftreten eines erwarteten Ereignisses qualifiziert werden. Das synchrone, jedoch willkürliche Abtasten von Daten hat die praktischen Anwendungen bei der Systemprüfung eingeschränkt.
  • Ein weiteres Problem des Sample-Befehis ist, daß die TCK- und TMS-Steuersignale global jeder IC auf einem Platinenentwurf zugeführt werden, um während der Scan-Operationen die Daten durch alle ICs zu schieben. Da jede IC dieselben Steuersignale empfängt, muß die Daten-Sample-Operation global über alle IC- Boundaries hinweg angewendet werden. Bei einem typischen Platinenentwurf werden mehrere Systemtakte für die verschiedenen ICS verwendet; daher ist es unmöglich, mit einer Sample-Operation gültige Daten von allen IC-Boundaries zu erhalten. Um den Sample-Befehl zu verwenden, wird daher der Befehl mit unterschiedlichen ausgewählten Steuersignalen wiederholt. Somit können ein TCK- und TMS-Paar ausgewählt werden, um die Sample-Operation auf eine IC in der Schaltung anzuwenden, gefolgt vom Auswählen eines weiteren TCK- und TMS-Paares, um die Sample- Operation für eine weitere IC in der Schaltung zu wiederholen.
  • Die vorliegende Erfindung führt eine Systemprüfung einer Schaltung, die mehrere ICs enthält, bei Betriebsgeschwindigkeit durch. Obwohl diese Offenbarung die Erfindung in Verbindung mit mehreren auf einer Platine montierten ICs beschreibt, kann die Schaltung mit mehreren Teilschaltungen in einem IC-Entwurf, mit mehreren ICS, die auf einem gemeinsamen Substrat (wafer scale integration) montiert sind, oder mit mehreren in einem System installierten Schaltungsplatinen verwendet werden.
  • Fig. 2 zeigt ein Blockschaltbild der vorliegenden Erfindung. Eine IC 20, die die vorliegende Erfindung enthält, umfaßt einen TAP 12, ein TCRI 14, ein TCR2 16 sowie eine Funktionslogik 18, wie in Verbindung mit Fig. 1 beschrieben wird. Der TAP 12 ist mit einem Ereignisqualifizierungsmodul (EQM) 22 verbunden. Das EQM 22 empfängt ein Ereignisqualifizierungseingangssignal (EQI) und gibt ein Ereignisqualifizierungsausgangssignal (EQO) aus. Das EQM 22 gibt ferner Steuersignale an die Ereignisqualifizierungszellen 24a-b (allgemein mit dem Bezugszeichen 24 bezeichnet), an das TCR1 14, das TCR2 16 und an einen Testspeicher (TMEM) 28 aus. Das EQM empfängt Ausgangssignale von den EQCs 24a-b. Die EQCs 24a-b empfangen Eingaben vom Eingangssignal (auch mit TCR1 verbunden) bzw. vom Ausgang des TCR2 16. Der Ausgang des TCRI ist mit dem Eingang des TMEM 28 verbunden, während der Ausgang des TMEM 28 mit dem Eingang des TCR2 16 verbunden ist. Der TAP, die TCRS, das EQM und der TMEM werden ferner in Verbindung mit dem US-Patent US-A-5 001 713 mit dem Titel "Etevent Qualified Testing Architecture for Integrated Circuits", der US-Patentanmeldung Nr. 374,896, eingereicht am 30. Juni 1989, mit dem Titel "Digital Bus Monitor Integrated Circuits", dem US-Patent US-A-5 056 093 mit dem Titel "System Scan Path Architecture" und dem US-Patent US-A-5 054 024 mit dem Titel "System Scan Path Protocols" nach Whetsel beschrieben.
  • Wenn versucht wird, eine Boundary-Test-Logik zu verwenden, um eine Funktionsprüfung bei Betriebsgeschwindigkeit durchzuführen, ist ein Verfahren zur Qualifizierung des Zeitpunkts erforderlich, zu dem die Steuersignale auszugeben sind, um die Testlogik freizugeben. Die Ereignisqualifizierungsarchitektur der vorliegenden Erfindung schafft ein solches Verfahren durch Anordnen der Qualifizierungs- und Steuerlogik, die für die Freigabe der Testlogik erforderlich ist, innerhalb des IC- Entwurfs selbst, wodurch die Notwendigkeit für eine externe Teststeuerung beseitigt wird. Bei einer Qualifizierung übernimmt die Architektur die Steuerung der Boundary-Testlogik (oder einer anderen Testlogik) der Host-JC und veranlaßt diese, während des Tests synchron mit der IC zu operieren.
  • Eine Ereignisqualifizierungszelle (EQC) ist mit jedem IC-Eingangs- und IC-Ausgangssignal verbunden, das entweder selbst oder in Kombination mit anderen Signalen, als Testqualifizierer dienen kann. Außerdem ist in der IC 20 eine lokale Steuervorrichtung enthalten, die als Ereignisqualifizierungsmodul (EQM) 22 bezeichnet wird, um die lokale Qualifizierung und die Steuerung für die Testlogik der IC zur Verfügung zu stellen.
  • Die EQCs 24a-b und das EQM 22 können beide vom TAP 12 ausgewählt werden, um einen seriellen Zugriff auf die Architektur zu ermöglichen. Die Architektur verhindert keine der Testoperationen der IEEE-1149.l. Die Architektur schafft eine eingebettete Fähigkeit, die erlaubt, daß das TCRI 14 und das TCR2 16 zu einem qualifizierten Zeitpunkt synchron mit den E/A-Daten der IC freigegeben werden, um eine On-line-Prüfung an der Boundary der IC zu bewirken.
  • Die TCRs 14 und 16 können so eingestellt werden, daß sie entweder als Beobachtbarkeits- oder als Steuerbarkeits-Logik operieren. Wenn sich die TCRS im Beobachtbarkeitsmodus befinden, können sie ferner so eingestellt werden, daß sie entweder eine Momentabtastung eines einzelnen Datenmusters aufnehmen, das die IC betritt und/oder verläßt, oder daß sie ermöglichen, mehrere Datenmuster unter Verwendung der Signatur-Analysetechniken in eine Signatur zu komprimieren. Der Datenabtast-Beobachtungsmodus erlaubt das Testen eines einzelnen Eingangsund/oder Ausgangs-datenmusters, während der Signaturanalyse- Beobachtungsmodus das Testen auf eine korrekte Sequenz von mehreren Eingangs- und/oder Ausgangsdatenmustern erlaubt. Wenn die Signatur mit einer erwarteten Signatur übereinstimmt, ist die Datenmustersequenz korrekt, andernfalls weisen eines oder mehrere der Datenmuster in der Sequenz einen Fehler auf.
  • Wenn sich die TCRS 14 und 16 in einem Steuerbarkeitsmodus befinden, können sie so eingestellt werden, daß sie entweder ein einzelnes Testdatenmuster oder eine erzeugte Sequenz von Pseudozufalls- oder Zählmustern anstelle der normalen Systemdaten einsetzen, die die IC betreten und/oder verlassen. In einigen Testsituationen kann ein TCR so eingestellt werden, daß es eine Steuerfunktion ausführt, während das andere TCR eine Beobachtungs funktion ausführt.
  • Zusätzlich zu den Testlogikblöcken des TCR1 14 und des TCR2 16 enthält die IC 20 einen Testspeicher (TMEM) 28, der so eingestellt werden kann, daß er Eingangsdaten, die die IC betreten, speichert und/oder gespeicherte Testdaten anstelle von Systemdaten einsetzt, die normalerweise von der IC ausgeben werden. Der Vorteil des Speichers gegenüber den TCRS ist die Fähigkeit, mehrere Testdatenmuster zu speichern und/oder auszugeben. Auf den Speicher kann ähnlich den TCRS 14 und 16 über den TAP 12 seriell zugegriffen werden, um Testdaten zu laden oder zu entnehmen.
  • Während der On-line-Systemprüfung empfangen die TCRs 14 und 16 sowie der TMEM 28 Steuersignale vom EQM 22 und nicht vom TAP 12, um jeweils die Beobachtbarkeits- und/oder Steuerbarkeits- Testfunktionen einzustellen. Unter Verwendung der TCRs 14 und 16 und des TMEM 28 ist es möglich, die Testarchitektur so einzustellen, daß irgendeiner der obenbeschriebenen Tests entweder individuell oder in irgendeiner Kombination durchgeführt wird. Eine Liste der Testoperationen und deren Kombinationen ist in Tabelle 1 gezeigt. TABELLE 1 - TESTOPERATIONEN
  • Ereignisaualifizierungszellen (EOCs)
  • Die grundlegende Aufgabe der EQCs 24a-b ist das Vergleichen eines empfangenen Signals mit einem gespeicherten Signal und das Ausgeben eines Signals, das anzeigt, wenn die beiden Signale übereinstimmen. Obwohl die Anwendung der EQCs 24a-b in dieser Offenbarung deren Verwendung an den Eingangs- und Ausgangs-Boundaries eines IC-Entwurfs beschreibt, ist klar, daß sie an der Boundary eines beliebigen, wohldefinierten Logikblocks verwendet werden können, der Eingänge und/oder Ausgänge für Signaldaten besitzt.
  • Fig. 3 zeigt ein Blockschaltbild einer EQC 24. Ein E/A-Signal, wie z. B. das vom EINGANG-Signal der EQC 24a zugeführte Signal oder der Ausgang vom TCR2 16 zur EQC 24b, ist mit einem Eingang eines Exklusiv-NICHT-ODER-Gatters 30 verbunden. Der andere Eingang des Exklusiv-NICHT-ODER-Gatters 30 wird vom Ausgang einer Scan-Speicherzelle 32 empfangen. Der Eingang der Scan-Speicherzelle 32 ist mit einem Multiplexer 33 verbunden, wobei das Steuersignal vom EQM 22 eingegeben wird. Der Multiplexer 33 empfängt das TDI-Signal und den Ausgang des Scan-Speichers 32. Der Ausgang des Exklusiv-NICHT-ODER-Gatters 30 ist mit dem Eingang eines ODER-Gatters 34 verbunden; der andere Eingang zum ODER-Gatter 34 wird vom Ausgang einer zweiten Scan- Speicherzelle 36 gebildet. Der Eingang der Scan- Speicherzelle 36 ist mit einem Multiplexer 37 verbunden, wobei das Steuersignal vom EQM 22 eingegeben wird. Der Multiplexer 37 empfängt den Ausgang des Scan-Speichers 32 und den Ausgang des Scan-Speichers 36. Der Ausgang der Scan-Speicherzelle 36 ist mit dem TDO-Ausgangssignal verbunden. Der Ausgang des ODER- Gatters 34 bildet das CMPOUT-Signal, das mit dem EQM 22 verbunden ist.
  • Die EQC 24a in Fig. 3 enthält eine Vergleichsschaltung (Exklusiv-NICHT-ODER-Gatter 30) und abtastbare Speicher 32 und 36 zum Speichern mehrerer Vergleichsdaten-(CMPDAT)-Bits und Vergleichsmasken-(CMPMSK)-Bits. Die EQCs 24 besitzen Eingänge zum Empfangen des Boundary-E/A-Signals, das verglichen werden kann, und zum Empfangen des Steuersignals vom EQM 22. Die EQCs 24 besitzen einen Vergleichsausgang (CMPOUT) zum Senden des Ergebnisses der Vergleichsoperation zum EQM 22. Wenn zwischen dem E/A-Signal und dem CMPDAT-Bit, das vom Speicher 32 ausgegeben wird, eine übereinstimmung auftritt, sendet der CMPOUT- Ausgang ein übereinstimmungssignal an das EQM 22, um das Auftreten der übereinstimmung anzuzeigen. Die Vergleichsschaltung der EQCs kann durch das vom Speicher 36 ausgegebene CMPMSK-Bit gesperrt werden, so daß die EQC ein Übereinstimmungssignal auf CMPOUT ausgibt, unabhängig davon, ob eine übereinstimmung zwischen dem E/A-Signal und dem CMPDAT-Bit aufgetreten ist. Die Speicher geben die CMPDAT- und CMPMSK-Bits gleichzeitig an die Vergleichslogik aus, was drei mögliche Operationen erlaubt: Vergleichen des E/A-Signals mit einer logischen Eins, Vergleichen des E/A-Signals mit einer logischen Null oder einer Maskierungsvergleichsoperation und Erzwingen eines wahren Vergleichsausgangssignals. Die Vergleichsmaskierung erlaubt das Zuweisen von "ohne Bedeutung"- Bedingungen zu einem oder mehreren E/A-Signalen, die bei der Qualifizierung einer bestimmten Testoperation nicht benötigt werden.
  • Die Speicher 32 und 36 sind typischerweise einfache Schieberegister mit gleicher Länge. Wenn durch den TAP 12 (über das EQM) zugegriffen wird, werden die Speicher über Mux 37 miteinander verbunden, um ein Schieben der Daten in die bzw. aus den Speichern über die TDI- und TDO-Stifte zu ermöglichen. Während des Abtastzugriffs sind alle EQCs in der IC miteinander verbunden, um ein serielles Schieberegister zu bilden. Das EQC- Schieberegister ist während der Abtastoperation mit den TDI- Eingangs- und TDO-Ausgangs-Stiften der ICs verbunden, um zu ermöglichen, daß Daten in das EQC-Schieberegister eingegeben bzw. aus diesem ausgegeben werden. Wenn auf die Speicher nicht vom TAP 12 für Schiebeoperationen zugegriffen wird, können sie vom EQM 22 gesteuert werden, um CMPDAT- und CNPMSK-Datenbits während der Ausführung eines der EQM-Protokolle an die Vergleichsschaltung auszugeben.
  • Im Betrieb lädt der TAP 12 die Speicher mit den in einem EQM- Protokoll zu verwendenden CMPDAT- und CMPMSK-Datenbits. Nachdem die Speicher geladen worden sind, greift der TAP 12 auf das EQM 22 zu, um einen Protokollbefehl zu laden und das EQM 22 freizugeben, um die Speicher zu steuern. Der serielle Ausgang jedes Speichers 32 und 36, der der Schiebeoperation folgt, stellt die ersten CMPDAT- und CMPMSK-Datenbits dar, die in der ersten Vergleichsoperation des EQM verwendet worden sind. Nachdem die erste Vergleichsoperation abgeschlossen ist, gibt das EQM ein Steuersignal an die Speicher 32 und 36 aus, um ein zweites Paar von CMPDAT- und CMPMSK-Datenbits herauszuschieben, die in einer zweiten Vergleichsoperation verwendet werden sollen. Wenn die Speicher 32 und 36 das nächste Paar von CMPDAT- und CMPMSK-Bits ausgeben, wird das vorangegangene Bitpaar in die entsprechenden Speicher über Mux 33 und 37 zurückgeführt und in den Speichern gespeichert. Durch Zurückführen der Bitpaare zu den Speichern kann eine Vergleichsausgabesequenz unendlich oft wiederholt werden.
  • Während das EQM 22 Protokolle aufweist, die mit einer einzelnen CMPDAT- und CMPMSK-Bitspeicherung operieren, erfordern andere Protokolle das Speichern mehrerer CMPDAT- und CMPMSK-Datenbits. Die CMPDAT- und CMPMSK-Speicher sollten fähig sein, jeweils wenigstens zwei Bits zu speichern, um das Ausgeben von zwei Paaren von CMPDAT- und CMPMSK-Datenbits zu ermöglichen. Zwei Paare von CMPDAT- und CMPMSK-Bits ermöglichen dem EQM, eine Testoperation als Antwort auf eine Bedingung, die mit dem ersten Paar detektiert worden ist, zu starten und anschließend die Testoperation als Antwort auf eine Bedingung, die mit dem zweiten Paar detektiert worden ist, anzuhalten. Einige der Testprotokolle, die vom EQM 22 ausgeführt werden, können das zusätzliche Speichern von CMPDAT- und CMPMSK-Datenbits erfordem, um das mehrfache Starten/Stoppen und/oder andere Vergleichsoperationen zu ermöglichen, die für die Prüfung erforderlich sind.
  • Um ein effizienteres Speichern von CMPDAT- und CMPMSK-Daten zu ermöglichen, kann ein einzelner Fernspeicher anstelle der lokalen Speicher innerhalb jeder EQC verwendet werden. Die EQC der Fig. 5 zeigt den Zellentwurf ohne die lokalen Speicher 32 und 36. Die Funktion der EQC 24 ist dieselbe, mit der einzigen Ausnahme, daß die CMPDAT- und CMPMSK-Bitsignale in einem Fernspeicher statt in der Zelle selbst gespeichert sind.
  • Ereignisqualifizierungsmodul (EQM)
  • Fig. 5 zeigt ein Blockschaltbild eines EQM, das eine endliche Zustandsmaschine nsteuervorrichtung 38 und einen Scan-Weg enthält, der ein Anweisungsregister 40, einen Schleifenzähler 42 und einen Ereigniszähler 44 umfaßt. Die Steuervorrichtung besitzt Eingänge zum Empfangen der CMPOUT-Signale (CMPOUT 1-n) von den EQCs 24, eines Systemtakts (SYSCLK), eines externen Ereignisqualifizierungseingangssignals (EQI), einer Anweisung vom Anweisungsregister 40, einem Schleifenzahlminimumsignal (LPCMIN) vom Schleifenzähler 42 und eines Ereigniszahlminimumsignals (EVCMIN) vom Ereigniszähler 44, der mit einem Ereigniszählerspeicher 46 verbunden ist. Die Steuervorrichtung 39 besitzt Ausgänge zum Steuern der Testlogik und der EQCs und zum Ausgeben eines externen Ereignisqualifizierungsausgangssignals (EQO). Obwohl in Fig. 1 nicht gezeigt, empfängt die Steuervorrichtung ferner einen Systemtakt entweder von der Funktionslogik der IC oder von einem externen Systemtakteingang. Der Systemtakt treibt die Steuervorrichtung des EQM synchron zu den E/A-Boundary-Daten. Die Synchronisierung der Steuervorrichtung mit dem Systemtakt ermöglicht dieser sowie der von ihr gesteuerten Testlogik, synchron zu der getesteten Systemlogik zu operieren. Der Scan-Weg des EQM empfängt ein Abtaststeuereingangssignal (TAP CONTROL) vom TAP, um zu ermöglichen, daß Daten über die TDI- und TDO-Signale in den Abtastweg hinein und aus diesem heraus geschoben werden können. Das Anweisungsregister 40 des Abtastweges umfaßt eine Serie von Abtastzellen (Flip-Flops oder Zwischenspeicher), die über eine Abtastoperation geladen werden können, um eine Anweisung an die EQM-Steuervorrichtung 38 auszugeben. Der Schleifenzählerabschnitt umfaßt eine Serie von Abtastzellen, die über eine Abtastoperation mit einem Zählwert geladen werden können. Wenn die Daten nicht durch den Schleifenzähler 42 geschoben werden, kann dieser ein Steuersignal von der Steuervorrichtung 38 empfangen, um als Abwärtszähler zu operieren. Der Schleifenzähler 42 gibt ein Schleifenzahlminimumsignal (LPCMIN) an die Steuervorrichtung aus, um anzuzeigen, wenn er bis zu einem Minimal zählwert heruntergezählt hat.
  • Der Ereigniszählerabschnitt 44 umfaßt eine Serie von Abtastzellen, die über eine Abtastoperation mit einem Zählwert geladen werden können. Der in den Ereigniszähler 44 geladene Zählwert kann in den Ereigniszahlspeicher 46 geschrieben werden, der mit den Parallelausgängen des Zählers verbunden ist, um ein Speichern mehrerer Zählwerte zu ermöglichen. Wenn keine Daten durch den Ereigniszähler 44 geschoben werden, kann dieser von der Steuervorrichtung 38 ein Steuersignal empfangen, um als Abwärtszähler zu operieren. Der Ereigniszähler 44 gibt ein Ereigniszählerminimumsignal (EVCMIN) an die Steuervorrichtung aus, um anzuzeigen, wenn er bis zu einem Minimumzahlwert heruntergezählt hat. Da der Ereigniszähler 44 einen Speicher besitzt, um mehrere Zählwerte zu speichern, kann er ein Steuersignal von der Steuervorrichtung empfangen, um einen neuen Zählwert zu laden, wenn der aktuelle Zählwert einen Minimalwert erreicht. Diese Fähigkeit zum erneuten Laden neuer Zählwerte aus dem Speicher erlaubt der EQM-Steuervorrichtung, hochwertige Testprotokolle auszuführen, wie später beschrieben wird.
  • EQM-Steuervorrichtunp
  • Fig. 6 zeigt ein Blockschaltbild der EQM-Steuervorrichtung 38. Die EQM-Steuervorrichtung 38 umfaßt eine endliche Zustandsmaschine 48, ein UND-Gatter 50, das verwendet wird, um die CMPOUT-Signale zu einem einzigen Vergleichsausdruckssignal (CTERM) zu kombinieren, einen ersten Multiplexer (Mux1) 52 zum Auswählen des EREIGNIS-Signais, das in die Zustandsmaschine 48 eingegeben werden soll, sowie einen zweiten Multiplexer (Mux2) 54 zum Auswählen des Signals, das auf dem EQO-Ausgang ausgegeben werden soll. Die Zustandsmaschine 48 empfängt das EREIGNIS- Signal vom Mux1 52, das ANWEISUNG-Eingangssignal vom Anweisungsregister 40, das LPCMIN-Eingangssignal vom Schleifenzähler 42, das EVCMIN-Eingangssignal vom Ereigniszähler 44 sowie SYSCLK von der Funktionslogik 18 der IC oder von einem Eingangsanschlußstift. Die Zustandsmaschine 48 gibt Steuersignale an die Boundary-Test-Logik und an die EQCs 24a-b aus und gibt ferner einen Teststatus aus, der ausgewählt und über den Mux2 54 auf der EQO-Ausgangsleitung ausgegeben werden kann.
  • Der ANWEISUNG-Eingang weist die Zustandsmaschine 48 an, ein ausgewähltes Testprotokoll durchzuführen, und steuert die Auswahleingänge von Muxl 52 und Mux2 54. Während der Ausführung eines Protokolls überwacht die Zustandsmaschine 48 den EREIGNIS-Ausgang vom Mux1 52. Wenn Mux1 52 so eingestellt ist, daß er CTERM als EREIGNIS-Signal ausgibt, überwacht die Zustandsmaschine 48 das CTERM-Signal, um zu ermitteln, wann ein Steuersignal auszugeben ist, um eine Testoperation zu starten und zu stoppen. Das CTERM-Signal wird vom Muxl 52 ausgewählt, wenn eine Qualifizierung einer Testoperation nur auf den lokalen Boundary-Bedingungen basiert, die an der Host-IC auftreten (siehe "Platinenebenen-Lokalereignisqualifizierung" im untenstehenden Abschnitt).
  • Alternativ überwacht die Zustandsmaschine 48 dann, wenn der Muxl 52 so eingestellt ist, daß er den EQI-Eingang als EREIGNIS-Signal ausgibt, das EQI-Signal, um zu ermitteln, wann ein Steuersignal auszugeben ist, um eine Testoperation zu starten und zu stoppen. Das EQI-Signal wird ausgewählt, wenn die Qualifizierung einer Testoperation nicht nur auf den lokalen Boundary-Bedingungen der Host-IC beruht, sondern auf einem Bereich von IC-Boundary-Bedingungen und/oder anderen externen Bedingungen beruht, die im Platinenentwurf erzeugt oder in diesen eingegeben werden (siehe "Platinenebenen-Globalereignisqualifizierung" im untenstehenden Abschnitt).
  • Der Anweisungseingang wählt ferner aus, welches der Signale CTERM-Signal, Ende-des-Tests-(EOT)-Statussignal von der Zustandsmaschine 48 oder EQO-Sperr-(EQODIS)-Signal über den Mux2 54 am EQO-Anschlußstift ausgegeben wird. Das CTERM-Signal wird ausgewählt und am EQO-Anschlußstift ausgegeben, wenn das EQM in einem globalen Qualifizierungsmodus operiert (siehe den untenstehenden Abschnitt "Platinenebenen-Globalereignisqualifizierung"). Das EOT-Statussignal wird ausgewählt und am EQO- Anschlußstift ausgegeben, wenn das EQM in einem lokalen Quahfizierungsmodus operiert (siehe den untenstehenden Abschnitt "Platinenebenen-Lokalereignisqualifizierung"). Das EOT-Signal wird am Ende jedes Protokolls aktiv, was anzeigt, daß die vom Protokoll gesteuerte Testoperation abgeschlossen ist. Wenn das EQODIS-Signal ausgewählt und am EQO-Anschlußstift ausgegeben wird, wird der EQO-Anschlußstift der IC gesperrt und hat keine Wirkung auf irgendeine externe Abstimmungsschaltung oder eine andere Schaltung, in die er eingegeben werden kann (siehe Fig. 18).
  • EQM-Steuervorrichtungs-Testprotokolle
  • Die Zustandsmaschine 48 der EQM-Steuervorrichtung 38 enthält Anweisungen zum Auswählen und Ausführen eines der Testprotokolle, die im Zustandsdiagramm der Fig. 7 unten gezeigt sind. Eine Keine-Operation-Anweisung (NOP) wird in die der EQM- Steuervorrichtung 38 eingegeben, wenn kein Testprotokoll ausgeführt werden soll. Fig. 7 zeigt, wie die Zustandsmaschine 48 den ANWEISUNG-Eingang decodiert, um eines der Testprotokolle oder die NOP-Anweisung auszuwählen. Wenn eine Protokollanweisung eingegeben wird, verläßt die Zustandsmaschine 48 den Leerlaufzustand 56 und tritt in eines der Protokolle 58 bis 76 ein, das vom Anweisungsinterpreter 78 interpretiert wird.
  • Während der Ausführung des Protokolls gibt das EQM ein Steuersignal aus, das verwendet werden kann, um die Testlogik der IC in Fig. 2 freizugeben, um irgendeine der in der Tabelle 1 aufgelisteten Testoperationen durchzuführen. Wenn kein Protokoll ausgeführt wird, kehrt die Zustandsmaschine 48 über die NOP-Anweisung 79 in den Leerlaufzustand 56 zurück.
  • Nachdem ein Protokoll ausgeführt worden ist, wird der "Endedes-Tests"-Zustand 80 erreicht, bevor in den Leerlaufzustand 56 zurückgekehrt wird. Die Steuervorrichtung 38 verharrt im "Endedes-Tests"-Zustand, bis die nächste Anweisung eingegeben wird, wie mit dem Entscheidungsblock 82 gezeigt ist. Im "Ende-des- Tests"-Zustand wird das in Fig. 6 gezeigte EOT-Status-signal gesetzt und kann über den Mux2 am EQO-Anschlußstift ausgegeben werden. Der Grund für die Auswahl des EOT-Signals zum Ausgeben am EQO-Anschlußstift ist im Abschnitt "Platinen-ebenen-Lokalereignisqualifizierung" dieser Beschreibung beschrieben.
  • Alle Protokolle 58 bis 76 verwenden die Ereignis- und Schleifenzähler 44 und 42, die in Verbindung mit der Zustandsmaschine der Fig. 5 gezeigt sind. Der Ereigniszähler 44 ist ein Abwärtszähler, der verwendet wird, um entweder die Anzahl der Ereignisse oder die Systemtakte zu zählen, die in die Zustandsmaschine 48 eingegeben werden. Wenn der Ereigniszähler 44 verwendet wird, um Ereignisse zu zählen, ist es möglich, die Zustandsmaschine 48 zu veranlassen, statt auf das erste Ereignis auf ein "N-tes" Ereignis zu antworten, wobei N einem in den Ereigniszähler 44 geladenen Zählwert entspricht. Durch die Fähigkeit, auf ein programmierbares erstes, zweites oder ntes Ereignis zu antworten, um eine Testoperation zu starten und zu stoppen, erhöht die Fähigkeit der Ereignisqualifizierungsarchitekturen, Tests oder andere Operationen in Abhängigkeit von Ereigniseingängen zu bewirken. Der Schleifenzähler 42 ist ein Abwärtszähler, der in erster Linie verwendet wird, um die Häufigkeit der Wiederholung eines Protokolls zu zählen. Wenn der Schleifenzähler 42 mit einer Zahl "M" geladen wird, wird das Protokoll genau "M" mal wiederholt.
  • Protokoll 1
  • Das Protokoll erlaubt einem Test oder einer anderen Prozedur, als Antwort auf ein "N-tes" Ereignis einmal aufzutreten und "M" mal wiederholt zu werden, wie mit dem untenstehenden Pseudo- Code und dem Zustandsdiagramm in Fig. 8 gezeigt ist. Für die Zwecke dieser Beschreibung ist ein "Zustand" eine logische Position in einem Zustandsdiagramm. Wie gezeigt, sind die Zustände in einem Zustandsdiagramm so gerichtet, daß ein Zustand in einen der anderen Zustände entweder selbständig oder als Antwort auf einen Bedingungseingang übergeht. Die Art, in der die Zustände gerichtet sind, definiert die Funktion des Zustandsdiagramms. Die Zustände können in zwei Typen vorliegen, nämlich vorübergehende Zustände und dauerhafte Zustände. Vorübergehende Zustände werden in einem Taktzyklus betreten und beim nächsten nachfolgenden Takt verlassen, d. h. ein vorübergehender Zustand kann nicht auf sich selbst zurückgeführt werden. Dauerhafte Zustände können in einem Taktzyklus betreten werden und beim nächsten nachfolgenden Takt verlassen oder auf sich selbst zurückgeführt werden.
  • Eine "Aktion" ist eine vorgegebene Operation, die ausgeführt wird, wenn ein Zustandsdiagramm von einem Zustand zu einem weiteren Zustand übergeht. Die Zustandsmaschine gibt ein Steuersignal an eine externe Logik aus, um die Aktion zu bewirken. Aktionen sind in den Figuren als gestrichelte Kästen dargestellt.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte des Ereignisses detektiert worden sind (Zustand 84). Jedesmal dann, wenn die Zustandsmaschine 48 das erwartete Ereignis detektiert (EREIGNIS = 1), prüft sie das EVCMIN-Signal des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl erreicht hat (EVCMIN = 1). Wenn ein Ereignis detektiert worden ist und der Ereigniszähler 44 nicht die Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 88) und dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 90) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert worden ist und der Ereigniszähler 44 die Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um eine Einzeltest- Operation durchzuführen (Zustand 92), und wartet anschließend auf den Abschluß des Ereignisses (Zustand 95).
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Schleifenzähler 42 eine Minimalzahl aufweist (Zustand 95). Wenn der Schleifenzähler 42 keine Minimalzahl aufweist (LPCMIN = 0), dekrernentiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 98), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 100), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen (CMPDAT und CMPMSK) auszugeben (Aktion 102), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist (LPCMIN = 1), geht die Zustandsmaschine 48 in den "Ende-des-Tests"-Zustand 104 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 1 ist:
  • Protokoll 2
  • Die Operation des Protokolls 2 ermöglicht, daß ein Test oder eine andere Prozedur auftritt, wenn ein "N-tes" Ereignis vorliegt, und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und den Zustandsdiagrammen der Fig. 9 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte des Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 106). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 nicht eine Minimalzahl im Zustand 106 aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 110), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 112) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um eine Testoperation durchzuführen, während der Ereigniseingang anwesend ist (Zustand 114). Wenn der Ereigniseingang verschwindet, beendet die Zustandsmaschine 48 die Testoperation.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers (Zustand 114), um zu ermitteln, ob der Zähler eine Minimalzahl aufweist. Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrernentiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 118), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 120), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 122), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"- Zustand 124 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 2 ist:
  • Protokoll 3
  • Die Operation des Protokolls 3 ermöglicht, daß ein Test oder eine andere Prozedur als Antwort auf ein erstes "N-tes" Ereignis gestartet wird, als Antwort auf ein zweites "N-tes" Ereignis gestoppt wird und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und den Zustandsdiagrammen der Fig. 10 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 126). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 130), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 132) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um eine Testoperation zu starten (Zustand 134). Wenn das detektierte Ereignis, das die Testoperation startet, verschwindet, gibt die Zustandsmaschine 48 ein Steuersignal aus, um den Ereigniszähler 44 mit einer neuen Zahl "N" zu laden (Aktion 136) und um die Speicher innerhalb der EQCs zu veranlassen, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 138), die verwendet werden, um mit einem zweiten "N-ten"
  • Ereignis verglichen zu werden, das die Testoperation stoppt (Zustand 140).
  • Während die Zustandsmaschine 48 auf das zweite "N-te" Ereignis wartet, das die Testoperation stoppt (Zustand 140), gibt sie fortlaufend ein Steuersignal aus, um die Testoperation aufrechtzuerhalten. Jedesmal, wenn die Zustandsmaschine 48 ein zweites Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 144), dekrementiert anschließend den Ereigniszähler 44 um Eins und beginnt mit der überwachung für das nächste Auftreten desselben Ereignisses (Aktion 146). Wenn ein Ereignis detektiert wird, und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu stoppen (Zustand 148).
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 148). Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 152), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 154), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 156), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"- Zustand 158 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 3 ist:
  • Protokoll 4
  • Die Operation des Protokolls 4 ermöglicht, daß ein Test oder eine andere Prozedur "N" Takte nach der Detektion des ersten "N-ten" Ereignisses gestartet wird, als Antwort auf ein zweites "N-tes" Ereignis gestoppt wird und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und dem Zustandsdiagramm der Fig. 11 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 160). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 164), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 166) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, lädt die Zustandsmaschine 48 eine neue Zahl "N" in den Ereigniszähler 44 (Aktion 168) und beginnt mit dem Dekrementieren des Ereigniszählers 44 um Eins mit jedem Systemtakteingang (Zustand 170 und Aktion 174).
  • Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, was durch das Signal EVCMIN angezeigt wird, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu starten, lädt den Ereigniszähler 44 mit einer neuen Zahl "N" (Aktion 176) und veranlaßt die Speicher innerhalb der EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 178), die verwendet werden, um mit einem zweiten "N-ten" Ereignis verglichen zu werden, das die Testoperation stoppt. Die Fähigkeit zum Verzögern des Starts einer Testoperation um eine vorgegebene Anzahl von Takten ermöglicht das Starten der Testoperation (Zustand 179) zu einem bestimmten Zeitpunkt, nachdem das startende Ereignis aufgetreten ist.
  • Nachdem der Test gestartet worden ist, verwendet die Zustandsmaschine 48 den Ereigniszähler 44, um die Testoperation zu stoppen, bis "N" Auftritte des zweiten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete zweite Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 170). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 181), dekrementiert anschließend den Ereigniszähler 44 um Eins und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses (Aktion 182). Wenn ein Ereignis detektiert wird, und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu stoppen.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist. Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 184) und gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 186). Nachdem das Ereignis verschwunden ist (Zustand 189), gibt die Zustandsmaschine ein Steuersignal aus, das die Speicher in den EQCs veranlaßt, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 188), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"-Zustand 158 über, um das Protokoll zu beenden (Zustand 190).
  • Der Pseudo-Code für das Protokoll 4 ist:
  • Protokoll 5
  • Die Operation des Protokolls 5 ermöglicht, daß ein Test oder eine andere Prozedur als Antwort auf ein erstes "N-tes" Ereignis gestartet wird, "N" Takte nach der Detektion eines zweiten "N-ten" Ereignisses gestoppt wird und "M" mal wiederholt wird, wie durch den unten stehenden Pseudo-Code und die Zustandsdiagramme der Fig. 12 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 192). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 196), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 198) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um eine Testoperation zu starten (Zustand 200), den Ereigniszähler 44 mit einer neuen Zahl "N" zu laden (Aktion 202) und um die Speicher innerhalb der EQCs zu veranlassen, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 204), die verwendet werden, um mit einem zweiten "N-ten" Ereignis verglichen zu werden, das die Stopp-Sequenz der Testoperation einleitet.
  • Nachdem der Test gestartet worden ist, verwendet die Zustandsmaschine 48 den Ereigniszähler 44, um das Stoppen der Testoperation zu verzögern, bis "N" Auftritte des zweiten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete zweite Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 206). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 210), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 212) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, lädt die Zustandsmaschine 48 eine neue Zahl "N" in den Ereigniszähler 44 (Aktion 214) und beginnt mit dem Dekrernentieren des Ereigniszählers 44 um Eins mit jedem Systemtakteingang (Zustände 216 und 219 und Aktion 220). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, was durch das Signal EVCMIN angezeigt wird, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu stoppen. Die Fähigkeit zum Verzögern des Stoppens einer Testoperation um eine vorgegebene Anzahl von Takten ermöglicht das Stoppen der Testoperation zu einem bestimmten Zeitpunkt, nachdem das stoppende Ereignis aufgetreten ist.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 216). Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 221), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 222), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 224), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"- Zustand 226 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 5 ist:
  • Protokoll 6
  • Die Operation des Protokolls 6 ermöglicht, daß ein Test oder eine andere Prozedur "N" Takte nach der Detektion des ersten "N-ten" Ereignisses gestartet wird, "N" Takte nach der Detektion eines zweiten "N"-ten" Ereignisses gestoppt wird und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und den Zustandsdiagrammen in Fig. 13 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 228). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 232), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 234) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, lädt die Zustandsmaschine 48 eine neue Zahl "N" in den Ereigniszähler 44 (Aktion 236) und beginnt mit dem Dekrementieren des Ereigniszählers 44 um Eins mit jedem Systemtakteingang (Zustand 238 und Aktion 242).
  • Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, was durch das Signal EVCMIN angezeigt wird, lädt die Zustandsmaschine 48 den Ereigniszähler 44 mit einer neuen Zahl "N" (Aktion 244) und veranlaßt die Speicher innerhalb der EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 246), die verwendet werden, um mit einem zweiten "N-ten" Ereignis verglichen zu werden, das die Stoppsequenz der Testoperation einleitet, und gibt ein Steuersignal aus, um die Testoperation zu starten (Zustand 248). Die Fähigkeit zum Verzögern des Starts einer Testoperation um eine vorgegebene Anzahl von Takten ermöglicht das Starten der Testoperation zu einem bestimmten Zeitpunkt, nachdem das startende Ereignis aufgetreten ist.
  • Nachdem der Test gestartet worden ist, verwendet die Zustandsmaschine 48 den Ereigniszähler 44, um die Testoperation zu stoppen, bis "N" Auftritte des zweiten Ereignisses detektiert worden sind (Zustand 248). Jedesmal, wenn die Zustandsmaschine 48 das erwartete zweite Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 252), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 254) und beginnt mit der überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, lädt die Zustandsmaschine 48 eine neue Zahl "N" in den Ereigniszähler 44 (Aktion 256) und beginnt mit dem Dekrementieren des Ereigniszählers 44 um Eins mit jedem Systemtakteingang. Wenn der Ereigniszähler 44 eine Minimalzahl erreicht (Zustand 258 und Aktion 262), was durch das Signal EVCMIN angezeigt wird, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu stoppen. Die Fähigkeit zum Verzögern des Stoppens einer Testoperation um eine vorgegebene Anzahl von Takten ermöglicht das Stoppen der Testoperation zu einem bestimmten Zeitpunkt, nachdem das stoppende Ereignis aufgetreten ist.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 258). Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 264), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 266), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 268), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"- Zustand 270 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 6 ist:
  • Protokoll 7
  • Die Operation des Protokolls 7 ermöglicht, daß ein Test oder eine andere Prozedur als Antwort auf ein erstes "N-tes" Ereignis gestartet wird, nach "N" Systemtakten gestoppt wird und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und den Zustandsdiagrammen der Fig. 14 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 272). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 276), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 278) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um den Ereigniszähler 44 mit einer neuen Zahl "N" zu laden, die gleich der Anzahl der Systemtakte ist, für die der Test ausgeführt wird (Aktion 280), und um eine Testoperation zu starten (Zustand 282). Während des Tests wird der Ereigniszähler 44 einmal während jedes Systemtakteingangs dekrementiert (Zustand 282 und Aktion 286). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, stoppt die Zustandsmaschine 48 die Testoperation.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 282). Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 288), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 290), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 292), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"- Zustand 294 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 7 ist:
  • Protokoll 8
  • Die Operation des Protokolls 8 ermöglicht, daß ein Test oder eine andere Prozedur "N" Systemtakte nach der Detektion eines "N-ten" Ereignisses gestartet wird, nach "N" Systemtakten gestoppt wird und "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und dem Zustandsdiagramm der Fig. 15 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 296). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 300), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 302) und beginnt mit der Überwachung für das nächste Auftreten des erwarteten Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, lädt die Zustandsmaschine 48 eine neue Zahl "N" in den Ereigniszähler 44 (Aktion 304). Die Zahl "N" ist gleich der Anzahl der Systemtaktzyklen, die auftreten müssen, bevor die Testoperation gestartet werden kann.
  • Nachdem die neue Zahl geladen worden ist, dekrementiert die Zustandsmaschine 48 den Ereigniszähler 44 einmal mit jedem Systemtakteingang, den sie empfängt (Zustand 306 und Aktion 310). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, was durch das Signal EVCMIN angezeigt wird, lädt die Zustandsmaschine 48 den Ereigniszähler 44 erneut mit einer neuen Zahl "N", die gleich der Anzahl der Systemtaktzyklen ist, für die die Testoperation ausgeführt wird (Aktion 312), und gibt ein Steuersignal aus, um die Testoperation zu starten (Zustand 314). Nachdem die neue Zahl geladen worden ist, dekrementiert die Zustandsmaschine 48 den Ereigniszähler 44 einmal mit jedem Systemtakteingang, den sie empfängt (Zustand 314 und Aktion 318). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, gibt die Zustandsmaschine 48 ein Steuersignal aus, um die Testoperation zu stoppen.
  • Der Schleifenzähler 42 wird verwendet, um zu ermöglichen, daß das obenbeschriebene Protokoll "M" mal wiederholt wird. Nach jedem Durchlauf des Protokolls prüft die Zustandsmaschine 48 das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist. Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 320), gibt ein Steuersignal aus, um eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 322), veranlaßt die Speicher in den EQCs, ein neues Paar von Signalen CMPDAT und CMPMSK auszugeben (Aktion 324), und wiederholt die obenbeschriebene Protokollsequenz. Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, geht die Zustandsmaschine 48 in den "Ende-des-Tests"-Zustand 326 über, um das Protokoll zu beenden.
  • Der Pseudo-Code für das Protokoll 8 ist:
  • Protokoll 9
  • Die Operation des Protokolls 9 ermöglicht, daß ein Test oder eine andere Prozedur als Antwort auf ein "N-tes" Ereignis gestartet wird, für "N" Systemtakte ausgeführt wird, anschließend, wenn der Schleifenzähler 42 keine Minimalzahl aufweist, für "N" Systemtakte ausgesetzt wird, bevor der Test erneut fortgesetzt wird, wie mit dem untenstehenden Pseudo-Code und dem Zustandsdiagramm der Fig. 16 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 5 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 328). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 332), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 334) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um den Ereigniszähler 44 mit einer neuen Zahl "N" zu laden, die gleich der Anzahl der Systemtakte ist, für die der Test ausgeführt wird (Aktion 336), und um eine Testoperation zu starten (Zustand 338). Während des Tests wird der Ereigniszähler 44 einmal während jedes Systemtakteingangs dekrementiert (Zustand 338 und 342).
  • Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, stoppt die Zustandsmaschine 48 die Testoperation und prüft, ob der Schleifenzähler 42 eine Minimalzahl aufweist. In Abhängigkeit davon, ob der Schleifenzähler 42 eine Minimalzahl aufweist, führt die Zustandsmaschine eine von zwei möglichen Aktionen durch. Bei der ersten Aktion, wenn der Schleifenzähler 42 keine Minimalzahl aufweist, was durch Prüfen des Signals LPCMIN ermittelt wird, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 um Eins (Aktion 344) und lädt anschließend eine neue Zahl "N" in den Ereigniszähler 44, die gleich der Anzahl der Systemtakte ist, für die die Testoperation ausgesetzt werden soll (Aktion 346). Der Ereigniszähler 44 wird einmal mit jedem Systemtakt-eingang dekrementiert (Zustand 348 und Aktion 352). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, wird eine neue Zahl "N" in den Ereigniszähler 44 geladen (Aktion 354) und die Test-operation fortgesetzt, bis der Ereigniszähler 44 erneut eine Minimalzahl erreicht, wobei zu diesem Zeitpunkt der Schleifen-zähler 42 erneut auf eine Minimalzahl geprüft wird, wie oben erwähnt ist. Wenn der Schleifenzähler 42 bei der zweiten Aktion eine Minimalzahl aufweist, wird das Protokoll beendet und die Zustandsmaschine 48 geht in den "Ende-des-Tests"-Zustand 356 über.
  • Der Pseudo-Code für das Protokoll 9 ist:
  • Protokoll 10
  • Die Operation des Protokolls 10 erlaubt, daß ein Test oder eine andere Prozedur als Antwort auf ein "N-tes" Ereignis eingeleitet wird. Wenn das Protokoll einmal eingeleitet worden ist, wird es für "N" Systemtakte ausgesetzt und für "N" Systemtakte ausgeführt, wobei die Pausen- und Ausführungssequenz "M" mal wiederholt wird, wie mit dem untenstehenden Pseudo-Code und dem Zustandsdiagramm der Fig. 18 gezeigt ist.
  • Während dieses Protokolls wird der Ereigniszähler 44 der Fig. 6 verwendet, um den Start der Operation zu verzögern, bis "N" Auftritte eines ersten Ereignisses detektiert worden sind. Jedesmal, wenn die Zustandsmaschine 48 das erwartete erste Ereignis detektiert, prüft sie das Signal EVCMIN des Ereigniszählers, um zu ermitteln, ob der Zähler eine Minimalzahl aufweist (Zustand 358). Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 keine Minimalzahl aufweist, wartet die Zustandsmaschine 48, bis der Ereigniseingang verschwunden ist (Zustand 362), dekrementiert anschließend den Ereigniszähler 44 um Eins (Aktion 364) und beginnt mit der Überwachung für das nächste Auftreten desselben Ereignisses. Wenn ein Ereignis detektiert wird und der Ereigniszähler 44 eine Minimalzahl aufweist, gibt die Zustandsmaschine 48 ein Steuersignal aus, um den Ereigniszähler 44 mit einer neuen Zahl "N" zu laden, die der Anzahl der Systemtakte entspricht, um die der aktuelle Start des Tests verzögert wird, oder für die der Test ausgesetzt wird (Aktion 366). Während der Aussetzungsoperation wird der Ereigniszähler 44 einmal während jedes Systemtakteingangs dekrementiert (Zustand 368 und Aktion 372).
  • Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, gibt die Zustandsmaschine 48 ein Steuersignal aus, um den Test zu starten und eine neue Zahl "N" in den Ereigniszähler 44 zu laden (Aktion 374). Während der Testoperation wird der Ereigniszähler 44 einmal während jedes Systemtakteingangs dekrementiert (Zustand 376 und Aktion 380). Wenn der Ereigniszähler 44 eine Minimalzahl erreicht, was durch das Überwachen des Signals EVCMIN ermittelt wird, stoppt die Zustandsmaschine 48 die Testoperation und prüft das Signal LPCMIN des Schleifenzählers, um zu ermitteln, ob der Schleifenzähler 42 eine Minimalzahl aufweist. Wenn der Schleifenzähler 42 keine Minimalzahl aufweist, dekrementiert die Zustandsmaschine 48 den Schleifenzähler 42 (Aktion 382), lädt eine neue Zahl "N" in den Ereigniszähler (Aktion 384) und wiederholt die obenbeschriebene Sequenz ("N" mal Aussetzen, anschließend "N" mal Testen). Wenn der Schleifenzähler 42 eine Minimalzahl aufweist, beendet die Zustandsmaschine 48 das Protokoll und geht in den "Ende-des- Tests"-Zustand 386 über.
  • Der Pseudo-Code für das Protokoll 10 ist:
  • Piatinenebenen-Ereignisqualifizierung
  • Die Ereignisqualifizierungsarchitektur wurde oben so beschneben, wie sie lokal auf die Boundary einer IC angewendet wird. Dieser Abschnitt der Offenbarung beschreibt, wie mehrere ICs am Ereignisqualifizierungsprozeß teilnehmen können. Die Fig. 18 zeigt einen Platinenentwurf, der mehrere ICs 20 enthält, die die in Fig. 2 gezeigte Ereignisqualifizierungsarchitektur gemeinsam mit einer Abstimmungsschaltung 388 enthalten. Die Abstimmungsschaltung wird für die Platinenebenen-Qualifizierung benötigt, und wird verwendet, um alle EQO-Signale von jeder IC zu einem einzelnen Signal zu kombinieren, das über den EQI- Eingang in jede IC zurückgeführt wird.
  • Die Platine besitzt einen Eingang und einen Ausgang für Systemdaten, eine Vierdraht-1149 l-Testbus-Schnittstelle (TCK( TMs( TDI und TDO-Signale) sowie ein Unterbrechungssignal (INT) zum Ausgeben von Ereignissignalen. Der Vierdraht-Testbus und das INT-Signal sind mit einer Testbus-Steuervorrichtung 390 verbunden. Die Testbus-Steuervorrichtung 390 greift über den 1149.1-Testbus seriell auf die ICs 20 auf dem Platinenentwurf zu, um Testoperationen einzurichten und durchzuführen und um Testdaten zu extrahieren, die aus den Tests erhalten werden.
  • Platinenebenen-Lokalereignisqualifizierung
  • Die ICs 20 in Fig. 18 können für lokale Qualifizierungs- und Testoperationen durch einen Scan-Zugriff von der 1149.1-Testbus-Steuervorrichtung eingestellt werden. Wenn die ICs 20 im Lokalqualifizierungsmodus operieren, wird der Test, den jede IC durchführt, nur durch die Bedingungen qualifiziert, die lokal an der Boundary der IC auftreten. In diesem Modus können alle ICS 20 der Fig. 18 veranlaßt werden, individuelle Test- Operationen gleichzeitig durchzuführen, wobei jede Testoperation möglicherweise durch einen anderen Typ von Ereignisqualifizierungsprotokoll gesteuert wird. Zum Beispiel können einige ICS so eingestellt werden, daß sie Eingangs- und Ausgangsdaten unter Verwendung des Ereignisqualifizierungsprotokolls 3 in ihre TCRS 14 und 16 komprimieren, während andere ICs so eingestellt werden können, daß sie Eingangsdaten unter Verwendung des Ereignisqualifizierungspr6tokolls 2 in ihren internen TMEM 28 speichern.
  • Während der lokalen Qualifizierung wählt die EQM-Zustandsmaschine 48 das in Fig. 6 gezeigte CTERM als Quelle des Ereignisses aus, das es überwacht, um ein Testprotokoll zu starten und zu stoppen. Das CTERM zeigt den Zustand der lokalen Vergleichsoperationen an, die an der Boundary der Host-IC auftreten. Somit kann im lokalen Qualifizierungsmodus ein Protokoll nur als Antwort auf Vergleichsoperationen gestartet und gestoppt werden, die an der Boundary der Host-IC auftreten.
  • Ferner werden während der lokalen Qualifizierung die EQO-Ausgänge jeder IC 20 so eingestellt, daß sie das EOT-Statussignal von der EQM-Zustandsmaschine 48 in Fig. 6 ausgeben. Die Abstimmungsschaltung 388 empfängt die EQO-Signale und gibt ein EQI- Signal aus, das zu den jeweiligen EQI-Eingängen der ICs zurückgeführt wird. Der EQI-Ausgang der Abstimmungsschaltung 388 wird ferner über das INT-Signal aus der Platine herausgeführt. Die Abstimmungsschaltung gibt kein EQI-Signal aus, bis alle ICs 20 ihre lokalen Testoperationen (Protokolle) abgeschlossen haben und an ihren EQO-Ausgängen ein EOT-Statussignal ausgegeben haben. Durch Überwachen des INT-Ausgangs kann die Testbus-Steuervorrichtung 390 ermitteln, wann alle von den jeweiligen ICs 20 durchgeführten Testoperationen abgeschlossen worden sind. Wenn das INT-Signal detektiert wird, führt die Testbus- Steuervorrichtung 390 Scan- Operationen durch, um die in jeder IC gesammelten Testdaten für eine Untersuchung zu extrahieren.
  • Platinenebenen-Globalereignisqualifizierung
  • Während die lokale Qualifizierung vielen Testanforderungen dient, gibt es Fälle, in denen die Qualifizierung eines Tests über die Boundary der Ziel-IC hinaus erweitert werden muß. Die Erhöhung der Anzahl der Boundary-Signale, die im Qualifizierungsprozeß teilnehmen, verbessert die Auflösung für den Zeitpunkt, zu dem eine Testoperation freigegeben wird. Zum Beispiel brauchen die Signale an einer Boundary einer IC keine ausreichende Qualifizierung für eine bestimmte Testoperation darstellen. Durch Kombinieren der Boundary-Signale der benachbarten ICS mit den Boundary-Signalen der Ziel-IC wird jedoch ein globaler Qualifizierungsmodus erhalten, der verwendet werden kann, um die Testoperation genauer freizugeben.
  • Während der globalen Qualifizierung wird das EQO-Signal jeder IC 20 gesetzt, um das Ergebnis der lokalen Boundary-Vergleichsoperation der ICs auszugeben. Die EQO-Signale aller ICS 20 werden in die Abstimmungsschaltung 388 eingegeben, so daß sie zu einem zusammengesetzten globalen Vergleichssignal kombiniert werden können. Eine beliebige IC, die nicht teilnimmt, versetzt ihren EQO-Ausgang in einen Zustand, der die Operation der Abstimmungsschaltung nicht beeinträchtigt (siehe EQODIS-Eingang in den Mux2 54 in Fig. 6). Der Ausgang der Abstimmungsschaltung 388 ist in die jeweiligen EQI-Eingänge der ICS zurückgeführt, um dem EQM innerhalb jeder IC 20 zu ermöglichen, auf das Auftreten eines globalen Vergleichssignals zu warten.
  • Jedesmal, wenn über alle IC-Boundaries hinweg eine Übereinstimmung auftritt, werden die EQO-Ausgänge aller ICs 20 freigegeben und die Abstimmungsschaltung 388 gibt ein globales Vergleichssignal an alle EQI-Eingänge der ICs zurück. Die EQMS 22 aller ICs 20 antworten auf die EQI-Eingänge und führen ein Protokoll aus, um eine vorgegebene Testoperation zu steuern. Durch Überwachen des INT-Ausgangs kann die Testbus- Steuervorrichtung 390 ermitteln, wann die globale Testoperation abgeschlossen ist, so daß die erhaltenen Testdaten aus den ICs zur Untersuchung extrahiert werden können.
  • Verwendung ausschließlich des EQM im IC-Entwurf
  • Obwohl diese Offenbarung die Ereignisqualifizierungsarchitektur so beschrieben hat, daß sie sowohl die EQCs 24 als auch das EQM 22 umfaßt, ist es möglich, nur das EQM 22 zu verwenden, wenn auf der IC nicht genügend Logik vorhanden ist, um die EQCs 24 zu implementieren. Wenn nur der EQM 22 verwendet wird, dient der EQI-Eingang als Einzelereigniseingang zum Starten und Stoppen des EQM-Protokolls. Die Operation des EQM bleibt dieselbe, der einzige Unterschied besteht darin, daß die Qualifizierung einer Testoperation der IC immer über den EQI- Anschlußstift eingegeben werden muß, anstatt sie optional innerhalb der IC zu erzeugen. Da keine interne Qualifizierung stattfindet, wenn eine IC keine EQCs oder ähnliche Vergleichsschaltkreise enthält, wird der EQI-Anschlußstift nur zur Ausgabe entweder des EOT-Statussignals von der EQM-Steuervorrichtung 38 oder des EQODIS-Signals über den Mux2 54 verwendet (siehe Fig. 8).
  • Verwendung der Architektur in verschiedenen IC-Architekturen
  • Obwohl diese Offenbarung die Ereignisqualifizierungsarchitektur so beschrieben hat, daß sie in der typischen IC-Architektur der Fig. 2 enthalten ist, kann sie ebensogut in anderen Typen von IC-Architekturen verwendet werden. In den Fig. 19 und 20 sind zwei IC-Architekturen gezeigt, die diese Architektur implementieren. Diese IC-Architekturen unterscheiden sich von derjenigen der Fig. 2 dadurch, daß sie nur Eingangssignale, eine Testlogik zum Empfangen der Eingangssignale und die Ereignisqualifizierungsarchitektur besitzen.
  • Digitalsignalmonitor
  • Die Digitalsignalmonitor-IC 392 der Fig. 19 umfaßt ein TCR 14, einen TMEM 28, die EQCs 24, den EQM 22 sowie eine TAP-Schnittstelle 12. Der TAP bietet seriellen Zugriff auf die IC 392 zum Einstellen von Testoperationen und zum Extrahieren von Testergebnissen. Die Digitalsignale werden zur Überwachung in das TCR 14 und den TMEM 28 und zum Vergleich mit den erwarteten Daten in die EQCs 24 eingegeben. Im Betrieb empfängt das EQM 22 einen Ereigniseingang entweder von den EQCs 24 oder vom EQI-Eingang, um die Ausführung eines vorgegebenen Protokolls zu starten. Wenn ein Ereignis empfangen wird, startet das Protokoll und das EQM 22 gibt ein Steuersignal aus, um das TCR 14 und das TMEM 28 zu veranlassen, die überwachung von Daten zu starten. Das TCR 14 kann so eingestellt sein, daß es ein einzelnes Dateneingangsmuster abtastet oder einen Strom von Dateneingangsmustern komprimiert. Das TMEM 28 kann so eingestellt sein, daß es mehrere Dateneingangsmuster speichert. Wenn das Protokoll abgeschlossen ist, gibt das EQM 22 ein Steuersignal an das TCR 14 und das TMEM 28 aus, welches diese veranlaßt, die Überwachung von Daten zu stoppen. Nachdem der Test abgeschlossen ist, können die im TCR 14 und im TMEM 28 gespeicherten Daten zur Untersuchung über die TAP-Schnittstelle ausgelesen werden.
  • Analogsignalmonitor
  • Die Digitalsignalmonitor-IC 392 der Fig. 20 umfaßt ein TCR 14, einen TMEM 28, die EQCs 24, den EQM 22, einen TAP 12, einen Analogmultiplexer 396 sowie eine Analog/Digital-Umsetzer (ADC) 398. Der Analogsignalmonitor 394 empfängt mehrere in den Analogmultiplexer 396 eingegebene Analogsignale. Der Multiplexer wählt einen der Analogsignaleingänge aus, der in den ADC 398 eingegeben werden soll. Der ADC 398 setzt das Analogemgangssignal in ein Digitalmuster um, das die Spannung des Analogsignals darstellt. Nachdem eine Umsetzung abgeschlossen ist, wird die Umsetzung wiederholt. Somit ändert sich mit wechselndern Analogsignal das Digitalausgangssignal des ADC 398 und spiegelt die neue Spannung des Analogsignals wider. Nachdem das Analogsignal in eine digitale Form umgesetzt worden ist, arbeitet der Analogsignalmonitor genauso wie der Digitalsignalmonitor der Fig. 19.
  • Das vom ADC 398 ausgegebene Digitalmuster wird zur Überwachung in das TCR 14 und den TMEM 28 und zum Vergleichen mit den erwarteten Daten in die EQCs 24 eingegeben. Das EQM 22 empfängt einen Ereigniseingang entweder von den EQCs 24 oder vom EQI- Eingang, um die Ausführung eines vorgegebenen Protokolls zu starten. Wenn ein Ereignis empfangen wird, startet das Protokoll und das EQM gibt ein Steuersignal aus, um das TCR 14 und das TMEM 28 zu veranlassen, die Überwachung der Digitalmusterausgänge des ADC 398 zu starten. Das TCR 14 kann so eingestellt sein, daß es ein einzelnes Digitalmuster abtastet oder einen Strom von Digitalmustern komprimiert. Der TMEM 28 kann so eingestellt sein, daß er mehrere Digitalmuster speichert. Wenn das Protokoll abgeschlossen ist, gibt das EQM 22 ein Steuersignal an das TCR 14 und den TMEM 28 aus, welches diese veranlaßt, die Überwachung von Daten zu stoppen. Nachdem der Test abgeschlossen ist, können die im TCR 14 und im TMEM 28 gespeicherten Daten zur Untersuchung über die TAP-Schnittstelle ausgelesen werden.
  • Die vorliegende Erfindung überwindet die beim 1149.1-Sample- Befehl beschriebenen Probleme und schafft Verfahren zur Durchführung anderer Testoperationen über die einfache Abtastung einzelner Datenmuster hinaus. Da die vorliegende Erfindung in der IC selbst eingebettet sein kann, braucht keine externe Schaltungsanordnung zur Schaltungsplatine hinzugefügt werden, um für die Synchronisierung und Qualifizierung der externen Steuereingänge zu sorgen und eine On-line-Testoperation durchzuführen. Wenn die vorliegende Erfindung freigegeben wird, um eine Testoperation zu steuern, arbeitet sie ferner unabhängig vom TAP der IC, wodurch ermöglicht wird, daß unterschiedliche ICS unterschiedliche Tests zu unterschiedlichen Zeitpunkten durchführen. Durch das lokale Teststeuersignal in jeder IC anstelle eines globalen Teststeuersignals, das in alle ICs eingegeben wird, wird das Testen auf Schaltungsplatinenebene dezentralisiert.
  • Es ist wichtig, daß Fähigkeit der vorliegenden Erfindung zum Freigeben der Boundary-Testlogik bei einer normal arbeitenden IC ein Testen der Datenübertragungen zwischen den ICs auf einem Platinenentwurf mit Betriebsgeschwindigkeit ermöglicht. Unter Verwendung dieses Lösungsansatzes ist es möglich, zeitablaufempfindliche und/oder intermittierende Datenübertragungsfehler zu detektieren, die zwischen mehreren ICs in einer in Betrieb befindlichen Schaltung auftreten können. Es ist schwierig, wenn nicht unmöglich, diese Art von Fehlern ohne physikalische Prüfung des Platinenentwurfs aufzudecken.
  • Bei Platinenentwürfen des Standes der Technik, die die Oberflächenmontagetechnik verwenden, ist der physikalische Zugriff zum Prüfen einer in Betrieb befindlichen Platine stark eingeschränkt und in einigen Fällen gar nicht möglich. Ferner kann in Schaltungen, die unter Verwendung von Höchstgeschwindigkeitstechnologien entwickelt worden sind, die elektrische Last, die einem Prüfinstrument zugeordnet ist, die Operation der geprüften Signale beeinträchtigen, was eine Fehlfunktion der Schaltung verursacht.
  • Die vorliegende Erfindung schafft ein alternatives Verfahren zum Testen auf Probleme bei Betriebsgeschwindigkeit, wenn ein physikalisches Testen des Platinenentwurfs nicht möglich ist oder wenn das Prüfen die Operation der Platine beeinträchtigt. Da die vorliegende Erfindung beim Entwurf in die ICs eingebracht werden kann, verbleibt sie im Produkt, nachdem dieses das Fabrikprüffeld verlassen hat. Somit kann es in anderen Phasen des Produkt-Lebenszyklus erneut verwendet werden, wie z. B. bei der Systemintegration, bei einem Umgebungstest sowie bei der Wartung und Reparatur vor Ort.
  • Obwohl die bevorzugte Ausführungsform der vorliegenden Erfindung genau beschrieben worden ist, ist klar, daß verschiedene Änderungen, Ersetzungen und Abwandlungen vorgenommen werden können, ohne von der Erfindung, wie sie durch die beigefügten Ansprüche definiert ist, abzuweichen.

Claims (6)

1. Testarchitektur, mit: einer Testschaltungsanordnung (14) zum Ausführen von Test funktionen;
einer Vergleichsschaltungsanordnung (30) mit einem internen Speicher (32) zum Vergleichen von in die Vergleichsschaltungsanordnung (30) eingegebenen Daten mit im internen Speicher (32) gespeicherten Daten und zum Erzeugen eines Übereinstimmungssignals als Antwort darauf;
einer Steuerschaltungsanordnung (22), die mit der Vergleichsschaltungsanordnung (30) gekoppelt ist und die Testschaltungsanordnung als Antwort auf das Übereinstimmungssignal steuert; gekennzeichnet durch:
einen ersten Zähler (42), der der Steuerschaltungsanordnung (22) zugeordnet ist und eine Zahl speichert, die die Anzahl angibt, in der ein Test durch die Testschaltungsanordnung (14) wiederholt worden ist;
einen zweiten Zähler (44), der der Steuerschaltungsanordnung (22) zugeordnet ist und eine Zahl speichert, die die Anzahl angibt, in der ein vorgegebenes Ereignis aufgetreten ist; und
einen Speicher (46), der dem zweiten Zähler (44) zugeordnet ist und mehrere Zählwerte speichert.
2. Testarchitektur nach Anspruch 1, in der der interne Speicher (32) einen ersten Speicher (32) zum Speichern von Vergleichsdaten, die mit den eingegebenen Daten zu vergleichen sind, sowie einen zweiten Speicher (36) zum Speichern von Maskierungsdaten enthält.
3. Testarchitektur nach Anspruch 2, in der der erste und der zweite Speicher (32, 36) Schieberegister enthalten.
4. Testarchitektur nach Anspruch 3, in der der erste Speicher (32) einen Eingang und einen Ausgang enthält, wobei der Ausgang wahlweise mit dem Eingang (33) gekoppelt wird, um einen Umlauf der darin gespeicherten Daten zuzulassen.
5. Testarchitektur nach Anspruch 3, in der der zweite Speicher (36) einen Eingang und einen Ausgang enthält, wobei der Ausgang wahlweise mit dem Eingang gekoppelt (37) wird, um einen Umlauf der darin gespeicherten Daten zuzulassen.
6. Testarchitektur nach Anspruch 3, in der sowohl der erste als auch der zweite Speicher (32, 36) einen Eingang und einen Ausgang enthalten, wobei der erste und der zweite Speicher (32, 36) wahlweise gekoppelt (35, 37) werden, um zuzulassen, daß vom ersten oder vom zweiten Speicher (32, 36) ausgegebene Daten in den jeweils anderen des ersten und des zweiten Speichers (32, 36) eingegeben werden.
DE69126575T 1990-08-06 1991-08-05 Durch Ereignis befähigte Prüfarchitektur Expired - Lifetime DE69126575T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US56357990A 1990-08-06 1990-08-06

Publications (2)

Publication Number Publication Date
DE69126575D1 DE69126575D1 (de) 1997-07-24
DE69126575T2 true DE69126575T2 (de) 1997-12-11

Family

ID=24251077

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69126575T Expired - Lifetime DE69126575T2 (de) 1990-08-06 1991-08-05 Durch Ereignis befähigte Prüfarchitektur

Country Status (5)

Country Link
US (1) US5623500A (de)
EP (1) EP0470803B1 (de)
JP (1) JPH04297880A (de)
KR (1) KR100217535B1 (de)
DE (1) DE69126575T2 (de)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483518A (en) 1992-06-17 1996-01-09 Texas Instruments Incorporated Addressable shadow port and protocol for serial bus networks
JP3005250B2 (ja) * 1989-06-30 2000-01-31 テキサス インスツルメンツ インコーポレイテツド バスモニター集積回路
US5969538A (en) 1996-10-31 1999-10-19 Texas Instruments Incorporated Semiconductor wafer with interconnect between dies for testing and a process of testing
US6324614B1 (en) * 1997-08-26 2001-11-27 Lee D. Whetsel Tap with scannable control circuit for selecting first test data register in tap or second test data register in tap linking module for scanning data
DE69734379T2 (de) * 1996-08-30 2006-07-06 Texas Instruments Inc., Dallas Vorrichtung zur Prüfung von integrierten Schaltungen
US5881224A (en) * 1996-09-10 1999-03-09 Hewlett-Packard Company Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle
US6003107A (en) * 1996-09-10 1999-12-14 Hewlett-Packard Company Circuitry for providing external access to signals that are internal to an integrated circuit chip package
US5867644A (en) * 1996-09-10 1999-02-02 Hewlett Packard Company System and method for on-chip debug support and performance monitoring in a microprocessor
US5887003A (en) * 1996-09-10 1999-03-23 Hewlett-Packard Company Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results
US6260165B1 (en) 1996-10-18 2001-07-10 Texas Instruments Incorporated Accelerating scan test by re-using response data as stimulus data
US5880671A (en) * 1996-10-31 1999-03-09 Hewlett-Packard Company Flexible circuitry and method for detecting signal patterns on a bus
US5956476A (en) * 1996-10-31 1999-09-21 Hewlett Packard Company Circuitry and method for detecting signal patterns on a bus using dynamically changing expected patterns
US5956477A (en) * 1996-11-25 1999-09-21 Hewlett-Packard Company Method for processing information in a microprocessor to facilitate debug and performance monitoring
US6009539A (en) * 1996-11-27 1999-12-28 Hewlett-Packard Company Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system
US5881217A (en) * 1996-11-27 1999-03-09 Hewlett-Packard Company Input comparison circuitry and method for a programmable state machine
US6591387B1 (en) 1997-06-02 2003-07-08 Duaxes Corporation Communication equipment with boundary scan elements
US5936976A (en) * 1997-07-25 1999-08-10 Vlsi Technology, Inc. Selecting a test data input bus to supply test data to logical blocks within an integrated circuit
US6035423A (en) 1997-12-31 2000-03-07 Network Associates, Inc. Method and system for providing automated updating and upgrading of antivirus applications using a computer network
US6408413B1 (en) 1998-02-18 2002-06-18 Texas Instruments Incorporated Hierarchical access of test access ports in embedded core integrated circuits
US6405335B1 (en) 1998-02-25 2002-06-11 Texas Instruments Incorporated Position independent testing of circuits
US6687865B1 (en) 1998-03-25 2004-02-03 On-Chip Technologies, Inc. On-chip service processor for test and debug of integrated circuits
US6560734B1 (en) 1998-06-19 2003-05-06 Texas Instruments Incorporated IC with addressable test port
US6519729B1 (en) 1998-06-27 2003-02-11 Texas Instruments Incorporated Reduced power testing with equally divided scan paths
US6374370B1 (en) 1998-10-30 2002-04-16 Hewlett-Packard Company Method and system for flexible control of BIST registers based upon on-chip events
US6728915B2 (en) 2000-01-10 2004-04-27 Texas Instruments Incorporated IC with shared scan cells selectively connected in scan path
JP2001228219A (ja) * 2000-02-17 2001-08-24 Mitsubishi Electric Corp 半導体装置およびその耐圧不良自己検出システム
US6769080B2 (en) 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US7231339B1 (en) * 2002-03-28 2007-06-12 Cypress Semiconductor Corporation Event architecture and method for configuring same
US8103497B1 (en) * 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7231552B2 (en) * 2002-10-24 2007-06-12 Intel Corporation Method and apparatus for independent control of devices under test connected in parallel
US7661034B2 (en) * 2005-01-24 2010-02-09 International Business Machines Corporation Multilayered architecture for storage protocol conformance testing of storage devices
FR2896884A1 (fr) * 2006-01-27 2007-08-03 St Microelectronics Sa Test de scan
JP2010244393A (ja) * 2009-04-08 2010-10-28 Renesas Electronics Corp パフォーマンス評価装置、及びパフォーマンス評価方法
US9599491B2 (en) 2011-06-15 2017-03-21 Waters Technologies Corporation Techniques for use with test qualification protocols

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3789359A (en) * 1972-10-04 1974-01-29 Harris Intertype Corp Synchronism indicator for a convolutional decoder
US4161276A (en) * 1978-03-01 1979-07-17 Ncr Corporation Complex logical fault detection apparatus and method
US4216539A (en) * 1978-05-05 1980-08-05 Zehntel, Inc. In-circuit digital tester
US4242751A (en) * 1978-08-28 1980-12-30 Genrad, Inc. Automatic fault-probing method and apparatus for checking electrical circuits and the like
JPS5534817A (en) * 1978-08-31 1980-03-11 Tokyo Electric Power Co Converter
US4308616A (en) * 1979-05-29 1981-12-29 Timoc Constantin C Structure for physical fault simulation of digital logic
JPH0743413B2 (ja) * 1984-05-09 1995-05-15 三菱電機株式会社 半導体試験装置
JPS62250593A (ja) * 1986-04-23 1987-10-31 Hitachi Ltd ダイナミツク型ram
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
US4763066A (en) * 1986-09-23 1988-08-09 Huntron Instruments, Inc. Automatic test equipment for integrated circuits
US4857835A (en) * 1987-11-05 1989-08-15 Texas Instruments Incorporated Global event qualification system
US5303148A (en) * 1987-11-27 1994-04-12 Picker International, Inc. Voice actuated volume image controller and display controller
US5023872A (en) * 1988-03-25 1991-06-11 Advanced Micro Devices, Inc. FDDI bit error rate tester
US4947106A (en) * 1988-03-31 1990-08-07 Hewlett-Packard Company Programmatically generated in-circuit test of analog to digital converters
US5084874A (en) * 1988-09-07 1992-01-28 Texas Instruments Incorporated Enhanced test circuit
US5008885A (en) * 1988-12-29 1991-04-16 International Business Machines Corporation Event-controlled error injection system
EP0382360B1 (de) * 1989-02-08 1997-03-19 Texas Instruments Incorporated Durch Ereigniss befähigte Prüfarchitektur für integrierte Schaltungen
US5001713A (en) * 1989-02-08 1991-03-19 Texas Instruments Incorporated Event qualified testing architecture for integrated circuits
US5051996A (en) * 1989-03-27 1991-09-24 The United States Of America As Represented By The United States Department Of Energy Built-in-test by signature inspection (bitsi)
US5048021A (en) * 1989-08-28 1991-09-10 At&T Bell Laboratories Method and apparatus for generating control signals
US5297277A (en) * 1990-08-31 1994-03-22 International Business Machines Corporation Apparatus for monitoring data transfers of an oemi channel interface

Also Published As

Publication number Publication date
EP0470803A2 (de) 1992-02-12
DE69126575D1 (de) 1997-07-24
KR920004856A (ko) 1992-03-28
JPH04297880A (ja) 1992-10-21
US5623500A (en) 1997-04-22
KR100217535B1 (ko) 1999-09-01
EP0470803A3 (en) 1993-03-24
EP0470803B1 (de) 1997-06-18

Similar Documents

Publication Publication Date Title
DE69126575T2 (de) Durch Ereignis befähigte Prüfarchitektur
DE60221836T2 (de) Verfahren und vorrichtung zur optimierten parallelen prüfung und zum zugriff auf elektronische schaltung
DE60211659T2 (de) Verfahren und vorrichtung zur diagnose von ausfällen in einer integrierten schaltung unter verwendung von techniken des typs design-for-debug (dfd)
DE68928837T2 (de) Prüf-Puffer/Register
DE68928613T2 (de) Bidirektionale-Boundary-Scan-Testzelle
DE2349324C2 (de) Verfahren zum Prüfen einer Funktionseinheit und Einrichtung zur Durchführung des Verfahrens
DE2346617C3 (de) Verfahren zur Prüfung der einseitig begrenzten Laufzeitverzögerung einer Funktionseinheit
DE69226001T2 (de) Hochgeschwindigkeitsprüfung einer integrierten Schaltung mit JTAG
DE3789651T2 (de) Hochleistungsfehlererkennung und Fehlersuche in einem Taktsystem.
DE19937232B4 (de) Entwicklungs- und Bewertungssystem für integrierte Halbleiterschaltungen
EP0186724B1 (de) Prüf- und Diagnoseeinrichtung für Digitalrechner
DE10120080B4 (de) Ereignisgestütztes Prüfsystem mit einer Einrichtung zur Erzeugung von Prüfabschluß-Mehrfachsignalen
DE69224176T2 (de) Prüfung unter Strom von gemischter Konventionell/Boundary-Scanlogik
DE10055456A1 (de) Halbleiterprüfsystem zur Prüfung von Mischsignalbauteilen
DE3855410T2 (de) Diagnosegerät für ein Datenverarbeitungssystem
DE2639323A1 (de) System zur fehleranalysierung bei gedruckten schaltungsplatinen
DE69021683T2 (de) Selbstprüfbare Randlogikschaltung.
DE69217524T2 (de) Testschaltung, vorgesehen in digitalen logischen Schaltungen
DE69321207T2 (de) Abtastprüfung für integrierte Schaltkreise
DE69516303T2 (de) Prüfverfahren und vorrichtung für pegelempfindliche abfragekonstruktionen
DE69115338T2 (de) Abtasttestschaltung zur Verwendung mit Mehrfrequenzschaltungen
DE60109321T2 (de) Prüfung von asynchroner rücksetzschaltung
DE3702408A1 (de) Verfahren und pruefvorrichtung zum pruefen einer integrierten schaltungsanordnung
EP0060321A1 (de) Verfahren für eine rasche interne Logikprüfung an integrierten Schaltungen
DE112008000937T5 (de) Prüfgerät und elektronische Vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition