DE3901995A1 - Parallelmultiplizierer - Google Patents
ParallelmultipliziererInfo
- 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
Links
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/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
- G06F7/5312—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
-
- 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/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements 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)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (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.
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).
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.
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.
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)
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)
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)
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)
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 |
-
1988
- 1988-01-25 JP JP63014184A patent/JP2672956B2/ja not_active Expired - Lifetime
-
1989
- 1989-01-20 US US07/300,492 patent/US4982355A/en not_active Expired - Lifetime
- 1989-01-24 DE DE3901995A patent/DE3901995A1/de active Granted
-
1990
- 1990-09-07 US US07/579,343 patent/US5010510A/en not_active Expired - Fee Related
Patent Citations (1)
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)
Title |
---|
US-Z: IEEE Transactions on Computers, March 1975, S. 317-322 * |
Cited By (4)
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 |
---|---|
DE3901995C2 (de) | 1993-05-27 |
US4982355A (en) | 1991-01-01 |
JPH01189724A (ja) | 1989-07-28 |
JP2672956B2 (ja) | 1997-11-05 |
US5010510A (en) | 1991-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3901995C2 (de) | ||
DE69232720T2 (de) | Übertragungsmultiplexer mit einer reihenschaltung von gattern | |
DE3853805T2 (de) | Digitaler Multiplizierer und Multiplizierer-Akkumulator, welcher Zwischenergebnisse vorlädt und akkumuliert. | |
DE3700991C2 (de) | Digitaler Übertragsvorgriffsaddierer | |
DE69821408T2 (de) | Multiplikationsverfahren und -vorrichtung | |
DE3927009A1 (de) | Addierschaltung | |
DE68921161T2 (de) | Programmierbares digitales Filter. | |
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 | |
DE69026414T2 (de) | Binäres Addiergerät | |
DE3447634C2 (de) | ||
EP0090298B1 (de) | In MOS-Technik integrierter schneller Multiplizierer | |
DE3836205C2 (de) | ||
DE2017132C3 (de) | Binärer ParaUel-Addierer | |
DE69206604T2 (de) | Schnelle Addierkette. | |
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 | |
DE69209826T2 (de) | Schnelle Addierkette |
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 |