(57)【要約】【課題】累積加算回路の消費電力を削減すること。【解決手段】累積加算回路は、加算回路と、カウンタと、クロックゲーティング制御回路とを備える。加算回路は、所定ビットのデータを累積加算し、桁上げが発生した場合に桁上げ信号を活性化する。カウンタは、桁上げ信号が活性化されているときにカウントアップを行い、Ｎビットのカウント値を累積加算結果の上位桁として出力する。カウンタは、カウント値のそれぞれのビットをラッチするＮビットレジスタを備える。桁上げ信号の活性化に応じて値が変化するビットを保持するレジスタは、活性レジスタである。クロックゲーティング制御回路は、加算回路から桁上げ信号を受け取り、且つ、カウンタからカウント値を受け取る。桁上げ信号が活性化された場合、クロックゲーティング制御回路は、カウンタから受け取ったカウント値を参照することによって、活性レジスタへのクロック供給だけを活性化し、それ以外のクロック供給を非活性化する。【選択図】図１
2011164688.tif 000002
【特許請求の範囲】
【請求項１】
所定ビットのデータを累積加算し、該累積加算結果の下位桁を出力し、且つ、桁上げが発生した場合に桁上げ信号を活性化する加算回路と、
前記桁上げ信号が活性化されているときにカウントアップを行い、Ｎビット（Ｎは２以上の整数）のカウント値を前記累積加算結果の上位桁として出力するカウンタと、
前記カウンタへのクロック供給を制御するクロックゲーティング制御回路と
を備え、
前記カウンタは、供給されるクロックに応答して前記カウント値のそれぞれのビットをラッチするＮビットのレジスタを備え、
前記Ｎビットのカウント値のうち、前記桁上げ信号の活性化に応じて値が変化するビットは、変化ビットであり、
前記Ｎビットのレジスタのうち、前記変化ビットを保持するレジスタは、活性レジスタであり、
前記活性レジスタに供給されるクロックは、対象クロックであり、
前記クロックゲーティング制御回路は、前記加算回路から前記桁上げ信号を受け取り、且つ、前記カウンタから前記カウント値を受け取り、
前記桁上げ信号が活性化された場合、前記クロックゲーティング制御回路は、前記カウンタから受け取った前記カウント値を参照することによって、前記対象クロックの供給だけを活性化し、それ以外のクロック供給を非活性化する
累積加算回路。
【請求項２】
請求項１に記載の累積加算回路であって、
前記Ｎビットのカウント値のうち、値が０であって最も下位側に位置するビットは、最下位０ビットであり、
前記Ｎビットのカウント値のうち、最下位ビットから前記最下位０ビットまでのビットが、前記変化ビットであり、
前記クロックゲーティング制御回路は、前記カウンタから受け取った前記カウント値から前記最下位０ビットを検出することによって、前記対象クロックの供給だけを活性化する
累積加算回路。
【請求項３】
請求項１に記載の累積加算回路であって、
前記Ｎビットのカウント値は、下位側から上位側に向けて第１〜第Ｎビットを含み、
前記Ｎビットのレジスタは、前記第１〜第Ｎビットのそれぞれを保持する第１〜第Ｎレジスタを含み、
前記クロックゲーティング制御回路は、前記第１〜第Ｎレジスタのそれぞれに接続され、前記第１〜第Ｎレジスタのそれぞれに対するクロック供給を制御する第１〜第Ｎクロックゲートを備え、
前記第１クロックゲートは、前記桁上げ信号をイネーブル信号として受け取り、また、入力クロックを受け取り、
前記第ｉクロックゲート（ｉは２〜Ｎの各々）は、前記第（ｉ−１）ビットをイネーブル信号として受け取り、また、前記第（ｉ−１）クロックゲートから出力されるクロックを入力クロックとして受け取り、
前記第１〜第Ｎクロックゲートの各々は、前記イネーブル信号及び前記入力クロックが活性化された場合にクロック供給を活性化し、前記イネーブル信号あるいは前記入力クロックが非活性化された場合にクロック供給を非活性化する
累積加算回路。
【請求項４】
請求項１に記載の累積加算回路であって、
前記Ｎビットのカウント値は、下位側から上位側に向けて第１〜第Ｎビットを含み、
前記Ｎビットのレジスタは、前記第１〜第Ｎビットのそれぞれを保持する第１〜第Ｎレジスタを含み、
前記第１〜第Ｎレジスタは、Ｍ個（Ｍは２以上Ｎ以下の整数）のグループに区分けされ、
前記Ｍ個のグループは、下位側から上位側に向けて第１〜第Ｍグループを含み、
前記クロックゲーティング制御回路は、前記第１〜第Ｍグループのそれぞれに接続され、前記第１〜第Ｍグループのそれぞれに対するクロック供給を制御する第１〜第Ｍクロックゲートを備え、
前記第１クロックゲートは、前記桁上げ信号をイネーブル信号として受け取り、また、入力クロックを受け取り、
前記第ｊクロックゲート（ｊは２〜Ｍの各々）は、前記第（ｊ−１）グループに属するレジスタによって保持されるそれぞれのビットの論理積をイネーブル信号として受け取り、また、前記第（ｊ−１）クロックゲートから出力されるクロックを入力クロックとして受け取り、
前記第１〜第Ｍクロックゲートの各々は、前記イネーブル信号及び前記入力クロックが活性化された場合にクロック供給を活性化し、前記イネーブル信号あるいは前記入力クロックが非活性化された場合にクロック供給を非活性化する
累積加算回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路における累積加算回路に関する。
【背景技術】
【０００２】
半導体集積回路において、複数のデジタルデータを累積的に加算する累積加算回路が用いられる場合がある。
【０００３】
例えば、デジタルＴＶやディスクプレーヤー等の画像処理を行う機器において、画像をより鮮明に表示するために、画像の動き解析等の画像解析が行われる。その画像解析において、複数の画素データを累積加算した結果が用いられる。例えば、水平１ラインに１９２０画素を有するＨＤサイズの画像に関して、８ビットの画素データを１９２０回累積加算することを考える。その場合、１９ビット構成の累積加算回路が必要となる。処理する画素数は高画質化に伴って増加し、そのことは、累積加算回路の消費電力の更なる増大を招く。
【０００４】
特許文献１には、消費電力の低減を目的としたカウンタが記載されている。そのカウンタにおいて、下位桁カウンタと上位桁カウンタとの間にクロックゲーティング制御回路が介挿されている。下位桁カウンタは、リプルカウンタであり、クロックのアップカウントを行う。下位桁カウンタのカウント値が上限値となって桁上げを行うべきとき、クロックゲーティング制御回路は、クロックＣＬＫａを上位桁カウンタへ供給する。上位桁カウンタは、同期カウンタであり、このようにして供給されるクロックＣＬＫａのアップカウントを行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０９５６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
累積加算回路の消費電力を低減することが望まれる。上記特許文献１に記載された技術によれば、桁上げ発生時、クロックＣＬＫａが上位桁カウンタの全てのレジスタに供給される。すなわち、アップカウントにより保持データが変化しないレジスタに対しても、クロックＣＬＫａが供給される。この場合、当該レジスタを構成する回路の負荷容量が、クロックＣＬＫａの変化によって電力を消費してしまう。すなわち、消費電力がいたずらに増大してしまう。このような消費電力の増大は、データビット数や累積加算回数の増加に伴って、更に顕著になる。
【課題を解決するための手段】
【０００７】
本発明の１つの観点において、累積加算回路が提供される。その累積加算回路は、加算回路と、カウンタと、クロックゲーティング制御回路とを備える。加算回路は、所定ビットのデータを累積加算し、該累積加算結果の下位桁を出力し、且つ、桁上げが発生した場合に桁上げ信号を活性化する。カウンタは、桁上げ信号が活性化されているときにカウントアップを行い、Ｎビット（Ｎは２以上の整数）のカウント値を累積加算結果の上位桁として出力する。クロックゲーティング制御回路は、カウンタへのクロック供給を制御する。
【０００８】
カウンタは、供給されるクロックに応答してカウント値のそれぞれのビットをラッチするＮビットのレジスタを備える。Ｎビットのカウント値のうち、桁上げ信号の活性化に応じて値が変化するビットは、変化ビットである。Ｎビットのレジスタのうち、変化ビットを保持するレジスタは、活性レジスタである。活性レジスタに供給されるクロックは、対象クロックである。
【０００９】
クロックゲーティング制御回路は、加算回路から桁上げ信号を受け取り、且つ、カウンタからカウント値を受け取る。桁上げ信号が活性化された場合、クロックゲーティング制御回路は、カウンタから受け取ったカウント値を参照することによって、対象クロックの供給だけを活性化し、それ以外のクロック供給を非活性化する。
【発明の効果】
【００１０】
本発明によれば、累積加算回路の消費電力を削減することが可能である。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の第１の実施の形態に係る累積加算回路を示すブロック図である。
【図２】図２は、本発明の第１の実施の形態における１１ビットレジスタの構成例を示す回路図である。
【図３】図３は、本発明の第１の実施の形態におけるクロックゲーティング制御回路の真理値表である。
【図４】図４は、本発明の第１の実施の形態におけるクロックゲーティング制御回路の構成例を示す回路図である。
【図５】図５は、本発明の第１の実施の形態におけるクロックゲートの構成例を示す回路図である。
【図６】図６は、本発明の第１の実施の形態に係る累積加算回路の動作例を示すタイミングチャートである。
【図７】図７は、本発明の第２の実施の形態に係る累積加算回路を示すブロック図である。
【図８】図８は、本発明の第２の実施の形態における１１ビットレジスタの構成例を示す回路図である。
【図９】図９は、本発明の第２の実施の形態におけるクロックゲーティング制御回路の真理値表である。
【図１０】図１０は、本発明の第２の実施の形態におけるクロックゲーティング制御回路の構成例を示す回路図である。
【発明を実施するための形態】
【００１２】
１．第１の実施の形態
１−１．構成
図１は、本発明の第１の実施の形態に係る累積加算回路を示すブロック図である。累積加算回路は、所定ビットの入力データ１１１を累積加算し、累積加算結果を出力する。以下の説明において、入力データ１１１は８ビットのデータであり、また、累積加算結果は１９ビットのデータＡ［１８：０］として表されるとする。尚、Ａ［１８：０］は、Ａ［１８］、Ａ［１７］、・・・Ａ［０］が［］内の数字の順に並んでいる事を表している。
【００１３】
図１に示されるように、本実施の形態に係る累積加算回路は、下位桁加算回路６１、上位桁カウンタ６２、及びクロックゲーティング制御回路６３を備えている。下位桁加算回路６１は、累積加算結果の下位桁である８ビットのデータＡ［７：０］を算出し、出力する。一方、上位桁カウンタ６２は、累積加算結果の上位桁である１１ビットのデータＡ［１８：８］を算出し、出力する。クロックゲーティング制御回路６３は、下位桁加算回路６１及び上位桁カウンタ６２に接続されている。このクロックゲーティング制御回路６３は、上位桁カウンタ６２へのクロック供給を制御する。各回路の詳細は、次の通りである。
【００１４】
（下位桁加算回路６１）
下位桁加算回路６１は、複数の入力データ１１１を連続的に受け取り、それら入力データ１１１を累積的に加算する。そして、下位桁加算回路６１は、累積加算結果の下位桁である８ビットのデータＡ［７：０］を出力する。更に、下位桁加算回路６１は、クロックゲーティング制御回路６３に接続されており、クロックゲーティング制御回路６３に桁上げ信号１１２を出力する。下位桁からの桁上げが発生した場合、下位桁加算回路６１は、その桁上げ信号１１２を活性化する。本実施の形態では、桁上げ信号１１２に関して、“１（Ｈｉｇｈ）”が活性状態を表し、“０（Ｌｏｗ）”が非活性状態を表す。
【００１５】
より詳細には、図１に示されるように、下位桁加算回路６１は、８ビット加算回路７１及び８ビットレジスタ７２を備えている。８ビット加算回路７１は、８ビットの入力データ１１１を順次受け取る。８ビット加算回路７１は、各入力データ１１１と累積加算結果の下位８ビットデータＡ［７：０］とを加算し、加算結果を８ビットレジスタ７２に出力する。また、８ビット加算回路７１は、桁上げが発生する度に桁上げ信号１１２を活性化する。
【００１６】
８ビットレジスタ７２は、８ビット加算回路７１の出力に接続されている。また、８ビットレジスタ７２には、外部からクロック１００が供給される。そのクロック１００の立ち上がりに応答して、８ビットレジスタ７２は、８ビット加算回路７１からの出力データを下位８ビットデータＡ［７：０］としてラッチする。その下位８ビットデータＡ［７：０］は、外部に出力されると共に、８ビット加算回路７１にフィードバックされる。
【００１７】
（上位桁カウンタ６２）
上位桁カウンタ６２は、カウント動作を行い、Ｎビット（Ｎは２以上の整数）のカウント値を出力する。より詳細には、カウント値の初期値は０であり、上位桁カウンタ６２は、下位桁加算回路６１によって桁上げ信号１１２が活性化される度に、１ずつカウントアップを行う。従って、このＮビットのカウント値が、累積加算結果の上位桁となる。本実施の形態では、Ｎ＝１１であり、上位桁カウンタ６２は、１１ビットのカウント値を、累積加算結果の上位１１ビットデータＡ［１８：８］として出力する。
【００１８】
より詳細には、図１に示されるように、上位桁カウンタ６２は、１１ビット加算回路８１及び１１ビットレジスタ８２を備えている。１１ビット加算回路８１は、上位１１ビットデータＡ［１８：８］を受け取る。１１ビット加算回路８１は、その上位１１ビットデータＡ［１８：８］に「１」を加算することによって加算データＤ［１０：０］を生成し、その加算データＤ［１０：０］を１１ビットレジスタ８２に出力する。
【００１９】
１１ビットレジスタ８２は、１１ビット加算回路８１の出力に接続されている。また、１１ビットレジスタ８２には、クロックゲーティング制御回路６３からクロック（３１０〜３２０）が供給される。そのクロック供給に応答して、１１ビットレジスタ８２は、加算データＤ［１０：０］を上位１１ビットデータＡ［１８：８］としてラッチする。その上位１１ビットデータＡ［１８：８］は、外部に出力されると共に、１１ビット加算回路８１にフィードバックされる。後に説明されるように、クロックゲーティング制御回路６３からのクロック供給は、上述の桁上げ信号１１２が活性化された場合に活性化される。従って、上位１１ビットデータＡ［１８：８］は、桁上げ信号１１２が活性化されているときにカウントアップされることになる。
【００２０】
図２は、本実施の形態における１１ビットレジスタ８２の構成例を示す回路図である。１１ビットレジスタ８２は、上位１１ビットデータＡ［１８：８］のそれぞれのビットを保持する１１個のレジスタ（第１〜第１１レジスタ）を備えている。図２の例において、第１〜第１１レジスタは、フリップフロップＦＦ０〜ＦＦ１０である。それらフリップフロップＦＦ０〜ＦＦ１０が、下位側から上位側に向けてビットＡ［８］〜ビットＡ［１８］（第１〜第Ｎビット）のそれぞれを保持し、出力する。より詳細には、フリップフロップＦＦ０〜ＦＦ１０には、加算データＤ［１０：０］のそれぞれのビットＤ［０］〜Ｄ［１０］が入力される。また、フリップフロップＦＦ０〜ＦＦ１０のそれぞれには、別々のクロック配線を介して、別々のクロック３１０〜３２０が供給される。フリップフロップＦＦ０〜ＦＦ１０は、それぞれ、クロック３１０〜３２０の立ち上がりに応答して、最新の上位１１ビットデータＡ［１８：８］（すなわち、加算データＤ［１０：０］）をラッチし、出力する。
【００２１】
（クロックゲーティング制御回路６３）
クロックゲーティング制御回路６３は、下位桁加算回路６１及び上位桁カウンタ６２に接続されている。クロックゲーティング制御回路６３は、クロック１００を受け取り、下位桁加算回路６１から桁上げ信号１１２を受け取り、更に、上位桁カウンタ６２から上位１１ビットデータＡ［１８：８］を受け取る。そして、クロックゲーティング制御回路６３は、桁上げ信号１１２及び上位１１ビットデータＡ［１８：８］に基いて、上位桁カウンタ６２へのクロック３１０〜３２０の供給を制御する。
【００２２】
より詳細には、次の通りである。上位１１ビットデータＡ［１８：８］のうち、桁上げ信号１１２の活性化に応じて値が変化するビットは、以下「変化ビット」と参照される。１１ビットレジスタ８２（フリップフロップＦＦ０〜ＦＦ１０）のうち、変化ビットを保持するレジスタは、以下「活性レジスタ」と参照される。その活性レジスタに供給されるクロックは、以下「対象クロック」と参照される。桁上げ信号１１２が活性化されたとき、クロックゲーティング制御回路６３は、上位桁カウンタ６２から受け取った上位１１ビットデータＡ［１８：８］（カウントアップ前のカウント値）を参照することによって、変化ビット、活性レジスタ及び対象クロックを認識することができる。それにより、クロックゲーティング制御回路６３は、活性レジスタへの対象クロックの供給だけを活性化し、それ以外のレジスタへのクロック供給を非活性化することができる。その結果、上位桁カウンタ６２の消費電力が削減される。
【００２３】
図３は、桁上げ信号１１２、上位１１ビットデータＡ［１８：８］、及びクロック３１０〜３２０の活性化／非活性化の間の対応関係を示している。桁上げ信号１１２に関して、“１”が活性状態（桁上げ発生）を表し、“０”が非活性状態を表す。上位１１ビットデータＡ［１８：８］に関して、最左端が最上位ビットＡ［１８］を表し、最右端が最下位ビットＡ［８］を表し、“ｘ”は“０”、“１”のどちらでもよいことを表す。クロック３１０〜３２０に関して、“ＯＮ”が活性化（供給）を表し、“ＯＦＦ”が非活性化（停止）を表す。
【００２４】
図３に示されるように、クロック３１０〜３２０のＯＮ／ＯＦＦパターンは、桁上げ信号１１２及び上位１１ビットデータＡ［１８：８］のパターンに依存して決まる。特に、Ａ［１８：８］のうち値が０であって最も下位側に位置する「最下位０ビット」に着目すると、桁上げ信号１１２＝“１”の場合は、その最下位０ビットの位置によってクロック３１０〜３２０のＯＮ／ＯＦＦパターンが決まることが分かる。すなわち、上位１１ビットデータＡ［１８：８］のうち、最下位ビットＡ［８］から最下位０ビットまでのビットが、上述の「変化ビット」である。従って、最下位ビットＡ［８］から最下位０ビットまでを保持するレジスタにだけ、対応するクロックを供給すればよい。
【００２５】
このように、上位１１ビットデータＡ［１８：８］中の最下位０ビットの位置に基いて、クロック３１０〜３２０のＯＮ／ＯＦＦパターンを決定することができる。そのために、図１に示されるように、クロックゲーティング制御回路６３は、クロックゲーティング回路９１及び０位置検出回路９２を有している。０位置検出回路９２は、上位桁カウンタ６２から上位１１ビットデータＡ［１８：８］を受け取り、その上位１１ビットデータＡ［１８：８］中の最下位０ビットの位置を検出する。クロックゲーティング回路９１は、その検出結果に基づき、図３で示された対応関係に従って、クロック３１０〜３２０の供給を制御する。
【００２６】
図４は、本実施の形態におけるクロックゲーティング制御回路６３の構成例を示す回路図である。クロックゲーティング制御回路６３は、１１個のクロックゲートＣＧ０〜ＣＧ１０（第１〜第１１クロックゲート）を備えている。クロックゲートＣＧ０〜ＣＧ１０は、それぞれ、フリップフロップＦＦ０〜ＦＦ１０（第１〜第１１レジスタ）に接続されており、フリップフロップＦＦ０〜ＦＦ１０へのクロック３１０〜３２０の供給を制御する。
【００２７】
クロックゲートＣＧ０〜ＣＧ１０の各々は、図５に示されるような構成を有している。具体的には、クロックゲートは、ラッチ回路５１及びＡＮＤゲート５２を有している。また、クロックゲートには、入力クロックＣＬＫ１及びイネーブル信号ＥＮ１が入力される。ラッチ回路５１は、入力クロックＣＬＫ１がＬレベル（“０”）のときにイネーブル信号ＥＮ１を通過させ、入力クロックＣＬＫ１の立ち上がりエッジでイネーブル信号ＥＮ１をラッチする。ラッチ回路５１の出力はイネーブル信号ＥＮ２である。ＡＮＤゲート５２には入力クロックＣＬＫ１及びイネーブル信号ＥＮ２が入力され、それらの論理積が出力クロックＣＬＫ２として出力される。
【００２８】
このような構成のクロックゲートは、次のように動作する。入力クロックＣＬＫ１が非活性化されている場合、つまり、入力クロックＣＬＫ１が“０”のまま変わらない場合、出力クロックＣＬＫ２も“０”のまま変わらず、非活性化される。すなわち、クロック供給が非活性化（遮断）される。また、イネーブル信号ＥＮ１が非活性化されている場合、つまり、イネーブル信号ＥＮ１が“０”の場合、イネーブル信号ＥＮ２も“０”となる。その結果、出力クロックＣＬＫ２は“０”のまま変わらず、非活性化される。すなわち、クロック供給が非活性化（遮断）される。一方、入力クロックＣＬＫ１及びイネーブル信号ＥＮ１が共に活性化されている場合、入力クロックＣＬＫ１が出力クロックＣＬＫ２として出力される。すなわち、クロック供給が活性化される。
【００２９】
再度図４を参照すると、第１クロックゲート（クロックゲートＣＧ０）は、クロック１００を入力クロックＣＬＫ１として受け取り、また、桁上げ信号１１２をイネーブル信号ＥＮ１として受け取る。また、パラメータｉが２〜Ｎの各々であるとき、第ｉクロックゲート（クロックゲートＣＧ（ｉ−１））は、第（ｉ−１）クロックゲートから出力される出力クロックＣＬＫ２を入力クロックＣＬＫ１として受け取る。更に、その第ｉクロックゲートは、ビットＡ［８］〜ビットＡ［１７］（第１〜第１０ビット）のうち第（ｉ−１）ビットを、イネーブル信号ＥＮ１として受け取る。このような構成により、図３で示された対応関係が実現される。
【００３０】
１−２．動作例
図６は、本実施の形態に係る累積加算回路の動作例を示すタイミングチャートである。より詳細には、図６は、上位桁カウンタ６２におけるカウント値（上位１１ビットデータＡ［１８：８］）が初期値“０”から“８”まで増加する例を示している。
【００３１】
時刻ｔ１でのクロック１００の立ち上がりエッジで、桁上げ信号１１２が、“０”から“１”に変わる。この桁上げ信号１１２は、クロックゲートＣＧ０にイネーブル信号ＥＮ１として入力される。
【００３２】
時刻ｔ２において、クロックゲートＣＧ０のイネーブル信号ＥＮ２が“０”から“１”に変わる。その結果、クロック３１０の供給が活性化される。
【００３３】
時刻ｔ３において、クロック３１０が立ち上がる。その他のクロックは停止している。フリップフロップＦＦ０は加算データＤ［０］＝“１”をラッチし、ビットＡ［８］が“１”になる。つまり、カウント値Ａ［１８：８］が“１”になる。
【００３４】
クロックゲートＣＧ１には、ビットＡ［８］＝“１”がイネーブル信号ＥＮ１として入力され、また、活性化されたクロック３１０が入力クロックＣＬＫ１として入力される。従って、時刻ｔ４において、クロックゲートＣＧ１のイネーブル信号ＥＮ２が“０”から“１”に変わる。その結果、クロック３１１の供給が活性化される。
【００３５】
時刻ｔ５において、クロック３１０及びクロック３１１が立ち上がる。その他のクロックは停止している。フリップフロップＦＦ０は加算データＤ［０］＝“０”をラッチし、ビットＡ［８］が“０”になる。また、フリップフロップＦＦ１は加算データＤ［１］＝“１”をラッチし、ビットＡ［９］が“１”になる。つまり、カウント値Ａ［１８：８］が“２”になる。
【００３６】
クロックゲートＣＧ１には、ビットＡ［８］＝“０”がイネーブル信号ＥＮ１として入力される。従って、時刻ｔ６において、クロックゲートＣＧ１のイネーブル信号ＥＮ２が“１”から“０”に変わり、クロック３１１が非活性化される。このとき、クロックゲートＣＧ２にはビットＡ［９］＝“１”がイネーブル信号ＥＮ１として入力されているが、入力クロック３１１が非活性化されたため、クロック３１２も停止したままである。
【００３７】
時刻ｔ７において、クロック３１０が立ち上がる。フリップフロップＦＦ０は加算データＤ［０］＝“１”をラッチし、ビットＡ［８］が“１”になる。つまり、カウント値Ａ［１８：８］が“３”になる。
【００３８】
クロックゲートＣＧ１には、再度、ビットＡ［８］＝“１”がイネーブル信号ＥＮ１として入力される。従って、時刻ｔ８において、クロックゲートＣＧ１のイネーブル信号ＥＮ２が“０”から“１”に変わる。その結果、クロック３１１の供給が再度活性化される。クロック３１１が活性化されるため、クロックゲートＣＧ２によるクロック３１２の供給も活性化される。
【００３９】
時刻ｔ９において、クロック３１０、３１１、３１２が立ち上がる。その他のクロックは停止している。フリップフロップＦＦ０は加算データＤ［０］＝“０”をラッチし、ビットＡ［８］が“０”になる。また、フリップフロップＦＦ１は加算データＤ［１］＝“０”をラッチし、ビットＡ［９］が“０”になる。また、フリップフロップＦＦ１は加算データＤ［１］＝“１”をラッチし、ビットＡ［１０］が“１”になる。つまり、カウント値Ａ［１８：８］が“４”になる。その後も同様である。
【００４０】
１−３．効果
以上に説明されたように、本実施の形態によれば、カウント値Ａ［１８：８］中の変化ビットを保持する活性レジスタにだけ、必要なクロックが供給される。一方、アップカウントにより保持データが変化しないレジスタに対しては、クロック供給が非活性化（遮断）される。従って、消費電力が削減される。
【００４１】
比較例として、上記特許文献１（特開２００８−１０９５６３号公報）と同じように、桁上げ信号１１２が活性化されたときにクロック３１０〜３２０の全てが活性化される場合を考える。２０４８回アップカウントする間に、上位桁カウンタ６２の１１ビットレジスタ８２に供給されるクロック回数は、２２５２８（＝２０４８×１１）回となる。また、クロックゲーティング制御回路６３内のクロックゲートは共通化され、その共通のクロックゲートにはクロック１００が２０４８回供給される。クロックゲート内では、ラッチ回路５１及びＡＮＤゲート５２の２つの回路にクロックが供給され、そのクロック回数は、４０９６（＝２０４８×２）回である。よって、クロック総数は２６６２４（＝２２５２８＋４０９６）回となる。
【００４２】
一方、本実施の形態では次の通りである。図６から分かるように、クロック３１１の回数はクロック３１０の回数の半分であり、クロック３１２の回数はクロック３１１の回数の半分である。その他も同様で、ある段のクロックの回数は、前段のクロックの回数の半分となる。従って、２０４８回（２１１回）アップカウントする間に、上位桁カウンタ６２の１１ビットレジスタ８２に供給されるクロック回数は、４０９４（＝２１１＋２１０＋・・・・＋２１）回となる。また、クロックゲート制御回路６３に関して、クロックゲートＣＧ０にはクロック１００が２０４８回供給される。クロックゲートＣＧ１〜ＣＧ１０には、クロック３１０〜３１９がそれぞれ供給される。従って、クロックゲートＣＧ０〜ＣＧ１１に供給されるクロック回数は、６１４０（＝２１１＋２１１＋２１０＋２９＋・・・＋２２）回となる。各クロックゲート内では、ラッチ回路５１及びＡＮＤゲート５２の２つの回路にクロックが供給される。従って、クロック総数は、１６３７４（＝４０９４＋６１４０×２）回となる。これは、比較例の６２％以下であり、これに伴い消費電力も削減される。
【００４３】
２．第２の実施の形態
図７は、本発明の第２の実施の形態に係る累積加算回路を示すブロック図である。既出の第１の実施の形態と比較して、クロックゲーティング制御回路６３がクロックゲーティング制御回路６３Ｂで置換され、１１ビットレジスタ８２が１１ビットレジスタ８２Ｂで置換されている。クロックゲーティング制御回路６３Ｂは、１１ビットレジスタ８２Ｂへのクロック８１０〜８１２の供給を制御する。その他は第１の実施の形態と同様であり、重複する説明は適宜省略される。
【００４４】
図８は、１１ビットレジスタ８２Ｂの回路構成例を示している。１１ビットレジスタ８２Ｂは、ビットＡ［８］〜ビットＡ［１８］（第１〜第１１ビット）のそれぞれを保持するフリップフロップＦＦ０〜ＦＦ１０（第１〜第１１レジスタ）を備えている。本実施の形態において、それらフリップフロップＦＦ０〜ＦＦ１０は、Ｍ個（Ｍは２以上Ｎ以下の整数）のグループに区分けされる。図８の例において、Ｍ＝３であり、第１グループはフリップフロップＦＦ０〜ＦＦ３を含み、第２グループはフリップフロップＦＦ４〜ＦＦ７を含み、第３グループはフリップフロップＦＦ８〜ＦＦ１０を含んでいる。
【００４５】
第１〜第３グループのそれぞれには、別々のクロック配線を介して、別々のクロック８１０〜８１２が供給される。但し、同一グループ内のフリップフロップには、同一クロックが共通に供給される。すなわち、第１グループのフリップフロップＦＦ０〜ＦＦ３にはクロック８１０が供給され、第２グループのフリップフロップＦＦ４〜ＦＦ７にはクロック８１１が供給され、第３グループのフリップフロップＦＦ８〜ＦＦ１０にはクロック８１２が供給される。
【００４６】
図９は、既出の図３と同様であり、本実施の形態における桁上げ信号１１２、上位１１ビットデータＡ［１８：８］、及びクロック８１０〜８１２の活性化／非活性化の間の対応関係を示している。クロックゲーティング制御回路６３Ｂは、図９で示される対応関係を実現するように構成される。
【００４７】
図１０は、本実施の形態におけるクロックゲーティング制御回路６３Ｂの構成例を示す回路図である。クロックゲーティング制御回路６３Ｂは、３個のクロックゲートＣＧ０〜ＣＧ２（第１〜第３クロックゲート）を備えている。クロックゲートＣＧ０〜ＣＧ２は、それぞれ、上述の第１〜第３グループに接続されており、第１〜第３グループへのクロック８１０〜８１２の供給を制御する。クロックゲートＣＧ０〜ＣＧ２の各々は、既出の図５に示される構成を有している。
【００４８】
クロックゲーティング制御回路６３Ｂは更に、ＡＮＤゲート９３Ｂ、９４Ｂを備えている。ＡＮＤゲート９３Ｂは、第１グループに属するフリップフロップＦＦ０〜ＦＦ３によってそれぞれ保持されるビットＡ［８］〜ビットＡ［１１］の論理積８１３を出力する。ＡＮＤゲート９４Ｂは、第２グループに属するフリップフロップＦＦ４〜ＦＦ７によってそれぞれ保持されるビットＡ［１２］〜ビットＡ［１５］の論理積８１４を出力する。
【００４９】
第１クロックゲート（クロックゲートＣＧ０）は、クロック１００を入力クロックＣＬＫ１として受け取り、また、桁上げ信号１１２をイネーブル信号ＥＮ１として受け取る。第２クロックゲート（クロックゲートＣＧ１）は、クロック８１０を入力クロックＣＬＫ１として受け取り、また、ＡＮＤゲート９３Ｂから出力される論理積８１３をイネーブル信号ＥＮ１として受け取る。第３クロックゲート（クロックゲートＣＧ２）は、クロック８１１を入力クロックＣＬＫ１として受け取り、また、ＡＮＤゲート９４Ｂから出力される論理積８１４をイネーブル信号ＥＮ１として受け取る。パラメータｊ（ｊは２〜Ｍの各々）を用いて一般化すれば、次の通りである。第ｊクロックゲート（クロックゲートＣＧ（ｊ−１））は、第（ｊ−１）クロックゲートから出力される出力クロックＣＬＫ２を入力クロックＣＬＫ１として受け取る。更に、その第ｊクロックゲートは、第（ｊ−１）グループに属するフリップフロップによって保持されるそれぞれのビットの論理積を、イネーブル信号ＥＮ１として受け取る。このような構成により、図９で示された対応関係が実現される。
【００５０】
第２の実施の形態によれば、第１の実施の形態の場合と同様に、消費電力を低減することが可能である。更に、第２の実施の形態によれば、クロックゲーティング制御回路６３Ｂから１１ビットレジスタ８２Ｂへ供給されるクロックが、複数ビット毎にまとめられる。これにより、第１の実施の形態と比較して、クロックゲーティング制御回路６３Ｂ中のクロックゲートの個数が減る。その結果、累積加算回路の面積が削減される。
【００５１】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００５２】
６１    下位桁加算回路
６２    上位桁カウンタ
６３    クロックゲーティング制御回路
７１    ８ビット加算回路
７２    ８ビットレジスタ
８１    １１ビット加算回路
８２    １１ビットレジスタ
９１    クロックゲーティング回路
９２    ０位置検出回路
１００    クロック
１１１    入力データ
１１２    桁上げ信号
３１０〜３２０  クロック
【図１】
2011164688.tif 000003
【図２】
2011164688.tif 000004
【図３】
2011164688.tif 000005
【図４】
2011164688.tif 000006
【図５】
2011164688.tif 000007
【図６】
2011164688.tif 000008
【図７】
2011164688.tif 000009
【図８】
2011164688.tif 000010
【図９】
2011164688.tif 000011
【図１０】
2011164688.tif 000012