(57)【要約】【課題】多ビット加算器を構成する際、多段に渡る桁上げ信号の伝播を抑えることが可能になるような単位加算器を実現する。【解決手段】３値のサインデジット数の２個を加算する単位加算器であって、３つの分岐先をもつ分岐点Ｖ１，Ａ１，Ａ２，Ａ３と、出力ノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５を有し、サインデジット数Ａによって分岐点Ｖ１の分岐先を決め、サインデジット数Ｂによって分岐点Ａ１，Ａ２，Ａ３の分岐先を決め、サインデジット数Ａ，Ｂによって分岐点Ｖ１から出力ノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５のいずれか１つに通じるパスを決める。【選択図】　図１
2004005297.tif 000002
【特許請求の範囲】
【請求項１】
３値のサインデジット数のｐ（ｐは２以上の整数）個を加算する単位加算器であって、
起点と「２ｐ＋１」個の出力ノードとの間に、ｐ個のサインデジット数によって経路が制御されるパスゲートネットワークを形成し、前記ｐ個のサインデジット数に応じて前記出力ノードの内の１つが選択されるようにしたことを特徴とするサインデジット数の単位加算器。
【請求項２】
３値のサインデジット数の２個を加算する単位加算器であって、
サインデジット数の第１値、第２値、第３値に応じて分岐される第１、第２、第３の分岐先をもつ第１、第２、第３、第４の分岐点を有し、
前記第２の分岐点は前記第１の分岐点の第１の分岐先に設けられ、前記第３の分岐点は前記第１の分岐点の第２の分岐先に設けられ、前記第４の分岐点は前記第１の分岐点の第３の分岐先に設けられ、
前記第２の分岐点の第１の分岐先を第１の出力点とし、前記第２の分岐点の第２の分岐先と前記第３の分岐点の第１の分岐先を第２の出力点とし、前記第２の分岐点の第３の分岐先と前記第３の分岐点の第２の分岐先と前記第４の分岐点の第１の分岐先を第３の出力点とし、前記第３の分岐点の第３の分岐先と前記第４の分岐点の第２の分岐先を第４の出力点とし、前記第４の分岐点の第３の分岐先を第５の出力点とし、
前記第１の分岐点の分岐先を第１のサインデジット数の値に応じて選択し、前記第２，第３，第４の分岐点の分岐先をそれぞれ第２のサインデジット数の値に応じて選択し、前記第１，第２のサインデジット数の加算値に応じて、前記第１乃至第５の出力点のうちの１つが選択されることを特徴とするサインデジット数の単位加算器。
【請求項３】
請求項２に記載のサインデジット数の単位加算器において、
前記第１の分岐点に電源端子を接続し、前記第１乃至第５の出力点と接地間にそれぞれ４つのスイッチング素子を直列接続し、前記第１乃至第５の出力点のうちの選択された１個の出力点の４個のスイッチング素子を残りの４個の出力点の電位で制御し、
前記選択された１個の出力点を、前記電源端子に対して遮断させると共に該１個の出力点に接続された４つのスイッチング素子を全部導通させることにより接地に接続し、
前記残りの４個の出力点を、前記電源端子に対して導通させると共に該残りの４個の出力点のそれぞれに接続された４つのスイッチング素子により接地に対して遮断し、
前記第２，第４の出力点から加算出力の信号を得、前記第１，第５の出力点から桁上げ出力の信号を得るようにしたことを特徴とするサインデジット数の単位加算器。
【請求項４】
サインデジット数の第１値、第２値、第３値に応じて分岐される第１、第２、第３の分岐先をもつ第１、第２、第３、第４の分岐点を有し、
前記第２の分岐点は前記第１の分岐点の第１の分岐先に設けられ、前記第３の分岐点は前記第１の分岐点の第２の分岐先に設けられ、前記第４の分岐点は前記第１の分岐点の第３の分岐先に設けられ、
前記第２の分岐点の第１の分岐先を第１の出力点とし、前記第２の分岐点の第２の分岐先と前記第３の分岐点の第１の分岐先を第２の出力点とし、前記第２の分岐点の第３の分岐先と前記第３の分岐点の第２の分岐先と前記第４の分岐点の第１の分岐先を第３の出力点とし、前記第３の分岐点の第３の分岐先と前記第４の分岐点の第２の分岐先を第４の出力点とし、前記第４の分岐点の第３の分岐先を第５の出力点とし、
前記第１の分岐点の分岐先を第１のサインデジット数の値に応じて選択し、前記第２，第３，第４の分岐点の分岐先をそれぞれ第２のサインデジット数の値に応じて選択し、前記第１，第２のサインデジット数の加算値に応じて、前記第１乃至第５の出力点のうちの１つが選択されるサインデジット数の単位加算器の、
前記第１の分岐点に電源端子を接続し、前記第１乃至第５の出力点と接地間にそれぞれ４つのスイッチング素子を直列接続し、前記第１乃至第５の出力点のうちの選択された１個の出力点の４個のスイッチング素子を残りの４個の出力点の電位で制御し、
前記選択された１個の出力点を、前記電源端子に対して遮断させると共に該１個の出力点に接続された４つのスイッチング素子を全部導通させることにより接地に接続し、
前記残りの４個の出力点を、前記電源端子に対して導通させると共に該残りの４個の出力点のそれぞれに接続された４つのスイッチング素子により接地に対して遮断し、
前記第２，第４の出力点から加算出力の信号を得、前記第１，第５の出力点から桁上げ出力の信号を得るようにしたサインデジット数の単位加算器を使用して構成したｎビット加算器であって、
前記単位加算器のｎ個からなる初期加算段と、
該初期加算段における各単位加算器の加算出力と桁上げ出力をそれぞれ反転する反転段と、
該反転段における加算出力と前記初期加算段における１ビット下の桁の加算出力を加算する第１の単位加算器、および前記反転段における桁上げ出力と前記初期加算段における１ビット下の桁の桁上げ出力を加算する第２の単位加算器を１組としてこれをｎ組設けた第１加算段と、
該第１加算段における前記第１の単位加算器の加算出力と前記第１加算段における１ビット下の桁の前記第１の単位加算器の桁上げ出力を加算する第３の単位加算器、および前記第１加算段における前記第２の単位加算器の加算出力と前記第１加算段における１ビット下の桁の前記２の単位加算器の桁上げ出力を加算する第４の単位加算器を１組としてこれをｎ組設けた第２加算段と、
前記第２加算段における前記第３の単位加算器の加算出力と最終加算段における１ビット下の桁からの加算出力を加算する第５の単位加算器、および該第５の単位加算器の桁上げ出力と前記２の加算段における第４の単位加算器の加算出力を加算する第６の単位加算器を１組としてｎ組設けた最終加算段とを具備し、
第１乃至第ｎビットまでの前記各第５の単位加算器の加算出力を各ビットの加算出力とし、第ｎビットの前記第６の単位加算器の加算出力を桁上げ出力とすることを特徴とするｎビット加算器。
【請求項５】
請求項４に記載のｎビット加算器において、
第１ビットの前記第１加算段と前記第２加算段と前記最終加算段、および第２ビットの前記第２加算段を省略し、スルーとしたことを特徴とするｎビット加算器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、「＋１，０，−１」の３値をもつ２個のサインデジット数の加減算（以下では単に「加算」と称する）を行う単位加算器およびそれを利用したｎビット加算器に関し、特にその処理の高速化と低消費電力化を図る技術に関するものである。
【０００２】
【従来の技術】
「＋１，０，−１」の３値をもつ２個のサインデジット数Ａ，Ｂを加算する加算器として、従来の「０，１」の２値を扱うデジタル信号処理回路を用いて構成した例がある。図７はそのサインデジット数Ａ，Ｂの加算を行うリップルキャリー型並列加算器を示す図であり、２個の２値の全加算器１０１，１０２を用いて構成されている。
【０００３】
ここでは、Ａ，Ｂがそれぞれ３値の１ビットである場合の「Ａ＋Ｂ」を演算するものとして、その３値のＡ，Ｂをそれぞれ２値の２ビットで表すために、Ａ＝「Ａ＋，Ａ−」、Ｂ＝「Ｂ＋，Ｂ−」とする。そして、Ａ，Ｂはいずれも、＋１，０，−１のいずれかの値をとり、このとき、＋１＝「１，０」、０＝「０，０」、−１＝「０，１」と規定（正論理）している。すなわち、Ａ＝＋１のときは、「Ａ＋，Ａ−」＝「１，０」、Ａ＝０のときは、「Ａ＋，Ａ−」＝「０，０」、Ａ＝−１のときは、「Ａ＋，Ａ−」＝「０，１」と規定している。Ｂも同様である。また、加算値Ｓ、桁上げ値Ｃも３値をもつので、これも２値の２ビットにより、Ｓ＝「Ｓ＋，Ｓ−」、Ｃ＝「Ｃ＋，Ｃ−」としている。
【０００４】
以上のようにして、図７の加算器において「Ａ＋Ｂ」を演算すると、加算値Ｓについて、Ｓ＝「Ｓ＋，Ｓ−」＝「１，１」が得られるときがある。しかし、ここでは３値の定義として「１，１」は使用していないので、これを補正するための補正回路１０３を設けている。この補正回路１０３は１個の２入力ＮＡＮＤゲートと２個の２入力ＡＮＤゲートからなり、「Ｓ＋，Ｓ−」が「１，１」の場合のみ、「Ｓ’＋，Ｓ’−」＝「０，０」になり、それ以外では「Ｓ’＋，Ｓ’−」＝「Ｓ＋，Ｓ−」となる。つまり、「１，１」→「０，０」に変換している。
【０００５】
図８はＡ，Ｂがそれぞれ４ビットである場合の加算器の構成を示す図である。この場合、Ａ＝「（Ａ０＋，Ａ１＋，Ａ２＋，Ａ３＋）、（Ａ０−，Ａ１−，Ａ２−，Ａ３−）」、Ｂ＝「（Ｂ０＋，Ｂ１＋，Ｂ２＋，Ｂ３＋）、（Ｂ０−，Ｂ１−，Ｂ２−，Ｂ３−）」のように表され、図７に示した回路を４段接続した構成となる。また、加算値はＳ＝「（Ｓ’０＋，Ｓ’１＋，Ｓ’２＋，Ｓ’３＋）、（Ｓ’０−，Ｓ’１−，Ｓ’２−，Ｓ’３−）」、桁上げ値はＣ＝「Ｃ３＋，Ｃ３−」となる。
【０００６】
【発明が解決しようとする課題】
しかし、図７のリップルキャリー型並列加算器を使用する場合、上記のように扱うビット数が増大すると、それにつれて桁上げＣの伝播時間が増加し、演算が終了するまでに長い時間がかかり、回路の高速化を図ることが難しいという問題がある。
【０００７】
本発明の目的は、サインデジット数の加算処理を高速に行う加算器を構成できるようにした単位加算器およびそれを利用したｎビット加算器を提供することである。
【０００８】
【課題を解決するための手段】
請求項１にかかる発明は、３値のサインデジット数のｐ（ｐは２以上の整数）個を加算する単位加算器であって、起点と「２ｐ＋１」個の出力ノードとの間に、ｐ個のサインデジット数によって経路が制御されるパスゲートネットワークを形成し、前記ｐ個のサインデジット数に応じて前記出力ノードの内の１つが選択されるようにしたことを特徴とするサインデジット数の単位加算器とした。
【０００９】
請求項２にかかる発明は、３値のサインデジット数の２個を加算する単位加算器であって、サインデジット数の第１値、第２値、第３値に応じて分岐される第１、第２、第３の分岐先をもつ第１、第２、第３、第４の分岐点を有し、前記第２の分岐点は前記第１の分岐点の第１の分岐先に設けられ、前記第３の分岐点は前記第１の分岐点の第２の分岐先に設けられ、前記第４の分岐点は前記第１の分岐点の第３の分岐先に設けられ、前記第２の分岐点の第１の分岐先を第１の出力点とし、前記第２の分岐点の第２の分岐先と前記第３の分岐点の第１の分岐先を第２の出力点とし、前記第２の分岐点の第３の分岐先と前記第３の分岐点の第２の分岐先と前記第４の分岐点の第１の分岐先を第３の出力点とし、前記第３の分岐点の第３の分岐先と前記第４の分岐点の第２の分岐先を第４の出力点とし、前記第４の分岐点の第３の分岐先を第５の出力点とし、前記第１の分岐点の分岐先を第１のサインデジット数の値に応じて選択し、前記第２，第３，第４の分岐点の分岐先をそれぞれ第２のサインデジット数の値に応じて選択し、前記第１，第２のサインデジット数の加算値に応じて、前記第１乃至第５の出力点のうちの１つが選択されることを特徴とするサインデジット数の単位加算器とした。
【００１０】
請求項３にかかる発明は、請求項２に記載の発明において、前記第１の分岐点に電源端子を接続し、前記第１乃至第５の出力点と接地間にそれぞれ４つのスイッチング素子を直列接続し、前記第１乃至第５の出力点のうちの選択された１個の出力点の４個のスイッチング素子を残りの４個の出力点の電位で制御し、前記選択された１個の出力点を、前記電源端子に対して遮断させると共に該１個の出力点に接続された４つのスイッチング素子を全部導通させることにより接地に接続し、前記残りの４個の出力点を、前記電源端子に対して導通させると共に該残りの４個の出力点のそれぞれに接続された４つのスイッチング素子により接地に対して遮断し、前記第２，第４の出力点から加算出力の信号を得、前記第１，第５の出力点から桁上げ出力の信号を得るようにしたことを特徴とするサインデジット数の単位加算器とした。
【００１１】
請求項４にかかる発明は、サインデジット数の第１値、第２値、第３値に応じて分岐される第１、第２、第３の分岐先をもつ第１、第２、第３、第４の分岐点を有し、前記第２の分岐点は前記第１の分岐点の第１の分岐先に設けられ、前記第３の分岐点は前記第１の分岐点の第２の分岐先に設けられ、前記第４の分岐点は前記第１の分岐点の第３の分岐先に設けられ、前記第２の分岐点の第１の分岐先を第１の出力点とし、前記第２の分岐点の第２の分岐先と前記第３の分岐点の第１の分岐先を第２の出力点とし、前記第２の分岐点の第３の分岐先と前記第３の分岐点の第２の分岐先と前記第４の分岐点の第１の分岐先を第３の出力点とし、前記第３の分岐点の第３の分岐先と前記第４の分岐点の第２の分岐先を第４の出力点とし、前記第４の分岐点の第３の分岐先を第５の出力点とし、前記第１の分岐点の分岐先を第１のサインデジット数の値に応じて選択し、前記第２，第３，第４の分岐点の分岐先をそれぞれ第２のサインデジット数の値に応じて選択し、前記第１，第２のサインデジット数の加算値に応じて、前記第１乃至第５の出力点のうちの１つが選択されるサインデジット数の単位加算器の、前記第１の分岐点に電源端子を接続し、前記第１乃至第５の出力点と接地間にそれぞれ４つのスイッチング素子を直列接続し、前記第１乃至第５の出力点のうちの選択された１個の出力点の４個のスイッチング素子を残りの４個の出力点の電位で制御し、前記選択された１個の出力点を、前記電源端子に対して遮断させると共に該１個の出力点に接続された４つのスイッチング素子を全部導通させることにより接地に接続し、前記残りの４個の出力点を、前記電源端子に対して導通させると共に該残りの４個の出力点のそれぞれに接続された４つのスイッチング素子により接地に対して遮断し、前記第２，第４の出力点から加算出力の信号を得、前記第１，第５の出力点から桁上げ出力の信号を得るようにしたサインデジット数の単位加算器を使用して構成したｎビット加算器であって、前記単位加算器のｎ個からなる初期加算段と、該初期加算段における各単位加算器の加算出力と桁上げ出力をそれぞれ反転する反転段と、該反転段における加算出力と前記初期加算段における１ビット下の桁の加算出力を加算する第１の単位加算器、および前記反転段における桁上げ出力と前記初期加算段における１ビット下の桁の桁上げ出力を加算する第２の単位加算器を１組としてこれをｎ組設けた第１加算段と、該第１加算段における前記第１の単位加算器の加算出力と前記第１加算段における１ビット下の桁の前記第１の単位加算器の桁上げ出力を加算する第３の単位加算器、および前記第１加算段における前記第２の単位加算器の加算出力と前記第１加算段における１ビット下の桁の前記２の単位加算器の桁上げ出力を加算する第４の単位加算器を１組としてこれをｎ組設けた第２加算段と、前記第２加算段における前記第３の単位加算器の加算出力と最終加算段における１ビット下の桁からの加算出力を加算する第５の単位加算器、および該第５の単位加算器の桁上げ出力と前記２の加算段における第４の単位加算器の加算出力を加算する第６の単位加算器を１組としてｎ組設けた最終加算段とを具備し、第１乃至第ｎビットまでの前記各第５の単位加算器の加算出力を各ビットの加算出力とし、第ｎビットの前記第６の単位加算器の加算出力を桁上げ出力とすることを特徴とするｎビット加算器とした。
【００１２】
請求項５にかかる発明は、請求項４にかかる発明において、第１ビットの前記第１加算段と前記第２加算段と前記最終加算段、および第２ビットの前記第２加算段を省略し、スルーとしたことを特徴とするｎビット加算器とした。
【００１３】
【発明の実施の形態】
［第１の実施形態］
以下、本発明のサインデジット数の単位加算器の実施形態を説明する。ここでは、サインデジット数Ａ，Ｂはそれぞれ「＋１，０，−１」の３値をもつが、これを２値の２ビットで表すとき、前記した従来例の説明とは異なって、＋１＝「０，１」、０＝「１，１」、−１＝「１，０」とする（負論理）。したがって、Ａ＝＋１のときは「Ａ＋，Ａ−」＝「０，１」、Ａ＝０のときは「Ａ＋，Ａ−」＝「１，１」、Ａ＝−１のときは「Ａ＋，Ａ−」＝「１，０」と規定している。Ｂも同様である。以上、図２の左側に記した。
【００１４】
図１は「Ａ＋Ｂ」を演算するときの１つの実施形態の単位加算器１０のパスゲートネットワークを示す図である。電源端子Ｖ１には、入力されるサインデジット数Ａが示す「＋１，０，−１」に応じて３方向に分岐される分岐点が形成され、それぞれの分岐先にノードＡ１，Ａ２，Ａ３が設けられる。サインデジット数Ａが「＋１」のときは左下方向に分岐し、「０」のときは下方向に分岐し、「−１」のときは右下方向に分岐する。さらに、各ノードＡ１，Ａ２，Ａ３にはサインデジット数Ｂが示す「＋１，０，−１」に応じて３方向に分岐する分岐点がそれぞれ形成され、それらの分岐先に５個のノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５が設けられる。サインデジット数Ｂもサインデジット数Ａと同様に、「＋１」のときは左下方向に分岐し、「０」のときは下方向に分岐し、「−１」のときは右下方向に分岐する。この５個のノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５は、演算信号をＳ、桁上げ信号をＣとすると、「Ａ＋Ｂ」の演算では、Ｓ／Ｃ＝「０／＋１」、「＋１／０」、「０／０」、「−１／０」、「１／−１」の５種類の演算結果（図２の右側参照）に対応する。
【００１５】
すなわち、本発明の構成例の場合、５個の出力ノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５のうち、１個のみが当該「Ａ＋Ｂ」の演算結果を示す。図１において、左方向へのノード移動は「＋１」を加算する演算処理を示し、右方向へのノード移動は「−１」を加算する演算処理を示す。後記するように、これらの出力ノードのうち、Ｂ２，Ｂ４はそれぞれ演算出力信号ＳのＳ＋、Ｓ−に対応し、Ｂ１，Ｂ５はそれぞれ桁上げ信号ＣのＣ＋、Ｃ−に対応する。
【００１６】
このように構成されるので、「＋１，０，−１」の３値信号を用いるサインデジット数の演算処理、および演算結果出力を回路動作の状態遷移に対応して、効率良く実現できる。また、後記するように、このようなパスゲートネットワークは、直流的な消費電力がなく、高速で動作するスタティックＣＭＯＳゲートの回路構成により容易に実現することができる。なお、以上では２個のサインデジット数を加算する場合であったので、分岐段は２段で出力ノードは５個であったが、ｐ個（ｐは２以上の整数）のサインデジット数を加算する場合は、分岐段はｐ段となり、出力ノードは「２ｐ＋１」個となる。
【００１７】
［第２の実施の形態］
図３は２個のサインデジット数Ａ，Ｂを加算する単位加算器１０をＭＯＳトランジスタで構成した回路図である。この単位加算器１０は、１６個のＰＭＯＳトランジスタＰ１〜Ｐ１６、４個のインバータＩＶ１〜ＩＶ４、１４個のＮＭＯＳトランジスタＮ１〜Ｎ１４より構成されている。図１に示した部分と同じ部分には同じ符号を付けた。
【００１８】
トランジスタＰ１〜Ｐ４とインバータＩＶ１，ＩＶ２は、電源端子Ｖ１からノードＡ１，Ａ２，Ａ３までの部分（サインデジタル数Ａにより制御される部分：１段目）を構成し、トランジスタＰ５〜Ｐ１６とインバータＩＶ３，ＩＶ４は、ノードＡ１，Ａ２，Ａ３からノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５までの部分（サインデジット数Ｂにより制御される部分：２段目）を構成し、トランジスタＮ１〜Ｎ１４はノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５のいずれを接地するかを決める部分（３段目）を構成する。各ノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５と接地間にはそれぞれ４個のＮＭＯＳトランジスタが直列接続されている。なお、ノードＢ３ではノードＢ２のトランジスタＮ８を共用し、ノードＢ４ではノードＢ３のトランジスタＮ１１とノードＢ２のトランジスタＮ８を共用し、ノードＢ５ではノードＢ４のトランジスタＮ１３とノードＢ３のトランジスタＮ１１とノードＢ２のトランジスタＮ８を共用している。
【００１９】
さて、１段目のサインデジット数Ａが「＋１」の場合、Ａ＝「Ａ＋，Ａ−」＝「０，１」となり、トランジスタＰ１，Ｐ３が遮断され、トランジスタＰ２，Ｐ４は導通する。その結果、Ｖ１−Ａ１が不導通となり、Ｖ１−Ａ２、Ｖ１−Ａ３は導通となる。
【００２０】
サインデジット数Ａが「０」の場合、Ａ＝「Ａ＋，Ａ−」＝「１，１」となり、トランジスタＰ２，Ｐ３が遮断され、トランジスタＰ１，Ｐ４は導通する。その結果、Ｖ１−Ａ２が不導通となり、Ｖ１−Ａ１、Ｖ１−Ａ３は導通となる。
【００２１】
サインデジット数Ａが「−１」の場合、Ａ＝「Ａ＋，Ａ−」＝「１，０」となり、トランジスタＰ２，Ｐ４が遮断され、トランジスタＰ１，Ｐ３は導通する。その結果、Ｖ１−Ａ３が不導通となり、Ｖ１−Ａ１、Ｖ１−Ａ２は導通となる。このように、サインデジット数Ａの値が「＋１，０，−１」に対して、３個のノードＡ１，Ａ２，Ａ３が対応する。
【００２２】
２段目のサインデジット数Ｂの値が「＋１」の場合、Ｂ＝「Ｂ＋，Ｂ−」＝「０，１」となり、トランジスタＰ５，Ｐ７，Ｐ８，Ｐ１１，Ｐ１２，Ｐ１５が遮断され、トランジスタＰ６，Ｐ９，Ｐ１０，Ｐ１３，Ｐ１４，Ｐ１６は導通する。その結果、Ａ１−Ｂ１、Ａ２−Ｂ２、Ａ３−Ｂ３が不導通となり、Ａ１−Ｂ２、Ａ１−Ｂ３、Ａ２−Ｂ３、Ａ２−Ｂ４、Ａ３−Ｂ４、Ａ３−Ｂ５は導通となる。
【００２３】
サインデジット数Ｂの値が「０」の場合、Ｂ＝「Ｂ＋，Ｂ−」＝「１，１」となり、トランジスタＰ６，Ｐ７，Ｐ１０，Ｐ１１，Ｐ１４，Ｐ１５が遮断され、トランジスタＰ５，Ｐ８，Ｐ９，Ｐ１２，Ｐ１３，Ｐ１６は導通する。その結果、Ａ１−Ｂ２、Ａ２−Ｂ３、Ａ３−Ｂ４が不導通となり、Ａ１−Ｂ１、Ａ１−Ｂ３、Ａ２−Ｂ２、Ａ２−Ｂ４、Ａ３−Ｂ３、Ａ３−Ｂ５は導通となる。
【００２４】
サインデジット数Ｂの値が「−１」の場合、Ｂ＝「Ｂ＋，Ｂ−」＝「１，０」となり、トランジスタＰ６，Ｐ９，Ｐ１０，Ｐ１３，Ｐ１４，Ｐ１６が遮断され、トランジスタＰ５，Ｐ７，Ｐ８，Ｐ１１，Ｐ１２，Ｐ１５，は導通する。その結果、Ａ１−Ｂ３、Ａ２−Ｂ４、Ａ３−Ｂ５が不導通となり、Ａ１−Ｂ１、Ａ１−Ｂ２、Ａ２−Ｂ２、Ａ２−Ｂ３、Ａ３−Ｂ３、Ａ３−Ｂ４は導通となる。
【００２５】
このように、サインデジット数Ｂの場合も、Ａ１、Ａ２、Ａ３の３ノードを起点として、「＋１」の場合には左方向の経路が遮断され、「０」の場合には下方向の経路が遮断され、「−１」の場合には右方向の経路が遮断される。
【００２６】
以上から、サインデジット数ＡとＢが如何様な組合せであっても、５個の出力ノードＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５の内、１個のみが電源端子Ｖ１との導通路を遮断され、それ以外の４個はいずれも電源端子Ｖ１との導通路を形成される。さらに、電源端子Ｖ１との導通路が遮断された出力ノードと接地Ｖ０との間に接続されている全ＮＭＯＳトランジスタは、電源端子Ｖ１との導通路が形成された出力ノードによって導通する。以上から、電源電圧Ｖ１との導通路が形成されたノードは電源レベル、つまり２値の「１」になり、その導通路が遮断されたノードは接地電圧Ｖ０レベル、つまり２値の「０」になる。
【００２７】
ここで、加算信号Ｓは２値の２ビット「Ｓ＋、Ｓ−」で表され、Ｓ＝「Ｓ＋、Ｓ−」＝「Ｂ２，Ｂ４」である。また、桁上げ信号Ｃも２値の２ビット「Ｃ＋、Ｃ−」で表され、Ｃ＝「Ｃ＋、Ｃ−」＝「Ｂ１，Ｂ５」である。したがって、たとえば、Ａ＝＋１、Ｂ＝＋１のとき、「Ａ＋Ｂ」の演算を行うと、出力ノードＢ１がＶ０、出力ノードＢ２，Ｂ３，Ｂ４，Ｂ５がＶ１になるので、Ｓ＝「Ｓ＋、Ｓ−」＝「１，１」＝「０」、Ｃ＝「Ｃ＋、Ｃ−」＝「０，１」＝「＋１」となり、図２の右側と照会しても加算演算が正確に行われていることがわかる。
【００２８】
このように、本発明の２入力のサインデジット数の単位加算器１０の構成例は、２個のサインデジット数Ａ，Ｂが入力されると、加算信号Ｓと桁上げ信号Ｃが出力される。このとき必要なトランジスタ数は３８個である。なお、以上では２個のサインデジット数を加算する場合であったので、分岐段は２段で出力ノードは５個であったが、ｐ個（ｐは２以上の整数）のサインデジット数を加算する場合は、分岐段はｐ段となり、出力ノードは「２ｐ＋１」個となり、出力ノードと接地間に接続されるＮＭＯＳトランジスタの直列数は２ｐ個となる。
【００２９】
［第３の実施形態］
図４は、図１、図３に示した２入力のサインデジット数の単位加算器１０を簡便に標記するためのシンボルである。図５はこのサインデジット数の単位加算器１０を用いて４ビット加算器を構成した例を示す図である。右側がＬＳＢ、左側がＭＳＢである。
【００３０】
ここでは、４ビットのサインデジット数ＡとＢを加算するとき、まず、単位加算器１１からなる上段の初期加算段２１でＡ＋Ｂの加算を実行し、その加算結果と下位ビットからの桁上げ信号Ｃとの加算処理を単位加算器１２，１３からなる最終加算段２２で実行する。初期加算段２１と最終加算段２２で１ビット相当分が構成され、これは３個の単位加算器１１〜１３からなり、その１ビット分の合計トランジスタ数は１１４個である。本実施形態の４ビット加算器の場合、従来のリップルキャリー形並列加算器と同じように、桁上げ信号の多ビットに渡る伝播が発生し、高速化を阻害する要因となる。
【００３１】
そこで、その改善を図るため、図６で示すように、前記した初期加算段２１と最終加算段２２の間に、桁上げを想定した桁よけ前処理段を設け、桁上げ信号の伝播が３段以上は生じないようにする。
【００３２】
桁上げを想定した前処理は、初期加算段２１で得られた加算信号Ｓと桁上げ信号Ｃのそれぞれに対して、各ビットごとに、以下の前処理を機械的に行う。数式で表現すれば、ｋビット目のＳ或いはＣが「＋１」或いは「−１」のときは、
（＋１）×２ｋ　＝　（＋２−１）×２ｋ　＝　（＋１）×２ｋ＋１＋（−１）×２ｋ
（−１）×２ｋ　＝　（−２＋１）×２ｋ　＝　（−１）×２ｋ＋１＋（＋１）×２ｋ
と変形できる。すなわち、ｋビット目の「＋１」或いは「−１」は、ｋビット目では元のＳ，Ｃを反転し、非反転のＳ，Ｃをｋ＋１ビット目に桁上用としたものと等価となる。
【００３３】
よって、たとえば、
（＋１）×２ｍ＋１＋（＋１）×２ｍ
のように同じサインデジット数が「＋１，＋１」のようにｍビット目とｍ＋１目ビットで連続している場合には、
2004005297.tif 000003
のように、ｍビット目を「−１」に反転し、ｍ＋１ビット目への桁上げを「０」とし、ｍ＋２ビット目への桁上げを「＋１」とするように変形でき、これにより中間に「０」が生成されるので、「＋１、＋１」のようにビット間で同じサインデジット数が並ぶことはなくなり、最終加算段２２で桁上げ信号の伝播が回避される。これは、サインデジット数が「−１，−１」のように連続している場合でも同じである。
【００３４】
別の例、たとえばサインデジット数が「＋１，０，−１」と並ぶ場合の、
（＋１）×２ｍ＋２＋（０）×２ｍ＋１＋（−１）×２ｍ
では、同様の前処理を行うと、
（＋１）×２ｍ＋３＋（−１）×２ｍ＋２＋（−１）×２ｍ＋１＋（＋１）×２ｍ
と、「−１」が連続配置されるが、これは高々２連続であり、同じサインデジット数が３連続以上生成することはない。なぜならば、この前処理では、「＋１」と「−１」、あるいは「−１」と「＋１」が隣接してセットで生成されるので、３連続以上が生成されようとすると、必ず「０」にコンペンセーションされるからである。
【００３５】
以上より、図６の「桁よけ前処理段」の部分は、
▲１▼．初期加算段２１で生成された信号Ｓ，Ｃを、それぞれ反転（−１→＋１，＋１→−１、０→０）させる反転器３１，３２からなる反転段２３、
▲２▼．反転器３１からの信号Ｓと１桁下のビットの単位加算器１１からの信号Ｓを加算する単位加算器１４と、反転器３２からの信号Ｃと１桁下のビットの単位加算器１１からの信号Ｃを加算する単位加算器１５からなる第１加算段２４、
▲３▼．単位加算器１４からの信号Ｓと１桁下のビットの単位加算器１４からの信号Ｃを加算する単位加算器１６と、単位加算器１５からの信号Ｓと１桁下ビットの単位加算器１５からの信号Ｃを加算する単位加算器１７からなる第２加算段２５、
により構成する。
【００３６】
そして、第２加算段２５の単位加算器１６の出力信号Ｓを最終加算段２２の単位加算器１２に送り、その最終加算段２２の単位加算器１３にはその単位加算器１２の出力信号Ｃと単位加算器１７の出力信号Ｓを送る。これにより、桁上げの信号の伝播が３段以上行われることが回避される。なお、ＬＳＢでは下の桁からの桁上げ信号はないので、第１，第２加算段２４，２５での処理は行われない。
【００３７】
【発明の効果】
以上述べたように、本発明のサインデジット数の単位加算器を使用することにより、これでｎビットの加算器を構成しても、桁上げ信号の伝播が３段以上行われることを回避できるので、従来の加算器で高速化を阻害していた多段に渡る桁上げ信号の伝播を抑えて、高速処理が可能となる。また、本発明の単位加算器は、ＣＭＯＳスタティック動作を可能とするので、直流的な電流パスが形成されることなく、不必要な消費電力の低減が可能である。このように、本発明の単位加算器を用いれば、比較的少ないゲート数で、高速なデジタル信号処理用プロセッサ（ＤＳＰ）などの、演算回路が使用される全てのデジタル回路に適用することができる利点がある。
【図面の簡単な説明】
【図１】本発明のサインデジット数の単位加算器のパスゲートネットワークの説明図である。
【図２】サインデジット数の３値の論理及び加算処理の説明図である。
【図３】サインデジット数の単位加算器の回路図である。
【図４】サインデジット数の単位加算器のシンボルの説明図である。
【図５】サインデジット数の４ビット加算器の構成図である。
【図６】サインデジット数の別の例の４ビット加算器の構成図である。
【図７】従来の加算器のブロック図である。
【図８】図７の加算器を使用した４ビット加算器の構成図である。
【符号の説明】
１０〜１７：サインデジット数の単位加算器
２１：初期加算段、２２：最終加算段、２３：反転段、２４：第１加算段、２５：第２加算段
３１，３２：反転器
【図１】
2004005297.tif 000004
【図２】
2004005297.tif 000005
【図３】
2004005297.tif 000006
【図４】
2004005297.tif 000007
【図５】
2004005297.tif 000008
【図６】
2004005297.tif 000009
【図７】
2004005297.tif 000010
【図８】
2004005297.tif 000011