[go: up one dir, main page]

DE3840969C2 - - Google Patents

Info

Publication number
DE3840969C2
DE3840969C2 DE3840969A DE3840969A DE3840969C2 DE 3840969 C2 DE3840969 C2 DE 3840969C2 DE 3840969 A DE3840969 A DE 3840969A DE 3840969 A DE3840969 A DE 3840969A DE 3840969 C2 DE3840969 C2 DE 3840969C2
Authority
DE
Germany
Prior art keywords
circuit
circuits
error detection
parity
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3840969A
Other languages
English (en)
Other versions
DE3840969A1 (de
Inventor
Toshio Kokubunji Jp Doi
Takehisa Kodaira Jp Hayashi
Kenichi Kokubunji Jp Ishibashi
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3840969A1 publication Critical patent/DE3840969A1/de
Application granted granted Critical
Publication of DE3840969C2 publication Critical patent/DE3840969C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)

Description

Die Erfindung betrifft eine integrierte Halbleiter-Schal­ tungsvorrichtung der im Oberbegriff des Patentanspruchs 1 genannten Art. Eine solche Vorrichtung ist aus der Druck­ schrift IBM-TDB August 1970, Seiten 781 und 782 bekannt.
Zur Verbesserung der Zuverlässigkeit einer logischen Schal­ tung sind allgemein Verfahren bekannt, bei denen an die Daten ein Paritätsbit angefügt und die logische Schaltung doppelt vorgesehen wird (z. B. in "ISSCC Digest of Technical Papers", Seiten 54 und 55, Februar 1982 (IEEE) beschrieben).
In der Fig. 1 der Zeichnung ist ein Beispiel für die Aus­ führung eines solchen Verfahrens dargestellt. Es sind dabei zwei Rechen/Logik-Einheiten (Arithmetic Logic Unit) ALU1 und ALU2 vorgesehen, die logisch vollkommen gleiche Funktio­ nen haben. Die Daten A und B werden sowohl in die ALU1 als auch in die ALU2 eingegeben. Das Operationsergebnis der ALU1 wird an einem Ausgangsanschluß F ausgegeben. Gleichzeitig werden die Operationsergebnisse der ALU1 und der ALU2 einer Vergleichsschaltung CMP zugeführt. Die Vergleichs­ schaltung CMP erzeugt ein Fehlererfassungssignal an einem An­ schluß E. Was die Fehlererfassung der Eingangsdaten betrifft, werden Paritätsbits PA und PB, die den Daten A und B zugeord­ net sind, eingegeben und in Paritäts-Prüfschaltungen PCA und PCB überprüft, deren Ergebnisse an Ausgangsanschlüssen EA und EB ausgegeben werden. Weiterhin berechnet eine Paritäts-Ge­ neratorschaltung PG ein Paritäts-Ausgangssignal auf Grundlage der ALU-Ausgabe und führt das Paritäts-Ausgangssignal einem Ausgangsanschluß PF zu.
In Fig. 2 ist ein Beispiel dargestellt, bei dem der oben­ genannte Stand der Technik auf eine Operationseinheit mit ALUs, Registern, Vor-Verschiebeeinheiten usw. Anwendung fin­ det.
In der Fig. 21 bezeichnen die Bezugszeichen DL1601 und DL1602 Daten-Zwischenspeicher (Data Latches), PL16 einen Paritäts-Zwischenspeicher, R1501 und R1502 Register sowie PS1501 und PS1502 Vor-Verschiebeeinheiten (Pre-Shifter). In diesem Beispiel erfolgt die Paritäts­ prüfung der Registerausgaben in Paritäts-Prüfschaltungen PCA und PCB. Die Ergebnisse der Paritätsprüfung werden von entsprechenden Anschlüssen EA und EB geliefert. Die Operationsergebnisse der zwei Sätze der verdoppelten Vor-Verschiebeeinheiten PS1501 und PS1502 (Schiebeschaltungen SH1501 und SH1502 sowie Schiebeschaltungen SH1503 und SH1504) werden in Ver­ gleichsschaltungen CMP1601 bzw. CMP1602 verglichen und überprüft. Die Ergebnisse des Vergleichs und der Überprüfung werden an Anschlüssen E1601 und E1602 ausgegeben.
In Fig. 3 ist ein Beispiel einer Kombination aus einer Vergleichs- und Prüfschaltung für die Operationsergebnisse von verdoppelten Schaltungen und aus einer Diagnoseschaltung für diese Vergleichs- und Prüfschaltung dargestellt. In dieser Figur bezeichnen die Bezugssymbole 1301 und 1302 doppelte Operationsschaltungen, die dieselbe Funktion haben, EOR13 eine Exklusiv- ODER-Schaltung (EOR) für Vergleich und Überprüfung, 1303 eine Diagnoseschaltung für die EOR-Schaltung und AND1301 sowie AND1302 Addierschaltungen. Die verdoppelten Operationsschaltungen 1301 und 1302 erzeugen dieselben Operationsergebnisse, solange sie normal arbeiten. Die Vergleichs- und Prüfschaltung EOR13 kann jedoch nicht unterscheiden, ob die Operationsschaltungen 1301 und 1302 normal arbeiten oder ob ihre Ausgaben zufällig übereinstimmen. Daher nimmt die Ausgabe von einer Operationsschaltung aufgrund der Diagnoseschaltung 1303, die in diesem Beispiel aus den UND-Schaltungen AND1301 und AND1302 gebildet ist, zwangsweise einen Wert an, der sich von der Ausgabe der anderen Operationsschaltung unterscheidet, und die Vergleichs- und Prüfschaltung EOR13 führt die Diagnose durch. Damit erhält man eine logische Schaltung 1300 mit einer Fehlererfassungsschaltung. In dieser Figur sind mit den Bezugszeichen T2 und T3 Diagnose-Steuersignale angegeben, die im Normalbetrieb auf den hohen Pegel gesetzt sind. Daher werden Signale OUT1301 und OUT1302 direkt in die Ver­ gleichs- und Prüfschaltung EOR13 eingegeben. Wenn die beiden Schaltungen für die logische Operation 1301 und 1302 normal arbeiten, nehmen die Signale OUT1301 und OUT1302 denselben Wert an. Das Ausgangssignal ER13 der Vergleichs- und Prüfschaltung EOR13 nimmt deshalb immer den niedrigen Pegel an. Es kann jedoch keine Unterscheidung zwischen dem Normalbetrieb der Vergleichs- und Prüfschaltung EOR13 und dem Fall erfolgen, in dem das Ausgangssignal aufgrund irgendeiner Fehlfunktion auf den niedrigen Pegel festgelegt ist. Um bei der Diagnose der logischen Schaltung die Unterscheidung dieser zwei Fälle zu ermöglichen, werden an die Eingänge A11 bis D11 solche Eingangssignale angelegt, daß beispielsweise, wenn das Steuersignal T2 auf den niedrigen Pegel gesetzt ist, das Ausgangssignal der UND-Schaltung AND1301 den niedrigen Pegel annimmt und das Signal OUT1301 zu diesem Zeitpunkt den hohen Pegel annimmt. Wenn die Vergleichs- und Prüfschaltung EOR13 normal arbeitet, nimmt die Ausgabe ER13 den hohen Pegel an. Wenn eine Fehlfunktion vorliegt, nimmt die Ausgabe ER13 den niedrigen Pegel an. Auf diese Weise kann die Diagnose der Vergleichs- und Prüfschaltung EOR13 erfolgen, indem eines der Diagnose-Steuersignale T2 oder T3 auf den niedrigen Pegel gesetzt wird.
Dieser allgemein bekannte Stand der Technik hat jedoch zum einen den Nachteil, wegen der doppelten Schaltungsauslegung eine große Fläche (Lay-Out-Fläche) zu beanspruchen und zum anderen ist die Verarbeitungsgeschwindigkeit wegen der erst im Anschluß an die eigentliche Rechen- bzw. Logikoperation mögliche Fehlerprüfung herabgesetzt.
In der eingangs genannten IBM-Druckschrift ist eine Schal­ tungsanordnung zur Feststellung von Fehlern in den einzelnen logischen Gattern eines Addierers beschrieben. Dazu wird die von einer Paritäts-Vorherbestimmungsschaltung auf der Basis der Operation in einem Volladdierer vorausbestimmte Parität in einer Schaltung mit der Parität verglichen, die anhand des tatsächlichen Ergebnisses der Addition in einem nachgeordneten Paritätsgenerator erhalten wird. Die vorausbestimmte Parität steht zwar dann spätestens zusammen mit dem Er­ gebnis aus dem Volladdierer zur Verfügung, es können jedoch auch nur Fehler im Bereich des Volladdierers erfaßt werden. Deshalb ist bei dieser bekannten Anordnung für die weitere Verarbeitungsstufe in einem Halbaddierer eine separate Pari­ tätsprüfung in einer Prüfschaltung vorgesehen. Um die Fehlerfreiheit des Gesamtergebnisses feststellen zu können, ist außerdem eine Verknüpfung des Ausgangssignals der Prüf­ schaltung mit dem Ausgangssignal eines Vergleichers erfor­ derlich. Dadurch ist jedoch der insgesamt notwendige Schal­ tungsaufwand und die Verarbeitungszeit wieder relativ hoch.
Aus der DE-OS 22 62 002 ist noch ein Verfahren zur Prüfung von logischen Operationen durch eine Paritätsprüfung auf der Basis der aus den einzelnen Operationsergebnissen erhaltenen Parität und der Eingangsparität bekannt, bei dem die Paritäts­ bits, gemeinsam mit den Operanden, den entsprechenden Ver­ knüpfungen im Rechenwerk unterzogen werden. Um die bezüglich der Operationsergebnisse "richtige" Parität zu erhalten, müssen an den Paritätsbits dabei jedoch noch zusätzliche spezielle Operationen ausgeführt werden.
Es ist darüber hinaus aus der Druckschrift IBM-TDB Juni 1984 bekannt, sogenannte Carry-look-ahead-Schaltungen doppelt vorzusehen, um in einem eigenen Testmodus Logikschaltungen durch Verschieben von Operanden überprüfen zu können.
Aufgabe der Erfindung ist es deshalb, die Schaltungsvor­ richtung der im Oberbegriff des Patentanspruchs genannten Art so auszugestalten, daß ohne Beeinträchtigung der Zuver­ lässigkeit die Integrationsdichte der Schaltung erhöht und/oder deren Operationsgeschwindigkeit verbessert ist.
Diese Aufgabe wird erfindungsgemäß mit den im Kennzeichen des Patentanspruchs 1 angegebenen Merkmalen gelöst. Gemäß dieser Lösung wird parallel zur Verarbeitung der Daten in den Operationsschaltungen der Fehlererfassungscode derart korrigiert bzw. aktualisiert, daß zusammen mit der Ausgabe der verarbeiteten Daten auch der dem Gesamt-Operationser­ gebnis entsprechende Fehlererfassungscode vorliegt. Erfin­ dungsgemäß ist dabei insbesondere vorgesehen, daß die Erzeugung des Fehlererfassungscodes der Verarbeitung der einge­ gebenen Daten in einer Anzahl von Operationsschaltungen stufenweise folgt, so daß es nicht erforderlich ist, die Fehlererfassung für jedes Operationsergebnis in den ein­ zelnen Stufen auszuführen, sondern daß es ausreicht, den Fehlererfassungscode am Ausgang der Schaltung zu überprüfen. Mit anderen Worten kann bei der erfindungsgemäßen Anordnung auch ein in dazwischenliegenden Schaltungen bzw. Stufen auf­ getretener Fehler nur durch Ausführen einer Fehlererfassung bezüglich des Ausgangssignals der letzten Stufe festge­ stellt werden. Sogar Fehler in den eingegebenen Daten lassen sich auf diese Weise feststellen.
Im Prinzip reicht somit auch für eine Anzahl von Operations­ schaltungen, das heißt für mehrere aufeinanderfolgende Stu­ fen der Datenverarbeitung eine einzige Fehlererfassungs­ schaltung aus, mit dem Ergebnis, daß die Anzahl der erfor­ derlichen Schaltungen weiter verringert werden kann.
Die vorliegenden Unteransprüche beinhalten vorteilhafte Aus­ führungsformen der im Patentanspruch 1 beschriebenen Vor­ richtung.
Durch die beschriebene Erfindung ergeben sich somit insge­ samt folgende Vorteile:
Die Paritätsausgabe erfolgt im wesentlichen zur selben Zeit wie die Datenausgabe. Im Falle einer 32-Bit-ALU läßt sich beispielsweise eine Beschleunigung der Verarbeitung um etwa 20% erzielen. In den Operationen auftretende 1-Bit-Fehler werden dabei durch die Paritätsbits erfaßt, wodurch sich auch ohne Verdoppelung der Schaltung eine vergleichbar hohe Zuverlässigkeit ergibt.
Wenn die erfindungsgemäße Anordnung auf die gesamte Opera­ rationseinheit Anwendung findet, kann die für die Fehlerer­ fassung erforderliche Anzahl von Schaltungen verringert werden.
Wenn gleichzeitig noch eine Fehlererfassung durch Verdoppe­ lung der Schaltung Anwendung findet, kann die Funktion der Schaltungsdiagnose in die dynamische logische Schaltung einbezogen werden, ohne die Betriebsfähigkeit der dynami­ schen Schaltung zu verschlechtern.
Bevorzugte Ausführungsbeispiele der Erfindung werden im folgenden unter Bezugnahme auf die anliegenden Zeichnungen beschrieben. In den Zeichnung zeigen
Fig. 1 ein Blockdiagramm eines bekannten Beispiels mit verdoppelten ALU-Einheiten für die Fehlererfassung;
Fig. 2 ein Blockdiagramm eines Beispiels, bei dem die Fehlererfassung durch die verdoppelten Schaltungen auf eine Operationseinheit Anwendung findet, die eine ALU, ein Register und eine Vor-Verschiebeeinheit aufweist;
Fig. 3 ein Schaltbild eines Ausführungsbeispiels einer logischen Schaltung, die die Diagnosefunktion der Fehlerer­ fassungsschaltung hat;
Fig. 4 ein Blockdiagramm eines Ausführungsbeispiels der Erfindung mit einer logischen Schaltung, in der ein Fehlerer­ fassungscode Anwendung findet;
Fig. 5 ein Blockdiagramm eines Ausführungsbeispiels der Erfindung in Anwendung auf eine ALU;
Fig. 6 ein Schaltbild der ersten Stufe des Ausführungsbeispiels nach Fig. 5;
Fig. 7 ein Diagramm zur Verdeutlichung der Funktion der Schaltung der zweiten Stufe der Daten-Operationseinheit des Ausführungsbeispiels nach Fig. 5;
Fig. 8 ein Schaltbild eines Beispiels der Schaltung der zweiten Stufe der Fehlererfassungscode-Korrektureinheit im Ausführungsbeispiel nach Fig. 5;
Fig. 9, 10A und 10B Schaltbilder zur Verdeutlichung von Schaltungsbeispielen, die eine Paritätsprüfung erfordern;
Fig. 11 ein Blockdiagramm eines Ausführungsbeispiels der Erfindung;
Fig. 12 und 13 Blockdiagramme von Ausführungsbeispielen, bei denen die vorliegende Erfindung auf eine ALU mit einer Carry-Look-Ahead-Generatoreinheit Anwendung findet;
Fig. 14 ein Blockdiagramm eines Ausführungsbeispiels, in dem vorliegende Erfindung auf die Operationseinheit Anwendung findet;
Fig. 15 ein Blockdiagramm, in dem ein Beispiel einer im Ausführungsbeispiel nach Fig. 14 verwendeten Vor-Verschiebe­ einheit dargestellt ist;
Fig. 16A ein Schaltbild einer logischen Schaltung, die eine Fehlererfassungsschaltung nach einem Ausführungsbeispiel der Erfindung beinhaltet;
Fig. 16B ein Diagramm, in dem Beispiele von Wellenformen dargestellt sind, die in der Schaltung nach Fig. 16A auftreten;
Fig. 17 ein Schaltbild eines Ausführungsbeispiels, bei dem die Erfindung auf eine logische Schaltung Anwendung findet, in der mehrere Fehlererfassungsschaltungen enthalten sind;
Fig. 18 ein Schaltbild eines weiteren Beispiels der in vorliegender Erfindung verwendeten Operationsschaltung; und
Fig. 19 ein Schaltbild eines Ausführungsbeispiels, bei dem die Erfindung auf eine ALU nach dem Carry-Look-Ahead-Generatorsystem Anwendung findet.
Fig. 4 zeigt ein Blockdiagramm eines Ausführungsbeispiels der Erfindung. In Fig. 4 sind folgende Elemente dargestellt: eine Daten-Operationseinheit 1, eine Fehlererfassungseinheit 2, eine Fehlererfassungscode-Korrektureinheit 3 entsprechend dem zweiten Schaltungszug; ein Daten-Eingangsanschluß 110, Daten-Operationsschaltungen 111 bis 114, ein Daten- Ausgangsanschluß 115; Fehlererfassungsschaltungen 121 bis 124; ein Fehlererfassungscode-Eingangsanschluß 130, Fehlerer­ fassungscode-Korrekturschaltungen 131 bis 134, ein Fehlererfassungs­ code-Ausgangsanschluß 135; Steuersignal-Eingangsanschlüsse 141 bis 144; und Fehlererfassungssignal-Ausgangsanschlüsse E121 bis E124. In diesem Ausführungsbeispiel werden bezüglich des über den Daten-Eingangsanschluß 110 eingegebenen Eingangs-Datensignals vorgegebene Operationen entsprechend den Signalen durchgeführt, die über die Steuersignal-Eingangsanschlüsse 141 bis 144 eingegeben werden, während sich das Eingangs- Datensignal durch die seriell verschalteten Operationsschaltungen 111 bis 114, die die Daten-Operationseinheit 1 bilden, fortpflanzt. Das Ergebnis der Operation wird über den Ausgangsanschluß 115 ausgegeben. In der Fehlererfassungscode- Korrektureinheit 3 sind die Fehlererfassungscode-Korrektur­ schaltungen 131 bis 134 in Entsprechung zu den Operationsschaltungen 111 bis 114 im ersten Schaltungszug vorgesehen, und die über die Eingangsanschlüsse 141 bis 144 eingegebenen Steuersignale werden auch hier eingegeben. An dem Fehlererfassungscode, der über den Fehlererfassungscode-Eingangsanschluß 130 eingegeben wird, werden in den Schaltungen 131 bis 134 den Datenoperationen entsprechende Korrekturen vorgenommen. Weiterhin sind in der Fehlererfassungseinheit 2 die Fehlererfassungsschaltungen 121 bis 124 entsprechend den Schaltungen 111 bis 114 und 131 bis 134 vorgesehen. Die Ausgaben der jeweiligen Stufen der Daten-Operationseinheit 1 und der Fehlererfassungscode-Korrektureinheit 3 werden in die entsprechenden Stufen der Fehlererfassungseinheit 2 eingegeben. Die aus den Operationsdaten und dem Fehlererfassungscode der jeweiligen Stufen dieser Schaltungen erhaltenen Ergebnisse der Fehlererfassung werden an die entsprechenden Ausgangsanschlüsse E121 bis E124 ausgegeben. Wird beispielsweise die Parität als der Fehlererfassungscode verwendet, wird das Paritätsbit der Eingangsdaten auf den Fehlererfassungscode-Eingangsanschluß 130 gegeben, und in den Fehlererfassungscode- Korrekturschaltungen 131 bis 134 werden Korrekturen vorgenommen, so daß die in Entsprechung zu den Operationen in den jeweiligen Stufen der Operationsschaltungen 111 bis 114 bestimmte Parität als die Ausgabe geliefert wird, während die in den entsprechenden Fehlererfassungscode-Korrekturschaltungen 131 bis 134 korrigierten Paritäten und die Paritäten der entsprechenden Operationsergebnisse der Operationsschaltungen 111 bis 114 durch die Paritätsprüfung verglichen und die Ergebnisse über die Ausgangsanschlüsse E121 bis E124 ausgegeben werden. Durch diese Anordnung wird es möglich, 1-Bit-Fehler der Ausgaben der Operationsschaltungen, ähnlich wie bei der Doppel-Anordnung nach dem Stand der Technik, zu erfassen. Auch in diesem Ausführungsbeispiel werden Daten sowie die entsprechenden Paritätsbits eingegeben und die Verarbeitung der ersteren sowie die Korrekturen der letzteren parallel durchgeführt, wie oben beschrieben. Als Folge davon erhält man das Paritäts-Ausgangssignal im wesentlichen zur gleichen Zeit wie das Daten-Ausgangssignal, wodurch die Operationszeit verringert wird. Da weiterhin die Anzahl der Paritätsbits niedriger als die Anzahl der Bits der Daten ist (gewöhnlich wird ein Paritätsbit an acht Datenbits angefügt), ist der Umfang der Schaltungen, die für die Anwendung des vorliegenden Ausführungsbeispiels hinzugefügt werden müssen, wie die Fehlererfassungscode- Korrektureinheit, kleiner als der der Daten-Operationseinheit 1, wodurch im Vergleich zu dem Fall, in dem die Operationseinheit verdoppelt wird, eine Verringerung der Lay- Out-Fläche möglich ist. Damit lassen sich gleichzeitig Verbesserungen der Verarbeitungsgeschwindigkeit und der Integrationsdichte erzielen. Beim Stand der Technik nach Fig. 1 erfolgte die Fehlererfassung an den Eingangsdaten in den Paritäts- Prüfschaltungen PCA und PCB. Im vorliegenden Ausführungsbeispiel hat die Fehlererfassungsschaltung 121 der ersten Stufe auch diese Funktion.
Fig. 5 ist ein Blockdiagramm, das ein weiteres Ausführungsbeispiel zeigt, indem das erfindungsgemäße Merkmal auf die ALU Anwendung findet. In Fig. 5 bezeichnen die Bezugszeichen A₀ bis A₃ A-Eingangsdaten, B₀ bis B₃ B-Eingangsdaten, CI eine Übertrag-Eingabe (Carry-Input), S₀ bis S₃ Operations-Steuersignale, F₀ bis F₃ Operationsergebnisse, CO eine Übertrag-Ausgabe (Caryy-Output), PA die Parität der A-Eingangsdaten, PB die Parität der B-Eingangsdaten, 3110 bis 3113 Schaltungen, die die Operationsschaltung 311 der ersten Stufe der Daten-Operationseinheit 1 bilden, 3120 bis 3123 Schaltungen, die die Operationsschaltung 312 der zweiten Stufe der Daten-Operationseinheit 1 bilden, 3130 bis 3133 Schaltungen, die die Operationsschaltung 313 der dritten Stufe der Daten-Operationseinheit 1 bilden, 3140 bis 3143 Schaltungen, die die Operationsschaltung 314 der vierten Stufe der Daten-Operationseinheit 1 bilden, DEC eine Decoderschaltung und CG eine Übertrag-Generatorschaltung (Carry Generating Circuit). Im folgenden wird der Betrieb dieses Ausführungsbeispiels beschrieben.
Nach Fig. 5 werden bezüglich der A-Eingangsdaten A₀ bis A₃, der B-Eingangsdaten B₀ bis B₃ und einer Übertrag- Eingabe CI arithmetische Operationen der logischen Operationen durchgeführt, die durch die Operations-Steuersignale S₀ bis S₃ gewählt werden, um die Operationsergebnisse F₀ bis F₃ sowie eine Übertrag-Ausgabe CO zu liefern. In diesem Ausführungsbeispiel wird die Parität als der Fehlererfassungscode verwendet. Die Parität PA der A-Eingangsdaten und die Parität PB der B-Eingangsdaten werden zusammen mit den Daten in die ALU eingegeben, und die Parität des Operationsergebnisses wird bei PF ausgegeben. Die Schaltung 311 der ersten Stufe der Daten-Operationseinheit 1 ist eine Stufe, die einer binär kodierten Dezimaloperation (BCD-Operation) entspricht und bei Durchführung der BCD-Operation nur zu den B-Eingangsdaten 6 addiert. Entsprechend dieser Operation korrigiert die erste Schaltungsstufe 331 der Fehlererfassungscode-Korrektureinheit 3 (im folgenden einfach als "Korrektureinheit" bezeichnet) die Parität PB. Ausgaben dieser beiden Schaltungen werden in die Fehlererfassungsschaltung 321 eingegeben, um daran die Paritätsprüfung vorzunehmen, wodurch Fehler in der ersten Stufe sowie Fehler in den Eingangsdaten erfaßt werden.
Anschließend wird in der zweiten Operationsschaltungsstufe 312 der Daten-Operationseinheit 1 eine arithmetische Operation oder eine logische Operation durchgeführt, die durch Operations­ steuer-Signale S₀ bis S₃ gewählt werden. Im Fall der arithmetischen Operation arbeitet diese Stufe als ein Halb- Addierer, und der Übertragsprozeß erfolgt in der nächsten Stufe. Die Schaltung 3123 weist eine Schaltung G₃, die ein Übertrag-Erzeugungssignal erzeugt, eine Schaltung P₃, die ein Übertrag-Übertragungssignal erzeugt, und eine NOR-Schaltung NOR₃ auf. Die Schaltungen 3120 bis 3122 haben jeweils denselben Aufbau wie die Schaltung 3123. Die Bezugssymbole HA₀ bis HA₃ bezeichnen Halb-Addierer-Ausgaben. Die zweite Schaltungsstufe 332 der Korrektureinheit 3 führt die Paritäts­ korrektur unter Verwendung der Parität PA und der Ausgabe P₀ der ersten Stufe durch. Diese Ausgaben werden in die Fehlererfassungsschaltung 322 eingegeben, um dort die Paritätsprüfung durchzuführen. Auf ähnliche Weise für die dritte Stufe den Übertragsprozeß der arithmetischen Operation durch, und die vierte Stufe führt eine -6-Operation im Falle der BCD- Operation durch. Auch die Paritätskorrektur und die Paritätsprüfung werden durchgeführt. Die Schaltung 3133 weist eine Exklusiv-ODER-Schaltung EOR3, die Schaltung 3143 die -6- Schaltung MF₃ auf. Die Schaltungen 3130 bis 3132 haben jeweils denselben Aufbau wie die Schaltung 3133, die Schaltungen 3140 bis 3142 haben jeweils denselben Aufbau wie die Schaltung 3143.
Da man in diesem Ausführungsbeispiel, ähnlich wie im Fall von Fig. 4, die Paritätsausgabe im wesentlichen zur selben Zeit wie die Datenausgabe erhält, wird die Operationszeit verringert. Weiterhin können in diesem Ausführungsbeispiel die Fehlererfassungseinheit und die Korrektureinheit aus einer Schaltung aufgebaut werden, während die Daten-Operationseinheit vier Schaltungen für jede Stufe erfordert. Daher kann die Anzahl der Schaltungen im Vergleich zum Fall der Verdopplung der Daten-Operationseinheit 1 verringert werden, und auch die Lay-Out-Fläche kann verkleinert werden. In dieser Ausführungsform wird zu 4-Bit-Eingangsdaten ein 1-Bit-Paritätsbit gegeben. Es ist allgemein üblich, an acht Datenbits ein Paritätsbit anzufügen. Wenn man von einer derartigen Anordnung ausgeht, wird die Verringerung der Lay-Out-Fläche durch die Erfindung bedeutender. Es ist anzumerken, daß vorliegende Erfindung in ähnlicher Weise in solchen ALUs umgesetzt werden kann, die unterschiedliche Konstruktionen und Funktionen haben (z. B. ALUs, die keine BCD-Operation-Funktion haben).
Fig. 6 zeigt jeweils ein Beispiel der ersten Schaltungsstufe 311, 321 und 331 der Daten-Operationseinheit 1, der Korrektureinheit 3 bzw. der Fehlererfassungseinheit 2. In dieser Figur bezeichnen die Bezugsziffern 100 eine +6-Schaltung, PPB eine +6-Korrekturschaltung, 101 bis 104 Ausgangs-Auswahlschaltungen, B₀ bis B₃ B-Eingangsdaten, D₀ bis D₃ Ausgangsdaten der Daten-Operationsschaltung 311, PD die Ausgangs- Parität der Korrekturschaltung 331 und DEC1 ein Operations- Steuersignal.
Die Operationsschaltung 100 addiert 6 zu den B-Eingangsdaten B₀ bis B₃, während die Auswahlschaltungen 101 bis 104, basierend auf dem Steuersignal DEC1, den Wert nach Addition von 6 auf D₀ bis D₃ ausgeben, wenn das Steuersignal DEC1 "0" ist, und den Wert ohne Addition auf D₀ bis D₃ ausgeben, wenn das Steuersignal DEC1 "1" ist. Die Schaltung liefert auch das Paritätsbit entsprechend dem Ausgangssignal an PD.
Die Logik der Ausgangsdaten D₀ bis D₃ nach Addition von 6 läßt sich folgendermaßen darstellen:
D₃ = B₁ + B₂ + B₃
D₂ = B₁ · B₂ + ₁ · ₂
D₁ = ₁
D₀ = B₀
Als Ergebnis der obigen Operation ist der Fall, der die Parität invertiert, folgender Fall:
B₁ · B₃ + · B₂ · ₃ = 1
Diese Korrektur erfolgt in der Korrekturschaltung PPB. Wenn kein Fehler in der Operation vorliegt, wird folglich die Parität der Ausgangsdaten D₀ bis D₃ gleich der Parität PD der Ausgabe der Korrekturschaltung PPB. Durch Prüfen dieser Daten in der Fehlererfassungsschaltung 321 kann 1-Bit-Fehler erfaßt werden.
Fig. 7 zeigt ein Beispiel der Funktion der zweiten Schaltungsstufe 312 der Daten-Operationseinheit nach Fig. 5. Diese Schaltung führt die in der Figur dargestellte vorgegebene Operation in Entsprechung zu den Operations-Steuersignalen S₀ bis S₃ durch. In der Figur gibt das Bezugssymbol Gn (n=0 bis 3) die Ausgabe der das Übertrag-Erzeugungssignal erzeugenden Schaltung G₀ bis G₃ in den Schaltungen 3120 bis 3123 (in Fig. 5 sind jedoch das Übertrag-Erzeugungssignal erzeugenden Schaltungen G₀ bis G₂ in den Schaltungen 3120 bis 3122 nicht gezeigt) und das Bezugssymbol Pn (n= 0 bis 3) die Ausgabe der das Übertrag-Übertragungssignal erzeugenden Schaltung P₀ bis P₃ in den Schaltungen 3120 bis 3123 an (in Fig. 5 sind jedoch die Schaltungen P₀ bis P₂ in den Schaltungen 3120 bis 3122 nicht gezeigt). Das Symbol HAn (n=0 bis 3) bezeichnet die Ausgabe der Schaltungen 3120 bis 3123. Wie in dieser Figur gezeigt, kann man die Parität der Ausgabe HAn aus den Paritäten PA (Parität von An), PB (Parität von Bn), PD (Parität von Dn), PAB (Parität von An · Bn) und (Parität von n · n) erhalten.
Fig. 8 zeigt ein Beispiel der Fehlercode-Korrekturschaltung 332 entsprechend der Operationsschaltung 312, die die in Fig. 7 dargestellte Funktion hat. Die Parität der Operationsschaltung- Ausgabe läßt sich aus den Paritäten PA, PB und PD sowie den Daten A₀ bis A₃ und B₀ bis B₃ ent­ sprechend den Operations-Steuersignalen S₀ bis S₃ erhalten. In Fig. 8 bezeichnet Bezugsziffer 601 eine PAB-Erzeugungsschaltung, 602 eine -Erzeugungsschaltung, 603 eine Paritäts-Auswahlschaltung, und die Bezugsziffern 604 bis 610 bezeichnen Eingangsanschlüsse der Paritäts-Auswahlschaltung 603. Am Eingangsanschluß 604 wird PA⊕PB⊕PAB, am Ein­ gangsanschluß 605 PA⊕PB⊕ und am Eingangsanschluß 606 PA eingegeben. Am Eingangsanschluß 607 wird PA+ PB, am Eingangsanschluß 608 PB, am Eingangsanschluß 609 PA+ PD und am Eingangsanschluß 610 "0" eingegeben. Die Paritäts- Auswahlschaltung 603 selektiert die Eingaben entspechend den Steuersignalen S₀ bis S₃ und liefert eine Ausgabe an P332.
Im in Fig. 4 dargestellten Ausführungsbeispiel sind die Fehlererfassungsschaltungen 121 bis 124 für jede Stufe vorgesehen, und wenn beispielsweise die Parität als der Fehlererfassungscode verwendet wird, kann ein Bitfehler in jeder Stufe der Schaltung erfaßt werden. Das Fehler-Erfassungsvermögen des in Fig. 1 dargestellten Standes der Technik beträgt ein Bit in der gesamten Schaltung einschließlich der verdoppelten ALU1 und ALU2. Wenn daher das Fehler-Erfassungsvermögen des erfindungsgemäßen Ausführungsbeispiels, in dem das Paritätsbit Anwendung findet, ähnlich wie in der verdoppelten Anordnung, auf ein Bit in der gesamten Schaltung gesetzt wird, können die Fehlererfassungsschaltungen im Vergleich zum Ausführungsbeispiel nach Fig. 4 verringert werden. Im folgenden wird ein Ausführungsbeispiel erläutert, in dem die Fehlererfassungsschaltungen reduziert sind.
Wenn mehrere Stufen von Schaltungen in Serie geschaltet sind, durch die sich ein Paritätsfehler des Eingangssignals zum Ausgangssignal fortpflanzt, kann im allgemeinen ein in den dazwischenliegenden Schaltungen auftretender Bitfehler durch Prüfung der Parität des Ausgangssignals der Endstufe erfaßt werden. Wenn daher das Fehler-Erfassungsvermögen auf ein Bit in der gesamten Schaltung gesetzt wird, ist es nur notwendig, eine Paritäts-Prüfschaltung für das Endstufen-Ausgangssignal vorzusehen sowie für das Eingangssignal von solchen Schaltungen, die den Paritätsfehler im Eingangssignal nicht bis zum Ausgangssignal weitergeben. Die Fig. 9 bzw. 10 zeigen Beispiele einer Schaltung, die den Paritätsfehler nicht weitergibt, und einer Paritäts-Prüfschaltung für das Eingangssignal. Die Erläuterung erfolgt unter Bezugnahme auf diese Figuren.
Fig. 9 zeigt ein Beispiel, in dem die Parität entartet wird. In dieser Figur bezeichnen die Bezugsziffern 701 und 703 Daten-Operationsschaltungen, 702 und 704 Paritäts-Korrekturschaltungen, 705 eine Paritäts-Prüfschaltung, 710 und 711 Eingangssignale zur Daten-Operationsschaltung 701, 712 und 713 Eingangssignale zur Daten-Operationsschaltung 703, 720 bis 723 Ausgangssignale der Daten-Operationsschaltung 703, P702 ein Eingangssignal zur Paritäts-Korrekturschaltung 702, P704 ein Ausgangssignal der Paritäts-Korrekturschaltung 704 und E705 ein Ausgangssignal der Paritäts-Prüfschaltung 705. Die Daten- Operationsschaltung 701 nach Fig. 9 entspricht einer der Daten- Operationsschaltungen 111 bis 113 in Fig. 4. In ähnlicher Weise bestehen folgende Entsprechungen zwischen den Elementen in Fig. 9 und denen in Fig. 4: Die Paritäts-Korrekturschaltung 702 entspricht einer der Fehlererfassungscode-Korrekturschaltungen 131 bis 133 entsprechend der Daten-Operationsschaltung 701; die Paritäts-Prüfschaltung 705 einer der Fehlererfassungsschaltungen 121 bis 123 entsprechend der Daten- Operationsschaltung 701 und der Paritäts-Korrekturschaltung 702; die Daten-Operationsschaltung 703 der Daten- Operationsschaltung der zweiten Stufe der Schaltung 701 und die Paritäts- Korrekturschaltung 704 der Fehlererfassungscode-Korrekturschaltung entsprechend der Daten-Operationsschaltung 703. In der Operationsschaltung 703 wird bezüglich eines Eingangssignals 712 ein Signal mit derselben Polarität als Ausgabe 720 und ein Signal mit invertierter Polarität als Ausgabe 721 ausgegeben. Auch bezüglich des Eingangssignals 713 werden in ähnlicher Weise Signale mit den beiden Polaritäten als Ausgaben 722 und 723 abgegeben. Die Parität der Ausgangssignale 720 bis 723 der Daten-Operationsschaltung 703 wird immer eine gerade Zahl, die Ausgangsparität P704 immer "0" (im Fall einer gerad­ zahligen Parität). In diesem Fall wird die Ausgangsparität P704 oder Operationsschaltung 703, unabhängig von den Eingangsdaten 712 und 713, zu einer geraden Zahl degeneriert. Selbst wenn ein Paritätsfehler in den Eingangssignalen 712 und 713 für die Schaltung 713 vorliegt, wird daher der Fehler nicht auf die Ausgangssignale 720 bis 723 weitergegeben. Es ist deshalb notwendig, eine Paritäts-Prüfschaltung 705 für das Eingangssignal der Operationsschaltung 703 vorzusehen und eine Fehlererfassung in der Operationsschaltung 701 durchzu­ führen.
Die Fig. 10A und 10B zeigen ein Beispiel, in dem ein 1-Bit-Fehler, der in einer Operationsschaltung auftritt, als Ausgangssignal ein 2-Bit-Fehler wird, so daß die herkömmliche Paritätsprüfung den Fehler nicht erfassen kann. In den Fig. 10A und 10B bezeichnen die Bezugsziffern 801, 804 und 805 Daten- Operationsschaltungen, 803 und 808 Paritäts-Korrekturschaltungen, 802 und 806 Paritäts-Prüfschaltungen, 804 und 805 logische Schaltungen in der Daten-Operationsschaltung 801, 810 und 811 Eingangssignale zu der Daten-Operationsschaltung 801, 812 und 813 Ausgangssignale von der Daten-Operationsschaltung 801, P800 die Paritätseingabe der Schaltung 803, P801 die Paritätsausgabe der Schaltung 803 und E802 die Ausgabe der Schaltung 802. Es bestehen folgende Übereinstimmungen zwischen den Elementen in Fig. 10A und denen in Fig. 4: Die Schaltung 801 entspricht einer der Daten-Operationsschaltungen 111 bis 114, die Schaltung 803 einer der Fehlererfassungscode- Korrekturschaltungen 131 bis 134 entsprechend der Schaltung 801, die Schaltungen 802 einer der Fehlererfassungsschaltungen 121 bis 124 entsprechend den Schaltungen 801 bis 803.
In der Schaltung nach Fig. 10A gibt es Fälle, in denen ein in der logischen Schaltung 804 aufgetretener 1-Bit-Fehler ein 2-Bit-Fehler im Ausgangssignal der Operationsschaltung 801 wird. Sind beispielsweise beide Eingangssignale 810 und 811 "1", sind beide Ausgangssignale 812 und 813 "0", wenn kein Fehler vorliegt. Wenn ein Fehler in der logischen Schaltung 804 auftritt, durch den ihre Ausgabe "1" wird, wird auch die Ausgabe der logischen Schaltung 805 invertiert, und die beiden Ausgaben 812 und 813 werden "1". Da die zwei Bits der Ausgaben gleichzeitig invertiert werden, ist es nicht möglich, nur durch die Paritätsprüfung des Ausgangssignals den Fehler zu erfassen. Um ihn zu erfassen, wird es notwendig, die Paritätsprüfung durch Vorsehen einer Paritäts-Prüfschaltung 802 durchzuführen. Die Eingangsdaten dieser Paritäts-Prüfschaltung 802 verändern sich nur um ein Bit, selbst wenn in der logischen Schaltung 804 ein Fehler auftritt, wodurch es möglich ist, den Fehler durch die Paritätsprüfung zu erfassen.
Obwohl das Ausführungsbeispiel nach Fig. 10A anscheinend einen sich von anderen Ausführungsbeispielen (z. B. Fig. 6) unterscheidenden Aufbau hat, wird durch "Umschreiben" der Schaltung, beispielsweise durch Teilen der Operationsschaltung 801 in zwei Teile 804 und 805, deutlich, daß der Aufbau der Schaltung dem der anderen Ausführungsbeispiele ähnlich ist, wie in Fig. 10B dargestellt. Die Paritäts-Korrekturschaltungen 807 und 808 entsprechen den Operationsschaltungen 804 bzw. 805. Weiterhin wird ersichtlich, daß der Grund für den Fall, in dem die Parität nicht durch die Paritäts-Korrekturschaltung 808 korrigiert werden kann, wie oben erläutert, darin liegt, daß die Korrekturdaten der Paritäts-Korrekturschaltung 808 nicht von der Eingabe der Operationsschaltung 805, sondern von der Eingabe der Operationsschaltung 804 genommen werden.
Wie oben beschrieben, gibt es als Schaltungen, in denen sich der Paritätsfehler nicht fortpflanzt, (1) solche Schaltungen, in denen die Datenparität degeneriert wird, wie in Fig. 9, und (2) solche Schaltungen, in denen sich ein 1-Bit-Fehler im Inneren in eine gerade Zahl von Fehlern, zwei oder mehr, am Schaltungsausgang verändert, wie in den Fig. 10A und 10B. Daher ist es in den Stufen, die diese Art von Schaltungen verwenden, notwendig, die Paritätsprüfung an den Eingangsdaten vorzunehmen. In anderen Stufen kann auf die Paritätsprüfung verzichtet werden.
Fig. 11 zeigt ein Ausführungsbeispiel auf Grundlage des Ausführungsbeispiels nach Fig. 4, wobei die Paritäts-Prüfschaltung entsprechend obiger Erläuterung vereinfacht ist. In der Figur bezeichnet das Bezugssymbol OR9 eine ODER-Schaltung, E900 einen Paritäts-Fehlererfassungssignal-Ausgangsanschluß. Es wird angenommen, daß unter den Operationsschaltungen 111 bis 114 nur die Schaltung 113 eine Schaltung der oben beschriebenen Art ist, die eine Paritätsprüfung der Eingangsdaten erforderlich macht. Beispiele einer derartigen Operationsschaltung sind die in Fig. 9 gezeigte Operationsschaltung 703, die in Fig. 10A gezeigte Operationsschaltung 801 usw. Im Ausführungsbeispiel nach Fig. 11 sind die für ein Erfassungsvermögen von 1 Bit, ähnlich der Doppel-Anordnung, erforderlichen Paritäts-Prüfschaltungen nur die Schaltungen 122 und 124. In diesem Ausführungsbeispiel werden die die Ausgaben dieser Paritäts-Prüfschaltungen in der ODER-Schaltung OR9 zusammengeführt und vom Anschluß E900 ausgegeben. Mit einer Konstruktion, wie sie in diesem Ausführungsbeispiel dargestellt ist, kann die Anzahl der Paritäts-Prüfschaltungen verringert werden und es läßt sich eine Verringerung der Lay-Out-Fläche erzielen.
Die Fig. 12 und 13 zeigen Ausführungsbeispiele, in denen das wesentliche Merkmal der Erfindung auf die ALU vom Carry-Look-Ahead-System (parallele Übertragungslogik) Anwendung findet. Ein Carrry-Look-Ahead-Addierer ist beispielsweise in "Ronrikairo no Kiso" (Fundamentals of Logic Circuits) von Keikichi Tamaru, Seite 220, beschrieben. In Fig. 12 bezeichnet Bezugsziffer 1901 eine 4-Bit-ALU, wie in Fig. 5 oder 11 gezeigt, 1902 eine Carry-Look-Ahead-Generatoreinheit, und die Bezugsziffern 1903 und 1904 bezeichnen Carry-Look-Ahead-Gene­ ratorschaltungen in der Carry-Look-Ahead-Generatoreinheit 1902. In der Carry-Look-Ahead-Generatoreinheit 1902 sind die Generatorschaltungen 1903 und 1904 Schaltungen mit demselben Aufbau. Fehlererfassung in der Generatoreinheit 1902 erfolgt durch diese verdoppelte Anordnung. Fig. 13 zeigt eine Anordnung der Generatoreinheit 1902 nach Fig. 12. In Fig. 13 bezeichnen die Bezugsziffern 1001 und 1002 4-Bit-ALUs, die jeweils der ALU 1901 in Fig. 12 entsprechen, CMP1001, CMP1011, CMP1002 und CMP1012 Vergleicherschaltungen, CG1001 und CG1002 Carry-Look-Ahead-Generatoren und GP1001, GP1011, GP1002 und GP1012 Schaltungen, die ein Übertrag-Erzeugungs/ Übertragungs-Signal erzeugen. In den Ausführungsbeispielen nach Fig. 12 und 13 erfolgt die Fehlererfassung in der Carry- Look-Ahead-Generatoreinheit 1902 durch die verdoppelten Schaltungen, während die Fehlererfassung in den 4-Bit-ALUs 1901, 1001 und 1002 durch ähnliche Anordnungen wie in dem in Fig. 5 gezeigten Ausführungsbeispiel erfolgt. Die drei Paare GP1001 und GP1011, GP1002 und GP1012 sowie CG1001 und CG1002 sind die jeweils verdoppelten Schaltungspaare, die Fehlererfassung erfolgt in den Vergleicherschaltungen CMP1001, CMP1011, CMP1002, CMP1012, CMP1003 und CMP1004. Die Gründe für die Wahl der oben beschriebenen Schaltungsanordnung sind folgende:
(1) Da der Schaltungsumfang der ALU-Einheit groß ist, vergrößert eine Fehlererfassung durch die verdoppelte Schaltungsanordnung in der ALU-Einheit die Lay-Out-Fläche beträchtlich. Die Fehlererfassung kann jedoch über Erfassungsschaltungen mit relativ kleinem Umfang durch Hinzufügen der Paritätsbits erfolgen.
(2) Die Carry-Look-Ahead-Generatoreinheit hat einen relativ kleinen Schaltungsumfang. Daher ist die Fehlererfassung über die verdoppelte Schaltungsanordnung unter dem Gesichtspunkt der Lay-Out-Fläche vorteilhafter.
Auf diese Weise werden entsprechend den Charakteristika der logischen Schaltung wahlweise eine logische Schaltung, bei der ein Fehlererfassungscode, wie die Parität, Anwendung findet, oder eine logische Schaltung verwendet, bei der die Fehlererfassung durch die verdoppelte Schaltungsanordnung erfolgt. Daher besteht eine Koexistenz der beiden Arten von logischen Schaltungen. Somit läßt sich gleichzeitig eine Verbesserung der Operationsgeschwindigkeit und der Integrationsdichte erzielen.
Im folgenden wird ein Ausführungsbeispiel beschrieben, bei dem das wesentliche Merkmal der Erfindung nicht nur auf den ALU-Bereich, sondern auf die gesamte Operationseinheit einschließlich der ALU Anwendung findet.
In Fig. 14 bezeichnen die Bezugsziffern 15 eine Opera­ tionsschaltungseinheit, R1501 und R1502 Register, PS1501 und PS1502 Vor-Verschiebeeinheiten, DL1501 bis 1503 Daten- Zwischenspeicher (Data Latches), PL1501 bis PL1503 Paritäts-Zwischenspeicher (Parity Latches), SH1501 und SH1502 Verschiebeschaltungen, PP1501, PP1502 und PP15 Paritäts-Voraussageschaltungen, PC15 eine Paritäts-Prüfschaltung, DSEL15 eine Daten- Auswahlschaltung, PSEL15 eine Paritäts-Auswahlschaltung und ALU15 eine logische Recheneinheit (Rechen- und Leitwerk). In diesem Fall entspricht die ALU15 in der Operationsschaltungseinheit 15 beispielsweise der Daten-Operationseinheit 1 in den Fig. 4, 5 und 11, die Paritäts-Voraussageschaltung PP15 der Fehlererfassungscode-Korrektureinheit 3 und die Paritäts- Prüfschaltung PC15 der Fehlererfassungsschaltung 124 oder 324. Das Paritätsbit wird zusammen mit den Daten, die der Operation unterzogen werden, in die Operationsschaltung 15 eingegeben, und die Paritäts-Voraussageoperation entsprechend dem Operationsergebnis wird in der Paritäts-Voraussageschaltung PP15 parallel zu der Datenoperation in der ALU15 durchgeführt. Das Operationsergebnis und die vorausgesagte Parität werden beide von der Operationsschaltungseinheit 15 als die Ausgangssignale F und PF ausgegeben. Fehler in den Eingangsdaten für die Operationsschaltungseinheit und in den Ope­ rationsprozessen werden erfaßt, indem die Paritätsprüfung in der Paritäts-Prüfschaltung PC15 durchgeführt wird. Daher ist der Betrieb der Operationsschaltungseinheit 15 ähnlich dem im Ausführungsbeispiel nach Fig. 4, 5 oder 11. Im Ausführungsbeispiel nach Fig. 14 werden als Dateneingaben zur Operationsschaltungseinheit 15 die Ausgaben der Vor-Verschiebeschaltungen SH1501 und SH1502 in den Vor-Verschiebeeinheiten PS1501 und PS1502 hinzugefügt, und als Paritätsbit-Eingaben werden die Ausgaben der Paritäts-Voraussageschaltungen PP1501 und PP1502 in den Vor-Verschiebeeinheiten PS1501 und PS1502 hinzugefügt. Durch Wahl einer Schaltungskonstruktion, wie sie hier dargestellt ist, wird ein Paritätspfad: Paritäts-Zwischenspeicher (PL1501, PL1502) - Paritäts-Voraussageschaltung (PP1501, PP1502) in der Vor-Verschiebeeinheit - Paritäts-Vor­ aussageschaltung (PP15) in der Operationsschaltungseinheit - Paritäts-Zwischenspeicher (PL1502) - Paritäts-Ausgangsanschluß (PF) oder Paritäts-Auswahlschaltung (PSEL15)-Paritäts-Zwi­ schenspeicher (PL1501) in Übereinstimmung mit dem Datenpfad: Daten-Zwischenspeicher (DL1501, DL1502) Verschiebeschaltung (SH1501, SH1502) - ALU (ALU15)-Daten-Zwischenspeicher (DL1503) - Daten-Ausgangsanschluß (F) oder Daten-Auswahlschaltung (DSEL15)-Datenzwischenspeicher (DL1501) gebildet. Auf diesen zwei Pfaden gibt es Paare von entsprechenden Schaltungen, wie den Daten-Zwischenspeichern DL1501 und den Paritäts-Zwischenspeicher PL1501, die Schiebeschaltung SH1501 und die Paritäts- Voraussageschaltung PP1501. Ein Fehler kann erfaßt werden, indem die Paritätsprüfung unter Verwendung der Ausgangsdaten und des Paritätsbits der entsprechenden Stufen erfolgt. Der hier verwendete Begriff "Fehler" umfaßt den Fehler in den Eingangsdaten und den fehlerhaften Betrieb der Schaltung. Die Fehler im gesamten Datenpfad können daher durch Erfassen der Fehlanpassung des Datenpfades und des Paritätspfades in der in der Operationsschaltungseinheit 15 vorgesehenen Paritäts-Prüfschaltung PC15 erfaßt werden. Die nach dem Stand der Technik notwendige Fehlererfassungsschaltung für die ALU-Eingangsdaten wird überflüssig. Es ergeben sich eine Verringerung der Lay- Out-Fläche und ein Anstieg der Integrationsdichte auf dem LSI-Chip.
Fig. 15 zeigt ein Beispiel der Vor-Verschiebeeinheit PS1501 oder PS1502 nach Fig. 14. Die Bezugszeichen A₇ bis A₀ bezeichnen Daten-Eingangsanschlüsse, PA einen Paritäts- Eingangsanschluß, SH17 eine Schiebeschaltung, PP17 eine Paritäts- Voraussageschaltung, SA₇ bis SA₀ Daten-Ausgangsanschlüsse, PSA einen Paritäts-Ausgangsanschluß, DS1700 bis DS1707 Daten-Auswahleinrichtungen, PSEL17 eine Paritäts-Aus­ wahleinrichtung und EOR17 eine Exklusiv-ODER-Schaltung (EOR). Diese Vor-Verschiebeeinheit hat die Funktion, daß bezüglich der Eingabe von 8-Bit-Eingangsdaten und einem Paritätsbit die Daten ohne irgendeine Veränderung oder mit einer Verschiebung um ein Bit nach links mit dem zugehörigen Paritätsbit ausgegeben werden können. Die Paritäts-Voraussageschaltung PP17 hat hier einen solchen Aufbau, daß die Voraussage des Paritätsbits bezüglich der Ausgangsdaten unter Verwendung der Eingangsdaten und des Eingangs-Paritätsbits erfolgt und vom Anschluß PSA ausgegeben wird. In den Vor-Verschiebeeinheiten, die andere Funktionen haben, kann die Voraussage des Paritätsbits in ähnlicher Weise erfolgen, indem die Paritäts-Voraussageschaltung geändert wird, und dann ausgegeben werden.
Wie oben beschrieben, wird durch Anwendung der Erfindung auf die Operationseinheit auf einem LSI-Chip die verdoppelte Anordnung der Operationsschaltung überflüssig und die Anzahl der Fehlererfassungsschaltungen kann verringert werden. Damit kann auch die Lay-Out-Fläche verringert werden.
Im Ausführungsbeispiel nach den Fig. 12 und 13 ist die Carry-Look-Ahead-Generatoreinheit so aufgebaut, daß die Schaltung (z. B. Schaltung GP, die ein Übertrag-Erzeugungs/Übertragungs- Signal erzeugt; Carry-Look-Ahead-Generator CG) verdoppelt ist, und die Ausgaben der verdoppelten Schaltungen in einer Vergleichs- und Prüfschaltung verglichen werden, um einen Fehler zu erfassen. Bei einem solchen Aufbau wird für die Erfassung eines Fehlers der Vergleichs- und Prüfschaltung eine Diagnoseschaltung erforderlich, wie in Verbindung mit Fig. 3 beschrieben. Dabei ist 1 Diagnoseschaltung für 1 Bit der Ausgabe der verdoppelten Schaltung notwendig. Beispielsweise werden 32 Diagnoseschaltungen in einer logischen 32-Bit-Schaltung benötigt. Damit wird eine Vielzahl von Diagnoseschaltungen notwendig. Nach vorliegender Erfindung wird das Zuführsystem des Taktsignals für jede der verdoppelten Operationsschaltungen in ein Zuführsystem für das Taktsignal für die Schalter-Schaltkreise zum Ableiten der Ausgangssignale des logischen Netzwerks in der Operationsschaltung und in ein Zuführsystem für das Taktsignal für die anderen Schalter-Schaltkreise in der Operationsschaltung unterteilt. Dadurch kann die Diagnosefunktion für die Vergleichs- und Prüfschaltung auf die Operationsschaltung selbst übertragen werden. Als Folge davon wird die Diagnoseschaltung überflüssig. Dadurch läßt sich eine weitere Verringerung der Lay-Out-Fläche und eine Beschleunigung des Betriebs der Vergleichs- und Prüfschaltung erzielen.
Fig. 16A zeigt den Aufbau eines Ausführungsbeispiels einer logischen Schaltung, in der die Verdopplung der Anordnung für die Erfassung eines Fehlers Anwendung findet. Fig. 16B zeigt Betriebswellenformen von verschiedenen Teilen der Schaltung nach Fig. 16A. In Fig. 16A bezeichnen die Bezugsziffern 1100 eine logische Schaltung, die eine Fehlererfassungsschaltung beinhaltet, 1101 eine logische Operationsschaltung, 1102 eine logische Fehlererfassungsschaltung mit demselben Schaltungsaufbau wie die Schaltung 1101, A11, B11, C11 und D11 den Schaltungen 1101 und 1102 gemeinsame Eingangssignale, OUT1101 ein Ausgangssignal der Schaltung 1101, OUT1102 ein Ausgangssignal der Schaltung 1102, EOR11 eine Vergleicherschaltung, ER11 ein Fehlererfassungssignal, P1101 bis P1105 und P1111 bis P1115 p-MOSFETs, N1101 bis N1106 und N1111 bis N1116 n-MOSFETs, 1103 und 1104 interne Knotenpunkte der Schaltung 1101, 1113 und 1114 interne Knotenpunkte der Schaltung 1102, CIN, TC0 und TC1 Taktsignale, T₀ und T₁ Diagnose-Steuersignale, TC eine Takt-Generatorschaltung und AND1101 sowie AND1102 UND-Schaltungen in der Schaltung TC. Es ist anzumerken, daß die japanische Patentanmeldung JP-A- 62-98827 eine dynamische logische Schaltung betrifft, wie sie in diesem Ausführungsbeispiel dargestellt ist. In diesem Ausführungsbeispiel führt das logische Schaltungsnetzwerk aus den FETs N1101 bis N1104 in der logischen Schaltung 1101 bezüglich der Eingangssignale A11 bis D11 folgende Operation durch:
A11 · C11 + B11 · D11
Das Operationsergebnis wird bei OUT1101 über das FET N1105 und die Pufferschaltung (gebildet aus den FETs P1105 und N1106) ausgegeben. Die gleiche Operation erfolgt auch in der logischen Schaltung 1102, und das Ergebnis wird bei OUT1102 ausgegeben. Diese Aufgaben werden in der Vergleichs- und Prüfschaltung EOR11 verglichen und geprüft, um den Fehler im Ope­ rationsergebnis zu erfassen. Im Gegensatz zu dem in Fig. 3 gezeigten Stand der Technik, wo das gleiche Taktsignal an CIN, TCO und TCI angelegt wird, wird im vorliegenden Ausführungsbeispiel das Ergebnis der UND-Operation des Taktsignals CIN und des Diagnose-Steuersignals TO als das Taktsignal TCO verwendet, und das Ergebnis der UND-Operation des Taktsignals CIN und des Diagnose-Steuersignals TI wird als ein weiteres Taktsignal TCI verwendet. Der Schaltungsbetrieb dieses Ausführungsbeispiels wird unter Bezugnahme auf die Wellenformen in Fig. 16B beschrieben.
In Fig. 16B zeigen die mit durchgezogenen Linien dargestellten Kurven Wellenformen im Diagnose-Modus der Vergleicherschaltung EOR11, die mit gestrichelten Linien dargestellten Kurven Wellenformen im Normalbetrieb. Zuerst wird der mit gestrichelten Linien dargestellte Normalbetrieb beschrieben. In diesem Fall werden die Taktsignale TCO und TCI ähnlich wie beim Stand der Technik Taktsignale in Phase mit dem Taktsignal CIN, indem die Diagnose-Steuersignale TO und TI auf den hohen Pegel gesetzt werden. Da die logischen Schaltungen 1101 und 1102 denselben Aufbau haben, wird im folgenden nur die logische Schaltung 1101 beschrieben. Vor der eigentlichen Operation werden zuerst die Eingangssignale A11 bis D11 auf den niedrigen Pegel gesetzt, und das Taktsignal CIN wird auf den niedrigen Pegel gesetzt, um den Vorladebetrieb durchzuführen. Dann nimmt das Taktsignal TCO den niedrigen Pegel an. Dadurch werden die p-MOSFETs P1101 bis P1104 eingeschaltet, die n-MOSFETs N1101 bis N1105 werden ausgeschaltet und die parasitären Kapazitäten an dem Knotenpunkt 1103 und an dem Knotenpunkt 1104 werden geladen, um das Potential an diesen Knotenpunkten auf den hohen Pegel anzuheben, wodurch das Vorladen abgeschlossen wird. Anschließend wird das Taktsignal CIN auf den hohen Pegel gesetzt, um den Operationsbetrieb auszulösen. Dann nimmt das Taktsignal TCO den hohen Pegel an, und die p-MOSFETs P1101 bis P1104 werden ausgeschaltet. Wenn ein Teil oder alle Eingangssignale A11 bis D11 auf den hohen Pegel gesetzt sind, so daß der Pfad zwischen dem Knotenpunkt 1103 und Masse leitfähig ist, wird die am Knotenpunkt 1103 vorliegende parasitäre Kapazität entladen. Wenn das Potential des Knotenpunkts 1103 abfällt, wird der n-MOSFET N1105 eingeschaltet, um auch das Potential des Knotenpunkts 1104 zu verringern. Damit nehmen beide Knotenpunkte den niedrigen Pegel an. Da der Knotenpunkt 1104 mit dem Gate des CMOS-Inverters mit dem p-MOSFET P1105 und dem n-MOSFET N1106 verbunden ist, steigt das Potential des Ausgangsanschlusses OUT1101 auf den hohen Pegel an. Das ist der gewöhnliche Betrieb.
Im folgenden wird der Betrieb im Diagnose-Modus der Ver­ gleicherschaltung EOR11 beschrieben, wie er mit den durchgezogenen Linien in Fig. 16B dargestellt ist. Dieser Diagnosebetrieb erfolgt, indem eines der Diagnose-Steuersignale TO und TI auf den niedrigen Pegel gesetzt wird, wodurch zwangsläufig beide Ausgaben OUT1101 und OUT1102, die den Diagnose- Steuersignalen TO und TI entsprechen, auf dem niedrigen Pegel sind. Im folgenden wird der Fall beschrieben, in dem das Diagnose- Steuersignal TO auf den niedrigen Pegel gesetzt ist. Zuerst erfolgt der Vorladebetrieb, indem das Taktsignal CIN, ähnlich dem Normalbetrieb, auf den niedrigen Pegel gesetzt wird, um die Knotenpunkte 1103 und 1104 auf den hohen Pegel zu setzen. Dann wird das Taktsignal CIN auf den hohen Pegel gesetzt, um den Operationsbetrieb durchzuführen. Wenn sich das Diagnose- Steuersignal TO auf dem niedrigen Pegel befindet, nimmt das Taktsignal TCO zu diesem Zeitpunkt den niedrigen Pegel an, was sich vom Normalbetrieb unterscheidet. Wenn solche Eingangssignale A11 bis D11 angelegt werden, die den Pfad zwischen dem Knotenpunkt 1103 und Masse leitfähig machen, fällt das Potential des Knotenpunkts 1103 - ähnlich dem Normalbetrieb - auf den niedrigen Pegel ab. Da sich jedoch das Taktsignal TCO auf dem niedrigen Pegel befindet, wird der n-MOSFET N1105 nicht eingeschaltet. Damit wird der Knotenpunkt 1104 auf dem hohen Pegel gehalten, und das Potential des Ausgangssignals OUT1101 nimmt den niedrigen Pegel an. Auf diese Weise kann nach diesem Ausführungsbeispiel einer der Eingänge der Vergleicherschaltung EOR11 auf dem niedrigen Pegel fixiert werden, indem eines der Diagnose-Steuersignale TO und TI auf den niedrigen Pegel gesetzt wird. Unter Ausnutzung dieser Tatsache kann die Diagnose der Vergleicherschaltung EOR11 erfolgen. Die obige Beschreibung gilt in gleicher Weise für die logische Schaltung 1102, wenn TI für TO, TCI für TCO, P1111 bis P1115 für P1101 bis P1105, N1111 bis N1116 für N1101 bis N1106, die Knotenpunkte 1113 und 1114 für die Knotenpunkte 1103 und 1104 und OUT1102 für OUT1101 gesetzt werden.
Wenn dieses Ausführungsbeispiel mit dem Stand der Technik nach Fig. 3 verglichen wird, erkennt man die folgenden Merkmale:
(1) Die Diagnoseschaltung 1303, die nach dem Stand der Technik notwendig war, um die Diagnose der Vergleicherschaltung EOR13 durchzuführen, wird durch Anwendung der Erfindung überflüssig. Durch diese Veränderung können gleichzeitig eine Verringerung der Lay-Out-Fläche der logischen Schaltung und eine Verringerung der Verzögerungszeit des Fehlererfassungssignals realisiert werden.
(2) Im Normalbetrieb führt die Schaltung nach diesem Ausführungsbeispiel die vollkommen gleichen Prozesse wie beim Stand der Technik durch. Daher ergibt sich durch Anwendung der Erfindung kein Anstieg der Operationszeit.
Obwohl im Ausführungsbeispiel nach Fig. 16A die Phasen der Takte TCO und TCI im Vergleich zum Takt CIN aufgrund der Verzögerungszeit in der Takt-Generatorschaltung TC verzögert sind, hat das keine Auswirkung, wenn der erstere von den Eingangssignalen A11 bis D11 festgelegt wird, und es ergibt sich kein Anstieg in der Operationszeit. Weiterhin ist es durch Änderung der Takt-Generatorschaltung TC möglich, den Takt CIN und die Takte TCO und TCI so auszulegen, daß sie dieselbe Phase haben. In diesem Fall können Taktsignale geliefert werden, die denen nach dem Stand der Technik vollkommen entsprechen.
Im Ausführungsbeispiel, wie es in Fig. 16A gezeigt ist, führt die logische Schaltung 1101 folgende Operation durch:
OUT1101 = A11 · C11 + B11 · D11
Durch Veränderung des Aufbaus des Netzwerks der logischen Schaltungseinheit aus den n-MOSFETs N1101 bis N1104 und N1111 bis N1114 in den logischen Schaltungen 1101 und 1102 läßt sich eine logische Schaltung realisieren, die einen anderen Betrieb durchführt, als oben beschrieben wurde.
Fig. 17 zeigt ein Beispiel, in dem eine Vielzahl von logischen Schaltungen 1100 verwendet werden, die jeweils eine Fehlererfassungsschaltung beinhalten. In der Figur bezeichnen die Bezugsziffern 1201 bis 1204 jeweils eine logische Schaltung, die eine Fehlererfassungsschaltung beinhaltet, die den Schaltungsaufbau hat, wie er mit Bezugsziffer 1100 in Fig. 16 dargestellt ist, A1201 bis A1204, B1201 bis B1204, C1201 bis C1204 und D1201 bis D1204 bezeichnen jeweils Eingangssignale für die logischen Schaltungen 1201 bis 1204, OUT1201 bis 1204 Ausgangssignale der logischen Schaltungen 1201 bis 1204, ER1201 bis ER1204 Fehlererfassungssignale der jeweiligen logischen Schaltungen 1201 bis 1204, R12 eine ODER-Schaltung und E1200 ein Fehlererfassungssignal. In diesem Ausführungsbeispiel ist eine Takt-Generatorschaltung TC für vier logische Schaltungen 1201 bis 1204 vorgesehen, um die Taktsignale CIN, T₀ und T₁ zu liefern. Weiterhin werden die Fehlererfassungssignale ER1201 bis ER1204 der jeweils logischen Schaltungen in der ODER-Schaltung R12 zusammengeführt und als das Ausgangssignal E1200 ausgegeben. In der LSI wird es erzeugt, um eine Vielzahl von logischen Schaltungen synchron mit einem Taktsignal zu aktivieren und Operationen durchzuführen. In diesem Fall kann der Schaltungsaufbau dem im Ausführungsbeispiel nach Fig. 17 entsprechen, d. h es kann nur eine Takt- Generatorschaltung für die Vielzahl von logischen Schaltungen auf dem gleichen Chip vorgesehen werden. Es ist dadurch möglich, die Lay-Out-Fläche insgesamt zu verringern.
Fig. 18 ist ein Schaltbild, das ein weiteres Ausführungsbeispiel der dynamischen logischen Schaltung darstellt, wie sie nach vorliegender Erfindung verwendet wird. In dieser Figur bezeichnen die Bezugsziffern 1401 eine logische Schaltung, P1401 bis 1403 p-MOSFETs, N1401 bis 1407 n-MOSFETs und OUT1401 das Ausgangssignal der logischen Schaltung. Diese Schaltung 1401 ist eine Schaltung, in der das erfindungsgemäße Merkmal auf eine dynamische logische Schaltung Anwendung findet, bei der ein n-MOSFET N1405 zwischen das Netzwerk der logischen Schaltungseinheit mit den n-MOSFETs N1401 bis N1404 und Masse eingefügt wird. Diese Schaltung hat dieselbe Funktion wie die logischen Schaltungen 1101 und 1102 nach Fig. 16A und kann im direkten Austausch verwendet werden.
Entsprechend den Ausführungsbeispielen der Fig. 16 bis 18 kann die Diagnosefunktion der Vergleicherschaltung erfolgen, ohne die Hochgeschwindigkeit-Betriebsfähigkeit der dynamischen logischen Schaltung zu beeinträchtigen.
Fig. 19 zeigt ein Ausführungsbeispiel einer ALU mit logischen Schaltungen, die die drei Arten der Fehlererfassungsfunktion aufweisen, wie sie oben beschrieben wurden:
  • (1) eine logische Schaltung, in der ein Fehlererfassungscode, wie die Parität, Anwendung findet (beispielsweise die Ausführungsbeispiele nach den Fig. 4 und 11);
  • (2) eine logische Schaltung, die die Diagnosefunktion für die Fehlererfassungsschaltung beinhaltet, die die verdoppelte Anordnung der Schaltung verwendet und die Diagnosefunktion für die Fehlererfassungsschaltung enthält, und die dadurch eine verringerte Anzahl von Schaltkreisen hat (z. B. Ausführungsbeispiel nach den Fig. 16 und 17); und
  • (3) eine logische Schaltung, die eine Fehlererfassungsschaltung durch einfaches Verdoppeln der Schaltung beinhaltet (z. B. die logische Schaltung nach Fig. 3).
Diese Schaltungen (1) bis (3) werden wahlweise verwendet, um eine ALU aufzubauen, in der diese Arten von logischen Schaltungen nebeneinander vorhanden sind. In Fig. 19 bezeichnen die Bezugszeichen CG18 einen Carry-Look-Ahead-Generator, 1801 bis 1806 logische Schaltungen mit der oben genannten Struktur (2) im Carry-Look-Ahead-Generator CG18, EOR1801 bis EOR1803 EOR-Schaltungen, R1800 eine ODER-Schaltung, CTRL eine Steuerschaltung, 180 ein Steuersignal-Eingangsanschluß T₂ und T₃ Diagnose-Steuersignale, 1807 bis 1814 Steuersignal- Generatorschaltungen, 1815 und 1818 Diagnoseschaltungen, EOR1804 bis EOR1807 EOR-Schaltungen, R1801 eine ODER-Schaltung und ER1800 und ER1801 Fehlererfassungssignal-Ausgangs­ anschlüsse. In diesem Ausführungsbeispiel werden in den Bereichen 1 der Daten-Operationseinheit mit Ausnahme des Übertrag- Generators CG18 und in der Paritäts-Generatoreinheit 3, ähnlich dem Fall nach Fig. 11, logische Schaltungen verwendet, bei denen die Fehlererfassungsfunktion in der Paritätsprüfung besteht. Andererseits wird, ähnlich den Ausführungsbeispielen in den Fig. 16 und 17, in dem Carry-Look-Ahead-Generator CG18 ein Fehlererfassungssystem durch Verdoppeln der Schaltungen 1801 bis 1806 angewandt. Weiterhin findet durch Ausnutzen der Tatsache, daß dieser Bereich eine Vorladeschaltung aufweist, eine logische Schaltung mit einem Aufbau Anwendung, der die Diagnose der Fehlererfassungsschaltungen EOR1801 bis EOR1803 beinhaltet. Ähnlich dem bekannten Fall, wie er in Fig. 3 dargestellt ist, findet in der Steuerschaltung CTRL eine Fehlererfassung durch Verdoppeln der Schaltungen 1807 bis 1814 Anwendung. Weiterhin sind Diagnoseschaltungen 1815 bis 1818 für die jeweiligen Fehlererfassungsschaltungen EOR1804 bis EOR1807 vorgesehen.
Durch wahlweise und kombiniertes Verwenden dieser drei Arten von Fehlererfassungsfunktionen lassen sich die folgenden Vorteile erzielen:
(1) In der ALU-Einheit einschließlich 1 und 3 erfolgt die Paritätserzeugung parallel, und die Paritätsprüfung erfolgt unter Ausnutzung der Parität. Im Vergleich zum herkömmlichen System mit verdoppelten Schaltungen läßt sich eine Beschleunigung der Paritätsausgabe und eine Verringerung im Schaltungsumfang erzielen.
(2) Im Abschnitt des Carry-Look-Ahead-Generators CG18 findet die Fehlererfassung durch Verdoppeln der Schaltungen statt. Durch Ausnutzen der Charakteristik der Vorladeschaltung unter Einbeziehen der Diagnosefunktion der Fehlererfassungsschaltung lassen sich eine Verringerung der Anzahl von Schaltungen und eine Beschleunigung des Fehlererfassungssignals erzielen.
(3) Der Abschnitt der Steuerschaltung CTRL sollte aus statischen Schaltungen aufgebaut werden, da die Steuersignalausgaben für zwei Zyklen oder mehr gehalten werden sollten. Auch das Paritätsbit wird nicht dem Steuersignal-Eingangsanschluß 80 eingegeben. Die Fehlererfassung erfolgt daher durch eine der herkömmlichen ähnliche logische Schaltungsstruktur. Die Abschnitte, in denen logische Schaltungen mit diesem Aufbau Anwendung finden, können jedoch auf ein Minimum verringert werden. Die ALU nach diesem Ausführungsbeispiel kann eine Beschleunigung und eine Verbesserung in der Integrationsdichte wie die gesamte ALU erzielen.

Claims (8)

1. Integrierte Halbleiter-Schaltungsvorrichtung, mit einem Rechenwerk mit
einer Datenoperationseinheit (1), die eine Anzahl von in Reihe miteinander verbundenen Operationsschaltungen (111- 114; 311-314) zur Ausführung von vorgegebenen arithmetischen und/oder logischen Operationen während des sequentiellen Durchlaufens von eingegebenen Daten (110; A, B; A₀-A₃, B₀- B₃) und zur Erzeugung von Ausgangsdaten (115; F; F₀-F₃) aufweist; und
einer Fehlererfassungscode-Korrektureinheit (3) zur Ausgabe eines den Ausgangsdaten entsprechenden Fehlererfas­ sungscodes, um auf der Basis des Fehlererfassungscodes eine Fehlerüberwachung ausführen zu können,
dadurch gekennzeichnet, daß
die Fehlererfassungscode-Korrektureinheit (3) eine An­ zahl von in Reihe miteinander verbundenen Fehlererfassungs­ code-Korrekturschaltungen (131-134; 331-334) gemäß der An­ zahl der Operationsschaltungen aufweist, die entsprechend der Operation in jeder der Operationsschaltungen eine Kor­ rektur des Fehlererfassungscodes (130; PA; PB) bei dessen Durchlauf durch die Korrekturschaltungen derart ausführen, daß ein den Ausgangsdaten entsprechender Fehlererfassungs­ code (135; PF) erzeugt wird;
wobei die Erzeugung des Fehlererfassungscodes in den Korrekturschaltungen parallel zu den Operationen in den Operationsschaltungen erfolgt.
2. Vorrichtung nach Anspruch 1, gekennzeichnet durch eine Fehlererfassungseinheit (2) mit wenigstens einer Fehlererfassungsschaltung (124, 324), wobei die Fehlererfassungsschaltung einen Vergleich und eine Überprüfung des Ausgangssignals der letzten Stufe (114; 314) der Operationsschaltungen und des Ausgangssignals der der letzten Stufe der Operationsschaltungen entsprechender Fehlererfassungscode- Korrekturschaltung (134; 334) ausführt.
3. Vorrichtung nach Anspruch 12 dadurch gekennzeichnet, daß, wenn die Datenoperationseinheit (1) eine Operationsschaltung (113) beinhaltet, in der sich ein Fehler nicht fortpflanzt, die Fehlererfassungseinheit (2) den Vergleich und die Überprüfung des Ausgangssignals derjenigen Operationsschaltung (112), die eine Stufe vor der Operationsschaltung (113) liegt, in der sich der Fehler nicht fortpflanzt, und des Ausgangssignals der der vorhergehenden Operationsschaltung (112) entsprechenden Fehlererfassungscode- Korrekturschaltung (132) ausführt.
4. Vorrichtung nach Anspruch 1 bis 3, gekennzeichnet durch eine in die Reihenschaltung der Operationsschaltungen (111-114) eingefügte Carry-look-ahead-Generatoreinheit (1902; CG18) mit doppelt vorgesehenen Carry-look-ahead-Generatorschaltungen (1903, 1904; CG1001, CG1002; 1801, 1802; 1803, 1804; 1805, 1806), die jeweils die gleiche Funktion haben und denen jeweils das gleiche Eingangssignal zugeführt wird; und mit einer Vergleichsschaltung (CMP1001-CMP1004, CMP1011, CMP1012; EOR1801, EOR1802, EOR1805) zum Vergleich der Ausgangssignale der beiden Carry-look-ahead-Generatorschaltungen untereinander.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß jede der doppelt vorgesehenen Carry-look-ahead-Generatorschaltungen eine logische Schaltung (N1101-N1104) zur Aufnahme des Eingangssignals und zur Ausführung logischer Operationen daran, einen ersten Schalter (P1101-P1104) zum Vorladen parasitärer Kapazitäten an Zwischenverbindungen (1103, 1104) der logischen Schaltung (N1101-N1104) und einen zweiten Schalter (N1105) zur Ableitung des Ausgangssignales der logischen Schaltung (N1101-N1104) aufweist, und daß die Vorrichtung eine Taktsignalzuführeinrichtung enthält, die in ein erstes Untersystem zum Zuführen eines ersten Taktsignals (CIN) an den ersten Schalter und ein zweites Untersystem (AND1101) zum Zuführen eines zweiten Taktsignals (TC) an den zweiten Schalter (N1105) aufgeteilt ist.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, das die Zuführung der Taktsignale zu den jeweiligen Operationsschaltungen (1101, 1102) beinhaltet.
das Ausführen einer logischen Operation (A11 · C11+ B11 · D11) bei Empfang zumindest eines Eingangssignals,
das Verbinden eines Endes der logischen Schaltung (N1101-N1104; N1111-N1114), die zwischen ihren beiden Enden einen Pfad aufweist, der in den leitenden und den nicht leitenden Zustand gebracht werden kann, mit einer ersten Stromquelle (GND),
das Verbinden eines Endes des ersten Schalters (P1101-P1103; P1111-P1113) mit einer zweiten Stromquelle (VDD),
das Verbinden des zweiten Endes der logischen Schaltung (N1101-N1104; N1111-N1114) und des zweiten Endes des ersten Schalters (P1101-P1103; P1111-P1113) zur Bildung eines ersten Knotenpunktes (1103; 1113),
das Verbinden eines Endes des zweiten Schalters (N1105; N1115) mit dem ersten Knotenpunkt (1103; 1113), um ein Signal am ersten Knotenpunkt abzuleiten, wobei das zweite Ende des zweiten Schalters (N1105; N1115) einen zweiten Knotenpunkt (1104; 1114) bildet,
das Einfügen eines dritten Schalters (P1104; P1114) zwischen den zweiten Knotenpunkt (1104; 1114) und die zweite Stromquelle (VDD),
das Verbinden einer Pufferschaltung (P1105, N1106; P1115, N1116) mit dem zweiten Knotenpunkt (1104; 1114),
das Zuführen des ersten Taktsignals (CIN) an den ersten (P1101-P1103; P1111-P1113) und an den dritten Schalter (P1104; P1114) der Operationsschaltung (1101; 1102), um das Signal am zweiten Knotenpunkt über die Pufferschaltung (P1105, N1106; P1115, N1116) auszugeben, und
das Zuführen des zweiten Taktsignals (TC0, TC1) an den zweiten Schalter (N1105; N1115).
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der erste, der zweite und der dritte Schalter, die logische Schaltung (N1101, N1104; N1111, N1114) und die Pufferschaltung (P1105, N1106; P1115, N1116) unter Verwendung von MOSFETs aufgebaut sind.
8. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die Taktsignale der zwei Untersysteme aus den Signalen einer Takt-Erzeugungsschaltung (TC) zum Erzeugen von Taktsignalen auf der Grundlage eines ursprünglichen Taktsignals (CIN), das in die logische Schaltung (1100) eingegeben wird, und einem Steuersignal (T0, T1) gebildet werden, das die Takterzeugung steuert.
DE3840969A 1987-12-04 1988-12-05 Integrierte halbleiter-schaltungsvorrichtung Granted DE3840969A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP30558287 1987-12-04
JP492788 1988-01-14

Publications (2)

Publication Number Publication Date
DE3840969A1 DE3840969A1 (de) 1989-06-15
DE3840969C2 true DE3840969C2 (de) 1991-03-21

Family

ID=26338782

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3840969A Granted DE3840969A1 (de) 1987-12-04 1988-12-05 Integrierte halbleiter-schaltungsvorrichtung

Country Status (2)

Country Link
US (1) US5043990A (de)
DE (1) DE3840969A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5229999A (en) * 1990-10-05 1993-07-20 Bull Hn Information Systems Inc. Method and apparatus for integrity testing of fault monitoring logic
US5375228A (en) * 1991-02-04 1994-12-20 Analog Devices, Inc. Real-time signal analysis apparatus and method for digital signal processor emulation
JP3474214B2 (ja) * 1992-10-22 2003-12-08 株式会社東芝 論理回路及びこの論理回路を備えたテスト容易化回路
JPH0764817A (ja) * 1993-08-30 1995-03-10 Mitsubishi Electric Corp 故障検出システム
JPH07129426A (ja) * 1993-10-29 1995-05-19 Hitachi Ltd 障害処理方式
JP2820016B2 (ja) * 1993-12-28 1998-11-05 日本電気株式会社 電子回路
DE4406391C1 (de) * 1994-02-26 1995-03-16 Bosch Gmbh Robert Elektronisches Rechenwerk
US5867409A (en) * 1995-03-09 1999-02-02 Kabushiki Kaisha Toshiba Linear feedback shift register
DE19635237A1 (de) * 1996-08-30 1998-03-05 Siemens Ag Speichersystem
US6453431B1 (en) 1999-07-01 2002-09-17 International Business Machines Corporation System technique for detecting soft errors in statically coupled CMOS logic
US6711712B2 (en) * 2000-12-21 2004-03-23 Intel Corporation Method and apparatus for error detection/correction
US7493530B2 (en) * 2002-06-25 2009-02-17 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for detecting an error in a bit sequence
US7260001B2 (en) * 2003-03-20 2007-08-21 Arm Limited Memory system having fast and slow data reading mechanisms
WO2004084070A1 (en) * 2003-03-20 2004-09-30 Arm Limited Systematic and random error detection and recovery within processing stages of an integrated circuit
US8650470B2 (en) 2003-03-20 2014-02-11 Arm Limited Error recovery within integrated circuit
US8185812B2 (en) 2003-03-20 2012-05-22 Arm Limited Single event upset error detection within an integrated circuit
US7278080B2 (en) * 2003-03-20 2007-10-02 Arm Limited Error detection and recovery within processing stages of an integrated circuit
DE10317650A1 (de) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren
US7237149B2 (en) * 2005-02-25 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for qualifying debug operation using source information
GB2455344B (en) * 2007-12-06 2012-06-13 Advanced Risc Mach Ltd Recovering from control path errors
US8171386B2 (en) * 2008-03-27 2012-05-01 Arm Limited Single event upset error detection within sequential storage circuitry of an integrated circuit
US8161367B2 (en) * 2008-10-07 2012-04-17 Arm Limited Correction of single event upset error within sequential storage circuitry of an integrated circuit
US8493120B2 (en) 2011-03-10 2013-07-23 Arm Limited Storage circuitry and method with increased resilience to single event upsets
US11131706B2 (en) * 2015-12-08 2021-09-28 International Business Machines Corporation Degradation monitoring of semiconductor chips
US11080119B2 (en) 2017-03-09 2021-08-03 Pioneer Corporation Information processing with failure detection, apparatus and method
US10838799B2 (en) * 2018-08-20 2020-11-17 Micron Technology, Inc. Parallel error calculation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2262002A1 (de) * 1972-12-19 1974-06-27 Ibm Deutschland Verfahren zur pruefung von logischen operationen auf der grundlage einer paritaetspruefung
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
US4561095A (en) * 1982-07-19 1985-12-24 Fairchild Camera & Instrument Corporation High-speed error correcting random access memory system
US4506385A (en) * 1982-12-27 1985-03-19 Rockwell International Corporation Radio reception path monitor for a diversity system
US4736376A (en) * 1985-10-25 1988-04-05 Sequoia Systems, Inc. Self-checking error correcting encoder/decoder
JPS6298827A (ja) * 1985-10-25 1987-05-08 Hitachi Ltd 半導体集積回路装置
JPS62101128A (ja) * 1985-10-29 1987-05-11 Fujitsu Ltd ビタビ復号器の試験方法
US4792955A (en) * 1986-08-21 1988-12-20 Intel Corporation Apparatus for on-line checking and reconfiguration of integrated circuit chips
US4740968A (en) * 1986-10-27 1988-04-26 International Business Machines Corporation ECC circuit failure detector/quick word verifier
JPS63129600A (ja) * 1986-11-19 1988-06-01 Nec Corp 誤り検出・訂正回路付半導体記憶装置
JPH06298827A (ja) * 1993-04-14 1994-10-25 Asahi Chem Ind Co Ltd ポリプロピレンの製造方法

Also Published As

Publication number Publication date
US5043990A (en) 1991-08-27
DE3840969A1 (de) 1989-06-15

Similar Documents

Publication Publication Date Title
DE3840969C2 (de)
DE3650102T2 (de) Anordnung und Verfahren zur Berechnung zyklischer redundanter Kode.
DE3688238T2 (de) CRC-Rechenanordnung.
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2723707C2 (de) Schaltung zur Erzeugung nicht-überlappender Taktimpuls-Züge
DE2421130C2 (de)
DE3689282T2 (de) CRC-Rechenmaschine und Methode zur CRC-Berechnung.
DE68927560T2 (de) Hochgeschwindige, hochleistende Nulldetektorschaltung mit Parallelverarbeitung
DE2720863A1 (de) Logisches schaltnetzwerk
EP0628832A2 (de) Integrierte Schaltung mit Registerstufen
DE69129889T2 (de) Pipelineschaltung und Verfahren zum Vergleich der relativen Differenz zwischen zwei asynchronen Zeigern und einem programmierbaren Wert
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
EP0352549B1 (de) Carry-select-Addierer
EP0257362A1 (de) Addierer
EP0224656B1 (de) Mehrstelliger Carry-Ripple-Addierer in CMOS-Technik mit zwei Typen von Addiererzellen
DE3422287C2 (de)
DE69026363T2 (de) Multipositionsverschieber mit Paritätsbitgenerator
DE69622486T2 (de) Übertragvorgriffsgerät mit alternierender polarität
DE68928370T2 (de) Logikschaltung mit Uebertragungsgesteuerten Addierer
EP0218071B1 (de) Addierzelle für Carry-Ripple-Addierer in CMOS-Technik
DE69327030T2 (de) Schaltung zur Verzweigungsentscheidung eines Prozessors
DE69423694T2 (de) Volladdiererschaltung
EP0193711B1 (de) Schaltungsanordnung zur Funktionsüberwachung eines arithmetische Operationen ausführenden Rechenwerkes anhand von Paritätsbits
DE68910838T2 (de) Fehlererkennungsschaltung für einen Dekodierer.
DE2052519C3 (de) Logische Schaltung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: STREHL, P., DIPL.-ING. DIPL.-WIRTSCH.-ING. SCHUEBE

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee