(57)【特許請求の範囲】
【請求項１】
下位ビットからの桁上げがある場合と桁上げがない場合とを表す１対の信号からなる仮のキャリー情報を予め生成し下位からの選択情報に基づき前記仮のキャリー情報から真のキャリー情報を選択することによりキャリー情報の伝搬を高速化した加算回路において、
キャリー情報の伝搬経路の所定の部分に前記仮のキャリー情報を下位ビットからの桁上げがある場合と桁上げがない場合とを示す１対の信号からなる仮のビット和情報に変換する変換回路を設けたことを特徴とする加算回路。
【請求項２】
前記キャリー情報の伝搬経路は、
２N（Ｎは３以上の整数）ビットの加算回路において最大で（Ｎ＋１）段の回路ステージを有し、
１段目の回路ステージでは、外部から２つの入力データをビット毎に対応して入力するとともに入力キャリー信号を入力し、最下位ビットのビット和を生成して外部へ出力するとともに、最下位ビットを除く各ビットに対応して仮のキャリー情報を生成して後段の回路ステージへ出力し、
２段目からＮ段目の回路ステージでは、前記仮のキャリー情報の中の最上位を除いた上位（２(N-1)−１）ビット分に対応する仮のキャリー情報が伝播の途中で前記変換回路により前記仮のビット和情報に変換され、最下位を除いた下位（２(N-1)−１）ビット分に対応する仮のキャリー情報から真のキャリー情報を生成し、
（Ｎ＋１）段目の回路ステージでは、前記２つの入力データの和データのうち前記最下位のビット和を除くデータと出力キャリー信号とを外部へ出力することを特徴とする請求項１に記載の加算回路。
【請求項３】
前記変換回路は、
入力データの最上位ビットから最下位ビットの順序で配置したときに、１≦Ｍ＜Ｎを満たす整数Ｍにより定まる(Ｎ−Ｍ＋１)段目のステージにおいて入力データの最上位ビットから数えて（２(N-M-1)＋１）番目のビットから２(N-M)番目のビットまでに対応してそれぞれ配置されることを特徴とする請求項２に記載の加算回路。
【請求項４】
前記１段目の回路ステージは、
２Nビットのうちの最上位ビットから最下位よりもひとつ上のビットまでのそれぞれに対応して設けられ前記２つの入力データの対応するビットを入力して排他的論理和を計算するとともに下位ビットから桁上げがある場合と桁上げがない場合の１対の信号からなる仮のキャリー情報を生成して出力する（２N−１）個の条件セル回路と、
前記２つの入力データの最下位ビットと入力キャリー信号とを入力して排他的論理和信号と桁上げ信号を生成する１個のフルアダーと、を備えることを特徴とする請求項２に記載の加算回路。
【請求項５】
前記回路ステージのうち１≦Ｍ＜Ｎを満たす整数Ｍにより定まる(Ｎ−Ｍ＋１)段目の回路ステージは、
該回路ステージを前記入力データの２(N-M)ビット毎に対応して２M個の部分回路に仮想的に分割したときに、
最下位ビットから上位の方に数えて２(N-M)番目に対応するビットからの入力を含む第１の部分回路の上位の２(N-M-1)ビットに対応して設けられ、それぞれが、前の回路ステージにおいて対応するビットに設けられた条件セル回路またはキャリー選択回路の出力である１対の信号を入力し、前記第１の部分回路内の上位より数えて（２(N-M-1)＋１）番目のビットに対応する１段前段の回路ステージ中のビットに設けられたフルアダーまたはマルチプレクサから出力される信号を入力し該信号に基づいて真のキャリー信号を選択して出力する２(N-M-1)個のマルチプレクサと、
最上位ビットに対応するキャリー信号を入力に含む第２の部分回路または前記第２の部分回路から下位の方に数えて２番目乃至（２M−１）番目に相当する第３の部分回路のいずれかに該当する部分回路の上位の２(N-Mー1)ビットに対応して設けられ、それぞれが、前の回路ステージにおいて対応するビットに設けられた条件セル回路、キャリー選択回路または変換回路の出力である１対の信号を入力し、部分回路内の上位より数えて（２(N-M-1)＋１）番目のビットに対応する１段前段の回路ステージ中のビットに設けられた条件セル回路またはキャリー選択回路の出力である１対の選択用の信号を入力し該選択用の信号に基づいて後の回路ステージにおける仮のキャリー情報または仮のビット和情報を表す１対の信号を選択して出力する（２(Nー1)−２(N-M-1)）個のキャリー選択回路と、
前記第２の部分回路の下位の２(N-M-1)ビットに対応して設けられ、それぞれが、前の回路ステージにおいて対応するビットに設けられた条件セル回路またはキャリー選択回路の出力であって仮のキャリー情報を表す１対の信号と、前記１段目の回路ステージにおいて１ビット上位の条件セル回路から出力される排他的論理和信号とを入力し、仮のビット和情報を表す１対の信号に変換して出力する２(N-M-1)個の変換回路と、を含むことを特徴とする請求項４に記載の加算回路。
【請求項６】
前記（Ｎ＋１）段目の回路ステージは、
Ｎ段目の回路ステージにおいて前記入力データの最上位ビットに対応して設けられた最上位のキャリー選択回路から出力される１対の信号を入力し、前記Ｎ段目の回路ステージにおいて前記入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）番目に対応するマルチプレクサから出力された選択用の信号に基づいて出力キャリー信号を選択して出力するマルチプレクサと、
前記入力データの最上位ビットから下位の方に数えて２乃至２(N-1)番目のビットに対応して設けられ、それぞれが、前記Ｎ段目の回路ステージにおいて対応するビットに設けられたキャリー選択回路または変換回路から出力された１対の信号を入力し、前記Ｎ段目の回路ステージにおいて前記入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）番目に対応するマルチプレクサから出力された選択用の信号に基づいて選択し１ビット上位の真のビット和に相当する信号を出力する（２(N-1)−１）個のマルチプレクサと、
前記入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）乃至２N番目のビットに対応して設けられ、それぞれが、前の段の回路ステージにおいて対応するビットに設けられたフルアダーまたはマルチプレクサから出力された真のキャリー信号と、１段目の回路ステージにおいて１ビット上位の条件セル回路から出力された排他的論理和信号とを入力し、１ビット上位の真のビット和に相当する信号を出力する２(N-1)個の排他的論理和回路と、を備えることを特徴とする請求項５に記載の加算回路。
【請求項７】
前記条件セル回路は、
２つの入力ビットを入力し論理積をとり出力する第１のゲートと、
前記２つの入力ビットを入力し論理和をとり出力する第２のゲートと、
前記第１のゲートの出力を入力し反転して出力する第３のゲートと、
前記第２のゲートの出力と前記第３のゲートの出力とを入力し論理積をとり出力する第４のゲートとを備え、
前記第１のゲートの出力を下位ビットからの桁上げがないとした場合のキャリー信号である第１のキャリー信号とし、
前記第２のゲートの出力を下位ビットからの桁上げがあるとした場合のキャリー信号である第２のキャリー信号とし、
前記第４のゲートの出力を前記２つの入力ビットの排他的論理和の演算結果として出力することを特徴とする請求項４，５または６に記載の加算回路。
【請求項８】
前記変換回路は、
仮のキャリー情報を表す１対の信号の一方と前記１段目のステージにおいて１ビット上位のビットの条件セル回路から出力される排他的論理和信号とを入力し仮のビット和情報を表す１対の信号の一方を出力する第１の排他的論理和回路と、
前記仮のキャリー情報を表す１対の信号の他方と前記排他的論理和信号とを入力し前記仮のビット和情報を表す１対の信号の他方を出力する第２の排他的論理和回路と、を備えることを特徴とする請求項５または６に記載の加算回路。
【請求項９】
前記キャリー選択回路は、
仮のキャリー情報を表す１対の入力信号を入力し、１対の選択用の信号の一方に基づいて前記１対の入力信号のうち１つの信号を選択して１対の出力信号の一方として出力する第１のマルチプレクサと、
前記１対の入力信号を入力し、前記１対の選択用信号の他方に基づいて前記入力信号のうち１つを選択して前記１対の出力信号の他方として出力する第２のマルチプレクサと、を備えることを特徴とする請求項５または６に記載の加算回路。
【請求項１０】
請求項１乃至９に記載の何れかの加算回路を備えることを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は加算回路に関し、特に高速で動作する加算回路およびこれを備えた半導体装置に関する。
【０００２】
【従来の技術】
コンピュータの高速化に伴い、より高速な演算回路が必要となり、その重要な部品である加算回路の高速化技術が重要になっている。高速な加算回路を実現する技術は多数知られているが、なかでも条件和加算回路(conditional sum adder)は、最も高速な加算回路の１つとして広く知られている。
【０００３】
図９は第１の従来例である４ビットの条件和加算回路の回路図である。図９に示すように、第１の従来例では、２進数（Ａ＿３，Ａ＿２，Ａ＿１，Ａ＿０）と（Ｂ＿３，Ｂ＿２，Ｂ＿１，Ｂ＿０）とを加算する場合に、１段目の回路ステージ２１において条件セル回路（conditional cell)１１１が、下位ビットからの桁上げがある場合のビット和信号（例えばＳ０＿１）および桁上げがない場合のビット和信号（例えばＳ１＿１）を含む仮のビット和情報と、下位ビットからの桁上げがある場合のキャリー信号（例えばＣ０＿１）および桁上げがない場合のキャリー信号（例えばＣ１＿１）を含む仮のキャリー情報との両方を生成して出力する。２段目の回路ステージ２２では、下位からのキャリー信号に基づいてマルチプレクサ(MUX)１２０で２つの仮ビット和及び仮キャリー信号のうちの一方を選択することによって次段に伝搬させ、３段目の回路ステージ２３において真のキャリー信号により真のビット和Ｓ＿０乃至Ｓ＿３および出力キャリー信号Ｃｏｕｔが生成されて加算回路の外部へ出力する。第１の従来例では２Nビットの加算回路を（Ｎ＋１）段の回路ステージで実現できるため、高速動作が可能である。しかしながら第１の従来例は、多数のマルチプレクサを含むとともに配線本数も多いので消費電力が大きい（例えば、非特許文献１参照。）。
【０００４】
消費電力を低減すべく改良された加算回路として第２の従来例の条件キャリー加算回路(conditional carry adder)がある。図１０は１６ビットの条件キャリー加算回路の回路図である。図１０に示すように、第２の従来例では、条件セル回路(conditional cell)１００（図２（ｂ）に回路図を示す）は、１段目の回路ステージ３１において第１の従来例における条件セル１１１とは異なり、２つの入力ビットの排他的論理和信号（例えばＳ０＿１）と、下位ビットからの桁上げがある場合のキャリー信号および桁上げがない場合のキャリー信号の１対の信号からなる仮のキャリー情報を生成して出力する。２段目の回路ステージ３２から５段目の回路ステージ３５では、下位からのキャリー信号に基づいてマルチプレクサ(MUX)１２０およびキャリー選択回路(carry selector)１１０により次段の回路ステージに送るキャリー信号を選択して順次伝搬させ、排他的論理和回路１３０を含む６番目のステージ３６で真のビット和Ｓ＿１乃至Ｓ＿１５が生成されて加算回路の外部へ出力される。第２の従来例は、仮のキャリー情報だけを生成して伝搬すればよく、仮のビット和情報を必要としないためにマルチプレクサの個数（キャリー選択回路はマルチプレクサ２個として計数）を削減でき、したがって動作時の消費電力の低減が可能である。
【０００５】
【非特許文献１】
Kuo-Hsing Cheng、外２名、「条件和加算回路の低電力分野への適用ののための改良(The improvement of conditional sum adder for low power applications)」、アイイーイーイー(IEEE)、１９９８年エイシックコンファレンス予稿集(ASIC Conference 1998. Proceedings)、ｐ．１３１−１３４（第１の従来例はｐ．１３３のFig.6、第２の従来例は同ページのFig.7）
【０００６】
【発明が解決しようとする課題】
しかしながら、第２の従来例では、２Nビットの加算回路を実現するためには（Ｎ＋２）段の回路ステージが必要であり、同じ１６ビットの加算器で比較した場合に、第１の従来例の５段に対して第２の従来例では６段となり、クリティカルパスの論理段数が１段増加するので回路動作の高速性においては不利となる。
【０００７】
本発明の目的は、第１の従来例と同等の速度（すなわち第２の従来例よりも高速）での動作を維持しながら、第１の従来例よりもマルチプレクサ等の単位回路の個数、および配線数の削減により低電力で動作できる加算回路を提供することである。
【０００８】
【課題を解決するための手段】
本発明の加算回路は、下位ビットからの桁上げがある場合と桁上げがない場合とを表す１対の信号からなる仮のキャリー情報を予め生成し下位からの選択情報に基づき前記仮のキャリー情報から真のキャリー情報を選択することによりキャリー情報の伝搬を高速化した加算回路において、キャリー情報の伝搬経路の所定の部分に前記仮のキャリー情報を下位ビットからの桁上げがある場合と桁上げがない場合とを示す１対の信号からなる仮のビット和情報に変換する変換回路を設けたことを特徴とする。
【０００９】
【発明の実施の形態】
以下、本発明の好ましい実施形態について図面を参照しながら詳細に説明する。なお、以下の説明は本発明の代表的な実施の形態を示すものであり、本発明が以下の説明に限定されて解釈されるものではない。
【００１０】
図１は、本発明の加算回路の一実施例である１６ビットの加算回路の回路図である。図１において加算回路は、１６ビットの入力データ（Ａ＿１５，Ａ＿１４・・・，Ａ＿０）および（Ｂ＿１５，Ｂ＿１４・・・，Ｂ＿０）と入力キャリー信号Ｃｉｎとを入力し、その和を表す１６ビットのビット和出力信号（Ｓ＿１５，Ｓ＿１４・・・，Ｓ＿０）と出力キャリー信号Ｃｏｕｔとを出力することは図１０の第２の従来例と同様であるが、図１０の回路ステージ３６のＳ＿１からＳ＿８を出力する排他和回路が最終ステージに収められ、Ｓ＿９からＳ＿１５を出力する排他和回路が、１対のキャリー信号からなる仮のキャリー情報を入力し１対のビット和信号からなる仮のビット和情報に変換して出力する変換回路１４０に置き換えられている点において第２の従来例とは異なっている。
【００１１】
次に、各回路ステージの構成について詳細に説明する。
【００１２】
本発明を適用した２Nビットの加算回路では、１段目の回路ステージは、最上位ビットから最下位よりもひとつ上のビットのそれぞれに対応して設けられ、２つの入力データの対応するビットを入力して排他的論理和を計算するとともに下位ビットから桁上げがある場合と桁上げがない場合とを表す１対の信号からなる仮のキャリー情報を生成して出力する（２N−１）個の条件セル回路(conditional cell)１０１と、２つの入力データの最下位ビットと入力キャリー信号とを入力して排他的論理和信号と桁上げ信号を生成する１個のフルアダー(full adder)１００とを備えている。条件セル回路１０１の機能、フルアダー１００の機能は、第２の従来例におけるこれらと同様である。
【００１３】
図１の１６ビットの加算回路の１段目の回路ステージ１１の内部構成を図２（ａ）に示す。２つの入力データは、同一桁のビット毎に最上位ビットから下位ビット方向に設けられた１５（＝２4−１）個の条件セル回路１０１および最下位ビットに対応して設けられた１個のフルアダーに入力される。条件セル回路１０１のそれぞれは、入力された２つのビットの排他的論理和を生成すると共に、下位のビットからの入力キャリー信号を０（桁上げがない）と仮定した場合の出力キャリー信号（例えばＣ０＿１）と下位のビットからの入力キャリー信号を１（桁上げがある）と仮定した場合のキャリー信号（例えばＣ１＿１）とを生成し１対の信号からなる仮のキャリー情報として出力する。したがって、排他的論理和信号Ｓ０＿１乃至Ｓ０＿１５と、下位からの桁上げがないと仮定した場合のキャリー信号Ｃ０＿１乃至Ｃ０＿１５と、下位からの桁上げがあると仮定した場合のキャリー信号Ｃ１＿１乃至Ｃ１＿１５とが、１段目の回路ステージから出力される。Ａ＿０とＢ＿０が入力される最下位ビットにはフルアダー１００が使用され、入力キャリー信号Ｃｉｎも同時に入力されて真のビット和Ｓ＿０と真のキャリーＣｏｕｔ＿０とが出力される。
【００１４】
図２（ｂ）は、条件セル回路１０１の内部回路の一例を示す回路図である。条件セル回路１０１は、２つの入力ビット（Ａ＿ｉ，Ｂ＿ｉ）を入力し論理積をとって出力する第１のゲート１０２と、同じく２つの入力ビットを入力し論理和をとり出力する第２のゲート１０３と、第１のゲート１０２の出力を入力し反転して出力する第３のゲート１０４と、第２のゲート１０３の出力と第３のゲート１０４の出力とを入力し論理積をとり出力する第４のゲート１０４とを備え、第１のゲート１０２の出力を下位ビットからの桁上げがないとした場合のキャリー信号である第１のキャリー信号（Ｃ０＿ｉ）とし、第２のゲートの出力を下位ビットからの桁上げがあるとした場合のキャリー信号である第２のキャリー信号（Ｃ１＿ｉ）とし、第４のゲートの出力を下位からの桁上げがないとした場合の２つの入力ビットのビット和に相当する排他的論理和信号（Ｓ０＿ｉ）として出力する。
【００１５】
本発明の２Nビットの加算回路の２段目からＮ段目までの回路ステージにおいては、１≦Ｍ＜Ｎを満たす整数Ｍにより定まる(Ｎ−Ｍ＋１)段目の回路ステージは次のように構成される。
【００１６】
図３は、図１の実施例の１６ビット加算回路における２段目の回路ステージ１２の内部構成を示す図である。２段目の回路ステージ１２は、(Ｎ−Ｍ＋１)＝２となる回路ステージであり、Ｎ＝４であるのでＭ＝３に対応する。２段目の回路ステージ１２では（Ｎ−Ｍ）＝１であるので、入力データの２(N-M)＝２ビット毎に対応して２M＝８個の部分回路Ｐ２1乃至Ｐ２8に仮想的に分割されたとする。
【００１７】
このように分割された場合に、最下位ビットＡ＿０、Ｂ＿０から上位の方に数えて２(N-M)＝２番目に対応するビットからの入力を含む第１の部分回路である部分回路Ｐ２1内の上位の２(N-M-1)＝１ビットに対応して１個のマルチプレクサ(MUX)１２０が設けられ、このマルチプレクサは、前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路１０１の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿１およびＣ１＿１を入力する。また、このマルチプレクサは部分回路Ｐ２1内の上位より数えて（２(N-M-1)＋１）＝２番目のビットに対応する１段目の回路ステージ１１中のビットに設けられたフルアダー１００から出力されるキャリー信号Ｃｏｕｔ＿０を選択用の信号として入力し、これに基づいて真のキャリー信号である信号３００を出力する。
【００１８】
また、最上位ビットＡ＿１５、Ｂ＿１５に対応するキャリー信号としての信号Ｃ０＿１５およびＣ１＿１５を入力に含む第２の部分回路である部分回路Ｐ２8および部分回路Ｐ２8から下位の方に数えて２番目の部分回路Ｐ２7乃至（２M−１）＝７番目の部分回路Ｐ２2に相当する第３の部分回路のいずれかに該当する各部分回路の上位の２(N-Mー1)＝１ビットに対応して（２(Nー1)−２(N-M-1)）＝７個のキャリー選択回路(carry selector)１１０が設けられ、それぞれのキャリー選択回路に、前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路の出力である１対の信号が入力される。また、これらのキャリー選択回路のそれぞれは、部分回路内の上位より数えて（２(N-M-1)＋１）＝２番目のビットに対応する１段目の回路ステージ１１中のビットに設けられた条件セル回路１０１の出力である１対の選択用の信号を入力し、この選択用の信号に基づいて後の回路ステージにおける仮のキャリー情報または仮のビット和情報を表す１対の信号を選択して出力する。
【００１９】
すなわち、部分回路Ｐ２8内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿１５およびＣ１＿１５を入力し、部分回路Ｐ２8内の上位より数えて（２(N-M-1)＋１）＝２番目のビットに対応する１対の信号Ｃ０＿１４およびＣ１＿１４に基づいて選択された１対の信号３１５および３１６を出力する。同様に、部分回路Ｐ２7内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿１３およびＣ１＿１３を入力し、部分回路Ｐ２7内の上位から２番目のビットに対応する１対の信号Ｃ０＿１２およびＣ１＿１２に基づいて選択された１対の信号３１１および３１２を出力する。また、部分回路Ｐ２6内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿１１およびＣ１＿１１を入力し、部分回路Ｐ２6内の上位から２番目のビットに対応する１対の信号Ｃ０＿１０およびＣ１＿１０に基づいて選択された１対の信号３０９および３１０を出力する。また、部分回路Ｐ２5内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿９およびＣ１＿９を入力し、部分回路Ｐ２5内の上位から２番目のビットに対応する１対の信号Ｃ０＿８およびＣ１＿８に基づいて選択された１対の信号３０７および３０８を出力する。また部分回路Ｐ２4内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿７およびＣ１＿７を入力し、部分回路Ｐ２4内の上位から２番目のビットに対応する１対の信号Ｃ０＿６およびＣ１＿６に基づいて選択された１対の信号３０５および３０６を出力する。また、部分回路Ｐ２3内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿５およびＣ１＿５を入力し、部分回路Ｐ２3内の上位から２番目のビットに対応する１対の信号Ｃ０＿４およびＣ１＿４に基づいて選択された１対の信号３０３および３０４を出力する。また、部分回路Ｐ２2内に含まれる１個のキャリー選択回路１１０は、上位ビットに対応する１対の信号Ｃ０＿３およびＣ１＿３を入力し、部分回路Ｐ２2内の上位から２番目のビットに対応するビットに設けられた１対の信号Ｃ０＿２およびＣ１＿２に基づいて選択された１対の信号３０１および３０２を出力する。
【００２０】
また、第２の部分回路である部分回路Ｐ２8内の下位の２(N-M-1)＝１ビットに対応して１個の変換回路１４０が設けられる。この変換回路は、前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路１０１の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿１４およびＣ１＿１４と、１段目の回路ステージ１１において１ビット上位のビットに対応する条件セル回路から出力される排他的論理和信号Ｓ０＿１５とを入力し、仮のビット和情報を表す１対の信号３１３および３１４に変換して出力する。
【００２１】
マルチプレクサ１２０は、図４（ａ）に示すように、１対の入力信号Ｃｉｎ０およびＣｉｎ１を入力し、選択用の信号Ｃｉｎ１ｓに基づいて１対の入力信号Ｃｉｎ０およびＣｉｎ１のうち１つの信号を選択して出力信号Ｃｏｕｔ１として出力する。選択用の信号Ｃｉｎ１ｓが１であればＣｉｎ１を出力信号Ｃｏｕｔ１として出力し、Ｃｉｎ１ｓが０であればＣｉｎ０をＣｏｕｔ１として出力する。
【００２２】
キャリー選択回路１１０は、図１０の第２の従来例におけるキャリー選択回路と同様の機能を有している。キャリー選択回路１１０は図４（ｂ）に示すように２個のマルチプレクサ３５０および３５１を含み、第１のマルチプレクサ３５１は、１対の入力信号Ｃｉｎ０およびＣｉｎ１を入力し、１対の選択用の信号Ｃｉｎ０ｓおよびＣｉｎ１ｓのうちの一方の選択用の信号Ｃｉｎ０ｓに基づいて１対の入力信号Ｃｉｎ０およびＣｉｎ１のうち１つの信号を選択し、選択された信号を１対の出力信号のうちの一方の出力信号Ｃｏｕｔ０として出力する。第２のマルチプレクサ３５０は、１対の入力信号Ｃｉｎ０およびＣｉｎ１を入力し、１対の選択用の信号のうちの他方の選択用の信号Ｃｉｎ１ｓに基づいて入力信号Ｃｉｎ０およびＣｉｎ１のうちひとつを選択し、選択された信号を１対の出力信号のうちの他方の出力信号Ｃｏｕｔ１として出力する。マルチプレクサ３５０においては、Ｃｉｎ１ｓが１のときにＣｉｎ１が出力として選択され、Ｃｉｎ１ｓが０のときにＣｉｎ０が選択される。マルチプレクサ３５１においては、Ｃｉｎ０ｓが１の時Ｃｉｎ１が選択され、Ｃｉｎ０ｓが０の時Ｃｉｎ０が選択される。図３の部分回路Ｐ２8に含まれるキャリー選択回路を例にして説明すると、Ｃ０＿１５が図４（ｂ）のＣｉｎ０に入力され、Ｃ１＿１５がＣｉｎ１に入力され、Ｃ０＿１４がＣｉｎ０ｓに入力され、Ｃ１＿１４がＣｉｎ１ｓに入力され、信号３１５がＣｏｕｔ０から出力され、信号３１６がＣｏｕｔ１から出力される。  変換回路１４０について、図３の部分回路Ｐ２8に含まれる変換回路を例として説明する。変換回路１４０は、仮のキャリー情報を表す１対の信号Ｃ０＿１４およびＣ１＿１４のうちの一方の信号Ｃ０＿１４と、１段目のステージ１１において１ビット上位のビットの条件セル回路から出力される排他的論理和信号ＳＯ＿１５とを入力し、仮のビット和情報を表す１対の信号３１３および３１４の一方のうちの信号３１３を出力する第１の排他的論理和回路と、１対の信号Ｃ０＿１４およびＣ１＿１４の他方の信号Ｃ１＿１４と排他的論理和信号ＳＯ＿１５とを入力し、仮のビット和情報を表す１対の信号３１３および３１４のうちの他方の信号３１４を出力する第２の排他的論理和回路とにより構成される。
【００２３】
次に図１の１６ビット加算回路における３段目の回路ステージ１３の構成について説明する。図５は３段目の回路ステージ１３の内部構成を示す図である。３段目の回路ステージ１３は、(Ｎ−Ｍ＋１)＝３となる回路ステージであり、Ｎ＝４であるのでＭ＝２に対応する。３段目の回路ステージ１３では（Ｎ−Ｍ）＝２であるので、入力データの２(N-M)＝４ビット毎に対応して２M＝４個の部分回路Ｐ３1乃至Ｐ３4に仮想的に分割されたとする。
【００２４】
このように分割された場合に、最下位ビットＡ＿０、Ｂ＿０から上位の方に数えて２(N-M)＝４番目に対応するビットからの入力を含む第１の部分回路である部分回路Ｐ３1内の上位の２(N-M-1)＝２ビットに対応して２個のマルチプレクサ１２０が設けられ、上位のビットに対応するマルチプレクサは前の回路ステージである２段目の回路ステージ１２において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号３０１および３０２を入力し、下位のビットに対応するマルチプレクサは前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路１０１の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿２およびＣ１＿２を入力する。また、これらのマルチプレクサは、部分回路Ｐ３1内の上位より数えて（２(N-M-1)＋１）＝３番目のビットに対応する回路ステージ１２中のビットに設けられたマルチプレクサ１２０が出力する信号３００を選択用の信号として入力し、これに基づいて、上位のビットに対応するマルチプレクサからは真のキャリー信号である信号４０１を出力し、下位のビットに対応するマルチプレクサからは真のキャリー信号である信号４００を出力する。
【００２５】
また、最上位ビットＡ＿１５、Ｂ＿１５に対応するキャリー信号としての信号３１５および３１６を入力に含む第２の部分回路である部分回路Ｐ３4または部分回路Ｐ３4から下位の方に数えて２番目の部分回路Ｐ３3乃至（２M−１）＝３番目の部分回路Ｐ３2に相当する第３の部分回路のいずれかに該当する各部分回路の上位の２(N-Mー1)＝２ビットに対応して（２(Nー1)−２(N-M-1)）＝６個のキャリー選択回路１１０が設けられ、それぞれのキャリー選択回路に、前の回路ステージにおいて対応するビットに設けられた条件セル回路１０１、セル選択回路１１０または変換回路１４０の何れかから１対の信号が入力される。また、これらのキャリー選択回路のそれぞれは、部分回路内の上位より数えて（２(N-M-1)＋１）＝３番目のビットに対応する２段目の回路ステージ１２中のビットに設けられたセル選択回路１１０の出力である１対の選択用の信号を入力し、この選択用の信号後の回路ステージにおける仮のキャリー情報または仮のビット和情報を表す１対の信号を選択して出力する。
【００２６】
すなわち、部分回路Ｐ３4内に含まれる２個のキャリー選択回路１１０のうち上位のビットに対応するキャリー選択回路は、２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の信号３１５および３１６を入力し、部分回路Ｐ３4内の上位より数えて（２(N-M-1)＋１）＝３番目のビットに対応するビットに設けられた２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の信号３１１および３１２に基づいて選択し、１対の信号４１６および４１７を出力する。部分回路Ｐ３4内で下位のビットに対応するキャリー選択回路は、２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の信号３１４および３１３を入力し、１対の選択用の信号３１１および３１２に基づいて選択し、１対の信号４１４および４１５を出力する。同様に、部分回路Ｐ３3内に含まれる２個のキャリー選択回路１１０のうち上位のビットに対応するキャリー選択回路は、２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の信号３０９および３１０を入力し、部分回路Ｐ３3内の上位より数えて（２(N-M-1)＋１）＝３番目のビットに対応するビットに設けられた２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の選択用の信号３０７および３０８に基づいて選択し、１対の信号４０８および４０９を出力する。部分回路Ｐ３3内で下位のビットに対応するキャリー選択回路は、１段目の回路ステージ１１内の条件セル回路からの出力である１対の信号Ｃ０＿１０およびＣ１＿１０を入力し、１対の選択用の信号３０７および３０８に基づいて選択し、１対の信号４０６および４０７を出力する。また、部分回路Ｐ３2内に含まれる２個のキャリー選択回路１１０のうち上位のビットに対応するキャリー選択回路は、２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の信号３０５および３０６を入力し、部分回路Ｐ３2内の上位より数えて（２(N-M-1)＋１）＝３番目のビットに対応するビットに設けられた２段目の回路ステージ１２内のキャリー選択回路からの出力である１対の選択用の信号３０３および３０４に基づいて選択し、１対の信号４０４および４０５を出力する。部分回路Ｐ３2内で下位のビットに対応するキャリー選択回路は、１段目の回路ステージ１１内の条件セル回路からの出力である１対の信号Ｃ０＿６およびＣ１＿６を入力し、１対の選択用の信号３０３および３０４に基づいて選択し、１対の信号４０２および４０３を出力する。
【００２７】
また、第２の部分回路である部分回路Ｐ３4内の下位の２(N-M-1)＝２ビットに対応して２個の変換回路１４０が設けられ、この２個の変換回路のなかで上位の変換回路は、前の回路ステージである２段目の回路ステージ１２で対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号３１１および３１２と１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿１４とを入力し、仮のビット和情報を表す１対の信号４１２および４１３に変換して出力する。２個の変換回路のなかで下位の変換回路は、前の回路ステージである１段目の回路ステージ１１で対応するビットに設けられた条件セル回路の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿１２およびＣ１＿１２と１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿１３とを入力し、仮のビット和情報を表す１対の信号４１０および４１１に変換して出力する。
【００２８】
次に、図１の１６ビット加算回路における４段目の回路ステージ１４の構成について説明する。図６は４段目の回路ステージ１４の内部構成を示す図である。４段目の回路ステージ１４は、(Ｎ−Ｍ＋１)＝４となる回路ステージであり、Ｎ＝４であるのでＭ＝１に対応する。４段目の回路ステージでは（Ｎ−Ｍ）＝３であるので、入力データの２(N-M)＝８ビット毎に対応して２M＝２個の部分回路Ｐ４1とＰ４2とに仮想的に分割されたとする。
【００２９】
このように分割された場合に、最下位ビットＡ＿０、Ｂ＿０から上位の方に数えて２(N-M)＝８番目に対応するビットからの入力を含む第１の部分回路である部分回路Ｐ４1内の上位の２(N-M-1)＝４ビットに対応して４個のマルチプレクサ１２０が設けられ、最上位のマルチプレクサは、前の回路ステージである３段目の回路ステージ１３において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号４０４および４０５を入力し、部分回路Ｐ４1内の上位より数えて（２(N-M-1)＋１）＝５番目のビットに対応する３段目の回路ステージ１３中のビットに設けられたマルチプレクサ１２０から出力される信号４０１を選択用の信号としてこれに基づいて真のキャリー信号を選択し、信号５０３を出力する。上位から数えて２番目のマルチプレクサは、前の回路ステージである３段目の回路ステージ１３において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号４０２および４０３を入力し、信号４０１を選択用の信号としてこれに基づいて真のキャリー信号を選択し、信号５０２を出力する。上位から３番目のマルチプレクサは、前の回路ステージである２段目の回路ステージ１２において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号３０３および３０４を入力し、信号４０１を選択用の信号としてこれに基づいて真のキャリー信号を選択し、信号５０１を出力する。上位から４番目のマルチプレクサは、前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路１０１の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿４およびＣ１＿４を入力し、信号４０１を選択用の信号としてこれに基づいて真のキャリー信号を選択し、信号５００を出力する。
【００３０】
また、最上位ビットＡ＿１５、Ｂ＿１５に対応するキャリー信号としての信号４１６および４１７を入力に含む第２の部分回路である部分回路Ｐ４2の上位の２(N-Mー1)＝４ビットに対応して（２(Nー1)−２(N-M-1)）＝４個のキャリー選択回路１１０が設けられ、それぞれのキャリー選択回路が、前の回路ステージにおいて対応するビットに設けられた条件セル回路１０１、セル選択回路１１０または変換回路１４０のいずれかから出力される１対の信号を入力する。また、これらのキャリー選択回路のそれぞれは、部分回路Ｐ４2内の上位より数えて（２(N-M-1)＋１）＝５番目のビットに対応する３段目の回路ステージ１３中のビットに設けられたセル選択回路１１０から出力される１対の選択用の信号を入力し、この選択用の信号に基づいて後の回路ステージにおける仮のキャリー情報または仮のビット和情報を表す１対の信号を選択して出力する。
【００３１】
すなわち、部分回路Ｐ４2内に含まれる４個のキャリー選択回路１１０のうち最上位のキャリー選択回路は、３段目の回路ステージ１３内のキャリー選択回路からの出力である１対の信号４１６および４１７を入力し、部分回路Ｐ４2内の上位より数えて（２(N-M-1)＋１）＝５番目のビットに対応するビットに設けられた３段目の回路ステージ１３内のキャリー選択回路からの出力である１対の選択用の信号４０８および４０９に基づいて選択して１対の信号５１８および５１９を出力する。同様に、上位から数えて２番目のキャリー選択回路は、３段目の回路ステージ１３内のキャリー選択回路からの出力である１対の信号４１２および４１３を入力し、１対の選択用の信号４０８および４０９に基づいて選択して１対の信号５１６および５１７を出力する。また、上位から数えて３番目のキャリー選択回路は、３段目の回路ステージ１３内のキャリー選択回路からの出力である１対の信号４１２および４１３を入力し、１対の選択用の信号４０８および４０９に基づいて選択して１対の信号５１４および５１５を出力する。また、最下位すなわち上位から数えて４番目のキャリー選択回路は、３段目の回路ステージ１３内のキャリー選択回路からの出力である１対の信号４１０および４１１を入力し、１対の選択用の信号４０８および４０９に基づいて選択して１対の信号５１２および５１３を出力する。
【００３２】
また、第２の部分回路である部分回路Ｐ４1内の下位の２(N-M-1)＝４ビットに対応して４個の変換回路１４０が設けられる。この４個の変換回路のなかで最上位の変換回路は、前の回路ステージである３段目の回路ステージ１３において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号４０８および４０９と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿１２とを入力し、仮のビット和情報を表す１対の信号５１０および５１１に変換して出力する。同様に、上位から数えて２番目の変換回路は、前の回路ステージである３段目の回路ステージ１３において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号４０６および４０７と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿１１とを入力し、仮のビット和情報を表す１対の信号５０８および５０９に変換して出力する。また、上位から数えて３番目の変換回路は、前の回路ステージである２段目の回路ステージ１２において対応するビットに設けられたキャリー選択回路１１０の出力であって仮のキャリー情報を表す１対の信号３０７および３０８と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿１０とを入力し、仮のビット和情報を表す１対の信号５０６および５０７に変換して出力する。最下位すなわち上位から数えて４番目の変換回路は、前の回路ステージである１段目の回路ステージ１１において対応するビットに設けられた条件セル回路１０１の出力であって仮のキャリー情報を表す１対の信号Ｃ０＿８およびＣ１＿８と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力される排他的論理和信号Ｓ０＿９とを入力し、仮のビット和情報を表す１対の信号５０４および５０５に変換して出力する。
【００３３】
図７は、本発明を適用した１６ビット加算回路における（Ｎ＋１）＝５段目の回路ステージ１５の回路図である。５段目の回路ステージは、２(N-1)＝８個のマルチプレクサ１２０と２(N-1)＝８個の排他的論理和回路１３０とを備えている。
【００３４】
入力データの最上位ビットＡ＿１５，Ｂ＿１５に対応したビット位置に設けられたマルチプレクサは、Ｎ＝４段目の回路ステージ１４において最上位のキャリー選択回路１１０から１対の信号５１８および５１９を入力し、４段目の回路ステージ１４において入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）＝９番目に対応するマルチプレクサから出力された選択用の信号５０３に基づいて出力キャリー信号Ｃｏｕｔを選択して加算回路の外部へ出力する。
【００３５】
入力データの最上位ビットから下位の方に数えて２乃至２(N-1)＝８番目のビットに対応するビットに設けられた（２(N-1)−１）＝７個のマルチプレクサは、それぞれが、４段目の回路ステージにおいて対応するビットに設けられたキャリー選択回路または変換回路から１対の信号を入力し、４段目の回路ステージにおいて前記入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）＝９番目に対応するマルチプレクサから出力された選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号を出力する。すなわち、最上位から数えて２番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられたキャリー選択回路から仮のビット和情報を表す１対の信号５１６および５１７を入力し、真のキャリーである選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１５を加算回路の外部へ出力する。最上位から数えて３番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられたキャリー選択回路から仮のビット和情報を表す１対の信号５１４および５１５を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１４を外部へ出力する。最上位から数えて４番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられたキャリー選択回路から仮のビット和情報を表す１対の信号５１２および５１３を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１３を外部へ出力する。最上位から数えて５番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられた変換回路から仮のビット和情報を表す１対の信号５１０および５１１を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１２を外部へ出力する。最上位から数えて６番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられた変換回路から仮のビット和情報を表す１対の信号５０８および５０９を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１１を外部へ出力する。最上位から数えて７番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられた変換回路から仮のビット和情報を表す１対の信号５０６および５０７を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿１０を外部へ出力する。最上位から数えて８番目のマルチプレクサは、４段目の回路ステージの対応するビットに設けられた変換回路から仮のビット和情報を表す１対の信号５０４および５０５を入力し、選択用の信号５０３に基づいて選択して１ビット上位の真のビット和を表す信号Ｓ＿９を外部へ出力する。
【００３６】
入力データの最上位ビットから下位の方に数えて（２(N-1)＋１）乃至２N番目すなわち９乃至１６番目のビットに対応するビットに設けられれた２(N-1)＝８個の排他的論理和回路１３０は、それぞれが、前の段の回路ステージにおいて対応するビットに設けられたフルアダーまたはマルチプレクサから出力された信号と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号とを入力し、１ビット上位の真のビット和を表す信号を加算回路の外部へ出力する。すなわち、最上位ビットから数えて９番目の排他的論理和回路は、４段目の回路ステージ１４において対応するビットに設けられたマルチプレクサから出力された信号５０３と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿８とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿８を外部へ出力する。同様に、最上位ビットから数えて１０番目の排他的論理和回路は、４段目の回路ステージ１４において対応するビットに設けられたマルチプレクサから出力された信号５０２と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿７とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿７を外部へ出力する。また、最上位ビットから数えて１１番目の排他的論理和回路は、４段目の回路ステージ１４において対応するビットに設けられたマルチプレクサから出力された信号５０１と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿６とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿６を外部へ出力する。また、最上位ビットから数えて１２番目の排他的論理和回路は、４段目の回路ステージ１４において対応するビットに設けられたマルチプレクサから出力された信号５００と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿５とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿５を外部へ出力する。また、最上位ビットから数えて１３番目の排他的論理和回路は、３段目の回路ステージ１３において対応するビットに設けられたマルチプレクサから出力された信号４０１と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿４とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿４を外部へ出力する。また、最上位ビットから数えて１４番目の排他的論理和回路は、３段目の回路ステージ１３において対応するビットに設けられたマルチプレクサから出力された信号４００と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿３とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿３を外部へ出力する。また、最上位ビットから数えて１５番目の排他的論理和回路は、２段目の回路ステージ１２において対応するビットに設けられたマルチプレクサから出力された信号３００と、１段目の回路ステージ１１において１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿２とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿２を外部へ出力���る。また、最上位ビットから数えて１６番目の排他的論理和回路は、１段目の回路ステージ１１において対応するビットに設けられたフルアダー１００から出力された信号Ｃｏｕｔ＿０と、１段目の回路ステージにおいて１ビット上位の条件セル回路から出力された排他的論理和信号Ｓ０＿１とを入力し、１ビット上位の真のビット和を表す信号Ｓ＿１を外部へ出力する。
【００３７】
次に本発明の加算回路の動作について図面を参照して説明する。
【００３８】
図１の１段目の回路ステージ１１を示した図２（ａ）において、２つの入力データは同一のビット毎に条件セル１０１に入力される。条件セルは図２（ｂ）に示したように、２つの入力ビットＡｊ、Ｂｊに対してその論理積を下位からの桁上げがないときのキャリー信号Ｃ０＿ｊとし、論理和を下位からの桁上げがあるときのキャリー信号Ｃ１＿ｊとし、排他的論理和を下位からの桁上げがないと仮定したときのビット和に相当する排他的論理和信号Ｓ０＿ｊとして出力する。これらの出力は、図２（ａ）において下位ビットからの桁上げがないと仮定して生成される仮のキャリー信号Ｃ０＿１乃至Ｃ０＿１５、下位ビットからの桁上げがあると仮定して生成される仮のキャリー信号Ｃ１＿１乃至Ｃ１＿１５、排他的論理和信号Ｓ０＿１乃至Ｓ０＿１５にそれぞれ対応する。最下位ビットのＡ＿０とＢ＿０は加算回路の外部から入力キャリー信号Ｃｉｎが入力されるので最下位ビットの真のビット和信号Ｓ＿０と上位ビットへの真のキャリー信号Ｃｏｕｔ＿０を出力する。
【００３９】
次に、２段目の回路ステージ１２では、各ビットで生成された仮のキャリー情報は部分回路Ｐ２1乃至Ｐ２8に対応して２ビット毎に区切られ、部分回路Ｐ２2乃至Ｐ２8において１ビット下位のビットからの仮のキャリー情報に基づいて選択された新たな仮のキャリー情報が生成されて出力される。キャリー情報の選択は図４（ｂ）に示したキャリー選択回路１１０で実行される。２番目の回路ステージ１２内のキャリー選択回路において選択用の信号として入力される１ビット下位のビットからの仮のキャリー情報は、さらに１ビット下位からの桁上げがある場合とない場合とを想定して作られているので、２番目の回路ステージ１２内のキャリー選択回路のＣｏｕｔ１から出力される仮のキャリー信号は２ビット下位のビットからの桁上げがある場合を表し、Ｃｏｕｔ０から出力される仮のキャリー信号は２ビット下位のビットからの桁上げがない場合を仮定して生成されることになる。すなわち、最下位ビットのキャリー信号Ｃｏｕｔ＿０は真のキャリー信号なので、最下位から数えて２番目のビットのマルチプレクサ（すなわち、部分回路Ｐ２1内のマルチプレクサ１２０）では、仮のキャリー情報を表す１対の信号Ｃ０＿１およびＣ＿１から真のキャリー信号３００が選択されて出力される。
【００４０】
また、部分回路Ｐ２8内の変換回路１４０は１対の信号Ｃ１＿１４およびＣ０＿１４とＳ０＿１５とを入力し１対の信号３１４および３１３を生成して出力するが、この１対の信号３１４および３１３は下位からの桁上げがある場合とない場合を表す仮のビット和情報に相当する。
【００４１】
次に、図１の３段目の回路ステージ１３を示した図５において、入力する仮のキャリー情報および仮のビット和情報は、部分回路Ｐ３1乃至Ｐ３4に対応して４ビット毎に区切られる。ｋ（ｋは２，３または４）番目の部分回路Ｐ３k内で、上位２ビットにおいて生成された１対の信号からなる仮のキャリー情報は部分回路Ｐ３k内で最上位から数えて３番目のビットからの仮キャリー情報に基づいて選択され、新たな仮のキャリー情報が生成されて出力される。ここで選択用の信号として用いられる仮のキャリー情報は、１つ下位の部分回路Ｐ３i-1内での最上位ビットからのキャリーの有無を想定して生成されているので、部分回路Ｐ３k内で新たに生成されて出力される仮のキャリー情報および仮のビット和情報は、全て１つ下位の部分回路Ｐ３k-1の最上位ビットからのキャリーを仮定して生成されていることになる。最下位の部分回路Ｐ３1では最上位から数えて３番目のビットに対応する信号３００が真のキャリー信号であるので、部分回路Ｐ３1に含まれる２個のマルチプレクサのそれぞれにおいて信号３００を選択用の信号として選択されて出力される信号４０１および信号４００は真のキャリー信号である。
【００４２】
また、部分回路Ｐ３4に含まれる２個の変換回路１４０の中の上位の変換回路は１対の信号３１２および３１１とＳ０＿１４とを入力し１対の信号４１３および４１２を生成して出力し、下位の変換回路は１対の信号Ｃ１＿１２とＣ０＿１２とＳ０＿１３とを入力し１対の信号４１１および４１０を生成して出力するが、１対の信号４１３および４１２、１対の信号４１１および４１０は、下位からの桁上げがある場合とない場合を表す仮のビット和情報に相当する。部分回路Ｐ３4の出力信号４１５乃至４１０は上位３ビット分の仮のビット和情報に相当し、１つ下位の部分回路Ｐ３3の最上位ビットからのキャリーの有無を想定して生成されていることになる。
【００４３】
次に、図１の４段目の回路ステージ１４を示した図６おいて、入力する仮のキャリー情報および仮のビット和情報は、部分回路Ｐ４1乃至Ｐ４2に対応して８ビット毎に区切られる。部分回路Ｐ４2内で、上位４ビットにおいて生成された１対の信号からなる仮のキャリー情報と仮のビット和情報は部分回路Ｐ４2内で最上位から数えて５番目のビットからの仮キャリー情報に基づいて選択され、新たな仮のキャリー情報および仮のビット和情報が生成されて出力される。選択用の信号として用いられる部分回路Ｐ４2内で最上位から数えて５番目のビットからの仮のキャリー情報を表す１対の信号４０８、４０９は、１つ下位の部分回路Ｐ４1内での最上位ビットからのキャリーの有無を想定して生成されているので、部分回路Ｐ４2内で新たに生成されて出力される仮のキャリー情報および仮のビット和情報は、全て１つ下位の部分回路Ｐ４1の最上位ビットからのキャリーを仮定して生成されていることになる。下位の部分回路Ｐ４1内では最上位から数えて５番目のビットに対応する信号４０１が真のキャリー信号であるので、部分回路Ｐ４1に含まれる４個のマルチプレクサのそれぞれにおいて信号４０１を選択用の信号として選択されて出力される信号５０３、信号５０２、信号５０１、信号５００も真のキャリー信号である。
【００４４】
また、部分回路Ｐ４2に含まれる４個の変換回路１４０の中の最上位の変換回路は１対の信号４０９および４０８とＳ０＿１２とを入力し１対の信号５１１および５１０を生成して出力し、上位から２番目の変換回路は１対の信号４０７および４０６とＳ０＿１１とを入力し１対の信号５０９および５０８を生成して出力し、上位から３番目の変換回路は１対の信号４０７および４０６とＳ０＿１０とを入力し１対の信号５０７および５０６を生成して出力し、上位から４番目の変換回路は１対の信号Ｃ１＿８およびＣ０＿８とＳ０＿９とを入力し１対の信号５０５および５０４を生成して出力するが、１対の信号５１１および５１０、１対の信号５０９および５０８、１対の信号５０７および５０６、１対の信号５０５および５０４は、下位からの桁上げがある場合とない場合を表す仮のビット和情報に相当する。部分回路Ｐ４2の出力信号５１７乃至５０４は上位７ビット分の仮のビット和情報に相当し、下位の部分回路Ｐ４1の最上位ビットからのキャリーの有無を想定して生成されていることになる。
【００４５】
次に、図１の最終段である５段目の回路ステージ１５を示した図７おいて、最上位から８ビットに渡って設けられたマルチプレクサのうち、最上位から数えて２番目乃至８番目までの７個のマルチプレクサは、仮のビット和情報を入力し、最上位から数えて９番目のビットからの真のキャリー信号５０３に基づいて選択し、真のビット和信号である信号Ｓ＿１５乃至Ｓ＿９を加算回路の外部へ出力する。最上位ビットのマルチプレクサは、仮のキャリー情報を現す１対の信号５１９および５１８のうちの１つを信号５０３に基づいて選択し２つの入力データの加算により発生する桁上げ信号として出力キャリー信号Ｃｏｕｔを加算回路の外部へ出力する。最上位から９乃至１６番目のビットにおいては、真のキャリー信号が４段目の回路ステージ１４までに決定しているので、図７に示すとおり、８個の排他的論理和回路は、真のキャリー信号と１段目の回路ステージ１１で生成されたビット和信号Ｓ０＿８乃至Ｓ０＿１との排他的論理和をとることにより真のビット和Ｓ＿８乃至Ｓ＿１を生成し、加算回路の外部へ出力する。最下位ビットの真のビット和は１段目の回路ステージ１１で生成された信号Ｓ＿０をそのまま加算回路の外部へ出力する。
【００４６】
図９の第１の従来例の加算回路ではキャリー情報とビット和情報とを１段目の回路ステージで生成して伝播させており、図１０の第２の従来例の加算器ではキャリー情報を伝搬させて真のキャリー信号を生成し、最終段の回路ステージですべての真のビット和をまとめて生成している。これに対して、本発明の加算回路では、キャリー情報の伝播の途中段階において仮のキャリー情報が仮のビット和情報に変換されて伝播する。このため、本発明の加算回路では、全てのビットに関してキャリー情報とビット和情報と生成して伝播させる第１の従来例の加算回路に比較してマルチプレクサ数およびマルチプレクサの入出力配線数を低減することができるので、消費電力を低減することが可能である。また、本発明の加算回路は、第１の従来例と同じ回路ステージ数（すなわち第２の従来例よりも１段少ない回路ステージ数）で実現できるので、第２の従来例の加算回路に比較して加算を高速に実行することが可能である。
【００４７】
第１の従来例の加算回路を構成するに必要なマルチプレクサ数と本発明の加算回路を構成するに必要なマルチプレクサ数とを比較すると、１６ビットの加算回路の場合には、第１の従来例が７５個のマルチプレクサを必要とするのに対して、本発明の加算回路では７１個のマルチプレクサ相当の回路で構成することができ、３２ビットの加算回路の場合には、第１の従来例が１８６個のマルチプレクサを必要とするのに対して、本発明の加算回路では、１７５個のマルチプレクサ相当の回路で構成することができる。３２ビットの場合の詳細な内訳を示すと、本発明ではマルチプレクサは第１の従来例の１８６個から１２９個まで減少し、代わりに途中でビット和を生成する為に排他和セルを計４６個追加するので、結局マルチプレクサ１１個の削減が可能になる。さらに、条件セルの構成においても、第１の従来例では仮のビット和情報として２つのビット和が必要であるのに対し、本発明では１つの排他的論理和信号のみを生成すればよいので、本発明では条件セルを構成するに必要なトランジスタ数が削減でき、この点においても低電力化できる。但し、マルチプレクサ相当の回路個数の計数において、これらの回路がパストランジスタを用いて構成されているとして、キャリー選択回路および変換回路はマルチプレクサ２個に換算し、排他的論理和回路はマルチプレクサ１個に換算して計数した。
【００４８】
また、第２の従来例の加算回路を構成するに必要な回路ステージの段数と本発明の加算回路を構成するに必要な回路ステージの段数とを比較すると、１６ビットの加算回路を構成する場合には、第２の従来例の加算回路では６段の回路ステージが必要であるのに対して、本発明の加算回路では５段の回路ステージで構成でき、３２ビットの加算回路の場合には、第２の従来例の加算回路では７段の回路ステージが必要であるのに対して、本発明の加算回路では６段の回路ステージで構成できる。このため、本発明の加算回路のクリティカルパスの論理段数は、第２の従来例の加算回路よりも１段小さくでき、第１の従来例の加算回路と同等の論理段数で実現できる。ここで論理段数とはキャリー情報またはビット和情報が１段目の回路ステージから最終段の回路ステージまで伝搬する経路に存在する条件セル回路、マルチプレクサ、キャリー選択回路、変換回路および排他的論理和回路の総和のことである。
【００４９】
図８は、本発明の加算回路を備える半導体装置を示す図である。例えば１チップに集積されたマイクロプロセッサなどの半導体装置１の内部に搭載される加算回路として本発明の加算回路２を使用することにより、半導体装置１に上に述べた効果を及ぼすことができる。
【００５０】
なお、以上において本発明の実施例として１６ビットの加算回路を用いて説明したが１６ビットに限定されるものでなく、本発明は２Nビットの加算回路において、電力削減と高速化の効果が顕著でないＮ≦２の場合を除き、Ｎ≧３以上の場合には電力削減と高速化の効果が生じる。
【００５１】
【発明の効果】
以上のように、本発明の加算回路は、第１の従来例と同じ回路ステージ段数を有するので第１の従来例と同等の速度（すなわち第２の従来例よりも高速）での動作を維持しながら、第１の従来例よりもマルチプレクサ等の単位回路の個数、および配線数の削減により低電力で動作できるという顕著な効果を備えるものである。
【図面の簡単な説明】
【図１】本発明の加算回路の一実施例である１６ビット加算回路の回路図である。
【図２】（ａ）は１６ビット加算回路における１段目の回路ステージ１１の内部構成を示す図であり、（ｂ）は条件セル回路のゲートレベルの回路図である。
【図３】１６ビット加算回路における２段目の回路ステージの内部構成を示す図である。
【図４】（ａ）はマルチプレクサを示す回路図であり、（ｂ）はキャリー選択回路を示す回路図である。
【図５】１６ビット加算回路における３段目の回路ステージの内部構成を示す図である。
【図６】１６ビットの加算回路における４段目の回路ステージの内部構成を示す図である。
【図７】１６ビット加算回路における５段目の回路ステージの内部構成を示す図である。
【図８】本発明の加算回路を備える半導体装置を示す図である。
【図９】第１の従来例の条件和加算回路を４ビットの加算回路に適用したときの回路図である。
【図１０】第２の従来例の条件キャリー加算回路を１６ビットの加算回路に適用したときの回路図である。
【符号の説明】
１    半導体装置
２    加算回路
１１    １段目の回路ステージ
１２    ２段目の回路ステージ
１３    ３段目の回路ステージ
１４    ４段目の回路ステージ
１５    ５段目の回路ステージ
１００    フルアダー
１０１    条件セル回路
１１０    キャリー選択回路
１２０    マルチプレクサ
１３０    排他的論理和回路
１４０    変換回路
【図１】
0003727301.tif 000002
【図２】
0003727301.tif 000003
【図３】
0003727301.tif 000004
【図４】
0003727301.tif 000005
【図５】
0003727301.tif 000006
【図６】
0003727301.tif 000007
【図７】
0003727301.tif 000008
【図８】
0003727301.tif 000009
【図９】
0003727301.tif 000010
【図１０】
0003727301.tif 000011