DE69719896T2 - Integrierte Halbleiterschaltung mit Fehlererkennungsschaltung - Google Patents

Integrierte Halbleiterschaltung mit Fehlererkennungsschaltung Download PDF

Info

Publication number
DE69719896T2
DE69719896T2 DE69719896T DE69719896T DE69719896T2 DE 69719896 T2 DE69719896 T2 DE 69719896T2 DE 69719896 T DE69719896 T DE 69719896T DE 69719896 T DE69719896 T DE 69719896T DE 69719896 T2 DE69719896 T2 DE 69719896T2
Authority
DE
Germany
Prior art keywords
signal
memory
command
address
scan
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
DE69719896T
Other languages
English (en)
Other versions
DE69719896D1 (de
Inventor
Makoto Kawasaki-shi Sasaki
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Publication of DE69719896D1 publication Critical patent/DE69719896D1/de
Application granted granted Critical
Publication of DE69719896T2 publication Critical patent/DE69719896T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/40Response verification devices using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • 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.

Claims (6)

  1. Eine integrierte Halbleiterschaltung mit einer Fehlererkennungs-/erfassungsschaltung, umfassend: Einen Befehlsspeicher (2) zum Eingeben eines Adressensignals (104) in denselben, Ausgeben eines Befehlscodesignals (105) entsprechend dem Adressensignal (104) und Vorab-Speichern eines Befehls- bzw. Instruktionscodes; einen ersten Speicher (1) zum Eingeben eines Taktsignals (101) in diesen und zum sequentiellen Ausgeben und Speichern des Adressensignals (104) synchron mit dem Taktsignal (101); und einen zweiten Speicher (5) zum zeitweisen Speichern und Ausgeben des Befehlscodesignals (105) synchron mit dem Taktsignal (101); einen dritten Speicher (4) zum zeitweisen Speichern und Ausgeben des Adressensignals (104) synchron mit dem Taktsignal (101); und weiter umfassend eine Fehlererkennungsschaltung zum Erfassen eines Fehlers bei Betrieb des Befehlsspeichers (2) durch Vergleichen eines Prüfcodesignals (114), das bei jedem Zyklus des Taktsignals (101) durch eine Prüfcodeerzeugungsschaltung (7) zum Erzeugen des Prüfcodesignals (114) in Übereinstimmung mit Signalen erzeugt wird, die von dem zweiten und dritten Speicher (5, 4) ausgegeben werden, mit Prüfdaten, die dem Befehlscode und seinem Adressenwert in Übereinstimmung mit einem von dem zweiten Speicher (5) ausgegebenen Signal und dem Adressensignal (104) entsprechen; einen Prüfdatenspeicher (3) zum Vorab-Speichern des Befehlscodes und der Prüfdaten entsprechend dem Adressenwert und zum Ausgeben eines Prüfdatensignals (106) entsprechend dem Adressensignal (104); einen vierten Speicher (6) zum zeitweisen Speichern und Ausgeben des Prüfdatensignals (106), das von dem Prüfdatenspeicher (3) synchron mit dem Taktsignal (101) ausgegeben wird; und einen Komparator (9) zum Vergleichen eines von dem vierten Speicher (6) ausgegebenen Signals mit dem Prüfcodesignal (114), das von der Prüfcodeerzeugungsschaltung (7) ausgegeben wird, und zum Ausgeben eines Vergleichsergebnissignals (118), wobei die Fehlererkennungsschaltung weiterhin umfaßt eine Scan- oder Abtastmodusschalt-Steuerschaltung (10) zum Steuern des Schattens in einen Scan- oder Abtastmodusbetrieb übereinstimmend mit einem Scan- oder Abtastmodussignal (120) und dem Vergleichsergebnissignal (118); und einen Puffer (11) zum Ausgeben jedes Abtastsignals in Serie zur Zeit des Abtastmodusbetriebs in Übereinstimmung mit einem Signal, das von der Abtastmodusschalt-Steuerschaltung (10) ausgegeben wird, wobei der erste bis vierte Speicher (1, 5, 4, 6) den Abtastmodusbetrieb entsprechend dem Signal durchführen, das von der Abtastmodusschalt-Steuerschaltung (10) ausgegeben wird, und wobei das Abtastsignal sequentiell in den ersten bis vierten Speicher (1, 5, 4, 6) eingegeben und sequentiell von dem Speicher an den Puffer (11) ausgegeben wird, wodurch die Abtastmodusschalt-Steuerschaltung (10) das Schalten auf den Abtastmodus steuert, wenn Vergleichsergebnisse des Komparators (9) nicht miteinander konform sind.
  2. Die integrierte Halbleiterschaltung nach Anspruch 1, dadurch gekennzeichnet, daß der Puffer (11) einen Ausscan-Anschluß (122) umfaßt und das Abtastsignal in Serie von dem Puffer (11) durch den Ausscan-Anschluß (122) ausgegeben wird.
  3. Die integrierte Halbleiterschaltung nach Anspruch 1, dadurch gekennzeichnet, daß der erste Speicher (1) einen Einscan-Anschluß umfaßt und ein Erwartungswert-Signal (107) in den ersten Speicher (1) durch den Einscan-Anschluß eingegeben wird.
  4. Die integrierte Halbleiterschaltung nach Anspruch 1, dadurch gekennzeichnet, daß der Befehlsspeicher (2) von einem Festspeicher (ROM) gebildet wird.
  5. Die integrierte Halbleiterschaltung nach Anspruch 1, dadurch gekennzeichnet, daß der Prüfdatenspeicher (3) von einem Festspeicher (ROM) gebildet wird.
  6. Die integrierte Halbleiterschaltung nach Anspruch 1, dadurch gekennzeichnet, daß das Prüfcodesignal (114) ein Signal einer Art ist, die aus einer Gruppe eines Prüfsummensignals und eines Paritätsignals ausgewählt ist.
DE69719896T 1996-09-25 1997-09-25 Integrierte Halbleiterschaltung mit Fehlererkennungsschaltung Expired - Fee Related DE69719896T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP25273196 1996-09-25
JP8252731A JPH10105426A (ja) 1996-09-25 1996-09-25 半導体集積回路

Publications (2)

Publication Number Publication Date
DE69719896D1 DE69719896D1 (de) 2003-04-24
DE69719896T2 true DE69719896T2 (de) 2004-02-19

Family

ID=17241487

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69719896T Expired - Fee Related DE69719896T2 (de) 1996-09-25 1997-09-25 Integrierte Halbleiterschaltung mit Fehlererkennungsschaltung

Country Status (4)

Country Link
US (1) US6073267A (de)
EP (1) EP0833249B1 (de)
JP (1) JPH10105426A (de)
DE (1) DE69719896T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI229276B (en) * 2003-07-23 2005-03-11 Tatung Co Protocol method of reusable hardware IP
GB2418269B (en) * 2004-09-15 2010-07-21 Tatung Co Ltd Reusable hardware IP protocol method for a system-on-chip device
JP4178248B2 (ja) * 2004-10-28 2008-11-12 富士通マイクロエレクトロニクス株式会社 半導体装置
WO2008053723A1 (fr) * 2006-11-02 2008-05-08 Nec Corporation Circuit intégré semi-conducteur et procédé pour détecter une panne dans une unité de fonctionnement
JP2009087485A (ja) * 2007-10-01 2009-04-23 Elpida Memory Inc 半導体装置
CN108288489B (zh) * 2018-04-24 2023-07-25 长鑫存储技术有限公司 半导体存储器循环冗余校验装置及半导体存储器
KR20200056732A (ko) * 2018-11-15 2020-05-25 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US11604692B2 (en) * 2021-08-19 2023-03-14 Wuxi Esiontech Co., Ltd. Field programmable gate array (FPGA) with automatic error detection and correction function for programmable logic modules

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3585378A (en) * 1969-06-30 1971-06-15 Ibm Error detection scheme for memories
JPS5352029A (en) * 1976-10-22 1978-05-12 Fujitsu Ltd Arithmetic circuit unit
DE2655653C2 (de) * 1976-12-08 1982-12-16 Siemens AG, 1000 Berlin und 8000 München Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher
JPS5378127A (en) * 1976-12-22 1978-07-11 Sharp Corp Self diagnosis system of fixed program memory unit
JPS58107966A (ja) * 1981-12-22 1983-06-27 Fujitsu Ltd スキヤン方式
JPS6318597A (ja) * 1986-07-10 1988-01-26 Mitsubishi Electric Corp 集積回路内蔵メモリテスト装置
JPH01292550A (ja) * 1988-05-20 1989-11-24 Nec Corp 誤り検出回路
JPH02302833A (ja) * 1989-05-02 1990-12-14 Motorola Inc マイクロプロセッサのための動作機能チェック装置および方法
US5226043A (en) * 1990-12-27 1993-07-06 Raytheon Company Apparatus and method for data error detection and correction and address error detection in a memory system
US5793687A (en) * 1996-12-03 1998-08-11 Mitsubishi Semiconductor America, Inc. Micro ROM testing system using micro ROM timing circuitry for testing operations

Also Published As

Publication number Publication date
US6073267A (en) 2000-06-06
DE69719896D1 (de) 2003-04-24
JPH10105426A (ja) 1998-04-24
EP0833249B1 (de) 2003-03-19
EP0833249A1 (de) 1998-04-01

Similar Documents

Publication Publication Date Title
DE102006059156B4 (de) Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE60034403T2 (de) Halbleiterspeicheranordnung mit einer Fehlerkorrekturkodeschaltung und Verfahren zur Prüfung eines Speichers
DE60203032T2 (de) Integrierte Halbleiterschaltung
DE2311034C2 (de) Verfahren zum Prüfen eines integrierte logische Verknüpfungs- und Speicherglieder enthaltenden Halbleiterchips
DE3906494C2 (de)
DE102006059158B4 (de) Integrierter Schaltkreischip mit zumindest zwei Schaltungskernen und zugehöriges Verfahren zum Testen
DE3903835C2 (de)
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE60212271T2 (de) Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung
DE4328605C2 (de) Halbleiterspeichereinrichtung
DE102005048255A1 (de) Integriertes Schaltungsbauelement und Betriebsverfahren
DE2614000A1 (de) Einrichtung zur diagnose von funktionseinheiten
DE19741174A1 (de) Speichertestgerät
DE3130714A1 (de) "testsystem fuer integrierte halbleiterschaltungselemente mit integration grossen massstabs"
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE3412677C2 (de)
DE3111447A1 (de) Anzeigeschaltung fuer speicherschreibfehler
DE69719896T2 (de) Integrierte Halbleiterschaltung mit Fehlererkennungsschaltung
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE10315248A1 (de) Eingebaute Selbsttestschaltung
DE3003150A1 (de) Mikrocomputer mit einem speicher mit wahlfreiem zugriff zum speichern von paritaetsbits
DE19951534A1 (de) Integrierte Halbleiterschaltung
DE102006029747A1 (de) Halbleiterspeicherchip und Verfahren für den Schutz seines Speicherkerns
DE10034702A1 (de) Verfahren zum Analysieren des Ersatzes fehlerhafter Zellen in einem Speicher und Speichertestvorrichtung mit einem Fehleranalysator, der von dem Verfahren Gebrauch macht

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee