DE69032142T2 - Digitale Anordnung zur Fehlerprüfung in einem Binäraddierer mit Block-Uebertragungseinheiten - Google Patents

Digitale Anordnung zur Fehlerprüfung in einem Binäraddierer mit Block-Uebertragungseinheiten

Info

Publication number
DE69032142T2
DE69032142T2 DE1990632142 DE69032142T DE69032142T2 DE 69032142 T2 DE69032142 T2 DE 69032142T2 DE 1990632142 DE1990632142 DE 1990632142 DE 69032142 T DE69032142 T DE 69032142T DE 69032142 T2 DE69032142 T2 DE 69032142T2
Authority
DE
Germany
Prior art keywords
carry
block
receive
generator
generating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1990632142
Other languages
English (en)
Other versions
DE69032142D1 (de
Inventor
Masayuki Tanaka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE69032142D1 publication Critical patent/DE69032142D1/de
Application granted granted Critical
Publication of DE69032142T2 publication Critical patent/DE69032142T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2226Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test ALU

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Advance Control (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)

Description

  • Die vorliegende Erfindung betrifft allgemein eine digitale Anordnung zur Fehlerprüfung in einem Binäraddierer, der mehrere Block-Übertragseinheiten (Block carry look ahead units) aufweist. Die vorliegende Erfindung zeichnet sich durch eine effektive Verringerung der Anzahl der Eingangs- und Ausgangsanschlüsse einer Block-Übertragseinheit aus, die Teil eines Addierers bildet, und eignet sich somit sehr zur Herstellung eines Addierers unter Verwendung eines hohen Integrationsgrades (LSI-Technik).
  • Die US-A-4081860 (D1) offenbart eine emittergekoppelte 4- Bit-Arithmetik-Logik-Einheit mit Parität, um eine Paritätsprädiktion, Paritätsprüfung und Übertragsfehlererkennung an einem 4 Bit plus Parität breiten Binärfeld bereitzustellen.
  • Eine Arithmetik-Logik-Einheit, die nahe am Sättigungsbereich betriebene emittergekoppelte Logikgatter verwendet, empfängt als Eingangssignal zwei Bytes, bestehend aus 4 Bit plus Parität, und erzeugt gemäß dem speziellen Verarbeitungsmodus, der durch ein binäres Verarbeitungsmodussteuersignal vorgeschrieben ist, ein binäres Ausgangsbyte, bestehend aus 4 Bit plus Parität. Die Einheit führt sechzehn binäre Arithmetikoder sechzehn Boolesche Logikoperationen an zwei 4 Bit plus Parität breiten Eingangsfeldern Ai und Bi aus. Ein Übertrageingangssignal CIN, ein Übertragerzeugungsausgangssignal G und ein Übertragweiterreichungsausgangssignal P sind vorgesehen, so daß die Vorrichtung in einer Vollübertrag-Konfiguration mit einer separaten Übertrag-Anordnung verwendet werden kann. Ein spezielles Ausgangssignal F=0 ist für die Erkennung einer Null vorgesehen. Zusätzlich zu den arithmetischen und logischen Operationen führt die Einheit Paritätsprütungs-, Paritätsübertrags- und Paritätsprädiktionsoperationen an den 4 Bit plus Parität breiten binären Eingangssignalen durch und dementsprechend sind spezielle Eingangssignale in Form eines Eingangsübertragduplikats CID, einer Parität der Halbsummen HS, einer Parität der Halbparitäten HP, einer Parität der Überträge PC, eines Übertragfehlers CE und eines Paritätsprüfbefehls PCK vorgesehen. Ein spezielles Ausgangssignal E gibt einen Übertrag- oder Halbsummen-Paritätsfehler an. Ein Ausgangsübertragsignal COUT ist ebenfalls vorgesehen.
  • Die US-A-47084253 (D2) wurde von dem gleichen Anmelder wie D1 zum gleichen Datum eingereicht und zielt auf Verbesserungen der in D1 offenbarten 4-Bit-Arithmetik-Logik-Einheit. D2 bietet eine größere Flexibilität hinsichtlich der Bitlänge der Binärdaten, die verarbeitet werden kann, im Vergleich zu der in D1 offenbarten 4-Bit-Arithmetik-Logik-Einheit.
  • Die US-A-3925647 zielt auf eine Logik zum Prüfen der Richtigkeit der Halbsumme, Vollsumme (oder Ergebnis) und des Übertrags eines Zwei-Operanden-Addierers.
  • Die DE-A-1524141 beschreibt einen Addierer mit einer Block- Übertragseinheit, um eine Paritätsbitprädiktion und -prüfung bereitzustellen.
  • In "A high speed 16-bit cascadable ALU using an aspect standard cell approach", Keshlear et al, Proceedings of the IEEE 1988, Custom Integrated Circuits Conference Mai 1988, Rochester, New York, U.S.A.; Seite 2451-2454 ist eine Kaskaden- ALU-Architektur beschrieben worden, die einen Vollübertrag verwendet und eine Erweiterung bis auf eine 64-Bit-Wortgröße unterstützt.
  • Fehlererkennung in digitalen Verarbeitungsvorrichtungen umfaßt den Vorgang des Erkennens von Signalen, die sich von denjenigen unterscheiden, die in einem korrekt arbeitenden System auftreten. Ein Fehler ist ein logisches Ausgangssignal, das von demjenigen abweicht, das von einer korrekt arbeitenden Schaltung ausgegeben wird.
  • Bevor Verfahren vom Stand der Technik beschrieben werden, wird eine kurze Beschreibung eines Binäraddierers gegeben.
  • Ein Binäraddierer addiert zwei Operanden A und B zusammen, um eine resultierende Summe S zu ergeben. Die Addition wird stellenweise ausgeführt. Die folgende Schreibweise wird in der nachfolgenden Beschreibung verwendet:
  • A = {a(n), a(n-1), ..., a(1), a(0)}
  • B = {b(n), b(n-1), ..., b(1), b(0)}
  • wobei A und B Zahlen sind, die kleinen a und b die Ziffern der Zahlen sind. Die Summenziffer S(n) für die n-te Stufe (n willkürlich) hängt nicht nur von den Eingangsziffern zu dieser Stufe a(n), b(n) ab, sondern auch von dem Übertrag von der vorausgehenden Stufe C(n-1). Es ist für Fachleute verständlich, daß der Übertrag der Stufe C(n) wie folgt gegeben ist:
  • C(n) = a(n)b(n) + {a(n) b(n)} C(n-1) (1)
  • wobei " ", "+" bzw. " " eine UND-, ODER- bzw. EXCLUSV-ODER- Operation symbolisiert.
  • Binäraddierer können in zwei Hauptkategorien eingeteilt werden, je nachdem, wie ihre Überträge behandelt werden. Ein Ripple-Addierer (Addierer mit seriellem Übertrag) leitet seinen Namen aus der Tatsache ab, daß jede Übertragziffer von dem vorausgehenden Übertragsignal abhängt, das seinerseits von einem anderen vorausgehenden Signäl abhängt. Dies erfordert, daß die gesamte Übertragschaltung eine serielle Kette bildet, wobei das (n-1)-te Übertragsignal C(n), die Übertragerzeugungsschaltung, usw. speist. Dies kann aus Gleichung (1) entnommen werden, die wie folgt umgeschrieben werden kann.
  • C(n) = G(n) + P(n) C(n-1) (2)
  • wobei G(n) eine Übertragerzeugungsvariable oder ein Ausgangssignal (= a(n) b(n)), P(n) eine Übertragweiterreichungsvariable oder ein Ausgangssignal (= a(n) b(n)) ist.
  • Es ist zu sehen, daß Zeit verloren wird, wenn die Überträge wellenförmig durch den ganzen Rechner hindurchlaufen. So kann, um den Additionsprozeß zu beschleunigen, der Übertragpfad unter Verwendung einer "look-ahead" genannten parallelen Ausführung der Gleichung (2) verkürzt werden. Es ist aus Gleichung (2) zu entnehmen, daß C(n-1) wie folgt dargestellt werden kann:
  • C(n-1) = G(n-1) + P(n-1) C(n-2) (3)
  • Einsetzen von Gleichung (3) in (2) ergibt
  • C(n) = G(n) + P(n) G(n-1) + P(n) P(n-1) C(n-2)
  • Eine weitere Entwicklung ergibt die Carry-Look-Ahead- Gleichung für die n-te Übertragziffer
  • C(n) = G(n) + P(n) G(n-1) + P(n) P(n-1) G(n-2) + P(n) P(n-1) P(n-2) G(n-3) + ... (4)
  • Ein unter Verwendung von Gleichung (4) erzeugter Übertrag ist schneller als die Ripple-Carry-Gleichung, da er nicht auf den vorausgehenden Übertrag, sondern von den Übertragweiterreichungs- und Übertragerzeugungsvariablen abhängt. Alle Übertragweiterreichungs- und Übertragerzeugungsvariablen können in einem Logikpegel erzeugt werden.
  • Es ist eine bekannte Praxis, einen Addierer, der lange binäre Zahlen verarbeitet, funktionell und physikalisch in mehrere Block-Übertragseinheiten (BCLA-Einheiten, BCLA: block carry look ahead) zu teilen. Jede Block-Übertragseinheit bzw. BCLA-Einheit führt einen Teii der Addition unter Verwendung des Übertragschemas zwischen den Einheiten aus.
  • Gemäß einem bekannten Fehlererkennungsverfahren, wobei ein Binäraddierer des Typs mit BCLA-Einheit verwendet wird, werden zwei gleiche Übertragsignale erzeugt: das eine zum Addieren und das andere zur Fehlererkennung.
  • Dieser Stand der Technik wird detailliert mit Bezug auf Fig. 1 bis 3 beschrieben.
  • Fig. 1 stellt in Blockdiagrammform einen bekannten Binäraddierer 10 dar, der vier BCLA-Einheiten 0, 1, 2 und 3 und einen Ein-Bit-Generator 20 aufweist. Der Ein-Bit-Generator 20 erzeugt ein einzelnes Bit Cp oder Cd, das eine logische "0" annimmt, während der Addierer für eine Addition verwendet wird, und eine logische "1" annimmt, für den Fall, daß der Addierer für eine Subtraktion verwendet wird. Der Ein-Bit-Generator 20 schickt eine logische "1" im Falle der Subtraktion, an die niederwertigste Stelle jeder Einheit 0 bis 3, um einen Subtrahenden von einem Einserkomplement in ein Zweierkomplement zu ändern. Jedoch ist es erwähnenswert, daß dieser Ein-Bit- Generator 20 nicht direkt die vorliegende Erfindung betrifft.
  • Wie in Fig. 1 gezeigt, ist jede BCLA-Einheit 1,2 und 3 mit zwei Arten von Ausgangsanschlüssen versehen: die eine ist mit Gp, Pp und die andere mit Gd, Pd bezeichnet. Die Ausgangsanschlüsse Gp, Pp sind für eine Fehlererkennung, während die Ausgangsanschlüsse Gd, Pd für eine Addition vorgesehen sind. An den Ausgangsanschlüssen Gp und Pp gewonnene Übertragerzeugungsund Übertragweiterreichungsvariablen (Gp(n), Pp(n), wobei n 1, 2 oder 3 annimmt) sind als Einspeisung in einen Eingangsanschluß J(x) dargestellt. Jedoch sollte erwähnt werden, daß dieser Anschluß in Wirklichkeit aus sieben einzelnen Eingangsanschlüssen J(0)-J(6) (so wie beispielsweise in Fig. 2 gezeigt ist) besteht. Die Angabe J(x) anstelle von J(0)-J(6) wird einzig und allein zur Vereinfachung der Zeichnung verwendet. Gleichermaßen sind die an den Ausgangsanschlüssen Gd und Pd gewonnenen Übertragerzeugungs- und Übertragweiterreichungsvariablen (Gd(n) und Pd(n)) als Einspeisung in einen Eingangsanschluß I(x) dargestellt, der, wie in Fig. 2 gezeigt, gleichermaßen aus sieben Eingangsanschlüssen I(0)-I(6) besteht. Wie im Falle von J(x) dient die Angabe I(x) einzig und allein zur Vereinfachung der Zeichnung.
  • Jedes der Symbole mit den Bezugszeichen 22a-22f gibt an, daß mehrere separate Eingangsleitungen einzig und allein zur Vereinfachung der Zeichnung durch eine einzige Leitung dargestellt sind.
  • Fig. 2 stellt in Blockdiagrammform eine der in Fig. 1 gezeigten BCLA-Einheiten dar. Es sollte erwähnt werden, daß jede der BCLA-Einheiten 0, 1, 2 und 3 den gleichen Schaltungsaufbau hat. Die Anordnung von Fig. 2 ist funktionell in zwei Verarbeitungsabschnitte eingeteilt: der eine ist für eine Datenverarbeitung und der andere ist für eine Fehlererkennung.
  • Der erste Teil, nämlich die Datenverarbeitungsanordnung wird zuerst beschrieben.
  • Register 30 und 32 speichern zwei zu addierende Operanden, die über Leitung 34 bzw. 36 zugeführt werden. Ein Block- Eingangsübertrag-Generator 38 wird über die sieben Eingangsanschlüsse 1(0) bis 1(6) mit den Übertragerzeugungsvariablen Gd(n) und den Übertragweiterreichungsvariablen Pd(n) von den anderen BCLA-Einheiten versorgt. Der Generator 38 gibt unter Verwendung der "Carry-Look-Ahead"-Verfahren einen Block- Eingangsübertrag aus, der zu einem Addierer 40 geschickt wird. Im einzelnen wird der Eingangsübertrag zu der niederwertigsten Stelle des in der betreffenden Einheit zu verarbeitenden Operanden geschickt. Der Addierer 40 wird ferner mit den in den Registern 30, 32 gespeicherten Operanden versorgt und führt eine Addition in bekannter Weise aus.
  • Der Addierer 40 weist zwei Detektoren 42, 44 auf. Der Detektor 42 gibt die Übertragerzeugungsvariablen Gd(n) aus, während der andere Detektor 44 die Übertragweiterreichungsvariablen Pd(n) ausgibt. Die Variablen Gd(n) und Pd(n) werden über Puffer 46a-46c bzw. 48a-48c zu den anderen BCLA-Einheiten geschickt. Ein Register 50 speichert die von dem Addierer 40 zugeführte resultierende Summe, die über eine Leitung 52 aus der Einheit von Fig. 2 abgegeben wird.
  • Die Anordnung zur Fehlererkennung der Einheit von Fig. 2 wird nachstehend beschrieben.
  • Ein Register 60 speichert ein Paritätsbit, das einem in dem Register 30 gespeicherten Satz von Datenbits angehängt ist. Ein mit den Registern 30 und 60 gekoppelter Paritätsprüfer 62 führt eine Paritätsprüfung an den Datenbits und dem Paritätsbit durch. Gleichermaßen speichert ein Register 64 ein Paritätsbit, das einem Satz von Datenbits innerhalb des Registers 32 angehängt ist, und ein Paritätsprüfer 66 führt eine Paritätsprüfung an den in den Registern 32 und 64 gespeicherten Bits durch.
  • Ein Block-Eingangsübertrag-Generator 68, der den gleichen Aufbau wie der oben erwähnte Generator 38 hat, empfängt von den anderen BCLA-Einheiten über die sieben Eingangsanschlüsse J(0)- J(6) die Übertragerzeugungsvariablen Gp(n) und die Übertragweiterreichungsvariablen Pp(n). Der Generator 68 gibt unter Verwendung des "Carry-Look-Ahead"-Verfahrens einen Block- Eingangsübertrag aus, der zu einem Paritätsbitprädiktor 70 geschickt wird. Der Prädiktor 70 wird ferner mit den zwei Bitreihen von den zwei Sätzen von Registern (30,60) bzw. (32,64) versorgt und schickt ein vorausberechnetes Paritätsbit zu einem Register 72. Eine Paritätsprüfung an dem in den Registern 50 und 72 gespeicherten Datenreihen wird an einem Paritätsprüfer 74 durchgeführt. Andererseits werden die in den zwei Registern 30 und 32 gespeicherten zwei Operandendaten zu zwei Detektoren 76 und 78 geschickt, die jeweils die gleichen logischen Funktionen wie die oben erwähnten Detektoren 42 und 44 durchführen. Das heißt, der Detektor 76 gibt die Übertragerzeugungsvariable Gp(n) aus, während der andere Detektor 78 die Übertragweiterreichungsvariable Pp(n) ausgibt. Die Variablen Gp(n) und Pp(n) werden über Puffer 80a-80c bzw. 82a-82c an die anderen BCLA-Einheiten geschickt.
  • Fig. 3 ist eine Tabelle, die (a) die über die Eingangsanschlüsse 1 (0) -1 (6) zu dem Block-Eingangsübertrag- Generator 38 geschickten Variablen Gd(n) und Pd(n) und (b) logische Ausdrücke zur Erzeugung der Ausgangssignale des Block- Eingangsübertrag-Generators 38 zeigt, beides in bezug auf die BCLA-Einheiten 0, 1, 2 und 3. Es sollte erwähnt werden, daß die logische UND-Notation " " in den logischen Ausdrücken in Fig. 3 weggelassen ist.
  • Eine in Fig. 4 gezeigte Tabelle ist mit der von Fig. 3 identisch, mit der Ausnahme, daß die zuerst erwähnte Tabelle die zur Fehlererkennung verwendeten anderen Variablen Gp(n) und Pp(n) betrifft.
  • Zurück zu Fig. 2. Jeder Paritätsprüfer 62 und 66 führt eine Paritätsprüfung an den in dem entsprechenden Register 30 oder 32 gespeicherten Operanden aus. Andererseits, im Falle, daß der Paritätsprüfer 74 einen Paritätsfehler detektiert, ist verständlich, daß entweder die Daten- oder die Fehlererkennungsanordnung fehlerhaft arbeitet. Selbst wenn sowohl die Daten- als auch die Fehlererkennungsanordnung gleichzeitig so zusammenbrechen, daß der Paritätsprüfer 74 nicht in der Lage ist, die Anomalie zu erkennen, ist es praktisch selten, daß eine solche Anomalie weiterhin den Prüfer täuscht.
  • Eine zweite bekannte Anordnung zur Fehlererkennung in einem Binäraddierer wird mit Bezug auf Fig. 5 bis 7 diskutiert. Ein in Fig. 5 gezeigter Binäraddierer 10- unterscheidet sich von seinem Gegenstück 10 von Fig. 2 darin, daß die erste Anordnung mit Block-Eingangsübertrag-Generatoren 90 und 92 außerhalb der BCLA-Einheiten 0 bis 3 versehen ist.
  • Der Binäraddierer 10 weist ferner zusätzlich zu den vier BCLA-Einheiten 0 bis 3 einen Ein-Bit-Generator 20 auf. Der Generator 20 funktioniert auf genau die gleiche Weise wie der in Verbindung mit Fig. 1 offenbarte Generator 20, so daß einfachheitshalber eine weitere Beschreibung weggelassen wird. Jedoch sollte erwähnt werden, daß die Ausgangssignale des Ein- Bit-Generators 20' mit CLP und CLD anstatt mit Cp und Cd wie in Fig. 1 bezeichnet sind.
  • Wie in Fig. 5 dargestellt, ist jede BCLA-Einheit 0, 1, 2 und 3 mit zwei Arten von Ausgangsanschlüssen versehen: die eine ist mit Gp, Pp und die andere mit Gd, Pd bezeichnet. Wie in Verbindung mit Fig. 1 hingewiesen, sind die Ausgangsanschlüsse Gp, Pp zur Fehlererkennung vorgesehen, während die Ausgangsanschlüsse Gd, Pd zur Ausführung einer Addition vorgesehen sind. Die Übertragerzeugungs- und Übertragweiterreichungsvariablen Gp(n) und Pp(n) (wobei "n", 1, 2 oder 3 annimmt) werden zu einem Block-Eingangsübertrag-Generator 90 geschickt, der in einem Fehlererkennungspfad vorgesehen ist. Gleichermaßen werden die Übertragerzeugungs- und Übertragweiterreichungsvariablen Gd(n) und Pd(n) zu einem anderen Block-Eingangsübertrag-Generator 92 geschickt, der zur Addition vorgesehen ist. Bezugszeichen Cp und Cd stehen für Eingangsanschlüsse, die angeschlossen sind, um die Ausgangssignale Cp(n) und Cd(n) (n=l, 2, 3) der Block-Eingangsübertrag-Generatoren 90 bzw. 92 zu empfangen. Zur Erleichterung der Beschreibung steht jedes Bezugszeichen Cp und Cd auch für einen Übertrag.
  • Fig. 6 stellt in Blockdiagrammform eine der in Fig. 5 gezeigten BCLA-Einheiten dar. Die BCLA-Einheiten 0, 1, 2 und 3 haben jeweils den gleichen Schaltungsaufbau. Da die Anordnung von Fig. 6 im wesentlichen den gleichen Aufbau wie diejenige von Fig. 2 hat, sind gleiche Elemente mit den gleichen Bezugszeichen bezeichnet.
  • Die Schaltungsanordnung von Fig. 6 unterscheidet sich von derjenigen von Fig. 2 darin, daß (a) sich das Ausgangssignal jedes Variablendetektors 42, 44 der zuerst genannten Anordnung nicht aufspaltet und daher nur zwei Puffer 46' und 48' vorgesehen sind; (b) sich jedes Ausgangssignal der Übertragerzeugungs- und Übertragweiterreichungsvariablendetektoren 76, 78 der zuerst genannten Anordnung nicht weiter aufspaltet und daher nur zwei Puffer 80' und 82' vorgesehen sind; und (c) die zuerst genannte Anordnung nicht mit Block-Eingangsübertrag- Generatoren versehen ist. Anders als diese sind die übrigen Abschnitte von Fig. 6 und 2 identisch. Da die Anordnung von Fig. 6 auf genau die gleiche Weise wie die Anordnung von Fig. 2 funktioniert, wird eine weitere Beschreibung hinsichtlich deren Funktionsweise als nicht notwendig betrachtet.
  • Fig. 7 ist eine Tabelle, die (a) die Ausgangssignale des Block-Eingangsübertrag-Generators 92 und (b) logische Ausdrücke zur Erzeugung der Ausgangssignale des Generators 92 zeigt, beides mit Bezug auf die BCLA-Einheiten 0 bis 3. Es ist ohne weiteres verständlich, daß die in Fig. 7 gezeigte Tabelle auf die Ausgangssignale Cp(n) des Block-Eingangsübertrag-Generators 90 anwendbar ist.
  • Neuere Fortschritte in der LSI-Technologie haben beträchtliche Reduzierungen der Chipgröße erlaubt. Jedoch ist diese Möglichkeit der Größenreduzierung darum noch nicht voll genutzt worden, weil die Pins, die entlang der Seite der Chips bereitgestellt werden müssen, eine endliche Größe haben müssen, um so die geforderte Festigkeit und Langlebigkeit aufzuweisen. Also muß, wenn eine große Anzahl von Pins erforderlich ist, der Abstand zwischen ihnen verringert werden, da die Pingröße nicht unter gegebene Grenzen verringert werden kann. Dies führt zu einem Gedränge, der Möglichkeit, physikalisch miteinander in Kontakt gebracht zu werden, und einer Verringerung der Zuverlässigkeit aufgrund der großen Anzahl der Verbindungen, die gleichzeitig erreicht werden müssen.
  • Für den Fall, daß zusätzlich dazu eine große Anzahl von Ports erforderlich ist, verringert Übersprechen den Störabstand und senkt somit die Leistungsrate.
  • Daher ist ein Bedarf für Schaltungsanordnungen entstanden, die eine Reduzierung der Anzahl der Pins und Anschlüsse, die bereitgestellt werden müssen, ermöglichen. Beispielsweise erfordert die in Fig. 2 gezeigte Addiererschaltungsanordnung eine große Anzahl von Eingangs- und Ausgangsports. Dies wird in den oben beschriebenen Addiererschaltungen durch Bereitstellung sowohl einer Datenverarbeitungsanordnung als auch einer unabhängigen parallelen Fehlerprüfangsanordnung bewirkt.
  • Es ist eine Aufgabe der vorliegenden Erfindung, einen Binäraddierer des Typs mit Block-Übertragseinheit bereitzustellen, der mit einer verbesserten Fehlererkennungsanordnung mit einer im Vergleich zu bekannten Addierern kleinen Anzahl von Eingangs- und Ausgangsports versehen ist.
  • Eine andere Aufgabe der vorliegenden Erfindung ist, einen Binäraddierer bereitzustellen, der aus mehreren Block- Übertragseinheiten besteht, die jeweils eine vereinfachte Anordnung zur Fehlererkennung aufweisen.
  • Diese Aufgaben werden mit den Merkmalen der Ansprüche 1 bzw. 4 erfüllt.
  • Kurz gesagt, besteht ein Binäraddierer aus mehreren Blockübertragseinheiten (BCLA-Einheiten). Jede Einheit weist einen Block-Eingangsübertrag-Generator, einen Addierabschnitt, einen Block-Ausgangsübertrag-Generator und einen Übertragkoinzidenzprüfer auf. Der Block-Eingangsübertrag-Generator ist angeordnet, um von anderen Einheiten mehrere Übertragerzeugungsvariablen und mehrere Übertragweiterreichungsvariablen zu empfangen, wobei er unter Verwendung eines Carry-Look-Ahead- Schemas einen Eingangsübertrag erzeugt. Der Addierabschnitt ist angeschlossen, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, und empfängt ferner zwei zu addierende Operandendaten und erzeugt eine resultierende Summe der zwei Operandendaten. Der Block-Ausgangsübertrag-Generator empfängt die zwei Operandendaten und empfängt ebenfalls den Eingangsübertrag von dem Block-Eingangsübertrag-Generator. Der Block-Ausgangsübertrag-Generator erzeugt einen Ausgangsübertrag der Einheit, der einer Block-Übertragseinheit niedrigerer Ordnung zugeführt wird. Der Übertragkoinzidenzprüfer ist angeordnet, um den Eingangsübertrag von dem Eingangsübertrag- Generator zu empfangen, und empfängt ebenfalls einen Übertrag von einer anderen Block-Übertragseinheit. Der Übertrag, der von einer anderen Einheit zugeführt wird, entspricht dem Ausgangsübertrag. Der Prüfer führt eine Koinzidenzprüfung zwischen dem Eingangsübertrag und dem von einer anderen Einheit zugeführten Übertrag durch.
  • Ein Binäraddierer weist insbesondere mehrere Block- Übertragseinheiten auf, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeordnet ist, um mehrere Übertragerzeugungsvariablen und mehrere Übertragweiterreichungsvariablen zu empfangen, wobei die erste Einrichtung unter Verwendung eines Carry-Look-Ahead-Schemas einen ersten Übertrag erzeugt, eine zweite Einrichtung, die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die zweite Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine dritte Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen, und die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die dritte Einrichtung einen zweiten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; und eine vierte Einrichtung, die angeschlossen ist, um den ersten Übertrag zu empfangen, und angeschlossen ist, um einen dritten Übertrag von einer anderen Block-Übrtragseinheit zu empfangen, wobei der dritte Übertrag dem zweiten Übertrag entspricht, wobei die vierte Einrichtung eine Koinzidenzprüfung zwischen dem ersten und dem dritten Übertrag durchführt.
  • Ein anderer Binäraddierer weist ferner mehrere Block- Übertragseinheiten auf, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeordnet ist, um mehrere Übertragerzeugungsvariablen und Übertragweiterreichungsvariablen zu empfangen, wobei die erste Einrichtung unter Verwendung eines Carry-Look-Ahead-Schemas einen ersten Übertrag erzeugt; eine zweite Einrichtung, die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die zweite Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine dritte Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen und angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die dritte Einrichtung einen zweiten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; eine vierte Einrichtung, die angeschlossen ist, um den ersten Übertrag zu empfangen und angeschlossen ist, um einen dritten Übertrag von einer anderen Block-Übertragseinheit zu empfangen, wobei der dritte Übertrag dem zweiten Übertrag entspricht, wobei die vierte Einrichtung eine Koinzidenzprüfung zwischen dem ersten und dem dritten Übertrag durchführt; eine fünfte Einrichtung, die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die fünfte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die fünfte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt; eine sechste Einrichtung, die angeschlossen ist, um die von der zweiten Einrichtung erzeugte resultierende Summe zu speichern; eine siebte Einrichtung, die angeschlossen ist, um das dritte Paritätsbit von der fünften Einrichtung zu speichern; und eine achte Einrichtung, die an die sechste und siebte Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt.
  • Ein weiterer Binäraddierer weist ferner mehrere Block-Übertragseinheiten auf, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeordnet ist, um mehrere Übertragerzeugungsvariablen und Übertragweiterreichungsvariablen zu empfangen, wobei die erste Einrichtung unter Verwendung eines Carry-Look-Ahead-Schemas einen ersten Übertrag erzeugt; eine zweite Einrichtung, die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die zweite Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine dritte Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen und angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die dritte Einrichtung einen zweiten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; eine vierte Einrichtung, die angeschlossen ist, um den ersten Übertrag zu empfangen, und angeschlossen ist, um einen dritten Übertrag von einer anderen Block-Übertragseinheit zu empfangen, wobei der dritte Übertrag dem zweiten Übertrag entspricht, wobei die vierte Einrichtung eine Koinzidenzprüfung zwischen dem ersten und dem dritten Übertrag durchführt; eine fünfte Einrichtung, die angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die fünfte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die fünfte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt; eine sechste Einrichtung, die angeschlossen ist, um die von der zweiten Einrichtung erzeugte resultierende Summe zu speichern; eine siebte Einrichtung, die angeschlossen ist, um das dritte Paritätsbit von der fünften Einrichtung zu speichern; eine achte Einrichtung, die an die sechste und siebte Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt; eine neunte Einrichtung, die an die zweite Einrichtung angeschlossen ist und eine Übertragerzeugungsvariable erzeugt, wobei die Übertragerzeugungsvariable einer anderen Block-Übertragseinheit zugeführt wird; und eine zehnte Einrichtung, die an die zweite Einrichtung angeschlossen ist und eine Übertragweiterreichungsvariable erzeugt, wobei die Übertragweiterreichungsvariable einer anderen Block-Übertragseinheit zugeführt wird.
  • Ein weiterer Binäraddierer weist insbesondere mehrere Block-Übertragseinheiten und einen Block-Eingangsübertrag- Generator auf, wobei der Block-Eingangsübertrag-Generator außerhalb der mehreren Block-Übertragseinheiten vorgesehen ist und an diese angeschlossen ist, wobei der Block-Eingangsübertrag-Generator einen Eingangsübertrag erzeugt, welcher der niederwertigsten Stelle der Block-Übertragseinheiten zugeführt wird, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die erste Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine zweite Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen, und angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die zweite Einrichtung einen ersten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; und eine dritte Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, und angeschlossen ist, um einen zweiten Übertrag von einer anderen Block-Übertragseinheit zu empfangen, wobei der zweite Übertrag dem ersten Übertrag entspricht, wobei die dritte Einrichtung eine Koinzidenzprüfung zwischen dem Eingangsübertrag und dem zweiten Übertrag durchführt.
  • Ein weiterer Binäraddierer weist insbesondere mehrere Block-Übertragseinheiten und einen Block-Eingangsübertrag- Generator auf, wobei der Block-Eingangsübertrag-Generator außerhalb der mehreren Block-Übertragseinheiten vorgesehen ist und an diese angeschlossen ist, wobei der Block-Eingangsübertrag-Generator einen Eingangsübertrag erzeugt, welcher der niederwertigsten Stelle der Block-Übertragseinheiten zugeführt wird, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die erste Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine zweite Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen, und angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die zweite Einrichtung einen ersten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; eine dritte Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, und angeschlossen ist, um einen zweiten Übertrag von einer anderen Block-Übertragseinheit zu empfangen, wobei der zweite Übertrag dem ersten Übertrag entspricht, wobei die dritte Einrichtung eine Koinzidenzprüfung zwischen dem Eingangsübertrag und dem zweiten Übertrag durchführt; eine vierte Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block- Eingangsübertrag-Generator zu empfangen, wobei die vierte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die vierte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt; eine fünfte Einrichtung, die angeschlossen ist, um die von der ersten Einrichtung erzeugte resultierende Summe zu speichern; eine sechste Einrichtung, die angeschlossen ist, um das dritte Paritätsbit von der vierten Einrichtung zu speichern; und eine siebte Einrichtung, die an die fünfte und sechste Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt.
  • Ein weiterer Binäraddierer weist insbesondere mehrere Block-Übertragseinheiten und einen Block-Eingangsübertrag- Generator auf, wobei der Block-Eingangsübertrag-Generator außerhalb der mehreren Block-Übertragseinheiten vorgesehen ist und an diese angeschlossen ist, wobei der Block-Eingangsübertrag-Generator einen Eingangsübertrag erzeugt, welcher der niederwertigsten Stelle der Block-Übertragseinheiten zugeführt wird, wobei die Block-Übertragseinheit aufweist: eine erste Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die erste Einrichtung ferner zu addierende erste und zweite Operandendaten empfängt und eine resultierende Summe der ersten und zweiten Operandendaten erzeugt; eine zweite Einrichtung, die angeschlossen ist, um die ersten und zweiten Operandendaten zu empfangen, und angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die zweite Einrichtung einen ersten Übertrag erzeugt, der einer anderen Block-Übertragseinheit zugeführt wird; eine dritte Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, und angeschlossen ist, um einen zweiten Übertrag von einer anderen Block-Übertragseinheit zu empfangen, wobei der zweite Übertrag dem ersten Übertrag entspricht, wobei die dritte Einrichtung eine Koinzidenzprüfung zwischen dem Eingangsübertrag und dem zweiten Übertrag durchführt; eine vierte Einrichtung, die angeschlossen ist, um den Eingangsübertrag von dem Block- Eingangsübertrag-Generator zu empfangen, wobei die vierte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die vierte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt; eine fünfte Einrichtung, die angeschlossen ist, um die von der ersten Einrichtung erzeugte resultierende Summe zu speichern; eine sechste Einrichtung, die angeschlossen ist, um das dritte Paritätsbit von der vierten Einrichtung zu speichern; eine siebte Einrichtung, die an die fünfte und sechste Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt; eine achte Einrichtung, die an die erste Einrichtung angeschlossen ist und eine Übertragerzeugungsvariable erzeugt, wobei die Übertragerzeugungsvariable dem Block-Eingangsübertrag-Generator zugeführt wird; und eine neunte Einrichtung, die an die erste Einrichtung angeschlossen ist und eine Übertragweiterreichungsvariable erzeugt, wobei die Übertragweiterreichungsvariable dem Block-Eingangsübertrag-Generator zugeführt wird.
  • Die Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung klarer erkennbar, die in Verbindung mit den beigefügten Zeichnungen vorgenommen wird, in welchen gleiche Elemente mit den gleichen Bezugszeichen bezeichnet sind, und in denen:
  • Fig. 1 ein Blockdiagramm ist, das einen ersten bekannten Binäraddierer zeigt, der mehrere Block-Übertragseinheiten (BCLA-Einheiten) aufweist, wobei auf diese Zeichnung in den einleitenden Abschnitten dieser Beschreibung bezug genommen worden ist;
  • Fig. 2 ein Blockdiagramm ist, das detailliert eine der in Fig. 1 gezeigten BCLA-Einheiten zeigt, wobei auf Fig. 2 in den einleitenden Abschnitten dieser Beschreibung bezug genommen worden ist;
  • Fig. 3 und 4 jeweils eine Tabelle ist, welche die Beziehung zwischen Eingangs- und Ausgangssignalen der Block-Eingangsübertrag-Generatoren zeigt, die jeweils Bestandteil der BCLA- Einheit sind;
  • Fig. 5 ein Blockdiagramm ist, das einen zweiten bekannten Binäraddierer zeigt, der mehrere BCLA-Einheiten aufweist, wobei auf diese Zeichnung in den einleitenden Abschnitten dieser Beschreibung bezug genommen worden ist;
  • Fig. 6 ein Blockdiagramm ist, das detailliert eine der in Fig. 5 gezeigten BCLA-Einheiten zeigt, wobei auf Fig. 6 in den einleitenden Abschnitten dieser Beschreibung bezug genommen worden ist;
  • Fig. 7 eine Tabelle ist, welche die Beziehung zwischen Eingangs- und Ausgangssignalen der Block-Eingangsübertrag- Generatoren zeigt, die jeweils Bestandteil der BCLA-Einheit sind;
  • Fig. 8 ein Blockdiagramm ist, das eine erste Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 9 ein Blockdiagramm ist, das detailliert eine der in Fig. 8 gezeigten BCLA-Einheiten zeigt;
  • Fig. 10 ein Blockdiagramm ist, das eine zweite Ausführungsform der vorliegenden Erfindung zeigt; und
  • Fig. 11 ein Blockdiagramm ist, das detailliert eine der in Fig. 10 gezeigten BCLA-Einheiten zeigt.
  • Eine erste Ausführungsform der vorliegenden Erfindung wird mit Bezug auf Fig. 8 und 9 diskutiert. Die erste Ausführungsform entspricht dem in Fig. 1 und 2 gezeigten ersten Addierer.
  • Fig. 8 stellt schematisch einen erfindungsgemäßen Binäraddierer 100 in Blockdiagrammform dar. Der Addierer 100 weist vier BCLA-Einheiten 0, 1, 2 und 3 und einen Ein-Bit-Generator 200 auf. Der Generator 200 funktioniert im wesentlichen auf gleiche Weise wie sein Gegenstück 20 von Fig. 1. Das heißt, der Generator 200 gibt Ein-Bit-Signale CL und CL' aus, wobei jedes eine logische "0" annimmt, während der Addierer für eine Addition verwendet wird, und eine logische "1" annimmt, während der Addierer für eine Subtraktion verwendet wird. Eine weitere detaillierte Beschreibung des Generators 200 wird als nicht notwendig betrachtet. Jedoch wird der Unterschied zwischen CL und CL' später beschrieben.
  • Wie in Fig. 8 gezeigt, ist jede der BCLA-Einheiten 1, 2 und 3 mit zwei Eingangsanschlüssen G und P versehen, an welchen die Übertragerzeugungs- und Übertragweiterreichungsvariablen oder Ausgangssignale G(n) und P(n) gewonnen werden (n nimmt 1, 2 oder 3 an). Die Variablen G(n) und P(n) einer Einheit werden einem Eingangsanschluß/Eingangsanschlüssen 1(x) der nachfolgenden Einheit(en) zugeführt. Wie in Verbindung mit der in Fig. 2 gezeigten Schaltung erwähnt, weist der Eingangsanschluß I(x) sieben Anschlüsse I(O)-I(6) auf. Jedes Symbol mit einem Bezugszeichen 22d, 22e oder 22f gibt an, daß mehrere separate Eingangsleitungen in einer einzigen Leitung gesammelt sind, einzig und allein um die Zeichnung zu vereinfachen. Schließlich geben die Bezugszeichen Ci und Co einen Blockeingangsübertrag bzw. einen Blockausgangsübertrag an. Zur leichteren Beschreibung steht Ci ebenfalls für den Anschluß, welchem der Eingangübertrag Ci zugeführt wird, während Co ebenfalls für den Anschluß steht, an welchem der Ausgangsübertrag Co erzeugt wird.
  • Fig. 9 stellt eine der BCLA-Einheiten 0 bis 3 in Blockdiagrammform dar. Es sollte erwähnt werden, daß die Einheit an der höchsten Ordnung angeordnet ist und sie somit keine Erzeugungs- und Weiterreichungsvariablen sowie keinen Blockausgangsübertrag Co zu erzeugen braucht, aber auf gleiche Weise wie die anderen Einheiten 1 bis 3 aufgebaut sein kann.
  • Da die Anordnung von Fig. 9 im wesentlichen gleich der in Fig. 2 gezeigten ist, werden nur die Unterschiede zwischen diesen beschrieben.
  • Die folgenden Blöcke sind in der Anordnung von Fig. 9 nicht vorgesehen: der für eine Fehlererkennung vorgesehene Modul- Eingangsübertrag-Generator 68, der Übertragerzeugungsdetektor 76, der Übertragweiterreichungsdetektor 78 und die Puffer 80a- 80c und 82a-82c.
  • Andererseits sind die unten aufgeführten Blöcke der Anordnung von Fig. 9 neu hinzugefügt: ein Block-Ausgangsübertrag-Generator 102, ein Puffer 104, Register 106 und 108 und ein Koinzidenzprüfer 110.
  • Die übrigen Abschnitte der Anordnung von Fig. 9 sind identisch mit ihren Gegenstücken von Fig. 2.
  • Wie zu erkennen ist, ist nur ein einziger Block-Eingangsübertrag-Generator 38 vorgesehen und daher ist der Paritätsbitprädiktor 70 angeschlossen, um den Übertrag zu empfangen, der von dem Generator 38 zugeführt wird. Dies bedeutet, daß in dem Fall, daß in einem Übertragungspfad bis zu dem Block- Eingangsübertrag-Generator '38 inklusive ein Fehler auftritt, der Paritätsprüfer 74 nicht länger in der Lage ist, den oben erwähnten Fehler zu erkennen. Im einzelnen ergibt sich dieses Problem aus der Tatsache, daß der Eingangsübertrag von dem Generator 38 sowohl dem Addierer 40 als auch dem Paritätsbitprädiktor 70 zugeführt wird.
  • Jedoch kann dieses Problem mit den oben aufgeführten neu vorgesehenen Blöcken gelöst werden.
  • Der Block-Ausgangsübertrag-Generator 102 empfängt die Operandendaten von den Registern 30, 32 sowie den Eingangsübertrag von dem Eingangsübertrag-Generator 38, wobei er einen Ausgangsübertrag der Einheit berechnet. Der Ausgangsübertrag Co der Einheit wird in dem Register 104 gespeichert und dann als ein Eingangsübertrag Ci über den Puffer 106 der BCLA-Einheit höherer Ordnung zugeführt. Das Register 108 wird mit dem von dem Block-Eingangsübertrag-Generator 38 erzeugten Übertrag versorgt. Der Koinzidenzprüfer 110 wird mit dem in dem Register 108 gespeicherten Übertragsignal und einem von einer Einheit niedrigerer Ordnung zugeführten Eingangsübertrag Ci versorgt und prüft, ob die zwei Eingangsüberträge übereinstimmen.
  • Der Koinzidenzprüfer 110 ist angeordnet, um zu prüfen, ob der Übertrag von dem Generator 38 mit dem Übertrag übereinstimmt, der von der BCLA-Einheit zugeführt wird, die an einer niedrigeren Ordnung angeordnet ist. Daher kann der oben genannte Fehler, der an dem Paritätsprüfer 74 nicht detektiert werden kann, mit hoher Wahrscheinlichkeit von dem Koinzidenzprüfer 110 geprüft werden.
  • Mit Bezug auf das Obenerwähnte ist der Paritätsprüfer 74 nicht in der Lage, einen Fehler zu prüfen, der in dem Block- Eingangsübertrag-Generator 38 auftritt. Jedoch ist der Prüfer 74 in der Lage, einen Fehler zu prüfen, der in der Datenverarbeitungsanordnung einschließlich den Blöcken 40, 50 und 72 auftritt. Es versteht sich von selbst, daß die anderen Paritätsprüfer 62 und 66 auf genau die gleiche Weise funktionieren wie die in den bekannten Addierern vorgesehenen.
  • Es sollte erwähnt werden, daß das für eine Einheit vorgesehene Register 104 zum Einstellen des Zeitpunkts dient, an dem der Ausgangsübertrag Co dem Koinzidenzprüfer 110 der anderen Einheit zugeführt wird. Insbesondere verzögert das Register 104 den Ausgangsübertrag Co um einen Takt, um die Verzögerung des Übertrags von dem Generator 38 am Register 108 um einen Takt zu kompensieren. Es ist daher verständlich, daß das Ein-Bit-Signal CL' von dem Generator 200 (Fig. 8) um einen Operationstakt verzögert werden sollte, bevor es dem Koinzidenzprüfer 110 innerhalb der Einheit 3 zugeführt wird. Dies ist der Grund, warum das Signal CL' und das Signal CL unterschiedlich bezeichnet sind.
  • Der Block-Eingangsübertrag-Generator 38 erzeugt den Eingangsübertrag auf genau die gleiche Weise wie sein Gegenstück von Fig. 2, auf das in Verbindung mit Fig. 3 und 4 bezug genommen wird.
  • Eine zweite Ausführungsform der vorliegenden Erfindung wird mit Bezug auf Fig. 10 und 11 diskutiert. Die zweite Ausführungsform entspricht dem in Fig. 5 und 6 gezeigten zweiten bekannten Addierer.
  • Ein in Fig. 10 gezeigter Binäraddierer 100' unterscheidet sich von seinem Gegenstück 100 von Fig. 8 dadurch, daß die erste Anordnung mit einem Block-Eingangsübertrag-Generator 92' außerhalb der BCLA-Einheiten 0 bis 3 versehen ist. Der Binäraddierer 100' weist ferner einen Ein-Bit-Generator 200' zusätzlich zu den vier BCLA-Einheiten 0 bis 3 auf. Der Generator 200' funktioniert auf genau die gleiche Weise wie der in Verbindung mit Fig. 8 offenbarte Generator 200, so daß eine weitere Beschreibung als nicht notwendig betrachtet wird. Wie in Verbindung mit Fig. 8 bezug genommen ist, ist jede der BCLA-Einheiten 1, 2 und 3 mit zwei bekannten Ausgangsanschlüssen G und P versehen, an welchen die Übertragerzeugungsund Übertragweiterreichungsvariablen G(n) und P(n) gewonnen werden (n nimmt 1, 2 oder 3 an). Jedoch werden in der zweiten Ausführungsform diese Variablen G(n) und P(n) dem Block- Eingangsübertrag-Generator 92' zugeführt. Der Generator 92' führt sein Ausgangssignal (nämlich einen Eingangsübertrag) zu einem Anschluß Cd' jeder BCLA-Einheit 0 bis 3 zu. Die Bezugszeichen Ci und Co, die in der ersten Ausführungsform verwendet werden, werden ebenfalls für die gleichen Zwecke verwendet.
  • Fig. 11 stellt in Blockdiagrammform eine der in Fig. 10 gezeigten BCLA-Einheiten dar. Jede der BCLA-Einheiten 0, 1, 2 und 3 hat den gleichen Schaltungsaufbau. Da die Anordnung von Fig. 11 im wesentlichen den gleichen Aufbau wie die von Fig. 9 hat, sind gleiche Elemente mit den gleichen Bezugszeichen bezeichnet.
  • Die Schaltungsanordnung von Fig. 11 unterscheidet sich von derjenigen von Fig. 8 dadurch, daß (a) sich das Ausgangssignal jedes Variablendetektors 42, 44 der erst genannten Anordnung nicht aufspaltet und daher nur zwei Puffer 46' und 48' vorgesehen sind; und (b) die erst genannte Anordnung nicht mit einem Block-Eingangsübertrag-Generator versehen ist. Anders als diese sind die übrigen Abschnitte von Fig. 11 und 9 identisch. Da die Anordnung von Fig. 11 auf genau die gleiche Weise funktioniert wie die Anordnung von Fig. 9, wird eine weitere Beschreibung hinsichtlich deren Funktionsweise als nicht notwendig betrachtet.
  • Es sollte erwähnt werden, daß die Addition innerhalb der BCLA-Einheit selbst unter Verwendung des oben genannten Carry- Ripple-Schemas oder des Carry-Look-Ahead-Schemas ausgeführt werden kann.
  • Es sollte erwähnt werden, daß die vorliegende Erfindung gleichermaßen sowohl auf Addierer als auch auf Subtrahierer anwendbar ist.

Claims (6)

1. Binäraddierer mit N Block-Übertragseinheiten (BCLA Einheiten 0-3), N≥2, wobei jede i-te Block-Übertragseinheit, mit i=0...N-1, aufweist:
eine erste Einrichtung (38), wobei die i-te erste Einrichtung angeordnet ist, um N-i-1 Übertragerzeugungsvariablen (G(n)) und N-i-1 Übertragweiterreichungsvariablen (P(n)) von den vorausgehenden (N-i-1)-ten Block-Übertragseinheiten zu empfangen, wobei die erste Einrichtung unter Verwendung eines Übertrag-Schemas einen i-ten ersten Übertrag erzeugt;
eine zweite Einrichtung (40), wobei die zweite Einrichtung angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die zweite Einrichtung ferner zu addierende i-te erste und i-te zweite Operandendaten empfängt und eine resultierende Summe der i-ten ersten und i- ten zweiten Operandendaten und des i-ten ersten Übertrags erzeugt und eine i-te Übertragerzeugungsvariable und i-te Übertragweiterreichungsvariable erzeugt;
eine dritte Einrichtung (102), wobei die dritte Einrichtung angeschlossen ist, um die i-ten ersten und i-ten zweiten Operandendaten zu empfangen, und angeschlossen ist, um den i- ten ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die dritte Einrichtung einen i-ten zweiten Übertrag erzeugt, welcher der nächsten (i-1)-ten Block-Übertragseinheit zugeführt wird; und
eine vierte Einrichtung (110), wobei die vierte Einrichtung angeschlossen ist, um den i-ten ersten Übertrag zu empfangen, und angeschlossen ist, um einen dritten Übertrag von einer vorausgehenden (i+1)-ten Block-Übertragseinheit zu empfangen, wobei der dritte Übertrag einem vorausgehenden (i+1)-ten zweiten Übertrag entspricht, der von der dritten Einrichtung der vorausgehenden (i+1)-ten Block-Übertragseinheit erzeugt ist, wobei die vierte Einrichtung eine Koinzidenzprüfung zwischen dem i-ten ersten Übertrag und dem dritten Übertrag durchführt, um den Binäraddierer auf einen Fehler hin zu prüfen.
2. Binäraddierer nach Anspruch 1, ferner mit:
einer fünften Einrichtung (70), wobei die fünfte Einrichtung angeschlossen ist, um den ersten Übertrag von der ersten Einrichtung zu empfangen, wobei die fünfte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die fünfte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt;
einer sechsten Einrichtung (50), wobei die sechste Einrichtung angeschlossen ist, um die von der zweiten Einrichtung erzeugte resultierende Summe zu speichern;
einer siebten Einrichtung (72), wobei die siebte Einrichtung angeschlossen ist, um das dritte Paritätsbit von der fünften Einrichtung zu speichern; und
einer achten Einrichtung (74), wobei die achte Einrichtung an die sechste und siebte Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt.
3. Binäraddierer nach Anspruch 1 oder 2, ferner mit:
einer neunten Einrichtung (42), wobei die neunte Einrichtung an die zweite Einrichtung angeschlossen ist und eine Übertragerzeugungsvariable erzeugt, wobei die Übertragerzeugungsvariable einer anderen Block-Übertragseinheit zugeführt wird; und
einer zehnten Einrichtung (44), wobei die zehnte Einrichtung an die zweite Einrichtung angeschlossen ist und eine Übertragweiterreichungsvariable erzeugt, wobei die Übertragweiterreichungsvariable einer anderen Block-Übertragseinheit zugeführt wird.
4. Binäraddierer mit N Block-Übertragseinheiten (BCLA- Einheiten 0-3), N> 2, und einen Block-Eingangsübertrag-Generator (92'), wobei der Block-Eingangsübertrag-Generator außerhalb der N Block-Übertragseinheiten vorgesehen ist und an diese angeschlossen ist, wobei der Block-Eingangsübertrag-Generator N-1 Eingangsüberträge erzeugt, welche jeweils der entsprechenden der N-1 Block-Übertragseinheiten zugeführt werden, wobei die N-1 Eingangsüberträge aus N-1 Übertragerzeugungsvariablen (G(n)) und N-1 Übertragweiterreichungsvariablen (P(n)), die von den entsprechenden N-1 Block-Übertragseinheiten herkommend empfangen werden, unter Verwendung eines Übertrag- Schemas erzeugt werden, wobei die i-te Block-Übertragseinheit, i=0...N-1, aufweist:
eine erste Einrichtung (40), wobei die erste Einrichtung angeschlossen ist, um den i-ten Eingangsübertrag von dem Block- Eingangsübertrag-Generator zu empfangen, wobei die erste Einrichtung ferner zu addierende i-te erste und i-te zweite Operandendaten empfängt und eine resultierende Summe der i-ten ersten und i-ten zweiten Operandendaten und des i-ten Eingangsübertrags erzeugt und eine i-te Übertragerzeugungsvariable und eine i-te Übertragweiterreichungsvariable erzeugt;
eine zweite Einrichtung (102), wobei die zweite Einrichtung angeschlossen ist, um die i-ten ersten und i-ten zweiten Operandendaten zu empfangen, und angeschlossen ist, um den i- ten Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die zweite Einrichtung einen i-ten ersten Übertrag erzeugt, der einer nächsten (i-1)-ten Block-Übertragseinheit zugeführt wird; und
eine dritte Einrichtung (110), wobei die dritte Einrichtung angeschlossen ist, um den i-ten Eingangsübertrag von dem Block- Eingangsübertrag-Generator zu empfangen, und angeschlossen ist, um einen zweiten Übertrag von einer vorausgehenden (i+1)-ten Block-Übertragseinheit zu empfangen, wobei der zweite Übertrag einem vorausgehenden (i+1)-ten ersten Übertrag entspricht, der von der zweiten Einrichtung der vorausgehenden (i+1)-ten Block- Übertragseinheit erzeugt ist, wobei die dritte Einrichtung eine Koinzidenzprüfung zwischen dem i-ten Eingangsübertrag und dem zweiten Übertrag durchführt, um den Binäraddierer auf einen Fehler hin zu prüfen.
5. Binäraddierer nach Anspruch 4, ferner mit:
einer vierten Einrichtung (70), wobei die vierte Einrichtung angeschlossen ist, um den Eingangsübertrag von dem Block-Eingangsübertrag-Generator zu empfangen, wobei die vierte Einrichtung angeordnet ist, um die ersten Operandendaten plus ein daran angehängtes erstes Paritätsbit zu empfangen, und ebenfalls angeordnet ist, um die zweiten Operandendaten plus ein daran angehängtes zweites Paritätsbit zu empfangen, wobei die vierte Einrichtung ein drittes Paritätsbit vorausberechnet und das dritte Paritätsbit erzeugt;
einer fünften Einrichtung (50), wobei die fünfte Einrichtung angeschlossen ist, um die von der ersten Einrichtung erzeugte resultierende Summe zu speichern;
einer sechsten Einrichtung (72), wobei die sechste Einrichtung angeschlossen ist, um das dritte Paritätsbit von der vierten Einrichtung zu speichern; und
einer siebten Einrichtung (74), wobei die siebte Einrichtung an die fünfte und sechste Einrichtung angeschlossen ist und eine Paritätsprüfung an der resultierenden Summe und dem dritten Paritätsbit durchführt.
6. Binäraddierer nach Anspruch 5, ferner mit:
einer achten Einrichtung (42), wobei die achte Einrichtung an die erste Einrichtung angeschlossen ist und eine Übertragerzeugungsvariable erzeugt, wobei die Übertragerzeugungsvariable dem Block-Eingangsübertrag-Generator zugeführt wird;
und
einer neunten Einrichtung (44), wobei die neunte Einrichtung an die erste Einrichtung angeschlossen ist und eine Übertragweiterreichungsvariable erzeugt, wobei die Übertragweiterreichungsvariable dem Block-Eingangsübertrag-Generator zugeführt wird.
DE1990632142 1989-06-06 1990-06-06 Digitale Anordnung zur Fehlerprüfung in einem Binäraddierer mit Block-Uebertragungseinheiten Expired - Fee Related DE69032142T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1142226A JP2621480B2 (ja) 1989-06-06 1989-06-06 加算回路検査装置

Publications (2)

Publication Number Publication Date
DE69032142D1 DE69032142D1 (de) 1998-04-23
DE69032142T2 true DE69032142T2 (de) 1998-10-08

Family

ID=15310349

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1990632142 Expired - Fee Related DE69032142T2 (de) 1989-06-06 1990-06-06 Digitale Anordnung zur Fehlerprüfung in einem Binäraddierer mit Block-Uebertragungseinheiten

Country Status (4)

Country Link
EP (1) EP0401783B1 (de)
JP (1) JP2621480B2 (de)
CA (1) CA2018271C (de)
DE (1) DE69032142T2 (de)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1524141A1 (de) * 1965-04-05 1970-07-09 Ibm Schaltungsanordnung zur schnellen Parallel-Addition binaerer Operanden
US3470366A (en) * 1967-01-13 1969-09-30 Ibm Fast flush adder
US3925647A (en) * 1974-09-30 1975-12-09 Honeywell Inf Systems Parity predicting and checking logic for carry look-ahead binary adder
US4084253A (en) * 1977-01-03 1978-04-11 Honeywell Information Systems Inc. Current mode arithmetic logic circuit with parity prediction and checking
US4081860A (en) * 1977-01-03 1978-03-28 Honeywell Information Systems Inc. Current mode 4-bit arithmetic logic unit with parity
JPS55946A (en) * 1978-06-19 1980-01-07 Fujitsu Ltd Adder with parity generating circuit part for binary-decimal addition result

Also Published As

Publication number Publication date
CA2018271C (en) 1997-09-30
EP0401783B1 (de) 1998-03-18
EP0401783A2 (de) 1990-12-12
JPH038019A (ja) 1991-01-16
JP2621480B2 (ja) 1997-06-18
CA2018271A1 (en) 1990-12-06
DE69032142D1 (de) 1998-04-23
EP0401783A3 (de) 1991-10-30

Similar Documents

Publication Publication Date Title
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE69430838T2 (de) Schaltung und Verfahren zur parallelen Verschiebung und Addition
DE102020113922A1 (de) Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen
DE10105945B4 (de) Multiplizierer mit Linearsummierungsarray sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multiplikation
DE68920560T2 (de) Restprüfungsvorrichtung zur Fehlerkennung in Additions-, Substraktions-, Multiplikations-, Divisions- und Quadratwurzel-Operationen.
DE3840969A1 (de) Integrierte halbleiter-schaltungsvorrichtung
DE68927560T2 (de) Hochgeschwindige, hochleistende Nulldetektorschaltung mit Parallelverarbeitung
DE10019698C2 (de) Vorrichtung zum Durchführen einer Summier-und-Vergleichs-Operation
DE3888230T2 (de) Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung.
DE4403917A1 (de) Vorrichtung zum Berechnen einer Besetzungszählung
DE68918840T2 (de) Fehlererkennung für teilschreiboperationen für speicher.
DE68927488T2 (de) Binäre Übertragvorgriffsschaltung
DE112005001906B4 (de) Mehrbit-Addierer und Verfahren zum Propagieren, Generieren oder Killen von Carry-In-Bits entlang einer Carry-Kette
DE69505554T2 (de) Digitale arithmetische schaltung
DE69230520T2 (de) Verfahren und Anordung zur Erzeugung von Summeinformation-/Rundungskontrolle-Signal
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE69026414T2 (de) Binäres Addiergerät
EP0257362A1 (de) Addierer
DE1187403B (de) Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden
DE69032142T2 (de) Digitale Anordnung zur Fehlerprüfung in einem Binäraddierer mit Block-Uebertragungseinheiten
DE69225638T2 (de) Abrundungsschaltung in einem Gleitkommamultiplizierer
DE69327421T2 (de) Anordnung und Verfahren zum parallelisierten Grössenvergleich von digitalen Daten
DE3422287C2 (de)
DE3933172A1 (de) Akkumulator fuer komplexe zahlen
DE68928370T2 (de) Logikschaltung mit Uebertragungsgesteuerten Addierer

Legal Events

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