(57)【要約】【課題】下位桁グループからの桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段に入力させ、桁上げ入力Ｃｉｎの入力以降の演算量を減少させ、演算時間をさらに高速化させた桁上げ先見加算器を提供する。【解決手段】各桁毎の被加算数Ａｉと加算数Ｂｉの論理和である伝搬信号Ｐｉと、各桁毎の被加算数Ａｉと加算数Ｂｉの論理積である生成信号Ｇｉと、１つ下位の加算桁群からの桁上げ出力Ｃｉｎとが入力され、少なくとも最大桁の桁上げ出力Ｃｉを演算する桁上げ先見加算器であって、前記桁上げ先見回路における任意の桁の最終段回路には、桁上げ入力Ｃｉｎと、該桁上げ先見回路に入力する全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、を論理積（ＡＮＤ）演算する回路を有する。【選択図】　　　　図１
2004013270.tif 000002
【特許請求の範囲】
【請求項１】
被加算数Ａおよび加算数Ｂを固定長の加算桁群毎に分割し、各加算桁群毎に並列して下位の加算桁群からの桁上げ入力Ｃｉｎが０である場合と１である場合と予め演算しておき、下位の桁の加算桁群からの桁上げ入力Ｃｉｎにより何れか一方を選択する桁上げ先見回路を有し、
（ａ）該桁上げ先見回路が、各桁毎の被加算数Ａｉ（ｉは０より大きい整数）と加算数Ｂｉの論理和（ＯＲ）である伝搬信号Ｐｉと、
（ｂ）各桁毎の被加算数Ａｉと加算数Ｂｉの論理積（ＡＮＤ）である生成信号Ｇｉと、
（ｃ）１つ下位の加算桁群からの桁上げ出力Ｃｉｎとが入力され、
少なくとも最大桁の桁上げ出力Ｃｉを演算する桁上げ先見加算器であって、
前記桁上げ先見回路における任意の桁の最終段回路には、
（ｄ）桁上げ入力Ｃｉｎと、
（ｅ）該桁上げ先見回路に入力する全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、
を論理積（ＡＮＤ）演算する回路を有する
ことを特徴とする桁上げ先見加算器。
【請求項２】
前記桁上げ先見回路における任意の桁の最終段回路には、
（ｆ）前記桁上げ入力Ｃｉｎを用いない演算結果と、
（ｇ）前記桁上げ入力Ｃｉｎを用いた論理積（ＡＮＤ）演算結果と、
を論理和（ＯＲ）演算する回路を有する
ことを特徴とする請求項１に記載の桁上げ先見加算器。
【請求項３】
前記桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、
（ｈ）該桁の伝搬信号Ｐｉと、
（ｊ）該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）と、
を論理積（ＡＮＤ）演算する回路を有する
ことを特徴とする請求項１または２に記載の桁上げ先見加算器。
【請求項４】
前記桁上げ先見回路における少なくとも最大から数えて最小桁から３番目に小さい桁までの任意の桁の最終段の前段回路には、
（ｋ）前記任意の桁と該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算結果と、
（ｌ）他の桁の伝搬信号Ｐｉまたは複数の桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、
を論理積（ＡＮＤ）演算する回路を有する
ことを特徴とする請求項３に記載の桁上げ先見加算器。
【請求項５】
前記桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、
（ｍ）該桁の伝搬信号Ｐｉと、
（ｎ）該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）と、
を論理積（ＡＮＤ）演算する回路を有する
ことを特徴とする請求項１〜４の何れかに記載の桁上げ先見加算器。
【請求項６】
前記桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、
（ｐ）該桁の生成信号Ｇｉと、
（ｑ）前記桁の伝搬信号Ｐｉと該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）演算結果と、
を論理和（ＯＲ）演算する回路を有する
ことを特徴とする請求項５に記載の桁上げ先見加算器。
【請求項７】
前記桁上げ先見回路における少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の２段目回路には、
（ｒ）初段から出力された該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算結果と、
（ｓ）該桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）と該桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果と該桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果と、
を論理積（ＡＮＤ）演算する回路を有する
ことを特徴とする請求項３〜６の何れかに記載の桁上げ先見加算器。
【請求項８】
前記桁上げ先見回路における少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の２段目回路には、
（ｔ）該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）と該桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）と該桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果と該桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果との論理積（ＡＮＤ）演算結果と、
（ｕ）該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）演算結果と該桁の生成信号Ｇｉとの論理和（ＯＲ）演算と、
を論理和（ＯＲ）演算する回路を有する
ことを特徴とする請求項７に記載の桁上げ先見加算器。
【請求項９】
前記桁上げ先見回路における最上位桁の演算回路に用いられた論理演算素子を、全ての桁の演算回路に設け、
各論理演算素子の接続は、前記最終段の前段回路の論理積（ＡＮＤ）演算する回路を除いて同様にし、
論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には電源側の高位電圧を入力し、
論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には接地側の低位電圧を入力する
ことを特徴とする請求項１〜８の何れかに記載の桁上げ先見加算器。
【請求項１０】
前記桁上げ先見加算器の各桁毎の回路を、少なくとも最大桁から２桁以上の上位桁からなる上位ブロックと、残りの下位桁の下位ブロックに２分割し、
下位ブロックでは、リプルキャリー加算器の構成を用い、最終段の手前の何れかの段に下位桁の加算桁群からの桁上げ入力Ｃｉｎを入力させて、少なくとも１桁の桁上げ出力を生成し、
上位ブロックでは、上記請求項１〜８の何れかの桁上げ先見回路の構成を用い、前記最終段回路には、下位桁の加算桁群からの桁上げ入力Ｃｉｎに代えて、前記下位ブロックからの桁上げ出力を利用する出力を用いる
ことを特徴とする桁上げ先見加算器。
【請求項１１】
前記桁上げ先見回路における上位ブロックの演算回路に用いられた論理演算素子と、下位ブロックの演算回路に用いられた論理演算素子とから、重複する素子を除いた論理演算素子を、全ての桁の演算回路に設け、
論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には電源側の高位電圧を入力し、
論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には接地側の低位電圧を入力する
ように接続する以外は、各論理演算素子の接続は同様にする
ことを特徴とする請求項１０に記載の桁上げ先見加算器。
【請求項１２】
前記上位ブロックの前記高位電圧の配線および前記低位電圧の配線はブロック内で集約され、下位ブロック側の前記高位電圧の配線および前記低位電圧の配線とは前記集約された配線により接続される
ことを特徴とする請求項１１に記載の桁上げ先見加算器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演算時間を高速化するために桁上げ先見回路を有する加算器に関し、特に、桁上げ先見加算器の演算時間を高速化するための改良に関する。
【０００２】
【従来の技術】
論理回路で構成される加算器は１桁の２進数（１または０）の加算器が基本であり、被加算数Ａｉ（１桁の２進数）と加算数Ｂｉ（１桁の２進数）を加算する場合、１つ下位の桁からの桁上げ出力を桁上げ入力Ｃｉｎ「Ｃｉｎ」とすると、加算結果Ｓｉ（１桁の２進数）は次の式で示される。
【０００３】
Ｓｉ　＝　Ａｉ　＋　Ｂｉ　＋　Ｃｉｎ　　・・・（１）
ただし、上記（１）式および以下の各式で。「ｉ」は０、１、２、３、・・・等の正の整数であり演算される現在の桁数を示し、示された各数が複数桁のうちの何桁目かを示す。「＋」の符号はＯＲ素子等の論理和（ＯＲ）を示す。また、Ｃｉｎは、桁上げ出力であり、これも１桁の２進数である。
【０００４】
加算結果Ｓｉは１桁の２進数であり、Ａｉ　＋　Ｂｉ　＋　Ｃｉｎは３個の２進数の論理和（ＯＲ）であるので、加算結果Ｓｉが出力される場合には、桁上げが発生した場合の桁上げ出力Ｃｉも出力される。桁上げ出力Ｃｉは、次の式で示される。
【０００５】
Ｃｉ　＝　Ａｉ・Ｂｉ　＋　（Ａｉ　＋　Ｂｉ）・Ｃｉｎ　　・・・（２）
ただし、上記（２）式および以下の各式で「・」の符号はＡＮＤ素子等の論理積（ＡＮＤ）を示す。
【０００６】
例えば、１桁の全加算器を直列に接続した場合のリプルキャリー加算器等では、下位桁の桁上げ出力（Ｃｉｎ）が演算されて入力されるのを待って、上位桁の加算結果Ｓｉおよび桁上げ出力Ｃｉの演算が実施される。
【０００７】
桁上げ先見回路は、下位桁の桁上げ出力の発生を調べ、それに対応する桁上げ出力を先立って知る方法である。例えば、論理和（ＯＲ）「Ａｉ　＋　Ｂｉ」を伝搬信号Ｐｉ「Ｐｉ」と定義し、論理積（ＡＮＤ）「Ａｉ　＋　Ｂｉ」を生成信号Ｇｉ「Ｇｉ」と定義すると、（１）式、（２）式は、次の式で示される。
【０００８】
Ｓｉ　＝　Ｐｉ　＋　Ｃｉｎ　　・・・（３）
Ｃｉ　＝　Ｇｉ　＋　Ｐｉ・Ｃｉｎ　　・・・（４）
「Ｃｉｎ」の「ｉｎ」については、演算される現在の桁数「ｉ」の１個下位の桁を示すので「ｉ−１」と示しても良い。
【０００９】
具体的な桁上げ出力の例を最下位の桁から４桁目まで示すと次の式のようになり、最後に一般式を示す。
Ｃ０　＝　Ｇ０　＋　Ｐ０・Ｃｉｎ
Ｃ１　＝　Ｇ１　＋　Ｐ１・Ｃ０
Ｃ２　＝　Ｇ２　＋　Ｐ２・Ｃ１
Ｃ３　＝　Ｇ３　＋　Ｐ３・Ｃ２
・
・
・
Ｃｊ　＝　Ｇｊ　＋　Ｐｊ・Ｃ（ｊ−１）　　・・・（５）
ただし、「ｊ」は０、１、２、３、・・・等の正の整数である。
【００１０】
ここで、上記した桁上げ出力の例から、各下位の桁上げ出力を、上位の桁上げ出力に代入して展開すると次の式のようになり、最後に一般式を示す。
2004013270.tif 000003
【００１１】
（６）式を実現する回路はｊ［ｂｉｔ］の桁上げ先見回路と称されている。桁上げ先見回路を有する桁上げ先見加算器は、上位桁の桁上げ計算を下位桁の全ての入力から直接算出することで、各桁の加算回路で並列演算させることができ、リプルキャリー加算器等のように１個下位の桁（前桁）の桁上げ出力が入力されるのを待つ必要が無いので、桁数が多い場合でも演算時間を高速化できる。
【００１２】
しかし、桁上げ先見加算器は、桁数が多くなると、桁数の２乗に近い割合で桁上げ先見回路の回路規模が大きくなるという問題がある。そのため、桁上げ先見加算器は、例えば、４ビット（４桁）程度の桁上げ先見回路が複数個用いられ、４ビットより大きい数値は４ビット（固定長）毎にグループ（加算桁群）に分割されて、各グループ毎に並列して加算が行われる。
【００１３】
また、桁上げ先見加算器は、各グループ毎に、下位のグループからの桁上げ入力Ｃｉｎが０である場合と１である場合を前もって（先見して）演算しておき、下位の桁のグループからの桁上げ入力Ｃｉｎにより何れか一方を選択する。つまり、最下位のグループから桁上げ出力により、順次上位の桁のグループにおける２種類の演算結果からの選択のみが実施され、下位の桁のグループからの桁上げ入力Ｃｉｎにより演算が開始されるわけではないので、トータルの演算時間は縮小される。
【００１４】
図５は、４ビットの桁上げ先見加算回路を２個用いた８ビット加算器の構成例を示すブロック図である。
図５の左半分が下位側４ビットの桁上げ先見加算回路であり、右半分が上位側４ビットの桁上げ先見加算回路である。
【００１５】
下位４ビットブロック用の被加算数Ａ０と加算数Ｂ０が、Ｐｉ，Ｇｉ生成回路に入力されて、最下位桁の生成信号Ｇ０と伝搬信号Ｐ０が生成され、下位４ビットブロック用の４ビット桁上げ先見回路に入力され、桁上げ出力Ｃ０が演算される。また、伝搬信号Ｐ０は、下位桁の４ビット加算回路からの桁上げ入力Ｃｉｎと共に演算され、加算結果Ｓ０が演算される。
【００１６】
下位４ビットブロック用の被加算数Ａ１と加算数Ｂ１は、Ｐｉ，Ｇｉ生成回路に入力されて、最下位桁から２番目の生成信号Ｇ１と伝搬信号Ｐ１が生成され、４ビット桁上げ先見回路に入力され、桁上げ出力Ｃ１が演算される。また、伝搬信号Ｐ１は、最下位桁の桁上げ出力Ｃ０と共に演算され、加算結果Ｓ１が演算される。
【００１７】
同様に、被加算数Ａ２と加算数Ｂ２からは、最下位桁から３番目の生成信号Ｇ２と伝搬信号Ｐ２が生成され、桁上げ先見回路では桁上げ出力Ｃ２が演算され、また、伝搬信号Ｐ２と桁上げ出力Ｃ１とからは、加算結果Ｓ２が演算される。そして、被加算数Ａ３と加算数Ｂ３からは、下位４ビットブロックの最上位桁の生成信号Ｇ３と伝搬信号Ｐ３が生成され、桁上げ先見回路では桁上げ出力Ｃ３が演算され、また、伝搬信号Ｐ３と桁上げ出力Ｃ２とからは、加算結果Ｓ３が演算される。桁上げ出力Ｃ３は、上位側４ビットの桁上げ先見加算回路に送出される。
【００１８】
上位側４ビットの桁上げ先見加算回路では、桁上げ出力Ｃ３を桁上げ入力Ｃｉｎとして、各桁の被加算数Ａｉおよび加算数Ｂｉの入力に対し、下位側４ビットの桁上げ先見加算回路と同様な演算を実施する。
【００１９】
図６は、４ビットの桁上げ先見加算回路における各桁毎のＰｉ，Ｇｉ生成回路の構成を示すブロック図である。
図６に示したように、伝搬信号Ｐｉは、論理和（ＯＲ）であるのでＯＲ回路に被加算数Ａｉと加算数Ｂｉを入力させることにより、論理和（ＯＲ）「Ａｉ　＋　Ｂｉ」＝Ｐｉを出力することができる。同様に、生成信号Ｇｉは、論理積（ＡＮＤ）であるのでＡＮＤ回路に被加算数Ａｉと加算数Ｂｉを入力させることにより、論理積（ＡＮＤ）「Ａｉ　・　Ｂｉ」＝Ｇｉを出力することができる。
【００２０】
図７は、図５の４ビット桁上げ先見回路の一例をＰｉ，Ｇｉ生成回路と共に示したブロック図である。
図７の１段目の回路は、図６に示したＰｉ，Ｇｉ生成回路を図５に示したように各桁毎に４桁分設けた回路である。この１段目の回路により、各桁毎の生成信号Ｇｉと伝搬信号Ｐｉが生成される。
【００２１】
次に、図７の１桁目（下位４ビット用の場合であり、上位４ビット用では５桁目となる）では、最下位桁の被加算数Ａ０と加算数Ｂ０が入力されて、１段目の回路では生成信号Ｇ０と伝搬信号Ｐ０が生成される。ＡＮＤ回路ＡＮ６２では、伝搬信号Ｐ０と下位桁グループからの桁上げ入力Ｃｉｎの論理積（ＡＮＤ）が演算されて、Ｐ０・Ｃｉｎが出力される。ＯＲ回路ＯＲ６２では、生成信号Ｇ０とＰ０・Ｃｉｎの論理和（ＯＲ）が演算されて、Ｇ０＋Ｐ０・Ｃｉｎが出力される。
【００２２】
ここで、上記の（６）式で示したようにしたようにＧ０＋Ｐ０・ＣｉｎはＣ０であるので、上記した（６）式のＣ０＝Ｇ０＋Ｐ０・Ｃｉｎは満足される。
【００２３】
２桁目（上位４ビット用では６桁目）では、最下位桁から２番目の被加算数Ａ１と加算数Ｂ１が入力されて、１段目の回路では生成信号Ｇ１と伝搬信号Ｐ１が生成される。ＡＮＤ回路ＡＮ７２では、伝搬信号Ｐ０と桁上げ入力Ｃｉｎの論理積（ＡＮＤ）が演算されて、Ｐ０・Ｃｉｎが出力される。ＡＮＤ回路ＡＮ７３では、伝搬信号Ｐ１とＰ０・Ｃｉｎの論理積（ＡＮＤ）が演算されて、Ｐ１・Ｐ０・Ｃｉｎが出力される。ＡＮＤ回路ＡＮ７４では、伝搬信号Ｐ１と生成信号Ｇ０の論理積（ＡＮＤ）が演算されて、Ｐ１・Ｇ０が出力される。ＯＲ回路ＯＲ７２では、Ｐ１・Ｐ０・ＣｉｎとＰ１・Ｇ０が入力されて、Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎが出力される。ＯＲ回路ＯＲ７３では、Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎと生成信号Ｇ１が入力されて、Ｇ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００２４】
ここで、上記の（６）式で示したようにしたようにＧ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・ＣｉｎはＣ１であるので、上記した（６）式のＣ１＝　Ｇ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎは満足される。
【００２５】
３桁目および４桁目については、説明が煩雑になるため省略するが、上記と同様にして、まず、３桁目については、ＯＲ回路ＯＲ８３からは、Ｇ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０＋Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力され、上記の式で説明したようにしたようにＧ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０＋Ｐ２・Ｐ１・Ｐ０・ＣｉｎはＣ２である。従って、上記した（６）式のＣ２＝Ｇ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０＋Ｐ２・Ｐ１・Ｐ０・Ｃｉｎは満足される。
【００２６】
また、次に４桁目については、ＯＲ回路ＯＲ９５からは、Ｇ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０＋Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力され、上記の式で説明したようにしたようにＧ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０＋Ｐ３・Ｐ２・Ｐ１・Ｐ０・ＣｉｎはＣ３である。従って、上記した（６）式のＣ３＝Ｇ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０＋Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎは満足される。
【００２７】
このように、従来の桁上げ先見回路を有する桁上げ先見加算器は、上位桁の桁上げ計算を下位桁の全ての入力を用いて直接算出することにより、各桁の加算回路で並列演算を実施させることで、桁数が多い場合でも演算時間を高速化していた。
【００２８】
【発明が解決しようとする課題】
しかしながら、図７からわかるように、４桁目の桁上げ出力Ｃ３を出力する場合には、下位桁グループからの桁上げ入力Ｃｉｎは、まずＡＮＤ回路ＡＮ９２に入力され、ＯＲ回路ＯＲ９２、ＡＮＤ回路ＡＮＤ９８、ＯＲ回路ＯＲ９４、そして、ＯＲ回路ＯＲ９５と５回路（５素子）で演算処理される必要がある。つまり、従来の桁上げ先見加算器では、下位桁グループからの桁上げ入力Ｃｉｎの入力から５素子分のクリティカルパスの演算を経た後でないと４桁目の桁上げ出力Ｃ３が出力されない。５素子分のクリティカルパスで演算させるということは、その分の遅延時間が発生しているということである。
【００２９】
ここで、（６）式を詳細に検討してみると、下位桁グループからの桁上げ入力Ｃｉｎが必要になるのは（６）式の最後の項のみである。（６）式の一般式の場合で示せば、「Ｐｊ・・・Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ」の部分の項であり、４桁目の桁上げ出力Ｃ３の場合で示せば、「Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ」である。
【００３０】
桁上げ先見加算器としては、上記したように桁数と回路規模の相関関係があるため４ビット（４桁）程度の回路が複数個用いられることが多いことから、以下では４ビット加算器の場合について考える。その場合、４桁目の桁上げ出力Ｃ３を求めるための演算では、下位桁グループからの桁上げ入力Ｃｉｎの入力が必要になるのは「Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ」の演算だけであり、「Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ」の演算を実施する部分の回路を桁上げ先見加算器の最終段に配置できれば、（６）式の最後の項以外の項については先に演算をしておくことができ、下位桁グループからの桁上げ入力Ｃｉｎの入力以降の演算量を減少させることができるので、演算速度を高速化できることになる。
【００３１】
しかし、従来は、桁上げ先見回路の任意の桁の最終段において、下位桁グループからの桁上げ入力Ｃｉｎと、「Ｐ３・Ｐ２・Ｐ１・Ｐ０」等の全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果とをさらに論理積（ＡＮＤ）演算する回路は知られていなかった。
【００３２】
本発明は、上述した如き従来の問題を解決するためになされたものであって、下位桁グループからの桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段に入力させ、桁上げ入力Ｃｉｎの入力以降の演算量を減少させ、演算時間をさらに高速化させた桁上げ先見加算器を提供することを目的とする。
【００３３】
【課題を解決するための手段】
上述の目的を達成するため、請求項１に記載した本発明の桁上げ先見加算器は、被加算数Ａおよび加算数Ｂを固定長の加算桁群毎に分割し、各加算桁群毎に並列して下位の加算桁群からの桁上げ入力Ｃｉｎが０である場合と１である場合と予め演算しておき、下位の桁の加算桁群からの桁上げ入力Ｃｉｎにより何れか一方を選択する桁上げ先見回路を有し、該桁上げ先見回路が、各桁毎の被加算数Ａｉと加算数Ｂｉの論理和（ＯＲ）である伝搬信号Ｐｉと、各桁毎の被加算数Ａｉと加算数Ｂｉの論理積（ＡＮＤ）演算結果である生成信号Ｇｉと、１つ下位の加算桁群からの桁上げ出力とが入力され、少なくとも最大桁の桁上げ出力を演算する桁上げ先見加算器であって、桁上げ先見回路における任意の桁の最終段回路には、桁上げ入力Ｃｉｎと、該桁上げ先見回路に入力する全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、を論理積（ＡＮＤ）演算する回路を有することを特徴とする。
【００３４】
また、請求項２の本発明は、請求項１に記載の桁上げ先見加算器において、桁上げ先見回路における任意の桁の最終段回路には、下位桁の加算桁群からの桁上げ入力Ｃｉｎを用いない演算結果と、下位桁の加算桁群からの桁上げ入力Ｃｉｎを用いた論理積（ＡＮＤ）演算結果と、を論理和（ＯＲ）演算する回路を有することを特徴とする。
【００３５】
また、請求項３の本発明は、請求項１または２に記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、該桁の伝搬信号Ｐｉと、該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）と、を論理積（ＡＮＤ）演算する回路を有することを特徴とする。
【００３６】
また、請求項４の本発明は、請求項３に記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の最終段の前段回路には、任意の桁と該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算結果と、他の桁の伝搬信号Ｐｉまたは複数の桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、を論理積（ＡＮＤ）演算する回路を有することを特徴とする。
【００３７】
また、請求項５の本発明は、請求項１〜４の何れかに記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、該桁の伝搬信号Ｐｉと、該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）と、を論理積（ＡＮＤ）演算する回路を有することを特徴とする。
【００３８】
また、請求項６の本発明は、請求項５に記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から２番目に小さい桁までの任意の桁の初段回路には、該桁の生成信号Ｇｉと、該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）演算結果と、を論理和（ＯＲ）演算する回路を有することを特徴とする。
【００３９】
また、請求項７の本発明は、請求項３〜６の何れかに記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の２段目回路には、初段から出力された該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算結果と、該桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）と該桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果と該桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果と、を論理積（ＡＮＤ）演算する回路を有することを特徴とする。
【００４０】
また、請求項８の本発明は、請求項７に記載の桁上げ先見加算器において、桁上げ先見回路における少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の２段目回路には、該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）と該桁の２つ下位の桁の生成信号Ｇ（ｉ−２）と該桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）と該桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果と該桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果との論理積（ＡＮＤ）演算結果と、該桁の伝搬信号Ｐｉと該桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）演算結果と該桁の生成信号Ｇｉとの論理和（ＯＲ）演算と、を論理和（ＯＲ）演算する回路を有することを特徴とする。
【００４１】
また、請求項９の本発明は、請求項１〜８の何れかに記載の桁上げ先見加算器において、桁上げ先見回路における最上位桁の演算回路に用いられた論理演算素子を、全ての桁の演算回路に設け、各論理演算素子の接続は、最終段の前段回路の論理積（ＡＮＤ）演算する回路を除いて同様にし、論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には電源側の高位電圧を入力し、論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には接地側の低位電圧を入力することを特徴とする。
【００４２】
また、請求項１０に記載した本発明の桁上げ先見加算器は、桁上げ先見加算器の各桁毎の回路を、少なくとも最大桁から２桁以上の上位桁からなる上位ブロックと、残りの下位桁の下位ブロックに２分割し、下位ブロックでは、リプルキャリー加算器の構成を用い、最終段の手前の何れかの段に下位桁の加算桁群からの桁上げ入力Ｃｉｎを入力させて、少なくとも１桁の桁上げ出力を生成し、上位ブロックでは、請求項１〜８の何れかの桁上げ先見回路の構成を用い、最終段回路には、下位桁の加算桁群からの桁上げ入力Ｃｉｎに代えて、下位ブロックからの桁上げ出力を利用する出力を用いることを特徴とする。
【００４３】
また、請求項１１の本発明は、請求項１０に記載の桁上げ先見加算器において、桁上げ先見回路における上位ブロックの演算回路に用いられた論理演算素子と、下位ブロックの演算回路に用いられた論理演算素子とを、重複する素子を除いて全ての桁の演算回路に設け、論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には電源側の高位電圧を入力し、論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には接地側の低位電圧を入力するように接続する以外は、各論理演算素子の接続は同様にすることを特徴とする。
【００４４】
また、請求項１２の本発明は、請求項１１に記載の桁上げ先見加算器において、上位ブロックの高位電圧の配線および低位電圧の配線はブロック内で集約され、下位ブロック側の高位電圧の配線および低位電圧の配線とは、集約された配線により接続されることを特徴とする。
【００４５】
【発明の実施の形態】
以下、本発明を図示した実施の形態に基づいて説明する。
実施の形態１．
図１は、本発明の実施の形態１の桁上げ先見加算器の主要部を示したブロック図である。
尚、図１において、図７に示した従来の桁上げ先見加算器と同じ機能の部分については同じ符号を付し、重複する説明を省略する。
【００４６】
一般的に桁上げ先見加算器は、被加算数Ａｉおよび加算数Ｂｉを固定長の加算桁群（グループ）毎に分割し、各加算桁群毎に並列して下位の加算桁群からの桁上げ入力Ｃｉｎが０である場合と１である場合と予め演算しておき、下位の桁の加算桁群からの桁上げ入力Ｃｉｎにより何れか一方を選択する桁上げ先見回路を有している。また、その桁上げ先見回路は、各桁毎の被加算数Ａｉと加算数Ｂｉの論理和（ＯＲ）である伝搬信号Ｐｉと、各桁毎の被加算数Ａｉと加算数Ｂｉの論理積（ＡＮＤ）である生成信号Ｇｉ（Ｇｉ）と、１つ下位の加算桁群からの桁上げ出力Ｃｉｎとが入力され、少なくとも最大桁の桁上げ出力を演算する。
【００４７】
図１に示した実施の形態が図７に示した従来例と異なる点は、以下の特徴に示した点である。
【００４８】
（特徴１）
本実施の形態の桁上げ先見回路において、任意の桁の最終段回路（図１では４段目）には、下位桁の加算桁群からの桁上げ出力Ｃｉｎの入力と、桁上げ先見回路に入力する全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と、を論理積（ＡＮＤ）演算する回路（図１では、ＡＮＤ回路ＡＮ１６、ＡＮ２６、ＡＮ３６、および、ＡＮ４６）を有する。
【００４９】
図１を用いて具体的に各回路（素子）の動作を説明すると、最終段（４段目）内の１桁目のＡＮＤ回路ＡＮ１６には、桁上げ出力Ｃｉｎと伝搬信号Ｐ０が入力され、Ｐ０・Ｃｉｎが出力される。また、２桁目のＡＮＤ回路ＡＮ２６には、桁上げ出力Ｃｉｎと、Ｄ３＝Ｐ０・Ｐ１が入力され、Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００５０】
３桁目のＡＮＤ回路ＡＮ３６には、桁上げ出力Ｃｉｎと、Ｆ３＝Ｐ２・Ｐ１・Ｐ０が入力され、Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力される。そして、４桁目のＡＮＤ回路ＡＮ４６には、桁上げ出力Ｃｉｎと、Ｆ４＝Ｐ３・Ｐ２・Ｐ１・Ｐ０が入力され、Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００５１】
（特徴２）
本実施の形態の桁上げ先見回路において、任意の桁の最終段回路（図１では４段目）には、下位桁の加算桁群からの桁上げ入力Ｃｉｎを用いない演算結果と、下位桁の加算桁群からの桁上げ入力Ｃｉｎを用いた論理積（ＡＮＤ）と、を論理和（ＯＲ）演算する回路（図１では、ＯＲ回路ＯＲ１４、ＯＲ２４、ＯＲ３４、および、ＯＲ４４）を有する。
【００５２】
図１を用いて具体的に各回路（素子）の動作を説明すると、最終段（４段目）内の１桁目のＯＲ回路ＯＲ１４には、ＡＮＤ回路ＡＮ１６からのＰ０・Ｃｉｎと、１桁目の生成信号Ｇ０が入力され、１桁目の桁上げ出力Ｃ０としてＧ０＋Ｐ０・Ｃｉｎが出力される。
【００５３】
２桁目のＯＲ回路ＯＲ２４には、ＡＮＤ回路ＡＮ２６からのＰ１・Ｐ０・Ｃｉｎと、２桁目の生成信号Ｇ１とＰ１・Ｇ０の論理和（ＯＲ）が入力され、２桁目の桁上げ出力Ｃ１としてＧ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００５４】
３桁目のＯＲ回路ＯＲ３４には、ＡＮＤ回路ＡＮ３６からのＰ２・Ｐ１・Ｐ０・Ｃｉｎと、３桁目の生成信号Ｇ２とＰ２・Ｇ１とＰ２・Ｐ１・Ｇ０との論理和（ＯＲ）が入力され、３桁目の桁上げ出力Ｃ２としてＧ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０＋Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００５５】
４桁目のＯＲ回路ＯＲ４４には、ＡＮＤ回路ＡＮ４６からのＰ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎと、４桁目の生成信号Ｇ３とＰ３・Ｇ２とＰ３・Ｐ２・Ｇ１とＰ３・Ｐ２・Ｐ１・Ｇ０の論理和（ＯＲ）が入力され、４桁目の桁上げ出力Ｃ３としてＧ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０＋Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎが出力される。
【００５６】
上記したＣ０〜Ｃ３は、図７に示した従来の桁上げ先見加算器と同様に（６）式に示した内容となるので、本実施の形態は論理回路として全く問題ないことがわかる。
【００５７】
（特徴３）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から２番目に小さい桁（図１では２桁目（または６桁目、以下、２桁目のみを記載））までの任意の桁の初段回路（図１では１段目）には、その桁の伝搬信号Ｐｉと、その桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）と、を論理積（ＡＮＤ）演算する回路（図１では、ＡＮＤ回路ＡＮ２３、ＡＮ３３、および、ＡＮ４３）を有する。
【００５８】
図１を用いて具体的に各回路（素子）の動作を説明すると、２桁目の初段（１段目）内のＡＮＤ回路ＡＮ２３には、１桁目のＯＲ回路ＯＲ１１からの伝搬信号Ｐ０と、２桁目のＯＲ回路ＯＲ２１からの伝搬信号Ｐ１が入力され、２桁目の初段の出力信号Ｄ３としてＰ１・Ｐ０が出力される。
【００５９】
同様にして、３桁目の初段（１段目）内のＡＮＤ回路ＡＮ３３には、２桁目のＯＲ回路ＯＲ２１からの伝搬信号Ｐ１と、３桁目のＯＲ回路ＯＲ３１からの伝搬信号Ｐ２が入力され、３桁目の初段の出力信号Ｄ５としてＰ２・Ｐ１が出力される。また、４桁目の初段（１段目）内のＡＮＤ回路ＡＮ４３には、３桁目のＯＲ回路ＯＲ３１からの伝搬信号Ｐ２と、４桁目のＯＲ回路ＯＲ４１からの伝搬信号Ｐ３が入力され、４桁目の初段の出力信号Ｄ７としてＰ３・Ｐ２が出力される。
【００６０】
（特徴４）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から３番目に小さい桁（図１では３桁目（または７桁目、以下、３桁目のみを記載））までの任意の桁の最終段の前段回路（図１では３段目）には、上記した特徴３で説明したように任意の桁とその桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算の結果（図１では、Ｄ３、Ｄ５、および、Ｄ７）と、他の桁の伝搬信号Ｐｉ（図１では、Ｐ０、Ｐ１、Ｐ２、および、Ｐ３）または複数の桁の伝搬信号Ｐｉの論理積（ＡＮＤ）（図１では、Ｄ３、Ｄ５、および、Ｄ７）と、を論理積（ＡＮＤ）演算する回路（図１では、ＡＮＤ回路ＡＮ３５、および、ＡＮ４５）を有する。
【００６１】
図１を用いて具体的に各回路（素子）の動作を説明すると、３桁目の３段目内のＡＮＤ回路ＡＮ３５には、１桁目の初段のＯＲ回路ＯＲ１１からの伝搬信Ｐ０と、３桁目の初段のＡＮＤ回路ＡＮ３３からの出力信号Ｄ５（＝Ｐ２・Ｐ１）が入力され、３桁目の３段目の出力信号Ｆ３としてＰ２・Ｐ１・Ｐ０が出力される。
【００６２】
同様にして、４桁目の３段目内のＡＮＤ回路ＡＮ４５には、１桁目の初段のＡＮＤ回路ＡＮ２３からの出力信号Ｄ３（Ｐ１・Ｐ０）と、４桁目の初段のＡＮＤ回路ＡＮ４３からの出力信号Ｄ７（＝Ｐ３・Ｐ２）が入力され、４桁目の３段目の出力信号Ｆ４としてＰ３・Ｐ２・Ｐ１・Ｐ０が出力される。
【００６３】
（特徴５）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から２番目に小さい桁（図１では２桁目）までの任意の桁の初段回路（図１では１段目）には、その桁の伝搬信号Ｐｉと、その桁の１つ下位の桁の生成信号Ｇ（ｉ−１）と、を論理積（ＡＮＤ）演算する回路（図１では、ＡＮＤ回路ＡＮ２２、ＡＮ３２、および、ＡＮ４２）を有する。
【００６４】
図１を用いて具体的に各回路（素子）の動作を説明すると、２桁目の初段（１段目）内のＡＮＤ回路ＡＮ２２には、１桁目のＡＮＤ回路ＡＮ１１からの生成信号Ｇ０と、２桁目のＯＲ回路ＯＲ２１からの伝搬信号Ｐ１が入力され、２桁目の初段内のＯＲ回路ＯＲ２２に向けてＰ１・Ｇ０が出力される。
【００６５】
同様にして、３桁目の初段（１段目）内のＡＮＤ回路ＡＮ３２には、２桁目のＡＮＤ回路ＡＮ２１からの生成信号Ｇ１と、３桁目のＯＲ回路ＯＲ３１からの伝搬信号Ｐ２が入力され、３桁目の初段内のＯＲ回路ＯＲ３２に向けてＰ２・Ｇ１が出力される。また、４桁目の初段（１段目）内のＡＮＤ回路ＡＮ４２には、３桁目のＡＮＤ回路ＡＮ３１からの生成信号Ｇ２と、４桁目のＯＲ回路ＯＲ４１からの伝搬信号Ｐ３が入力され、４桁目の初段内のＯＲ回路ＯＲ４２に向けてＰ３・Ｇ２が出力される。
【００６６】
（特徴６）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から２番目に小さい桁（図１では２桁目）までの任意の桁の初段回路（図１では１段目）には、その桁の生成信号Ｇｉと、その桁の伝搬信号Ｐｉとその桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）と、を論理和（ＯＲ）演算する回路（図１では、ＯＲ回路ＯＲ２２、ＯＲ３２、および、ＯＲ４２）を有する。
【００６７】
図１を用いて具体的に各回路（素子）の動作を説明すると、２桁目の初段（１段目）内のＯＲ回路ＯＲ２２には、上記した特徴５で説明した２桁目のＡＮＤ回路ＡＮ２２からの出力Ｐ１・Ｇ０と、２桁目の生成信号Ｇ１が入力され、２桁目の初段の出力信号Ｄ４としてＧ１＋Ｐ１・Ｇ０が出力される。
【００６８】
同様にして、３桁目の初段（１段目）内のＯＲ回路ＯＲ３２には、上記した特徴５で説明した３桁目のＡＮＤ回路ＡＮ３２からの出力Ｐ２・Ｇ１と、３桁目のＡＮＤ回路ＡＮ３１からの生成信号Ｇ２が入力され、３桁目の初段の出力信号Ｄ６としてＧ２＋Ｐ２・Ｇ１が出力される。また、４桁目の初段（１段目）内のＯＲ回路ＯＲ４２には、上記した特徴５で説明した４桁目のＡＮＤ回路ＡＮ４２からの出力Ｐ３・Ｇ２と、４桁目のＡＮＤ回路ＡＮ４１からの生成信号ＧｉＧ３が入力され、４桁目の初段の出力信号Ｄ８としてＧ３＋Ｐ３・Ｇ２が出力される。
【００６９】
（特徴７）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から３番目に小さい桁（図１では３桁目）までの任意の桁の２段目回路には、初段（図１では１段目）から出力されたその桁の伝搬信号Ｐｉとその桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）との論理積（ＡＮＤ）演算結果と、その桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）とその桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果とその桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果と、を論理積（ＡＮＤ）演算する回路（図１では、ＡＮＤ回路ＡＮ３４、および、ＡＮ４４）を有する。
【００７０】
図１を用いて具体的に各回路（素子）の動作を説明すると、３桁目の２段目内のＡＮＤ回路ＡＮ３４には、１桁目のＡＮＤ回路ＡＮ１１からの生成信号Ｇ０と、３桁目の初段のＡＮＤ回路ＡＮ３３からの出力信号Ｄ５（＝Ｐ２・Ｐ１）が入力され、３桁目の２段目内のＯＲ回路ＯＲ３３に向けてＰ２・Ｐ１・Ｇ０が出力される。また、３桁目の２つ下位の桁（１桁目）の伝搬信号Ｐ０と３桁目の３つ下位の桁の生成信号Ｇ（ｉ−３）＝該当無しとの論理積（ＡＮＤ）演算結果（＝０）と３桁目の２つ下位の桁（１桁目）の生成信号Ｇ０との論理和（ＯＲ）演算結果（＝Ｇ０）とは、結局、生成信号Ｇ（ｉ−３）が該当無しなので、生成信号Ｇ０のみとなる。
【００７１】
同様にして、４桁目の２段目内のＡＮＤ回路ＡＮ４４には、２桁目の初段のＯＲ回路ＯＲ２２からの出力信号Ｄ４（＝Ｇ１＋Ｐ１・Ｇ０）と、４桁目の初段のＡＮＤ回路ＡＮ４３からの出力信号Ｄ７（＝Ｐ３・Ｐ２）が入力され、４桁目の２段目内のＯＲ回路ＯＲ４３に向けてＰ３・Ｐ２（Ｇ１＋Ｐ１・Ｇ０）が出力される。
【００７２】
（特徴８）
本実施の形態の桁上げ先見回路において、少なくとも最大桁から数えて最小桁から３番目に小さい桁までの任意の桁の２段目回路には、その桁の伝搬信号Ｐｉとその桁の１つ下位の桁の伝搬信号Ｐ（ｉ−１）とその桁の２つ下位の桁の伝搬信号Ｐ（ｉ−２）とその桁の３つ下位の桁の生成信号Ｇ（ｉ−３）との論理積（ＡＮＤ）演算結果とその桁の２つ下位の桁の生成信号Ｇ（ｉ−２）との論理和（ＯＲ）演算結果との論理積（ＡＮＤ）演算結果と、その桁の伝搬信号Ｐｉとその桁の１つ下位の桁の生成信号Ｇ（ｉ−１）とを用いた論理積（ＡＮＤ）演算結果とその桁の生成信号Ｇｉとの論理和（ＯＲ）演算と、を論理和（ＯＲ）演算する回路を有する。
【００７３】
図１を用いて具体的に各回路（素子）の動作を説明すると、３桁目の２段目内のＯＲ回路ＯＲ３３には、上記した特徴７で説明した３桁目のＡＮＤ回路ＡＮ３４からの出力として、出力信号Ｄ５・Ｇ０（＝Ｐ２・Ｐ１・Ｇ０）と、３桁目の初段の出力信号Ｄ６（＝Ｇ２＋Ｐ２・Ｇ１）が入力され、出力信号Ｅ３としてＧ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０が出力される。
【００７４】
なお、３桁目の３つ下位の桁は無いので、伝搬信号Ｐ２と３桁目の１つ下位の２桁目の伝搬信号Ｐ１と３桁目の２つ下位の１桁目の伝搬信号Ｐ０と３桁目の３つ下位の桁の生成信号Ｇとの論理積（ＡＮＤ）の演算結果は０になり、論理和の演算結果も生成信号Ｇ０のみとなる。また、３桁目の伝搬信号Ｐ２と３桁目の１つ下位の２桁目の生成信号Ｇ１とを用いた論理積（ＡＮＤ）演算結果（＝Ｐ２・Ｇ１）と３桁目の生成信号Ｇ２との論理和（ＯＲ）は、Ｇ２＋Ｐ２・Ｇ１である。
【００７５】
４桁目の２段目内のＯＲ回路ＯＲ４３には、上記した特徴７で説明した４桁目のＡＮＤ回路ＡＮ４４からの出力として、出力信号Ｄ７・Ｄ４（＝Ｐ３・Ｐ２（Ｇ１＋Ｐ１・Ｇ０））と、３桁目の初段の出力信号Ｄ８（＝Ｇ３＋Ｐ３・Ｇ２）が入力され、出力信号Ｅ４としてＧ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０が出力される。
【００７６】
４桁目の伝搬信号Ｐ３と４桁目の１つ下位の３桁目の伝搬信号Ｐ２の論理積（ＡＮＤ）演算と、４桁目の２つ下位の２桁目の伝搬信号Ｐ１と４桁目の３つ下位の１桁目の生成信号Ｇ０との論理積（ＡＮＤ）と４桁目の２つ下位の２桁目の生成信号Ｇ１との論理和（ＯＲ）演算（＝Ｇ１＋Ｐ１・Ｐ０）と、の論理積（ＡＮＤ）演算結果（＝Ｐ２・Ｐ１（Ｇ１＋Ｐ１・Ｇ０））と、４桁目の伝搬信号Ｐ３と４桁目の１つ下位の３桁目の生成信号Ｇ２とを用いた論理積（ＡＮＤ）演算結果と４桁目の生成信号Ｇ３との論理和（ＯＲ）演算と、が入力されて論理和（ＯＲ）演算され、その結果、出力信号Ｅ４としてＧ３＋Ｐ３・Ｇ２＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０が出力される。
【００７７】
本実施形態の回路は（６）式の４桁目（Ｃ３）までを以下のように変形することで、回路構成が考えられる。
Ｃ０　＝　Ｇ０　＋　Ｐ０・Ｃｉｎ
Ｃ１　＝　Ｇ１　＋　Ｐ１・Ｇ０　＋　Ｐ１・Ｐ０・Ｃｉｎ
Ｃ２　＝（Ｇ２　＋　Ｐ２・Ｇ１）　＋　Ｐ２・Ｐ１・Ｇ０　＋　Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ
Ｃ３　＝（Ｇ３　＋　Ｐ３・Ｇ２）　＋　Ｐ３・Ｐ２（Ｇ１　＋　Ｐ１・Ｇ０）　＋　Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎ
・・・（７）
【００７８】
（７）式で、１桁目の桁上げ出力Ｃ０式におけるＧ０＋Ｐ０・Ｃｉｎは、１桁目の最終段のＡＮＤ回路ＡＮ１６とＯＲ回路ＯＲ１４で生成される。
２桁目の桁上げ出力Ｃ１式におけるＧ１＋Ｐ１・Ｇ０は、２桁目の初段のＡＮＤ回路ＡＮ２２とＯＲ回路ＯＲ２２で生成される。
２桁目の桁上げ出力Ｃ１式におけるＰ１・Ｐ０・Ｃｉｎは、２桁目の最終段のＡＮＤ回路ＡＮ２６とＯＲ回路ＯＲ２４で生成される。
３桁目の桁上げ出力Ｃ２式におけるＧ２＋Ｐ２・Ｇ１は、３桁目の初段のＡＮＤ回路ＡＮ３２とＯＲ回路ＯＲ３２で生成される。
３桁目の桁上げ出力Ｃ２式におけるＰ２・Ｐ１・Ｇ０は、３桁目の２段目のＡＮＤ回路ＡＮ３４で生成される。
３桁目の桁上げ出力Ｃ２式におけるＰ２・Ｐ１・Ｐ０・Ｃｉｎは、３桁目の最終段のＡＮＤ回路ＡＮ３６で生成される。
４桁目の桁上げ出力Ｃ３式におけるＧ３＋Ｐ３・Ｇ２は、４桁目の初段のＡＮＤ回路ＡＮ４２とＯＲ回路ＯＲ４２で生成される。
４桁目の桁上げ出力Ｃ３式におけるＰ３・Ｐ２（Ｇ１＋Ｐ１・Ｇ０）は、４桁目の２段目のＡＮＤ回路ＡＮ４４で生成される。
４桁目の桁上げ出力Ｃ３式におけるＰ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎは、４桁目の最終段のＡＮＤ回路ＡＮ４６で生成される。
【００７９】
また、図１の各段の出力から、本実施の形態の１桁目から４桁目の桁上げ出力Ｃ０〜Ｃ３は、次のように示される。
2004013270.tif 000004
【００８０】
（８）式は、（６）式の４桁目までと同一であるので、論理回路として同様な結果を出力することができる。
【００８１】
次に、図７に示した従来の桁上げ先見回路と、図１に示した本実施の形態の桁上げ先見回路とを比較すると、本実施の形態では、下位桁の４ビット加算回路からの桁上げ入力Ｃｉｎが、桁上げ先見回路の全ての桁の最終段に入力されており、最終段の前段までで「Ｐ３・Ｐ２・Ｐ１・Ｐ０」等の全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果を得ることができている。従って、桁上げ最終段で、全桁の伝搬信号Ｐｉの論理積（ＡＮＤ）演算結果と下位桁の４ビット加算回路からの桁上げ入力Ｃｉｎとをさらに論理積（ＡＮＤ）演算することができている。
【００８２】
このように本実施の形態では、下位桁グループ（加算桁群）からの桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段に入力させたので、桁上げ入力Ｃｉｎの入力以降の演算量を減少させることができ、演算時間をさらに減少させて高速化させることが可能になる。
【００８３】
また、本実施の形態の４ビット加算器を２個用いて８ビットの加算を実施する場合、あるいは、３個以上用いて１２ビット以上の加算を実施する場合には、４ビット毎の各加算器において、最終段の１段前までの演算処理を下位桁グループと上位桁グループで同時に並列処理できるので、加算処理全体としての処理時間をいっそう減少させることができる。
【００８４】
また、２入力の素子数として素子数を換算した場合、図７に示した従来の桁上げ先見回路では２７素子が必要になっているが、本実施の形態では２３素子で構成できるため、回路規模を縮小することができる。
【００８５】
また、桁上げ先見回路内のクリティカルパスとしては、図７に示した従来の桁上げ先見回路では、桁上げ出力Ｃ３を出力するために５素子で演算される必要があるが、本実施の形態では４素子で演算されるだけで桁上げ出力Ｃ３を出力することができ、演算時間を減少させて高速化することができる。
【００８６】
実施の形態２．
上記した実施の形態１では、各桁毎の回路構成として最小限必要な素子数のみ用い、各桁毎に独自の構成として４ビットの桁上げ先見加算回路を構成した。しかし、加算回路の設計においては、演算ビット数の変更、あるいは、演算桁数の変更は頻繁に発生する。そこで、上記した実施の形態１の各桁毎の構成を共通化することにより、演算ビット数あるいは演算桁数が変更される場合でも容易に変更可能な実施の形態を以下に説明する。
【００８７】
図２は、本発明の実施の形態２の桁上げ先見加算器の主要部を示したブロック図である。
図２の実施の形態２が、図１に示した実施の形態１と異なる点は、以下の点であり、その他の構成は実施の形態１と同様であるので、重複する説明は省略する。
【００８８】
（Ａ）１桁目の１段目に、２桁目以上の桁の１段目と同様なＡＮＤ回路ＡＮ１２、ＡＮ１３、および、ＯＲ素子ＯＲ１２を追加した。
【００８９】
（Ｂ）１桁目の２段目に、３桁目以上の桁の２段目と同様なＡＮＤ回路ＡＮ１４、および、ＯＲ素子ＯＲ１３を追加した。
【００９０】
（Ｃ）２桁目の２段目に、３桁目以上の桁の２段目と同様なＡＮＤ回路ＡＮ２４、および、ＯＲ素子ＯＲ２３を追加した。
【００９１】
（Ｄ）１桁目の３段目に、３桁目以上の桁の３段目と同様なＡＮＤ回路ＡＮ１５を追加した。
【００９２】
（Ｅ）２桁目の３段目に、３桁目以上の桁の３段目と同様なＡＮＤ回路ＡＮ２５を追加した。
【００９３】
本実施の形態では、上記の（Ａ）〜（Ｅ）の追加により、実施の形態１の桁上げ先見回路では最上位桁（図１の４桁目）の演算回路に用いられた論理演算素子を、全ての桁の演算回路に設けるように構成する。
【００９４】
各桁内の回路の接続は、全ての桁の回路で同様になるようにする。また、各桁毎の接続は、最終段の前段回路（３段目）の論理積（ＡＮＤ）演算する回路を除いて同様になるように構成する。
【００９５】
また、上記（Ａ）〜（Ｅ）で追加した回路（論理演算素子）のうち、論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には、電源側の高位電圧（Ｈ）を入力させることで、信号通過経路を確保するように構成する。
【００９６】
また、上記（Ａ）〜（Ｅ）で追加した回路（論理演算素子）のうち、論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には、接地側の低位電圧（Ｌ）を入力させることで、使用する論理回路に影響を与えないように構成する。
【００９７】
なお、各段間の信号を示す符号は、実施の形態１のＤ、Ｅ、Ｆと区別するために、実施の形態２ではＭ、Ｎ、Ｑを用いたが、例えば、Ｄ８とＭ８は同様であり、Ｅ４とＮ４は同様であるというように、各段間で伝送される信号のうち、同じ位置に対応する符号は同様な信号である。また、通過させる回路の前後の符号も同様な信号であり、入力信号を出力させない回路の出力側の符号は説明のための便宜上の符号であり実際には信号として出力されない。上記（Ａ）〜（Ｅ）で追加した回路の一方の入力に、上記のように（Ｈ）と（Ｌ）の電圧を入力させることで、実施の形態１と同様な動作が可能になる。
【００９８】
このように、本実施の形態では、上記のように構成したので、実施の形態１と同様に高速な動作を実施することができ、さらに各桁毎の回路構成が同様であるので、演算ビット数あるいは演算桁数が変更される場合でも容易に回路を変更することができる。
【００９９】
実施の形態３．
上記した実施の形態１および２では、下位桁グループ（加算桁群）からの桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段に入力させることで高速化に主眼をおいていたが、上記した実施の形態１および２の構成を応用し、桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段ではない段に入力させることで、回路規模、各桁毎の回路間の配線量を減少させることが可能である。そこで、上記した実施の形態１および２の構成を応用して、回路規模と各桁毎の回路間の配線量を減少させた実施の形態を以下に説明する。
【０１００】
図３は、本発明の実施の形態３の桁上げ先見加算器の主要部を示したブロック図である。
図３の実施の形態が、図１に示した実施の形態と異なる点は、以下の点であり、その他の構成は実施の形態１と同様であるので、重複する説明は省略する。
【０１０１】
（Ｆ）１桁目の回路と２桁目の回路を下位ブロックとし、３桁目と４桁目の回路を上位ブロックとして、上下のブロックに分けた。
【０１０２】
（Ｇ）１桁目の回路で、最終段（４段目）のＡＮＤ回路ＡＮ１６とＯＲ回路ＯＲ１４を削除し、２段目内にＡＮＤ回路ＡＮ１４とＯＲ回路ＯＲ１３を設けた。ＡＮＤ回路ＡＮ１４の一方の入力には、桁上げ入力Ｃｉｎを入力させ、他方の入力には１桁目の伝搬信号Ｐ０を入力させ、出力はＯＲ回路ＯＲ１３の一方の入力に入力させる。ＯＲ回路ＯＲ１３の他方の入力には、１桁目の生成信号Ｇ０を入力させ、ＯＲ回路ＯＲ１３からは出力Ｓ１として、Ｇ０＋Ｐ０・Ｃｉｎ（＝Ｃ０）を出力させる。出力Ｓ１は、１桁目の桁上げ出力Ｃ０として出力されると共に、２桁目の回路の３段目にも入力される。ここでは、１桁目桁上げ出力が２桁目の回路に入力されるので、リプルキャリー加算器の構成が応用形として部分的に用いられる。
【０１０３】
（Ｈ）２桁目の回路で、最終段（４段目）のＡＮＤ回路ＡＮ２６を削除し、３段目内にＡＮＤ回路ＡＮ２５を設けた。ＡＮＤ回路ＡＮ２５の出力Ｔ２を、３桁目の最終段のＡＮＤ回路ＡＮ３６の一方の入力と、４桁目の最終段のＡＮＤ回路ＡＮ４６の一方の入力に入力させる。従って、３桁目の最終段のＡＮＤ回路ＡＮ３６と４桁目の最終段のＡＮＤ回路ＡＮ４６には、桁上げ入力Ｃｉｎを入力させないようにする。
【０１０４】
（Ｉ）２桁目の回路で、初段（１段目）のＡＮＤ回路ＡＮ２２、ＡＮ２３とＯＲ回路ＯＲ２２を削除する。生成信号Ｇ１は、最終段（４段目）のＯＲ回路ＯＲ２２の一方の入力に直接に入力される。伝搬信号Ｐ１は、３段目のＡＮＤ回路ＡＮ２５の一方の入力に直接に入力される。
【０１０５】
（Ｊ）３桁目の回路で、３段目のＡＮＤ回路ＡＮ３５と、２段目のＡＮＤ回路ＡＮ３４およびＯＲ回路ＯＲ３３と、初段のＡＮＤ回路ＡＮ３３を削除する。最終段（４段目）のＡＮＤ回路ＡＮ３６の一方の入力には、３桁目の伝搬信号Ｐ２を入力させ、他方の入力には、前記したようにＡＮＤ回路ＡＮ２５の出力Ｔ２を入力させ、出力は、ＯＲ回路ＯＲ３４の一方の入力に入力させる。また、最終段（４段目）のＯＲ回路ＯＲ３４の他方の入力には、初段（１段目）のＯＲ回路ＯＲ３２の出力Ｒ６（＝Ｇ２＋Ｐ２・Ｇ１）を直接に入力させる。
【０１０６】
（Ｋ）４桁目の回路で、３段目のＡＮＤ回路ＡＮ４５を削除する。最終段（４段目）のＡＮＤ回路ＡＮ４６の一方の入力には、初段のＡＮＤ回路ＡＮ４３の出力Ｒ７を入力させ、他方の入力には、前記したようにＡＮＤ回路ＡＮ２５の出力Ｔ２を入力させ、出力は、ＯＲ回路ＯＲ４４の一方の入力に入力させる。２段目のＡＮＤ回路ＡＮ４４の一方の入力には、２桁目の生成信号Ｇ１を入力させ、他方の入力には、初段のＡＮＤ回路ＡＮ４３の出力Ｒ７を入力させる。
【０１０７】
本実施形態の回路も（６）式の４桁目（Ｃ３）までを変形することで、回路構成が考えられる。
Ｃ０　＝　Ｇ０　＋　Ｐ０・Ｃｉｎ
Ｃ１　＝　Ｇ１　＋　Ｐ１（Ｇ０　＋　Ｐ０・Ｃｉｎ）
Ｃ２　＝（Ｇ２　＋　Ｐ２・Ｇ１）　＋　Ｐ２・Ｐ１（Ｇ０　＋　Ｐ０・Ｃｉｎ）
Ｃ３　＝（Ｇ３　＋　Ｐ３・Ｇ２）　＋　Ｐ３・Ｐ２・Ｇ１　＋　Ｐ３・Ｐ２・Ｐ１（Ｇ０　＋　Ｐ０・Ｃｉｎ）
・・・（９）
【０１０８】
（９）式で、１桁目の桁上げ出力Ｃ０式におけるＧ０＋Ｐ０・Ｃｉｎは、１桁目の２段目のＡＮＤ回路ＡＮ１４とＯＲ回路ＯＲ１３で生成される。
２桁目の桁上げ出力Ｃ１式におけるＰ１（Ｇ０＋Ｐ０・Ｃｉｎ）は、２桁目の３段目のＡＮＤ回路ＡＮ２５で生成される。
２桁目の桁上げ出力Ｃ１式におけるＧ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎ（＝Ｃ１）は、２桁目の最終段のＯＲ回路ＯＲ２４で生成される。
３桁目の桁上げ出力Ｃ２式におけるＧ２＋Ｐ２・Ｇ１は、３桁目の初段のＡＮＤ回路ＡＮ３２とＯＲ回路ＯＲ３２で生成される。
３桁目の桁上げ出力Ｃ２式におけるＰ２・Ｐ１（Ｇ０＋Ｐ０・Ｃｉｎ）は、３桁目の最終段のＡＮＤ回路ＡＮ３６で生成される。
４桁目の桁上げ出力Ｃ３式におけるＧ３＋Ｐ３・Ｇ２は、４桁目の初段のＡＮＤ回路ＡＮ４２とＯＲ回路ＯＲ４２で生成される。
４桁目の桁上げ出力Ｃ３式におけるＰ３・Ｐ２・Ｇ１は、４桁目の２段目のＡＮＤ回路ＡＮ４４で生成される。
４桁目の桁上げ出力Ｃ３式におけるＰ３・Ｐ２・Ｐ１（Ｇ０＋Ｐ０・Ｃｉｎ）は、４桁目の最終段のＡＮＤ回路ＡＮ４６で生成される。
【０１０９】
さらに、配線の集約については、例えば、（９）式中のＧ０＋Ｐ０・ＣｉｎをＣ０としてまとめるように変形することで、回路構成を考えることができる。これは、一種のリプルキャリー加算器における桁上げ出力を順次送出する構成を応用するものと考えられる。
Ｃ０　＝　Ｇ０　＋　Ｐ０・Ｃｉｎ
Ｃ１　＝　Ｇ１　＋　Ｐ１・Ｃ０
Ｃ２　＝（Ｇ２　＋　Ｐ２・Ｇ１）　＋　Ｐ２・Ｐ１・Ｃ０
Ｃ３　＝（Ｇ３　＋　Ｐ３・Ｇ２）　＋　Ｐ３・Ｐ２・Ｇ１　＋　Ｐ３・Ｐ２・Ｐ１・Ｃ０
・・・（１０）
【０１１０】
本実施の形態は、上記のように、桁上げ先見加算器の各桁毎の回路を、少なくとも最大桁から２桁以上の上位桁からなる上位ブロックと、残りの下位桁の下位ブロックに２分割し、下位ブロックでは、下位の桁の桁上げ出力を上位の桁に出力するリプルキャリー加算器の構成を応用して用い、また、下位桁の加算桁群からの桁上げ入力Ｃｉｎについては、最終段の手前の何れかの段に入力させるようにして、最終段の手前の段で少なくとも１桁の桁上げ出力を生成してしまう。
【０１１１】
そして、上位ブロックでは、上記した実施の形態１または２の桁上げ先見回路の構成を利用するが、最終段回路には、下位桁の加算桁群からの桁上げ入力Ｃｉｎではなく、下位ブロックで生成した桁上げ出力を利用した出力を入力させる。
【０１１２】
なお、各段間の信号を示す符号は、実施の形態１のＤ、Ｅ、Ｆ、実施の形態２のＭ、Ｎ、Ｑと区別するために、本実施の形態では、Ｒ、Ｓ、Ｔを用いたが、例えば、Ｄ８とＭ８とＲ８は同様であり、Ｅ４とＮ４とＳ４は同様である。また、各段間の他の符号については、実施の形態１および２と本実施の形態では異なっている。
【０１１３】
本実施の形態の１桁目の桁上げ出力Ｃ０（＝Ｓ１）は、Ｇ０＋Ｐ０・Ｃｉｎとなる。
２桁目の桁上げ出力Ｃ１は、Ｇ１＋Ｔ２＝Ｇ１＋Ｐ１・Ｓ１＝Ｇ１＋Ｐ１（Ｇ０＋Ｐ０・Ｃｉｎ）＝Ｇ１＋Ｐ１・Ｇ０＋Ｐ１・Ｐ０・Ｃｉｎとなる。
【０１１４】
３桁目の桁上げ出力Ｃ２は、Ｒ６＋Ｐ２・Ｔ２＝Ｇ２＋Ｐ２・Ｇ１＋Ｐ２（Ｐ１（Ｇ０＋Ｐ０・Ｃｉｎ））＝Ｇ２＋Ｐ２・Ｇ１＋Ｐ２・Ｐ１・Ｇ０＋Ｐ２・Ｐ１・Ｐ０・Ｃｉｎとなる。
【０１１５】
４桁目の桁上げ出力Ｃ３は、Ｓ４＋Ｒ７・Ｔ２＝Ｒ８＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２（Ｐ１（Ｇ０＋Ｐ０・Ｃｉｎ））＝Ｒ８＋Ｐ３・Ｐ２・Ｇ１＋Ｐ３・Ｐ２・Ｐ１・Ｇ０＋Ｐ３・Ｐ２・Ｐ１・Ｐ０・Ｃｉｎとなる。
【０１１６】
上記のように本実施の形態も、１桁目から４桁目までの桁上げ出力Ｃ０〜Ｃ３は、（６）式および（７）式と同一であるので、論理回路として同様な結果を出力することができる。
【０１１７】
次に、図１に示した実施の形態１の桁上げ先見回路と、図３に示した本実施の形態の桁上げ先見回路とを比較すると、実施の形態１の桁上げ先見回路における１桁目の回路と２桁目の回路間の配線が、Ｇ０、Ｐ０、および、Ｃｉｎと少なくとも３本必要であるのに対し、本実施の形態では、１桁目の回路と２桁目の回路間の配線がＳ１の１本である。
【０１１８】
また、上位ブロックと下位ブロックを分割する２桁目の回路と３桁目の回路間の配線では、実施の形態１の桁上げ先見回路の場合がＧ１、Ｐ１、Ｇ０、Ｄ３、Ｄ４、Ｐ０、および、Ｃｉｎの７本必要であるのに対し、本実施の形態では、Ｇ１およびＴ２の２本である。
【０１１９】
また、３桁目の回路と４桁目の回路間の配線では、実施の形態１の桁上げ先見回路の場合がＧ２、Ｐ２、Ｄ４、Ｄ３、および、Ｃｉｎの５本であるのに対し、本実施の形態では、Ｇ１、Ｇ２、Ｐ２およびＴ２の４本である。
【０１２０】
従って、全ての桁の回路間の配線を減少させることができるが、特に、上位ブロックと下位ブロックを分割する２桁目の回路と３桁目の回路間の配線は、７本から２本に大幅に減少させることができる。
【０１２１】
また、２入力の素子数として素子数を換算した場合、図１に示した実施の形態１の桁上げ先見回路では２３素子が必要になっているが、本実施の形態では１５素子で構成できるため、回路規模をさらに縮小することができる。
【０１２２】
また、桁上げ先見回路内のクリティカルパスとしては、図１に示した実施の形態１の桁上げ先見回路と同様に、桁上げ出力Ｃ３を出力するために演算される必要がある素子数は４素子であるので、実施の形態１と同様に演算時間を減少させて高速化することができる。
【０１２３】
このように、本実施の形態では、実施の形態１および２のように最終段に下位桁の加算桁群からの桁上げ入力Ｃｉｎを入力させないため、高速化の点では、実施の形態１あるいは２に及ばないものの、図７に示した従来の桁上げ先見加算回路よりも高速化でき、さらに、回路規模を縮小させることができる。
【０１２４】
特に、本実施の形態の４ビット加算器を多数用いて加算器を構成する場合には、図７に示した従来の２７素子数に比べて１５素子で構成できるので回路規模を減少させる効果がいっそう顕著であり、実施の形態１の桁上げ先見加算器と比較しても、各桁間の配線数を減少させることができるので、回路規模の縮小効果が顕著である。
【０１２５】
実施の形態４．
上記した実施の形態２では、実施の形態１の各桁毎に異なる回路を共通化して、演算ビット数あるいは演算桁数が変更される場合でも容易に変更可能にしたが、上記した実施の形態３についても各桁毎に異なる回路を共通化して、演算ビット数あるいは演算桁数が変更される場合でも容易に変更可能にすることができる。そこで、上記した実施の形態３の各桁毎の構成を共通化することにより、演算ビット数あるいは演算桁数が変更される場合でも容易に変更可能な実施の形態を以下に説明する。
【０１２６】
図４は、本発明の実施の形態４の桁上げ先見加算器の主要部を示したブロック図である。
図４の実施の形態が、図３に示した実施の形態と異なる点は、以下の点であり、その他の構成は実施の形態１と同様であるので、重複する説明は省略する。
【０１２７】
（Ｌ）１桁目の１段目に、４桁目の１段目と同様なＡＮＤ回路ＡＮ１２、ＡＮ１３、および、ＯＲ素子ＯＲ１２を追加した。１桁目の３段目に、２桁目の３段目と同様なＡＮＤ回路ＡＮ１５を追加した。１桁目の最終段（４段目）に、３桁目以上の桁の最終段（４段目）と同様なＡＮＤ回路ＡＮ１６、および、ＯＲ素子ＯＲ１４を追加した。
【０１２８】
（Ｍ）２桁目の１段目に、４桁目の１段目と同様なＡＮＤ回路ＡＮ２２、ＡＮ２３、および、ＯＲ素子ＯＲ２２を追加した。２桁目の２段目に、４桁目の２段目と同様なＡＮＤ回路ＡＮ２４、および、ＯＲ素子ＯＲ２３を追加した。１桁目の最終段（４段目）に、３桁目以上の桁の最終段（４段目）と同様なＡＮＤ回路ＡＮ２６を追加した。
【０１２９】
（Ｎ）３桁目の２段目に、４桁目の２段目と同様なＡＮＤ回路ＡＮ３４、および、ＯＲ素子ＯＲ３３を追加した。３桁目の３段目に、２桁目の３段目と同様なＡＮＤ回路ＡＮ３５を追加した。
【０１３０】
（Ｏ）４桁目の３段目に、２桁目の３段目と同様なＡＮＤ回路ＡＮ４５を追加した。
本実施の形態では、上記の（Ｌ）〜（Ｏ）の追加により、実施の形態３の桁上げ先見回路では最上位桁（図１の４桁目）と２桁目の演算回路に用いられた論理演算素子を、全ての桁の演算回路に設けるように構成する。また、各桁内の回路の接続は、全ての桁の回路で同様になるようにする。
【０１３１】
また、上記（Ｌ）〜（Ｏ）で追加した回路（論理演算素子）のうち、論理演算を実施せずに入力信号を通過させて出力する場合の論理積（ＡＮＤ）回路の一方の入力には、電源側の高位電圧（Ｈ）を入力させることで、信号通過経路を確保するように構成する。
【０１３２】
また、上記（Ｌ）〜（Ｏ）で追加した回路（論理演算素子）のうち、論理演算を実施せずに入力信号を出力させない場合の論理積（ＡＮＤ）回路の一方の入力には、接地側の低位電圧（Ｌ）を入力させることで、使用する論理回路に影響を与えないように構成する。
【０１３３】
なお、各段間の信号を示す符号は、実施の形態３のＲ、Ｓ、Ｔと区別するために、実施の形態４ではＵ、Ｖ、Ｗを用いたが、例えば、Ｒ８とＵ８は同様であり、Ｓ４とＶ４は同様であるというように、各段間で伝送される信号のうち、同じ位置に対応する符号は同様な信号である。また、通過させる回路の前後の符号も同様な信号であり、入力信号を出力させない回路の出力側の符号は説明のための便宜上の符号であり実際には信号として出力されない。上記（Ｌ）〜（Ｏ）で追加した回路の一方の入力に、上記のように（Ｈ）と（Ｌ）の電圧を入力させることで、実施の形態３と同様な動作が可能になる。
【０１３４】
また、上位ブロックの高位電圧（Ｈ）の配線および低位電圧（Ｌ）の配線は、各上位ブロックおよび下位ブロック内で各々集約され、下位ブロック側の高位電圧（Ｈ）の配線および低位電圧（Ｌ）の配線と、上位ブロック側の高位電圧（Ｈ）の配線および低位電圧（Ｌ）の配線とは集約された配線を用いて接続することで、より各ブロック間の配線量を削減することができる。
【０１３５】
また、図４の各素子の配置は、各桁間および各段間の配線を無視すれば、図２の各素子の配置と同様である。従って、高速化を希望する場合には図２に従って各桁間および各段間の配線を実施し、回路規模を縮小したい場合には、図４に従って各桁間および各段間の配線を実施することができる。従って、実施の形態２及び本実施の形態では、設計の自由度を増加させることができる。
【０１３６】
このように、本実施の形態では、上記のように構成したので、実施の形態３と同様に従来の桁上げ先見加算回路よりも高速化でき、さらに、回路規模を縮小させることができることに加え、さらに各桁毎の回路構成が同様であるので、演算ビット数あるいは演算桁数が変更される場合でも容易に回路を変更することができる。
【０１３７】
【発明の効果】
上記のように本発明では、下位桁グループ（加算桁群）からの桁上げ入力Ｃｉｎの入力を桁上げ先見加算器の最終段に入力させることにより、桁上げ入力Ｃｉｎの入力以降の演算量を減少させることができ、演算時間をさらに減少させて高速化させることが可能になる。
【０１３８】
また、本発明の４ビット加算器を２個以上用いて加算を実施する場合には、４ビット毎の各加算器において、最終段の１段前までの演算処理を下位桁グループと上位桁グループで同時に並列処理できるので、加算処理全体としての処理時間をいっそう減少させることができる。
【０１３９】
また、本発明の加算器では、２入力の素子数として素子数を換算した場合、従来の桁上げ先見回路よりも素子数を減少させて、回路規模を縮小することができる。
【０１４０】
また、本発明では、桁上げ先見回路内のクリティカルパスを従来の桁上げ先見回路よりも短くできるので、演算時間を減少させて高速化することができる。
【０１４１】
また、本発明では、各桁毎の回路構成を同様にできるので、高速化しつつ、演算ビット数あるいは演算桁数が変更される場合でも容易に回路を変更することができる。
【０１４２】
また、本発明では、従来の桁上げ先見加算回路よりも高速化しつつ、回路規模を縮小させることができる。
【０１４３】
また、上位ブロックの高位電圧（Ｈ）の配線および低位電圧（Ｌ）の配線を、各ブロック毎に各々集約してから、ブロック間を接続することで、より各ブロック間の配線量を削減することができる。
【０１４４】
また、本発明では、高速化を希望する場合と、回路規模を縮小したい場合とで、各桁間および各段間の配線を変更するだけでよいので、設計の自由度を増加させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１の桁上げ先見加算器の主要部を示したブロック図である。
【図２】本発明の実施の形態２の桁上げ先見加算器の主要部を示したブロック図である。
【図３】本発明の実施の形態３の桁上げ先見加算器の主要部を示したブロック図である。
【図４】本発明の実施の形態４の桁上げ先見加算器の主要部を示したブロック図である。
【図５】４ビットの桁上げ先見加算回路を２個用いた８ビット加算器の構成例を示すブロック図である。
【図６】４ビットの桁上げ先見加算回路における各桁毎のＰｉ，Ｇｉ生成回路の構成を示すブロック図である。
【図７】図５の４ビット桁上げ先見回路の一例をＰｉ，Ｇｉ生成回路と共に示したブロック図である。
【符号の説明】
Ａ　被加算数、　Ｂ　加算数、　Ａｉ　（各桁毎の）被加算数、　Ｂｉ　（各桁毎の）加算数、　Ｇｉ　生成信号、　Ｐｉ　伝搬信号、　Ｃｉ　桁上げ出力、Ｃｉｎ　桁上げ入力（１つ下位の加算桁群からの桁上げ出力）、　ＡＮ　論理積（ＡＮＤ）回路（素子）、　ＯＲ　論理和（ＯＲ）回路（素子）。
【図１】
2004013270.tif 000005
【図２】
2004013270.tif 000006
【図３】
2004013270.tif 000007
【図４】
2004013270.tif 000008
【図５】
2004013270.tif 000009
【図６】
2004013270.tif 000010
【図７】
2004013270.tif 000011