JP3153370B2 - 乗算装置 - Google Patents

乗算装置

Info

Publication number
JP3153370B2
JP3153370B2 JP00496493A JP496493A JP3153370B2 JP 3153370 B2 JP3153370 B2 JP 3153370B2 JP 00496493 A JP00496493 A JP 00496493A JP 496493 A JP496493 A JP 496493A JP 3153370 B2 JP3153370 B2 JP 3153370B2
Authority
JP
Japan
Prior art keywords
bit
redundant binary
output
carry
circuit
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
Application number
JP00496493A
Other languages
English (en)
Other versions
JPH06214755A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP00496493A priority Critical patent/JP3153370B2/ja
Priority to DE69328414T priority patent/DE69328414T2/de
Priority to EP93120383A priority patent/EP0606611B1/en
Priority to US08/168,498 priority patent/US5473559A/en
Publication of JPH06214755A publication Critical patent/JPH06214755A/ja
Application granted granted Critical
Publication of JP3153370B2 publication Critical patent/JP3153370B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two
    • 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/4824Methods 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 using signed-digit representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は多ビット2進数の乗算
を行なうための乗算装置に関し、特に半導体素子を含む
電子回路により構成される乗算装置に関する。
【0002】
【従来の技術】多ビット2進数XおよびYの乗算を行な
う場合、ブース(Booth)のアルゴリズムがよく利
用される。生成される部分積の数を低減し、乗算を効率
的に行なうためである。ブースアルゴリズムとは、補数
表示された負の数を補正なしに乗算する手法である。
【0003】ブースのアルゴリズムにおいては、乗数Y
のデータビットがグループに分割される。図30に乗数
Yのグループ分割の一例を示す。図30においては、2
次のブースアルゴリズムに対するグループ分割が示され
る。各グループは3ビットのデータビットを含む。隣接
グループ間で1ビットが共用される(図30においては
斜線で示す)。1つのグループにより1つの部分積が生
成される。部分積の数は2次のブースアルゴリズムの場
合、約1/2となる。一般に、1つのグループがmビッ
トを含むとき、(m−1)次のブースのアルゴリズムと
呼ばれ、生成される部分積の数は約1/(m−1)とな
る。ブースのアルゴリズムについて以下に式を用いて説
明する。
【0004】乗数Yは、2の補数表示形式では次式
(1)で表わされる。
【0005】
【数3】
【0006】式(1)において、ynは符号ビットであ
り、この乗数Yが正であるか負であるかを示す。データ
ビットyiは2進数値(1または0)である。各ビット
に付されている2j は各データビットの2進重み付けで
ある。
【0007】式(1)において、nが偶数でありかつy
0=0とすると、乗数Yは次式(2)に示されるように
展開される。
【0008】
【数4】
【0009】乗数Yと被乗数Xとの積X・Yは、部分
積、(y2i+y2i+1−2・y2i+2)・22 i
・X、の和で与えられる。したがって、3ビットy2
i、y2i+1、およびy2i+2の値がわかれば、そ
の部分積生成に必要とされる演算が決定される。この3
ビットy2i、y2i+1、およびy2i+2のビット
値とそのときに実行される演算との関係を図31に示
す。
【0010】図31に明らかに見られるように、2次の
ブースのアルゴリズムにおいて行なわれる演算は0、±
X、および±2Xである。被乗数Xの2倍すなわち2・
Xは被乗数を1ビット上位ビット方向にシフトさせるシ
フト回路により生成される。“−”演算は、被乗数Xが
2の補数表示であるため、各ビット値の反転と最下位ビ
ットに1を加算することにより実現される。したがっ
て、この乗数Yの3ビットの値によりそのときに実行さ
れる演算を決定すれば、積演算を高速で行なうことがで
きる。
【0011】図32は、たとえば特開平3−17792
2号公報に示された、従来の乗算装置の全体の構成を示
す図である。この乗算装置は、2の補数で表現された8
ビット乗数Yと2の補数で表現された8ビット被乗数X
との乗算を2次のブースアルゴリズムに従って実行す
る。
【0012】図32を参照して、乗算装置は、乗数Yの
各ビットグループのビットに従って、各グループごとに
行なわれるべき演算を指定する制御信号を生成する符号
化回路500と、符号化回路500からの制御信号に応
答して被乗数Xに対し指定された演算を実行し部分積群
を生成する部分積生成回路502とを含む。
【0013】符号化回路500は、被乗数Xの3ビット
のグループごとに設けられるブースエンコーダ1、2、
3および4を含む。ブースエンコーダ1の入力に接地電
位が与えられているのは、2次のブースアルゴリズムに
おいては、最下位ビットが0に設定されるためである。
【0014】部分積生成回路502は、符号化回路50
0から信号線(複数の信号線を含むバス構成である)
5、6、7および8上に与えられる制御信号に応答し
て、それぞれ被乗数Xに対し演算を実行して部分積を生
成する、シフタおよびインバータ回路を含むシフタ/イ
ンバータ回路9、10、11および12を含む。
【0015】乗算装置はさらに、部分積生成回路502
から生成された4つの部分積(バス13、14、15お
よび16上に与えられる)を加算して中間段階の加算結
果を生成するワレストリー型の加算器配置を有するワレ
ストリー加算回路17と、ワレストリー加算回路17か
らの中間加算結果を示す1対の16ビットデータ(バス
18上に与えられる)を加算する最終加算器19を含
む。最終加算器19から乗数Yと被乗数Xとの積X・Y
を示す16ビット(z0〜z15)の2の補数表示され
た2進数Zが出力される。次に動作について説明する。
【0016】符号化回路500へ乗数Yが与えられ、部
分積生成回路502へ被乗数Xが与えられる。符号化回
路500に含まれるブースエンコーダ1〜4の各々は、
与えられた隣接する3ビットyj+1、yj、およびy
j−1(ただし、j=1〜6)に対し、図31に示す関
係に従って実行されるべき演算を指定するための制御信
号を生成する。
【0017】ブースエンコーダ1〜4それぞれに対応し
て設けられるシフタ/インバータ回路9−12の各々は
図33に示すような構成を有し、与えられた制御信号5
〜8に従って乗数Yから部分積を生成する。
【0018】図33(A)には、シフタ/インバータ回
路9を示す。残りのシフタ/インバータ回路10−12
も同じ構成を備える。シフタ/インバータ回路9は、対
応のブースエンコーダ1から与えられる制御信号5を受
ける。制御信号5は制御信号φ0、φX、φ2X、およ
びφIVを含む。バスとその上の信号を同一参照符号で
示す。
【0019】制御信号φ0は“0演算”を指定する。制
御信号φXは“X演算”を指定する。制御信号φ2Xは
“2X演算”を指定する。制御φIVは“−演算”を指
定する。ブースエンコーダは、エンコード結果に従って
制御信号φ0、φX、φ2X、およびφIVを選択的に
活性状態とする。
【0020】シフタ/インバータ回路9は、制御信号φ
0が与えられたとき、乗数Xの全ビットを“0”に設定
する。シフタ/インバータ回路9は、制御信号φXが与
えられると、乗数Xに対し演算は行なわない。制御信号
φ2Xが与えられると、シフタ/インバータ回路9は乗
数Xを1ビット上位方向にシフトさせて2・Xの演算を
実行する。制御信号φIVが活性状態となると、シフタ
/インバータ回路9は制御信号φXまたはφ2Xに従っ
て生成された中間データの各ビット値を反転しかつ最下
位ビットに1を加える。これにより、シフタ/インバー
タ回路9からは制御信号φ0、φX、φ2X、およびφ
IVに従って、0、±X、および±2・Xのいずれかの
演算が施された結果が部分積として出力される。
【0021】図33(B)はこのシフタ/インバータ回
路9の機能的構成を示す図である。図33(B)におい
て、シフタ/インバータ回路は、被乗数Xの全ビット値
を0に設定する0発生器610と、被乗数Xを演算を行
なわずに通過させるX発生器612と、被乗数Xの各ビ
ットを1ビット上位方向にシフトさせて2・Xを生成す
る2X発生器614と、制御信号φIVに応答して、X
発生器612の出力の各ビット値を反転または正転して
出力する論理ゲート618と、制御信号φIVに応答し
て、2X発生器614の出力の各ビット値を反転または
正転して出力する論理ゲート620を含む。
【0022】論理ゲート618は、X発生器612の出
力の各ビットに対して設けられるEXORゲートを含
む。論理ゲート620は、2X発生器614の出力の各
ビットに対応して設けられるEXOR回路を含む。EX
OR回路は、制御信号φIVが“H”の活性状態となっ
たとき、インバータ回路として機能し、制御信号φIV
が“L”のとき、バッファ回路として機能する。
【0023】シフタ/インバータ回路9はさらに制御信
号φIVに応答して、ビット値“1”を発生する1発生
器616と、制御信号φ0、φX、およびφ2Xにそれ
ぞれ応答して、0発生器610、論理ゲート618、お
よび論理ゲート620の出力を通過させる選択ゲート6
22を含む。選択ゲート622は制御信号φ0に応答し
て0発生器610の出力を通過させる転送ゲート621
と、制御信号φXに応答して論理ゲート618の出力を
通過させる転送ゲート623と、制御信号φ2Xに応答
して論理ゲート620の出力を通過させる転送ゲート6
25を含む。
【0024】1発生器616は、制御信号φIVが活性
状態となったときビット値“1”を生成する。すなわ
ち、“−”演算が行なわれたときにビット値“1”が生
成され、符号反転演算時における補正ビットを生成す
る。この補正ビットは、また、“−”演算すなわち符号
反転演算が行なわれたときに“1”となるため、この補
正ビットはまた被乗数Xとそこから生成される部分積と
の符号の異同を示す表示ビットとしても機能する。
【0025】部分積生成回路502(図1参照)で生成
された4つの部分積13−16は、図34に示す構成を
有するワレストリー加算回路17で加算される。
【0026】図34を参照して、ワレストリー加算回路
17は、2段の全加算回路17aおよび17bを含む。
全加算回路17aおよび17bは、それぞれ部分積の各
桁に対応して設けられる3入力2出力の全加算器を含む
が、図34においては、部分積の第(i−1)桁、第i
桁、および第(i+1)桁に対応して設けられる全加算
器21、22、23、24、25および26を示す。全
加算器21−26の各々は、3入力を加算し、その加算
結果を示すキャリー出力COおよびサム出力Sを生成す
る。第1段の全加算回路17aは3つの部分積13〜1
5を加算し、第2の全加算回路17bは、第1段の全加
算回路17aの出力と部分積16の加算を行なう。図3
4においては、部分積13〜15の各ビット値をaj、
bj、およびcjで示し、第4の部分積16のビット値
をdjで示す。
【0027】ワレストリー構成においては、第1段の全
加算器のキャリー出力は第2段の全加算回路の1ビット
上位の全加算器の第1の入力へ与えられ、サム出力は第
2段の全加算回路の同一桁の全加算器の入力へ与えられ
る。たとえば、第i桁に設けられた全加算器23は、3
ビットai、bi、およびciを加算し、そのキャリー
出力COを次段の全加算器26の入力へ与え、そのサム
出力を全加算器24の入力へ与える。
【0028】第2段の全加算回路17bに含まれる全加
算器24は、第i桁に設けられた全加算器23のサム出
力Sと、部分積16のビットdiと、第1段の全加算回
路17aの第(i−1)桁の全加算器21のキャリー出
力COとを受け、キャリー出力COi+1およびサム出
力Siを生成する。この演算が部分積の各桁に対して行
なわれ、4ビットのデータai、bi、ci、およびd
iが2ビットCOiおよびSiに低減される。すなわ
ち、4つの部分積13〜16が2つの16ビットデータ
(SとCO)に減少する。
【0029】上述のようにして生成された中間段階の2
つの16ビットデータSおよびCOは、図35に示す構
成を備える最終加算器19により加算され、積X・Yを
示す16ビット(z15−z0)のデータZが生成され
る。
【0030】図35を参照して、最終加算器19は、桁
上げが生じるか否かを予め判定する桁上げ先見部19a
と、桁上げ先見部19aのキャリー出力と2つの16ビ
ットデータSおよびCOとを加算する加算部19bを含
む。
【0031】桁上げ先見部19aは、2つの16ビット
データSおよびCOの最下位4ビットCO0〜CO3お
よびS0〜S3に対して設けられる第1の桁上げ先見回
路(CLA)37と、2つのデータSおよびCOの中位
4ビットCO4〜CO7およびS4〜S7に対して設け
られる第2の桁上げ先見回路38と、2つのデータSお
よびCOの最上位4ビットCO8〜CO11およびS8
〜S11に対して設けられる第3の桁上げ先見回路39
を含む。第1の桁上げ先見回路37からキャリー生成信
号G0が生成される。第2および第3の桁上げ先見回路
38および39からはキャリー生成信号Gおよびキャリ
ー伝搬信号Pが生成される。
【0032】桁上げ先見部19aはさらに、この第1お
よび第2の桁上げ先見回路37および38の出力を受
け、キャリーCC1を生成する第4の桁上げ先見回路4
0と、第1、第2および第3の桁上げ先見回路37、3
8および39の出力を受け、キャリーCC2を生成する
第5の桁上げ先見回路41を含む。
【0033】桁上げ先見回路の具体的構成および動作に
ついては、たとえば“PRINCIPLES OF C
MOS VLSI DESIGN”,N.H.E.We
ste他著,Addison−Wesley出版社,1
985年発行の第320頁−第321頁に示されている
が、以下に簡単にその動作原理について説明する。
【0034】通常、iビット目のキャリーCiは、2つ
の入力SiとCOiおよび下位ビット(すなわち(i−
1)桁)のキャリーCi−1を用いて、次式(3)ない
し(5)で表わされる。
【0035】
【数5】
【0036】図35に示す構成においては、16ビット
のデータを4ビット単位で4つの組に分割する。各組に
おいてキャリーを求めるための制御信号を発生させる。
この発生された制御信号を用いて4ビット目、8ビット
目および第12ビット目までのキャリーを先見的に見出
す。第1の桁上げ先見回路37は、最下位4ビットに関
するキャリーを発生させる。この桁上げ先見回路37が
生成するキャリーCC0は、式(3)から次式(6)で
与えられる。
【0037】 CC0=g3+p3・(g2+p2(g1+p1(g0+p0・C−1))) =g3+p3・g2+p3・p2・g1+p3・p2・p1・g0 +p3・p2・p1・p0・C−1 =G0+P0・C−1 …(6) ここで、 G0=g3+p3・g2+p3・p2・g1+p3・p2・p1・g0 …(7) P0=p3・p2・p1・p0 …(8) である。ただし、C−1は、最下位ビットに対するキャ
リー入力であり、ここでは0である。したがって、 CC0=G0 …(9) となる。すなわち、第1の桁上げ先見回路37は、式
(7)に従って4ビット目のキャリー出力CC0を求め
る。また、第2および第3の桁上げ先見回路38および
39は、同一の構成を有している。第2の桁上げ先見回
路38は、入力S4〜S7およびCO4〜CO7に対し
て、前述の式(4)、(5)、(7)および(8)に従
って、 G1=g7+p7・g6+p7・p6・G5+p7・p6・p5・G4 …(10) P1=p7・p6・p5・p4 …(11) を生成する。同様に、第3の桁上げ先見回路39は、入
力S8〜S11およびCO8〜CO11に対して、 G2=g11+p11・g10+p11・p10・G9 +p11・p10・p9・G8 …(12) P2=p11・p10・p9・p8 …(13) を発生する。
【0038】第4の桁上げ先見回路40は、第1および
第2の桁上げ先見回路37および38の出力CC0、G
1およびP1から次式(14)に従って8ビット目のキ
ャリー出力CC1を生成する。
【0039】 CC1=G1+P1・CC0 …(14) 第5の桁上げ先見回路41は、第1ないし第3の桁上げ
先見回路37ないし39の出力CC0、G1、P1、G
2およびP2から次式に従って12ビット目のキャリー
出力CC2を発生する。
【0040】 CC2=G2+P2・G1+P2・P1・CC0 …(15) この構成により、4ビットごとのキャリー出力CC0、
CC1およびCC2を並列に求めることができる。
【0041】加算部19bは、2つの入力SおよびCO
の4ビットの組それぞれに対して設けられる4つのリッ
プルアダー(RA)42〜45を含む。リップルアダー
42は、S0〜S3およびC0〜C3を加算し、4ビッ
トデータz0〜z3を生成する。リップルアダー43
は、キャリーCC0を受け、ビットS4〜S7およびC
O4〜CO7の加算を実行し、4ビットデータz4〜z
7を生成する。リップルアダー44は、キャリーCC1
を受け、ビットS8〜S11およびCO8〜CO11の
加算を実行し、4ビットデータz8〜z11を生成す
る。リップルアダー45は、キャリーCC2を受け、ビ
ットS12〜S15およびCO12〜CO15の加算を
実行し、4ビットデータz12〜z15を生成する。
【0042】リップルアダー42〜45の各々は同一の
構成を備え、図36に示すように、4つの全加算器65
0−0〜650−3を含む。リップルアダーにおいて
は、下位ビット側の全加算器のキャリー出力Coutが
上位側のキャリー入力Cへ与えられる。すなわち、リッ
プルアダーにおいては最下位ビットに設けられた全加算
器のキャリー出力Coutが順次上位ビット側へキャリ
ー入力として伝達される。最上位ビット位置に設けられ
た全加算器650−3のキャリー出力は既に桁上げ先見
部19aにより求められている。キャリーの伝搬を全加
算器3段分とすることができ、キャリー伝搬に伴う遅延
を低減し、演算の高速化を図る。
【0043】この図35に示すようなリップルアダー4
2〜45により、積X・Yの各データビットz15〜z
0がそれぞれ並列に出力される。
【0044】
【発明が解決しようとする課題】ワレストリー加算回路
17および最終加算器19に含まれる全加算器の構成の
一例を図37に示す。図37を参照して、全加算器は、
入力Aおよび入力Bを受けるAND回路27と、入力B
および入力Cを受けるAND回路28と、入力Aと入力
Cとを受けるAND回路29と、AND回路27ないし
29の出力を受ける3入力OR回路30と、入力Aおよ
びBを受けるXOR回路31と、XOR回路31の出力
と入力Cとを受けるXOR回路32を含む。OR回路3
0はキャリーCoutを出力し、XOR回路32はサム
出力Soutを生成する。この全加算器は次式に従って
キャリーおよびサムを生成する。
【0045】
【数6】
【0046】XOR回路は、2入力VおよびWに対し、
V・/W+/V・Wの演算を行なう。すなわち、XOR
回路は、等価的に論理積演算とそれに続く論理和演算と
を実行しており、その遅延時間はAND回路およびOR
回路より大きい。したがって図37に示す構成の全加算
器の遅延時間は2段のXOR回路の遅延時間により決定
される。ワレストリー加算回路は各ビットが2段の全加
算器で構成される。したがってワレストリー加算回路に
おける遅延時間はXOR回路の4段の遅延時間となる。
【0047】図38は、AND回路の一般的構成例を示
す図である。図38において、全加算器は、電源電位V
cc供給ノードと内部ノードNDとの間に並列に設けら
れ、それぞれのゲートに入力BおよびAを受けるpチャ
ネルMOSトランジスタTr1およびTr2と、ノード
NDと接地電位との間に直列に接続され、それぞれのゲ
ートに入力AおよびBが与えられるnチャネルMOSト
ランジスタTr3およびTr4と、ノードND上の電位
を反転する相補接続されたpチャネルMOSトランジス
タTr5およびTr6から構成されるインバータ回路と
を含む。すなわち、AND回路は、6個のトランジスタ
を含む。3入力OR回路は出力充電用のトランジスタお
よび出力放電用のトランジスタで合計6個のトランジス
タを必要とする。XOR回路は、2個のAND回路と1
個のOR回路を最低限必要とする。すなわち、全加算器
はMOSトランジスタで構成した場合30個以上のトラ
ンジスタを必要とする。
【0048】ワレストリー加算回路において1ビットに
必要とされるトランジスタとしては、全加算器が2段で
あるため合計60以上のトランジスタが必要とされる。
このため回路構成が大きくなるという問題があるととも
に、この回路における遅延が大きくなり、高速乗算に対
する障害となるという欠点があった。
【0049】特に、乗算は計算機システムにおける重要
な演算要素であり、科学技術計算および画像処理などの
用途においては、乗算の速度がシステム全体の演算速度
を決定する。このため乗算装置に対しては高速性が要求
される。この高速性に対する要求はさらに強くなるが、
従来のワレストリー加算回路および最終加算回路の構成
においては全加算器における遅延が大きく十分な乗算速
度を実現することができないという欠点があった。
【0050】また、ワレストリー加算回路の場合、3入
力2出力の全加算器が利用される。この場合、図34に
示すように、部分積の各ビット値を伝達する信号線が全
加算器を超えて延びる。さらに、処理されるべき乗数お
よび被乗数のビット数が増加した場合、応じて部分積の
数も増加する。この場合、全加算回路の段数が増加する
が、その場合全加算器の出力を次段の全加算器に接続す
る際の配線における規則性が乏しい(3入力2出力全加
算器の場合、出力の延びる方向が一定していない)。こ
のため極めて複雑な配線の配置が必要とされるため、レ
イアウトの設計に時間を要し、設計時間が長くなるとい
う問題が生じる。
【0051】図35は、乗数Yと被乗数Xの乗算時に生
成される部分積および積結果を示す図である。部分積1
3ないし16それぞれに対し、補正ビットsa0、sb
2、sc4、およびsd6が発生する。この部分積13
〜16および補正ビット33〜36を加算することによ
り積Zが生成される。実際の加算において、補正ビット
はそれぞれ上位側の部分積の対応のビット位置に挿入さ
れて加算が実行され、最終的に補正ビットsd6を別に
加算する方法がとられてもよい。また、この補正ビット
33〜36から生成されるデータ(sd6、0、sc
4、0、sb2、0、sa0)を1つの部分積として加
算する手法がとられてもよい。
【0052】図39に示すように、部分積の上位ビット
には同一のビット値が繰返し配置される。2の補数表示
であるため、部分積の最上位ビットが負の数を示す1の
場合、それより上位ビットのビット値は1とする必要が
生じる。2の補数表示では負の数は各ビット値の反転値
をとる必要があるためである。たとえば部分積13にお
いて第9ビット目のビット値a8が1の場合、この部分
積は負の数である。この部分積13を16ビット表示す
る場合には、第10ビット以上をすべて1とする必要が
生じる。
【0053】このため、2の補数表示で部分積を表現す
る場合には、上位ビットに向けて余分のビットを追加す
る必要がある。この追加のビットを処理するためにワレ
ストリー加算回路において同様に全加算器が必要とさ
れ、装置規模およびレイアウトの面積が大きくなるとい
う問題が生じる。
【0054】それゆえ、この発明の目的は、高速で乗算
を行なうことのできる乗算装置を提供することである。
【0055】この発明の他の目的は、素子数の少ない乗
算装置を提供することである。この発明のさらに他の目
的は、小占有面積の乗算装置を提供することである。
【0056】
【課題を解決するための手段】この発明に係る乗算装置
の主要特徴は、生成される部分積の一部の正/負を反転
し、符号非反転の部分積と符号反転の部分積とから冗長
2進数を生成し、この冗長2進数を加算して中間和を生
成した後、中間和を示す冗長2進数を通常の2進数に変
換して積を算出する構成である。
【0057】請求項1に係る乗算装置は、第1の多ビッ
ト2進数と第2の多ビット2進数とから複数の部分積を
生成する部分積生成手段を含む。この部分積生成手段
は、生成されるべき複数の部分積のうち一部の部分積の
正/負を示す符号を反転させかつ残りの生成されるべき
部分積の符号を非反転として複数の部分積を生成する。
【0058】請求項1に記載の乗算装置は、さらに、1
つの符号反転された部分積と1つの符号非反転の部分積
とから1つの冗長2進数が生成されるように複数の部分
積から複数の多ビット冗長2進数を生成する冗長2進数
生成手段と、この複数の多ビット冗長2進数を冗長2進
加算して、最終的に1つの冗長2進数を生成する冗長加
算手段と、この最終的に生成された1つの冗長2進数を
通常の2進数に変換して第1の多ビット2進数と第2の
多ビット2進数との積を示す多ビット2進数を生成する
最終積生成手段とを備える。
【0059】請求項2に係る乗算装置は、請求項1にお
ける部分積生成手段が、所定数のビットを単位として第
1の多ビット2進数をエンコードして生成されるべき部
分積を示す複数の制御信号を生成するエンコード手段
と、このエンコード手段からの制御信号と第2の多ビッ
ト2進数とから複数の部分積を生成する手段を含む。こ
のエンコード手段は、生成されるべき部分積のうち一部
の部分積の符号が反転されるように制御信号を生成す
る。
【0060】請求項3に係る乗算装置は、請求項1の乗
算装置における部分積生成手段が、第1の多ビット2進
数をエンコードして生成されるべき部分積を示す複数の
制御信号を出力するエンコード手段と、複数の制御信号
と第2の多ビット2進数とに従って複数の部分積を生成
するシフト/インバータ手段を含む。このシフト/イン
バータ手段は、複数の制御信号のうちの一部に対し、こ
の制御信号が示す生成されるべき部分積の符号を反転し
て部分積を生成する手段を含む。
【0061】請求項4に記載の乗算装置は、請求項1に
記載の部分積生成手段が、第1の多ビット2進数の各ビ
ットと第2の多ビット2進数との論理積をとって部分積
を生成する手段と、第1の多ビット2進数の最上位ビッ
トを除くビットの一部のビットに対する部分積の符号を
反転させる手段とを含む。
【0062】請求項5に記載の乗算装置は、請求項1記
載の部分積生成手段が、第1の多ビット2進数の各ビッ
トと第2の多ビット2進数との論理積をとって部分積を
生成する手段と、この第1の多ビット2進数の最上位ビ
ットを含む一部のビットに対し部分積の符号を反転させ
る手段とを含む。
【0063】請求項6に記載の乗算装置は、請求項1記
載の部分積生成手段が、隣接する2つの部分積を1つの
組とし、1つの組において一方の部分積の符号を反転さ
せる手段を含む。
【0064】請求項7記載の乗算装置は、請求項1にお
いて生成される冗長2進数が、部分積の対の同一桁ビッ
トに関しビット対が(0,1)のとき−1、(0,0)
または(1,1)のとき0、および(1,0)のとき1
となる3値を有する。
【0065】請求項8記載の乗算装置は、請求項7にお
ける乗算装置において生成される冗長2進数のビットが
(1,1)のとき(0,0)に変換し、残りのビット値
の組合せに対しては無変換で出力する手段を含む。
【0066】請求項9記載の乗算装置は、請求項1の冗
長2進数生成手段が、部分積の対の各桁に対応して設け
られ、非反転部分積の対応のビットと反転部分積の対応
のビット値の反転との論理積をとる第1の論理積手段
と、非反転部分積の対応のビット値の反転値と反転部分
積の対応のビット値との論理積をとる第2の論理積手段
とを含み、この第1および第2の論理積手段の出力が冗
長2進数の1ビットを表現する。
【0067】請求項10記載の乗算装置は、請求項1に
おいて生成される冗長2進数が少なくとも1、0、−1
の3値を含んでおり、かつ部分積生成手段が複数の冗長
2進数のうちの少なくとも一部に対し最上位ビットから
下位ビットに向かって同一の値の冗長2進ビットが複数
個連続するときにはこの連続する複数冗長2進ビットの
うち最上位ビットを除く任意のビット値の符号を反転
し、かつ符号反転されたビットより上位のビット値をす
べて0とする手段を含む。
【0068】請求項11記載の乗算装置は、請求項1の
冗長2進数生成手段が、組となる部分積において、各ビ
ットの対が最上位から下位ビットへ向かって連続して同
一ビット値の組となるときにはこの連続する複数組のビ
ットのうち最上位ビットを除くいずれかの組のビット値
をともに反転させかつこの反転されたビット値の組より
上位のビット値をすべて同一の値とする手段を含む。
【0069】請求項12記載の乗算装置は、請求項1の
部分積生成手段が、各部分積に対し該部分積が第2の多
ビット2進数と符号が同一であるか否かを示す表示ビッ
トを部分積に対応して生成する手段を含んでおり、また
冗長2進数生成手段がこの表示ビットのすべてまたは一
部から冗長2進数を生成する手段を含む。
【0070】請求項13記載の乗算装置は、請求項1の
乗算装置において、複数の部分積の各々が第2の多ビッ
ト2進数と符号が同一であるか否かを示す表示ビットを
有しており、かつ部分積生成手段は、各表示ビットを第
1の多ビット2進数の上位のビットから生成される部分
積の対応のビット位置に付加する手段を含む。
【0071】請求項14記載の乗算装置は、請求項1の
乗算装置において、冗長2進数の各ビットが上位ビット
aと下位ビットbの組(a,b)により表現されてお
り、冗長2進加算手段は、多ビット冗長2進数の必要桁
に対して設けられる複数のビット2進加算器を含む。こ
の第iビット(ai,qi)と第2の第iビット(c
i,ri)とから(hi+ ,hi- )を生成する冗長2
進加算器が、ビットaiとビットqiの配排他的論理和
をとる第1の論理ゲートとビットciとビットriとの
排他的論理をとる第2の論理和ゲートとこの第1および
第2の論理和ゲートの出力の排他的論理和をとる第3の
論理和ゲートを含む第1の論理手段と、/{(/ai・
qi)+(/ci・ri)}の演算を行なう第2の論理
手段と、(ai・/qi)+(ci・/ri)の演算を
行なう第3の論理手段と、1ビット下位の冗長2進加算
器の第2の論理手段の出力と第1の論理手段の出力の排
他的論理和演算を行なう第4の論理ゲートと、第1の論
理手段の出力に従って1ビット下位の冗長2進加算器の
第2の論理手段の出力と第3の論理手段の出力の一方を
通過させるセレクタと、1ビット下位の冗長2進加算器
のセレクタの出力と排他的論理和手段の出力との否定論
理積をとる論理積手段と、1ビット下位の冗長2進加算
器のセレクタの出力と排他的論理和手段の出力との論理
和をとる論理和手段とを含む。否定論理積手段の出力と
論理和手段の出力が第iビットの冗長2進加算器の出力
(hi+ ,hi- )を与える。
【0072】請求項15記載の乗算装置は、請求項14
の乗算装置であって、第4の論理ゲートおよび第1の論
理手段の少なくとも一方が、モジュール2の加算を行な
うために、一方の入力を制御信号として他方の入力を選
択的に通過させるトランスミッションゲートを含む。
【0073】請求項16記載の乗算装置は、請求項14
の第4の論理ゲートおよび第1の論理手段の少なくとも
一方が、一方の入力を制御信号とし他方の入力を選択的
に通過させる電界効果トランジスタと、この電界効果ト
ランジスタの出力の電位低下を補償する手段とを含む。
【0074】請求項17記載の乗算装置は、請求項14
記載の第1ないし第3の論理手段、セレクタ手段および
第4の論理ゲートの少なくとも1つが互いに相補な信号
を出力する手段を含む。
【0075】請求項18記載の乗算装置は、請求項1記
載の冗長2進数生成手段が、この冗長2進数生成手段
は、部分積の対の対応のビットの対が多ビット冗長2進
数の対応のビットを表現するように各部分積の対から多
ビット冗長2進数を生成する手段と、生成された多ビッ
ト冗長2進数の各ビットに対し、上位ビットa+ と下位
ビットa- の対(a+ ,a- )が(1,1)のとき
(0,0)に変換し、残りのビット値の組合せに対して
は無変換として3値冗長2進ビットを生成する変換手段
とを含む。
【0076】請求項18の乗算装置は、冗長2進加算手
段が、この変換手段から生成された第1および第2の多
ビット冗長2進数の対の必要なビットに対して設けられ
る複数の冗長2進加算器を含む。第i桁の第1の冗長2
進ビット(e+ ,e- )と第i桁の第2の冗長2進ビッ
ト(f+ ,f- )とから第3の冗長2進ビット(h+
- )を生成する冗長2進加算器は、演算/(/e+
/e- )と演算/(/f+ ・f- )との排他的論理和を
とる第1の論理手段と、(/e- ・/f- )の演算を行
なう第2の論理手段と、/(/e+ ・/f+ )の演算を
行なう第3の論理手段と、1ビット下位の冗長2進加算
器の第2の論理手段の出力と第1の論理手段の出力との
モジュール2の加算を行なう第4の論理手段と、第1の
論理手段の出力に応答して第3の論理手段の出力および
1ビット下位の冗長2進加算器の第2の論理手段の出力
の一方を通過させるセレクタと、1ビット下位の冗長2
進加算器のセレクタ手段の出力と第1の論理手段の出力
との否定論理積をとって第3の冗長2進ビットの上位ビ
ットh+ の反転値/h+ を生成する手段と、第4の論理
手段の出力と1ビット下位の冗長2進加算器のセレクタ
手段の出力との論理和をとって第3の冗長2進ビットの
下位ビットh- の反転値/h- を生成する手段とを含
む。
【0077】請求項19記載の乗算装置は、請求項18
記載の第2の論理手段およびセレクタ手段が、互いに相
補な1対の出力信号を生成する手段を含む。
【0078】請求項20記載の乗算装置は、請求項18
記載の第1ないし第4の論理手段は互いに相補な1対の
出力信号を生成する手段を含む。
【0079】請求項21記載の乗算装置は、請求項19
の第1および第4の論理手段の少なくとも一方が、一方
の入力を制御信号として他方の相補対の入力の一方を通
過させることによりモジュール2の加算を行なうトラン
スミッションゲートを含む。
【0080】請求項22記載の乗算装置は、請求項1の
乗算装置において、請求項1記載の冗長2進数生成手段
が、部分積の対の対応のビットの対が多ビット冗長2進
数の対応のビットを表現するように各部分積の対から多
ビット冗長2進数を生成する生成手段と、生成された多
ビット冗長2進数の各ビットに対し上位ビットa+ と下
位ビットa- の対(a+ ,a- )が(1,1)のとき
(0,0)に変換し、残りのビット値の組合せに対して
無変換として3値冗長2進ビットを生成する変換手段と
を含む。冗長2進加算手段は、この変換手段から生成さ
れた第1および第2の多ビット冗長2進数の対の必要な
ビットに対して設けられる複数の冗長2進加算器を含
む。
【0081】請求項22記載の冗長2進加算器は、/
(/e+ ・/e- )の演算を行ない、(/e+ ・/
- )と/(/e+ ・/e- )の演算を結果をそれぞれ
示す信号を生成する第1の論理ゲート手段と、演算/
(/f+ ・/f- )を行ない、(/f + ・/f- )と/
(/f+ ・/f- )の演算結果を示す信号を発生する第
2の論理ゲート手段と、演算/(/e+ ・/f+ )の否
定論理積演算を行ない出力する第3の論理ゲート手段
と、演算(/e- ・/f- )を行なってこの演算結果お
よびこの演算結果の反転値を示す信号をそれぞれ発生す
る第4の論理ゲート手段と、第1の論理ゲート手段の出
力に応答して第2の論理手段の相補な出力の一方を通過
させる第1のトランスミッションゲート手段を含む。こ
の第1のトランスミッションゲート手段は互いに相補な
出力信号を生成する手段を含む。
【0082】この冗長2進加算器はさらに第1のトラン
スミッションゲート手段の出力に応答して、1ビット下
位の冗長2進加算器の第4の論理ゲート手段の相補な出
力信号の一方を通過させる第2のトランスミッションゲ
ート手段を含む。この第2のトランスミッションゲート
手段は互いに相補な出力信号を生成する手段を含む。
【0083】さらにこの冗長2進加算器は第1のトラン
スミッションゲート手段の出力に応答して1ビット下位
の冗長2進加算器の第4の論理ゲート手段からの否定論
理積を示す信号と第3の論理ゲート手段の出力の一方を
通過させる第3のトランスミッションゲート手段を含
む。この第3のトランスミッションゲート手段は正転お
よび反転の1対の相補信号を生成する手段を含む。
【0084】この冗長2進加算器はさらに、第2のトラ
ンスミッションゲート手段の補の出力信号と1ビット下
位の冗長2進加算器の第3のトランスミッションゲート
手段の真の出力信号との否定論理積をとって第3の冗長
ビットの上位ビットh+ の反転値/h+ を生成する論理
ゲートと、第2のトランスミッションゲート手段の真の
出力信号と1ビット下位の冗長2進加算器の第3のトラ
ンスミッションゲート手段の補の出力信号との否定論理
積をとって第3の冗長2進ビットの下位ビットh- の反
転値/h- を生成する論理ゲートとを含む。
【0085】請求項23記載の乗算装置は、請求項1の
冗長2進数生成手段が、部分積の対から多ビット冗長2
進数を生成するにあたって、上位ビットa+ と下位ビッ
トa - の対(a+ ,a- )が(1,1)のとき(0,
0)に変換して3値冗長2進ビットを生成する変換手段
を含む。
【0086】請求項23記載の乗算装置は、第1の冗長
2進ビット(e+ ,e- )と第2の冗長2進ビット(f
+ ,f- )から第3の冗長2進ビット(h+ ,h- )を
生成する冗長2進加算器が、(/e+ ・/e- )の演算
を行なう第1のNAND回路手段と、演算(/f+ ・/
- )の演算を行なう第2のNAND回路手段と、演算
(/e+ ・/f+ )の演算を行なう第3のNAND回路
手段と、第1のNAND回路手段の出力に応答して、第
2のNAND回路手段の出力およびその反転値を第1お
よび第2の信号線上へ伝達する1対の第1の電界効果ト
ランジスタと、この第1のNAND回路手段の反転値に
応答して第2のNAND回路手段の出力およびその反転
値を第2および第1の信号線上へそれぞれ伝達する1対
の第2の電界効果トランジスタと、この第1および第2
の信号線上の電位を差動的に増幅する第1の増幅手段
と、演算/(/e+ ・/f- )を行なう第4のNAND
回路手段と、1ビット下位の冗長2進回路の第4のNA
ND回路手段の出力およびその反転値の組を第1および
第2の信号線上の電位に応答して第3および第4の信号
線上または第4および第3の信号線上へそれぞれ伝達す
る第4の電界効果トランジスタ対と、この第3および第
4の信号線上の電位を差動的に増幅する第2の増幅手段
と、第1および第2の信号線上の電位に応答して第3の
NAND回路手段の出力およびその反転値の組と1ビッ
ト下位の冗長2進加算器の第4のNAND回路手段の出
力およびその反転値の一方の組を第5および第6の信号
線上へ伝達する第4の電界効果トランジスタ対と、この
第5および第6の信号線上の電位を差動的に増幅する第
3の増幅手段と、1ビット下位の冗長2進加算器の第5
の信号線からの信号と第3の信号線上の信号との否定論
理積をとって第3の冗長2進ビットの上位ビットの反転
値/h+ を生成する第5のNAND回路手段と、1ビッ
ト下位の冗長2進加算器の第5の信号線からの信号と第
4の信号線上の信号との否定論理積をとって第3の冗長
2進ビットの反転値/h- を生成する第6のNAND回
路手段を含む。
【0087】請求項24の乗算装置は、請求項1の冗長
2進数生成手段が、3値(0,0)、(1,0)および
(0,1)の3値冗長2進数を生成する手段を含んでお
り、この冗長2進加算手段は、多ビット冗長2進数の必
要ビットに対して設けられる複数の冗長2進回路を含
む。この冗長2進回路は、冗長2進ビット(e+
-)および(f+ ,f- )から冗長2進ビット
(h+ ,h- )を生成する。
【0088】この冗長2進回路は/(/e+ ,/e-
の演算を行ない、その演算結果および反転値を生成する
第1のNAND回路手段と、演算/(/f+ ,/f-
を行ない、その演算結果値およびその反転値を生成する
第2のNAND回路手段と、演算/(/e+ ,/f+
を行ない、その演算結果値およびその反転値を生成する
第3のNAND回路手段と、演算/(/e- ,/f-
を生成し、その演算結果値および反転値を生成する第4
のNAND回路手段を含む。
【0089】この冗長2進加算回路は、第1のNAND
回路手段の出力に応答して、第2のNAND回路手段の
正転値および反転値または反転値および正転値をそれぞ
れ第1および第2の信号線上へ伝達する第1の相補型ト
ランスミッションゲート対と、第1および第2の信号線
上の電位に応答して、1ビット下位の冗長2進加算器の
第4のNAND回路手段の出力の正転値および反転値ま
たは反転値および正転値を第3および第4の信号線上へ
伝達する第2の相補トランスミッションゲート対と、第
1および第2の信号線上の信号に応答して、1ビット下
位の第4のNAND回路手段の出力の正転値および反転
値または第3のNAND回路手段の出力の正転値および
反転値を第5および第6の信号線上へ伝達する第3の相
補トランスミッションゲート対と、1ビット下位の冗長
2進加算回路の第5の信号線上の信号と第3の信号線上
の信号との否定論理積をとりビットh+ の反転値/h+
を生成するNANDゲートと、1ビット下位の冗長2進
加算回路の第6の信号線上の信号と第4の信号線上の信
号との否定論理積をとるビットh- の反転値/h-を生
成する第2のNANDゲートを含む。
【0090】請求項25の乗算装置は、請求項18の冗
長2進回路におけるモジュール2の演算を行なう回路
が、一方の入力を制御信号として他方の入力信号を通過
させるパスゲートを含む。
【0091】請求項26に係る乗算装置は、請求項1の
冗長2進数生成手段が、部分積の対の各ビットの組にお
いて、(1,1)の組を(0,0)に変換して(0,
0)、(1,0)、および(0,1)の3値の冗長2進
ビットを生成する変換手段を含む。この請求項26の乗
算装置は、最終積生成手段が、最終的に生成された1つ
の冗長2進数の各桁についてキャリーを生成するキャリ
ー生成部と、このキャリー生成部からのキャリーと最終
的に生成された1つの冗長2進数とから積結果を示す信
号を生成する算出手段を含む。キャリー生成部は最終的
に生成された1つの冗長2進数の各ビットの上位ビット
の反転値と下位ビットの反転値との一方を下位からのキ
ャリーにより選択するセレクタを含む。
【0092】請求項27の乗算装置は、請求項26のキ
ャリー生成手段が、最終冗長2進数の所定数の下位ビッ
トに対して設けられる第1のキャリー生成器と、残りの
上位ビットをグループに分割して各グループに設けられ
る複数の第2のキャリー生成器を含む。第1のキャリー
生成器は、所定数の下位ビットの各ビットに設けられ、
下位ビットから与えられるキャリーに応答して対応の冗
長2進ビットの上位ビットおよび下位ビットの反転値と
の一方を選択してキャリービットを生成する第1のセレ
クタを含む。この第1のセレクタの最下位のセレクタの
キャリー入力へは第1の固定値が与えられる。第2のキ
ャリー生成器の各々は、対応のグループの各冗長2進ビ
ットに対して設けられており、下位から与えられるキャ
リーに従ってその対応の冗長2進ビットの上位ビットお
よび下位ビットの反転値の一方を選択する複数の第2の
セレクタと、各冗長2進ビットに対して設けられ、該ビ
ットのキャリーに従って対応の冗長2進ビットの上位ビ
ットおよび下位ビットの反転値との一方を選択して出力
する複数の第3のセレクタを含む。この第2および第3
のセレクタの最下位ビットに対して設けられるセレクタ
のキャリー入力へは第1および第2の固定値がそれぞれ
与えられる。この第1のキャリー生成器はさらに、下位
のグループの最上位ビットのセレクタからのキャリー出
力に応答して第2および第3のセレクタの出力の一方を
選択してキャリー出力を発生する複数の第4のセレクタ
を含む。
【0093】請求項28の乗算装置は、この第1のキャ
リー生成器が担当するビットの数について最終的に生成
された乗算2進数のビットの上位側のグループのビット
数が下位ビットに対して設けられるグループのビット数
以上とされる。
【0094】請求項29の乗算装置は、請求項26記載
の第1ないし第4のセレクタの各々が、キャリー出力お
よびその反転値を生成する手段を含む。
【0095】請求項30の乗算装置は、請求項26のセ
レクタの各々が、下位ビットからのキャリー出力に応答
して対応の冗長2進ビットの上位ビットを生成してキャ
リーを生成する相補トランスミッションゲートと、下位
ビットからのキャリー出力の反転値に応答して対応の冗
長2進ビットの下位ビットの反転値を選択してキャリー
を生成する第2の相補トランスミッションゲートと、こ
のキャリーの出力を反転するインバータとを含む。
【0096】請求項31の乗算装置は、請求項26のセ
レクタの各々が、下位ビットからのキャリー出力に応答
して対応の冗長2進ビットの上位ビットおよびその反転
値をそれぞれキャリーおよび反転キャリーとして出力す
る第1の相補トランスミッションゲート対と、下位ビッ
トからのキャリーの反転値に応答して対応の冗長2進ビ
ットおよびその反転値をキャリーの反転値およびキャリ
ーとして出力する第2の相補トランスミッションゲート
対を含む。
【0097】請求項32の乗算装置は、請求項26のセ
レクタの各々が、下位ビットからのキャリーに応答して
対応の冗長2進ビットおよびその反転値を反転キャリー
およびキャリーとして出力する電界効果トランジスタ対
と、1ビット下位からのキャリー出力の反転値に応答し
て対応の冗長2進ビットの上位ビットおよびその反転値
をキャリーおよび反転キャリーとして出力する第2の電
界効果トランジスタ対と、このキャリーおよび反転キャ
リーを差動的に増幅する増幅手段を含む。
【0098】請求項33の乗算装置は、請求項26の算
出手段が、最終的に生成された多ビット冗長2進数の各
ビットに対して設けられるサム算出器を含む。各サム算
出器は対応の冗長2進ビットの上位ビットh+ と下位ビ
ットh- との否定論理和と1ビット下位からのキャリー
出力との排他的論理和をとる手段を含む。
【0099】請求項34の乗算装置は、請求項26の算
出手段が、最終的に生成された多ビット冗長2進数の各
ビットに対して設けられるサム回路を含む。このサム回
路は、対応の冗長2進ビット(h+ ,h- )に対し、演
算/(h+ ・h- )を行なう第1の論理手段と、この第
1の論理手段の出力を反転する第2の論理手段と、1ビ
ット下位からのキャリー出力に応答して第1の論理手段
の出力をサム出力として選択する第1のトランスミッシ
ョンゲートと、1ビット下位から与えられるキャリーの
反転値に応答して第2の論理手段の出力をサム結果とし
て選択する第2のトランスミッションゲートとを含む。
【0100】
【作用】請求項1に係る乗算装置においては、部分積は
冗長2進数に変換されて中間和が生成される。中間和生
成時において実行される演算の数が低減し、演算の高速
化が得られる。
【0101】請求項2の乗算装置においては、第1の2
進数に従って指定されるべき演算を示すエンコード手段
の出力が部分積の符号を決定する。これにより従来装置
に大きな変更を行なうことなく容易に冗長2進数を生成
することが可能となる。
【0102】請求項3の乗算装置においては、エンコー
ド手段からの制御信号に従って、生成されるべき部分積
の符号を変換するように部分積生成手段が構成される。
したがって、従来の部分積生成手段の構成を単に論理を
反転することにより部分積生成手段を作成することが可
能となり、容易に冗長2進数を生成することができる。
【0103】請求項4の乗算装置においては、論理積と
否定論理積とをとる手段とにより部分積生成手段が形成
される。これにより2の補数表示された2進数をたとえ
ばブースのアルゴリズムに行なわずに実行する場合であ
っても容易に冗長2進数を生成することができる。
【0104】請求項5に係る乗算装置は、部分積生成手
段が、第1の多ビット2進数の最上位ビットを含む一部
のビットに対し生成された論理積の符号を反転する手段
を含む。これにより絶対値表示された2進数に対しても
容易に冗長2進数を生成することが可能となる。
【0105】請求項6の乗算装置においては、隣接する
部分積の一方の部分積の符号を反転させている。これに
より同一値が連続するビットの数を多くすることがで
き、部分積生成手段に含まれる回路素子数を大幅に低減
することが可能となる。
【0106】請求項7に係る乗算装置においては、冗長
2進数の各ビットが−1、0および1の3値を有してい
る。これにより冗長2進回路を効率的に行なうことが可
能となる。
【0107】請求項8の乗算装置においては、冗長2進
ビット(1,1)が(0,0)に変換される。これによ
り冗長2進加算において効率的に加算を行なうことがで
きるとともにその加算回数を低減することが可能とな
る。
【0108】請求項9の乗算装置においては、対応の部
分積対の各ビットから容易に3値冗長2進数を生成する
ことができる。
【0109】請求項10の乗算装置においては、2の補
数表示された2進数の演算において上位ビットに対し0
とすることができ、この部分に対する素子を設ける必要
がなくなるため、部分積生成部の占有面積を大幅に低減
することができる。
【0110】請求項11の乗算装置においては、上位ビ
ット側において所定のビットを同一の値とするため、冗
長2進数の加算が大幅に簡略される。
【0111】請求項12の乗算装置においては、符号反
転により生成された表示ビットを効率的に加算すること
が可能となる。
【0112】請求項13の乗算装置においては、表示ビ
ットの適当な箇所に挿入するため、効率的に冗長2進加
算を行なうことができる。
【0113】請求項14の乗算装置においては、冗長2
進ビットに対し効率的に3値冗長2進数の加算を行なう
ことができる。
【0114】請求項15の乗算装置においては、モジュ
ール2の加算が1つのトランスミッションゲートで実現
されるため、この演算を大幅に高速化することができ
る。
【0115】請求項16の乗算装置においては、モジュ
ール2の加算が電界効果トランジスタで実現されるた
め、この演算を高速かつ少ない素子数で実現することが
できるとともに、その出力の電位損失はその出力部に設
けられた補償手段により確実に補償され、正確な演算が
行なわれる。
【0116】請求項17の乗算装置においては、互いに
相補な信号が生成されるため、トランスミッションゲー
トを用いて演算を実現する構成が可能となり、回路構成
の簡略化および演算の高速化が実現される。
【0117】請求項18の乗算装置においては、3値冗
長2進ビットの加算がセレクタを用いてモジュール2の
加算が実現されているため高速でかつ少ない素子数で実
行される。
【0118】請求項19の乗算装置においては、相補な
1対の出力信号が生成されるため、この冗長2進加算の
演算の高速化および回路構成の簡略化が実現される。
【0119】請求項20の乗算装置においては、第1な
いし第4の論理手段がすべて互いに相補な出力信号対を
生成するため、各論理手段の出力に対する演算する部分
を選択ゲートで実現することが可能となり、演算の高速
化および回路構成の簡略化が得られる。
【0120】請求項21の乗算装置においては、モジュ
ール2の加算がトランスミッションゲートにより実現さ
れるため、この演算が少ない素子で高速に実行される。
【0121】請求項22の乗算装置においては、モジュ
ール2の加算はトランスミッションゲートによりすべて
実現されるため、モジュール2の加算を高速かつ簡易な
回路構成で実現することができる。
【0122】請求項23の乗算装置においては、NAN
D回路と電界効果トランジスタとで冗長2進加算を実行
しているため、構成素子数が大幅に低減されるととも
に、演算を高速で実行することができる。電界効果トラ
ンジスタを用いることによるそのしきい値電圧による信
号電位の低下は差動増幅手段により確実に補償され、正
確な演算が保証される。
【0123】請求項24の乗算装置においては、冗長2
進回路は相補トランスミッションゲートを用いて論理ゲ
ート手段の出力を制御信号として他方論理ゲート手段の
出力を選択している。したがって、モジュール2の加算
(排他的論理和演算)を高速かつ簡易な回路構成で実現
することができる。
【0124】請求項25の乗算装置においては、排他的
論理和演算がパスゲートにより表現されるため、少ない
素子数で排他的論理和回路を実現することができる。
【0125】請求項26の乗算装置は、キャリーが、下
位ビットからのキャリーを選択信号として用いてキャリ
ーを生成するセレクタを含んでおり、キャリー生成を簡
易な回路構成で実現することができるとともに、キャリ
ー生成に寄与するキャリー伝搬遅延を大幅に低減するこ
とができる。
【0126】請求項27の乗算装置は、キャリー生成器
がグループに分割されているため、キャリー伝搬遅延を
大幅に低減することができる。
【0127】請求項28の乗算装置においては、キャリ
ー生成器の数は下位ビット側に設けられるものよりも上
位ビット側の方が多い。これにより高速で下位のキャリ
ーを生成することができ、高速で生成されるべきキャリ
ーほど高速で生成することができ、最終加算を高速で実
行することができる。
【0128】請求項29の乗算装置においては、キャリ
ーの反転値をも生成しているため、キャリー生成時にお
けるセレクタの制御が容易となる。
【0129】請求項30の乗算装置においては、セレク
タがこのキャリーおよびその反転値を用いて対応の冗長
2進ビットの一方を選択しているため簡易な回路構成で
高速でキャリーを生成するキャリー生成器を実現するこ
とができる。
【0130】請求項31の乗算装置においては、キャリ
ー生成用のセレクタが相補トランスミッションゲートで
構成されており、高速でキャリーを信号損失することな
く生成することができる。
【0131】請求項32の乗算装置においては、キャリ
ー生成用のセレクタが電界効果トランジスタと出力を差
動的に増幅する手段とで構成されており、少ない素子数
で確実にかつ高速でキャリーを生成することができる。
【0132】請求項33の乗算装置においては、積算出
手段は、/(h+ +h- )とCi−1との排他的論理和
演算により積結果を示すビットを生成しているため、簡
易な回路構成で加算を行なうことが可能となるとともに
高速で加算を実行することができる。
【0133】請求項34の乗算装置においては、サム回
路はキャリーを制御信号としてオン/オフするトランス
ミッションゲートを用いて排他的論理和演算を実現して
いるため、少ない素子数で回路が構成されるとともに、
高速で加算を行なうことができる。
【0134】
【実施例】この発明に従う乗算装置の具体的構成につい
て説明する前に、本発明の乗算装置が従う動作原理につ
いて説明する。
【0135】今、nビット2進数A=an−1、…a0
とnビット2進数B=bn−1、…b0の差を考える。
通常、差をとる演算は、2進数Bの補数を求め、その補
数を加算することにより行なわれる。最上位桁からの桁
上げの有無によりその減算の正および負が判別される。
本発明においては、図2(A)に示すように、2つの2
進数AおよびBの差A−Bを2進数AおよびBの対応す
るビット値の対(aibi)で表わす。(ai bi)
=ai−biと定義すると、図2(B)に示すように、
(ai bi)=(0,1)のとき−1となり、(ai
bi)=(0,0)または(1,1)のとき0とな
り、(ai bi)=(1,0)のとき1となる。すな
わち、差A−Bを図2(A)に示すようにビット値の対
で表わした場合には、この差は、各ビットが−1、0お
よび1の3値を持つ冗長2進数であるとみなすことがで
きる。すなわち、2つの2進数AおよびBの差A−Bに
おいて、各対応のビットの対を形成し、各対におけるビ
ットの差を自身のビットの値と考えると、差A−Bは1
つの冗長2進数とみなすことができる。本発明はこの冗
長2進数の概念を効果的に利用する。
【0136】今、2つの8ビット乗数Yと8ビット被乗
数Xの乗算過程において生成された4つの部分積PS
0、PS1、PS2、およびPS3を考える。最終的な
目標は、和PS0+PS1+PS2+PS3を求めるこ
とである。
【0137】今、部分積PS1とPS3の符号を反転
し、符号の反転された部分積と符号が非反転の部分積の
組(PS0,−PS1)および(PS2,−PS3)を
考える。積X・Yは、 X・Y={PS0−(−PS1)}+{PS2−(−PS3)} で与えられる。今、符号反転部分積−PS1および−P
S3をそれぞれBS1およびBS3とすると、積X・Y
は、次式で表わされる。
【0138】(PS0−BS1)+(PS2−BS3) 上述の冗長2進数の考えを適用すれば、 W=PS0−BS1 V=PS2−BS3 という2つの冗長2進数WおよびVの和を求めれば積X
・Yが得られる。
【0139】冗長2進数の性質を考えると、
【0140】
【数7】
【0141】が得られる。ここで両方向矢印は右辺と左
辺が等しいことを示す。これは、 (1…1111)−(1…1111)=(0…000
0)−(0…0000) の関係から得られる。また、
【0142】
【数8】
【0143】の関係が得られる。これはキャリーを無視
すれば、(0…0000)=(1…1111)+(0…
0001)の関係から求められる。また、別の観点から
すれば、2の補数表示では、 (1…1111)=−(0…0001) となる関係により得られる。
【0144】さらに、同様の考えから、
【0145】
【数9】
【0146】の関係が得られる。この考えを利用すれ
ば、2の補数表示で表現された部分積において上位ビッ
トの値を0とすることができる。すなわち、図39に示
す部分積において同一値が繰返し連続する上位ビットの
幾つかを“0”に変換することができる。数値“0”は
乗算に対し何の影響も及ぼさない。したがってこの部分
に対する加算回路を設ける必要がなくなる。
【0147】次いで、冗長2進ビット(11)を冗長2
進ビット(00)に変換する。この結果、冗長2進ビッ
ト(ai bi)として、(00)、(10)、および
(01)の3値冗長2進ビットが生成される。上述のよ
うにして生成された3値冗長2進ビット(ei+
- )および(fi+ fi- )の加算が次式(21)な
いし(26)に従って加算され、中間和を示す冗長2進
数が生成される。
【0148】
【数10】
【0149】式(21)ないし(26)に見られるよう
に、冗長2進ビットhi+ (上位ビットと称す)および
hi- (下位ビットと称す)を生成する際に、下位の冗
長2進加算回路から伝達される信号は信号liと信号β
iだけである。これらのビット値βiおよびliは、加
算されるべき冗長2進ビット(ei+ ei- )および
(fi+ fi- )が与えられると並列に決定される。し
たがって、キャリー伝搬による遅延を大幅に短縮するこ
とができ、高速で中間和を生成することができる。ここ
で、記号“/”はその次のビット値の反転を示す。(
)の前に付される記号“/”はこの( )内の演算全
体の反転操作を示す。
【0150】この式(21)〜(26)が与える加算の
アルゴリズムは真理値表により確認することができる。
ここで、冗長2進ビット(11)は(00)に変換され
ていることおよびキャリーは“−1”を含むことに注意
されたい。
【0151】パラメータγiは、冗長2進ビット(ei
+ ei- )および(fi+ fi- )をそれぞれeiおよ
びfiで表わすと、パラメータγiおよびβiは以下の
条件のときに1の値をとる。
【0152】γiは、ei=0かつfi=1または−
1;ei=1または−1かつfi=0。
【0153】パラメータβiは、γiの値に従って変化
する。γiが1の場合には、ei−1およびfi−1が
ともに0または1のときにβi=1となる。
【0154】γiが0の場合には、eiおよびfiの少
なくとも一方が1の場合にはβi=1となる。
【0155】パラメータαiが1となるのはγi=1お
よびli−1=0またはγi=0かつli−1=1の場
合である。第1の条件は、冗長2進ビットeiおよびf
iの一方が±1、かつ一方が0でありかつei−1およ
びfi−1の少なくとも一方が−1の場合である。第2
の条件は、ei=fi=0、またはei=±1かつfi
=±1でありかつei−1およびfi−1が0または1
の値をとるときである。
【0156】隣接ビット間へ伝達される信号(βil
i)は一種のキャリーの冗長2進数表現とみなすことが
できる。2進ビット(hi+ hi- )が求められると最
終加算を行なう。
【0157】H+ ={hi+ }、H- ={hi- }とお
くと、最終の積Z=X・Yは、 Z=H+ −H- で与えられる。キャリーCiは、
【0158】
【数11】
【0159】で与えられる。冗長2進ビットでは(1
1)が(00)に変換されているため、上位ビットhi
+ と下位ビットhi- が同時に1にならないことを利用
している。この式(27)は、次式(28)に変換する
ことができる。
【0160】
【数12】
【0161】この式(27)および(28)はともに真
理値表を用いて確認することができる。キャリーCiが
生成されると、最終加算結果を示すビットziが次式
(29)に従って求められる。
【0162】
【数13】
【0163】式(29)も真理値表を用いて容易に確認
することができる。これにより冗長2進数が通常の2進
数表示に変換されて2進数XおよびYの乗算結果Zが得
られる。
【0164】本発明の乗算装置は上述のようなアルゴリ
ズムに従って冗長2進数の加算による中間和の生成およ
びこの中間和で生成された冗長2進数の通常の2進数へ
の変換により乗算を実行する。次いで具体的構成例につ
いて詳細に説明する。
【0165】[実施例1]図1はこの発明の一実施例で
ある乗算装置の構成を示す図である。図1においては、
8ビットデータ(y7〜y0)で構成される乗数Yと8
ビットデータ(x7〜x0)で構成される被乗数Xとの
乗算を行なう構成が示される。被乗数Xおよび乗数Yの
ビット数は任意である。ここでビットy7およびx7は
それぞれ最上位ビットを示す。
【0166】図1を参照して、乗算装置は、乗数Yのデ
ータビット(y7〜y0)の値に従って、実行されるべ
き演算(生成されるべき部分積)を指定する制御信号
5、7、53および54を生成する符号化回路700
と、符号化回路700からの制御信号5、7、53およ
び54と被乗数Xのデータビット(x7〜x0)とに従
って部分積を生成する部分積生成回路702とを含む。
【0167】符号化回路700において、乗数Yのデー
タビットy1、y0に対応して設けられるブースエンコ
ーダ1およびデータビットy5〜y3に対して設けられ
るブースエンコーダ3は、従来と同様の構成を備え、図
31に示す関係に従って制御信号5および7をそれぞれ
生成する。
【0168】乗数Yのデータビットy3〜y1およびy
7〜y5に対して設けられるブースエンコーダ51およ
び52は、従来と異なり、実行されるべき演算の符号を
反転させる制御信号53および54を生成する。すなわ
ち、符号反転ブースエンコーダ51および52は、与え
られたデータビット値の組が特に限定されないが2次の
ブースアルゴリズムに従えばXおよび2Xを指定する場
合には演算−Xおよび−2Xを示す制御信号を生成す
る。他の次数のブースアルゴリズムでも同様である。す
なわち、この符号反転ブースエンコーダ51および52
は、図3(A)に示す関係に従って制御信号を生成す
る。図3(A)において部分積の欄において括弧で示す
演算は従来のブースエンコーダが指定する演算(生成さ
れるべき部分積)である。
【0169】図3(B)にこの符号反転ブースエンコー
ダの構成を示す。図3(B)において、符号反転ブース
エンコーダ710は、3ビットのデータyj−1、y
j、およびyj+1を受け、従来と同様のエンコードを
行ない該エンコード結果を示す信号を生成する従来のブ
ースエンコーダ712と、従来のブースエンコーダ71
2の生成する制御信号φ0と符号反転操作を示す制御信
号φIVaを受ける2入力NOR回路713を含む。制
御信号φ0、φXおよびφ2Xは図33に示す従来のブ
ースエンコーダが生成する制御信号と同じである。NO
R回路713は、その両入力すなわち制御信号φ0およ
びφIVaがともに“L”の不活性状態となったとき、
すなわち演算Xまたは2Xが指定された場合にのみ活性
状態の制御信号φIVを発生する。これにより、従来の
ブースエンコーダが指定する部分積の符号を反転するこ
とができる。
【0170】部分積生成回路702はこの符号化回路7
00からの制御信号5、53、7、および54に応答し
て部分積を生成するシフタ/インバータ回路9〜12を
含む。シフタ/インバータ回路9〜12から部分積1
3、55、15および56が生成される。部分積55お
よび56は2次のブースアルゴリズムに従って生成され
るべき部分積と符号が反転している。この部分積生成回
路702は、また冗長2進数の固有の特徴を効果的に利
用してその構成要素数が低減されている。
【0171】今、図4に示すように、部分積生成回路7
02が生成する部分積PS0、BS1、PS2およびB
S3を想定する。この部分積PS0と部分積BS1から
冗長2進数Wが生成され、部分積PS2と部分積BS3
とから冗長2進数Vが生成される。2の補数表示された
部分積においては最上位ビットに向けて或るビット数だ
け同一のビット値が連続して配置される。この連続して
配置されるビット値は前述の式(7)〜(9)に従って
変換することができる。すなわち、連続するビット値の
組において任意のビット値を反転し、その反転されたビ
ット値より上位のビット値をすべて0に変換することが
できる。
【0172】図4においては、第10ビットのビット値
a8およびq10はともに反転され、それより上位のビ
ット値がすべて0に変換される。冗長2進数Vにおいて
は、第14ビット目のビット値c12およびr14がと
もにそのビット値が反転され、最上位ビットがともに0
に変換される。領域91のビット値はすべて0である。
したがってこの領域91に対しては、加算を考慮する必
要がなくこの部分に対する加算回路を設ける必要がな
い。これにより素子数が低減される。図1に示す部分積
生成回路702は、したがってこの図4に示す部分積の
配置を実現するように構成されている。この図4に示す
構成は、冗長2進数WおよびVにおいて反転されるべき
ビット値に対してはインバータ回路を設けておき、それ
より上位のビット値は配線および加算回路を設けず無視
する構成により容易に実現される。
【0173】図1を再び参照して、この部分積生成回路
702で生成された部分積13、55、15および56
は変換回路57へ与えられる。変換回路57は、部分積
13および55を1つの冗長2進数とし、部分積15お
よび56を1つの冗長2進数として受ける。変換回路5
7は、この冗長2進数の各ビットに対応して設けられる
変換器を含む。この変換器は冗長2進ビット(11)を
冗長2進ビット(00)に変換する機能を備える。この
変換回路57に含まれる第iビットの冗長2進ビットに
対して設けられる変換器の構成およびその実行する論理
演算を図5に示す。
【0174】図5(A)を参照して、変換器は第1の冗
長2進数Wのiビットaiおよびqiに対して設けられ
る変換器710と、第2の冗長2進数Vの第iビットc
iおよびriに対して設けられる変換器712を含む。
変換器710および712は同一の構成を備える。変換
器710は、ビットaiを受けるインバータ回路63a
と、ビットqiを受けるインバータ回路62aと、イン
バータ回路63aの出力とビットqiを受けるNAND
回路67aと、ビットaiとインバータ回路62aの出
力を受けるNAND回路66aを含む。NAND回路6
7aから変換後の冗長2進ビットの上位ビットの反転値
/ei+ が生成され、NAND回路66aから変換後の
冗長2進ビットの下位ビットの反転値/ei- が生成さ
れる。
【0175】変換器712は、同様にインバータ回路6
2b、63bと、NAND回路66bおよび67bを含
む。NAND回路66bから、変換後の冗長2進ビット
の下位ビットfi- が生成される。NAND回路67b
から変換後の冗長2進ビットの上位ビットの反転値/f
+ が生成される。ここでこの変換回路から冗長2進ビ
ットの反転値が生成されているのは、後段の回路構成を
簡略化するためである。
【0176】図5(A)に示す変換回路は図5(B)に
従った論理を満足する。2入力NAND回路は、その両
入力がともに“1”になったときにのみ“0”の信号を
生成する。ここで論理“1”および“0”を信号電位
“H”および“L”に対応させる。したがって、冗長2
進ビット(11)が冗長2進ビット(00)に変換さ
れ、他のビット値の組合せの冗長2進ビットは変換され
ずに出力される。この構成により3値冗長2進数が生成
され、後の加算段の構成が容易となる。
【0177】再び図1を参照して、変換回路57からの
変換後の冗長2進数58は中間和生成回路59により加
算される。この中間和生成回路59は変換回路からの冗
長2進数eおよびf(信号58で示す)を冗長2進加算
し、中間和を生成する。この中間和生成回路57の構成
を図6に示す。
【0178】図6において、中間和生成回路59は2つ
の冗長2進数の各ビットに対応して設けられる冗長2進
回路を含む。図6においては、変換後の冗長2進数の第
(i−1)桁、第i桁、および第(i+1)桁に対して
設けられる冗長2進回路70、71および72を示す。
この冗長2進回路71〜72は前述の式(21)〜(2
6)に従った冗長2進加算演算を実行し、それぞれ中間
結果を示す冗長2進数を生成する。図6に示す構成およ
び式(21)〜(26)から明らかなように、冗長2進
ビットej+ 、ej- 、fj+ およびfj- はすべて並
列にこの中間和生成回路へ与えられる。したがって、式
(24)ないし(26)に示されるように、信号ljお
よびβjは並列に生成される。すなわち隣接ビットの冗
長2進加算回路からの出力に従って冗長2進加算を実行
することができる。
【0179】キャリーが最下位ビットから最上位ビット
まで伝搬する構成とは異なる。これによりキャリー伝搬
遅延を大幅に縮小して冗長2進加算を高速で実行するこ
とができる。また従来のワレストリー加算回路の構成と
異なり、1段の冗長2進加算回路で4ビットのデータを
2ビットのデータに圧縮することができ、すなわち2つ
の冗長2進数の冗長2進加算により1つの冗長2進数が
生成されるため、大幅にそのレイアウトを単純化するこ
とが可能となる。また冗長2進加算回路(70〜72)
は、4入力2出力の構成を備えており、その配線が錯綜
することはなく、部分積の数が増加し、冗長2進数の数
が増加しても、その配線には規則性が生じるため、容易
に配線のレイアウトを設計することができる。
【0180】図7に第iビット目の冗長2進ビットに対
する冗長2進加算回路の構成の一例を示す。図7を参照
して、冗長2進加算回路は、第1の冗長2進ビットの上
位ビットの反転値/ei+ および下位ビットの反転値/
ei- を受ける2入力NAND回路73と、第2の冗長
2進ビットの上位ビットの反転値/fi+ および下位ビ
ットの反転値/fi- を受ける2入力NAND回路73
と、ビット/ei+ とビット/fi+ を受ける2入力N
AND回路75と、ビット/ei- および/fi- を受
ける2入力NAND回路77と、NAND回路73およ
び74の出力82および83を受ける2入力XOR回路
78を含む。NAND回路77から次段(第(i+1)
桁)へ伝達される信号liが生成される。
【0181】冗長2進加算回路はさらに、下位ビット
(第(i−1)桁)から伝搬される信号li−1とXO
R回路78の出力とを受ける2入力XOR回路79と、
信号li−1とNAND回路75の出力の一方をXOR
回路78の出力86に従って選択するセレクタ80を含
む。セレクタ80の出力は次段の冗長2進加算回路へ伝
達される信号βiとなる。
【0182】冗長2進加算回路はさらに、下位の第(i
−1)桁から伝搬される信号βi−1とXOR回路79
の出力を受ける2入力NAND回路76と、信号βi−
1とXOR回路79の出力とを受けるOR回路81を含
む。NAND回路76から、冗長2進ビットの上位ビッ
トの反転値/hi+ が生成される。OR回路81から、
冗長2進ビットの下位ビットの反転値/hi- が生成さ
れる。次に動作について説明する。
【0183】NAND回路73から信号線82上には/
(/ei+ ・/ei- )=ei+ +ei- を示す信号が
生成される。NAND回路74からは同様(fi+ +f
-)を示す信号が出力される。NAND回路75から
は(ei+ +fi- )を示す信号が出力される。信号線
85には、/ei- ・/fi- =/(ei- +fi-
を示す信号が伝達される。信号線85上の信号li=/
(ei- +fi- )は1つ上位ビットの冗長2進加算器
へ伝達される。
【0184】XOR回路78は、与えられた信号に対し
モジュール2の加算を実行する。すなわち、XOR回路
78は、(ei+ +ei- )と(fi+ +fi- )のモ
ジュール2の加算、すなわち式(25)により与えられ
る信号γiを生成する。XOR回路79は、信号li−
1と信号γiとの排他的論理和(モジュール2の加算)
を行なうため、信号線88には、式(23)に示す信号
αiが生成される。
【0185】セレクタ80は、信号線86上の信号γi
が“1”のときには信号li−1を選択し、信号γiが
“0”の場合にはNAND回路75の出力を選択する。
すなわちセレクタ80は、(ei+ +fi+ )・/γi
+(li−1)・γiの演算、すなわち式(24)に示
す演算を実行しており、信号線89上には信号βiが生
成される。
【0186】NAND回路76は、信号線88上の信号
αiと信号線90上の信号βi−1の否定論理積をと
る。すなわち、NAND回路76からは/(αi・(β
i−1))が生成される。OR回路81は、信号線88
上の信号αiと信号線90上の信号βi−1の論理和を
とる。すなわちOR回路81からはαi+(βi−1)
が出力される。このNAND回路76およびOR回路8
1の出力を式で表わすと以下のようになる。
【0187】 /(αi・(βi−1))=/hi+ …(27) αi+(βi−1)=/(/αi・/(βi−1))=/hi- …(28) すなわち、冗長2進ビットの上位ビットhi+ および下
位ビットhi- の反転値が出力される。
【0188】図7に示す冗長2進加算回路における遅延
は、主に入力段のNAND回路およびAND回路と、中
間段の2段のXOR回路と、出力段のNAND回路およ
びOR回路で生じる。通常、NAND回路、AND回路
およびOR回路はXOR回路よりも高速に動作する。本
発明の乗算装置における中間和生成回路においては、こ
の冗長2進加算回路が1列(1段)設けられているだけ
である。従来のワレストリー加算回路は全加算器が2列
(2段)設けられ、XOR回路4段に対応する遅延時間
を生じさせる。したがって、この本発明に従う中間和生
成回路は高速で中間和を生成して4入力2出力に低減す
ることができる。中間和生成回路59で生成された冗長
2進数60((hi+ hi- ))を含む多ビット冗長2
進数は最終加算回路61(図1参照)により通常の2進
数に変換される。この変換は、前述の式(27)〜(2
9)に従って実行される。
【0189】最終加算回路は、多ビット冗長2進数の上
位ビットhj+ と下位ビットhj-(j=0〜15)を
それぞれ別々の16ビットデータH+ およびH- として
演算H+ −H- を実行する。すなわち、2進数H- の正
負の反転(符号の反転)すなわち、ビットhj- をすべ
て/hj- とした後、最下位ビットに1を加算し次いで
2進数H+ との加算を行なう。
【0190】しかしながら、ビットhj+ およびhj-
は冗長2進数の性質のために同時に1とはならない
((11)は既に(00)に変換されている)。したが
って、前述の式(27)によりキャリーを生成すること
ができ、従来のキャリー生成のための回路構成よりも大
幅に簡略化された回路構成を用いることができる。この
場合式(27)は式(28)に変形することができる。
式(28)に示すように、キャリーCi−1の値に従っ
て上位ビットhi+ と下位ビットの反転値/hi-の一
方が選択される。すなわちキャリーを選択制御信号とし
てビットhi+ および/hi- の一方を選択するセレク
タ回路を利用することによりキャリー生成回路を実現す
ることが可能となる。
【0191】図8および図9は、図1に示す最終加算回
路61に含まれるキャリー生成部の構成の一例を示す図
である。図8および図9において、最終的に生成された
16ビット冗長2進数は4ビットずつのグループに分割
される。キャリー生成部はこの4ビットに分割された各
グループに設けられるキャリー生成回路760、76
2、764および766を含む。キャリー生成回路76
0は、第0ビットないし第3ビットの冗長2進ビットh
0〜h3に対応して設けられるセレクタ22〜95を含
む。ここでビットhiは冗長2進ビット(hj+
- )を示す。セレクタ92〜95の各々は下位ビット
から与えられるキャリーを選択制御信号として対応の冗
長2進ビットの上位ビットまたは下位ビットの反転値を
通過させる。最下位に設けられたセレクタ92へは選択
制御信号として固定値“1”が与えられる。セレクタ9
2〜95からキャリーC0〜C3がそれぞれ信号線15
1〜154上に伝達される。
【0192】キャリー生成回路762は、冗長2進ビッ
トh4〜h7に対応して設けられる第1列のセレクタ9
6〜99と、第2列のセレクタ100〜103を含む。
セレクタ96〜99はそれぞれ下位ビットからのキャリ
ー信号に従って対応の冗長2進ビットの上位ビットまた
は下位ビットの反転値のいずれかをキャリーとして出力
する。この第1列のセレクタ96〜99の最下位ビット
のセレクタ96に対しては固定値“0”が選択制御信号
として伝達される。第2列目のセレクタも第1列目のセ
レクタ96〜99と同様、対応の冗長2進ビットhj+
および/hj-の一方を下位ビット側から与えられるキ
ャリーに従って選択的に通過させる。この第2列目のセ
レクタにおける最下位ビットのセレクタ100もキャリ
ー入力へは固定値“1”が与えられる。キャリー生成回
路762はさらに、キャリー生成回路760の最上位ビ
ットから与えられたキャリーC3を選択制御信号とし
て、第1列および第2列の対応のセレクタから生成され
るキャリーの一方を通過させるセレクタ104〜107
を含む。セレクタ104〜107から信号線155〜1
58上にキャリーC4〜C7が伝達される。
【0193】キャリー生成回路764もキャリー生成回
路762と同様の構成を備え、2進冗長ビットh8〜h
11にそれぞれ対応して設けられる第1列目のセレクタ
108〜111および第2列目のセレクタ112〜11
5を含む。このキャリー生成回路764はさらに、キャ
リー生成回路762からの最上位のセレクタから出力さ
れるキャリーC7を選択制御信号として、第1列目およ
び第2列目の対応のセレクタから生成される出力信号の
一方を選択するセレクタ116〜119を含む。セレク
タ116〜119からキャリーC8〜C11が生成され
る。
【0194】キャリー生成回路766は3ビットの冗長
2進ビットh12〜h14それぞれに対応して設けられ
るセレクタ120〜122および123〜125と、キ
ャリー生成回路764の最上位のキャリーC11を選択
制御信号として、対応のセレクタの出力信号の一方を通
過させるセレクタ126〜128を含む。セレクタ12
6〜128から信号線163〜165上にキャリーC1
2〜C14が伝達される。必要なキャリーは15ビット
であるため、最上位のキャリー生成回路766は3ビッ
トの冗長2進ビットh12〜h14に対して設けられ
る。この構成は桁上げ先見構成である。セレクタ92〜
128はいずれも同一の構成を備える。
【0195】セレクタ92〜128の構成の一例を図1
0に示す。図10において、セレクタ770は、信号C
に応答して、2入力AおよびBの一方を通過させること
により出力信号Dを生成する。すなわち、セレクタ回路
770は信号Cが“1”の場合には入力Bを通過させ、
信号Cが“0”の場合には入力Aを通過させる。次に図
8および図9に示すキャリー生成回路の動作について説
明する。
【0196】キャリー生成回路の最下位ビットに対応し
て設けられるセレクタ92に対するキャリー入力は、2
進数H- の正負反転(符号反転)の際に現われる最下位
ビットに対する“1”加算のために必ず“1”となる。
すなわち、セレクタ92に対するキャリー入力は“1”
となる。
【0197】さらに、式(28)に従って、入力h
+ 、/hj- (j=0〜3)に対し、セレクタ92〜
95によりこの2進数H+ およびH- の4桁目までの各
桁のキャリーC0〜C3が生成される。
【0198】次に第4ないし第7ビットに対しては、こ
の第0ないし第3ビットのキャリー出力C3の0および
1に応じて予め第1列目のセレクタ96〜99および第
2列目のセレクタ100〜103によりキャリーを生成
する。最終的にこのキャリー生成回路760からの最上
位ビットのキャリーC3の値が確定した状態において、
第3列目のセレクタ104〜107によりこの第1列目
および第2列目のセレクタ回路から生成されるキャリー
の一方を選択する。すなわち第1列目のセレクタ96〜
99はキャリーC3が“0”の場合のキャリーを生成
し、第2列目のセレクタ100〜103は、キャリーC
3が“1”のキャリーを生成する。この第1列目および
第2列目のセレクタはそれぞれ同時にキャリーを生成す
る。
【0199】上位ビットのキャリー生成回路764およ
び766においても同様にキャリーC8〜C14が生成
される。
【0200】この図8および図9に示す回路構成による
キャリーの生成方法は、セレクタ回路のみを用いて実現
することができる。従来の桁上げ先見回路のような複雑
で回路要素を多数必要とする論理回路も不要である。素
子数が少なく回路構成も容易であるため、小占有面積で
容易にキャリー生成部を設計することができる。
【0201】また、このキャリー生成回路における遅延
時間は最大セレクタ回路7段(セレクタ92〜95、1
07、119および128の合計7段)であり、論理演
算を行なう必要がなく、複雑な論理回路を用いる桁上げ
先見回路の構成よりも大幅に遅延時間を短縮することが
できる。
【0202】図8および図9に示す回路構成により生成
されたキャリーC0〜C14と2進数H+ および−H-
との加算を実行する。この加算回路の構成を図11に示
す。図11においては、第iビットに対する加算回路の
構成が示される。図11において、加算回路は、ビット
hi+ とビットhi- を受ける2入力NOR回路168
と、NOR回路166の出力とキャリーCi−1との排
他的論理和(モジュール2の加算)を行なうXOR回路
167を含む。この図11に示す加算回路は式(29)
に従った加算を実行している。すなわち、NOR回路1
66により、信号線168上に/(hi+ +hi- )が
生成される。次いで信号線168上の信号とキャリーC
i−1との排他的論理和がとられる。
【0203】従来のリップルアダー構成の最終加算器の
構成の場合、サム出力を得る場合には最低2段のXOR
回路が必要である。図11に示す構成においては、この
加算回路の遅延はXOR回路2段のそれよりも大幅に低
減される。XOR回路の与える遅延時間はNOR回路が
与える遅延時間よりも大幅に長いためである。これによ
り、冗長2進数が通常の2進数に各ビットで並列に変換
され、2進数XおよびYの積X・Yを示す16ビットの
2進数Zが算出される。
【0204】部分積生成回路702においては、符号反
転時に補正ビットが生じる(図4参照)。この補正ビッ
トsa0、sq2、sc4およびsr6の加算について
は以下の方法で実行することができる。すなわち、図1
2(A)に示すように、乗数Yの上位ビットから生成さ
れた部分積の対応のビット位置にこれらを付加する。図
12(A)および図4においては補正ビットsa0およ
びsq2がそれぞれ部分積PS2およびBS3の対応の
ビット位置に挿入された状態が示される。次いで図12
(B)に示すように、残りの補正ビットsc4およびs
r6をそれぞれ冗長2進数(sc40)および(0sr
6)として対応の冗長2進ビット(h4 + h4- )およ
び(h6+ h6- )と加算する。これにより補正ビット
を確実に加算することができる。
【0205】またこれに代えて図12(C)に示すよう
に、補正ビットsa0、sq2、sc4およびsr6か
ら(0sr6)(00)(sc40)(00)(sq
2)(00)(sa00)という7ビットの冗長2進数
を生成し、これを部分積の1つとし、冗長2進加算回路
において、生成された冗長2進数H(h15…h0)と
加算し、その後最終加算を行なうように構成してもよ
い。いずれの構成が利用されてもよい。
【0206】[実施例2]図13はこの発明の第2の実
施例である乗算装置の全体の構成を示す図である。図1
3において、乗算装置は8ビット乗数Yをエンコードし
て制御信号5、67および8を生成する符号化回路50
0と、符号化回路500からの制御信号5〜7と8ビッ
ト被乗数Xとに従って部分積13、55、14および5
6を生成する部分積生成回路790を含む。
【0207】符号化回路500は、図30に示す従来の
構成と同様、2次のブースアルゴリズムに従って乗数Y
の各ビットのグループをエンコードし、制御信号5〜8
を生成するブースエンコーダ1〜4を含む。ブースエン
コーダ1〜4は、図31に示す関係に従って、生成され
るべき部分積(または実行されるべき演算)を指定する
制御信号を生成する。
【0208】部分積生成回路790は、符号化回路50
0から与えられた制御信号5〜7と被乗数Xとに従っ
て、部分積13、55、14および56を各々生成する
シフタ/インバータ回路9、170、11および171
を含む。
【0209】シフタ/インバータ回路9および11は、
従来と同様の構成を備え、ブースエンコーダ1および3
からの制御信号5および7に従って、被乗数Xから部分
積13および14を各々生成する。
【0210】符号反転シフタ/インバータ回路170お
よび171は、ブースエンコーダ2および4からの制御
信号6および8が指定する部分積の符号を反転した部分
積を生成する。図14に、符号反転シフタ/インバータ
回路170および171の具体的構成の一例を示す。
【0211】図14を参照して、符号反転シフタ/イン
バータ回路800(シフタ/インバータ回路170およ
び171を代表的に示す)は、図33(B)に示す従来
のシフタ/インバータ回路9と同様、0発生器610、
X発生器612、2X発生器614および1発生器61
6を含む。
【0212】符号反転シフタ/インバータ回路800
は、さらに、制御信号φIVおよびφ0を受ける2入力
NOR回路802と、NOR回路802の出力に応答し
て、X発生器612および2X発生器614の出力を反
転または非反転して通過させるゲート回路618および
620と、制御信号φ0、φXおよびφ2Xに従って、
0発生器610、ゲート回路618および620の出力
を選択的に通過させる選択回路622を含む。図14に
おいては、ゲート回路618、620および選択ゲート
622は、0発生器610、X発生器612および2X
発生器614の1ビットに対する演算を行なう構成を代
表的に示す。
【0213】選択回路622は、制御信号φ0に応答し
て0発生器610の出力を通過させる転送ゲート621
と、制御信号φXに応答して、ゲート回路618の出力
を通過させる転送ゲート623と、制御信号φ2Xに応
答してゲート回路620の出力を通過させる転送ゲート
625を含む。1発生器616は、NOR回路802の
出力が活性状態の“H(“1”)”のときに補正ビット
(“1”)を発生する。
【0214】次に動作について簡単に説明する。制御信
号φ0およびφIVがともに非活性状態の“0”
(“L”)の場合、従来のブースエンコーダでは、部分
積Xまたは2・Xが指定される。この場合、NOR回路
802の出力は“H”となり、ゲート回路618および
620は、インバータ回路として機能する。これにより
X発生器612および2X発生器614の出力の各ビッ
トは反転される。1発生器616の出力は、“1”とな
る。これにより、従来のブースエンコーダの出力が部分
積Xまたは2Xを指定している場合には、制御信号φX
またはφ2Xが生成されるため、この符号反転シフタ/
インバータ回路800からは、部分積−Xまたは−2X
が出力される。
【0215】制御信号φIVが“1”の場合、NOR回
路802の出力は“L”となる。この場合、ゲート回路
618および620は、X発生器612および2X発生
器614の出力を反転することなく通過させる。制御信
号φXまたはφ2Xに従ってゲート回路618または6
20の出力が選択されて出力される。したがって、部分
積−Xまたは−2Xがブースアルゴリズムの結果指定さ
れた場合には、その符号を反転した部分積Xまたは2・
Xが生成される。
【0216】制御信号φ0が“1”となった場合は、0
発生器610の出力が選択される。この場合、1発生器
616は補正ビットは発生せず“0”のビット値を出力
するだけである。この図14に示す構成を利用すること
により符号反転シフタ/インバータ回路を実現すること
ができる。
【0217】再び図13を参照して、符号反転シフタ/
インバータ回路170および171を設けることによ
り、符号反転された部分積が生成される。符号非反転の
部分積と符号反転された部分積とを組として1つの冗長
2進数を生成することにより、実施例1の場合と同様の
演算を実行することができる。この場合、上位ビット位
置においては、図4に示す構成と同様の変換が実行され
る。
【0218】図13において、乗算装置はさらに、部分
積13、55、14および56から3値冗長2進数58
を生成する変換回路57と、3値冗長2進数から中間和
を生成する中間和生成回路59と、この中間和生成回路
59からの中間和60を加算して積X・Yを示す16ビ
ットデータZを生成する最終加算回路61を含む。変換
回路57、中間和生成回路59および最終加算回路61
は図1に示す構成と同じである。
【0219】この図13に示す乗算装置の構成において
も、実施例1の場合と同様の部分積を得ることができ、
冗長2進数を用いて積を算出することができ、実施例1
の場合と同様の効果を得ることができる。
【0220】[実施例3]図15は、この発明の第3の
実施例である乗算装置の構成を示す図である。図15に
示す乗算装置はブースのアルゴリズムを利用せずに乗算
を実行する。すなわち、図15の乗算装置は演算Σyj
・X(ただし、j=0〜7)により積X・Yを求める。
乗数Yおよび被乗数Xはともに8ビットの2の補数表示
された2進数である。
【0221】図15を参照して、乗算装置は、8ビット
乗数Yと8ビット被乗数Xとから部分積を生成する部分
積生成回路810を含む。部分積生成回路810は、乗
数Yのビットy0、y2、y4、y6およびy7に対し
て設けられるAND回路172、174、176、17
8および179と、乗数Yのビットy1、y3およびy
5に対して設けられるNAND回路173、175およ
び177を含む。AND回路172、174、176、
178および179は、それぞれ対応の乗数ビットyj
と被乗数Xの各ビットx7〜x0との論理積(AND)
をとることにより部分積180、182、184、18
6および187を生成する。
【0222】NAND回路173、175および177
はそれぞれ対応の乗数ビットyjと被乗数Xの各ビット
x7〜x0との否定論理積(NAND)をとるとともに
最下位ビットに“1”を加算して部分積181、183
および185を生成する。NAND回路173、175
および177が否定論理積をとりかつ最下位ビットに
“1”を加算することにより、部分積の正および負の符
号を反転したものが生成される。
【0223】ここで、乗数Yおよび被乗数Xはともに2
の補数で表現された8ビットデータである。乗数Yの最
上位ビットy7は“1”のとき負の値を示す。通常、2
の補数表示された2進数の乗算を行なう場合、この乗数
Yの符号ビットy7が“1”であり、乗数Yが負の値の
場合には、乗数ビットy7により生成される部分積は被
乗数Xの2の補数となる。本発明においては、部分積の
符号を反転する必要がある。したがって、図15に示す
構成においては、乗数Yの符号ビットy7に対する部分
積を生成する回路はNAND回路ではなく、AND回路
で構成される。これにより、生成されるべき部分積の符
号の反転された部分積が生成される。
【0224】この図15に示す構成においては、最上位
の部分積187に対しては、その最下位ビット位置に符
号反転のためのビット(補正ビット)が付加されること
がなく、生成される部分積の数が減少する。これは、実
施例3特有の利点である。
【0225】被乗数Xおよび乗数Yがともに2の補数表
示であるため、その上位ビット側においては、図4に示
す配置と同様のビット値変換が行なわれ、上位ビット位
置に対する部分積のビットの低減が実行される。
【0226】図15を参照して、乗算装置はさらに、部
分積生成回路810からの部分積180〜187を受け
て、4つの冗長2進数を生成する変換回路57と、変換
回路57からの4つの冗長2進数を冗長2進加算し、中
間和を生成する中間和生成回路189と、中間和生成回
路189からの中間和190を受けて積X・Yを生成す
る最終加算回路61を含む。
【0227】変換回路57は、部分積生成回路810か
らの部分積から部分積の対(符号反転の部分積と符号非
反転の部分積)を形成し、それぞれに対し、実施例1で
示したものと同様の変換を行なって(01)、(0
0)、(10)の3値を持つ冗長2進数を生成する。こ
の冗長2進数を形成する部分積の組は、部分積180お
よび181、部分積182および183、部分積184
および185、および部分積186および187がそれ
ぞれ対をなすようにされる。
【0228】中間和生成回路189はこの4つの冗長2
進数188を冗長2進加算する。中間和生成回路189
の構成を図16に示す。
【0229】変換回路57が生成する4つの冗長2進数
の第i桁を(pi+ pi- )、(ui+ ui- )、(v
+ vi- )および(wi+ wi- )で表わす。図16
において、第(i+1)桁、第i桁および第(i−1)
桁の中間和生成回路の構成を示す。
【0230】図16を参照して、中間和生成回路は、上
述の冗長2進数P{(pj+ pj-)}と第2の冗長2
進数U{(uj+ uj- )}との冗長2進加算を行なう
ための第1列目の冗長2進回路191、194および1
97と、第3の冗長2進数V{(vj+ vj- )}と第
4の冗長2進数W{(wj+ wj- )}との冗長2進加
算を行なうための冗長2進加算回路192、195およ
び198と、第1列目の冗長2進加算回路191、19
4および197と第2列目の冗長2進加算回路192、
195および198との出力の冗長2進加算を行なう第
3列目の冗長2進加算回路193、196および199
を含む。冗長2進加算回路193、196および199
から冗長2進数のH{(hj+ hj- )}が生成され
る。図16に示す構成においては、すべて冗長2進ビッ
トの反転値の冗長2進加算が行なわれており、その出力
も反転値となる。
【0231】冗長2進加算回路193は、冗長2進加算
回路191の出力200および201と冗長2進加算回
路192の出力202および203を冗長2進加算す
る。冗長2進加算回路196は、冗長2進加算回路19
4の出力204および205と冗長2進加算回路195
の出力206および207とを加算する。冗長2進加算
回路199は冗長2進加算回路197の出力208およ
び209と冗長2進加算回路198の出力210および
211とを加算する。この図16に示す構成に明らかに
見られるように、各冗長2進加算回路の出力は各桁ごと
に整列している。配線の規則性があるため、配線が容易
となる。
【0232】この冗長2進加算回路193、196、1
99から生成される冗長2進数/H{(/hj+ /hj
- )}から積X・Yを求める手法は、図1に示す実施例
1の場合と同一であり、図13に示す最終加算回路61
により積X・Yが生成される。
【0233】この図15および図16に示す実施例3の
構成の場合、中間和生成回路における冗長2進加算器が
1段増加するものの、ブースエンコーダおよび部分積生
成のためのシフタ/インバータ回路が不要であり、回路
構成を簡略化することができるとともに、またブースエ
ンコーダのためのチップ面積をなくすることができる。
【0234】さらに、乗数Yの符号ビットy7から生成
される部分積187に対しては、符号反転のための最下
位ビットを付加する必要がなくなるため、部分積の数を
低減することができる利点がある。
【0235】[実施例4]図17はこの発明の第4の実
施例である乗算装置の全体の構成を示す図である。図1
7に示す乗算装置は、絶対値表示された8ビット2進数
XおよびYを乗算するための構成を示す。絶対値表示に
おいては、乗数Yおよび被乗数Xはともに正の数であ
る。乗数Yの最上位ビットy7が“1”であっても、乗
数Yは正の数である。図17に示す乗算装置は、8ビッ
ト絶対値表現された乗数Yの各ビットyj(j=0〜
7)と被乗数Xとの積を生成する部分積生成回路870
を含む。部分積生成回路870は、乗数Yのビットy
0、y2、y4およびy6に対応して設けられ、対応の
乗数ビットyjと被乗数Xとの論理積をとるAND回路
172、174、176および178と、乗数Yのビッ
トy1、y3、y5およびy7に対応して設けられ、対
応の乗数ビットyjと被乗数Xとの各ビットとの否定論
理積をとるとともに最下位ビット位置に“1”を加算す
るNAND回路173、175、177および179を
含む。
【0236】前述のごとく絶対値表示において乗数Yの
最上位ビットy7が“1”のとき生成される部分積は正
の数である。したがって、冗長2進数を生成するための
部分積の対を形成するためには、この乗数Yの最上位ビ
ットy7が生成する部分積の符号は反転する必要があ
る。このため、乗数Yのビットy7に対しては、その符
号を反転するためにNAND回路179が設けられる。
図17に示すNAND回路173、175、177およ
び179はそれぞれ部分積の各ビット値を反転するとと
もに最下位ビット位置に“1”を付加する。絶対値表示
においては、部分積の余分の上位ビット側はAND回路
についてはすべて“0”であり、一方、NAND回路に
ついてはその余分の上位ビットはすべて“1”となる。
この場合、前述の実施例1の場合と同様にして、部分積
の低減すなわち上位ビット組のビット値をともに0とす
る変換が実行される。この場合においても、AND回路
の出力とNAND回路の出力とを組として1つの冗長2
進数が生成される。
【0237】図17に示す変換回路57、中間和生成回
路189および最終加算回路61の構成は図13に示す
ものと同様であり、同様の計算が実行される。
【0238】この図17に示す構成においても、絶対値
表現の2進数の積において、実施例3の場合と同様の効
果を得ることができる。
【0239】なお図17に示す構成において、乗数Yお
よび被乗数Xが符号付絶対値表示の2進数の場合、その
符号ビットを除いて絶対値の部分の積を図17に示す構
成を用いて実行すればよい。最終的な符号は乗数Yおよ
び被乗数Xの符号ビットの一致/不一致により生成する
構成が利用されればよい。
【0240】[実施例5]前述の実施例1ないし実施例
4においては、互いに隣接する2つの部分積から1つの
冗長2進数を生成している。これは、乗数ビットについ
て下位側のグループの部分積と上位ビット側のグループ
の部分積との2つに分けて一方のグループの符号を反転
し、この符号反転部分積と符号非反転部分積とを対とし
て1つの冗長2進数を生成する構成が利用されてもよ
い。任意の部分積の組合せを用いて1つの冗長2進数を
生成することができる。符号反転の部分積と符号非反転
の部分積とが対をなすようにされればよい。
【0241】[実施例6]図18はこの発明の第6の実
施例である乗算装置の全体の構成を示す図である。この
図18に示す乗算装置では、符号化回路700および部
分積生成回路702は、図1に示す第1の実施例のもの
と同様の構成を備える。中間和生成回路191は、図1
に示す変換回路59と中間和生成回路191の両機能を
備える。すなわち、この中間和生成回路191は、部分
積生成回路702からの部分積13、55および56か
ら冗長2進数を生成し、かつ3値の冗長2進数を生成し
た後に中間和を生成する。この中間和生成回路191の
具体的構成を図19に示す。図19は中間和生成回路1
91における第i桁に対応する構成を示す。図19に示
すビットai、qi、ciおよびriは、図4に示すビ
ットを示す。
【0242】図19を参照して、中間和生成回路191
の第i桁目の冗長2進加算回路は、2進数ビットai、
qi、ciおよびriをそれぞれ反転するインバータ回
路192、193、194および195と、ビットai
およびqiを受ける2入力XOR回路196と、ビット
ciおよびriを受ける2入力XOR回路197と、イ
ンバータ回路193出力、ビットai、ビットciおよ
びインバータ回路195の出力を受けるAND/OR複
合回路198と、インバータ回路192の出力とビット
qiとインバータ回路194の出力とビットriを受け
るAND/NOR複合回路199を含む。
【0243】AND/OR複合回路198は、インバー
タ回路193の出力とビットaiを受ける2入力AND
回路と、ビットciとインバータ回路riを受ける2入
力AND回路と、これらのAND回路の出力を受ける2
入力OR回路を含む。
【0244】AND/NOR複合回路199は、インバ
ータ回路192の出力とビットqiを受ける2入力AN
D回路と、インバータ回路194の出力とビットriを
受ける2入力AND回路と、これらのAND回路の出力
を受ける2入力NOR回路199を含む。
【0245】図19に示す冗長2進加算回路(中間和生
成回路191に含まれる)はさらに、図7に示す構成と
同様、XOR回路196および197の出力を受ける2
入力XOR回路78と、XOR回路78の出力に応答し
て、1ビット下位の冗長2進加算回路からの信号線87
上へ伝達される信号li−1とAND/OR複合回路1
98から信号線84上に伝達される信号の一方を選択す
るセレクタ80と、信号li−1とXOR回路78の出
力を受ける2入力XOR回路79と、信号βi−1とX
OR回路79の出力を受ける2入力NAND回路76
と、信号βi−1とXOR回路79の出力を受ける2入
力OR回路81を含む。次に動作について説明する。
【0246】インバータ回路192、193、194お
よび195はそれぞれ反転ビット/ai、/qi、/c
iおよび/riを生成する。2入力XOR回路196
は、ビットaiおよびqiからビットaiとqiの排他
的論理和(ai・/qi+/ai・qi)を出力する。
2入力XOR回路197は、ビットciおよびriの排
他的論理和(ci・/ri+/ci・ri)を出力す
る。
【0247】AND/OR複合回路198は、(ai・
/qi+ci・/ri)を出力する。AND/NOR複
合回路199は、/(/ai・qi+/ci・r2)を
出力する。
【0248】すなわち、XOR回路196および19
7、AND/OR複合回路198、およびAND/NO
R複合回路199の出力はそれぞれ図7に示す2入力N
AND回路73および74と、NAND回路75および
AND回路77の出力と同じとなる。
【0249】これ以外の回路の構成は図7に示すものと
同様であり、図7に示す場合と同様、2入力NAND回
路76から、冗長2進ビットの上位ビットの反転値/h
+が出力され、2入力OR回路81から冗長2進ビッ
トの下位ビットの反転値/hi- が出力される。すなわ
ち、この構成により、図7の場合と同様(01)、(0
0)および(10)の3値を持つ冗長2進ビット(hi
+ hi- )を得ることができる。
【0250】この図16に示す乗算装置の構成において
は、部分積生成回路702から生成された部分積を直接
中間和生成回路へ与えることができ、変換回路を通す必
要がない。これにより回路構成を簡略化することが可能
となる。
【0251】また、乗数および被乗数のビット数が増加
し、部分積生成回路で生成される部分積の数が増加した
場合、中間和生成回路では冗長2進加算回路が複数段必
要とされる。この場合、部分積生成回路から与えられる
部分積のビットを受ける初段の冗長2進加算回路に図1
9に示す構成を利用し、それ以降(2段目以降の)冗長
2進回路には図7に示す構成を利用する。
【0252】この図18および図19に示す乗算装置の
構成の場合、冗長2進ビット(11)をビット(00)
へ変換することなく直接中間和生成回路へ与えることが
可能となり、部分積の数が増加しても、簡易な回路構成
で中間和を生成することが可能となる。
【0253】[実施例7]図20はこの発明の第7の実
施例である乗算装置の要部の構成を示す図である。図2
0は、図7に示す2進乗算回路の変更例を示す。
【0254】図20を参照して、2進冗長加算回路は、
冗長2進ビットの反転値/ei+ および/ei- を受け
る2入力NAND回路204と、2進冗長ビットの反転
値/fi+ および/fi- を受ける2入力NAND回路
205と、2進冗長ビットの反転値/ei+ および/f
+ を受ける2入力NAND回路206と、2進冗長ビ
ットの反転値/ei- および/fi- を受ける2入力N
AND回路207と、2入力NAND回路204、20
5および207の出力を受けるインバータ回路210、
211および212を含む。インバータ回路212およ
びNAND回路207から信号線228および225上
に信号liおよび/liが生成される。
【0255】冗長2進加算回路はさらに、NAND回路
204の出力およびインバータ回路210の出力に応答
して、インバータ回路211の出力およびNAND回路
205の出力の一方を信号線229へ伝達するCMOS
トランスミッションゲート216および217を含む。
CMOSトランスミッションゲート216および217
は互いに相補的に導通状態となる。
【0256】冗長2進加算回路はさらに、信号線229
上の信号を受けるインバータ回路213と、インバータ
回路213の出力と信号線229上の信号とに応答して
信号線231および232上の信号li−1および/l
i−1の一方を信号線233上へ伝達するCMOSトラ
ンスミッションゲート218および219を含む。CM
OSトランスミッションゲート218および219は互
いに相補的に導通状態となる。
【0257】この冗長2進加算回路はさらに、インバー
タ回路213の出力と信号線229上の信号とに応答し
て、信号線231上の信号li−1とNAND回路20
6から信号線224上に与えられた信号の一方を信号線
234上へ伝達するCMOSトランスミッションゲート
220および221と、信号線234上の信号を反転す
るインバータ回路215を含む。インバータ回路215
の出力は信号線237上へ伝達される。信号線234上
に信号βiが生成され、信号線237上に信号/βiが
生成される。
【0258】この冗長2進加算回路はさらに、信号線2
33上の信号を受けるインバータ回路214と、インバ
ータ回路214から信号線236上に伝達された信号と
信号線238上の信号βi−1を受ける2入力NAND
回路208と、信号線233上の信号と信号線239上
の信号/βi−1を受ける2入力NAND回路209を
含む。NAND回路208から冗長2進ビットの反転値
/hi+ が生成され、2入力NAND回路209から冗
長2進ビットの反転値/hi- が生成される。次に動作
について説明する。
【0259】NAND回路204の出力が“H”のと
き、CMOSトランスミッションゲート216が導通
し、CMOSトランスミッションゲート217が非導通
状態となる。これにより、インバータ回路211から信
号線227上へ伝達された信号が信号線229上へ伝達
される。一方、NAND回路204から信号線222上
へ伝達される信号が“L”のとき、CMOSトランスミ
ッションゲート216が非導通状態、CMOSトランス
ミッションゲート217が導通状態となる。これによ
り、NAND回路205の出力(信号線223上)が信
号線229へ伝達される。今NAND回路204の出力
をp、NAND回路205の出力をqと表わすと、信号
線229上へ伝達される信号はp・/q+/p・qとな
る。すなわち、インバータ回路210、211、および
CMOSトランスミッションゲート216および217
は、XOR回路XR1を構成する。すなわち、信号線2
29上には信号γiが現われる。
【0260】信号線229上の信号γiが“H”の場
合、CMOSトランスミッションゲート219が導通状
態、CMOSトランスミッションゲート218が非導通
状態となり、信号/li−1が信号線233上に伝達さ
れる。一方、信号線229上の信号γiが“L”のと
き、CMOSトランスミッションゲート218が導通状
態、CMOSトランスミッションゲート219が非導通
状態となり、信号li−1が信号線233上に伝達され
る。すなわち、信号線233上に伝達される信号は、
(γi・/li−1)+(/γi・li−1)となる。
すなわち、インバータ回路213、CMOSトランスミ
ッションゲート218および219がXOR回路XR2
を構成する。すなわち、信号線233上には信号αiが
出力される。
【0261】CMOSトランスミッションゲート220
は、インバータ回路213の出力が“H”のとき、すな
わち信号γiが“L”のとき、CMOSトランスミッシ
ョンゲート220が導通して、信号線224上に伝達さ
れたNAND回路206の出力を信号線234上に伝達
する。一方、信号γiが“H”のとき、CMOSトラン
スミッションゲート221が導通状態となり、信号li
−1を信号線234上に伝達する。信号線234上の信
号は信号βiである。すなわちこのCMOSトランスミ
ッションゲート220および221は、図7に示すセレ
クタ80と同様の機能を実現する。
【0262】NAND回路208は、インバータ回路2
14から出力された信号線236上の信号と信号線23
0上の信号βi−1の否定論理積をとる。信号線233
上の信号は/αiである。したがって、NAND回路2
08の出力は/(αi・βi−1)=/hi+ となる。
【0263】同様にNAND回路209の出力は/(/
αi・/βi−1)=/hi- となる。
【0264】上述のように、XOR回路をトランスミッ
ションゲートを用いて実現することができ、冗長2進加
算回路を構成するトランジスタ数が48となる。60個
以上のトランジスタを必要とする従来の2進加算回路の
構成と比べて大幅に構成要素数を低減することができ、
回路占有面積を大幅に低減することができる。
【0265】この図20に示すように、内部で相補な制
御信号を生成し、この2つの相補制御信号対の一方を制
御信号とし、他方の相補制御信号対を選択的に通過させ
ることにより、容易にXOR回路の機能をトランスミッ
ションゲートを用いて実現することが可能となる。
【0266】[実施例8]図21はこの発明の第8の実
施例である乗算装置の要部の構成を示す図である。図2
1に示す構成は、図20に示す2進冗長加算回路の変更
例である。図21に示す2進冗長加算回路においては、
図20に示すCMOSトランスミッションゲートに代え
て、nチャネルMOS(絶縁ゲート型電界効果)トラン
ジスタのみが利用される。
【0267】XOR回路XR1は、NAND回路204
の出力に応答して導通するnチャネルMOSトランジス
タ240および243と、インバータ回路210の出力
に応答して導通するnチャネルMOSトランジスタ24
1および242を含む。トランジスタ240および24
2は与えられた信号を信号線229上に伝達する。トラ
ンジスタ242および243は与えられた信号を信号線
230上に伝達する。NAND回路204から信号線2
22上へ与えられる信号が“H”のときには、トランジ
スタ240および243が導通し、インバータ回路21
1の出力およびNAND回路205の出力がそれぞれ信
号線229および230上へ伝達される。NAND回路
204の出力が“L”の場合には、トランジスタ241
および242が導通状態となり、NAND回路205の
出力およびインバータ回路211の出力をそれぞれ信号
線229および230上へ伝達する。このXOR回路X
R1は、NAND回路204および205の出力をその
入力として排他的論理和演算を実行する。信号線229
上にはXOR演算結果を示す信号が伝達され、信号線2
30上にはXNOR演算結果を示す信号が同時に伝達さ
れる。
【0268】この図21に示す冗長2進加算回路はさら
に、信号線229および230上の信号電位を差動的に
増幅する増幅回路を含む。この増幅回路は、ゲートとド
レインが交差結合されるpチャネルMOSトランジスタ
245および246を含む。トランジスタ245および
246は、信号線229および230のうちの電位の高
い方の信号線の電位をさらに、電源電位供給ノード26
1からの電流により電源電位レベルにまで上昇させる。
たとえば信号線230の信号電位が信号線229のそれ
よりも低い場合には、トランジスタ245の導電率が高
くなり、信号線229の電位を電源電位Vccレベルま
で昇圧する。これにより、電界効果トランジスタ240
〜243による信号伝達時におけるそのしきい値電圧の
損失を確実に補償し、十分な信号レベルを有する信号を
伝達することができる。
【0269】XOR回路XR2は、信号線229上の信
号電位に応答して導通し、信号線231および232上
の信号li−1および/li−1をそれぞれ信号線23
6および233上へ伝達するnチャネルMOSトランジ
スタ248および249と、信号線230上の信号に応
答して導通し、信号線232および231上の信号/l
i−1およびli−1をそれぞれ信号線236および2
33上へ伝達するnチャネルMOSトランジスタ247
および250を含む。このXOR回路XR2は、信号線
231および232上の信号を入力とし、そのXOR演
算結果を信号線233にXOR演算結果を示す信号を出
力し、ノード信号線236上にXNOR演算結果を示す
信号を出力する。すなわち、信号線230上の信号が
“H”のとき(信号線229上の信号電位は“L”)の
場合には、トランジスタ247および250が導通し、
信号/li−1およびli−1が信号線236および2
33上へそれぞれ伝達される。逆の場合には、信号線2
36および233上には信号li−1および/li−1
がそれぞれ伝達される。
【0270】信号線233および236に対してはまた
ゲートとドレインが交差結合され、そのソースが電源電
位供給ノード261にともに結合されるpチャネルMO
Sトランジスタ251および252が設けられる。この
トランジスタ251および252は、信号線233およ
び236上の電位を差動的に増幅し、トランジスタ24
7〜250の信号損失を確実に補償する。
【0271】セレクタSELは、信号線229上の信号
電位に応答して導通し、信号線231および232上の
信号li−1および/li−1をそれぞれ信号線234
および237上へ伝達するnチャネルMOSトランジス
タ255および254と、信号線230上の信号電位に
応答して導通し、NAND回路206の出力およびイン
バータ回路259の出力をそれぞれ信号線234および
237上へ伝達するnチャネルMOSトランジスタ25
3および256を含む。信号線229の電位が“H”の
場合には、トランジスタ255が導通し、信号線234
上に信号li−1が伝達される。信号線229上の電位
が“L”の場合には、信号線234上には、トランジス
タ256を介してNAND回路206の出力が伝達され
る。
【0272】信号線234および237上の信号電位を
差動的に増幅するために、ゲートとドレインが交差結合
され、そのソースが共通に電源電位供給ノード261へ
接続されるpチャネルMOSトランジスタ257および
258がさらに設けられる。トランジスタ257は信号
線237の電位を電源電位レベルへ上昇させ、トランジ
スタ258は信号線234の電位を電源電位レベルにま
で上昇させる。これにより、トランジスタ253〜25
5における信号損失を確実に補償する。
【0273】この図21に示す冗長2進加算回路の動作
は、CMOSトランスミッションゲートの対がnチャネ
ルMOSトランジスタで置換えられているだけであり、
その動作は図20に示すものと同様である。この図21
に示す冗長2進加算回路の構成の場合、図20に示す構
成と比べて、XOR回路XR1およびXR2ならびにセ
レクタ回路SELがそれぞれ相補な信号対を生成してい
る。したがって、相補信号対を生成するためのインバー
タ回路が必要とされていない。これにより、図20に示
す冗長2進加算回路の構成と比べて、信号伝搬経路にお
けるゲート回路の段数が少なくなり、高速で信号を伝搬
することができ、高速動作が可能となる。
【0274】また、この図21に示す構成においても、
XOR回路が4個(増幅用のトランジスタを含めて6
個)のトランジスタで実現されるため、そこに含まれる
トランジスタの数が50個となり、従来の2進加算回路
の構成に比べて大幅に構成要素数を低減することがで
き、回路構成が簡略化されるとともに占有面積を低減し
かつ信号伝搬を高速化することができる。なお、増幅回
路を構成する交差結合されたトランジスタ対は、また
“H”レベルの信号線を電源電位レベルにまで昇圧させ
るため、正帰還回路を構成しているとも言える。
【0275】図22および図23に、図20および図2
1に示すNAND回路およびインバータ回路の具体的構
成例を示す。図22は、NAND回路の構成例を示し、
図23はインバータ回路の構成を示す。
【0276】図22において、NANDゲートは電源電
位Vccを供給する電源ノードと出力ノードONとの間
に互いに並列に設けられ、そのゲートに入力IN1およ
びIN2をそれぞれ受けるpチャネルMOSトランジス
タPT10およびPT11と、出力ノードONと接地電
位GNDとの間に直列に接続されてそのゲートに入力I
N1およびIN2をそれぞれ受けるnチャネルMOSト
ランジスタNT10およびNT11を含む。この図22
に示すNANDゲートは、入力IN1およびIN2がと
もに“H”となったときに、トランジスタNT10およ
びNT11がともに導通し、トランジスタPT11およ
びPT10がともに非導通状態となり、出力OUTが
“L”となる。このように、NANDゲートは4個のト
ランジスタを用いて構成することができる。
【0277】図23を参照して、インバータ回路は電源
電位Vcc供給ノードと接地電位GNDとの間に互いに
相補的に接続されるpチャネルMOSトランジスタPT
20およびnチャネルMOSトランジスタNT20を含
む。トランジスタPT20およびNT20のゲートに入
力INが与えられる。インバータ回路は2個のトランジ
スタで構成される。したがって、図20および図21に
示す冗長2進加算回路の構成要素数はそれぞれ48およ
び50となる。
【0278】[実施例9]図24はこの発明の第9の実
施例に従う乗算装置の要部の構成を示す図である。図2
4には、冗長2進加算回路のさらに他の構成を示す。こ
の図24に示す冗長2進加算回路は、図21に示すXO
R回路を構成する電界効果トランジスタをそれぞれCM
OSトランスミッションゲートで置換えたものと等価で
ある。
【0279】図24において、XOR回路XR1は、N
AND回路204の出力を反転するインバータ回路21
0と、NAND回路205の出力を反転するインバータ
回路211と、NAND回路204の出力が“H”のと
き導通し、インバータ回路211の出力およびNAND
回路205の出力をそれぞれ信号線229および230
上へ伝達するCMOSトランスミッションゲート262
および264と、NAND回路204の出力が“L”の
ときに導通し、NAND回路205の出力およびインバ
ータ回路211の出力をそれぞれ信号線229および2
30上へ伝達するCMOSトランスミッションゲート2
64および263を含む。信号線229上にはNAND
回路204および205の出力を入力とするXOR演算
結果を示す信号が伝達され、信号線230上にはXNO
R演算結果を示す信号が伝達される。
【0280】XOR回路XR2は、信号線229上の信
号電位が“H”のときに導通し、信号線230上の信号
/li−1および信号線231上の信号li−1をそれ
ぞれ信号線233および236上へ伝達するCMOSト
ランスミッションゲート266および268と、信号線
229上の信号電位が“L”のときに導通し、信号線2
31上の信号li−1および信号線232上の信号/l
i−1をそれぞれ信号線233および236上へ伝達す
るCMOSトランスミッションゲート269および26
7を含む。信号線229上の信号および信号線231上
の信号li−1を入力とするXOR演算結果を示す信号
が信号線233上へ伝達され、XNOR演算結果を示す
信号が信号線236上へ伝達される。
【0281】セレクタSELは、NAND回路206の
出力を受けるインバータ回路260と、信号線229上
の信号電位が“H”のとき導通し、信号線231上の信
号li−1および信号線231上の信号/li−1をそ
れぞれ信号線234および237上へ伝達するCMOS
トランスミッションゲート270および272と、信号
線229上の信号電位が“L”のとき導通し、信号線2
24上の信号および信号線259上の信号をそれぞれ信
号線234および237上へ伝達するCMOSトランス
ミッションゲート271および273を含む。
【0282】この図24に示す冗長2進加算回路の動作
は図20および図21に示すものと同様である。図21
に示す構成と比べて、トランスミッションゲートがCM
OSトランジスタで構成されるため、そこに含まれる構
成要素のトランジスタの数は56となる。この場合にお
いても従来の2進加算回路の構成要素数よりも少ない。
また、CMOSトランスミッションゲートを用いている
ため、信号伝送時における信号損失が生じないため、図
21に示すような正帰還回路(増幅回路)を設ける必要
がなく、この増幅回路による信号安定までに要する時間
を考慮する必要がなく、さらに高速動作が可能となる。
【0283】[実施例10]図25はこの発明の第10
の実施例である乗算装置の要部の構成を示す図である。
図25は、最終加算回路におけるキャリー生成部の構成
を示す。図25において、中間和生成回路から出力され
る冗長2進数の中間和H=(h14+ h14 - )…(h
+ h0- )は、6個のグループ951〜956に分割
される。グループ951〜956において、上位ビット
のグループは、下位ビットのグループのビット数以上の
ビットを含む。図25においては、グループ951〜9
56は、それぞれ1ビット、1ビット、2ビット、3ビ
ット、4ビットおよび4ビットを含む構成が一例として
示される。
【0284】グループ951は、固定値“1”に従っ
て、2進冗長ビットh0+ および/h0- の一方を選択
して通過させるセレクタ901を含む。セレクタ901
は、図10に示すものと同様の構成を備え、式(28)
に従う選択動作を実行する。セレクタ901は、キャリ
ー入力が“1”であるため、反転値/h0- を選択し、
キャリーC0を生成する。
【0285】グループ952は、固定値“0”に従っ
て、ビットh1+ および/h1- の一方を通過させるセ
レクタ902と、固定値“1”に従って、ビットh1+
および/h1- の一方を通過させるセレクタ903と、
セレクタ902および903の出力の一方をキャリーC
0に従って選択的に通過させるセレクタ904を含む。
セレクタ902は、キャリー入力に固定値“0”を受け
るため、ビット値h1+を通過させる。セレクタ903
は、その固定値“1”に従って、反転値/h1-を通過
させる。セレクタ904からキャリーC1が生成され
る。
【0286】グループ953は、ビットh2+ および/
h2- に対して設けられるセレクタ905および906
と、ビットh3+ および/h3- に対して設けられるセ
レクタ908および909を含む。セレクタ905およ
び906へは固定値“0”および“1”がそれぞれキャ
リー入力として与えられる。セレクタ908および90
9はそれぞれセレクタ905および906が出力する信
号を選択制御信号として、与えられたビットの一方を選
択的に通過させる。グループ953は、さらに、セレク
タ904が出力するキャリーC1を選択制御信号とし
て、セレクタ905および906の出力の一方を通過さ
せてキャリーC2を生成するセレクタ907と、セレク
タ908および909の出力の一方を通過させてキャリ
ーC3を生成するセレクタ910を含む。
【0287】グループ954は、ビットh4+ 、/h4
- 〜h6+ および/h6- に対してそれぞれ設けられる
第1列目のセレクタ911、914および917と、第
2列目のセレクタ912、915および918と、第3
列目のセレクタ913、916および919を含む。第
1列目のセレクタの最下位ビットのセレクタ911へ
は、固定値“0”が選択制御信号として与えられる。第
2列目のセレクタの最下位ビットのセレクタ912に対
しては固定値“1”が選択制御信号として与えられる。
第3列目のセレクタ913、916および919は、セ
レクタ910から生成されるキャリーC3に従って、対
応の桁ビットのこのセレクタから与えられる信号の一方
を通過させ、キャリーC4、C5およびC6をそれぞれ
生成する。
【0288】グループ955は、ビットh7+ および/
h7- 〜h10+ および/h10-に対して設けられる
第1列目のセレクタ920、923、926および92
9と、第2列目のセレクタ921、924、927およ
び930と、第3列目のセレクタ922、925、92
8および931を含む。第1列目のセレクタの最下位の
セレクタ920には固定値“0”が、第2列目の最下位
のセレクタ921には固定値“1”がそれぞれ選択制御
信号として与えられる。第3列目のセレクタ922、9
25、928および931は、セレクタ919から生成
されるキャリーC6を選択制御信号として、対応の桁ビ
ットの第1列および第2列のセレクタの出力の一方を選
択的に通過させてキャリーC7、C8、C9およびC1
0を生成する。
【0289】グループ956もグループ955と同様の
構成を備え、セレクタ932〜942を含む。第3列目
のセレクタ934、937、940および942から
は、セレクタ931が生成するキャリーC10を選択制
御信号として、対応の桁ビットの2つのセレクタの出力
の一方を通過させてキャリーC11、C12、C13お
よびC14を生成する。
【0290】この図25に示すキャリー生成部の構成の
場合、最上位のキャリーC14を生成するために必要と
されるセレクタの段数は、6段(セレクタ901、90
4、910、919、931および942)となり、実
施例1の場合の7段(図8および図9参照)に比べてよ
り高速でキャリーを生成することができる。
【0291】なお図25に示す構成において、固定値
“0”または“1”を受けるセレクタは、それが通過さ
せるビットは決定されている。したがって、この場合セ
レクタの構成を設けることなく、単に信号配線のみが配
設される構成が用いられてもよい。すなわち、セレクタ
は、固定値“0”が与えられた場合、上位ビットhj+
を通過させ、固定値“1”が与えられたとき、反転値/
hj- を通過させる。したがって、各グループにおける
初段のセレクタは、単に配線のみで構成することができ
る。
【0292】[実施例11]図26は、最終加算回路に
含まれるキャリー生成部に用いられるセレクタの構成の
一例を示す図である。図26においては、第iビットに
対するセレクタの構成が示される。図26を参照して、
セレクタは、下位ビットのセレクタが生成するキャリー
Ci−1および/Ci−1に応答して、上位ビットhi
+ を信号線304へ伝達するCMOSトランスミッショ
ンゲート301と、下位ビットの反転値/hi- を通過
させるCMOSトランスミッションゲート302と、信
号線304上のキャリーCiを反転するインバータ回路
303を含む。CMOSトランスミッションゲート30
1および302は、互いに相補的に導通および非導通状
態となる。キャリーCi−1が“1”のとき、CMOS
トランスミッションゲート302が導通状態となり、信
号線304上には、反転値/hi- が伝達されてキャリ
ーCiとなる。キャリーCi−1が“0”の場合、CM
OSトランスミッションゲート301が導通状態とな
り、信号線304上には上位ビットhi+ が伝達されて
キャリーCiとなる。このように相補なキャリーCi−
1および/Ci−1を形成することにより信号伝搬損失
を伴うことなく確実にキャリーを生成することができ
る。
【0293】[実施例12]図27はキャリー生成部に
含まれるセレクタの他の構成例を示す図である。この図
27に示すセレクタ回路は、キャリーCi−1が“1”
のとき導通して信号線309および310上に反転値/
hi- および下位ビットhi- をそれぞれ伝達するCM
OSトランスミッションゲート306および308と、
キャリーCi−1が“0”のとき導通状態となり、信号
線309および310上に上位ビットhi+ および/h
+ をそれぞれ伝達するCMOSトランスミッションゲ
ート305および307を含む。図27に示すセレクタ
の構成の場合、相補キャリーCiおよび/Ciを生成す
るためのインバータ回路を必要としない。このため、イ
ンバータ回路における信号伝搬遅延をなくすことがで
き、高速でキャリーを生成することができ、高速加算が
可能となる。
【0294】[実施例13]図28はキャリー生成部に
含まれるセレクタのさらに他の構成例を示す図である。
この図28においても第i桁ビットに対するセレクタの
構成が示される。図28を参照して、セレクタは、キャ
リーCi−1が“1”のとき導通し、信号線317およ
び318上に反転値/hi- と下位ビットhi- をそれ
ぞれ伝達するnチャネルMOSトランジスタ312およ
び314と、反転キャリー/Ci−1が“1”のとき導
通し、信号線317および318上に上位ビットhi+
および反転値/hi+ をそれぞれ伝達するnチャネルM
OSトランジスタ311および313と、信号線317
および318上の信号電位を差動的に増幅するためのゲ
ートとドレインが交差結合されかつ各ソースが電源電位
Vcc供給ノードに接続されるpチャネルMOSトラン
ジスタ315および316を含む。信号線317からキ
ャリーCiが生成され、信号線318から反転キャリー
/Ciが生成される。pチャネルMOSトランジスタ3
15は、信号線318上の電位が“L”のとき導通し、
信号線318上の信号電位を電源電位Vccレベルまで
充電する。トランジスタ316は、信号線317上の信
号電位が“L”のとき、信号線318の電位を電源電位
Vccレベルにまで充電する。
【0295】この図28に示すセレクタの構成の場合、
転送ゲートが図27に示す構成と異なり、1つの電界効
果トランジスタで実現される。したがって、そこに含ま
れるトランジスタの数が6個となり、CMOSトランス
ミッションゲートを用いる構成に比べて素子数を低減す
ることができ、この回路の占有面積、すなわち最終加算
回路におけるキャリー生成部の占有面積を低減すること
ができ、高集積化に適した最終加算回路を実現すること
ができる。
【0296】また、相補キャリーCi−1および/Ci
−1を用いて相補キャリーCiおよび/Ciを並列に生
成しているため、相補キャリーを生成するためのインバ
ータ回路を必要とせず、インバータ回路における信号伝
搬遅延が生じることがなく、高速でキャリーを生成する
ことが可能となる。
【0297】[実施例14]図29は図11に示すサム
生成回路の他の構成例を示す図である。図29において
は、第i桁ビットに対するサム生成回路が示される。図
29を参照して、サム生成回路は、反転ビット/hi+
および/hi- を受ける2入力NAND回路319と、
NAND回路319の出力を反転するインバータ回路3
20と、キャリーCi−1が“1”のとき、NAND回
路319の出力を信号線325上へ伝達するCMOSト
ランスミッションゲート321と、相補キャリー/Ci
−1が“1”のとき導通し、インバータ回路320の出
力を信号線325上へ伝達するCMOSトランスミッシ
ョンゲート322を含む。信号線325からサムziが
出力される。次に動作について説明する。
【0298】NAND回路319は、反転ビット/hi
+ および/hi- の否定論理積をとる。したがって、N
AND回路319から信号線323上へ伝達される信号
は/(/hi+ ・/hi- )=hi+ +hi- となる。
インバータ回路320から信号線324上へ伝達される
信号はしたがって、/hi+ +/hi- となる。キャリ
ーCi−1が“1”の場合には、信号線325上にはN
AND回路319の出力、すなわちhi+ +hi- が伝
達される。相補キャリー/Ci−1が“1”の場合に
は、インバータ回路320の出力、すなわち/hi+
/hi- が伝達される。すなわち、 zi=(hi+ +hi- )・Ci−1+/(hi+ +hi- )・/Ci−1 =/(/(hi+ +hi- ))・Ci−1 +/(hi+ +hi- )・/Ci−1 となる。これは式(29)と同じであり、/(hi+
hi- )とキャリーCi−1との排他的論理和(モジュ
ール2の加算)を示している。すなわち、図29に示す
サム生成回路は、図11に示すサム生成回路と同様の演
算を実行しており、反転ビット/hi+ および/hi-
からサムziを生成する。この図29に示す構成の場
合、インバータ回路320、およびCMOSトランスミ
ッションゲート321および322がXOR回路として
機能する。したがって、このXOR回路における信号伝
搬遅延を大幅に低減することができ、高速でサムを生成
することが可能となる。
【0299】また図29の構成の場合、必要とされるト
ランジスタの数は10個であり、従来のサム生成回路が
必要とするトランジスタの数よりも遙かに少ない数のト
ランジスタでサム生成回路を実現することができ、高集
積化に適したサム生成回路を得ることができる。
【0300】なお、上述の実施例においては、CMOS
トランスミッションゲート、およびMOSトランジスタ
が利用されている。この場合、他の絶縁ゲート型電界効
果トランジスタ、またはMESFET(金属−半導体電
界効果トランジスタ)または接合型電界効果トランジス
タが利用されてもよい。
【0301】
【発明の効果】この発明による乗算装置においては、符
号が反転された(正負が反転された)部分積と符号の反
転されない部分積とから特別な処理を必要とすることな
く冗長2進数を形成することができ、この冗長2進数の
加算および変換により積が得られるため、回路構成を複
雑にすることなく容易かつ高速に乗算を行なうことので
きる乗算装置を得ることができる。
【0302】また、この冗長2進数の性質により、最上
位ビットから下位ビットへ向かって同一のビット値が連
続する場合、そのほとんどを0とすることができるた
め、この0とされた上位ビットを無視することができ、
回路構成が簡略化され、素子数を低減することが可能と
なる。
【0303】また部分積から中間和を生成するための中
間和生成回路が、少ない素子数で高速で加算をする4入
力2出力の冗長2進加算器を用いて構成することがで
き、その配線に規則性が存在するため、配線のレイアウ
トが容易であり、かつ高速および高集積化に適した乗算
装置を得ることができる。
【0304】また、最終加算部におけるキャリー生成回
路をキャリーを選択制御信号として入力の一方を選択す
るセレクタ回路を用いて構成することができ、演算処理
を行なうための論理ゲートを必要とすることがなく、高
速でキャリーを伝搬させることができ、高速の加算が可
能となるとともに、回路構成が簡略化される。
【0305】請求項1に係る乗算装置においては、符号
反転の部分積と符号非反転の部分積とが1つの冗長2進
数を生成し、この冗長2進数を加算して、1つの冗長2
進数からなる中間和を生成し、この最終的に生成された
冗長2進数を通常の2進数に変換して積を得ているた
め、部分積加算に必要とされる中間和生成回路の構成お
よび最終加算回路の構成を簡略化することができ、また
簡易な回路構成で高速で乗算を行なうことのできる高集
積化に適した高速の乗算装置を得ることができる。
【0306】請求項2に係る発明に従えば、ブースのア
ルゴリズムに従って乗算を行なう構成において、従来の
ブースエンコーダの構成の一部のみを変更することによ
り容易に乗算2進数を生成することができ、複雑な回路
構成を追加することなく容易に冗長2進数を生成するこ
とが可能となる。
【0307】請求項3に係る発明に従えば、部分積生成
回路に含まれるシフタ/インバータ回路の論理の符号の
みを反転させることにより冗長2進数を生成することが
でき、複雑な回路構成を追加することなく容易かつ確実
に冗長2進数を生成することが可能となる。
【0308】請求項4に係る発明に従えば、ブースアル
ゴリズムを用いずに乗算を行なう乗算装置においても、
容易かつ部分積を数を増加させることなく冗長2進数を
生成することが可能となる。
【0309】請求項5に係る発明によれば、絶対値表示
の2進数であっても、容易に冗長2進数を生成すること
ができる。
【0310】請求項6に係る発明に従えば、隣接する部
分積を用いて1つの冗長2進数を生成しているため、冗
長2進数生成のための変換回路に対する配線が容易とな
るとともに、同一ビット値が連続する場合において、多
くのビット値を0に変更することができ、大幅に回路素
子数を低減することができる。
【0311】請求項7に係る発明に従えば、冗長2進数
を3値の冗長2進数とすることにより、効率的に冗長2
進加算を行なうことが可能となる。
【0312】請求項8に係る発明に従えば、ビット対
(1,1)をビット対(0,0)に変換しているため、
3値冗長2進数を用いて効率的に冗長2進加算を実行す
ることが可能となる。
【0313】請求項9に係る発明に従えば、効率的にビ
ット対(1,1)、(1,0)、(0,0)および
(0,1)をビット対(1,0)、(0,0)および
(0,1)に低減することができ、3値冗長2進数の計
算を簡略化することが可能となる。
【0314】請求項10に係る発明に従えば、上位ビッ
トの“0”に変更することができ、この上位ビットに対
する回路素子を省略することができ、部分積生成回路の
回路素子数を低減することができる。
【0315】請求項11に係る発明においては、2の補
数表示の2進数の乗算において、ビット値の反転とそれ
より上位のビットの0への変更により上位ビットに対す
る演算を簡略化することができ、容易に必要な情報のみ
を含む冗長2進数を生成することができる。
【0316】請求項12に係る発明においては、部分積
の符号反転時において生じる表示ビットを用いて新たな
冗長2進数を生成して加算するため、符号反転において
何ら計算が複雑化することなく容易に冗長2進加算を実
行することができる。
【0317】請求項13に係る発明においては、部分積
の符号反転において生じた表示ビットは上位ビットの部
分積に付加されるため、何ら計算を複雑化することなく
冗長2進の計算を実行することができる。
【0318】請求項14に係る乗算装置においては、こ
の冗長2進加算アルゴリズムを利用することにより、1
つの冗長2進加算においては、伝搬される信号は隣接す
る冗長2進加算器において生じる信号のみであり、信号
伝搬遅延を伴うことなく高速で冗長2進加算を行なうこ
とができる。
【0319】請求項15に係る乗算装置においては、モ
ジュール2の加算(XOR演算)がトランスミッション
ゲートを用いて実現されるため、少ない素子数で高速で
XOR演算を行なうことが可能となる。
【0320】請求項16に係る乗算装置においては、電
界効果トランジスタを用いてXOR演算を実現するため
の転送ゲートを構成しているため、構成要素数がさらに
低減されるとともに、増幅手段によりこの電界効果トラ
ンジスタによる電位低下を補償することができ、確実に
信号を伝搬することができる。
【0321】請求項17に係る乗算装置においては、互
いに相補な信号を出力するように構成されているため、
この相補な信号を用いてXOR演算をトランスミッショ
ンゲートで実現することができ、高速でかつ少ない素子
数でモジュール2の加算を実現する回路を得ることがで
きる。
【0322】請求項18に係る乗算装置においては、3
値冗長2進数に対し冗長2進加算が所定のアルゴリズム
に従って実行されるため、隣接冗長2進加算回路におけ
る信号伝搬のみで各冗長2進加算回路の出力が確定する
ため、高速でかつ効率的に冗長2進加算を行なうことが
可能となる。
【0323】請求項19に係る乗算装置においては、互
いに相補な信号が生成されるため、この相補信号を用い
てセレクタ回路等を制御することができ、少ない素子数
で高速で演算することのできる乗算装置を得ることがで
きる。
【0324】請求項20に係る乗算装置においては、論
理手段がすべて互いに相補な出力信号を生成するため、
その内部に必要とされる演算をすべて選択回路の構成で
実現することができ、高速で演算することのできる少素
子数の回路を実現することができる。
【0325】請求項21に係る乗算装置に従えば、モジ
ュール2の加算が転送ゲートにより実現されるため、高
速でモジュール2の加算を行なう回路を少ない素子数で
実現することができる。
【0326】請求項22に係る乗算装置によれば、トラ
ンスミッションゲートを用いて3値冗長2進数のモジュ
ール2の加算を実現することができ、簡易な回路構成で
高速で演算を行なうことのできる中間和生成回路を実現
することができる。
【0327】請求項23に係る乗算装置においては、N
AND回路と電界効果トランジスタと増幅手段により冗
長2進加算器を実現することができ、少ない素子数で高
速で演算することのできる冗長2進加算器を得ることが
できる。
【0328】請求項24に係る乗算装置においては、内
部で相補な出力信号が生成され、この出力信号を制御信
号として他方の相補出力信号を選択的に通過させるた
め、信号伝搬遅延を伴うことなく高速で演算を行なうこ
とのできる少ない素子数の冗長2進加算回路を得ること
ができる。
【0329】請求項25の乗算装置においては、モジュ
ール2の加算が電界効果トランジスタにより実現される
ため、回路素子数を大幅に低減することができる。
【0330】請求項26に係る乗算装置においては、キ
ャリー生成部をセレクタにより構成しているため、キャ
リー伝搬遅延を大幅に低減することができ、高速でキャ
リーを生成することができる。
【0331】請求項27に係る乗算装置においては、桁
上げ先見回路に従ってキャリーを生成することができ、
かつこの桁上げ先見回路のキャリー生成回路をすべてセ
レクタにより実現することができるため、より高速でキ
ャリーを生成することのできるキャリー生成部を得るこ
とができる。
【0332】請求項28に係る乗算装置においては、キ
ャリー生成部においては、上位ビットのグループが下位
ビットのグループよりもビット数が多くされるため、キ
ャリー伝搬遅延を低減することができる。
【0333】請求項29に係る乗算装置においては、相
補キャリーを生成しているため、キャリーを生成するた
めのセレクタの構成を容易に実現することができる。
【0334】請求項30に係る乗算装置においては、イ
ンバータがCMOSトランスミッションゲートで構成さ
れるため、簡易な回路構成で高速にキャリーを生成する
ことのできるキャリー生成部を実現することができる。
【0335】請求項31に係る乗算装置においては、ト
ランスミッションゲートのみを用いて相補なキャリーを
生成しているため、信号伝搬遅延を伴うことなく高速で
キャリーを生成することが可能となる。
【0336】請求項32に係る乗算装置においては、電
界効果トランジスタと増幅器とにより相補キャリーを生
成しているため、キャリー生成回路の構成要素数を低減
することができるとともに、高速でキャリーを生成する
ことが可能となる。
【0337】請求項33に係る乗算装置においては、サ
ムが対応の冗長2進ビットの上位および下位ビットと下
位からのキャリーとの排他的論理和(モジュール2の加
算)により生成されるため、簡易な回路構成でサムを得
ることができ、積を高速で生成することが可能となる。
【0338】請求項34に係る乗算装置においては、ト
ランスミッションゲートによりモジュール2の加算によ
りサムを生成しているため、素子数が少なくかつ高速で
サムを生成することのできるサム生成回路を得ることが
できる。
【図面の簡単な説明】
【図1】この発明の第1の実施例である乗算装置の全体
の構成を示す図である。
【図2】この発明において用いられる冗長2進数を説明
するための図である。
【図3】図1に示す符号反転ブースエンコーダが実現す
る論理とその構成を示す図である。
【図4】この発明において実行される部分積の構成要素
低減の手法を説明するための図である。
【図5】図1に示す変換回路の構成およびその入出力の
論理を示す図である。
【図6】図1に示す中間和生成回路の構成を示す図であ
る。
【図7】図6に示す冗長2進加算回路の具体的構成例を
示す図である。
【図8】図1に示す最終加算回路におけるキャリー生成
部の構成を示す図である。
【図9】図1に示す最終加算回路におけるキャリー生成
部の構成を示す図である。
【図10】図8および図9に示すセレクタが実現する論
理を示す図である。
【図11】図1に示す最終加算回路におけるサム生成回
路の構成を示す図である。
【図12】符号反転部分積において生じる補正ビットの
加算の手法を示す図である。
【図13】この発明の第2の実施例である乗算装置の全
体の構成を示す図である。
【図14】図13に示す符号反転シフタ/インバータ回
路の概略的構成を示すブロック図である。
【図15】この発明の第3の実施例である乗算装置の全
体の構成を示す図である。
【図16】図15に示す中間和生成回路の構成を示す図
である。
【図17】この発明の第4の実施例である乗算装置の全
体の構成を示す図である。
【図18】この発明の第5の実施例である乗算装置の全
体の構成を示す図である。
【図19】図18に示す中間和生成回路の具体的構成例
を示す図である。
【図20】この発明において用いられる中間和生成回路
の第1の変形例を示す図である。
【図21】この発明において用いられる中間和生成回路
の第2の変形例を示す図である。
【図22】NAND回路の構成の一例を示す図である。
【図23】インバータ回路の構成の一例を示す図であ
る。
【図24】この発明において用いられる中間和生成回路
の第3の変形例を示す図である。
【図25】この発明において用いられる最終加算回路の
キャリー生成部の第1の構成例を示す図である。
【図26】この発明において用いられるキャリー生成部
のキャリー生成回路の第1の変形例を示す図である。
【図27】この発明において用いられるキャリー生成回
路の第2の変形例を示す図である。
【図28】この発明において用いられる最終加算回路に
おいて用いられるキャリー生成回路の第3の変形例を示
す図である。
【図29】この発明における乗算装置の最終加算回路に
おいて用いられるサム生成回路の第1の変形例を示す図
である。
【図30】ブースのアルゴリズムを説明するための図で
ある。
【図31】2次のブースアルゴリズムを説明するための
図である。
【図32】従来の乗算装置の全体の構成を示す図であ
る。
【図33】図32に示す部分積生成回路に含まれるシフ
タ/インバータ回路の構成を示す図である。
【図34】図32に示すワレストリー加算回路の構成例
を示す図である。
【図35】図32に示す最終加算回路の構成例を示す図
である。
【図36】図35に示すリップルアダーの構成を示す図
である。
【図37】図34および図36に示される全加算器の具
体的構成例を示す図である。
【図38】従来のAND回路の構成例を示す図である。
【図39】従来の乗算装置の問題点を説明するための図
である。
【符号の説明】
5 従来の部分積指定用制御信号 7 従来の部分積指定用制御信号 9 シフタ/インバータ回路 10 シフタ/インバータ回路 11 シフタ/インバータ回路 12 シフタ/インバータ回路 14 符号非反転部分積 15 符号非反転部分積 53 符号反転部分積指定用制御信号 54 符号反転部分積指定用制御信号 55 符号反転部分積 56 符号反転部分積 57 変換回路 59 中間和生成回路 61 最終加算回路 700 符号化回路 702 部分積生成回路 710 符号反転ブースエンコーダ 70 冗長2進加算回路 71 冗長2進加算回路 72 冗長2進加算回路 73 NAND回路 74 NAND回路 75 NAND回路 77 AND回路 78 XOR回路 79 XOR回路 80 セレクタ 76 NAND回路 81 OR回路 92 セレクタ 93 セレクタ 94 セレクタ 95 セレクタ 96 セレクタ 97 セレクタ 98 セレクタ 99 セレクタ 100 セレクタ 101 セレクタ 102 セレクタ 103 セレクタ 104 セレクタ 105 セレクタ 106 セレクタ 107 セレクタ 760 キャリー生成グループ 762 キャリー生成グループ 108 セレクタ 109 セレクタ 110 セレクタ 111 セレクタ 112 セレクタ 113 セレクタ 114 セレクタ 115 セレクタ 116 セレクタ 117 セレクタ 118 セレクタ 119 セレクタ 120 セレクタ 121 セレクタ 122 セレクタ 123 セレクタ 124 セレクタ 125 セレクタ 126 セレクタ 127 セレクタ 128 セレクタ 764 キャリー生成グループ 766 キャリー生成グループ 770 セレクタ 166 NOR回路 167 XOR回路 500 符号化回路 790 部分積生成回路 170 符号反転シフタ/インバータ回路 171 符号反転シフタ/インバータ回路 172 AND回路 173 NAND回路 174 AND回路 175 NAND回路 176 AND回路 177 NAND回路 178 AND回路 180 中間和生成回路 181 冗長2進加算回路 192 冗長2進加算回路 193 冗長2進加算回路 194 冗長2進加算回路 195 冗長2進加算回路 196 冗長2進加算回路 197 冗長2進加算回路 198 冗長2進加算回路 199 冗長2進加算回路 179 NAND回路 191 中間和生成回路 196 XOR回路 197 XOR回路 198 AND/OR複合回路 199 AND/NOR複合回路 204 NAND回路 205 NAND回路 206 NAND回路 207 NAND回路 216 CMOSトランスミッションゲート 217 CMOSトランスミッションゲート 218 CMOSトランスミッションゲート 219 CMOSトランスミッションゲート 220 CMOSトランスミッションゲート 221 CMOSトランスミッションゲート 208 NAND回路 209 NAND回路 240 nチャネルMOSトランジスタ 241 nチャネルMOSトランジスタ 242 nチャネルMOSトランジスタ 243 nチャネルMOSトランジスタ 245 pチャネルMOSトランジスタ 246 pチャネルMOSトランジスタ 247 nチャネルMOSトランジスタ 248 nチャネルMOSトランジスタ 249 nチャネルMOSトランジスタ 250 nチャネルMOSトランジスタ 253 nチャネルMOSトランジスタ 254 nチャネルMOSトランジスタ 255 nチャネルMOSトランジスタ 251 pチャネルMOSトランジスタ 252 pチャネルMOSトランジスタ 257 pチャネルMOSトランジスタ 258 pチャネルMOSトランジスタ 262 CMOSトランスミッションゲート 263 CMOSトランスミッションゲート 264 CMOSトランスミッションゲート 265 CMOSトランスミッションゲート 266 CMOSトランスミッションゲート 267 CMOSトランスミッションゲート 268 CMOSトランスミッションゲート 269 CMOSトランスミッションゲート 270 CMOSトランスミッションゲート 271 CMOSトランスミッションゲート 272 CMOSトランスミッションゲート 273 CMOSトランスミッションゲート 901〜942 セレクタ 951〜956 キャリー生成グループ 301 CMOSトランスミッションゲート 302 CMOSトランスミッションゲート 305 CMOSトランスミッションゲート 306 CMOSトランスミッションゲート 307 CMOSトランスミッションゲート 308 CMOSトランスミッションゲート 311 nチャネルMOSトランジスタ 312 nチャネルMOSトランジスタ 313 nチャネルMOSトランジスタ 314 nチャネルMOSトランジスタ 315 pチャネルMOSトランジスタ 316 pチャネルMOSトランジスタ 319 NAND回路 320 インバータ回路 321 CMOSトランスミッションゲート 322 CMOSトランスミッションゲート

Claims (34)

    (57)【特許請求の範囲】
  1. 【請求項1】 第1の多ビット2進数と第2の多ビット
    2進数との乗算を行なうための乗算装置であって、 前記第1の多ビット2進数と前記第2の多ビット2進数
    とから、生成されるべき複数の部分積のうち一部の部分
    積の正負を示す符号を反転させかつ残りの生成されるべ
    き部分積の符号を非反転として複数の部分積を生成する
    部分積生成手段と、 1つの符号反転された部分積と1つの符号非反転の部分
    積とから1つの多ビット冗長2進数が生成されるように
    前記複数の部分積から複数の多ビット冗長2進数を生成
    する冗長2進数生成手段と、 前記複数の多ビット冗長2進数を冗長2進加算して最終
    的に1つの冗長2進数を生成する冗長2進加算手段と、 前記最終的に生成された1つの多ビット冗長2進数を前
    記第1および第2の多ビット2進数が表現される通常2
    進数に変換し、これにより前記第1の多ビット2進数と
    前記第2の多ビット2進数との積を示す多ビット2進数
    を生成する変換手段とを備える、乗算装置。
  2. 【請求項2】 請求項1記載の乗算装置であって、前記
    部分積生成手段は、 所定数のビットを単位として前記第1の多ビット2進数
    をエンコードし、生成されるべき部分積を示す複数の制
    御信号を生成するエンコード手段と、 前記エンコード手段からの制御信号と前記第2の多ビッ
    ト2進数とから前記複数の部分積を生成する手段とを備
    え、 前記エンコード手段は、前記生成されるべき部分積のう
    ち一部の部分積の符号が反転されるように制御信号を生
    成する手段を含む。
  3. 【請求項3】 請求項1記載の乗算装置であって、 前記部分積生成手段は、 所定数のビットを単位として前記第1の多ビット2進数
    をエンコードして、生成されるべき部分積を示す複数の
    制御信号を出力するエンコード手段と、 前記複数の制御信号と前記第2の多ビット2進数とに応
    答して、前記複数の部分積を生成するシフト/インバー
    タ手段とを備え、 前記シフト/インバータ手段は、前記複数の制御信号の
    うちの一部に対し、該制御信号が示す生成されるべき部
    分積の符号を反転して対応の部分積を生成する手段を含
    む。
  4. 【請求項4】 請求項1記載の乗算装置であって、 前記部分積生成手段は、 前記第1の多ビット2進数の各ビットと前記第2の多ビ
    ット2進数との論理積をとって部分積を生成する手段
    と、 前記第1の多ビット2進数の最上位ビットを除くビット
    のうちの一部のビットに対する部分積の符号を反転させ
    る手段とを含む。
  5. 【請求項5】 請求項1記載の乗算装置であって、 前記部分積生成手段は、 前記第1の多ビット2進数の各ビットと前記第2の多ビ
    ット2進数との論理積をとって部分積を生成する手段
    と、 前記第1の多ビット2進数の最上位ビットを含む一部の
    ビットに対する部分積の符号を反転させる手段とを含
    む。
  6. 【請求項6】 請求項1記載の乗算装置であって、 前記部分積生成手段は、前記第1の多ビット2進数のビ
    ット位置に関して隣接する2つの部分積を1つの組と
    し、各組において一方の部分積の符号を反転させる手段
    を含む。
  7. 【請求項7】 請求項1記載の乗算装置であって、 前記多ビット冗長2進数は、対応の部分積の対の同一桁
    のビット対が(0,1)のとき−1、(0,0)および
    (1,1)のとき0、および(1,0)のとき1となる
    3値を有する。
  8. 【請求項8】 請求項7記載の乗算装置であって、 前記冗長2進数生成手段は、前記多ビット冗長2進数の
    ビット対が(1,1)のとき(0,0)に変換し、残り
    のビット値の組合せのビット対に対しては無変換として
    出力する手段を含む。
  9. 【請求項9】 請求項1記載の乗算装置であって、 前記冗長2進数生成手段は、部分積の対の各桁に対応し
    て設けられ、非反転部分積の対応のビットと反転部分積
    の対応のビット値の反転との論理積をとる第1の論理積
    手段と、 非反転部分積の対応のビット値の反転値と反転部分積の
    対応のビット値との論理積をとる第2の論理積手段とを
    含み、 前記第1の論理積手段および前記第2の論理積手段の出
    力が1つの組として多ビット冗長2進数の1ビットを示
    す冗長2進ビットに対応する。
  10. 【請求項10】 請求項1記載の乗算装置であって、前
    記多ビット冗長2進数の各桁は少なくとも1、0、−1
    の3値を含み、 前記部分積生成手段は、 前記複数の多ビット冗長2進数のうち少なくとも一部に
    対し、最上位ビットから下位ビットに向かって同一の値
    の冗長2進ビットが複数個連続する複数の冗長2進ビッ
    トのうち最上位ビットを除く任意のビット値の符号を反
    転し、かつ符号反転されたビットより上位の冗長2進ビ
    ット値をすべて0とする手段を含む。
  11. 【請求項11】 請求項1記載の乗算装置であって、 前記冗長2進数生成手段は、 組となる部分積において、対応の桁のビット値の組が最
    上位から下位ビットへ向かって連続して同一ビット値の
    組となるとき、この連続する複数組のビットのうち最上
    位ビットを除くいずれかのビットの組のビット値をとも
    に反転させかつこの反転されたビット値の組よりも上位
    のビット値をすべて同一の値とする手段を含む。
  12. 【請求項12】 請求項1記載の乗算装置であって、 前記部分積生成手段は、 各部分積に対し、該部分積が前記第2の多ビット2進数
    と符号が同一であるか否かを示す表示ビットを生成する
    手段を含み、 前記冗長2進数生成手段は、前記表示ビットのすべてま
    たは一部から多ビット冗長2進数を生成する手段を含
    む。
  13. 【請求項13】 請求項1記載の乗算装置であって、 前記複数の部分積の各々は、前記第2の多ビット2進数
    と符号が同じであるか否かを示す表示ビットを有し、 前記部分積生成手段は、各表示ビットを前記第1の多ビ
    ット2進数の上位ビットから生成される部分積の対応の
    ビット位置に付加する手段を含む。
  14. 【請求項14】 請求項1記載の乗算装置であって、前
    記多ビット冗長2進数の各ビットは上位ビットaと下位
    ビットbの組(a,b)により表現され、 前記冗長2進数加算手段は多ビット冗長2進数の必要桁
    に対して設けられる複数の冗長2進加算器を含み、 第1の多ビット冗長2進数の第iビット(ai,qi)
    と第2の多ビット冗長2進数の第iビット(ci,r
    i)とから冗長2進加算を行なって第3の冗長2進数の
    第iビット(hi+ ,hi- )を生成する冗長2進加算
    器が、 【数1】 の演算を行なう第1の論理手段と、 /{(/ai・qi)+(/ci・ri)}の演算を行
    なう第2の論理手段と、 (ai・/qi+ci・/ri)の演算を行なう第3の
    論理手段と、 1ビット下位の冗長2進加算器の第2の論理手段の出力
    と前記第1の論理手段の出力とのモジュール2の加算を
    行なう論理ゲートと、 前記第1の論理手段の出力に応答して、1ビット下位の
    冗長2進加算器の第2の論理手段の出力と前記第3の論
    理手段の出力の一方を通過させるセレクタ手段と、 1ビット下位の冗長2進加算器の前記セレクタの出力と
    前記論理ゲートの出力との否定論理積をとり、前記第3
    の冗長2進ビットの上位ビットhi+ を生成する論理積
    ゲートと、 前記1ビット下位の冗長2進加算器の前記セレクタの出
    力と前記論理ゲートの出力との論理和をとって前記第3
    の冗長2進ビットの下位ビットhi- を生成する論理和
    手段とを含む。
  15. 【請求項15】 請求項14記載の乗算装置であって、
    前記論理ゲートおよび前記第1の論理手段の少なくとも
    一方は、前記モジュール2の加算を行なうために、一方
    の入力を制御信号として他方の入力を選択的に通過させ
    るトランスミッションゲートを含む。
  16. 【請求項16】 請求項14記載の乗算装置であって、 前記論理ゲートおよび前記第1の論理手段の少なくとも
    一方は、一方の入力を制御信号として他方の入力を選択
    的に通過させる電界効果トランジスタと、前記電界効果
    トランジスタの出力の電位損失を補償する手段を含む。
  17. 【請求項17】 請求項14記載の乗算装置であって、
    前記第1ないし第3の論理手段、前記セレクタ手段、お
    よび前記論理ゲートの少なくとも1つは互いに相補な信
    号の対を生成する手段を含む。
  18. 【請求項18】 前記冗長2進数生成手段は、 部分積の対の対応するビットの組が多ビット冗長2進数
    の対応の1ビットを表現するように、各部分積の対から
    多ビット冗長2進数を生成する生成手段と、 前記生成手段が生成した多ビット冗長2進数の各ビット
    に対し、上位ビットa + と下位ビットa- の対(a+
    - )が(1,1)のとき(0,0)に変換し、残りの
    ビット値の組合せに対しては無変換として3値冗長2進
    ビットを生成する変換手段とを含み、 前記冗長2進加算手段は、前記変換手段から生成された
    第1および第2の多ビット冗長2進数の必要なビットに
    対して設けられる複数の冗長2進加算器を含み、 第i桁の第1の冗長2進ビット(e+ ,e- )と第i桁
    の第2の冗長2進ビット(f+ ,f- )とから第3の冗
    長2進ビット(h+ ,h- )を生成する冗長2進加算器
    が、 【数2】 の演算を行なう第1の論理手段と、 (/e- ・/f- )の演算を行なう第2の論理手段と、 /(/e+ ・/f+ )の演算を行なう第3の論理手段
    と、 1ビット下位の冗長2進加算器の前記第2の論理手段の
    出力と前記第1の論理手段の出力とのモジュール2の加
    算を行なう第4の論理手段と、 前記第1の論理手段の出力に応答して、前記第3の論理
    手段の出力と前記1ビット下位の冗長2進加算器の前記
    第2の論理手段の出力との一方を通過させるセレクタ
    と、 前記1ビット下位の冗長2進加算器の前記セレクタ手段
    の出力と前記第1の論理手段の出力との否定論理積をと
    って前記第3の冗長2進ビットの上位ビットh + の反転
    値/h+ を生成する手段と、 前記第4の論理手段の出力と前記1ビット下位の冗長2
    進加算器の前記セレクタ手段の出力との論理和をとって
    前記第3の冗長2進ビットの下位ビットh- の反転値/
    - を生成する手段とを含む、請求項1記載の乗算装
    置。
  19. 【請求項19】 前記第2の論理手段および前記セレク
    タ手段は、互いに相補な1対の出力信号を生成する手段
    を含む、請求項18記載の乗算装置。
  20. 【請求項20】 前記第1ないし第4の論理手段は、互
    いに相補な1対の出力信号を生成する手段を含む、請求
    項18記載の乗算装置。
  21. 【請求項21】 前記第1および第4の論理手段の少な
    くとも一方は、一方の入力を制御信号とし他方の相補対
    の入力の一方を通過させてモジュール2の加算を行なう
    トランスミッションゲートを含む、請求項19記載の乗
    算装置。
  22. 【請求項22】 前記冗長2進数生成手段は、 部分積の対の対応するビットの対が多ビット冗長2進数
    の対応のビットを表現するように、各部分積の対から多
    ビット冗長2進数を生成する生成手段と、 前記生成手段が生成した多ビット冗長2進数の各ビット
    に対し、上位ビットa + と下位ビットa- の対(a+
    - )が(1,1)のとき(0,0)に変換し、残りの
    ビット値の組合せに対しては無変換として3値冗長2進
    ビットを生成する変換手段とを含み、 前記冗長2進加算手段は、前記変換手段からの第1およ
    び第2の多ビット冗長2進数の対の必要なビットに対し
    て設けられる複数の冗長2進加算器を含み、 第i桁の第1の冗長2進ビット(e+ ,e- )と第i桁
    の第2の冗長2進ビット(f+ ,f- )とから第3の冗
    長2進ビット(h+ ,h- )を生成する冗長2進加算器
    が、 (/e+ ・/e- )の演算を行ない、この演算結果およ
    びその反転値を各々示す信号の対を生成する第1の論理
    ゲート手段と、 (/f+ ・/f- )の演算を行ない、該演算結果および
    その反転値を示す相補な信号対を発生する第2の論理ゲ
    ート手段と、 /(/e+ ・/f+ )の演算を行ない、該演算結果を示
    す信号を発生する第3の論理ゲート手段と、 (/e- ・/f- )の演算を行ない、該演算結果および
    その反転値を示す真および補の信号を発生する第4の論
    理ゲート手段と、 前記第1の論理ゲート手段の出力に応答して、前記第2
    の論理手段の真および補の1対の出力信号の一方を通過
    させる第1のトランスミッションゲート手段とを備え、
    前記第1のトランスミッションゲート手段は、真および
    補の1対の出力信号を生成する手段を含み、 前記第1のトランスミッションゲート手段の出力に応答
    して、1ビット下位の冗長2進加算器の前記第4の論理
    ゲート手段の相補な出力信号対の一方を通過させる第2
    のトランスミッションゲート手段を備え、前記第2のト
    ランスミッションゲート手段は、互いに相補な真および
    補の出力信号を生成する手段を含み、 前記第1のトランスミッションゲート手段の出力に応答
    して、前記1ビット下位の冗長2進加算器の第4の論理
    ゲート手段からの否定論理積結果を示す信号と前記第3
    の論理ゲート手段の出力信号の一方を通過させる第3の
    トランスミッションゲート手段を含み、前記第3のトラ
    ンスミッションゲート手段は、真および補の1対の出力
    信号を生成する手段を含み、 前記第2のトランスミッションゲート手段の補の出力信
    号と前記1ビット下位の冗長2進加算器の第3のトラン
    スミッションゲート手段の真の出力信号との否定論理積
    をとって前記第3の冗長2進ビットの上位ビットh+
    反転値/h+ を生成する論理ゲートと、 前記第2のトランスミッションゲート手段の真の出力信
    号と前記1ビット下位の冗長2進加算器の前記第3のト
    ランスミッションゲート手段の補の出力信号との否定論
    理積をとって前記第3の冗長2進ビットの下位ビットh
    - の反転値/h - を生成する論理ゲートとを含む、請求
    項1記載の乗算装置。
  23. 【請求項23】 前記冗長2進数生成手段は、部分積の
    対の対応するビットの対が多ビット冗長2進数の対応の
    ビットを表現するように各部分積の対からなる多ビット
    冗長2進数を生成する生成手段と、 前記生成手段が生成した多ビット冗長2進数の各ビット
    に対し、上位ビットa + と下位ビットa- の対(a+
    - )が(1,1)のとき(0,0)に変換し残りのビ
    ット値の組合せに対しては無変換で出力して3値冗長2
    進ビットを生成する変換手段とを含み、 前記冗長2進加算手段は、前記変換手段から与えられる
    第1および第2の多ビット冗長2進数の対の必要なビッ
    トに対して設けられる複数の冗長2進加算器を含み、 第i桁の第1の冗長2進ビット(e+ ,e- )と第i桁
    の第2の冗長2進ビット(f+ ,f- )とから第3の冗
    長2進ビット(h+ ,h- )を生成する冗長2進加算器
    が、 前記第1の2進冗長ビットの上位ビットの反転値/e+
    と前記第1の冗長2進ビットの下位ビットの反転値/e
    - との否定論理積をとる第1の否定論理積手段と、 前記第2の冗長2進ビットの上位ビットの反転値/f+
    と前記第2の冗長2進ビットの下位ビット/f- との否
    定論理積をとる第2の否定論理積ゲートと、 前記第1の冗長2進ビットの上位ビットの反転値と前記
    第2の冗長2進ビットの上位ビットの反転値との否定論
    理積をとる第3の否定論理積ゲートと、 前記第1の冗長2進ビットの下位ビットの反転値/e-
    と前記第2の冗長2進ビットの下位ビットの反転値/f
    - との否定論理積をとる第4の否定論理積ゲートと、 前記第1の否定論理積ゲートの出力を反転する第1の反
    転ゲートと、 前記第2の否定論理積ゲートの出力を反転する第2の反
    転ゲートと、 前記第3の否定論理積ゲートの出力を反転する第3の反
    転ゲートと、 前記第4の否定論理積ゲートの出力を反転する第4の反
    転ゲートと、 前記第1の否定論理積ゲートの出力に応答して、前記第
    2の否定論理積ゲートの出力および前記第2の反転手段
    の出力をそれぞれ第1および第2の信号線上へ伝達する
    1対の第1の電界効果トランジスタと、 前記第1の反転手段の出力に応答して、前記第2の反転
    手段の出力と前記第2の否定論理積ゲートの出力をそれ
    ぞれ第1および第2の信号線上へ伝達する1対の第2の
    電界効果トランジスタと、 前記第1および第2の信号線上の電位に応答して、前記
    第1および第2の信号線上の電位を差動的に増幅してラ
    ッチする第1の増幅手段と、 前記第1の信号線上の電位に応答して、1ビット下位の
    冗長2進加算器の第4の否定論理積ゲートおよび第4の
    反転手段の出力をそれぞれ第3および第4の信号線上へ
    伝達する1対の第3の電界効果トランジスタと、 前記第2の信号線上の電位に応答して、前記1ビット下
    位の冗長2進加算器の前記第4の反転手段の出力および
    前記第4の否定論理積ゲートの出力をそれぞれ前記第3
    および第4の信号線上へ伝達する1対の第4の電界効果
    トランジスタと、 前記第3および第4の信号線上の電位を差動的に増幅す
    る第2の増幅手段と、 前記第1の信号線上の電位に応答して、前記第3の反転
    手段の出力および前記第3の否定論理積ゲートの出力を
    それぞれ第5および第6の信号線上へ伝達する1対の第
    5の電界効果トランジスタと、 前記第2の信号線上の電位に応答して、前記1ビット下
    位の冗長2進加算器の前記第4の否定論理積ゲートの出
    力および前記第4の反転手段の出力をそれぞれ前記第5
    および前記第6の信号線上へ伝達する1対の第6の電界
    効果トランジスタと、 前記第5および第6の信号線上の電位を差動的に増幅す
    る第3の増幅手段と、 前記第3の信号線上の信号と前記1ビット下位の冗長2
    進加算器の前記第6の信号線上の信号との否定論理積を
    とり前記第3の冗長2進ビットの上位ビットの反転値/
    + を生成する第5の否定論理積ゲートと、 前記第4の信号線上の信号と前記1ビット下位の冗長2
    進加算器の前記第5の信号線上の信号との否定論理積を
    とって前記第3の冗長2進ビットの下位ビットの反転値
    /h- を生成する第6の否定論理積ゲートとを備える、
    請求項1記載の乗算装置。
  24. 【請求項24】 前記冗長2進数生成手段は、部分積の
    対の対応するビットの対が多ビット冗長2進数の対応の
    ビットを表現するように各部分積の対から多ビット冗長
    2進数を生成する生成手段と、 前記生成手段が生成した多ビット冗長2進数の各ビット
    に対し、上位ビットa + と下位ビットa- の対(a+
    - )が(1,1)のとき(0,0)に変換し、残りの
    ビット値の組合せに対しては無変換として3値冗長2進
    ビットを生成する変換手段とを含み、 前記冗長2進加算手段は、前記変換手段から発生された
    第1および第2の多ビット冗長2進数の対の必要なビッ
    トに対して設けられる複数の冗長2進加算器を含み、 第i桁の第1の冗長2進ビット(e+ ,e- )と第i桁
    の第2の冗長2進ビット(f+ ,f- )とから第3の冗
    長2進ビット(h+ ,h- )を生成する冗長2進加算器
    は、 互いに相補な信号の対を出力する手段を含み、前記第1
    の冗長2進ビットの上位ビットの反転値/e+ と前記第
    1の冗長2進ビットの下位ビット/e- との否定論理積
    をとる第1の論理ゲート手段と、 前記第2の冗長2進ビットの上位および下位ビットの各
    反転値/f+ および/f- の論理積および否定論理積を
    とって出力する第2の論理ゲート手段と、 前記第1の冗長2進ビットの上位ビットの反転値/e+
    と前記第2の冗長2進ビットの上位ビット/f+ との否
    定論理積および論理積をとる第3の論理ゲート手段と、 前記第1の冗長2進ビットの下位ビットの反転値と前記
    第2の冗長2進ビットの下位ビットの反転値との論理積
    および否定論理積をとってそれぞれ出力する第4の論理
    ゲート手段と、 前記第1の論理ゲート手段の出力に応答して、前記第2
    の論理ゲート手段の論理積結果および否定論理積結果を
    それぞれ第1および第2の信号線上へ伝達する第1のト
    ランスミッションゲートと、 前記第1の論理ゲート手段の出力に応答して前記第1の
    トランスミッションゲートと相補的に導通し、前記第2
    の論理ゲート手段の否定論理積結果および論理積結果を
    それぞれ第1および第2の信号線上へ伝達する第2のト
    ランスミッションゲートと、 前記第1および第2の信号線上の信号に応答して、1ビ
    ット下位の冗長2進加算器の第4の論理ゲート手段の否
    定論理積結果および論理積結果をそれぞれ第3および第
    4の信号線上へ伝達する第3のトランスミッションゲー
    トと、 前記第1および第2の信号線上の信号に応答して前記第
    3のトランスミッションゲートと相補的に導通し、前記
    1ビット下位の冗長2進加算器の第4の論理ゲート手段
    の論理積結果および否定論理積結果をそれぞれ第3およ
    び第4の信号線上へ伝達する第4のトランスミッション
    ゲートと、 前記第1および第2の信号線上の電位に応答して、前記
    1ビット下位の冗長2進加算器の第4の論理積ゲート手
    段の論理積結果および否定論理積結果をそれぞれ第5お
    よび第6の信号線上へ伝達する第5のトランスミッショ
    ンゲートと、 前記第1および第2の信号線上の電位に応答して前記第
    5のトランスミッションゲートと相補的に導通し、前記
    第3の論理ゲート手段の否定論理積結果および論理積結
    果をそれぞれ第5および第6の信号線上へ伝達する第6
    のトランスミッションゲート手段と、 前記1ビット下位の冗長2進加算器の第5の信号線上の
    信号と前記第3の信号線上の信号との否定論理積をとり
    前記第3の冗長2進ビットの上位ビットの反転値/h+
    を生成する第5の論理ゲート手段と、 前記1ビット下位の冗長2進加算器の第6の信号線上の
    信号と前記第4の信号線上の信号との否定論理積をとっ
    て前記第3の冗長2進ビットの下位ビットの反転値/h
    - を生成する第6の論理ゲート手段とを含む、請求項1
    記載の乗算装置。
  25. 【請求項25】 前記第2の論理手段と前記第4の論理
    手段に含まれるモジュール2の加算を行なう手段は、一
    方の入力を制御信号として他方の入力を選択的に通過さ
    せるパスゲート手段を含む、請求項18記載の乗算装
    置。
  26. 【請求項26】 前記冗長2進数生成手段は、部分積の
    対の各ビットの組において(1,1)のビット値の組を
    (0,0)に変換して(0,0)、(1,0)、および
    (0,1)の3値の冗長2進ビットを生成して冗長2進
    数を生成する手段を含み、 前記最終積生成手段は、 前記最終的に生成された1つの冗長2進数の各桁につい
    てキャリーを生成するキャリー生成部と、 前記キャリー生成部からのキャリーと前記最終的に生成
    された1つの冗長2進数とから前記第1の多ビット2進
    数と前記第2の多ビット2進数との積を算出する積生成
    部とを含み、 前記キャリー生成部は、前記最終的に生成された1つの
    冗長2進数の各ビットの上位ビットと下位ビットの反転
    値との一方を下位から与えられるキャリー信号により選
    択し、該ビットに対するキャリーを生成するセレクタを
    含む、請求項1記載の乗算装置。
  27. 【請求項27】 前記キャリー生成手段は、前記最終的
    に生成された1つの冗長2進数の所定数の下位ビットに
    対して設けられる第1のキャリー生成器と、残りの上位
    ビットをグループに分割し、各グループに対応して設け
    られる複数の第2のキャリー生成器とを含み、 前記第1のキャリー生成器は、 前記所定数の下位ビットの各ビットに対応して設けら
    れ、隣接する下位ビットから与えられるキャリーに応答
    して対応の冗長2進ビットの上位ビットと下位ビットの
    反転値との一方を選択してキャリー出力を生成する複数
    の第1のセレクタを含み、前記第1のセレクタの最下位
    ビットに設けられた第1のセレクタはキャリー入力とし
    て第1の固定値の信号を受け、 前記第2のキャリー生成器の各々は、 対応のグループの各冗長2進ビットに対応して設けら
    れ、隣接下位ビットから与えられるキャリー出力に応答
    して、対応の冗長2進ビットの上位ビットと下位ビット
    の反転値との一方を選択してキャリー出力を生成する複
    数の第2のセレクタを備え、前記複数の第2のセレクタ
    の最下位ビットに対応する第2のセレクタのキャリー入
    力へは第2の固定値の信号が与えられ、 対応のグループの各冗長2進ビットに対応して設けら
    れ、隣接下位ビットから与えられるキャリーに応答して
    対応の冗長2進ビットの上位ビットと下位ビットの反転
    値との一方を選択してキャリー出力を生成する複数の第
    3のセレクタを備え、最下位ビットに対応して設けられ
    る第3のセレクタのキャリー入力へは前記第1の固定値
    の信号が与えられ、 下位のキャリー生成器の最上位ビットのキャリー出力に
    応答して、前記第2のセレクタのキャリー出力と前記第
    3のセレクタのキャリー出力の一方を選択して対応の冗
    長2進ビットに対するキャリー出力を生成する複数の第
    4のセレクタとを含む、請求項26記載の乗算装置。
  28. 【請求項28】 前記所定数および前記グループのビッ
    トの数は、上位ビットのグループのビット数が下位ビッ
    トのグループのビット数以上となるように前記上位ビッ
    トがグループに分割される、請求項26記載の乗算装
    置。
  29. 【請求項29】 前記第1ないし第4のセレクタの各々
    は、前記キャリー出力を反転して反転キャリーを生成す
    る手段を含む、請求項26記載の乗算装置。
  30. 【請求項30】 前記セレクタは、下位ビットからのキ
    ャリー出力に応答して対応の冗長2進ビットの下位ビッ
    トの反転値をキャリー出力として伝達する第1のトラン
    スミッションゲートと、 前記下位ビットからのキャリー出力の反転値に応答して
    対応の冗長2進ビットの上位ビットをキャリー出力とし
    て伝達する第2のトランスミッションゲートと、 前記キャリー出力を反転するインバータとを含む、請求
    項26記載の乗算装置。
  31. 【請求項31】 前記セレクタは、下位ビットからのキ
    ャリー出力に応答して対応の冗長2進ビットの下位ビッ
    トの反転値および下位ビットをそれぞれキャリー出力お
    よび反転キャリー出力へ伝達する第1のトランスミッシ
    ョンゲートと、 下位からのキャリー出力の反転値に応答して前記第1の
    トランスミッションゲートと相補的に導通し、対応の冗
    長2進ビットの上位ビットおよびその反転値を前記キャ
    リー出力および反転キャリー出力へ伝達する第2のトラ
    ンスミッションゲートとを備える、請求項26記載の乗
    算装置。
  32. 【請求項32】 前記セレクタは、下位ビットからのキ
    ャリー出力に応答して対応の冗長2進ビットの下位ビッ
    トの反転値および下位ビット値をそれぞれキャリー出力
    および反転キャリー出力へ伝達する1対の第1の電界効
    果トランジスタと、 下位ビットからの反転キャリー出力に応答して、前記対
    応の冗長2進ビットの上位ビットおよびその反転値をそ
    れぞれキャリー出力および反転キャリー出力へ伝達する
    1対の第2の電界効果トランジスタと、 前記キャリー出力および反転キャリー出力を差動的に増
    幅する増幅手段とを含む、請求項26記載の乗算装置。
  33. 【請求項33】 前記積算出手段は、前記最終的に生成
    された1つの冗長2進数の各ビットに対応して設けられ
    るサム回路を含み、 前記サム回路は、対応の冗長2進ビットの上位ビットと
    下位ビットとの否定的論理和をとる第1の論理手段と、 前記第1の論理手段の出力と下位ビットからのキャリー
    出力との排他的論理和をとって対応の冗長2進ビットの
    サム出力を生成する第2の論理手段とを含む、請求項2
    6記載の乗算装置。
  34. 【請求項34】 前記セレクタの各々は、正および補の
    互いに相補なキャリーを生成する手段を含み、 前記サム回路は、対応の冗長2進ビットの上位ビットの
    反転値および下位ビットの反転値の否定論理積をとる第
    1の論理手段と、 前記論理積手段の出力を反転する第2の論理手段と、 下位ビットからの正のキャリー出力に応答して前記第1
    の論理手段出力をサム出力へ伝達する第1のトランスミ
    ッションゲート手段と、 前記下位ビットからの補のキャリー出力に応答して前記
    第2の論理手段出力を前記サム出力ヘ伝達する第2のト
    ランスミッションゲート手段とを含む、請求項26記載
    の乗算装置。
JP00496493A 1993-01-14 1993-01-14 乗算装置 Expired - Fee Related JP3153370B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP00496493A JP3153370B2 (ja) 1993-01-14 1993-01-14 乗算装置
DE69328414T DE69328414T2 (de) 1993-01-14 1993-12-17 Multiplizierer mit Signed Digit Technik
EP93120383A EP0606611B1 (en) 1993-01-14 1993-12-17 Multiplier using signed digit technique
US08/168,498 US5473559A (en) 1993-01-14 1993-12-22 Hardware implemented multiplier

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00496493A JP3153370B2 (ja) 1993-01-14 1993-01-14 乗算装置

Publications (2)

Publication Number Publication Date
JPH06214755A JPH06214755A (ja) 1994-08-05
JP3153370B2 true JP3153370B2 (ja) 2001-04-09

Family

ID=11598278

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00496493A Expired - Fee Related JP3153370B2 (ja) 1993-01-14 1993-01-14 乗算装置

Country Status (4)

Country Link
US (1) US5473559A (ja)
EP (1) EP0606611B1 (ja)
JP (1) JP3153370B2 (ja)
DE (1) DE69328414T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102676098B1 (ko) 2019-11-21 2024-06-19 후아웨이 테크놀러지 컴퍼니 리미티드 곱셈기 및 연산자 회로

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734600A (en) * 1994-03-29 1998-03-31 International Business Machines Corporation Polynomial multiplier apparatus and method
US5870322A (en) * 1995-05-22 1999-02-09 Samsung Electronics Co., Ltd. Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
US5646877A (en) * 1995-05-25 1997-07-08 Texas Instruments Incorporated High radix multiplier architecture
US5867601A (en) * 1995-10-20 1999-02-02 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor using parallel processing
US5801979A (en) * 1995-10-20 1998-09-01 Matsushita Electric Corporation Of America Carry logic that produces a carry value from NLSBs for a ROM accumulator in an inverse discrete cosine transform processor
US5805482A (en) * 1995-10-20 1998-09-08 Matsushita Electric Corporation Of America Inverse discrete cosine transform processor having optimum input structure
US5754459A (en) * 1996-02-08 1998-05-19 Xilinx, Inc. Multiplier circuit design for a programmable logic device
JP3532338B2 (ja) * 1996-02-27 2004-05-31 株式会社ルネサステクノロジ 乗算装置
JP3604518B2 (ja) * 1996-11-01 2004-12-22 株式会社ルネサステクノロジ 除算装置
JPH10307705A (ja) * 1997-05-02 1998-11-17 Fujitsu Ltd 冗長2進符号変換回路及びこれを用いた乗算回路
US6157939A (en) * 1998-06-04 2000-12-05 Integrated Device Technology, Inc. Methods and apparatus for generating multiplicative inverse product
US7203718B1 (en) * 1999-10-29 2007-04-10 Pentomics, Inc. Apparatus and method for angle rotation
EP1122637A3 (de) * 2000-01-31 2005-10-12 Micronas GmbH Recheneinheit für eingeschränkte Signalverarbeitung
US6684236B1 (en) * 2000-02-15 2004-01-27 Conexant Systems, Inc. System of and method for efficiently performing computations through extended booth encoding of the operands thereto
US6978426B2 (en) * 2002-04-10 2005-12-20 Broadcom Corporation Low-error fixed-width modified booth multiplier
DE102007056104A1 (de) * 2007-11-15 2009-05-20 Texas Instruments Deutschland Gmbh Verfahren und Vorrichtung zur Multiplikation von Binäroperanden
JP5261738B2 (ja) * 2009-01-15 2013-08-14 国立大学法人広島大学 半導体装置
KR102057648B1 (ko) 2013-01-04 2019-12-20 삼성전자주식회사 중복 형태 리코딩을 이용한 곱셈 방법 및 모듈러 곱셈기
US10003342B2 (en) 2014-12-02 2018-06-19 Taiwan Semiconductor Manufacturing Company, Ltd. Compressor circuit and compressor circuit layout
US10296292B2 (en) 2016-10-20 2019-05-21 Advanced Micro Devices, Inc. Dynamic variable precision computation
US10756753B2 (en) * 2018-10-25 2020-08-25 Arm Limited Data compressor logic circuit
CN113946312A (zh) 2019-11-21 2022-01-18 华为技术有限公司 一种乘法器及算子电路
TWI707543B (zh) 2020-02-06 2020-10-11 崛智科技有限公司 壓縮器、加法電路及其操作方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0610787B2 (ja) * 1987-01-23 1994-02-09 松下電器産業株式会社 乗算処理装置
US4864528A (en) * 1986-07-18 1989-09-05 Matsushita Electric Industrial Co., Ltd. Arithmetic processor and multiplier using redundant signed digit arithmetic
US4890127A (en) * 1988-03-31 1989-12-26 Texas Instruments Incorporated Signed digit adder circuit
GB8817766D0 (en) * 1988-07-26 1989-07-05 Emi Plc Thorn Signal processing
JPH072124B2 (ja) * 1988-10-12 1995-01-18 菱有工業株式会社 小型携帯機器用加熱保温ケース
JPH02300930A (ja) * 1989-05-16 1990-12-13 Oki Electric Ind Co Ltd 乗算回路
JPH03177922A (ja) * 1989-12-06 1991-08-01 Sharp Corp ワレスのトリー回路
JPH0720758Y2 (ja) * 1990-09-28 1995-05-15 株式会社ダイヤ 携帯用端末機用ケース

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102676098B1 (ko) 2019-11-21 2024-06-19 후아웨이 테크놀러지 컴퍼니 리미티드 곱셈기 및 연산자 회로

Also Published As

Publication number Publication date
JPH06214755A (ja) 1994-08-05
EP0606611A2 (en) 1994-07-20
US5473559A (en) 1995-12-05
DE69328414D1 (de) 2000-05-25
EP0606611A3 (en) 1994-11-02
EP0606611B1 (en) 2000-04-19
DE69328414T2 (de) 2000-08-10

Similar Documents

Publication Publication Date Title
JP3153370B2 (ja) 乗算装置
US5956265A (en) Boolean digital multiplier
JPH0555894B2 (ja)
JPH0431412B2 (ja)
JPH0160858B2 (ja)
JPS595349A (ja) 加算器
US6012079A (en) Conditional sum adder using pass-transistor logic and integrated circuit having the same
JP3225043B2 (ja) 絶対値算術演算ユニット及び差動マルチプレクサ
Rafiq et al. An efficient architecture of modified booth multiplier using hybrid adder
US5870322A (en) Multiplier to selectively perform unsigned magnitude multiplication or signed magnitude multiplication
JP4157141B2 (ja) 桁上げリップル加算器
Balsara et al. Understanding VLSI bit serial multipliers
Neto et al. Decimal addition on FPGA based on a mixed BCD/excess-6 representation
JPH10133857A (ja) 除算装置
Ragunath et al. Delay optimized binary to BCD converter for multi-operand parallel decimal adder
JPH02501242A (ja) 高速デジタル計算システム
US5289392A (en) Adder
Sahoo et al. A novel redundant binary number to natural binary number converter
JP2606326B2 (ja) 乗算器
JPS58181143A (ja) デイジタル乗算器
US5130944A (en) Divider circuit adopting a neural network architecture to increase division processing speed and reduce hardware components
JPS62154029A (ja) 乗算回路
Bindal et al. Review of Combinational Logic Circuits
JP2000347834A (ja) Sw数系による演算回路
JP2563467B2 (ja) 2進演算器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010116

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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: 20080126

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100126

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees