DE3750236T2 - Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung. - Google Patents

Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.

Info

Publication number
DE3750236T2
DE3750236T2 DE3750236T DE3750236T DE3750236T2 DE 3750236 T2 DE3750236 T2 DE 3750236T2 DE 3750236 T DE3750236 T DE 3750236T DE 3750236 T DE3750236 T DE 3750236T DE 3750236 T2 DE3750236 T2 DE 3750236T2
Authority
DE
Germany
Prior art keywords
data
scan
signal
test
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3750236T
Other languages
English (en)
Other versions
DE3750236D1 (de
Inventor
Richard F Boyle
Leonard E Overhouse
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers 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 Tandem Computers Inc filed Critical Tandem Computers Inc
Application granted granted Critical
Publication of DE3750236D1 publication Critical patent/DE3750236D1/de
Publication of DE3750236T2 publication Critical patent/DE3750236T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318335Test pattern compression or decompression
    • 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/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • 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/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/2733Test interface between tester and unit under test

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)

Description

  • Die vorliegende Erfindung betrifft das Testen von Digital Systemen, wie sie beispielsweise bei Datenverarbeitungssystemen und -vorrichtungen anzutreffen sind. Die Erfindung betrifft insbesondere eine Abtaststeuervorrichtung, die eine Folge von Teststrukturen erzeugt, die in das und aus dem Digitalsystem verschoben ("getastet") werden und Ergebnissignaturen erzeugen, aus denen bestimmt werden kann, ob das Digitalsystem fehlerlos funktionieren wird oder nicht.
  • Digital- oder Logiksysteme wurden häufig so getestet, daß eine Reihe von Testsignalen auf das System aufgedrückt und die in Reaktion darauf erzeugten Ausgangssignale überwacht wurden. Es wird beispielsweise verwiesen auf die IEEE International Test Conference 1983 in Philadelphia, Seiten 283-288, IEEE NY. US F. Motika et al, die die Benutzung von pseudozufälligen Teststrukturen zum Testen von Digitalsystemen wie z. B. LSSD-Logikchips (LSSD = pegelempfindliches Scan-Design) beschreibt. Über diese Methode hinaus wurden Digitalsysteme entwickelt, die Elementspeicherphasen enthalten (d. h. Flipflops), die wahlweise in einer von zwei Betriebsarten funktionieren können: Einer ersten Betriebsart, in der sie normal in dem System arbeiten, und einer zweiten Betriebsart, in der eine Reihe der Speicherphasen in Reihe geschaltet sind und ein erweitertes Schieberegister bzw. eine "Abtastzeile" bilden, wie sie häufiger bezeichnet wird. Dann werden Bitstrukturen in die und aus den Abtastzeilen abgetastet und das Ergebnis wird analysiert (gewöhnlich durch Vergleichen mit bekannten oder standardmäßigen Strukturen), um die Betriebsfähigkeit der Phasen und Verbindungen des getesteten Systems zu bestimmen.
  • Es wurden häufig Mikroprozessoren zum Steuern des Testablaufs einschließlich der Bildung der Bit Strukturen benutzt, die in die Abtastzeilen getastet wurden, sowie des Abrufens und Speicherns der durch die Abtastung erzielten Ergebnisse. Ein solcher Test ergibt gewöhnlich große Mengen an Ausgangsdaten, die große Mengen an Speicherplatz benötigen, um die für eine spätere Analyse durch die Abtastzeilen geleiteten Testinformationen zu speichern. Aus diesem Grund wird nur eine begrenzte Anzahl von Bitstrukturen zum Begrenzen der zum Speichern der Testinformationen benutzten Speicherkapazität benutzt, wodurch der Testumfang beschränkt wird, der möglich wäre.
  • Ein Beispiel für ein bekanntes System zur Diagnose und zum Austesten eines Datenverarbeitungssystems ist in der EP-A- 0 031 501 beschrieben. Bei diesem Beispiel wird ein Diagnose-Computer an einen Host-Computer angeschlossen, um Hardware und Software des Host-Computers zu testen. Bei diesem System handelt es sich um eine äußerst komplexe und zeitaufwendige Konstruktion, bei der nacheinander die Zustände eines Betriebscomputers entfernt und untersucht werden, basierend auf einem Applikations- oder Diagnoseprogramm, um determinierte Zustände dieses Computers zu untersuchen. Es wird ein Host-Computer benutzt, bei dem bestimmte gewünschte Logik-Teststrukturen seriell eingegeben und zu dem entsprechenden Latch-Ort des Host-Computers übertragen werden. Es werden keine pseudozufälligen Teststrukturen verwendet.
  • Außerdem sind bisher bekannte Testverfahren dieser Art nicht zu Inline-Testvorgängen (d. h. Durchführung eines Tests während des Betriebs des Systems, ohne den Ablauf zu unterbrechen) in der Lage. Das System wurde gewöhnlich vor Beginn des Testablaufs gestoppt und nach Abschluß des Testens wieder neu gestartet.
  • Weiterhin wurden frühere Abtasttestverfahren auf eine Art und Weise durchgeführt, bei der eine relativ große Zeit (im Hinblick auf Prozessorzeit) zwischen der Installation der Bitstruktur und eventuellen Arbeitsschritten vergehen konnte, mit denen die Bitstruktur durch einen oder mehrere Schaltphasen des Systems durchgeleitet wurden. Demgemäß waren Tests dieser Art häufig nicht in der Lage, diesen schwierigsten aller Probleme auf die Spur zu kommen: den Synchronisations- oder Wettlaufproblemen im Prozessorsystem.
  • Daraus geht hervor, daß eine Vorrichtung erforderlich ist, die in der Lage ist, ein Digitalsystem, wie z. B. einen Prozessor oder eine andere Logik, so vollständig wie möglich zu testen. Die Vorrichtung sollte in der Lage sein, das System in einer Weise zu testen, die schnell und transparent ist, den Systembetrieb so wenig wie möglich stört und so arbeitet, daß "Laufzeit"-Fehler wie Wettlauf- und Synchronisationsprobleme erfaßt werden.
  • Gemäß der vorliegenden Erfindung wird eine Inline- Abtaststeuervorrichtung zum Testen eines im Betrieb befindlichen Digitalsystems der Art mit einer Mehrzahl von Elementspeichereinheiten, von denen vorbestimmte Speichereinheiten in Reaktion auf das Aufdrücken eines Abtastsignals selektiv mit der Bildung einer Anzahl von erweiterten seriellen Schieberegistern reagieren, wobei jedes erweiterte Schieberegister einen Eingangsanschluß und einen Ausgangsanschluß aufweist, wobei die Vorrichtung folgendes umfaßt: einen Speicher zum Speichern von Abtastanweisungen und Daten; eine Abtaststeuerung in Verbindung mit dem Speicher, die in Reaktion auf die von dem Speicher empfangenen Abtastanweisungen mit der Erzeugung einer Reihe von Testsignalen einschließlich von Abtastsignalen reagiert, wobei die Steuerung Strukturgenerierungsmittel zur sequentiellen Generierung von pseudozufälligen Teststrukturen aufweist; ein erstes Mittel zum Verbinden des strukturgenerierenden Mittels mit den Eingangsanschlüssen von entsprechenden der erweiterten Schieberegister; und ein zweites Mittel zum Verbinden der Ausgangsanschlüsse der erweiterten Schieberegister mit der Abtaststeuerung;
  • wobei die Abtaststeuerung als erstes das erweiterte Schieberegister zum Leiten einer Speicherung des Betriebszustandes des Digital Systems von den Ausgangsanschlüssen zu dem Speicher veranlaßt, als zweites die von den strukturgenerierenden Mitteln generierten pseudozufälligen Teststrukturen von den genannten Eingangsanschlüssen zu den genannten Ausgangsanschlüssen leitet, um die von dem genannten zweiten Mittel in dem Speicher empfangenen Daten zu speichern, und als drittes den gespeicherten Betriebszustand zu dem Digital System durch die genannten Eingangsklemmen wieder auffindet und ersetzt.
  • Die vorliegende Erfindung sieht somit eine Inline- Abtaststeuervorrichtung vor, die in der Lage ist, ein Digital System während des Betriebs so zu testen, daß die Elemente des Systemes weitgehend abgedeckt werden. Tests können "inline" durchgeführt werden, d. h. mit nur einer kurzen und geringfügigen Unterbrechung des Laufzeitbetriebs des Systems. Die Vorrichtung ist in der Lage, die Tests mit hoher Geschwindigkeit, hoher Wirksamkeit und in einer Weise durchzuführen, die den Test für das getestete System im wesentlichen transparent macht.
  • Bestimmte Elementspeichereinheiten, oder Flipflops, aus denen sich das Digitalsystem zusammensetzt, auf die sich die Erfindung bezieht, können in Reaktion auf das Aufdrücken eines Abtastsignals zwischen zwei Betriebsarten umschalten: einer normalen Betriebsart und einer Testbetriebsart. Wird das Abtastsignal nicht aufgedrückt, dann bilden die Speichereinheiten Flipflops, Zähler, Latches und ähnliches, je nachdem, wofür sie im Rahmen des Systemaufbaus verwendet wurden. Wird das Abtastsignal jedoch aufgedrückt, dann werden bestimmte Speichereinheiten logisch zusammengeschlossen und bilden dann eine Reihe von großen oder erweiterten Schieberegistern oder "Abtastzeilen". Jede durch das Abtastsignal auf diese Weise konfigurierte Abtastzeile weist einen Eingangsanschluß zum Empfangen einer Teststruktur und einen Ausgangsanschluß zum Liefern der Teststruktur nach dem Durchleiten durch die Abtastzeile auf. Die Abtaststeuervorrichtung soll Steuersignale generieren, einschließlich des Abtastsignals und einer pseudozufälligen Bitstruktur, die während des Testens zu den jetzt gebildeten Abtastzeilen des Systems gesendet werden. Vor dem eigentlichen Testen benutzt die Abtaststeuervorrichtung jedoch die Abtastzeilen, um auf den Zustand des Systems zuzugreifen (ihn zu verschieben) und zu sichern. Nach dem Testen kann der gesicherte Zustand wieder eingesetzt werden, so daß das System weiterarbeiten kann, als wäre es nie unterbrochen worden. Eine zyklische Blockcodierung zur Kompression dient dazu, bei Bedarf die durch die Abtastzeilen geleiteten Bitstrukturen zu komprimieren, so daß, beispielsweise bei einer äußerst großen Anzahl von resultierenden Teststrukturen (z. B. 40 Millionen Byte mit 40 Abtastzeilen, jeweils maximal 128 Bit lang), eine 5-Byte-Signatur zur GUT/SCHLECHT-Ermittlung für den Test erhalten wird.
  • Die Abtaststeuervorrichtung ist eine mikroprogrammierbare Zustandsablauf Steuerung, die in Reaktion auf Befehlsfolgen ansprechbar ist und die selbst in Reaktion auf eine Diagnosedaten-Testeinheit (DDT) betrieben wird, die die notwendigen Befehle und Daten zum Steuern und Überwachen der durchgeführten Tests in die Abtaststeuervorrichtung herunterladen kann.
  • Die Erfindung wird nachfolgend, jedoch nur beispielhaft, unter Bezugnahme auf die Begleitzeichnungen beschrieben. Dabei zeigt:
  • Fig. 1 ein Blockdiagramm, das in diagrammatischer Form die Hauptelemente der Erfindung in Kombination mit dem zugehörigen Digitalsystem veranschaulicht, mit dem die Erfindung benutzt wird;
  • Fig. 2 ein Blockdiagramm der Einzelheiten der Abtaststeuereinheit von Fig. 1 in der Form eines Blockdiagramms;
  • Fig. 3 eine Veranschaulichung der Elementspeichereinheiten, oder Flipflops, die einen Teil des durch die vorliegende Erfindung getesteten zugehörigen Systems bilden, unter Darstellung von deren Umkonfigurierung in Reaktion auf ein SCAN.EN-Signal zu erweiterten seriellen Schieberegistern oder Abtastzeilen für den Empfang von Bitstrukturen während des Testens;
  • Fig. 4 eine Wahrheitstabelle, die die zu den Speichereinheiten von Fig. 3 gesendeten Steuersignale sowie deren Auswirkungen auf diese zeigt;
  • Fig. 5 ein Blockdiagramm der Halte-Freigaberegister, die einen Teil der Abtaststeuerungsvorrichtung von Fig. 1 bilden und in Reaktion auf die Abtaststeuereinheit Abtaststeuersignale zum Steuern der Abtastzeilen von Fig. 3 sendet;
  • Fig. 6 ein Logikdiagramm einer Phase der Gefrier/Pause-Einheiten (G/P) von Fig. 5, die deren Funktion zur Erzeugung der Gruppensteuersignale veranschaulicht;
  • Fig. 7 eine Illustration einer der zyklischen Blockkompressionsschaltungen (CRC) von Fig. 1;
  • Fig. 8 ein Logikdiagramm einer Phase der CRC-Logik von Fig. 7;
  • Fig. 9 eine Illustration der Trennung eines Teils einer "Logikinsel" des getesteten Systems während des Tests; und
  • Fig. 10 ein Synchronisationsdiagramm zur Veranschaulichung bestimmter betrieblicher Aspekte der Erfindung.
  • In den Abbildungen, und insbesondere in Fig. 1 ist mit der Bezugszahl 10 die Abtaststeuervorrichtung der vorliegenden Erfindung bezeichnet, die Inline-Tests an einem in Betrieb befindlichen Digital System 12 durchführen kann, das beispielsweise ein Datenprozessor oder ähnliches ist. Das Digitalsystem 12 beinhaltet eine Reihe von einzelnen Elementstatus-Speichereinheiten (z. B. Flipflops - Fig. 3), die in einer von zwei Betriebsarten konfiguriert werden können: das Nichtaufdrücken der Steuersignale stellt eine erste Betriebsart dar, in der die Zustandsspeichereinheiten auf normale Weise in dem Digitalsystem 12 funktionieren (d. h. wie für das Digitalsystem vorgesehen). Beim Aufdrücken der Steuersignale werden die Verbindungen der Zustandsspeichereinheiten jedoch zu einer Mehrzahl von erweiterten Schieberegistern oder "Abtastzeilen" 14 umkonfiguriert. Für die Zwecke der Beschreibung der vorliegenden Erfindung sind die Abtastzeilen 14 zu Gruppen von je acht eingeteilt, wobei jede Gruppe mit der Bezugszahl 16 bezeichnet ist. Es sind fünf solche Gruppen 16 von Abtastzeilen 14 vorhanden, die Gruppe 0 (GRP-0) bis Gruppe 4 (GRP-4).
  • Jede Abtastzeile 14 hat maximal 128 Bitpositionen. Einige Abtastzeilen 14 sind weniger als 128 Bitpositionen lang, aber keine ist länger, obwohl die Erfindung in dieser Konstruktion Abtastzeilen von bis zu 256 Bitpositionen Länge bewältigen kann. Abtastzeilen mit mehr als 256 Bitpositionen Länge erfordern einen größeren Zykluszähler 52 (Fig. 2), der zum Zählen der Anzahl von Takten dient, die in einer Teststruktur zum Abtasten der gesamten Länge einer Abtastzeile verwendet werden.
  • Die Abtaststeuervorrichtung 10 beinhaltet auch eine Abtaststeuereinheit (SCU) 20, die in Reaktion auf Befehle und Daten anspricht, die in einem Direktzugriffsspeicher (RAM) 22 gespeichert sind. Der RAM 22 und die SCU 20 sind durch einen 13 Bit breiten Adreßbus 24 und einen 9 Bit breiten (8 Datenbits, 1 Bit gerade Parität) RAM-Datenbus 26 miteinander verbunden.
  • Die SCU 20 arbeitet in Reaktion auf die Befehle und Daten, die in dem RAM 22 gespeichert sind und erzeugt vorbestimmte und/oder pseudozufällige Bitstrukturen, die auf einem 16-Bit Abtastdaten-Eingangsbus (SDI) an die Gruppen 16 der Abtastzeilen 14 übertragen werden, und empfängt die Ergebnisse des Tests auf einem 8-Bit- Abtastdaten-Ausgangsbus (SDO). Es sind Haltesteuersignale zum Aufbereiten der Abtastzeilen 14 für das Digital System 12 von einem 40-Bit-HALTE-Bus vorgesehen, die von einer Reihe von Haltefreigaberegistern 30 kommen. Die von der SCU 20 generierten Haltesteuersignale werden auf einem HLD.CTL- Bus zu den Haltefreigaberegistern 30 geleitet und dienen nach dem Aufdrücken dazu, den Kontext der einzelnen Haltefreigaberegister selektiv so aufzubereiten, daß sie Signale erzeugen, die den Betrieb der Abtastzeilen 14 auf eine nachfolgend ausführlicher beschriebene Weise steuern.
  • Die Ergebnisse beliebiger Tests können bei Bedarf durch eine Gruppe von zyklischen Blockkompressionseinheiten 34 (CRC) (CRC-0 bis CRC-4) komprimiert werden, die STEUER- und FREIGABE-Signale von einem CRC-Steuerbus zum Leiten von deren Betrieb empfangen. Die Ausgänge der CRC-Gruppen 34, die drei Zustandsausgänge sind, bilden den SDO-Bus. Die verwendete Kompressionsmethode ist eine einfache Variante der zyklischen Blockcodierung.
  • Die SCU 20 arbeitet zunächst unter der Kontrolle eines Diagnosedaten-Transceivers (DDT) 36, bei dem es sich um eine Einheit auf der Basis eines Mikroprozessors handelt, die Befehle und Daten auf den RAM 22 der SCU 20 herunterlädt und in der Lage ist, den Status von einem oder allen Registern der SCU 20 durch die heruntergeladenen Befehle voreinzustellen.
  • Die SCU 20 ist ausführlicher in Fig. 2 dargestellt. Wie gezeigt, ist das Rückgrad der SCU 20 ein interner Datenbus (IDB), der alle Betriebseinheiten der SCU 20 miteinander verbindet. Anweisungen oder Befehle werden in die SCU 20 auf dem bidirektionalen RAM-Datenbus 26 durch einen Multiplexer (MPX) 42 zu dem IDB 40 übertragen und in ein Befehlsregister 24 (CMD) geladen. Jeder Befehl beinhaltet 4 Bits eines Betriebscodes, die zu der Steuerlogik 46 zwecks Generierung der notwendigen internen Synchronisierungs- und Steuersignale für die verschiedenen Einheiten der SCU 20 gesendet werden. Die anderen 4 Bits dienen zum Bilden (mit dem Betriebscode der 9 Bits) von CRC-Steuersignalen, die an die CRC-Gruppe 34 übertragen werden (Fig. 1).
  • Die Steuerlogik 46 empfängt Nullerfassungssignale von der Null-Decoder-Logik 48 und 50. Die einzelnen Null- Decoder-Logiken 48, 50 empfangen jeweils Zählwerte, die durch einen Zykluszähler 52 und einen Schleifenzähler 54 erzeugt wurden. Jede Null-Decoder-Logik 48, 50 erzeugt ein Signal, das eine Zahl von NULL von ihrem zugehörigen Zähler bedeutet. Wie die Fig. 2 veranschaulicht, werden der Zykluszähler 52 und der Schleifenzähler 54 von dem IDB 40 geladen.
  • Der Zykluszähler 52 wird mit einer Zahl voreingestellt (durch einen befehlsgesteuerten RAM-Zugriff), die eine Anzahl gewünschter Wiederholungen eines Ereignisses für einen bestimmten Befehl anzeigt, und wird nachfolgend durch ein Signal (nicht dargestellt) dekrementiert, das von der Steuerlogik 46 erzeugt wird, bis ein Wert von NULL erreicht ist. Der Zykluszähler 52 zählt beispielsweise die Anzahl von Bits von Teststrukturen, die in die Abtastzeilen 14 verschoben wurden. Der Schleifenzähler ist ähnlich, mit der Ausnahme, daß er mit einer Zahl geladen wird, die eine Anzahl von Wiederholungen einer Gruppe von Befehlen anzeigt, die von der SCU 20 ausgeführt werden sollen, wobei jeder Ausführungszyklus der Gruppe gezählt wird.
  • Auf von dem RAM 22 (Fig. 1) auf dem RAM-Datenbus 26 eingehende Daten wird durch 13-Bit-Adressen zugegriffen, die entweder von einem Befehlsadreßregister 60 oder einem Datenadreßregister 62 erzeugt werden, die jeweils von einem Multiplexer MPX 64 auf den RAM-Adreßbus 24 gemultiplext werden.
  • Ein Statusregister 45 enthält Informationen darüber, ob die SCU 20 sich in einem Ruhezustand (Nicht- Betriebszustand) oder in einem Betriebszustand (unter Ausführung von Befehlen von seinem RAM 22) befindet. Liegt der letztere Zustand vor, dann hat DDT 36 nur begrenzten Zugang zur SCU 20: Er liest das Statusregister 45 und kann den Betrieb durch Schreiben auf die Steuerlogik über den ADDR-Bus stoppen.
  • Der Ausgang des Statusregisters 45 ist über einen Multiplexer (MPX) 43 mit dem DDT-Datenbus 24 verbunden, der auch den RAM-Datenbus 26 mit diesem verbindet. Der Statusregister 45 erzeugt ein RUHE-Signal zum Steuern des MPX 42. Wenn sich die SCU 20 in ihrem Ruhezustand befindet, dann wird das RUHE-Signal aufgedrückt und MPX 42 überträgt den DDT-Datenbus 24 zu dem IDB 40. Wenn sich die SCU 20 in einem Besetztzustand befindet, dann wird das RUHE-Signal weggenommen und der RAM-Datenbus 26 wird durch den MBX 42 an den IDB 40 übertragen.
  • Der RAM 22 ist so organisiert, daß die unteren 512 Bytes Speicherplätze (d. h. die Adressen 0 bis 511) die in der SCU 20 gespeicherten Befehle (bzw. Anweisungen) enthalten. Jede Anweisung hat 2 Bytes: das erste Byte enthält den Betriebscode, darauf folgt das zweite Byte mit Daten. Jeder Betriebscodeteil der Anweisung wird auf den geradzahligen Adressen (der Speicherplätze 0 bis 511) gespeichert, jeder Datenteil der Anweisung an den ungeraden Adressen. Demgemäß ist das niedrigstwertige Bit (LSB) des Befehlsadreßregisters 60 ein Flipflop, der lediglich in Reaktion auf ein von der Steuerlogik 46 erzeugtes T-Signal umschaltet. Außerdem ist, da nur 8 Bits (außer dem umgeschalteten Bitort des Befehlsadreßregisters 60) erforderlich sind, das Befehlsadreßregister selbst nur 8 Bits breit und der Multiplexer (MPX) 64 füllt die vier höchstwertigen Bitpositionen mit Nullen aus, um die erforderliche 13-Bit-Adresse zu bilden.
  • Die SCU 20 weist außerdem ein(en) 16-Bit- Strukturgenerator/Register (PGR) 70 auf, der/das die zum Testen der Logikeinheit 12 benutzten Bitstrukturen erzeugt (Fig. 1). Der PGR 70 dient traditionell entweder als 16- Bit-Register oder als polynomischer 16-Bit-Zähler, der in der Lage ist, 2¹&sup6; - 1 Bit pseudozufälliger Kombinationen von jedem beliebigen Ausgangswert mit Ausnahme von NULL zu erzeugen. Wenn der PGR 70 mit einem NULL-Wert geladen und in seiner polynomischen Zählerkonfiguration betrieben wird, dann bleibt er so lange im NULL-Zustand, bis er mit einem anderen Nicht-Null-Wert geladen wird. Ausgangswerte werden über den IDB 40 durch einen Multiplexer 72 gespeist. Der Ausgang des PGR wird an den SDI-Bus zwecks Übertragung des Inhalts des PGR 70 an die Abtastzeilen 14 der Logikeinheit 12 gespeist.
  • Der PGR-Inhalt kann dem RAM 22 auch über den RAM- Datenbus 26 durch einen Multiplexer (MPX) 74 zur Verfügung gestellt werden. Obwohl nicht spezifisch dargestellt, wird der 16-Bit-Ausgang des PGR 70 von dem MPX 74 zu 8-Bit- Gruppen gemultiplext und hat außerdem Parität, die jedem 8- Bit-Anteil hinzugefügt wird, wenn er im RAM 22 gespeichert wird.
  • Der RAM 22 kann auch Daten von dem SDO-Bus, dem DDT- Datenbus 24 und dem Datenadreßregister 62 über den MPX 74 empfangen. Was den 13-Bit-Ausgang des Datenadreßregisters 62 betrifft, so werden die 13 Bits von dem MPX 74 gemultiplext, was ein erstes 9-Bit-Wort ergibt, das einen 8-Bit-Teil des Inhalts des Datenadreßregisters 62 enthält, und ein zweites 9-Bit-Wort, das den restlichen 5-Bit-Teil des Datenadreßregisters 62 enthält.
  • Schließlich beinhaltet die SCU 20 ein Paar Testregister 76 und 78, die jeweils in Reaktion auf Synchronisierungs- und Steuersignale der Steuerlogik 46 von dem IDB 40 geladen werden können. Der Inhalt der Testregister 76 und 78 wird durch den HLD.CTL-Bus an die Haltefreigaberegister 30 (Fig. 1) übertragen. Die durch die Testregister 76 und 78 erzeugten Signale qualifizieren die Ausgänge der Haltefreigaberegister 30 (die mit auf dem SDI- Bus übertragenen Daten geladen werden) und erzeugen die HALTE-Signale, die die Abtastzeilen 14 steuern.
  • Wie in der Diskussion in bezug auf Fig. 1 angedeutet, arbeitet die durch die erfindungsgemäße Vorrichtung dargestellte Steuerung teilweise so, daß sie Steuersignale erzeugt, um vorbestimmte Flipflops zu konfigurieren, die in der getesteten Logikeinheit 12 enthalten sind, um eine Reihe von erweiterten Schieberegistern für Abtastzeilen 14 zu bilden. Fig. 3 veranschaulicht dieses Konzept. Fig. 3 zeigt eine der Abtastzeilen 14, die von Elementspeichereinheiten (z. B. Flipflops) 80&sub1;, 80&sub2;, . . . 80N gebildet werden. Jede der Speichereinheiten 80&sub1; . . . 80N empfängt an einem Takteingang (CLK) ein TAKT-Signal, ein von dem System erzeugtes periodisches Signal. An einem Dateneingang (D) würde ein Datensignal empfangen, das von einer anderen Schaltung der Logikeinheit 12 während des normalen Betriebs erzeugt würde. Jede der Speichereinheiten 80&sub1; . . . 80N beinhaltet einen Abtastdateneingang (SD), wobei die Speichereinheit 80&sub1; eine Zeile des SDI-Bus an ihrem SDI- Eingang empfängt. Die anderen Speichereinheiten 80&sub2; . . . 80N empfangen an ihren jeweiligen SD-Eingängen den Ausgang (Q) der unmittelbar vorangehenden Phase der Abtastzeile 14.
  • Logikschaltungen, die einen Inverter 82 und ein UND- Glied 84 mit zwei Eingängen umfaßt, erzeugt Signale, die jeweils von den Datenfreigabe- (DE) und Abtastfreigabe- (SE)-Eingängen jedes der Speicherelemente 80&sub1; . . . 80N zum Steuern des Betriebes der Abtastzeile 14 während des Testbetriebes oder zum Freigeben der einzelnen Speicherelemente 80&sub1; . . . 80N aus der Abtastzeile-14- Konfiguration empfangen werden, so daß sie normal verwendet werden können.
  • Es werden zwei Signale zum Steuern der Konfiguration und des Betriebes der Abtastzeile 14 empfangen: ein HALT FREIGABE (HOLD.EN) und ein ABTAST FREIGABE (SCAN.EN)- Signal. In Fig. 4 ist die Wahrheitstabelle für die einzelnen Speicherelemente 80&sub1; . . . 80N der Abtastzeile 14 dargestellt. So arbeitet z. B., wenn sowohl HOLD.EN und SCAN.EN logisch NULL sind, jede Elementspeichereinheit in ihrer normalen Betriebsart, so daß die Q-Ausgänge, wenn sie durch das CLK-Signal synchronisiert werden, zu dem werden, was zum D-Ausgang gesendet wird, wenn ein logisches HOCH zum DE-Eingang gesendet wird; wird ein logisches TIEF gesendet, dann behält das Speicherelement seinen Zustand bei. Wenn gewünscht, kann eine zusätzliche Schaltung hinzugefügt werden, so daß der DE-Eingang zusätzlich zum Ausgang des Inverters 82 die Signale von anderen Elementen der Logikeinheit 12 (Fig. 1) erhält, so daß der Empfang von Daten des Speicherelementes möglich wird. Eine solche zusätzliche Schaltung muß jedoch so gebaut werden, daß das HOLD.EN-Signal alles übersteuert, um sofort alle Signale wegzunehmen, die dann an den DE-Eingang gesendet werden.
  • Nun mit Bezug auf Fig. 4, wenn das SCAN.EN-Signal logisch EINS wird, die das HOLD.EN-Signal auf logisch NULL hält, dann werden die Speicherelemente 80&sub1; in die Lage versetzt, Daten zu empfangen, die zu ihren entsprechenden SD-Eingängen gesendet werden, d. h. sie sind jetzt als Abtastzeile 14 konfiguriert. Wenn das HOLD.EN-Signal aufgedrückt wird (logisch EINS), dann wird der Inhalt der Abtastzeile 14 gefroren, so daß keine Zustandsänderung möglich ist.
  • Eine weitere Eigenschaft der Speicherelemente 80&sub1; . . . 80N ist die, daß sie so aufgebaut sind, daß der SE-Eingang den DE-Eingang übersteuert. Das heißt, wenn ein logisches HOCH an den SE-Eingang gesendet wird, dann nimmt der Q- Ausgang das an, was an den SD-Eingang gesendet wird (mit jedem TAKT-Impuls) - je nachdem, was an den DE-Eingang gesendet wird. Wenn am DE-Eingang ein logisches HOCH aufgedrückt wird, wenn ein logisches TIEF an den SE-Eingang gesendet wird, dann nimmt der Q-Ausgang das an, was mit jedem TAKT an den D-Eingang gesendet wird. Wenn schließlich ein logisches TIEF sowohl am SE- als auch am DE-Eingang anliegt, dann bleibt das Speicherelement unverändert.
  • Das HOLD.EN-Signal wird für jede einzelne Abtastzeile 14 durch die HALTE-FREIGABE-Register 30 erzeugt. Die HALTE- FREIGABE-Register 30 sind ausführlich in Fig. 5 dargestellt. Wie dargestellt, beinhalten die HALTE- FREIGABE-Register 30 fünf separate 8-Bit-Register 90 bis 94, die jeweils einer der Abtastgruppen 16 entsprechen. Jede Bitposition jedes der HALTE-FREIGABE-Register 90 bis 94 entspricht einer der Abtastzeilen 14. Der Ausgang der HALTE-FREIGABE-Register 90 bis 94 wird an die Gefrier/Pause- (G/P) -Schaltungen 95 bis 99 gesendet. In jedes der HALTE-FREIGABE-Register 90 bis 94 wird von 8 Bits des SDI-Busses Daten in Reaktion auf durch eine Adreß- Decoder-Schaltung 100 erzeugte Ladefreigabesignale geladen. Drei andere Bitzeilen des SDI werden an die Adreß-Decoder- Schaltung 100 gesendet, um die Ladefreigabesignale zu generieren. Die Ladefreigaberegister 90 bis 94 können selektiv oder alle gleichzeitig mit demselben 8-Bit- Steuerwort geladen werden. Das Laden erfolgt durch das Ladefreigabesignal (LD.EN) von der Steuerlogik 46 der SCU 20.
  • Die G/P-Schaltungen 95 bis 99 empfangen ebenfalls die Signale FREEZE, PAUSE, FREEZE.EN und PAUSE.EN von den Testregistern 76 und 78 der SCU 20 (Fig. 2), um die einzelnen Ausgänge von den Registern 90 bis 94 aufzubereiten, wodurch die Gruppensteuersignale für jede der Abtastzeilen erzeugt werden, d. h. um das HOLD.EN-Signal für jede Abtastzeile zu erzeugen. Diese letztere Aufbereitung ist in dem Logikdiagramm von Fig. 6 dargestellt.
  • Die G/P-Schaltungen 95 bis 99 beinhalten eine Aufbereitungsphase für jede der Bitpositionen der entsprechenden Haltefreigaberegister 90 bis 94. So beinhaltet beispielsweise, wie Fig. 6 veranschaulicht, die G/P-Schaltung 95 eine Aufbereitungslogik 104, die die Bitposition des Haltefreigaberegisters 90 empfängt, die einer der Abtastzeilen 14 (z. B. Abtastzeile 1) der Gruppe 0 (GRP-0) der Gruppen 16 entspricht. Durch Setzen dieser Bitposition auf EINS wird die zugehörige Abtastzeile 14 dazu gewählt, durch Aufdrücken des PAUSE-Signals gehalten zu werden. Die Signale PAUSE, FREEZE, FREEZE.EN und PAUSE.EN haben die Funktion, den Befehl der Bitposition zur Erzeugung des HOLD.EN-Signals für Abtastzeile 1 (S/L-1) aufzubereiten oder zu übersteuern.
  • Somit hat jede Phase des Haltefreigaberegisters 90 eine entsprechende Aufbereitungslogik 104 in der G/P- Schaltung 95 und dasselbe gilt in bezug auf die Haltefreigaberegister 91 bis 94 und ihre entsprechenden G/P-Schaltungen 96 bis 99. Wie Fig. 6 veranschaulicht, beinhaltet somit die Aufbereitungslogik 104 drei Zwei- Eingangs-UND-Glieder 106, 108 und 110, deren Ausgänge mit einem ODER-Glied 112 mit vier Eingängen gekoppelt ist. Das UND-Glied 106 empfängt an einem Eingang den Zustand des Inhalts der Phase des Haltefreigaberegisters 90 entsprechend S/L-1. Der andere Eingang (ein aktives HOCH) des UND-Gliedes 106 empfängt das PAUSE-Signal von dem Testregister 76 der SCU 20 (Fig. 2).
  • Das UND-Glied 108 empfängt das FREEZE.EN-Signal von dem Testregister 78 SCU 20, während an seinem anderen Eingang das UND-Glied 108 in der Lage ist zuzulassen, daß andere Signale die Speicherelemente 80&sub1; . . . 80N gefrieren, aus denen sich die Abtastzeile S/L-1 zusammensetzt. Diese anderen Gefriersignale könnten von dem Digital System 12 nach Erfassen eines Fehlers oder nach einem anderen eingeplanten Zustand generiert werden.
  • Auf ähnliche Weise ist das UND-Glied 110 so konfiguriert, daß es das PAUSE.EN-Signal von dem Testregister 78 empfängt, während an seinem anderen Eingang das UND-Glied 108 die anderen Pause-Signale zum Pausieren der Speicherelemente 80&sub1; . . . 80N empfängt. Diese Pause- Signale könnten von dem Digital System 12 generiert werden, um nach Erfassung eines eingeplanten Zustandes Zustandsänderungen vorübergehend unmöglich zu machen. Das FREEZE-Signal von dem Testregister 76 wird schließlich direkt an das ODER-Glied 112 gesendet und in eine logische ODER-Beziehung mit den Ausgängen der UND-Glieder 106 bis 110 gebracht, was ein HOLD.EN-Signal für die Abtastzeile S/L-1 zur Folge hat. Wenn man für einen Augenblick die Signale ANDERE FREEZE und ANDERE PAUSE außer acht läßt, dann wird offensichtlich, daß ungeachtet des Inhalts der Registerphase entsprechend der Abtastzeile S/L-1 die Signale FREEZE, PAUSE, FREEZE.EN und PAUSE.EN übersteuernd das HOLD.EN-Signal erzeugen, was dazu führt, daß die dazugehörige Abtastzeile selektiv gehalten oder gefroren wird. Daraus geht hervor, daß der Zweck der Haltefreigaberegister 30, wenn man die Fig. 1, 5 und 6 zusammennimmt, darin besteht, während eines Testbetriebs selektiv eine oder mehrere der Abtastzeilen 14 zu halten (oder zu gefrieren). Wenn eine Abtastzeile 14 in einen Halte- oder Gefriermodus gebracht wird, dann kann sich der Zustand der Abtastzeile 14 nicht ändern. Aufgrund der Fähigkeit, eine Abtastzeile 14 selektiv zu gefrieren, kann die SCU 20 wählen, welche Abtastzeilen 14 während des Testens verschoben, gefroren oder in einen Betriebsmodus gesetzt werden sollen. Dadurch kann die SCU 20 einen Test an einer beliebigen Zahl beliebiger Abtastzeilen 14 von 0 bis alle (40) gleichzeitig konfigurieren.
  • Es ist möglicherweise zweckmäßig, an dieser Stelle die Signale PAUSE, FREEZE, FREEZE.EN und PAUSE.EN genauer zu definieren:
  • PAUSE:
  • Dieses Signal wird von der SCU aufgedrückt, um selektiv diejenigen Abtastzeilen 14 zu gefrieren, die durch die entsprechenden Bitpositionen der Haltefreigaberegister 90- 94 freigegeben wurden. Dieses Signal wird von der SCU 20 dazu benutzt, bestimmte Abtastzeilen 14 selektiv zu gefrieren, während diejenigen Abtastzeilen 14, die nicht gefroren werden, einen Betriebsmodus (um eine freie Ausführung für eine gesteuerte Anzahl von Zyklen von 1 bis zu einer Zahl nahe unendlich zuzulassen) und einen Abtastmodus (damit Daten um 1 Bit pro Takt verschoben werden können) gesetzt werden können
  • FREEZE:
  • Dieses Signal veranlaßt, wenn es aufgedrückt wird, das Aufdrücken des an alle Abtastzeilen 14 gesendeten HOLD.EN-Signals, wodurch ein Gefrieren der Logik einer 12 veranlaßt wird, so daß Zustandsänderungen nicht mehr möglich sind.
  • FREEZE.EN:
  • Die SCU 20 drückt das FREEZE.EN-Signal auf, so daß die ANDERE FREEZE-Signale die Logikeinheit 12 gefrieren können. Wenn diese Signale nicht aufgedrückt werden, dann können sie kein Gefrieren der Logikeinheit 12 veranlassen.
  • PAUSE.EN:
  • Auf ähnliche Weise wie bei FREEZE.EN gibt das PAUSE.EN-Signal von der SCU 20 ANDERE PAUSE-Signale frei, die von der Logikeinheit 12 generiert werden, um ein vorläufiges Gefrieren derjenigen Abtastzeilen 14 zu veranlassen, die von einer EINS in der Bitposition des Haltefreigaberegisters 80&sub1; . . . 80N gewählt wurden, die dieser Abtastzeile entsprechen.
  • Vor dem Fortsetzen ist es an dieser Stelle möglicherweise zweckmäßig, die Benutzung des FREEZE-Signals bei der Steuerung des Betriebs der Abtastzeilen 14 in bezug auf Fig. 10 zu diskutieren. Fig. 10 ist ein vereinfachtes Synchronisationsdiagramm, das in zusammenfassender Form den Betrieb der Abtaststeuervorrichtung 10 durch die von ihm zur Verfügung gestellten Signale darstellt.
  • Die SCU 20 wird sich zunächst in ihrem Ruhezustand befinden und das Statusregister 45 (Fig. 2) drückt (für den Zeitpunkt t&sub0;) das RUHE-Signal auf, um eine Übertragung des DDT-Datenbus 24 zum IDB 40 über den MPX 42 zu veranlassen. Die SCU 20 wird durch den DDT 36 (Fig. 1) "aufgeweckt" und drückt einen Augenblick lang das SEL-Signal auf. Dadurch wird die Steuerlogik veranlaßt, mit der Ausgabe von Synchronisations- und Steuersignalen zum Zugreifen auf und Codieren von Befehlen von dem RAM 22 zu beginnen. Somit initialisiert sich während der in Fig. 10 mit "A" bezeichneten Periode SCU 20 selbst in Reaktion auf das SEL- Signal einschließlich des Ladetestregisters 76 mit einem Wort, das das Aufdrücken des FREEZE-Signals zum Zeitpunkt t&sub1; erzeugt, wodurch das Aufdrücken des HOLD.EN-Signals global aufalle Abtastzeilen 14 veranlaßt wird (siehe Fig. 5 und 6). Wie oben angedeutet, ist FREEZE ein globales Signal; es wird an alle G/P-Schaltungen 95 bis 99 gesendet, so daß auch die acht HOLD.EN-Signale von jeder der G/P-Schaltungen 95 bis 99 aufgedrückt werden. Dadurch wird das an den DE-Eingang der Zustandsspeicherelemente 80&sub1; . . . 80N (Fig. 3) jeder der Abtastzeilen 14 gesendete Signal weggenommen, wodurch das Digitalsystem 12 gefroren wird. Das im Testregister 76 und im Testregister 78 geladene Wort drückt die Signale PAUSE, HOLD/DISABLE (HALTEN/SPERREN) und I/L-TEST.EN auf, um das Digitalsystem 12 sowie ausgewählte Teile davon gegen äußere Beeinflussungen oder beeinflussende externe Vorrichtungen im Verlaufe von während des Testens auftretenden Zustandsveränderungen zu trennen bzw. abzuschirmen. Dies wird nachfolgend erläutert.
  • Die SCU 14 setzt den Einrichtungsvorgang fort und bereitet (in dieser Diskussion) die Sicherung des Zustandes des Digitalsystems 12, einschließlich der NULL-Stellung des Strukturgenerators 70 vor. Wenn zum Zeitpunkt t&sub2; der Einrichtvorgang abgeschlossen ist, dann lädt die SCU 20 das Testregister 76, so daß das FREEZE-Signal weggenommen (was zu einer Wegnahme von HOLD.EN führt) und gleichzeitig das Signal SCAN.EN aufgedrückt wird. Die Folge ist, daß die Zustandsspeicherelemente 80&sub1; . . . 80N als Abtastzeilen 14 konfiguriert werden, die auf TAKT (Fig. 3) mit dem Verschieben des Zustands der Abtastzeilen 14 aus dem Digitalsystem 12 und auf den SDO-Bus (Fig. 1) reagieren, so daß der Zustand des Digital Systems 12 in RAM 22 gesichert werden kann. Die SCU 20 steuert das PAUSE-Signal zusammen mit periodischen Ladevorgängen von gewählten der Haltefreigaberegister 90 bis 94 (Fig. 5), um selektiv vier der Abtastzeilengruppen GRP-0 bis GRP-4 zu gefrieren, so daß eine Gruppe arbeiten kann, während die entsprechende CRC-Gruppe ausgewählt wird, um die gewählten Abtastzeilen 14 auf den SDO-Bus zu leiten (siehe unten). Auf diese Weise werden die 40 Abtastzeilen während des "Sicherns" auf den 8-Bit-SDO-Bus (Zeile) gemultiplext.
  • Nach dem Speichern des Zustands des Digital Systems 12 wurden alle NULLEN in die Abtastzeilen 14 übertragen und eine sequentielle Generierung und Erfassung von pseudozufälligen Teststrukturen in die Abtastzeilen 14 kann beginnen. Somit wird während der Periode mit der Bezeichnung "C" das Digitalsystem 12 gefroren (d. h. FREEZE wird aufgedrückt, SCAN.EN weggenommen) und die SCU 20 bereitet (während der Periode mit der Bezeichnung "C" in Fig. 10) den Testbetrieb vor, einschließlich der Ausgangswerteinstellung von PGR 70 auf eine andere Zahl als NULL. Zum Zeitpunkt t&sub4; ist der Einrichtvorgang abgeschlossen und FREEZE wird weggenommen (wodurch alle Abtastzeilen 14 freigegeben werden) und SCAN.EN für 128 TAKT-Zyklen (von dem Zykluszähler 52 der SCU 20 gezählt) aufgedrückt. Nach dem Aufdrücken des Signals von der Null-Decoder-Schaltung 48 veranlaßt die SCU 20 ein Abfallen von SCAN.EN für einen TAKT-Zyklus und drückt am Ende dieses Zyklus zum Zeitpunkt ts FREEZE auf. Dadurch werden parallel in jede der Abtastzeilen 14 die von PGR 70 erzeugten pseudozufälligen Strukturen geladen. Nach dem Laden werden die Abtastzeilen 14 praktisch demontiert und das Digital System 12 kann einen Zyklus lang normal arbeiten (d. h. wird einmal "fortgeschaltet"; es kann bei Bedarf jedoch auch eine Anzahl von Zyklen fortschalten).
  • Während der Periode mit der Bezeichnung "E" bereitet die SCU 20 die Generierung einer weiteren Teststruktur vor und hält dabei die SCU 20 gefroren. Zum Zeitpunkt t&sub6; beginnt eine weitere Abtastung, während das Ergebnis des vorangegangenen Abtast- /Fortschaltbetriebs in die CRC- Gruppe 34 verschoben wird, um eine Testsignatur zu generieren. Ein Zyklus vor Abschluß der Periode mit der Bezeichnung F wird ein weiterer Fortschaltschritt durchgeführt, zum Zeitpunkt t&sub7; gefolgt durch Aufdrücken von FREEZE und einer weiteren Einrichtungsperiode (G). Dieser Abtast-/Fortschaltbetrieb wird fortgesetzt, wobei eine Testergebnissignatur generiert wird, die in der CRC-Gruppe 34 gehalten wird, bis jede Bitposition aller Abtastzeilen 14 alle 2¹&sup6; - 1 Bitstrukturen gesehen haben, die von dem PGR 70 erzeugt wurden.
  • Auf diesen Testbetrieb folgt eine Sicherung der fünf Bytes der Testergebnissignatur auf dem RAM 22 (über den SDO-Bus und MPX 74) sowie eine Wiederherstellung des Zustands des Digital Systems 12 (der wie oben beschrieben während der Periode B gespeichert wurde) im wesentlichen auf dieselbe Art, in der er gesichert wurde, nur umgekehrt.
  • Die in die Abtastzeilen 14 verschobenen Bitstrukturen werden durch die CRC-Einheiten 34 (d. h. CRC-0 . . . CRC-4) komprimiert. In Fig. 7 ist eine der CRC-Einheiten 34, CRC-0 veranschaulicht. CRC-1, CRC-2, CRC-3 und CRC-4 sind hinsichtlich Aufbau, Funktion und Betrieb mit CRC-0 identisch, d. h. die nachfolgende Diskussion trifft gleichermaßen auf alle zu.
  • Wie Fig. 7 veranschaulicht, gibt es für jeden der acht Abtastzeilen Ausgänge von GRP-0 von Abtastzeilen eine CRC- Logikeinheit 120&sub1; - 120&sub8; zum Empfangen dieses Ausgangs. Jede CRC-Logikeinheit 120&sub1; - 120&sub8; generiert ein CRC-Signal, das mit dem Dateneingang D eines Flipflops 122&sub1; - 122&sub8; verbunden ist. Der Ausgang (Q) jedes der Flipflops 122&sub1; - 122&sub8; ist mit den entsprechenden Bitzeilen SDO.0 - SDO.7 des SDO-Busses durch die Dreizustandsverstärker 124 verbunden. Die CRC- Steuersignale von der Steberlogik 46 der SCU 20 (Fig. 2) werden von CRC-0 empfangen und bestimmte von ihnen aktivieren die Dreizustandsverstärker 124, während andere zu den einzelnen CRC-Logikeinheiten 120&sub1; - 120&sub8; angewandt werden.
  • Aus Fig. 8 ist ersichtlich, daß eine der CRC- Logikeinheiten, die CRC-Logikeinheit 120&sub1;, ausführlicher dargestellt ist. Wie veranschaulicht, beinhaltet die CRC- Logikeinheit 120&sub1; sechs Zwei-Eingangs-UND-Glieder 130, 132, 134, 136, 138 und 140, zwei Zwei-Eingangs-ODER-Glieder 142 und 144, ein EXKLUSIV-ODER-Glied 146 und ein Vier-Eingangs- ODER-Glied 148, das das Signal erzeugt, das an den Dateneingang D des Flipflops 122&sub1; gesendet wird.
  • Wie in Fig. 8 dargestellt ist, beinhalten die CRC- Steuersignale, die von dem CRC-0 eingehen, ein SICHERUNGS- Signal, ein Rückmeldungsfreigabesignal (FEEDBACK.EN), ein Löschsignal (CLR), ein Signal, das nur eine einzige Abtastzeile 14 für die CRC-Codierung, in diesem Fall die Abtastzeile N (SIG.STRON) wählt, und ein Signal, das alle acht Abtastzeilen 14 zur CRC-Codierung wählt, das (ALL)- Signal. Das SICHERN-Signal bereitet das UND-Glied 130 auf, so daß es die Ausgabe der Abtastzeile 14 in Verbindung mit der CRC-Logikeinheit 120N+1 aktiviert, d. h. STR.N zum Dateneingang (D) des Flipflops 122N+1. Das FEEDBACK.EN-Signal bereitet das UND-Glied 132 so auf, daß es das SDO.N'-Signal (der Flipflop 122N+1-Ausgang) an den Dateneingang (D) des Flipflops 122N+1 sendet, wodurch der Status des Flipflops im wesentlichen erhalten bleibt. Das CLR-Signal bereitet das UND-Glied 134 auf, dessen zweiter Eingang geerdet ist, um eine logische NULL an den D-Eingang des Flipflops 122N+1 zu senden, um ihn auf NULL zu setzen. Das SIG.STR.N-Signal dient dazu, den Ausgang der zugehörigen Abtastzeile 14, STR.N, und einen entsprechenden Rückmeldebegriff von dem CRC-Ausgang SDO.J' auf logisch EXKLUSIV-ODER zu setzen, um durch eine Variante von zyklicher Blockcodierung das von STR.N gesendete Signal zu komprimieren. Die Beziehung zwischen STR.N und SDO.J' ist so, daß für N das entsprechende J wie folgt ist:
  • N J
  • 1 0
  • 2 1
  • 3 2
  • 4 3
  • 5 4
  • 6 5
  • 7 6
  • und für SDO.0 (d. h. N=0) ergibt sich der Rückmeldebegriff durch Umkehrung von SDO.7' von Flipflop 122&sub8; (Fig. 7). Das resultierende, von dem EXKLUSIV-ODER-Glied 146 erzeugte EXKLUSIV-ODER-Signal wird dann an den Dateneingang (D) des Flipflops 122N+1 (über das ODER-Glied 148) zur Speicherung gesendet. Das ALLE-Signal dient zur Durchführung einer ähnlichen EXKLUSIV-ODER-Funktion, mit der Ausnahme, daß ALLE global ist; d. h. es wird in allen CRC-Logikeinheiten 120&sub1; . . . 120&sub8; der gesamten CRC-Gruppe 34 aufgedrückt, während SIG.STR.N nur an die CRC-Logikeinheit gesendet wird, die den STR.N - in jeder CRC-Gruppe 34 - entspricht.
  • SIG.STR.N wird zur selektiven Codierung von nur einem der acht STR.N-Ausgänge der zugehörigen Abtastzeile 14 gesendet, während das ALLE-Signal global alle acht STR.N- Ausgänge der zugehörigen Abtastzeile 14 Gruppe 16 komprimiert.
  • Gruppen oder "Inseln" von Logikschaltungen verknüpfen verschiedene der Elementspeichereinheiten, die die Abtastzeilen 14 bilden. Diese Inseln sind typischerweise statuslos, so daß nur kombinatorische Verknüpfungen zwischen den Ausgängen einer Reihe von Elementzustands- Speichereinheiten möglich sind, die einen Teil einer Abtastzeile 14 bilden, und den Eingängen einer anderen Zahl von (identischen oder anderen) Statusspeichereinheiten, die eine andere (identische oder andere) Abtastzeile 14 bilden. Diese kombinatorischen Logikinseln werden während der Testvorgänge gut ausgebildet und gut getestet.
  • Es ist jedoch möglich, das bestimmte dieser Logikinseln eine Form von Speicher beinhalten, die Statusinformationen speichern können oder werden, die für den sachgemäßen Betrieb des Digital Systems 12 erforderlich sind. Ein solcher Speicher bildet jedoch nicht Teil einer Abtastzeile 14 während der Tests. Diese Logikinseln (d. h. solche mit einer Form von Speicher) stellen drei Probleme dar: erstens, wenn der Betrieb der Logikeinheit 12 unterbrochen wird und sein Zustand gespeichert werden muß, dann ist eine Erhaltung des Zustands erforderlich, der durch die speicherenthaltenden Logikinseln aufrechterhalten wird. Zweitens muß während des Testens darauf geachtet werden, daß die außerhalb der Logikinsel erzeugten Signale durch diesen Zustand nicht geändert oder beeinflußt werden. Drittens beeinflussen, auch während des Testens, die Statusinformationen innerhalb dieser Inseln möglicherweise die Inselausgangssignalwerte, die die Abtastzeilen 14 speisen. Dies ist während eines Inline-Tests nicht wünschenswert, da diese Werte einen Maschinenzustand zum Zeitpunkt des Tests reflektieren und dadurch durch den Test selbst unbeeinflußt bleiben.
  • Demzufolge werden diese speicherenthaltenden Logikinseln während des Testens auf eine Weise abgeschirmt, die Eingangssignale zu den Inseln sperren, wodurch gewährleistet ist, daß durch die Schaltung in der Insel generierte Signale keine andere Schaltungen in der Logikeinheit 12 beeinflussen, insbesondere Abtastzeilen 14. Somit ist eine Abschirmung aus zwei Gründen notwendig: Zum Abwehren der Auswirkungen der Zustandsänderungen in den Abtastzeilen 14 während des Testens auf die Schaltungselemente und insbesondere auf den Zustand (d. h. den Speicher) dieser speicherenthaltenden Logikinseln, und zum Blockieren der Auswirkungen des unbekannten oder unbestimmten Zustands der speicherenthaltenden Logikinsel auf die Abtastzeilen 14.
  • Die Abschirmung erfolgt auch in einem größeren Ausmaß: eine Teilmenge aller Logikinseln kann möglicherweise außerhalb des Digitalsystems 12 generierte Signale empfangen und generiert möglicherweise auch selbst Ausgangssignale, die außerhalb des Digitalsystems 12 übertragen werden. Ein Beispiel für eine externe Eingabe in das Digital System 12 ist ein Eingangskanal im Digital System 12 oder eine Sensoreingabe in das Digitalsystem 12. Ein Beispiel für eine externe Ausgabe an das Digital System 12 ist ein Ausgangskanal oder ein Steuersignal zu einem Peripheriegerät (nicht dargestellt). Während des Testens müssen die extern generierten Signale abgeschirmt werden, da diese Signale, wenn sie an das Digitalsystem 12 gesendet werden, auf anscheinend zufällige Weise die Testergebnisse beeinflussen können. Während des Testens ist es ebenfalls notwendig, das Digital System 12 von dem Peripheriegerät auf eine solche Weise abzuschirmen, daß das Peripheriegerät nicht beeinflußt wird, da während des Testens das Digital System 12 dem Peripheriegerät sonst Zufallsfolgen von Zufallswerten präsentieren würde, die von dem Peripheriegerät falsch interpretiert werden könnte und dessen Operationen möglicherweise beeinflussen würde. Somit werden während des Testens der Logikeinheit 12 Eingangs- und Ausgangsschnittstellen in bekannte Zustände gebracht oder gesperrt, um das Digitalsystem 12 gegen externe und unbekannte Störungen zu isolieren und um auf ähnliche Weise zu gewährleisten, daß durch den Testbetrieb veranlaßte Zustandsänderungen ihrerseits keine an das Digital System 12 angeschlossene externe Einheiten beeinflussen.
  • Für eine solche Abschirmung werden zwei Signale, HOLD/DISABLE (HALTEN/DEAKTIVIEREN) und I/L TEST.EN benutzt. Diese Signale werden von Testregistern 76 und 78 angesteuert. Das Signal HOLD/DISABLE dient zum Abschirmen der externen Eingänge zum Digital System 12 und zum Sperren bzw. Abschirmen der Signalzeilen von dem Digitalsystem 12. Das Signal I/L TEST.EN dient zum Abschirmen der internen speicherenthaltenen Logikinseln des Digitalsystems, dessen Speichereinheiten nicht zur Bildung von Abtastzeilen 14 während des Tests gesteuert werden und auch nicht werden können.
  • Dieses Konzept ist diagrammatisch in Fig. 9 dargestellt, in der eine Logikinsel dargestellt ist, die mit der Bezugszahl 200 gekennzeichnet ist. Wie Fig. 9 zeigt, enthält die Logikinsel 200 einen Speicher 201 und empfängt Signale 202/202a von bestimmten der Elementspeichereinheiten, aus denen sich im Testmodus der Abtastzeilenteil 14a zusammensetzt. Wenigstens einige dieser Signale (z. B. "CS") bedienen den Speicher 201. Ebenso können die von der Logikinsel 200 erzeugten Signale durch Signalleitungen 204/204a bis zur Stufe eines anderen Abtastzeilenteils 14b verbunden werden. Zusätzliche Signale wie z. B. durch Signalleitungen 210/210a angedeutet, können von einer Quelle (nicht dargestellt) außerhalb des Digital Systems 12 empfangen werden, von denen die Logikinsel 200 ein Teil ist.
  • Nach Beginn des Testens schirmen die UND-Glieder 212a und 212b in Reaktion auf das Aufdrücken des HOLD/DISABLE- Signals die Logikinsel 200 (und ähnliche Logikinseln) von der "Außenwelt" ab (d. h. außerhalb des Digitalsystems 12). Auf ähnliche Weise schirmen die UND-Glieder 214a, 214b und 214c in Reaktion auf das Aufdrücken des I/L TEST.EN-Signals die Logikinsel 200 und insbesondere den Speicher 201 gegen Einflüsse durch Zustände des Abtastzeilenteils 14a oder gegen Einflüsse der Zustandsänderung des Abtastzeilenteils 14b ab.
  • Aus Fig. 1 ist wiederum ersichtlich, daß die während des Testmodus in der Logikeinheit 12 gebildeten Abtastzeilen bis zu 128 Bitpositionen lang sein können. Jede der Gruppierungen von Abtastzeilen GRP-0 bis GRP-4 empfangen acht Zeilen des SDI, wobei jede der Abtastzeilen 14 in jeder Gruppe eine SDI-Buszeile empfangen. Drei der Abtastzeilengruppen 16 empfangen die acht höheren Bitpositionen des SDI-Bus, während die beiden übrigen die acht niederwertigen Bitpositionen empfangen.
  • Bei Betrieb erhält die SCU 20 zunächst die notwendige Programmierung und die erforderlichen Daten von dem DDT 46 durch Initialisierung des RAM 22 der SCU 20. Da sich die SCU in einem Ruhezustand befindet, wird das RUHE-Signal von dem Statusregister aufgedrückt, wodurch der DDT-Datenbus 24 für die Kommunikation zu dem IDB 40 über dem MPX 42 gewählt wird (Fig. 2). Dies ergibt Zugang zu dem DDT 36 zu dem Datenadreßregister 62 der SCU 20 und dadurch zum RAM 22. Die niederwertigen 512 Byte Speicherplätze des RAM 22 werden von dem DDT 36 mit Befehlsfolgen geladen. Die übrigen Speicherplätze des RAM 22 werden mit Daten geladen. Danach kann zu jedem beliebigen Zeitpunkt die erfindungsgemäße Vorrichtung 10 entweder von einer externen Quelle oder durch eine programmierte Steuerung in der Logikeinheit 12 zur Durchführung eines Inline-Tests während des Betriebs mit normalen Betriebsaufgaben in Aktion gerufen werden. Kurz gesagt, wie oben in Verbindung mit der Erläuterung von Fig. 10 beschrieben, wird die SCU 20 "aufgeweckt", um den Zustand der Logikeinheit 12 auf dem RAM 22 abzuspeichern, die Tests durchzuführen und den Systemzustand dann wieder herzustellen, damit die Logikeinheit 12 weitermachen kann. Die Befehle, die die SCU 20 betreiben und steuern, sind nachfolgend in Tabelle I dargestellt: TABELLE I
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • 00 ADDR JNZD.ADR
  • Steht der Schleifenzähler 51 nicht auf Null, so wird das Befehlsadreßregister 60 mit dem Inhalt (ADDR) des Datenbytes geladen. Der Schleifenzähler 51 wird dann zurückgezählt.
  • Steht der Schleifenzähler 51 auf Null, so wird das Befehlsadressregister 60 fortgeschaltet.
  • 10 ADDR JMP.ADR
  • Das Befehlsadreßregister 60 wird mit dem Inhalt (ADDR) des Datenbytes gefüllt.
  • 2R DATA LDI REG, MEM
  • (Sofortiges) Füllen von Registern "R" mit den Daten (DATA) in dem zweiten Byte des Befehls.
  • R = Reg. addr. Das bezeichnete Register wird durch die untere Tetrade in dem Befehlsbyte TABELLE I (Forts.)
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • adressiert. Hier, wie auch in anderen hier enthaltenen Anweisungen, bezieht sich R auf eine Adresse für ein Register oder einen Zähler der SCU 20, abhängig von dem Wert von R.
  • 3R DATA LDI MEM, REG
  • Das zweite Byte des Befehls (in dem SCU RAM 20) mit dem Inhalt des gewählten Registers R laden. Das Register R wird
  • R = reg. addr. durch die untere Tetrade des Befehlsbytes adressiert.
  • 4R DATA LDR REG, MEM
  • R= reg. addr. Das Register "R" mit den durch den Inhalt des Datenadreßregisters R adressierten Daten (DATA) füllen. Das Register R wird durch die niederwertigen 4 Bits des Betriebscodeteils des Befehls adressiert.
  • 5R 00 LDR MEM, REG
  • R = reg. addr. Den RAM 22 der SCU 20 an dem Speicherplatz mit dem Inhalt des gewählten Registers R füllen, der durch das Datenadreßregister 62 adressiert wird. Das Register R ist durch die untere Tetrade des Befehlsbytes spezifiziert. TABELLE I (Forts.)
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • 60 00 HALT
  • 70 00 Die SCU 20 setzt unverzüglich den RUHE- Flag und stoppt die Befehlsausführung. Die SCU 20 reagiert jetzt auf alle Datenübertragungsanforderungen von dem DDT 36 aus.
  • 80 COUNT STEP, COUNT
  • 90 Dieser Befehl durchläuft stufenweise oder kontinuierlich die Abtastzeilen 14 der Anzahl (COUNT) von Zyklen, die in dem COUNT-Feld angezeigt sind, dem zweiten Byte des Befehls. Das Zykluszählerregister 52 wird mit dem Inhalt des zweiten Byte des Befehls (COUNT) gefüllt. Wenn der Zykluszähler 52 gleich Null ist, endet die Ausführung.
  • A Fsss COUNT RANDOM, COUNT
  • Dieser Befehl dient zum Durchführen eines pseudozufälligen Testens des Digital Systems 20 über die Abtastzeilen 14. Er veranlaßt eine Übertragung der pseudozufälligen Daten in die ungefrorenen Abtastzeilen 14.
  • Der COUNT-Wert wird in den Zykluszähler 52 geladen und gibt die Zahl der Bits an, die in die Abtastzeilen 14 verschoben werden müssen. Wenn der Zykluszähler Null erreicht, ist der TABELLE I (Forts.)
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • Befehl abgeschlossen.
  • Wenn F (das höchstwertige Bit der unteren Tetrade des Befehlsbytes) NULL ist, dann wird sss durch die Decoderlogik 129 (Fig. 8) decodiert und drückt SIG.STR.N auf, wobei sss = N (d. h. wenn sss = 011, binär, N = 3, dezimal). Wenn F eine EINS ist, dann wird nur das extrem linke Bit von sss benutzt. Wenn s (extrem links) NULL ist, dann drückt die Decoderlogik 129 FEEDBACK.EN auf, um den Zustand von Register 122N+1 zu erhalten, und wenn s (extrem links) eine EINS ist, dann drückt die Decoderlogik 129 das ALLE- Signal auf, um die Kompression aller Abtastzeilen 14 freizugeben.
  • B Fsss COUNT RANDOM_STEP COUNT
  • Dieser Befehl dient zur Durchführung eines pseudozufälligen Tests des Digitalsystems 20. COUNT-Bits von (pseudo-) zufälligen Daten werden in die Abtastzeilen 14 verschoben, die Abtastzeilen von ihren Abtastzeilen- Konfigurationen freigegeben und die Logik 20 um einen Zyklus fortgeschaltet. Der COUNT-Wert wird in den Zykluszähler 52 geladen und bestimmt die Anzahl der Bits, die in die Abtastzeilen 14 zu verschieben TABELLE I (Forts.)
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • sind. Wenn der Zähler 52 gleich NULL ist, dann ist der Befehl abgeschlossen. F und sss der zweiten Tetrade des Befehlsbytes funktionieren genau wie die Anweisung RANDOM COUNT oben.
  • C 0 COUNT RESTORE, COUNT
  • D 0 COUNT Dieser Befehl dient zur Durchführung einer Wiederherstellung (des vorher gespeicherten Zustands) des Digitalsystems 12. Alternativ dient dieser Befehl zur Bereitstellung von Teststrukturen, die sich von denen unterscheiden, die von dem PGR 70 der SCU 20 generiert wurden. Die Speicherinhalte, auf die das Datenadreßregister 62 zeigte, werden in die ungefrorenen Abtastzeilen 14 verschoben. Daten werden durch das Strukturgeneratorregister 70 strukturiert. Das Datenadreßregister 62 wird mit jeder Verschiebung fortgeschaltet. Der COUNT-Wert wird in den Zykluszähler 52 geladen und bestimmt die Anzahl der Bits, die aus dem Speicher in die Abtastzeilen 14 zurückzusenden sind. Wenn COUNT gleich Null ist, dann ist der Befehl abgeschlossen. TABELLE I (Forts.)
  • OP-CODE BYTE DATEN-BYTE FUNKTION
  • Eg COUNT SAVE, INJECT RANDOM, COUNT
  • Fg Dieser Befehl dient zur Durchführung eines Speichervorganges des Zustandes des Digitalsystems 12. Die Daten von den ungefrorenen Abtastzeilen 14 werden in die Signatur-CRC-Register 122&sub1; - 122&sub8; verschoben. Die Signatur-CRC- Register 122&sub1; - 122&sub8; (Fig. 7) dienen als Fließband-Strukturierungsregister für den Speichervorgang. Die Speicherplätze, auf die das Datenadreßregister 62 gezeigt hat, werden mit den von den Abtastzeilen 14 verschobenen Daten gefüllt. Das Datenadreßregister 62 wird nach jeder Abspeicherung fortgeschaltet. Der COUNT-Wert wird in den Zykluszähler 52 geladen und bestimmt die Anzahl der zu verschiebenden Bits. Wenn der Zykluszähler 52 gleich NULL ist, ist der Befehl abgeschlossen. Die Abtastzeilen 14 werden mit Zufallsdaten injiziert, abhängig von dem Anfangswert des PGR 70. Die Triade g wählt, welche der fünf CRC-Einheiten 34 freigegeben ist, worauf eines der OUTPUT.EN-Signale aufgedrückt wird. Gleichzeitig wird das SICHERN-Signal durch die Decodereinheit 129 aufgedrückt; es wählt eines der fünf CRCs.
  • Aufgrund des Hochgeschwindigkeitsbetriebs der SCU 20 ist ein nahezu erschöpfender Test der abtastbaren Logikstruktur der Logikeinheit in einer Zeit
  • T = String Länge · (2**16) · ZYKLUSZEIT
  • möglich, wobei alle 2**16-Bit-Kombinationen für beliebige benachbarte 16-Bit-Abtastregister unter Verwendung der PGR 70 generierten Bitstrukturen getestet werden. Eine solche Struktur wurde mit einer digitalen Datenverarbeitungseinheit unter Verwendung von Abtastzeilen von 128 Bits Länge, einer Zykluszeit von 83 Nanosekunden aufgebaut getestet, um eine Prozessoreinheit in weniger als 0,7 Sekunden vollständig zu testen.
  • Nach der Initialisierung der Abtaststeuervorrichtung 10, d. h. nach dem Laden des RAM 22 der SCU 20 durch den DDT 36 mit den von der SCU 20 benötigten Anweisungsfolgen ist die Abtaststeuervorrichtung 10 betriebsbereit.
  • Wenn ein Inline-Test angefordert wird, d. h. wenn eine ungestörte Unterbrechung des Betriebs der Logikeinheit 12 erforderlich ist, dann muß der Zustand der Logikeinheit 12 gespeichert werden. Demgemäß veranlaßt eine erste von der SQ 20 auszuführende Anweisungsfolge eine Einrichtung des Testregisters 76 zur Ausgabe des FREEZE-Befehls, nämlich dem Gefrieren des Zustandes der Logikeinheit 12. Gleichzeitig wird das SCAN.EN-Signal aufgedrückt, so daß einzelne Elementspeichereinheiten 80&sub1; . . . 80N (Fig. 4) in einer Abtastzeile 14 konfiguriert werden. Als nächstes wird der PGR 70 gelöscht, das PAUSE-Signal weggenommen (Wegname des HOLD.EN-Signals - siehe Fig. 6), so daß die jetzt konfigurierten Abtastzeilen 14 ihren Inhalt aus den Gruppen von CRC-Schaltungen 34 verschieben können. Gleichzeitig wird das SICHERN-Signal durch die SCU 20 aufgedrückt (Übertragung auf dem CRC Steuerbus), um eine Kompression der Daten von den Strings zu verhindern. Die einzelnen Ausgänge der Abtastzeilen werden durch die CRC-Einheiten 34 auf dem SDO-Bus gemultiplext, während die logischen NULLEN von dem PGR 70 in die Abtastzeilen getaktet werden.
  • Der MPX 74 wird (durch die Steuerlogik 46 der SCU 20) aktiviert und wählt den SDO-Bus für die Übertragung auf den RAM-Datenbus 26. Gleichzeitig werden durch das Datenadreßregister 62 sequentielle Adressen registriert, so daß Statusinformationen von der Logikeinheit 12 an bekannten Speicherplätzen des RAM 22 gespeichert werden.
  • Nachdem jetzt der Zustand der Logikeinheit 12 erhalten ist, so daß er später wieder eingerichtet werden kann, kann das Testen beginnen. Das Testen erfordert typischerweise die Generation von pseudozufälligen Strukturen zum Laden von Abtastzeilen, das Umstellen der Logikeinheit 12 in einem "LAUF"-Zustand für einen Zyklus und das anschließende Hinausverschieben des Inhalts der Abtastzeilen durch die CRC-Gruppen 34, während gleichzeitig eine neue pseudozufällige Teststruktur eingebracht wird, um "Signaturen" zu erstellen, die mit bekannten Standardsignaturen verglichen werden, um den Gut/Schlecht- Status der Logikeinheit 12 zu bestimmen. Die aus den Abtastzeilen 14 verschobenen Strukturen werden komprimiert und in dem RAM 22 auf die gleiche Weise gespeichert, auf die die Statusinformationen gespeichert wurden. Dort bleiben sie, bis die DDT 36 auf sie zugreift und sie mit den Standardsignaturen vergleicht.
  • Nach Abschluß des Testens wird auf die zuvor gespeicherten Statusinformationen durch die SCU 20 zugegriffen und sie werden zurück in die Abtastzeilen der Logikeinheit 12 gebracht. Schließlich wird das SCAN.EN- Signal weggenommen, damit die einzelnen Elementspeichereinheiten (80&sub1; - 80N) jeder Abtastzeile 14 die normale Betriebskonfiguration wieder aufnehmen können und die Logikeinheit 12 den Betrieb fortsetzen kann.
  • Die vorangegangene Diskussion hat zwar die Erfindung vollständig und ausführlich beschrieben, es ist jedoch offensichtlich, insbesondere für den Fachmann, daß verschiedene Modifikationen und Änderungen möglich sind. Zum Beispiel die gegenwärtige Technik der Erzeugung von pseudozufälligen Teststrukturen, die sich einer Gewichtung von 50% EINSEN und 50% NULLEN nähert. Es könnte jedoch eine andere Gewichtung benutzt werden, indem Teststrukturen in einem Speicher gespeichert und nachfolgend sequentiell auf diese Teststrukturen die Anwendung auf Abtastzeilen 14 zugegriffen wird. Außerdem kann der PGR 70-Ausgang benutzt werden, um einen separaten Speicher zu adressieren, der die Teststruktur enthält.

Claims (9)

1. Inline-Abtaststeuervorrichtung zum Testen eines in Betrieb befindlichen Digitalsystems (12) der Art mit einer Mehrzahl von Elementspeichereinheiten, von denen vorbestimmte Speichereinheiten in Reaktion auf das Aufdrücken eines Abtastsignals (SCAN.EN) selektiv mit der Bildung einer vorbestimmten Zahl von erweiterten seriellen Schieberegistern reagieren, wobei jedes erweiterte Schieberegister (14) einen Eingangsanschluß und einen Ausgangsanschluß aufweist, wobei die Vorrichtung folgendes umfaßt:
einen Speicher (22) zum Speichern von Abtastanweisungen und Daten;
eine Abtaststeuerung (20) in Verbindung mit dem Speicher (22), die in Reaktion auf die von dem Speicher empfangenen Abtastanweisungen (JNZA, JMP, . . . ) mit der Erzeugung einer Reihe von Testsignalen einschließlich von Abtastsignalen reagiert, wobei die Steuerung Strukturgenerierungsmittel (70) zur sequentiellen Generierung von pseudozufälligen Teststrukturen aufweist;
ein erstes Mittel (SDI) zum Verbinden des strukturgenerierenden Mittels mit den Eingangsanschlüssen von entsprechenden der erweiterten Schieberegister; und
ein zweites Mittel (SDO, 34) zum Verbinden der Ausgangsanschlüsse der erweiterten Schieberegister (14) mit der Abtaststeuerung (20);
wobei die Abtaststeuerung (20) als erstes das erweiterte Schieberegister (14) zum Leiten einer Speicherung des Betriebszustandes des Digitalsystems von den Ausgangsanschlüssen zu dem Speicher (22) veranlaßt, als zweites die von den strukturgenerierenden Mitteln generierten pseudozufälligen Teststrukturen von den genannten Eingangsanschlüssen zu den genannten Ausgangsanschlüssen leitet, um die von dem genannten zweiten Mittel in dem Speicher (22) empfangenen Daten zu speichern, und als drittes den gespeicherten Betriebszustand zu dem Digital System durch die genannten Eingangsklemmen wiederauffindet und ersetzt.
2. Vorrichtung nach Anspruch 1, wobei das zweite Mittel (34) ein Mittel (CRC) zum Komprimieren der durch das erweiterte Schieberegister (14) geleiteten Bitstrukturen aufweist, wobei die komprimierten Bitstrukturen durch die Abtaststeuerung (20) in dem Speicher (22) gespeichert werden.
3. Vorrichtung nach Anspruch 1, wobei das zweite Mittel (34) ein Mittel (120) zur zyklischen Blockprüfung zwecks Komprimierens der durch das erweiterte Schieberegister (14) geleiteten Bitstrukturen aufweist, wobei die komprimierten Bitstrukturen durch die Abtaststeuerung (20) in dem Speicher (22) gespeichert werden.
4. Vorrichtung nach Anspruch 1, die Mittel (36) aufweist, die mit der Abtaststeuerung (20) verbunden sind und die Abtaststeuerung (20) beim Herunterladen der Anweisungen und Daten durch die Abtaststeuerungen zwecks Speicherung in dem Speicher (22) steuert.
5. Vorrichtung nach Anspruch 1, bei der das strukturgenerierende Mittel (70) n-Bit-Stellen für die sequentielle Generierung der pseudozufälligen Teststrukturen aufweist, wobei das erste Mittel (SDI) entsprechende der n-Bit-Stellen des strukturgenerierenden Mittels mit den Eingangsanschlüssen des entsprechenden erweiterten Schieberegisters (14) verbindet.
6. Vorrichtung nach Anspruch 1, wobei die genannte Anzahl von Testsignalen ein HALTE-Signal beinhaltet und wobei jede der vorbestimmten Elementspeichereinheiten (80&sub1;, 80&sub2;, . . . 80n) so strukturiert ist, daß sie auf das Aufdrücken des HALTE-Signals mit der Eingabe eines Zustands reagiert, der die Daten unverändert hält, bis das HALTE-Signal aufgedrückt wird.
7. Vorrichtung nach Anspruch 6, umfassend Register (90, 91, . . . 94) für jedes der Anzahl erweiterer Schieberegister (14) zwecks Aufnahme und Speicherung von ausgewählten Daten aus der Abtaststeuerung (20), und Logikmittel (95, 96, . . . 99) zum Generieren des HALTE-Signals in Reaktion auf das Aufdrücken eines vorbestimmten Signals aus der Anzahl der Testsignale und eines vorbestimmten Zustands der Daten.
8. Vorrichtung nach Anspruch 6, umfassend Mittel (30), die auf die Abtaststeuerung (20) mit individuellem Auswählen von einem oder mehreren erweiterten Schieberegistern (14) zwecks Empfangs des aufgedrückten HALTE-Signals reagiert.
9. Vorrichtung nach Anspruch 1, wobei jede der vorbestimmten Speichereinheiten (80&sub1;, 80&sub2; . . . 80n) so strukturiert ist, daß sie einen Dateneingang zum Empfangen von digitalen Systemdaten, einen Abtastdateneingang (SD), einen Abtastaktivierungseingang (SE) zum Empfangen eines Abtastsignals und einen Datenausgang (Q) aufweisen, wobei die erweiterten Schieberegister (14) dadurch gebildet werden, daß bei Mehrzahlen dieser bestimmten Speichereinheiten die Abtastdateneingänge (SD) zum Empfangen des Datenausgangs (Q) einer vorangegangenen vorbestimmten Speichereinheit verbunden sind, wobei jede der vorbestimmten Speichereinheiten auf das Abtastdatensignal (SCAN.EN) durch Nichtbeachten des Datengangs und des Akzeptierens der Daten von dem Abtastdateneingang reagiert.
DE3750236T 1986-03-31 1987-03-17 Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung. Expired - Fee Related DE3750236T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/845,918 US4718065A (en) 1986-03-31 1986-03-31 In-line scan control apparatus for data processor testing

Publications (2)

Publication Number Publication Date
DE3750236D1 DE3750236D1 (de) 1994-08-25
DE3750236T2 true DE3750236T2 (de) 1994-12-15

Family

ID=25296422

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3750236T Expired - Fee Related DE3750236T2 (de) 1986-03-31 1987-03-17 Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.

Country Status (5)

Country Link
US (1) US4718065A (de)
EP (1) EP0240199B1 (de)
JP (1) JPS62236043A (de)
AU (1) AU588982B2 (de)
DE (1) DE3750236T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0785099B2 (ja) * 1986-08-04 1995-09-13 三菱電機株式会社 半導体集積回路装置
JP2556017B2 (ja) * 1987-01-17 1996-11-20 日本電気株式会社 論理集積回路
US4780874A (en) * 1987-04-20 1988-10-25 Tandem Computers Incorporated Diagnostic apparatus for a data processing system
DE3719497A1 (de) * 1987-06-11 1988-12-29 Bosch Gmbh Robert System zur pruefung von digitalen schaltungen
JPH0255331U (de) * 1988-10-11 1990-04-20
US5029171A (en) * 1989-05-25 1991-07-02 Hughes Aircraft Company Test vector generation system
IL94115A (en) * 1990-04-18 1996-06-18 Ibm Israel Dynamic process for creating pseudo-random test templates for pompous hardware design violence
US5150366A (en) * 1990-08-01 1992-09-22 International Business Machines Corp. Reduced delay circuits for shift register latch scan strings
US5293123A (en) * 1990-10-19 1994-03-08 Tandem Computers Incorporated Pseudo-Random scan test apparatus
EP0499671B1 (de) * 1991-02-21 1997-05-21 International Business Machines Corporation Integrierter Schaltkreis mit eingebautem Selbsttest für die Erkennung logischer Fehler
JPH0785101B2 (ja) * 1991-03-20 1995-09-13 株式会社東芝 論理信号検査方法及び検査装置
US5515383A (en) * 1991-05-28 1996-05-07 The Boeing Company Built-in self-test system and method for self test of an integrated circuit
GR920100088A (el) * 1992-03-05 1993-11-30 Consulting R & D Corp Koloni S Διαφανής έλεγχος ολοκληρωμένων κυκλωμάτων.
JP2550837B2 (ja) * 1992-09-25 1996-11-06 日本電気株式会社 スキャンパスのテスト制御回路
US5951703A (en) * 1993-06-28 1999-09-14 Tandem Computers Incorporated System and method for performing improved pseudo-random testing of systems having multi driver buses
EP0632467A1 (de) * 1993-06-30 1995-01-04 International Business Machines Corporation Integrierte Schaltung mit prozessorgestützer Selbsttestschaltung
US5416783A (en) * 1993-08-09 1995-05-16 Motorola, Inc. Method and apparatus for generating pseudorandom numbers or for performing data compression in a data processor
US5557619A (en) * 1994-04-04 1996-09-17 International Business Machines Corporation Integrated circuits with a processor-based array built-in self test circuit
US5694401A (en) * 1994-06-27 1997-12-02 Tandem Computers Incorporated Fault isolation using pseudo-random scan
JP3281211B2 (ja) * 1995-01-31 2002-05-13 富士通株式会社 同期式メモリを有する情報処理装置および同期式メモリ
US5991909A (en) * 1996-10-15 1999-11-23 Mentor Graphics Corporation Parallel decompressor and related methods and apparatuses
WO2000065364A1 (fr) * 1999-04-23 2000-11-02 Hitachi, Ltd. Ci a semi-conducteur et son procede d'elaboration
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
GB2367912B (en) * 2000-08-08 2003-01-08 Sun Microsystems Inc Apparatus for testing computer memory
US6904553B1 (en) 2000-09-26 2005-06-07 Hewlett-Packard Development Company, L.P. Deterministic testing of edge-triggered logic
GB2395302B (en) * 2002-11-13 2005-12-28 Advanced Risc Mach Ltd Hardware driven state save/restore in a data processing system
US7174486B2 (en) * 2002-11-22 2007-02-06 International Business Machines Corporation Automation of fuse compression for an ASIC design system
DE102004004808A1 (de) * 2004-01-30 2005-08-25 Infineon Technologies Ag Verfahren und Vorrichtung zum Sichern und Einstellen eines Schaltungszustandes einer mikroelektronischen Schaltung
US8995417B2 (en) * 2008-06-09 2015-03-31 Qualcomm Incorporated Increasing capacity in wireless communication
JP6468846B2 (ja) * 2015-01-07 2019-02-13 ルネサスエレクトロニクス株式会社 画像符号化復号システムおよびその診断方法
CN115144725A (zh) * 2021-03-30 2022-10-04 意法半导体股份有限公司 用于电子电路的测试架构,对应设备和方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3761695A (en) * 1972-10-16 1973-09-25 Ibm Method of level sensitive testing a functional logic system
US4326290A (en) * 1979-10-16 1982-04-20 Burroughs Corporation Means and methods for monitoring the storage states of a memory and other storage devices in a digital data processor
US4312066A (en) * 1979-12-28 1982-01-19 International Business Machines Corporation Diagnostic/debug machine architecture
JPS58205265A (ja) * 1982-05-26 1983-11-30 Fujitsu Ltd スキヤンル−プ・チエツク方式
ZA834008B (en) * 1982-06-11 1984-03-28 Int Computers Ltd Data processing system
US4513418A (en) * 1982-11-08 1985-04-23 International Business Machines Corporation Simultaneous self-testing system
JPS59174953A (ja) * 1983-03-25 1984-10-03 Fujitsu Ltd スキヤンイン/アウト制御方式
US4575674A (en) * 1983-07-01 1986-03-11 Motorola, Inc. Macrocell array having real time diagnostics
US4534028A (en) * 1983-12-01 1985-08-06 Siemens Corporate Research & Support, Inc. Random testing using scan path technique
US4602210A (en) * 1984-12-28 1986-07-22 General Electric Company Multiplexed-access scan testable integrated circuit

Also Published As

Publication number Publication date
EP0240199B1 (de) 1994-07-20
JPS62236043A (ja) 1987-10-16
US4718065A (en) 1988-01-05
AU588982B2 (en) 1989-09-28
AU7040987A (en) 1987-10-08
EP0240199A2 (de) 1987-10-07
EP0240199A3 (en) 1989-11-15
DE3750236D1 (de) 1994-08-25

Similar Documents

Publication Publication Date Title
DE3750236T2 (de) Gerät zur In-line-Abfragesteuerung für Datenprozessorprüfung.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69226001T2 (de) Hochgeschwindigkeitsprüfung einer integrierten Schaltung mit JTAG
DE69706271T2 (de) Integrierter Rechner mit Befehlsverfolgung
DE69714472T2 (de) Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung
DE60025789T2 (de) Logische eingebaute Selbstprüfung (LBIST) Steuerschaltungen, Systeme und Verfahren mit automatischer Bestimmung der maximalen Abtastkettenlänge
DE69834892T2 (de) Eingebetteter Logikanalysator
DE3882266T2 (de) Abfrageprüfgerät für digitale Systeme mit dynamischem Direktzugriffspeicher.
DE69021594T2 (de) Hochgeschwindigkeitsdatenübertragung auf einem Rechnersystembus.
DE4418892C2 (de) Mikrocomputer
DE69225750T2 (de) Datenverarbeitungssystem mit internem Befehlspufferspeicher
EP1097460B1 (de) Integrierte schaltung mit einer selbsttesteinrichtung zur durchführung eines selbsttests der integrierten schaltung
DE69914864T2 (de) Steuerung der konfiguration in einer programmierbaren logik-einheit mittels nichtflüchtiger bauelemente
DE68928519T2 (de) Verfahren und Vorrichtung zur Vorhersage der richtigen Durchführung der Übersetzungen von virtuellen in physikalische Adressen
DE69708255T2 (de) Diagnosesystem und Verfahren bei einer integrierten Schaltung
DE69107476T2 (de) Vorrichtung für eine in-circuit-prüfung mit einem minimalspeicher.
DE69705813T2 (de) Diagnosesystem und Verfahren bei einer integrierten Halbleiterschaltung
DE3685711T2 (de) Anordnung zur simulation von rechnerfunktionen von grossrechenanlagen.
DE2524046C2 (de) Elektronische Datenverarbeitungsanlage
DE10150321A1 (de) Verfahren und Vorrichtung zum Testen von integrierten Schaltungen
DE69613560T2 (de) Ein Prüfgerät für elektronische Schaltkreise oder Platinen mit komprimierten Datenfolgen
DE2918053A1 (de) Schaltungspruefgeraet
DE69802977T2 (de) Steuervorrichtung einer Auslösesignalreihenfolge
DE2328058A1 (de) Digitale datenverarbeitungsanordnung
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator

Legal Events

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