説明

デジタル回路

【課題】グリッジの発生による消費電力の増大を抑制することができるデジタル回路を提供する。
【解決手段】組み合わせ回路3は各4ビットの入力Aと入力Bとの乗算を行い、8ビットの演算結果を出力する。8ビットの出力はパイプレラインレジスタ4により保持される。判定回路5は、入力Aと入力Bのそれぞれ上位2ビットがいずれも“0”であるか否かを判定する。いずれも“0”であったときは、この入力Aと入力Bのそれぞれ上位2ビットの値にのみ依存する組み合わせ回路3の出力値の上位4ビットを保持するパイプレラインレジスタ4のパイプライン上位部7のクロック信号を停止して、このパイプライン上位部7の動作を停止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル回路に関する。
【背景技術】
【0002】
図5は、一般的な演算回路の構成例を示す回路図である。この演算回路101は、入力A〜Dに基づいて所定の乗算及び加算を行なって、その演算結果を出力A,Bとして出力する演算回路の例である。入力A〜Dはレジスタ102に一旦保持され、入力A,Bが乗算器103に、入力C,Dが加算器104にそれぞれ入力される。
【0003】
乗算器103は、組み合わせ回路111、パイプラインレジスタ112、組み合わせ回路113、パイプラインレジスタ114、組み合わせ回路115が、この順に接続されて構成されている。入力A,Bは組み合わせ回路111に入力され、組み合わせ回路111により入力A,Bの値に応じた所定演算が行なわれ、その出力値はパイプラインレジスタ112に保持される。そして、このパイプラインレジスタ112に保持された値を入力値として、組み合わせ回路113は入力値に応じた所定演算を行ない、その出力値はパイプラインレジスタ114に保持される。同様に、パイプラインレジスタ114に保持された値を入力値として、組み合わせ回路115は入力値に応じた所定演算を行ない、この演算結果が出力Aとなる。この出力Aはレジスタ121に保持される。
【0004】
同様に、加算器104は、組み合わせ回路131、パイプラインレジスタ132、組み合わせ回路133、パイプラインレジスタ134、組み合わせ回路135が、この順に接続されて構成されている。入力C,Dは組み合わせ回路131に入力されて組み合わせ回路131により入力C,Dの値に応じた所定演算が行なわれ、その出力値はパイプラインレジスタ132に保持される。そして、このパイプラインレジスタ132に保持された値を入力値として、組み合わせ回路133は入力値に応じた所定演算を行ない、その出力値はパイプラインレジスタ134に保持される。同様に、パイプラインレジスタ134に保持された値を入力値として、組み合わせ回路135は入力値に応じた所定演算を行ない、この演算結果が出力Bとなる。この出力Bはレジスタ121に保持される。
【0005】
このようにして、乗算器103により最終的に所定の乗算値が出力Aとして求まり、加算器104により最終的に所定の加算値が出力Bとして求まる。上記のように乗算器103、加算器104がいずれも複数の組み合わせ回路により構成され、単一の組み合わせ回路により構成されていないのは、回路のクロック周波数が高いことに対応したものである。すなわち、例えば、乗算器103を単一の組み合わせ回路により構成し、最終的に求めようとする出力Aを1クロックにより求めようとすると、高クロック周波数の回路であった場合は、当該組み合わせ回路を構成している素子の遅延により出力Aが出力されない場合があるからである。つまり、最終的な演算結果を求めるまでに必要な組み合わせ回路を複数に分割して当該複数の組み合わせ回路間を順序回路となるパイプラインレジスタで接続し、複数のクロック数にわたる演算処理により最終的な演算結果を求めようとするものである。近年の回路の高クロック周波数化の下においては、このように複数の組み合わせ回路により単一の演算回路を構成することが一般的である。
【特許文献1】特開平6‐52214号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、前述のように複数の組み合わせ回路とパイプラインレジスタとにより演算回路を構成すると、パイプラインレジスタを設けた分だけ演算回路の消費電力が増大することになる。
【0007】
また、組み合わせ回路においては、当該組み合わせ回路を構成している各演算素子の配線長さの違いや製造上のばらつきなどによりグリッジ(ひげ)が発生するのが避けられない。そして、このような組み合わせ回路においてはグリッジの発生により多くの電力を消費してしまうという不具合がある。
【0008】
そこで、本発明の目的は、グリッジの発生による消費電力の増大を抑制することができるデジタル回路を提供することである。
【課題を解決するための手段】
【0009】
(1)本発明は、複数ビットからなる値が入力され当該入力値に応じた複数ビットからなる値を出力する第1の組み合わせ回路と、前記第1の組み合わせ回路の出力値を保持する順序回路と、前記第1の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値が0か1かを判定する判定回路と、前記判定回路により前記第1の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値がいずれも0と判定したときは、前記順序回路のうち当該第1の組み合わせ回路の出力値の中で当該所定数の上位ビットの値にのみ依存する値を保持する部分の動作を停止する制御回路と、を備えているデジタル回路である。
【0010】
(2)この場合に、前記順序回路の出力値が入力され当該入力値に応じた複数ビットからなる値を出力する第2の組み合わせ回路をさらに備え、前記制御回路は、前記第2の組み合わせ回路のうち前記第1の組み合わせ回路の出力値の中で前記所定数の上位ビットの値にのみ依存する部分の動作も停止する、ようにしてもよい。
【発明の効果】
【0011】
(1)の発明によれば次のような効果を得られる。すなわち、組み合わせ回路の出力値の所定数の上位ビットの値がどうなるかについて、当該回路の入力値のうち所定数の上位ビットのみに依存しているという場合がある。第1の組み合わせ回路について、このような関係が認められるときには、第1の組み合わせ回路の入力値のうち所定数の上位ビットの値がいずれも0であれば、当該上位ビットの値のみに依存する出力値の所定数の上位ビットの値も必ず0となる。そこで、判定回路により第1の組み合わせ回路の入力値のうち所定数の上位ビットの値がいずれも0であると判定したときは、出力値のうち当該上位ビットの値のみに依存する所定数の上位ビットの値を保持する順序回路の部分の動作を停止しても処理に支障がなく、当該停止部分におけるグリッジの発生による消費電力の増大を抑制することができる。
【0012】
(2)の発明によれば、第2の組み合わせ回路の一部について動作を停止しても当該第2の組み合わせ回路における処理に支障がなく、当該停止部分におけるグリッジの発生による消費電力の増大を抑制することができるので、消費電力をさらに抑制することができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の一実施の形態について図面を参照して説明する。
【0014】
図1は、本実施の形態にかかるデジタル回路1の回路図である。このデジタル回路1は、演算器、より具体的には乗算器の例である。
【0015】
すなわち、デジタル回路1は、複数ビット、この例で4ビットの入力Aと、複数ビット、この例で4ビットの入力Bとを入力信号とすることにより、この入力A,Bに応じた乗算を行い、複数ビット、この例で8ビットの演算結果を出力する回路である。
【0016】
入力A,Bは、まずレジスタ2により保持され、このレジスタ2により保持された入力A,Bは、組み合わせ回路3に入力される。組み合わせ回路3は入力A,Bの値に基づいて所定の乗算を行なう複数の論理演算素子から構成されている。組み合わせ回路3は乗算の結果を8ビットの値で出力する。
【0017】
パイプラインレジスタ4は、順序回路となるものであり、8つのフリップフロップを備え、8ビットの値を保持できるレジスタである。パイプラインレジスタ4は、組み合わせ回路3が出力する8ビットの値を保持する。そして、この8ビットの値はパイプラインレジスタ4からさらに後段の回路に出力される。
【0018】
レジスタ2、パイプラインレジスタ4には、クロック信号として常時CLKが入力される。レジスタ2に入力A,Bが保持されている状態で1クロックのクロック信号の入力がなされると、1クロック周期の間に、レジスタ2の保持している入力A,Bの値が組み合わせ回路3に与えられ、組み合わせ回路3で所定の演算がなされて、その演算結果がパイプラインレジスタ4に保持される。
【0019】
図1においては、説明の便宜上、単一の組み合わせ回路3とその後段のパイプラインレジスタ4のみを図示しているが、本発明のデジタル回路はこのような構成に限定されるものではなく、図5を参照して説明した演算回路と同様に、パイプラインレジスタ4の後段にさらに1又は複数の組み合わせ回路とパイプラインレジスタとを交互に配置するようにしてもよい。よって、例えば図5の例のように組み合わせ回路を3段に配置したときは、デジタル回路1で最終的な演算結果を得るまでに3クロック周期分の時間が必要である。
【0020】
判定回路5は、入力A,入力Bのそれぞれの所定数の上位ビット、この例で上位2ビットのそれぞれの値が0か1かを判定する。そして、入力A,入力Bのそれぞれの上位2ビットの値がいずれも0であったときは、Hレベル信号をアンド回路6に入力する。
【0021】
図2は、判定回路5の具体的な回路構成を示す回路図である。まず、入力Aの上位2ビットの値は、それぞれインバータ11,12により反転される。アンド回路13はインバータ11と12の出力値のアンドをとる。同様に、入力Bの上位2ビットの値は、それぞれインバータ14,15により反転される。アンド回路16はインバータ14と15の出力値のアンドをとる。アンド回路17はアンド回路13と16の出力値のアンドをとる。アンド回路17の出力値はインバータ18により反転される。そして、アンド回路17の出力は、低消費電力用CLKマスク信号としてアンド回路6に入力される。
【0022】
すなわち、この判定回路5によれば、入力Aの上位2ビットの値及び入力Bの上位2ビットの値がいずれもLレベル(値が“0”)であれば、アンド回路13と16の出力がいずれもHレベルとなるので、アンド回路17の出力もHレベルとなり、低消費電力用CLKマスク信号としてLレベル信号がアンド回路6に入力される。
【0023】
これに対して、入力Aの上位2ビットの値及び入力Bの上位2ビットの値のうち、いずれか1つでもHレベル(値が“1”)であれば、低消費電力用CLKマスク信号はHレベル信号となる。
【0024】
図1に戻り、パイプラインレジスタ4は、組み合わせ回路3の8ビットの出力のうち、所定数の上位ビット、この例で上位4ビットの値を保持するパイプライン上位部7と、下位4ビットの値を保持するパイプライン下位部8とに分かれる。パイプライン下位部8にはクロック信号として常時CLKが入力される。パイプライン上位部7には、クロック信号として制御回路となるアンド回路6が出力する低消費電力用マスクCLKが入力される。このアンド回路6は、判定回路5の出力する低消費電力用CLKマスク信号と、常時CLKとのアンドをとって、その結果を低消費電力用マスクCLKとして出力する。
【0025】
したがって、入力Aの上位2ビットの値及び入力Bの上位2ビットの値のうち、いずれか1つでもHレベル(値が“1”)であれば、常時CLKがHレベルであっても、低消費電力用マスクCLKはLレベルとなる。すなわち、入力Aの上位2ビットの値及び入力Bの上位2ビットの値のうち、いずれか1つでもHレベル(値が“1”)であれば、低消費電力用マスクCLKにより常時CLKは打ち消されてしまうことになる。
【0026】
したがって、入力Aの上位2ビットの値及び入力Bの上位2ビットの値のうち、いずれか1つでもHレベル(値が“1”)であれば、常時CLKの入力によりパイプライン下位部8は動作しても、パイプライン下位部8は低消費電力用マスクCLKの入力により動作を停止することになる。
【0027】
図3は、以上の構成のデジタル回路1の各部のタイミングチャートである。図3においては、入力A、入力B、判定回路5による入力A及び入力Bの上位2ビットの判定結果(“上位2bit判定”として図示)、常時CLK、及び、低消費電力用マスクCLKの相互の関係を示している。入力A、入力Bについては、例えば“0001”のように、その4ビットの入力値の具体例が2進法で示されている。
【0028】
本例の組み合わせ回路3は入力Aと入力Bとの乗算を行なう。この場合に、判定回路5は入力Aの上位2ビット、入力Bの上位2ビットの値がいずれも“0”であるか否かの判定を行い、その判定の結果を示す“上位2bit判定”は、入力Aの上位2ビット、入力Bの上位2ビットの値がいずれも“0”であったときはLレベル信号となり、少なくともいずれか1つが“1”であったときはHレベル信号となる。例えば、入力Aが“0001”で、入力Bが“1001”であるときは、入力Bの最上位ビットが“1”であるため、“上位2bit判定”はHレベル信号となる。また、入力Aが“0011”で、入力Bが“0001”であるときは、入力Aの上位2ビット、入力Bの上位2ビットの値がいずれも“0”であるため、“上位2bit判定”はLレベル信号となる。
【0029】
常時CLKは、各1クロック内でHレベルに立ち上がってからLレベルに戻る。これを各1クロック中において実行する。低消費電力用マスクCLKは、“上位2bit判定”と常時CLKとのアンドをとった信号であるため、入力Aの上位2ビット、入力Bの上位2ビットの値の少なくともいずれか1つが“1”であったときは、常時CLKと同様の信号となるが、いずれも“0”であったときはLレベル信号となる。
【0030】
そのため、図3に“CLKのイベントが消滅する箇所”として示すように、入力Aの上位2ビット、入力Bの上位2ビットの値がいずれも“0”であるときは、低消費電力用マスクCLKはLレベルのままとなる。すなわち、入力Aの上位2ビット、入力Bの上位2ビットのいずれの値も“0”であったときは、入力Aの上位2ビット、入力Bの上位2ビットの値にのみ依存する演算結果となる組み合わせ回路3の出力の上位4ビットの値も“0”となる。そして、この組み合わせ回路3の出力の上位4ビットの値を保持すべきパイプライン上位部7は、低消費電力用マスクCLKがLレベル信号となるために動作しない。この場合は、パイプライン上位部7が動作したとしても、パイプライン上位部7が保持すべき値は“0000”となるため、パイプライン上位部7が動作しなくても問題はない。
【0031】
このように、判定回路5、アンド回路6により、パイプラインレジスタ4のパイプライン上位部7を動作させたり、停止させたりする制御は、前述のとおりパイプラインレジスタ4より後段にさらに組み合わせ回路やパイプラインレジスタを設ける場合に、当該パイプラインレジスタのパイプライン上位部に対しても設けてもよい。
【0032】
以上のような構成により、デジタル回路1は、必要ないときはパイプライン上位部7を停止することにより、パイプライン上位部7は前述のようなグリッジの発生の影響を受けないため、グリッジの発生による消費電力の増大を抑制することができる。また、通常、LSI内部のCLK回路は位相を合わせるためにツリー構造となっており、多段構造となっている位相調整バッファが付随しているため、このようにパイプライン上位部7への低消費電力用マスクCLKの供給を停止するだけでも消費電力の増大の抑制に寄与する。
【0033】
なお、デジタル回路1を図4のような構成としてもよい。図4は、パイプラインレジスタ4の後段に組み合わせ回路21を設ける高齢例である。
【0034】
すなわち、一般に使用されている高速演算器は、その組み合わせ回路内にパイプラインレジスタを備えている。そこで、判定回路5により、入力Aの上位2ビット、入力Bの上位2ビットのいずれの値も“0”であったときは、入力Aの上位2ビット、入力Bの上位2ビットにのみ依存する組み合わせ回路21の上位部22のパイプラインレジスタを停止させるようにする。この場合、入力Aの上位2ビット、入力Bの上位2ビット以外の値にも依存する組み合わせ回路21の下位部23の動作は維持する。上位部22のパイプラインレジスタを停止させるには、上位部22のパイプラインレジスタのクロック信号として低消費電力用マスクCLKを用いればよい。
【0035】
この場合は、組み合わせ回路21の上位部22の電力も節減できるので、さらなる消費電力の増大の抑制を図ることができる。
【図面の簡単な説明】
【0036】
【図1】本発明の一実施の形態であるデジタル回路の回路図である。
【図2】判定回路の回路図である。
【図3】デジタル回路の各部のタイミングチャートである。
【図4】デジタル回路の変形例の回路図である。
【図5】演算器の構成例を示す回路図である。
【符号の説明】
【0037】
1 デジタル回路
3 組み合わせ回路
4 パイプラインレジスタ
5 判定回路
6 アンド回路
7 パイプライン上位部
8 パイプライン下位部

【特許請求の範囲】
【請求項1】
複数ビットからなる値が入力され当該入力値に応じた複数ビットからなる値を出力する第1の組み合わせ回路と、
前記第1の組み合わせ回路の出力値を保持する順序回路と、
前記第1の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値が0か1かを判定する判定回路と、
前記判定回路により前記第1の組み合わせ回路の入力値のうち所定数の上位ビットのそれぞれの値がいずれも0と判定したときは、前記順序回路のうち当該第1の組み合わせ回路の出力値の中で当該所定数の上位ビットの値にのみ依存する値を保持する部分の動作を停止する制御回路と、
を備えているデジタル回路。
【請求項2】
前記順序回路の出力値が入力され当該入力値に応じた複数ビットからなる値を出力する第2の組み合わせ回路をさらに備え、
前記制御回路は、前記第2の組み合わせ回路のうち前記第1の組み合わせ回路の出力値の中で前記所定数の上位ビットの値にのみ依存する部分の動作も停止する、
請求項1に記載のデジタル回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−187075(P2009−187075A)
【公開日】平成21年8月20日(2009.8.20)
【国際特許分類】
【出願番号】特願2008−23462(P2008−23462)
【出願日】平成20年2月4日(2008.2.4)
【出願人】(000004330)日本無線株式会社 (1,186)
【Fターム(参考)】