JP2001005642A - Multiplier - Google Patents
MultiplierInfo
- Publication number
- JP2001005642A JP2001005642A JP11176998A JP17699899A JP2001005642A JP 2001005642 A JP2001005642 A JP 2001005642A JP 11176998 A JP11176998 A JP 11176998A JP 17699899 A JP17699899 A JP 17699899A JP 2001005642 A JP2001005642 A JP 2001005642A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- multiplicand
- input
- shifter
- shift
- 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
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、ディジタルデータ
の乗算を行う乗算器に係り、特に、高速化を図ったもの
に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multiplier for multiplying digital data, and more particularly to a multiplier for multiplying digital data.
【0002】[0002]
【従来の技術】従来、ディジタルデータの乗算回路とし
ては、例えば、図4に示されたようなリップルキャリー
形並列乗算器と称されるものが公知・周知となってい
る。この図4に示されたリップルキャリー形並列乗算器
は、4×3ビットの演算用の回路構成例であり、基本的
に同一の回路構成を有してなる12個の単位乗算回路U
Mを用いて構成されたものとなっている。すなわち、単
位乗算回路UMは、図5に示されたようにいわゆるフル
アダー回路FAを中心に構成されたものである。かかる
構成を有するリップルキャリー形並列乗算器は、被乗数
Xがmビット、乗数Yがnビットの場合に、n×m個の
単位乗算回路UMを必要とするものである。なお、図4
において、単位乗算回路UMの後の2桁の数字からなる
添字は、行と列を表す組み合わせとなっている。すなわ
ち、一桁目の数字が行を、2桁目の数字が列を、それぞ
れ表すものとなっている。たとえば、UM21は、一行
目、第2列目の単位乗算回路であることを意味するもの
となっている。2. Description of the Related Art Conventionally, as a digital data multiplication circuit, for example, a circuit called a ripple carry type parallel multiplier as shown in FIG. The ripple carry type parallel multiplier shown in FIG. 4 is an example of a circuit configuration for a 4 × 3 bit operation, and includes 12 unit multipliers U having basically the same circuit configuration.
It is configured using M. That is, the unit multiplying circuit UM is configured around a so-called full adder circuit FA as shown in FIG. The ripple carry type parallel multiplier having such a configuration requires n × m unit multiplier circuits UM when the multiplicand X has m bits and the multiplier Y has n bits. FIG.
In, the subscript consisting of two digits after the unit multiplier UM is a combination representing a row and a column. That is, the first digit represents a row, and the second digit represents a column. For example, UM21 means a unit multiplier circuit in the first row and the second column.
【0003】また、ディジタルデータの乗算回路の他の
例としては、図6に示されたように直並列乗算器が公知
・周知となっている。すなわち、この直並列乗算器は、
フルアダー回路FAと、遅延素子DLとを主たる構成要素
としてなるもので、被乗数Xが1ビット単位で、各々の
フルアダー回路FAで乗数Yと演算され、Y1ビット側
から時系列的にY4ビット側へと演算結果が伝達されて
ゆき乗算出力Zが得られるようになっているものであ
る。As another example of a digital data multiplying circuit, a series-parallel multiplier as shown in FIG. That is, this serial-parallel multiplier
The full adder circuit FA and the delay element DL are used as main components, and the multiplicand X is calculated in units of 1 bit and the multiplier Y is calculated in each full adder circuit FA. From the Y1 bit side to the Y4 bit side in time series. And the calculation result is transmitted to obtain a multiplication output Z.
【0004】[0004]
【発明が解決しようとする課題】しかしながら、上述し
たいずれの乗算器においても、被乗数X、あるいは乗数
Yのビット単位での乗算が実行され、各ビットの演算結
果が伝搬されて、最終的な乗算結果を得るような構成で
あるため、ビット数が増えるに従い演算時間が長くなる
傾向があり、特に、高速化を要求されるようなディジタ
ル信号処理装置には不向きであるばかりか、扱うビット
数の増加に従い回路構成が複雑になり、高価格となると
いう問題があった。However, in any of the multipliers described above, the multiplication of the multiplicand X or the multiplier Y is performed in bit units, the operation result of each bit is propagated, and the final multiplication is performed. Since the configuration is such that the result is obtained, the calculation time tends to be longer as the number of bits increases. In particular, it is not suitable for a digital signal processing device that requires high speed, and the number of bits to be handled is There has been a problem that the circuit configuration becomes complicated and the price increases as the number increases.
【0005】本発明は、上記実状に鑑みてなされたもの
で、比較的簡易な構成で、高速演算が可能な乗算器を提
供するものである。本発明の他の目的は、集積回路化に
適する低消費電力化、高速化並びに小型化が容易な乗算
器を提供することにある。The present invention has been made in view of the above situation, and provides a multiplier which has a relatively simple configuration and can perform high-speed operations. It is another object of the present invention to provide a multiplier suitable for integration into a circuit, which can be easily reduced in power consumption, increased in speed and reduced in size.
【0006】[0006]
【課題を解決するための手段】本発明の目的を達成する
ため、本発明に係る乗算器は、i進法で符号化された被
乗数Xと乗数Yの乗算結果U=X×Yを求める乗算器で
あって、最初にU=Xとし、前記乗数Yがi Sで割り切
れるか否かを判定し、前記乗数Yがi Sで割り切れる場
合には、前記Uをその最上位ビット側へSビットシフト
して、そのシフト結果を新たなUとすると共に、Y/i
Sを新たなYとする一方、前記乗数Yがi Sで割り切れ
ない場合には、当該乗数Yからiより小さな数jを減算
した(Y−j)または乗数Yに前記jを加算した(Y+
j)を新たにYとした後、この新たな乗数Yがi Sで割
り切れる場合には、前記Uをその最上位ビット側へSビ
ットシフトし、そのシフト結果にX×jを加算または減
算したものを新たなUとすると共に、Y/i Sを新たな
Yとし、以下、前記乗数Yがi Sで割り切れる場合と、
乗数Yがi Sで割り切れない場合との処理を、前記Sを
順次減じながら繰り返してゆき、Yがiより小さくなっ
た時点におけるUを被乗数Xと乗数Yの乗算結果として
出力するよう構成されてなるものである。The object of the present invention is achieved.
Therefore, the multiplier according to the present invention employs a
A multiplier for obtaining a multiplication result U = X × Y of the multiplier X and the multiplier Y
First, U = X, and the multiplier Y is i SDivisible by
It is determined whether or not the multiplier Y is i SA place divisible by
If so, shift U by S bits to the most significant bit side
Then, the shift result is set as a new U and Y / i
SIs a new Y, and the multiplier Y is i SDivisible by
If not, subtract the number j smaller than i from the multiplier Y
(Y−j) or the multiplier Y and the above j (Y +
After j) is newly set to Y, this new multiplier Y is i SDivided by
If it runs out, the U is shifted to the most significant bit side by the S bit.
And X × j is added to or subtracted from the shift result.
The calculated value is defined as a new U, and Y / i is calculated. SA new
And the multiplier Y is i SIf divisible by
The multiplier Y is i SThe processing when it is not divisible by
Repeat while decreasing sequentially, Y becomes smaller than i
U at the point of time as a result of multiplication of the multiplicand X and the multiplier Y
It is configured to output.
【0007】かかる構成の乗算器は、例えば、被乗数X
と乗数Yが共に2進数で表されるものである場合におい
て、乗数YがY=(・・・(((2 S1±1)2 S2±
1)2 S3±1)・・・)2 Sm±1)の如くに展開で
きる場合に、U=X×Y=(・・・(((X2 S1±
X)2 S2±X)2 S3±X)・・・)2 Sm±X)と
表され、Xのシフトとそのシフト結果に対する加減算処
理によって乗算結果を得ることができることに着目し
て、かかる処理が行われるように構成されたものであ
り、そのため構成の簡素化と、演算速度の向上が可能と
なるものである。[0007] The multiplier having such a configuration is, for example, a multiplicand X
And the multiplier Y are both represented by binary numbers
And the multiplier Y is Y = (... (((2 S1± 1) 2 S2±
1) 2 S3± 1) ・ ・ ・ 2 SmWith the development like ± 1)
If it is possible, U = X × Y = (... (((X2 S1±
X) 2 S2± X) 2 S3± X) ... 2 Sm± X) and
X shift and addition / subtraction processing for the shift result
Paying attention to the fact that
Is configured to perform such processing.
Therefore, it is possible to simplify the configuration and improve the calculation speed.
It becomes.
【0008】[0008]
【発明の実施の形態】以下、本発明の実施の形態につい
て、図1乃至図3を参照しつつ説明する。なお、以下に
説明する部材、配置等は本発明を限定するものではな
く、本発明の趣旨の範囲内で種々改変することができる
ものである。最初に、第1の回路構成例について、図1
を参照しつつ説明する。第1の回路構成例における乗算
器M1は、m個の第1乃至第mのシフタ1〜mと、m個
の第1乃至第mの加減算回路100〜(100+m−
1)とを有してなり、第1のシフタ1と第1の加減算回
路100とが1段目を、第2のシフタと第2の加減算回
路101とが、2段目を構成するというようにして、以
下、同様に第n番目(n<m)のシフタと第n番目の加
減算回路とがn段目を構成するようなものとなってい
る。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to FIGS. The members, arrangements, and the like described below do not limit the present invention, and can be variously modified within the scope of the present invention. First, a first example of the circuit configuration will be described with reference to FIG.
This will be described with reference to FIG. The multiplier M1 in the first circuit configuration example includes m first to m-th shifters 1 to m and m first to m-th addition / subtraction circuits 100 to (100 + m−
1), the first shifter 1 and the first addition / subtraction circuit 100 constitute a first stage, and the second shifter and the second addition / subtraction circuit 101 constitute a second stage. Hereinafter, similarly, the n-th (n <m) shifter and the n-th addition / subtraction circuit form the n-th stage.
【0009】第1乃至第mのシフタ1〜mは、いずれも
基本的に同一の回路構成を有してなるもので、入力され
たデータが外部からのシフト信号によりシフトされるよ
う構成された公知・周知の回路構成を有してなるもので
ある。この発明の実施の形態においては、被乗数Xがn
ビットであるとすると、第1乃至第mのシフタ1〜m
は、被乗数Xがパラレルで入力されると共に、シフト量
S1,S2・・・Sm(詳細は後述)に対応するシフト信
号s1,s2・・・smが入力されるようになっている。
そして、こらら第1乃至第mのシフタ1〜mは、シフト
信号s1,s2・・・smに応じて、MSB(Most Signifi
cant Bit)側へ、nビットの入力データX1,X2,・・
・,Xmがシフトされるようになっているものである。
そして、そのシフト結果は、第1のシフタ1であれば、
第1の加減算回路100へ、第2のシフタ2であれば、
第2の加減算回路101へというように、それぞれ対応
する加減算回路へ入力されるようになっている。Each of the first to m-th shifters 1 to m basically has the same circuit configuration, and is configured such that input data is shifted by an external shift signal. It has a well-known and well-known circuit configuration. In the embodiment of the present invention, the multiplicand X is n
Bits, the first to m-th shifters 1 to m
, The multiplicand X is input in parallel, and shift signals s1, s2... Sm corresponding to the shift amounts S1, S2.
The first to m-th shifters 1 to m transmit MSBs (Most Signifi? Ers) according to the shift signals s1, s2,.
to the cant Bit) side, input data X1, X2,.
, Xm are shifted.
Then, if the shift result is the first shifter 1,
If the first adder / subtractor 100 is the second shifter 2,
The signals are input to the corresponding addition / subtraction circuits, such as to the second addition / subtraction circuit 101.
【0010】第1乃至第mの加減算回路100〜(10
0+m−1)は、対応する第1乃至第mのシフタ1〜m
から入力されたシフト結果と被乗数Xとの加算演算を行
うもので、公知・周知の回路構成を有してなるものであ
る。そして、第1乃至第(m−1)の加減算回路100
〜(100+m−2)の演算結果は、それぞれ次段のシ
フタに入力されるような構成となっている。The first to m-th addition / subtraction circuits 100 to (10
0 + m-1) are the corresponding first to m-th shifters 1 to m
And performs an addition operation on the shift result input from and the multiplicand X, and has a known / well-known circuit configuration. Then, the first to (m-1) th addition / subtraction circuits 100
The calculation results of .about. (100 + m-2) are configured to be input to the next-stage shifter.
【0011】次に、この乗算器M1による乗算の原理に
ついて説明する。先ず、被乗数をXとし、乗数をYとし
て、共に2進数であるとする。例えば、乗数YがY=
(・・・(((2 S1±1)2 S2±1)2 S3±1)
・・・)2 Sm±1)の如くに展開できるものとする
(この式を式1とする)。この場合、U=X×Yは、U
=(・・・(((X2 S1±X)2 S2±X)2 S3±
X)・・・)2 Sm±X)と表現することができる(こ
の式を式2とする)。この式2において、最も内側の括
弧に括られた項(X2 S1±X)について見ると、これ
は、被乗数Xに2 S1を乗じた結果に対してさらに被乗
数Xを加減算するものとなっているが、ここで被乗数X
に2 S1を乗ずる部分は、2進数の特性から、被乗数X
をS1ビットだけ、MSB(Most Significant Bit)側へ
シフトすることに他ならない。(X2 S1±X)の演算
結果をU1とすれば、次の括弧で括られた項である
((X2 S1±X)2 S2±X)は、U1×2 S2±X
となり、これも、上述した最初の演算同様に処理するこ
とができる。すなわち、U1をS2ビットだけMSB側
へシフトした結果に、被乗数Xを加算(または減算)す
ればよい。結局、先の式2の場合、シフトと加減算処理
をm回繰り返すことでX×Yの演算結果を得ることがで
きる。換言すれば、シフタと加減算回路との組み合わせ
をm段縦列に組み合わせて乗算器を構成することで、上
述したようなシフトと加減算をm回繰り返してU=X×
Yを得るようにすることができる。図1に示された乗算
器M1は、上述のような観点に基づき構成されたもので
ある。Next, the principle of the multiplication by the multiplier M1 will be described.
explain about. First, let the multiplicand be X and the multiplier be Y
And both are binary numbers. For example, if the multiplier Y is Y =
(... (((2 S1± 1) 2 S2± 1) 2 S3± 1)
...) 2 SmIt can be expanded as ± 1)
(This equation is referred to as Equation 1). In this case, U = X × Y
= (... (((X2 S1± X) 2 S2± X) 2 S3±
X) ... 2 Sm± X)
Equation 2). In this equation 2, the innermost group
The term (X2 S1± X)
Is 2 for the multiplicand X S1Multiplied by the result of multiplying by
The number X is added or subtracted. Here, the multiplicand X
To 2 S1Is multiplied by the multiplicand X
To MSB (Most Significant Bit) side by S1 bit
There is nothing to shift. (X2 S1± X) operation
Assuming that the result is U1, this is the term enclosed in parentheses:
((X2 S1± X) 2 S2± X) is U1 × 2 S2± X
This is also processed in the same way as the first operation described above.
Can be. That is, U1 is shifted by S2 bits on the MSB side.
Add (or subtract) the multiplicand X to the result of shifting
Just do it. After all, in the case of Equation 2, the shift and addition / subtraction processing
Is repeated m times to obtain an X × Y operation result.
Wear. In other words, a combination of a shifter and an addition / subtraction circuit
To form a multiplier by combining m stages in tandem,
The above-described shift and addition / subtraction are repeated m times and U = X ×
Y can be obtained. Multiplication shown in FIG.
The device M1 is configured based on the above-described viewpoint.
is there.
【0012】次に、乗数Yを式1の如くに表す際の2の
指数部分の値、換言すればシフト量S1,S2,・・
・,Smを求める手順について、図2を参照しつつ説明
する。処理が開始されると、まず、演算パラメータm,
S,Dの値が共に初期値ゼロに設定される(図2のステ
ップ100参照)。次いで、Yが1か否かが判定され
(図2のステップ102参照)、Yが「1」であると判
定された場合(NOの場合)には、処理の必要なしとし
て一連の処理が終了されることとなる一方、「1」であ
ると判定された場合(YESの場合)にはステップ10
4へ進み、Yが偶数か否かが判定されることとなる。そ
して、Yが偶数であると判定された場合(YESの場
合)には、ステップ106へ進み、演算パラメータSす
なわちシフト量Sの値が、このステップ106を実行す
る直前のSの値に「1」を加算した値へ更新されること
となる。また、このステップ106においては、Yの値
がこのステップ106の実行直前のYを2で除した値に
更新され、その後、先のステップ102へ戻り一連の処
理が繰り返されることとなる。すなわち、Yが偶数であ
る限りステップ102,104,106が繰り返されて
シフト量S1,S2,・・・と求められてゆくこととな
る。Next, the value of the exponent part of 2 when expressing the multiplier Y as in Equation 1, in other words, the shift amounts S1, S2,.
, Sm will be described with reference to FIG. When the process is started, first, the operation parameters m,
The values of S and D are both set to an initial value of zero (see step 100 in FIG. 2). Next, it is determined whether or not Y is 1 (see step 102 in FIG. 2), and when it is determined that Y is “1” (in the case of NO), a series of processing is terminated without any processing. On the other hand, if it is determined to be “1” (in the case of YES), step 10
Then, it is determined whether Y is an even number or not. When it is determined that Y is an even number (in the case of YES), the process proceeds to step 106, where the value of the calculation parameter S, that is, the shift amount S is set to “1” to the value of S immediately before executing step 106. "Is added to the value. Further, in step 106, the value of Y is updated to a value obtained by dividing Y immediately before the execution of step 106 by 2, and thereafter, the process returns to the previous step 102 to repeat a series of processing. That is, as long as Y is an even number, steps 102, 104, and 106 are repeated, and shift amounts S1, S2,... Are obtained.
【0013】一方、ステップ104において、Yが偶数
ではないと判定された場合(NOの場合)には、ステッ
プ108へ進み、その時点における演算パラメータm,
D,Sの各々の値が第1回目の結果として出力され、ま
た、必要に応じて図示されない所定の記憶装置等に記憶
されることとなる。次いで、ステップ110へ進み、演
算パラメータmの値が、このステップ110の実行直前
の値に「1」を加算した値に更新されると共に、Yの値
がステップ110の実行直前の値に「1」を加算した値
に更新されることとなる。On the other hand, when it is determined in step 104 that Y is not an even number (in the case of NO), the process proceeds to step 108, where the calculation parameters m,
Each value of D and S is output as the first result, and is stored in a predetermined storage device (not shown) or the like as necessary. Next, the process proceeds to step 110, where the value of the operation parameter m is updated to a value obtained by adding “1” to the value immediately before execution of step 110, and the value of Y is changed to “1” immediately before execution of step 110. Is added to the value.
【0014】そして、Yの値が「4」の倍数か否かが判
定され(図2のステップ112参照)、4の倍数である
場合(YESの場合)には、ステップ114へ進み、演
算パラメータDが「−1」に設定されると共に、演算パ
ラメータSが、このステップ114の実行直前の値に
「2」を加算した値に更新される。さらに、Yの値が、
このステップ114の実行直前の値を「4」で除した値
に更新されて、その後、先のステップ102へ戻ること
となる。Then, it is determined whether or not the value of Y is a multiple of "4" (see step 112 in FIG. 2). If the value of Y is a multiple of 4 (in the case of YES), the routine proceeds to step 114, where the operation parameter D is set to “−1”, and the calculation parameter S is updated to a value obtained by adding “2” to the value immediately before execution of step 114. Further, when the value of Y is
The value immediately before the execution of step 114 is updated to a value obtained by dividing the value by “4”, and thereafter, the process returns to step 102.
【0015】一方、ステップ112において、Yの値が
4の倍数ではないと判定された場合(NOの場合)に
は、ステップ116へ進み、Yの値が、このステップ1
16の実行直前の値から「2」を減じた値に更新される
こととなる。次いで、ステップ118において、演算パ
ラメータDの値が「1」に設定されると共に、演算パラ
メータSの値が、このステップ118の実行直前の値に
「2」を加算した値に更新され、さらに、Yが、このス
テップ118の実行直前の値を「4」で除した値に更新
されて、先のステップ102へ戻ることとなる。On the other hand, if it is determined in step 112 that the value of Y is not a multiple of 4 (in the case of NO), the process proceeds to step 116, where the value of Y is set in step 1
The value is updated to a value obtained by subtracting “2” from the value immediately before the execution of No. 16. Next, in step 118, the value of the operation parameter D is set to “1”, and the value of the operation parameter S is updated to a value obtained by adding “2” to the value immediately before execution of this step 118. Y is updated to a value obtained by dividing the value immediately before execution of step 118 by “4”, and the process returns to step 102.
【0016】ここで、ステップ110乃至118の処理
の意味について説明する。まず、ステップ110以降の
処理が行われる際のYは、奇数である。そのため、2の
n乗という形とするためには、奇数に「1」を加算し又
は奇数から「1」を減算して偶数とする必要がある。さ
らに、奇数の前後の値は、いずれかが2の倍数であり、
他方が4の倍数であるという数の性質を利用し、奇数で
あるYを4の倍数となるように「1」を加算するか又は
「1」を減算するかして、4の倍数となったところで、
ステップSを「2」更新するようにしたのが、ステップ
110乃至118の処理である。例えば、理解を容易と
するため、ステップ110の実行直前においてY=5で
あったと仮定すると、ステップ110においては、Y=
5+1=6とされる。これは、4の倍数ではないため、
ステップ116へ進むこととなり、Y=6−2=4とY
が更新されることとなる。すなわち、このステップ11
6の処理は、ステップ110の実行直前のYの値から
「1」を減算することに相当する。これで、Yは、4の
倍数となるため、ステップ118において、シフト量の
更新が行われ、また、Yが4で除されるようになってい
る。ステップ110の実行直前において、Y=7の場合
は、ステップ110の処理で4の倍数であるY=8とな
るため、ステップ114へ進みシフト量の更新と、Yの
除算が行われようになっている。Here, the meaning of the processing of steps 110 to 118 will be described. First, Y when the processing after step 110 is performed is an odd number. Therefore, in order to take the form of 2 n, it is necessary to add “1” to an odd number or subtract “1” from an odd number to obtain an even number. In addition, any of the values before and after the odd number is a multiple of 2,
Utilizing the property of the number that the other is a multiple of 4, by adding “1” or subtracting “1” so that the odd Y becomes a multiple of 4, the Y becomes a multiple of 4. Where
Steps S110 to S118 update step S by "2". For example, assuming that Y = 5 just before the execution of step 110 for easy understanding, in step 110, Y = 5
5 + 1 = 6. This is not a multiple of 4, so
The process proceeds to step 116, where Y = 6-2 = 4 and Y
Will be updated. That is, this step 11
The process 6 corresponds to subtracting “1” from the value of Y immediately before the execution of step 110. Since Y becomes a multiple of 4, the shift amount is updated in step 118, and Y is divided by 4. Immediately before the execution of step 110, if Y = 7, Y = 8, which is a multiple of 4 in the processing of step 110, the process proceeds to step 114 to update the shift amount and divide Y. ing.
【0017】なお、演算パラメータDは、ステップ11
0の実行直前のYの値に「1」を加算して4の倍数とな
った場合と、ならない場合との識別のためのもので、こ
の例では、「1」を加算して4の倍数となった場合にD
=−1、「1」を減算して4の倍数となった場合にD=
+1としてある、このようにして、Yの値が「1」とな
るまで、上述した処理が繰り返されてシフト量S1,S
2,・・・,Smが求められることとなる。なお、上述
したような処理は、例えば、マイクロコンピュータによ
り図2に示された手順に従ったソフトウェアを実行させ
ることにより実現でき、その場合には、得られたシフト
量S1,S2,・・・,Smと共に、被乗数Xをそのマ
イクロコンピュータから図1に示された乗算器M1へ入
力するようにすると好適である。The operation parameter D is calculated in step 11
This is for discriminating between the case where “1” is added to the value of Y immediately before the execution of 0 and becomes a multiple of 4 and the case where it is not. In this example, the multiple of 4 is obtained by adding “1”. D if
= -1 and D =
In this manner, the above-described processing is repeated until the value of Y becomes "1", and the shift amounts S1, S
2,..., Sm are obtained. Note that the above-described processing can be realized, for example, by causing a microcomputer to execute software according to the procedure shown in FIG. 2, in which case, the obtained shift amounts S1, S2,. , Sm together with the multiplicand X is preferably input from the microcomputer to the multiplier M1 shown in FIG.
【0018】次に、図1を参照しつつ乗算器M1の動作
について説明する。まず、被乗数Xがnビットであると
して、そのMSBをX1として、以下、LSB(Least S
ignificant Bit)へ向かうに従いXの添字の数値は昇順
に表されるものとし、LSBは、Xnと表すものとす
る。そして、第1のシフタ1に、被乗数Xがパラレルに
入力されると共に、先に図2を参照しつつ説明したよう
に予め求められたシフト量S1が入力されると、被乗数
Xがシフト量S1に対応してMSB側へシフトされ、そ
のシフト結果が第1の加減算回路100へパラレル出力
されることとなる。第1の加減算回路100において
は、パラレル入力された被乗数Xと第1のシフタ1から
入力されたデータとの加算演算が行われ、その演算結果
は、第2のシフタ2にパラレル入力されることとなる。Next, the operation of the multiplier M1 will be described with reference to FIG. First, it is assumed that the multiplicand X has n bits, its MSB is X1, and the LSB (Least S
It is assumed that the numerical values of the subscripts of X are represented in ascending order as going toward the “significant bit”, and the LSB is represented by Xn. When the multiplicand X is input to the first shifter 1 in parallel and the shift amount S1 determined in advance as described above with reference to FIG. 2 is input, the multiplicand X is shifted to the shift amount S1. Is shifted to the MSB side, and the shift result is output in parallel to the first addition / subtraction circuit 100. In the first addition / subtraction circuit 100, an addition operation of the multiplicand X input in parallel and the data input from the first shifter 1 is performed, and the operation result is input in parallel to the second shifter 2. Becomes
【0019】第2のシフタ2においては、第1の加減算
回路100からデータが入力されると、シフト量S2が
入力され、S2に相当するシフトが先の第1のシフタ1
と同様にして第1の加減算回路100から入力されたデ
ータに対して施され、その結果が第2の加減算回路10
1へパラレル入力されることとなる。そして、第2の加
減算回路101においては、第2のシフタ2から入力さ
れたデータと、この第2の加減算回路101へパラレル
入力された被乗数Xとの加算演算が行われ、その演算結
果は、第3のシフタ(図示せず)へパラレル入力される
こととなる。以下、同様にして、データのシフトと加算
演算が行われ、その結果が次段へ入力されてゆくことが
繰り返されてゆき、最終段のm段目において、第mの加
減算回(100+m−1)からX×Yの演算結果である
Uがパラレルデータとして得られることとなる。In the second shifter 2, when data is input from the first adder / subtractor circuit 100, a shift amount S2 is input, and a shift corresponding to S2 is performed by the first shifter 1 previously.
Is performed on the data input from the first addition / subtraction circuit 100 in the same manner as described above.
1 is input in parallel. The second addition / subtraction circuit 101 performs an addition operation on the data input from the second shifter 2 and the multiplicand X input in parallel to the second addition / subtraction circuit 101. The data is input to a third shifter (not shown) in parallel. Hereinafter, similarly, the data shift and the addition operation are performed, and the result is repeatedly input to the next stage. At the m-th stage of the final stage, the m-th addition / subtraction cycle (100 + m−1) is performed. ), U which is the result of X × Y operation is obtained as parallel data.
【0020】次に、被乗数X=100(10進数)で乗
数Y=151(10進数)の場合を例に採り、乗算器M
1の構成及び動作についてより具体的に説明する。ま
ず、Y=151の場合、Y=(((2 3+1)×2 2+
1)×2+1)2+1と表すことができる。したがっ
て、この場合、乗算器M1は4段構成とすればよいこと
となる。そして、1段目において、すなわち第1のシフ
タ1において、被乗数Xは、左に3ビット、すなわちM
SB側に向かって3ビット分のシフトが施されることと
なる。X=100は、2進数では、X=(110010
0) 2と表されるので、3ビットのシフト後は、(11
00100000) 2となる。したがって、被乗数Xと
の加算は、(1100100000) 2+(11001
00) 2=(1110000100) 2となる。Next, the multiplicand X is multiplied by 100 (decimal number).
Taking the case where the number Y = 151 (decimal number) as an example, the multiplier M
The configuration and operation of No. 1 will be described more specifically. Ma
If Y = 151, Y = (((2 3+1) × 2 2+
1) × 2 + 1) 2 + 1. Accordingly
In this case, the multiplier M1 should have a four-stage configuration.
Becomes Then, in the first stage, that is, in the first shift
In data 1, the multiplicand X has three bits to the left, ie, M
A shift of 3 bits toward the SB side
Become. X = 100 means that in a binary number, X = (110010)
0) 2After the shift of 3 bits, (11
00100000) 2Becomes Therefore, the multiplicand X and
Addition of (110000000000) 2+ (11001
00) 2= (110000100) 2Becomes
【0021】次に、第2のシフタ2においては、(11
10000100) 2が左に2ビットシフトされて、
(111000010000) 2となり、これに第2の
加減算回路101において被乗数X=(110010
0) 2が加算され、(111000010000) 2+
(1100100) 2=(11001110100) 2
となる。次に、第3のシフタ(図示せず)においては、
(11001110100) 2が左に1ビットシフトさ
れて、(110011101000) 2となり、第3の
加減算回路(図示せず)において、これに被乗数Xが加
算されて、(110011101000) 2+(110
0100) 2=(1110100001100) 2とな
る。最後に、この場合の第mのシフタ、すなわち第4の
シフタ4においては、(1110100001100)
2が左に1ビットシフトされて(1110100001
1000) 2となり、第mの加減算回路すなわち第4の
加減算回路103において、これに被乗数Xが加算され
て、(11101000011000) 2+(1100
100) 2=(11101011111100) 2とな
る。(11101011111100) 2は、10進数
へ戻せば15100であり、これは、X=100とY=
151との乗算結果に合致し、乗算器M1によって確か
にX×Yが求められることが確認できる。Next, in the second shifter 2, (11
10,000100) 2Is shifted two bits to the left,
(111000010000) 2And this has a second
In the addition / subtraction circuit 101, the multiplicand X = (110010)
0) 2Is added, and (11100001000000) 2+
(1100100) 2= (11001110100) 2
Becomes Next, in a third shifter (not shown),
(11001110100) 2Is shifted one bit to the left
(110011101000) 2And the third
In an addition / subtraction circuit (not shown), the multiplicand X is added to this.
Is calculated as (110011101000) 2+ (110
0100) 2= (1111000010001100) 2Tona
You. Finally, the m-th shifter in this case, ie, the fourth
In the shifter 4, (1111000010001100)
2Is shifted left by one bit (1111000010001).
1000) 2And the m-th addition / subtraction circuit, that is, the fourth
In the addition / subtraction circuit 103, the multiplicand X is added thereto.
And (11110000100011000) 2+ (1100
100) 2= (1110101111100) 2Tona
You. (1110101111100) 2Is a decimal number
Back to 15100, which is X = 100 and Y =
151 and the result of the multiplication by the multiplier M1
It can be confirmed that X × Y is required.
【0022】次に、第2の回路構成例における乗算器M
2について、図3を参照しつつ説明する。この乗算器M
2は、先の乗算器M1がシフト処理の回数に対応してシ
フタと加減算回路の組がいわば縦列接続的に設けられた
構成であるのに対して、一組のシフタと加減算回路を時
系列的に繰り返し使用できるように構成されたものであ
る。すなわち、乗算器M2は、一組のシフタ1及び加減
算回路100に加えて、入力セレクタ200と遅延素子
202とを具備して構成されたものとなっている。シフ
タ1及び加減算回路100は、それぞれ先に図1に示さ
れた第1乃至第mのシフタ1〜m、第1乃至第mの加減
算回路100〜(100+m−1)と基本的に同一のも
のであり、そのため、ここでの詳細な説明は省略するこ
ととする。Next, the multiplier M in the second circuit configuration example
2 will be described with reference to FIG. This multiplier M
2 is a configuration in which a set of a shifter and an addition / subtraction circuit are provided in a so-called cascade connection, corresponding to the number of shift processes in the multiplier M1. It is configured so that it can be repeatedly used. That is, the multiplier M2 includes an input selector 200 and a delay element 202 in addition to the set of the shifter 1 and the addition / subtraction circuit 100. The shifter 1 and the addition / subtraction circuit 100 are basically the same as the first to m-th shifters 1 to m and the first to m-th addition / subtraction circuits 100 to (100 + m-1) shown in FIG. Therefore, the detailed description here is omitted.
【0023】入力セレクタ200には、被乗数Xと、遅
延素子202を介した加減算回路100の出力データと
が、それぞれパラレルで入力できるようになっており、
制御信号Soに応じて(例えば論理値Highと論理値
Lowとの切り替えに応じて)、被乗数Xと、遅延素子
202を介した加減算回路100の出力データのいずれ
か一方が選択的にシフタ1へ出力されるようになってい
る。The input selector 200 can receive the multiplicand X and the output data of the addition / subtraction circuit 100 via the delay element 202 in parallel, respectively.
One of the multiplicand X and the output data of the addition / subtraction circuit 100 via the delay element 202 is selectively transmitted to the shifter 1 in response to the control signal So (for example, in response to switching between the logical value High and the logical value Low). It is output.
【0024】シフタ1には、シフト量に対応するシフト
信号S1乃至Smが順に入力されるようになっており、
このシフト信号に応じて、入力セレクタ200により入
力されたデータがシフトされて加減算回路100へ出力
されるようになっている。加減算回路100は、シフタ
1からの入力されたパラレルデータに、被乗数Xを加算
して出力するようになっており、そのパラレル出力デー
タは、遅延素子202を介して入力セレクタ200へ戻
されるようになっている。ここで、遅延素子202に
は、シフタ1と加減算回路100における演算時間に比
して十分大きな遅延時間に設定されている。このような
遅延素子202としては、例えば、ラッチやシフトレジ
スタなどのクロックの入力によってその駆動が行われる
論理素子によって実現可能である。したがって、入力セ
レクタ200において、制御信号Soの入力タイミング
を適宜に設定することで、シフタ1と加減算回路100
における演算結果を、タイミングよくフィードバックし
て、そのフィードバック結果に対して再びシフトと加算
処理を施すようにすることができ、あたかも先の図1に
示されたように、シフタと加減算回路が複数段に構成さ
れたと等価なものとすることができるようになってい
る。To the shifter 1, shift signals S1 to Sm corresponding to the shift amount are sequentially input.
In accordance with the shift signal, the data input by the input selector 200 is shifted and output to the addition / subtraction circuit 100. The addition / subtraction circuit 100 adds the multiplicand X to the parallel data input from the shifter 1 and outputs the result. The parallel output data is returned to the input selector 200 via the delay element 202. Has become. Here, the delay element 202 is set to a delay time sufficiently larger than the operation time in the shifter 1 and the addition / subtraction circuit 100. Such a delay element 202 can be realized by, for example, a logic element driven by input of a clock such as a latch or a shift register. Therefore, by appropriately setting the input timing of the control signal So in the input selector 200, the shifter 1 and the addition / subtraction circuit 100
Can be fed back with good timing, and the feedback result can be shifted and added again. As shown in FIG. Is configured to be equivalent to the above configuration.
【0025】次に、上記構成における乗算器M2の動作
について説明する。まず、入力セレクタ200によっ
て、被乗数Xが選択されて、シフタ1へ出力されると、
シフタ1には、外部からシフト信号(シフト量)S1が
入力されて、被乗数XはS1に対応するシフトが施され
た後、加減算回路100へパラレル出力される。ここ
で、被乗数Xのシフトは、先の図1の回路例におけるの
と同様に、MSB側へ向かって行われるようになってい
る。加減算回路100においては、シフタ1からのパラ
レルデータに対して被乗数Xが加算されて出力され、そ
の演算出力は、遅延素子202を介して入力セレクタ2
00へ戻されることとなる。Next, the operation of the multiplier M2 in the above configuration will be described. First, when the multiplicand X is selected by the input selector 200 and output to the shifter 1,
A shift signal (shift amount) S1 is input to the shifter 1 from the outside, and the multiplicand X is subjected to a shift corresponding to S1 and then output in parallel to the addition / subtraction circuit 100. Here, the shift of the multiplicand X is performed toward the MSB side as in the circuit example of FIG. In the addition / subtraction circuit 100, the multiplicand X is added to the parallel data from the shifter 1 and output, and the operation output is supplied to the input selector 2 via the delay element 202.
00 will be returned.
【0026】入力セレクタ200においては、制御信号
Soが適宜な信号レベルに切り替えられて、それによっ
て、遅延素子202を介した加減算回路100の出力が
選択されて、シフタ1へ入力されることとなる。シフタ
1においては、シフト信号S2が入力され、入力セレク
タ200から入力されたパラレルデータに対してこのシ
フト信号に応じたシフトが施され、加減算回路100へ
パラレル出力されることとなる。加減算回路100にお
いては、シフタ1から入力されたパラレルデータと被乗
数Xとの加算演算が行われ、その演算結果は、再び遅延
素子202を介して入力セレクタ200へ戻されて選択
され、以下、上述したと同様な動作が繰り返されること
となる。そして、シフタ1へシフト信号Smが入力され
て、そのシフト結果に対して加減算回路100において
被乗数Xが加算された結果が最終演算出力となる。In the input selector 200, the control signal So is switched to an appropriate signal level, whereby the output of the addition / subtraction circuit 100 via the delay element 202 is selected and input to the shifter 1. . The shifter 1 receives the shift signal S2, shifts the parallel data input from the input selector 200 according to the shift signal, and outputs the parallel data to the addition / subtraction circuit 100 in parallel. In the addition / subtraction circuit 100, an addition operation of the parallel data input from the shifter 1 and the multiplicand X is performed, and the operation result is returned to the input selector 200 again via the delay element 202 and selected. The same operation as described above is repeated. Then, the shift signal Sm is input to the shifter 1, and the result of adding the multiplicand X to the shift result in the addition / subtraction circuit 100 becomes the final operation output.
【0027】なお、上述した発明の実施の形態において
は、被乗数X及び乗数Yが共に、2進数である場合につ
いて説明したが、被乗数X及び乗数Yが共に他の進法で
表し得る場合にも適用されることは勿論である。例え
ば、被乗数X及び乗数Yが共にi進法で表されるもので
あるとすれば、先の式2に対応するUについての式は、
U=(・・・(((Xi S1±X・j)i S2±X・
j)i S3±X・j)・・・)i Sm±X)と表現され
ることとなり(なお、i>jである)。したがって、X
についてのシフトのX・jを加算または減算する処理を
繰り返すようにすることで、Uを得ることができるきこ
ととなる。In the embodiment of the invention described above,
Is used when both the multiplicand X and the multiplier Y are binary numbers.
As described above, the multiplicand X and the multiplier Y are both different bases.
Needless to say, the present invention is also applied to the case where it can be expressed. example
For example, the multiplicand X and the multiplier Y are both expressed in i-ary.
If so, the equation for U corresponding to equation 2 above is
U = (... (((Xi S1± X · j) i S2± X
j) i S3± X ・ j) ・ ・ ・ i Sm± X)
(I> j). Therefore, X
Processing to add or subtract X · j of the shift for
Kiko that can get U by repeating
And
【0028】上述した乗算器を例えば、ディジタルフィ
ルタにおいて用いる場合、ディジタルフィルタの係数を
乗数に対応させれば、各段のシフト量は固定されること
となるため、いわゆるバレルシフタ回路のようなものは
不要となり、よりハードウェアの簡素化が図られたもの
となる。When the above-described multiplier is used in, for example, a digital filter, if the coefficients of the digital filter are made to correspond to multipliers, the shift amount of each stage is fixed. This is unnecessary, and the hardware is simplified.
【0029】[0029]
【発明の効果】以上、述べたように、本発明によれば、
乗算をシフトと加減算で処理できるようにしたので、例
えば、乗数Yがnビットの場合、最大でも(n−1)の
演算で乗算結果を得ることができることとなり、平均的
には、大凡(n−1)/2程度の演算量で済み、従来に
比して回路の簡素化が図られると共に、演算処理の高速
化実現できるという効果を奏するものである。また、本
発明によれば、ハードウェアの効率的、規則的な縮退に
よる削減が可能となるため、特に、集積回路による実現
に際して、低消費電力化、高速化を図ると共に、小型化
が容易となるという効果を奏するものである。As described above, according to the present invention,
Since the multiplication can be processed by shift and addition / subtraction, for example, when the multiplier Y is n bits, the multiplication result can be obtained by the operation of (n-1) at the maximum, and the average is approximately (n) This requires only about -1) / 2 of the amount of calculation, which is advantageous in that the circuit can be simplified as compared with the related art, and that the speed of the calculation processing can be increased. Further, according to the present invention, hardware can be reduced by efficient and regular degeneration, so that, especially when implemented by an integrated circuit, low power consumption and high speed can be achieved, and miniaturization is facilitated. It has the effect of becoming.
【図1】本発明の実施の形態における乗算器の第1の回
路構成例を示す構成図である。FIG. 1 is a configuration diagram illustrating a first circuit configuration example of a multiplier according to an embodiment of the present invention.
【図2】本発明の実施の形態における乗算器による被乗
数Xのシフト量を求めるための手順を示すフローチャー
トである。FIG. 2 is a flowchart illustrating a procedure for obtaining a shift amount of a multiplicand X by a multiplier according to the embodiment of the present invention.
【図3】本発明の実施の形態における乗算器の第2の回
路構成例を示す構成図である。FIG. 3 is a configuration diagram illustrating a second circuit configuration example of the multiplier according to the embodiment of the present invention;
【図4】従来の乗算器の一回路構成例を示す構成図であ
る。FIG. 4 is a configuration diagram showing an example of a circuit configuration of a conventional multiplier.
【図5】図4に示された回路における単位乗算回路の構
成を示す構成図である。FIG. 5 is a configuration diagram showing a configuration of a unit multiplication circuit in the circuit shown in FIG. 4;
【図6】従来の乗算器の他の回路構成例を示す構成図で
ある。FIG. 6 is a configuration diagram showing another example of a circuit configuration of a conventional multiplier.
1〜m…シフタ 100〜(100+m−1)…加減算回路 200…入力セレクタ 202…遅延素子 1-m shifter 100- (100 + m-1) addition / subtraction circuit 200 input selector 202 delay element
Claims (3)
の乗算結果U=X×Yを求める乗算器であって、 最初にU=Xとし、前記乗数Yがi Sで割り切れるか否
かを判定し、 前記乗数Yがi Sで割り切れる場合には、前記Uをその
最上位ビット側へSビットシフトして、そのシフト結果
を新たなUとすると共に、Y/i Sを新たなYとする一
方、 前記乗数Yがi Sで割り切れない場合には、当該乗数Y
からiより小さな数jを減算した(Y−j)または乗数
Yに前記jを加算した(Y+j)を新たにYとした後、
この新たな乗数Yがi Sで割り切れる場合には、前記U
をその最上位ビット側へSビットシフトし、そのシフト
結果にX×jを加算または減算したものを新たなUとす
ると共に、Y/i Sを新たなYとし、 以下、前記乗数Yがi Sで割り切れる場合と、乗数Yが
i Sで割り切れない場合との処理を、前記Sを順次減じ
ながら繰り返してゆき、Yがiより小さくなった時点に
おけるUを被乗数Xと乗数Yの乗算結果として出力する
よう構成されてなることを特徴とする乗算器。1. A multiplicand X and a multiplier Y encoded in an i-ary system
Is a multiplier for obtaining a multiplication result U = X × Y of the following equation. First, U = X, and the multiplier Y is i SIs divisible by
And the multiplier Y is i SIf it is divisible by
S-bit shifted to the most significant bit side, and the shift result
As a new U and Y / i SIs a new Y
The multiplier Y is i SIf it is not divisible by, the multiplier Y
(Y-j) or multiplier obtained by subtracting a number j smaller than i from
After adding the above j to Y and (Y + j) is newly set as Y,
This new multiplier Y is i SIf divisible by
Is shifted S bits to the most significant bit side, and the shift
A result obtained by adding or subtracting X × j to the result is defined as a new U.
And Y / i SIs a new Y, and the multiplier Y is i SAnd the multiplier Y is
i SThe processing when it is not divisible by is subtracted from the above S in order.
And when Y becomes smaller than i
Is output as the result of multiplication of the multiplicand X and the multiplier Y
A multiplier configured as described above.
る乗算器であって、 パラレルデータが入力されて、外部から入力された所定
のシフト信号に応じて前記パラレルデータに対してシフ
トを施して出力するシフタと、 前記シフタの出力データに前記被乗数Xを加算又は減算
して出力する加減算回路とを一組として、 所定の条件の下で決定された段数mに対応して前記加減
算回路の出力側に次段のシフタと加減算回路の一組が接
続されるようにして前記シフタ及び加減算回路の組がm
段縦列的に接続されて乗算器が構成され、 各々の段のシフタに入力される前記シフト信号は、当該
各々の段に応じて定められるシフト量に応じたものであ
り、当該各々の段のシフト量は、 前記被乗数Xと乗数Yとがi進法で符号化されたもので
ある場合、 前記乗数YがY=(・・・(((2 S1±1)2 S2±
1)2 S3±1)・・・)2 Sm±1)と表し得た場合
において、当該式中における2の指数部のそれぞれの値
であり、当該式中の最も内側の括弧内の2の指数部の値
を始めとして各々の指数部の値が、第1のシフタから順
に各々のシフタのシフト量として割り当てられるもので
あり、 前記段数mは、前記シフト量として得られる2の指数部
の個数に対応するものであることを特徴とする乗算器。2. A multiplication result of the multiplicand X and the multiplier Y is calculated.
A parallel data input, and a predetermined input externally input.
Shifts the parallel data in response to the shift signal of
A shifter for applying and outputting, and adding or subtracting the multiplicand X to or from output data of the shifter.
And an adder / subtractor circuit that outputs the result as a set, and the add / subtract is performed in accordance with the number m of stages determined under predetermined conditions.
A pair of the next stage shifter and addition / subtraction circuit is connected to the output side of the arithmetic circuit.
The set of the shifter and the addition / subtraction circuit is set to m
The multipliers are configured by being connected in cascade, and the shift signal input to the shifter of each stage is
It is based on the shift amount determined for each stage.
The shift amount of each stage is obtained by encoding the multiplicand X and the multiplier Y in the i-ary system.
In some cases, the multiplier Y is Y = (... (((2 S1± 1) 2 S2±
1) 2 S3± 1) ・ ・ ・ 2 Sm± 1)
, The value of each exponent of 2 in the formula
And the value of the exponent of 2 in the innermost parenthesis in the expression
Starting with the first shifter
Is assigned as the shift amount of each shifter
The number m of stages is an exponent of 2 obtained as the shift amount.
A multiplier corresponding to the number of.
る乗算器であって、 2組のパラレルデータの入力を可能として、外部から入
力される制御信号に応じて前記2組のパラレルデータの
いずれか一方を選択して出力する入力セレクタと、 前記入力セレクタからのパラレルデータが入力されて、
外部から順に入力される所定のシフト信号に応じて前記
パラレルデータに対してシフトを施して出力するシフタ
と、 前記シフタからのパラレルデータ出力に対して前記被乗
数Xを加算又は減算して、その演算結果をパラレル出力
する加減算回路と、 前記加減算回路のパラレル出力データに対して所定の遅
延時間の遅延を施して出力し、出力段は、前記入力セレ
クタの一方の入力段に接続されてなる遅延素子とを具備
し、 前記入力セレクタには、他方の入力段に前記被乗数Xが
パラレル入力され、当該被乗数Xが選択出力されるべく
制御信号が入力された後は、所定間隔で前記遅延素子か
らのパラレルデータが(m−1)回選択出力されるよう
前記制御信号が印加される一方、 前記シフタには、入力セレクタから新たなパラレルデー
タの入力がなされる度毎に、所定の条件の下で求められ
たシフト量に対応するシフト信号が入力されるようにな
っており、 前記各々のシフト量は、 前記被乗数Xと乗数Yとがi進法で符号化されたもので
ある場合、 前記乗数YがY=(・・・(((2 S1±1)2 S2±
1)2 S3±1)・・・)2 Sm±1)と表し得た場合
において、当該式中における2の指数部のそれぞれの値
であり、当該式中の最も内側の括弧内の2の指数部の値
を始めとして順に各々のシフト量として割り当てられる
ものであり、 前記mは、前記シフト量として得られる2の指数部の個
数に対応するものであり、 前記加減算回路からのm回目の出力を前記被乗数Xと乗
数Yとの乗算結果として得ることを特徴とする乗算器。3. A multiplication result of the multiplicand X and the multiplier Y is calculated.
Multiplier that can input two sets of parallel data and
The two sets of parallel data are
An input selector for selecting and outputting one of the two, and parallel data from the input selector being input,
According to a predetermined shift signal sequentially input from the outside,
Shifter that shifts and outputs parallel data
With respect to the parallel data output from the shifter,
Adds or subtracts number X and outputs the result in parallel
And a predetermined delay with respect to the parallel output data of the addition / subtraction circuit.
The output stage delays the output and outputs the same.
A delay element connected to one input stage of the
The input selector includes the multiplicand X in the other input stage.
The multiplicand X is selected and output in parallel.
After the control signal is input, the delay element
These parallel data are selected and output (m-1) times
While the control signal is applied, a new parallel data is input from the input selector to the shifter.
Each time a data entry is made,
The shift signal corresponding to the shifted amount
The respective shift amounts are obtained by encoding the multiplicand X and the multiplier Y in the i-ary system.
In some cases, the multiplier Y is Y = (... (((2 S1± 1) 2 S2±
1) 2 S3± 1) ・ ・ ・ 2 Sm± 1)
, The value of each exponent of 2 in the formula
And the value of the exponent of 2 in the innermost parenthesis in the expression
Is assigned as each shift amount starting with
M is the number of exponents of 2 obtained as the shift amount.
The m-th output from the addition / subtraction circuit is multiplied by the multiplicand X.
A multiplier obtained as a result of multiplication with the number Y.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17699899A JP3851024B2 (en) | 1999-06-23 | 1999-06-23 | Multiplier |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17699899A JP3851024B2 (en) | 1999-06-23 | 1999-06-23 | Multiplier |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001005642A true JP2001005642A (en) | 2001-01-12 |
JP3851024B2 JP3851024B2 (en) | 2006-11-29 |
Family
ID=16023400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17699899A Expired - Fee Related JP3851024B2 (en) | 1999-06-23 | 1999-06-23 | Multiplier |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3851024B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100402734B1 (en) * | 2001-12-21 | 2003-10-22 | 한국전자통신연구원 | the fixed point multiplier using a coded multiplicnd and the method thereof |
-
1999
- 1999-06-23 JP JP17699899A patent/JP3851024B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100402734B1 (en) * | 2001-12-21 | 2003-10-22 | 한국전자통신연구원 | the fixed point multiplier using a coded multiplicnd and the method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP3851024B2 (en) | 2006-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0370411B2 (en) | ||
JP3277089B2 (en) | Multiplier and product-sum operation unit | |
US4677583A (en) | Apparatus for decimal multiplication | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JP2001005642A (en) | Multiplier | |
JP3515170B2 (en) | Multiplier for real or complex numbers | |
JP2606326B2 (en) | Multiplier | |
JP2864598B2 (en) | Digital arithmetic circuit | |
JP2734438B2 (en) | Multiplier | |
JP4408727B2 (en) | Digital circuit | |
JP2633165B2 (en) | Arithmetic unit using distributed arithmetic | |
JP4042215B2 (en) | Arithmetic processing apparatus and method | |
KR100386979B1 (en) | Method of paralleling bit serial multiplier for Galois field and a bit serial-parallel multipiler using thereof | |
KR0154792B1 (en) | Differentiater using the bit serial method | |
JP2000347834A (en) | Arithmetic circuit by sw number system | |
JPH0624310B2 (en) | Digital Filter | |
JP3412368B2 (en) | Bit serial squaring circuit | |
JPS63163927A (en) | Multiplication circuit | |
JP3851025B2 (en) | Division circuit | |
JPH03196712A (en) | Digital arithmetic circuit | |
JPH05241793A (en) | Double-precision multiplier | |
JPH04229323A (en) | Arithmetic circuit | |
JPH10312269A (en) | Product sum computing element | |
JPH11134174A (en) | Arithmetic circuit | |
JPS615345A (en) | Serial multiplication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041228 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060801 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060831 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140908 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |