DE3901995A1 - Parallelmultiplizierer - Google Patents

Parallelmultiplizierer

Info

Publication number
DE3901995A1
DE3901995A1 DE3901995A DE3901995A DE3901995A1 DE 3901995 A1 DE3901995 A1 DE 3901995A1 DE 3901995 A DE3901995 A DE 3901995A DE 3901995 A DE3901995 A DE 3901995A DE 3901995 A1 DE3901995 A1 DE 3901995A1
Authority
DE
Germany
Prior art keywords
output
enable
delay
state
signal
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.)
Granted
Application number
DE3901995A
Other languages
English (en)
Other versions
DE3901995C2 (de
Inventor
Eiichi Nishimura
Takao Nakamura
Hisaki Ishida
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of DE3901995A1 publication Critical patent/DE3901995A1/de
Application granted granted Critical
Publication of DE3901995C2 publication Critical patent/DE3901995C2/de
Granted 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/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
    • 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/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks

Landscapes

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

Description

Die Erfindung bezieht sich auf einen Parallelmultiplizierer mit einer Vielzahl von Volladdiererschaltungen, die unterein­ ander in einem systolischen Array verbunden sind.
Parallelmultiplizierer können Hochgeschwindigkeits-Mulitpli­ kationen in LSI- (großintegrierten) oder VLSI- (größtinte­ grierten) Mikroprozessoren, Digitalsignalprozessoren und anderen Arten digitaler Schaltungen durchführen. Ein Parallel­ multiplizierer umfaßt eine Vielzahl von Volladdiererschal­ tungen, die im folgenden Einheitsschaltungen genannt wer­ den, von denen eine jede ein einzelnes Bitpaar multipli­ ziert. Die Einheitsschaltungen sind in Stufen organisiert, die Partial- bzw. Teilprodukte erzeugen. Eine jede Stufe addiert ihr Teilprodukt zu der Summe der Teilprodukte in den vorhergehenden Stufen hinzu und führt das Ergebnis der nächsten Stufe zu, wodurch sich die Addition der Teilpro­ dukte schnell durch das Array "hindurchkräuselt" ("ripple") und am Ende das Endprodukt erzeugt wird. In anderen Worten schreitet die Rechenoperation von der ersten Stufe zu der Endstufe fort und die Zwischenergebnisse der Berechnung erscheinen unter kurzen Abständen in Folgen an den Ausgängen der ersten bis zur letzten Stufe.
Das Problem der Parallelmultiplizierer dieser Bauart gemäß dem Stand der Technik ist ihr hoher Energieverbrauch.
Demgemäß ist es ein Ziel der vorliegenden Erfindung, einen Parallelmultiplizierer mit einem verminderten Energiever­ brauch zu schaffen.
Ein erfindungsgemäßer Parallelmultiplizierer umfaßt ein Array von Einheitsschaltungen, die in Stufen miteinander verbunden sind, um Teilprodukte in einem Multiplizierbe­ trieb zu erzeugen und zu addieren, wobei die Ausgangssi­ gnale der Einheitsschaltungen einer jeden Stufe die Eingangs­ signale der Einheitsschaltungen der nächsten Stufe darstel­ len, sowie eine Steuerschaltung, um die Ausgänge aus den Einheitsschaltungen in einigen oder sämtlichen Stufen an­ näherungsweise gleichzeitig mit dem Fortgang der Rechen­ operation abzuschalten, d. h. ungefähr zur gleichen Zeit, wenn die Ergebnisse der Operation an den Einheitsschaltun­ gen in der entsprechenden Stufe an ihren Ausgängen erschei­ nen.
Im folgenden werden mehrere Ausführungsbeispiele der Er­ findung anhand der Zeichnung näher beschrieben. In der Zeichnung zeigt
Fig. 1 eine schematische Darstellung eines Parallelmulti­ plizierers, der die vorliegende Erfindung bein­ haltet,
Fig. 1A eine Darstellung, welche die Position der ent­ sprechenden Terminals in der schematischen Dar­ stellung der Einheitsschaltung B zeigt,
Fig. 2 eine detailliertere schematische Darstellung, welche die Einheitsschaltungen B in Fig. 1 zeigt,
Fig. 3 eine detailliertere schematische Darstellung, welche die Steuerschaltung in Fig. 1 zeigt,
Fig. 4 ein Ablaufdiagramm, welches den Betrieb des Parallelmultiplizierers in Fig. 1 zeigt,
Fig. 5 ein schematisches Diagramm, welches einen anderen Typ einer Einheitsschaltung zeigt,
Fig. 6 eine schematische Darstellung, welche einen anderen Parallelmultiplizierer zeigt, der die vorliegende Erfindung beinhaltet,
Fig. 7 eine schematisch Darstellung, welche eine andere Steuerschaltung zeigt, welche beim Aus­ führungsbeispiel gemäß Fig. 6 verwendet werden kann,
Fig. 8 eine schematische Darstellung, welche einen wei­ teren Parallelmultiplizierer zeigt, welcher die vorliegende Erfindung beinhaltet,
Fig. 9 ein Ablaufdiagramm, welches den Betrieb des Parallelmultiplizierers gemäß Fig. 8 zeigt,
Fig. 10 eine schematische Darstellung, welche einen wei­ teren Parallelmultiplizierer zeigt, der die vor­ liegende Erfindung beinhaltet, und
Fig. 11 eine schematische Darstellung, welche einen wei­ teren Typ einer Steuerschaltung zeigt, welche beim Ausführungsbeispiel gemäß Fig. 10 verwendet werden kann.
Im folgenden werden unter Bezugnahme auf die Zeichnung neu­ artige Parallelmultiplizierer gemäß der vorliegenden Erfin­ dung beschrieben. Es werden nur 4 × 4-Multiplizierer gezeigt, ist es jedoch klar, daß das erfindungsgemäße Konzept auch auf größere Multiplizierer anwendbar ist. Zur Vereinfachung der Beschreibung wird davon ausgegangen, daß der High-Zu­ stand des Signals die "1" oder der aktive Zustand ist und daß der Stromverbrauch in diesem Zustand höher ist, und daß der Low-Zustand die "0" oder der inaktive Zustand ist und daß der Stromverbrauch in diesem Zustand geringer ist.
Im folgenden wird unter Bezugnahme auf die Fig. 1 bis 4 ein erster erfindungsgemäßer Parallelmultiplizierer beschrieben. Fig. 4 ist eine schematische Darstellung, wel­ che einen 4 × 4-Bit-Parallelmultiplizierer zeigt, der eine Vielzahl von identischen Einheitsschaltungen B umfaßt, die in der Form eines Array bzw. einer Matrix miteinander ver­ bunden sind, das aus fünf Stufen S 1 bis S 5 aus vier Spalten C 1 bis C 4 besteht, um das Produkt zweier 4-Bit-Binärzahlen durch progressives Addieren ihrer Teilprodukte zu erzeugen. Fig. 2 ist eine schematische Darstellung der in Fig. 1 mit B bezeichneten Einheitsschaltungen.
Die Einheit B gemäß Fig. 2 umfaßt ein UND-Gatter 11, einen Volladdierer 12, und ein Paar UND-Gatter 13 und 14. Das UND-Gatter 11 nimmt ein Multiplikanden-Bit x und ein Multi­ plikator-Bit y auf und erzeugt ein Teilprodukt-Bit x · y. Der Volladdierer 12 nimmt einen Summeneingang SI, ein Übertrageingangssignal CI und das Teilprodukt-Bit x · y aus dem UND-Gatter 11 auf und addiert diese, um ein Summenaus­ gangssignal SO′ und ein Übertragungssignal CO′ zu erzeu­ gen.
Das Summeneingangssignal SI und das Übertrageingangssignal CI werden beispielsweise von Eingangsschaltungen in der vorhergehenden Stufe des Arrays gemäß Fig. 1 geliefert. Das UND-Gatter 13 nimmt dieses Übertragungssignal CO′, welches vom Volladdierer 12 abgegeben wird, auf und addiert es mit einem Enable-Signal EN. Das UND-Gatter 14 nimmt das Summenausgangssignal S′ aus dem Volladdierer 12 auf und addiert es mit dem gleichen Enable-Signal EN. Die UND-Gat­ ter 13 und F14 funktionieren daher als Enable-Einrichtung bzw. Freigabeeinrichtung für die Ausgangssignale des Voll­ addierers 12: Wenn sich das Enable-Signal EN am aktiven Zustand befindet (high), so werden die Übertrag- und Summen­ ausgangssignale CO′ und SO′, die vom Volladdierer 12 erhal­ ten werden, die Übertrag- und Summenausgangssignale CO und SO, die von der Einheitsschaltung B erzeugt werden; wenn jedoch das Enable-Signal EN im inaktiven Zustand (low) ist, so werden die Übertrag- und Summenausgangssignale CO und SO der Einheitsschaltung B im "0"-Zustand gehalten, wobei in diesem Zustand die Einheitsschaltung in der nächsten Stufe nicht arbeitet und der Engieverbrauch extrem nied­ rig ist.
Im folgenden werden die Verbindungen zwischen den Einheits­ schaltungen B unter Bezugnahme auf Fig. 1 beschrieben. Der dort dargestellte Parallelmultiplizierer umfaßt ein Array von 42 (= 16) Einheitsschaltungen B, die in einer ersten bis vierten Stufe S 1 bis S 4 angeordnet sind, wobei die vierte Stufe S 4 von der fünften oder Endstufe S 5 gefolgt ist, die vier zusätzliche Einheitsschaltungen B umfaßt. Die am meisten rechts angeordnete Einheitsschaltung B einer jeden Stufe wird der Spalt C 1 zugeordnet, die links davon angeordnete Einheitsschaltung der Spalte C 2 usw. Die Spal­ ten verlaufen in der Zeichnung somit diagonal. Die Multi­ plikator-Bits y 1 bis y 4 werden in den entsprechenden Stufen S 1 bis S 4 als Eingangssignale den Einheitsschaltungen B zugeführt. Die Multiplikanden-Bits x 1 bis x 4 werden in den entsprechenden Spalten C 1 bis C 4 den Einheitsschaltungen B zugeführt, mit der Ausnahme, daß sie den Einheitsschal­ tungen in der Endstufe S 5 nicht zugeführt werden. Die Über­ trageingänge CI der Einheitsschaltungen in der Stufe S 2 und in den nachfolgenden Stufen S 3 bis S 5 sind mit den Über­ tragausgängen CO der Einheitsschaltungen in der gleichen Spalte der vorhergehenden Stufe verbunden. Die Summenein­ gänge der Einheitsschaltungen in den Spalten C 1 bis C 3, mit Ausnahme der höchsten Spalte C 4, in der Stufe S 2 und den anschließenden Stufen S 3 bis S 5 sind mit den Summen­ ausgängen SO der Einheitsschaltungen der nächsthöheren Spalte der vorhergehenden Stufe verbunden. Die Summenein­ gänge SI und Übertrageingänge CI der Einheitsschaltungen in der Stufe S 1 und die Summeneingänge SI der Einheitsschal­ tungen in der Spalte C 4 der Stufen S 2 bis S 4 sind als nicht angeschlossen dargestellt, diese Eingänge sind immer "0". Die Summenausgänge SO der Einheitsschaltungen in der Spalte C 1 sind mit Ausgangsanschlüssen P 1 bis P 5 des Parallelmultiplizierers verbunden und ergeben die niedrigeren Bits des Endprodukts, die ebenfalls mit P 1 bis P 5 bezeichnet sind. Die höheren Bits P 6 bis P 8 des Produkts werden von den Summenausgängen SO der Einheitsschaltungen B in den Spalten 2 bis 4 der Endstufe S 5 erzeugt.
Nachdem es für die Einheitsschaltung B in der Endstufe S 5 nicht notwendig ist, Bit-Multiplikationen durchzuführen, sind deren Multiplikanden-Eingang x und Multiplikator-Ein­ gang y wie folgt verbunden: Die Schaltungen B in den Spal­ ten 1 und 4 der Endstufe S 5 erhalten feste Multiplikanden- Eingangssignal x und Multiplikator-Eingangssignal y "0"; die Einheitsschaltungen B der Spalten 2 und 3 der Endstufe S 5 erhalten feststehende Multiplikanden-Eingangssignale x "1", während ihre Multiplikator-Eingangssignale y die Über­ tragausgangssignale CO aus den Einheitsschaltungen B in der vorhergehenden Spalte (C 1 oder C 2) der Endstufe S 5 sind. Der Übertragausgang CO der Einheitsschaltung in der Spalte C 3 der Endstufe S 5 ist mit dem Summeneingang SI der Ein­ heitsschaltung in der Spalte C 4 der Endstufe S 5 verbunden. Das Übertragausgangssignal CO der Einheitsschaltung in der Spalte C 4 der Endstufe S 5 ist stets "0", so daß es nicht angeschlossen ist.
Es ist leicht zu sehen, daß diese Verbindungen bewirken, daß das in einer bestimmten Stufe erzeugte Teilprodukt zu der Summe addiert wird, die durch die Summenausgangssignale SO und das Übertragausgangssignal CO aus der vorhergehenden Stufe repräsentiert wird und daß das Ergebnis als neue Sum­ me der nächsten Stufe zugeführt wird. Die Endstufe S 5 addiert die Summenausgangssignale SO und die Übertragaus­ gangssignale CO, die von der Stufe S 4 erhalten werden, und addiert dann auch noch jedwede weiteren Übertrag-Bits, die durch diese Addition erzeugt wurden, um das endgültige Resultat zu erzeugen.
Die Enable-Signale für die Einheitsschaltungen B gemäß Fig. 1 werden von einer Steuerschaltung 20 zugeführt, welche fünf Enable-Signale EN 1 bis EN 5 erzeugt. Eine schematische Darstellung der Steuerschaltung 20 ist in Fig. 3 darge­ stellt. Die Steuerschaltung 20 umfaßt einen Inverter 22, welcher ein Taktsignal Φ empfängt und invertiert, sowie erste bis fünfte Verzögerungsschaltungen 24 a bis 24 e. Die erste Verzögerungsschaltung 24 a umfaßt einen Inverter 21 a, der das Taktsignal Φ aufnimmt und invertiert. Die zweiten bis fünften Verzögungsschaltungen 24 b bis 24 e umfassen jeweils NAND-Gatter 23 b bis 23 e und Inverter 21 b bis 21 e.
Die Ausgänge der Verzögerungsschaltungen 24 a bis 24 e lie­ fern die Enable-Signale EN 1 bis EN 5. Die NAND-Gatter der entsprechenden Verzögerungsschaltungen 24 b bis 24 e nehmen das Ausgangssignal des Inverters 22 und die Ausgangssignale der vorhergehenden Verzögerungsschaltungen 24 a bis 24 d auf. Die Inverter 24 a bis 24 e weisen eine so geringe Steuer- bzw. Antriebsfähigkeit auf, daß der Übergang in ihre Aus­ gangssignale um eine bestimmte gewünschte Verzögerungszeit später als der Übergang in ihre Eingangssignale stattfin­ det. In anderen Worten können die gewünschten Verzögerungen erhalten werden, indem die Antriebsfähigkeiten der Inverter 21 a bis 21 e eingestellt werden. Anstelle der Inverter mit eingestellten Antriebsfähigkeiten können selbstverständlich auch andere Arten von Verzögerungsschltungen verwendet werden. Der Inverter 22 weist eine große Steuer- bzw. An­ triebsfähigkeit auf, nachdem er eine Anzahl von NAND- Gattern 23 b bis 23 e gleichzeitig antreiben muß und die Ver­ zögerung des Übergangs zwischen seinem Eingang und seinem Ausgang ausreichend klein sein sollte, so daß diese Verzöge­ rung den logischen Betrieb der Steuerschaltung nicht beein­ trächtigt.
Wie aus der vorstehenden Beschreibung deutlich wird, geht der Ausgang einer jeden Verzögerungsschaltung 24 b bis 24 e um eine bestimmte Verzögerungszeit, nachdem seine beiden Eingänge in den High-Zustand gehen, in den High-Zustand, und der Ausgang geht nach einer bestimmten Verzögerungs­ zeit, nachdem einer der beiden Eingänge in den Low-Zustand geht, in den Low-Zustand.
Im folgenden wird der Betrieb der Steuerschaltung 20 be­ schrieben. Es wird darauf hingewiesen, daß der Ausgang eines NAND-Gatters high ist, wenn einer seiner beiden Ein­ gänge low ist, und daß der Ausgang low ist, wenn beide Ein­ gänge high sind.
Das Taktsignal Φ wird als Multiplikations-Timing-Signal verwendet, welches in den High-Zustand geht, wenn die Multi­ plikation durchgeführt werden soll. Wenn das Taktsignal Φ in den High-Zustand geht, so werden die Ausgänge der In­ verter 21 a und 22 low. Das Low-Ausgangssignal des Inverters 22 wird von allen NAND-Gattern 23 b bis 23 e aufgenommen, so daß deren Ausgänge alle in den High-Zustand gehen; daher gehen die Ausgänge der Inverter 21 b bis 21 e alle in den Low-Zustand. Daher gehen die Enable-Signale EN 1 bis EN 5 die sämtlichen Einheitsschaltungen B im Array zugeführt werden, in den Low-Zustand.
Wenn das Taktsignal Φ in den Low-Zustand geht, so geht der Ausgang des Inverters 22 in den High-Zustand. Ebenso tut dies der Ausgang des Inverters 22 a, wenn das Enable-Signal EN 1 in den High-Zustand geht, jedoch nicht unmittelbar; der Inverter 21 a treibt eine kapazitive Last, die entlang der das EN 1-Signal übertragenden Leitung verteilt ist, in Fig. 1 in äquivalenter Weise durch einen einzelnen Kondensa­ tor C dargestellt ist und mit den EN-Eingangsanschlüssen der Einheitsschaltungen B in der ersten Stufe S 1 verbunden ist, so daß der Inverter diese Last aufladen muß, bevor EN 1 in den High-Zustand gehen kann. Die begrenzte Antriebsfähig­ keit des Inverters 21 a stellt sicher, daß vom High-zu-Low- Übergang des Taktsignals Φ zum Low-zu-High-Übergang des Enable-Signals EN 1 eine Verzögerung stattfindet. Diese Ver­ zögerung sollte in etwa der Zeit entsprechen, die von den Einheitsschaltungen in der ersten Stufe S 1 benötigt wird, um die Operation zu vollenden, d. h., das Intervall vom Empfang des Multiplikanden x 1 bis x 4 bis zum Erscheinen des Resultats der Operation in den Einheitsschaltungen in der ersten Stufe S 1 an deren Ausgängen.
Wenn das Enable-Signal EN 1 in den High-Zustand geht, so sind beide Eingänge des NAND-Gatters 23 b high, so daß sein Ausgang in den Low-Zustand geht, wodurch der Ausgang des Inverters 21 b verursacht wird, in den High-Zustand zu gehen; daher geht das Enable-Signal EN 2 in den High-Zu­ stand. Vom High-Zustand von EN 2 in den High-Zustand von EN 2 besteht eine Verzögerung ähnlich der Verzögerung zwischen dem High-Zustand von Φ und dem High-Zustand von EN 1, und zwar aufgrund des Ladens der kapazitiven Lasten von den EN-Eingangsanschlüssen der Einheitsschaltungen B in der zweite Stufe S 2 des Arrays. Wiederum sollte diese Verzöge­ rung annäherungsweise der Zeit entsprechen, die von den Einheitsschaltungen in der zweiten Stufe S 2 benötigt wird, um die Operation zu vollenden, d. h., dem Intervall vom Empfang der Rechenergebnisse in den Einheitsschaltungen in der zweiten Stufe S 2 bis zum Erscheinen des Rechenergeb­ nisses in den Einheitsschaltungen in der zweiten Stufe S 2 an ihren Ausgängen.
Der gleiche Prozeß findet über die nachfolgenden Verzöge­ rungsschaltungen 24 c bis 24 e statt, wodurch die Enable-Si­ gnale EN 3 bis EN 5 veranlaßt werden, nacheinander in den High-Zustand zu gehen. Nachdem sämtliche Enable-Signale in den High-Zustand gegangen sind, bleiben sie high, bis das Taktsignal Φ in den High-Zustand geht; nach einer Ver­ zögerungszeit entsprechend der Entladungszeit der kapazi­ tiven Lasten gehen dann sämtliche Enable-Signale EN 1 bis EN 5 gleichzeitig in den Low-Zustand.
Im folgenden wird unter Bezugnahme auf Fig. 4 das Verfah­ ren, durch das der Parallelmultiplizierer gemäß Fig. 1 eine Multiplikationsoperation durchführt, beschrieben. Es sei T die Fortschreit-Verzögerung des Volladdierers 12 in einer jeden Einheitsschaltung B, d. h. die Verzögerung beim Er­ zeugen des Summenausgangssignals SO′ und des Übertragaus­ gangssignals CO′, und es sei Ta die Verzögerung zwischen dem Taktsignal Φ und dem ersten Enable-Signal EN 1 und zwi­ schen den aufeinanderfolgenden Enable-Signalen EN 1, EN 2, EN 3, EN 4 und EN 5. Es wird angenommen, daß die Antriebsfähig­ keit der Inverter 21 a bis 21 e in der Steuerschaltung 20 so eingestellt ist, daß Ta annäherungsweise gleich ist T. Um den Effekt, den Energieverbrauch zu reduzieren, zu maxi­ mieren, sollte Ta größer sein als T. Vom Standpunkt der Verarbeitungsgeschwindigkeit jedoch sollte Ta nicht größer als T sein. Wenn Ta kleiner als T ist, so ist die Energie­ ersparnis nicht so groß als wenn Ta größer als T ist. Bei der folgenden Erläuterung wird angenommen, daß Ta gering­ fügig größer ist als T.
Zur Zeit T 0 in Fig. 4 werden die Multiplikanden-Bits x 1 bis x 4 und die Multiplikator-Bits y 1 bis y 4 den Einheits­ schaltungen B zugeführt, welche diese addieren, um Teil­ produkte in den Stufen S 1 bis S 4 zu bilden. Die Enable- Signale EN 1 bis EN 5 sind nach wie vor low, wodurch die Aus­ gänge der Einheitsschaltungen B abgeschaltet werden; d. h. sämtliche Ausgänge werden auf low gehalten. In der Stufe S 1 erzeugen die UND-Gatter 11 die Teilprodukt-Bits x 1 · y 1 bis x 4 · y 1. Zur Zeit T 0 + T erzeugen die Volladdierer 12 in der Stufe S 1 Summenausgangssignale SO′ (welche einfach die Teilprodukt-Bits x 1 · y 1 bis x 4 · y 1 sind) und die Übertrag­ ausgangssignals CO′ (welche "0" sind). Zur Zeit T 0 + Ta geht dann das Enable-Signal EN 1 in den High-Zustand und gibt die UND-Gatter 13 und 14 in der Stufe S 1 frei, um die­ se Summen- und Übertragausgangssignale SO′ und CO′ als SO und CO zu den Einheitsschaltungen B in der Stufe S 2 weiter­ zugeben.
Zur Zeit T 0 + Ta beginnen die Einheitsschaltungen B in der Stufe S 2 somit, zusätzlich zu den Multiplikanden-Bits x 1 bis x 4 und dem Multiplikator-Bit y 2 die Summen- und Über­ tragausgangssignale SO und CO von der Stufe S 1 aufzunehmen. Nach einem Intervall T haben die Volladdierer 12 in der Stufe S 2 diese Eingänge addiert, so daß sie auf diese Weise das Teilprodukt in der Stufe S 1 zum Teilprodukt in der Stufe S 2 addiert haben. Zur Zeit T 0 + 2 Ta geht das Enable- Signal EN 2 in den High-Zustand und die Summen- und Übertrag­ ausgangssignale SO und CO, welche die Summe der ersten bei­ den Teilprodukte darstellen, werden der Stufe S 3 zugeführt. Die Volladdierer in der Stufe S 3 addieren dann diese Summe zu dem dritten Teilprodukt. Zur Zeit T 0 + 3 Ta wird das Er­ gebnis zu dem Volladdierer in der Stufe S 4 weitergeleitet, welcher es zum vierten Teilprodukt hinzuaddiert.
Zur Zeit T 0 + 4 Ta, wenn das Enable-Signal EN 4 in den High- Zustand geht, empfangen die Einheitsschaltungen B in der Endstufe S 5 von den Einheitsschaltungen B in der Stufe S 4 die Summen-Bits SO und die Übertrag-Bits CO, welche die Gesamtsumme sämtlicher Teilprodukte darstellen. Zur Zeit T 0 + 5 Ta geht das Enable-Signal EN 5 in den High-Zustand, wodurch die UND-Gatter 13 und 14 in den Einheitsschaltungen B in der Endstufe S 5 des Arrays freigegeben werden. An die­ sem Punkt sind die Summenausgänge SO der Einheitsschaltun­ gen B der Spalte C 1 der Stufen S 1 bis S 4 die Bits P 1 bis P 4 des Endprodukts, und der Summenausgang SO der Einheits­ schaltung B in der Spalte C 1 der Endstufe S 5 ist das Bit P 5 des Endprodukts. Das Übertragausgangssignal CO dieser Einheitsschaltung B wird dem Multiplikator-Eingang y der Einheitsschaltung B in der Spalte C 2 der Endstufe S 5 zuge­ führt, dessen Multiplikanden-Eingang x bis "1" fixiert ist, so daß nach einer Verzögerung von T diese Einheitsschaltung B dieses Übertrag-Bit zu den Bits addiert, welche sie von der Stufe S 4 erhalten hat, so daß auf diese Weise das korrekte P 6-Bit des Endprodukts erzeugt wird. In ähnlicher Weise erzeugt nach einer weiteren Verzögerung von T die Einheitsschaltung B in der Spalte C 3 der Endstufe S 5 das korrekte P 7-Bit des Endprodukts, und nach einer weiteren Verzögerung von T erzeugt die Einheitsschaltung B in der Spalte C 4 der Endstufe S 5 das korrekte P 8-Bit. Es sind daher zur Zeit T 0 + 5 Ta + 3 T sämtliche Bits P 1 bis P 8 des Produkts korrekt und die Multiplikationsoperation ist voll­ endet. Das Produkt wird an den Ausgangsanschlüssen P 1 bis P 8 gehalten, bis das Taktsignal Φ in den High-Zustand geht; dann gehen sämtliche Bits P 1 bis P 8 in den Low-Zustand.
Auf diese Weise werden die Ausgänge der Einheitsschaltungen in einer jeden Stufen im ausgeschalteten Zustand gehalten bis etwa zu der Zeit, wenn die Operation in den Einheits­ schaltungen der speziellen Stufe abgeschlossen ist und die Resultate der Operation bereit sind, an den Ausgängen zu erscheinen. Daher werden die Ausgänge der Einheitsschal­ tungen in den entsprechenden Stufen annähernd gleichzeitig mit dem Fortschreiten der sukzessiven Operation freigegeben.
Nachdem der Summenausgang SO und der Übertragausgang CO der Einheitsschaltungen B in einer jeden Stufe bis zum Ab­ schluß der Operation abgeschaltet werden, wird bei einem 4 × 4-Bit-Multiplizierer der Energieverbrauch im Vergleich zum Stand der Technik um ungefähr 30% reduziert. Die Ener­ gieersparnis wächst mit der Größe der Schaltung an; bei­ spielsweise bei einem 8 × 8-Bit-Parallelmultiplizierer be­ trägt die Energieersparnis ungefähr 40%, und bei einem 16 × 16-Bit-Multiplizierer beträgt sie ungefähr 65%.
Im folgenden wird unter Bezugnahme auf Fig. 5 eine weitere Art einer Einheitsschaltung A beschrieben. Diese Einheits­ schaltung A findet bei den weiteren Ausführungsbeispielen der Erfindung Verwendung.
Die Einheitsschaltung A gemäß Fig. 5 umfaßt ein UND-Gatter 11 zur Aufnahme eines Multiplikanden-Bits x und eines Multi­ plikator-Bits y und zum Erzeugen eines Teilprodukt-Bits x · y, sowie einen Volladdierer 12 um das Teilprodukt-Bit x · y zu einem Summeneingangssignal SI und einem Übertrag­ eingangssignal CI hinzuzuaddieren. Das heißt, die Einheits­ schaltung A gemäß Fig. 5 ist mit der Einheitsschaltung B gemäß Fig. 2 identisch, hat jedoch nicht Enable-Ein­ richtung, die durch den EN-Eingangsanschluß und die UND- Gatter 13 und 14 gebildet wird.
Fig. 6 zeigt einen weiteren 4 × 4-Bit-Parallelmutiplizierer, der die vorliegende Erfindung beinhaltet. Die Array-Anord­ nung dieses Parallelmultiplizierers ist identisch mit der­ jenigen gemäß Fig. 1 mit der Ausnahme, daß die Einheits­ schaltungen B in der Stufe S 1 durch die Einheitsschaltungen A des in Fig. 5 gezeigten Typs ersetzt sind. Die Steuer­ schaltung 20 a ist identisch mit der Steuerschaltung 20 gemäß Fig. 1 mit der Ausnahme, daß sie kein Enable-Signal EN 1 erzeugt. Die Summeneingänge SI und die Übertrageingänge CI der Einheitsschaltungen A in der Stufe S 1 sind bei "0" fixiert. Bei diesem Ausführungsbeispiel werden daher die Enable-Signale den Einheitsschaltungen in den Stufen S 2 bis S 5 in anderer Weise als in der ersten Stufe S 1 zuge­ führt, oder, in anderen Worten, nur den Einheitsschaltungen in den Stufen "stromabwärts" des Arrays.
Nachdem die Summen- und Übertrageingänge SI und CI der Ein­ heitsschaltungen A in der Stufe S 1 bei "0" fixiert sind, ist es möglich, diese Eingänge zu eliminieren, und auch, die Volladdierer 12 aus den Einheitsschaltungen A in der Stufe S 1 zu eliminieren. Die Einheitsschaltungen A in der Stufe S 1 bestehen dann nur aus den UND-Gattern 11, um die Teilprodukt-Bits x 1 · y 1 bis x 4 · y 1 zu erzeugen.
Die Einheitsschaltungen B in der Stufe S 2 gemäß Fig. 6 kön­ nen auch durch die Einheitsschaltungen A gemäß Fig. 5 er­ setzt werden, wodurch es möglich wird, daß auch das Enable- Signal EN 2 eliminiert wird und eine vereinfachte Steuer­ schaltung 20 b, die in Fig. 7 gezeigt ist, verwendet werden kann. Hier sollte der Inverter 71 c eine geringere Antriebs­ energie aufweisen und daher eine längere Verzögerungszeit von ungefähr 3 Ta aufweisen. Obwohl diese Anordnung den Energieverbrauch der Schaltung anhebt, ist der Energiever­ brauch noch deutlich niedriger als beim Stand der Technik.
Fig. 8 zeigt einen weiteren 4 × 4-Bit-Parallelmultiplizierer, der die vorliegende Erfindung beinhaltet. Bei diesem Parallelmultiplizierer sind die Einheitsschaltungen B in den Stufen S 1 und S 2 durch Einheitsschaltungen A gemäß Fig. 5 ersetzt, und die Steuerschaltung 20 c erzeugt nur ein ein­ ziges Enable-Signal EN 3, welches sie den Einheitsschaltun­ gen B in den Stufen S 3 und S 4 und in der Endstufe S 5 zu­ führt. Bei diesem Ausführungsbeispiel wird daher das glei­ che Enable-Signal EN 3 den Einheitsschaltungen in drei Stu­ fen in der stromabwärtsgelegenen Seite zugeführt. Die Steuerschaltung 20 c kann ähnlich sein der Steuerschaltung 20 b gemäß Fig. 7 mit der Ausnahme, daß auch die Verzöge­ rungsschaltungen 24 d und 24 e weggelassen werden können. Im folgenden wird unter Bezugnahme auf das Ablaufdiagramm gemäß Fig. 9 der Betieb des Parallelmultiplizierers gemäß Fig. 8 kurz erläutert.
Die Zeit T 0 in Fig. 9 ist die Zeit, bei der die UND-Gatter 11 in den Einheitsschaltungen A und B die Teilprodukt-Bits x · y erzeugen. Die Zeit T ist die Fortschreitungs-Verzöge­ rung der Volladdierer 12, die in den Einheitsschaltungen A und B die Summen- und Übertragausgangssignale erzeugen. Zur Zeit T 0 + 4 T veranlaßt die Steuerschaltung 20 c, daß das Enable-Signale EN 3 in den High-Zustand geht, wodurch den EN 3-Anschlüssen der Einheitsschaltungen B in den Stufen S 3 und S 4 und in der Endstufe S 5 das Eingangssignal "1" gegeben wird. Das korrekte Produkt wird zur Zeit T 0 + 10 T erhalten. Das Abschalten der Ausgänge der Einheitsschal­ tungen B in den letzten drei Stufen während des Intervalls 4 T reduziert den Energieverbrauch im Vergleich zum Stand der Technik um ungefähr 20% und die Steuerschaltung 20 c kann stark vereinfacht werden, nachdem es nur ein einziges Enable-Signal EN 3 erzeugen muß.
Fig. 10 zeigt ein weiteres Ausführungsbeispiel gemäß der Erfindung. Bei diesem Ausführungsbeispiel ist das Array in drei Blöcke B 1, B 2 und B 3 unterteilt. Der Block B 1 be­ steht aus den ersten und zweiten Stufen S 1 und S 2, die nebeneinander angeordnet sind. Der Block B 2 besteht aus der dritten und der vierten Stufe S 3 und S 4, die nebenein­ anderliegend angeordnet sind. Der Block B 3 besteht ledig­ lich aus der Endstufe S 5. Ein erstes Enable-Signal EN 1 wird sämtlichen Einheitsschaltungen im Block B 1 zugeführt. Ein zweites Enable-Signal EN 3 wird sämtlichen Einheitsschal­ tungen im Block B 2 zugeführt. Ein drittes Enable-Signal EN 5 wird sämtlichen Einheitsschaltungen im Block B 3 zuge­ führt. Eine Steuerschaltung 20 d, die in Fig. 11 gezeigt ist, kann in Verbindung mit dem in Fig. 10 gezeigten Array benutzt werden. Die Steuerschaltung umfaßt einen Inverter 122 und drei Verzögerungsschaltungen 124 a, 124 c und 124 e. Der Inverter empfängt und invertiert das Taktsignal Φ. Die erste Verzögerungsschaltung 124 a umfaßt einen Inverter 121 a, welche das Taktsignal Φ empfängt und invertiert.
Die Verzögerungszeit der ersten Verzögerungsschaltung 124 a ist Ta. Die zweite Verzögerungsschaltung 124 c umfaßt ein NAND-Gatter 123 c, welches das Ausgangssignal der ersten Verzögerungsschaltung 124 a und das Ausgangssignal des In­ verters 122 aufnimmt, sowie einen Inverter 121 c, welcher das Ausgangssignal des NAND-Gatters 123 c aufnimmt. Die Ver­ zögerungszeit der zweiten Verzögerungsschaltung 124 c ist 2 Ta. Die dritte Verzögerungsschaltung 124 e umfaßt ein NAND- Gatter 123 e, welches das Ausgangssignal der zweiten Ver­ zögerungsschaltung 124 e und das Ausgangssignal des Inver­ ters 122 aufnimmt, sowie einen Inverter 121 e, welcher das Ausgangssignal des NAND-Gatters 123 e aufnimmt. Die Verzöge­ rungszeit der zweiten Verzögerungsschaltung 124 e ist 2 Ta. Das Enable-Signal EN 1 wird erzeugt, wenn die Operation in den Einheitsschaltungen in der ersten Stufe S 1 abgeschlos­ sen ist. Das Enable-Signal EN 3 wird erzeugt, wenn die Operation in den Einheitsschaltungen in der dritten Stufe S 3 abgeschlossen ist. Das Enable-Signal EN 5 wird erzeugt, wenn die Operation in den Einheitsschaltungen in der End­ stufe S 5 abgeschlossen ist. Bei diesem Ausführungsbeispiel ist die Energieersparnis kleiner als beim Ausführungsbei­ spiel gemäß Fig. 1, der Aufbau der Steuerschaltung kann jedoch einfacher sein.
Im Rahmen der Erfindung sind zahlreiche Modifikationen der vorstehend beschriebenen Ausführungsbeispiele möglich. Bei­ spielsweise wird in Fig. 2 eine positive Logik verwendet und UND-Gatter 13 und 14 werden als Enable-Einrichtung ver­ wendet, um die Summen- und Übertragausgangssignale SO und CO auf "0" zu zwingen, bis sie mittels eines Enable-Signals freigegeben werden, es können jedoch auch andere Schaltun­ gen verwendet werden, die in der Lage sind, die gleiche Funktion durchzuführen wie die vorstehend genannte Enable- Einrichtung. In alternativer Weise kann eine negative Logik verwendet werden und es können NAND-Gatter verwendet wer­ den, um diese Signale auf "1" zu setzen, wenn sie nicht freigegeben sind. Auch ist es möglich, Enable-Einrichtungen für die Eingänge SI und CI der Volladdierer 12 anstatt für ihre Ausgänge SO und CO vorzusehen, so daß auf diese Weise die Eingänge SI und CI auf "0" oder "1" gezwungen werden, während die Enable-Signale EN 1 bis EN 5 oder EN im inaktiven Zustand sind.
Die Steuerschaltung 20 gemäß Fig. 3 kann anders aufgebaut sein. Ähnliche Modifikationen können in den Steuerschal­ tungen 20 a, 20 b, 20 c und 20 d durchgeführt werden. Es ist auch möglich, Enable-Signale mit unterschiedlichen Verzöge­ rungen zu erzeugen, indem die Belastungskapazität der EN-Eingangs-Anschlüsse in unterschiedlichen Stufen des Arrays varriert werden.
Die Einheitsschaltungen A und B können in unterschiedlichen Stufen auch nach anderen als den in den Figuren gezeigten Schemata verwendet werden. Die Einheitsschaltungen in der Stufe S 1, in der Endstufe und in der Spalte C 1 können modi­ fiziert werden, um unnötige Eingänge zu eliminieren.

Claims (24)

1. Parallelmultiplizierer zur Durchführung einer Multiplika­ tionsoperation hinsichtlich der an einem Multiplikanden-Ein­ gang und einem Multiplikator-Eingang vorliegenden Signale, dadurch gekennzeichnet, daß er folgendes umfaßt:
ein Array von Einheitsschaltungen (B) zum Erzeugen und Addieren der Teilprodukte der Multiplikationsoperation, wobei das Array in Stufen (S 1 bis S 5) organisiert ist und die Ausgangssignale dieser Einheitsschaltungen (B) in einer jeden Stufe als Eingangssignale den Einheitsschaltungen (B) in der nächsten Stufe zugeführt werden, so daß die Operation von der Anfangsstufe (S 1) zur Endstufe (S 5) fort­ schreitet, wobei der Ausgang einer jeden Einheitsschaltung (B) einen ersten Zustand und einen zweiten Zustand annimmt, um ein binäres Bit darzustellen, und wobei der Energiever­ brauch geringer ist, wenn sich der Ausgang im ersten Zu­ stand befindet, und
eine Steuerschaltung (20), um die Ausgänge der Einheits­ schaltungen (B) in einer oder allen Stufen (S 1 bis S 5) des Arrays während zumindest eines Teils der Zeitdauer, bis die Operation in den Einheitsschaltungen in einer speziel­ len Stufe beendet ist, im ersten Zustand zu halten.
2. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß die Steuerschaltung die Ausgänge der Einheitsschaltungen (B) in einigen oder allen Stufen (S 1 bis S 5) des Arrays während der gesamten Zeitdauer im ersten Zustand hält.
3. Multiplizierer nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerschaltung (20) entsprechende Enable-Signale (EN 1 bis EN 5) für entsprechende Stufen (S 1 bis S 5) des Arrays erzeugt und veranlaßt, daß die Enable-Signale in zeitlichen Abständen bzw. in Zeitintervallen in aufeinander­ folgender Sequenz in den aktiven Zustand gehen.
4. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß der erste Zustand ein Disable- bzw. Abschalt-Zustand ist und daß der zweite Zustand ein Enable- bzw. Freigabe- Zustand ist, und daß die Steuerschaltung (20) ein Enable- Signal erzeugt, wenn nicht der Ausgang einer jeden Einheits­ schaltung im ersten Zustand gehalten wird.
5. Multiplizierer nach Anspruch 4, dadurch gekennzeichnet, daß eine jede Einheitsschaltung (B), deren Ausgang mittels der Steuereinrichtung (20) im ersten Zustand gehalten wird, folgendes umfaßt:
ein UND-Gatter (11) zur Aufnahme eines Bits des Multipli­ kanden-Eingangssignals (x) und eines Bits des Multiplika­ tor-Eingangssignals (y) und zum Erzeugen eines Teilprodukt- Bits (x · y),
einen Volladdierer (12) zum Aufnehmen eines Summeneingangs­ signals (SI) und eines Übertrageingangssignals (CI), zum Hinzuaddieren derselben zu dem genannten Teilprodukt-Bit, und zum Erzeugen eines Summenausgangssignals (SO) und eines Übertragausgangssignals (CO), und
eine Enable-Einrichtung zum Freigeben (Enable) oder Abschal­ ten (Disable) des Summenausgangs und des Übertragausgangs in Abhängigkeit von einem Enable-Signal (EN 1 bis EN 5) aus der Steuerschaltung (20).
6. Multiplizierer nach Anspruch 5, dadurch gekennzeichnet, daß die Enable-Einrichtung ein erstes UND-Gatter (14) um­ faßt, um das Summen-Ausgangssignal (SO) und das Enable-Si­ gnal (EN) einer UND-Prozedur zu unterwerfen, sowie ein zwei­ tes UND-Gatter (13), um das Übertragausgangssignal (CO) und das Enable-Signal (EN) einer UND-Prozedur zu unterwer­ fen.
7. Multiplizierer nach Anspruch 4, dadurch gekennzeichnet, daß die Steuerschaltung (20) entsprechende Enable-Signale (EN 1 bis EN 5) für die entsprechenden Stufen (S 1 bis S 5) des Arrays erzeugt und bewirkt, daß diese Enable-Signale in Zeitabständen in aufeinanderfolgende Sequenz in den aktiven Zustand gehen.
8. Multiplizierer nach Anspruch 7, dadurch gekennzeichnet, daß die Steuerschaltung eine Vielzahl von Verzögerungsein­ richtungen (24 a bis 24 e) umfaßt, die in Serie geschaltet sind und die ein Multiplikations-Taktsignal (Φ) aufnehmen, wobei ein Ausgang einer jeder dieser Verzögerungseinrich­ tungen nach einer vorbestimmten Zeitverzögerung, nachdem ein Eingang derselben in den aktiven Zustand gegangen ist, in den aktiven Zustand geht, wobei die Ausgänge der ent­ sprechenden Verzögerungseinrichtungen die Enable-Signale (EN 1 bis EN 5) für die entsprechenden Stufen (S 1 bis S 5) darstellen.
9. Multiplizierer nach Anspruch 8, dadurch gekennzeichnet, daß eine erste (24 a) dieser Verzögerungseinrichtungen, die das Multiplikations-Taktsignal (Φ) aufnimmt, einen Inver­ ter (21 a) umfaßt, und daß sämtliche Verzögerungseinrich­ tungen (24 b bis 24 e) mit Ausnahme der ersten (24 a) ein NAND-Gatter (23 b, 23 c, 23 d, 23 e) umfaßt, welches die Ein­ gangssignale für die Verzögerungseinrichtungen aufnimmt, sowie einen Inverter (21 b, 21 c, 21 d, 21 e), welcher das Aus­ gangssignal des NAND-Gatters aufnimmt und invertiert.
10. Multiplizierer nach Anspruch 9, dadurch gekennzeichnet, daß der Inverter (21 a bis 21 e) in einer jeden Verzögerungs­ einrichtung (24 a bis 24 e) eine so niedrige Antriebsfähig­ keit aufweist, daß hierdurch die Verzögerungszeit zwischen seinem Eingang, der in den aktiven Zustand geht, und seinem Ausgang, der in den aktiven Zustand geht, gebildet wird.
11. Multiplizierer nach Anspruch 9, dadurch gekennzeichnet, daß die Enable-Signale (EN 1 bis EN 5) kapazitive Lasten in den Einheitsschaltungen (B) des Arrays antreiben, und daß die Zeit, die für entsprechende Inverter (21 a bis 21 e) in den Verzögerungseinrichtungen (24 a bis 24 e) erforderlich ist, um die kapazitiven Lasten aufzuladen, die Verzögerungs­ zeit zwischen dem Eingang und dem Ausgang einer jeden Ver­ zögerungseinrichtung darstellt.
12. Multiplizierer nach Anspruch 11, dadurch gekennzeichnet, daß die Verzögerungszeit jeder Verzögerungseinrichtung die von den Einheitsschaltungen (B) einer jeden Stufe (S 1 bis S 5) in Anspruch genommene Zeit übersteigt.
13. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß das Array Blöcke (B 1, B 2, B 3) von Stufen (S 1 bis S 5) umfaßt, wobei ein jeder Block aus entweder einer Stufe oder zwei oder mehreren, nebeneinanderliegenden Stufen (S 5 oder S 1, S 2 bzw. S 3, S 4) besteht, und daß die Steuerschaltung (20 d) die Ausgänge der Einheitsschaltungen (B) in allen Stufen (z. B. S 1, S 2) in jedem Block (z. B. B 1) während zu­ mindest eines Teils der Zeitdauer, bis die Rechenoperation in den Einheitsschaltungen (B) in der Stufe auf der am meisten stromabwärtsgelegenen Seite im Block abgeschlossen ist, im ersten Zustand hält.
14. Multiplizierer nach Anspruch 13, dadurch gekennzeichnet, daß ein jeder Block aus einer Stufe besteht, und daß die Steuerschaltung die Ausgänge der Einheitsschaltungen in einigen oder allen Stufen des Arrays während der Gesamtheit der Zeitdauer, bis die Operation in den Einheitsschaltungen in der speziellen Stufe abgeschlossen ist, im ersten Zu­ stand hält.
15. Multiplizierer nach Anspruch 13, dadurch gekennzeichnet, daß die Steuerschaltung entsprechende Enable-Signale (EN 1, EN 3, EN 5) für die entsprechenden Blöcke (B 1 B 2, B 3) er­ zeugt und veranlaßt, daß die Enable-Signale in Intervallen in aufeinanderfolgender Sequenz in den aktiven Zustand gehen.
16. Multiplizierer nach Anspruch 13, dadurch gekennzeichnet, daß der erste Zustand ein abgeschalteter Zustand (Disable) und der zweiten Zustand ein Freigabe-Zustand (Enable) ist, und daß die Steuerschaltung ein Enable-Signale erzeugt, wenn nicht der Ausgang einer jeden Einheitsschaltung im ersten Zustand gehalten wird.
17. Multiplizierer nach Anspruch 16, dadurch gekennzeichnet, daß eine jede Einheitsschaltung, deren Ausgang mittels der Steuereinrichtung im ersten Zustand gehalten wird, folgen­ des umfaßt:
ein UND-Gatter zur Aufnahme eines Bits des Multiplikanden- Eingangssignals (x) und eines Bits des Multiplikator-Ein­ gangssignals (y) und zum Erzeugen eines Teilprodukt-Bits (x · y),
einen Volladdierer zum Aufnehmen eines Summeneingangssi­ gnals (SI) und eines Übertrageingangssignals (CI), zum Hinzu­ addieren derselben zum Teilprodukt-Bit (x · y), und zum Er­ zeugen eines Summenausgangssignals und eines Übertragaus­ gangssignals, und
eine Enable-Einrichtung zum Freigeben oder Abschalten des Summenausgangs und des Übertragausgangs in Abhängigkeit von einem von der Steuerschaltung empfangenen Enable-Si­ gnals.
18. Multiplizierer nach Anspruch 17, dadurch gekennzeichnet, daß die Enable-Einrichtung ein erstes UND-Gatter umfaßt, um das Summenausgangssignal und das Enable-Signal einer UND-Verknüpfung zu unterwerfen, sowie ein zweites UND-Gat­ ter, um das Übertragausgangssignal und das Enable-Signal einer UND-Verknüpfung zu unterwerfen.
19. Multiplizierer nach Anspruch 16, dadurch gekennzeichnet, daß die Steuerschaltung entsprechende Enable-Signale für die entsprechenden Blöcke erzeugt und veranlaßt, daß die Enable-Signale in Zeitintervallen in aufeinanderfolgender Sequenz in den aktiven Zustand gehen.
20. Multiplizierer nach Anspruch 19, dadurch gekennzeichnet, daß die Steuerschaltung eine Vielzahl von Verzögerungsein­ richtungen umfaßt, die in Serie geschaltet sind und die ein Multiplikations-Taktsignal (Φ) empfangen, wobei ein Ausgang einer jeden Verzögerungseinrichtung eine vorbestimm­ te Verzögerungszeit, nachdem ein Eingang hiervon in den aktiven Zustand geht, in den aktiven Zustand geht, wobei die Ausgänge der entsprechenden Verzögerungseinrichtungen die Enable-Signale für die entsprechenden Blöcke darstellen.
21. Multiplizierer nach Anspruch 20, dadurch gekennzeichnet, daß eine erste dieser Verzögerungseinrichtungen, welche das Multiplikations-Taktsignal (Φ) aufnimmt, einen Inver­ ter umfaßt, und daß eine jede Verzögerungseinrichtung mit Ausnahme der ersten Verzögerungseinrichtung ein NAND-Gatter umfaßt, welches die Eingangssignale für die Verzögerungsein­ richtungen empfängt, sowie einen Inverter, welcher das Aus­ gangssignal des NAND-Gatters aufnimmt und invertiert.
22. Multiplizierer nach Anspruch 21, dadurch gekennzeichnet, daß der Inverter einer jeden Verzögerungseinrichtung eine so niedrige Antriebsfähigkeit aufweist, daß er eine Ver­ zögerungszeit zwischen seinem in den aktiven Zustand gehen­ den Eingang und seinem in den aktiven Zustand gehenden Aus­ gang erzeugt.
23. Multiplizierer nach Anspruch 21, dadurch gekennzeichnet, daß die Enable-Signale kapazitive Lasten in den Einheits­ schaltungen im Array antreiben, und daß die Zeit, die für die entsprechenden Inverter in den Verzögerungseinrichtungen erforderlich ist, um die kapazitiven Lasten zu laden, die Verzögerungszeit zwischen dem Eingang und dem Ausgang einer jeden Verzögerungseinrichtung darstellt.
24. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß die Steuerschaltung die Ausgänge der Einheitsschaltungen in sämtlichen Stufen auf der stromabwärtsgelegenen Seite des Array hält.
DE3901995A 1988-01-25 1989-01-24 Parallelmultiplizierer Granted DE3901995A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63014184A JP2672956B2 (ja) 1988-01-25 1988-01-25 並列乗算器

Publications (2)

Publication Number Publication Date
DE3901995A1 true DE3901995A1 (de) 1989-08-03
DE3901995C2 DE3901995C2 (de) 1993-05-27

Family

ID=11854044

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3901995A Granted DE3901995A1 (de) 1988-01-25 1989-01-24 Parallelmultiplizierer

Country Status (3)

Country Link
US (2) US4982355A (de)
JP (1) JP2672956B2 (de)
DE (1) DE3901995A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0583120A1 (de) * 1992-08-03 1994-02-16 Advanced Micro Devices, Inc. Vorrichtung zur Steuerung der Stromversorgung zu selektierten Teilen eines Multiplikationswerks
DE4409834A1 (de) * 1993-03-22 1994-09-29 Mitsubishi Electric Corp Multiplizierschaltung und Divisionsschaltung

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2862723B2 (ja) * 1992-03-16 1999-03-03 沖電気工業株式会社 ディジタル信号処理装置
DE69212460T2 (de) * 1992-04-10 1996-11-28 Sgs Thomson Microelectronics Digitaler Multiplizierer mit diagonaler Fortpflanzung
US5333119A (en) * 1992-09-30 1994-07-26 Regents Of The University Of Minnesota Digital signal processor with delayed-evaluation array multipliers and low-power memory addressing
US5283755A (en) * 1993-04-14 1994-02-01 International Business Machines Corporation Multiplier employing carry select or carry look-ahead adders in hierarchical tree configuration
US5457646A (en) * 1993-10-12 1995-10-10 Industrial Technology Research Institute Partial carry-save pipeline multiplier
DE4432425A1 (de) * 1994-03-21 1995-09-28 Siemens Ag Multiplizierer in Carry-Ripple-Technik
DE4432432A1 (de) * 1994-09-12 1996-03-14 Siemens Ag Multiplizierer in Carry-Save-Technik
JP3427275B2 (ja) * 1994-06-15 2003-07-14 三菱電機株式会社 乗算器
US5787029A (en) * 1994-12-19 1998-07-28 Crystal Semiconductor Corp. Ultra low power multiplier
US5818743A (en) * 1995-04-21 1998-10-06 Texas Instruments Incorporated Low power multiplier
DE19521092C1 (de) * 1995-06-09 1996-07-25 Siemens Ag Schaltungsanordnung zur Realisierung einer binären Multipliziererzelle
US5729485A (en) * 1995-09-11 1998-03-17 Digital Equipment Corporation Fast determination of carry inputs from lower order product for radix-8 odd/even multiplier array
US5923273A (en) * 1996-11-18 1999-07-13 Crystal Semiconductor Corporation Reduced power FIR filter
US5974437A (en) * 1996-12-02 1999-10-26 Synopsys, Inc. Fast array multiplier
JPH10320378A (ja) * 1997-05-19 1998-12-04 Mitsubishi Electric Corp 演算装置
US6604120B1 (en) * 1997-09-04 2003-08-05 Cirrus Logic, Inc. Multiplier power saving design
US5914892A (en) * 1997-11-04 1999-06-22 Taiwan Semiconductor Manufacturing Co., Ltd Structure and method of array multiplication
US6215325B1 (en) 1999-03-29 2001-04-10 Synopsys, Inc. Implementing a priority function using ripple chain logic
US6963889B1 (en) 2000-02-24 2005-11-08 Intel Corporation Wave digital filter with low power consumption
SG118136A1 (en) * 2002-05-22 2006-01-27 Sylvester Chang Joseph A digital multiplier with reduced spurious switching by means of latch adders
US7546331B2 (en) * 2005-03-17 2009-06-09 Qualcomm Incorporated Low power array multiplier
US9787290B2 (en) * 2015-05-20 2017-10-10 Altera Corporation Resource-saving circuit structures for deeply pipelined systolic finite impulse response filters

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2540261A1 (fr) * 1983-01-28 1984-08-03 Labo Cent Telecommunicat Multiplieur parallele en circuit integre mos du type pipe-line

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3900724A (en) * 1974-02-11 1975-08-19 Trw Inc Asynchronous binary multiplier using non-threshold logic
US4302819A (en) * 1979-10-22 1981-11-24 Hewlett-Packard Company Fault tolerant monolithic multiplier
US4409665A (en) * 1979-12-26 1983-10-11 Texas Instruments Incorporated Turn-off-processor between keystrokes
JPS5731043A (en) * 1980-07-31 1982-02-19 Toshiba Corp Semiconductor operating circuit
JPS5731042A (en) * 1980-07-31 1982-02-19 Toshiba Corp Multiplaying and dividing circuits
US4369500A (en) * 1980-10-20 1983-01-18 Motorola Inc. High speed NXM bit digital, repeated addition type multiplying circuit
JPS5949640A (ja) * 1982-09-16 1984-03-22 Toshiba Corp 乗算回路
JPS6045842A (ja) * 1983-08-23 1985-03-12 Matsushita Electric Ind Co Ltd 乗算回路
US4748583A (en) * 1984-09-17 1988-05-31 Siemens Aktiengesellschaft Cell-structured digital multiplier of semi-systolic construction
US4736335A (en) * 1984-11-13 1988-04-05 Zoran Corporation Multiplier-accumulator circuit using latched sums and carries
US4887233A (en) * 1986-03-31 1989-12-12 American Telephone And Telegraph Company, At&T Bell Laboratories Pipeline arithmetic adder and multiplier

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2540261A1 (fr) * 1983-01-28 1984-08-03 Labo Cent Telecommunicat Multiplieur parallele en circuit integre mos du type pipe-line

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Z: IEEE Transactions on Computers, March 1975, S. 317-322 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0583120A1 (de) * 1992-08-03 1994-02-16 Advanced Micro Devices, Inc. Vorrichtung zur Steuerung der Stromversorgung zu selektierten Teilen eines Multiplikationswerks
DE4409834A1 (de) * 1993-03-22 1994-09-29 Mitsubishi Electric Corp Multiplizierschaltung und Divisionsschaltung
US5619440A (en) * 1993-03-22 1997-04-08 Mitsubishi Denki Kabushiki Kaisha Multiplier circuit with rounding-off function
DE4409834C2 (de) * 1993-03-22 1998-09-10 Mitsubishi Electric Corp Multiplizierschaltung

Also Published As

Publication number Publication date
US5010510A (en) 1991-04-23
DE3901995C2 (de) 1993-05-27
JPH01189724A (ja) 1989-07-28
JP2672956B2 (ja) 1997-11-05
US4982355A (en) 1991-01-01

Similar Documents

Publication Publication Date Title
DE3901995C2 (de)
DE3700991C2 (de) Digitaler Übertragsvorgriffsaddierer
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE3927009A1 (de) Addierschaltung
DE102020113922A1 (de) Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen
DE2803425A1 (de) Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken
EP0086904A1 (de) Digitale Parallel-Rechenschaltung für positive und negative Binärzahlen
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE3940897C2 (de) Schaltungsanordnung und Verfahren zur Berechnung digitaler Summen in einem Halbleiteraddierer mit Parallelübertrag
DE2730918A1 (de) Anordnung zum multiplizieren von binaerzahlen
DE3447634C2 (de)
EP0090298B1 (de) In MOS-Technik integrierter schneller Multiplizierer
DE3836205C2 (de)
DE2017132C3 (de) Binärer ParaUel-Addierer
DE3933172A1 (de) Akkumulator fuer komplexe zahlen
EP0752130B1 (de) Multiplizierer mit geringer laufzeit
EP0333884B1 (de) CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen
EP0424410B1 (de) Multiplizierer
DE2943148A1 (de) Digitaladdierer
DE1774483A1 (de) Binaeres Multiplizierwerk
DE1094020B (de) Periodisch arbeitende numerische Rechenmaschine
DE19635111A1 (de) Multiplizierer
DE3540800A1 (de) Binaeraddierer-zelle und aus solchen binaeraddierer-zellen zusammengesetztes schnelles addier- und multiplizierwerk
DE10130484B4 (de) 7-zu-3 Bit Carry-Save Addierer und Addierer damit
DE10139099C2 (de) Carry-Ripple Addierer

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee