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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/57—Arithmetic 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₀
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.
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).
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.
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)
| 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)
| 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 | ポリプロピレンの製造方法 |
-
1988
- 1988-12-02 US US07/279,034 patent/US5043990A/en not_active Expired - Lifetime
- 1988-12-05 DE DE3840969A patent/DE3840969A1/de active Granted
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 |