(57)【要約】【課題】冗長２進数から通常２進数への復号処理をより高速に行なうことが可能な冗長２進加算復号装置を提供すること。【解決手段】複数桁の冗長２進加算と、該冗長２進加算の加算結果を通常２進加算に復号する処理を行なう冗長２進加算復号装置であって、各桁に対応する複数の子冗長２進加算復号手段を有し、前記各子冗長２進加算復号手段は、被加数及び加数に基づいて、下位桁から入力される桁上げ信号の種類に応じた上位桁への桁上げ信号候補を複数種類生成し、下位桁から入力された桁上げ信号に応じて、前記生成した複数種類の桁上げ信号候補から上位桁への桁上げ信号を選択することを特徴とする、冗長２進加算復号装置。【選択図】図９
2011107969.tif 000002
【特許請求の範囲】
【請求項１】
複数桁の冗長２進加算と、該冗長２進加算の加算結果を通常２進加算に復号する処理を行なう冗長２進加算復号装置であって、
各桁に対応する複数の子冗長２進加算復号手段を有し、
前記各子冗長２進加算復号手段は、
被加数及び加数に基づいて、下位桁から入力される桁上げ信号の種類に応じた上位桁への桁上げ信号候補を複数種類生成し、
下位桁から入力された桁上げ信号に応じて、前記生成した複数種類の桁上げ信号候補から上位桁への桁上げ信号を選択することを特徴とする、
冗長２進加算復号装置。
【請求項２】
前記加算復号手段における桁上げ信号は、｛−２，−１，０，１｝の４種類であることを特徴とする、
請求項１に記載の冗長２進加算復号装置。
【請求項３】
前記被加数、前記加数、及び前記桁上げ信号は、２ビットの補数として取り扱われる、
請求項１又は２に記載の冗長２進加算復号装置。
【請求項４】
前記各子冗長２進加算復号手段は、
下位桁から入力される桁上げ信号が−２である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第１の論理回路と、
下位桁から入力される桁上げ信号が−１である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第２の論理回路と、
下位桁から入力される桁上げ信号が０である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第３の論理回路と、
下位桁から入力される桁上げ信号が１である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第４の論理回路と、
前記第１ないし第４の論理回路により生成された信号のいずれかを、前記下位桁から入力される桁上げ信号に基づいて選択する第１の選択手段と、
下位桁から入力される桁上げ信号が−２である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第５の論理回路と、
下位桁から入力される桁上げ信号が−１である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第６の論理回路と、
下位桁から入力される桁上げ信号が０である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第７の論理回路と、
下位桁から入力される桁上げ信号が１である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第８の論理回路と、
前記第１ないし第４の論理回路により生成された信号のいずれかを、前記下位桁から入力される桁上げ信号に基づいて選択する第２の選択手段と、
を備えることを特徴とする、請求項３に記載の冗長２進加算復号装置。
【請求項５】
前記第１及び第２の選択手段は、マルチプレクサである、
請求項４に記載の冗長２進加算復号装置。
【請求項６】
前記各子冗長２進加算復号手段は、前記被加数、前記加数、及び前記下位桁から入力される桁上げ信号のそれぞれの下位ビットに基づいて当該桁の和を決定する和決定手段を有する、
請求項４又は５に記載の冗長２進加算復号装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の冗長２進加算復号装置を備え、該冗長２進加算復号装置によって最終段の冗長２進加算と復号を行なうことを特徴とする、
乗算装置。
【請求項８】
複数段の冗長２進加算を行なうことにより乗算を行なう乗算装置であって、
最終段の冗長２進加算処理と復号処理を一体に行なうことを特徴とする、
乗算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長２進数を利用した加算演算を複数段にわたって行なうことにより乗算を行なう乗算装置、及びその一部を構成する冗長２進加算復号装置に関する。
【背景技術】
【０００２】
従来、２進数の数字同士を加算するための２進加算器が広く用いられている。２進加算器は、乗算装置の一部として用いることができる。例えば、２進数同士を乗算する乗算装置では、２進数の各桁の数字を全ての組み合わせについて乗算し、重みの等しいもの（同じ２ｋの係数となるもの）同士を加算する処理が行われる。
【０００３】
ところが、この２進加算器では、｛０，１｝の２値で表される通常２進数同士を加算するため、桁上げが下位の桁から上位の桁まで順次伝播し、演算速度が低下してしまうという課題が存在していた。
【０００４】
これに対し、加数及び被加数を、例えば｛−１，０，１｝の３値で表される冗長２進数として取り扱う冗長２進加算器が知られている。冗長２進数では、例えば１０進数の５は、｛０  １  ０  １｝、｛１  ０−１−１｝、｛１−１  ０  １｝と、複数通りに表すことができる。冗長２進加算器では、下位からの桁上げ（キャリー）と、このキャリーに加算される要素（中間和）が、共に１、又は共に−１とならないように、演算結果を制御する。この結果、桁上げの伝播を１桁で済ませることができ、乗算を行なう際の演算速度を向上させることができる。
【０００５】
このような冗長２進加算器を具備する乗算装置の出力を利用するデジタル機器においては、冗長２進数がそのまま入力されると演算が煩わしいものとなる場合がある。デジタル機器では、｛０，１｝の２値で信号を取り扱う場合が多いからである。従って、乗算装置では、冗長２進数加算器における加算が全て終了した後に、通常２進数に復号する処理が行われると好都合である。
【０００６】
特許文献１には、入力された通常２進数の数字を符号化回路によって冗長化し、多段に組み合わされた冗長２進加算器によって加算された冗長２進数の総和を、複合化回路によって通常２進数に変換する多入力加算回路について記載されている。
【０００７】
また、特許文献２には、冗長２進加算器を用いた乗算装置について記載されている。この装置では、冗長２進数を通常２進数に変換するための冗長２進・２進変換手段を備えている。冗長２進・２進変換手段は、冗長２進数データから各ビット毎にキャリー生成関数とキャリー伝播関数を生成するためのＰＧ生成手段と、キャリー生成関数とキャリー伝播関数から乗算結果を生成するための最終加算手段を備えている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−６２６２号公報
【特許文献２】特開平１１−１５６４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の乗算装置等における冗長２進数から通常２進数への復号処理においては、下位桁からキャリーが入力されるのを待ってから上位桁へのキャリーを生成する必要があり、高速処理の妨げとなっていた。
【００１０】
本発明はこのような課題を解決するためのものであり、冗長２進数から通常２進数への復号処理をより高速に行なうことが可能な冗長２進加算復号装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するための本発明の一態様は、
複数桁の冗長２進加算と、該冗長２進加算の加算結果を通常２進加算に復号する処理を行なう冗長２進加算復号装置であって、
各桁に対応する複数の子冗長２進加算復号手段を有し、
前記各子冗長２進加算復号手段は、
被加数及び加数に基づいて、下位桁から入力される桁上げ信号の種類に応じた上位桁への桁上げ信号候補を複数種類生成し、
下位桁から入力された桁上げ信号に応じて、前記生成した複数種類の桁上げ信号候補から上位桁への桁上げ信号を選択することを特徴とする、
冗長２進加算復号装置である。
【００１２】
この本発明の一態様によれば、各子冗長２進加算復号手段が、被加数及び加数に基づいて、下位桁から入力される桁上げ信号の種類に応じた上位桁への桁上げ信号候補を複数種類生成し、下位桁から入力された桁上げ信号に応じて、前記生成した複数種類の桁上げ信号候補から上位桁への桁上げ信号を選択するため、冗長２進数から通常２進数への復号処理をより高速に行なうことができる。
【００１３】
本発明の一態様において、
前記加算復号手段における桁上げ信号は、｛−２，−１，０，１｝の４種類であるものとしてもよい。
【００１４】
また、本発明の一態様において、
前記被加数、前記加数、及び前記桁上げ信号は、２ビットの補数として取り扱われるものとしてもよい。
【００１５】
また、本発明の一態様において、
前記各子冗長２進加算復号手段は、
下位桁から入力される桁上げ信号が−２である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第１の論理回路と、
下位桁から入力される桁上げ信号が−１である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第２の論理回路と、
下位桁から入力される桁上げ信号が０である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第３の論理回路と、
下位桁から入力される桁上げ信号が１である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第４の論理回路と、
前記第１ないし第４の論理回路により生成された信号のいずれかを、前記下位桁から入力される桁上げ信号に基づいて選択する第１の選択手段と、
下位桁から入力される桁上げ信号が−２である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第５の論理回路と、
下位桁から入力される桁上げ信号が−１である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第６の論理回路と、
下位桁から入力される桁上げ信号が０である場合に上位桁に出力される桁上げ信号候補の上位ビットを生成する第７の論理回路と、
下位桁から入力される桁上げ信号が１である場合に上位桁に出力される桁上げ信号候補の下位ビットを生成する第８の論理回路と、
前記第１ないし第４の論理回路により生成された信号のいずれかを、前記下位桁から入力される桁上げ信号に基づいて選択する第２の選択手段と、
を備えることを特徴とするものとしてもよい。
【００１６】
また、本発明の一態様において、
前記第１及び第２の選択手段は、例えばマルチプレクサである。
【００１７】
また、本発明の一態様において、
前記各子冗長２進加算復号手段は、前記被加数、前記加数、及び前記下位桁から入力される桁上げ信号のそれぞれの下位ビットに基づいて当該桁の和を決定する和決定手段を有するものとしてもよい。
【００１８】
本発明の他の態様は、
本発明の一態様の冗長２進加算復号装置を備え、該冗長２進加算復号装置によって最終段の冗長２進加算と復号を行なうことを特徴とする、乗算装置である。
【００１９】
本発明の他の態様によれば、回路のサイズやコストを低減することができる。
【００２０】
本発明の更に他の態様は、
複数段の冗長２進加算を行なうことにより乗算を行なう乗算装置であって、
最終段の冗長２進加算処理と復号処理を一体に行なうことを特徴とする、乗算装置である。
【００２１】
本発明の他の態様によれば、回路のサイズやコストを低減することができる。
【発明の効果】
【００２２】
本発明によれば、冗長２進数から通常２進数への復号処理をより高速に行なうことができる。
【図面の簡単な説明】
【００２３】
【図１】（ｘ4ｘ3ｘ2ｘ1ｘ0）と（ｙ4ｙ3ｙ2ｙ1ｙ0）で表される５桁の２進数同士を乗算した場合において、各桁の数Ｓ0〜Ｓ9を算出する仕組みを示す図である。
【図２】５桁の乗算を行なうことが可能な、一般的な乗算器の構成例である。
【図３】図２の乗算器における信号の流れを示したものである。
【図４】ＲＢＦＡ１００の出力規則を示す図である。
【図５】本実施例に係る乗算装置１の構成例である。
【図６】冗長２進数と、２ビットの補数との対応図である。
【図７】ＲＢＡＤ１０における伝達特性図である。
【図８】上位桁（ｉ＋１）に−２のキャリーＣpiを出力する場面を説明するための説明図である。
【図９】子ＲＢＡＤ１０ｉの回路構成例である。
【図１０】キャリー伝播制御部３０の回路構成例である。
【図１１】下位桁から入力されたキャリー（Ｃp1i-1Ｃp0i-1）、被加数（ｘ1iｘ0ｉ）、加数（ｙ1iｙ0i）の全ての組み合わせと、上位桁に出力されるキャリー（Ｃp1iＣp0i）との対応関係を示す真理値表である。
【図１２】図１１の真理値表を実数表記に直した図である。
【図１３】本実施例の冗長２進加算復号装置１０による実際の演算例を示す。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００２５】
以下、図面を参照し、本発明の一実施例に係る冗長２進加算復号装置、及びこれを利用した乗算装置について説明する。
【００２６】
［一般的な乗算装置の構成］
まず、乗算装置における乗算の仕組みについて簡単に説明する。ｎ桁の被乗数Ｘと乗数Ｙの乗算を考える。Ｘは、（ｘn-1ｘn-1…ｘi…ｘ1ｘ0）で表される冗長２進数であり、Ｙは（ｙn-1ｙn-1…ｙj…ｙ1ｙ0）で表される冗長２進数である。ＸとＹの各桁は、｛−１，０，１｝の３値を取り得る。
【００２７】
ＸとＹの所望の桁同士を乗算した部分積Ｐi,jは、次式（１）で表される。
【００２８】
【数１】
2011107969.tif 000003
全ての（ｉ，ｊ）について部分積が求められると、各部分積は、重みの等しいもの同士が加算される。重みの等しいものとは、例えばｘ1×ｙ2とｘ3×ｙ0等、同じ２のべき乗の係数となるものをいう。ｋ桁の加算結果Ｓkは、次式（２）で表される。
【００２９】
【数２】
2011107969.tif 000004
図１は、（ｘ4ｘ3ｘ2ｘ1ｘ0）と（ｙ4ｙ3ｙ2ｙ1ｙ0）で表される５桁の２進数同士を乗算した場合において、各桁の数Ｓ0〜Ｓ9を算出する仕組みを示す図である。そして、図２は、５桁の乗算を行なうことが可能な、一般的な乗算器の構成例である。図中、ＲＢＦＡ１００は冗長２進加算器を示している。また、Ｐnmは、被乗数のｎ桁目と乗数のｍ桁目の部分積を示す。なお、以降、被乗数と乗数が入力されると部分積を出力する部分積生成部については、図示及び説明を省略する。
【００３０】
ここで、ＲＢＦＡ１００は、被加数ｘi、加数ｙi、及び下位桁の被加数ｘi-1、加数ｙi-1が入力されると、中間和ｇi及びキャリーＣiを出力するように構成されている。そして、中間和ｇiと下位桁から入力されるキャリーＣi-1が加算器１１０によって加算されて、和Ｓiが次段に出力される。この和Ｓiは、次段において被加数ｘiとなる。中間和、キャリー、和も同様に、｛−１，０，１｝の３値で表される冗長２進数である。
【００３１】
図３は、図２の乗算器における信号の流れを示したものであり、図４は、ＲＢＦＡ１００の出力規則を示す図である。図４に示すように、ＲＢＦＡ１００では、例えばｘi-1＋ｙi-1が正である場合にはキャリーＣi-1が１となる可能性があるため、中間和ｇiを−１としている。この結果、下位から入力されるキャリーＣi-1と、このキャリーＣi-1に加算される中間和ｇiが、共に１、又は共に−１とならないように演算結果を制御しているのである。
【００３２】
そして、最終段まで加算が終了すると、加算結果が復号器１２０に入力される。復号器１２０では、冗長２進数を通常２進数に復号して出力する。冗長２進数を通常２進数に復号する処理は、例えば０桁の和Ｓ0が−１であるとすると、これを１に変更すると共に、１桁に−１の値を有するキャリーＣ0を伝達する。次いで、１桁の和Ｓ1とキャリーＣ0を加算し、０桁と同様に加算結果が−１であればこれを１に変更すると共に、２桁に−１のキャリーＣ1を伝達する。
【００３３】
従来の復号器１２０では、このように下位桁からキャリーＣが入力されるのを待ってから上位桁へのキャリーＣを生成する構成となっていたため、復号処理が高速処理を妨げる一因となっていた。
【００３４】
［本発明に係る特徴的な構成］
本発明に係る冗長２進加算復号装置１０（以下、ＲＢＡＤ（Redundant Binary Addition-Decoder）１０と称する）は、最終段の加算処理と復号処理を一体に行なう構成となっている。ＲＢＡＤ１０は、図４における斜線部分と同等の機能を有しており、またその特徴的な構造によって、従来の最終段の加算部（ＲＢＦＡ１００及び加算器１１０）と復号器１２０の組み合わせに比して、より高速な演算を実現している。図５は、本実施例に係る乗算装置１の構成例である。ＲＢＡＤ１０は、各桁に対応する複数の子ＲＢＡＤ１０0〜１０nを有している（桁数に特段の制限はないので、ｎ桁とした）。
【００３５】
前述のように、最終段よりも前の冗長２進加算では｛−１，０，１｝の３値で表される冗長２進数を取り扱っていたが、ＲＢＡＤ１０では、キャリーＣp（復号に伴う桁上げ信号）について｛−２,−１，０，１｝の４値で表される冗長２進数を取り扱う。
【００３６】
また、ＲＢＡＤ１０及びこれを利用した乗算装置１では、冗長２進数を２ビットの補数として取り扱っている。図６は、冗長２進数と、２ビットの補数との対応図である。乗算装置１において、最終段よりも前の冗長２進加算では［１１］、［００］、［０１］の３種類の補数が伝達され、ＲＢＡＤ１０では［１０］［１１］、［００］、［０１］の４種類の補数が伝達される。従って、例えばｘiは、ｘ1iとｘ0iの２ビットで表現される。加数ｙiやキャリーＣについても同様である。２ビットの補数として取り扱うことによって、０又は１を示す２値の電圧信号として取り扱うことが可能となり、信号処理が比較的容易なものとなる。
【００３７】
また、図７は、ＲＢＡＤ１０における伝達特性図である。図７は、ＲＢＡＤ１０における、被加数ｘi、加数ｙi、下位桁から入力されたキャリーＣpi-1の和と、和Ｓi、上位桁へのキャリーＣpiの対応関係を示す図である。図８は、上位桁（ｉ＋１）に−２（補数表現では［１０］）のキャリーＣpiを出力する場面を説明するための説明図である。図示するように、下位桁（ｉ−１）の被加数ｘi、加数ｙiが共に−１であるとき、下位桁からのキャリーＣpi-1は−１となる（Ｃpi-2は０とする）。そして、当該桁（ｉ）の被加数ｘi、加数ｙiが共に−１である場合、和Ｓiは１、キャリーＣpiは−２となる。
【００３８】
図９は、子ＲＢＡＤ１０iの回路構成例である。子ＲＢＡＤ１０iは、被加数ｘi及び加数ｙi（補数表記すればｘ1iｘ0i、ｙ1iｙ0i）に基づいて、下位桁から入力されるキャリーＣpi-1（補数表記すればＣp1i-1、Ｃp0i-1）の種類に応じた上位桁へのキャリー候補Ｃgを複数種類生成する。下位桁から入力されるキャリーＣpi-1は、［１０］、［１１］、［００］、［０１］のいずれかである。上位桁へのキャリー候補Ｃgは、Ｃg1i[10]Ｃg0i[10]、Ｃg1i[11]Ｃg0i[11]、Ｃg1i[00]Ｃg0i[00]、Ｃg1i[01]Ｃg0i[01]の４種類である。
【００３９】
子ＲＢＡＤ１０ｉは、生成した複数種類の上位桁へのキャリー候補Ｃgから、下位桁から入力されたキャリー（Ｃp1i-1Ｃp0i-1）に応じて上位桁へのキャリーＣpiを選択して出力するキャリー伝播制御部３０を備える。以下、子ＲＢＡＤ１０iが有する構成要素については、桁数を示すｉを省略する。桁上げ信号候補は、図９に示すような論理回路によって生成される。
【００４０】
ここで、図９で示す論理回路の基となった関係式を示す。Ｃg1i[10]及びＣg0i[10]に関しては、次式（３）、（４）を満たす。
【００４１】
【数３】
2011107969.tif 000005
また、Ｃg1i[11]、Ｃg0i[11]、Ｃg1i[00]、Ｃg0i[00]、Ｃg1i[01]、Ｃg0i[01]に関しても、それぞれ次式（５）〜（１０）を満たす。
【００４２】
【数４】
2011107969.tif 000006
上位桁へのキャリー候補Ｃgi[10]の上位ビットＣg1i[10]は、下位桁から入力されるキャリーＣpi-1が［１０］である場合に（実数表記では−２）、上位桁に出力するキャリーＣpiの上位ビットとなる信号である。キャリー候補Ｃgi[10]の上位ビットＣg1i[10]は、被加数ｘiの上位ビットｘ1iの反転、被加数ｘiの下位ビットｘ0i、加数ｙiの上位ビットｙ1iの反転、加数ｙiの下位ビットｙ0iが入力される第１のＮＡＮＤゲート１１の出力信号である。
【００４３】
上位桁へのキャリー候補Ｃgi[11]の上位ビットＣg1i[11]は、下位桁から入力されるキャリーＣpi-1が［１１］（実数表記では−１）である場合に、上位桁に出力するキャリーＣpiの上位ビットとなる信号である。キャリー候補Ｃgi[11]の上位ビットＣg1i[11]は、被加数ｘiの上位ビットｘ1iの反転、加数ｙiの上位ビットｙ1iの反転、及び第２のＮＡＮＤゲート１２の出力が入力される第６のＮＡＮＤゲート１６の出力信号である。第２のＮＡＮＤゲート１２には、被加数ｘiの下位ビットｘ0iの反転、及び加数ｙiの下位ビットｙ0iの反転が入力される。
【００４４】
上位桁へのキャリー候補Ｃgi[00]の上位ビットＣg1i[00]は、下位桁から入力されるキャリーＣpi-1が［００］（実数表記では０）である場合に、上位桁に出力するキャリーＣpｉの上位ビットとなる信号である。キャリー候補Ｃgi[00]の上位ビットＣg1i[00]は、第３〜第５のＮＡＮＤゲート１３〜１５の出力が入力される第７のＮＡＮＤゲート１７の出力信号である。第３のＮＡＮＤゲート１３には、被加数ｘiの上位ビットｘ1i、加数ｙiの下位ビットｙ0iの反転が入力される。第４のＮＡＮＤゲート１４には、被加数ｘiの上位ビットｘ1i、加数ｙiの上位ビットｙ1iが入力される。第５のＮＡＮＤゲート１５には、被加数ｘiの下位ビットｘ0iの反転、加数ｙiの上位ビットｙ1iが入力される。
【００４５】
上位桁へのキャリー候補Ｃｇi[01]の上位ビットＣg1i[01]は、下位桁から入力されるキャリーＣpi-1が［０１］（実数表記では１）である場合に、上位桁に出力するキャリーＣpiの上位ビットとなる信号である。キャリー候補Ｃgi[01]の上位ビットＣg1i[01]は、第４のＮＡＮＤゲート１４の出力の反転である。
【００４６】
上位桁へのキャリー候補Ｃgi[10]の下位ビットＣg0i[10]は、下位桁から入力されるキャリーＣpi-1が［１０］である場合に、上位桁に出力するキャリーＣpiの下位ビットとなる信号である。キャリー候補Ｃgi[10]の下位ビットＣg0i[10]は、第１のＮＡＮＤゲート１１の出力の反転、第３〜第５のＮＡＮＤゲート１３〜１５の出力が入力される第８のＮＡＮＤゲート１８の出力の反転である。
【００４７】
上位桁へのキャリー候補Ｃgi[11]の下位ビットＣg0i[11]は、下位桁から入力されるキャリーＣpi-1が［１１］である場合に、上位桁に出力するキャリーＣpiの下位ビットとなる信号である。キャリー候補Ｃgi[11]の下位ビットＣg0i[11]は、第１のＮＡＮＤゲート１１の出力、及び第１のＥＸＮＯＲゲート２１の出力が入力される第９のＮＡＮＤゲート１９の出力である。第１のＥＸＮＯＲゲート２１には、被加数ｘiの上位ビットｘ1i、加数ｙiの上位ビットｙ1iが入力される。
【００４８】
上位桁へのキャリー候補Ｃgi[00]の下位ビットＣg0i[00]は、下位桁から入力されるキャリーＣpi-1が［００］である場合に、上位桁に出力するキャリーＣpiの下位ビットとなる信号である。キャリー候補Ｃgi[00]の下位ビットＣg0i[00]は、第８のＮＡＮＤゲート１８の出力である。
【００４９】
上位桁へのキャリー候補Ｃgi[01]の下位ビットＣg0i[01]は、下位桁から入力されるキャリーＣpi-1が［０１］である場合に、上位桁に出力するキャリーＣpiの下位ビットとなる信号である。キャリー候補Ｃgi[01]の下位ビットＣg0i[01]は、第９のＮＡＮＤゲート１９の出力の反転である。
【００５０】
更に、子ＲＢＡＤ１０iは、当該桁の和Ｓiを生成するための第１、第２のＥＸＯＲゲート２２、２３を有する。和Ｓiは、第１のＥＸＯＲゲート２２の出力と、下位桁から入力されるキャリーＣpi-1の下位ビットＣp0i-1が入力される第２のＥＸＯＲゲート２３の出力である。第１のＥＸＯＲゲート２２には、被加数ｘiの下位ビットｘ0iと、加数ｙiの下位ビットｙ0iが入力される。
【００５１】
キャリー伝播制御部３０は、例えば図１０に示すような回路構成を有するマルチプレクサである。キャリー伝播制御部３０は、下位桁から入力されたキャリー（Ｃp1i-1Ｃp0i-1）に応じて、生成した複数種類の上位桁へのキャリー候補Ｃgiから、上位桁へのキャリーＣpiを選択して出力する。
【００５２】
図１１は、下位桁から入力されたキャリー（Ｃp1i-1Ｃp0i-1）、被加数（ｘ1iｘ0i）、加数（ｙ1iｙ0i）の全ての組み合わせと、上位桁に出力されるキャリー（Ｃp1iＣp0i）との対応関係を示す真理値表である。また、図１２は、図１１の真理値表を実数表記に直したものである。
【００５３】
また、図１３は、本実施例の冗長２進加算復号装置１０による実際の演算例を示す。本図では、最終段の一段前の和（すなわち最終段における被加数ｘ）が（１−１−１  １−１）、最終段で加算される値（加数ｙ）が（１−１  １  ０−１）としている。図示するように、被加数ｘiと加数ｙiに基づいて生成されたキャリー候補Ｃgiから、下位桁からのキャリーＣpi-1に応じて上位桁へのキャリーＣpiが選択される。そして、選択された上位桁へのキャリーＣpiが上位桁に伝播し、更に被加数ｘi+1と加数ｙi+1に基づいて生成されたキャリー候補Ｃgi+1から、上位桁へのキャリーＣpi+1が選択される。
【００５４】
このように、本実施例の冗長２進加算復号装置１０では、下位桁から入力されるキャリーＣpi-1の種類に応じた上位桁へのキャリー候補Ｃgiを複数種類生成しているが、係る処理は、被加数ｘi及び加数ｙiのみに依存するため、下位桁からキャリーＣpi-1が入力されるのを待つ必要がない。従って、キャリー候補Ｃgiの生成は、キャリーＣpiが順次伝播するのに先立って行われうる。
【００５５】
この結果、キャリー伝播制御部３０における処理は、入力された下位桁からのキャリーＣpi-1に応じていずれかのキャリー候補Ｃgiを単に選択するという、マルチプレクサに代表される簡易な構成によって実現可能な処理となる。従って、従来の復号器や乗算器のように、入力されたキャリーに基づいて上位桁へのキャリーを生成する処理を順次行なうものに比して、高速に処理を行なうことができる。
【００５６】
すなわち、冗長２進数から通常２進数への復号処理をより高速に行なうことができる。
【００５７】
また、冗長２進加算復号装置１０を利用した乗算装置１によれば、冗長２進加算復号装置１０による高速処理を実現することができるのに加え、最終段の加算と復号処理を行なうものを一体構成としているため、回路のサイズやコストを低減することができる。
【００５８】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【００５９】
例えば、補数表現の信号を取り扱うものに限らず、電流制御等によって｛−１，０，１｝や｛−２，−１，０，１｝の３値や４値の信号を伝達する装置として構成されても構わない。
【産業上の利用可能性】
【００６０】
本発明は、コンピュータやその部品の製造産業等に利用可能である。
【符号の説明】
【００６１】
１    乗算装置
１０    冗長２進加算復号装置（ＲＢＡＤ）
１０ｉ  子ＲＢＡＤ
１１〜１９    第１〜第９のＮＡＮＤゲート
２１    第１のＥＸＮＯＲゲート
２２、２３    第１、第のＥＸＯＲゲート
１００    冗長２進加算器（ＲＢＦＡ）
１１０    加算器
１２０    復号器
【図１】
2011107969.tif 000007
【図２】
2011107969.tif 000008
【図３】
2011107969.tif 000009
【図４】
2011107969.tif 000010
【図５】
2011107969.tif 000011
【図６】
2011107969.tif 000012
【図７】
2011107969.tif 000013
【図８】
2011107969.tif 000014
【図９】
2011107969.tif 000015
【図１０】
2011107969.tif 000016
【図１１】
2011107969.tif 000017
【図１２】
2011107969.tif 000018
【図１３】
2011107969.tif 000019