JPS62120535A - 並列乗算器 - Google Patents

並列乗算器

Info

Publication number
JPS62120535A
JPS62120535A JP60260665A JP26066585A JPS62120535A JP S62120535 A JPS62120535 A JP S62120535A JP 60260665 A JP60260665 A JP 60260665A JP 26066585 A JP26066585 A JP 26066585A JP S62120535 A JPS62120535 A JP S62120535A
Authority
JP
Japan
Prior art keywords
rounding
output
circuit
multiplier
carry
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
Application number
JP60260665A
Other languages
English (en)
Inventor
Masao Iida
飯田 政雄
Giichi Mori
森 義一
Toshio Jiyufuku
寿福 利夫
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP60260665A priority Critical patent/JPS62120535A/ja
Publication of JPS62120535A publication Critical patent/JPS62120535A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は固定小数点演算形式の並列乗算器、特に任意の
ビット位置で丸めた所定語長の丸め演算結果を出力する
並列乗算器に関するものである。
(従来の技術) 従来、このような分野の技術としては、掘越監訳「コン
ピュータの高速演算方式」 (昭57−8−1)、近代
科学社P、16吋17Elに記載されるものがあった。
以下、その構成を図を用いて説明する。
第2図は従来の並列乗算器における乗算回路の回路図で
ある。この並列乗算器は符号なし2進数で5ビツト(b
it)の被乗数A(a4a3a2 al ao)と乗数
B(ha b3b2b+ bo)とを乗算する。乗算回
路工はアレイ方式であり、被乗数Aと乗数Bの各ピッ)
 ai、bjの論理積を演算する論理績ゲート2と、こ
れらの論理積ゲート2の出力である部分積aLbJを加
算する半加算器(HA)to〜13、全加算器(FA)
20〜23.30〜33.40〜43.50〜53とが
設けられている。論理積ゲート2は、被乗数Aと乗数B
がそれぞれ5ビツトであるから、 5X5 =25個設
けられている。半加算器()IA)10〜13、及び全
加算器(FA)20〜23.30〜33.40〜43.
50〜53は第2図に示すように、論理積ゲート2の出
力ai、bjを逐次加算してlOビットの乗算結果P(
pe pp p6 P5 pa P3 P2 PI P
G)が得られるようにアレイ状に構成されている。
ここで、半加算器(HA)10〜13は2個の入力Ai
、Ciを加算して和である和出力Soとけた上げ信号で
あるキャリー出力Goを出力するので、第3図(a)に
示す記号で表わされる。実際の回路は第3図(b)に示
すように入力Ai、Ciをそれぞれ入力する論理績ゲー
)AIと排他的論理和ゲートElとで構成され、論理積
ゲー)AIからはキャリー出力coが出力され、排他的
論理和ゲートE1からは和出力SOが出力される。
全加算器(FA)20〜53は3個のAi、Bi 、G
iを加算した和である和出力Soとけた上げ信号である
キャリー出力Goを出力するもので、第4図(a)で示
す記号で表わされる。実際の回路は第4図(b)に示す
ように、3つの論理積ゲー) A2.A3.A4と2つ
の排他的論理和ゲートE2.E3で構成されている。入
力Ai、Biは、論理積ゲートA2および排他的論理和
ゲートE2に入力される。この排他的論理和ゲートE2
の出力と入力Ciは、論理積ゲー)A3および排他的論
理和ゲー)E3に入力される。この排他的論理和ゲー)
E3からは和出力SOが出力される。論理積ゲートA2
およびA3の出力は論理積ゲートA4に入力され、この
論理積ゲー)A4からキャリー出力Coが出力される。
このような半加算器(HA)、全加算器(FA)を用い
て構成された乗算回路を用いて5ビツトの被乗数Aと乗
数Bとを乗算すると、前記のように、2倍のビット数で
ある10ビツトもの乗算結果Pが得られる。しかしlO
ビットの乗算結果が必要ない場合には所定のビット位置
で丸め処理をおこない、必要な語長の演算結果を得るよ
うにすればよい。特に乗数、被乗数と同じ語長の乗算結
果が必要な場合には、第2図に示すように全加算器40
の出力を次段の前加算器50に入力する結線Mを接続す
るだけでよく、簡単な構成で実現できる。
また被乗数と乗数のビット数が増大すると、乗算時間が
ビット数の自乗に比例して長くなる。したがって乗算時
間を短縮するために、被乗数または乗数を分割して乗算
することがおこなわれている。例えば、乗数A、被乗数
Bが共に20ビツトの場合1乗数Aを3分割して下位か
ら7ビツト、7ビツト、6ビツトとし、分割した乗数A
の各部分と被乗数Bとを第2図に示すような乗算回路l
を用いてそれぞれ乗算し、第5図に示すような3つの部
分積■、■、■を得る。これら部分積はそれぞれ■20
ビット×7ビツトで27ビツト、■20ビット×7ビツ
トで27ビツト、■20ビット×6ビツトで26ビツト
となる。これら部分積■。
■、■は多入力のキャリーセーブ加算回路3により各ビ
ット毎に加算され、さらにキャリーセーブ加算回路3の
出力は2人力加算回路4により各ビット毎に加算され4
0ビツトの乗算結果Pが得られる。この乗算結果Pを丸
め処理して任意の語長にしたい場合には、丸め用データ
をこの乗算結果Pの所定ビットに加算し、丸め出力を得
るようにしている。
(発明が解決しようとする問題点) しかしながら、上記構成の並列乗算器では次のような問
題点があった。
第2図に示すような並列乗算器の場合、乗数A、被乗数
Bと同じ語長の乗算結果を得たいときには、前述のよう
に、ひとつの結線Mを設けるだけでよいが、取り出した
い乗算結果Pの語長が被乗数A、乗数Bの語長と一致し
ない場合は。
第2図に示す最上段の半加算器(HA)30〜33のう
ち丸め処理をおこないたいビット位置の半加算器(HA
)を全加算器(FA)にして、増加した入力に固定デー
タ“I IIを入力することが考えられる。しかしこの
場合は乗算回路1の規則性がくずれるため、集積回路化
するために適さないという問題があった。
また、第5図に示すように乗数Aまたは被乗数Bを分割
する場合、第2図のように乗算結果を丸め処理して丸め
出力を得ることはできるが、丸め処理した結果を乗算出
力Pとして得ることは、丸め出力の語長が乗数、被乗数
と一致するか否かにかかわらず、任意の語長に対しては
処理が複雑で困難であるという問題があった。
本発明は前記従来技術が持っていた問題点のうち、丸め
処理が任意の語長に対してできないという点、および丸
め加算用の加算回路の規則性がくずれ集積回路化に適さ
ない点について解決した並列乗算器を提供するものであ
る。
C問題点番解決するための手段) 本発明は前記問題点を解決するために、並列乗算器おい
て、予め定められた丸めビット位置に丸め用データを出
力する丸め用データ出力回路を設け、この丸め用データ
出力回路からの丸め用データを、部分積を出力する部分
積乗算器の出力とともにキャリーセーブ加算回路に入力
したものである。
(作 用) 本発明によれば、以上のように並列乗算器を構成したの
で、キャリーセーブ加算回路の出力は丸め処理されたも
のとなり、このキャリーセーブ加算回路の加算出力およ
びキャリー出力を加算回路により加算することにより、
所望語長の丸め処理された乗算結果が得られる。したが
って、前記問題点を除去できるのである。
(実施例) 第1図(a) 、(b)は本発明の一実施例を示す並列
乗算器の構成ブロック図である。
本実施例も、第5図と同様、乗数A、被乗数Bが20ビ
ツト(bit)であり1乗数Aを7ビツト、7ビツト、
6ビツトに3分割した場合を示している。このような分
割された乗aAと被乗数Bの分割乗算は、従来と同様、
第1図(a)に示すような3つの部分MiIll、11
2,113を得る0部分積111.112,113は、
第2図に示すようなアレイ状の乗算回路lと同様の回路
構成からなる乗算回路110の乗算結果である0部分、
[1111は乗数Aの下位7ビツトと20ビツトの被乗
数Bとの積であり、部分積112は乗OAの中位7ビツ
トと20ビツトの被乗数Bとの精であり、部分積113
は乗数Aの上位6ビツトと20ビツトの被乗数Bとの積
である。
したがって部分積111はOビット位置から26ビツト
位置までの27ビツトの語長であり、部分積112は7
ビツト位置から33ビツト位置までの27ビツトの語長
であり、部分vi113は14ビツト位置から39ビツ
ト位置まで26ビツトの語長である。
部分積111,112,113の各ビット位置ごとのブ
ロックは、各ビット位置における乗算結果を示し、第1
図(b)のように右側の出力端が和出力Soであり、左
側の出力端がキャリー出力Goである0例えば1部分積
111におけるθビット位置から6ビツト位置まではキ
ャリー出力Coがないため、出力端がひとつだけになっ
ている。
これら部分積111,112,113の各ビット位置の
和出力Soおよびキャリー出力Goを各ビットごとにキ
ャリー出力を保存しながら加算するのが、キャリーセー
ブ加算回路114である。キャリーセーブ加算回路11
4は7ビツト位置から39ビツト位置までの33個の単
位キャリーセーブ加算回路で構成されている。Oビット
位置から6ビツト位置まで単位キャリーセーブ加算回路
が設けられていないのは、部分積111の下位7ビツト
におけるキャリー出力Goもなく、加算する必要がない
からである。
7ビツト位置、35〜39ビツト位置には、第6図(a
)に示すような2人カキヤリ−セーブ加算回路が設けら
れている。8〜13ビット位置、34ビット位置には、
第6図(b)に示すような3人カキヤリ−セーブ加算回
路が設けられている。14ビツト位譜、28〜33ビツ
ト位置には、第6図(C)に示すような4人カキヤリ−
セーブ加算回路が設けられている。15〜18ビット位
置、27ビツト位置には、第6図(d)に示すような5
人カキヤリ−セーブ加算回路が設けられている。さらに
、19ビツト位置、 20〜26ビツト位置には、第6
図(e)に示すような6人カキヤリ−セーブ加算回路が
設けられている。
2人カキヤリ−セーブ加算回路は、第6図(a)に示さ
れるようにひとつの半加算器([(A)120で構成さ
れ、半加算器120の和出力がそのビット位置の出力と
なり、キャリー出力が1つ上位のビット位置の出力とな
る。
3人カキヤリ−セーブ加算回路は、第6図(b)に示す
ようにひとつの全加算器(FA)121で構成され、全
加算器121の和出力がそのビット位置の出力となり、
キャリー出力が1つ上位のビット位置の出力となる。
4人カキヤリ−セーブ加算回路は、第6図(c)に示す
ように全加算器122と半加算器123で構成される。
全加算器122の和出力がそのビット位置の出力となる
。全加算器122のキャリー出力はひとつの入力ととも
に半加算器123に入力され、この半加算器123の和
出力は1つ上位のビット位置の出力となり、キャリー出
力は2つ上位のビット位置の出力となる。
5人カキヤリ−セーブ加算回路は、第6ryJ(d)に
示すように全加算器124,125と半加算器12Bと
で構成されている。全加算器124の和出力は2つの入
力とともに全加算器125に入力され、この全加算器1
25の和出力がそのビット位置の出力となる。全加算器
124のキャリー出力と全加算器125のキャリー出力
とは半加算器1213に入力され、この半加算器12B
の和出力は1つ上位のビット位置の出力となり、キャリ
ー出力は2つ上位のビット位置の出力となる。
6人カキヤリ−セーブ加算回路は、第6図(e)に示さ
れるように全加算器127,128,130と半加算器
129とで構成されている。全加算器127の和出力と
全加算器128の和出力は半加算器128に入力され、
この半加算器129の和出力はそのビット位置の出力と
なる。半加算器128のキャリー出力は、全加算器12
7,128のキャリー出力とともに全加算器130に入
力され、この全加算器130の和出力は1つ上位のビッ
ト位置の出力となり、キャリー出力は2つ上位のビット
位置の出力となる。
これらキャリーセーブ加算回路114の出力は、例えば
キャリールックアベッド(CLA)加算回路のような2
人力加算回路115により高速加算される。この2人力
加算回路115により高速加算するためには、キャリー
セーブ加算回路114の各ビット位置の出力を和出力と
キャリー出力の2出力とする必要がある。したがって4
人力、5人力、6人力のキャリーセーブ加算回路は、第
6図(c) 、 (d) 、 (e)の出力に3人力の
全加算器を接続するようにする。乗算結果Pは、この2
人力加算回路115の出力を上位から必要な語長だけと
り出すことにより得られる。
本実施例では丸め用に丸め用データ出力回路tleが設
けられている。この丸め用データ出力回路11Bは丸め
用データ“l”を出力するもので、丸め処理したいビッ
ト位置に入力する。すなわち乗数A、被乗数Bと同じ2
0ビツトの乗算結果を得たい場合には、第1図に示すよ
うに上から21ビツト目、すなわちlθビット位置にこ
の丸め用データを入力する。これにより0捨1人の原理
に基づく2進数の丸め処理が行なわれ、20ビツトの乗
算結果が得られる。
なお、18ビツト位置に丸め用データ出力回路11Bか
らの丸め用データが入力されるため、18ビツト位置の
キャリーセーブ加算回路は、本来5人力だったものが6
人力となっている。
このように本実施例によれば、並列乗算器の部分積を加
算する部分に、丸め処理用の加算回路が吸収された形に
なっている。すなわち丸め処理のために、丸めるビット
位置のキャリーセーブ加算回路の入力がひとつ増加し、
それにより全加算器(または半加算器)がひとつ増加す
るだけである。このため、丸めるビット位置を任意に選
択することができる。またアレイ方式の乗算回路110
を丸め処理のために変更する必要がないので、その回路
110の規則性が維持され、集積回路化しゃすいう利点
がある。
本発明は上記実施例に限定されず、種々の変形が可能で
ある。例えば、乗数、被乗数の語長は同じでなくともよ
く、さらにその乗数また被乗数をいくつに分割してもよ
い。また丸め用データは“O”でもよい。
さらにまた、第1図における複数個のキャリーセーブ加
算回路114において、丸め用データ出力回路11Bか
ら出力される丸め用データを固定値にすると共に、その
固定値が入力される位置、例えば18ビット位置のキャ
リーセーブ加算回路114を、丸め処理用の6人力加算
回路と、丸め処理を行わない5人力加算回路とで構成し
、それら両回路を制御信号により切換えるようにしても
、上記実施例と同様の利点が得られる。
(発明の効果) 以上詳細に説明したように、本発明によれば、予め定め
られたビット位置に丸め用データを入力する丸め用デー
タ出力回路を設け、この丸め用データ出力回路からの丸
め用データを部分積乗算器の出力とともにキャリーセー
ブ加算回路に入力するようにしたので、乗算結果の語長
を任意に選択しても、その語長に対応したビット位置を
丸め処理することができるとともに、乗算回路の規則性
が維持され、集積回路の高集積化が容易になるという効
果が期待でさる。
【図面の簡単な説明】
第1図(a) 、 (b)は本発明の一実施例を示す並
列乗算器の構成ブロック図、第2図は従来の乗算回路の
回路図、第3図(a)、(b)は半加算器の記号図およ
び回路図、第4図(a)、(b)は全加算器の記号図お
よび回路図、第5図は従来の並列乗算器の構成ブロック
図、第6図(a) 、 (b) 、 (c) 、 (d
) 、 (e)はそれぞれ第1図における2人力、3人
力、4人力、5人力、6人力のキャリーセーブ乗算回路
の回路図である。 110・・・・・・乗算回路、111,112,113
・・・・・・部分積。 114・・・・・・キャリーセーブ加算回路、115・
・・・・・2人力加算回路、118・・・・・・丸め用
データ出力回路。 出願人代理人   柿  本  恭  成(a)(b) 半加算器 第3図 (a)(b) 全加算器 第4図 1乗置回路 従来の並列乗算器 第5図

Claims (1)

  1. 【特許請求の範囲】 固定小数点表示された乗数を所定ビット位置で分割して
    得られた該乗数の各部分と固定小数点表示された被乗数
    とを乗算して部分積を発生する複数の部分積乗算器と、 予め定められた丸めビット位置に丸め用データを出力す
    る丸め用データ出力回路と、 前記部分積乗算器から発生された複数の部分積と前記丸
    め用データ出力回路から出力された丸め用データとを各
    ビット毎にキャリー出力を保存しながら加算する複数の
    キャリーセーブ加算回路と、 これらキャリーセーブ加算回路からの加算出力およびキ
    ャリー出力を各ビット毎に加算する加算回路とを備え、 前記加算回路の、前記丸めビット位置より上位の加算結
    果を丸め乗算結果として出力する並列乗算器。
JP60260665A 1985-11-20 1985-11-20 並列乗算器 Pending JPS62120535A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60260665A JPS62120535A (ja) 1985-11-20 1985-11-20 並列乗算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60260665A JPS62120535A (ja) 1985-11-20 1985-11-20 並列乗算器

Publications (1)

Publication Number Publication Date
JPS62120535A true JPS62120535A (ja) 1987-06-01

Family

ID=17351064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60260665A Pending JPS62120535A (ja) 1985-11-20 1985-11-20 並列乗算器

Country Status (1)

Country Link
JP (1) JPS62120535A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6453228A (en) * 1987-08-24 1989-03-01 Mitsubishi Electric Corp Logic circuit for multiplier
JPH01193929A (ja) * 1988-01-29 1989-08-03 Oki Electric Ind Co Ltd 丸め処理方式
US5500812A (en) * 1993-06-14 1996-03-19 Matsushita Electric Industrial Co., Ltd. Multiplication circuit having rounding function

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5582354A (en) * 1978-12-06 1980-06-21 American Micro Syst Digital multiplier

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5582354A (en) * 1978-12-06 1980-06-21 American Micro Syst Digital multiplier

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6453228A (en) * 1987-08-24 1989-03-01 Mitsubishi Electric Corp Logic circuit for multiplier
JPH01193929A (ja) * 1988-01-29 1989-08-03 Oki Electric Ind Co Ltd 丸め処理方式
US5500812A (en) * 1993-06-14 1996-03-19 Matsushita Electric Industrial Co., Ltd. Multiplication circuit having rounding function

Similar Documents

Publication Publication Date Title
US3814924A (en) Pipeline binary multiplier
US6233597B1 (en) Computing apparatus for double-precision multiplication
US5325320A (en) Area efficient multiplier for use in an integrated circuit
Muralidharan et al. Radix-4 and radix-8 booth encoded multi-modulus multipliers
JPS60163128A (ja) 乗算回路
Chen et al. Efficient modulo 2n+ 1 multipliers for diminished-1 representation
US5343417A (en) Fast multiplier
US20040153489A1 (en) Multiply execution unit for preforming integer and XOR multiplication
US6285300B1 (en) Apparatus and method for reducing power and noise through reduced switching recording in logic devices
JPS595349A (ja) 加算器
JPH03116326A (ja) 高速並列乗算器回路
US5721697A (en) Performing tree additions via multiplication
Tolba et al. FPGA realization of ALU for mobile GPU
Nautiyal et al. Implementation of an ALU using modified carry select adder for low power and area-efficient applications
EP0670061B1 (en) Enhanced fast multiplier
JPS62120535A (ja) 並列乗算器
EP0543024B1 (en) Divider
US6202078B1 (en) Arithmetic circuit using a booth algorithm
US6460064B1 (en) Multiplier for operating n bits and n/2 bits and method therefor
Karthik et al. Design and implementation of 64 bit high speed vedic multiplier
US3222506A (en) Variable radix adder and subtractor
US3462589A (en) Parallel digital arithmetic unit utilizing a signed-digit format
JPH10111791A (ja) 除算装置
JPH10198552A (ja) 乗算器
Issa et al. High Precision Binary Coded Decimal (BCD) unit for 128-bit addition