JPH05127875A - 乗算回路 - Google Patents
乗算回路Info
- Publication number
- JPH05127875A JPH05127875A JP3289018A JP28901891A JPH05127875A JP H05127875 A JPH05127875 A JP H05127875A JP 3289018 A JP3289018 A JP 3289018A JP 28901891 A JP28901891 A JP 28901891A JP H05127875 A JPH05127875 A JP H05127875A
- Authority
- JP
- Japan
- Prior art keywords
- partial product
- signal lines
- term
- adder
- bit
- 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)【要約】
【目的】 3次以上の高次のブースのアルゴリズムを採
用した高速性とコンパクト性に富む乗算回路を実現す
る。 【構成】 部分積を各々シフトと反転との単純操作のみ
により生成可能な2項に分けて生成するための3次以上
の高次のブースのアルゴリズムを採用した部分積発生部
に、拡張加算器EAを基本セルとしたアレイ構造の部分
積加算部を接続する。各拡張加算器EAは、5本の入力
信号線A,B,C,D,Eを有し、正論理値の入力信号
線の数が奇数であることを示すサム信号Sと、正論理値
の入力信号線が2本以上あることを示す第1のキャリー
信号C0と、正論理値の入力信号線が4本以上あること
を示す第2のキャリー信号C1とを出力するものであ
る。5本の入力信号線のうちの2本D,Eには、部分積
発生部から第1項の部分積のうちの1ビットと第2項の
部分積のうちの1ビットとがそれぞれ与えられる。
用した高速性とコンパクト性に富む乗算回路を実現す
る。 【構成】 部分積を各々シフトと反転との単純操作のみ
により生成可能な2項に分けて生成するための3次以上
の高次のブースのアルゴリズムを採用した部分積発生部
に、拡張加算器EAを基本セルとしたアレイ構造の部分
積加算部を接続する。各拡張加算器EAは、5本の入力
信号線A,B,C,D,Eを有し、正論理値の入力信号
線の数が奇数であることを示すサム信号Sと、正論理値
の入力信号線が2本以上あることを示す第1のキャリー
信号C0と、正論理値の入力信号線が4本以上あること
を示す第2のキャリー信号C1とを出力するものであ
る。5本の入力信号線のうちの2本D,Eには、部分積
発生部から第1項の部分積のうちの1ビットと第2項の
部分積のうちの1ビットとがそれぞれ与えられる。
Description
【0001】
【産業上の利用分野】本発明は、3次以上の高次のブー
スのアルゴリズムを採用した2進数の乗算回路に関す
る。
スのアルゴリズムを採用した2進数の乗算回路に関す
る。
【0002】
【従来の技術】2進数どおしの乗算を実行するための乗
算回路は、通例、部分積発生部、部分積加算部、及
び、終段加算部の3つの部分から構成される。
算回路は、通例、部分積発生部、部分積加算部、及
び、終段加算部の3つの部分から構成される。
【0003】高速かつコンパクトな乗算回路を構成する
ための手法として、部分積発生部ではブースのアルゴ
リズム、部分積加算部ではキャリーセーブ加算器、
終段加算部ではキャリールックアヘッド加算器が各々よ
く知られている。
ための手法として、部分積発生部ではブースのアルゴ
リズム、部分積加算部ではキャリーセーブ加算器、
終段加算部ではキャリールックアヘッド加算器が各々よ
く知られている。
【0004】まず、部分積発生部に関する従来の技術に
ついて説明する。被乗数Xと乗数Yとの乗算を考えると
き、最も簡単な部分積の発生方法は乗数Yの1ビットに
つき部分積を被乗数Xとの間で1個ずつ発生させること
である。
ついて説明する。被乗数Xと乗数Yとの乗算を考えると
き、最も簡単な部分積の発生方法は乗数Yの1ビットに
つき部分積を被乗数Xとの間で1個ずつ発生させること
である。
【0005】これに対してブースのアルゴリズムでは、
乗数Yの数ビットずつのグループに対して被乗数Xとの
間で部分積を発生させる。例えば2次のブースのアルゴ
リズムでは、乗数Yが16ビットの場合に部分積を16
個発生させるのではなく、次式に示すように乗数Yを互
いに1ビットずつ重複するように3ビット毎の8個のグ
ループに分け、各グループに対して部分積を発生させる
のである(Y-1=0)。ただし、被乗数X及び乗数Y
は、いずれも負数が2の補数で表現されるものとする。
乗数Yの数ビットずつのグループに対して被乗数Xとの
間で部分積を発生させる。例えば2次のブースのアルゴ
リズムでは、乗数Yが16ビットの場合に部分積を16
個発生させるのではなく、次式に示すように乗数Yを互
いに1ビットずつ重複するように3ビット毎の8個のグ
ループに分け、各グループに対して部分積を発生させる
のである(Y-1=0)。ただし、被乗数X及び乗数Y
は、いずれも負数が2の補数で表現されるものとする。
【0006】 Y=−215Y15+214Y14+213Y13+212Y12+211Y11+210Y10 +29 Y9 +28 Y8 +27 Y7 +26 Y6 +25 Y5 +24 Y4 +23 Y3 +22 Y2 +21 Y1 +20 Y0 = 214(−2Y15+Y14+Y13)+212(−2Y13+Y12+Y11) +210(−2Y11+Y10+Y9 )+28 (−2Y9 +Y8 +Y7 ) +26 (−2Y7 +Y6 +Y5 )+24 (−2Y5 +Y4 +Y3 ) +22 (−2Y3 +Y2 +Y1 )+20 (−2Y1 +Y0 +Y-1)。
【0007】このブースのアルゴリズムによれば、2の
補数表現の2進数間の乗算が規則的な構造の回路により
実現できるようになるとともに、生成される部分積の個
数が減る。これらの効果は、回路の高集積化と演算の高
速化とにつながる。
補数表現の2進数間の乗算が規則的な構造の回路により
実現できるようになるとともに、生成される部分積の個
数が減る。これらの効果は、回路の高集積化と演算の高
速化とにつながる。
【0008】次に、生成された複数個の部分積の各々に
重み付け(上記2次のブースのアルゴリズムの例では隣
接グループの部分積間に22 の重み付けの差が必要とな
る。)をしたうえで部分積どおしの加算を行うための部
分積加算部について説明する。この部分積加算部として
従来用いられてきたキャリーセーブ加算器の構成を図6
(a)に示す。各々同図(c)の論理式を有する全加算
器FA(同図(b))は、同図(a)に示すようにアレ
イ状に配置される。Sは和を表わすサム信号、Coは桁
上げを表わすキャリー信号である。各々の全加算器FA
は、3本の入力信号線A,B,Cのうちの1本(例えば
A)には対応するグループの部分積の1ビットが入力さ
れ、サム信号Sの出力は同位かつ次段の全加算器FAの
1本の入力信号線(例えばC)に与えられ、キャリー信
号Coは1ビット上位かつ次段の全加算器FAの1本の
入力信号線(例えばB)に与えられる。
重み付け(上記2次のブースのアルゴリズムの例では隣
接グループの部分積間に22 の重み付けの差が必要とな
る。)をしたうえで部分積どおしの加算を行うための部
分積加算部について説明する。この部分積加算部として
従来用いられてきたキャリーセーブ加算器の構成を図6
(a)に示す。各々同図(c)の論理式を有する全加算
器FA(同図(b))は、同図(a)に示すようにアレ
イ状に配置される。Sは和を表わすサム信号、Coは桁
上げを表わすキャリー信号である。各々の全加算器FA
は、3本の入力信号線A,B,Cのうちの1本(例えば
A)には対応するグループの部分積の1ビットが入力さ
れ、サム信号Sの出力は同位かつ次段の全加算器FAの
1本の入力信号線(例えばC)に与えられ、キャリー信
号Coは1ビット上位かつ次段の全加算器FAの1本の
入力信号線(例えばB)に与えられる。
【0009】このような構成をもつキャリーセーブ加算
器は、全加算器FAの配置と該全加算器FA間の配線と
が規則的になるので集積化に適している。また、このキ
ャリーセーブ加算器は、高速動作の点でも優れている。
これは、各全加算器FAで発生するキャリー信号Co
を、同じ段の上位ビットの全加算器FAへ出力するので
はなくて次段の上位ビットの全加算器FAへ出力するこ
とにより、1段当たりのクリティカルパスを全加算器F
Aの1個分にしていることによる。
器は、全加算器FAの配置と該全加算器FA間の配線と
が規則的になるので集積化に適している。また、このキ
ャリーセーブ加算器は、高速動作の点でも優れている。
これは、各全加算器FAで発生するキャリー信号Co
を、同じ段の上位ビットの全加算器FAへ出力するので
はなくて次段の上位ビットの全加算器FAへ出力するこ
とにより、1段当たりのクリティカルパスを全加算器F
Aの1個分にしていることによる。
【0010】終段加算部は、部分積加算部の最終段の出
力であるサム信号Sとキャリー信号Coとのペアを加算
するものである。下位ビットからの桁上げのみを和とは
別に高速で求めるキャリールックアヘッド加算器の採用
により、高速性とコンパクト性とを実現している。
力であるサム信号Sとキャリー信号Coとのペアを加算
するものである。下位ビットからの桁上げのみを和とは
別に高速で求めるキャリールックアヘッド加算器の採用
により、高速性とコンパクト性とを実現している。
【0011】
【発明が解決しようとする課題】ところで、ブースのア
ルゴリズムの次数が高くなればなるほど部分積の発生段
数が減少し、部分積の加算回数が少なくて済むので、高
速演算の面で有利になると考えられる。ところが、部分
積発生部にブースのアルゴリズムを採用しかつ該部分積
発生部に部分積加算部としてのキャリーセーブ加算器を
組み合わせた従来の乗算回路では、2次以下のブースの
アルゴリズムが採用されることが多かった。2次以下の
ブースのアルゴリズムでは部分積は被乗数Xに−2〜+
2の範囲のいずれかの数を乗ずることにより生成でき、
これらの数の乗算はシフトと反転との単純操作のみによ
り実現できるからである。
ルゴリズムの次数が高くなればなるほど部分積の発生段
数が減少し、部分積の加算回数が少なくて済むので、高
速演算の面で有利になると考えられる。ところが、部分
積発生部にブースのアルゴリズムを採用しかつ該部分積
発生部に部分積加算部としてのキャリーセーブ加算器を
組み合わせた従来の乗算回路では、2次以下のブースの
アルゴリズムが採用されることが多かった。2次以下の
ブースのアルゴリズムでは部分積は被乗数Xに−2〜+
2の範囲のいずれかの数を乗ずることにより生成でき、
これらの数の乗算はシフトと反転との単純操作のみによ
り実現できるからである。
【0012】しかしながら、3次以上の高次のブースの
アルゴリズムでは、部分積の生成のために(+3)や
(−3)等を乗じる必要がある。これらの乗算は単なる
シフトや反転によっては実現できないものであり、しか
も該乗算操作による部分積の生成の際に各桁でキャリー
が発生する。この場合に各桁のキャリーを同じ段の上位
の加算器に伝搬させる構成を採用すると、部分積の生成
に要するクリティカルパスが非常に大きくなる。また、
ある段で発生するキャリーを次段の加算器へ送る構成す
なわち前記キャリーセーブ加算器の構成を採用すること
とすると、部分積1段につき2段のキャリーセーブ加算
器が必要となり、やはりクリティカルパスが増加してし
まうので、高次のブースのアルゴリズムを採用する意味
がなくなる。
アルゴリズムでは、部分積の生成のために(+3)や
(−3)等を乗じる必要がある。これらの乗算は単なる
シフトや反転によっては実現できないものであり、しか
も該乗算操作による部分積の生成の際に各桁でキャリー
が発生する。この場合に各桁のキャリーを同じ段の上位
の加算器に伝搬させる構成を採用すると、部分積の生成
に要するクリティカルパスが非常に大きくなる。また、
ある段で発生するキャリーを次段の加算器へ送る構成す
なわち前記キャリーセーブ加算器の構成を採用すること
とすると、部分積1段につき2段のキャリーセーブ加算
器が必要となり、やはりクリティカルパスが増加してし
まうので、高次のブースのアルゴリズムを採用する意味
がなくなる。
【0013】本発明の目的は、3次以上の高次のブース
のアルゴリズムを採用した高速性とコンパクト性に富む
乗算回路を提供することにある。
のアルゴリズムを採用した高速性とコンパクト性に富む
乗算回路を提供することにある。
【0014】
【課題を解決するための手段】上記目的を達成するため
に本発明は、部分積を各々シフトと反転との単純操作の
みにより生成可能な2項に分けて生成するための3次以
上の高次のブースのアルゴリズムを採用した部分積発生
部と、従来の全加算器FAに代えて図1に示すような拡
張加算器EAのアレイ構造を有する部分積加算部とを備
えた構成を採用したものである。
に本発明は、部分積を各々シフトと反転との単純操作の
みにより生成可能な2項に分けて生成するための3次以
上の高次のブースのアルゴリズムを採用した部分積発生
部と、従来の全加算器FAに代えて図1に示すような拡
張加算器EAのアレイ構造を有する部分積加算部とを備
えた構成を採用したものである。
【0015】具体的には、本発明に係る乗算回路は、次
のような部分積発生部と部分積加算部とを備えた構成を
採用したものである。
のような部分積発生部と部分積加算部とを備えた構成を
採用したものである。
【0016】すなわち、本発明に係る乗算回路の部分積
発生部は、m次(mは3以上の整数)のブースのアルゴ
リズムを実現するように、各々(m+1)ビット長を有
しかつ互いに1ビットずつ重複するように分けられた乗
数のn個(nは2以上の整数)のグループの各々に対し
て被乗数との間で、シフトと反転との単純操作のみによ
り生成可能な第1項の部分積と、該第1項の部分積に加
え合わせれば前記乗数の対応するグループに対する部分
積となりかつシフトと反転との単純操作のみにより生成
可能な第2項の部分積とを生成するものである。
発生部は、m次(mは3以上の整数)のブースのアルゴ
リズムを実現するように、各々(m+1)ビット長を有
しかつ互いに1ビットずつ重複するように分けられた乗
数のn個(nは2以上の整数)のグループの各々に対し
て被乗数との間で、シフトと反転との単純操作のみによ
り生成可能な第1項の部分積と、該第1項の部分積に加
え合わせれば前記乗数の対応するグループに対する部分
積となりかつシフトと反転との単純操作のみにより生成
可能な第2項の部分積とを生成するものである。
【0017】また、本発明に係る乗算回路の部分積加算
部は、前記部分積発生部により生成された前記乗数のn
個のグループの各々に対する第1項の部分積と第2項の
部分積とを隣接グループ間に2mの重み付けの差を与え
ながら加え合わせるために、次のような拡張加算器EA
が、基本セルとして前記乗数のビット長に応じた個数ず
つ(n−1)段に配列されたものである。すなわち、拡
張加算器EAは、図1(b)及び(c)に示すように、
各々5本の入力信号線A,B,C,D,Eを有し、かつ
該5本の入力信号線のうちの正論理値信号線の数が奇数
であることを示すサム信号Sと、該5本の入力信号線の
中に正論理値信号線が2本以上あることを示す第1のキ
ャリー信号C0と、該5本の入力信号線の中に正論理値
信号線が4本以上あることを示す第2のキャリー信号C
1とを出力するものである。しかも、該拡張加算器EA
の各々は、図1(a)に示すように、5本の入力信号線
のうちの2本(例えばD,E)には対応するグループの
前記第1項の部分積のうちの1ビットと前記第2項の部
分積のうちの1ビットとがそれぞれ与えられ、かつサム
信号Sの出力は同位かつ次段の拡張加算器EAの5本の
入力信号線のうちの1本(例えばC)に与えられ、かつ
第1及び第2のキャリー信号C0,C1は1ビット上位
かつ次段の拡張加算器EAの5本の入力信号線のうちの
2本(例えばA,B)に与えられるという規則に従って
順次互いに接続されたものである。
部は、前記部分積発生部により生成された前記乗数のn
個のグループの各々に対する第1項の部分積と第2項の
部分積とを隣接グループ間に2mの重み付けの差を与え
ながら加え合わせるために、次のような拡張加算器EA
が、基本セルとして前記乗数のビット長に応じた個数ず
つ(n−1)段に配列されたものである。すなわち、拡
張加算器EAは、図1(b)及び(c)に示すように、
各々5本の入力信号線A,B,C,D,Eを有し、かつ
該5本の入力信号線のうちの正論理値信号線の数が奇数
であることを示すサム信号Sと、該5本の入力信号線の
中に正論理値信号線が2本以上あることを示す第1のキ
ャリー信号C0と、該5本の入力信号線の中に正論理値
信号線が4本以上あることを示す第2のキャリー信号C
1とを出力するものである。しかも、該拡張加算器EA
の各々は、図1(a)に示すように、5本の入力信号線
のうちの2本(例えばD,E)には対応するグループの
前記第1項の部分積のうちの1ビットと前記第2項の部
分積のうちの1ビットとがそれぞれ与えられ、かつサム
信号Sの出力は同位かつ次段の拡張加算器EAの5本の
入力信号線のうちの1本(例えばC)に与えられ、かつ
第1及び第2のキャリー信号C0,C1は1ビット上位
かつ次段の拡張加算器EAの5本の入力信号線のうちの
2本(例えばA,B)に与えられるという規則に従って
順次互いに接続されたものである。
【0018】
【作用】本発明によれば、3次以上の高次のブースのア
ルゴリズムを採用した部分積発生部は、乗数のn個のグ
ループの各々に対して、シフトと反転との単純操作のみ
により生成可能な第1項と第2項との2項に分けて部分
積を生成する。そして、該部分積発生部により生成され
た各乗数グループに対する第1項の部分積と第2項の部
分積とは、部分積加算部において隣接グループ間に所定
の重み付けの差を与えられながら加え合わされる。
ルゴリズムを採用した部分積発生部は、乗数のn個のグ
ループの各々に対して、シフトと反転との単純操作のみ
により生成可能な第1項と第2項との2項に分けて部分
積を生成する。そして、該部分積発生部により生成され
た各乗数グループに対する第1項の部分積と第2項の部
分積とは、部分積加算部において隣接グループ間に所定
の重み付けの差を与えられながら加え合わされる。
【0019】さて、部分積加算部の基本セルとしての拡
張加算器EAの入出力関係は、次のとおりである。すな
わち、5本の入力信号線A,B,C,D,Eの中に正論
理値信号線すなわち論理値“1”の信号線が1本もない
ときは3つの出力信号が(S,C0,C1)=(0,
0,0)となり、該5本の入力信号線中の正論理値信号
線の数が1であるときは3つの出力信号が(S,C0,
C1)=(1,0,0)となり、該5本の入力信号線中
の正論理値信号線の数が2であるときは(S,C0,C
1)=(0,1,0)となり、該5本の入力信号線中の
正論理値信号線の数が3であるときは(S,C0,C
1)=(1,1,0)となり、該5本の入力信号線中の
正論理値信号線の数が4であるときは(S,C0,C
1)=(0,1,1)となり、該5本の入力信号線が全
て正論理値信号線であるときは(S,C0,C1)=
(1,1,1)となるものである。つまり、該拡張加算
器EAは、5本の入力信号線A,B,C,D,E上の1
ビット毎のデータの加算を実行し、該加算の結果を1ビ
ットのサム信号S及び2ビットのキャリー信号C0,C
1として出力するものである。
張加算器EAの入出力関係は、次のとおりである。すな
わち、5本の入力信号線A,B,C,D,Eの中に正論
理値信号線すなわち論理値“1”の信号線が1本もない
ときは3つの出力信号が(S,C0,C1)=(0,
0,0)となり、該5本の入力信号線中の正論理値信号
線の数が1であるときは3つの出力信号が(S,C0,
C1)=(1,0,0)となり、該5本の入力信号線中
の正論理値信号線の数が2であるときは(S,C0,C
1)=(0,1,0)となり、該5本の入力信号線中の
正論理値信号線の数が3であるときは(S,C0,C
1)=(1,1,0)となり、該5本の入力信号線中の
正論理値信号線の数が4であるときは(S,C0,C
1)=(0,1,1)となり、該5本の入力信号線が全
て正論理値信号線であるときは(S,C0,C1)=
(1,1,1)となるものである。つまり、該拡張加算
器EAは、5本の入力信号線A,B,C,D,E上の1
ビット毎のデータの加算を実行し、該加算の結果を1ビ
ットのサム信号S及び2ビットのキャリー信号C0,C
1として出力するものである。
【0020】本発明に係る乗算回路の部分積加算部は、
このような機能を有する基本セルとしての拡張加算器E
Aが、図1(a)に示すように集積化に適した規則的な
アレイ構造に接続されたものである。この部分積加算部
を従来のキャリーセーブ加算器に対して「拡張キャリー
セーブ加算器」と呼ぶことにする。
このような機能を有する基本セルとしての拡張加算器E
Aが、図1(a)に示すように集積化に適した規則的な
アレイ構造に接続されたものである。この部分積加算部
を従来のキャリーセーブ加算器に対して「拡張キャリー
セーブ加算器」と呼ぶことにする。
【0021】この拡張キャリーセーブ加算器によれば、
各拡張加算器EAの5本の入力信号線A,B,C,D,
Eのうちの2本(例えばD,E)には前記部分積発生部
により生成された第1項の部分積のうちの1ビットと第
2項の部分積のうちの1ビットとがそれぞれ与えられ、
かつ各拡張加算器EAのサム信号Sの出力は同位かつ次
段の拡張加算器EAの5本の入力信号線のうちの1本
(例えばC)に与えられるので、乗数のn個のグループ
の各々に対する第1項の部分積と第2項の部分積との加
算が、各グループに対する部分積どおしの重み付けされ
た加算と同時に実行される。しかも、各拡張加算器EA
の2ビットのキャリー信号C0,C1は、同じ段の1ビ
ット上位の拡張加算器EAに与えられるのではなくて、
1ビット上位かつ次段の拡張加算器EAに入力として与
えられるので、1段当たりのクリティカルパスが拡張加
算器EAの1個分となり、高速動作が可能となる。つま
り、各段の各桁における拡張加算器EAは2ビットの部
分積データ(例えばD,E)が与えられると該2ビット
の部分積データを上段から来る3ビットのデータS,C
0,C1と一緒に加算処理して次段へ渡すのであって、
部分積1段につき1段の拡張加算器EAを設けるだけで
よく、しかもクリティカルパスが短くなり、3次以上の
高次のブースのアルゴリズムの高速性が十分に発揮され
る。
各拡張加算器EAの5本の入力信号線A,B,C,D,
Eのうちの2本(例えばD,E)には前記部分積発生部
により生成された第1項の部分積のうちの1ビットと第
2項の部分積のうちの1ビットとがそれぞれ与えられ、
かつ各拡張加算器EAのサム信号Sの出力は同位かつ次
段の拡張加算器EAの5本の入力信号線のうちの1本
(例えばC)に与えられるので、乗数のn個のグループ
の各々に対する第1項の部分積と第2項の部分積との加
算が、各グループに対する部分積どおしの重み付けされ
た加算と同時に実行される。しかも、各拡張加算器EA
の2ビットのキャリー信号C0,C1は、同じ段の1ビ
ット上位の拡張加算器EAに与えられるのではなくて、
1ビット上位かつ次段の拡張加算器EAに入力として与
えられるので、1段当たりのクリティカルパスが拡張加
算器EAの1個分となり、高速動作が可能となる。つま
り、各段の各桁における拡張加算器EAは2ビットの部
分積データ(例えばD,E)が与えられると該2ビット
の部分積データを上段から来る3ビットのデータS,C
0,C1と一緒に加算処理して次段へ渡すのであって、
部分積1段につき1段の拡張加算器EAを設けるだけで
よく、しかもクリティカルパスが短くなり、3次以上の
高次のブースのアルゴリズムの高速性が十分に発揮され
る。
【0022】
【実施例】図2〜図5は、本発明の実施例に係る16×
16ビット乗算回路のブロック図である。これらの図に
基づいて、本発明を更に詳細に説明する。
16ビット乗算回路のブロック図である。これらの図に
基づいて、本発明を更に詳細に説明する。
【0023】図2及び図3は、本発明の実施例に係る1
6×16ビット乗算回路の部分積発生部10を示すブロ
ック図である。
6×16ビット乗算回路の部分積発生部10を示すブロ
ック図である。
【0024】本実施例では4次のブースのアルゴリズム
を採用している。該アルゴリズムの基本となる概念を次
式に示す(Y-1=0)。該式によれば、乗数Yは互いに
1ビットずつ重複するように5ビット毎の4個のグルー
プに分けられ、該乗数Yについて16ビットの被乗数X
との間の部分積を生成するためには、(−8I3 +4I
2 +2I1 +I0 +I-1)と被乗数Xとの乗算を行えば
よいことがわかる。
を採用している。該アルゴリズムの基本となる概念を次
式に示す(Y-1=0)。該式によれば、乗数Yは互いに
1ビットずつ重複するように5ビット毎の4個のグルー
プに分けられ、該乗数Yについて16ビットの被乗数X
との間の部分積を生成するためには、(−8I3 +4I
2 +2I1 +I0 +I-1)と被乗数Xとの乗算を行えば
よいことがわかる。
【0025】 Y=−215Y15+214Y14+213Y13+212Y12+211Y11+210Y10 +29 Y9 +28 Y8 +27 Y7 +26 Y6 +25 Y5 +24 Y4 +23 Y3 +22 Y2 +21 Y1 +20 Y0 = 212(−8Y15+4Y14+2Y13+Y12+Y11) +28 (−8Y11+4Y10+2Y9 +Y8 +Y7 ) +24 (−8Y7 +4Y6 +2Y5 +Y4 +Y3 ) +20 (−8Y3 +4Y2 +2Y1 +Y0 +Y-1)。
【0026】図2及び図3に示すとおり、本実施例の部
分積発生部10は、乗数Yを4個のグループに分けたこ
とに対応して4段の部分積生成回路Gで構成される。各
段の部分積生成回路Gの論理機能を表1に示す。
分積発生部10は、乗数Yを4個のグループに分けたこ
とに対応して4段の部分積生成回路Gで構成される。各
段の部分積生成回路Gの論理機能を表1に示す。
【0027】
【表1】
【0028】同表に示すとおり、部分積PP=(−8I
3 +4I2 +2I1 +I0 +I-1)×Xの取り得る値は
−8X〜+8Xの範囲に限定される。−8〜+8の範囲
の数は、(−8,−4,0,+4,+8)の5個の数の
うちのいずれかと、(−2,−1,0,+1,+2)の
5個の数のうちのいずれかとの和で表わすことができ
る。各部分積生成回路Gでは、部分積PPをこのように
分割する。つまり、(−8,−4,−2,−1,0,+
1,+2,+4,+8)の9個の数のうちのいずれかを
Xに乗じる操作が基本となる。これら9個の数のうちの
いずれかを乗じる操作は、いずれもシフトと反転との単
純操作のみにより容易に実現可能である。同表には、入
力I3 〜I-1の全ての組み合わせに対する部分積PPの
値と、該部分積PPを2項P,pに分割する仕方とを示
してある。例えば部分積5Xは第1項4Xと第2項1X
とに分割され、部分積3Xは第1項4Xと第2項(−1
X)とに分割される。C及びcは、2項P,pの各々に
対して2の補数をとるために、符号反転の際に最下位ビ
ットに加えるべきビット値である。
3 +4I2 +2I1 +I0 +I-1)×Xの取り得る値は
−8X〜+8Xの範囲に限定される。−8〜+8の範囲
の数は、(−8,−4,0,+4,+8)の5個の数の
うちのいずれかと、(−2,−1,0,+1,+2)の
5個の数のうちのいずれかとの和で表わすことができ
る。各部分積生成回路Gでは、部分積PPをこのように
分割する。つまり、(−8,−4,−2,−1,0,+
1,+2,+4,+8)の9個の数のうちのいずれかを
Xに乗じる操作が基本となる。これら9個の数のうちの
いずれかを乗じる操作は、いずれもシフトと反転との単
純操作のみにより容易に実現可能である。同表には、入
力I3 〜I-1の全ての組み合わせに対する部分積PPの
値と、該部分積PPを2項P,pに分割する仕方とを示
してある。例えば部分積5Xは第1項4Xと第2項1X
とに分割され、部分積3Xは第1項4Xと第2項(−1
X)とに分割される。C及びcは、2項P,pの各々に
対して2の補数をとるために、符号反転の際に最下位ビ
ットに加えるべきビット値である。
【0029】図4及び図5は、本発明の実施例に係る1
6×16ビット乗算回路の部分積加算部11及び終段加
算部12を示すブロック図である。両図において、EA
は図1(b)の拡張加算器、FAは図6(b)の全加算
器であって、これらは部分積加算部11を構成するもの
である。PAは、終段加算部12を構成する4ビットの
2入力加算器である。部分積加算部11を構成する19
個・3段の拡張加算器EAと31個・1段の全加算器F
Aとは、それぞれ図1(a)及び図6(a)に示した規
則に従って接続されており、各段の入力端子には図2及
び図3の部分積発生部10の出力すなわち第1項の部分
積P(A18〜A0 等)と第2項の部分積p(a18〜a0
等)とが与えられる。この部分積加算部11は、4個の
部分積PPの各々の第1項Pと第2項pとの加算と、4
個の部分積PPどおしの4ビットずつずらした加算(隣
接グループの部分積間に24 の重み付けの差が必要とな
る。)とを同時に実行するものである。
6×16ビット乗算回路の部分積加算部11及び終段加
算部12を示すブロック図である。両図において、EA
は図1(b)の拡張加算器、FAは図6(b)の全加算
器であって、これらは部分積加算部11を構成するもの
である。PAは、終段加算部12を構成する4ビットの
2入力加算器である。部分積加算部11を構成する19
個・3段の拡張加算器EAと31個・1段の全加算器F
Aとは、それぞれ図1(a)及び図6(a)に示した規
則に従って接続されており、各段の入力端子には図2及
び図3の部分積発生部10の出力すなわち第1項の部分
積P(A18〜A0 等)と第2項の部分積p(a18〜a0
等)とが与えられる。この部分積加算部11は、4個の
部分積PPの各々の第1項Pと第2項pとの加算と、4
個の部分積PPどおしの4ビットずつずらした加算(隣
接グループの部分積間に24 の重み付けの差が必要とな
る。)とを同時に実行するものである。
【0030】しかも、本実施例によれば、図4及び図5
に示すように、部分積加算部11中の拡張加算器EAの
各々は、5本の入力信号線のうちの2本には対応する乗
数グループの第1項の部分積Pのうちの1ビットと第2
項の部分積pのうちの1ビットとがそれぞれ前記部分積
発生部10から与えられ、かつサム信号Sの出力は同位
かつ次段の拡張加算器EAの5本の入力信号線のうちの
1本に与えられ、かつ第1及び第2のキャリー信号C
0,C1は1ビット上位かつ次段の拡張加算器EAの5
本の入力信号線のうちの2本に与えられるという規則に
従って互いに接続されて、拡張キャリーセーブ加算器を
構成している。したがって、1段当たりのクリティカル
パスが短くなり(拡張加算器EAの1個分)、4次のブ
ースのアルゴリズムを採用したこととあいまって高速動
作が可能である。また、拡張加算器EAの配置と該拡張
加算器EAの各々の間の配線との規則性により、LSI
化に適したコンパクトな乗算回路となっている。
に示すように、部分積加算部11中の拡張加算器EAの
各々は、5本の入力信号線のうちの2本には対応する乗
数グループの第1項の部分積Pのうちの1ビットと第2
項の部分積pのうちの1ビットとがそれぞれ前記部分積
発生部10から与えられ、かつサム信号Sの出力は同位
かつ次段の拡張加算器EAの5本の入力信号線のうちの
1本に与えられ、かつ第1及び第2のキャリー信号C
0,C1は1ビット上位かつ次段の拡張加算器EAの5
本の入力信号線のうちの2本に与えられるという規則に
従って互いに接続されて、拡張キャリーセーブ加算器を
構成している。したがって、1段当たりのクリティカル
パスが短くなり(拡張加算器EAの1個分)、4次のブ
ースのアルゴリズムを採用したこととあいまって高速動
作が可能である。また、拡張加算器EAの配置と該拡張
加算器EAの各々の間の配線との規則性により、LSI
化に適したコンパクトな乗算回路となっている。
【0031】
【発明の効果】以上説明してきたように、本発明によれ
ば、部分積を各々シフトと反転との単純操作のみにより
生成可能な2項に分けて生成するための3次以上の高次
のブースのアルゴリズムを採用した部分積発生部と、従
来の全加算器FAに代えて拡張加算器EAを用いた規則
的なアレイ構造の拡張キャリーセーブ加算器を有する部
分積加算部とを備えた構成を採用したので、演算の高速
性を実現するとともに集積化に適したコンパクト性を実
現した乗算回路を提供することができる。
ば、部分積を各々シフトと反転との単純操作のみにより
生成可能な2項に分けて生成するための3次以上の高次
のブースのアルゴリズムを採用した部分積発生部と、従
来の全加算器FAに代えて拡張加算器EAを用いた規則
的なアレイ構造の拡張キャリーセーブ加算器を有する部
分積加算部とを備えた構成を採用したので、演算の高速
性を実現するとともに集積化に適したコンパクト性を実
現した乗算回路を提供することができる。
【図1】本発明に係る乗算回路の部分積加算部としての
拡張キャリーセーブ加算器の構成を示す図であって、
(a)は該拡張キャリーセーブ加算器の全体構成を示す
ブロック図、(b)はその基本セルである拡張加算器E
Aのブロック図、(c)は各拡張加算器EAの論理式を
示す図である。
拡張キャリーセーブ加算器の構成を示す図であって、
(a)は該拡張キャリーセーブ加算器の全体構成を示す
ブロック図、(b)はその基本セルである拡張加算器E
Aのブロック図、(c)は各拡張加算器EAの論理式を
示す図である。
【図2】本発明の実施例に係る16×16ビット乗算回
路の部分積発生部の半分を示すブロック図である。
路の部分積発生部の半分を示すブロック図である。
【図3】本発明の実施例に係る16×16ビット乗算回
路の部分積発生部の残りの半分を示すブロック図であ
る。
路の部分積発生部の残りの半分を示すブロック図であ
る。
【図4】本発明の実施例に係る16×16ビット乗算回
路の部分積加算部及び終段加算部の各々の半分を示すブ
ロック図である。
路の部分積加算部及び終段加算部の各々の半分を示すブ
ロック図である。
【図5】本発明の実施例に係る16×16ビット乗算回
路の部分積加算部及び終段加算部の各々の残りの半分を
示すブロック図である。
路の部分積加算部及び終段加算部の各々の残りの半分を
示すブロック図である。
【図6】従来の乗算回路の部分積加算部としてのキャリ
ーセーブ加算器の構成を示す図であって、(a)は該キ
ャリーセーブ加算器の全体構成を示すブロック図、
(b)はその基本セルである全加算器FAのブロック
図、(c)は各全加算器FAの論理式を示す図である。
ーセーブ加算器の構成を示す図であって、(a)は該キ
ャリーセーブ加算器の全体構成を示すブロック図、
(b)はその基本セルである全加算器FAのブロック
図、(c)は各全加算器FAの論理式を示す図である。
10 部分積発生部 11 部分積加算部 12 終段加算部 A,B,C,D,E 入力信号線 S サム信号 C0 第1のキャリー信号 C1 第2のキャリー信号 G 部分積生成回路 EA 拡張加算器 FA 全加算器 PA 4ビットの2入力加算器 X15〜X0 16ビットの被乗数 Y15〜Y0 16ビットの乗数 A18〜A0 ,B18〜B0 ,C18〜C0 ,D18〜D0 第
1項の部分積 a18〜a0 ,b18〜b0 ,c18〜c0 ,d18〜d0 第
2項の部分積
1項の部分積 a18〜a0 ,b18〜b0 ,c18〜c0 ,d18〜d0 第
2項の部分積
Claims (1)
- 【請求項1】 m次(mは3以上の整数)のブースのア
ルゴリズムを実現するように、各々(m+1)ビット長
を有しかつ互いに1ビットずつ重複するように分けられ
た乗数のn個(nは2以上の整数)のグループの各々に
対して被乗数との間で、シフトと反転との単純操作のみ
により生成可能な第1項の部分積と、該第1項の部分積
に加え合わせれば前記乗数の対応するグループに対する
部分積となりかつシフトと反転との単純操作のみにより
生成可能な第2項の部分積とを生成するための部分積発
生部と、 前記部分積発生部により生成された前記乗数のn個のグ
ループの各々に対する第1項の部分積と第2項の部分積
とを隣接グループ間に2mの重み付けの差を与えながら
加え合わせるために、各々5本の入力信号線を有しかつ
該5本の入力信号線のうちの正論理値信号線の数が奇数
であることを示すサム信号と該5本の入力信号線の中に
正論理値信号線が2本以上あることを示す第1のキャリ
ー信号と該5本の入力信号線の中に正論理値信号線が4
本以上あることを示す第2のキャリー信号とを出力する
ための拡張加算器が基本セルとして前記乗数のビット長
に応じた個数ずつ(n−1)段に配列され、該拡張加算
器の各々は、該5本の入力信号線のうちの2本には対応
するグループの前記第1項の部分積のうちの1ビットと
前記第2項の部分積のうちの1ビットとがそれぞれ与え
られ、かつ該サム信号の出力は同位かつ次段の拡張加算
器の5本の入力信号線のうちの1本に与えられ、かつ該
第1及び第2のキャリー信号は1ビット上位かつ次段の
拡張加算器の5本の入力信号線のうちの2本に与えられ
た部分積加算部とを備えたことを特徴とする乗算回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3289018A JPH05127875A (ja) | 1991-11-06 | 1991-11-06 | 乗算回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3289018A JPH05127875A (ja) | 1991-11-06 | 1991-11-06 | 乗算回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05127875A true JPH05127875A (ja) | 1993-05-25 |
Family
ID=17737767
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3289018A Pending JPH05127875A (ja) | 1991-11-06 | 1991-11-06 | 乗算回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05127875A (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03276331A (ja) * | 1990-03-26 | 1991-12-06 | Mitsubishi Electric Corp | 乗算器 |
-
1991
- 1991-11-06 JP JP3289018A patent/JPH05127875A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03276331A (ja) * | 1990-03-26 | 1991-12-06 | Mitsubishi Electric Corp | 乗算器 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4989168A (en) | Multiplying unit in a computer system, capable of population counting | |
| JPH076161A (ja) | 周波数から時間領域への変換方法及び装置 | |
| JPH05150947A (ja) | 7ビツト入力3ビツト出力のカウンタ | |
| JPH0456339B2 (ja) | ||
| JPS6034853B2 (ja) | デジタルフイルタ | |
| JP3556950B2 (ja) | 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法 | |
| JPH06236255A (ja) | 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット | |
| US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
| Rani et al. | FPGA implementation of fast adders using Quaternary Signed Digit number system | |
| US20080256165A1 (en) | Full-Adder Modules and Multiplier Devices Using the Same | |
| JPH10111791A (ja) | 除算装置 | |
| Thamizharasan et al. | Proficient architecture for vedic multiplier using various VLSI design techniques of optimized adder | |
| US5883825A (en) | Reduction of partial product arrays using pre-propagate set-up | |
| JPS5841532B2 (ja) | セキワケイサンカイロ | |
| JPH01251133A (ja) | 乗算回路及び方法 | |
| JP2864598B2 (ja) | ディジタル演算回路 | |
| JP4042215B2 (ja) | 演算処理装置およびその方法 | |
| JP3477816B2 (ja) | トリー加算器及び乗算器 | |
| JP3288273B2 (ja) | 除算回路及びこれに用いる部分除算器 | |
| KR0154792B1 (ko) | 비트 시리얼 기법을 이용한 미분기 | |
| JP3417172B2 (ja) | 演算回路 | |
| CN115587274A (zh) | 一种多项式乘法的加速方法及装置 | |
| JPH08292876A (ja) | 演算装置 | |
| JPH05108308A (ja) | 乗算回路 | |
| JPH05216626A (ja) | 乗算器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19961203 |