(57)【要約】【課題】グリッジの発生による消費電力の増大を抑制することができるデジタル回路を提供する。【解決手段】組み合わせ回路３は各４ビットの入力Ａと入力Ｂとの乗算を行い、８ビットの演算結果を出力する。８ビットの出力はパイプレラインレジスタ４により保持される。判定回路５は、入力Ａと入力Ｂのそれぞれ上位２ビットがいずれも“０”であるか否かを判定する。いずれも“０”であったときは、この入力Ａと入力Ｂのそれぞれ上位２ビットの値にのみ依存する組み合わせ回路３の出力値の上位４ビットを保持するパイプレラインレジスタ４のパイプライン上位部７のクロック信号を停止して、このパイプライン上位部７の動作を停止する。【選択図】図１
2009187075.tif 000002
【特許請求の範囲】
【請求項１】
複数ビットからなる値が入力され当該入力値に応じた複数ビットからなる値を出力する第１の組み合わせ回路と、
前記第１の組み合わせ回路の出力値を保持する順序回路と、
前記第１の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値が０か１かを判定する判定回路と、
前記判定回路により前記第１の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値がいずれも０と判定したときは、前記順序回路のうち当該第１の組み合わせ回路の出力値の中で当該所定数の上位ビットの値にのみ依存する値を保持する部分の動作を停止する制御回路と、
を備えているデジタル回路。
【請求項２】
前記順序回路の出力値が入力され当該入力値に応じた複数ビットからなる値を出力する第２の組み合わせ回路をさらに備え、
前記制御回路は、前記第２の組み合わせ回路のうち前記第１の組み合わせ回路の出力値の中で前記所定数の上位ビットの値にのみ依存する部分の動作も停止する、
請求項１に記載のデジタル回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル回路に関する。
【背景技術】
【０００２】
図５は、一般的な演算回路の構成例を示す回路図である。この演算回路１０１は、入力Ａ〜Ｄに基づいて所定の乗算及び加算を行なって、その演算結果を出力Ａ，Ｂとして出力する演算回路の例である。入力Ａ〜Ｄはレジスタ１０２に一旦保持され、入力Ａ，Ｂが乗算器１０３に、入力Ｃ，Ｄが加算器１０４にそれぞれ入力される。
【０００３】
乗算器１０３は、組み合わせ回路１１１、パイプラインレジスタ１１２、組み合わせ回路１１３、パイプラインレジスタ１１４、組み合わせ回路１１５が、この順に接続されて構成されている。入力Ａ，Ｂは組み合わせ回路１１１に入力され、組み合わせ回路１１１により入力Ａ，Ｂの値に応じた所定演算が行なわれ、その出力値はパイプラインレジスタ１１２に保持される。そして、このパイプラインレジスタ１１２に保持された値を入力値として、組み合わせ回路１１３は入力値に応じた所定演算を行ない、その出力値はパイプラインレジスタ１１４に保持される。同様に、パイプラインレジスタ１１４に保持された値を入力値として、組み合わせ回路１１５は入力値に応じた所定演算を行ない、この演算結果が出力Ａとなる。この出力Ａはレジスタ１２１に保持される。
【０００４】
同様に、加算器１０４は、組み合わせ回路１３１、パイプラインレジスタ１３２、組み合わせ回路１３３、パイプラインレジスタ１３４、組み合わせ回路１３５が、この順に接続されて構成されている。入力Ｃ，Ｄは組み合わせ回路１３１に入力されて組み合わせ回路１３１により入力Ｃ，Ｄの値に応じた所定演算が行なわれ、その出力値はパイプラインレジスタ１３２に保持される。そして、このパイプラインレジスタ１３２に保持された値を入力値として、組み合わせ回路１３３は入力値に応じた所定演算を行ない、その出力値はパイプラインレジスタ１３４に保持される。同様に、パイプラインレジスタ１３４に保持された値を入力値として、組み合わせ回路１３５は入力値に応じた所定演算を行ない、この演算結果が出力Ｂとなる。この出力Ｂはレジスタ１２１に保持される。
【０００５】
このようにして、乗算器１０３により最終的に所定の乗算値が出力Ａとして求まり、加算器１０４により最終的に所定の加算値が出力Ｂとして求まる。上記のように乗算器１０３、加算器１０４がいずれも複数の組み合わせ回路により構成され、単一の組み合わせ回路により構成されていないのは、回路のクロック周波数が高いことに対応したものである。すなわち、例えば、乗算器１０３を単一の組み合わせ回路により構成し、最終的に求めようとする出力Ａを１クロックにより求めようとすると、高クロック周波数の回路であった場合は、当該組み合わせ回路を構成している素子の遅延により出力Ａが出力されない場合があるからである。つまり、最終的な演算結果を求めるまでに必要な組み合わせ回路を複数に分割して当該複数の組み合わせ回路間を順序回路となるパイプラインレジスタで接続し、複数のクロック数にわたる演算処理により最終的な演算結果を求めようとするものである。近年の回路の高クロック周波数化の下においては、このように複数の組み合わせ回路により単一の演算回路を構成することが一般的である。
【特許文献１】特開平６‐５２２１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述のように複数の組み合わせ回路とパイプラインレジスタとにより演算回路を構成すると、パイプラインレジスタを設けた分だけ演算回路の消費電力が増大することになる。
【０００７】
また、組み合わせ回路においては、当該組み合わせ回路を構成している各演算素子の配線長さの違いや製造上のばらつきなどによりグリッジ（ひげ）が発生するのが避けられない。そして、このような組み合わせ回路においてはグリッジの発生により多くの電力を消費してしまうという不具合がある。
【０００８】
そこで、本発明の目的は、グリッジの発生による消費電力の増大を抑制することができるデジタル回路を提供することである。
【課題を解決するための手段】
【０００９】
（１）本発明は、複数ビットからなる値が入力され当該入力値に応じた複数ビットからなる値を出力する第１の組み合わせ回路と、前記第１の組み合わせ回路の出力値を保持する順序回路と、前記第１の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値が０か１かを判定する判定回路と、前記判定回路により前記第１の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値がいずれも０と判定したときは、前記順序回路のうち当該第１の組み合わせ回路の出力値の中で当該所定数の上位ビットの値にのみ依存する値を保持する部分の動作を停止する制御回路と、を備えているデジタル回路である。
【００１０】
（２）この場合に、前記順序回路の出力値が入力され当該入力値に応じた複数ビットからなる値を出力する第２の組み合わせ回路をさらに備え、前記制御回路は、前記第２の組み合わせ回路のうち前記第１の組み合わせ回路の出力値の中で前記所定数の上位ビットの値にのみ依存する部分の動作も停止する、ようにしてもよい。
【発明の効果】
【００１１】
（１）の発明によれば次のような効果を得られる。すなわち、組み合わせ回路の出力値の所定数の上位ビットの値がどうなるかについて、当該回路の入力値のうち所定数の上位ビットのみに依存しているという場合がある。第１の組み合わせ回路について、このような関係が認められるときには、第１の組み合わせ回路の入力値のうち所定数の上位ビットの値がいずれも０であれば、当該上位ビットの値のみに依存する出力値の所定数の上位ビットの値も必ず０となる。そこで、判定回路により第１の組み合わせ回路の入力値のうち所定数の上位ビットの値がいずれも０であると判定したときは、出力値のうち当該上位ビットの値のみに依存する所定数の上位ビットの値を保持する順序回路の部分の動作を停止しても処理に支障がなく、当該停止部分におけるグリッジの発生による消費電力の増大を抑制することができる。
【００１２】
（２）の発明によれば、第２の組み合わせ回路の一部について動作を停止しても当該第２の組み合わせ回路における処理に支障がなく、当該停止部分におけるグリッジの発生による消費電力の増大を抑制することができるので、消費電力をさらに抑制することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施の形態について図面を参照して説明する。
【００１４】
図１は、本実施の形態にかかるデジタル回路１の回路図である。このデジタル回路１は、演算器、より具体的には乗算器の例である。
【００１５】
すなわち、デジタル回路１は、複数ビット、この例で４ビットの入力Ａと、複数ビット、この例で４ビットの入力Ｂとを入力信号とすることにより、この入力Ａ，Ｂに応じた乗算を行い、複数ビット、この例で８ビットの演算結果を出力する回路である。
【００１６】
入力Ａ，Ｂは、まずレジスタ２により保持され、このレジスタ２により保持された入力Ａ，Ｂは、組み合わせ回路３に入力される。組み合わせ回路３は入力Ａ，Ｂの値に基づいて所定の乗算を行なう複数の論理演算素子から構成されている。組み合わせ回路３は乗算の結果を８ビットの値で出力する。
【００１７】
パイプラインレジスタ４は、順序回路となるものであり、８つのフリップフロップを備え、８ビットの値を保持できるレジスタである。パイプラインレジスタ４は、組み合わせ回路３が出力する８ビットの値を保持する。そして、この８ビットの値はパイプラインレジスタ４からさらに後段の回路に出力される。
【００１８】
レジスタ２、パイプラインレジスタ４には、クロック信号として常時ＣＬＫが入力される。レジスタ２に入力Ａ，Ｂが保持されている状態で１クロックのクロック信号の入力がなされると、１クロック周期の間に、レジスタ２の保持している入力Ａ，Ｂの値が組み合わせ回路３に与えられ、組み合わせ回路３で所定の演算がなされて、その演算結果がパイプラインレジスタ４に保持される。
【００１９】
図１においては、説明の便宜上、単一の組み合わせ回路３とその後段のパイプラインレジスタ４のみを図示しているが、本発明のデジタル回路はこのような構成に限定されるものではなく、図５を参照して説明した演算回路と同様に、パイプラインレジスタ４の後段にさらに１又は複数の組み合わせ回路とパイプラインレジスタとを交互に配置するようにしてもよい。よって、例えば図５の例のように組み合わせ回路を３段に配置したときは、デジタル回路１で最終的な演算結果を得るまでに３クロック周期分の時間が必要である。
【００２０】
判定回路５は、入力Ａ，入力Ｂのそれぞれの所定数の上位ビット、この例で上位２ビットのそれぞれの値が０か１かを判定する。そして、入力Ａ，入力Ｂのそれぞれの上位２ビットの値がいずれも０であったときは、Ｈレベル信号をアンド回路６に入力する。
【００２１】
図２は、判定回路５の具体的な回路構成を示す回路図である。まず、入力Ａの上位２ビットの値は、それぞれインバータ１１，１２により反転される。アンド回路１３はインバータ１１と１２の出力値のアンドをとる。同様に、入力Ｂの上位２ビットの値は、それぞれインバータ１４，１５により反転される。アンド回路１６はインバータ１４と１５の出力値のアンドをとる。アンド回路１７はアンド回路１３と１６の出力値のアンドをとる。アンド回路１７の出力値はインバータ１８により反転される。そして、アンド回路１７の出力は、低消費電力用ＣＬＫマスク信号としてアンド回路６に入力される。
【００２２】
すなわち、この判定回路５によれば、入力Ａの上位２ビットの値及び入力Ｂの上位２ビットの値がいずれもＬレベル（値が“０”）であれば、アンド回路１３と１６の出力がいずれもＨレベルとなるので、アンド回路１７の出力もＨレベルとなり、低消費電力用ＣＬＫマスク信号としてＬレベル信号がアンド回路６に入力される。
【００２３】
これに対して、入力Ａの上位２ビットの値及び入力Ｂの上位２ビットの値のうち、いずれか１つでもＨレベル（値が“１”）であれば、低消費電力用ＣＬＫマスク信号はＨレベル信号となる。
【００２４】
図１に戻り、パイプラインレジスタ４は、組み合わせ回路３の８ビットの出力のうち、所定数の上位ビット、この例で上位４ビットの値を保持するパイプライン上位部７と、下位４ビットの値を保持するパイプライン下位部８とに分かれる。パイプライン下位部８にはクロック信号として常時ＣＬＫが入力される。パイプライン上位部７には、クロック信号として制御回路となるアンド回路６が出力する低消費電力用マスクＣＬＫが入力される。このアンド回路６は、判定回路５の出力する低消費電力用ＣＬＫマスク信号と、常時ＣＬＫとのアンドをとって、その結果を低消費電力用マスクＣＬＫとして出力する。
【００２５】
したがって、入力Ａの上位２ビットの値及び入力Ｂの上位２ビットの値のうち、いずれか１つでもＨレベル（値が“１”）であれば、常時ＣＬＫがＨレベルであっても、低消費電力用マスクＣＬＫはＬレベルとなる。すなわち、入力Ａの上位２ビットの値及び入力Ｂの上位２ビットの値のうち、いずれか１つでもＨレベル（値が“１”）であれば、低消費電力用マスクＣＬＫにより常時ＣＬＫは打ち消されてしまうことになる。
【００２６】
したがって、入力Ａの上位２ビットの値及び入力Ｂの上位２ビットの値のうち、いずれか１つでもＨレベル（値が“１”）であれば、常時ＣＬＫの入力によりパイプライン下位部８は動作しても、パイプライン下位部８は低消費電力用マスクＣＬＫの入力により動作を停止することになる。
【００２７】
図３は、以上の構成のデジタル回路１の各部のタイミングチャートである。図３においては、入力Ａ、入力Ｂ、判定回路５による入力Ａ及び入力Ｂの上位２ビットの判定結果（“上位２bit判定”として図示）、常時ＣＬＫ、及び、低消費電力用マスクＣＬＫの相互の関係を示している。入力Ａ、入力Ｂについては、例えば“０００１”のように、その４ビットの入力値の具体例が２進法で示されている。
【００２８】
本例の組み合わせ回路３は入力Ａと入力Ｂとの乗算を行なう。この場合に、判定回路５は入力Ａの上位２ビット、入力Ｂの上位２ビットの値がいずれも“０”であるか否かの判定を行い、その判定の結果を示す“上位２bit判定”は、入力Ａの上位２ビット、入力Ｂの上位２ビットの値がいずれも“０”であったときはＬレベル信号となり、少なくともいずれか１つが“１”であったときはＨレベル信号となる。例えば、入力Ａが“０００１”で、入力Ｂが“１００１”であるときは、入力Ｂの最上位ビットが“１”であるため、“上位２bit判定”はＨレベル信号となる。また、入力Ａが“００１１”で、入力Ｂが“０００１”であるときは、入力Ａの上位２ビット、入力Ｂの上位２ビットの値がいずれも“０”であるため、“上位２bit判定”はＬレベル信号となる。
【００２９】
常時ＣＬＫは、各１クロック内でＨレベルに立ち上がってからＬレベルに戻る。これを各１クロック中において実行する。低消費電力用マスクＣＬＫは、“上位２bit判定”と常時ＣＬＫとのアンドをとった信号であるため、入力Ａの上位２ビット、入力Ｂの上位２ビットの値の少なくともいずれか１つが“１”であったときは、常時ＣＬＫと同様の信号となるが、いずれも“０”であったときはＬレベル信号となる。
【００３０】
そのため、図３に“ＣＬＫのイベントが消滅する箇所”として示すように、入力Ａの上位２ビット、入力Ｂの上位２ビットの値がいずれも“０”であるときは、低消費電力用マスクＣＬＫはＬレベルのままとなる。すなわち、入力Ａの上位２ビット、入力Ｂの上位２ビットのいずれの値も“０”であったときは、入力Ａの上位２ビット、入力Ｂの上位２ビットの値にのみ依存する演算結果となる組み合わせ回路３の出力の上位４ビットの値も“０”となる。そして、この組み合わせ回路３の出力の上位４ビットの値を保持すべきパイプライン上位部７は、低消費電力用マスクＣＬＫがＬレベル信号となるために動作しない。この場合は、パイプライン上位部７が動作したとしても、パイプライン上位部７が保持すべき値は“００００”となるため、パイプライン上位部７が動作しなくても問題はない。
【００３１】
このように、判定回路５、アンド回路６により、パイプラインレジスタ４のパイプライン上位部７を動作させたり、停止させたりする制御は、前述のとおりパイプラインレジスタ４より後段にさらに組み合わせ回路やパイプラインレジスタを設ける場合に、当該パイプラインレジスタのパイプライン上位部に対しても設けてもよい。
【００３２】
以上のような構成により、デジタル回路１は、必要ないときはパイプライン上位部７を停止することにより、パイプライン上位部７は前述のようなグリッジの発生の影響を受けないため、グリッジの発生による消費電力の増大を抑制することができる。また、通常、ＬＳＩ内部のＣＬＫ回路は位相を合わせるためにツリー構造となっており、多段構造となっている位相調整バッファが付随しているため、このようにパイプライン上位部７への低消費電力用マスクＣＬＫの供給を停止するだけでも消費電力の増大の抑制に寄与する。
【００３３】
なお、デジタル回路１を図４のような構成としてもよい。図４は、パイプラインレジスタ４の後段に組み合わせ回路２１を設ける高齢例である。
【００３４】
すなわち、一般に使用されている高速演算器は、その組み合わせ回路内にパイプラインレジスタを備えている。そこで、判定回路５により、入力Ａの上位２ビット、入力Ｂの上位２ビットのいずれの値も“０”であったときは、入力Ａの上位２ビット、入力Ｂの上位２ビットにのみ依存する組み合わせ回路２１の上位部２２のパイプラインレジスタを停止させるようにする。この場合、入力Ａの上位２ビット、入力Ｂの上位２ビット以外の値にも依存する組み合わせ回路２１の下位部２３の動作は維持する。上位部２２のパイプラインレジスタを停止させるには、上位部２２のパイプラインレジスタのクロック信号として低消費電力用マスクＣＬＫを用いればよい。
【００３５】
この場合は、組み合わせ回路２１の上位部２２の電力も節減できるので、さらなる消費電力の増大の抑制を図ることができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施の形態であるデジタル回路の回路図である。
【図２】判定回路の回路図である。
【図３】デジタル回路の各部のタイミングチャートである。
【図４】デジタル回路の変形例の回路図である。
【図５】演算器の構成例を示す回路図である。
【符号の説明】
【００３７】
１    デジタル回路
３    組み合わせ回路
４    パイプラインレジスタ
５    判定回路
６    アンド回路
７    パイプライン上位部
８    パイプライン下位部
【図１】
2009187075.tif 000003
【図２】
2009187075.tif 000004
【図３】
2009187075.tif 000005
【図４】
2009187075.tif 000006
【図５】
2009187075.tif 000007