(57)【要約】【課題】  クロックスキューを抑制しながら消費電力の増加を抑制する。【解決手段】  半導体装置は、クロック信号を伝達する複数のクロック信号線と、複数のクロック信号線に接続可能な負荷部と、電源電圧が所定値以下の場合に複数のクロック信号線を負荷部に接続し、電源電圧が所定値より高い場合に複数のクロック信号線を負荷部から切り離す切り替え部とを有する。【選択図】    図１
2014142812.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を伝達する複数のクロック信号線と、
前記複数のクロック信号線に接続可能な負荷部と、
電源電圧が所定値以下の場合に前記複数のクロック信号線を前記負荷部に接続し、前記電源電圧が前記所定値より高い場合に前記複数のクロック信号線を前記負荷部から切り離す切り替え部と
を備えることを特徴とする半導体装置。
【請求項２】
前記電源電圧を前記所定値と比較し、前記電源電圧が前記所定値以下の場合に接続信号を前記切り替え部に出力し、前記電源電圧が前記所定値より高い場合に切り離し信号を前記切り替え部に出力する比較部を備え、
前記切り替え部は、前記接続信号に基づいて前記複数のクロック信号線を前記負荷部に接続し、前記切り離し信号に基づいて前記複数のクロック信号線を前記負荷部から切り離すことを特徴とする請求項１記載の半導体装置。
【請求項３】
半導体装置は、前記所定値以下の前記電源電圧を受けて動作する少なくとも１つの第１動作モード、および前記所定値より高い前記電源電圧を受けて動作する少なくとも１つの第２動作モードのいずれかに設定され、
半導体装置は、前記第１動作モードから前記第２動作モードに切り替わる場合に、所定時間後に切り離し信号を出力し、前記第２動作モードから前記第１動作モードに切り替わる場合に、前記所定時間を待つことなく接続信号を出力する接続制御部を備え、
前記切り替え部は、前記接続信号に基づいて前記複数のクロック信号線を前記負荷部に接続し、前記切り離し信号に基づいて前記複数のクロック信号線を前記負荷部から切り離すことを特徴とする請求項１記載の半導体装置。
【請求項４】
前記所定値は、前記負荷部が前記複数のクロック信号線から切り離された状態で、前記クロック信号のクロックスキューの仕様を満足する電源電圧の範囲内の低い側に設定されることを特徴とする請求項１ないし請求項３のいずれか１項記載の半導体装置。
【請求項５】
前記切り替え部は、前記電源電圧が前記所定値以下の場合に前記複数のクロック信号線を前記負荷部に接続し、前記電源電圧が前記所定値より高い場合に前記複数のクロック信号線を前記負荷部から切り離すスイッチを備えることを特徴とする請求項１ないし請求項４のいずれか１項記載の半導体装置。
【請求項６】
前記切り替え部は、前記電源電圧が前記所定値以下の場合に前記複数のクロック信号線を前記負荷部に接続された第１経路に接続し、前記電源電圧が前記所定値より高い場合に前記複数のクロック信号線を前記負荷部が接続されない第２経路に接続するセレクタを備え、
前記クロック信号は、前記セレクタに選択された前記第１経路または前記第２経路を介して伝達されることを特徴とする請求項１ないし請求項４のいずれか１項記載の半導体装置。
【請求項７】
前記セレクタは、前記複数のクロック信号線の各々に対応して、
前記電源電圧が前記所定値以下の場合にハイレベルに設定される第１制御信号および前記クロック信号を入力で受け、出力が前記第１経路に接続された第１アンド回路と、
前記電源電圧が前記所定値より高い場合にハイレベルに設定される第２制御信号および前記クロック信号を入力で受け、出力が前記第２経路に接続された第２アンド回路と、
前記第１アンド回路の出力および前記第２アンド回路の出力に入力が接続されたオア回路と
を備えることを特徴とする請求項６記載の半導体装置。
【請求項８】
前記セレクタは、前記複数のクロック信号線の各々に対応して、
前記電源電圧が前記所定値以下の場合にハイレベルに設定される第１制御信号および前記クロック信号を入力で受け、出力が前記第１経路に接続された第１ナンド回路と、
前記電源電圧が前記所定値より高い場合にハイレベルに設定される第２制御信号および前記クロック信号を入力で受け、出力が前記第２経路に接続された第２ナンド回路と、
前記第１ナンド回路の出力および前記第２ナンド回路の出力に入力が接続された第３ナンド回路と
を備えることを特徴とする請求項６記載の半導体装置。
【請求項９】
前記負荷部は、半導体装置上に縦横に配線され、交差部分が互いに接続された複数の信号線を備え、
前記切り替え部は、前記交差部分に配置されることを特徴とする請求項１ないし請求項８のいずれか１項記載の半導体装置。
【請求項１０】
クロック信号を伝達する複数のクロック信号線と、前記複数のクロック信号線に接続可能な負荷部とを備える半導体装置の制御方法であって、
電源電圧が所定値以下の場合に前記複数のクロック信号線を前記負荷部に接続し、前記電源電圧が前記所定値より高い場合に前記複数のクロック信号線を前記負荷部から切り離すことを特徴とする半導体装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置および半導体装置の制御方法に関する。
【背景技術】
【０００２】
半導体装置に設けられる複数の回路ブロックの動作電圧が互いに異なる場合、各回路ブロック内でのクロック信号の伝搬遅延時間は相違する。これにより、回路ブロック内のフリップフロップに供給されるクロック信号のタイミングはずれ、クロックスキューが発生する。そこで、回路ブロックの動作電圧に応じて、回路ブロックに供給されるクロック信号のタイミングを調整することで、回路ブロック間のクロックスキューを抑制する手法が提案されている（例えば、特許文献１参照）。
【０００３】
また、クロック分配回路内のクロック信号の経路を切り替えることで、クロックスキューを改善する手法が提案されている（例えば、特許文献２、３参照）。さらに、クロック分配回路にクロックメッシュ等の負荷を接続することで、クロックスキューを抑える手法が提案されている（例えば、特許文献４参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１００２６９号公報
【特許文献２】特開２００１−５６７２１号公報
【特許文献３】特開２００９−１８７１０４号公報
【特許文献４】特開２０１０−２３３０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クロックメッシュが使用される場合、クロックメッシュの充放電電流により、半導体装置の消費電力は増加する。消費電力は、電源電圧が高いほど大きくなる。一方、クロックメッシュが使用されない場合、例えば、フリップフロップのホールド制約を満足するために、ホールドバッファがデータ信号線に挿入される場合がある。ホールドバッファのリークエネルギー量は、電源電圧が低いほど大きくなる。
【０００６】
本件開示の半導体装置は、クロックスキューを抑制しながら消費電力の増加を抑制することを目的とする。
【課題を解決するための手段】
【０００７】
一つの観点によれば、半導体装置は、クロック信号を伝達する複数のクロック信号線と、複数のクロック信号線に接続可能な負荷部と、電源電圧が所定値以下の場合に複数のクロック信号線を負荷部に接続し、電源電圧が所定値より高い場合に複数のクロック信号線を負荷部から切り離す切り替え部とを有する。
【発明の効果】
【０００８】
クロックスキューを抑制しながら消費電力の増加を抑制できる。
【図面の簡単な説明】
【０００９】
【図１】半導体装置および半導体装置の制御方法の一実施形態を示す図である。
【図２】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図３】図２に示したクロック分配部、切り替え部、クロックメッシュおよび論理回路部の例を示す図である。
【図４】図３に示した論理回路部の動作の例を示す図である。
【図５】図２に示した電圧情報Ｖｍを決定する手法の例を示す図である。
【図６】図２に示したクロックメッシュおよびスイッチの配置の例を示す図である。
【図７】図２に示した半導体装置の動作モードの例を示す図である。
【図８】図２に示した半導体装置における消費エネルギーの電源電圧に対する依存性の例を示す図である。
【図９】図２に示した半導体装置の動作の例を示す図である。
【図１０】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図１１】図１０に示した半導体装置の動作の例を示す図である。
【図１２】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【図１３】半導体装置および半導体装置の制御方法の別の実施形態を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて実施形態を説明する。信号が伝達される信号線および端子には、信号名と同じ符号を使用する。図中の二重の四角印は、外部端子を示す。外部端子は、例えば、半導体チップ上のパッド、あるいは半導体チップが収納されるパッケージのリードである。外部端子を介して供給される信号には、端子名と同じ符号を使用する。
【００１１】
図１は、半導体装置および半導体装置の制御方法の一実施形態を示す。この実施形態の半導体装置１００は、クロック信号ＣＬＫ０を伝達する複数のクロック信号線ＣＬＫａ１、ＣＬＫｂ１と、クロック信号線ＣＬＫａ１、ＣＬＫｂ１を負荷部ＬＤＵに接続する切り替え部ＳＷＵとを有する。例えば、負荷部ＬＤＵは、クロックメッシュである。切り替え部ＳＷＵは、電源電圧ＶＤＤが所定値以下の場合にクロック信号線ＣＬＫａ１、ＣＬＫｂ１を負荷部ＬＤＵに接続し、電源電圧ＶＤＤが所定値より高い場合にクロック信号線ＣＬＫａ１、ＣＬＫｂ１を負荷部ＬＤＵから切り離す。
【００１２】
例えば、切り替え部ＳＷＵは、制御部ＣＮＴＵによる制御に基づいてクロック信号線ＣＬＫａ１、ＣＬＫｂ１を負荷部ＬＤＵに接続または非接続するスイッチＳＷａ、ＳＷｂを有する。制御部ＣＮＴＵは、電源電圧ＶＤＤと所定値との大小関係を判定し、判定結果に基づいて切り替え部ＳＷＵを制御する。なお、制御部ＣＮＴＵは、半導体装置１００の外部に配置されてもよい。
【００１３】
例えば、クロック信号ＣＬＫａ１、ＣＬＫｂ１は、フリップフロップＦＦのクロック入力端子にそれぞれ供給される。例えば、クロック信号ＣＬＫａ１、ＣＬＫｂ１に発生するクロックスキューは、クロック入力端子に到達するクロック信号ＣＬＫａ１、ＣＬＫｂ１の位相のずれである。
【００１４】
この実施形態では、電源電圧ＶＤＤが所定値以下の場合に、クロック信号線ＣＬＫａ１、ＣＬＫｂ１が共通の負荷部ＬＤＵに接続されるため、クロックスキューを抑えることができる。これにより、例えば、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）が入力されるフリップフロップＦＦのホールド制約を満たすための時間余裕を調整するホールドバッファの挿入数を従来に比べて削減できる。バッファの挿入数が削減できるため、電源電圧ＶＤＤが所定値以下のときのリーク電流量を抑制でき、半導体装置１００の消費電力を抑制できる。
【００１５】
さらに、電源電圧ＶＤＤが所定値より高い場合に、負荷部ＬＤＵがクロック信号線ＣＬＫａ１、ＣＬＫｂ１から切り離されるため、クロック信号ＣＬＫａ１、ＣＬＫｂ１のレベル変化に伴う負荷部ＬＤＵの充放電電流は発生しない。これにより、半導体装置１００の消費電力を抑制できる。なお、クロックスキューは、電源電圧ＶＤＤが高いほど相対的に小さくなる。このため、電源電圧ＶＤＤが所定値より高い場合に、負荷部ＬＤＵがクロック信号線ＣＬＫａ１、ＣＬＫｂ１から切り離されても、クロックスキューの増加による半導体装置１００の特性への影響は小さい。
【００１６】
以上、この実施形態では、電源電圧ＶＤＤに拘わりなく、クロックスキューを抑制しながら半導体装置１００の消費電力の増加を抑制できる。
【００１７】
図２は、半導体装置および半導体装置の制御方法の別の実施形態を示す。この実施形態の半導体装置１００Ａは、例えば、ＤＶＦＳ（Dynamic Voltage and Frequency Scaling）機能を有する。ＤＶＦＳは、回路に供給する電源電圧およびクロック信号の周波数を、回路に要求される処理能力に合わせて動的に変更する手法である。なお、半導体装置１００Ａは、一定の周波数のクロック信号を生成し、回路に要求される処理能力に合わせて電源電圧を動的に変更してもよい。
【００１８】
例えば、半導体装置１００Ａは、ゲートアレイ等のロジックＬＳＩであり、あるいはプロセッサコアを含むＣＰＵ（Central Processing Unit）やシステムＬＳＩ（Large Scale Integration）である。
【００１９】
半導体装置１００Ａは、負荷制御部１０、電源管理部１２、クロック制御部１４、クロック分配部１６、切り替え部１８および論理回路部２０を有する。半導体装置１００Ａは、チップの形態で供給されるが、例えば、負荷制御部１０、電源管理部１２およびクロック制御部１４は、クロック分配部１６、切り替え部１８および論理回路部２０とは別のチップに設けられてもよい。この場合、電源電圧ＶＤＤ、クロック信号ＣＬＫ０および接続制御信号ＣＮは、半導体装置１００Ａの外部から供給される。
【００２０】
負荷制御部１０は、論理回路部２０に要求される処理能力を示す負荷情報ＬＤＩＮＦを半導体装置１００Ａの外部から受ける。負荷制御部１０は、論理回路部２０に要求された処理能力を実現させるために、電源電圧ＶＤＤの値を示す電圧情報ＶＩＮＦを電源管理部１２に出力し、クロック信号ＣＬＫの周波数値を示す周波数情報ＦＩＮＦをクロック制御部１４に出力する。なお、負荷制御部１０は、半導体装置１００Ａ内で生成される負荷情報ＬＤＩＮＦを受けてもよい。また、半導体装置１００Ａが一定の周波数のクロック信号ＣＬＫ０を生成する場合、例えば、負荷制御部１０は、負荷情報ＬＤＩＮＦに拘わりなく一定の周波数情報ＦＩＮＦを生成する。
【００２１】
電源管理部１２は、電圧生成部ＶＧＥＮおよびアナログデジタルコンバータＡＤＣを有する。電圧生成部ＶＧＥＮは、半導体装置１００Ａの外部から受ける電源電圧ＶＤＤ０を用いて、電圧情報ＶＩＮＦにより示される電源電圧ＶＤＤを生成する。アナログデジタルコンバータＡＤＣは、電源電圧ＶＤＤの値をデジタル値である電源電圧情報ＶＤＤＩＮＦに変換し、電源電圧情報ＶＤＤＩＮＦをクロック制御部１４に出力する。
【００２２】
例えば、電源電圧情報ＶＤＤＩＮＦは、電源電圧ＶＤＤの値を１０ミリボルト（ｍＶ）単位で符号化した値であり、７ビットで表される。電源電圧ＶＤＤが０．５Ｖのとき、電源電圧情報ＶＤＤＩＮＦは、２進数の”０１１００１０”（１０進数の５０）で示される。電源電圧ＶＤＤが１．２Ｖのとき、電源電圧情報ＶＤＤＩＮＦは、２進数の”１１１１０００”（１０進数の１２０）で示される。
【００２３】
なお、電源電圧情報ＶＤＤＩＮＦの値が電圧情報ＶＩＮＦの値に対応する場合、電源管理部１２は、アナログデジタルコンバータＡＤＣを持たなくてもよい。この場合、電圧情報ＶＩＮＦが、電源電圧情報ＶＤＤＩＮＦの代わりにクロック制御部１４に供給される。
【００２４】
クロック制御部１４は、ＲＯＭ（Read Only Memory）、比較部ＣＯＭＰおよびクロック生成部ＣＧＥＮを有する。ＲＯＭは、切り替え電圧を示す電圧情報Ｖｍを記憶し、電圧情報Ｖｍを比較部ＣＯＭＰに出力する。例えば、電圧情報Ｖｍは、電源電圧情報ＶＤＤＩＮＦと同様に、７ビットで表される。
【００２５】
例えば、ＲＯＭはヒューズ回路である。なお、半導体装置１００Ａが不揮発性メモリを有する場合、不揮発性メモリの一部をＲＯＭとして使用してもよい。さらに、ＲＯＭは、半導体装置１００Ａ内に配置される配線パターンを使用して設計されてもよい。この場合、ＲＯＭの情報は、半導体装置１００Ａの製造工程において配線パターンの形成に使用するフォトマスクのパターンに含まれる。例えば、電圧情報Ｖｍ中の論理１を示すビットは、電源線ＶＤＤ０に接続され、論理０を示すビットは、接地線ＶＳＳに接続される。
【００２６】
比較部ＣＯＭＰは、電源電圧ＶＤＤの値を示す電源電圧情報ＶＤＤＩＮＦと電圧情報Ｖｍとを比較し、比較結果に応じて接続制御信号ＣＮを生成する。比較部ＣＯＭＰにより、電源電圧ＶＤＤと電圧情報Ｖｍにより示される所定値との大小関係を判定することで、クロックメッシュＣＭＥＳＨの接続／非接続を、電源電圧ＶＤＤに基づいて正確に制御できる。
【００２７】
接続制御信号ＣＮは、電源電圧情報ＶＤＤＩＮＦにより示される電源電圧ＶＤＤの値が電圧情報Ｖｍにより示される電圧値以下の場合に、クロック分配部１６の出力ノードをクロックメッシュＣＭＥＳＨに接続する論理（例えば、ハイレベル）に設定される。また、接続制御信号ＣＮは、電源電圧情報ＶＤＤＩＮＦにより示される電源電圧ＶＤＤの値が電圧情報Ｖｍにより示される電圧値より高い場合に、クロック分配部１６の出力ノードをクロックメッシュＣＭＥＳＨから切り離す論理（例えば、ロウレベル）に設定される。このように、接続制御信号ＣＮは、クロックメッシュＣＭＥＳＨの接続と非接続とを切り替える切り替え信号として機能する。
【００２８】
なお、比較部ＣＯＭＰの代わりに、電源電圧ＶＤＤと電圧情報Ｖｍが示す参照電圧とを比較するアナログコンパレータ等の比較部が配置されてもよい。この場合、電源管理部１２は、アナログデジタルコンバータＡＤＣを持たない。クロックメッシュＣＭＥＳＨは、負荷部の一例である。接続制御信号ＣＮのハイレベルは、接続信号の一例であり、接続制御信号ＣＮのロウレベルは、切り離し信号の一例である。
【００２９】
クロック生成部ＣＧＥＮは、例えば、発振器を有しており、周波数情報ＦＩＮＦにより示される周波数を有するクロック信号ＣＬＫ０を生成する。なお、クロック生成部ＣＧＥＮは、半導体装置１００Ａの内部または外部に配置される水晶発振器等からの発振信号を用いて、周波数情報ＦＩＮＦにより示される周波数を有するクロック信号ＣＬＫ０を生成してもよい。
【００３０】
なお、電源電圧ＶＤＤが、クロック信号ＣＬＫ０の周波数の変更に連動して変更される場合、比較部ＣＯＭＰは、周波数情報ＦＩＮＦに対応して生成される電源電圧ＶＤＤの値を示す情報を電圧情報Ｖｍと比較してもよい。あるいは、クロック制御部１４は、クロック信号ＣＬＫ０の周波数を検出する回路を内蔵し、検出された周波数を、電圧情報Ｖｍに対応する周波数情報と比較することで、接続制御信号ＣＮを生成してもよい。
【００３１】
クロック分配部１６は、クロック信号ＣＬＫ０を分岐して複数のクロック信号ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１を生成する複数のクロックバッファＣＢＵＦを有する。なお、図２では、図面を見やすくするために、クロック信号ＣＬＫ０の分岐数を実際より少ない。すなわち、クロック信号ＣＬＫ０の分岐数は、図２の４つに限定されない。
【００３２】
切り替え部１８は、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄをクロックメッシュＣＭＥＳＨに接続するスイッチＳＷ（ＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄ）を有する。例えば、スイッチＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄは、接続制御信号ＣＮがハイレベルのときにオンされ、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄをクロックメッシュＣＭＥＳＨに接続する。スイッチＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄは、接続制御信号ＣＮがロウレベルのときにオフされ、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１とクロックメッシュＣＭＥＳＨとの接続を解除する。なお、スイッチＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄは、接続制御信号ＣＮがロウレベルのときにオンされ、ハイレベルのときにオフされてもよい。この場合、判定部ＣＯＭＰの判定論理は、上述と逆になる。
【００３３】
論理回路部２０は、クロック信号ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１を受け、クロック信号ＣＬＫａ２、ＣＬＫｂ２、ＣＬＫｃ２、ＣＬＫｄ２としてそれぞれ出力する複数のクロックバッファＣＢＵＦを有する。また、論理回路部２０は、クロック信号ＣＬＫａ２、ＣＬＫｂ２、ＣＬＫｃ２、ＣＬＫｄ２を受けて動作するフリップフロップＦＦを含む論理回路を有する。論理回路部２０は、電源回路部１２が生成する電源電圧ＶＤＤにより動作する。また、実際には各フリップフロップＦＦ間には様々な組み合わせ論理回路が存在しているが、ここでは簡単化のため省略している。なお、論理回路部２０は、クロック信号ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１以外の制御信号やデータ信号等を、半導体装置１００Ａの内部に入出力し、制御信号やデータ信号等を半導体装置１００Ａの外部に入出力してもよい。
【００３４】
なお、図２では、クロック分配部１６、切り替え部１８、クロックメッシュＣＭＥＳＨおよび論理回路部２０は、説明を分かりやすくするために互いに離れているが、実際には、共通の領域に重複して配置される。
【００３５】
図３は、図２に示したクロック分配部１６、切り替え部１８、クロックメッシュＣＭＥＳＨおよび論理回路部２０の例を示す。例えば、切り替え部１８のスイッチＳＷ（ＳＷａ、ＳＷｂ）は、ｎＭＯＳトランジスタとｐＭＯＳトランジスタのソース、ドレインを互いに接続したＣＭＯＳトランスミッションゲートである。図６に示すように、クロックメッシュＣＭＥＳＨは、例えば、論理回路部２０内に格子状に配線される。クロック信号線ＣＬＫａ１、ＣＬＫｂ１を、ＣＭＯＳトランスミッションゲート等のスイッチＳＷを用いてクロックメッシュＣＭＥＳＨに接続することで、論理信号である接続制御信号ＣＮによりクロックメッシュＣＭＥＳＨの接続／非接続を制御できる。
【００３６】
スイッチＳＷａ、ＳＷｂは、接続制御信号ＣＮがハイレベルのときにオンし、クロック信号線ＣＬＫａ１、ＣＬＫｂ１をクロックメッシュＣＭＥＳＨに接続する。この場合、クロック信号線ＣＬＫａ１、ＣＬＫｂ１がクロックメッシュＣＭＥＳＨを介して短絡されるため、クロック信号ＣＬＫａ１、ＣＬＫｂ１のクロックスキューの量は、クロック信号線ＣＬＫａ１、ＣＬＫｂ１が短絡されない場合に比べて小さくなる。ここで、クロックスキューは、クロック信号ＣＬＫａ１、ＣＬＫｂ１の遷移エッジのタイミングのずれ（ばらつき）である。
【００３７】
但し、スイッチＳＷａ、ＳＷｂのオンにより、クロック信号線ＣＬＫａ１、ＣＬＫｂ１は、共通の負荷であるクロックメッシュＣＭＥＳＨに接続される。このため、クロック信号ＣＬＫａ１、ＣＬＫｂ１を出力するクロックバッファＣＢＵＦのクロックパルスによる充放電電流は、スイッチＳＷａ、ＳＷｂがオフされる場合に比べて増加し、消費電力は増加する。
【００３８】
一方、スイッチＳＷａ、ＳＷｂは、接続制御信号ＣＮがロウレベルのときにオフし、クロック信号線ＣＬＫａ１、ＣＬＫｂ１とクロックメッシュＣＭＥＳＨとの接続を解除する。この場合、クロック信号ＣＬＫａ１、ＣＬＫｂ１は短絡せずに独立して生成されるため、クロック信号ＣＬＫａ１、ＣＬＫｂ１のクロックスキューは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１が短絡される場合に比べて大きくなる。
【００３９】
但し、クロック信号線ＣＬＫａ１、ＣＬＫｂ１は、電源電圧ＶＤＤが電圧情報Ｖｍで示される所定値より高い場合に、クロックメッシュＣＭＥＳＨから切り離される。クロックスキューは、電源電圧ＶＤＤが高いほど小さくなるため、クロックスキューの増加の影響は、電源電圧ＶＤＤが低いときに比べて小さい。
【００４０】
また、スイッチＳＷａ、ＳＷｂのオフにより、クロック信号ＣＬＫａ１、ＣＬＫｂ１を出力するクロックバッファＣＢＵＦは、クロックメッシュＣＭＥＳＨを駆動しない。このため、クロック信号ＣＬＫａ１、ＣＬＫｂ１を出力するクロックバッファＣＢＵＦのクロックパルスによる充放電電流は、スイッチＳＷａ、ＳＷｂがオンされる場合に比べて減少し、消費電力は減少する。
【００４１】
クロック信号ＣＬＫａ２を受けるフリップフロップＦＦは、クロック信号ＣＬＫａ２に同期してデータ信号ＤＴ０をラッチし、データ信号ＤＴ１として出力する。クロック信号ＣＬＫｂ２を受けるフリップフロップＦＦは、例えば、データ信号ＤＴ１をインバータＩＶおよびホールドバッファＨＢＵＦで遅延させたデータ信号ＤＴ２をラッチし、データ信号ＤＴ３として出力する。
【００４２】
図３に示すように、クロック信号ＣＬＫａ２を受けるフリップフロップＦＦとクロック信号ＣＬＫｂ２を受けるフリップフロップＦＦの間には、データ信号ＤＴ２を遅延させるホールドバッファＨＢＵＦが挿入される。ホールドバッファＨＢＵＦについては、図４で説明する。
【００４３】
図４は、図３に示した論理回路部２０の動作の例を示す。例えば、図４の上側の波形は、電源電圧ＶＤＤが動作可能な最大の値ＶＤＤｍａｘに設定された場合を示し、図４の下側の波形は、電源電圧ＶＤＤが動作可能な最小の値ＶＤＤｍｉｎに設定された場合を示す。クロック信号ＣＬＫｂ２に示した斜線は、クロック信号ＣＬＫｂ２のクロック信号ＣＬＫａ２に対するクロックスキューの範囲を示す。
【００４４】
電源電圧ＶＤＤが高い場合（ＶＤＤｍａｘ）、論理回路部２０の各回路の動作速度は高くなり、論理回路２０の内部で伝達される信号の伝搬遅延時間は、電源電圧ＶＤＤが低い場合に比べて短くなる。また、電源電圧ＶＤＤが高い場合、ＯＣＶ（On Chip Variation）による信号の伝搬タイミングのばらつきは現れにくくなり、ノイズによる電源電圧ＶＤＤや接地電圧ＶＳＳの変動による回路の動作速度のばらつきも現れにくくなる。これにより、例えば、クロック信号ＣＬＫａ２に対するクロック信号ＣＬＫｂ２のクロックスキューは、電源電圧ＶＤＤが低い場合に比べて小さくなる。なお、ＯＣＶは、製造工程に起因する半導体チップ内のトランジスタ特性や配線抵抗などのばらつきのことをいう。
【００４５】
以上より、電源電圧ＶＤＤが高い場合、クロック信号ＣＬＫｂ２の遷移エッジからデータ信号ＤＴ２の論理を保持する時間の仕様であるホールド制約は、クロックスキューの大きさに拘わらず満たされる。例えば、ホールド時間をゼロとすると、クロック信号ＣＬＫａ２に対してクロック信号ＣＬＫｂ２に許容されるクロックスキューは、クロック信号ＣＬＫａ２の立ち上がりエッジからデータ信号ＤＴ２がフリップフロップＦＦに到達するまでである。ここで、クロックスキューは、クロック信号ＣＬＫａ２の立ち上がりエッジからクロック信号ＣＬＫｂ２の立ち上がりエッジまで許容される。
【００４６】
一方、電源電圧ＶＤＤが低い場合（ＶＤＤｍｉｎ）、論理回路部２０の各回路の動作速度は低くなり、論理回路２０の内部で伝達される信号の伝搬遅延時間は、電源電圧ＶＤＤが高い場合に比べて長くなる。また、電源電圧ＶＤＤが低い場合、ＯＣＶによる信号の伝搬タイミングのばらつきは現れやすくなり、ノイズによる電源電圧ＶＤＤや接地電圧ＶＳＳの変動による回路の動作速度のばらつきも現れやすくなる。これにより、例えば、クロック信号ＣＬＫａ２に対するクロック信号ＣＬＫｂ２のクロックスキューは、電源電圧ＶＤＤが高い場合に比べて大きくなる。
【００４７】
クロックスキューが大きくなり、クロック信号ＣＬＫｂ２の立ち上がりエッジがデータ信号ＤＴ２の変化タイミングより遅くなると、クロック信号ＣＬＫｂ２とデータ信号ＤＴ２を受けるフリップフロップＦＦのホールド制約を満たすための時間余裕ｔＭは負値になる。これにより、クロック信号ＣＬＫｂ２を受けるフリップフロップＦＦは、本来のデータ値Ｄ０をラッチできず、１クロックサイクル後のデータ値Ｄ１をラッチするおそれがある。
【００４８】
実際には、図３に示したように、フリップフロップＦＦが誤ったデータ値Ｄ１をラッチしないように、遅延回路として機能する少なくとも１つのホールドバッファＨＢＵＦが、データ信号ＤＴ２の伝搬経路に挿入される。そして、図４の一番下に示したように、ホールドバッファＨＢＵＦの挿入により、フリップフロップＦＦへのデータ信号ＤＴ２の供給タイミングを遅らせることで、ホールド制約は満足する。
【００４９】
なお、図３に示したように、クロックメッシュＣＭＥＳＨをスイッチＳＷａ、ＳＷｂを介してクロック信号線ＣＬＫａ１、ＣＬＫｂ１に接続することで、クロックスキューを小さくできる。これにより、ホールドバッファＨＢＵＦの挿入数は最小限で済む。
【００５０】
図５は、図２に示した電圧情報Ｖｍを決定する手法の例を示す。例えば、電圧情報Ｖｍは、図２に示した論理回路部２０の設計後、例えば、回路シミュレーションにより求められる。なお、図２に示したホールドバッファＨＢＵＦの挿入数は、論理回路部２０の設計中に決定される。
【００５１】
特性Ｃ１は、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続されない場合のクロックスキューの電源電圧ＶＤＤに対する依存性を示す。特性Ｃ２は、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続される場合のクロックスキューの電源電圧ＶＤＤに対する依存性を示す。
【００５２】
図４で説明したように、クロックスキューは、電源電圧ＶＤＤが低い方が、電源電圧ＶＤＤが高い場合に比べて大きくなる。また、図３で説明したように、クロックスキューは、クロック信号ＣＬＫ０の経路にクロックメッシュＣＭＥＳＨが接続された方（特性Ｃ２）が、クロック信号ＣＬＫ０の経路にクロックメッシュＣＭＥＳＨが接続されない場合（特性Ｃ１）に比べて小さくなる。
【００５３】
特性Ｃ３は、半導体装置１００Ａの最低動作保証電圧における特性Ｃ２のクロックスキューを基準にする場合に許容されるクロックスキューを示す。特性Ｃ１、Ｃ２において、特性Ｃ３よりクロックスキューが大きい領域は、ホールド制約を満足せず、ホールド制約を満たすための時間余裕ｔＭは、図４に示した負の値になるおそれがある。一方、特性Ｃ１、Ｃ２において、特性Ｃ３よりクロックスキューが小さい領域は、ホールド制約を満足する。
【００５４】
そこで、この実施形態では、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続されない特性Ｃ１がホールド制約を満足する範囲内において、電源電圧ＶＤＤが最も小さい値が電圧情報Ｖｍに設定される。なお、電圧情報Ｖｍが示す電圧値は、クロックメッシュＣＭＥＳＨがクロック信号線（ＣＬＫａ１等）から切り離された状態で、特性Ｃ１がホールド制約を満足する電源電圧ＶＤＤの範囲内（例えば、電源電圧ＶＤＤの低い側）に設定されればよい。これにより、最低動作保証電圧から最高動作保証電圧の間の全ての電源電圧ＶＤＤにおいて、ホールド制約を満足できる。換言すれば、ホールド制約を違反させることなく、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離し可能である。
【００５５】
図６は、図２に示したクロックメッシュＣＭＥＳＨおよびスイッチＳＷ（ＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄ）の配置の例を示す。図６において、太い実線は、クロックメッシュＣＭＥＳＨを示し、細い実線は、クロック信号線を示し、網掛けで示す矩形は、図３に示した切り替え部１８のスイッチＳＷを示す。例えば、クロックメッシュＣＭＥＳＨ、クロック分配部１６および切り替え部１８（スイッチＳＷ）は、図２に示した論理回路部２０内に配置される。
【００５６】
例えば、クロックメッシュＣＭＥＳＨは、論理回路部２０内に格子状に配置される。クロックメッシュＣＭＥＳＨは、網目状に配置されてもよい。例えば、クロック信号ＣＬＫ０は、クロック分配部１６のクロックバッファＣＢＵＦにより、論理回路部２０の中央付近から外側に向けて順次に分岐され、格子の交点に対応して配置されるスイッチＳＷを介してクロックメッシュＣＭＥＳＨに接続される。すなわち、切り替え部１８は、クロックメッシュＣＭＥＳＨの信号線の交差部分に配置される。これにより、スイッチＳＷは、論理回路部２０内に分散して配置されるため、クロック信号ＣＬＫａ１等がクロックメッシュＣＭＥＳＨに接続される場合に、クロックスキューを論理回路部２０内の位置に依存せず平均的に小さくできる。
【００５７】
図７は、図２に示した半導体装置１００Ａの動作モードの例を示す。例えば、半導体装置１００Ａは、論理回路部２０に要求される処理能力に応じて、４つの動作モードＭＤ（ＭＤ１、ＭＤ２、ＭＤ３、ＭＤ４）のいずれかに設定される。
【００５８】
動作モードＭＤ１では、クロック信号ＣＬＫ０の周波数がＦ１に設定され、電源電圧ＶＤＤがＶ１に設定される。動作モードＭＤ２では、クロック信号ＣＬＫ０の周波数がＦ２に設定され、電源電圧ＶＤＤがＶ２に設定される。動作モードＭＤ３では、クロック信号ＣＬＫ０の周波数がＦ３に設定され、電源電圧ＶＤＤがＶ３に設定される。動作モードＭＤ４では、クロック信号ＣＬＫ０の周波数がＦ４に設定され、電源電圧ＶＤＤがＶ４に設定される。
【００５９】
例えば、クロック信号ＣＬＫ０の周波数の大小関係は、Ｆ１＜Ｆ２＜Ｆ３＜Ｆ４であり、電源電圧ＶＤＤの大小関係は、Ｖ１＜Ｖ２＜Ｖ３＜Ｖ４である。特に限定されないが、例えば、周波数Ｆ１は１Ｍ（メガ）Ｈｚであり、周波数Ｆ２は１０ＭＨｚであり、周波数Ｆ３は１００ＭＨｚであり、周波数Ｆ４は１０００ＭＨｚ（＝１ＧＨｚ）である。また、特に限定されないが、例えば、電源電圧Ｖ１は０．３Ｖであり、電源電圧Ｖ２は０．５Ｖであり、電源電圧Ｖ３は０．８Ｖであり、電源電圧Ｖ４は１．２Ｖである。換言すれば、半導体装置１００Ａの論理回路部２０に要求される処理能力は、動作モードＭＤ１、ＭＤ２、ＭＤ３、ＭＤ４の順に大きくなる。
【００６０】
半導体装置１００Ａは、動作モードＭＤ１、ＭＤ２を相互に移行可能であり、動作モードＭＤ１、ＭＤ３を相互に移行可能である。また、半導体装置１００Ａは、動作モードＭＤ２、ＭＤ３を相互に移行可能であり、動作モードＭＤ２、ＭＤ４を相互に移行可能であり、動作モードＭＤ３、ＭＤ４を相互に移行可能である。
【００６１】
この例では、図２に示した電圧情報Ｖｍは、電源電圧ＶＤＤ２と電源電圧ＶＤＤ３の間の値（例えば、０．６５Ｖ）を示す。そして、動作モードＭＤ１、ＭＤ２では、接続制御信号ＣＮがハイレベルＨに設定され、図２に示したクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１は、クロックメッシュＣＭＥＳＨに接続される。動作モードＭＤ３、ＭＤ４では、接続制御信号ＣＮがロウレベルＬに設定され、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１は、クロックメッシュＣＭＥＳＨから切り離される。
【００６２】
図８は、図２に示した半導体装置１００Ａにおける消費エネルギーの電源電圧ＶＤＤに対する依存性の例を示す。例えば、消費エネルギーは、Ｊ／ｃｙｃｌｅ（ジュール／クロックサイクル）で表される。
【００６３】
図８において、一点鎖線Ｃ４は、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１にクロックメッシュＣＭＥＳＨが接続される場合の特性を示す。一点鎖線Ｃ５は、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１にクロックメッシュＣＭＥＳＨが接続されない場合の特性を示す。二点鎖線Ｃ６は、図４において、ホールドバッファＨＢＵＦを挿入した場合の特性（クロックメッシュＣＭＥＳＨを持たない半導体装置）を示す。太い実線は、この実施形態における消費エネルギーの特性を示す。太い実線は、電圧情報Ｖｍが示す電源電圧ＶＤＤ以下の領域では特性Ｃ４と重複し、電圧情報Ｖｍが示す電源電圧ＶＤＤより高い領域では特性Ｃ５と重複する。
【００６４】
この実施形態では、クロックメッシュＣＭＥＳＨの寄生容量を充放電する電流が大きい電源電圧ＶＤＤ（Ｖ３、Ｖ４）では、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離される。これにより、消費エネルギーは、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続される場合（特性Ｃ４）に比べて削減される（図８（ａ））。
【００６５】
また、トランジスタのソース、ドレイン間のリーク電流が相対的に増える電源電圧ＶＤＤ（Ｖ１、Ｖ２）では、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続される。これにより、特性Ｃ６で示されるクロックメッシュＣＭＥＳＨを持たない半導体装置に比べて、ホールドバッファＨＢＵＦの挿入数は減り、ホールドバッファＨＢＵＦの総リーク電流量が少なくなるため、消費エネルギーは削減される（図８（ｂ））。
【００６６】
以上より、動作モードＭＤ３、ＭＤ４では、クロックメッシュＣＭＥＳＨを持たない特性Ｃ６に近い特性になり、動作モードＭＤ１、ＭＤ２では、ホールドバッファＨＢＵＦの数を最小限にできる特性Ｃ４に近い特性になる。このように、この実施形態では、クロックメッシュＣＭＥＳＨの接続が、動作モードＭＤ１−ＭＤ４に応じて動的に切り替えられるため、電源電圧ＶＤＤに拘わりなく、消費エネルギーを従来に比べて少なくできる。
【００６７】
図９は、図２に示した半導体装置１００Ａの動作の例を示す。この例では、半導体装置１００Ａは、動作モードＭＤ４から動作モードＭＤ２に移行し、さらに、動作モードＭＤ２から動作モードＭＤ３に移行する。網掛けで示した符号ＳＷＰは、動作モードＭＤの切り替え時の遷移期間であり。例えば、電源電圧ＶＤＤが所定の値に変化するまでの切り替え期間である。
【００６８】
負荷情報ＬＤＩＮＦに示した符号ＬＤ１、ＬＤ２、ＬＤ３、ＬＤ４は、論理回路部２０に要求される処理能力の大きさ（負荷）を示し、図７に示した動作モードＭＤ１、ＭＤ２、ＭＤ３、ＭＤ４にそれぞれ対応する。すなわち、負荷は、ＬＤ１＜ＬＤ２＜ＬＤ３＜ＬＤ４の順で大きくなる。
【００６９】
例えば、負荷情報ＬＤＩＮＦのＬＤ４からＬＤ２への変化は、動作モードＭＤ４から動作モードＭＤ２への移行の指示を示し、負荷情報ＬＤＩＮＦのＬＤ２からＬＤ３への変化は、動作モードＭＤ２から動作モードＭＤ３への移行の指示を示す。図２に示した負荷制御部１０は、負荷情報ＬＤＩＮＦに基づいて、設定するクロック信号ＣＬＫ０の周波数を示す周波数情報ＦＩＮＦおよび設定する電源電圧ＶＤＤの値を示す電圧情報ＶＩＮＦを生成する。図７に示したように、周波数情報ＦＩＮＦは、周波数Ｆ１、Ｆ２、Ｆ３、Ｆ４のいずれかを示し、電圧情報ＶＩＮＦは、電源電圧Ｖ１、Ｖ２、Ｖ３、Ｖ４のいずれかを示す。
【００７０】
動作モードＭＤ４では、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離される（図９（ａ））。動作モードＭＤ４から動作モードＭＤ２に切り替えられる場合、比較回路ＣＯＭＰは、電源電圧ＶＤＤが電圧情報Ｖｍにより示される所定値以下になったことに応答して接続制御信号ＣＮをロウレベルからハイレベルに変化する（図９（ｂ））。これにより、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続される（図９（ｃ））。
【００７１】
動作モードＭＤ２から動作モードＭＤ３に切り替えられる場合、比較回路ＣＯＭＰは、電源電圧ＶＤＤが電圧情報Ｖｍにより示される所定値より高くなったことに応答して接続制御信号ＣＮをハイレベルからロウレベルに変化する（図９（ｄ））。これにより、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離される（図９（ｅ））。
【００７２】
なお、電源電圧ＶＤＤが高い側から低い側に遷移する場合（例えば、動作モードＭＤ４から動作モードＭＤ２への移行）、論理回路部２０は、電源電圧ＶＤＤの低下を待たずに動作を開始可能である。換言すれば、論理回路部２０は、切り替え期間ＳＷＰ中に新たな動作モードでの動作を開始可能である。一方、電源電圧ＶＤＤが低い側から高い側に遷移する場合（例えば、動作モードＭＤ２から動作モードＭＤ３への移行）、論理回路部２０は、電源電圧ＶＤＤが規定の値（例えば、Ｖ３）まで上昇した後に動作を開始する。換言すれば、電源電圧ＶＤＤが低い側から高い側に遷移する場合、論理回路部２０は、切り替え期間ＳＷＰ後に新たな動作モードでの動作を開始する。
【００７３】
以上、この実施形態においても、図１に示した実施形態と同様に、電源電圧ＶＤＤに拘わりなく、クロックスキューを抑制しながら半導体装置１００Ａの消費電力の増加を抑制できる。さらに、この実施形態では、比較部ＣＯＭＰが、電源電圧ＶＤＤと電圧情報Ｖｍにより示される所定値との大小関係を判定するため、クロック信号線（ＣＬＫａ１等）へのクロックメッシュＣＭＥＳＨの接続／非接続を、電源電圧ＶＤＤに基づいて正確に制御できる。
【００７４】
また、図５に示したように、電圧情報Ｖｍは、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続されない特性Ｃ１がホールド制約を満足する範囲内で、電源電圧ＶＤＤが低い側に設定される。これにより、ホールド制約を違反させることなく、クロックメッシュＣＭＥＳＨをクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離しできる。
【００７５】
クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１は、ＣＭＯＳトランスミッションゲート等のスイッチＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄを用いてクロックメッシュＣＭＥＳＨに接続される。これにより、論理信号である接続制御信号ＣＮによりクロックメッシュＣＭＥＳＨの接続／非接続を制御できる。
【００７６】
図６に示したように、スイッチＳＷは、クロックメッシュＣＭＥＳＨの信号線の交差部分に配置されるため、スイッチＳＷは論理回路部２０内に分散して配置される。これにより、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１がクロックメッシュＣＭＥＳＨに接続される場合に、論理回路部２０内の位置に依存せず、クロックスキューを平均的に小さくできる。
【００７７】
図１０は、半導体装置および半導体装置の制御方法の別の実施形態を示す。上述した実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。この実施形態の半導体装置１００Ｂは、図２に示した電源管理部１２およびクロック制御部１４の代わりに、電源管理部１２Ｂおよびクロック制御部１４Ｂを有する。
【００７８】
半導体装置１００Ｂのその他の構成は、図２に示した半導体装置１００Ａと同様である。すなわち、半導体装置１００Ｂは、図３および図６と同様の構成を有し、半導体装置１００Ｂの動作モードの遷移は、図７に示され、半導体装置１００Ｂの特性の例は、図８に示される。
【００７９】
電源管理部１２Ｂは、アナログデジタルコンバータＡＤＣを持たないことを除き、図２に示した電源管理部１２と同様である。すなわち、電源管理部１２Ｂは、半導体装置１００Ｂの外部から受ける電源電圧ＶＤＤ０を用いて、負荷制御部１０からの電圧情報ＶＩＮＦにより示される電源電圧ＶＤＤを生成する。
【００８０】
クロック制御部１４Ｂは、モード検出部ＭＤＤＥＴ、スイッチテーブルＳＷＴＢＬ、接続制御部ＣＮＣＮＴおよびクロック生成部ＣＧＥＮを有する。クロック生成部ＣＧＥＮの機能は、図２に示したクロック生成部ＣＧＥＮと同様である。
【００８１】
モード検出部ＭＤＤＥＴは、負荷制御部１０からの電圧情報ＶＩＮＦおよび周波数情報ＦＩＮＦに基づいて動作モードＭＤ（ＭＤ１−ＭＤ４のいずれか）を検出する。なお、モード検出部ＭＤＤＥＴは、周波数情報ＦＩＮＦを用いずに、電圧情報ＶＩＮＦから動作モードＭＤを検出してもよい。モード検出部ＭＤＤＥＴは、検出した動作モードＭＤを示すモード情報ＰＭＤを保持し、保持したモード情報ＰＭＤを接続制御部ＣＮＣＮＴに出力する。
【００８２】
スイッチテーブルＳＷＴＢＬは、動作モードＭＤが切り替えられる場合の待機時間の情報を記憶する。例えば、動作モードＭＤ２（前モード）から動作モードＭＤ３（現モード）に切り替えられる場合の待機時間は、Ｔ１である。動作モードＭＤ１から動作モードＭＤ３に切り替えられる場合の待機時間は、Ｔ２である。動作モードＭＤ２から動作モードＭＤ４に切り替えられる場合の待機時間は、Ｔ３である。一方、上記の３つの切り替え以外の待機時間は０である。なお、待機時間に示した”０（ｄｏｎ’ｔ  Ｃａｒｅ）”は、接続制御信号ＣＮの論理が変更されない動作モードＭＤの切り替えを示す。スイッチテーブルＳＷＴＢＬは、接続制御部ＣＮＣＮＴからの要求に応じて、待機時間を示すテーブル情報ＴＢＬＩＮＦを出力する。
【００８３】
待機時間Ｔ１、Ｔ２、Ｔ３は、動作モードＭＤの切り替え時の電源電圧ＶＤＤの上昇値に大きさに応じて設定される。例えば、動作モードＭＤ１、ＭＤ２、ＭＤ３、ＭＤ４の電源電圧ＶＤＤは、図２に示した半導体装置１００と同様に、それぞれ０．３Ｖ、０．５Ｖ、０．８Ｖ、１．２Ｖである。そして、電源電圧ＶＤＤは、動作モードＭＤ２から動作モードＭＤ３への切り替え時に０．３Ｖ上昇し、動作モードＭＤ１から動作モードＭＤ３への切り替え時に０．５Ｖ上昇し、動作モードＭＤ２から動作モードＭＤ４への切り替え時に０．７Ｖ上昇する。例えば、待機時間Ｔ１、Ｔ２、Ｔ３は、０．３Ｖ、０．５Ｖ、０．７Ｖに比例してこの順で長くなる。
【００８４】
接続制御部ＣＮＣＮＴは、モード検出部ＭＤＤＥＴからのモード情報ＰＭＤにより動作モードＭＤの切り替えを検出した場合に、スイッチテーブルＳＷＴＢＬにアクセスして、動作モードＭＤの切り替え時の待機時間（ＴＢＬＩＮＦ）を読み出す。接続制御部ＣＮＣＮＴは、動作モードが切り替わる前の動作モード（前モード）の情報を保持するために、ラッチ回路を有してもよい。
【００８５】
接続制御部ＣＮＣＮＴは、動作モードＭＤ２から動作モードＭＤ３に切り替わる場合、スイッチテーブルＳＷＴＢＬにおいて上から２行目の待機時間Ｔ１をテーブル情報ＴＢＬＩＮＦとして読み出す。接続制御部ＣＮＣＮＴは、動作モードＭＤ１から動作モードＭＤ３に切り替わる場合、スイッチテーブルＳＷＴＢＬにおいて上から３行目の待機時間Ｔ２をテーブル情報ＴＢＬＩＮＦとして読み出す。接続制御部ＣＮＣＮＴは、動作モードＭＤ２から動作モードＭＤ４に切り替わる場合、スイッチテーブルＳＷＴＢＬにおいて上から４行目の待機時間Ｔ３をテーブル情報ＴＢＬＩＮＦとして読み出す。そして、接続制御部ＣＮＣＮＴは、動作モードＭＤの切り替えがクロックメッシュＣＭＥＳＨの切り離しを伴う場合、読み出した待機時間が示す所定時間後に接続制御信号ＣＮをロウレベルに変更する。
【００８６】
図１１は、図１０に示した半導体装置１００Ｂの動作の例を示す図である。図９と同一または同様の動作については、詳細な説明は省略する。この例においても、図９と同様に、半導体装置１００Ｂは、動作モードＭＤ４から動作モードＭＤ２に移行し、さらに、動作モードＭＤ２から動作モードＭＤ３に移行する。負荷情報ＬＤＩＮＦ、周波数情報ＦＩＮＦ、電圧情報ＶＩＮＦおよび電源電圧ＶＤＤの変化は、図９と同様である。
【００８７】
例えば、動作モードＭＤ４から動作モードＭＤ２への切り替わり時、接続制御部ＣＮＣＮＴは、図１０に示したスイッチテーブルＳＷＴＢＬの７行目を参照し、待機時間が０であることを認識する。そして、接続制御部ＣＮＣＮＴは、動作モードＭＤ４から動作モードＭＤ２への切り替えタイミングに合わせて接続制御信号ＣＮをロウレベルからハイレベルに変化させる（図１１（ａ））。ハイレベルの接続制御信号ＣＮにより、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１に接続される（図１１（ｂ））。
【００８８】
一方、動作モードＭＤ２から動作モードＭＤ３への切り替わり時、接続制御部ＣＮＣＮＴは、図１０に示したスイッチテーブルＳＷＴＢＬの２行目を参照し、待機時間がＴ１であることを認識する。そして、接続制御部ＣＮＣＮＴは、動作モードＭＤ２から動作モードＭＤ３への切り替えタイミングから待機時間Ｔ１後に接続制御信号ＣＮをハイレベルからロウレベルに変化させる（図１１（ｃ））。ロウレベルの接続制御信号ＣＮにより、クロックメッシュＣＭＥＳＨは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離される（図１１（ｄ））。
【００８９】
この実施形態では、電源電圧ＶＤＤが所定の値に上昇するまで、クロックメッシュＣＭＥＳＨのクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１からの切り離しが禁止される。これにより、電源電圧ＶＤＤが所定の値に上昇する前にクロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離されることはなく、クロックスキューが大きくなることはない。換言すれば、図５において、電圧情報Ｖｍが示す値より低い電源電圧ＶＤＤにおいて、クロックスキューが特性Ｃ１を示すことはなく、ホールド制約違反を避けることができる。この結果、論理回路部２０が誤動作することを避けることができる。
【００９０】
以上、この実施形態においても、図１に示した実施形態と同様に、電源電圧ＶＤＤに拘わりなく、クロックスキューを抑制しながら半導体装置１００Ｂの消費電力の増加を抑制できる。また、図２に示した実施形態と同様に、ホールド制約を違反することなく、クロックメッシュＣＭＥＳＨをクロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１から切り離しできる。論理信号である接続制御信号ＣＮによりクロックメッシュＣＭＥＳＨの接続／非接続を制御できる。スイッチＳＷをクロックメッシュＣＭＥＳＨの信号線の交差部分に配置することで、クロック信号線ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１がクロックメッシュＣＭＥＳＨに接続される場合に、クロックスキューを平均的に小さくできる。
【００９１】
さらに、電源電圧ＶＤＤが低い動作モードＭＤから電源電圧ＶＤＤが高い動作モードＭＤへの切り替えにおいて、クロックスキューによりホールド制約が違反することを避けることができ、論理回路部２０が誤動作することを避けることができる。
【００９２】
図１２は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２から図９で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【００９３】
この実施形態の半導体装置１００Ｃは、図２に示した切り替え部１８の代わりに、切り替え部１８Ｃを有する。半導体装置１００Ｃのその他の構成は、図２に示した半導体装置１００Ａと同様である。すなわち、半導体装置１００Ｃは、図２に示した負荷制御部１０、電源管理部１２、クロック制御部１４、クロック分配部１６、クロックメッシュＣＭＥＳＨおよび論理回路部２０を有する。半導体装置１００Ｃは、図５と同様の手法で電圧情報Ｖｍが決定され、図６と同様の構成を有する。また、半導体装置１００Ｃの動作モードの遷移は、図７に示される。半導体装置１００Ｃの特性の例は、図８に示され、半導体装置１００Ｃの動作の例は、図９に示される。
【００９４】
切り替え部１８Ｃは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１毎に２つの２入力のアンド回路ＡＮＤ１、ＡＮＤ２および１つの２入力のオア回路ＯＲを有する。アンド回路ＡＮＤ１は、接続制御信号ＣＮとクロック信号ＣＬＫａ１（またはＣＬＫｂ１）を受け、第１経路Ｐ１を介して出力信号をオア回路ＯＲの一方の入力に供給する。アンド回路ＡＮＤ１の出力（すなわち、第１経路Ｐ１）は、クロックメッシュＣＭＥＳＨに接続される。
【００９５】
アンド回路ＡＮＤ２は、接続制御信号ＣＮをインバータＩＶで反転した信号／ＣＮとクロック信号ＣＬＫａ１（またはＣＬＫｂ１）を受け、第２経路Ｐ２を介して出力信号をオア回路ＯＲの他方の入力に供給する。接続制御信号ＣＮは、第１制御信号の一例であり、接続制御信号ＣＮをインバータＩＶで反転した信号／ＣＮは、第２制御信号の一例である。
【００９６】
アンド回路ＡＮＤ１は、接続制御信号ＣＮがハイレベルの期間、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）をクロックメッシュＣＭＥＳＨに接続された第１経路Ｐ１およびオア回路ＯＲを介して論理回路部２０に供給する。アンド回路ＡＮＤ２は、接続制御信号ＣＮがロウレベルの期間、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）をクロックメッシュＣＭＥＳＨに接続されない第２経路Ｐ２およびオア回路ＯＲを介して論理回路部２０に供給する。
【００９７】
すなわち、アンド回路ＡＮＤ１、ＡＮＤ２およびオア回路ＯＲは、電源電圧ＶＤＤに応じて、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）を第１経路Ｐ１または第２経路Ｐ２に接続するセレクタとして機能する。セレクタは、電源電圧ＶＤＤが所定値以下の場合にクロック信号線をクロックメッシュＣＭＥＳＨに接続された第１経路Ｐ１に接続し、電源電圧ＶＤＤが所定値より高い場合にクロック信号線をクロックメッシュＣＭＥＳＨが接続されない第２経路Ｐ２に接続する。
【００９８】
切り替え部１８Ｃは、図３に示した切り替え部１８と同様の機能を有する。但し、この実施形態では、クロックメッシュＣＭＥＳＨと論理回路部２０のクロックバッファＣＢＵＦとの間にＣＭＯＳトランスミッションゲート等のスイッチによる抵抗成分が介在せず、クロックメッシュＣＭＥＳＨは、オア回路ＯＲの入力に接続される。このため、図３に示した例に比べて、クロックスキューを小さくできる。
【００９９】
さらに、接続制御信号ＣＮがロウレベルに設定される期間、アンド回路ＡＮＤ１の出力はロウレベルに固定される。このため、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１に接続されない期間に、クロックメッシュＣＭＥＳＨを接地線の電圧を安定化させる容量として機能させることができる。クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１に接続されない期間は、電源電圧ＶＤＤの値が電圧情報Ｖｍで示す値より高い期間（図７に示したＶ３またはＶ４）であり、電源ノイズが発生しやすい。この実施形態では、電源電圧ＶＤＤが高い動作モードＭＤ中に、クロックメッシュＣＭＥＳＨを電源安定化容量として使用することで、ノイズ耐性を向上できる。
【０１００】
例えば、回路シミュレーションによる評価では、図６に示したクロック分配部１６を有する論理回路部２０において、切り替え部が図１２に示した１８Ｃである場合、電源電圧ＶＤＤがＶ４の場合の消費エネルギー（クロックメッシュＣＭＥＳＨは切り離し）は、３．６６ピコジュール（ｐＪ）である。これに対して、図６に示したクロック分配部１６を有する論理回路部２０において、図３に示した切り替え部１８を有しない場合（電源電圧ＶＤＤによらずクロックメッシュＣＭＥＳＨに接続）、電源電圧ＶＤＤがＶ４の場合の消費エネルギーは４．９２ｐＪである。したがって、例えば、クロック信号線（ＣＬＫａ１等）の充放電電流が増加する電源電圧Ｖ４において、切り替え部１８ＣによりクロックメッシュＣＭＥＳＨをクロック信号線から切り離すことで、消費エネルギーは約２５％削減可能である。
【０１０１】
なお、図１２に示した切り替え部１８Ｃは、図１０に示した切り替え部１８の代わりに配置されてもよい。この場合、図１０に示した半導体装置１００Ｂと同様に、電源電圧ＶＤＤが高い動作モードＭＤへの切り替えにおいて、クロックスキューによりホールド制約が違反することを避けることができる。
【０１０２】
以上、この実施形態においても、図１から図９に示した実施形態と同様の効果を得ることができる。さらに、図３に示した例に比べて、クロックスキューを小さくでき、電源電圧ＶＤＤが高い動作モードＭＤ中に、クロックメッシュＣＭＥＳＨを電源安定化容量として使用することで、ノイズ耐性を向上できる。
【０１０３】
図１３は、半導体装置および半導体装置の制御方法の別の実施形態を示す。図２から図９で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
【０１０４】
この実施形態の半導体装置１００Ｄは、図２に示した切り替え部１８の代わりに、切り替え部１８Ｄを有する。半導体装置１００Ｄのその他の構成は、図２に示した半導体装置１００Ａと同様である。すなわち、半導体装置１００Ｄは、図２に示した負荷制御部１０、電源管理部１２、クロック制御部１４、クロック分配部１６、クロックメッシュＣＭＥＳＨおよび論理回路部２０を有する。半導体装置１００Ｄは、図５と同様の手法で電圧情報Ｖｍが決定され、図６と同様の構成を有する。また、半導体装置１００Ｄの動作モードの遷移は、図７に示される。半導体装置１００Ｄの特性の例は、図８に示され、半導体装置１００Ｄの動作の例は、図９に示される。
【０１０５】
切り替え部１８Ｄは、クロック信号線ＣＬＫａ１、ＣＬＫｂ１毎に３つの２入力のナンド回路ＮＡＮＤ１、ＮＡＮＤ２、ＮＡＮＤ３を有する。ナンド回路ＮＡＮＤ１は、接続制御信号ＣＮとクロック信号ＣＬＫａ１（またはＣＬＫｂ１）を受け、第１経路Ｐ１を介して出力信号をナンド回路ＮＡＮＤ３の一方の入力に供給する。ナンド回路ＮＡＮＤ１の出力（すなわち、第１経路Ｐ１）は、クロックメッシュＣＭＥＳＨに接続される。
【０１０６】
ナンド回路ＮＡＮＤ２は、接続制御信号ＣＮをインバータＩＶで反転した信号／ＣＮとクロック信号ＣＬＫａ１（またはＣＬＫｂ１）を受け、第２経路Ｐ２を介して出力信号をナンド回路ＮＡＮＤ３の他方の入力に供給する。接続制御信号ＣＮは、第１制御信号の一例であり、接続制御信号ＣＮをインバータＩＶで反転した信号／ＣＮは、第２制御信号の一例である。
【０１０７】
ナンド回路ＮＡＮＤ１は、接続制御信号ＣＮがハイレベルの期間、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）をクロックメッシュＣＭＥＳＨに接続された第１経路Ｐ１およびナンド回路ＮＡＮＤ３を介して論理回路部２０に供給する。ナンド回路ＮＡＮＤ２は、接続制御信号ＣＮがロウレベルの期間、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）をクロックメッシュＣＭＥＳＨに接続されない第２経路Ｐ２およびナンド回路ＮＡＮＤ３を介して論理回路部２０に供給する。
【０１０８】
すなわち、ナンド回路ＮＡＮＤ１、ＮＡＮＤ２、ＮＡＮＤ３は、電源電圧ＶＤＤに応じて、クロック信号ＣＬＫａ１（またはＣＬＫｂ１）を第１経路Ｐ１または第２経路Ｐ２に接続するセレクタとして機能する。セレクタは、電源電圧ＶＤＤが所定値以下の場合にクロック信号線をクロックメッシュＣＭＥＳＨに接続された第１経路Ｐ１に接続し、電源電圧ＶＤＤが所定値より高い場合にクロック信号線をクロックメッシュＣＭＥＳＨが接続されない第２経路Ｐ２に接続する。
【０１０９】
切り替え部１８Ｄは、図３に示した切り替え部１８と同様の機能を有する。但し、この実施形態では、図１２と同様に、クロックメッシュＣＭＥＳＨと論理回路部２０のクロックバッファＣＢＵＦとの間にＣＭＯＳトランスミッションゲート等のスイッチによる抵抗成分が介在せず、クロックメッシュＣＭＥＳＨは、ナンド回路ＮＡＮＤ３の入力に接続される。また、図１２に示したアンド回路ＡＮＤ１、ＡＮＤ２は、ナンドゲートとインバータを含み、図１２に示したオア回路ＯＲは、ノアゲートとインバータを含むが、ナンド回路ＮＡＮＤ１、ＮＡＮＤ２、ＮＡＮＤ３は、ナンドゲートでよい。このため、クロック信号ＣＬＫａ１、ＣＬＫｂ１が伝達されるトランジスタの段数を図１２に比べて少なくでき、ＯＣＶの影響を図１２に比べて少なくできる。この結果、図３に示した例に比べて、クロックスキューを小さくできる。さらに、ナンド回路ＮＡＮＤ１、ＮＡＮＤ２、ＮＡＮＤ３を有する切り替え部１８Ｄは、図１２に示したアンド回路ＡＮＤ１、ＡＮＤ２およびオア回路ＯＲを有する切り替え部１８Ｃに比べて回路面積を小さくできる。
【０１１０】
さらに、接続制御信号ＣＮがロウレベルに設定される期間、ナンド回路ＮＡＮＤ１の出力はハイレベルに固定される。このため、クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１に接続されない期間に、クロックメッシュＣＭＥＳＨを電源線の電圧を安定化させる容量として機能させることができる。クロックメッシュＣＭＥＳＨがクロック信号線ＣＬＫａ１、ＣＬＫｂ１に接続されない期間は、電源電圧ＶＤＤの値が電圧情報Ｖｍで示す値より高い期間（図７に示したＶ３またはＶ４）であり、電源ノイズが発生しやすい。この実施形態では、電源電圧ＶＤＤが高い動作モードＭＤ中に、クロックメッシュＣＭＥＳＨを電源安定化容量として使用することで、ノイズ耐性を向上できる。
【０１１１】
なお、図１３に示した切り替え部１８Ｄは、図１０に示した切り替え部１８の代わりに配置されてもよい。この場合、図１０に示した半導体装置１００Ｂと同様に、電源電圧ＶＤＤが高い動作モードＭＤへの切り替えにおいて、クロックスキューによりホールド制約が違反することを避けることができる。
【０１１２】
以上、この実施形態においても、図１から図９に示した実施形態と同様の効果を得ることができる。さらに、図３に示した例に比べてクロックスキューを小さくでき、図１２に示した例に比べて回路面積を小さくできる。
【０１１３】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
【符号の説明】
【０１１４】
１０…負荷制御部；１２、１２Ｂ…電源管理部；１４、１４Ｂ…クロック制御部；１６…クロック分配部；１８、１８Ｃ、１８Ｄ…切り替え部；２０…論理回路部；１００、１００Ａ、１００Ｂ、１００Ｃ、１００Ｄ…半導体装置；ＡＤＣ…アナログデジタルコンバータ；ＡＮＤ１、ＡＮＤ２…アンド回路；ＣＢＵＦ…クロックバッファ；ＣＧＥＮ…クロック生成部；ＣＬＫ０…クロック信号；ＣＬＫａ１、ＣＬＫｂ１、ＣＬＫｃ１、ＣＬＫｄ１…クロック信号線；ＣＬＫａ２、ＣＬＫｂ２、ＣＬＫｃ２、ＣＬＫｄ２…クロック信号；ＣＭＥＳＨ…クロックメッシュ；ＣＮ…接続制御信号；ＣＮＣＮＴ…接続制御部；ＣＮＴＵ…制御部；ＣＯＭＰ…比較部；ＦＦ…フリップフロップ；ＦＩＮＦ…周波数情報；ＨＢＵＦ…ホールドバッファ；ＬＤＩＮＦ…負荷情報；ＬＤＵ…負荷部；ＭＤ１、ＭＤ２、ＭＤ３、ＭＤ４…動作モード；ＭＤＤＥＴ…モード検出部；ＮＡＮＤ１、ＮＡＮＤ２、ＮＡＮＤ３…ナンド回路；ＯＲ…オア回路；Ｐ１…第１経路；Ｐ２…第２経路；ＳＷａ、ＳＷｂ、ＳＷｃ、ＳＷｄ…スイッチ；ＳＷＴＢＬ…スイッチテーブル；ＳＷＵ…切り替え部；ＴＢＬＩＮＦ…テーブル情報；ＶＩＮＦ…電圧情報；ＶＤＤ、ＶＤＤ０…電源電圧；ＶＤＤＩＮＦ…電源電圧情報；ＶＧＥＮ…電圧生成部
【図１】
2014142812.tif 000003
【図２】
2014142812.tif 000004
【図３】
2014142812.tif 000005
【図４】
2014142812.tif 000006
【図５】
2014142812.tif 000007
【図６】
2014142812.tif 000008
【図７】
2014142812.tif 000009
【図８】
2014142812.tif 000010
【図９】
2014142812.tif 000011
【図１０】
2014142812.tif 000012
【図１１】
2014142812.tif 000013
【図１２】
2014142812.tif 000014
【図１３】
2014142812.tif 000015