JP3532338B2 - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JP3532338B2
JP3532338B2 JP04011196A JP4011196A JP3532338B2 JP 3532338 B2 JP3532338 B2 JP 3532338B2 JP 04011196 A JP04011196 A JP 04011196A JP 4011196 A JP4011196 A JP 4011196A JP 3532338 B2 JP3532338 B2 JP 3532338B2
Authority
JP
Japan
Prior art keywords
adder
order
partial product
carry
adders
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 - Lifetime
Application number
JP04011196A
Other languages
English (en)
Other versions
JPH09231056A (ja
Inventor
博之 牧野
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP04011196A priority Critical patent/JP3532338B2/ja
Priority to TW085108971A priority patent/TW313653B/zh
Priority to US08/686,072 priority patent/US5867415A/en
Priority to KR1019960056860A priority patent/KR100245944B1/ko
Publication of JPH09231056A publication Critical patent/JPH09231056A/ja
Application granted granted Critical
Publication of JP3532338B2 publication Critical patent/JP3532338B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
    • G06F7/5338Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Image Generation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、乗算装置に関
し、特にワレス・ツリーを用いた乗算装置に関するもの
である。
【0002】
【従来の技術】乗算は、コンピュータにおいて最も多く
行われる演算の一つであり、高速の計算システムを構成
する際、乗算速度を向上させることは必須である。この
ような高速の乗算を実現するための手法として、乗数を
修正して、部分積の総数を低減するブースのアルゴリズ
ムが良く知られている。また、部分積を樹木状に加算し
て更に部分積の総数を順次低減する、ワレス・ツリーを
用いた乗算装置も良く知られている。
【0003】図19は上記の2つの手法を用いた乗算器
の構成を示すブロック図である。かかる構成は例えば特
開平3−177922号において記載されている。被乗
数101及び乗数102は例えばいずれも16ビットで
構成される。ブース・エンコーダ103は乗数102を
修正した乗数(ここでは「修正乗数」と仮称する)を出
力する。
【0004】一般的にはn次のブースのアルゴリズムを
用いて修正乗数を求めれば部分積の総数を原初的にn分
の1に低減することができる。ここで「原初的」とは、
被乗数と修正乗数の1ビットとの演算によって得られる
部分積の総数に関することを意味し、かかる部分積を第
0次部分積と仮称する。
【0005】ブースのアルゴリズムの次数が多くなると
第0次部分積に要する回路規模が大きくなり、またこれ
にともなって第0次部分積の生成に要する時間も大きく
なるので、通常は2次のブースのアルゴリズムが多用さ
れる。図19に示された例でも2次のブースのアルゴリ
ズムが採用され、16ビットの1/2に相当する8ビッ
ト分の修正乗数を出力するブースエンコード素子45〜
52が、ブース・エンコーダ103において設けられて
いる。
【0006】ブースエンコード素子45〜52の出力1
04〜111は修正乗数であるとともに、シフタ/イン
バータ113〜120のそれぞれの制御信号でもある。
2次のブースのアルゴリズムにおいては修正乗数が1の
場合には被乗数をそのままにして、2の場合には1ビッ
トシフトさせ、更に修正乗数が負数である場合には反転
させることにより演算が行われる。よって、シフタ/イ
ンバータ113〜120はそれぞれ出力104〜111
に基づいて、被乗数101をそのままにして、或いは1
ビットシフトし、又はそれらを更に反転することにより
第0次部分積121〜128が生成される。
【0007】ブースエンコード素子45〜52はこの順
に位が高くなって行くので、その出力104〜111に
よって制御されるシフタ/インバータ113〜120に
よって生成される第0次部分積121〜128もこの順
に位が高い。そして2次のブースのアルゴリズムが採用
されているので、修正乗数において位が1ビット高いほ
ど、第0次部分積においては位が2ビット高くなる。
【0008】第0次部分積121〜12はワレス・ツ
リー部129に入力し、樹木状に足し合わされて第1次
部分積、第2次部分積、…が生成される。部分積の次数
が高まるほど、その数は低減していく。
【0009】図20はワレス・ツリー部129の構成を
模式的に例示するブロック図である。「模式的」とした
のは、部分積同士のビットを整合させる様子が示されて
いないためである。ワレス・ツリー部129は第1次加
算器138,139及び第2次加算器140を有してい
る。第1次加算器138には4つの第0次部積121
〜124が与えられ、一対(つまり総数としては2つ)
の第1次部分積141を生成する。また第1次加算器1
39には4つの第0次部積125〜128が与えら
れ、一対の第1次部分積142を生成する。更に第2次
加算器140には2対(つまり総数としては4つ)の第
1次部分積141,142が与えられ、一対の最終部分
積(第2次部分積でもある)130を生成する。
【0010】図21は第1次加算器138の構成を例示
する回路図である。4入力(キャリー・イン付き)2出
力(キャリー・アウト付き)の加算素子P0101〜P01n
が順次直列に接続されている。これらの加算素子P0101
〜P01nはいずれもキャリー・イン端子CIと、部分積
121〜124のそれぞれの1ビットを受ける入力端子
I1〜I4と、キャリー・イン端子CIと入力端子I1
〜I4とに与えられた合計5ビットの加算結果の下位ビ
ットを出力するサム端子Sと、いずれも同位の上位ビッ
トを出力するキャリー端子C及びキャリー・アウト端子
COとを備えている(CI+I1+I2+I3+I4=
C×2+CO×2+S)。そして、加算素子P01iのキ
ャリー・アウト端子COは加算素子P01(i+1)のキャリ
ー・イン端子CIに接続されている(1≦i≦n−
1)。
【0011】第1次加算器139及び第2次加算器14
0も同様にして構成されているが、後述するように、第
1次加算器138,139ではn=23に、第2次加算
器140ではn=32あるいは24に設定される。
【0012】図22は4入力2出力の加算素子の構成を
例示する回路図である。このような論理ゲートの組み合
わせによって上記動作を行う加算素子を実現することが
でき、キャリー・イン端子CIからの出力はキャリー・
アウト端子COからの出力には影響を与えない。
【0013】一対の最終部分積130は最終加算部13
1において加算され、乗算結果74が得られる。最終加
算部131はその動作を高速に行うため、キャリー・ル
ック・アヘッド方式が多用される。
【0014】図23乃至図26は四者相まって、図19
に示された従来の乗算装置の構成の内、シフタ/インバ
ータ113〜120と、第1次加算器138,139及
び第2次加算器140との接続関係のみを詳細に示した
回路図である。図23は仮想線Q4Q4によって図25
と、仮想線Q5Q5によって図24と、それぞれ連続す
る。また図26は仮想線Q6Q6によって図24と、仮
想線Q7Q7によって図25と、それぞれ連続する。
【0015】通常、ワレス・ツリー部129はこのよう
に、その構成要素である第1次加算器138,139及
び第2次加算器140が、シフタ/インバータ113〜
120と混在して配置される。
【0016】シフタ/インバータ113〜120は、被
乗数101が16ビットであり、これを1ビット左へシ
フトする場合をも想定して17ビットのシフト/インバ
ート素子によって構成されている。例えばシフタ/イン
バータ113は最下位ビットから最上位ビットへ向かう
順にシフト/インバート素子B0101〜B0117を行方向に
並べて備えている。同様にして、シフタ/インバータ1
14〜120はそれぞれシフト/インバート素子B0201
〜B0217,B0301〜B0317,B0401〜B0417,B0501
0517,B0601〜B0617,B0701〜B0717,B0801〜B
0817を備えている。
【0017】第1次加算器138は加算素子P0101〜P
0123を備えている。4個の第0次部分積113〜116
は順次2ビットずつ位が異なるので、加算素子の数は1
7+(4−1)×2=23<個>となる。同様にして、
第1次加算器139は加算素子P0201〜P0223を備えて
いる。
【0018】第1次加算器138に与えられる第0次部
分積の内の最下位のビットと、第1次加算器139に与
えられる第0次部分積の内の最下位のビットとは4×2
=8<ビット>異なるので、両者の出力である一対の第
1次部分積を受ける第2次加算器140は、23+8=
31<個>の加算素子P0301〜P0331に加え、第1次加
算器139の最上位ビットのキャリー端子Cの出力を受
ける加算素子P0332をも備えている。
【0019】図において記号「/」が付された配線は複
数ビットを一括する配線であることを示し、その傍らに
付された数字はそのビット総数を示している。但し、ビ
ット総数が2である場合には特に数字を付してはいな
い。
【0020】シフタ/インバータ113から得られる第
0次部分積121は1ビットずつ加算素子P0101〜P
0117に与えられる。同様にして、第0次部分積122〜
28はそれぞれ加算素子P0103〜P0119,P0105〜P
0121,P0107〜P0123,P0201〜P0217,P0203〜P
0219,P0205〜P0221,P0207〜P0223に与えられる。
【0021】第1次部分積141のうち、各加算要素P
0101〜P0123のサム端子Sから得られるものは、それぞ
れ第2次加算器140の加算素子P0301〜P0323に与え
られる。そして各加算要素P0101〜P0123のキャリー端
子Cから得られるものは、それぞれ第2次加算器140
の加算素子P0302〜P0324に与えられる。各加算要素に
おいて、キャリー端子Cから得られるものは、サム端子
Sから得られるものよりも1ビット上位のものだからで
ある。
【0022】同様にして、第1次部分積142のうち、
各加算要素P0201〜P0223のサム端子Sから得られるも
のは、それぞれ第2次加算器140の加算素子P0309
0331に与えられる。そして各加算要素P0201〜P0223
のキャリー端子Cから得られるものは、それぞれ第2次
加算器140の加算素子P0310〜P0332に与えられる。
【0023】通常、シフタ/インバータと加算器とから
なるこのような配列は、相互間に信号を伝達する配線が
煩雑となることを回避するため、1ビット分の回路の幅
を等しく採る。従って、ワレス・ツリーによる加算が進
むにつれ(つまり加算器の次数が増大するにつれ)、加
算器の配置に必要な行方向の幅は増大する。図23乃至
図26で示された例に即して言えば、第2次加算器14
0の幅は第1次加算器138,139のそれよりも広
い。
【0024】このような広い構造を必要としないよう
に、2つの手法が採られる。第1には加算素子P0301
0308の省略である。これらの各々は、加算素子P0101
〜P0108から2つ以下の入力しか与えられず、従って加
算素子P0301〜P0308はそれらにそれぞれ入力する値を
そのまま出力するに過ぎない為に省略可能である。
【0025】第2には配列の整頓である。図27はシフ
タ/インバータ113〜120と加算器138〜140
の左端を揃えて配置した様子を模式的に示すブロック図
である。これらの間の信号の伝達関係は図23乃至図2
6と同一であるので、煩雑を避けるために簡略化して示
している。但し加算素子P 0301 〜P0308は省略されてお
り、第2次加算器140の幅は加算器138,139の
それよりも1ビット分だけ広い。
【0026】
【発明が解決しようとする課題】しかし、このように配
列の整頓を行っても、乗算装置の配置に必要な領域の幅
は第1次加算器138,139及び第2次加算器140
の幅(23〜24ビット分)でほぼ決定してしまう。シ
フタ/インバータ113〜120が要求する幅は17ビ
ット分であり、6〜7ビット分の幅を持つ空き領域DS
1,DS2が存在してしまい、面積の有効な利用が阻ま
れる。
【0027】このような空き領域は、乗数のビット数が
増大することにともない、第0次部分積の数が多くなる
ことによって増大する。また、加算器の次数も増加して
行くことでその傾向はより顕著となる。乗算装置におい
ては全体の構成の大半をシフタ/インバータ、加算器の
配列が占めるので、乗数のビット数が増大することは、
乗算装置全体の面積を縮小して製造コストを低減するこ
とを阻害する。更に配線長が長くなってしまい、性能劣
化をも招来するおそれもある。そしてマイクロプロセッ
サが扱う情報のビット数が増大する傾向にあることは言
を待たない。
【0028】この発明は上記の問題点を解決するために
なされたものであり、乗算装置に必要な面積を縮小する
技術を提供することを目的とし、以て当該乗算装置を備
える半導体集積回路のコストダウンを招来するものであ
る。
【0029】
【課題を解決するための手段】この発明のうち請求項1
にかかる乗算装置は、被乗数と、乗数に基づいて得られ
る複数の修正乗数とを入力し、前記複数の修正乗数のそ
れぞれに対応した第0次部分積を生成する複数の部分積
生成部と、第j(0≦j≦i−1)次部分積を特定数毎
に加算して第i(1≦i)次部分積を生成する少なくと
も一つの第i次加算器を有し、部分積の数を順次減少さ
せつつ樹木状の加算を行って一対の最終部分積を出力す
るワレス・ツリー部と、前記最終部分積を加算すること
により、前記被乗数と前記乗数との乗算結果を得る最終
加算器とを備える。そして、前記ワレス・ツリー部の前
記第i次加算器のそれぞれは、前記乗算結果の特定の桁
を境界として分離され、互いに異なる行に配置される上
位加算器と下位加算器とを有する。
【0030】この発明のうち請求項2にかかるものは、
請求項1記載の乗算装置であって、前記第1次加算器は
一対設けられ、一方の前記第1次加算器の前記上位加算
器は、他方の前記第1次加算器の前記上位加算器よりも
行方向に短く、他方の前記第1次加算器の前記下位加算
器は、一方の前記第1次加算器の前記下位加算器よりも
行方向に短い。そして前記一方の前記第1次加算器の前
記上位加算器と、前記他方の前記第1次加算器の前記下
位加算器とが同一の行に配置される。
【0031】この発明のうち請求項3にかかるものは、
請求項2記載の乗算装置であって、前記部分積生成部の
一端と、前記第i次加算器のそれぞれの一端とが同一の
列に揃って配置される。
【0032】この発明のうち請求項4にかかるものは、
請求項1記載の乗算装置であって、前記部分積生成部の
それぞれが、前記第1次加算器の前記上位加算器に対応
する上位部と、前記第1次加算器の前記下位加算器に対
応する下位部とに分割され、前記第1次加算器の前記上
位加算器は、いずれかの前記部分積生成部の前記下位部
と同じ行に配置され、前記第1次加算器の前記下位加算
器は、いずれかの前記部分積生成部の前記上位部と同じ
行に配置される。
【0033】この発明のうち請求項5にかかるものは、
請求項1記載の乗算装置であって、前記乗数に基づいて
ブースのアルゴリズムに従って前記複数の修正乗数をそ
れぞれ生成する複数のブース・エンコーダを更に備え
る。
【0034】この発明のうち請求項6にかかるものは、
請求項5記載の乗算装置であって、前記部分積生成部の
それぞれが、前記第1次加算器の前記上位加算器に対応
する上位部と、前記第1次加算器の前記下位加算器に対
応する下位部とに分割され、前記複数のブース・エンコ
ーダの各々は、対応する前記部分積生成部の前記上位部
と同一の行に配置される。
【0035】この発明のうち請求項7にかかるものは、
請求項6記載の乗算装置であって、前記複数のブース・
エンコーダは、それぞれが対応する前記部分積生成部の
前記下位部と同一の行に配置される。
【0036】この発明のうち請求項8にかかるものは、
請求項7記載の乗算装置であって、前記複数のブース・
エンコーダの各々は、対応する前記部分積生成部の前記
上位部及び前記下位部に挟まれて配置される。
【0037】この発明のうち請求項9にかかるものは、
請求項6記載の乗算装置であって、前記第1次加算器の
前記上位加算器は、いずれかの前記部分積生成部の前記
下位部と同じ行に配置され、前記第1次加算器の前記下
位加算器は、いずれかの前記部分積生成部の前記上位部
と同じ行に配置される。
【0038】この発明のうち請求項10にかかるもの
は、請求項9記載の乗算装置であって、前記複数のブー
ス・エンコーダの各々は、対応する前記部分積生成部と
は異なる前記部分積生成部の前記下位部または前記第i
次加算器の前記下位加算器と、対応する前記部分積生成
部の前記上位部との間に挟まれて配置される。
【0039】この発明のうち請求項11にかかるもの
は、請求項5記載の乗算装置であって、前記部分積生成
部のそれぞれが、前記第1次加算器の前記上位加算器に
対応する上位部と、前記第1次加算器の前記下位加算器
に対応する下位部とに分割され、前記部分積生成部のそ
れぞれの前記上位部及び前記下位部は異なる行に配置さ
れ、前記複数のブース・エンコーダの各々は、対応する
前記部分積生成部の前記上位部が配置される行と、対応
する前記部分積生成部の前記下位部とが配置される行と
の間の行に配置される。
【0040】この発明のうち請求項12にかかるもの
は、請求項1記載の乗算装置であって、前記第1次加算
器は一対設けられ、一方の前記第1次加算器の前記下位
加算器は、他方の前記第1次加算器の前記下位加算器に
関して、他方の前記第1次加算器の前記上位加算器と反
対側に配置される。
【0041】この発明のうち請求項13にかかるもの
は、請求項1記載の乗算装置であって、前記ワレス・ツ
リー部は、前記第i次加算器のそれぞれの前記下位加算
器の最上位桁からそれぞれ得られるキャリーである下位
キャリーを加算するキャリー用加算器を更に有し、前記
最終加算器は、前記一対の最終部分積の上位側である一
方と、前記キャリー用加算器の出力との加算を行う前段
加算器と、前記前段加算器の出力と、前記一対の最終部
分積の下位側である他方のうち、前記下位キャリーを除
く部分とを入力して前記乗算結果を得る後段加算器とを
有する。
【0042】この発明のうち請求項14にかかるもの
は、請求項1記載の乗算装置であって、前記ワレス・ツ
リー部は、前記第i次加算器の前記下位加算器の最上位
桁からそれぞれ得られる一対のキャリーである下位キャ
リー対の一方同士を加算するキャリー用加算器を更に有
し、前記第i次加算器の前記下位加算器の前記下位キャ
リー対の他方は、それぞれ前記第i次加算器の前記上位
加算器の最下位桁のキャリー・インとして機能し、前記
最終加算器は、前記一対の最終部分積の上位側である一
方と、前記キャリー用加算器の出力との加算を行う前段
加算器と、前記前段加算器の出力と、前記一対の最終部
分積の下位側である他方のうち、前記下位キャリーを除
く部分とを入力して前記乗算結果を得る後段加算器とを
有する。
【0043】この発明のうち請求項15にかかるもの
は、請求項1記載の乗算装置であって、前記第i次加算
器の前記下位加算器の前記下位キャリー対の一方は、そ
れぞれ前記第i次加算器の前記上位加算器の最下位桁の
キャリー・インとして機能し、前記第i次加算器の前記
下位加算器の前記下位キャリー対の他方は、前記第(i
+1)次加算器の前記上位加算器の最下位桁の入力とし
て機能する。
【0044】
【発明の実施の形態】
(A)基本的思想. 図1乃至図4は四者相まってこの発明の基本的思想を示
す回路図である。図2は仮想線Q1Q1において図1
と、仮想線Q2Q2において図3と、それぞれ連続して
いる。また図4は仮想線Q3Q3において図3と連続し
ている。図1乃至図4には、図23乃至図26と対応し
た要素のみが示されており、図19に示された構成のう
ち図23乃至図26で省略された部分、つまりブース・
エンコーダ103や最終加算部131は図1乃至図4に
おいても省略されている。
【0045】この発明の基本的思想は構造的なものと方
法的なものとの2通りに把握される。第1の把握の仕方
はワレス・ツリーを構成する加算器を特定の桁で分割し
て異なる行に配置するというものであり、第2の把握の
仕方はワレス・ツリーにおける累積的な加算を2分し、
それぞれを空間的に互いに異なる方向に向けて進めると
いうものである。
【0046】シフタ/インバータ113は最下位、より
正確には乗算結果の最下位から15ビット目と16ビッ
ト目との間を境界として、上位2ビット分のシフト/イ
ンバート素子B0116〜B0117を有する上位部1と、下位
15ビット分のシフト/インバート素子B0101〜B0115
を有する下位部2との2つから構成されていると見るこ
とができる。同様にして、シフタ/インバータ114は
乗算結果の最下位から15ビット目と16ビット目との
間を境界として(シフタ/インバータ114自身の最下
位から13ビット目と14ビット目を境界として)、上
位4ビット分のシフト/インバート素子B0214〜B0217
を有する上位部3と、下位13ビット分のシフト/イン
バート素子B0201〜B0213を有する下位部4の2つから
構成されていると見ることができる。シフタ/インバー
タ115は乗算結果の最下位から15ビット目と16ビ
ット目との間を境界として(シフタ/インバータ115
自身の最下位から11ビット目と12ビット目を境界と
して)、上位6ビット分のシフト/インバート素子B
0312〜B0317を有する上位部5と、下位11ビット分の
シフト/インバート素子B0301〜B0311を有する下位部
6の2つから構成されていると見ることができる。シフ
タ/インバータ116は乗算結果の最下位から15ビッ
ト目と16ビット目との間を境界として(シフタ/イン
バータ116自身の最下位から9ビット目と10ビット
目を境界として)、上位8ビット分のシフト/インバー
ト素子B0410〜B0417を有する上位部7と、下位9ビッ
ト分のシフト/インバート素子B0401〜B0409を有する
下位部8の2つから構成されていると見ることができ
る。
【0047】更に、シフタ/インバータ117は乗算結
果の最下位から15ビット目と16ビット目との間を境
界として(シフタ/インバータ117自身の最下位から
7ビット目と8ビット目を境界として)、上位10ビッ
ト分のシフト/インバート素子B0508〜B0517を有する
上位部9と、下位7ビット分のシフト/インバート素子
0501〜B0507を有する下位部10の2つから構成され
ていると見ることができる。シフタ/インバータ118
は乗算結果の最下位から15ビット目と16ビット目と
の間を境界として(シフタ/インバータ118自身の最
下位から5ビット目と6ビット目を境界として)、上位
12ビット分のシフト/インバート素子B0606〜B0617
を有する上位部11と、下位5ビット分のシフト/イン
バート素子B0601〜B0605を有する下位部12の2つか
ら構成されていると見ることができる。シフタ/インバ
ータ119は乗算結果の最下位から15ビット目と16
ビット目との間を境界として(シフタ/インバータ11
9自身の最下位から3ビット目と4ビット目を境界とし
て)、上位14ビット分のシフト/インバート素子B
0704〜B0717を有する上位部13と、下位3ビット分の
シフト/インバート素子B0701〜B0703を有する下位部
14の2つから構成されていると見ることができる。シ
フタ/インバータ120は乗算結果の最下位から15ビ
ット目と16ビット目との間を境界として(シフタ/イ
ンバータ120自身の最下位から1ビット目と2ビット
目を境界として)、上位16ビット分のシフト/インバ
ート素子B0802〜B0817を有する上位部15と、下位1
ビット分のシフト/インバート素子B0801を有する下位
部16の2つから構成されていると見ることができる。
【0048】上位部1,3,5,7,9,11,13,
15からは第0次部分積の内の上位側の部分である、上
位部分積17,19,21,23,25,27,29,
31がそれぞれ出力される。また、下位部2,4,6,
8,10,12,14,16からは第0次部分積の内の
下位側の部分である、下位部分積18,20,22,2
4,26,28,30,32がそれぞれ出力される。上
位部分積17と下位部分積18は部分積121を、上位
部分積19と下位部分積20は部分積122を、上位部
分積21と下位部分積22は部分積123を、上位部分
積23と下位部分積24は部分積124を、上位部分積
25と下位部分積26は部分積125を、上位部分積2
7と下位部分積28は部分積126を、上位部分積29
と下位部分積30は部分積127を、上位部分積31と
下位部分積32は部分積128を、それぞれ構成する。
【0049】第1次加算器138は最下位、より正確に
は乗算結果の最下位から15ビット目と16ビット目と
の間を境界として上位8ビット分の加算素子P0116〜P
0123を有する上位加算器33と、下位15ビット分の加
算素子P0101〜P0115を有する下位加算器37の2つか
ら構成されていると見ることができる。また、第1次加
算器139は乗算結果の最下位から15ビット目と16
ビット目との間を境界として(第1次加算器139自身
の7ビット目と8ビット目との間を境界として)上位1
6ビット分の加算素子P0208〜P0223を有する上位加算
器35と、下位7ビット分の加算素子P0201〜P0207
有する下位加算器34の2つから構成されていると見る
ことができる。
【0050】更に、第2次加算器140は最下位、より
正確には乗算結果の最下位から15ビット目と16ビッ
ト目との間を境界として上位17ビット分の加算素子P
0316〜P0332を有する上位加算器36と、下位15ビッ
ト分の加算素子P0301〜P0315を有する下位加算器38
の2つから構成されていると見ることができる。
【0051】第1の把握の仕方に即して説明すれば、第
1次加算器138を構成する上位加算器33及び下位加
算器37は互いに異なる行に配置されている。同様にし
て第1次加算器139を構成する上位加算器35及び下
位加算器34は互いに異なる行に配置されており、更に
第2次加算器140を構成する上位加算器36及び下位
加算器38も互いに異なる行に配置されている。従っ
て、上記のようにシフタ/インバータ113〜120、
第1次加算器138,139、及び第2次加算器140
が配列された場合には、その行方向の幅の最大値は上位
加算器36の有する17ビットを越えることがない。
【0052】つまり本発明によれば、従来の技術におい
て行方向の幅の低減の阻止原因となっていた第1次加算
器138,139、及び第2次加算器140を分割して
配列することにより、行方向の幅の低減を可能とする。
【0053】第2の把握の仕方に即して説明すれば、第
0次部分積の上位部分積17,19,21,23,2
5,27,29,31が図1乃至図4において下方へと
伝達され、第1次加算器138,139のそれぞれの上
位加算器33,35によってそれぞれ第1次部分積の上
位部分積39,40が得られ、更に第2次加算器140
の上位加算器36によって第2次部分積の上位部分積4
3が得られる。
【0054】一方、第0次部分積の下位部分積18,2
0,22,24,26,28,30,32が図1乃至図
4において方へと伝達され、第1次加算器138,1
39のそれぞれの下位加算器37,34によってそれぞ
れ第1次部分積の下位部分積42,41が得られ、更に
第2次加算器140の下位加算器38によって第2次部
分積の下位部分積44が得られる。
【0055】このような空間的に異なる2方向への累積
的な加算は、第1次加算器138,139、及び第2次
加算器140を分割して配列することにより容易に行う
ことができる。これによって上下いずれの方向に第1次
以降の部分積を取り出す必要があっても、その全体を迂
回させる必要がなく、上位ビット、または下位ビットの
みを迂回させるのみでよい。
【0056】このように第1次加算器138,139、
及び第2次加算器140を分割して配列した場合でもキ
ャリー端子C及びキャリー・アウト端子COからは信号
を得ることができる。例えば下位加算器34の最上位ビ
ットに対応する加算要素P0207のキャリー端子Cからは
信号61が得られる。また加算要素P0207のキャリー・
アウト端子COからは信号62が得られる。但し図2に
おいてはこれは上位加算器33の最下位ビットに対応す
る加算要素P0116のキャリー・イン端子CIに与えられ
るので、図示されていない。下位加算器37の最上位ビ
ットに対応する加算要素P0115のキャリー端子Cからは
信号63が、キャリー・アウト端子COからは信号64
が、それぞれ得られる。また下位加算器38の最上位ビ
ットに対応する加算要素P0315のキャリー端子Cからは
信号65が、キャリー・アウト端子COからは信号66
が、それぞれ得られる。これらの信号の伝搬に関するバ
リエーションは次次節の「C.キャリーの処理」におい
て示される。
【0057】B.シフタ/インバータ及び加算器の配
列. 図1乃至図4に示されたような配列のままでは、行方向
の幅の最大値を小さく抑制することはできるが、面積の
利用効率を高めるためには、図27に示されたように、
シフタ/インバータ113〜120、第1次加算器13
8,139及び第2次加算器140の端部をそろえて配
列することが望ましい。本節において示される各種実施
の形態では面積の有効な利用を顕著にする配列のバリエ
ーションを提供する。
【0058】(B−1)実施の形態1. 図5は本発明の実施の形態1の構成を示すブロック図で
ある。シフタ/インバータ113〜120、第1次加算
器138,139及び第2次加算器140の相互間の第
0次乃至第2次部分積の伝達関係は図1乃至図4に示さ
れるものと同様であるので、図面の煩雑を回避するため
に図5においては省略している。
【0059】図5においては、シフタ/インバータ11
3〜120のいずれも分割されることなく、これらの端
部を揃えてこの順に上から下へと配列されている。第1
次加算器138の上位加算器33と、第1次加算器13
9の下位加算器34とはそれぞれの一端をシフタ/イン
バータ113〜120の端部に揃えつつ、シフタ/イン
バータ116とシフタ/インバータ117との間の同一
の行に配列している。また、第1次加算器138の下位
加算器37、第2次加算器140の下位加算器38はシ
フタ/インバータ113のすぐ上にこの順に上方へと配
列されている。更に、第1次加算器139の上位加算器
35、第2次加算器140の上位加算器36はシフタ/
インバータ120のすぐ下にこの順に下方へと配列され
ている。
【0060】具体的には、上位部1,3,5,7のそれ
ぞれの最上位ビットに対応するシフト/インバート素子
0117,B0217,B0317,B0417と、上位加算器33の
最上位ビットに対応する加算素子P0123と、上位部9,
11,13,15の最上位ビットに対応するシフト/イ
ンバート素子0517,B0617,B0717,B0817と、上位
加算器35の最上位ビットに対応する加算素子P
0223と、上位加算器36の最上位ビットに対応する加算
素子P0332とが、この順に上から下へと同一の列(図
中、左端の列)に配列されている。
【0061】一方、下位加算器38,37のそれぞれの
最下位ビットに対応する加算素子P0301,P0101と、下
位部2,4,6,8のそれぞれの最下位ビットに対応す
るシフト/インバート素子B0101,B0201,B0301,B
0401と、下位加算器34の最下位ビットに対応する加算
素子P0201と、下位部10,12,14,16の最下位
ビットに対応するシフト/インバート素子0501,B
0601,B0701,B0801と、位加算器36の最下位ビッ
トに対応する加算素子P0316とが、この順に上から下へ
と同一の列(図中、右端の列)に配列されている。
【0062】第1次加算器138のうち、上位加算器3
3のビット数は、その下位加算器37のビット数よりも
ビット数が少ない。また第1次加算器139のうち、下
位加算器34のビット数は、その上位加算器35のビッ
ト数よりもビット数が少ない。従って、上位加算器33
と下位加算器34とを同一の行に配置しても、その行方
向の幅は第1次加算器138,139よりも短くなる。
【0063】しかも第0次部分積を生成するシフタ/イ
ンバータの上位部と下位部との境界を、乗算結果の最下
位から15ビット目と16ビット目という、乗算結果の
ほぼ中央近傍に採っている。換言すれば、シフタ/イン
バータの総てを分割できるような位置に境界を採ってい
る。このため第2次加算器140はいずれも17ビット
を越えないビット数の上位加算器36及び下位加算器
8に分割されて配置される。
【0064】従って、従来の場合に見られたような空き
領域DS1,DS2を内部に作ることなく、有効に面積
を利用してシフタ/インバータ113〜120、第1次
加算器138,139及び第2次加算器140の配列の
集積度を高めることができる。
【0065】勿論、下位加算器38の最上位ビットに対
応する加算素子P0315及び下位加算器37の最上位ビッ
トに対応する加算素子P0115を図中の左端の列に並べて
配置することもできるし、上位加算器35の最下位ビッ
トに対応する加算素子P0208を図中の右端の列に並
べても良い。
【0066】(B−2)実施の形態2. 図6は本発明の実施の形態2の構成を示すブロック図で
ある。実施の形態1とは異なり、第1次加算器138の
上位加算器33と、第1次加算器139の下位加算器3
4とが互いに異なる行に配置されている。そして、同一
のシフタ/インバータを構成する上位部及び下位部も、
互いに異なる行に配置されている。更に、第2次加算器
140の下位加算器38が配置されている行、第1次加
算器138の下位加算器37が配置されている行、第1
次加算器139の上位加算器35が配置されている行、
及び第2次加算器140の上位加算器36が配置されて
いる行にも、シフタ/インバータの上位部若しくは下位
部が配置されている。
【0067】具体的には上から順に、第1行目にはシフ
タ/インバータ113の上位部1と第2次加算器140
の下位加算器38とが、第2行目にはシフタ/インバー
タ114の上位部3と第1次加算器138の下位加算器
37とが、第3行目にはシフタ/インバータ115の上
位部5とシフタ/インバータ113の下位部2とが、第
4行目にはシフタ/インバータ116の上位部7とシフ
タ/インバータ114の下位部4とが、第5行目には第
1次加算器138の上位加算器33とシフタ/インバー
タ115の下位部6とが、第6行目にはシフタ/インバ
ータ117の上位部9とシフタ/インバータ116の下
位部8とが、第7行目にはシフタ/インバータ118の
上位部11と第1次加算器139の下位加算器34と
が、第8行目にはシフタ/インバータ119の上位部1
3とシフタ/インバータ117の下位部10とが、第9
行目にはシフタ/インバータ120の上位部15とシフ
タ/インバータ118の下位部12とが、第10行目に
は第1次加算器139の上位加算器35とシフタ/イン
バータ119の下位部14とが、第11行目には第2次
加算器140の上位加算器36とシフタ/インバータ1
20の下位部16とが、それぞれ配置されている。
【0068】このような配列において行方向の幅を律す
るのは第3,4,8,9行であり、その幅は21ビット
分に相当する。これは実施の形態1における行方向の幅
が17ビット分であったことと比較すると、配列に必要
な領域が行方向に大きいことを示している。しかし、行
数は実施の形態1において13行必要であったのに対
し、実施の形態2においては11行必要であり、列方向
に小さな領域で配列することが可能である。
【0069】つまり、実施の形態2を適用することによ
り、列方向に大きな領域を準備することができない場合
であっても、空き領域を内部に作ることなく、有効に面
積を利用してシフタ/インバータ及び加算器の配列を行
うことができる。
【0070】(B−3)実施の形態3. 図7は本発明の実施の形態3の構成を示すブロック図で
ある。実施の形態1において図5を用いて示された配列
に対し、ブースエンコード素子45〜52をどの様に配
置するかを示している。
【0071】図7においては、上位部1,3,5,7,
9,11,13,15、下位部2,4,6,8,10,
12,14,16、上位加算器33,35,36及び下
位加算器34,37,38の構成は既に図1乃至図6に
おいて示されたものと同一であるので、これらは単なる
ビット数に応じた行方向の幅を持ったブロックとして示
されている。但し、第0次部分積の上位部分積17,1
9,21,23,25,27,29,31及び下位部分
積18,20,22,24,26,28,30,32、
第1次部分積の上位部分積39,40及び下位部分積4
1,42、並びに第2次部分積の上位部分積43及び下
位部分積44は概念的に矢印で示している。正確な第0
次乃至第2次部分積の伝達関係は図1乃至図4に示され
たものと同一である。
【0072】シフタ/インバータ113〜120が配置
されている行の上位部側にブースエンコード素子45〜
52はそれぞれ配置されている。そして修正乗数たる制
御信号104〜111がそれぞれシフタ/インバータ1
13〜120に与えられている。このように本実施の形
態によれば、全ての制御信号を同一の行に配置されたシ
フタ/インバータに与えれば良いので、制御信号の配線
が単純化され、その敷設が容易となる。
【0073】(B−4)実施の形態4. 図8は本発明の実施の形態4の構成を示すブロック図で
ある。実施の形態1において図5を用いて示された配列
に対し、ブースエンコード素子45〜52をどの様に配
置するかを示している。
【0074】シフタ/インバータ113〜120が配置
されている行にブースエンコード素子45〜52はそれ
ぞれ配置されている。但し、実施の形態3において図7
に示された構成とは異なり、シフタ/インバータの上位
部と下位部との間に挟まれて配置されている。シフタ/
インバータの上位部の行方向の幅は各シフタ/インバー
タによって異なるので、ブースエンコード素子45〜5
2は行方向にずれて配置される(同一の列には配置され
ない)。
【0075】そして修正乗数たる制御信号104〜11
1がブースエンコード素子45〜52の左右から出力さ
れている。つまり、ブースエンコード素子45の左側か
ら出力された制御信号104はシフタ/インバータ11
3の上位部1へ、右側から出力された制御信号104は
シフタ/インバータ113の下位部2へ、それぞれ伝達
される。同様にして、ブースエンコード素子46の左側
から出力された制御信号105はシフタ/インバータ1
14の上位部3へ、右側から出力された制御信号105
はシフタ/インバータ114の下位部4へ、ブースエン
コード素子47の左側から出力された制御信号106は
シフタ/インバータ115の上位部5へ、右側から出力
された制御信号106はシフタ/インバータ115の下
位部6へ、ブースエンコード素子48の左側から出力さ
れた制御信号107はシフタ/インバータ116の上位
部7へ、右側から出力された制御信号107はシフタ/
インバータ116の下位部8へ、ブースエンコード素子
49の左側から出力された制御信号108はシフタ/イ
ンバータ117の上位部9へ、右側から出力された制御
信号108はシフタ/インバータ117の下位部10
へ、ブースエンコード素子50の左側から出力された制
御信号109はシフタ/インバータ118の上位部11
へ、右側から出力された制御信号109はシフタ/イン
バータ118の下位部12へ、ブースエンコード素子5
1の左側から出力された制御信号110はシフタ/イン
バータ119の上位部13へ、右側から出力された制御
信号110はシフタ/インバータ119の下位部14
へ、ブースエンコード素子52の左側から出力された制
御信号111はシフタ/インバータ120の上位部15
へ、右側から出力された制御信号111はシフタ/イン
バータ120の下位部16へ、それぞれ伝達される。
【0076】このように本実施の形態によれば、実施の
形態3と同様に制御信号の配線が単純化されてその敷設
が容易となる。しかもブースエンコード素子が行方向に
ずれて配置されるので、被乗数と平行に(つまり上下方
向から)乗数が与えられる場合にもそれをブースエンコ
ード素子に伝達する配線も単純化されてその敷設が容易
となる。
【0077】(B−5)実施の形態5. 図9は本発明の実施の形態5の構成を示すブロック図で
ある。実施の形態2において図6を用いて示された配列
に対し、ブースエンコード素子45〜52をどの様に配
置するかを示している。
【0078】シフタ/インバータ113〜120のそれ
ぞれの上位部1,3,5,7,9,11,13,15が
配置されている行の左側にブースエンコード素子45〜
52がそれぞれ配置されている。かかる配置を行うと、
ブースエンコード素子は、そこから2行分だけ下に位置
する下位部に制御信号を伝達する必要があるので、かか
る伝達に要する配線を行を横切って必要となり、複雑化
する。
【0079】しかし、制御信号の伝達に必要な配線は高
々数本以下なので、配線の複雑化に伴う面積の増加は小
さい。従ってこのような配置を行っても実施の形態1で
得られる効果を殆ど損なうことが無い。
【0080】(B−6)実施の形態6. 図10は本発明の実施の形態6の構成を示すブロック図
である。実施の形態2において図6を用いて示された配
列に対し、ブースエンコード素子45〜52をどの様に
配置するかを示している。
【0081】シフタ/インバータ113〜120のそれ
ぞれの上位部1,3,5,7,9,11,13,15が
配置されている行の右側にブースエンコード素子45〜
52がそれぞれ配置されている。かかる配置を行って
も、実施の形態5と同様に、配線の複雑化に伴う面積の
増加は小さいので、実施の形態3で得られる効果を殆ど
損なうことが無い。
【0082】しかも、乗算装置の設計上、列方向の長さ
よりも行方向の幅の制限の方が緩い場合に実施の形態3
のように行数を抑制するような配列が行われる。よっ
て、そのような制限下で被乗数と平行に乗数が与えられ
る場合には、実施の形態4よりも、実施の形態6が望ま
しい。
【0083】(B−7)実施の形態7. 図11は本発明の実施の形態7の構成を示すブロック図
である。実施の形態2において図6を用いて示された配
列に対し、ブースエンコード素子45〜52をどの様に
配置するかを示している。
【0084】実施の形態3や実施の形態7においては、
同一のシフタ/インバータを構成する上位部及び下位部
が互いに2行分だけ離れた行に配置されている。そして
実施の形態7では同一のシフタ/インバータを構成する
上位部が配置された行と、下位部が配置された行との間
の行に、対応するブースエンコード素子が配置される。
【0085】具体的には第2行目にはシフタ/インバー
タ114の上位部3と第1次加算器138の下位加算器
37との間にブースエンコード素子45が、第3行目に
はシフタ/インバータ115の上位部5とシフタ/イン
バータ113の下位部2との間にブースエンコード素子
46が、第4行目にはシフタ/インバータ116の上位
部7とシフタ/インバータ114の下位部4との間にブ
ースエンコード素子47が、第5行目には第1次加算器
138の上位加算器33とシフタ/インバータ115の
下位部6との間にブースエンコード素子48が、第7行
目にはシフタ/インバータ118の上位部11と第1次
加算器139の下位加算器34との間にブースエンコー
ド素子49が、第8行目にはシフタ/インバータ119
の上位部13とシフタ/インバータ117の下位部10
との間にブースエンコード素子50が、第9行目にはシ
フタ/インバータ120の上位部15とシフタ/インバ
ータ118の下位部12との間にブースエンコード素子
51が、第10行目には第1次加算器139の上位加算
器35とシフタ/インバータ119の下位部14との間
にブースエンコード素子52が、それぞれ配置される。
【0086】このような配置を行うことで、ブースエン
コード素子45の左側から出力される制御信号104を
シフタ/インバータ113の上位部1へ伝達する配線の
長さと、右側から出力される制御信号104をシフタ/
インバータ113の下位部2へ伝達する配線の長さと
を、ほぼ等しく設計することができる。従って、同一の
シフタ/インバータにおける動作時間のずれを抑制する
ことができる。
【0087】勿論、被乗数と平行に乗数が与えられる場
合における実施の形態4、実施の形態6の効果は、実施
の形態7においても発揮される。
【0088】C.キャリーの処理. 「(A)基本的思想.」において少し触れたが、下位加
算器34の最上位ビットに対応する加算要素P0207
のキャリー端子Cからは信号61が、加算要素P0207
キャリー・アウト端子COからは信号62が、下位加算
器37の最上位ビットに対応する加算要素P0115のキャ
リー端子Cからは信号63が、キャリー・アウト端子C
Oからは信号64が、下位加算器38の最上位ビットに
対応する加算要素P0315のキャリー端子Cからは信号6
5が、キャリー・アウト端子COからは信号66が、そ
れぞれ得られる。
【0089】信号61〜66はいずれも乗算結果の下か
ら16ビット目において加算されるべき値を有してお
り、以下の実施の形態ではこれらの処理についてのバリ
エーションが示される。
【0090】(C−1)実施の形態8. 図12は本発明の実施の形態8の構成を示すブロック図
である。実施の形態1で図2を用いて示された配列にお
いて、信号61〜64,66を加算するための(キャリ
ー加算用の)4入力2出力の加算素子70を更に設けた
構成が示されている。下位部分積44は、信号65と、
れ以外の部分である信号群44aとから構成されてい
る。
【0091】図2においては加算素子P0116のキャリー
・イン端子CIに与えられていたために略記されていた
信号62は、信号61,63,64と共に加算素子70
の4入力に与えられる。また、加算素子70のキャリー
・イン端子CIには加算素子0315のキャリー・アウト
端子COから信号66が与えられる。
【0092】この結果、加算素子70のサム端子S及び
キャリー端子Cからはそれぞれ信号67,68が得ら
れ、キャリー・アウト端子COから信号69が得られ
る。信号65,67はいずれも乗算結果の下から16ビ
ット目において加算されるべき値であり、信号68,6
9はいずれも乗算結果の下から17ビット目において加
算されるべき値である。つまり、乗算結果の下から16
ビット目では信号65,67と第2次部分積の上位部分
積43の最下位ビットの2つのデータとを加算する必要
があり、乗算結果の下から17ビット目では信号68,
69と第2次部分積の上位部分積43の最下位ビットよ
りも1ビットだけ上位の2つのデータとを加算する必要
がある。
【0093】図13は最終加算部131の構成を示すブ
ロック図である。最終加算部131は上位加算器36と
同じく17ビット分だけ図21に示されるように接続さ
れた4入力2出力加算素子で構成された前段加算器72
と、32ビット分の2入力1出力加算素子で構成された
後段加算器7とで構成されている。
【0094】前段加算器72は第2次部分積の上位部分
積43と、信号65,67〜69を入力し、ビット毎に
一対をなす信号群71を出力する。後段加算器73は信
号群44aを下位側で、信号群71を上位側で、それぞ
れ加算処理して乗算結果74を出力する。
【0095】このような構成を採ることにより、後段加
算器73にはビット毎に一対の入力しか与えられず(換
言すれば、信号群44a,71はどのビットに於いても
互いに重なるということがないので)、これをキャリー
・ルック・アヘッド方式などにより容易に実現すること
ができる。しかも、前段加算器72において加算処理が
実行されている際には、後段加算器73の下位側(信号
群44aが入力するビット)の加算処理を並行して実行
することができるので、前段加算器72を設けたことに
よる速度劣化は生じない。このように本実施の形態によ
れば、実施の形態1の効果を損なうことなく、速度の遅
延もなく、キャリーの処理を行うことができる。
【0096】なお、本実施の形態では実施の形態1にお
けるキャリーの処理について説明したが、他の実施の形
態2〜7に対しても同様にして適用することができる。
【0097】(C−2)実施の形態9. 図14は本発明の実施の形態9の構成を示すブロック図
である。実施の形態1で図5を用いて示された配列にお
いて、信号61,63,66を加算するための(キャリ
ー加算用の)2入力(キャリー・イン端子CI付き)2
出力の加算素子75を更に設けた構成が示されている。
【0098】「(A)基本的思想.」においては信号6
2が加算素子P0116のキャリー・イン端子CIに与えら
れていたが、本実施の形態においては信号64がこれに
与えられている。信号64も第1次加算器の下位加算器
のキャリーであるという点で信号62と等価であるため
である。
【0099】また、信号62は加算素子P0208のキャリ
ー・イン端子CIに与えられている。このような信号6
2,64の与え方は、むしろ図23乃至図26で示され
た従来技術と共通した技術である。
【0100】一方、信号61,63は加算素子75の2
入力に与えられ、信号66は加算素子75のキャリー・
イン端子CIに与えられている。
【0101】以上のような構成を採ることにより、加算
素子75における加算結果は多くとも1+1+1=11
であり、これを出力するには2ビットの信号があれば足
りる。つまり、加算素子75の出力するのはそれぞれ1
ビットの信号67,68のみで足り、キャリー・アウト
端子COは必要ない。従って、加算素子75の構成を加
算素子70の構成よりも簡素化することができ、また信
号69を伝達する為の配線も不要である。
【0102】勿論、信号62,64が互いに等価である
ことから、これらを入れ換えることも可能である。図1
5は図14に示された構成に対して、信号62,64を
入れ換えた構成を示している。
【0103】なお、本実施の形態では実施の形態1にお
けるキャリーの処理について説明したが、他の実施の形
態2〜7に対しても同様にして適用することができる。
【0104】また、本実施の形態では第0次部分積が8
個の場合について説明したが、第0次部分積の数が更に
増加してワレス・ツリーの加算段数(次数)が増加する
と、キャリーの入出力の組み合わせの自由度が増し、本
実施の形態の思想によって得られる効果は更に顕著とな
る。
【0105】(C−3)実施の形態10. 図16は本発明の実施の形態10の構成を示すブロック
図である。実施の形態1で図5を用いて示された配列に
おいて、信号61〜66の伝搬の様子を示したものであ
る。
【0106】第1次加算器の下位加算器から対として得
られるキャリーの一方である信号62,64は第1次加
算器の上位加算器33,35へキャリー・インとして与
えられる(図16においては信号62が加算要素P0116
へ、信号64が加算要素P0208へ、それぞれ与えられて
いるが、これらは入れ換えても良い)。
【0107】ところで、図4においては第2次加算器1
40の上位加算器36の加算要素P0316には上位加算器
33からの(より正確には加算素子P0116のサム端子S
から出力される)1ビットと、上位加算器35からの
(より正確には加算素子P0208のサム端子Sから出力さ
れる)1ビットとの2ビットしか入力されていない。
【0108】本実施の形態においては、第2次加算器
40に属する加算要素P0316の他の入力端子であるキャ
リー・イン端子CI及び2つの入力端子に、それぞれ第
2次加算器140の下位加算器38の加算要素P0315
ら対として得られるキャリーの一方である信号66と、
第1次加算器に属する加算要素P0115,P0207から対と
して得られるキャリーの他方である信号63,61を与
える様子が示されている。
【0109】このようにして信号61〜64,66を伝
搬させることにより、キャリー加算用の加算要素を別途
設ける必要はなく、ハードウェア量を削減することがで
きる。
【0110】この際、第2次加算器140の下位加算器
38の加算要素P0315から対として得られるキャリーの
他方である信号65は、第2次部分積の下位部分積44
の中で最上位ビットに対応するので、後段加算器73の
うちの信号65に対応するビット(即ち第2次部分積の
下位部分積43の最下位ビット)におけるキャリー・イ
ンとして、後段加算器73に与えることができる。従っ
て、最終加算器131において前段加算器72をも省略
することができ、一層、ハードウェア量を削減すること
ができる。
【0111】本実施の形態では実施の形態1におけるキ
ャリーの処理について説明したが、勿論、他の実施の形
態2〜7に対しても同様にして適用することができる。
【0112】(C−4)実施の形態11. 上記の実施の形態ではワレス・ツリーの第1次乃至第2
次加算器を4入力2出力の加算素子で構成した場合につ
いて説明してきたが、3入力2出力の加算素子で構成す
ることもできる。
【0113】図17は第1次加算器132,133、第
2次加算器134,135、第3次加算器136、第4
次加算器137によってワレス・ツリー部129を構成
した場合を例示するブロック図である。
【0114】第1次加算器132には第0次部分積12
1〜123が、第1次加算器133には第0次部分積1
24〜126が、第2次加算器134には第1次加算器
132の出力及び第1次加算器133の出力の上位側
(これらはいずれも第1次部分積である)が、第2次加
算器135には第1次加算器133の出力の下位側(こ
れは第1次部分積である)及び第0次部分積127,1
28が、第3次加算器136には第2次加算器134の
出力及び第2次加算器135の出力の上位側(これらは
いずれも第2次部分積である)が、第4次加算器137
には第3次加算器136の出力(これは第3次部分積で
ある)及び第2次加算器135の出力の下位側(これは
第2次部分積である)が、それぞれ与えられる。そして
第4次加算器137は最終部分積130を出力する。
【0115】このように、ワレス・ツリー部129の加
算段数(次数)が多くなっても本発明を適用することが
できる。図18は3入力2出力の加算素子でワレス・ツ
リーを構成した場合の部分積の伝搬を示すブロック図で
ある。
【0116】第1次加算器の一部である上位加算器20
1は上位部1,3,5から第0次部分積として出力され
る信号を加算し、第1次部分積として出力される2つの
出力を両方とも第2次加算器の一部である上位加算器2
05へ与える。また、第1次加算器の一部である上位加
算器202は上位部7,9,11から第0次部分積とし
て出力される信号を加算し、第1次部分積として出力さ
れる2つの出力の一方を上位加算器205へ与える。
【0117】上位加算器202の2つの出力の他方は上
位部13,15から第0次部分積として出力される信号
と共に、第2次加算器の一部である上位加算器206に
与えられる。上位加算器206から第2次部分積として
出力される2つの出力の一方は、第2次部分積として上
位加算器205から出力される信号と共に第3次加算器
の一部である上位加算器207に与えられる。上位加算
器207は第3次部分積として出力される2つの出力を
両方とも第4次加算器の一部である上位加算器208に
与える。上位加算器208には、上位加算器206から
第2次部分積として出力される2つの出力の他方も与え
られ、上位加算器208は第4次部分積として機能する
信号を出力する。
【0118】第1次加算器の一部である下位加算器20
3は下位部12,14,16から第0次部分積として出
力される信号を加算し、第1次部分積として出力される
2つの出力を両方とも第2次加算器の一部である下位加
算器209へ与える。また、第1次加算器の一部である
下位加算器204は下位部6,8,10から第0次部分
積として出力される信号を加算し、第1次部分積として
出力される2つの出力の一方を下位加算器209へ与え
る。
【0119】下位加算器204の2つの出力の他方は下
位部2,4から第0次部分積として出力される信号と共
に、第2次加算器の一部である下位加算器210に与え
られる。下位加算器210から第2次部分積として出力
される2つの出力の一方は、第2次部分積として下位加
算器209から出力される信号と共に第3次加算器の一
部である下位加算器211に与えられる。下位加算器2
11は第3次部分積として出力される2つの出力を両方
とも第4次加算器の一部である下位加算器212に与え
る。下位加算器212には、下位加算器210から第2
次部分積として出力される2つの出力の他方も与えら
れ、下位加算器212は第4次部分積として機能する信
号を出力する。
【0120】図18に示された構成は図1乃至図4に示
されたそれと対応しており、よって図5乃至図16に示
されたような実施の形態と同様に、各シフタ/インバー
タ、加算器を配列し、面積の有効利用を図ることができ
る。
【0121】上記実施の形態においてはブースのアルゴ
リズムを用いた場合について説明したが、ブースのアル
ゴリズムを用いない場合に於いても適用できることは言
を待たない。
【0122】
【発明の効果】この発明のうち請求項1にかかる乗算装
置によれば、ワレス・ツリーを採用する乗算装置におい
て、行方向に最も長い配置領域を必要とする第i次加算
器のそれぞれを上位加算器と下位加算器とに分割し、こ
れらを互いに異なる行に配置することによって、行方向
に必要な配置領域の長さを短縮することができる。
【0123】この発明のうち請求項2にかかる乗算装置
によれば、一対の第1次加算器のいずれもが最終部分積
の特定の桁を境界として分離されることにより、上位加
算器の長さ及び下位加算器の長さは第1次加算器同士で
異なる。よって短いほうの上位加算器と、短い方の下位
加算器とを同一の行に配置することにより、乗算装置全
体の行方向の寸法を短くすることができる。
【0124】この発明のうち請求項3にかかる乗算装置
によれば、空き領域を無くし、集積度を高めることがで
きる。
【0125】この発明のうち請求項4、請求項9にかか
る乗算装置によれば、第1次加算器の上位加算器と同じ
行に配置される下位部を有する部分積生成部や、第1次
加算器の下位加算器と同じ行に配置される上位部を有す
る部分積生成部が存在するので、これらの部分積生成部
を配置する行を節約することができる。
【0126】この発明のうち請求項5にかかる乗算装置
によれば、ブースのアルゴリズムによって修正乗数の数
を乗数の桁数よりも低減できるので、部分積生成部の数
を低減することができる。
【0127】この発明のうち請求項6、請求項7にかか
る乗算装置によれば、ブース・エンコーダを配置するた
めの行を特に設ける必要がなく、修正乗数を伝達するた
めの配線が単純化され、その敷設が容易となる。
【0128】この発明のうち請求項8、請求項10にか
かる乗算装置によれば、部分積生成部は第1次加算器の
上位加算器及び下位加算器にそれぞれ対応する上位部及
び下位部に分割される。第1次加算器の上位加算器と下
位加算器は最終部分積の特定の桁を以て境界とするの
で、部分積生成部の上位部及び下位部も最終部分積の特
定の桁を以て分割されることになる。よって異なる部分
積生成部の上位部の長さは互いに異なり、同一の部分積
生成部に属する上位部と下位部とに挟まれて配置される
ブース・エンコーダは、対応する部分積生成部が異なれ
ば、行方向に異なる位置を占めることになる。よって、
乗数が与えられる方向が被乗数の与えられる方向と平行
である場合に、乗数をブース・エンコーダに伝達するた
めの配線が単純化され、その敷設が容易となる。
【0129】この発明のうち請求項11にかかる乗算装
置によれば、ブース・エンコーダから得られる修正乗数
を、対応する部分積生成部の上位部、下位部に伝達する
経路の長さを等しくして信号伝搬のズレを抑制しつつ、
この発明のうち請求項4、請求項8にかかる乗算装置の
効果を得ることができる。
【0130】この発明のうち請求項12にかかる乗算装
置によれば、第1次部分積の上位桁と下位桁とを互いに
反対方向に導き出すことにより、いずれの方向に第1次
以降の部分積を取り出す必要があっても、その全体を迂
回させる必要がなく、上位桁、または下位桁のみを迂回
させるのみでよい。
【0131】この発明のうち請求項13にかかる乗算装
置によれば、後段加算器には桁毎に一対の入力しか与え
られず、換言すれば前段加算器の出力と、最終部分積の
下位側のうち下位キャリーを除く部分とはどの桁に於い
ても互いに重なるということがないので、これをキャリ
ー・ルック・アヘッド方式などにより容易に実現するこ
とができる。しかも、前段加算器において加算処理が実
行されている際には、後段加算器の下位側(最終部分積
の下位側のうち下位キャリーを除く部分)の加算処理を
並行して実行することができるので、前段加算器を設け
たことによる速度劣化は生じない。よって速度の遅延も
なく、キャリーの処理を行うことができる。
【0132】この発明のうち請求項14にかかる乗算装
置によれば、キャリー用加算器の入力及び出力の数を抑
制することができるので、構成を簡易にしつつも、この
発明のうち請求項13にかかる乗算装置の効果を得るこ
とができる。
【0133】この発明のうち請求項15にかかる乗算装
置によれば、キャリー用加算器を別途設けること無く、
また最終部分積の上位側と下位側の桁の重なりを調整す
るための前段加算器も必要なく、ハードウェア量を低減
しつつも、この発明のうち請求項13にかかる乗算装置
の効果を得ることができる。
【図面の簡単な説明】
【図1】 図2乃至図4と相まって、この発明の基本的
思想を示すブロック図である。
【図2】 図1、図3及び図4と相まって、この発明の
基本的思想を示すブロック図である。
【図3】 図1、図2及び図4と相まって、この発明の
基本的思想を示すブロック図である。
【図4】 図1乃至図3と相まって、この発明の基本的
思想を示すブロック図である。
【図5】 本発明の実施の形態1を示すブロック図であ
る。
【図6】 本発明の実施の形態2を示すブロック図であ
る。
【図7】 本発明の実施の形態3の構成を示すブロック
図である。
【図8】 本発明の実施の形態4の構成を示すブロック
図である。
【図9】 本発明の実施の形態5の構成を示すブロック
図である。
【図10】 本発明の実施の形態6の構成を示すブロッ
ク図である。
【図11】 本発明の実施の形態7の構成を示すブロッ
ク図である。
【図12】 本発明の実施の形態8の構成を示すブロッ
ク図である。
【図13】 最終加算部131の構成を示すブロック図
である。
【図14】 本発明の実施の形態9の構成を示すブロッ
ク図である。
【図15】 本発明の実施の形態9の他の構成を示すブ
ロック図である。
【図16】 本発明の実施の形態10の構成を示すブロ
ック図である。
【図17】 本発明の実施の形態11の構成を示すブロ
ック図である。
【図18】 本発明の実施の形態11の構成を示すブロ
ック図である。
【図19】 従来の乗算器の構成を示すブロック図であ
る。
【図20】 従来の技術を示すブロック図である。
【図21】 従来の技術を示す回路図である。
【図22】 従来の技術を示す回路図である。
【図23】 図24乃至図26と相まって、従来の技術
を示すブロック図である。
【図24】 図23、図25及び図26と相まって、従
来の技術を示すブロック図である。
【図25】 図23、図24及び図26と相まって、従
来の技術を示すブロック図である。
【図26】 図23乃至図25と相まって、従来の技術
を示すブロック図である。
【図27】 従来の技術を示すブロック図である。
【符号の説明】
1,3,5,7,9,11,13,15 上位部、2,
4,6,8,10,12,14,16 下位部、17,
19,21,23,25,27,29,31,39,4
0,43 上位部分積、18,20,22,24,2
6,28,30,32,41,42,44 下位部分
積、33,35,36 上位加算器、34,37,38
下位加算器、129 ワレス・ツリー部、45〜52
ブースエンコード素子、103 ブース・エンコー
ダ、70,75 加算素子、72 前段加算器、73
後段加算器、131 最終加算器、121〜128 第
0次部分積、113〜120 シフタ/インバータ、1
38,139 第1次加算器、140 第2次加算器。

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 被乗数と、乗数に基づいて得られる複数
    の修正乗数とを入力し、前記複数の修正乗数のそれぞれ
    に対応した第0次部分積を生成する複数の部分積生成部
    と、 第j(0≦j≦i−1)次部分積を特定数毎に加算して
    第i(1≦i)次部分積を生成する少なくとも一つの第
    i次加算器を有し、部分積の数を順次減少させつつ樹木
    状の加算を行って一対の最終部分積を出力するワレス・
    ツリー部と、 前記最終部分積を加算することにより、前記被乗数と前
    記乗数との乗算結果を得る最終加算器とを備え、 前記ワレス・ツリー部の前記第i次加算器のそれぞれ
    は、前記乗算結果の特定の桁を境界として分離され、互
    いに異なる行に配置される上位加算器と下位加算器とを
    有する乗算装置。
  2. 【請求項2】 前記第1次加算器は一対設けられ、 一方の前記第1次加算器の前記上位加算器は、他方の前
    記第1次加算器の前記上位加算器よりも行方向に短く、 他方の前記第1次加算器の前記下位加算器は、一方の前
    記第1次加算器の前記下位加算器よりも行方向に短く、 前記一方の前記第1次加算器の前記上位加算器と、前記
    他方の前記第1次加算器の前記下位加算器とが同一の行
    に配置される、請求項1記載の乗算装置。
  3. 【請求項3】 前記部分積生成部の一端と、前記第i次
    加算器のそれぞれの一端とが同一の列に揃って配置され
    る、請求項2記載の乗算装置。
  4. 【請求項4】 前記部分積生成部のそれぞれが、前記第
    1次加算器の前記上位加算器に対応する上位部と、前記
    第1次加算器の前記下位加算器に対応する下位部とに分
    割され、 前記第1次加算器の前記上位加算器は、いずれかの前記
    部分積生成部の前記下位部と同じ行に配置され、 前記第1次加算器の前記下位加算器は、いずれかの前記
    部分積生成部の前記上位部と同じ行に配置される、請求
    項1記載の乗算装置。
  5. 【請求項5】 前記乗数に基づいてブースのアルゴリズ
    ムに従って前記複数の修正乗数をそれぞれ生成する複数
    のブース・エンコーダを更に備える、請求項1記載の乗
    算装置。
  6. 【請求項6】 前記部分積生成部のそれぞれが、前記第
    1次加算器の前記上位加算器に対応する上位部と、前記
    第1次加算器の前記下位加算器に対応する下位部とに分
    割され、 前記複数のブース・エンコーダの各々は、対応する前記
    部分積生成部の前記上位部と同一の行に配置される、請
    求項5記載の乗算装置。
  7. 【請求項7】 前記複数のブース・エンコーダは、それ
    ぞれが対応する前記部分積生成部の前記下位部と同一の
    行に配置される、請求項6記載の乗算装置。
  8. 【請求項8】 前記複数のブース・エンコーダの各々
    は、対応する前記部分積生成部の前記上位部及び前記下
    位部に挟まれて配置される、請求項7記載の乗算装置。
  9. 【請求項9】 前記第1次加算器の前記上位加算器は、
    いずれかの前記部分積生成部の前記下位部と同じ行に配
    置され、 前記第1次加算器の前記下位加算器は、いずれかの前記
    部分積生成部の前記上位部と同じ行に配置される、請求
    項6記載の乗算装置。
  10. 【請求項10】 前記複数のブース・エンコーダの各々
    は、対応する前記部分積生成部とは異なる前記部分積生
    成部の前記下位部または前記第i次加算器の前記下位加
    算器と、対応する前記部分積生成部の前記上位部との間
    に挟まれて配置される、請求項9記載の乗算装置。
  11. 【請求項11】 前記部分積生成部のそれぞれが、前記
    第1次加算器の前記上位加算器に対応する上位部と、前
    記第1次加算器の前記下位加算器に対応する下位部とに
    分割され、 前記部分積生成部のそれぞれの前記上位部及び前記下位
    部は異なる行に配置され、 前記複数のブース・エンコーダの各々は、対応する前記
    部分積生成部の前記上位部が配置される行と、対応する
    前記部分積生成部の前記下位部とが配置される行との間
    の行に配置される、請求項5記載の乗算装置。
  12. 【請求項12】 前記第1次加算器は一対設けられ、 一方の前記第1次加算器の前記下位加算器は、他方の前
    記第1次加算器の前記下位加算器に関して、他方の前記
    第1次加算器の前記上位加算器と反対側に配置される、
    請求項1記載の乗算装置。
  13. 【請求項13】 前記ワレス・ツリー部は、前記第i次
    加算器のそれぞれの前記下位加算器の最上位桁からそれ
    ぞれ得られるキャリーである下位キャリーを加算するキ
    ャリー用加算器を更に有し、 前記最終加算器は、前記一対の最終部分積の上位側であ
    る一方と、前記キャリー用加算器の出力との加算を行う
    前段加算器と、 前記前段加算器の出力と、前記一対の最終部分積の下位
    側である他方のうち、前記下位キャリーを除く部分とを
    入力して前記乗算結果を得る後段加算器とを有する、請
    求項1記載の乗算装置。
  14. 【請求項14】 前記ワレス・ツリー部は、前記第i次
    加算器の前記下位加算器の最上位桁からそれぞれ得られ
    る一対のキャリーである下位キャリー対の一方同士を加
    算するキャリー用加算器を更に有し、 前記第i次加算器の前記下位加算器の前記下位キャリー
    対の他方は、それぞれ前記第i次加算器の前記上位加算
    器の最下位桁のキャリー・インとして機能し、 前記最終加算器は、前記一対の最終部分積の上位側であ
    る一方と、前記キャリー用加算器の出力との加算を行う
    前段加算器と、 前記前段加算器の出力と、前記一対の最終部分積の下位
    側である他方のうち、前記下位キャリーを除く部分とを
    入力して前記乗算結果を得る後段加算器とを有する、請
    求項1記載の乗算装置。
  15. 【請求項15】 前記第i次加算器の前記下位加算器の
    前記下位キャリー対の一方は、それぞれ前記第i次加算
    器の前記上位加算器の最下位桁のキャリー・インとして
    機能し、 前記第i次加算器の前記下位加算器の前記下位キャリー
    対の他方は、前記第(i+1)次加算器の前記上位加算
    器の最下位桁の入力として機能する、請求項1記載の乗
    算装置。
JP04011196A 1996-02-27 1996-02-27 乗算装置 Expired - Lifetime JP3532338B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP04011196A JP3532338B2 (ja) 1996-02-27 1996-02-27 乗算装置
TW085108971A TW313653B (en) 1996-02-27 1996-07-23 The multiplication element
US08/686,072 US5867415A (en) 1996-02-27 1996-07-24 Multiplication element including a wallace tree circuit having adders divided into high and low order adders
KR1019960056860A KR100245944B1 (ko) 1996-02-27 1996-11-23 승산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04011196A JP3532338B2 (ja) 1996-02-27 1996-02-27 乗算装置

Publications (2)

Publication Number Publication Date
JPH09231056A JPH09231056A (ja) 1997-09-05
JP3532338B2 true JP3532338B2 (ja) 2004-05-31

Family

ID=12571752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04011196A Expired - Lifetime JP3532338B2 (ja) 1996-02-27 1996-02-27 乗算装置

Country Status (4)

Country Link
US (1) US5867415A (ja)
JP (1) JP3532338B2 (ja)
KR (1) KR100245944B1 (ja)
TW (1) TW313653B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100403938B1 (ko) * 1999-06-10 2003-11-01 한국전자통신연구원 대칭키 암호용 고속 (7, 3) 덧셈기
US6434587B1 (en) 1999-06-14 2002-08-13 Intel Corporation Fast 16-B early termination implementation for 32-B multiply-accumulate unit
JP4282193B2 (ja) * 2000-01-13 2009-06-17 株式会社ルネサステクノロジ 乗算装置
US7225217B2 (en) * 2001-10-09 2007-05-29 The Regents Of The University Of California Low-power Booth-encoded array multiplier
US6978426B2 (en) * 2002-04-10 2005-12-20 Broadcom Corporation Low-error fixed-width modified booth multiplier
US7313585B2 (en) * 2003-08-30 2007-12-25 Hewlett-Packard Development Company, L.P. Multiplier circuit
JP2005182238A (ja) * 2003-12-17 2005-07-07 Renesas Technology Corp 演算装置
US7433912B1 (en) 2004-02-19 2008-10-07 Sun Microsystems, Inc. Multiplier structure supporting different precision multiplication operations
JP5630870B2 (ja) * 2011-02-18 2014-11-26 ルネサスエレクトロニクス株式会社 半導体集積回路のレイアウト方法及びプログラム
CN111258545B (zh) * 2018-11-30 2022-08-09 上海寒武纪信息科技有限公司 乘法器、数据处理方法、芯片及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940002479B1 (ko) * 1990-03-20 1994-03-24 후지쓰 가부시끼가이샤 고속 디지탈 병렬승산기(multiplier)
US5325320A (en) * 1992-05-01 1994-06-28 Seiko Epson Area efficient multiplier for use in an integrated circuit
US5257217A (en) * 1992-05-01 1993-10-26 Seiko Epson Corporation Area-efficient multiplier for use in an integrated circuit
JP2859779B2 (ja) * 1992-06-17 1999-02-24 三菱電機株式会社 乗算器
JP3153370B2 (ja) * 1993-01-14 2001-04-09 三菱電機株式会社 乗算装置
US5504915A (en) * 1993-08-05 1996-04-02 Hyundai Electronics America Modified Wallace-Tree adder for high-speed binary multiplier, structure and method
JP2600591B2 (ja) * 1993-11-19 1997-04-16 日本電気株式会社 乗算器

Also Published As

Publication number Publication date
US5867415A (en) 1999-02-02
TW313653B (en) 1997-08-21
KR100245944B1 (ko) 2000-03-02
KR970062889A (ko) 1997-09-12
JPH09231056A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
US20110264719A1 (en) High radix digital multiplier
US6029187A (en) Fast regular multiplier architecture
Dadda Some schemes for parallel multipliers
KR940002479B1 (ko) 고속 디지탈 병렬승산기(multiplier)
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
JPH0215088B2 (ja)
JP3532338B2 (ja) 乗算装置
US4556948A (en) Multiplier speed improvement by skipping carry save adders
US6018758A (en) Squarer with diagonal row merged into folded partial product array
US5185714A (en) Arithmetic operation processing apparatus
US5122982A (en) Carry generation method and apparatus
US5111422A (en) Circuit arrangement for calculating product sums
US6065033A (en) Wallace-tree multipliers using half and full adders
US20020008648A1 (en) Apparatus and method for reducing power and noise through reduced switching by recoding in a monotonic logic device
US4700325A (en) Binary tree calculations on monolithic integrated circuits
US6978290B2 (en) Carry ripple adder
Wang et al. A new redundant binary number to 2's-complement number converter
JPH0312738B2 (ja)
US6125379A (en) Parallel VLSI shift switch logic devices
Ragunath et al. Delay optimized binary to BCD converter for multi-operand parallel decimal adder
JPH056892B2 (ja)
US20050044125A1 (en) 4-2 Compressor
US5944777A (en) Method and apparatus for generating carries in an adder circuit
KR970005175A (ko) 파이프라인 구조에 근거한 곱셈/나눗셈 공유 처리기 구조
Jaberipur et al. Modulo-(2 q− 3) Multiplication with Fully Modular Partial Product Generation and Reduction

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040303

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080312

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9