JP3461252B2 - 乗算方法 - Google Patents
乗算方法Info
- Publication number
- JP3461252B2 JP3461252B2 JP25876196A JP25876196A JP3461252B2 JP 3461252 B2 JP3461252 B2 JP 3461252B2 JP 25876196 A JP25876196 A JP 25876196A JP 25876196 A JP25876196 A JP 25876196A JP 3461252 B2 JP3461252 B2 JP 3461252B2
- Authority
- JP
- Japan
- Prior art keywords
- digit
- multiplier
- product
- multiplicand
- logical
- 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
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路に
好適な2の補数データを入力とする乗算方法に関するも
のである。 【0002】 【従来の技術】2の補数表現のデータの乗算は、オペラ
ンドの符号ビットとその他の桁での重みの符号が異なる
ため、それに対応した処理が必要となる。これらの方式
は、Kai Hwang 著、堀越監訳「コンピュータの高速演算
方式」PP.173〜185に詳しく述べられている。
この中では、Pezaris の配列型乗算器とBaugh-Wooleyの
2の補数型乗算器が説明されている。 【0003】前者のPezaris の配列型乗算器は、入出力
端子に正と負の重みを持たせた数種類の全加算器を用い
て構成することにより2の補数データの乗算を実現して
いる。また、Baugh-Wooleyの2の補数型乗算器では、全
ての入力が正である全加算器を用いるものである。図3
に、Baugh-Wooleyの2の補数型乗算アルゴリズムを示
す。図3において、xi (i=0〜3)およびyi (i
=0〜3)はそれぞれ2の補数表現の被乗数および乗
数、pi (i=0…7)は積を示す。xi ・yj はxi
とyj との論理積、/xi はxi の論理反転を示してい
る(/の記号は本明細書中では論理反転を意味する。以
下、同じ)。この図からわかるように、各桁毎の加算す
べき項の最大数は、入力データの桁数がともにnの場合
には、n+2となり乗数の桁数より多くなる。 【0004】 【発明が解決しようとする課題】しかしながら、Pezari
s の配列型乗算器の構成では、被加算項の組み合わせに
よって、用いる全加算器を変える必要があり、回路を構
成する上で複雑になる。また、Baugh-Wooleyの2の補数
型乗算器の構成では、用いる全加算器は1種類にできる
が、加算すべき項数が多く、さらに桁毎の加算すべき最
大被加算項の数が多くなり、部分積の加算に時間がかか
るという問題点がある。また、被加算項として/xi ・
yj のような被乗数の論理反転と乗数の論理積が生じ、
被乗数および乗数の論理反転を生成する必要があり、論
理が複雑になり、回路素子数も増加するなどの問題点を
有していた。 【0005】本発明は上記問題点に鑑み、素子数が少な
く、さらに高速化が可能で半導体集積回路に好適な乗算
方法を提供するものである。 【0006】 【課題を解決するための手段】上記課題を解決するため
に、本発明の乗算方法は、2の補数表現の2つの入力デ
ータを被乗数および乗数として部分積を生成する乗算方
法であって、入力データの被乗数桁および乗数桁のいず
れか一方のみが符号桁である場合に被乗数桁と乗数桁の
論理積の論理反転を部分積項として生成し、入力データ
の被乗数桁および乗数桁がそれ以外の組み合わせである
場合に被乗数桁と乗数桁の論理積を部分積項として生成
し、補正項を加えて部分積を構成している。この際、補
正項は以下のようにして作成される。論理積の論理反転
を生成した全ての部分積項に対して、それぞれ−1の値
を持つ数値データ項を同桁に付加し、全ての数値データ
項を演算して補正項としている。 【0007】この構成によると、必要最小限の部分積項
を得ることができ、部分積数を最小にすることができ
る。したがって、部分積項が最小となることにより、全
加算器の数を最小にすることができ、乗算回路の構成を
簡単にでき、回路素子数も小さくすることができる。ま
た、部分積数を最小にすることができるので、部分積の
加算時間、したがって乗算を高速に行うことができる。 【0008】 【発明の実施の形態】以下、本発明の実施の形態におけ
る乗算方法について説明する。まず、乗算を行う2つの
入力データ、つまりn桁の2の補数表現データを 【0009】 【数1】 【0010】 【数2】 【0011】とすれば、この2つの入力データの積は、 【0012】 【数3】 【0013】ここで、−xi =/xi −1の関係を用い
ると、〔数3〕は、 【0014】 【数4】【0015】のように変形できる。以上の式変形を筆算
の形で示したのが図1である。図1では、入力される2
つの2の補数表現データが4桁の場合を示している。図
1において、xi (i=0〜3)はyi (i=0〜3)
はそれぞれ2の補数表現の被乗数および乗数、pi(i
=0〜7)は積を示す。xi ・yj はxi とyj との論
理積、/xi はxiの論理反転、〜は負数を示してい
る。この図からわかるように、2の補数表現の被乗数と
乗数の各桁の積の符号が負となる桁は、−x=/x−1
の関係式を用いて、その絶対値の論理反転と数値データ
−1に分離することができる。このようにして、符号が
負となる全ての桁から生じる数値データを各桁が正とな
るように演算し、最上位桁を符号桁とみなすことによ
り、必要最小限の部分積の項を得ることができる。この
ようにして、生成された部分積の項を加算することによ
り、乗算結果を求めることができる。 【0016】図2は、本発明の乗算方法の実施の形態に
おける構成を示すブロック図である。図2において、F
Aは全加算器であり、図1で示した最終の部分積の項を
加算するように構成したもので、部分積の加算を桁上げ
保存で加算し、最終の2つの部分積の加算をリップル型
加算器で構成したものである。図1および図2からわか
るように、被乗数と乗数の桁数が等しい場合には、部分
積数は乗数の桁数に等しくなる。また、被乗数と乗数の
桁数が異なる場合には、乗数の桁数より1だけ大きい数
になる。 【0017】以上説明したように、部分積生成におい
て、入力データの被乗数および乗数のいずれか一方のみ
が符号桁である場合に論理積の論理反転を生成し、入力
データの被乗数および乗数がそれ以外の組み合わせであ
る場合に論理積を生成し、論理積の論理反転を生成した
桁に対してそれぞれ−1の値を持つ項を付加して演算し
た補正項を加えて部分積を生成する構成にすることによ
り、必要最小限の部分積項を得ることができ、部分積数
を最小にすることができる。したがって、部分積項が最
少となることにより、全加算器の数を最少にすることが
でき、乗算回路の構成を簡単にでき、回路素子数も小さ
くすることができる。また、部分積数を最小にすること
ができるので、部分積の加算時間、したがって、乗算を
高速に行うことができる。 【0018】なお、上記の実施の形態の説明では、乗数
と被乗数の桁数が等しい場合について述べたが、乗数と
被乗数の桁数が異なる場合にも、Baugh-Wooleyの2の補
数型乗算器に比較して、部分積項数および部分積数を削
減でき、同様の効果が得られる。また、図2の説明で
は、部分積項の加算に3入力2出力の全加算器を用いる
構成で説明したが、さらに多入力の加算器を用いても構
成できる。さらに、部分積の加算を桁上げ保存で加算
し、最終の2つの部分積の加算をリップル型加算器で構
成したものについて述べたが、Wallace tree等の部分積
加算法や、最終の2つの部分積の加算に桁上げ先見加算
や桁上げ選択加算などを用いても構成することができ
る。 【0019】 【発明の効果】この発明の乗算方法によれば、部分積生
成において、入力データの被乗数および乗数のいずれか
一方のみが符号桁である場合に論理積の論理反転を生成
し、入力データの被乗数および乗数がそれ以外の組み合
わせである場合に論理積を生成し、論理積の論理反転を
生成した桁に対してそれぞれ−1の値を持つ項を付加し
て演算した補正項を加えて部分積を生成する構成にする
ことにより、必要最小限の部分積項を得ることができ、
部分積数を最小にすることができる。したがって、部分
積項が最少となることにより、全加算器の数を最少にす
ることができ、乗算回路の構成を簡単にでき、回路素子
数も小さくすることができるという効果を有する。ま
た、部分積数を最小にすることができるので、部分積の
加算時間、したがって、乗算を高速に行うことができる
という効果を奏する。
好適な2の補数データを入力とする乗算方法に関するも
のである。 【0002】 【従来の技術】2の補数表現のデータの乗算は、オペラ
ンドの符号ビットとその他の桁での重みの符号が異なる
ため、それに対応した処理が必要となる。これらの方式
は、Kai Hwang 著、堀越監訳「コンピュータの高速演算
方式」PP.173〜185に詳しく述べられている。
この中では、Pezaris の配列型乗算器とBaugh-Wooleyの
2の補数型乗算器が説明されている。 【0003】前者のPezaris の配列型乗算器は、入出力
端子に正と負の重みを持たせた数種類の全加算器を用い
て構成することにより2の補数データの乗算を実現して
いる。また、Baugh-Wooleyの2の補数型乗算器では、全
ての入力が正である全加算器を用いるものである。図3
に、Baugh-Wooleyの2の補数型乗算アルゴリズムを示
す。図3において、xi (i=0〜3)およびyi (i
=0〜3)はそれぞれ2の補数表現の被乗数および乗
数、pi (i=0…7)は積を示す。xi ・yj はxi
とyj との論理積、/xi はxi の論理反転を示してい
る(/の記号は本明細書中では論理反転を意味する。以
下、同じ)。この図からわかるように、各桁毎の加算す
べき項の最大数は、入力データの桁数がともにnの場合
には、n+2となり乗数の桁数より多くなる。 【0004】 【発明が解決しようとする課題】しかしながら、Pezari
s の配列型乗算器の構成では、被加算項の組み合わせに
よって、用いる全加算器を変える必要があり、回路を構
成する上で複雑になる。また、Baugh-Wooleyの2の補数
型乗算器の構成では、用いる全加算器は1種類にできる
が、加算すべき項数が多く、さらに桁毎の加算すべき最
大被加算項の数が多くなり、部分積の加算に時間がかか
るという問題点がある。また、被加算項として/xi ・
yj のような被乗数の論理反転と乗数の論理積が生じ、
被乗数および乗数の論理反転を生成する必要があり、論
理が複雑になり、回路素子数も増加するなどの問題点を
有していた。 【0005】本発明は上記問題点に鑑み、素子数が少な
く、さらに高速化が可能で半導体集積回路に好適な乗算
方法を提供するものである。 【0006】 【課題を解決するための手段】上記課題を解決するため
に、本発明の乗算方法は、2の補数表現の2つの入力デ
ータを被乗数および乗数として部分積を生成する乗算方
法であって、入力データの被乗数桁および乗数桁のいず
れか一方のみが符号桁である場合に被乗数桁と乗数桁の
論理積の論理反転を部分積項として生成し、入力データ
の被乗数桁および乗数桁がそれ以外の組み合わせである
場合に被乗数桁と乗数桁の論理積を部分積項として生成
し、補正項を加えて部分積を構成している。この際、補
正項は以下のようにして作成される。論理積の論理反転
を生成した全ての部分積項に対して、それぞれ−1の値
を持つ数値データ項を同桁に付加し、全ての数値データ
項を演算して補正項としている。 【0007】この構成によると、必要最小限の部分積項
を得ることができ、部分積数を最小にすることができ
る。したがって、部分積項が最小となることにより、全
加算器の数を最小にすることができ、乗算回路の構成を
簡単にでき、回路素子数も小さくすることができる。ま
た、部分積数を最小にすることができるので、部分積の
加算時間、したがって乗算を高速に行うことができる。 【0008】 【発明の実施の形態】以下、本発明の実施の形態におけ
る乗算方法について説明する。まず、乗算を行う2つの
入力データ、つまりn桁の2の補数表現データを 【0009】 【数1】 【0010】 【数2】 【0011】とすれば、この2つの入力データの積は、 【0012】 【数3】 【0013】ここで、−xi =/xi −1の関係を用い
ると、〔数3〕は、 【0014】 【数4】【0015】のように変形できる。以上の式変形を筆算
の形で示したのが図1である。図1では、入力される2
つの2の補数表現データが4桁の場合を示している。図
1において、xi (i=0〜3)はyi (i=0〜3)
はそれぞれ2の補数表現の被乗数および乗数、pi(i
=0〜7)は積を示す。xi ・yj はxi とyj との論
理積、/xi はxiの論理反転、〜は負数を示してい
る。この図からわかるように、2の補数表現の被乗数と
乗数の各桁の積の符号が負となる桁は、−x=/x−1
の関係式を用いて、その絶対値の論理反転と数値データ
−1に分離することができる。このようにして、符号が
負となる全ての桁から生じる数値データを各桁が正とな
るように演算し、最上位桁を符号桁とみなすことによ
り、必要最小限の部分積の項を得ることができる。この
ようにして、生成された部分積の項を加算することによ
り、乗算結果を求めることができる。 【0016】図2は、本発明の乗算方法の実施の形態に
おける構成を示すブロック図である。図2において、F
Aは全加算器であり、図1で示した最終の部分積の項を
加算するように構成したもので、部分積の加算を桁上げ
保存で加算し、最終の2つの部分積の加算をリップル型
加算器で構成したものである。図1および図2からわか
るように、被乗数と乗数の桁数が等しい場合には、部分
積数は乗数の桁数に等しくなる。また、被乗数と乗数の
桁数が異なる場合には、乗数の桁数より1だけ大きい数
になる。 【0017】以上説明したように、部分積生成におい
て、入力データの被乗数および乗数のいずれか一方のみ
が符号桁である場合に論理積の論理反転を生成し、入力
データの被乗数および乗数がそれ以外の組み合わせであ
る場合に論理積を生成し、論理積の論理反転を生成した
桁に対してそれぞれ−1の値を持つ項を付加して演算し
た補正項を加えて部分積を生成する構成にすることによ
り、必要最小限の部分積項を得ることができ、部分積数
を最小にすることができる。したがって、部分積項が最
少となることにより、全加算器の数を最少にすることが
でき、乗算回路の構成を簡単にでき、回路素子数も小さ
くすることができる。また、部分積数を最小にすること
ができるので、部分積の加算時間、したがって、乗算を
高速に行うことができる。 【0018】なお、上記の実施の形態の説明では、乗数
と被乗数の桁数が等しい場合について述べたが、乗数と
被乗数の桁数が異なる場合にも、Baugh-Wooleyの2の補
数型乗算器に比較して、部分積項数および部分積数を削
減でき、同様の効果が得られる。また、図2の説明で
は、部分積項の加算に3入力2出力の全加算器を用いる
構成で説明したが、さらに多入力の加算器を用いても構
成できる。さらに、部分積の加算を桁上げ保存で加算
し、最終の2つの部分積の加算をリップル型加算器で構
成したものについて述べたが、Wallace tree等の部分積
加算法や、最終の2つの部分積の加算に桁上げ先見加算
や桁上げ選択加算などを用いても構成することができ
る。 【0019】 【発明の効果】この発明の乗算方法によれば、部分積生
成において、入力データの被乗数および乗数のいずれか
一方のみが符号桁である場合に論理積の論理反転を生成
し、入力データの被乗数および乗数がそれ以外の組み合
わせである場合に論理積を生成し、論理積の論理反転を
生成した桁に対してそれぞれ−1の値を持つ項を付加し
て演算した補正項を加えて部分積を生成する構成にする
ことにより、必要最小限の部分積項を得ることができ、
部分積数を最小にすることができる。したがって、部分
積項が最少となることにより、全加算器の数を最少にす
ることができ、乗算回路の構成を簡単にでき、回路素子
数も小さくすることができるという効果を有する。ま
た、部分積数を最小にすることができるので、部分積の
加算時間、したがって、乗算を高速に行うことができる
という効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態における部分積項生成を説
明する概略図である。 【図2】本発明の実施の形態における乗算方法を実施す
る乗算器の構成を示すブロック図である。 【図3】従来の乗算方法の部分積項生成を説明する概略
図である。 【符号の説明】 xi (i=0〜3) 被乗数 yi (i=0〜3) 乗数 pi (i=0〜7) 積 FA 全加算器
明する概略図である。 【図2】本発明の実施の形態における乗算方法を実施す
る乗算器の構成を示すブロック図である。 【図3】従来の乗算方法の部分積項生成を説明する概略
図である。 【符号の説明】 xi (i=0〜3) 被乗数 yi (i=0〜3) 乗数 pi (i=0〜7) 積 FA 全加算器
Claims (1)
- (57)【特許請求の範囲】 【請求項1】 2の補数表現の2つの入力データを被乗
数および乗数として部分積を生成する乗算方法であっ
て、前記入力データの被乗数桁および乗数桁のいずれか
一方のみが符号桁である場合に前記被乗数桁と乗数桁の
論理積の論理反転を部分積項として生成し、前記入力デ
ータの被乗数桁および乗数桁がそれ以外の組み合わせで
ある場合に前記被乗数桁と乗数桁の論理積を部分積項と
して生成し、論理積の論理反転を生成した全ての部分積
項に対して、それぞれ−1の値を持つ数値データ項を同
桁に付加し、前記全ての数値データ項を演算した補正項
を加えて部分積を構成したことを特徴とする乗算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25876196A JP3461252B2 (ja) | 1996-09-30 | 1996-09-30 | 乗算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25876196A JP3461252B2 (ja) | 1996-09-30 | 1996-09-30 | 乗算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10105381A JPH10105381A (ja) | 1998-04-24 |
JP3461252B2 true JP3461252B2 (ja) | 2003-10-27 |
Family
ID=17324727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25876196A Expired - Fee Related JP3461252B2 (ja) | 1996-09-30 | 1996-09-30 | 乗算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3461252B2 (ja) |
-
1996
- 1996-09-30 JP JP25876196A patent/JP3461252B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10105381A (ja) | 1998-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Townsend et al. | A comparison of Dadda and Wallace multiplier delays | |
Ma et al. | Multiplier policies for digital signal processing | |
EP0890899A2 (en) | Multiplication method and apparatus | |
US5796645A (en) | Multiply accumulate computation unit | |
Vassiliadis et al. | Hard-wired multipliers with encoded partial products | |
US6018758A (en) | Squarer with diagonal row merged into folded partial product array | |
JPH0368416B2 (ja) | ||
JPS62280930A (ja) | デイジタル乗算器 | |
US5734599A (en) | Performing a population count using multiplication | |
JP3461252B2 (ja) | 乗算方法 | |
US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
JP3227538B2 (ja) | 2進整数乗算器 | |
JP3190826B2 (ja) | 積和演算装置 | |
JP2682142B2 (ja) | 乗算装置 | |
Hu et al. | Comparison of constant coefficient multipliers for CSD and booth recoding | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
Bhongale et al. | Review on Recent Advances in VLSI Multiplier | |
Mulagaleti et al. | Low-Power and Area-Efficient M-Term Binary Polynomial Multiplier for Finite Field | |
US20050223052A1 (en) | Method and integrated circuit for carrying out a multiplication modulo m | |
JP3130797B2 (ja) | 積和演算処理方法およびその装置 | |
Saranya et al. | Design of an Efficient Mac Unit for DSP Applications | |
Kapilavai et al. | VLSI Implementation of High-Performance Ternary Operand PPA for Fir Filter Application | |
Juang et al. | Area-efficient 3-input decimal adders using simplified carry and sum vectors | |
Juang et al. | Parallel and digit-serial implementations of area-efficient 3-operand decimal adders | |
JPS61246837A (ja) | 並列乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |