(57)【要約】  本発明の目的は、半導体集積回路の消費電力を平準化することである。第１の演算ブロック群には同相クロック信号ＣＬＫ１が供給され、第２の演算ブロック群には、同相クロックＣＬＫ１を反転した逆相クロック信号ＣＬＫ２が供給されている。そして、逆相クロック信号ＣＬＫ２に同期したデータを同相クロック信号ＣＬＫ１に同期したデータに変換する回路が設けられている。同相クロック信号ＣＬＫ１に同期して動作する演算ブロック群の消費電力が最大となるタイミングと、逆相クロック信号ＣＬＫ２に同期して動作する演算ブロック群の消費電力が最大となるタイミングは半周期ずれるので、半導体集積回路１０の消費電力の最大値を小さくし消費電力を平準化できる。
2008038391.tif 000002
【特許請求の範囲】
【請求項１】
第１のクロック信号に同期したタイミングで動作する第１の演算回路群と、
前記第１のクロック信号と所定の位相差を有する第２のクロック信号に同期したタイミングで動作する第２の演算回路群と、
前記第２の演算回路群の出力データを前記第１のクロック信号に同期したデータに変換して前記第１の演算回路群に出力するタイミング変換回路とを備える半導体集積装置。
【請求項２】
前記タイミング変換回路は、前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する請求項１記載の半導体集積装置。
【請求項３】
前記タイミング変換回路は、前記第２のクロック信号に同期したタイミングでデータをラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とを有する請求項１記載の半導体集積装置。
【請求項４】
前記第１の演算回路群の入出力データが送出される第１のデータネットワークと、
前記第２の演算回路群の入出力データが送出される第２のデータネットワークとを有し、
前記タイミング変換回路は、前記第２のデータネットワーク上のデータを前記第１のクロック信号に同期したデータに変換して前記第１のデータネットワークに送出する請求項１記載の半導体集積装置。
【請求項５】
前記タイミング変換回路は、前記第１のデータネットワークに送出されたデータを前記第１のクロック信号に同期したタイミングでラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第２のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とからなる請求項４記載の半導体集積装置。
【請求項６】
前記第１のクロック信号に同期して動作する前記第１の演算回路群と前記第１のデータネットワークを第１の領域に配置し、
前記第２のクロック信号に同期して動作する前記第２の演算回路群と前記第２のデータネットワークとを第２の領域に配置し、
前記タイミング変換回路を前記第１の領域と前記第２の領域の間に配置した請求項４記載の半導体集積素位置。
【請求項７】
前記第１及び第２のクロック信号と所定の位相差を有する第３のクロック信号に同期したタイミングで動作する第３の演算回路群を有し、
前記タイミング変換回路は、前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する第１のタイミング変換回路と、前記第２の演算回路群の出力データを前記第３のクロック信号に同期したデータに変換して前記第３の演算回路群に出力する第２のタイミング変換回路とを有する請求項４記載の半導体集積装置。
【請求項８】
前記タイミング変換回路は、前記第１の演算回路群の複数の演算回路の出力データを、前記第１のクロック信号に同期したタイミングでラッチする入力側の複数の第１のラッチ回路と、ラッチされたデータを記憶する複数の第１の記憶部と、前記複数の第１の記憶部に記憶されたデータを前記第２のクロック信号に同期したタイミングでラッチする出力側の複数の第２のラッチ回路と、前記第２の演算回路群の複数の演算回路の出力データを、前記第２のクロック信号に同期したタイミングでラッチする入力側の複数の第３のラッチ回路と、ラッチされたデータを記憶する複数の第２の記憶部と、前記複数の第２の記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側の複数の第４のラッチ回路とを有する請求項１記載の半導体集積装置。
【請求項９】
第１の演算回路群を第１のクロック信号に同期したタイミングで動作させ、
第２の演算回路群を前記第１のクロック信号と所定の位相差を有する第２のクロック信号に同期したタイミングで動作させ、
前記第２の演算回路群の出力データを前記第１のクロック信号に同期したデータに変換して前記第１の演算回路群に出力する半導体集積装置の消費電力平準化方法。
【請求項１０】
前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する請求項９記載の半導体集積装置の消費電力平準化方法。
【請求項１１】
前記第２クロック信号に同期したタイミングで前記第１の演算回路群の出力データをラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とを用いて第２のクロック信号に同期したデータを前記第１のクロック信号に同期したデータに変換する請求項９記載の半導体集積装置の消費電力平準化方法。
【請求項１２】
前記第１の演算回路群の入出力データを第１のデータネットワークに送出し、
前記第２の演算回路群の入出力データを第２のデータネットワークに送出し、
前記第１のデータネットワーク上のデータを前記第２のクロック信号に同期したデータに変換して前記第２のデータネットワークに送出すると共に、前記第２のデータネットワーク上のデータを前記第１のクロック信号に同期したデータに変換して前記第１のデータネットワークに送出する請求項９記載の半導体集積装置の消費電力平準化方法。
【請求項１３】
第３の演算回路群を前記第１及び第２のクロック信号と所定の位相差を有する第３のクロック信号に同期したタイミングで動作させ、
前記第１の演算回路群から出力される前記第１のクロック信号に同期したデータを、前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力し、
前記第２のクロック信号に同期したデータを、前記第３のクロック信号に同期したデータに変換して前記第３の演算回路群に出力する請求項９記載の半導体集積装置の消費電力平準化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力を平準化した半導体集積装置及び半導体集積装置の消費電力の平準化方法に関する。
【背景技術】
【０００２】
クロックの立ち上がりエッジまたは立ち下がりエッジに同期して動作する相補型トランジスタ等で構成される半導体集積回路では、充放電タイミングが全てのトランジスタで同時であるために、そのときの消費電力が非常に大きくなる。そのため電源電圧が一時的に低下してトランジスタが誤動作することがある。そのような問題を回避するために従来は電源パターンを太くし、さらに電源強化用のキャパシタを設けていた。【０００３】
図１２は、従来の同期式の演算ブロックのブロック図である。半導体集積回路１２０は、複数の演算ブロック１２１、１２２・・・１２ｎと、データネットワーク１３１とを有する。各演算ブロック１２１、１２２・・・１２ｎは、同相クロック信号ＣＬＫに同期したタイミングで動作する。【０００４】
図１３は、図１２の半導体集積回路１２０の消費電力を示す図である。図１３に示すように同相クロック信号ＣＬＫの立ち上がりのタイミングで各演算ブロック１２１〜１２ｎが動作するので、同相クロック信号ＣＬＫの立ち上がり時に消費電力が最大となる。従って、半導体集積回路１２０の全体の消費電力のピーク値も同相クロック信号ＣＬＫの立ち上がりのタイミングとなる。【０００５】
特許文献１には、回路で発生する電磁波ノイズを低減するために、位相の異なる複数のクロック信号を複数の回路ブロックに供給することが記載されている。特許文献１の発明は、回路で発生する電磁波ノイズを低減するためのものであり、消費電力の平準化を目的としたものではない。
【特許文献１】特開２００４−１６４２９３号公報
【発明の開示】
【０００６】
本発明の課題は、半導体集積回路の消費電力を平準化することである。
本発明の半導体集積装置は、第１のクロック信号に同期したタイミングで動作する第１の演算回路群と、前記第１のクロック信号と所定の位相差を有する第２のクロック信号に同期したタイミングで動作する第２の演算回路群と、前記第２の演算回路群の出力データを前記第１のクロック信号に同期したデータに変換して前記第１の演算回路群に出力するタイミング変換回路とを備える。
【０００７】
この発明によれば、半導体集積装置内の第１の演算回路群と第２の演算回路群の消費電力が最大となるタイミングをずらすことができる。これにより半導体集積回路の電源パターンに流れる最大電流を少なくできるので、電源パターンのパターン幅を狭くできる。また、電源と接地間に挿入するキャパシタの容量を小さくできるので、半導体集積装置上に形成するキャパシタのデバイス面積を小さくできる。
【０００８】
上記の発明の半導体集積装置において、前記タイミング変換回路は、前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する。
【０００９】
このように構成することで、第１の演算回路群と第２の演算回路群を異なる位相のクロック信号で動作させたときに、第１の演算回路群の出力データを第２のクロック信号に同期させ、かつ第２の演算回路群の出力データを第１のクロック信号に同期させることができる。これにより、異なる位相のクロック信号に同期して動作する第１の演算回路群の出力データと第２の演算回路群の出力データを相互に入力して演算を行うことができる。
【００１０】
上記の発明の半導体集積装置において、前記タイミング変換回路は、前記第２のクロック信号に同期したタイミングでデータをラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第1のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とを有する。
【００１１】
このように構成することで、ラッチ回路と記憶部とでデータの出力タイミングを変換することができる。
上記の発明において、前記第１のクロック信号に同期して動作する前記第１の演算回路群と、前記第１の演算回路群の入出力データが送出される第１のデータネットワークを第１の領域に配置し、前記第２のクロック信号に同期して動作する前記第２の演算回路群と前記第２のデータネットワークとを第２の領域に配置し、前記タイミング変換回路を前記第１の領域と前記第２の領域の間に配置した。
【００１２】
このように構成することで第２の領域に配置した第２の演算回路群の出力データを、第１のクロック信号に同期したデータに変換して第１の領域に配置した第１の演算回路群に出力することができる。
【００１３】
上記の発明の半導体集積装置において、前記第１及び第２のクロック信号と所定の位相差を有する第３のクロック信号に同期したタイミングで動作する第３の演算回路群を有し、前記タイミング変換回路は、前記第１のクロック信号に同期したデータを、前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する第１のタイミング変換回路と、前記第２のクロック信号に同期したデータを、前記第３のクロック信号に同期したデータに変換して前記第３の演算回路群に出力する第２のタイミング変換回路とを有する。
【００１４】
このように構成することで３種類のクロック信号で第１、第２、第３の演算回路群を動作させたときに、各演算回路群の出力データを出力対象の演算回路群が動作するクロックタイミングに合わせることができる。
【００１５】
上記の発明の半導体集積装置において、前記タイミング変換回路は、前記第１の演算回路群の複数の演算回路の出力データを、前記第１のクロック信号に同期したタイミングでラッチする入力側の複数の第１のラッチ回路と、ラッチされたデータを記憶する複数の第１の記憶部と、前記複数の第１の記憶部に記憶されたデータを前記第２のクロック信号に同期したタイミングでラッチする出力側の複数の第２のラッチ回路と、前記第２の演算回路群の複数の演算回路の出力データを、前記第２のクロック信号に同期したタイミングでラッチする入力側の複数の第３のラッチ回路と、ラッチされたデータを記憶する複数の第２の記憶部と、前記複数の第２の記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側の複数の第４のラッチ回路とを有する。
【００１６】
このように構成することで第１の演算回路群の複数の演算回路の出力データを、複数の入力側の第１のラッチ回路と、出力側の複数の第１のラッチ回路とクロック信号に同期したタイミングで複数の第１のラッチ回路にラッチする。
【００１７】
このように構成することで第１の演算回路群の複数の演算回路から出力される複数の出力データを、同時にまたは前後したタイミングで第２クロック信号に同期したデータに変換して第２の演算回路群に出力することができる。また、第２の演算回路群の複数の演算回路から出力される複数の出力データを、同時または前後したタイミングで第１のクロック信号に同期したデータに変換して第１の演算回路群に出力することができる。これにより第１または第２の演算回路群からデータが輻輳して出力される場合でも、それらのデータのクロックタイミングを変換して演算回路群に出力することができる。
【図面の簡単な説明】
【００１８】
【図１】第1の実施の形態の半導体集積回路のブロック図である。
【図２】第１の実施の形態の具体的構成を示す図である。
【図３】演算ブロックの動作を示すタイミングチャートである。
【図４】第２の実施の形態の半導体集積回路のブロック図である。
【図５】第２の実施の形態の演算ブロックの動作を示すタイミングチャートである。
【図６】第３の実施の形態の半導体集積回路のブロック図である。
【図７】第３の実施の形態の具体的構成を示す図である。
【図８】第３の実施の形態の動作を示すフローチャートである。
【図９】第３の実施の形態の主要部のブロック図である。
【図１０】第３の実施の形態の動作を示すタイミングチャートである。
【図１１】第４の実施の形態の半導体集積回路のブロック図である。
【図１２】従来の同期式回路のブロック図である。
【図１３】同期式回路の消費電力を示す図である。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施の形態を図面を参照して説明する。図１は、本発明の第1の実施の形態の消費電力平準化回路を含む半導体集積回路（半導体集積装置）１０のブロック図である。この第１の実施の形態は、演算ブロックに供給するクロック信号の位相が２相の場合の例である。【００２０】
半導体集積回路１０は、複数の演算ブロック１１，１２・・・１ｎと、入力データと演算結果のデータが送出されるデータネットワーク９と、クロック信号ＣＬＫを反転するインバータ２０とを有する。演算ブロック１１〜１ｎ，インバータ２０等は、例えば、相補型ＭＯＳトランジスタで構成されている。【００２１】
演算ブロック（演算ブロックＡ）１１は、入力バッファ２１と演算コア２２と出力バッファ２３とを有する。また、演算ブロック（演算ブロックＢ）１２も入力バッファ２４と演算コア２５と出力バッファ２６を有する。他の演算ブロックも同様の構成を有する。【００２２】
演算ブロック１１〜１ｎは、２つの演算ブロック群、例えば、奇数番目の演算ブロック群と偶数番目の演算ブロック群に分けられている。奇数番目の演算ブロック１１には、同相クロック信号ＣＬＫが供給され、偶数番目の演算ブロック１２には、同相クロックＣＬＫを反転した逆相クロック信号ＣＬＫバー（反転信号を指す）が供給されている。【００２３】
奇数番目の演算ブロック群（第１または第２の演算回路群に対応する）は、同相クロック信号ＣＬＫ（以下、ＣＬＫ１と呼ぶ）の立ち上がりに同期して動作し、偶数番目の演算ブロック群（第１または第２の演算回路群に対応する）は、逆相クロック信号ＣＬＫ（以下、ＣＬＫ２と呼ぶ）の立ち上がり（同相クロック信号ＣＬＫ１の立ち下がり）に同期して動作する。【００２４】
従って、同相クロック信号ＣＬＫ１に同期して動作する演算ブロック群の消費電力が最大となるタイミングと、逆相クロック信号ＣＬＫ２に同期して動作する演算ブロック群の消費電力が最大となるタイミングは半周期ずれることになる。これにより、半導体集積回路１０の消費電力の最大値を小さくして消費電力を平準化できる。消費電力を平準化することで電源回路の最大電流容量を小さくできるので、電源パターン幅を狭く設計でき、電源と接地間に挿入するキャパシタの容量も小さくできる。キャパシタの容量を小さくすることで半導体集積回路上に形成するキャパシタのデバイス面積を小さくできる。【００２５】
図１のインバータ２０と演算ブロック１１及び１２の入力バッファ２１、２４、出力バッファ２３、２６等が消費電力平準化回路に該当する。
次に、図２は、半導体集積回路１０の演算ブロック１１及び１２の具体的構成を示す図である。なお、図２には、説明を簡単にするために、２個の演算ブロック１１，１２のみを示してある。【００２６】
同相クロック信号ＣＬＫ１に同期して動作する演算ブロック（演算ブロックＡ）１１の入力バッファ２１はＦＩＦＯ形式のＲＡＭであり、入力側のフリップフロップ２１ａと、ＲＡＭコア２１ｂと、出力側のフリップフロップ２１ｃとからなる。演算コア２２は、入力側のフリップフロップ２２ａと、論理ゲート等からなる組み合わせ回路２２ｂと、出力側のフリップフロップ２２ｃとからなる。出力バッファ２３もＦＩＦＯ形式のＲＡＭであり、フリップフロップ２３ａと、ＲＡＭコア２３ｂと、フリップフロップ２３ｃとからなる。【００２７】
入力バッファ２１の入力側のフリップフロップ２１ａ、出力側のフリップフロップ２１ｃと、出力バッファ２３の入力側のフリップフロップ２３ａ、出力側のフリップフロップ２３ｃは、同相クロック信号ＣＬＫ１の立ち上がりのタイミングでデータをラッチする。演算コア２２のフリップフロップ２２ａ、２２ｃも同相クロック信号ＣＬＫ１１の立ち上がりのタイミングでデータをラッチする。【００２８】
逆相クロック信号ＣＬＫ２に同期して動作する演算ブロック（演算ブロックＢ）１２の入力バッファ２４、演算コア２５、出力バッファ２６も演算ブロック１１と同じ構成を有する。【００２９】
ただし、演算ブロック１２の入力バッファ２４の入力側のフリップフロップ２４ａは、同相クロック信号ＣＬＫ１の立ち上がりのタイミングでデータをラッチするが、出力側のフリップフロップ２４ｃは、逆相クロック信号ＣＬＫ２の立ち上がり（同相クロック信号ＣＬＫ１の立ち下がり）のタイミングでＲＡＭコア２４ｂから出力されるデータをラッチする。【００３０】
演算コア２５の入力側のフリップフロップ２５ａと出力側のフリップフロップ２５ｃは、逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでデータをラッチする。
出力バッファ２６の入力側のフリップフロップ２６ａは、演算コア２５の出力データを逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでラッチし、出力側のフリップフロップ２６ｃは、ＲＡＭコア２６ｂから出力されるデータを、同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチする。【００３１】
すなわち、演算ブロック１２は、演算ブロック１１の出力データを同相クロック信号ＣＬＫ１に同期したタイミング（同相クロック信号ＣＬＫ１の立ち上がり）でラッチし、ラッチしたデータに所定の演算を行った後、そのデータを逆相クロック信号ＣＬＫ２に同期したタイミング（逆相クロック信号ＣＬＫ２の立ち上がり）でラッチして出力する。【００３２】
ここで、上記の演算ブロック１１及び１２の動作を、図３のタイミングチャートを参照して説明する。図３のタイミングチャートの（１）、（２）等の符号で示すデータは、図２の回路の（１）、（２）で示される点の入力データまたは出力データに対応している。【００３３】
図３の（１）に示すタイミングでデータネットワーク９上にデータＤ０、Ｄ１、Ｄ２、Ｄ３、Ｄ４・・・が出力される。
次に、図３の（２）に示すタイミングで、演算ブロック１１のフリップフロップ２１ａが、同相クロック信号ＣＬＫ１の立ち上がりに同期してデータＤ１、Ｄ２、Ｄ３、ＤＥ４・・・をラッチしてＲＡＭコア２１ｂに出力する。【００３４】
次に、図３の（３）に示すタイミングで、演算コアがラッチされたデータに対して演算を行う。図３には、入力バッファ２１のＲＡＭコア２１ｂの出力遅延時間が、同相クロック信号ＣＬＫ１の４サイクル分ある場合の演算タイミングを示してある。【００３５】
次に、図３の（４）に示すタイミングで、出力バッファ２３のフリップフロップ２３ａが、同相クロック信号ＣＬＫ１の立ち上がりに同期して、演算コア２２から出力される演算データＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチする。【００３６】
次に、図３の（５）に示すタイミングで、入力バッファ２４のＲＡＭコア２４ｂが、同相クロック信号ＣＬＫ１の立ち上がりに同期して、演算ブロック１１の出力データＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチする。【００３７】
次に、図３の（６）に示すタイミングで、入力バッファ２４の出力側のフリップフロップ２４ｃが、逆相クロック信号ＣＬＫ２の立ち上がり（同相クロック信号ＣＬＫ１の立ち下がり）に同期して、ＲＡＭコア２４ｂの出力データＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチし、ラッチしたデータを演算コア２５に出力する。【００３８】
次に、図３の（７）に示すタイミングで、演算コア２５の入力側のフリップフロップ２５ａが、逆相クロック信号ＣＬＫ２の立ち上がりに同期して、入力バッファ２４から出力されるデータＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチし、組み合わせ回路２５ｂがそのデータの演算を開始する。【００３９】
次に、図３の（８）に示すタイミングで、出力バッファ２６の入力側のフリップフロップ２６ａが、逆相クロック信号ＣＬＫ２の立ち上がりに同期して、演算コア２５の出力データＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチする。【００４０】
次に、図３の（９）に示すタイミングで、出力バッファ２６の出力側のフリップフロップ２６ｃが、同相クロック信号ＣＬＫ１の立ち上がりに同期して、ＲＡＭコア２６ｂの出力データＤ１、Ｄ２、Ｄ３、Ｄ４・・・をラッチする。【００４１】
上述した第１の実施の形態は、半導体集積回路１０の複数の演算ブロックを２つの演算ブロック群に分け、一方の演算ブロック群を同相クロック信号ＣＬＫ１の立ち上がりに同期して動作させ、他方の演算ブロック群をその同相クロック信号ＣＬＫ１の逆位相の逆相クロック信号ＣＬＫ２の立ち上がりに同期して動作させる。これにより、第１の演算ブロック群の消費電力が最大値となるタイミングと、第２の演算ブロック群の消費電力が最大値となるタイミングを半周期ずらすことができる。よって、それらの演算ブロック群に電力を供給する電源回路の最大電流容量を１／２にすることができる。また、電源回路の最大電流容量を小さくできるので電源と接地との間に設けるキャパシタの容量も小さくできる。これにより半導体集積回路１０上に形成するキャパシタのデバイス面積を小さくできる。さらに、最大電流が小さくなるので電源線のパターン幅も狭くできる。【００４２】
次に、図４は、第２の実施の形態の消費電力平準化回路を含む半導体集積回路３０のブロック図である。この第２の実施の形態は、演算ブロックに供給するクロック信号の位相がｎ相の場合の例である。【００４３】
図４において、半導体集積回路３０は、ｎ個の演算ブロック３１、３２，３３・・３ｎと、データネットワーク４１と、ｎ位相クロック生成部４２とからなる。
ｎ位相クロック生成部４２は、入力データと同期するクロックＣＬＫ１と、そのクロック信号と同じ周期で所定の位相差を有するクロック信号ＣＬＫ２、ＣＬＫ３・・・ＣＬＫｎを生成する。【００４４】
１番目の演算ブロック３１には、クロック信号ＣＬＫ１が供給され、２番目の演算ブロック３２には、クロック信号ＣＬＫ１と所定の位相差を有するクロック信号ＣＬＫ２が供給されている。また、３番目の演算ブロック３３には、クロック信号ＣＬＫ１，ＣＬＫ２と所定の位相差を有するクロック信号ＣＬＫ３が供給される。以下、同様に他の演算ブロック３ｎにも所定の位相差を有するクロック信号ＣＬＫｎが供給される。【００４５】
ここで、図４の半導体集積回路３０の消費電力について図５を参照して説明する。
第２の実施の形態では、ｎ個の演算ブロックにそれぞれ位相の異なるｎ個のクロック信号ＣＬＫ１〜ＣＬＫｎが供給されている。【００４６】
クロック信号ＣＬＫ１が供給される演算ブロック３１のＭＯＳトランジスタは、クロック信号ＣＬＫ１の立ち上がりのタイミングでＯＮとなるので、図５に示すように、演算ブロック３１の消費電力はクロック信号ＣＬＫ１の立ち上がりのタイミングで最大となる。【００４７】
同様に、クロック信号ＣＬＫ２が供給される演算ブロック３２のＭＯＳトランジスタは、クロック信号ＣＬＫ２の立ち上がりでＯＮとなる。従って、図５に示すように、演算ブロック３２の消費電力は、クロック信号ＣＬＫ１と所定の位相差を有するクロック信号ＣＬＫ２の立ち上がりのタイミングで最大となる。【００４８】
以下同様に、クロック信号ＣＬＫｎが供給される演算ブロック３ｎは、クロック信号ＣＬＫｎの立ち上がりのタイミングでオンとなる。従って、演算ブロック３ｎの消費電力は、クロック信号ＣＬＫ１，ＣＬＫ２・・・ＣＬＫｎ−１と所定の位相差を有するクロック信号ＣＬＫｎの立ち上がりのタイミングで最大となる。【００４９】
この第２の実施の形態によれば、ｎ個の演算ブロックをｎ位相のクロック信号ＣＬＫ１〜ＣＬＫｎで動作させることで、演算ブロックの消費電力の合計値のピーク値を約１／ｎにすることができる。これにより電源回路の最大電流容量を小さく設計できるので、電源線と接地間に接続する電源用キャパシタの容量を小さくできる。これにより半導体集積回路３０上に形成するＭＯＳトランジスタのデバイス面積を第１の実施の形態に比べて小さくできる。また、電源回路の最大電流が小さくなることから電源線のパターン幅を狭くすることができる。【００５０】
次に、図６は、第３の実施の形態の消費電力平準化回路を含む半導体集積回路５０のブロック図である。
この第３の実施の形態は、逆相クロック信号ＣＬＫ２で動作する演算ブロックの出力データを同相クロック信号ＣＬＫ１に同期したデータに変換する、あるいは同相クロック信号ＣＬＫ１で動作する演算ブロックの出力データを逆相クロック信号ＣＬＫ２に同期したデータに変換する回路（この回路をクロック乗り換えチャネルと呼ぶ）を演算ブロックの外部に設け、複数の演算ブロックが共通してクロック乗り換えチャネルを使用できるようにしたものである。第３の実施の形態は、演算ブロックに供給するクロック信号の位相が２種類の場合の例である。【００５１】
図６の半導体集積回路５０は、同相クロック動作領域７１に配置された演算ブロック５１，５２・・・５ｎと、データネットワーク（バスまたはクロスバースイッチ）７３と、クロック乗り換えチャネル（タイミング変換回路に対応する）７４と、逆相クロック動作領域７２に配置された演算ブロック６１，６２・・・６ｎと、データネットワーク７５と、同相クロック信号ＣＬＫ１の反転信号を生成するインバータ７６と、データネットワーク７５のデータを同相クロック信号ＣＬＫ１に同期させる同相乗り換え回路７７を有する。【００５２】
クロック乗り換えチャネル７４は、複数の演算ブロックの出力データを同時に処理できるように同様な構成を有する複数の回路で構成されている。クロック乗り換えチャネル７４は、逆相クロック動作領域７２の演算ブロック６１〜６ｎで演算されたデータを、同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチして同相クロック動作領域７１の演算ブロックに出力する。また、クロック乗り換えチャネル７４は、同相クロック動作領域７１の演算ブロックで演算されたデータを、逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでラッチして逆相クロック動作領域７２の演算ブロックに出力する。【００５３】
図６の逆相クロック動作領域７２の演算ブロック６１〜６ｎの回路構成は、図２の逆相クロック信号ＣＬＫ２で動作する演算ブロック１２の回路構成とは異なっている。具体的に言うと、図２の演算ブロック１２は、逆相クロック信号ＣＬＫ２の立ち上がりに同期したデータを、同相クロック信号ＣＬＫ１の立ち上がりに同期したデータに変換するために、出力バッファ２６に同相クロック信号ＣＬＫ１の立ち上がりのタイミングでデータをラッチするフリップフロップ２６ｃを設ける必要があった。【００５４】
これに対して、第３の実施の形態では、クロック乗り換えチャネル７４において、逆相クロック信号ＣＬＫ２に同期したデータが同相クロック信号ＣＬＫ１に同期したデータに変換されるので、同相クロック動作領域７１の演算ブロック５１〜５ｎと逆相クロック動作領域７２の演算ブロック６１〜６ｎには、データのタイミングを調整するための回路を設ける必要が無い。【００５５】
すなわち、第３の実施の形態の半導体集積回路５０は、各演算ブロックがデータのクロックタイミングを変換するための回路を持つ必要が無い。クロック乗り換えチャネル７４のデータのクロックタイミングを変換するための回路の数は、全ての演算ブロックの出力データを同時に処理する必要はないので演算ブロックの数より少なくて良い。従って、クロック乗り換えチャネル７４を用いることで半導体集積回路５０のデータのクロックタイミングを変換するための回路の回路規模を小さくできる。【００５６】
図６において、逆相クロック信号ＣＬＫ２を供給するインバータ７６と、データのクロックタイミングを変換するクロック乗り換えチャネル７４が消費電力平準化回路に該当する。【００５７】
図７は、第３の実施の形態の具体的構成を示す図である。以下、図６と同じブロックには同じ符号を付けてそれらの説明は省略する。
スイッチＳＷ０は、データ入力ポートをオン、オフするスイッチである。データネットワーク７３は、複数のスイッチＳＷ１〜ＳＷｎからなり、入力データまたは演算結果のデータを各演算ブロック５１〜５ｎに出力する。【００５８】
逆相クロック動作領域７２のデータネットワーク７５も同様に複数のスイッチＳＷ２１〜ＳＷ２ｎからなり、入力データまたは演算結果のデータを各演算ブロック６１〜６ｎに出力する。【００５９】
クロック乗り換えチャネル７４は、ＦＩＦＯ形式のＲＡＭ８１からなり、逆相クロック動作領域７２の演算ブロック６１〜６ｎの出力データを、同相クロック信号ＣＬＫ１に同期したデータに変換して同相クロック動作領域７１のデータネットワーク７３に出力する。【００６０】
なお、図７には、逆相クロック動作領域７２の演算ブロックで演算されたデータのクロックタイミングを変換するＲＡＭ８１のみを示してあるが、クロック乗り換えチャネル７４は双方向のクロック乗り換え機能を有しており、同相クロッククロック信号ＣＬＫ１に同期したデータを、逆相クロック信号ＣＬＫ２に同期したデータに変換する回路が同様に設けられている。クロック乗り換えチャネル７４には、データのクロックタイミングを変換する回路が複数設けられており、演算ブロックから出力されるデータが輻輳した場合にも、複数のデータを同時に処理することができる。【００６１】
制御部７８は、外部から与えられる制御設定情報とリセット信号とに基づいて、データ入力ポートのスイッチＳＷ０、データネットワーク７３のスイッチＳＷ１〜ＳＷｎ及びデータネットワーク７５のスイッチＳＷ２１〜ＳＷ２ｎをオンまたはオフに設定すると共に、それぞれの回路をリセットする。制御部７８は、図示しない設定情報格納用レジスタを有し、データネットワーク７３及び７５のそれぞれのスイッチＳＷのオン、オフを制御するデータを設定情報格納用レジスタに保持する。【００６２】
ここで、上記の半導体集積回路５０の動作を図７を参照して説明する。今、逆相クロック動作領域７２の演算ブロック６１で演算が行われ、演算結果のデータのクロックタイミングを変換する場合について説明する。【００６３】
逆相クロック動作領域７２の演算ブロック６１は、入力データまたは他の演算ブロックで演算されたデータを、逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでラッチし、ラッチしたデータに対して所定の演算を行う。演算結果のデータは、データネットワーク７５に出力され、スイッチＳＷ２１を介してクロック乗り換えチャネル７４に出力される。【００６４】
クロック乗り換えチャネル７４の入力側のフリップフロップ８１ａは、データネットワーク７５上のデータを同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチする。ラッチされたデータはＲＡＭコア８１ｂに格納される。ＲＡＭコア８１ｂから読み出されたデータは、同相クロック信号ＣＬＫ１の立ち上がりのタイミングで出力側のフリップフロップ８１ｃにラッチされ、同相クロック動作領域７１のデータネットワーク７３に送出される。これにより、逆相クロック信号ＣＬＫ２の立ち上がりに同期したデータを、同相クロック信号ＣＬＫ１の立ち上がりに同期したデータに変換することができる。【００６５】
図８は、制御部７８と演算ブロックの動作を示すフローチャートである、
制御部７８は、ＬＳＩ外部から与えられるリセット信号に基づいて回路全体をリセットする信号を出力する（図８，Ｓ１１）。このとき同時に制御部７８は、入力データポートに接続されるスイッチＳＷ０をリセットする信号も出力する。【００６６】
リセット信号を一定時間出力したなら、制御部７８はリセットを解除する（Ｓ１２）。次に、制御部７８は、ＬＳＩ外部からデータネットワーク７３、７５のスイッチのオン、オフを決めるＯＮ／ＯＦＦ情報をダウンロードする（Ｓ１３）。【００６７】
次に、制御部７８は、ダウンロードしたＯＮ／ＯＦＦ情報に基づいてデータネットワーク７３、７５のスイッチをオン、オフする（Ｓ１４）。
次に、入力データポートを開閉するスイッチＳＷ０をオンにするイネーブル信号を出力し、入力データポートにデータを入力させる（Ｓ１５）。【００６８】
演算が終了したなら、制御部７８は、リセット信号を出力してデータネットワーク７３、７５のスイッチをオフ状態にリセットし、入力データポートのスイッチＳＷ０をオフにする（Ｓ１６）。【００６９】
次に、データネットワーク７３、７５のスイッチの設定を変更する指示を受けたか否かを判別する（Ｓ１７）。スイッチの設定を変更する指示を受けている場合には（Ｓ１７，ＹＥＳ）、ステップＳ１１に戻り上述した処理を繰り返す。他方、データネットワーク７３及び７５のスイッチの設定の変更指示を受けていない場合には（Ｓ１７、ＮＯ）、ステップＳ１８に進み、演算を継続するか否かを判別する。演算を継続する場合には（Ｓ１８、ＹＥＳ）、ステップＳ１５に戻り、入力データポートを開き、演算を実行する。演算を終了する場合には（Ｓ１８、ＮＯ）、そこで処理を終了する。【００７０】
次に、図９は、第３の実施の形態の主要部のブロック図であり、図１０は、そのタイミングチャートである。
以下、図９と図１０を参照して、同相クロック動作領域７１の演算ブロック５１、５２の出力データを、逆相クロック信号ＣＬＫ２に同期したデータに変換して演算ブロック６１、６２に出力し、さらに、演算ブロック６１、６２の出力データを同相乗り換え回路７７で同相クロック信号ＣＬＫ１に同期したデータに変換して半導体集積回路の外部に出力する場合の回路動作を説明する。【００７１】
同相クロック動作領域７１（図７参照）の演算ブロック５１，５２は、それぞれ出力側のフリップフロップ５１ａ、５２ａにラッチしたデータをデータネットワーク７３を介してクロック乗り換えチャネル７４に出力する。【００７２】
図１０の（１）に示すタイミングで同相クロック動作領域７１の複数の演算ブロックで演算されたデータがクロック乗り換えチャネル７４に出力される。。
クロック乗り換えチャネル７４は、例えば、２個のＦＩＦＯ形式のＲＡＭ８１、８２を有している。ＲＡＭ８１、８２は、演算ブロック５１、５２の出力データを同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチし、ラッチしたデータをＲＡＭコア８１ｂ、８２ｂに格納する。さらに、ＲＡＭ８１ｂ、８２ｂから読み出したデータを逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでラッチし、ラッチしたデータをデータネットワーク７５を介して演算ブロック６１、６２に出力する。【００７３】
図１０の（２）に示すタイミングでＲＡＭ８１、８２にラッチされたデータが逆相クロック動作領域７２の演算ブロック６１、６２に出力される。
クロック乗り換えチャネル７４から出力されるデータは、演算ブロック６１、６２において、逆相クロック信号ＣＬＫ２の立ち上がりのタイミングでフリップフロップ６１ａ、６２ａにそれぞれラッチされる。そして、組み合わせ回路６１ｂ、６２ｂにおいて所定の演算が実行され、逆相クロック信号ＣＬＫ２の立ち上がりのタイミングにフリップフロップ６１ｃ、６２ｃにラッチされて同相乗り換え回路７７に出力される（図１０の（３）のタイミング）。【００７４】
図１０の（３）に示すタイミングで、逆相クロック動作領域７２の複数の演算ブロックから同時に演算データが出力される。
同相乗り換え回路７７は、ＦＩＦＯ形式の２個のＲＡＭ１１１，１１２で構成されいる。ＲＡＭ１１１は、逆相クロック信号ＣＬＫ２で動作する入力側のフリップフロップ１１１ａと、ＲＡＭコア１１１ｂと、同相クロック信号ＣＬＫ１で動作する出力側のフリップフロップ１１１ｃからなる。ＲＡＭ１１２も同様に入力側のフリップフロップ１１２ａと、ＲＡＭコア１１２ｂと、出力側のフリップフロップ１１２ｃからなる。【００７５】
同相乗り換え回路７７の出力側のフリップフロップ１１１ｃは、ＲＡＭコア１１１ｂのデータを、同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチし、ラッチしたデータを外部に出力する。同様に、フリップフロップ１１２ｃは、ＲＡＭコア１１２ｂから出力されるデータを同相クロック信号ＣＬＫ１の立ち上がりのタイミングでラッチし、ラッチしたデータを外部に出力する。【００７６】
図１０の（４）に示すタイミングで、同相乗り換え回路７７の出力側のフリップフロップ１１１ｃ、１１２ｃから同相クロック信号ＣＬＫ１に同期したデータが出力される。
上述した第３の実施の形態によれば、同相クロック動作領域７１の演算ブロック５１〜５ｎと逆相クロック動作領域７２の演算ブロック６１〜６ｎを逆位相のクロック信号で動作させることで、演算ブロックの消費電力の最大値を従来の１／２に減らすことができる。これにより、電源回路の最大電流容量を小さくできるので電源と接地との間に設けるキャパシタの容量も小さくできる。これにより半導体集積回路１０上に形成するキャパシタのデバイス面積を小さくできる。さらに、最大電流容量が小さくなるので電源線のパターン幅も狭くできる。【００７７】
さらに、データのクロックタイミングを変換するクロック乗り換えチャネル７４を設けることで、個々の演算ブロックにデータの出力タイミングを変換するフリップフロップ等のラッチ回路を設ける必要が無くなるので、データのクロックタイミングを変換するための回路規模を小さくできる。【００７８】
図１１は、第４の実施の形態の消費電力平準化回路を含む半導体集積回路９０のブロック図である。以下、図６と同じ回路ブロックには同じ符号を付けてそれらの説明は省略する。【００７９】
この第４の実施の形態は、位相の異なる３種類のクロック信号を用いて演算ブロックを動作させる場合の例である。
図９の半導体集積回路９０は、同相クロック動作領域７１に配置された演算ブロック５１，５２・・・５ｎと、データネットワーク７３と、クロック乗り換えチャネル９１と、２／３位相クロック動作領域９２に配置された演算ブロック６１，６２・・・６ｎと、データネットワーク９４と、クロック乗り換えチャネル９５と、４π／３位相クロック動作領域９３に配置された演算ブロック１０１、１０２と、同相乗り換え回路９７、ｎ位相クロック生成部９８とを有する。【００８０】
クロック乗り換えチャネル９１，９５及び同相乗り換え回路９７の構成は、第３の実施の形態と同じである。
この第４の実施の形態は、同相クロック信号ＣＬＫ１に同期して動作する演算ブロック５１〜５ｎと、同相クロック信号ＣＬＫ１に対して２π／３の位相差を有するクロック信号ＣＬＫ２に同期して動作する演算ブロック６１〜６ｎと、同相クロック信号ＣＬＫ１に対して４π／３の位相差を有するクロック信号ＣＬＫ３に同期して動作する演算ブロック１０１，１０２の３つの演算ブロック群に分けたものである。【００８１】
また、２π／３位相クロック動作領域９２のデータネットワーク９４上のデータを、同相クロック信号ＣＬＫに対して４π／３の位相差を有するクロック信号ＣＬＫ３に同期したデータに変換するクロック乗り換えチャネル９５と、同相クロック動作領域７１のデータネットワーク７３上のデータを、同相クロック信号ＣＬＫ１に対して２π／３の位相差を有するクロック信号ＣＬＫ２に同期したデータに変換するクロック乗り換えチャネル９１とを設けている。【００８２】
第４の実施の形態は、複数の演算ブロックを位相の異なる３種類のクロック信号ＣＬＫ１〜ＣＬＫ３で動作させることで、演算ブロック全体の消費電力の最大値を１／３にすることができる。電源回路から出力する最大電流が小さくなるので電源線のパターン幅を狭くできる。また、電源回路の最大電流を小さくできるので電源線と接地との間に設けるキャパシタの容量も小さくでき、半導体集積回路１０上に形成するキャパシタのデバイス面積を小さくできる。さらに、個々の演算ブロックにデータの出力タイミングを同相クロック信号ＣＬＫ１に同期させるための回路を設ける必要が無くなるので半導体集積回路全体の回路規模を小さくできる。【００８３】
本発明は上述した実施の形態に限らず、例えば、以下のように構成しても良い。
（１）演算ブロックの入力バッファ２４及び出力バッファ２６は、フリップフロップとＲＡＭとからなる回路に限らず、同相クロック信号ＣＬＫ１に同期したデータのラッチタイミングを変更できる回路であればどのようなものでも良い。
（２）クロック乗り換えチャネル７４は、逆相クロック動作領域７２の演算ブロックの出力データを同相クロック信号ＣＬＫ１に同期したデータに変換する回路または同相クロック動作領域７１の演算ブロックの出力データを逆相クロック信号ＣＬＫ２に同期したデータに変換する回路の一方のみを有するようにしても良いし、両方を有するようにしても良い。
（３）本発明は相補型ＭＯＳトランジスタに限らず、バイポーラトランジスタ等にも適用できる。
【図１】
2008038391.tif 000003
【図２】
2008038391.tif 000004
【図３】
2008038391.tif 000005
【図４】
2008038391.tif 000006
【図５】
2008038391.tif 000007
【図６】
2008038391.tif 000008
【図７】
2008038391.tif 000009
【図８】
2008038391.tif 000010
【図９】
2008038391.tif 000011
【図１０】
2008038391.tif 000012
【図１１】
2008038391.tif 000013
【図１２】
2008038391.tif 000014
【図１３】
2008038391.tif 000015
【手続補正書】
【提出日】平成20年10月29日(2008.10.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のクロック信号に同期したタイミングで動作する第１の演算回路群と、
前記第１のクロック信号と所定の位相差を有する第２のクロック信号に同期したタイミングで動作する第２の演算回路群と、
前記第２の演算回路群の出力データを前記第１のクロック信号に同期したデータに変換して前記第１の演算回路群に出力するタイミング変換回路とを備える半導体集積装置。
【請求項２】
前記タイミング変換回路は、前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する請求項１記載の半導体集積装置。
【請求項３】
前記タイミング変換回路は、前記第２のクロック信号に同期したタイミングでデータをラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とを有する請求項１又は２記載の半導体集積装置。
【請求項４】
前記第１及び第２のクロック信号と所定の位相差を有する第３のクロック信号に同期したタイミングで動作する第３の演算回路群を有し、
前記タイミング変換回路は、前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する第１のタイミング変換回路と、前記第２の演算回路群の出力データを前記第３のクロック信号に同期したデータに変換して前記第３の演算回路群に出力する第２のタイミング変換回路とを有する請求項１、２又は３記載の半導体集積装置。
【請求項５】
前記タイミング変換回路は、前記第１の演算回路群の複数の演算回路の出力データを、前記第１のクロック信号に同期したタイミングでラッチする入力側の複数の第１のラッチ回路と、ラッチされたデータを記憶する複数の第１の記憶部と、前記複数の第１の記憶部に記憶されたデータを前記第２のクロック信号に同期したタイミングでラッチする出力側の複数の第２のラッチ回路と、前記第２の演算回路群の複数の演算回路の出力データを、前記第２のクロック信号に同期したタイミングでラッチする入力側の複数の第３のラッチ回路と、ラッチされたデータを記憶する複数の第２の記憶部と、前記複数の第２の記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側の複数の第４のラッチ回路とを有する請求項１、２、３又は４記載の半導体集積装置。
【請求項６】
第１の演算回路群を第１のクロック信号に同期したタイミングで動作させ、
第２の演算回路群を前記第１のクロック信号と所定の位相差を有する第２のクロック信号に同期したタイミングで動作させ、
前記第２の演算回路群の出力データを前記第１のクロック信号に同期したデータに変換して前記第１の演算回路群に出力する半導体集積装置の消費電力平準化方法。
【請求項７】
前記第１の演算回路群の出力データを前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力する請求項６記載の半導体集積装置の消費電力平準化方法。
【請求項８】
前記第２のクロック信号に同期したタイミングで前記第１の演算回路群の出力データをラッチする入力側のラッチ回路と、ラッチされたデータを記憶する記憶部と、前記記憶部に記憶されたデータを前記第１のクロック信号に同期したタイミングでラッチする出力側のラッチ回路とを用いて第２のクロック信号に同期したデータを前記第１のクロック信号に同期したデータに変換する請求項６又は７記載の半導体集積装置の消費電力平準化方法。
【請求項９】
前記第１の演算回路群の入出力データを第１のデータネットワークに送出し、
前記第２の演算回路群の入出力データを第２のデータネットワークに送出し、
前記第１のデータネットワーク上のデータを前記第２のクロック信号に同期したデータに変換して前記第２のデータネットワークに送出すると共に、前記第２のデータネットワーク上のデータを前記第１のクロック信号に同期したデータに変換して前記第１のデータネットワークに送出する請求項６、７又は８記載の半導体集積装置の消費電力平準化方法。
【請求項１０】
第３の演算回路群を前記第１及び第２のクロック信号と所定の位相差を有する第３のクロック信号に同期したタイミングで動作させ、
前記第１の演算回路群から出力される前記第１のクロック信号に同期したデータを、前記第２のクロック信号に同期したデータに変換して前記第２の演算回路群に出力し、
前記第２のクロック信号に同期したデータを、前記第３のクロック信号に同期したデータに変換して前記第３の演算回路群に出力する請求項６、７、８又は９記載の半導体集積装置の消費電力平準化方法。
【国際調査報告】
2008038391.tif 000016
2008038391.tif 000017