JP2699624B2 - 乗算器 - Google Patents
乗算器Info
- Publication number
- JP2699624B2 JP2699624B2 JP2212918A JP21291890A JP2699624B2 JP 2699624 B2 JP2699624 B2 JP 2699624B2 JP 2212918 A JP2212918 A JP 2212918A JP 21291890 A JP21291890 A JP 21291890A JP 2699624 B2 JP2699624 B2 JP 2699624B2
- Authority
- JP
- Japan
- Prior art keywords
- partial product
- signal
- bit
- multiplicand
- multiplier
- 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
【発明の詳細な説明】 産業上の利用分野 本発明は、Boothアルゴリズム方式を配した乗算器に
有用なデジタル演算回路に関するものである。
有用なデジタル演算回路に関するものである。
従来の技術 ここでまず、Boothのアルゴリズムについて、第2
図、第3図、第5図を用いながら説明する。従来のアレ
イ方式乗算器では、nビット長の乗数Yを入力するとn
列の部分積列が発生するのに対して、Boothアルゴリズ
ム方式を用いた乗算器においては、n/2列の部分積列し
か発生しないという利点がある。第2図は、4ビット×
4ビットの従来のBoothアルゴリズムの乗算器とし、第
3図は第2図部分積生成器52a、53a、54a、55a、52b、5
3b、54b、55bの真理値表、第5図は第2図部分積生成器
71a、71bの真理値表である。第2図における被乗数はMS
Bからx4、x3、x2、x1の4ビットの被乗数Xであり、乗
数YはXと同様でMSBからy4、y3、y2、y1の4ビットの
乗数Yである。y0はBoothアルゴリズム方式における補
正ビットであり常に“0"が入力されている。Boothのア
ルゴリズムにおいて、y2、y1、y0のように乗数Yの相続
く3ビットの値を以下の(式1)に代入し計算すると、
(式1)の計算結果は「0、±1、±2」のいずれかを
とる。
図、第3図、第5図を用いながら説明する。従来のアレ
イ方式乗算器では、nビット長の乗数Yを入力するとn
列の部分積列が発生するのに対して、Boothアルゴリズ
ム方式を用いた乗算器においては、n/2列の部分積列し
か発生しないという利点がある。第2図は、4ビット×
4ビットの従来のBoothアルゴリズムの乗算器とし、第
3図は第2図部分積生成器52a、53a、54a、55a、52b、5
3b、54b、55bの真理値表、第5図は第2図部分積生成器
71a、71bの真理値表である。第2図における被乗数はMS
Bからx4、x3、x2、x1の4ビットの被乗数Xであり、乗
数YはXと同様でMSBからy4、y3、y2、y1の4ビットの
乗数Yである。y0はBoothアルゴリズム方式における補
正ビットであり常に“0"が入力されている。Boothのア
ルゴリズムにおいて、y2、y1、y0のように乗数Yの相続
く3ビットの値を以下の(式1)に代入し計算すると、
(式1)の計算結果は「0、±1、±2」のいずれかを
とる。
y2i+y2i+1−2y2i+2 (式1) この(式1)の計算結果により、乗数Yの相続く3ビッ
トの値は、第3図に示されている様に、被乗数Xの演算
方法により「±0、±X、±2X」に分類される。ここ
で、「±0」とは被乗数Xの±0倍、「±X」とは被乗
数Xの±1倍、「±2X」とは被乗数Xの±2倍をとるこ
とを示している。すなわち、ここで数表示は2の補数表
示であるので、「−X」とは、被乗数Xの否定をつく
り、その部分積列のLSBである2の0乗ビットに1を加
えることを示している。また「2X」とは、被乗数Xの2
倍、すなわち1ビットシフトすることを示している。こ
れより、例えばBoothのエンコーダの出力が、「−2X」
の場合には、被乗数Xの否定をつくり、その部分積列の
LSBである2の0乗ビットに1を加え、さらに1ビット
シフトを施す動作を必要とする。
トの値は、第3図に示されている様に、被乗数Xの演算
方法により「±0、±X、±2X」に分類される。ここ
で、「±0」とは被乗数Xの±0倍、「±X」とは被乗
数Xの±1倍、「±2X」とは被乗数Xの±2倍をとるこ
とを示している。すなわち、ここで数表示は2の補数表
示であるので、「−X」とは、被乗数Xの否定をつく
り、その部分積列のLSBである2の0乗ビットに1を加
えることを示している。また「2X」とは、被乗数Xの2
倍、すなわち1ビットシフトすることを示している。こ
れより、例えばBoothのエンコーダの出力が、「−2X」
の場合には、被乗数Xの否定をつくり、その部分積列の
LSBである2の0乗ビットに1を加え、さらに1ビット
シフトを施す動作を必要とする。
第3図の1x、2xは、部分積生成器に入力される被乗数
Xの内の1ビット分の入力を示しており、今、部分積列
のkビット目の部分積生成器に注目すると、前記部分積
器の入力1xには被乗数Xのkビット目が、入力2xには被
乗数Xの(k−1)ビット目が入力される。第3図のXY
は、部分積生成器の出力を示している。
Xの内の1ビット分の入力を示しており、今、部分積列
のkビット目の部分積生成器に注目すると、前記部分積
器の入力1xには被乗数Xのkビット目が、入力2xには被
乗数Xの(k−1)ビット目が入力される。第3図のXY
は、部分積生成器の出力を示している。
第1図、第2図のエンコーダ3a、3bでは、第3図にあ
るように、エンコーダ出力ESは、演算方法が「0、X、
2X」のときES=0、「−0、−X、−2X」のときES=1
をとる符号信号、エンコーダ出力E1Xは、演算方法が
「±0、±2X」のときE1X=0、「±X」のときE1X=1
をとる±X信号、エンコーダ出力E2Xは、演算方法が
「±0、±X」のときE2X=0、「±2X」のときE2X=1
をとる±2X信号である。
るように、エンコーダ出力ESは、演算方法が「0、X、
2X」のときES=0、「−0、−X、−2X」のときES=1
をとる符号信号、エンコーダ出力E1Xは、演算方法が
「±0、±2X」のときE1X=0、「±X」のときE1X=1
をとる±X信号、エンコーダ出力E2Xは、演算方法が
「±0、±X」のときE2X=0、「±2X」のときE2X=1
をとる±2X信号である。
第2図は、従来のBoothアルゴリズム方式の乗算器の
一構成例を示すブロック図である。1は部分積生成部、
2は加算部、3a、3bはBoothのエンコーダ、71a、71bは
各部分積列の2の0乗ビットの部分積生成器、52a、53
a、54a、55a、52b、53b、54b、55bは前記部分積生成器7
1a、71b以外の部分積生成器、8a、8bはエンコーダ3a、3
bの結果が「−0」[−X」を表現しているとき、すな
わちES=1かつE2X=0のときに2の補数生成のために
2の0乗ビット2aと2の2乗ビット2cに1を出力する信
号線、9a、9bは前記信号線8a、8bに“1"か“0"の信号を
生成するための補数制御回路、10a、10bはエンコーダ3
a、3bの結果が「−2X」を表現しているとき、すなわちE
S=1かつE2X=1のときに2の補数生成のために2の1
乗ビット2bと2の3乗ビット2dに1を出力する信号線、
11は前記信号線10a、10bに“1"か“0"の信号を生成する
ための補数制御回路である。
一構成例を示すブロック図である。1は部分積生成部、
2は加算部、3a、3bはBoothのエンコーダ、71a、71bは
各部分積列の2の0乗ビットの部分積生成器、52a、53
a、54a、55a、52b、53b、54b、55bは前記部分積生成器7
1a、71b以外の部分積生成器、8a、8bはエンコーダ3a、3
bの結果が「−0」[−X」を表現しているとき、すな
わちES=1かつE2X=0のときに2の補数生成のために
2の0乗ビット2aと2の2乗ビット2cに1を出力する信
号線、9a、9bは前記信号線8a、8bに“1"か“0"の信号を
生成するための補数制御回路、10a、10bはエンコーダ3
a、3bの結果が「−2X」を表現しているとき、すなわちE
S=1かつE2X=1のときに2の補数生成のために2の1
乗ビット2bと2の3乗ビット2dに1を出力する信号線、
11は前記信号線10a、10bに“1"か“0"の信号を生成する
ための補数制御回路である。
次に第2図、第3図、第5図を用いて従来のBoothア
ルゴリズム方式の乗算器の動作について、被乗数Xがx
4、x3、x2、x1の順に“1010"、乗数Yがy4、y3、y2、y1
の順に“1001"の場合を例に挙げて具体的に説明する。y
0は常に“0"の固定値である。
ルゴリズム方式の乗算器の動作について、被乗数Xがx
4、x3、x2、x1の順に“1010"、乗数Yがy4、y3、y2、y1
の順に“1001"の場合を例に挙げて具体的に説明する。y
0は常に“0"の固定値である。
まず第2図のBoothのエンコーダ3aに(y2、y1、y0)
=(0、1、0)を入力すると第3図より、Xの演算方
法が「X」となるようなエンコーダの3出力がES=0、
E1X=1、E2X=0に決定する。これより、部分積生成器
71aの出力は被乗数入力1x=x1=0であるため、第5図
より部分積生成器71aからの部分積結果XY=0となり加
算部2の2の0乗ビット2aに入力される。また部分積生
成器52aの出力は被乗数入力1x=x2=1であるため、第
3図より部分積生成器52aからの部分積結果XY=1とな
り加算部2の2の1乗ビット2bに入力される。部分積生
成器53a、54a、55aの部分積結果についても同様であ
る。信号線8a、10aは演算方法が「x」のためそれぞれ
2の0乗ビット2a、2の1乗ビット2bに“0"が入力され
る。
=(0、1、0)を入力すると第3図より、Xの演算方
法が「X」となるようなエンコーダの3出力がES=0、
E1X=1、E2X=0に決定する。これより、部分積生成器
71aの出力は被乗数入力1x=x1=0であるため、第5図
より部分積生成器71aからの部分積結果XY=0となり加
算部2の2の0乗ビット2aに入力される。また部分積生
成器52aの出力は被乗数入力1x=x2=1であるため、第
3図より部分積生成器52aからの部分積結果XY=1とな
り加算部2の2の1乗ビット2bに入力される。部分積生
成器53a、54a、55aの部分積結果についても同様であ
る。信号線8a、10aは演算方法が「x」のためそれぞれ
2の0乗ビット2a、2の1乗ビット2bに“0"が入力され
る。
次に第2図のBoothのエンコーダ3bに(y4、y3、y2)
=(1、0、0)を入力すると第3図より、Xの演算方
法が「−2X」となるようなエンコーダの3出力がES=
1、E1X=0、E2X=1に決定する。これより、部分積生
成器71bの出力は、第5図より被乗数入力によらず部分
積結果XY=0となり加算部2の2の2乗ビット2cに入力
される。また部分積生成器52bの出力は被乗数入力2x=x
1=0であるため、第3図より部分積生成器52bからの部
分積結果XY=1となり加算部2の2の3乗ビット2dに入
力される。部分積生成器53b、54b、55bの部分積結果に
ついても同様である。信号線8b、10bは演算方法が「−2
X」のためES、E2X=1より信号線8b=0、信号線10b=
1となり、信号線8bは2の2乗ビット2cに、信号線10b
は2の3乗ビット2dに入力される。
=(1、0、0)を入力すると第3図より、Xの演算方
法が「−2X」となるようなエンコーダの3出力がES=
1、E1X=0、E2X=1に決定する。これより、部分積生
成器71bの出力は、第5図より被乗数入力によらず部分
積結果XY=0となり加算部2の2の2乗ビット2cに入力
される。また部分積生成器52bの出力は被乗数入力2x=x
1=0であるため、第3図より部分積生成器52bからの部
分積結果XY=1となり加算部2の2の3乗ビット2dに入
力される。部分積生成器53b、54b、55bの部分積結果に
ついても同様である。信号線8b、10bは演算方法が「−2
X」のためES、E2X=1より信号線8b=0、信号線10b=
1となり、信号線8bは2の2乗ビット2cに、信号線10b
は2の3乗ビット2dに入力される。
従来のBoothアルゴリズム方式を用いた乗算器の場
合、2の補正生成のための信号線8a、8bおよび10a、10b
を生成する共に、加算部2での部分積の加算時にそれぞ
れのビットの部分積と前記4信号を加算しなければなら
ない。そのため、上記補数制御回路9および11とそれら
を加算部2で加算する回路が必要である。
合、2の補正生成のための信号線8a、8bおよび10a、10b
を生成する共に、加算部2での部分積の加算時にそれぞ
れのビットの部分積と前記4信号を加算しなければなら
ない。そのため、上記補数制御回路9および11とそれら
を加算部2で加算する回路が必要である。
発明が解決しようとする課題 このように、従来のBoothアルゴリズム方式を配した
乗算器では、第2図の加算部2に、部分積生成部1の部
分積と共に信号線8a、8bおよび10a、10bも加算しなけれ
ばならず、加算部2における加算回路が増加する。また
前記信号線8a、8bおよび10a、10bを生成するための補数
制御回路9a、9bおよび11a、11bが必要である。これらの
要因により従来は、回路規模ならびに演算時間の増加と
いう問題があった。本発明は上記課題を解決するもの
で、回路規模ならびに演算時間を削減したBoothアルゴ
リズム方式乗算器を提供することを目的としている。
乗算器では、第2図の加算部2に、部分積生成部1の部
分積と共に信号線8a、8bおよび10a、10bも加算しなけれ
ばならず、加算部2における加算回路が増加する。また
前記信号線8a、8bおよび10a、10bを生成するための補数
制御回路9a、9bおよび11a、11bが必要である。これらの
要因により従来は、回路規模ならびに演算時間の増加と
いう問題があった。本発明は上記課題を解決するもの
で、回路規模ならびに演算時間を削減したBoothアルゴ
リズム方式乗算器を提供することを目的としている。
課題を解決するための手段 本発明のBoothアルゴリズム方式乗算器は、nビット
長の乗数Yを入力するとn/2列の部分積列を作るため
に、被乗数Xの2の補数を作るときに“1"、2の補数を
作らないときに“0"をとる符号信号と、被乗数Xの±1
倍を作るときに“1"、±0倍と±2倍を作るときに“0"
をとる±X信号と、被乗数Xの±2倍を作るときに
“1"、±0倍と±1倍を作るときに“0"をとる±2X信号
の3信号を出力するBoothのエンコーダを配し、前記n/2
列の部分積列の内の一部分列に対して、前記エンコーダ
出力が「−2X」を表現するとき、すなわち符号信号が
“1"、±X信号が“0"、±2X信号が“1"をとるとき、符
号信号の出力“1"との和により部分積列の2の1乗ビッ
トに1を付加できる、符号信号と±X信号と被乗数Xの
3入力から部分積を生成する部分積生成器を部分積列の
2の0乗ビットの位置に設けている。
長の乗数Yを入力するとn/2列の部分積列を作るため
に、被乗数Xの2の補数を作るときに“1"、2の補数を
作らないときに“0"をとる符号信号と、被乗数Xの±1
倍を作るときに“1"、±0倍と±2倍を作るときに“0"
をとる±X信号と、被乗数Xの±2倍を作るときに
“1"、±0倍と±1倍を作るときに“0"をとる±2X信号
の3信号を出力するBoothのエンコーダを配し、前記n/2
列の部分積列の内の一部分列に対して、前記エンコーダ
出力が「−2X」を表現するとき、すなわち符号信号が
“1"、±X信号が“0"、±2X信号が“1"をとるとき、符
号信号の出力“1"との和により部分積列の2の1乗ビッ
トに1を付加できる、符号信号と±X信号と被乗数Xの
3入力から部分積を生成する部分積生成器を部分積列の
2の0乗ビットの位置に設けている。
作用 本発明は上記した構成により、各部分積列の2の0乗
ビットの部分積生成器では、Boothのエンコーダの結果
が「−0、−X」のときES=1であり、前記信号を直接
2の0乗ビットの部分積生成器41a、41bの出力と加算す
れば2の補数が生成でき、2の0乗ビットに補数生成の
ための回路が不必要である。またBoothのエンコーダの
結果が「−2X」のとき、符号信号ESと2の0乗ビットの
部分積生成器4の出力の2信号の加算結果の桁上がりに
より、2の1乗ビットに1を付加可能となる。そのた
め、2の1乗ビットに1を付加する回路およびそれを加
算部で加算する回路が不必要となる。以上の結果、本発
明により、回路規模ならびに演算時間を削減できる。
ビットの部分積生成器では、Boothのエンコーダの結果
が「−0、−X」のときES=1であり、前記信号を直接
2の0乗ビットの部分積生成器41a、41bの出力と加算す
れば2の補数が生成でき、2の0乗ビットに補数生成の
ための回路が不必要である。またBoothのエンコーダの
結果が「−2X」のとき、符号信号ESと2の0乗ビットの
部分積生成器4の出力の2信号の加算結果の桁上がりに
より、2の1乗ビットに1を付加可能となる。そのた
め、2の1乗ビットに1を付加する回路およびそれを加
算部で加算する回路が不必要となる。以上の結果、本発
明により、回路規模ならびに演算時間を削減できる。
実施例 第1図は、この発明の乗算器の一実施例を示すブロッ
ク図である。第1図において、1は部分積生成部、2は
加算部、3a、3bはBoothのエンコーダ、41a、41bは各部
分積列の2の0乗ビットの部分積生成器、52a、53a、54
a、55a、52b、53b、54b、55bは上記部分積生成器41a、4
1b以外の部分積生成器の部分積生成器、6a、6bは被乗数
Xの2の補数を作る場合に各部分列の2の0乗ビットに
1を付加する信号線である。これらの、1、2、3a、3b
および52a、53a、54a、55a、52b、53b、54b、55bの構成
要素は、第2図の従来例と同様である。
ク図である。第1図において、1は部分積生成部、2は
加算部、3a、3bはBoothのエンコーダ、41a、41bは各部
分積列の2の0乗ビットの部分積生成器、52a、53a、54
a、55a、52b、53b、54b、55bは上記部分積生成器41a、4
1b以外の部分積生成器の部分積生成器、6a、6bは被乗数
Xの2の補数を作る場合に各部分列の2の0乗ビットに
1を付加する信号線である。これらの、1、2、3a、3b
および52a、53a、54a、55a、52b、53b、54b、55bの構成
要素は、第2図の従来例と同様である。
上記構成において、以下に動作を説明する。まず、乗
数Yの相続く3ビットのBoothのエンコーダ3a、3bに入
力すると、演算方法が「−0、−X、−2X」の時に1が
たつ符号信号ESと、演算方法が「±X」の時に1がたつ
±X信号E1X、演算方法が「±2X」の時に1がたつ±2X
信号E2Xの3種類の出力が得られる。次に、その出力結
果を部分積生成器41a、41bおよび52a、53a、54a、55a、
52b、53b、54b、55bに入力し、その結果と信号線6a、6b
を加算部2に入力することによって乗算結果を得る。
数Yの相続く3ビットのBoothのエンコーダ3a、3bに入
力すると、演算方法が「−0、−X、−2X」の時に1が
たつ符号信号ESと、演算方法が「±X」の時に1がたつ
±X信号E1X、演算方法が「±2X」の時に1がたつ±2X
信号E2Xの3種類の出力が得られる。次に、その出力結
果を部分積生成器41a、41bおよび52a、53a、54a、55a、
52b、53b、54b、55bに入力し、その結果と信号線6a、6b
を加算部2に入力することによって乗算結果を得る。
信号線6a、6bはエンコーダ3a、3bの出力の内の1つで
ある符号信号ESであり、「−0、−X、−2X」のとき2
の補数生成のために部分積列の0乗ビットに1を付加す
る信号線である。
ある符号信号ESであり、「−0、−X、−2X」のとき2
の補数生成のために部分積列の0乗ビットに1を付加す
る信号線である。
ここで、第1図部分積生成器41a、41bについて、第4
図を用いながら説明する。第4図は、第1図部分積生成
器41a、41bの真理値表である。表中の記号は、第3図と
同じである。ただし、第1図部分積生成器41a、41bは、
被乗数Xの2xとエンコーダ出力信号E2Xの2入力はな
い。第5図と第4図で部分積結果XYが異なるのは、「−
2X」のときである。すなわち「−2X」のとき、部分積生
成器41a、41bに1が出力されるように設計されている。
その結果、「−2X」のとき、部分積列の2の0乗ビット
では、加算部2における信号線6aもしくは6bと部分積生
成器41aもしくは41bとの和により、部分積列の2の1乗
ビットに1が送られる。このようにすることにより、演
算方法「−2X」の2の補正生成の動作を実現している。
図を用いながら説明する。第4図は、第1図部分積生成
器41a、41bの真理値表である。表中の記号は、第3図と
同じである。ただし、第1図部分積生成器41a、41bは、
被乗数Xの2xとエンコーダ出力信号E2Xの2入力はな
い。第5図と第4図で部分積結果XYが異なるのは、「−
2X」のときである。すなわち「−2X」のとき、部分積生
成器41a、41bに1が出力されるように設計されている。
その結果、「−2X」のとき、部分積列の2の0乗ビット
では、加算部2における信号線6aもしくは6bと部分積生
成器41aもしくは41bとの和により、部分積列の2の1乗
ビットに1が送られる。このようにすることにより、演
算方法「−2X」の2の補正生成の動作を実現している。
次に、第1図、第3図、第4図を用いて本発明のBoot
hアルゴリズム方式の乗算器の動作について、被乗数X
がx4、x3、x2、x1の順に“1010"、乗数Yがy4、y3、y
2、y1の順に“1001"の場合を例に挙げて具体的に説明す
る。y0は常に“0"の固定値である。
hアルゴリズム方式の乗算器の動作について、被乗数X
がx4、x3、x2、x1の順に“1010"、乗数Yがy4、y3、y
2、y1の順に“1001"の場合を例に挙げて具体的に説明す
る。y0は常に“0"の固定値である。
まず第1図のBoothのエンコーダ3aに(y2、y1、y0)
=(0、1、0)を入力すると第3図より、Xの演算方
法が「X」となるようなエンコーダの3出力がES=0、
E1X=1、E2X=0に決定する。これより、部分積生成器
41aの出力は被乗数入力1x=x1=0であるため、第4図
より部分積生成器41aからの部分積結果XY=0となり加
算部2の2の0乗ビット2aに入力される。また部分積生
成器52aの出力は被乗数入力1x=x2=1であるため、第
3図より部分積生成器52aからの部分積結果XY=1とな
り加算部2の2の1乗ビット2bに入力される。部分積生
成器53a、54a、55aの部分積結果についても同様であ
る。信号線6aはエンコーダの出力ES=0のため2の0乗
ビット2aに“0"が入力される。
=(0、1、0)を入力すると第3図より、Xの演算方
法が「X」となるようなエンコーダの3出力がES=0、
E1X=1、E2X=0に決定する。これより、部分積生成器
41aの出力は被乗数入力1x=x1=0であるため、第4図
より部分積生成器41aからの部分積結果XY=0となり加
算部2の2の0乗ビット2aに入力される。また部分積生
成器52aの出力は被乗数入力1x=x2=1であるため、第
3図より部分積生成器52aからの部分積結果XY=1とな
り加算部2の2の1乗ビット2bに入力される。部分積生
成器53a、54a、55aの部分積結果についても同様であ
る。信号線6aはエンコーダの出力ES=0のため2の0乗
ビット2aに“0"が入力される。
次に第2図のBoothのエンコーダ3bに(y4、y3、y2)
=(1、0、0)を入力すると第3図より、Xの演算方
法が「−2X」となるようなエンコーダの3出力がES=
1、E1X=0、E2X=1に決定する。これより、部分積生
成器41bの出力は、第4図より被乗数入力によらず部分
積結果XY=1となり加算部2の2の2乗ビット2cに入力
される。また2部分積生成器52bの出力は被乗数入力2x
=x1=0であるため、第3図より部分積生成器52bから
の部分積結果XY=1となり加算部2の2の3乗ビット2d
に入力される。部分積生成器53b、54b、55bの部分積結
果についても同様である。信号線6bは、エンコーダの出
力ES=1のため2の2乗ビット2cに“1"が入力される。
=(1、0、0)を入力すると第3図より、Xの演算方
法が「−2X」となるようなエンコーダの3出力がES=
1、E1X=0、E2X=1に決定する。これより、部分積生
成器41bの出力は、第4図より被乗数入力によらず部分
積結果XY=1となり加算部2の2の2乗ビット2cに入力
される。また2部分積生成器52bの出力は被乗数入力2x
=x1=0であるため、第3図より部分積生成器52bから
の部分積結果XY=1となり加算部2の2の3乗ビット2d
に入力される。部分積生成器53b、54b、55bの部分積結
果についても同様である。信号線6bは、エンコーダの出
力ES=1のため2の2乗ビット2cに“1"が入力される。
発明の効果 以上の実施例から明らかなように、本発明によれば、
各部分積列の2の0乗ビットの部分積生成器において、
Boothのエンコーダの結果が「−0、−X」のときES=
1であり、その信号を直接2の0乗ビットの部分積生成
器の出力と加算することにより2の補数が生成でき、2
の0乗ビットに補数生成のための回路が不必要である。
さらにBoothのエンコーダの結果が「−2X」のとき、符
号信号ESと2の0乗ビットの部分積生成器の出力の2信
号の加算により、2の1乗ビットに1を付加可能とな
る。そのため、2の1乗ビットを付加する回路および前
記回路からの出力を加算部で加算する回路が不必要とな
る。この結果、回路規模ならびに演算時間を削減でき、
きわめて有用なものである。
各部分積列の2の0乗ビットの部分積生成器において、
Boothのエンコーダの結果が「−0、−X」のときES=
1であり、その信号を直接2の0乗ビットの部分積生成
器の出力と加算することにより2の補数が生成でき、2
の0乗ビットに補数生成のための回路が不必要である。
さらにBoothのエンコーダの結果が「−2X」のとき、符
号信号ESと2の0乗ビットの部分積生成器の出力の2信
号の加算により、2の1乗ビットに1を付加可能とな
る。そのため、2の1乗ビットを付加する回路および前
記回路からの出力を加算部で加算する回路が不必要とな
る。この結果、回路規模ならびに演算時間を削減でき、
きわめて有用なものである。
第1図は本発明の一実施例のBoothアルゴリズム方式乗
算器の構成を示すブロック図、第2図は従来のBoothア
ルゴリズム方式乗算器の構成を示すブロック図、第3図
は、第1図および第2図の部分積生成器52a、53a、54
a、55a、52b、53b、54b、55bの真理値表、第4図は、第
1図の部分積生成器41a、41bの真理値表、第5図は第2
図の部分積生成器71a、71bの真理値表である。 1……部分積生成部、2……加算部、3a、3b……Booth
のエンコーダ、41a、41b……部分積列の2の0乗ビット
の部分積生成器、6a、6b……被乗数Xの2の補数生成時
に部分積列の2の0乗ビットに1を付加する信号線、52
a、53a、54a、55a、52b、53b、54b、55b……部分積列の
2の1乗ビット以上の部分積生成器。
算器の構成を示すブロック図、第2図は従来のBoothア
ルゴリズム方式乗算器の構成を示すブロック図、第3図
は、第1図および第2図の部分積生成器52a、53a、54
a、55a、52b、53b、54b、55bの真理値表、第4図は、第
1図の部分積生成器41a、41bの真理値表、第5図は第2
図の部分積生成器71a、71bの真理値表である。 1……部分積生成部、2……加算部、3a、3b……Booth
のエンコーダ、41a、41b……部分積列の2の0乗ビット
の部分積生成器、6a、6b……被乗数Xの2の補数生成時
に部分積列の2の0乗ビットに1を付加する信号線、52
a、53a、54a、55a、52b、53b、54b、55b……部分積列の
2の1乗ビット以上の部分積生成器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 荒木 敏之 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 児玉 久 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 岡本 潔 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 昭62−22146(JP,A) 特開 昭59−202542(JP,A)
Claims (1)
- 【請求項1】Boothアルゴリズム方式を用いた乗算器に
おいて、nビット長の乗数Yを入力するとn/2列の部分
積列を作るために、被乗数Xの2の補数を作るときに
“1"、2の補数を作らないときに“0"をとる符号信号
と、被乗数Xの±1倍を作るときに“1"、±0倍と±2
倍を作るときに“0"をとる±X信号と、被乗数Xの±2
倍を作るときに“1"、±0倍と±1倍を作るときに“0"
をとる±2X信号の3信号を出力するBoothのエンコーダ
を配し、前記n/2列の部分積列の内の一部分列に対し
て、前記エンコーダ出力が「−2X」を表現するとき、す
なわち符号信号が“1"、±X信号が“0"、±2X信号が
“1"をとるとき、符号信号の出力“1"との和により、部
分積列の2の1乗ビットに1を付加する以下の3入力、
符号信号と±X信号と被乗数Xから部分積を生成する部
分積生成器を部分積列の2の0乗ビットの位置に設けた
ことを特徴とする乗算器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2212918A JP2699624B2 (ja) | 1990-08-10 | 1990-08-10 | 乗算器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2212918A JP2699624B2 (ja) | 1990-08-10 | 1990-08-10 | 乗算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0498423A JPH0498423A (ja) | 1992-03-31 |
JP2699624B2 true JP2699624B2 (ja) | 1998-01-19 |
Family
ID=16630441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2212918A Expired - Fee Related JP2699624B2 (ja) | 1990-08-10 | 1990-08-10 | 乗算器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2699624B2 (ja) |
-
1990
- 1990-08-10 JP JP2212918A patent/JP2699624B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0498423A (ja) | 1992-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR900006666B1 (ko) | 유한체상의 승산기 | |
US5227992A (en) | Operational method and apparatus over GF(2m) using a subfield GF(2.sup. | |
JPH06214755A (ja) | 乗算装置 | |
JPS62280930A (ja) | デイジタル乗算器 | |
JP2699624B2 (ja) | 乗算器 | |
US5870322A (en) | Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication | |
JPH0722966A (ja) | 誤り数値多項式および誤り位置多項式演算回路 | |
JPS5856033A (ja) | 乗算回路 | |
JPH08314697A (ja) | 符号付き/符号なし数兼用乗算器 | |
JP3417286B2 (ja) | 乗算器 | |
JPH04256016A (ja) | 2の補数の乗算器を無符号数の乗算を行うように修正する方法および装置 | |
JPS5841532B2 (ja) | セキワケイサンカイロ | |
JP3071607B2 (ja) | 乗算回路 | |
JPS63107319A (ja) | 拡張ガロア体上の多項式除算回路 | |
JP2991788B2 (ja) | 復号器 | |
JP3106767B2 (ja) | 乗算方法及び乗算回路 | |
JP3230349B2 (ja) | 10進乗算器 | |
JP3241642B2 (ja) | 2進10進変換回路 | |
SU1179322A1 (ru) | Устройство дл умножени двух чисел | |
JPH1011418A (ja) | 積和演算装置 | |
JPH1011267A (ja) | 乗算器 | |
JPH10333885A (ja) | 乗算回路 | |
JPH0778748B2 (ja) | ガロア体演算ユニット | |
JPH1115641A (ja) | 冗長2進加算器を用いた乗算装置 | |
JPS63623A (ja) | 乗算器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |