DE2636028A1 - Digitaler multiplizierer - Google Patents
Digitaler multipliziererInfo
- Publication number
- DE2636028A1 DE2636028A1 DE19762636028 DE2636028A DE2636028A1 DE 2636028 A1 DE2636028 A1 DE 2636028A1 DE 19762636028 DE19762636028 DE 19762636028 DE 2636028 A DE2636028 A DE 2636028A DE 2636028 A1 DE2636028 A1 DE 2636028A1
- Authority
- DE
- Germany
- Prior art keywords
- adder
- input
- word
- multiplier
- conductor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/04—Recursive filters
-
- 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/544—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 for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
- G06F7/49921—Saturation, i.e. clipping the result to a minimum or maximum value
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Complex Calculations (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Description
Patentanwalt ο η ο c η
Dipl.-PhyS.Leo Thul Zb 0 0 U
Kurze Straße 8
7 Stuttgart 30
M.J.Gingell-13
INTERNATIONAL STANDARD ELECTRTC CORPORATION, NEW YORK
DIGITALER MULTIPLIZIERER
Die Erfindung betrifft einen digitalen Multiplizierer,
insbesondere für digitale Filter, mit einem Addierer und einem Akkumulator, in dem die Ausgangssignale des Addierers gespeichert und bei jeder Addition um ein Bit verschoben werden.
insbesondere für digitale Filter, mit einem Addierer und einem Akkumulator, in dem die Ausgangssignale des Addierers gespeichert und bei jeder Addition um ein Bit verschoben werden.
Es handelt sich um einen "Addier- und Verschiebe-Multiplizlerer",
der sich beispielsweise in digitalen Filtern für Nachrichtenübertragungssysteme verwenden läßt.
Der Addierer enthält mehrere Zellen, je eine für ein Bit
eines Digitalwortes. Jede Zelle hat zwei Eingänge für die beiden Summanden, den Addenden und den Augenden, und
Ausgänge für die Summe und den Übertrag. Eine sogenannte "Volladdierer-Zelle" hat dazu noch einen dritten Eingang für den Übertrag aus der Zelle mit demnächstniedrigeren Stellenwert.
Ausgänge für die Summe und den Übertrag. Eine sogenannte "Volladdierer-Zelle" hat dazu noch einen dritten Eingang für den Übertrag aus der Zelle mit demnächstniedrigeren Stellenwert.
CS/P-Kg/Scho
5.8.1976
5.8.1976
709810/1008
M.J.Gingell-13
Bei einem bekannten Multiplizierer, der einen parallelen Koeffizienten B mit einem ankommenden seriellen Datenwort
C multiplizieren soll, um das Produkt A=B.C im Akkumulator zu bilden, wird der Multiplikand B in paralleler Form
während der Dauer des Wortes C an eine Anzahl von UND-Schaltungen angelegt.
Jedes Bit des Wortes C wird, beginnend mit dem niedrigstwertigen Bit, allen UND-Schaltungen zugeführt. Wenn ein
Bit des Wortes C eine "1" ist, so wird der Multiplikand B zum Akkumulatorinhalt addiert,und der Inhalt des Akkumulators
wird nach rechts geschoben, bevor das nächste Bit des Wortes C den UND-Schaltungen zugeführt wird. Wenn das
Bit 11O" istrwird nichts addiert. Dies wird fortgesetzt,
bis alle Bits des Wortes C den UND-Schaltuncren zugeführt
sind und die Multiplikation damit abgeschlossen ist. Das Produkt A steht nun im Akkumulator und läßt sich, wie
verlangt, mit verschiedenen bekannten Verfahren ausspeichern.
Negative Zahlen lassen sich mit einfachen Abwandluncren
verarbeiten. Wenn die Daten beispielsweise im Zweier-Komplement vorliegen, hat das höchstwertige Bit ein negatives
Gewicht, und nur bei diesem Bit wird der Multiplikand B vom Akkumulatorinhalt subtrahiert statt zu ihm addiert.
In digitalen Filtern wird ein digital codiertes abgetastetes Signal dadurch gefiltert, daß verschiedene verzögerte
Kopien des Signals, mit verschiedenen geeigneten Koeffizienten gewichtet, miteinander kombiniert werden. In einem digitalen
Filter muß also im allgemeinen ein Wert der Form
P = (D1.E1) + (D2.E2) + D3.E3) + ... (Dn.En)
berechnet werden. D1, D2 usw. sind dabei serielle Datenwörter r und E1, E2 usw. sind die Wichtungskoeffizienten.
709810/1008
M.J.Gingel1-13
Mit dem oben beschriebenen einfachen Multiplizierer kann eine solche Rechnung nur in der folgenden Weise
durchgeführt werden. Zunächst erfolgt die Multiplikation D1 .El, dann wird das Ergebnis gespeichert und der in
paralleler Form den UND-Schaltungen zugeführte Koeffizient E geändert. Darauf erfolgt die nächste Multiplikation
D2.E2, und deren Ergebnis wird zum vorher gespeicherten
Produkt D1.E1 addiert und die Summe gespeichert. Dieser Vorgang wird sooft wie nötig wiederholt. Dabei ist der
Wert P erst nach η Wortperioden berechnet.
Aufgabe
Es ist die Aufgabe der Erfindung, einen Multiplizierer
der eingangs genannten Art anzugeben, der innerhalb einer einzigen Wortperiode η gleichzeitig eingegebene serielle
Datenwörter gleichzeitig mit vorgegebenen Koeffizienten multipliziert und die Summe der Produkte liefert.
Lösung
Die Aufgabe wird mit den im Patentanspruch 1 angesehenen
Mitteln gelöst. Weiterbildungen ergeben sich aus den Unteransprüchen.
Die Erfindung wird nun anhand der Zeichnungen beispielsweise näher erläutert.
Es zeigt:
Es zeigt:
Fig.1 ein Blockschaltbild eines einfachen erfindungsgemäßen
digitalen Multiplizierers mit einem einzigen Volladdierer und einem einzigen Akkumulator
und mit einer einfachen Eingabematrix;
709810/100 8
M.J.Gingell-13
Fig.2 ein Blockschaltbild des Multiplizierers nach Fig.1 mit einer erweiterten Eingabematrix;
Fig.3 ein Blockschaltbild eines digitalen Filters,
dessen digitaler Multiplizierer einen Akkumulator und ein Schieberegister und Mittel zur überlauferkennung
hat;
Fig.4 ein Blockschaltbild einer weiteren Abwandlung des Multiplizierers nach Fig.1 mit einem zweiten
Volladdierer und mit einer erweiterten Eingabematrix;
Fig.5 ein Blockschaltbild eines vollständigen digitalen
Multiplizierers zur Verarbeitung von im Zweierkomplement vorliegenden Daten, bei dem bei der
Addition der übertrag gespeichert wird (carry-save) und getrennte Summen- und Übertragsakkumulatoren
und getrennte Summen- und übertragsschiebereoister vorgesehen sind.
Der in Fig.1 gezeigte einfache Multiplizierer hat einen aus sechs "Volladdierer"-Zellen aufgebauten sechsstufigen
Addierer ADD, bei dem der übertrag jeder Zelle der Zelle mit dem nächstniedrigeren Stellenwert zuaeführt wird.
Ein siebenstufiger Akkumulator ACC übernimmt in seine Stufen AO bis A5 die Summen-Ausgangssianale Σ0 ... Σ5
der AddiererzeIlen. Die höchstwertige Stufe A6 des Akkumulators übernimmt den übertrag C6 aus der höchstwertigen
7098 10/1008
M.J.Gingell-13
Addiererzelle. Der Inhalt jeder der Akkumulatorstufen
A6 .·.. A1 wird mit der Bitgeschwindigkeit der Eingangsdaten auf einen Eingang der jeweils nächstniedrigerwertigen
AddiererzeIlen zurückgeführt, und das Ausgangssignal des Multiplizierers wird seriell der Akkumulatorstufe
AO entnommen. Jede Zelle des Addierers hat zusätzlich zum Übertrags- und Rückführeingang (für den Augenden)
einen Dateneingang (für den Addenden). über eine Eingabematrix
gelangen serielle Datenwörter D1 und D2 gleichzeitig auf verschiedene Dateneingänge des Addierers. Es sei
angenommen, daß die Rechnung
P = g D1 + ξ D2 ausgeführt werden soll.
I und I sind dabei feste Koeffizienten. Der erste Teil
der Rechnung, die Multiplikation von D1 mit |, läßt sich in zwei Schritten durchführen:
§ Df- J D1 + J.D1.
§ Df- J D1 + J.D1.
Zur Multiplikation von D1 mit ^ wird D1 einfach um eine
Bitposition nach rechts verschoben, und zur Multiplikation mit s um 3 Bitpositionen. Falls dem Eingang 15 der höchstwertigen
Addiererzelle ein Wichtungskoeffizient von 1, d.h. 2°, zugeschrieben wird, so wird D1 dadurch mit ^ multipliziert,
daß es dem Eingang 14 zugeführt wird, der ein Gewicht von
i oder 2 hat. Die Multiplikation von D1 mit g geschieht
durch Eingabe von Di am Einaang 12, der ein Gewicht von
1 —3
* oder 2 hat. Wenn Di gleichzeitig auf diese Eineränge
14 und 12 gelangt, so erhält der Akkumulator das Ergebnis
J D1 + J D1 = § D1. In ähnlicher Weise wird oleichzeitig
2 8 ö
7098 10/10 08
M.H.Gingell-13
D2 dem Eingang 13 eingegeben, sodaß sich im Akkumulator
das Ergebnis P der gesamten Rechnung ergibt.
Die Rechenmöglichkeiten der einfachen Anordnung nach Pig.1 sind in der Praxis eng begrenzt. Eine größere
Flexibilität läßt sich durch eine Ternärkodierung der Koeffizienten erreichen. Angenommen, es sei die Rechnung
P = ξ Dt + .j-gD2 - 1 D3 durchzuführen.
Dies ist möglich, wenn die Koeffizienten folgendermaßen
kodiert werden:
§= | ΐοοΤοο = | 1 8 |
010010 = | 1 16 |
|
1 _ -4 |
00T000 = | |
» 1 - | ||
•1 + | ||
•-J |
Dabei bedeutet 1, daß dieses Bit ein negatives Gewicht
hat. Die Rechnung läßt sich mit der in Fig.2 gezeigten Anordnung durchführen. Der Addierer und der Akkumulator
sind gleich den in Fig.1 gezeigten, nur die Eingabematrix
ist erweitert. Zu jedem Zeilenleiter (Fig.1) gibt es hier einen weiteren Zeilenleiter, über den das Eingangsdatenwort
auch in invertierter Form dem geeigneten Eingang des Addierers zugeführt werden kann.
Das Datenwort D1 gelangt direkt auf den Eingang 15 und
über den Inverter INV in komplementierter Form auf den Eingang 12. Diesbedeutet, daß in Wirklichkeit die negativen
Gewichte der ternär dargestellten Koeffizienten durch Umkehrung des Vorzeichens der Daten realisiert sind. Es
709810/100
M.J.Gingell-13
wird also § D1 = (1-|) D1 als 1.D1 + | .(-D1) behandelt.
D2 und D3 werden in ähnlicher Weise über die Eingabematrix dem Addierer eingegeben. Auch hier ist es wichtig
zu betonen, daß einem Addierereingang jeweils nur ein Datenwort, entweder direkt oder invertiert, zugeführt
wird.
Für Fälle, in denen verschiedene Koeffizienten, die als Datenworte betrachtet werden können, an den gleichen
Stellen von Null verschiedene Bits haben, läßt sich durch die Verwendung von Serienaddierern mehr Flexibilität
erreichen, auch wenn die Koeffizienten in ternärer Form dargestellt werden. In anderen Worten, in solchen Fällen
müssen mehrere ankommende Datenwörter derselben Addiererzelle zugeführt werden. Beispielsweise sei die Rechnung
P = (D1.E1) + (D2.E2) + (D3.E3) + (D4.E4) + (D5.E5)
betrachtet, wobei die Koeffizienten die nachstehend als Brüche und in ternärer Darstellung aufgeführten Werte
haben.
Wert Ternärform
E1 | 136/256 |
E2 | |
E3 | -2^6 |
E4 | 2 /f28 |
E5 | -103/256 |
OOO1OOO1OOO 01 IoToTooTo
TOIOOTOOIOO 0100Ϊ00 00Ϊ0
000Τ0Ι0Τ00Ι
Gewicht des Eingangs 4 2 1 2481632 64128256
In fast jeder Spalte gibt es mehrere von Null verschiedene Bits, jedoch nirgends mehr als zwei. Die Rechnung läßt sich
709810/1008
M.J.Gingell-13
in der Weise durchführen, daß jeweils zwei Datenwörter, die
mit einem Bit desselben Stellenwertes zu multiplizieren sind, addiert werden. In diesem Fall wird wie folgt gerechnet:
P = 22(-D3) + 21(D2+D4) + 2°(D2+D3) + 2~1(-D5+D1)
+ 2~2(-D3-D2) + 2~3(D5-D3) + 2~4(-D2) + 2~5(-D5+Di)
+2~6(D3) + 2"7(-D2-D4) + 2~8(D5).
Eine Anordnung zur Durchführung dieser Rechnuna zeigt Fig.3.
Dabei handelt es sich um ein rekursives digitales Filter
vierten Grades, dessen einziges Eingangswort D1 ist und dessen Wörter D2 bis D5 vom Ausgancrssignal des Multiplizierers
abgeleitet werden. D2 ist das Ausgangsdatenwort, und D3 bis DS sind aufeinanderfolgend verzöoerte Versionen davon.
Die Verzögerung beträgt dabei jeweils eine Wortneriode.
Der Eingang 110 mit dem Gewicht 2 empfänat das Wort D3
über einen Inverter. Der Eingang 19 (Gewicht 2 ) empfängt die serielle Summe der in einer Serienaddiererzelle 30
addierten Wörter D2 und D4. Der Eingang T8 (Gewicht 2°) empfängt die serielle Summe der in einer Serienaddiererzelle
31 addierten Wörter D2 und D3 usw.
Um ein überlaufen der Serienaddiererzellen zu verhindern,
müssen die Daten auf die Hälfte des vollen Bereichs beschränkt werden, so daß nach einer Addition zweier beliebiger Wörter die Summe noch innerhalb des vollen Bereichs
bleibt.
Das in Fig.3 gezeigte Filter ist dafür ausgelegt, mit
sogenannten "Offset-Binärdaten" zu arbeiten. Bei solchen
Daten beträgt der Wert eines N-Bit-Wortes:
709810/100 8
M.j.Gingell-13
D=Z 2~r+1 (2B..-1),
r=1
r=1
wobei das r-te Bit Bj. gleich O oder 1 ist. Somit ist der
gewichtete Wert dieses Bits entweder -2 oder +2 . Die Vorzeichenumkehr, d.h. die Multiplikation mit -1,
geschieht durch Komplementbildung (Invertieren) der Datenbits.
In einem digitalen Filter kann das Ausgangssignal bisweilen
den erlaubten Datenbereich überschreiten, so daß für diesen
Fall ein tiberlauf schutz vorgesehen werden muß. Dies läßt sich
folgendermaßen erklären. Wenn die Multiplikation beginnt, beginnen die niedrigstwertigen Bits des Ergebnisses, den
niedrigstwertigen Addiererausgang zu verlassen. Nach Ablauf
der Multiplikationsperiode stehen die verbleibenden höchstwertigen Bits im Akkumulator £0 bis £10 und müssen
in ein Schieberegister Ti bis Tn übertragen werden, so daß der Akkumulator für den Beginn einer neuen Multiplikation
geleert werden kann. Während der Multplizierer an dieser neuen Multiplikation arbeitet, werden die Bits im Schieberegister aus diesem herausgeschoben, um das"vorhergehende
Ergebnis zu vervollständigen. Wenn die Festpunktarithmetik verwendet wird, ist es im allgemeinen jedoch notwendig,
das maximale Ergebnis auf den Bereich zu beschränken, der durch das Datenformat ausdrückbar ist. In digitalen Filtern,
besonders in rekursiven digitalen Filtern, kann das Ergebnis den verfügbaren Datenbereich überschreiten, so daß ein unerwünschter
überlauf und damit Instabilitäten möglich sind, falls die wenigen höchstwertigen Bits des Ergebnisses einfach
fallengelassen werden. Wenn jedoch diese Bits gespeichert werden und das Ergebnis geprüft wird, um zu sehen, ob der
erlaubte Bereich überschritten worden ist, so kann der MuI-
7 0 9810/1008
M.J.GinCTell-13
tiplizierer so gebaut werden, daß er ein maximales positives
oder negatives Ergebnis abgibt. Dies geschieht in der Anordnung nach Fig.3 dadurch, daß die Zustände der Bits T8
bis T11 geprüft werden, um festzustellen, ob ein Oberlauf auftreten wird, wenn die Bits T8 bis T11 fallengelassen
werden, und daß mit dem Ergebnis das Ausganoswort des Multiplizierers
in einer Überlaufkorrekturschaltung korrigiert wird. Wenn kein Überlauf auftritt, so kann das normale
Ausgangswort herausgegeben werden, wenn jedoch ein Überlauf aufgetreten ist; so wird gemäß dem Vorzeichen ein maximales
positives oder negatives Datensignal als vollständiges Ergebnis herausgegeben.
Eine andere Möglichkeit, den in Fig.1 und 2 gezeigten einfachen
Multiplizierer flexibler zu machen, besteht darin, mehrere Eingänge pro Stufe des Multiplizierers vorzusehen und dazu
eine zweite Reihe von Paralleladdiererzellen zu verwenden. Wenn d±e ternär dargestellten Koeffizienten im selben Stellenwert
mehrere von Null verschiedene Bits haben, können die Daten über verschiedene Eingänge eingegeben werden, ohne
daß sie vorher addiert zu werden brauchen. Somit braucht auch ihre Größe nicht vorher beschränkt zu werden. Eine
solche Anordnung zeigt Fig.4.
Der eigentliche Multiplizierer unterscheidet sich von dem in den bisher beschriebenen Figuren gezeigten dadurch,
daß eine zusätzliche Reihe von Addiererzellen ADD 2 vorgesehen
ist, die der ersten Reihe ADD1 vorgeschaltet ist. Es sei betont, daß die Reihe ADD1 eine Zelle mehr als die
Reihe ADD2 haben muß. Die Eingabematrix liefert die Einaangs-
709810/1008
M.J.Gingell-13
Wörter an die Zellen der Reihe ADD2.
Es sei die Rechnung
P = g D1 - I D2 + I D3 betrachtet.
Die Leitermatrix zur Eingabe der Eingangsdatenwörter in
vorbestimmte Eingänge des Multiplizierers stellt eine
flexible Anordnung dar. Für jedes Eingangsdatenwort sind zwei Zeilenleiter vorgesehen, über den einen läßt sich
das Datenwort direkt und über den anderen nach Durchlaufen eines Vorzeichenumkehrers (Invertierer) INV in invertierter
Form den Eingängen zuführen. Durch Verbindung der Zeilenleiter mit den die Eingangsleitungen der Addiererzellen
bildenden Spaltenleitern an den geeigneten Kreuzungspunkten
lassen sich also positive oder negative Daten eingeben und somit die ternär dargestellten Koeffizienten realisieren.
Mit dieser Anordnung läßt sich jede Form von binärkodierten
Daten verarbeiten, wie z.B. die normale Binärforir, die
Zweier-Komplement-Binärform, die Binärform mit der Basis
-2 usw., vorausgesetzt, daß die Logik der Vorzeichenumkehr und der Addierer der jeweiligen Kodierung angepaßt ist.
Verschiedene Kodes lassen sich ineinander umwandeln, indem
man geeignete Umwandlungskonstanten an freie Eingänge anlegt und die Polarität der Datenbits umkehrt, wo es notvrendig ist.
Bei der gezeigten Anordnung sind die übertragseingänoe
der niedrigstwertigen Addiererzellen geerdet. Pie lassen
sich aber verwenden als:
a) zusätzliche Dateneingänge;
a) zusätzliche Dateneingänge;
7 0 9 810/1008
M.J.Gingell-13
b) zur Eingabe eines Rundungssignals
c) zur automatischen Löschung des Akkumulators.
Die Verwendung gemäß diesem letzten Punkt kann den Schaltungs· aufwand und die Verarbeitungszeiten des Multiplizierers
beträchtlich vereinfachen, da dadurch auf zusätzliche Löschelemente jeder Akumulatorzelle verzichtet werden kann.
Im Folgenden wird eine abgewandelte Form des Multiplizierers nach Fig.4 beschrieben. Diese enthält Addierer, die den
übertrag speichern (carry-save adder), an Stelle von normalen Addierern, die den übertrag sofort verarbeiten (ripple
through carry) oder Addierern, die den übertrag vorausbestimmen (look-ahead carry) . Addierer, die den übertrag
speichern (carry-save adder), sind deshalb vorteilhaft, weil sie die Probleme der Laufzeitverzögerungen logischer
Signale gering halten.
Die Fig.5 zeigt einen vollständigen Multiplizierer, der die
Zweier-Komplement-Arithmetik und die Addition mit übertragsspeicherung
(carey-save-addition) verwendet. Diese Form erlaubt zwei Eingänge pro Bit. Diese Zahl der Eingänge kann
jedoch durch weitere Reihen von normalen Addierern oder Addierern mit übertragsspeicherung (carry-save) noch erhöht
werden. Die Eingangsdatenwörter werden den Addierereingängen über die bereits beschriebene Eingabematrix zugeführt. Die
Multiplikation der Daten mit -1 erfolgt durch Invertieren (Komplementieren) der Datenbits. Dies ist nicht ganz crenau
bei Daten im Zweier-Komplement, da es einen Fehler im
709810/1008
M.J.Gingell-13
niedrigstwertigen Bit bewirkt. Dadurch entsteht im Ergebnis
ein konstanter kleiner Fehler. In Fällen, in denen es auf diese Genauigkeit ankommt, können die Inverter durch
Schaltkreise ersetzt werden, die exakt von null subtrahieren, oder es kann einem freien Dateneingang ein Kompensationssignal zugeführt werden. Jede Zelle des Addierers mit Übertragsspeicherung
(carry-save adder) ist ein normaler Volladdierer mit drei Eingängen jeweils vom Wert 1, einem Pseudosummenausgang
vom Wert 1 und einem ftbertragsausgang vom Wert Die Zellen der unteren Reihe haben zvrei Dateneingänge und
einen Eingang für die über einen Akkumulator rückgeführte Summe. Die Zellen der oberen Reihe erhalten die Summe aus
der ersten Reihe, den um ein Bit nach links verschobenen übertrag (links weil Wert = 2), und den über einen Akkumulator
zurückgeführten eigenen Obertrag. Die Ausgamrsbits der Zellen
der oberen Reihe werden in Summenakkumulatoren AO bis A6 und in übertragsakkumulatoren BO bis B7 geladen. Beim Rückführen
wird die Summe wie in den vorhergehenden Beispielen um ein Bit nach rechts verschoben.
Das Ergebnis der Multiplikation ist die Summe der Inhalte
der Summen- und Ubertragsakkumulatoren r»lus den niedrigstwertigen
Bits, die aus dem Ausgang der niedrigstwertigen Addiererzelle über eine Auswahlschaltung in eine Ausgangsverzögerungsstufe
gelangt sind. Die Inhalte der Summen- und Ubertragsakkumulatoren werden in Summen- und übertrags-Schieberegister
SO bis S6 bzw. CO bis C7 geladen und ausgeschoben, wobei die Summe und der übertrag in einem Ferienaddierer
50 addiert werden und das Ergebnis über die Ausgangsverzögerungsstufe 51 herausgegeben wird. Zu diesem
7098 1 0/1008
M.J.Gingell-13
Zeitpunkt kann eine neue Multiplikation beginnen. Da
jedoch zu diesem Zeitpunkt die in den beiden Schieberegistern enthaltene Summe dieselbe ist wie die in den
beiden Akkumulatoren enthaltene, ist es möglich, durch Rückführen der invertierten Summe des Serienaddierers
51 auf den Eingang der niedrigstwertigen Zelle des oberen Addierers, das alte Ergebnis zu löschen, ohne die Akkumulatorzellen
AO bis A6 und BO bis B7 mit eigentlichen Löschvorrichtungen zu versehen. Zusätzliche Verbesserungen
können dadurch erreicht werden, daß eine Oberlauferkennung
und eine Oberlaufkorrektur erfolgen und daß das Ergebnis auf eine vorgegebene Anzahl von Bit. gerundet wird.
709810/100
Claims (4)
- M.J.Gingell-13PatentansprücheDigitaler Multiplizierer, insbesondere für digitale Filter, mit einem Addierer und einem Akkumulator, in dem die Ausgangssignale des Addierers gespeichert und bei jeder Addition um ein Bit verschoben werden, dadurch gekennzeichnet, daß zum gleichzeitigen Eingeben mehrerer serieller Datenwörter (D1, D2) in die Zellen des Addierers (ADD) eine Eingabematrix vorgesehen ist, über die jedes serielle Datenwort (D1, D2) einer oder gleichzeitig mehreren Addiererzellen zugeführt wird, wobei einer einzigen Addiererzelle nicht mehr als ein Datenwort gleichzeitig zugeführt wird.
- 2. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß die Eingabematrix für jeden Eingang des Addierers einen Spaltenleiter und für jedes serielle Eingangsdatenwort (D1, D2) einen Zeilenleiter hat, daß jeder Zeilenleiter entsprechend einem vorbestimmten Digitalwort mit den Spaltenleitern verbunden ist, wobei mit einem einzigen Spaltenleiter höchstens ein Zeilenleiter verbunden ist.
- 3. Multiplizierer nach Anspruch 2, dadurch gekennzeichnet, daß für eines oder mehrere serielle Eingangsdatenwörter (D1, D2, D3) jeweils ein weiterer Zeilenleiter vorgesehen ist, dem das serielle Eingangsdatenwort in komplementierter Form (über INV) zugeführt wird, und daß jeder weitere Zeilenleiter entsprechend einem vorbestimmten Digitalwort mit den Spaltenleitern verbunden ist, derart, daß mit einen einzigen Spaltenleiter höchstens ein Zeilenleiter verbunden ist (Fig. 2).709810/1008M. J.Gingell-13
- 4. Multiplizierer nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß dem Addierer (ADD1, Fig.4) ein zweiter Addierer (ADD2) vorgeschaltet ist, dessen Einaängen die seriellen Einganasdatenwörter (D1, D2, D3) über die Eingabematrix zuaeführt werden, daß die Eingabematrix für jede Zelle des zweiten Addierers (ADD2) zwei Spaltenleiter enthält, derart daß zwei gleichzeitig anliegende serielle Einaangsdatenwörter (D2, D3 bei 13) seriell addiert werden, daß die Summenausgangssignale des zweiten Addierers (ADD2) als parallele Eingangssignale dem ersten Addierer (ADD1) zugeführt werden und daß mit einem Spaltenleiter höchstens ein Zeilenleiter verbunden ist.7098 10/1008
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB3534575A GB1476603A (en) | 1975-08-27 | 1975-08-27 | Digital multipliers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2636028A1 true DE2636028A1 (de) | 1977-03-10 |
Family
ID=10376698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762636028 Withdrawn DE2636028A1 (de) | 1975-08-27 | 1976-08-11 | Digitaler multiplizierer |
Country Status (4)
Country | Link |
---|---|
CA (1) | CA1073113A (de) |
DE (1) | DE2636028A1 (de) |
ES (1) | ES451051A1 (de) |
GB (1) | GB1476603A (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2418579A2 (fr) * | 1977-03-09 | 1979-09-21 | Onera (Off Nat Aerospatiale) | Filtre numerique recursif a coefficients en combinaison reduite de puissances de deux |
EP0042452A1 (de) * | 1980-06-24 | 1981-12-30 | International Business Machines Corporation | Signalprozessorrechneranordnung und Verfahren zum Betrieb der Anordnung |
DE3200895A1 (de) * | 1981-01-23 | 1982-08-12 | Naamloze Vennootschap Philips' Gloeilampenfabrieken, 5621 Eindhoven | Verfahren und vorrichtung zur schwaechung eines digitalen signals |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2609222B1 (fr) * | 1986-09-25 | 1989-11-24 | France Etat | Procede et dispositif de linearisation par memoire morte de la fonction de transfert d'un quadripole, et application y relative |
GB8703136D0 (en) * | 1987-02-11 | 1987-03-18 | Univ Cardiff | Filtering electrical signals |
FR2990781A1 (fr) | 2012-05-15 | 2013-11-22 | St Microelectronics Grenoble 2 | Multiplieur serie numerique |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1222290B (de) * | 1963-01-10 | 1966-08-04 | Ibm | Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten |
-
1975
- 1975-08-27 GB GB3534575A patent/GB1476603A/en not_active Expired
-
1976
- 1976-08-11 DE DE19762636028 patent/DE2636028A1/de not_active Withdrawn
- 1976-08-20 CA CA259,572A patent/CA1073113A/en not_active Expired
- 1976-08-27 ES ES451051A patent/ES451051A1/es not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1222290B (de) * | 1963-01-10 | 1966-08-04 | Ibm | Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten |
Non-Patent Citations (1)
Title |
---|
SCHECHER, Funktioneller Aufbau digitaler Rechenanlagen, Springer 1973, S. 52-54 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2418579A2 (fr) * | 1977-03-09 | 1979-09-21 | Onera (Off Nat Aerospatiale) | Filtre numerique recursif a coefficients en combinaison reduite de puissances de deux |
EP0042452A1 (de) * | 1980-06-24 | 1981-12-30 | International Business Machines Corporation | Signalprozessorrechneranordnung und Verfahren zum Betrieb der Anordnung |
DE3200895A1 (de) * | 1981-01-23 | 1982-08-12 | Naamloze Vennootschap Philips' Gloeilampenfabrieken, 5621 Eindhoven | Verfahren und vorrichtung zur schwaechung eines digitalen signals |
Also Published As
Publication number | Publication date |
---|---|
GB1476603A (en) | 1977-06-16 |
ES451051A1 (es) | 1977-08-16 |
CA1073113A (en) | 1980-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2523860C3 (de) | Vorrichtung zur digitalen, linearen Interpolation einer fabulierten Funktion | |
DE1956209C3 (de) | Multipliziervorrichtung | |
EP0453582B1 (de) | Medianfilter | |
DE3306306C2 (de) | ||
DE2803425A1 (de) | Digitaleinrichtung zur ermittlung des wertes von komplexen arithmetischen ausdruecken | |
DE2628473B2 (de) | Digitales Faltungsfilter | |
EP0149785B1 (de) | Verfahren und Schaltungsanordnung zur Digitalsignalverarbeitung nach Art eines vorzugsweise adaptiven Transversalfilters | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE69029796T2 (de) | Adressierprozessor für einen Signalprozessor | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE3303269C2 (de) | ||
DE1803222B2 (de) | Verfahren zum zusammenfassen pulscodierter nachrichten | |
DE4019646C2 (de) | Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung | |
DE2636028A1 (de) | Digitaler multiplizierer | |
DE2848096C3 (de) | Digitale Addieranordnung | |
DE3447634C2 (de) | ||
DE2743575A1 (de) | Verfahren und einrichtung zur multiplikation einer ersten zahl mit einer zweiten zahl | |
DE2017132A1 (de) | Binarer Parallel Addierer | |
EP0489952B1 (de) | Schaltungsanordnung zur digitalen Bit-seriellen Signalverarbeitung | |
EP0288783A2 (de) | Anordnung zur DPCM-Codierung von Fernsehsignalen | |
EP0333884B1 (de) | CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen | |
EP0264999A2 (de) | System zum Übertragen oder Speichern von Eingangssignalen | |
DE69209826T2 (de) | Schnelle Addierkette | |
EP0346751B1 (de) | Anordnung zur DPCM-Codierung von Fernsehsignalen | |
DE4022381A1 (de) | Verwendung langer digitalfilter bei vorkommnis von abrundungsfehlern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: GRAF, G., DIPL.-ING., PAT.-ASS., 7000 STUTTGART |
|
8139 | Disposal/non-payment of the annual fee |