JP3851024B2 - 乗算器 - Google Patents
乗算器 Download PDFInfo
- Publication number
- JP3851024B2 JP3851024B2 JP17699899A JP17699899A JP3851024B2 JP 3851024 B2 JP3851024 B2 JP 3851024B2 JP 17699899 A JP17699899 A JP 17699899A JP 17699899 A JP17699899 A JP 17699899A JP 3851024 B2 JP3851024 B2 JP 3851024B2
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ディジタルデータの乗算を行う乗算器に係り、特に、高速化を図ったものに関する。
【0002】
【従来の技術】
従来、ディジタルデータの乗算回路としては、例えば、図4に示されたようなリップルキャリー形並列乗算器と称されるものが公知・周知となっている。
この図4に示されたリップルキャリー形並列乗算器は、4×3ビットの演算用の回路構成例であり、基本的に同一の回路構成を有してなる12個の単位乗算回路UMを用いて構成されたものとなっている。
すなわち、単位乗算回路UMは、図5に示されたようにいわゆるフルアダー回路FAを中心に構成されたものである。
かかる構成を有するリップルキャリー形並列乗算器は、被乗数Xがmビット、乗数Yがnビットの場合に、n×m個の単位乗算回路UMを必要とするものである。
なお、図4において、単位乗算回路UMの後の2桁の数字からなる添字は、行と列を表す組み合わせとなっている。すなわち、一桁目の数字が行を、2桁目の数字が列を、それぞれ表すものとなっている。たとえば、UM21は、一行目、第2列目の単位乗算回路であることを意味するものとなっている。
【0003】
また、ディジタルデータの乗算回路の他の例としては、図6に示されたように直並列乗算器が公知・周知となっている。
すなわち、この直並列乗算器は、フルアダー回路FAと、遅延素子DLとを主たる構成要素としてなるもので、被乗数Xが1ビット単位で、各々のフルアダー回路FAで乗数Yと演算され、Y1ビット側から時系列的にY4ビット側へと演算結果が伝達されてゆき乗算出力Zが得られるようになっているものである。
【0004】
【発明が解決しようとする課題】
しかしながら、上述したいずれの乗算器においても、被乗数X、あるいは乗数Yのビット単位での乗算が実行され、各ビットの演算結果が伝搬されて、最終的な乗算結果を得るような構成であるため、ビット数が増えるに従い演算時間が長くなる傾向があり、特に、高速化を要求されるようなディジタル信号処理装置には不向きであるばかりか、扱うビット数の増加に従い回路構成が複雑になり、高価格となるという問題があった。
【0005】
本発明は、上記実状に鑑みてなされたもので、比較的簡易な構成で、高速演算が可能な乗算器を提供するものである。
本発明の他の目的は、集積回路化に適する低消費電力化、高速化並びに小型化が容易な乗算器を提供することにある。
【0006】
【課題を解決するための手段】
本発明の目的を達成するため、本発明に係る乗算器は、
i進法で符号化された被乗数Xと乗数Yの乗算結果U=X×Yを求める乗算器であって、
最初にU=Xとし、前記乗数YがiSで割り切れるか否かを判定し、
前記乗数YがiSで割り切れる場合には、前記Uをその最上位ビット側へSビットシフトして、そのシフト結果を新たなUとすると共に、Y/iSを新たなYとする一方、
前記乗数YがiSで割り切れない場合には、当該乗数Yからiより小さな数jを減算した(Y−j)または乗数Yに前記jを加算した(Y+j)を新たにYとした後、この新たな乗数YがiSで割り切れる場合には、前記Uをその最上位ビット側へSビットシフトし、そのシフト結果にX×jを加算または減算したものを新たなUとすると共に、Y/iSを新たなYとし、
以下、前記乗数YがiSで割り切れる場合と、乗数YがiSで割り切れない場合との処理を、前記Sを順次減じながら繰り返してゆき、Yがiより小さくなった時点におけるUを被乗数Xと乗数Yの乗算結果として出力するよう構成されてなるものである。
【0007】
かかる構成の乗算器は、例えば、被乗数Xと乗数Yが共に2進数で表されるものである場合において、乗数YがY=(・・・(((2S1±1)2S2±1)2S3±1)・・・)2Sm±1)の如くに展開できる場合に、U=X×Y=(・・・(((X2S1±X)2S2±X)2S3±X)・・・)2Sm±X)と表され、Xのシフトとそのシフト結果に対する加減算処理によって乗算結果を得ることができることに着目して、かかる処理が行われるように構成されたものであり、そのため構成の簡素化と、演算速度の向上が可能となるものである。
【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段目を構成するようなものとなっている。
【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 Significant Bit)側へ、nビットの入力データX1,X2,・・・,Xmがシフトされるようになっているものである。そして、そのシフト結果は、第1のシフタ1であれば、第1の加減算回路100へ、第2のシフタ2であれば、第2の加減算回路101へというように、それぞれ対応する加減算回路へ入力されるようになっている。
【0010】
第1乃至第mの加減算回路100〜(100+m−1)は、対応する第1乃至第mのシフタ1〜mから入力されたシフト結果と被乗数Xとの加算演算を行うもので、公知・周知の回路構成を有してなるものである。
そして、第1乃至第(m−1)の加減算回路100〜(100+m−2)の演算結果は、それぞれ次段のシフタに入力されるような構成となっている。
【0011】
次に、この乗算器M1による乗算の原理について説明する。
先ず、被乗数をXとし、乗数をYとして、共に2進数であるとする。
例えば、乗数YがY=(・・・(((2S1±1)2S2±1)2S3±1)・・・)2Sm±1)の如くに展開できるものとする(この式を式1とする)。
この場合、U=X×Yは、U=(・・・(((X2S1±X)2S2±X)2S3±X)・・・)2Sm±X)と表現することができる(この式を式2とする)。
この式2において、最も内側の括弧に括られた項(X2S1±X)について見ると、これは、被乗数Xに2S1を乗じた結果に対してさらに被乗数Xを加減算するものとなっているが、ここで被乗数Xに2S1を乗ずる部分は、2進数の特性から、被乗数XをS1ビットだけ、MSB(Most Significant Bit)側へシフトすることに他ならない。
(X2S1±X)の演算結果をU1とすれば、次の括弧で括られた項である((X2S1±X)2S2±X)は、U1×2S2±Xとなり、これも、上述した最初の演算同様に処理することができる。すなわち、U1をS2ビットだけMSB側へシフトした結果に、被乗数Xを加算(または減算)すればよい。
結局、先の式2の場合、シフトと加減算処理をm回繰り返すことでX×Yの演算結果を得ることができる。換言すれば、シフタと加減算回路との組み合わせをm段縦列に組み合わせて乗算器を構成することで、上述したようなシフトと加減算をm回繰り返してU=X×Yを得るようにすることができる。
図1に示された乗算器M1は、上述のような観点に基づき構成されたものである。
【0012】
次に、乗数Yを式1の如くに表す際の2の指数部分の値、換言すればシフト量S1,S2,・・・,Smを求める手順について、図2を参照しつつ説明する。処理が開始されると、まず、演算パラメータm,S,Dの値が共に初期値ゼロに設定される(図2のステップ100参照)。
次いで、Yが1か否かが判定され(図2のステップ102参照)、Yが「1」であると判定された場合(NOの場合)には、処理の必要なしとして一連の処理が終了されることとなる一方、「1」であると判定された場合(YESの場合)にはステップ104へ進み、Yが偶数か否かが判定されることとなる。
そして、Yが偶数であると判定された場合(YESの場合)には、ステップ106へ進み、演算パラメータSすなわちシフト量Sの値が、このステップ106を実行する直前のSの値に「1」を加算した値へ更新されることとなる。また、このステップ106においては、Yの値がこのステップ106の実行直前のYを2で除した値に更新され、その後、先のステップ102へ戻り一連の処理が繰り返されることとなる。
すなわち、Yが偶数である限りステップ102,104,106が繰り返されてシフト量S1,S2,・・・と求められてゆくこととなる。
【0013】
一方、ステップ104において、Yが偶数ではないと判定された場合(NOの場合)には、ステップ108へ進み、その時点における演算パラメータm,D,Sの各々の値が第1回目の結果として出力され、また、必要に応じて図示されない所定の記憶装置等に記憶されることとなる。
次いで、ステップ110へ進み、演算パラメータmの値が、このステップ110の実行直前の値に「1」を加算した値に更新されると共に、Yの値がステップ110の実行直前の値に「1」を加算した値に更新されることとなる。
【0014】
そして、Yの値が「4」の倍数か否かが判定され(図2のステップ112参照)、4の倍数である場合(YESの場合)には、ステップ114へ進み、演算パラメータDが「−1」に設定されると共に、演算パラメータSが、このステップ114の実行直前の値に「2」を加算した値に更新される。さらに、Yの値が、このステップ114の実行直前の値を「4」で除した値に更新されて、その後、先のステップ102へ戻ることとなる。
【0015】
一方、ステップ112において、Yの値が4の倍数ではないと判定された場合(NOの場合)には、ステップ116へ進み、Yの値が、このステップ116の実行直前の値から「2」を減じた値に更新されることとなる。
次いで、ステップ118において、演算パラメータDの値が「1」に設定されると共に、演算パラメータSの値が、このステップ118の実行直前の値に「2」を加算した値に更新され、さらに、Yが、このステップ118の実行直前の値を「4」で除した値に更新されて、先のステップ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が更新されることとなる。すなわち、このステップ116の処理は、ステップ110の実行直前のYの値から「1」を減算することに相当する。
これで、Yは、4の倍数となるため、ステップ118において、シフト量の更新が行われ、また、Yが4で除されるようになっている。
ステップ110の実行直前において、Y=7の場合は、ステップ110の処理で4の倍数であるY=8となるため、ステップ114へ進みシフト量の更新と、Yの除算が行われようになっている。
【0017】
なお、演算パラメータDは、ステップ110の実行直前のYの値に「1」を加算して4の倍数となった場合と、ならない場合との識別のためのもので、この例では、「1」を加算して4の倍数となった場合にD=−1、「1」を減算して4の倍数となった場合にD=+1としてある、
このようにして、Yの値が「1」となるまで、上述した処理が繰り返されてシフト量S1,S2,・・・,Smが求められることとなる。
なお、上述したような処理は、例えば、マイクロコンピュータにより図2に示された手順に従ったソフトウェアを実行させることにより実現でき、その場合には、得られたシフト量S1,S2,・・・,Smと共に、被乗数Xをそのマイクロコンピュータから図1に示された乗算器M1へ入力するようにすると好適である。
【0018】
次に、図1を参照しつつ乗算器M1の動作について説明する。
まず、被乗数Xがnビットであるとして、そのMSBをX1として、以下、LSB(Least Significant Bit)へ向かうに従いXの添字の数値は昇順に表されるものとし、LSBは、Xnと表すものとする。
そして、第1のシフタ1に、被乗数Xがパラレルに入力されると共に、先に図2を参照しつつ説明したように予め求められたシフト量S1が入力されると、被乗数Xがシフト量S1に対応してMSB側へシフトされ、そのシフト結果が第1の加減算回路100へパラレル出力されることとなる。
第1の加減算回路100においては、パラレル入力された被乗数Xと第1のシフタ1から入力されたデータとの加算演算が行われ、その演算結果は、第2のシフタ2にパラレル入力されることとなる。
【0019】
第2のシフタ2においては、第1の加減算回路100からデータが入力されると、シフト量S2が入力され、S2に相当するシフトが先の第1のシフタ1と同様にして第1の加減算回路100から入力されたデータに対して施され、その結果が第2の加減算回路101へパラレル入力されることとなる。
そして、第2の加減算回路101においては、第2のシフタ2から入力されたデータと、この第2の加減算回路101へパラレル入力された被乗数Xとの加算演算が行われ、その演算結果は、第3のシフタ(図示せず)へパラレル入力されることとなる。
以下、同様にして、データのシフトと加算演算が行われ、その結果が次段へ入力されてゆくことが繰り返されてゆき、最終段のm段目において、第mの加減算回(100+m−1)からX×Yの演算結果であるUがパラレルデータとして得られることとなる。
【0020】
次に、被乗数X=100(10進数)で乗数Y=151(10進数)の場合を例に採り、乗算器M1の構成及び動作についてより具体的に説明する。
まず、Y=151の場合、Y=(((23+1)×22+1)×2+1)2+1と表すことができる。したがって、この場合、乗算器M1は4段構成とすればよいこととなる。
そして、1段目において、すなわち第1のシフタ1において、被乗数Xは、左に3ビット、すなわちMSB側に向かって3ビット分のシフトが施されることとなる。X=100は、2進数では、X=(1100100)2と表されるので、3ビットのシフト後は、(1100100000)2となる。したがって、被乗数Xとの加算は、(1100100000)2+(1100100)2=(1110000100)2となる。
【0021】
次に、第2のシフタ2においては、(1110000100)2が左に2ビットシフトされて、(111000010000)2となり、これに第2の加減算回路101において被乗数X=(1100100)2が加算され、(111000010000)2+(1100100)2=(11001110100)2となる。
次に、第3のシフタ(図示せず)においては、(11001110100)2が左に1ビットシフトされて、(110011101000)2となり、第3の加減算回路(図示せず)において、これに被乗数Xが加算されて、(110011101000)2+(1100100)2=(1110100001100)2となる。
最後に、この場合の第mのシフタ、すなわち第4のシフタ4においては、(1110100001100)2が左に1ビットシフトされて(11101000011000)2となり、第mの加減算回路すなわち第4の加減算回路103において、これに被乗数Xが加算されて、(11101000011000)2+(1100100)2=(11101011111100)2となる。
(11101011111100)2は、10進数へ戻せば15100であり、これは、X=100とY=151との乗算結果に合致し、乗算器M1によって確かにX×Yが求められることが確認できる。
【0022】
次に、第2の回路構成例における乗算器M2について、図3を参照しつつ説明する。
この乗算器M2は、先の乗算器M1がシフト処理の回数に対応してシフタと加減算回路の組がいわば縦列接続的に設けられた構成であるのに対して、一組のシフタと加減算回路を時系列的に繰り返し使用できるように構成されたものである。
すなわち、乗算器M2は、一組のシフタ1及び加減算回路100に加えて、入力セレクタ200と遅延素子202とを具備して構成されたものとなっている。シフタ1及び加減算回路100は、それぞれ先に図1に示された第1乃至第mのシフタ1〜m、第1乃至第mの加減算回路100〜(100+m−1)と基本的に同一のものであり、そのため、ここでの詳細な説明は省略することとする。
【0023】
入力セレクタ200には、被乗数Xと、遅延素子202を介した加減算回路100の出力データとが、それぞれパラレルで入力できるようになっており、制御信号Soに応じて(例えば論理値Highと論理値Lowとの切り替えに応じて)、被乗数Xと、遅延素子202を介した加減算回路100の出力データのいずれか一方が選択的にシフタ1へ出力されるようになっている。
【0024】
シフタ1には、シフト量に対応するシフト信号S1乃至Smが順に入力されるようになっており、このシフト信号に応じて、入力セレクタ200により入力されたデータがシフトされて加減算回路100へ出力されるようになっている。
加減算回路100は、シフタ1からの入力されたパラレルデータに、被乗数Xを加算して出力するようになっており、そのパラレル出力データは、遅延素子202を介して入力セレクタ200へ戻されるようになっている。
ここで、遅延素子202には、シフタ1と加減算回路100における演算時間に比して十分大きな遅延時間に設定されている。このような遅延素子202としては、例えば、ラッチやシフトレジスタなどのクロックの入力によってその駆動が行われる論理素子によって実現可能である。
したがって、入力セレクタ200において、制御信号Soの入力タイミングを適宜に設定することで、シフタ1と加減算回路100における演算結果を、タイミングよくフィードバックして、そのフィードバック結果に対して再びシフトと加算処理を施すようにすることができ、あたかも先の図1に示されたように、シフタと加減算回路が複数段に構成されたと等価なものとすることができるようになっている。
【0025】
次に、上記構成における乗算器M2の動作について説明する。
まず、入力セレクタ200によって、被乗数Xが選択されて、シフタ1へ出力されると、シフタ1には、外部からシフト信号(シフト量)S1が入力されて、被乗数XはS1に対応するシフトが施された後、加減算回路100へパラレル出力される。ここで、被乗数Xのシフトは、先の図1の回路例におけるのと同様に、MSB側へ向かって行われるようになっている。
加減算回路100においては、シフタ1からのパラレルデータに対して被乗数Xが加算されて出力され、その演算出力は、遅延素子202を介して入力セレクタ200へ戻されることとなる。
【0026】
入力セレクタ200においては、制御信号Soが適宜な信号レベルに切り替えられて、それによって、遅延素子202を介した加減算回路100の出力が選択されて、シフタ1へ入力されることとなる。
シフタ1においては、シフト信号S2が入力され、入力セレクタ200から入力されたパラレルデータに対してこのシフト信号に応じたシフトが施され、加減算回路100へパラレル出力されることとなる。
加減算回路100においては、シフタ1から入力されたパラレルデータと被乗数Xとの加算演算が行われ、その演算結果は、再び遅延素子202を介して入力セレクタ200へ戻されて選択され、以下、上述したと同様な動作が繰り返されることとなる。そして、シフタ1へシフト信号Smが入力されて、そのシフト結果に対して加減算回路100において被乗数Xが加算された結果が最終演算出力となる。
【0027】
なお、上述した発明の実施の形態においては、被乗数X及び乗数Yが共に、2進数である場合について説明したが、被乗数X及び乗数Yが共に他の進法で表し得る場合にも適用されることは勿論である。例えば、被乗数X及び乗数Yが共にi進法で表されるものであるとすれば、先の式2に対応するUについての式は、U=(・・・(((XiS1±X・j)iS2±X・j)iS3±X・j)・・・)iSm±X)と表現されることとなり(なお、i>jである)。したがって、XについてのシフトのX・jを加算または減算する処理を繰り返すようにすることで、Uを得ることができるきこととなる。
【0028】
上述した乗算器を例えば、ディジタルフィルタにおいて用いる場合、ディジタルフィルタの係数を乗数に対応させれば、各段のシフト量は固定されることとなるため、いわゆるバレルシフタ回路のようなものは不要となり、よりハードウェアの簡素化が図られたものとなる。
【0029】
【発明の効果】
以上、述べたように、本発明によれば、乗算をシフトと加減算で処理できるようにしたので、例えば、乗数Yがnビットの場合、最大でも(n−1)の演算で乗算結果を得ることができることとなり、平均的には、大凡(n−1)/2程度の演算量で済み、従来に比して回路の簡素化が図られると共に、演算処理の高速化実現できるという効果を奏するものである。
また、本発明によれば、ハードウェアの効率的、規則的な縮退による削減が可能となるため、特に、集積回路による実現に際して、低消費電力化、高速化を図ると共に、小型化が容易となるという効果を奏するものである。
【図面の簡単な説明】
【図1】本発明の実施の形態における乗算器の第1の回路構成例を示す構成図である。
【図2】本発明の実施の形態における乗算器による被乗数Xのシフト量を求めるための手順を示すフローチャートである。
【図3】本発明の実施の形態における乗算器の第2の回路構成例を示す構成図である。
【図4】従来の乗算器の一回路構成例を示す構成図である。
【図5】図4に示された回路における単位乗算回路の構成を示す構成図である。
【図6】従来の乗算器の他の回路構成例を示す構成図である。
【符号の説明】
1〜m…シフタ
100〜(100+m−1)…加減算回路
200…入力セレクタ
202…遅延素子
Claims (3)
- i進法で符号化された被乗数Xと乗数Yの乗算結果U=X×Yを求める乗算器であって、
最初にU=Xとし、前記乗数YがiSで割り切れるか否かを判定し、
前記乗数YがiSで割り切れる場合には、前記Uをその最上位ビット側へSビットシフトして、そのシフト結果を新たなUとすると共に、Y/iSを新たなYとする一方、
前記乗数YがiSで割り切れない場合には、当該乗数Yからiより小さな数jを減算した(Y−j)または乗数Yに前記jを加算した(Y+j)を新たにYとした後、この新たな乗数YがiSで割り切れる場合には、前記Uをその最上位ビット側へSビットシフトし、そのシフト結果にX×jを加算または減算したものを新たなUとすると共に、Y/iSを新たなYとし、
以下、前記乗数YがiSで割り切れる場合と、乗数YがiSで割り切れない場合との処理を、前記Sを順次減じながら繰り返してゆき、Yがiより小さくなった時点におけるUを被乗数Xと乗数Yの乗算結果として出力するよう構成されてなることを特徴とする乗算器。 - 被乗数Xと乗数Yとの乗算結果を算出する乗算器であって、パラレルデータが入力されて、外部から入力された所定のシフト信号に応じて前記パラレルデータに対してシフトを施して出力するシフタと、
前記シフタの出力データに前記被乗数Xを加算又は減算して出力する加減算回路とを一組として、
所定の条件の下で決定された段数mに対応して前記加減算回路の出力側に次段のシフタと加減算回路の一組が接続されるようにして前記シフタ及び加減算回路の組がm段縦列的に接続されて乗算器が構成され、
各々の段のシフタに入力される前記シフト信号は、当該各々の段に応じて定められるシフト量に応じたものであり、当該各々の段のシフト量は、
前記被乗数Xと乗数Yとがi進法で符号化されたものである場合、
前記乗数YがY=(・・・(((2S1±1)2S2±1)2S3±1)・・・)2Sm±1)と表し得た場合において、当該式中における2の指数部のそれぞれの値であり、当該式中の最も内側の括弧内の2の指数部の値を始めとして各々の指数部の値が、第1のシフタから順に各々のシフタのシフト量として割り当てられるものであり、
前記段数mは、前記シフト量として得られる2の指数部の個数に対応するものであることを特徴とする乗算器。 - 被乗数Xと乗数Yとの乗算結果を算出する乗算器であって、2組のパラレルデータの入力を可能として、外部から入力される制御信号に応じて前記2組のパラレルデータのいずれか一方を選択して出力する入力セレクタと、
前記入力セレクタからのパラレルデータが入力されて、外部から順に入力される所定のシフト信号に応じて前記パラレルデータに対してシフトを施して出力するシフタと、
前記シフタからのパラレルデータ出力に対して前記被乗数Xを加算又は減算して、その演算結果をパラレル出力する加減算回路と、
前記加減算回路のパラレル出力データに対して所定の遅延時間の遅延を施して出力し、出力段は、前記入力セレクタの一方の入力段に接続されてなる遅延素子とを具備し、
前記入力セレクタには、他方の入力段に前記被乗数Xがパラレル入力され、当該被乗数Xが選択出力されるべく制御信号が入力された後は、所定間隔で前記遅延素子からのパラレルデータが(m−1)回選択出力されるよう前記制御信号が印加される一方、
前記シフタには、入力セレクタから新たなパラレルデータの入力がなされる度毎に、所定の条件の下で求められたシフト量に対応するシフト信号が入力されるようになっており、
前記各々のシフト量は、
前記被乗数Xと乗数Yとがi進法で符号化されたものである場合、
前記乗数YがY=(・・・(((2S1±1)2S2±1)2S3±1)・・・)2Sm±1)と表し得た場合において、当該式中における2の指数部のそれぞれの値であり、当該式中の最も内側の括弧内の2の指数部の値を始めとして順に各々のシフト量として割り当てられるものであり、
前記mは、前記シフト量として得られる2の指数部の個数に対応するものであり、
前記加減算回路からのm回目の出力を前記被乗数Xと乗数Yとの乗算結果として得ることを特徴とする乗算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17699899A JP3851024B2 (ja) | 1999-06-23 | 1999-06-23 | 乗算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17699899A JP3851024B2 (ja) | 1999-06-23 | 1999-06-23 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001005642A JP2001005642A (ja) | 2001-01-12 |
JP3851024B2 true JP3851024B2 (ja) | 2006-11-29 |
Family
ID=16023400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17699899A Expired - Fee Related JP3851024B2 (ja) | 1999-06-23 | 1999-06-23 | 乗算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3851024B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100402734B1 (ko) * | 2001-12-21 | 2003-10-22 | 한국전자통신연구원 | 부호화된 피승수를 사용하는 고정 소수점 곱셈 장치 및 그방법 |
-
1999
- 1999-06-23 JP JP17699899A patent/JP3851024B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001005642A (ja) | 2001-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3479438B2 (ja) | 乗算回路 | |
US6370556B1 (en) | Method and arrangement in a transposed digital FIR filter for multiplying a binary input signal with tap coefficients and a method for designing a transposed digital filter | |
JP2722412B2 (ja) | モンゴメリ法によるモジュラ操作の実行に伴うエラー訂正パラメータの算出方法 | |
JP5397061B2 (ja) | 演算処理装置、その制御方法および演算処理プログラム | |
US4754422A (en) | Dividing apparatus | |
JP3277089B2 (ja) | 乗算器及び積和演算装置 | |
US5400271A (en) | Apparatus for and method of calculating sum of products | |
JP3851024B2 (ja) | 乗算器 | |
JPH07234778A (ja) | 演算回路 | |
JPH11327875A (ja) | 演算回路 | |
JPH0234054B2 (ja) | ||
US5912904A (en) | Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method | |
JP2864598B2 (ja) | ディジタル演算回路 | |
JP2606326B2 (ja) | 乗算器 | |
JP3071607B2 (ja) | 乗算回路 | |
JP3563043B2 (ja) | 平方根の逆数計算方法、計算回路、及びプログラム | |
JP3261729B2 (ja) | 直線補間方法及びその回路 | |
JP3851025B2 (ja) | 除算回路 | |
JP3695561B2 (ja) | 積和器 | |
JP2734438B2 (ja) | 乗算装置 | |
JP3477866B2 (ja) | 除算器の除算方法 | |
JP3261600B2 (ja) | 剰余乗算器 | |
JP3412368B2 (ja) | ビットシリアル2乗演算回路 | |
JPH0368415B2 (ja) | ||
JPH05241793A (ja) | 倍精度乗算器 |
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 or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event 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 |