JPH1115641A - 冗長2進加算器を用いた乗算装置 - Google Patents

冗長2進加算器を用いた乗算装置

Info

Publication number
JPH1115641A
JPH1115641A JP16573397A JP16573397A JPH1115641A JP H1115641 A JPH1115641 A JP H1115641A JP 16573397 A JP16573397 A JP 16573397A JP 16573397 A JP16573397 A JP 16573397A JP H1115641 A JPH1115641 A JP H1115641A
Authority
JP
Japan
Prior art keywords
partial product
bit
outputting
data
redundant binary
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.)
Withdrawn
Application number
JP16573397A
Other languages
English (en)
Inventor
Kazufumi Tagami
一文 田上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP16573397A priority Critical patent/JPH1115641A/ja
Publication of JPH1115641A publication Critical patent/JPH1115641A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 高速の乗算装置を提供する。 【解決手段】 乗数データを複数ビット毎にエンコード
するための乗数エンコード手段100と、乗数エンコー
ド結果と被乗数データとから部分積を各ビットの符号が
反転していない2進数表現で生成するための第1の部分
積生成手段110と、乗数エンコード結果と被乗数デー
タとから部分積を各ビットの符号が反転している2進数
表現で生成するための第2の部分積生成手段111と、
第1及び第2の部分積生成手段において生成された複数
の部分積から複数の冗長2進数データを生成するための
第1の部分積加算手段120と、該第1の部分積加算手
段から出力される複数の冗長2進数データの加算結果と
して1つの冗長2進数データを出力するための第2の部
分積加算手段130と、該第2の部分積加算手段から出
力される冗長2進数データを2進数データに変換するた
めの冗長2進・2進変換手段140とを設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、冗長2進加算器を
用いた乗算装置に関するものである。
【0002】
【従来の技術】従来の冗長2進加算器を用いた乗算装置
は、ブースのアルゴリズムに応じて部分積を生成し、部
分積の加算を冗長2進加算器にて行い、冗長2進数で表
現された部分積の最終和を2進数へ変換して出力する構
成をとる。このうち冗長2進加算器として、冗長2進数
表現を符号ビットと絶対値ビットとの2ビットで表現し
て加算を行うものと、冗長2進数表現を値「1」の重み
を持つビットと値「−1」の重みを持つビットとの2ビ
ットで表現して加算を行うものとが提案されている。例
えば、特開昭63−182739号公報及び特開平6−
214755号公報参照。
【0003】
【発明が解決しようとする課題】特開昭63−1827
39号公報に記載の第1の従来例では、部分積を生成す
る際に各ビットの符号が互いに異なるような部分積をペ
アで生成することにより最初の部分積加算を高速に行っ
ている。しかしながら、一方の部分積の符号に応じて他
方の部分積の符号を逆にするような論理回路を必要とす
るという問題があった。
【0004】また、特開平6−214755号公報に記
載の第2の従来例では、乗算装置を構成する冗長2進加
算器が、値「0」の表現として、値「1」の重みを持つ
ビットと値「−1」の重みを持つビットとが両方とも立
つという表現を禁止しているために、数表現変換手段を
必要とするという問題があった。
【0005】すなわち、双方の例とも部分積生成から部
分積加算を実行するまでに前準備を行う手段を必要とし
ていた。
【0006】したがって、本発明の目的は、上記前準備
のための手段を不必要とする構成を採ることにより、乗
算処理の高速化を達成することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明の乗算装置は、部分積加算手段において、乗
数エンコード結果の符号と同一の符号重みを持つ2つの
部分積と、乗数エンコード結果の符号とは逆の符号重み
を持つ2つの部分積との加算を行い、1つの冗長2進数
データを加算結果として出力することとしたものであ
る。
【0008】
【発明の実施の形態】図1は、本発明に係る乗算装置の
構成例を示すブロック図である。図1において、100
はブースのアルゴリズムにより乗数をエンコードするた
めの乗数エンコード手段である。110は乗数エンコー
ド手段100の出力と被乗数とから各ビットの符号が反
転していない2進数表現で出力するための第1の部分積
生成手段である。111は乗数エンコード手段100の
出力と被乗数とから各ビットの符号が反転している2進
数表現で出力するための第2の部分積生成手段である。
120は第1の部分積生成手段100で生成された部分
積のうち2つと、第2の部分積生成手段111で生成さ
れた部分積のうち2つとの加算を行い、1つの冗長2進
数データを加算結果として出力するための手段を複数有
する第1の部分積加算手段である。130は第1の部分
積加算手段120の出力と、第1の部分積加算手段12
0で足し込むことのできなかった第1の部分積生成手段
110の補正項KHと、第2の部分積生成手段111の
補正項JHとから冗長2進数表現の積を求めるための第
2の部分積加算手段である。140は第2の部分積加算
手段130により求められた冗長2進数表現の積を2進
数表現の積に変換するための冗長2進・2進変換手段で
ある。
【0009】以上のように構成された乗算装置の動作を
説明する。まず、被乗数X[15:0]と乗数Y[1
5:0]とは、各々2の補数体系で表現された16ビッ
トの2進数である。初めに乗数は2次のブースのアルゴ
リズムを用いて乗数エンコード手段100によってエン
コードされる。第1の部分積生成手段110は、乗数エ
ンコード手段100のエンコード結果が零以外の任意の
正の数である場合には被乗数の任意数倍を出力し、乗数
エンコード手段100のエンコード結果が零以外の任意
の負の数である場合には被乗数の任意数倍に対して、各
ビットの論理反転を出力しかつ2の補数化のための補正
項を部分積の最下位ビットの位置に出力し、乗数エンコ
ード手段100のエンコード結果が零の場合には各ビッ
トに0を出力することにより、乗数エンコード手段10
0のエンコード結果の符号に対して、同一の符号重みを
持つように被乗数Xから部分積を生成する。第2の部分
積生成手段111は、乗数エンコード手段100のエン
コード結果が零以外の任意の正の数である場合には被乗
数の任意数倍に対して、各ビットの論理反転を出力しか
つ2の補数化のための補正項を部分積の最下位ビットの
位置に出力し、乗数エンコード手段100のエンコード
結果が零以外の任意の負の数である場合には被乗数の任
意数倍を出力し、乗数エンコード手段100のエンコー
ド結果が零の場合には各ビットに0を出力することによ
り、乗数エンコード手段100のエンコード結果の符号
に対して、逆の符号重みを持つように被乗数Xから部分
積を生成する。
【0010】第1の部分積生成手段110により生成さ
れた部分積と第2の部分積生成手段111により生成さ
れた部分積とは、第1の部分積生成手段110の補正項
KHと第2の部分積生成手段111の補正項JHとを除
き第1の部分積加算手段120に入力される。第1の部
分積加算手段120は、各ビット毎に2つの正の重みを
持つデータと2つの負の重みを持つデータとを足し込
み、その加算結果を2つの冗長2進数データL[22:
0]及びM[30:6]として出力する。
【0011】第2の部分積加算手段130は、第1の部
分積加算手段120の出力データL[22:0]及びM
[30:6]と、第1の部分積生成手段110の出力で
ある補正項KHと、第2の部分積生成手段111の出力
である補正項JHとを足し込んで、その加算結果N[3
1:0]を冗長2進数表現で出力する。
【0012】冗長2進・2進変換手段140を構成する
PG生成手段150は、第2の部分積加算手段130の
出力N[31:0]から各ビット毎にキャリー生成関数
G[31:0]とキャリー伝播関数P[31:0]とを
生成し出力する。冗長2進・2進変換手段140を構成
する最終加算手段160は、PG生成手段150の出力
G[31:0]及びP[31:0]から、被乗数X[1
5:0]と乗数Y[15:0]との積Z[31:0]を
求める。
【0013】図2は、図1中の乗数エンコード手段10
0の内部構成を示すブロック図である。図2中の200
は1エンコード結果当たりの回路を示す。乗数は2次の
ブースのアルゴリズムによりエンコードされる。エンコ
ード結果BEiは−2,−1,0,1,2の5つの値を
とり、値「1」であることを示す1Eiと、値「2」で
あることを示す2Eiと、負のときに1が立つことによ
り符号を示すSEiとの3ビットで表現される。ただ
し、NSEiは、SEiの反転信号であって、部分積を生
成する際に使用される。ここで、iは0,2,4,6,
8,10,12,14であり、Y-1は0である。
【0014】図3は、図1中の第1の部分積生成手段1
10の内部構成を示すブロック図である。図3中の30
0は1ビット当たりの回路を示し、301は補正項を生
成するための回路を示している。エンコード結果が正の
場合には被乗数がそのまま選択され、負の場合には被乗
数のビット反転が選択される。複合ゲートはエンコード
結果が1か−1の場合には各々のビットの選択値を出力
し、エンコード結果が2か−2の場合には1ビット下位
の選択値を出力し、エンコード結果が0の場合には0を
出力する。複合ゲートの出力が、生成される部分積のビ
ットnの出力1PPOnになる。2の補数化のための補
正項1PPHは、制御信号NSEiと2Eiと1Eiとの
各々の否定の論理積をとることにより生成される。これ
はエンコード結果が−1か−2のときに成り立ち、生成
する部分積の最下位ビットの位置に出力される。
【0015】図4は、図1中の第2の部分積生成手段1
11の内部構成を示すブロック図である。図4中の30
0は1ビット当たりの回路を示し、301は補正項を生
成するための回路を示している。エンコード結果が負の
場合には被乗数がそのまま選択され、正の場合には被乗
数のビット反転が選択される。複合ゲートはエンコード
結果が1か−1の場合には各々のビットの選択値を出力
し、エンコード結果が2か−2の場合には1ビット下位
の選択値を出力し、エンコード結果が0の場合には0を
出力する。複合ゲートの出力が、生成される部分積のビ
ットnの出力2PPOnになる。2の補数化のための補
正項2PPHは、制御信号SEiと2Eiと1Eiとの各
々の否定の論理積をとることにより生成される。これは
エンコード結果が1か2のときに成り立ち、生成する部
分積の最下位ビットの位置に出力される。
【0016】図5は、図1の乗算装置における乗算処理
を説明するための図である。図5中においてデータを示
す記号の上に傍線が引いてあるものは、負の重みを持っ
ていることを示している。第2の部分積生成手段111
の生成する部分積の最上位ビットをそれぞれペアとなる
第1の部分積生成手段110の生成する部分積の最上位
ビットの位置まで符号拡張し、それぞれの補正項を図5
に示すように配置する。すると、各ビット毎に負の重み
を持つ2つを上限とするデータと正の重みを持つ2つを
上限とするデータとの組み合わせに分けることができ
る。ここで、ビット0に加えられる値「1」は冗長2進
数データから2進数データへのデータ変換を行う際に負
の重みのデータの2の補数をとるために必要となる補正
項である。
【0017】図6は、図1中の第1の部分積加算手段1
20の内部構成を示すブロック図である。図6中の60
0は4データ入力1データ出力の第1冗長2進加算器で
あって、加算結果を冗長2進表現で出力する。
【0018】図7は、第1冗長2進加算器600の内部
構成を示すブロック図である。図7において、700は
正負判定手段、701は準中間キャリー生成手段、70
2は準中間和生成手段、703は和生成手段である。図
8は、同第1冗長2進加算器600の詳細構成を示す回
路図である。ここで、ZSiは出力和Ziの符号ビットで
あり、ZAiは出力和Ziの絶対値ビットである。
【0019】図9に中間和及び図7中のWi,Vi,Qi
の選択則を示す。中間和は−2〜+2の値をとる。この
とき1桁下位の値が正の値を取らないか負の値を取らな
いかによって、中間和を表現するCi,Siを図9に示す
ように選択する。
【0020】図10に入力データの組み合わせによる中
間和の値を示す。
【0021】図11にWiの選択則を示す。図11中の
ハッチングを施してある領域は、Wiが1のとき中間和
が正でないことを示している。図7中の正負判定手段7
00は、図11の選択則を満たすように回路が組まれ
る。
【0022】図12にViの選択則を示す。ViはWiと
Ciとの和で定義される。図9に従ってViの選択則を見
ると、ハッチング領域ではViは値「1」を取ることが
分かる。更に、中間和が値「±1」を取る場合にはWi-
1の値によってCiの値が選択されることが分かる。右下
向きのハッチング領域は、Wi-1の値が「1」のときに
Viが値「1」を取る領域を示している。図7中の準中
間キャリー生成手段701は、図12の選択則を満たす
ように回路が組まれる。
【0023】図13にQiの選択則を示す。Qiは1桁下
位のWi-1からSiを引いたもので定義される。図9に示
してあるように、SiはWi-1が1のとき値「1」か
「0」を取り、Wi-1が0のとき値「−1」か「0」を
取る。そこで、Qiの選択則を示すと図13のようにな
る。図7中の準中間和生成手段702は、図13の選択
則を満たすように回路が組まれる。
【0024】図14に出力和の選択則を示す。出力和Z
iは、Siと1桁下位のCi-1との和で定義される。ここ
で、QiとViの定義から、Ziは1桁下位のVi-1からQ
iを引くことによっても求められることが分かる。そこ
で、Ziの選択則を示すと図14のようになる。図7中
の和生成手段703は、図14の選択則を満たすように
回路が組まれる。
【0025】以上の正負判定手段700と準中間和生成
手段701と準中間キャリー生成手段702と和生成手
段703との回路が共通の部分を共有するように第1冗
長2進加算器600を組むと、図8の回路図になる。
【0026】図15は、図1中の第2の部分積加算手段
130の内部構成を示すブロック図である。第2冗長2
進加算器900をツリー構成に組むことによって構成さ
れている。なお、第2冗長2進加算器900は、第1の
従来例にて示されているものと同等の構成で実現可能で
ある。
【0027】図16は、図1中の冗長2進・2進変換手
段140を構成するPG生成手段150の内部構成を示
すブロック図である。図16中の1000は、1ビット
当たりの回路を示している。1ビット下位の符号ビット
の反転と絶対値ビットとの論理積によってキャリー生成
関数Gを生成し、1ビット下位の符号ビットの反転と絶
対値ビットとの論理和によってキャリー伝播関数Pを生
成している。ここで符号ビットの反転を取ることにより
冗長2進数における負の重みを持つビットの2の補数を
取っているが、その際の補正項は図5に示しているビッ
ト0の値「1」によって足し込まれている。
【0028】図17は、図1中の冗長2進・2進変換手
段140を構成する最終加算手段160の内部構成を示
すブロック図である。最終加算手段160は、PG生成
手段150の出力であるキャリー生成関数Gとキャリー
伝播関数Pとからキャリールックアヘッド加算器(CL
A)を用いて被乗数と乗数との積を求めている。図17
中の1100は8ビットCLAである。図18は、1個
の8ビットCLAの詳細構成を示す回路図である。図1
8中の1200は4ビットCLAであり、その回路を示
している。
【0029】以上のとおり、図1に示した乗算装置を採
用することにより、第1の従来例に対し部分積を生成す
る際にペアとなる部分積の符号から他方の部分積の各ビ
ットの符号が互いに逆にするような論理回路が不要にな
り、乗算を高速化できると共にPG生成分に相当する回
路を削減できる。
【0030】図19は、本発明に係る乗算装置の他の構
成例を示すブロック図である。図19の例は、第1の部
分積加算手段170と第2の部分積加算手段180とが
第3冗長2進加算器によって構成されるものであり、該
第3冗長2進加算器は値「1」の重みを持つビットと値
「−1」の重みを持つビットとの2ビットで表現される
冗長2進数を出力する。
【0031】図14に示すとおり、Qiは値「−1」の
重みを持つビットであり、Vi-1は値「1」の重みを持
つビットである。そこで、図7に示してある第1冗長2
進加算器600の準中間キャリー生成手段701の出力
Viを1桁上位のビットの値「1」の重みを持つビット
として出力し、準中間和生成手段702の出力Qiを値
「−1」の重みを持つビットとして出力することによ
り、値「1」の重みを持つビットと値「−1」の重みを
持つビットとの2ビットで表現される冗長2進数表現を
実現できる。
【0032】図20は、図19中の第1の部分積加算手
段170の内部構成を示すブロック図である。図20中
の1400は第3冗長2進加算器である。
【0033】図21は、図20中の第3冗長2進加算器
1400の内部構成を示すブロック図である。図22
は、同第3冗長2進加算器1400の詳細構成を示す回
路図である。
【0034】図23は、図19中の第2の部分積加算手
段180の内部構成を示すブロック図であり、第3冗長
2進加算器1400がツリー状に構成される。
【0035】図19中のPG生成手段150の1ビット
あたりの構成は図16に示したものと同じであり、出力
Qiを図16のSi-1に入力し、出力Vi-1を図16のAi
に入力すればよい。
【0036】以上のとおり、図19に示した乗算装置を
採用することにより、第2の従来例に対し最大遅延経路
から数表現変換手段を省くことができ、高速に乗算を実
行できる。
【0037】図24は、本発明に係る乗算装置の更に他
の構成例を示すブロック図である。図24の例は、第1
の部分積加算手段190と第2の部分積加算手段195
とを構成する冗長2進加算器の中で、部分積加算の最終
段を構成する冗長2進加算器の出力が加算結果から求め
られたキャリー生成関数及びキャリー伝播関数であるこ
とが特徴である。以上のことから、図1におけるPG生
成手段150を省くことができる。
【0038】図14に示すとおり、Qiは値「−1」の
重みを持つビットであり、Vi-1は値「1」の重みを持
つビットである。そこで、1桁下位から入力されるVi-
1とQiの反転との論理積を取ることによりキャリー生成
関数Giを生成し、1桁下位から入力されるVi-1とQi
の反転との論理和を取ることによりキャリー伝播関数P
iを生成することができる。
【0039】図25は、図24中の第1の部分積加算手
段190の内部構成を示すブロック図である。図25中
の1900は、4データ入力1データ出力の第4冗長2
進加算器であって、加算結果からキャリー生成関数とキ
ャリー伝播関数とを生成し出力する。
【0040】図26は、図25中の第4冗長2進加算器
1900の内部構成を示すブロック図である。図27
は、同第4冗長2進加算器1900の詳細構成を示す回
路図である。
【0041】図28は、図24中の第2の部分積加算手
段195の内部構成を示すブロック図である。2200
は加算結果からキャリー生成関数とキャリー伝播関数と
を生成し出力する従来同様の冗長2進加算器である。
【0042】以上のとおり、図24に示した乗算装置を
採用することにより、データの冗長2進・2進変換にキ
ャリールックアヘッド加算器を用いる際にキャリー生成
関数とキャリー伝播関数とを生成する手段が不要にな
り、乗算を高速化できると共にPG生成分に相当する回
路を削減できる。
【0043】なお、上記各例では、部分積を生成するた
めに、第1の部分積生成手段110において、乗数エン
コード結果の符号ビットが0の場合には被乗数の正転を
選択し、符号ビットが1の場合には被乗数の反転を選択
している。また、第2の部分積生成手段111におい
て、乗数エンコード結果の符号ビットが0の場合には被
乗数の反転を選択し、符号ビットが1の場合には被乗数
の正転を選択している。ただし、乗数エンコード手段1
00の符号ビットを反転し、エンコード結果が正の値を
取り得る場合には符号ビットを1にし、エンコード結果
が負の値を取り得る場合には符号ビットを0にする符号
反転乗数エンコード手段を用いることにより、第2の部
分積生成手段111を第1の部分積生成手段110に置
き換えることができる。すなわち、第1の部分積生成手
段110において、符号反転乗数エンコード手段のエン
コード結果の符号ビットが0の場合には被乗数の正転を
選択し、符号ビットが1の場合には被乗数の反転を選択
することにより、前記乗数エンコード手段100と前記
第2の部分積生成手段111とにより生成される部分積
と同じ部分積を生成することができる。
【0044】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、部分積加算手段において乗数エンコード結果の符号
と同一の符号重みを持つ2つの部分積と、乗数エンコー
ド結果の符号とは逆の符号重みを持つ2つの部分積との
加算を行い、1つの冗長2進数データを加算結果として
出力することとしたので、部分積加算の前準備のための
手段が不必要となり、乗算処理の高速化が達成される。
【図面の簡単な説明】
【図1】本発明に係る乗算装置の構成例を示すブロック
図である。
【図2】図1中の乗数エンコード手段の内部構成を示す
ブロック図である。
【図3】図1中の第1の部分積生成手段の内部構成を示
すブロック図である。
【図4】図1中の第2の部分積生成手段の内部構成を示
すブロック図である。
【図5】図1の乗算装置における乗算処理を説明するた
めの図である。
【図6】図1中の第1の部分積加算手段の内部構成を示
すブロック図である。
【図7】図6中の1個の冗長2進加算器の内部構成を示
すブロック図である。
【図8】図7の冗長2進加算器の詳細構成を示す回路図
である。
【図9】図7におけるWi,Vi,Qiの選択則を示す図
である。
【図10】入力データの組み合わせによる中間和の値を
示す図である。
【図11】Wiの選択則を示す図である。
【図12】Viの選択則を示す図である。
【図13】Qiの選択則を示す図である。
【図14】出力和の選択則を示す図である。
【図15】図1中の第2の部分積加算手段の内部構成を
示すブロック図である。
【図16】図1中のPG生成手段の内部構成を示すブロ
ック図である。
【図17】図1中の最終加算手段の内部構成を示すブロ
ック図である。
【図18】図17中の1個の8ビットCLAの詳細構成
を示す回路図である。
【図19】本発明に係る乗算装置の他の構成例を示すブ
ロック図である。
【図20】図19中の第1の部分積加算手段の内部構成
を示すブロック図である。
【図21】図20中の1個の冗長2進加算器の内部構成
を示すブロック図である。
【図22】図21の冗長2進加算器の詳細構成を示す回
路図である。
【図23】図19中の第2の部分積加算手段の内部構成
を示すブロック図である。
【図24】本発明に係る乗算装置の更に他の構成例を示
すブロック図である。
【図25】図24中の第1の部分積加算手段の内部構成
を示すブロック図である。
【図26】図25中の1個の冗長2進加算器の内部構成
を示すブロック図である。
【図27】図26の冗長2進加算器の詳細構成を示す回
路図である。
【図28】図24中の第2の部分積加算手段の内部構成
を示すブロック図である。
【符号の説明】
100 乗数エンコード手段 110 第1の部分積生成手段 111 第2の部分積生成手段 120 第1の部分積加算手段 130 第2の部分積加算手段 140 冗長2進・2進変換手段 150 PG生成手段 160 最終加算手段 170 第1の部分積加算手段 180 第2の部分積加算手段 190 第1の部分積加算手段 195 第2の部分積加算手段 200 1エンコード値当たりの乗数エンコード回路 300 1ビット当たりの部分積生成回路 301 補正項生成回路 600 第1冗長2進加算器 700 正負判定手段 701 準中間キャリー生成手段 702 準中間和生成手段 703 和生成手段 900 第2冗長2進加算器 1000 1ビット当たりのPG生成回路 1100 8ビットCLA 1200 4ビットCLA 1400 第3冗長2進加算器 1900 第4冗長2進加算器 2000 PG出力手段 2200 第5冗長2進加算器

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 各々複数桁からなる被乗数と乗数との乗
    算を行う乗算装置であって、 前記被乗数及び乗数から、各ビットがそれぞれ定まった
    正負重みを持つように複数の部分積を生成するための部
    分積生成手段と、 各々前記部分積生成手段により生成された複数の部分積
    のうちの正の重みを持つ2つのデータと負の重みを持つ
    2つのデータとの加算を行い、1つの冗長2進数データ
    を加算結果として出力するための複数の手段を有する第
    1の部分積加算手段と、 前記第1の部分積加算手段の出力から2進数データに変
    換された乗算結果を生成し出力するための出力手段とを
    備えたことを特徴とする乗算装置。
  2. 【請求項2】 請求項1記載の乗算装置において、 前記部分積生成手段は、 前記乗数を複数ビット毎にエンコードするための乗数エ
    ンコード手段と、 前記被乗数から、前記乗数エンコード手段のエンコード
    結果の符号と同一の符号重みを持つように部分積を生成
    するための第1の部分積生成手段と、 前記被乗数から、前記乗数エンコード手段のエンコード
    結果の符号とは逆の符号重みを持つように部分積を生成
    するための第2の部分積生成手段とを備え、 前記第1の部分積加算手段は、 各々前記第1の部分積生成手段により生成された部分積
    のうちの2つと、前記第2の部分積生成手段により生成
    された部分積のうちの2つとの加算を行い、1つの冗長
    2進数データを加算結果として出力するための複数の手
    段を備え、 前記出力手段は、 前記第1の部分積加算手段から出力された複数の冗長2
    進数データの加算を行い、1つの冗長2進数データを出
    力するための第2の部分積加算手段と、 前記第2の部分積加算手段から出力された冗長2進数デ
    ータを2進数データに変換するための冗長2進・2進変
    換手段とを備えたことを特徴とする乗算装置。
  3. 【請求項3】 請求項2記載の乗算装置において、 前記第1の部分積生成手段は、 前記乗数エンコード手段のエンコード結果が零以外の任
    意の正の数である場合には前記被乗数の任意数倍を出力
    し、 前記乗数エンコード手段のエンコード結果が零以外の任
    意の負の数である場合には前記被乗数の任意数倍に対し
    て、各ビットの論理反転を出力しかつ2の補数化のため
    の補正項を部分積の最下位ビットの位置に出力し、 前記乗数エンコード手段のエンコード結果が零の場合に
    は各ビットに0を出力する機能を備えたことを特徴とす
    る乗算装置。
  4. 【請求項4】 請求項2記載の乗算装置において、 前記第2の部分積生成手段は、 前記乗数エンコード手段のエンコード結果が零以外の任
    意の正の数である場合には前記被乗数の任意数倍に対し
    て、各ビットの論理反転を出力しかつ2の補数化のため
    の補正項を部分積の最下位ビットの位置に出力し、 前記乗数エンコード手段のエンコード結果が零以外の任
    意の負の数である場合には前記被乗数の任意数倍を出力
    し、 前記乗数エンコード手段のエンコード結果が零の場合に
    は各ビットに0を出力する機能を備えたことを特徴とす
    る乗算装置。
  5. 【請求項5】 請求項2記載の乗算装置において、 前記第1の部分積加算手段は、各々同一桁に対して2つ
    の正の重みを持つデータと2つの負の重みを持つデータ
    とを加算し、冗長2進数として結果を出力するための複
    数の第1冗長2進加算器を備え、 前記複数の第1冗長2進加算器の各々は、 正の重みを持つ2つのデータP1,P2と負の重みを持
    つ2つのデータN1,N2との和が正でない状態を示す
    信号Wiを出力するための正負判定手段と、 前記4つのデータP1,P2,N1,N2の加算結果を
    和信号Siとキャリー信号Ciとで定義した場合、1桁下
    位の正負判定手段の出力Wi-1と前記和信号Siとの差と
    して定義された信号Qiを出力するための準中間和生成
    手段と、 同一桁の正負判定手段の出力Wiと前記キャリー信号Ci
    との和として定義された信号Viを出力するための準中
    間キャリー生成手段と、 1桁下位の準中間キャリー生成手段の出力Vi-1と前記
    準中間和生成手段の出力Qiとの差として求められる加
    算結果を、符号ビットと絶対値ビットの2ビットで表現
    された冗長2進数として出力するための和生成手段とを
    有することを特徴とする乗算装置。
  6. 【請求項6】 請求項5記載の乗算装置において、 前記第2の部分積加算手段は、各々符号ビットと絶対値
    ビットとの2ビットで表現された2つの冗長2進数を加
    算し、符号ビットと絶対値ビットとの2ビットで表現さ
    れた1つの冗長2進数を加算結果として出力するための
    複数の第2冗長2進加算器をツリー状に構成してなるこ
    とを特徴とする乗算装置。
  7. 【請求項7】 請求項6記載の乗算装置において、 前記冗長2進・2進変換手段は、 冗長2進数データから各ビット毎にキャリー生成関数と
    キャリー伝播関数とを生成するためのPG生成手段と、 前記PG生成手段の出力であるキャリー生成関数及びキ
    ャリー伝播関数から、求めるべき乗算結果を生成するた
    めの最終加算手段とを備え、 前記PG生成手段は、各ビット毎に絶対値ビットと1ビ
    ット下位の符号ビットの論理反転との論理積により前記
    キャリー生成関数を求め、各ビット毎に絶対値ビットと
    1ビット下位の符号ビットの論理反転との論理和により
    前記キャリー伝播関数を求めることを特徴とする乗算装
    置。
  8. 【請求項8】 請求項2記載の乗算装置において、 前記第1の部分積加算手段は、各々同一桁に対して2つ
    の正の重みを持つデータと2つの負の重みを持つデータ
    とを加算し、冗長2進数として結果を出力するための複
    数の第3冗長2進加算器を備え、 前記複数の第3冗長2進加算器の各々は、 正の重みを持つ2つのデータP1,P2と負の重みを持
    つ2つのデータN1,N2との和が正でない状態を示す
    信号Wiを出力するための正負判定手段と、 前記4つのデータP1,P2,N1,N2の加算結果を
    和信号Siとキャリー信号Ciとで定義した場合、1桁下
    位の正負判定手段の出力Wi-1と前記和信号Siとの差と
    して定義された信号Qiを出力するための準中間和生成
    手段と、 同一桁の正負判定手段の出力Wiと前記キャリー信号Ci
    との和として定義された信号Viを出力するための準中
    間キャリー生成手段とを有し、 前記信号Qiを−1の重みを示す加算出力とし、前記信
    号Viを1桁上位の+1の重みを示す加算出力とするこ
    とを特徴とする乗算装置。
  9. 【請求項9】 請求項8記載の乗算装置において、 前記第2の部分積加算手段は、前記第3冗長2進加算器
    と同様の複数の冗長2進加算器をツリー状に構成してな
    ることを特徴とする乗算装置。
  10. 【請求項10】 請求項9記載の乗算装置において、 前記冗長2進・2進変換手段は、 冗長2進数からキャリー生成関数とキャリー伝播関数と
    を生成するためのPG生成手段と、 前記PG生成手段の出力であるキャリー生成関数及びキ
    ャリー伝播関数から、求めるべき乗算結果を生成するた
    めの最終加算手段とを備え、 前記PG生成手段は、各ビット毎に値「1」の重みを示
    すビットと値「−1」の重みを示すビットの論理反転と
    の論理積により前記キャリー生成関数を求め、各ビット
    毎に値「1」の重みを示すビットと値「−1」の重みを
    示すビットの論理反転との論理和により前記キャリー伝
    播関数を求めることを特徴とする乗算装置。
  11. 【請求項11】 各々複数桁からなる被乗数と乗数との
    乗算を行う乗算装置であって、 前記被乗数及び乗数から、各ビットがそれぞれ定まった
    正負重みを持つように複数の部分積を生成するための部
    分積生成手段と、 各々前記部分積生成手段により生成された複数の部分積
    のうちの正の重みを持つ2つのデータと負の重みを持つ
    2つのデータとの加算を行い、1つの冗長2進数データ
    を加算結果として出力するための複数の手段と、各々キ
    ャリー生成関数とキャリー伝播関数とを生成し出力する
    ための複数の手段とを有し、あるいは各桁の加算すべき
    データの個数が4個を上限とする場合には前記キャリー
    生成関数とキャリー伝播関数とを生成し出力するための
    複数の手段のみを有する第1の部分積加算手段と、 前記第1の部分積加算手段の出力から2進数データに変
    換された乗算結果を生成し出力するための出力手段とを
    備えたことを特徴とする乗算装置。
  12. 【請求項12】 請求項11記載の乗算装置において、 前記部分積生成手段は、 前記乗数を複数ビット毎にエンコードするための乗数エ
    ンコード手段と、 前記被乗数から、前記乗数エンコード手段のエンコード
    結果の符号と同一の符号重みを持つように部分積を生成
    するための第1の部分積生成手段と、 前記被乗数から、前記乗数エンコード手段のエンコード
    結果の符号とは逆の符号重みを持つように部分積を生成
    するための第2の部分積生成手段とを備え、 前記第1の部分積加算手段は、 各々前記第1の部分積生成手段により生成された部分積
    のうちの2つと、前記第2の部分積生成手段により生成
    された部分積のうちの2つとの加算を行い、1つの冗長
    2進数データを加算結果として出力するための複数の手
    段と、各々キャリー生成関数とキャリー伝播関数とを生
    成し出力するための複数の手段とを備え、あるいは各桁
    の加算すべきデータの個数が4個を上限とする場合には
    前記キャリー生成関数とキャリー伝播関数とを生成し出
    力するための複数の手段のみを備え、 前記出力手段は、 前記第1の部分積加算手段から出力された複数の冗長2
    進数データの加算を行い、1組のキャリー生成関数及び
    キャリー伝播関数を出力するための第2の部分積加算手
    段と、 前記第1の部分積加算手段及び前記第2の部分積加算手
    段から出力されたキャリー生成関数とキャリー伝播関数
    とから、2進数データに変換された乗算結果を生成し出
    力するための最終加算手段とを備えたことを特徴とする
    乗算装置。
  13. 【請求項13】 請求項12記載の乗算装置において、 第1の部分積加算手段は、 各々同一桁に対して2つの正の重みを持つデータと2つ
    の負の重みを持つデータとを加算し、冗長2進数として
    結果を出力するための複数の第1冗長2進加算器と、 各々2つの正の重みを持つデータと2つの負の重みを持
    つデータを加算し、キャリー生成関数及びキャリー伝播
    関数として結果を出力するための複数の第4冗長2進加
    算器とを備え、 前記複数の第1冗長2進加算器の各々は、 正の重みを持つ2つのデータP1,P2と負の重みを持
    つ2つのデータN1,N2との和が正でない状態を示す
    信号Wiを出力するための正負判定手段と、 前記4つのデータP1,P2,N1,N2の加算結果を
    和信号Siとキャリー信号Ciとで定義した場合、1桁下
    位の正負判定手段の出力Wi-1と前記和信号Siとの差と
    して定義された信号Qiを出力するための準中間和生成
    手段と、 同一桁の正負判定手段の出力Wiと前記キャリー信号Ci
    との和として定義された信号Viを出力するための準中
    間キャリー生成手段と、 1桁下位の準中間キャリー生成手段の出力Vi-1と前記
    準中間和生成手段の出力Qiとの差として求められる加
    算結果を、符号ビットと絶対値ビットの2ビットで表現
    された冗長2進数として出力するための和生成手段とを
    有し、 前記複数の第4冗長2進加算器の各々は、 前記信号Wiを出力するための正負判定手段と、 前記信号Qiを出力するための準中間和生成手段と、 前記信号Viを出力するための準中間キャリー生成手段
    と、 前記準中間和生成手段の出力Qiの反転信号と1桁下位
    の前記準中間キャリー生成手段の出力Vi-1との論理積
    をキャリー生成関数GOとし、前記準中間和生成手段の
    出力Qiの反転信号と1桁下位の前記準中間キャリー生
    成手段の出力Vi-1との論理和をキャリー伝播関数PO
    として生成するためのPG出力手段とを有することを特
    徴とする乗算装置。
  14. 【請求項14】 請求項13記載の乗算装置において、 前記第2部分積加算手段は、 各々符号ビットと絶対値ビットとで表現された冗長2進
    数の2つを加算し、符号ビットと絶対値ビットとの2ビ
    ットで表現された1つの冗長2進数を加算結果として出
    力するための複数の第2冗長2進加算器と、 各々符号ビットと絶対値ビットとの2ビットで表現され
    た2つの冗長2進数を加算し、該加算の結果からキャリ
    ー生成関数とキャリー伝播関数とを求め出力するための
    複数の第5冗長2進加算器とを備え、 前記第2冗長2進加算器と前記第5冗長2進加算器とが
    ツリー状に構成され、かつ該ツリー構成の最終段に前記
    第5冗長2進加算器が配置されたことを特徴とする乗算
    装置。
JP16573397A 1997-06-23 1997-06-23 冗長2進加算器を用いた乗算装置 Withdrawn JPH1115641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16573397A JPH1115641A (ja) 1997-06-23 1997-06-23 冗長2進加算器を用いた乗算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16573397A JPH1115641A (ja) 1997-06-23 1997-06-23 冗長2進加算器を用いた乗算装置

Publications (1)

Publication Number Publication Date
JPH1115641A true JPH1115641A (ja) 1999-01-22

Family

ID=15818052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16573397A Withdrawn JPH1115641A (ja) 1997-06-23 1997-06-23 冗長2進加算器を用いた乗算装置

Country Status (1)

Country Link
JP (1) JPH1115641A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100420410B1 (ko) * 2001-05-02 2004-03-04 주식회사 하이닉스반도체 리던던트 바이너리 연산을 이용한 실수-복소수 승산기
US11630997B2 (en) 2018-01-23 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus with bit-serial data processing of a neural network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100420410B1 (ko) * 2001-05-02 2004-03-04 주식회사 하이닉스반도체 리던던트 바이너리 연산을 이용한 실수-복소수 승산기
US11630997B2 (en) 2018-01-23 2023-04-18 Samsung Electronics Co., Ltd. Method and apparatus with bit-serial data processing of a neural network
US11880768B2 (en) 2018-01-23 2024-01-23 Samsung Electronics Co., Ltd. Method and apparatus with bit-serial data processing of a neural network

Similar Documents

Publication Publication Date Title
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
JP3244506B2 (ja) 小型乗算器
US5280439A (en) Apparatus for determining booth recoder input control signals
US5426598A (en) Adder and multiplier circuit employing the same
JP2000259394A (ja) 浮動小数点乗算器
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
JPH064271A (ja) 乗算器
JP3436994B2 (ja) シフト装置
US4628472A (en) Binary multiplier using ternary code
US4677583A (en) Apparatus for decimal multiplication
KR100413529B1 (ko) 잉여 이진수 연산을 채택한 디지털 곱셈 장치 및 방법
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH09231055A (ja) 論理演算回路及びキャリールックアヘッド加算器
EP0361886B1 (en) Improved floating point computation unit
JPH09222991A (ja) 加算方法および加算器
JPH08314697A (ja) 符号付き/符号なし数兼用乗算器
JPH1115641A (ja) 冗長2進加算器を用いた乗算装置
JPH056263A (ja) 加算器およびその加算器を用いた絶対値演算回路
EP0326414A2 (en) High speed multiplier
JP3071607B2 (ja) 乗算回路
JP2991788B2 (ja) 復号器
JP2606326B2 (ja) 乗算器
Reddy et al. A high speed, high Radix 32-bit Redundant parallel multiplier
JP2606339B2 (ja) 乗算器

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040907