DE3540800A1 - Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk - Google Patents

Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk

Info

Publication number
DE3540800A1
DE3540800A1 DE19853540800 DE3540800A DE3540800A1 DE 3540800 A1 DE3540800 A1 DE 3540800A1 DE 19853540800 DE19853540800 DE 19853540800 DE 3540800 A DE3540800 A DE 3540800A DE 3540800 A1 DE3540800 A1 DE 3540800A1
Authority
DE
Germany
Prior art keywords
bit
adder
word
bits
clock
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.)
Withdrawn
Application number
DE19853540800
Other languages
English (en)
Inventor
Siegbert Prof Dr Ing Hentschke
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.)
Alcatel Lucent Deutschland AG
Original Assignee
Standard Elektrik Lorenz AG
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 Standard Elektrik Lorenz AG filed Critical Standard Elektrik Lorenz AG
Priority to DE19853540800 priority Critical patent/DE3540800A1/de
Publication of DE3540800A1 publication Critical patent/DE3540800A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/509Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
    • G06F7/5095Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators word-serial, i.e. with an accumulator-register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/388Skewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft Addierwerke und Multiplizierwerke zur Verarbeitung von Dualzahlen, die als n-Bit-Wörter dargestellt sind. Bei parallel arbeitenden Addier- und Multiplizierwerken, wie sie für hohe Verarbeitungsgeschwindigkeiten erforderlich sind, wird die maximale Verarbeitungsgeschwindigkeit maßgeblich durch die Art der Verarbeitung der an den einzelnen Wertigkeitsstufen der Addierwerke entstehenden Überträge bestimmt.
Ein parallel arbeitendes Addierwerk mit Übertragsdurchlauf ist z. B. bekannt aus dem Buch von G. Harms: "Digitale Schaltkreise - Grundlagen und Praxis", Vogel-Verlag 1974, Bild 8.2.8. auf Seite 170.
Dieses Addierwerk ist aus einzelnen Binäraddierern, Volladdierer genannt, zusammengesetzt, die in Bild 8.2.3 auf Seite 168 desselben Buches gezeigt sind. Für sehr hohe Wortfolgefrequenzen der zu addierenden n-Bit-Eingangswörter ist dieses bekannte Addierwerk nicht geeignet, da eine einzelne Addition zweier n-Bit-Wörter solange dauert, bis der Übertrag sämtliche Volladdierer nacheinander durchlaufen hat, d. h. die verarbeitbare Wortfolgefrequenz ist durch diese Verarbeitungszeit begrenzt.
Es ist daher die Aufgabe der Erfindung, ein Addierwerk und ein Multiplizierwerk anzugeben, das hinsichtlich der maximalen Wortfolgefrequenz der zu verarbeitenden n-Bit- Eingangswörter leistungsfähiger ist als die bekannten Addier- bzw. Multiplizierwerke. Im weiteren soll die Erfindung auch auf eine spezielle Form des Addierwerks, einen Akkumulator, angewendet werden.
Die Aufgabe wird in einem ersten Schritt durch eine Binäraddierer- Zelle nach Anspruch 1, in einem zweiten Schritt durch eine Zusammenschaltung solcher Binäraddierer-Zellen zu einem Addierwerk gemäß Anspruch 5 und in einem dritten Schritt durch Zusammenschaltung solcher Addierwerke zu einem Multiplizierwerk nach Anspruch 10 oder durch eine Zusammenschaltung von Gruppen von Binäraddierer-Zellen und eines Addierwerks nach Anspruch 5 zu einem Multiplizierwerk nach Anspruch 12 gelöst. Weiterbildungen und vorteilhafte Ausgestaltungen dieser Lösungen sind in den jeweils auf die genannten Ansprüche rückbezogenen Ansprüchen angegeben. Ein erfindungsgemäßer Akkumulator ist Gegenstand des Anspruchs 13.
Die Erfindung wird nun anhand der Zeichnungen beispielsweise näher erläutert. Es zeigen:
Fig. 1a den erfindungsgemäßen Aufbau einer Binäraddierer- Zelle BA aus einem an sich bekannten Volladdierer und an sich bekannten taktzustandsgesteuerten D-Flipflops,
Fig. 1b eine Ausführungsform der Binäraddierer-Zelle BA nach Fig. 1, bei der die in Fig. 1a gezeigten Bestandteile in an sich bekannter Weise aus NAND-Schaltungen zusammengesetzt sind,
Fig. 1c eine schaltungsmäßige Vereinfachung der Schaltung nach Fig. 1b, bei der die Ausgangsschaltungen des Volladdierers teilweise die Funktion der Ansteuerschaltungen der nachgeschalteten taktzustandsgesteuerten D-Flipflops erfüllen,
Fig. 1d eine erfindungsgemäße Ausführung der Binäraddierer- Zelle nach Fig. 1a, die überwiegend aus NOR-Schaltungen zusammengesetzt ist, und bei der wie in Fig. 1c die Ausgangsschaltungen eines Volladdierers teilweise die Funktion der nachgeschalteten taktzustandsgesteuerten D-Flipflops erfüllen,
Fig. 2 ein erfindungsgemäßes Addierwerk, zusammengesetzt aus Binäraddierer-Zellen nach den Fig. 1a bis 1c,
Fig. 3 Zeitdiagramme von Eingangs- und Ausgangs-Bitfolgen zur Erläuterung des Addierwerks nach Fig. 2 und die zugehörigen Takte,
Fig. 4 einen erfindungsgemäßen n × n-Bit-Multiplizierer, der im wesentlichen aus Addierwerken nach Fig. 2 zusammengesetzt ist,
Fig. 5a bis Fig. 5c Zeitdiagramme von Eingangs-Bitfolgen, Ausgangs- Bitfolgen und Überträgen der Addierwerke in Fig. 4 und die zugehörigen Takte,
Fig. 6a bis Fig. 6b Zeitdiagramme von Bitfolgen zur Erläuterung der in Fig. 4 gezeigten Verzögerungsglieder,
Fig. 7 einen erfindungsgemäßen n × n-Bit-Multiplizierer für bitsynchrone Eingangswörter, der aus Gruppen von Binäraddierer-Zellen nach Fig. 1 und einem Addierwerk nach Fig. 2 zusammengesetzt ist,
Fig. 8 die Zusammenschaltung der in Fig. 7 gezeigten Gruppen von Binäraddierer-Zellen und
Fig. 9 einen Akkumulator mit einem Addierwerk nach Fig. 2.
Die in Fig. 1a gezeigte erfindungsgemäße Binäraddierer- Zelle BA besteht aus einem an sich bekannten Volladdierer VA, z. B. einem Volladdierer nach Bild 8.2.5 auf S. 169 des eingangs angegebenen Buches, und aus zwei an sich bekannten taktzustandsgesteuerten 1 Bit-Speichern FF 1 und FF 2, z. B. D-Flipflops nach Bild 2.2.2 auf S. 33 des eingangs angegebenen Buches. Der Volladdierer berechnet aus zwei Eingangsbits a i , b i und einem Übertrags-Eingangsbit c i das an seinem Ausgang AS erscheinende Summenbit und das an seinem Ausgang AC erscheinende neue Übertragsbit. Wenn der Takt an den Takteingängen T der D-Flipflops den Binärzustand Eins hat, wird das Summenbit in das D-Flipflop FF 1 und das neue Übertragsbit in das D-Flipflop FF 2 eingegeben. Hat der Takt den Binärzustand Null, so werden die mit D bezeichneten Eingänge der D-Flipflops gegenüber den Ausgängen des Volladdierers gesperrt und bleiben in ihrem Zustand, solange der Takt in diesem Zustand bleibt, d. h. sie speichern in diesem Zustand das im vorausgegangenen Zustand eingespeicherte Bit. In diesem Zustand erscheint also am Q-Ausgang des D-Flipflops FF 1 das mit s i bezeichnete Summenbit und am Q-Ausgang des D-Flipflops FF 2 das mit c i+1 bezeichnete neue Übertragsbit, jeweils fest und unabhängig von den an den Eingängen des Volladdierers VA anliegenden Binärsignalen.
Der Takt ist so gewählt, daß er während einer Takt-Halbperiode der zu addierenden Eingangsbits des Volladdierers den einen und während der folgenden Takt-Halbperiode den anderen Binärzustand aufweist. Auf diese Weise können die für jeweils eine Taktperiode anliegenden Eingangsbit des Volladdierers z. B. während der ersten Takt-Halbperiode addiert werden, und das Ergebnis kann während der zweiten Takt-Halbperiode in den D-Flipflops gespeichert werden, oder es können die am Volladdierer anliegenden Eingangsbits erst während ihrer zweiten Takt-Halbperiode addiert werden und es kann während der nächsten Takt-Halbperiode das Ergebnis in den D-Flipflops gespeichert werden, d. h. während einer Takt-Halbperiode, in der bereits ein neuer Satz von Eingangsbits an den Eingängen des Volladdierers anliegt. Beispiele für die Anwendung einer solchen Binäraddierer- Zelle nach Fig. 1a werden anhand der Fig. 2 bis 9 erläutert.
Die Fig. 1b bis 1d zeigen vorteilhafte Ausführungen des in Fig. 1a gezeigten Schaltungsprinzips der erfindungsgemäßen Binäraddierer-Zelle BA. Bei der Fig. 1b ist der Volladdierer VA nach Fig. 1a genau gleich dem im Bild 8.2.5 auf S. 169 des angegebenen Buches aus NAND-Schaltungen 1 bis 9 aufgebaut, und die beiden D-Flipflops sind genau gleich dem in Bild 2.2.2 auf S. 33 desselben Buches gezeigten D-Flipflop ebenfalls aus NAND-Schaltungen 10 bis 17 aufgebaut. Der Takt ist mit C bezeichnet. Die Schaltung nach Fig. 1b bedarf somit keiner näheren Erläuterung.
Die Schaltung nach Fig. 1c ist eine Vereinfachung der Schaltung nach Fig. 1b, insofern, als die Funktion der aus den NAND-Schaltungen 10, 11 bzw. 14, 15 bestehenden Ansteuerschaltungen der beiden D-Flipflops teilweise von den NAND-Schaltungen 8 und 9 des Volladdierers, die dessen Ausgangsschaltungen sind, erfüllt werden.
Die hierzu modifizierten Ausgangs-NAND-Schaltungen 18 und 19 des Volladdierers in Fig. 1c enthalten einen weiteren Eingang für den Takt C und ersparen somit die in den Ansteuerschaltungen der beiden Flipflops enthaltenden NAND- Schaltungen 10 und 14. Der Ausgang der NAND-Schaltung 18 ist bei Fig. 1c nicht über eine NAND-Schaltung, sondern direkt mit dem einen Eingang der NAND-Schaltung 11 und dem einen Eingang der NAND-Schaltung 12 verbunden. Entsprechend ist der Ausgang der NAND-Schaltung 19 direkt mit dem einen Eingang der NAND-Schaltung 15 und dem einen Eingang der NAND-Schaltung 16 verbunden.
Die Ergebnis-Bits s i und c i+1 erscheinen bei Fig. 1c nicht wie bei Fig. 1b an den Q-Ausgängen der beiden D-Flipflops, sondern an den komplementären Q-Ausgängen. Es ist leicht nachzuprüfen, daß die beschriebene vereinfachte Schaltung nach Fig. 1c dieselbe Funktion erfüllt wie die Schaltung nach Fig. 1b.
Bei der Ausführungsform nach Fig. 1d besteht der Volladdierer, wie auf S. 168 des angegebenen Buches gezeigt, aus zwei hintereinandergeschalteten Halbaddierern, die jeweils aus NOR-Schaltungen 20 bis 24 und UND-Schaltungen 25 und 26 aufgebaut sind. Die D-Flipflops bestehen ebenfalls aus NOR-Schaltungen 27 bis 29 bzw. 30 bis 32. Wie bei Fig. 1c sind die Ausgangsschaltungen 23 und 24 des Volladdierers gegenüber den entsprechenden Ausgangsschaltungen des bekannten Volladdierers so abgeändert, daß sie teilweise die Funktion der Ansteuerschaltungen der nachgeschalteten D-Flipflops erfüllen. Diese Änderung besteht darin, daß die das neue Übertragsbit liefernde Ausgangsschaltung des Volladdierers eine NOR-Schaltung 24 statt einer ODER- Schaltung ist und daß diese NOR-Schaltung ebenso wie die das Summenbit liefernde Ausgangs-NOR-Schaltung 23 einen dritten Eingang für den Takt hat. Der Ausgang der NOR-Schaltung 24 ist mit dem einen Eingang des aus den beiden NOR-Schaltungen 28 und 29 bestehenden Grundflipflops verbunden und mit dem einen Eingang der NOR-Schaltung 27, deren Ausgang mit dem anderen Eingang des Grundflipflops verbunden ist, und die an ihrem anderen Eingang ebenfalls den Takt erhält. Der Ausgang der NOR-Schaltung 23 ist mit dem einen Eingang des aus den NOR-Schaltungen 31 und 32 bestehenden Grundflipflops verbunden und mit dem einen Eingang der NOR-Schaltung 30, deren Ausgang mit dem anderen Eingang dieses Grundflipflops verbunden ist und an deren anderem Eingang ebenfalls der Takt anliegt.
Es ist leicht nachzuprüfen, daß, wenn der Takt den Binärzustand Null hat, das Summenbit s i und das neue Übertragsbit c i+1 in die beiden Grundflipflops 31, 32 bzw. 28, 29 eingespeichert werden und, wenn der Takt den Binärzustand Eins hat, die beiden Grundflipflops Eingangssignale erhalten, die unabhängig vom Summenbit und vom Übertragsbit des Volladdierers sind und die die beiden Grundflipflops in ihrem Zustand unverändert lassen.
Solange der Takt den Binärzustand Eins aufweist, erscheint am Ausgang der NOR-Schaltung 32 des einen Grundflipflops das Summenbit s i und am Ausgang der NOR-Schaltung 29 des anderen Grundflipflops das neue Übertragsbit c i+1, jeweils fest und unabhängig von den in diesem Taktzustand an den Eingängen des Volladdierers anliegenden Bits. Der Binärzustand Eins des Takts sorgt dafür, daß unabhängig vom Ergebnis des Volladdierers an sämtlichen Eingängen der beiden Grundflipflops Signale mit dem Binärzustand Null anliegen, die bekanntlich diese Art von Grundflipflops unverändert lassen, und der Binärzustand Null des Takts sorgt dafür, daß an den Eingängen des Grundflipflops Bits anliegen, die den vom Volladdierer berechneten Ausgangsbit entsprechen, d. h. entweder diesen gleich oder gegenüber diesen invertiert sind.
Es ist zu bemerken, daß bei Fig. 1d die beiden D-Flipflops ihre beschriebenen Zustände bei einem Taktzustand einnehmen, der im Vergleich zu den Schaltungen nach den Fig. 1b und 1c der komplementäre Taktzustand ist, d. h. die beiden D-Flipflops sind im "Eingabe-Zustand", wenn der Takt den Binärzustand Null hat, und im "Halte-Zustand", wenn der Takt den Binärzustand Eins hat. Daher ist der Takt bei Fig. 1d mit C und der Takt bei den Fig. 1b und 1c mit C bezeichnet.
Anhand von Fig. 2 wird nun ein erfindungsgemäßes Addierwerk für zwei gleichzeitig auftretende n-Bit-Wörter a 0, a 1, . . . a n-1 und b 0, b 1, . . . b n-1 erläutert. Jedes n-Bit-Wort repräsentiert eine Dualzahl, und die angegebenen Indizes bezeichnen die Wertigkeit eines Bits innerhalb des n-Bit-Worts. Jedes der beiden n-Bit-Wörter gehört zu einer Wortfolge mit einer fest vorgegebenen Wortfolgefrequenz, die für beide Wortfolgen gleich ist. Die Bits a 0 bis a n-1 und b 0 bis b n-1 stehen also für die Dauer einer Worttaktperiode an den Eingängen des Addierwerks an.
Das Addierwerk enthält für jeweils zwei Bits mit derselben Wertigkeit eine Binäraddierer-Zelle wie sie in irgendeiner der Fig. 1a bis 1d gezeigt ist, also eine Binäraddierer- Zelle BA 0 für die Bits a 0, b 0, eine Binäraddierer- Zelle BA 1 für die Bits a 1, b 1, usw. bis zu einer Binäraddierer-Zelle BA n-1 für die höchstwertigen Bits a n-1, b n-1 der zu addierenden n-Bit-Eingangswörter. Der Übertrags-Eingang c 0 bis c n-1 jeder der Binäraddierer-Zellen ist mit dem Übertrags-Ausgang der für die nächstniedrigere Wertigkeit vorgesehenen Binäraddierer- Zelle verbunden. Aufeinanderfolgende Binäraddierer- Zellen werden mit zueinander komplementären Takten C und C angesteuert, wobei C der Worttakt der zu verarbeitenden Wortfolgen ist. Für die Zwecke der Erläuterung wird angenommen, daß die gezeigten Binäraddierer-Zellen insofern von dem in Fig. 1d gezeigten Typ sind, als ihre 1 Bit-Speicher beim Binärzustand Null des Takts in ihrem "Eingabe-Zustand" und beim Binärzustand Eins des Takts in ihrem "Halte-Zustand" sind. Das höchstwertigste Bit s n des aus den Bits s 0 bis sn bestehenden Summenworts ergibt sich aus dem Übertrags-Ausgangsbit c n der für die höchste Wertigkeit der Eingangsbits vorgesehenen Binäraddierer- Zelle, wogegen die Bits s 0 bis s n-1 an den Summenausgängen der mit denselben Indizes bezeichneten Binäraddierer- Zellen erscheinen.
Der zeitliche Ablauf der im Addierwerk nach Fig. 2 stattfindenden Verarbeitung der anstehenden Wortfolgen wird nun anhand der Fig. 3 am Beispiel von Wortfolgen mit 3-Bit- Wörtern erläutert. In Fig. 3 ist oben der Worttakt C und der invertierte Worttakt C dargestellt, und aufeinanderfolgende Worttakt-Halbperioden, im folgenden vereinfacht Halbperioden genannt, sind fortlaufend numeriert. Die darunter gezeigten Zeitdiagramme zeigen den Zeitablauf der an den einzelnen Binäraddierer-Zellen anliegenden und von diesen ausgegebenen Bitfolgen nebst dem jeweils zugehörigen Takt sowie der Eingangsbitfolge c 3 und der Ausgangsbitfolge s 3 mit zugehörigem Takt eines mit FF 3 bezeichneten Verzögerungsglieds, dessen Funktion noch zu erläutern ist.
In sämtlichen Zeitdiagrammen von Bitfolgen geben die in Klammern stehenden Zahlen die Numerierung der Wörter innerhalb der Wortfolge an, zu denen ein Bit gehört, beispielsweise ist mit a 0 (1) das niedrigstwertige Bit des ersten Wortes einer Wortfolge a(i) bezeichnet. In einer Zeile ist jeweils immer die Aufeinanderfolge von Bits mit einer bestimmten Wertigkeit innerhalb einer Wortfolge dargestellt. Zur Erläuterung der Fig. 2 ist es ausreichend, die Verarbeitung der Bits eines bestimmten Wortes einer Wortfolge a(i) und des gleichzeitig erscheinenden Wortes der anderen Wortfolge b(i) zu betrachten. Daher werden im folgenden nur diejenigen Bits betrachtet, die zum ersten Wort einer Wortfolge gehören, d. h. die Bits, die in Klammern mit der Nr. 1 bezeichnet sind (i = 1).
Während der beiden ersten Halbperioden liegen an den Eingängen der Binäraddierer-Zelle BA 0 die Bits a 0, b 0, c 0 des in Klammern mit Nr. 1 bezeichneten Wortes. Die in Klammern stehende Numerierung wird in der folgenden Beschreibung zur Vereinfachung weggelassen. Diese Binäraddierer-Zelle berechnet während der ersten Halbperiode, gesteuert vom Takt C, das Summenbit s 0 und das Übertragsbit c 1, die während der zweiten Halbperiode fest an den Ausgängen erscheinen. (In der jeweils schraffiert gezeichneten Halbperiode können noch Übergänge stattfinden, die durch Verzögerungen der Additionslogik entstehen können).
An den Eingängen der darauffolgenden Binäraddierer-Zelle BA 1 liegen ebenfalls während der beiden ersten Halbperioden die Bits a 1 und b 1 sowie das Ausgangssignal c 1, so wie es am Ausgang der vorgeschalteten Binäraddierer- Zelle BA 0 erscheint. Gesteuert vom Takt C erfolgt in der zweiten Takt-Halbperiode die Addition der Eingangsbits und in der dritten Halbperiode die stabile Ausgabe des Summenbits s 1 und des Übertragsbits c 2.
Bei der dritten Binäraddierer-Zelle BA 2 liegt am Übertrags- Eingang C 2 während der dritten Halbperiode das Übertragsbit der vorgeschalteten Binäraddierer-Zelle BA 1 stabil an. Die zu diesem Übertragsbit hinzuzuaddierenden Bits a 2 und b 2 werden, bevor sie in diese Binäraddierer- Zelle eingegeben werden, soweit verzögert, daß sie gleichzeitig mit dem zugehörigen Übertragsbit C 2 an den Eingängen der Binäraddierer-Zelle für die Addition bereitstehen. Hierzu dienen zwei der Binäraddierer-Zelle BA n-1 (n - 1 = 2) vorgeschaltete Verzögerungsglieder D 1 und D 2, welche die Bits mit der Wertigkeit 2 um eine Taktperiode verzögern, so daß die Bits a 2 und b 2 (der ersten Wörter der beiden Wortfolgen) erst während der dritten und vierten Halbperiode an den Eingängen der Binäraddierer-Zelle BA 2 erscheinen. Gesteuert vom Takt C findet in der dritten Taktperiode die Addition der Eingangsbits und in der vierten Taktperiode die stabile Ausgabe des Summenbits s 2 und des Übertragsbits c 3 statt. Bei größeren Wortbreiten wird diese Anordnung entsprechnd fortgesetzt.
Aus der vorstehenden Erläuterung ergibt es sich, daß die Bits des Summenworts an den Ausgängen des Addierwerks nach Fig. 2 nach aufsteigenden Wertigkeiten um jeweils eine halbe Taktperiode gegeneinander verzögert erscheinen. Wenn es erwünscht ist, daß auch das höchstwertige Bit s n sich in diese zeitliche Reihenfolge einfügt, so wird das am Übertrags-Ausgang der höchstwertigen Binäraddierer- Zelle BA n-1 erscheinende Übertragsbit c n in einem Verzögerungsglied FF 3 um eine Halbperiode verzögert, bevor es als höchstwertiges Bit s n ausgegeben wird. In Fig. 3 ist gezeigt, daß das am Ausgang der für die höchste Wertigkeit vorgesehenen Binäraddierer-Zelle in der vierten Halbperiode erscheinende Übertragsbit c 3 in der fünften Halbperiode als höchstwertiges Bit s 3 des Summenworts ausgegeben wird. Wenn das Verzögerungsglied FF 3 ein an sich bekanntes im Zusammenhang mit Fig. 1b erläutertes taktzustandsgesteuertes D-Flipflop ist, so erfolgt unter der Steuerung von C während der vierten Halbperiode die Eingabe in das D-Flipflop und in der fünften Halbperiode das stabile Halten.
Da die Eingangsbits jeweils für die Dauer von zwei Halbperioden an den Eingängen des Addierwerks anliegen, genügt es, wie in Fig. 2 gezeigt, daß zwei für aufeinanderfolgende Wertigkeiten vorgesehene Binäraddierer-Zellen, die ihre Eingangsbits in aufeinanderfolgenden Hälften einer einzigen Taktperiode verarbeiten, wie z. B. BA 2 und BA 3 (nicht gezeigt), hinsichtlich der Verzögerungen ihrer Eingangsbits gleichgestellt werden, d. h. daß ihre Eingangsbits die gleiche Verzögerung oder, wie es für die Binäraddierer-Zellen BA 0 und BA 1 gezeigt ist, in einheitlicher Weise überhaupt keine Verzögerung erfahren. In diesem Fall, der in Fig. 3 gezeigt ist, gibt es nur Verzögerungen um ganzzahlige Vielfache einer ganzen Taktperiode, z. B. um eine ganze Taktperiode bei der Binäraddierer- Zelle BA 2 und der nicht gezeigten Binäraddierer- Zelle BA 3.
Alternativ hierzu wäre es auch möglich, die Eingangsbits von aufeinanderfolgenden Binäraddierer-Zellen um k Halbperioden zu verzögern, wobei k die Wertigkeit bezeichnet, für die die jeweilige Binäraddierer-Zelle vorgesehen ist, d. h. a 0 und b 0 werden vor der Eingabe in BA 0 überhaupt nicht verzögert, a 1, b 1 werden vor der Eingabe in BA 1 um eine Halbperiode verzögert, a 2, b 2 werden vor ihrer Eingabe in BA 2 um zwei Halbperioden verzögert usw. In diesem Falle würden Eingangsbits mit aufeinanderfolgenden Wertigkeiten mit derselben Zeitverzögerung eingegeben, wie die entsprechenden Summenbits an den Ausgängen erscheinen. In jeder Binäraddierer-Zelle würde dann während der ersten Hälfte der Taktperiode der anliegenden Bits die Addition und während der zweiten Hälfte dieser Takt- periode das stabile Halten erfolgen. Falls es erwünscht ist, vor der Weiterverarbeitung der Bits eines Summenworts s 0 bis s n deren in Fig. 3 gezeigte relative Verzögerung zu beseitigen, so wird das Verzögerungsglied FF 3 weggelassen, so daß s n gleichzeitig mit s n-1 erscheint, und es werden die niedrigerwertigen Summenbits um so viele Taktperioden verzögert, wie sie bei ihrer Ausgabe aus dem Addierwerk den beiden höchstwertigen Bits vorauseilen, nämlich beim Beispiel nach Fig. 3 s 1 um eine Halbperiode in einem Verzögerungsglied D 3 und s 0 um zwei Halbperioden in einem Verzögerungsglied D 4. Wenn aber ein Summenwort in nachfolgenden gleichen Addierwerken weiterverarbeitet werden soll, ist die taktversetzte Anordnung seiner Bits das unmittelbar geeignete Eingabeformat für das nachfolgende Addierwerk, und die Verzögerungsglieder D 3 und D 4 können entfallen.
In Fig. 2 ist am rechten Rand ein Schaltungssymbol für das in der linken Hälfte gezeigte gestrichelt umrandete Addierwerk dargestellt und mit NBA bezeichnet. Die gezeigte Rückführung der n Übertragsbits bedeutet dabei, daß der Übertragsausgang der i-ten Zelle auf den Eingang der (i+1)-ten Zelle geführt wird. Der c 0-Eingang wird mit einer binären "Null" besetzt.
Gegenüber den eingangs genannten bekannten Addierwerken hat das vorstehend beschriebene Addierwerk nach Fig. 2 den Vorteil, daß innerhalb einer Worttaktperiode ein Übertragsbit nur von einer Zelle zur nächsten weitergegeben werden muß. In anderen Worten: Der Durchsatz von zu verarbeitenden Wörtern oder die maximale Wortfolgefrequenz hängt nur von der erforderlichen Verarbeitungszeit der einzelnen Binäraddierer-Zellen ab. Das letzte Bit des Summenwortes ist verfügbar nach n-1 Halbperioden, bezogen auf das Erscheinen des höchstwertigsten Bits. Absolute Laufzeiten können bei vielen Anwendungen, z. B. bei digitalen Filtern auf dem Gebiet der Nachrichtenübertragung, ohne weiteres hingenommen werden. Wichtig ist hier die Möglichkeit, eine hohe Wortfolgefrequenz zu verarbeiten, d. h. ein hoher Durchsatz des Addierwerks.
Fig. 4 zeigt eine erfindungsgemäße Multiplizierschaltung, die zusammengesetzt ist aus hintereinandergeschalteten Addierwerken NBA 1 bis NBA n-1 nach Fig. 2, zur Multiplikation zweier gleichzeitig auftretender n-Bit-Wörter von zwei Wortfolgen mit derselben fest vorgegebenen Wortfolgefrequenz. Hinsichtlich der Bezeichnung der Eingangswörter gilt das im Zusammenhang mit Fig. 2 Erläuterte. Der n × n-Bit-Multiplizierer wird nachstehend für n = 4 als Beispiel erläutert und arbeitet wie folgt: Wenn zwei Vier- Bit-Wörter mit den Bits a 0 bis a 3 und b 0 bis b 3, die jeweils eine Dualzahl repräsentieren, multipliziert werden, so ist das Ergebniswort mit den Bits z 0 bis z 7 wie folgt zu berechnen:
z 0 = a 0 b 0, Übertrag: c 1 = 0
z 1 = a 0 b 1 + a 1 b 0, Übertrag: c 2
z 2 = a 0 b 2 + a 1 b 1 + a 2 b 0 + c 2-, Übertrag: c 3
z 3 = a 0 b 3 + a 1 b 2 + a 2 b 1 + a 3-b 0 + c 3, Übertrag: c 4
z 4 = a 1 b 3 + a 2 b 2 + a 3 b 1 + c 4-, Übertrag: c 5
z 5 = a 2 b 3 + a 3 b 2 + c 5, Übertrag: c 6
z 6 = a 3 b 3 + c 6, Übertrag: c 7
z 7 = c 7
Um dieses zu berechnen, enthält der Multiplizierer zunächst n mal n 1-Bit-Multiplizierer, die die Produkte a k b l mit k, l von 0 bis n-1 berechnen. Aus diesen Produkten werden wie nachstehend beschrieben die Summenbits z 0 bis z 7 berechnet:
Das niedrigstwertige Bit z 0 entsteht ohne weitere Additionen direkt aus dem Produkt a 0 b 0.
Ein erstes Addierwerk NBA 1 berechnet aus Produkten a 0 bl mit l von 1 bis 3 und a 1 bl mit l von 0 bis 3 ein Wort s′ mit den Bits s 0′ bis s 4′ gemäß:
s 0′ = a0b 1 + a 1 b 0 + 0= z 1, Übertrag c 1
s 1′ = a 0 b 2 + a 1 b 1 + c 1′, Übertrag c 2
s 2′ = a 0 b 3 + a 1 b 2 + c 2′, Übertrag c 3
s 3′ = a 1 b 3 + c 3′, Übertrag c 4
s 4′ = c 4
Dabei ist s 0′ = z 1 das Bit mit der Wertigkeit 1 des Ergebnisworts, und die übrigen Bits s 1′ bis s 4′ sind Teilsummen, die im nächsten Addierwerk weiterzuverarbeiten sind. Innerhalb des Addierwerks berechnet jeweils eine Binäraddierer- Zelle ein Summenbit des Worts s 0′ bis s 3′, und das Verzögerungsglied FF 3 (siehe Fig. 2) produziert das höchstwertige Bit s 4′.
Den Zeitablauf für diese im ersten Addierwerk NBA 1 durchzuführende Berechnung zeigt die Fig. 5a, für deren Darstellung das zu Fig. 3 Gesagte entsprechend gilt. Hieraus ist ersichtlich, daß die niedrigstwertige in NBA 1 enthaltene Zelle in der ersten und zweiten Halbperiode die Produkte a 0 b 1 und a 1 b 0 an ihren beiden Eingängen hat und in der dritten Halbperiode, gesteuert vom Takt C, das Bit s 0′ liefert. (Es werden nur solche Bits betrachtet, die mit der Nr. 1 in Klammern bezeichnet sind). Während der dritten und vierten Halbperiode liegen an der zweiten Zelle BA 1 (Fig. 2) die Bits a 0 b 2 und a 1 b 1 und während der dritten Halbperiode das von der niedrigstwertigen Zelle ausgegebene Übertragsbit c 1′. Gesteuert vom Takt C berechnet diese Zelle während der dritten Halbperiode das Bit s 1′ und das Übertragsbit c 2′ und gibt diese während der vierten Halbperiode aus. In entsprechender Weise ist der Fig. 5a der Zeitablauf für die Berechnung der übrigen Bits von s′ zu entnehmen.
Aus den Teilsummen s 1′ bis s 4′, welche das erste Addierwerk NBA 1 wie erläutert berechnet, und aus Produkten a 2 b l mit l von 0 bis 3 berechnet ein zweites Addierwerk NBA 2 ein Summenwort s″ gemäß:
s 0″ = s 1′ + a 2 b 0 = z 2, Übertrag c 1
s 1″ = s 2′ + a 2 b 1 + c 1″, Übertrag c 2
s 2″ = s 3′ + a 2 b 2 + c 2″, Übertrag c 3
s 3″ = a 2 b 3 + s 4′ + c 3″, Übertrag c 4
s 4″ = c 4″,
wofür der zeitliche Ablauf aus den Zeitdiagrammen nach Fig. 5b klar ersichtlich ist. Beispielsweise berechnet die niedrigstwertige Binäraddierer-Zelle im Addierwerk NBA 2 durch Addition von s 1′, das vom Addierwerk NBA 1 während der vierten Halbperiode abgegeben wird, und a 2 b 0, das während der dritten und vierten Halbperiode anliegt, das Bit s 0″ während der vierten Halbperiode und gibt es während der fünften Halbperiode aus. Dieses Bit ist das Bit z 2 des Ergebnisworts.
Diese Hintereinanderschaltung ist fortgesetzt bis zu einem Addierwerk NBA n-1, im vorliegenden Beispiel bis zu NBA 3, das aus den von NBA 2 berechneten Teilsummen s 1″ bis s 4″ und Produkten a 3 bl mit l von 0 bis 3 die n+1 höchstwertigsten Bits des Ergebnisworts z 3 bis z 7 berechnet gemäß:
s 0‴ = s 1″ + a 3 b 0 = z 3, Übertrag: c 1
s 1‴ = s 2″ + a 3 b 1 + c 1‴= z 4, Übertrag: c 2
s 2‴ = s 3″ + a 3 b 2 + c 2‴ = z 5, Übertrag: c 3
s 3‴ = a 3 b 3 + s 4″ + c 3‴ = z 6, Übertrag: c 4
s 4‴ = c 4‴ = z 7
Der zeitliche Ablauf hierfür ist in Fig. 5c dargestellt und bedarf nach den vorstehenden Erläuterungen keiner eigenen Erläuterung mehr. Wie in Fig. 5c zu sehen ist, erscheint das höchstwertige Bit z 7 = s 4‴ in der elften Halbperiode und damit um n+1 (n = 4) ganze Taktperioden später als das niedrigstwertige Bit des Ergebnisworts. Diese absolute Laufzeitverzögerung ist zugunsten eines erhöhten Durchsatzes, wie oben im Zusammenhang mit Fig. 2 erläutert, ohne weiteres annehmbar.
In der bisherigen Beschreibung von Fig. 4 wurde noch nicht darauf eingegangen, auf welche Weise die in den Figuren von 5a bis 5c dargestellten Verzögerungen von Eingangsbits erreicht werden. Hierfür gibt es entweder die Möglichkeit, sämtliche zu verarbeitenden Produkte a k b l mit k, l von 0 bis 3 gleichzeitig zu bilden und diese gleichzeitig bereitstehenden Produkte individuell so zu verzögern,wie dies die vorstehend anhand der Fig. 5a bis 5c beschriebene Verarbeitung in den Addierwerken NBA 1 bis NBA 3 verlangt, oder die in Fig. 4 dargestellte Möglichkeit, daß vor der Bildung von Produkten a k b l solche Verzögerungen vorgenommen werden, daß die Produkte zeitgerecht den Eingängen der Addierwerke zugeführt werden.
Diese Möglichkeit wird im folgenden anhand der in Fig. 4 gezeigten Verzögerungsglieder DF 1 bis DF n-1 und DFF 1 bis DFF n-1 und anhand von Zeitdiagrammen nach den Fig. 6a bis 6b erläutert. Im gezeigten Beispiel nach Fig. 4 sind in den einzelnen Addierwerken und den darin enthaltenen Binäraddierer-Zellen direkt keinerlei Verzögerungsglieder vorgeschaltet, d. h. sämtliche notwendigen Verzögerungen werden durch die den Multiplizierern M 1 bis M n-1 vorgeschalteten Verzögerungsglieder bewirkt.
Fig. 6a zeigt den Worttakt C mit der Numerierung der Halbperioden und die mit dem Worttakt C auftretenden Wortfolgen mit der Bezeichnung a und b und den Bits mit den Wertigkeiten von 0 bis 3, wobei sowohl bei der Wortfolge a als auch der Wortfolge b die Bits mit den Wertigkeiten 2 und 3 um eine ganze Worttaktperiode gegenüber den Bits mit den Wertigkeiten Null und Eins verzögert sind.
Von der Bitfolge a 0 leitet das Verzögerungsglied DFF 1 die mit a 0′ bezeichnete Wortfolge ab, innerhalb derer die einzelnen Bitfolgen untereinander gleich sind und die beiden "höchstwertigen" Bitfolgen gegenüber den beiden "niedrigstwertigen" Bitfolgen um eine Worttaktperiode verzögert sind. Diese Wortfolge a 0′ wird in einer Anordnung von n 1-Bit-Multiplizierern M 1 Bit für Bit mit der Wortfolge b multipliziert, wobei die in Fig. 5a mit a 0 b′ bezeichnete Wortfolge entsteht.
Ein Verzögerungsglied DF 2 leitet von der Bitfolge a 1 (Wortfolge a, 2. Zeile) die in Fig. 6a mit a 1″ bezeichnete Wortfolge ab, innerhalb derer die Bitfolgen mit der Wertigkeit 1 und 2 um eine Worttaktperiode und die Bitfolge mit der Wertigkeit 3 um zwei Worttaktperioden gegenüber der Bitfolge mit der niedrigsten Wertigkeit verzögert sind. Ein Verzögerungsglied DFF 1 verzögert die Wortfolge b so, daß an seinem Ausgang die in Fig. 6a mit b″ bezeichnete Wortfolge entsteht. Die Multiplikation der Wortfolge a 1″ mit der Wortfolge b″ in einer Anordnung M 2 von n 1-Bit-Multiplizierern ergibt die Wortfolge, die in Fig. 5a mit a 1 b″ bezeichnet ist. Auf diese Weise erscheinen die in dem Addierwerk NBA 1 zu addierenden Produkte a 0 bl und a 1 bl in der zeitgerechten Reihenfolge, die im Zusammenhang mit Fig. 5a bereits erläutert ist.
Von der Bitfolge a 2 (Wortfolge a, 3. Zeile) leitet ein Verzögerungsglied DF 3 die in Fig. 6b mit a 2‴ bezeichnete Wortfolge ab. (Bei Fig. 6b ist die laufende Numerierung der Halbperioden zu beachten). Ein Verzögerungsglied DFF 2 verzögert die Wortfolge b″ und bildet dadurch die in Fig. 6b mit b‴ bezeichnete Wortfolge. Durch Multiplikationen von a 2‴ und b‴ in der Multipliziereranordnung M 3 entsteht die in Fig. 5b mit a 2 b‴ bezeichnete Wortfolge, d. h. die zeitgerechte Aufeinanderfolge der Produkte a 2 bl, die im Addierwerk NBA 2 zu den Teilsummen s′ des vorgeschalteten Addierwerks NBA 1 hinzuzuaddieren sind.
Schließlich bilden die Verzögerungsglieder DF 4 und DFF 3 aus der Bitfolge a 3 bzw. aus der Wortfolge b‴ die in Fig. 6b gezeigten Wortfolgen a 3′′′′ und b′′′′, die in M 4 unter Bildung der in Fig. 5c mit a 3 b′′′′ bezeichneten Wortfolge, die wie bereits erläutert im letzten Addierwerk NBA 3 verarbeitet wird, multipliziert werden.
Die Fig. 7 zeigt eine Multiplizierschaltung, die ebenso wie in Multiplizierschaltung nach Fig. 4 für einen sehr hohen Durchsatz geeignet ist, bei der jedoch vorausgesetzt ist, daß die zu multiplizierenden Eingangswörter bitsynchron vorliegen. Eine Anordnung von 1-Bit-Multiplizierern MM 1 (n UND-Schaltungen) und eine entsprechende Anordnung MM 2 bildet aus der Bitfolge a 0 und der Wortfolge b bzw. aus der Bitfolge a 1 und der Wortfolge b gleichzeitig eine Wortfolge a 0 b und eine Wortfolge a 1 b, in denen es keine Verzögerungen zwischen zusammengehörigen Bits eines Wortes gibt, im Gegensatz zur Schaltung nach Fig. 4. Eine Gruppe von parallel geschalteten Binäraddierer-Zellen BA, die von einem einheitlichen Takt C gesteuert wird und in Fig. 8 mit dem Bezugszeichen NB dargestellt ist, addiert während der ersten Halbperiode die Produkte a 0 b l (l von 1 bis 3) und die Produkte a 1 b l (l von 0 bis 3) ähnlich wie dies für das entsprechende Addierwerk NBA 1 in Fig. 4 beschrieben ist, jedoch ohne Weitergabe der Übertragsbits von einer Binäraddierer-Zelle BA zur nächsthöheren. An den Ausgängen erscheinen also während der zweiten Halbperiode gleichzeitig die oben im Zusammenhang mit Fig. 4 angegebenen Bits s 0′ bis s 4′ und die dazu angegebenen Überträge c 1′ bis c 4′. In der zweiten Halbperiode addiert eine zweite Gruppe NB 2 von Binäraddierer-Zellen nach Fig. 8, gesteuert vom Takt C, die Produkte a 2 b l (l von 0 bis 3) zu den Teilsummen und Überträgen der vorgeschalteten Gruppe NB 1 hinzu usw., bis eine letzte Gruppe von Binäraddierer- Zellen die Produkte a 3 b l (l von 0 bis 3) zu den Teilsummen und Überträgen der vorausgegangenen Gruppe hinzuaddiert. Hintereinander geschaltete Gruppen von Binäraddierer- Zellen werden mit zueinander komplementären Takten angesteuert, wie dies vorstehend für NB 1 und NB 2 erläutert ist.
Schließlich müssen nur noch die von der letzten Gruppe NB n-1 ausgegebenen Übertragsbits und Summenbits zueinander addiert werden, wofür ein Addierwerk NBA nac Fig. 2 vorgesehen ist, dem Verzögerungsschaltungen DS und DC vorgeschaltet sind, die für die erforderliche relative Verzögerung der Bits eines Eingangswortes sorgen und in ihrer Funktion den im Zusammenhang mit Fig. 2 erläuterten Verzögerungsgliedern D 1 und D 2 entsprechen. Das Ergebniswort mit n+1 Bits, das von diesem Addierwerk NBA ausgegeben wird, liegt dann wieder wie anhand von Fig. 3 erläutert in einem Halbtakt-bitversetzten Format vor, das sich für weitere Additionen in gleichen Addierwerken eignet.
Fig. 9 zeigt einen Akkumulator, der insofern ein spezielles Addierwerk ist, als er die laufende Summe einer Zahlenfolge bildet. Am Eingang des Akkumulators nach Fig. 9 erscheint die Zahlenfolge a mit n Bits pro Wort. Zur Berechnung der laufenden Summe ist ein erfindungsgemäßes Addierwerk NBA gemäß Fig. 2 vorgesehen, und im Rückführungszweig befindet sich eine parallele Anordnung NDF von taktzustandsgesteuerten D-Flipflops, jeweils eines pro Bit. Am Summenausgang des Addierwerks erscheint die fortlaufend gebildete laufende Summe s, und diese wird über den Rückführungszweig in Taktabständen einer Worttaktperiode wieder auf den Eingang zurückgeführt.
Die einzelnen D-Flipflops im Rückführungszweig müssen dabei derart mit C bzw. mit C angesteuert werden, daß sie zusammen mit den jeweils entsprechenden, im Addierwerk enthaltenen D-Flipflops die notwendige zeitliche Verriegelung ergeben. Ist das jeweilige im Addierwerk enthaltene D-Flipflop mit C angesteuert, so wird das folgende im Rückführungszweig enthaltene D-Flipflop mit C angesteuert und umgekehrt. Ein Akkumulator, der ein Addierwerk mit nicht speichernden Binäraddierer-Zellen verwenden würde, würde für die Rückführung verriegelnde Master-Slave-Flipflops benötigen und damit im Vergleich zu dem erfindungsgemäßen Akkumulator einen doppelt so großen Aufwand an D-Flipflops erfordern.
Die am Eingang des Akkumulators vorzusehenden Verzögerungsglieder, die die notwendige Verzögerung von Bits eines Eingangswortes mit unterschiedlicher Wertigkeit gegenüber Bits desselben Wortes mit niedrigerer Wertigkeit bewirken, wie dies die Verzögerungsglieder D 1 und D 2 bei Fig. 2 tun, sind in Fig. 9 nicht dargestellt.

Claims (13)

1. Binäraddierer-Zelle mit einem Volladdierer (VA), an dessen einem Ausgang (AS) das Summenbit und an dessen anderem Ausgang (AC) das Übertragsbit erscheint, dadurch gekennzeichnet, daß er für jedes der beiden Ausgangsbits einen taktzustandsgesteuerten 1-Bit-Speicher (FF 1, FF 2, Fig. 1a), bestehend aus einer Ansteuerschaltung (10, 11; 14, 15)) und einem Grundflipflop (12, 13; 16, 17), enthält, wobei jede Ansteuerschaltung
  • - in ihrem ersten Zustand das jeweilige Ausgangsbit des Volladdierers (VA) in das zugehörige Grundflipflop eingibt und
  • - in ihrem zweiten Zustand das Grundflipflop gegenüber dem zugehörigen Ausgangsbit des Volladdierers (VA) sperrt und den Zustand des Grundflipflops unverändert läßt. (Fig. 1a bis 1d).
2. Binäraddierer-Zelle nach Anspruch 1, dadurch gekennzeichnet, daß die beiden Ansteuerschaltungen (10, 11; 14, 15) von einem solchen Takt (C oder C) gesteuert werden, daß sie während der ersten Hälfte jeder Bittaktperiode der zu addierenden Eingangs-Bits (A i , b i ) im ersten Zustand und während der zweiten Hälfte derselben Bittaktperiode im zweiten Zustand sind, oder umgekehrt (Fig. 1a bis 1d).
3. Binäraddierer-Zelle nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Funktion der beiden Ansteuerschaltungen (10, 11; 14, 15) teilweise von den Ausgangsschaltungen (18, 19, Fig. 1c; 23, 24 Fig. 1d) des Volladdierers erfüllt wird (Fig. 1c, Fig. 1d).
4. Binäraddierer-Zelle nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Ansteuerschaltungen (10, 11, 14, 15; 18, 11, 19, 15; 24, 27, 23, 30) in dem ersten Zustand ein dem Summenbit bzw. dem Übertragsbit entsprechendes Bit und in dem zweiten Zustand ein vom Summenbit bzw. Übertragsbit unabhängiges Bit mit vorgegebenem Binärzustand abgeben (Fig. 1a bis 1d).
5. Addierwerk für zwei gleichzeitig auftretende n-Bit- Wörter (a(i), b(i)) von zwei Wortfolgen mit derselben fest vorgegebenen Wortfolgefrequenz, dadurch gekennzeichnet,
daß es für jeweils zwei Bits mit derselben Wertigkeit (a (i),0 b (i);0 a (i),1b (i);1. .) eine Binäraddierer- Zelle (BA 0 bis BA n-1) nach einem der vorstehenden Ansprüche enthält, daß der Übertrags-Eingang (c 0 bis c n-1) jeder der Binäraddierer-Zellen (BA 0 bis BA n-1) mit dem Übertrags-Ausgang der für die nächstniedrigere Wertigkeit vorgesehenen Binäraddierer-Zelle verbunden ist,
daß von jeweils zwei für aufeinanderfolgende Wertigkeiten vorgesehenen Binäraddierer-Zellen (BA k , BA k+1) die eine mit dem Worttakt (C) und die andere mit dem komplementären Worttakt (C) angesteuert wird, und
daß einzelnen Binäraddierer-Zellen (BA n-1) Verzögerungsglieder (D 1, D 2) vorgeschaltet sind, die die Bits (a n-1, b n-1) der in der Binäraddierer-Zelle zu addierenden n-Bit-Wörter, bevor sie addiert werden, so weit verzögern, daß sie gleichzeitig mit dem zugehörigen Übertragsbit (c n-1) an den Eingängen der Binäraddierer-Zelle (BA n-1) bereitstehen. (Fig. 2).
6. Addierwerk nach Anspruch 5, dadurch gekennzeichnet, daß die den Eingängen der Binäraddierer-Zellen vorgeschalteten Verzögerungsglieder die Bits der zu addierenden n-Bit-Wörter, bevor sie in den Binäraddierer-Zellen addiert werden, um k halbe Worttaktperioden verzögern, wobei k von 0 bis n-1 den Stellenwert der jeweiligen Bits innerhalb eines n-Bit-Wortes bedeutet.
7. Addierwerk nach Anspruch 5, dadurch gekennzeichnet, daß die von den Verzögerungsgliedern (D 1, D 2) bewirkten Verzögerungen ganzzahlige Vielfache der Worttaktperiode sind, wobei jeweils zwei für aufeinanderfolgende Wertigkeiten vorgesehene Binäraddierer-Zellen (z. B. BA 0, BA 1), die ihre Addition in aufeinanderfolgenden Teilen derselben Wortperiode ausführen (Fig. 3), an ihren Eingängen, die für die Bits (a k , b k ) der zu addierenden n-Bit-Wörter vorgesehen sind, Verzögerungsglieder mit einer einheitlichen Verzögerung oder in einheitlicher Weise keine Verzögerungsglieder vorgeschaltet haben (Fig. 2).
8. Addierwerk nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß es ein Verzögerungsglied (FF 3) enthält, welches das am Übertrags-Ausgang der für die höchstwertigen Bits (a n-1, b n-1) der n-Bit-Eingangswörter vorgesehenen Binäraddierer-Zelle (BA n-1) erscheinende Übertragsbit (c n ) um eine halbe Worttaktperiode verzögert ( Fig. 3), bevor es als höchstwertiges Bit (s n ) des Summenwortes (s 0 bis s n ) ausgegeben wird (Fig. 2).
9. Addierwerk nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß den Ausgängen der Binäraddierer-Zellen (BA 0 bis BA n-1) Verzögerungsglieder (D 3, D 4) nachgeschaltet sind, die die relativen Verzögerungen der Bits eines Summenworts (s 0 bis s n ) aufheben (Fig. 2).
10. Multiplizierschaltung für zwei gleichzeitig auftretende n-Bit-Wörter a 0(i), a 1(i), . . . a n-1(i) und b 0(i), b 1(i), . . . b n-1(i) von zwei Wortfolgen A(i), B(i) mit derselben fest vorgegebenen Wortfolgefrequenz, dadurch gekennzeichnet,
daß sie n-1 Addierwerke (NBA 1 bis NBA n-1) nach einem der Ansprüche 5 bis 8 und n mal n 1-Bit-Multiplizierer (M 1 bis M n-1) enthält, welche die bei der Multiplikation zu addierenden Produkte a k b l bilden, wobei k und l die Werte von 0 bis n-1 haben,
daß ein erstes Addierwerk (NBA 1) die Produkte a 0 b l mit l von 1 bis n-1 und a 1 b l mit l von 0 bis n-1 unter Bildung von Teilsummen (s 1′ bis s n ′) des Multiplikationsergebnisses (z 1 bis z 2n ) addiert,
daß ein zweites Addierwerk (NBA 2) zu den Teilsummen (s 1′ bis s n ′) des ersten Addierwerks (NBA 1) Produkte a 2 b l mit l von 0 bis n-1 unter Bildung von neuen Teilsummen (s 1″ bis s n ″) hinzuaddiert,
daß diese Hintereinanderschaltung der Addierwerke fortgesetzt ist bis zum (n-1)-ten Addierwerk (NBA n-1), das durch Hinzuaddieren von Produkten a n-1 b l zu den vorhergehenden Teilsummen die n höchstwertigen Bits des Ergebnisworts (z 0 bis z 2n ) berechnet,
daß die n niedrigstwertigen Bits (z 0 bis z n-1) des Ergebniswortes das Produkt a 0 b 0 und die jeweils niedrigstwertigen Ausgangsbits (s 0′, s 0″, s 0‴ . . .) der hintereinandergeschalteten Addierwerke (NBA 1 bis NBA n-1) nach aufsteigenden Wertigkeiten sind und daß den Addierwerken (NBA 2 bis NBA n-1) Verzögerungsglieder vorgeschaltet sind, welche die zu den Teilsummen, die an Ausgängen des vorhergehenden Addierwerks erscheinen, hinzuzuaddierenden Produkte so weit verzögern, daß sie gleichzeitig mit diesen Teilsummen an den Eingängen des Addierwerks erscheinen (Fig. 4).
11. Multiplizierschaltung nach Anspruch 10, dadurch gekennzeichnet, daß die den Addierwerken vorgeschalteten Verzögerungsglieder und die einzelnen Binäraddierer-Zellen eines Addierwerks gemäß Anspruch 5 vorgeschalteten Verzögerungsglieder ersetzt sind durch Verzögerungsglieder (DF 1 bis DF n-1 und DFF 1 bis DFF n-1), welche die Bits (a 0 bis a n-1 und b 0 bis b n-1) der miteinander zu multiplizierenden n-Bit-Wörter, bevor diese zu Produkten a k b l multipliziert werden, so weit verzögern, daß diese Produkte zeitgerecht an den Eingängen der einzelnen Addierwerke (NBA 1 bis NBA n-1) erscheinen (Fig. 4).
12. Multiplizierschaltung für zwei gleichzeitig auftretende n-Bit-Wörter a 0(i), a 1(i), . . . a n-1(i) und b 0(i), b 1(i), . . . b n-1(i) von zwei Wortfolgen A(i), B(i) mit derselben fest vorgegebenen Wortfolgefrequenz, dadurch gekennzeichnet,
daß sie n-1 Gruppen (NB 1 bis NB n-1) von parallelgeschalteten Binäraddierer-Zellen (BA, Fig. 8) nach einem der Ansprüche 1 bis 4 und n mal n 1-Bit-Multiplizierer (MM 1 bis MM n ) und ein Addierwerk (NBA) nach einem der Ansprüche 5 bis 8 enthält, wobei die 1-Bit-Multiplizierer die bei der Multiplikation zu addierenden Produkte a k b l mit k und l von 0 bis n-1 bilden,
daß eine erste Gruppe (NB 1) von Binäraddierer-Zellen Produkte a 0 b l mit l von 1 bis n-1 und a 1 b l mit l von 0 bis n-1 unter Bildung von Teilsummen (S 1′ bis s n ′) des Multiplikationsergebnisses (z 1 bis z 2n ) und von Überträgen (c 1′ bis c n ′) addiert,
daß eine zweite Gruppe (NB 2) von Binäraddierer-Zellen zu den Teilsummen (s 1′ bis s n ′) und Überträgen (c 1′ bis c n ′) der ersten Gruppe (NB 1) Produkte a 2 b l mit l von 0 bis n-1 unter Bildung von neuen Teilsummen (s 1″ bis s n ″) und Überträgen (c″) hinzuaddiert,
daß diese Hintereinanderschaltung von Gruppen von Binäraddierer- Zellen fortgesetzt ist bis zur (n-1)-ten Gruppe (NB n-1), die Produkte a n-1 b l zu den vorhergehenden Teilsummen und Überträgen hinzuaddiert, daß aus den von der (n-1)-ten Gruppe (NB n-1) berechneten Teilsummen und Überträgen in dem Addierwerk (NBA) die n höchstwertigen Bits des Ergebnisworts (z 0 bis z 2n ) berechnet werden,
daß die n niedrigstwertigen Bits (z 0 bis z n-1) des Ergebnisworts das Produkt a 0 b 0 und die jeweils niedrigstwertigen Ausgangsbits (s 0′, s 0″, s 0‴) der hintereinandergeschalteten Gruppen (NB 1 bis NB n-1) nach aufsteigen den Wertigkeiten sind
daß den Gruppen (NB 2 bis NB n-1) von Binäraddierer- Zellen Verzögerungsglieder (DFF) vorgeschaltet sind, welche die zu Teilsummen, die an Ausgängen der vorhergehenden Gruppe erscheinen, hinzuzuaddierenden Produkte soweit verzögern, daß sie gleichzeitig mit diesen Teilsummen an den Eingängen der Gruppe erscheinen und
daß die zu einer Gruppe gehörenden Binäraddierer-Zellen von demselben Takt (C oder C, Fig. 8) und aufeinanderfolgende Gruppen mit zueinander komplementären Takten (C und C) gesteuert werden (Fig. 7).
13. Akkumulator zur Berechnung der laufenden Summe einer Zahlenfolge mit jeweils n Bits pro Zahl, mit einem Addierer, der das aktuelle n-Bit-Wort zur vorausgegangenen Summe hinzuaddiert und mit Verzögerungsgliedern im Rückführungszweig, dadurch gekennzeichnet, daß als Addierer ein Addierwerk (NBA) nach einem der Ansprüche 5 bis 8 und als Verzögerungsglieder im Rückführungszweig n taktzustandsgesteuerte D-Flipflops (NDF), jeweils eines pro Bit, verwendet ist, wobei jedes der D-Flipflops mit einem Takt angesteuert wird, der komplementär ist zu dem Takt, mit dem die für dieselbe Wertigkeit vorgesehene Binäraddierer- Zelle im Addierwerk (NBA) angesteuert wird (Fig. 9).
DE19853540800 1985-11-16 1985-11-16 Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk Withdrawn DE3540800A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853540800 DE3540800A1 (de) 1985-11-16 1985-11-16 Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853540800 DE3540800A1 (de) 1985-11-16 1985-11-16 Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk

Publications (1)

Publication Number Publication Date
DE3540800A1 true DE3540800A1 (de) 1987-08-13

Family

ID=6286246

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853540800 Withdrawn DE3540800A1 (de) 1985-11-16 1985-11-16 Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk

Country Status (1)

Country Link
DE (1) DE3540800A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453600A1 (de) * 1990-04-25 1991-10-30 Deutsche ITT Industries GmbH Paralleladdierwerk
DE19514739A1 (de) * 1994-06-15 1995-12-21 Mitsubishi Electric Corp Multipliziereinrichtung
DE10215784A1 (de) * 2002-04-10 2003-10-30 Infineon Technologies Ag Rechenwerk und Verfahren zum Subtrahieren
DE10215785A1 (de) * 2002-04-10 2003-10-30 Infineon Technologies Ag Rechenwerk und Verfahren zum Addieren

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453600A1 (de) * 1990-04-25 1991-10-30 Deutsche ITT Industries GmbH Paralleladdierwerk
US5128892A (en) * 1990-04-25 1992-07-07 Deutsche Itt Industries Gmbh Parallel adder
DE19514739A1 (de) * 1994-06-15 1995-12-21 Mitsubishi Electric Corp Multipliziereinrichtung
US5615141A (en) * 1994-06-15 1997-03-25 Mitsubishi Denki Kabushiki Kaisha Multiplying apparatus
DE10215784A1 (de) * 2002-04-10 2003-10-30 Infineon Technologies Ag Rechenwerk und Verfahren zum Subtrahieren
DE10215785A1 (de) * 2002-04-10 2003-10-30 Infineon Technologies Ag Rechenwerk und Verfahren zum Addieren
US6965910B2 (en) 2002-04-10 2005-11-15 Infineon Technologies Ag Calculating unit and method for adding
US6970899B2 (en) 2002-04-10 2005-11-29 Infineon Technologies Ag Calculating unit and method for subtracting

Similar Documents

Publication Publication Date Title
DE3901995C2 (de)
DE2605724C2 (de) Digital-Analog-Umsetzer für PCM-codierte Digitalsignale
DE2803425A1 (de) Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
DE2432594C3 (de) Rekursives Digitalfilter
EP0491422B1 (de) Schaltungsanordnung zur Taktumsetzung eines digitalen Signals
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
DE1909657C3 (de) Digitales Filter
DE1201406B (de) In seinem Teilerfaktor einstellbarer digitaler Frequenzteiler
DE1180558B (de) Digitales Rechengeraet zur Erzeugung einer Schluesselimpulsfolge fuer die Verschluesselung von Nachrichtensignalen
DE1803222B2 (de) Verfahren zum zusammenfassen pulscodierter nachrichten
DE3540800A1 (de) Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk
DE2900587C3 (de) Decodierschaltung
DE2157515C3 (de) Digitale Datenverarbeitungs-Einrichtung
DE2302298A1 (de) Hilbertumsetzer
DE2902766A1 (de) Zwei-term-vektor-multiplizierschaltung
EP0333884B1 (de) CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen
DE1094020B (de) Periodisch arbeitende numerische Rechenmaschine
DE1090453B (de) Reihenaddierer fuer in einem Binaercode verschluesselte Dezimalzahlen
EP0860051B1 (de) Schaltungsanordnung und verfahren zur mehrfachnutzung eines digitalen transversalfilters
DE1524122A1 (de) Elektronische Datenverarbeitungsanlage mit Zeitaufteilung des Speicherzugriffs
DE2724110C2 (de) Quasi-Zufallsgenerator
DE2630845C2 (de) Schaltung zur schrittweisen Erhöhung bzw. Erniedrigung des Inhalts eines Schieberegisters
DE2135607C2 (de) Schaltungsanordnung zur Inkrementierung oder Dekrementierung
DE2211376A1 (de) Digitalfilter
DE2549032A1 (de) Logisches geraet zur multiplikation von digitalen operanden mit vorzeichen

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee