JPH03267809A - ディジタル乗算器 - Google Patents
ディジタル乗算器Info
- Publication number
- JPH03267809A JPH03267809A JP2065912A JP6591290A JPH03267809A JP H03267809 A JPH03267809 A JP H03267809A JP 2065912 A JP2065912 A JP 2065912A JP 6591290 A JP6591290 A JP 6591290A JP H03267809 A JPH03267809 A JP H03267809A
- Authority
- JP
- Japan
- Prior art keywords
- bits
- multiplier
- coefficient
- multiplication
- digital
- 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.)
- Pending
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
数係数との乗算を含むようなディジタル乗算器に関し、
より小さな回路規模でより高い精度の乗算を行うことが
できるディジタル乗算器を実現することを目的とし、 a=2N±ε (N=0、±1.±2s−・・;O<
ε<<2N)で表されるm+n+1ビットの係数の内の
上限値が2N−0以下で設定精度がnビットを有する該
εのみをディジタル信号に乗ずる乗算部と、該ディジタ
ル信号の最下位ビットと、該乗算部の出力の最下位ビッ
トとを相対的にm+nビット分ソフトした形で加算或い
は減算することにより該ディジタル信号と係数aとの乗
算値を出力する加算部とで構成する。
できるディジタル乗算器を実現することを目的とし、 a=2N±ε (N=0、±1.±2s−・・;O<
ε<<2N)で表されるm+n+1ビットの係数の内の
上限値が2N−0以下で設定精度がnビットを有する該
εのみをディジタル信号に乗ずる乗算部と、該ディジタ
ル信号の最下位ビットと、該乗算部の出力の最下位ビッ
トとを相対的にm+nビット分ソフトした形で加算或い
は減算することにより該ディジタル信号と係数aとの乗
算値を出力する加算部とで構成する。
〔産業上の利用分野]
本発明は、ディジタル乗算器に関し、特に数係数との乗
算を含むようなディジタル乗算器に関するものである。
算を含むようなディジタル乗算器に関するものである。
ディジタルフィルタ等においては、数係数を乗算する場
合、その数係数を設定するために多数のビット数が必要
となり、回路の中で乗算器の占める割合は大きく、また
動作速度の上限を決める主因になっており、これに対す
る回路規模の縮小や演算速度の高速化が求められている
。
合、その数係数を設定するために多数のビット数が必要
となり、回路の中で乗算器の占める割合は大きく、また
動作速度の上限を決める主因になっており、これに対す
る回路規模の縮小や演算速度の高速化が求められている
。
第7図は、従来から用いられているディジタル乗算器を
原理的に示したもので、このような乗算器において、例
えばpビットのディジタル入力データとm+n+1ビッ
トの数係数aとを乗算器10で乗算すると、その乗算出
力a−xはp +m+n+1ビットのデータとなる。
原理的に示したもので、このような乗算器において、例
えばpビットのディジタル入力データとm+n+1ビッ
トの数係数aとを乗算器10で乗算すると、その乗算出
力a−xはp +m+n+1ビットのデータとなる。
(発明が解決しようとする課題)
このように、従来のディジタル乗算器では、多数のビッ
ト数を要し、その結果、乗算器の構成も大型となってし
まう。
ト数を要し、その結果、乗算器の構成も大型となってし
まう。
ところで、もしその数係数aが2’ (N=O。
±1.±2.・・・・・・)に非常に近く、従って2に
で近似できれば、この数係数aの乗算は入力データXを
単にNビット分だけ上位桁方向(N〉0の時)或いは下
位桁方向(Nく0の時)にシフトすることで行える。
で近似できれば、この数係数aの乗算は入力データXを
単にNビット分だけ上位桁方向(N〉0の時)或いは下
位桁方向(Nく0の時)にシフトすることで行える。
しかしながら、この数係数aが2Nで近似することが出
来ないくらいに高い精度が要求されるような場合には、
上述の如くこの乗算器は大規模なものとなってしまう。
来ないくらいに高い精度が要求されるような場合には、
上述の如くこの乗算器は大規模なものとなってしまう。
従って、本発明は、より小さな回路規模でより高い精度
の乗算を行うことができるディジタル乗算器を実現する
ことを目的とする。
の乗算を行うことができるディジタル乗算器を実現する
ことを目的とする。
〔課題を解決するための手段]
第1図は、本発明に係るディジタル乗算器を原理的に示
したもので、本発明では、a=2N±ε(N=0、±1
.±2.・・・・・・10〈ε〈〈2N)で表されるm
+n+1ビットの係数の内の上限値が2N−0以下で設
定精度がnビットを有する該εのみをディジタル信号X
に乗ずる乗算部1と、該ディジタル信号Xの最下位ビッ
トと、該乗算部1の出力の最下位ビットとを相対的にm
+nビット分シフトした形で加算或いは減算することに
より該ディジタル信号Xと係数aとの乗算値を出力する
加算部2と、を備えている。
したもので、本発明では、a=2N±ε(N=0、±1
.±2.・・・・・・10〈ε〈〈2N)で表されるm
+n+1ビットの係数の内の上限値が2N−0以下で設
定精度がnビットを有する該εのみをディジタル信号X
に乗ずる乗算部1と、該ディジタル信号Xの最下位ビッ
トと、該乗算部1の出力の最下位ビットとを相対的にm
+nビット分シフトした形で加算或いは減算することに
より該ディジタル信号Xと係数aとの乗算値を出力する
加算部2と、を備えている。
〔作 用]
第1図に示す本発明では、入力ディジタル信号Xに乗算
される数係数aをa=2’±ε(N=0、土1、±2.
・・・・・・;0<ε<<2’)とし、2Nに近い値を
とるものとして、以下に述べるように、Xとaとの乗算
において回路規模を縮小しようとするものである。
される数係数aをa=2’±ε(N=0、土1、±2.
・・・・・・;0<ε<<2’)とし、2Nに近い値を
とるものとして、以下に述べるように、Xとaとの乗算
において回路規模を縮小しようとするものである。
まず、係数aは2′″に近い値であるからこれを次のよ
うに表すことができる。
うに表すことができる。
a = 2N±ε (N=0. ±1.±2 、 ・
−−−−・) (1)O〈ε< < 2 ’
(2)即ち、係数aは2Nからの僅
かなずれをεとして示すことができる。
−−−−・) (1)O〈ε< < 2 ’
(2)即ち、係数aは2Nからの僅
かなずれをεとして示すことができる。
ここで、式(2)の条件下で係数aが可変であるとき、
その変化量から来るεの上限値ε、□を、次式のように
表わす。
その変化量から来るεの上限値ε、□を、次式のように
表わす。
N
inam < −=2’−” (m>O)
(3)そして、乗算の精度、即ちεwaxを設定する
精度δは、ε□8を表すのに必要なビット数をnとする
と、次式のように表すことができる。
(3)そして、乗算の精度、即ちεwaxを設定する
精度δは、ε□8を表すのに必要なビット数をnとする
と、次式のように表すことができる。
ε 、aχ
δ−−(neo) (4)2
″ 言い換えれば、与えられたδに対してnが決まることを
意味する。
″ 言い換えれば、与えられたδに対してnが決まることを
意味する。
この弐(4)を用いて、aを表すのに必要な表現ビット
数は次のように求めることができる。
数は次のように求めることができる。
係数aを表す信号のMSB(最上位ビット)は式(1)
より2Nの大きさに対応し、LSB (最下位ビット)
は式(4)より精度δの大きさに対応しており、具体的
には、 の大きさとなる。
より2Nの大きさに対応し、LSB (最下位ビット)
は式(4)より精度δの大きさに対応しており、具体的
には、 の大きさとなる。
従って、係数aを表すのに必要なビット数は、MSBと
LSBとの比をとって、次式から、であるからMSBは
LSBよりm+nビット分上位にあることになり、全体
では第2図に示すようにm+n±1ビットということに
なる。
LSBとの比をとって、次式から、であるからMSBは
LSBよりm+nビット分上位にあることになり、全体
では第2図に示すようにm+n±1ビットということに
なる。
そこで、本発明では、ディジタル信号x(pビット)と
係数aとの乗算を、 aX予(2’±ε)X =2’−x±ε・x(7) と変形して、Xと2Nとの乗算と、εとXとの乗算の二
つに分けて行う。
係数aとの乗算を、 aX予(2’±ε)X =2’−x±ε・x(7) と変形して、Xと2Nとの乗算と、εとXとの乗算の二
つに分けて行う。
ここで前者の項2’−x自体は、Xを単にNビット(N
>Oのときは上位桁方向に、N<0のときは下位桁方向
に)だけシフトして得られるものである。
>Oのときは上位桁方向に、N<0のときは下位桁方向
に)だけシフトして得られるものである。
従って、乗算器1が必要なのはε・Xを求める部分だけ
になる。
になる。
そして、従来例と同し精度を得るのに必要なこの乗算器
のビット数は、上述の如く可変部分εを表すnビットで
よく、この乗算結果と先の2NXを加算部2で合成すれ
ばよい。
のビット数は、上述の如く可変部分εを表すnビットで
よく、この乗算結果と先の2NXを加算部2で合成すれ
ばよい。
但し、このとき2N ・χのLSBとε・XのLSBと
は第2図にも示すようにm+nビットだけ桁がずれてい
るので、両者のLSBが相対的にm+nビットだけずれ
るようにシフトさせれば、加算部2の2つの入力信号の
ビット数は共にp+m+n+1となる。
は第2図にも示すようにm+nビットだけ桁がずれてい
るので、両者のLSBが相対的にm+nビットだけずれ
るようにシフトさせれば、加算部2の2つの入力信号の
ビット数は共にp+m+n+1となる。
これにより、加算部2から出力される乗夏値は従来例と
同じ精度(P+m+n+1ビット)の積a’xを得るこ
とができる 〔実 施 例] 以下、本発明に係るディジタル乗算器の実施例として、
a =8.035という数係数との乗算について説明す
る。
同じ精度(P+m+n+1ビット)の積a’xを得るこ
とができる 〔実 施 例] 以下、本発明に係るディジタル乗算器の実施例として、
a =8.035という数係数との乗算について説明す
る。
この数係数は、上記の式(1)に従うと、%式%()
(2)
(3)
である、いま、εは、0.001の精度で、0.030
〜0.040まで変化させるものとする。
〜0.040まで変化させるものとする。
ここで、aの28への近さ(m)を求めると、となる最
大の整数mは7である。即ち、3 0.040 < −=2−’=0.0625 (A
5)7 これは、aを第2図に示すようににビットで表したとき
、MSB (ai= )は23の位を表し、aの23か
らのずれを表すεの影響は上位mビットには届かないこ
とを意味する。
大の整数mは7である。即ち、3 0.040 < −=2−’=0.0625 (A
5)7 これは、aを第2図に示すようににビットで表したとき
、MSB (ai= )は23の位を表し、aの23か
らのずれを表すεの影響は上位mビットには届かないこ
とを意味する。
言い換えれば、MSBは、
a、−1
で、a m−+ 〜a w−qの7ビットは、am−1
tal+−! =°°°°=aドア三〇となっている筈
であり、それだけε(0,035)が2N(23)に比
べて遠いということ、あるいはそれだけaが2Nに近い
ということをmビットが示していることになる。
tal+−! =°°°°=aドア三〇となっている筈
であり、それだけε(0,035)が2N(23)に比
べて遠いということ、あるいはそれだけaが2Nに近い
ということをmビットが示していることになる。
次に最初に仮定したε・0.001の設定精度(nビッ
ト)について考えると、 =δ<0.001 となる最小の整数nは、 δ= 2−””’ −2”=0.0009<0.001
より、「6」ビットとなる。
ト)について考えると、 =δ<0.001 となる最小の整数nは、 δ= 2−””’ −2”=0.0009<0.001
より、「6」ビットとなる。
(LSB)が2−10であるから、MSBはLSBに対
して、 ハ となる。
して、 ハ となる。
従って、aを表すのに13+1=14ビット必要となる
。
。
そこで、a =8.035を14ビットで表すと、第3
図に示すようになる。
図に示すようになる。
これは、正確には、
2’+2−’+2−”−8+0.03125+0.03
125+0.00391−8.03516 となる。
125+0.00391−8.03516 となる。
この場合の真の値8.035からのずれは、εを表すと
き、 を36で近位したことに起因している。
き、 を36で近位したことに起因している。
以上のことから、aを表すのに14ビ、ト必要で、ε、
、、 =0.040のとき、23からのずれεを表して
いるのは下位の6ビノト(a6〜a+)である。
、、 =0.040のとき、23からのずれεを表して
いるのは下位の6ビノト(a6〜a+)である。
ここで、14ビットの係数aとP=8ビ、トのディジタ
ル信号Xとの積yを考える。
ル信号Xとの積yを考える。
従来では、aを表すのに14ビット必要であることから
、(8ビット)X(14ビット)=22ビットの乗算器
が必要であったが、これに対して本発明では、先に述べ
たように、aIs〜a、は常にOであるから、第4図に
示す如く、この部分の計算は不要である。
、(8ビット)X(14ビット)=22ビットの乗算器
が必要であったが、これに対して本発明では、先に述べ
たように、aIs〜a、は常にOであるから、第4図に
示す如く、この部分の計算は不要である。
そこで、εを表す下位6ビツ) (a、〜a+)とXの
積Cを第1図に示す乗算部1で求め、これとA−23・
Xとを加算部2で加算してy−a・Xを求める場合、実
際に必要になる乗ytsは、第5図に示す如く、乗算部
lの積C=(8ビット)×(6ビント)−14ビットの
ものでよい。
積Cを第1図に示す乗算部1で求め、これとA−23・
Xとを加算部2で加算してy−a・Xを求める場合、実
際に必要になる乗ytsは、第5図に示す如く、乗算部
lの積C=(8ビット)×(6ビント)−14ビットの
ものでよい。
但し、加算部2で加算を行う際には、積Aと積Cとの桁
(小数点)を合わせるために、積AのLSBと積CのL
SBとを相対的に、m+n=7+6−13ビットシフト
させる必要がある。
(小数点)を合わせるために、積AのLSBと積CのL
SBとを相対的に、m+n=7+6−13ビットシフト
させる必要がある。
即ち、第6図に加算部2の実施例を示すように、積Aに
ついては、信号Xの8ビットの下位のm+n−13ビッ
トに“0”を挿入することにより13ビットだけ上位ヘ
シフトしてp+m+n−22ビットのA1〜AB、とし
、他方、積Cについては、この上位(m=)7ビットを
符号ビット(B、4)と同しにして81〜B21とする
ことにより両者の桁を合わせた状態での加算が可能とな
り、出力側には、桁上がりを考慮して、p+m+n+1
=(A+ 〜Az+)+ (B+−Bz+)+1なる乗
算値a’xが従来と同様に得られることとなる。
ついては、信号Xの8ビットの下位のm+n−13ビッ
トに“0”を挿入することにより13ビットだけ上位ヘ
シフトしてp+m+n−22ビットのA1〜AB、とし
、他方、積Cについては、この上位(m=)7ビットを
符号ビット(B、4)と同しにして81〜B21とする
ことにより両者の桁を合わせた状態での加算が可能とな
り、出力側には、桁上がりを考慮して、p+m+n+1
=(A+ 〜Az+)+ (B+−Bz+)+1なる乗
算値a’xが従来と同様に得られることとなる。
尚、(8ビット)×(6ビット)の乗算器の他に、上に
述べたように積AとCを合計するための加算器が必要で
あるが、それを含めたとしても、(8ビット)X(14
ビット)の乗算器の回路規模よりも遥かに小さい回路規
模となる。
述べたように積AとCを合計するための加算器が必要で
あるが、それを含めたとしても、(8ビット)X(14
ビット)の乗算器の回路規模よりも遥かに小さい回路規
模となる。
以上のように、本発明に係るディジタル乗算器では、係
数aを2’ (N・0.±1.±2.・・・・・・)
とこれ第7図は、従来例を説明するための図、である。
数aを2’ (N・0.±1.±2.・・・・・・)
とこれ第7図は、従来例を説明するための図、である。
第1図において、
1・・・乗算部、
2・・・加算部。
図中、同一符号は同−又は相当部分を示す。
ので、乗算に伴う回路規模を縮小でき、特にその縮小の
割合は数係数aが2Nに近いほど(式(3)のmが大き
いほど)大きいという効果が得られる。
割合は数係数aが2Nに近いほど(式(3)のmが大き
いほど)大きいという効果が得られる。
Claims (1)
- 【特許請求の範囲】 a=2^N±ε(N=0、±1、±2、……;0<ε<
<2^N)で表されるm+n+n+1ビットの係数の内
の上限値が2^N^−^m以下で設定精度がnビットを
有する該εのみをディジタル信号(x)に乗ずる乗算部
(1)と、該ディジタル信号(x)の最下位ビットと、
該乗算部(1)の出力の最下位ビットとを相対的にm+
nビット分シフトした形で加算或いは減算することによ
り該ディジタル信号(x)と係数aとの乗算値を出力す
る加算部(2)と、 を備えたことを特徴とするディジタル乗算器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2065912A JPH03267809A (ja) | 1990-03-16 | 1990-03-16 | ディジタル乗算器 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2065912A JPH03267809A (ja) | 1990-03-16 | 1990-03-16 | ディジタル乗算器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03267809A true JPH03267809A (ja) | 1991-11-28 |
Family
ID=13300657
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2065912A Pending JPH03267809A (ja) | 1990-03-16 | 1990-03-16 | ディジタル乗算器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03267809A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5402369A (en) * | 1993-07-06 | 1995-03-28 | The 3Do Company | Method and apparatus for digital multiplication based on sums and differences of finite sets of powers of two |
-
1990
- 1990-03-16 JP JP2065912A patent/JPH03267809A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5402369A (en) * | 1993-07-06 | 1995-03-28 | The 3Do Company | Method and apparatus for digital multiplication based on sums and differences of finite sets of powers of two |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7188133B2 (en) | Floating point number storage method and floating point arithmetic device | |
| JPS59149539A (ja) | 固定小数点−浮動小数点変換装置 | |
| JPH04290122A (ja) | 数値表現変換装置 | |
| JPS6360927B2 (ja) | ||
| JP2689414B2 (ja) | 浮動小数点表現変換器 | |
| JPH09325955A (ja) | 二乗和の平方根演算回路 | |
| JPH07234778A (ja) | 演算回路 | |
| JPH03267809A (ja) | ディジタル乗算器 | |
| JPH0833809B2 (ja) | 浮動小数点表示データの演算方法 | |
| JPH0519170B2 (ja) | ||
| JP3071607B2 (ja) | 乗算回路 | |
| JPS6399623A (ja) | 有限体の演算回路 | |
| JP3041563B2 (ja) | 有限インパルス応答フィルタ | |
| JP2569976B2 (ja) | ディジタルフィルタ | |
| JPH0786824B2 (ja) | 部分積生成回路 | |
| JP3323166B2 (ja) | 補間演算装置 | |
| TW321756B (ja) | ||
| JPH0251732A (ja) | 浮動小数点演算器 | |
| JP2813513B2 (ja) | データ変換回路 | |
| JPH0226408A (ja) | ディジタルフィルタ | |
| JP3078696B2 (ja) | 逆数演算装置 | |
| JPS6165362A (ja) | デジタル信号処理装置 | |
| JPH0334615A (ja) | ディジタルフィルタ | |
| JPS63157231A (ja) | 指数加減算回路 | |
| JP2629731B2 (ja) | 積和演算回路 |