DE3789132T2 - Digitale Multipliziererarchitektur mit Dreifachgitter zur Summation von Teilprodukten. - Google Patents
Digitale Multipliziererarchitektur mit Dreifachgitter zur Summation von Teilprodukten.Info
- Publication number
- DE3789132T2 DE3789132T2 DE3789132T DE3789132T DE3789132T2 DE 3789132 T2 DE3789132 T2 DE 3789132T2 DE 3789132 T DE3789132 T DE 3789132T DE 3789132 T DE3789132 T DE 3789132T DE 3789132 T2 DE3789132 T2 DE 3789132T2
- Authority
- DE
- Germany
- Prior art keywords
- carry
- array
- bits
- sum
- multiplier
- 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
Links
- 239000000047 product Substances 0.000 claims description 53
- HJVCHYDYCYBBQX-HLTLHRPFSA-N (2s,3s,4e,6e,8s,9s)-3-amino-9-methoxy-2,6,8-trimethyl-10-phenyldeca-4,6-dienoic acid Chemical group OC(=O)[C@@H](C)[C@@H](N)/C=C/C(/C)=C/[C@H](C)[C@@H](OC)CC1=CC=CC=C1 HJVCHYDYCYBBQX-HLTLHRPFSA-N 0.000 claims description 14
- 230000000295 complement effect Effects 0.000 claims description 14
- PBLZLIFKVPJDCO-UHFFFAOYSA-N omega-Aminododecanoic acid Natural products NCCCCCCCCCCCC(O)=O PBLZLIFKVPJDCO-UHFFFAOYSA-N 0.000 claims description 14
- 102100024348 Beta-adducin Human genes 0.000 claims description 11
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 claims description 11
- 239000013067 intermediate product Substances 0.000 claims description 7
- 238000000034 method Methods 0.000 claims description 6
- 238000009825 accumulation Methods 0.000 claims description 5
- 239000012467 final product Substances 0.000 description 6
- 229910003460 diamond Inorganic materials 0.000 description 4
- 239000010432 diamond Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/509—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination for multiple operands, e.g. digital integrators
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 bezieht sich allgemein auf digitale Multiplizierer und insbesondere auf die Verbesserung der Geschwindigkeit, mit der Teilprodukte summiert werden, um das Endprodukt der Multiplikation zu bilden.
- Die binäre Multiplikation ist eine wichtige Funktion bei vielen Verarbeitungs-Applikationen digitaler Signale. Derartige Applikationen erfordern ferner eine Akkumulation von einem Produkt mit den Ergebnissen von vorherigen Operationen (z. B. Bildung einer Summe von Produkten). Eine vielseitige Multiplizierschaltung muß die Fähigkeit haben, diese Funktionen in entweder der Zweier-Komplement-Notation oder der Notation von Größen ohne Vorzeichen auszuführen.
- Es sind in der Technik viele Schemata bekannt, um die Zeit zu verkürzen, die zur Ausführung einer binären Multiplikation erforderlich ist. Beispielsweise sind viele verschiedene Kodiermethoden entwickelt worden, die die Anzahl von Teilprodukten verkleinern, die addiert werden müssen, um das Endprodukt zu bilden. Der modifizierte Booth-Algorithmus ist einer von ihnen, der häufig in digitalen Multiplizierern von integrierten Schaltungen verwendet wird.
- Es sind Versuche gemacht worden, die Summierung von Teilprodukten zu beschleunigen. Gemäß dem US-Patent 4 545 028, das für Ware erteilt wurde, wird die Addierer-Array in Blöcke unterteilt, so daß die verschiedenen Blöcke verschiedene Teile der Addition parallel ausführen können, selbst wenn die gesamte Addition innerhalb jedes Blockes in einer sogenannten Ripple- bzw. Riffel-Weise durchgeführt wird. Weiterhin kann der erste Block nur vier Teilprodukte enthalten, und die verbleibenden Blöcke müssen an eine arithmetische Progression angepaßt sein, so daß Überträge von dem einen Block erscheinen, wenn sie von dem nächsten Block gefordert werden.
- Die Summierung kann auch durch die Verwendung von einem Übertrag-Vorgriffsaddierer beschleunigt werden. Die Ausbreitung von Überträgen durch eine sequentielle Reihe von Addierstufen in einer Ripple- bzw. Riffel-Weise erfordert eine größere Zeitperiode, je größer die Anzahl von Bits in den Summanden sind. In einem Übertrag-Vorgriffsaddierer sorgt eine Logik-Schaltung für eine gleichzeitige Übertragsausbreitung anstatt einer sequentiellen. Jedoch ist die Bit-Größe von einem Übertrag-Vorgriffsaddierer begrenzt, weil die Komplexität der Schaltungsanordnung, der Gate-Zählwert und die Chipfläche rasch zunimmt, wenn die Bit-Größe zunimmt.
- In THE RADIO AND ELECTRONIC ENGINEER, Band 49, Nr. 5, Mai 1979, Seiten 250-254, F. Demmelmeir: "A fast multiplier module" ist ein digitaler Multiplizierer beschrieben, der eine Pipeline-Architektur verwendet, die in Kaskade zwei Übertrag-Sicherungs-Addierer und einen Übertrag-Propagate- Addierer verwendet. Dadurch wird zwar eine Beschleunigung der Multiplizier-Operation erreicht, aber die Pipeline als eine Technik ist nicht unter allen Umständen geeignet.
- Mit der vorliegenden Erfindung wird eine alternative Lösung geschaffen für eine schnelle, parallele Summierung von Teilprodukten mit minimaler zusätzlicher Komplexität und zusätzlichem Raum.
- Die vorliegende Erfindung schafft eine Multiplizierschaltung zum Erzeugen der Summe von einem Multiplikatorsignal und einem Multiplikandsignal, enthaltend: eine Teilprodukt-Generatoreinrichtung zum Generieren von N Summanden unterschiedlichen Ranges, wobei jeder Summand einen Satz von Teilprodukten aufweist, die einen geordneten Satz von Bits enthalten, wenn ein Multiplikatorsignal und ein Multiplikandsignal an die Eingänge der Teilprodukt-Generatoreinrichtung angelegt sind; eine Übertrag-Sicherungs- Array, die mit der Teilprodukt-Generatoreinrichtung verbunden ist, zum Addieren der Bits von einer ersten Gruppe von R Summmanden, die aus den N Summanden entnommen sind, und zum Generieren der niederwertigsten Bits der Summe und zum Generieren von Zwischensummen- und Übertragssignalen; gekennzeichnet durch eine erste Übertrag-Vorgriffsarray, die parallel und gleichzeitig mit der Übertrag- und Sicherungsarray arbeitet, die mit der Teilprodukt-Generatoreinrichtung verbunden ist, zum Addieren im wesentlichen aller Bits der N Summanden, die nicht in der ersten Gruppe enthalten sind, um ein Zwischenprodukt zu generieren; und eine zweite Übertrags-Vorgriffsarray, die mit der Übertrag-Sicherungsarray und der ersten Übertrag-Vorgriffsarray verbunden sind, wobei die zweite Übertrag-Vorgriffsarray die höchstwertigsten Bits der Summe aus dem Zwischenprodukt und aus den Zwischensummen- und Übertragssignalen generiert; wobei N und R ganze Zahlen sind und R größer als die Hälfte von N ist.
- Ein zweiter Aspekt der Erfindung ist eine Verfahren, wie es in Anspruch 8 beansprucht ist.
- Die neuartigen Merkmale der Erfindung sind insbesondere in den beigefügten Ansprüchen angegeben. Die Erfindung selbst, bezüglich ihrer Organisation und dem Arbeitsverfahren, in Verbindung mit weiteren Aufgaben und Vorteilen kann am besten anhand der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen verstanden werden, in denen:
- Fig. 1 ein Blockdiagramm von einem Ausführungsbeispiel eines digitalen Multiplizierers ist, der eine Dreifach-Array- Summierung gemäß der Erfindung enthält.
- Fig. 2 zeigt die Gruppierung von Summanden-Bits für einen als Beispiel angegebenen 16·16 Multiplizierer/Akkumulator mit neun Teilprodukten, die unter Verwendung von Kodierung erzeugt werden.
- Fig. 3-8 stellen zusammen ein schematisches Diagramm von einem Ausführungsbeispiel der Dreifach-Array-Architektur dar, die dem Multiplizierer/Akkumulator gemäß Fig. 2 entspricht.
- Es wird nun anhand von Fig. 1 eine Dreifach-Array-Multiplizierer-Architektur beschrieben. Die Schaltungsanordnung enthält einen Multiplikatorreingang 10 und einen Multiplikandeneingang 11. Ein Multiplikatorsignal am Multiplizierereingang 10 wird an eine Kodierschaltung 12 angelegt und in ein kodiertes Eingangssignal 13 umgewandelt. Die Kodierung kann nach mehreren bekannten Algorithmen ausgeführt werden (z. B. ein modifizierter Booth-Algorithmus), so daß die Anzahl von Teilprodukten, die aus dem kodierten Eingangssignal 13 und dem Multiplikanden-Eingangssignal 11 generiert werden, kleiner ist, als sie anderenfalls generiert werden würde. Beispielsweise wird unter Verwendung eines modifizierten Booth-Algorithmus mit einer Multiplizierer- und Multiplikandenlänge von jeweils 16 Bits das kodierte Eingangssignal 13 in 9 Terme kodiert. Als eine Folge würde der Teilproduktgenerator 14 neun Teilprodukte generieren, die addiert werden müssen, um das Endprodukt zu bilden.
- Der Teilproduktgenerator 14 hat als seine Ausgangsgröße eine Anzahl von Teilprodukten mit zunehmendem Rang. Die Bits der Teilprodukte werden in Gruppen unterteilt, die in einer Dreifach-Addierer-Array summiert werden. SETA, eine Gruppe von Teilproduktbits, wird in die ADDA Addier-Array eingegeben. SETB, eine andere Gruppe von Teilproduktbits, wird in die ADDB Addierer-Array eingegeben. Eine kleine Anzahl von verbleibenden Teilproduktbits SETC' kann optional an die ADDC Addierer-Array geliefert werden.
- In einem bevorzugten Ausführungsbeispiel der Erfindung enthält SETA die Bits von den r Teilprodukten niedrigster Ordnung. Der Wert von r ist vorzugsweise größer als die Hälfte von n, wobei n die Gesamtzahl von Teilprodukten ist. Die Ergebnisse der Addition in der ADDA Array enthalten einen einen niedrigen Rang aufweisenden Teil des Endproduktes, eine Zwischensumme SUMA und einen Zwischenübertrag CARA. Das einen niedrigen Rang aufweisende Ergebnis wird an ein Register 15 geliefert, und die SUMA und CARA Signale werden in die ADDC Addierer-Array eingegeben.
- In SETB sind alle oder im wesentlichen alle übrigen Teilproduktbits enthalten. Das Ergebnis der Addition in der ADDB Array ist SUMB, das in die ADDC Addierer-Array eingegeben wird. Es kann eine kleine Anzahl von Teilproduktbits geben, die verfügbaren Addierer-Stellen in der ADDC Array entsprechen, die nicht verwendet werden, um SUMA CARA und SUMB zu addieren. Diese Bits können in SETC' enthalten sein, die im Bypass an den ADDA und ADDB Arrays vorbeigeleitet werden, um in der ADDC Array enthalten zu sein. Das Ergebnis der Addition in der ADDC Addierer-Array ist der einen hohen Wert aufweisender Abschnitt des Endergebnisses, der an das Register 15 geliefert wird.
- Gemäß der Dreifach-Array-Architektur gemäß der vorliegenden Erfindung wird hohe Geschwindigkeit und geringe Komplexität dadurch erreicht, daß ADDA als eine Übertrag-Sicherungsarray (carry safe array) und ADDB und ADDC als Übertrag-Vorgriffsarray (carry look-ahead arrays) implementiert werden. Somit summiert die ADDA Array die einen niedrigen Rang aufweisenden Teilprodukte, während Vorteil aus der geringen Komplexität und der kleinen Chipfläche von einer Übertrag- Sicherungsarray gezogen wird. Die hohe Geschwindigkeit der Übertrag-Vorgriffsarray wird in vorteilhafter Weise in den ADDB und ADDC Arrays ausgenutzt, in denen die einen höheren Rang aufweisende Summation ausgeführt wird. Genauer gesagt, enthält die ADDA Array vorzugsweise r-1 Reihen von Übertrag-Sicherungsaddierern zum Addieren der Teilprodukte in SETA. ADDA kann auch eine Reihe (d. h. eine Gesamtzahl von r Reihen) zur Handhabung der Akkumulation und der Zweier-Komplement-Notation aufweisen. ADDB und ADDC enthalten vorzugsweise jeweils eine oder mehrere Reihen von Übertrag-Sicherungsaddierern, denen ein Übertrag-Vorgriffsaddierer folgt.
- Gemäß einem anderen Aspekt des bevorzugten Ausführungsbeispiels wird der Wert von r so gewählt, daß die Verzögerung der Übertrag-Sicherungsaddition in ADDA möglichst gleich der Zeitverzögerung der Übertrag-Vorgriffaddition in ADDB ist. Auf diese Weise wird die Architektur optimiert, und SUMA, CARA und SUMB werden gleichzeitig an die ADDC Array geliefert.
- Die Inhalte des Registers 15 bilden die Ausgangsgröße des Multiplizierers. Um eine Akkumulation auszuführen, können die Inhalte des Registers 15 in die ADDA Array rückgeführt werden für einen Einschluß in eine nachfolgende Verarbeitung.
- Um eine Notation für Größen entweder mit oder ohne Vorzeichen zu handhaben, wird der Multiplikand (am Eingang 11) um 2 Bits verlängert und der Multiplikator (am Eingang 10) wird um ein Bit verlängert. Der Wert der verlängerten höherwertigen Bits hängt von der verwendeten Notation und dem Wert des höchstwertigen Bits der Ursprungszahl ab. Wenn also eine Notation mit Vorzeichen verwendet wird, wird der Wert des höchstwertigen Bits in jedem der Extrabits wiederholt, z. B. eine logische "1" in der MSB Position des Multiplikanden würde in den zwei Verlängerungsbits der Eingangsgröße 11 wiederholt. Wenn eine Notation ohne Vorzeichen verwendet wird, wird jedes der Extrabits auf eine logische "0" gebracht.
- Um auch eine Zweier-Komplement-Notation mit Vorzeichen zu handhaben, kann der Teilproduktgenerator 14 auch ein Zweier-Komplement-Register 16 enthalten. Das Register 16 hat mehrere Bits, wobei jedes Bit einem Teilprodukt entspricht. Jedes Bit kann gesetzt werden, um anzuzeigen, daß das entsprechende Teilprodukt in der Zweier -Komplement -Notation negativ ist. Wenn die Addition der Teilprodukte ausgeführt wird, müssen die Inhalte des Registers 16 hinzuaddiert werden. Vorzugsweise wird jedes Zweier-Komplement-Bit in der Array hinzuaddiert, die sein entsprechendes Teilprodukt enthält.
- Ein Beispiel von einer speziellen Gruppierung von Bits für einen Dreifach-Array-Multiplizierer, der in der Lage ist, eine 16 Bit mal 16 Bit Multiplikation/Akkumulation auszuführen, wobei eine modifizierte Booth-Algorithmus-Kodierung verwendet wird, um neun Teilprodukte zu generieren, ist in Fig. 2 gezeigt. Die neun Teilprodukte sind mit P und PO bis P7 bezeichnet. Jeder Bezeichnung folgt eine Bit-Bezeichnung 0 bis H. P ist das den niedrigsten Rang aufweisende oder niederwertigste Teilprodukt. P7 ist das Teilprodukt höchster Ordnung. Die niederwertigsten Bits sind mit 0 bezeichnet und die höchstwertigsten Bits mit H. Fig. 2 zeigt auch die Zweier-Komplement-Bits, die mit TC und TC0 bis TC7 bezeichnet sind. Die Inhalte des Akkumulatorregisters sind mit OR0 bis ORX2 bezeichnet, und das Zweier-Komplement-Bit für das Akkumulatorregister ist als TCA gezeigt.
- Die Bits in Fig. 2 sind so angeordnet, daß die Bits von gleicher Wertigkeit in der gleichen vertikalen Spalte sind. Somit nimmt die Bit-Wertigkeit zu, wenn man sich nach rechts bewegt. Jedes Zweier-Komplement-Bit hat die gleiche Wertigkeit wie das niederwertigste Bit seines entsprechenden Teilproduktes (oder des Akkumulatorregisters im Falle von TCA).
- Wie in Fig. 2 gezeigt ist, enthält SETA die Bits von sechs Teilprodukten, nämlich P und P0 bis P4, die Akkumulator-Inhalte OR0 bis ORX2 und die entsprechenden Zweier-Komplement-Bits TC, TC0 bis TC4 und TCA. SETB enthält Teilprodukte P6 und P7 und entsprechende Zweier-Komplement-Bits TC6 und TC7 und enthält Bits P52 bis P5H von Teilprodukt PS. Niederwertige Bits P50 und P51 und Zweier-Komplement- Bit TC5 sind in SETC' gruppiert.
- Eine Dreifach-Array-Summierungssschaltung zur Ausführung der Addition gemäß den Gruppierungen von Fig. 2 ist schematisch in den Fig. 4 bis 8 gezeigt, wobei Fig. 3 zeigt, wie die Fig. 4 bis 8 anzuordnen sind.
- ADDA ist eine Übertrag-Sicherungsarray, die in den Fig. 4 bis 6 gezeigt ist. Die erste Reihe besteht aus Halbaddierern, außer in den 16. und 19. Bitpositionen. Ein Volladdierer wird in der 16. Bitposition verwendet, um ein Abrundungsbit RND einzuführen, um das Ergebnis abzurunden, wenn dies erwünscht ist. Ein Diamond-Addierer befindet sich in der 19. Bitposition der 1. Reihe und ihm wird an seinem b Eingang von dem vorhergehenden Halbaddierer das Bit PG zugeführt. Die Eingangsbezeichnungen des Volladdierers, Diamond-Addierers und des ersten Halbaddierers in derer ersten Reihe werden wiederholt (aber nicht gezeigt) für die anderen Addierer der gleichen Typen in den Figuren.
- Bekanntlich hat ein Volladdierer (wie beispielsweise Volladdierer 40 in Fig. 5) Summanden-Eingänge a und b, einen Übertrag-Eingang Cin', einen Summen-Ausgang s und einen Übertrag-Ausgang cout. Ein Halbaddierer, wie beispielsweise Halbaddierer 41, hat a und b Eingänge und s und cout Ausgänge. Ein Diamond-Addierer, wie beispielsweise der Diamond-Addierer 42, hat a und b Eingänge, einen s Ausgang und einen "s oder c" Ausgang, was das logische OR der s und c Ausgänge eines Halbaddierers sind. Die Bits, die in jeden Addierer eingegeben werden, sind wie gezeigt. Weiterhin sind einige Größen durch Verdrahtung auf eine logische "1" oder eine logische "0" gesetzt, wie es angegeben ist.
- Die ADDA Array enthält auch bedingte Summenaddierer MX0 bis MX8. Dies sind Hochgeschwindigkeits-Addierer, die einen Multiplexer verwenden, um einen von zwei Volladdieren gemäß ihrem cin Eingang zu wählen, wie es in der Technik bekannt ist. Die invertierten niederwertigen Bits des Endproduktes sind in Fig. 4 als S0 bis S10 gezeigt.
- ADDB weist eine Reihe von Volladdierern auf, denen ein 20 Bit-Vorgriffsaddierer (CLA) 100 folgt, wie es in Fig. 7 und 8 gezeigt ist. Die ADDC Array weist eine Reihe von Volladdierern auf, denen ein 24 Bit CLA 101 folgt. Die invertierten hochwertigen Bits des Endproduktes werden von CLA 101 ausgegeben und sind als S11 bis S34 gezeigt. Bei der Ausführung der Endaddition empfängt die ADDC Array ein Zwischensummensignal von der ADDB Array und empfängt sowohl ein Zwischensummensignal als auch ein Zwischenübertragssignal von der ADDA Array.
- CLA 100 und CLA 101 sind so gezeigt, daß sich ihre Eingänge oben und ihre Ausgänge unten befinden. Die CLAs können eine typische Konfiguration haben, wie sie in der Technik bekannt ist und, beispielsweise, in N. Scott, Computer Number Systems and Arithmetic (1985) und in dem US Patent 4 153 938 gezeigt ist, wobei beide durch diese Bezugnahme hier inkorporiert werden.
- Die vorstehend beschriebene Dreifach-Array-Multiplizierer- Architektur mit paralleler Summierung durch eine Übertrag- Sicherungsarray und eine erster Übertrag-Vorgriffsarray, der eine Endsummierung durch eine zweite Übertrag-Vorgriffsarray folgt, erzielt eine hohe Leistungsfähigkeit mit hoher Geschwindigkeit und einer kleinen Chipfläche in einer Schaltungsanordnung, die mit üblicher IC Technologie implementiert werden kann. Die Schaltungsanordnung ist vielseitig, kann eine Akkumulation ausführen und kann mit einer Größendarstellung entweder mit oder ohne Vorzeichen arbeiten.
Claims (9)
1. Multiplizierschaltung zum Erzeugen der Summe von einem
Multiplikatorsignal und einem Multiplikandsignal,
enthaltend:
eine Teilprodukt-Generatoreinrichtung (13, 14) zum
Generieren von N Summanden unterschiedlichen Ranges, wobei
jeder Summand einen Satz von Teilprodukten aufweist, die
einen geordneten Satz von Bits enthalten, wenn ein
Multiplikatorsignal und ein Multiplikandsignal an die
Eingänge (10, 11) der Teilprodukt-Generatoreinrichtung
angelegt sind,
eine Übertrag-Sicherungsarray (ADDA), die mit der
Teilprodukt-Generatoreinrichtung verbunden ist, zum
Addieren der Bits einer ersten Gruppe von R Summanden, die
aus den N Summanden entnommen sind, und zum Generieren der
niederwertigsten Bits der Summe und zum Generieren von
Zwischensummen- und Übertragssignalen,
gekennzeichnet durch
eine erste Übertrag-Vorgriffsarray (ADDB), die
parallel und gleichzeitig mit der Übertrag- und
Sicherungsarray arbeitet, die mit der Teilprodukt-
Generatoreinrichtung verbunden ist, zum Addieren im
wesentlichen aller Bits der N Summanden, die nicht in der
ersten Gruppe enthalten sind, um ein Zwischenprodukt zu
generieren, und
eine zweite Übertrag-Vorgriffsarray (ADDC), die mit
der Übertrag-Sicherungsarray und der ersten Übertrag-
Vorgriffsarray verbunden ist, wobei die zweite Übertrag-
Vorgriffsarray die höchstwertigsten Bits der Summe aus dem
Zwischenprodukt und aus den Zwischensummen- und
Übertragssignalen generiert, wobei N und R ganze Zahlen
sind und R größer als die Hälfte von N ist.
2. Multiplizierschaltung nach Anspruch 1, wobei die
Teilprodukt-Generatoreinrichtung eine Kodierschaltung (12)
aufweist zum Kodieren des Multiplikatorsignals, um die
Anzahl von Teilprodukten zu verkleinern, die generiert
werden.
3. Multiplizierschaltung nach Anspruch 2, wobei die
Kodierschaltung einen modifizierten Booth-Algorithmus
ausführt.
4. MULTIPLIZIERSCHALTUNG nach Anspruch 1, wobei ferner
ein Akkumulator-Register (15), das mit der Übertrag-
Sicherungsarray und der zweiten Übertrag-Vorgriffarray
verbunden ist, zum Empfangen der Summe vorgesehen ist,
wobei die Übertrag-Sicherungsarray die Inhalte des
Akkumulator-Registers zu der ersten Gruppe von Bits
addieren kann, um eine Akkumulation auszuführen.
5. Multiplizierschaltung nach Anspruch 1, wobei ferner
ein Zweierkomplement-Register (16) vorgesehen ist, das mit
der Übertrag-Sicherungsarray verbunden ist und mehrere Bits
aufweist, wobei jedes Bit auf entsprechende Weise das
Vorzeichen von einem entsprechenden Teilprodukt angibt,
wobei die Inhalte des Zweierkomplement-Registers zu der
Summe addiert werden.
6. Multiplizierschaltung nach Anspruch 1, wobei die erste
Gruppe von R Summanden ferner so gewählt ist, daß die
Zwischensummen- und Übertragssignale und das
Zwischenprodukt im wesentlich gleichzeitig generiert
werden.
7. Multiplizierschaltung nach Anspruch 1, wobei die
Teilprodukt-Generatoreinrichtung neun Summanden generiert,
wobei die erste Gruppe von Summanden, die durch die
Übertrag-Sicherungsarray addiert werden, die Bits von den 6
niederwertigsten Summanden enthält, wobei die erste
Übertrag-Vorgriffsarray eine Reihe von Volladdierern
(P60 . . . P69, P6A . . . P6H) und einen Übertrag-Vorgriffsaddierer
(CLA100) aufweist und wobei die zweite Übertrag-
Vorgriffsarray eine Reihe von Volladdierern (P50, P51 . . . )
und einen Übertrag-Vorgriffsaddierer (CLA101) aufweist.
8. Verfahren zum Addieren von n Teilprodukten in einem
digitalen Multiplizierer, enthaltend die Schritte:
Addieren der r niederwertigsten Teilprodukte der n
Teilprodukte in einer Übertrag-Sicherungsarray (ADDA), um
die niederwertigsten Bits der Endsumme zu generieren und
Zwischensummen- und Übertragssignale zu generieren, wobei
die Übertrag-Sicherungsarray die Addition in einer
Zeitverzögerung A ausübt, gekennzeichnet durch
gleichzeitiges Addieren der Bits von allen
verbleibenden Teilprodukten in einer ersten Übertrag-
Vorgriffsarray (ADDB), um ein Zwischenprodukt in einer
Zeitverzögerung B zu generieren, und
Addieren der Zwischensummen- und Übertragsignale und
der Zwischenprodukte in einer zweiten Übertrag-
Vorgriffsarray, um die höherwertigsten Bits der Endsumme zu
generieren, wobei der Wert von r eine ganze Zahl größer als
eine Hälfte von n ist.
9. Verfahren nach Anspruch 8, wobei der Wert von r so
gewählt ist, daß die Differenz zwischen der Zeitverzögerung
A und der Zeitverzögerung B minimiert ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/908,489 US4831577A (en) | 1986-09-17 | 1986-09-17 | Digital multiplier architecture with triple array summation of partial products |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3789132D1 DE3789132D1 (de) | 1994-03-31 |
DE3789132T2 true DE3789132T2 (de) | 1994-10-13 |
Family
ID=25425888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3789132T Expired - Fee Related DE3789132T2 (de) | 1986-09-17 | 1987-08-31 | Digitale Multipliziererarchitektur mit Dreifachgitter zur Summation von Teilprodukten. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4831577A (de) |
EP (1) | EP0260515B1 (de) |
JP (1) | JPS6375932A (de) |
DE (1) | DE3789132T2 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4839848A (en) * | 1987-09-14 | 1989-06-13 | Unisys Corporation | Fast multiplier circuit incorporating parallel arrays of two-bit and three-bit adders |
US5278781A (en) * | 1987-11-12 | 1994-01-11 | Matsushita Electric Industrial Co., Ltd. | Digital signal processing system |
US4972362A (en) * | 1988-06-17 | 1990-11-20 | Bipolar Integrated Technology, Inc. | Method and apparatus for implementing binary multiplication using booth type multiplication |
JPH0776914B2 (ja) * | 1988-10-18 | 1995-08-16 | 三菱電機株式会社 | 乗算回路 |
GB2226899A (en) * | 1989-01-06 | 1990-07-11 | Philips Electronic Associated | An electronic circuit and signal processing arrangements using it |
US4969118A (en) * | 1989-01-13 | 1990-11-06 | International Business Machines Corporation | Floating point unit for calculating A=XY+Z having simultaneous multiply and add |
EP0383965A1 (de) * | 1989-02-21 | 1990-08-29 | International Business Machines Corporation | Multiplizierwerk |
JP2540934B2 (ja) * | 1989-03-09 | 1996-10-09 | 三菱電機株式会社 | 論理回路装置 |
JPH07118630B2 (ja) * | 1989-06-29 | 1995-12-18 | 三菱電機株式会社 | 乗算用信号処理回路 |
US5121352A (en) * | 1990-02-06 | 1992-06-09 | Micron Technology, Inc. | Multiplier-accumulator circuit array operable in multiple modes |
US5121431A (en) * | 1990-07-02 | 1992-06-09 | Northern Telecom Limited | Processor method of multiplying large numbers |
US5153850A (en) * | 1990-08-24 | 1992-10-06 | Mass Microsystems | Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication |
JPH04116720A (ja) * | 1990-09-07 | 1992-04-17 | Hitachi Ltd | 半導体装置 |
JP2838326B2 (ja) * | 1991-04-16 | 1998-12-16 | 三菱電機株式会社 | ディジタル乗算器 |
US5218564A (en) * | 1991-06-07 | 1993-06-08 | National Semiconductor Corporation | Layout efficient 32-bit shifter/register with 16-bit interface |
US5220525A (en) * | 1991-11-04 | 1993-06-15 | Motorola, Inc. | Recoded iterative multiplier |
US5375078A (en) * | 1992-12-15 | 1994-12-20 | International Business Machines Corporation | Arithmetic unit for performing XY+B operation |
KR0158647B1 (ko) * | 1995-05-22 | 1998-12-15 | 윤종용 | 부호/무부호 수 겸용 곱셈기 |
US5974437A (en) * | 1996-12-02 | 1999-10-26 | Synopsys, Inc. | Fast array multiplier |
US6571268B1 (en) | 1998-10-06 | 2003-05-27 | Texas Instruments Incorporated | Multiplier accumulator circuits |
US6523055B1 (en) | 1999-01-20 | 2003-02-18 | Lsi Logic Corporation | Circuit and method for multiplying and accumulating the sum of two products in a single cycle |
US6215325B1 (en) | 1999-03-29 | 2001-04-10 | Synopsys, Inc. | Implementing a priority function using ripple chain logic |
AU2003269332A1 (en) * | 2002-08-22 | 2004-03-11 | Med-El Elektromedizinische Gerate Gmbh | Method and system for multiplication of binary numbers |
US20080225939A1 (en) * | 2007-03-15 | 2008-09-18 | Jiun-In Guo | Multifunctional video encoding circuit system |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3508038A (en) * | 1966-08-30 | 1970-04-21 | Ibm | Multiplying apparatus for performing division using successive approximate reciprocals of a divisor |
US3670956A (en) * | 1968-09-26 | 1972-06-20 | Hughes Aircraft Co | Digital binary multiplier employing sum of cross products technique |
US3675001A (en) * | 1970-12-10 | 1972-07-04 | Ibm | Fast adder for multi-number additions |
US3866030A (en) * | 1974-04-01 | 1975-02-11 | Bell Telephone Labor Inc | Two{3 s complement parallel array multiplier |
BE844199A (nl) * | 1976-07-16 | 1976-11-16 | Inrichting voor het vermenigvuldigen van binaire getallen | |
US4153938A (en) * | 1977-08-18 | 1979-05-08 | Monolithic Memories Inc. | High speed combinatorial digital multiplier |
US4215416A (en) * | 1978-03-22 | 1980-07-29 | Trw Inc. | Integrated multiplier-accumulator circuit with preloadable accumulator register |
NL7809398A (nl) * | 1978-09-15 | 1980-03-18 | Philips Nv | Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie. |
US4228520A (en) * | 1979-05-04 | 1980-10-14 | International Business Machines Corporation | High speed multiplier using carry-save/propagate pipeline with sparse carries |
US4484301A (en) * | 1981-03-10 | 1984-11-20 | Sperry Corporation | Array multiplier operating in one's complement format |
JPS593634A (ja) * | 1982-06-30 | 1984-01-10 | Fujitsu Ltd | 乗算器 |
JPS5911445A (ja) * | 1982-07-13 | 1984-01-21 | Nec Corp | 乗算器 |
US4545028A (en) * | 1982-10-13 | 1985-10-01 | Hewlett-Packard Company | Partial product accumulation in high performance multipliers |
JPH0640301B2 (ja) * | 1983-09-22 | 1994-05-25 | ソニー株式会社 | 並列乗算回路 |
US4660165A (en) * | 1984-04-03 | 1987-04-21 | Trw Inc. | Pyramid carry adder circuit |
US4575812A (en) * | 1984-05-31 | 1986-03-11 | Motorola, Inc. | X×Y Bit array multiplier/accumulator circuit |
US4679164A (en) * | 1984-12-17 | 1987-07-07 | The United States Of America As Represented By The Secretary Of The Army | Digital high speed programmable convolver |
-
1986
- 1986-09-17 US US06/908,489 patent/US4831577A/en not_active Expired - Lifetime
-
1987
- 1987-08-24 JP JP62208402A patent/JPS6375932A/ja active Granted
- 1987-08-31 DE DE3789132T patent/DE3789132T2/de not_active Expired - Fee Related
- 1987-08-31 EP EP87112663A patent/EP0260515B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0260515A2 (de) | 1988-03-23 |
JPS6375932A (ja) | 1988-04-06 |
EP0260515B1 (de) | 1994-02-23 |
DE3789132D1 (de) | 1994-03-31 |
EP0260515A3 (en) | 1990-09-26 |
US4831577A (en) | 1989-05-16 |
JPH0543136B2 (de) | 1993-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3789132T2 (de) | Digitale Multipliziererarchitektur mit Dreifachgitter zur Summation von Teilprodukten. | |
DE69632978T2 (de) | Multi-Operand-Addierer, der Parallelzähler benutzt | |
DE68924477T2 (de) | Gleitkommaeinheit mit gleichzeitiger Multiplikation und Addition. | |
DE3686681T2 (de) | Parallelmultiplizierer. | |
DE3700991C2 (de) | Digitaler Übertragsvorgriffsaddierer | |
DE69838877T2 (de) | Architektur eines schnellen regulären multiplizierers | |
DE69832985T2 (de) | Multiplizier-Akkumulatorschaltungen | |
Bickerstaff et al. | Reduced area multipliers | |
US5347482A (en) | Multiplier tree using nine-to-three adders | |
DE3036747C2 (de) | Binäre Multiplikationszellenschaltung als integrierte MOS-Schaltung | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE4403917C2 (de) | Vorrichtung zum Berechnen einer Bit-Besetzungszählung | |
DE10105945A1 (de) | Linearsummierungsmultipliziererarrayimplementie-rung sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multipliaktion | |
US5161119A (en) | Weighted-delay column adder and method of organizing same | |
DE69025182T2 (de) | Digitaler prozessor für zweierkomplementberechnungen | |
DE4101004C2 (de) | Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum | |
DE3434777C2 (de) | ||
DE69026414T2 (de) | Binäres Addiergerät | |
EP0109137A2 (de) | Teilproduktakkumulation in Hochleistungsmultipliziern | |
EP0130397B1 (de) | Digitales Rechenwerk | |
DE60316342T2 (de) | Multiplizierer mit nachschlagetabellen | |
EP0090298A1 (de) | In MOS-Technik integrierter schneller Multiplizierer | |
DE3854937T2 (de) | Überlappendes Mehrbit untersuchendes Multipliziersystem mit einer Bandmatrix von Teilprodukten | |
DE3880825T2 (de) | Anordnung zur schnellen addition von binärzahlen. | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |