-
Die vorliegende Erfindung bezieht
sich auf eine integrierte Halbleiterschaltung, die von einem in einem
eingebauten Speicher gespeicherten Befehlsprogramm betrieben wird,
und betrifft insbesondere eine integrierte Halbleiterschaltung mit
einer Fehlererkennungsschaltung, die geeignet ist, in genauer Weise
einen Betriebsfehler eines Befehlsspeichers zu ermitteln.
-
1 ist
ein Block-Schaltbild, das den Aufbau einer herkömmlichen integrierten Halbleiterschaltung
zeigt. Wie in 1 gezeigt,
weist die herkömmliche
integrierte Schaltung einen Programmzähler 1, ein Befehls-ROM 2,
ein Befehlsregister 5 und einen Decoder 8 auf.
Ein Taktsignal 101 und ein Befehlsadressen-Signal 103 werden
in den Programmzähler
eingegeben. Der Programmzähler
(erster Speicher) 1 setzt durch die Eingabe des Befehlsadressensignals 103 eine
Adresse. Der Programmzähler 1 ist
eine Schaltung zum sequentiellen Ausgeben eines Adressensignals 104 an
den Befehls-ROM 2 synchron mit dem Taktsignal 101 und
zum Speichern des Adressensignals 104. Der Programmzähler 1 ist
durch ein Register aufgebaut. In dem Befehls-ROM 2 ist
im Voraus ein Befehlscode eines Programms gespeichert. Das Befehls-ROM 2 ist
ein Befehlsspeicher zum Ausgeben eines Befehlscodesignals 105 an
das Befehlsregister 5 in Übereinstimmung mit dem Adressensignal 104 und
ist durch ein ROM (Read Only Memory) aufgebaut.
-
Das Taktsignal 101 und das
Befehlscodesignal 105 werden in das Befehlsregister 5 eingegeben. Das
Befehlsregister (zweiter Speicher) 5 ist eine Schaltung
zum zeitweiligen Speichern des Befehlscodesignals 105 synchron
mit dem Taktsignal 101 und Ausgeben eines Befehlsdatensignals 113 an
den Decoder 8. Das Befehlsregister 5 ist durch
ein Register aufgebaut. Der Decoder 8 dekodiert das eingegebene
Befehlsdatensignal 113 und gibt ein Einheit-Steuersignal 117 zum
Steuern des Betriebs einer Befehlsausführeinheit der integrierten
Halbleiterschaltung aus. Zum Beispiel wird eine solche integrierte
Halbleiterschaltung in breitem Maße in Mikrocomputern etc. verwendet.
-
Als nächstes wird der Betrieb der
herkömmlichen
Halbleiterschaltung, die wie oben erläutert aufgebaut ist, beschrieben.
Zuerst wird ein Befehlsadressensignal 103 in den Programmzähler 1 eingegeben.
Damit setzt der Programmzähler 1 eine Adresse
und gibt sequentiell ein Adressensignal 104 synchron mit
einem Taktsignal 101 aus. Als nächstes wird, wenn das Adressensignal 104 in
das Befehls-ROM 2 eingegeben wird, ein Befehlscode, der in
dem Befehls-ROM 2 gespeichert ist, ausgelesen, indem ein
Adressensignal bezeichnet wird. Das Befehls-ROM 2 gibt
sodann den Befehlscode als ein Befehlscodesignal 105 an
das Befehlsregister 5 aus.
-
Das Befehlsregister 5 speichert
zeitweilig das Befehlscodesignal 105 synchron mit dem Taktsignal 101.
Ein in dem Befehlsregister 5 gespeicherter Befehl wird
von dem Befehlsregister 5 als Befehlsdatensignal 113 ausgegeben
und dann in den Decoder 8 eingegeben. Der Decoder 8 dekodiert
das eingegebene Befehlsdatensignal 113 und erzeugt ein
Einheit-Steuersignal 117 und
gibt das Einheit-Steuersignal 117 ab. Der Betrieb der Befehlsausführeinheit
der integrierten Halbleiterschaltung wird durch das ausgegebene
Einheit-Steuersignal 117 gesteuert.
-
Bei der herkömmlichen integrierten Halbleiterschaltung,
die auf diese Weise aufgebaut ist, speichert, wenn ein in dem Befehls-ROM 2 gespeicherter Befehl
einen Fehler aufweist, das Befehlsregister 5 den fehlerbehafteten
Befehl, und der Decoder 8 erzeugt das Einheit-Steuersignal 117 auf
der Basis dieses Befehls. Sodann wird der Betrieb/die Operation der
Befehlsausführeinheit
der integrierten Halbleiterschaltung durch das Einheit-Steuersignal 117 gesteuert.
-
Da der auf dem Einheit-Steuersignal 117 basierende
Befehl einen Fehler aufweist, ist jedoch der Betrieb der Befehlausführeinheit
der integrierten Halbleiterschaltung von der erwarteten Operation verschieden,
so daß bei
der Operation ein Fehler verursacht wird. Wenn die integrierte Halbleiterschaltung
durch den in dem im Befehls-ROM 2 gespeicherten Befehl
enthaltenden Fehler fehlerhaft betrieben wird, ist es schwierig,
den Grund dieser unrichtigen Operation zu analysieren. Insbesondere
ist sehr viel Zeit erforderlich, um diesen Grund zu analysieren,
weil der Fehler in dem Befehlsspeicher verschiedene Arten an Fehlermoden
zeigt.
-
Deshalb ist beispielsweise in der
ungeprüften
japanischen Veröffentlichung
(KOKAI) No. Sho 63-18597 ein Speicherprüfgerät mit eingebauter integrierter
Schaltung offenbart, und zwar als integrierte Halbleiterschaltung,
die geeignet ist, einen Fehler in Speicherdaten zu ermitteln. 2 ist ein Blockschaubild,
das die Struktur des Speicherprüfgerätes mit
der eingebauten integrierten Schaltung zeigt. Eine integrierte Schaltung 21 weist
eine Abtast- oder Scanpfad-Steuerschaltung 31, ein Speicheradressenregister 34,
einen Speicher 36 mit Parität, eine Parität-Prüfschaltung 37 und
ein Speicherdatenregister 39 auf.
-
Die Scanpfad-Steuerschaltung 31 ist
eine Schaltung zum Ausgeben eines Scanpfad-Steuersignals 32 in Übereinstimmung
mit einem Signal, das von einer Scanpfad-Signaleingabe-Anschlußgruppe 30 eingegeben
ist, und zum Steuern der Operationen von Registern (einem Speicheradressenregister 34 und
einem Speicherdatenregister 39), die einen Scanpfad aufbauen.
Ein Scanpfad-Dateneingabeanschluß 33 gibt Daten in
den Scanpfad ein. Das Speicheradressenregister 34 weist
eine Reset- bzw. Rückstellfunktion
zum Löschen
von Daten durch ein Signal auf, das von einem Rückstellsignal-Eingabeanschluß 35 eingegeben
ist, und wird durch einen Zähler
und ein Schieberegister aufgebaut. Es wird ein Signal auf eine Adressendaten-Paralleleingabeleitung 22 in
das Speicheradressenregister 34 eingegeben, und es wird
ein Signal auf einer Adressendaten-Parallelausgabeleitung 24 aus
dem Speicheradressenregister 34 ausgegeben und mit Parität in den
Speicher 36 eingegeben.
-
Daten, die ein Paritätsbit hinzufügen, werden in
den Speicher 36 mit Parität eingespeichert. Aus dem Speicher 36 mit
Parität
ausgegebene Daten werden in die Paritätsprüfschaltung 37 und
das Speicherdatenregister 39 eingegeben. Die Paritätsprüfschaltung 37 führt eine
Paritätsprüfung zum
Erfassen eines Fehlers aus und führt
eine Richtig- oder Unrichtig-Beurteilung
durch und gibt ein Zählfreigabesignal 38 an
das Speicheradressenregister 34 aus. Sodann wird das Hochzählen des
Speicheradressenregisters 34 durch das Zählfreigabesignal 38 unterbunden.
-
Weiterhin sind eine Speicherdaten-Paralleleingabeleitung 26 und
eine Speicherdaten-Parallelausgabeleitung 28 mit
dem Speicherdatenregister 39 verbunden. Aus dem Speicher 36 mit
Parität
ausgegebene Daten werden in das Speicherdatenregister 39 durch
die Speicherdaten-Paralleleingabeleitung 26 eingegeben.
Das Speicherdatenregister 39 ist eine Schaltung zum Verriegeln
ausgegebener Daten aus dem Speicher 36 mit Parität und weist
eine Schieberegisterfunktion auf. Eine Scandatenleitung 40 verbindet
ein Ausgang des Speicheradress registers 34 bei einer Endstufe
davon mit einer Anfangsstufe des Speicherdatenregisters. Daten des
Speicherdatenregisters 39 bei dessen Endstufe werden von
einem Scanpfad-Ausgabekontakt 41 ausgegeben.
-
Als nächstes wird die Operation der
integrierten Schaltung 21, die dermaßen aufgebaut ist, erläutert. Zunächst wird
das Speicheradressregister 34 durch den Rückstellsignal-Eingabeanschluß 35 auf einen
Gesamt „Null"-Anfangszustand
gesetzt. Als Nächstes
zählt,
wenn von der Scanpfad-Steuersignal-Eingabeanschlußgruppe 30 ein
vorbestimmtes Eingabesignal in die Scanpfad-Steuerschaltung 31 eingegeben
wird, die Scanpfad-Steuerschaltung 31 das Speicheradressregister 34 durch
ein Scanpfad-Steuersignal 32 hoch. Ausgabedaten aus dem Speicher 36 mit
Parität
werden bei jedem Hochzählen
in die Paritätprüfschaltung 37 eingegeben.
Damit wird beurteilt, ob die Speicherdaten richtig oder unrichtig
sind. Zu diesem Zeitpunkt werden die Ausgabedaten aus dem Speicher 36 mit
Parität
in dem Speicherdatenregister 39 gespeichert. Das Hochzählen des
Speicheradressregisters 34 wird fortgesetzt, wenn die ausgegebenen
Daten normal als Ergebnis der Richtig/Unrichtig-Beurteilung in der
Paritätprüfschaltung 37 sind.
Danach werden alle Adressendaten des Speichers 36 mit Parität in gleicher
Weise beurteilt.
-
Im Gegensatz hierzu unterbindet,
wenn die Ausgabedaten als Ergebnis der Richtig/ Unrichtig-Prüfung in
der Paritätprüfschaltung 37 als
unrichtig festgestellt werden, die Paritätprüfschaltung 37 das
Hochzählen
des Speicheradressregisters 34. Zu diesem Zeitpunkt wird
die Adresse von Daten des Speichers 36 mit Parität, die den
Fehler verursachen, in dem Speicheradressregister 34 verriegelt,
und die Daten des Speichers 36 mit Parität, die den
Fehler verursachen, werden in dem Speicherdatenregister 39 verriegelt.
Demgemäß bilden
das Speicheradressenregister 34 und das Speicherdatenregister 39 einen
Scanpfadaufbau, indem ein vorbestimmtes Signal aus der Scanpfad-Steuersignal-Eingabeanschlußgruppe 30 in
die Scanpfad-Steuerschaltung 31 eingegeben wird. Danach
werden die Adresse und die in dem Speicheradressenregister 34 gespeicherten
Daten und das Speicherdatenregister 39 von dem Scanpfad-Ausgabeanschluß 41 so
abgegeben, daß eine
Fehlerinformation beobachtet werden kann.
-
In der integrierten Schaltung 21 können beliebige
Daten des Speichers 36 mit Parität beobachtet werden, indem
der durch das Speicheradressenregister 34 und das Speicherdatenregister 39 aufgebaute
Scanpfad verwendet wird. Es wird nämlich eine beliebige Adresse
in das Speicheradressregister 34 eingegeben, indem Daten
aus dem Scanpfad-Eingabedatenanschluß 33 in das Speicheradressenregister 34 eingegeben
werden. Danach werden beliebige Daten in dem Speicher 36 mit
Parität
aus dem Scanpfad-Ausgabeanschluß 41 ausgegeben.
Dadurch kann man beliebige Daten des Speichers 36 mit Parität beobachten.
-
In der obigen herkömmlichen
integrierten Schaltung 21 werden jedoch Speicherdaten von
einer gleichmäßig geänderten
Adresse gelesen, so daß Fehler,
die von einer ungleichmäßigen Änderung in
der Adresse zu einer Anwendungsbetriebszeit eines Benutzers abhängen, nicht
festgestellt werden können.
-
Nunmehr wird der von dem Wechsel
in. der Adresse abhängige
Fehler beschrieben. Mit anderen Worten wird, wenn ein Speicherbereich
in drei Banken oder mehr aufgeteilt ist und die Daten einer/anderen
Bank durch Überspringen
einer Bank oder mehr gelesen werden, die Verzögerung einer Adressendekodierung,
verursacht durch eine Änderung
in der Adresse von einer Adresse zu einer anderen, erhöht, wenn
Daten von einer Bank und Daten dann von einer anderen Bank gelesen
werden. Somit können
Daten nicht innerhalb einer vorbestimmten Betriebsfrequenz gelesen
werden, so daß ein
Fehler verursacht wird.
-
In der herkömmlichen integrierten Schaltung wird
keine Adresseninformation geprüft,
wenn ein Fehler bei den Speicherausgabedaten festgestellt wird.
Demgemäß beurteilt,
wenn der Inhalt an einer Adresse außer einer bezeichneten Adresse
und unrichtige Daten durch einen Fehler auf einer Wortleitung innerhalb
eines Speichers und so weiter gelesen werden, eine Fehlerprüfschaltung
die gelesenen Daten als normale Daten. Im Ergebnis kann der Fehler nichtgenau
erfaßt
werden.
-
Da ein Fehler in aus dem Speicher
gelesenen Daten selbst in der herkömmlichen integrierten Schaltung
erfaßt
wird, ist die Verzögerungszeit
von dem Speicher zu einem Register zum Speichern dieser Daten länger als
die Verzögerungszeit
von dem Speicher zu der Fehlerprüfschaltung.
Demgemäß können, wenn
das Register keine Daten mit vorbestimmter Betriebsfrequenz speichern
kann, von dem Speicher gelesene Daten nicht gespeichert werden, und
es wird ein Betriebsfehler verursacht, selbst wenn die Daten als
normale Daten beurteilt werden. Folglich können Fehler nicht genau erfaßt werden.
-
Im Ergebnis kann eine den Fehler
im Betrieb verursachende Adresse nicht zur Fehlerverursachungszeit
spezifiziert werden. Ebenso kann, wenn ein Wort des Speichers durch
eine Mehrzahl Bits aufgebaut worden ist, die Bitposition der gelesenen
Daten, die den Fehler verursachen, nicht spezifiziert werden. Folglich
ist es unmöglich,
zu beurteilen, ob der Fehler verursacht wird, weil jede Schaltung
nicht normal funktioniert, oder ob der Fehler durch einen Mangel
in der Herstellung verursacht worden ist. Deshalb ist außerordentlich
viel Zeit erforderlich, um den Fehler zu analysieren.
-
Weiterhin ist es, da zur Fehlererfassungszeit kein
Anwendungsprogramm betrieben wird, unmöglich, zu bestätigen, ob
ein auf einen Zyklus folgendes Anwendungsprogramm, das den Fehler
erfaßt
hat, normal arbeitet. Demzufolge können keine Gegenmaßnahmen
gegen den Fehler ergriffen werden, und es kann keine normale Betriebsweise
bestätigt
werden, so daß die
Zuverlässigkeit
für den
Benutzer verloren geht.
-
Das Dokument DE-A 26 55 653 offenbart
einen Datenspeicher, der Fehlererfassungsmittel zum Erfassen sowohl
von Daten- als auch Adressenfehlern durch Anwenden eines redundanten
Codierens an Datenblöcken
aufweist, wobei die Datenblöcke durch
Kombinieren von Daten- und Adresseninformationen gebildet werden.
-
Es ist ein Ziel der vorliegenden
Erfindung, eine integrierte Halbleiterschaltung mit einer Fehlererfassungsschaltung
zu schaffen, die einen Fehler im Betrieb eines Befehlsspeichers
genau ermitteln kann, so daß Analyse
und Gegenmaßnahmen
im Hinblick auf einen Fehler schnell ausgeführt werden können.
-
Eine integrierte Halbleiterschaltung
gemäß der vorliegenden
Erfindung, die im Detail in dem beifolgenden unabhängigen Anspruch
definiert ist, weist einen Befehlsspeicher, einen ersten Speicher,
einen zweiten Speicher und eine Fehlererkennungsschaltung auf. In
dem Befehlsspeicher ist vorab ein Befehlscode gespeichert, und es
wird ein Adressensignal in den Befehlsspeicher eingegeben. Der Befehlsspeicher
gibt ein Befehlscodesignal ab, das dem Adressensignal entspricht.
In den ersten Speicher wird ein Taktsignal eingegeben. Der erste
Speicher gibt sequentiell das Adressensignal synchron mit dem Taktsignal
ab und speichert das Adressensignal. Der zweite Speicher speichert
zeitweilig das Befehlscodesignal und gibt dieses synchron mit dem
Taktsignal ab. Die Fehlererkennungsschaltung erfaßt im Betrieb
des Befehlsspeichers einen Fehler durch Vergleichen eines Prüfcodesignals,
das bei jedem Zyklus des Taktsignals mit Prüfdaten, die dem Befehlscode
und seinem Adressenwert entsprechen, in Übereinstimmung mit einem Signal,
das von dem zweiten Speicher ausgegeben wird, erzeugt wird, und
des Adressensignals.
-
Die Fehlererkennungsschaltung kann
einen dritten Speicher, eine Prüfcodeerzeugungsschaltung, einen
Prüfdatenspeicher,
einen vierten Speicher und einen Komparator aufweisen. Dabei speichert
der dritte Speicher zeitweilig das Adressensignal und gibt dieses
synchron mit dem Taktsignal ab. Die Prüfcodeerzeugungsschaltung erzeugt
das Prüfcodesignal in Übereinstimmung
mit Signalen, die von dem zweiten und dritten Speicher ausgegeben
werden. Der Befehlscode und die Prüfdaten, die ihrem Adressenwert
entsprechen, werden im voraus in dem Prüfdatenspeicher gespeichert.
Der Prüfdatenspeicher
gibt ein Prüfdatensignal
entsprechend dem Adressensignal aus. Der vierte Speicher speichert
zeitweilig das Prüfdatensignal
und gibt dieses in Synchronisation mit dem Taktsignal aus, das von
dem Prüfdatenspeicher
synchron mit dem Taktsignal ausgegeben ist. Der Komparator vergleicht
ein von dem vierten Speicher ausgegebenes Signal mit dem Prüfcodesignal, das
von der Prüfcodeerzeugungsschaltung
ausgegeben ist, und gibt ein Vergleichsergebnissignal aus.
-
Die Fehlererkennungsschaltung kann
eine Abtast- oder Scanmodus-Schaltsteuerschaltung und einen Puffer
aufweisen. Dabei steuert die Scanmodus-Schaltsteuerschaltung das
Schalten auf einen Scanmodusbetrieb in Übereinstimmung mit einem Abtast-
oder Scanmodussignal und dem Vergleichsergebnissignal. Der Puffer
gibt jedes Scansignal in Reihe zur Zeit des Scanmodusbetriebs in Übereinstimmung
mit einem Signal aus, das von dieser Scanmodus-Schaltsteuerschaltung
ausgegeben wird. In diesem Fall führen der erste bis vierte Speicher
den Scanmodusbetrieb entsprechend dem Signal aus, das von der Scanmodus-Schaltsteuerschaltung
ausgegeben ist. Das Scansignal wird sequentiell in die ersten bis
vierten Speicher eingegeben und sequentiell von dem Speicher an
den Puffer ausgegeben.
-
Die Scanmodus-Schaltsteuerschaltung
kann das Schalten auf den Scanmodus steuern, wenn sich Vergleichsergebnisse
des Komparators nicht in Übereinstimmung
miteinander befinden.
-
Der Puffer kann einen Scanausgabeanschluß aufweisen,
und das Scansignal kann in Serie von dem Puffer durch diesen Ausscan-Anschluß ausgegeben
werden. Weiterhin kann der erste Speicher einen Einscan-Anschluß haben,
und ein Signal für den
erwarteten Wert kann in den ersten Speicher durch diesen Einscan-Anschluß eingegeben
werden.
-
Weiterhin kann der Befehlsspeicher
aus einem Festspeicher/ROM aufgebaut sein. Außerdem kann der Prüfdatenspeicher
von einem ROM aufgebaut sein. Darüber hinaus kann das Prüfcodesignal auf
ein Signal einer Art gesetzt werden, die aus einer Gruppe ausgewählt wird,
die von einem Prüfsummensignal
und einem Paritätssignal
gebildet wird.
-
Die integrierte Halbleiterschaltung
der vorliegenden Erfindung weist eine Fehlererkennungsschaltung
zum Erzeugen eines Befehlscodesignals auf, das aus dem Befehlsspeicher
gelesen wird, und eines Prüfcodesignals,
das einem Leseadressensignal dieses Befehlscodesignals für jeden
Zyklus entspricht. Die Fehlererkennungsschaltung vergleicht das
Prüfcodesignal
mit einem Prüfdatensignal
entsprechend einem Befehlscode und seinem Adressenwert. Demgemäß ist es
möglich,
einen Fehler festzustellen, der von einer irregulären Änderung
in der Adresse zu einer Anwendungsbetriebszeit eines Verwenders
abhängt.
-
Das Prüfcodesignal wird aus dem Befehlscodesignal,
das aus dem Befehlsspeicher ausgelesen wird, und seinem Leseadressensignal
berechnet. Folglich kann ein Fehler in einer Adresse genau festgestellt
werden, selbst wenn der Inhalt einer Adresse, die verschieden von
einer bezeichneten Adresse ist, von dem Speicher durch einen Fehler auf
einer Wortleitung usw. in dem Speicher, gelesen wird.
-
Der zweite Speicher speichert zeitweilig
das Befehlscodesignal, das aus dem Befehlsspeicher gelesen wird,
und sein Leseadressensignal. Der vierte Speicher speichert zeitweilig
das Prüfdatensignal, das
aus einem Prüfdatenspeicher,
der in diesem gespeicherte Prüfdaten
speichert, ausgelesen wird. Danach kann, wenn ein Datenfehler festgestellt
wird, dieser genau erfaßt
werden, selbst wenn eine Adresse innerhalb einer vorbestimmten Betriebsfrequenz geändert wird
und Daten, die von dem Befehlsspeicher ausgelesen werden, nicht
fehlerfrei gespeichert sind.
-
Wenn der Fehler festgestellt wird
und das aus dem Befehlsspeicher gelesene Befehlscodesignal und sein
Leseadressensignal beobachtet werden, kann die Speicheradresse der
den Fehler verursachenden Daten spezifiziert werden. Wenn ein Wort des
Befehlsspeichers durch mehrere Bits aufgebaut worden ist, kann die
Position eines den Fehler verursachenden Bits spezifiziert werden.
Demgemäß ist es
möglich,
zu beurteilen, ob der Fehler verursacht wird, weil jede Schaltung
nicht normal funktioniert, oder ob der Fehler durch einen Herstellungsmangel verursacht
wird. Somit kann die Zeit, die erforderlich ist, um den Fehler zu
analysieren, abgekürzt
werden, so daß Gegenmaßnahmen
betreffend den Fehler schnell ausgeführt werden können.
-
Wenn in den ersten Speicher ein Erwartungswertsignal
eingegeben wird, wird ein Erwartungswert des Befehls, der den erfaßten Fehler
aufweist, in den vierten Speicher eingegeben. Es wird ein Befehl
zum Korrigieren eines Fehlerteils an einem Erwartungswert in den
zweiten Speicher eingegeben. In den dritten Speicher wird eine Adresse
zum Speichern der Instruktionen, die den festgestellten Fehler aufweisen,
eingegeben. Eine Adresse zum Speichern des Befehls mit dem ermittelten
Fehler wird in den dritten Speicher eingegeben. Der Befehl zum Lesen
des nächsten
Zyklus an einen Zyklus, der den erfaßten Fehler hat, und eine Adresse
zum Bestimmen einer Erwartungswert-Prüfsumme dieses Befehls werden
in den ersten Speicher eingegeben. Somit ist es möglich, zu
bestätigen,
ob der Befehlsspeicher normal betrieben wird oder nicht.
-
Wenn der Fehler erfaßt ist und
der Speicher, der aus dem Befehlsspeicher gelesene Daten speichert,
und der Speicher, der eine Leseadresse dieser Daten speichert, seriell
verbunden werden, kann der in den Speicher gespeicherte Inhalt direkt
im normalen Betrieb von einem Gerät zum Scannen dieser gespeicherten
Daten beobachtet werden, so daß man eine
genauere Information erhält.
-
Weiterhin kann die Zahl der Eingangsanschlüsse (Einscan-Anschlüsse) und
die Zahl der Ausgangsanschlüsse
(Ausscan-Anschlüsse)
in der vorliegenden Erfindung jeweils auf einen reduziert werden,
so daß die
Zahl der Anschlüsse,
die durch das Gehäuse
begrenzt ist, wirksam und praktisch eingesetzt werden kann.
-
Es ist in den Zeichnungen
-
1 ein
Blockschaubild, daß den
Aufbau einer herkömmlichen
integrierten Halbleiterschaltung zeigt;
-
2 ein
Blockschaltbild, das die Struktur eines Speicherprüfers mit
eingebauter integrierter Schaltung zeigt;
-
3 ein
Blockschaubild, das den Aufbau einer intergrierten Halbleiterschaltung
in Übereinstimmung
mit einer ersten Ausführungsform
der vorliegenden Erfindung zeigt;
-
4 ein
Zeitdiagramm, das den Betrieb der integrierten Halbleiterschaltung
gemäß der ersten Ausführungsform,
wie sie in 3 gezeigt
ist, zeigt;
-
5 ein
Blockschaltbild, das den Aufbau einer integrierten Halbleiterschaltung
gemäß einer zweiten
Ausführungsform
der vorliegenden Erfindung zeigt;
-
6 ein
Zeitdiagramm, das ein Betriebsbeispiel der integrierten Halbleiterschaltung
gemäß der zweiten
Ausführungsform,
wie sie in 5 gezeigt
ist, zeigt.
-
Als nächstes werden die Ausführungsformen der
vorliegenden Erfindung konkret unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben. 3 ist ein
Blockschaubild, das den Aufbau einer integrierten Halbleiterschaltung
gemäß einer
ersten Ausführungsform
der Erfindung zeigt. 3 zeigt
im Besonderen einen Abschnitt einer Fehlererkennungsschaltung zum
Erkennen eines Fehlers im Betrieb eines Befehlsspeichers. Wie in 3 gezeigt, weist ähnlich der
herkömmlichen
integrierten Halbleiterschaltung, wie sie in 1 gezeigt ist, die integrierte Halbleiterschaltung
gemäß der ersten
Ausführungsform
einen Programmzähler 1,
ein Befehls-ROM 2, ein Befehlsregister 5 und einen
Dekoder 8 auf. Weiter hat die integrierte Halbleiterschaltung
ein Adressenregister 4, eine Prüfcodeerzeugungsschaltung 7,
einen Prüfsummen-ROM 3,
ein Prüfsummenregister 6,
ein Komparator 9, eine Scan-Schaltsteuerschaltung 10 und
einen Drei-Zustand-Puffer 11 als Fehlerprüfschaltung.
-
Der Programmzähler (erster Speicher) 1 ist eine
Schaltung zum sequentiellen Ausgeben eines Adressensignals 104 an
das Befehls-ROM 2 und das Prüfsummen-ROM 3 und
zum Speichern des Adressensignals 104 synchron mit dem
ansteigenden Rand eines Taktsignals 101. Der Programmzähler 1 ist
von einem Register aus 8 Bits aufgebaut. Ein Scan-Schaltsignal 102,
ein Wartesignal 119, ein Befehlsadressensignal 103 und
ein Adressensignal 104 werden als weitere Eingabesignale
in den Programmzähler 1 eingegeben.
Ein erstes Scansignal 108 wird als Ausgabesignal von dem
Programmzähler
T ausgegeben. Wenn das Scanschaltsignal 102 und das Wartesignal 119 gesetzt
sind, um Logik „0" zu
zeigen, wird das Befehlsadressensignal 103 als Eingangssignal
an den Programmzähler 1 ausgewählt.
-
In dem Befehls-ROM (Befehlsmemory) 2 wird
im voraus ein Befehlscode gespeichert. Das Befehls-ROM 2 ist
eine Schaltung zum Ausgeben eines Befehlscodesignals 105 in Übereinstimmung
mit dem Adressensignal 104 und ist durch 256 Wörter × 16 Bits
aufgebaut. Ein Befehlscode von 16 Bits wird in dem Befehls-ROM 2 gespeichert.
-
Das Befehlsregister (zweiter Speicher) 5 ist eine
Schaltung zum zeitweiligen Speichern des Befehlscodesignals 105,
das von dem Befehls-ROM 2 ausgegeben wird, und zum Ausgeben
eines Befehlsdatensignals 113 synchron mit dem ansteigenden Rand
des Taktsignals 101. Das Befehlsregister 5 ist durch
ein Register von 16 Bits aufgebaut. Das Scanschaltsignal 102,
das Wartesignal 119, ein zweites Scansignal 109 und
ein Befehlsdatensignal 103 werden als weitere Eingabesignale
in das Befehlsregister 5 eingegeben, und ein drittes Scansignal 110 wird als
Ausgangssignal aus dem Befehlsregister 5 ausgegeben. Wenn
das Scanschaltsignal 102 und das Wartesignal 109 gesetzt
sind und Logik „0"
zu zeigen, wird das Befehlscodesignal 105 als Eingangssignal für das Befehlsregister 5 ausgewählt.
-
Das Befehlsdatensignal 113,
das von dem Befehlsregister 5 ausgegeben wird, wird in
den Decoder 8 eingegeben. Der Decoder 8 dekodiert
das Befehlsdatensignal 113 und erzeugt ein Einheit-Steuersignal 117 zum
Steuern des Betriebs einer Befehlsausführeinheit der integrierten
Halbleiterschaltung.
-
Das Adressenregister (dritter Speicher) 4 ist eine
Schaltung zum zeitweiligen Speichern des Adressensignals 104,
das von dem Programmschalter 1 ausgegeben wird, und zum
Ausgeben eines Eingabeadressensignals (Anm.: im Folgenden in der Regel
Postadress(en)signals) 112 synchron mit dem ansteigenden
Rand des Taktsignals 101. Das Adressenregister 4 ist
durch ein Register von 8 Bits aufgebaut. Das Scanschaltsignal 102,
das Wartesignal 119 und das erste Scansignal 108 werden
als weitere Eingabesignale in das Adressenregister 4 eingegeben,
und das zweite Scansignal 109 wird als Ausgabesignal 4 ausgegeben.
Wenn das Scanschaltsignal 102 und das Wartesignal 109 gesetzt
sind, um Logik „0"
zu zeigen, wird das Adressensignal 104 als Eingabesignal
an das Adressenregister 4 ausgewählt.
-
Das Befehlsdatensignal 113,
das von dem Befehlsregister 5 ausgegeben wird, und das
Eingabe- bzw. Postadressensignal 112, das von dem Adressregister 4 ausgegeben
wird, werden in die Prüfcodeerzeugungsschaltung 7 eingegeben.
Die Prüfcodeerzeugungseinheit 7 erzeugt
ein Prüfcodesignal
(ein Prüfsummensignal
für erfaßtes Objekt) 114 entsprechend
diesen Signalen 113 und 112.
-
Es werden im voraus in dem Prüfsummen-ROM
(Prüfdatenspeicher) 3 ein
Befehlscode und eine Erwartungswert-Prüfsumme (Prüfdaten) von 8 Bits entsprechend
einem Adressenwert des Befehlscodes gespeichert. Das Prüfsummen-ROM 3 ist
eine Schaltung zum Ausgeben eines Prüfsummencodesignals (Prüfdatensignal) 106 entsprechend dem
Adressensignal 104 und ist durch 256 Wörter × 8 Bits aufgebaut.
-
Das Prüfsummenregister (vierter Speicher) 6 ist
eine Schaltung zum zeitweiligen Steuern des Prüfsummensignals 106,
das aus dem Prüfsummen-ROM 3 ausgegeben
wird, und zum Ausgeben eines Prüfsummendatensignals 115 synchron
mit dem ansteigenden Rand des Taktsignals 101. Das Prüfsummenregister
6 ist durch ein Register von 8 Bits aufgebaut. Das Scanschaltsignal 102,
das Wartesignal 109 und das dritte Scansignal 110 werden als
weitere Eingangssignale in das Prüfsummenregister 6 eingegeben,
und ein viertes Scansignal 111 wird als Ausgangssignal
aus dem Prüfsummenregister 6 ausgegeben.
Wenn das Scanschaltsignal 102 und das Wartesignal 119 Logik „0" zeigen,
wird das Prüfsummencodesignal 106 als
Eingangssignal in das Prüfsummenregister 6 ausgewählt.
-
Der Komparator 9 vergleicht
das aus der Prüfcodeerzeugungsschaltung 7 ausgegebene
Prüfcodesignal 114 mit
dem von dem Prüfsummenregister 6 ausgegebenen
Prüfsummendatensignal 115 und
gibt ein Vergleichsergebnissignal 108 aus.
-
Das von dem Komparator 9 ausgegebene Vergleichsergebnissignal 118 wird
in die Scanschaltsteuerschaltung 10 eingegeben. Die Scanschaltsteuerschaltung 10 führt eine
Schaltsteuerung auf einen Scanmodus durch, wenn sich keine Vergleichsresultate
miteinander in Übereinstimmung
befinden. Ein Scanmodussignal 120 wird als weiteres Eingangssigal
in die Scanschaltsteuerschaltung 10 eingegeben. Das Scanschaltsignal 102,
das Wartesignal 119, ein Fehlererkennungssignal 121 und
ein Puffersteuersignal 123 werden als Ausgangssignale aus
der Scanschaltsteuerschaltung 10 ausgegeben.
-
Der Drei-Zustands-Puffer 11 ist
eine Schaltung zum Ausgeben serieller Daten, aufgebaut durch die
ersten, zweiten, dritten und vierten Scansignale 108, 109, 110 und 111,
die von dem Programmzähler 1,
dem Adressregister 4, dem Befehlsregister 5 und dem
Prüfsummenregister 6 an
einen Ausscan-Anschluß (Ausgangsanschluß) 122 ausgegeben
werden. Das Puffersteuersignal 123 wird als weiteres Eingangssignal
in den Drei-Zustands-Puffer 11 eingegeben.
-
4 ist
ein Zeitschaubild, das die Operation der integrierten Halbleiterschaltung
in Übereinstimmung
mit der ersten, in 3 gezeigten
Ausführungsform
wiedergibt. In 4 sind Signale mit Bit-Breiten
durch Hexadezimalwerte dargestellt. Als nächstes wird der Betrieb der
integrierten Halbleiterschaltung gemäß der ersten Ausführungsform
unter Bezugnahme auf 3 und 4 erläutert. Die in der nachfolgenden
Erläuterung
verwendete Prüfsumme erhält man durch
Addieren einer Adresse zum Bestimmen eines Wortes eines ROMS und
eines in dem ROM gespeicherten Befehls in einer Byte-Dateneinheit
und durch Aufnehmen des Komplements von zweien der am wenigsten
signifikanten 1 Bytedaten. Beispielsweise werden, wenn die Adresse
ein hexadezimaler Wert von [01] und der Befehl ein hexadezimaler
Wert von [20FF] ist, [01], [20] und [FF] zueinander in der Byte-Dateneinheit
addiert, und es wird dann das Komplement von zweien der am wenigsten signifikanten
1 Bytedaten genommen. Damit wird die Prüfsumme ein hexadezimaler Wert
von [E0].
-
Zunächst wird als erste Operation
eine Operation erläutert,
die von einem T1 Zyklus zu einem T5 Zyklus durchgeführt wird
und einen Fall zeigt, in dem keine Scanmodusoperation ausgefürt wird.
-
Wenn keine Scanmodusoperation ausgeführt wird,
zeigt das Scanmodussignal 120 Logik „0" aus, und das Scanschaltsignal 102,
das Wartesignal 119 und das Puffersteuersignal 123 zeigen
Logik „0". Der
Ausscan-Anschluß 122 weist
hohe Impedanz auf. Wenn das Scanschaltsignal 102 und das
Wartesignal 119 Logik „0" zeigen, werden das Befehlsadresssignal 103,
das Adresssignal 104, das Befehlscodesignal 105 und
das Prüfsummencodesignal 106 jeweils
als Signale ausgewählt,
die in den Programmzähler 1,
das Adressenregister 4, das Befehlsregister 5 und
das Prüfsummenregister 6 eingegeben
werden.
-
Das Befehls-ROM 2 gibt bei
einer Adresse des Adresssignals 104 einen gesteuerten Befehl
als Befehlscodesignal 105 aus. Das Prüfsummen-ROM 3 gibt
eine Erwartungswertprüfsumme
als Prüfsummencodesignal 106 aus.
-
Im T1 Zyklus zeigt das von
dem Programmzähler 1 ausgegebene
Adresssignal 104 [01], und das aus dem Befehls-ROM 2 ausgegebene
Befehlscodesignal 105 zeigt, [20FF]. Demgemäß zeigt
das Prüfsummencodesignal 106,
das von dem Prüfsummen-ROM 3 ausgegeben
wird, [E0].
-
In dem T2 Zyklus zeigt das
Adressensignal 104 [02], und das Befehlscodesignal 105 zeigt [3E0A].
Demgemäß zeigt
das Prüfsummencodesignal 106 [B6].
Da das Adressregister 4 [01] des Adresssignals 104 in
dem T1 Zyklus speichert, zeigt das Postadressensignal 112 in
dem T2 Zyklus [01]. Da das Befehlsregister 5 [20FF]
des Befehlscodesignals 105 in dem T1 Zyklus speichert,
zeigt das Befehlsdatensignal 113 in dem T2 Zyklus
[20FF]. Weiterhin zeigt in dem T2 Zyklus das Prüfsummendatensignal 115 [E0],
da das Prüfsummenregister 6 [E0] des
Prüfsummencodesignals 104 in
dem T1 Zyklus speichert.
-
Dabei wird, wenn [01] des Postadressensignals 112 und
[20FF] des Befehlsdatensignals 113 in die Prüfcodeerzeugungschaltung 7 eingegeben
werden, [E0] des Prüfcodesignals 114 erzeugt.
Danach vergleicht der Komparator 9 [E0] des Prüfcodesignals 114 mit
[E0] des Prüfsummendatensignals 115. Als
Ergebnis sind die verglichenen Signale miteinander im T2 Zyklus
konform, so daß das
Vergleichsergebnissignal 118 Logik „0" und das Fehlererkennungssignal 121 Logik „0" zeigt.
-
Im T3 Zyklus werden ähnlich dem T2 Zyklus [B6]
des Prüfsummensignals 114 des
erfaßten
Objekts und [B6] des Prüfsummendatensignals 115 miteinander
in dem Komparator 9 verglichen. Als Έrgebnis sind die verglichenen
Signale ebenfalls miteinander mit dem T3 Zyklus in Übereinstimmung,
so daß das
Vergleichsresultatsignal 118 Logik „0" und das Fehlererkennungssignal 121 Logik „0" zeigen.
-
Im T4 Zyklus zeigt das Adresssignal 112 [04], und
das Befehlscodesignal 105 zeigt [1003], so daß das Prüfsummencodesignal 106 [E9]
zeigt. Das Postadressensignal 112 zeigt [03] und das Befehlsdatensignal 113 [2B0F].
Das Prüfsummendatensignal 115 zeigt
[93]. Dabei wird, wenn [03] des Postadressensignals 112 und
[2B0F] des Befehlsdatensignals 113 in die Prüfcodeerzeugungsschaltung 7 eingegeben
werden, [C3] des Prüfsummensignals 114 des
erfaßten
Objekts erzeugt. Danach werden [C3] des Prüfsummensignals 114 des
erfaßten
Objekts und [93] des Prüfsummendatensignals 115 miteinander
in dem Komparator 9 verglichen.
-
[93] des Prüfsummendatensignals 115 ist eine
Prüfsumme
von [03] des Eingabe- oder
Postadressensignals 112 und von [2B3F] eines Erwartungsbefehlscodes.
Deshalb sind die Bits 5 und 4 von [2B0F] des Befehlsdatensignals 113 verschieden
von Bits 5 und 4 von [2B3F] des Erwartungsbefehlscodes.
Demgemäß sind das
Prüfsummensignal 114 des
erfaßten
Objekts und das Prüfsummendatensignal 115 nicht
miteinander als Vergleichsresultat konform. Im Ergebnis zeigt das
Vergleichsergebnissignal 118 Logik „1", und das Fehlererkennungssignal 121 zeigt
Logik „1",
so daß der
Fehler an jede Einheit der integrierten Halbleiterschaltung übermittelt
wird.
-
Als nächstes wird als zweite Operation
eine Operation erläutert,
die von einem T10 Zyklus bis zu einem T54 Zyklus
in Darstellung eines Falles ausgeführt wird, in dem die Scanmodusoperation
ausgeführt
wird.
-
Wenn die Scanmodusoperation ausgeführt wird,
zeigt das Scanmodussignal 120 Logik „1", und das Scanschaltsignal 102,
daß Wartesignal 119 und das
Puffersteuersignal 123 zeigen Logik „1", indem der Fehler der
obigen ersten Operation erkannt bzw. erfaßt wird. Deshalb wird der in
jeder Schaltung gespeicherte Inhalt aus dem Ausscan-Anschluß 122 durch
den Scanbetrieb in sequentieller Reihenfolge des Prüfsummenregisters 6,
des Befehlsregisters 5, des Adressenregisters 4 und
des Programmzählers 1 ausgegeben.
Diese Operation wird als nächstes
im Detail beschrieben.
-
Der Betrieb vom T10 Zyklus
zum T12 Zyklus ist ähnlich
dem Betrieb vom T1 Zyklus zum T3 Zyklus bei der
ersten Operation. Danach werden [03] des Eingabe- oder Postadressensignals 112 und
[2B0F] des Befehlsdatensignals 113 in die Prüfcodeerzeugungsschaltung 7 im
T13 Zyklus eingegeben, und [C3] des Prüfsummensignals 114 für erfaßtes Objekt wird
erzeugt. Danach werden [C3] des Prüfsummensignals 114 für erkanntes
Objekt und [93] des Prüfsummendatensignals 115 miteinander
in dem Komparator 9 verglichen. Als Ergebnis stimmen keine Vergleichsignale
miteinander überein.
Wenn in den Vergleich signalen ein Fehler erkannt wird, zeigt das Vergleichsresultatsignal 118 Logik „1", und
das Fehlererkennungssignal 121 und das Wartesignal 119 zeigen
Logik „1".
-
Wenn das Wartesignal 119 Logik „1" zeigt, werden
das Adressensignal 104, das Postadressensignal 112,
das Befehlsdatensignal 113 und das Prüfsummendatensignal 115 jeweils
als Eingangssignale für
den Programmzähler 1,
das Adressenregister 4, das Befehlsregister 5 und
das Prüfsummenregister 6 ausgewählt. Sodann
werden in jeden der Register gespeicherte Daten erneut in dem T14 Zyklus
gespeichert. Ein Befehl, der den Fehler aufweist, wird durch diese
Speicheroperation in dem Befehlsregister 5 gespeichert,
und eine Adresse, die den Fehler dazu aufzeigenden Befehl speichert,
wird in dem Adressregister 4 gespeichert.
-
In dem T14 Zyklus werden,
wenn das Scanschaltsignal 102 Logik „1" zeigt, das erste Scansignal 108,
das zweite Scansignal 109 und das dritte Scansignal 110 jeweils
als Eingangssignale an das Adressenregister 4, das Befehlsregister 5 und
das Prüfsummenregister 6 ausgewählt. Damit
erhalten der Programmzähler 1,
das Adressenregister 4, das Befehlsregister 5 und
das Prüfsummenregister
6 einen seriellen Verbindungszustand, so daß eine Schiebe-, Umschalt-
oder Shiftoperation von Bits durchgeführt werden kann.
-
Die Shiftoperation wird von dem T15 Zyklus ausgehend
gestartet. Die Shiftoperation von 1 Bit wird von einer Seite eines
Bits höherer
Ordnung zu einer Seite eines Bits niedriger Ordnung in dem Programmzähler 1,
dem Adressenregister 4, dem Befehlsregister 5 und
dem Prüfsummenregister 6 durchgeführt. Das
heißt,
Logik „1"
wird auf ein am meisten signifikantes Bit des Programmzählers 1 gespeichert.
Logik „0"
eines am wenigsten signifikanten Bits des Programmzählers 1,
eingegeben in das Adressregister 4 als das erste Scansignal 108,
wird an einem höchst
signifikanten Bit des Adressenregisters 4 gespeichert.
Logik „1"
des am wenigsten signifikanten Bits des Adressenregisters 4,
eingegeben in das Befehlsregister 5 als zweites Scansignal 109, wird
auf einem höchst
signifikanten Bit des Befehlsregisters 5 gespeichert. Weiterhin
wird Logik „1"
des am wenigsten signifikanten Bits des Befehlsregisters 5,
eingegeben in das Prüfsummenregister 6 als
das dritte Scansignal 110, auf einem höchst signifikanten Bit des
Prüfsummenregisters 6 gespeichert.
Weiterhin wird Logik „1"
des wenigsten signifikanten Bits des Prüfsummenregisters 6 in
den 3-Zustand-Puffer 11 als
das vierte Scansignal 111 eingegeben. Demgemäß zeigt
das Puffersteuersignal
123 Logik „1", und der 3-Zustand-Puffer 11 gibt
die Logik „1"
aus und Logik „1"
wird an den Ausscananschluß 122 übermittelt.
-
Somit kann der Inhalt des Prüfsummenregisters 6 am
Ausscananschluß 122 durch
eine Shiftoperation von T15 Zyklus zum T22 Zyklus
beobachtet werden. Der Inhalt des Befehlsregisters 5 kann
ebenfalls am Ausscananschluß 122 durch
eine Shiftoperation vom T23 Zyklus zum T38 Zyklus
beobachtet werden. Weiterhin kann der Inhalt des Adressenregisters 4 am
Ausscananschluß 122 durch
eine Shiftoperation vom T39 Zyklus zum T46 Zyklus
beobachtet werden. Darüberhinaus
kann der Inhalt des Programmzählers 1 am
Ausscananschluß 122 durch eine
Shiftoperation vom T47 Zyklus zum T54 Zyklus beobachtet
werden.
-
Die Erzeugungsposition eines Fehlers
kann durch solche Operationen genau beobachtet werden. Damit kann
die Zeit, die erforderlich ist, um den Fehler zu analysieren, verkürzt werden,
und es können schnell
Gegenmaßnahmen
gegen einen Fehler unternommen werden.
-
5 ist
ein Blockschaubild, das den Aufbau einer integrierten Halbleiterschaltung
in Übereinstimmung
mit einer zweiten Ausführungsform
der vorliegenden Erfindung zeigt. Die zweite Ausführungsform,
die in 5 gezeigt ist,
unterscheidet sich von der ersten, in 3 gezeigten
Ausführungsform
nur dadurch, daß ein
Einscananschluß mit
einem höchst signifikanten
Bit des Programmzählers 1 verbunden ist.
Demgemäß sind in 5 die gleichen Elemente wie
die in 3 gezeigten durch
gleiche Bezugszeichen gekennzeichnet, und es kann auf eine detaillierte
Erläuterung
davon verzichtet werden. Wie in 5 gezeigt,
ist der Einscananschluß (Eingangsanschluß) mit dem
höchst
signifikanten Bit des Programmzählers 1
in der zweiten Ausführungsform
verbunden. Demgemäß kann ein
Erwartungswertsignal 107 von dem Einscananschluß durch
Scannen eingegeben werden.
-
Ähnlich
der ersten Ausführungsform
ist der Programmzähler
(erster Speicher) 1 eine Schaltung zum sequentiellen Ausgeben
eines Adressensignals 104 an ein Befehls-ROM 2 und
ein Prüfsummen-ROM 3 und
zum Speichern des Adressensignals 104 synchron mit dem
ansteigenden Rand eines Taktsignals 101. Der Programmzähler 1 wird
durch ein Register von 8 Bits aufgebaut. In dieser Ausführungsform
kann das Erwartungswertsignal 107 als weiteres, in dem
Programmzähler 1 eingegebenes Signal
zusätzlich
von dem Einscananschluß an
das höchst
signifikante Bit des Programmzählers 1 eingegeben
werden.
-
Damit sind der Programmzähler 1,
der Adressenzähler 4,
das Befehlsregister 5 und das Prüfsummenregister 6 seriell
miteinander verbunden. Demgemäß kann ähnlich der
ersten Ausführungsform
der in jedem Speicher gespeicherte Inhalt am Auscananschluß 122 durch
Shiften dieser gespeicherten Inhalte beobachtet werden.
-
Eine Erwartungswertprüfsumme eines
einen erfaßten
Fehlers zeigenden Befehls wird gleichzeitig in das Prüfsummenregister 6 eingegeben,
indem das Erwartungswertsignal 107, das in den Programmzähler 1 eingegeben
ist, verschoben wird. Ebenfalls wird ein Befehl zum Korrigieren
eines Fehlerteils an dem Erwartungswert in das Befehlsregister 5 eingegeben. Weiterhin
wird eine Adresse zum Speichern des den erfaßten Fehler zeigenden Befehls
in das Adressenregister 4 eingegeben. Darüber hinaus
können
ein Befehl zum Lesen des nächsten
Zyklus auf einen Zyklus, der den erfaßten Fehler aufweist, und eine Adresse
zum Bestimmen einer Erwartungswertprüfsumme dieses Befehls in den
Programmzähler 1 eingegeben
werden. Dadurch ist es möglich,
zu bestätigen,
ob das Befehls-ROM 2 normal arbeitet oder nicht.
-
6 ist
ein Zeitschaubild, das ein Betriebsbeispiel der integrierten Halbleiterschaltung
gemäß der zweiten
Ausführungsform,
die in 5 gezeigt ist,
zeigt. In 6 sind Signale
mit Bandbreiten durch hexadezimale Werte dargestellt. Ein weiteres
Operationsbeispiel der Fehlererfassungsschaltung wird unter Bezugnahme
auf 5 und 6 erläutert.
-
Ähnlich
der unter Bezug auf 4 beschriebenen
zweiten Operation wird ein Fehler in Zyklen von T55 bis T59 ermittelt.
Dabei zeigt ein Scanmodussignal 120 Logik „1", und
ein Scanschaltsignal 102, ein Wartesignal 119 und
ein Puffersteuersignal 123 zeigen Logik „1". In
Zyklen von T55 bis T60 zeigen ein Adressensignal 104,
ein Eingabe- bzw. Postadressensignal 112, ein Prüfsummensignal 114 für erfaßtes Objekt,
ein Prüfsummensignal 106 und
ein Prüfsummendatensignal 115 zeigen
einen hexadezimalen Wert [00], und ein Befehlscodesignal 105 sowie
ein Befehlsdatensignal 113 zeigen einen hexadezimalen Wert
von [0000].
-
Als nächstes wird ein Scanmodusvorgang als
erste Operation ausgeführt.
Zunächst
werden Erwartungswertdaten in das Prüfsummenregister 6 in sequentieller
Reihenfolge von einem niedrigst signifikanten Bit des Registers
zu einem Bit hoher Ordnung hin eingegeben. Als nächstes werden die Erwartungswertdaten
in ähnlicher
Weise sequentiell in das Befehlsregister 5, das Adressenregister 4 und
den Programmzähler 1 von
dem niedrigst signifikanten Bit zu einem Bit hoher Ordnung eingegeben.
Schließlich
werden die Erwartungswertdaten auf ein höchst signifikantes Bit des
Programmzählers 1 eingegeben.
-
Beispielsweise wird in einem T60 Zyklus
Logik „1"
als Erwartungswertdaten bei Bit 0 des Prüfsummenregisters 6 in
einen Einscananschluß als
Erwartungswertsignal 107 gesetzt. Danach wird in einem T61 Zyklus
Logik „1",
gesetzt an dem Einscananschluß als
Erwartungswertsignal 107 im T60 Zyklus, auf das
höchst
signifikante Bit des mit dem Einscaranschluß verbundenen Programmzählers 1 gespeichert.
Sodann wird Logik „1"
als Erwartungswertdaten bei Bit 1 des Prüfsummenregisters 6 auf den
Einscananschluß als
Erwartungswertsignal 107 gesetzt.
-
In ähnlicher Weise wird eine Erwartungswertprüfsumme 93 durch
Setzen in das Prüfsummenregister 6 gesetzt
und das Erwartungswertsignal 107 in Zyklen von T60 bis T67 Shift-eingegeben.
Als nächstes
wird in Zyklen von T68 bis T83 ein Erwartungswertbefehl
[2B3F] zum Korrigieren jedes Fehlerteilbits 4 und 5 auf
Logik „1"
in das Befehlsregister 5 gesetzt. Als nächstes wird in Zyklen von T84 bis T91 eine
Adresse [03] zum Speichern eines Befehls mit einem festgestellten
Fehler in das Adressenregister 4 gespeichert. Danach werden
in Zyklen von T92 bis T99 ein Befehl zum Lesen
des nächsten
Zyklus auf einen Zyklus mit erfaßtem Fehler und eine Adresse
[04] zum Bestimmen bzw. Bezeichnen eines Erwartungswert-Prüfsummensignals
dieses Befehls in den Programmzähler 1 gesetzt.
-
Danach wird eine Operation zum Freigeben des
Scanmodus als zweite Operation in einem T100 Zyklus durchgeführt. Das
heißt,
das Setzen der Daten in den Programmzähler 1, das Adressenregister 4,
das Befehlsregister 5 und das Prüfsummenregister 6 wird
beendet, und das Scanmodussignal 120 wird so gesetzt, daß es Logik „0" zeigt.
Damit zeigen das Scanschaltsignal 102 und das Wartesignal 119 Logik „0", und
Scanmodus und Wartezustand werden freigegeben. Dabei werden das
Befehlsadressensignal 103, das Adressensignal 104,
das Befehlscodesignal 105 und das Prüfsummencodesignal 106 jeweils
als Eingangssignale an den Programmzähler 1, das Adressenregister 4,
das Befehlsregister 5 und das Prüfsummenregister 6 ausgewählt.
-
In Zyklen nach dem T100 Zyklus
sind die Erwartungswertdaten an jedes der Register in dem T100 Zyklus
eingegeben, so daß eine
normale Operation ausgeführt
wird.
-
Bei den obigen ersten und zweiten
Ausführungsformen
sind das Befehls-ROM 2 und das Prüfsummen-ROM 3 jeweils
von 256 Wörtern × 16 Bits und
256 Wörtern × 8 Bits
aufgebaut. Bei der vorliegenden Erfindung sind jedoch keinerlei
Anordnungen des Befehls ROM und des Prüfsummen-ROM auf die obigen
Ausführungsformen
beschränkt,
sondern jedes Teil wie Befehls-ROM, Prüfsummen-ROM usw. können in
beliebiger Anzahl von Wörtern
und mit beliebiger Bitbreite ausgestaltet sein. Weiterhin wird bei den
ersten und zweiten Ausführungsformen
das Prüfsummensignal
(erfaßter
Gegenstand) als Prüfcodesignal
verwendet, aber die Wirkung der vorliegenden Erfindung kann man
auch erhalten, indem man ein Paritätssignal als Prüfcodesignal
verwendet.