JP2002157114A - 乗算器及びそれを搭載した集積回路装置 - Google Patents

乗算器及びそれを搭載した集積回路装置

Info

Publication number
JP2002157114A
JP2002157114A JP2000357617A JP2000357617A JP2002157114A JP 2002157114 A JP2002157114 A JP 2002157114A JP 2000357617 A JP2000357617 A JP 2000357617A JP 2000357617 A JP2000357617 A JP 2000357617A JP 2002157114 A JP2002157114 A JP 2002157114A
Authority
JP
Japan
Prior art keywords
multiplier
partial
booth
partial product
bits
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
JP2000357617A
Other languages
English (en)
Inventor
Tetsuya Yamada
哲也 山田
Fumio Arakawa
文男 荒川
Kenji Nagata
憲二 永田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000357617A priority Critical patent/JP2002157114A/ja
Publication of JP2002157114A publication Critical patent/JP2002157114A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】符号付乗算で4−2コンプレッサの完全木を構
成する乗算器を提供する。 【解決手段】二次のブースデコードにより部分積を構成
する符号付乗算器に対し、ブースセレクタ部101にブ
ースデコード出力を入力とし部分積を補正する部分積補
正回路103を設けることにより、部分積数が削減さ
れ、4−2コンプレッサ104により二分木構成の部分
積加算を行うことができる。そして部分積加算結果を桁
上げ伝搬加算105することにより乗算結果を得る。特
に、8ビット、16ビット、32ビットのとき4−2コ
ンプレッサの完全二分木を構成できるため、従来の3−
2加算器を用いる構成に比べ、2段直列の3−2加算器
と4−2コンプレッサの遅延時間の差の分だけ高速化が
可能である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は乗算器に関し、特に
集積回路を用いて構成される2進数乗算器に関する。
【0002】
【従来の技術】高速乗算器には一般に二次のブースアル
ゴリズムが使用される。部分積の個数が半分になること
で加算器の個数を減少させることができ、回路規模の削
減と演算の高速化が可能である。
【0003】図2に従来の2次のブースアルゴリズムを
用いた乗算器の構成の一例を示す。MSBを符号とする 16×16ビットの符号付乗算を行う。16ビットの乗
数の隣接する3ビットを2次のブースデコーダ202に
てデコードする。デコード結果に従って被乗数はブース
セレクタ203にて9個の部分積が生成される。生成さ
れた部分積は、1段目は3個の3−2加算器203、2
段目に2個の3−2加算器、3段目に1個の4−2コン
プレッサ204を使用することにより桁上げ保存形式で
加算される。桁上げを伝搬させるための最終加算は桁上
げ伝搬加算器205にて行う。符号付乗算のため、符号
位置を合わせるために左シフタ206にて1ビット左シ
フトし、最下位桁を0として乗算結果を得る。
【0004】4−2コンプレッサに関しては、文献(”
A 4.4ns CMOS 54×54−bMulti
plier Using Pass−Transist
orMultiplexer” N.Ohkubo e
t.al,IEEE Journal of Soli
d−State Circuits,Vol.30,N
o.3,March,1995)にパストランジスタを
用いた乗算器の構成例が示される。図3に上記文献の高
速4−2コンプレッサを示す。
【0005】この4−2コンプレッサは、4つのEOR
ゲートと2つのマルチプレクサから構成される。EOR
ゲートはパストランジスタのマルチプレクサで構成さ
れ、1段の遅延である。4−2コンプレッサは2つの3
−2加算器から構成されるが、並列に演算させることに
より、通常の4−2コンプレッサより1段少なく、最大
遅延は3段である。高速4−2コンプレッサを用いるこ
とにより乗算器を高速化できる。
【0006】図4にMSBを符号とする8×8ビットの
2次のブースを用いた乗算アルゴリズムを示す。4個の
8ビットの部分積、符号拡張を圧縮したビット~s0、~s
1、~s2、~s3と負数の2の補数演算用のビットinv
0、inv1、inv2、inv3から構成される。i
nv3の列[7]に着目すると、部分積数が5段あるた
め、全体として部分積5段の加算が必要となる。このと
き、3−2加算器と4−2コンプレッサを用いて部分積
の加算を行う。入力と出力の符号位置を揃えるために、
乗算後に1ビット左シフトし、演算結果を得る。
【0007】
【発明が解決しようとする課題】図4の8×8ビットの
乗算アルゴリズムでは、[7]にinv3、[9]に
“1”、[10]に“1”があるために部分積数が5段
となっている。“1”に関しては符号拡張の圧縮を行わ
ない場合は不要であるが、inv3が必要であるために
部分積数を減らすことができない。
【0008】被乗数を入力とするブースセレクタを補正
する部分積補正回路によって、部分積の第5項を不要と
すれば、4個の部分積を4−2コンプレッサで加算する
ことが可能となり、高速化できる。
【0009】そこで本発明の目的は、ブースセレクタを
補正し、部分積の数を削減する部分積補正回路を提案
し、4−2コンプレッサによる部分積の二分木構造を持
つ乗算器を提供することである。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものを説明すると次の通りである。
すなわち、被乗数と乗数で乗算を行う乗算器において、
乗数を入力とするブースデコーダと、被乗数とブースデ
コーダ出力を入力とし部分積を生成するブースセレクタ
と、被乗数を入力とし部分積数を削減するために用いる
部分積補正手段と、部分積を二分木の形式で加算するた
めの4−2コンプレッサと、桁上げ保存形式で出力され
た前記4−2コンプレッサ出力の桁上げ伝搬を行う桁上
げ伝搬手段を有する乗算器である。
【0011】上記のような構成をとることによって4−
2コンプレッサによる部分積の二分木構造を持つ乗算器
を実現できる。
【0012】
【発明の実施の形態】本発明での第一の実施例を図1に
示す。図1は部分積補正回路を持ち、MSBを符号とす
る16×16ビットの符号付乗算器のブロック図を示し
ている。16ビットの乗数の隣接する3ビットを2次の
ブースデコーダ102にてデコードする。デコード結果
と被乗数はブースセレクタ101、部分積補正回路10
3に入力され、8個の部分積が生成される。図2に対
し、部分積補正回路により部分積数を9から8に減じて
いる。生成された部分積は、1段目と2段目に4−2コ
ンプレッサ104を使用し、二分木の構造で桁上げ保存
形式で加算される。桁上げを伝搬させるための最終加算
は桁上げ伝搬加算器105にて行う。符号付乗算のた
め、符号位置を合わせるために左シフタ106にて1ビ
ット左シフトし、最下位桁を0として乗算結果を得る。
図2の2段の3−2加算器203を図1では1段の4−
2コンプレッサ104に置き換えることができる。部分
積補正回路を付加することによる遅延の増加については
後述する。
【0013】図5に図1の部分積補正回路を持つ場合に
おけるMSBを符号とする8×8ビットの2次のブース
を用いた乗算アルゴリズムを示す。4個の部分積から構
成される。負数の2の補数演算用のビットinv0、i
nv1、inv2のビット位置を1ビット上位側に置
く。ブースデコード値が−1と−2のとき、すなわち負
数のとき、部分積のLSBと負数の2の補数演算用のビ
ットinv0、inv1、inv2の論理を変更するこ
とにより実現できる。部分積補正回路によって、図4の
ビット位置[7]のinv3、[9]の“1”、[10]の
“1”と部分積p30、p31、p32、p33とが部
分積加算の前に予め加算され、部分積が4個に削減され
ている。補正された部分積は、p40、p41、p4
2、p43、p53、p54の6ビットである。このと
き、部分積は4−2コンプレッサにより加算される。
【0014】次に、図1の第一の実施例を構成する回路
について述べる。
【0015】図6に二次のブースデコーダと、部分積の
LSB以外のブースセレクタ出力を示す。乗数ビットと
して隣接する3ビットa[i+1]、a[i]、a[i
−1]を入力とし、ブースデコーダ出力としてneg、
twice、oneの3ビットを出力する。処理として
は、被乗数に対し0、+b、−b、+2b、−2b、す
なわち0倍、1倍、2倍、−倍の組み合わせを行う。ブ
ースセレクタはLSBは負数の2の補数ビットinvを
変更することに伴い、後述する特殊処理(図11参照)
が必要であるが、他のビットは2倍のときはb[i―
1]、1倍のときはb[i]を選択する。−倍のときは
それぞれ反転値を選択する。
【0016】図7にブースデコーダ回路を示す。図6の
ブースデコード論理に従い、入力は隣接する3ビットa
[i+1]、a[i]、a[i−1]、出力はneg、
twice、oneである。i=0のときa[−1]=
0である。
【0017】図8に符号拡張の圧縮のための拡張符号論
理を示す。図5の[9]の~s0、[11]の~s1、
[13]の~s2、[15]の~s3に相当する。符号は
被乗数のMSBとnegにより部分積の符号が決定され
る。one=twice=0のとき~s=1である。
【0018】図4から図5において負数の2の補数ビッ
トinvを変更する場合には、inv論理の変更(図9
ではinv0)、部分積のLSB論理の変更(図9では
p00)が必要となる。図9にinv論理の変更と部分
積のLSB論理の変更を示す。ブースデコーダの値が正
のときは論理の変更の必要はないが、負のとき2の補数
表現で論理が等価となるよう変更する。ブースデコーダ
出力が−1のとき、~b[0]+1=2~b[0]+b
[0]であるため、inv0=~b[0]、p00=b
[0]とする。ブースデコーダ出力が−2のとき、1+
1=2より、inv0=1、p00=0とする。
【0019】図9の負数の2の補数ビットinv論理を
回路で示した例が図10である。
【0020】図11がブースセレクタ論理を回路で示し
た例である。部分積のLSB以外のビットp1〜p7は
図6の論理に従って構成される。部分積LSBのp0は
図9の論理に従って構成される。
【0021】図12(a)に部分積p30、p31、p
32、p33と、符号拡張圧縮用の1と、負数の2の補
数用ビットinv3において、各ブースデコーダ出力に
おける被除数b〔3〕、b〔2〕、b〔1〕、b
〔0〕
との加算を示す。このとき、各桁は桁上げ伝搬を考慮し
ていない。図12(b)に上記被乗数との加算において
桁上げ伝搬を行い、桁上げ伝搬結果を反映するため、2
ビット追加して6ビットにした加算結果を示す。本補正
論理は、部分積p30、p31、p32、p33に対
し、符号拡張圧縮用の1と、負数の2の補数用ビットi
nv3を加算し桁上げ伝搬した結果を、被乗数値から求
めている。本補正論理を用いることで、符号拡張圧縮用
の1と、負数の2の補数用ビットinv3が不要とな
り、部分積数を5から4に削減する。
【0022】図13に図12(b)部分積補正論理を各
ビットにおいて回路で構成した例を示す。8ビット、1
6ビット、32ビットにおいても補正論理は共通であ
る。各ビットのマルチプレクサの選択信号ze、no、
po、nt、ptはブースデコーダに論理を追加するこ
とにより得られる。被乗数b[0]、b[1]、b
[2]を入力とし、マルチプレクサを上記選択信号で選
択することにより補正論理が生成される。ブースデコー
ダ、ブースセレクタに追加した補正論理は、論理段数は
増加させないが、ファンアウトが大きいため、乗数、被
乗数のドライブ力を上げる必要がある。図では省略して
いるが、乗数、被乗数レジスタのドライブ力を上げるこ
とにより、補正用に追加した論理の遅延時間は増加しな
いですむ。
【0023】本乗算器を用いたマイクロプロセッサの例
として構成図を図14に示す。
【0024】DRAMやSDRAM等のメインメモリ3
01は外部データバス302、外部アドレスバス303
によりマイクロプロセッサ304に接続されている。マ
イクロプロセッサ304は、外部とのデータの授受を行
うバスインタフェースユニット305、命令キャッシュ
306、データキャッシュ307、CPU308から構
成される。尚、上記DRAMやSDRAM等のメインメ
モリは外部に設けるのではなく、マイクロプロセッサ3
04と一緒に1枚の半導体基板内に内蔵されていてもよ
い。その場合は、バス302や303は同一チップ内の
内部バスで構成される。
【0025】CPU308はデータのロード、ストアを
行うロードストアユニット309、レジスタファイル3
10、ALU311、本発明の乗算器312から構成さ
れる。
【0026】
【発明の効果】ブースセレクタを補正し、部分積の数を
削減する部分積補正回路により4−2コンプレッサによ
る部分積の二分木構造を持つ乗算器を実現できる。特
に、8ビット、16ビット、32ビットのとき4−2コ
ンプレッサの完全二分木を構成できるため、従来の3−
2加算器を用いる構成に比べ、2段直列の3−2加算器
と4−2コンプレッサの遅延時間の差の分だけ高速化が
可能である。
【図面の簡単な説明】
【図1】16ビット符号付乗算の第一の実施例のブロッ
ク図。
【図2】16ビット符号付乗算の第一の従来例のブロッ
ク図。
【図3】4−2コンプレッサの回路図。
【図4】8ビット符号付乗算アルゴリズムの第一の従来
例。
【図5】8ビット符号付乗算アルゴリズムの第一の実施
例。
【図6】二次のブースデコーダ、ブースセレクタのアル
ゴリズム。
【図7】ブースデコーダ論理を構成する回路の一実施
例。
【図8】拡張符号論理を構成する回路の一実施例。
【図9】inv位置変更に伴って変更となるinv0と
部分積の加算論理。
【図10】2の補数論理を構成する回路の一実施例。
【図11】ブースセレクタ論理を構成する回路の一実施
例。
【図12】部分積、1、inv3との加算論理とその加
算結果を生成するための部分積補正論理。
【図13】部分積補正論理を構成する回路の一実施例。
【図14】本乗算器を搭載するマイクロプロセッサの一
実施例のブロック図。
【符号の説明】
101、201 ブースセレクタ 102、202 ブースデコーダ 103 部分積補正回路 203 3−2加算器 104、204 4−2コンプレッサ 105、205 桁上げ伝搬加算器 106、206 1ビット左シフタ 301 メインメモリ 302 データバス 303 アドレスバス 304 マイクロプロセッサ 305 バスインタフェースユニット 306 命令キャッシュ 307 データキャッシュ 308 CPU(Central Processin
g Unit) 309 ロードストアユニット 310 レジスタファイル 311 ALU(Arithmetic and Lo
gical Unit) 312 乗算器。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 永田 憲二 東京都小平市上水本町5丁目22番1号 株 式会社日立超エル・エス・アイ・システム ズ内 Fターム(参考) 5B016 AA02 BA06 CA01 CB03 DA04 EA07 FA05

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】被乗数と乗数で乗算を行う乗算器におい
    て、乗数を入力とするブースデコーダと、被乗数とブー
    スデコーダ出力を入力とし部分積を生成するブースセレ
    クタと、被乗数を入力とし部分積数を削減する部分積補
    正手段と、部分積を加算する手段を有することを特徴と
    する乗算器。
  2. 【請求項2】上記乗算器を搭載することを特徴とする請
    求項1記載の集積回路装置。
JP2000357617A 2000-11-20 2000-11-20 乗算器及びそれを搭載した集積回路装置 Pending JP2002157114A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000357617A JP2002157114A (ja) 2000-11-20 2000-11-20 乗算器及びそれを搭載した集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000357617A JP2002157114A (ja) 2000-11-20 2000-11-20 乗算器及びそれを搭載した集積回路装置

Publications (1)

Publication Number Publication Date
JP2002157114A true JP2002157114A (ja) 2002-05-31

Family

ID=18829644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000357617A Pending JP2002157114A (ja) 2000-11-20 2000-11-20 乗算器及びそれを搭載した集積回路装置

Country Status (1)

Country Link
JP (1) JP2002157114A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527064A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド ブース乗算方法及びシステムのための電力効率の良い符号拡張
JP2009527060A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器
US7809783B2 (en) 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
JP2012519914A (ja) * 2009-03-03 2012-08-30 アルテラ コーポレイション 回路のモジュール間に選択的に使用可能な専用連結を有するモジュール式デジタル信号処理回路
CN111966323A (zh) * 2020-08-18 2020-11-20 合肥工业大学 基于无偏压缩器的近似乘法器及计算方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009527064A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド ブース乗算方法及びシステムのための電力効率の良い符号拡張
JP2009527060A (ja) * 2006-02-15 2009-07-23 クゥアルコム・インコーポレイテッド 拡張された削減ツリー回路構成を有するブース乗算器
US7797366B2 (en) 2006-02-15 2010-09-14 Qualcomm Incorporated Power-efficient sign extension for booth multiplication methods and systems
US7809783B2 (en) 2006-02-15 2010-10-05 Qualcomm Incorporated Booth multiplier with enhanced reduction tree circuitry
JP2011222024A (ja) * 2006-02-15 2011-11-04 Qualcomm Incorporated ブース乗算方法及びシステムのための電力効率の良い符号拡張
JP2012089144A (ja) * 2006-02-15 2012-05-10 Qualcomm Inc ブース乗算方法及びシステムのための電力効率の良い符号拡張
JP2012104138A (ja) * 2006-02-15 2012-05-31 Qualcomm Inc 拡張された削減ツリー回路構成を有するブース乗算器
JP2012519914A (ja) * 2009-03-03 2012-08-30 アルテラ コーポレイション 回路のモジュール間に選択的に使用可能な専用連結を有するモジュール式デジタル信号処理回路
CN111966323A (zh) * 2020-08-18 2020-11-20 合肥工业大学 基于无偏压缩器的近似乘法器及计算方法
CN111966323B (zh) * 2020-08-18 2022-09-13 合肥工业大学 基于无偏压缩器的近似乘法器及计算方法

Similar Documents

Publication Publication Date Title
EP3835942B1 (en) Systems and methods for loading weights into a tensor processing block
KR100834178B1 (ko) Mac 연산 방법과 mac 연산을 포함하는 장치, 시스템 및 머신 판독가능한 매체
EP0847551B1 (en) A set of instructions for operating on packed data
US5644522A (en) Method, apparatus and system for multiply rounding using redundant coded multiply result
US6116768A (en) Three input arithmetic logic unit with barrel rotator
JP3573808B2 (ja) 論理演算装置
US5600847A (en) Three input arithmetic logic unit with mask generator
US6058473A (en) Memory store from a register pair conditional upon a selected status bit
US6032170A (en) Long instruction word controlling plural independent processor operations
US6016538A (en) Method, apparatus and system forming the sum of data in plural equal sections of a single data word
JP3729881B2 (ja) 並列加算および平均演算を行うための回路およびその方法
JPS60163128A (ja) 乗算回路
JP3683773B2 (ja) Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット
US5512896A (en) Huffman encoding method, circuit and system employing most significant bit change for size detection
US6844834B2 (en) Processor, encoder, decoder, and electronic apparatus
US6282558B1 (en) Data processing system and register file
GB2262637A (en) Padding scheme for optimized multiplication.
JP2002157114A (ja) 乗算器及びそれを搭載した集積回路装置
JPH08221256A (ja) 乗算器及び積和演算装置
US6609142B1 (en) Method of performing multiplication with accumulation in a Galois body
JP3723115B2 (ja) 単一命令多重データ処理
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JPH09222991A (ja) 加算方法および加算器
JP2000081966A (ja) 演算装置
JPH01220528A (ja) パリテイ発生器