(57)【要約】【課題】少しの設計方法の変更で設計できる、一層低消費電力化した半導体装置の実現。【解決手段】複数の電源供給領域23と、複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットSWA,SWBと、を有し、複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも１つの機能ブロックが形成され、少なくとも１つの機能ブロックは、内部に異なる電圧で動作する回路要素を含む半導体装置。【選択図】図３
2013055199.tif 000002
【特許請求の範囲】
【請求項１】
複数の電源供給領域と、
前記複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットと、を備え、
前記複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも１つの機能ブロックが形成され、
前記少なくとも１つの機能ブロックは、内部に異なる電圧で動作する回路要素を含むことを特徴とする半導体装置。
【請求項２】
前記複数の電源供給領域のそれぞれは、前記電源供給領域の動作状態を検出する動作状態検出回路を備え、
前記電源切替ユニットは、前記電源供給領域に供給する電源電圧を切り替える電源選択回路と、前記動作状態検出回路の検出した前記電源供給領域の動作状態に応じて、正常な動作状態が得られるように前記電源選択回路の切替を設定する電源設定回路と、を備える請求項１記載の半導体装置。
【請求項３】
前記動作状態検出回路は、カナリア・フリップ・フロップを備える請求項２記載の半導体装置。
【請求項４】
当該半導体装置は、通常動作モードと、電源設定モードと、を備え、
前記電源設定回路は、前記電源設定モード時に、前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定し、前記通常動作モード時には、前記電源設定モード時に設定した前記電源選択回路の切替状態を維持する請求項３記載の半導体装置。
【請求項５】
前記動作状態検出回路の検出結果は、前記動作状態検出回路に信号を供給する他の電源供給領域の前記電源選択回路に供給され、
他の電源供給領域から前記検出結果が供給された前記電源設定回路は、他の電源供給領域から供給された前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定する請求項４記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。
【背景技術】
【０００２】
半導体装置は、低消費電力化が要望されると共に仕様で定められた所定の性能を実現することが求められる。低消費電力化を実現する代表的な手法が電源電圧を低下させることであるが、電源電圧を低下させると半導体装置内の回路要素の動作速度が低下する。所定の性能を実現しながら半導体装置全体の電源電圧を低下させる場合、電源電圧の低下量が制限されるため、低消費電力化が不十分であるという問題があった。そこで、半導体装置内に、機能ブロックごとに供給する電源の電圧を切り替える電源電圧切替回路を設け、機能ブロックごとに、所定の性能を満足するように電源電圧を設定する。これにより、半導体装置全体の電源電圧を低下させる場合に比べて、より細かい単位で電源電圧を調整することができ、部分的に電源電圧を一層低下させることができるので、消費電力を低減できる。
【０００３】
機能ブロックごとに電源電圧を制御する場合、実装の設計段階で機能ブロックを切り分け、機能ブロック毎に電源電圧切替回路を配置し、その上で各機能ブロックのレイアウト設計を行なうことになり、設計の手順を大幅に変更することになる。このため、実装の設計作業が増大するという問題があった。
【０００４】
特に、機能ブロックごとに電源電圧を制御する場合、電源電圧の調整量が大きいことを前提としており、異なる電源電圧の機能ブロック間の入出力信号は電圧レベルが異なるため、レベルコンバータを設けて信号レベルを調整する必要があった。そのため、実装設計では、各機能ブロックのレイアウト設計を行なった後に、機能ブロック間にレベルコンバータを配置する必要があり、そのためのスペースを確保する必要があり、設計が冗長になっていた。
【０００５】
さらに、半導体製造工程のバラツキのために、半導体装置内で部分的にトランジスタの特性が異なり、トランジスタが正常に動作する電源電圧も部分的に異なる。電源電圧の制御単位が機能ブロック単位である場合、機能ブロック内の局所的な電源電圧の調整には対応できず、十分な低消費電力化が実現できないという問題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１６１９２８号公報
【特許文献２】特開２００２−１１１４７０号公報
【非特許文献】
【０００７】
【非特許文献１】Liang Di, et al., “Power Switch Characterization for Fine-Grained Dynamic Voltage Scaling”, IEEE International Conference on Computer Design, 2008, p.p.605-611
【非特許文献２】B.H. Calhoun, et al., “Modeling and Sizing for Minimum Energy Operation in Subthreshold Circuits”, IEEE Journal of Solid-State Circuits, Vo;. 40, No. 9, September 2005, p.p.1778-1786
【発明の概要】
【発明が解決しようとする課題】
【０００８】
近年、消費電力を低減するため、電源電圧の低電圧化が一層進められており、そのような低電圧で動作するトランジスタを有する半導体装置も出現している。このような低電圧で動作するトランジスタは、電源電圧が微小量変化しても動作速度が大きく変動する。また、半導体製造工程のバラツキのために、トランジスタの特性が少し変動しても動作速度が大きく変動する。この場合、トランジスタに供給する電源を微小量調整すれば、トランジスタの特性変動を調整して同程度の特性を得ることができる。
【０００９】
機能ブロックごとに電源電圧を制御する方法は、特に上記のような低電圧化を進めた半導体装置では、十分な低消費電力化が実現できないということが分かった。
実施形態によれば、一層低消費電力化した半導体装置、その製造方法および設計方法が提供される。
【課題を解決するための手段】
【００１０】
発明の第１の観点によれば、複数の電源供給領域と、複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットと、を有し、複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも１つの機能ブロックが形成され、少なくとも１つの機能ブロックは、内部に異なる電圧で動作する回路要素を含む半導体装置が提供される。
【発明の効果】
【００１１】
上記の観点によれば、低電圧化を進めた半導体装置で、一層の低消費電力化が行なえ、設計方法の変更も少ない。
【図面の簡単な説明】
【００１２】
【図１】図１は、機能ブロック単位で電源電圧を制御する半導体装置の内部構成例を示す図である。
【図２】図２は、図１の半導体装置の実装（レイアウト）設計の処理手順を示すフローチャートである。
【図３】図３は、第１実施形態の半導体装置の全体構成を示す図である。
【図４】図４は、複数の電源単位領域と機能ブロックの関係を説明する図である。
【図５】図５は、第１実施形態の半導体装置の１個の電源単位領域の構成例を示す図である。
【図６】図６は、第１実施形態の半導体装置の設計フローを示す図である。
【図７】図７は、使用状態にある第１実施形態の半導体装置において、複数の電源供給領域に供給する電源電圧を設定する動作を示す動作フローである。
【図８】図８は、第２実施形態の半導体装置における電源単位領域の配列と、１個の電源単位領域の構成例を示す図である。
【図９】図９は、動作説明におけるＡｒｅａ５と他のＡｒｅａとの関係例を示す図であり、Ａｒｅａ５のＣＦの入力信号を発生する組合せ論理回路が、Ａｒｅａ４およびＡｒｅａ７に存在する例を示す。
【図１０】図１０は、図９の例で論理回路が形成されている場合の回路例およびその動作状態の変化を示す図である。
【図１１】図１１は、動作状態検出回路の他の例を示す図である。
【図１２】図１２は、第３実施形態の半導体装置における１個の電源単位領域の構成例を示す図である。
【図１３】図１３は、第３実施形態の半導体装置の製造工程の最終段階で、半導体装置の動作試験を行なって、仕様を満足し且つ消費電力を最小にする電源の設定を行なう動作フローを示す図である。
【図１４】図１４は、半導体装置が動作可能なＶＤＤ０５ＡおよびＶＤＤ０５Ｂを決定する動作フローである。
【発明を実施するための形態】
【００１３】
実施形態について説明する前に、機能ブロック単位で電源電圧を制御する技術について説明する。
【００１４】
図１は、機能ブロック単位で電源電圧を制御する半導体装置１０の内部構成例を示す図である。図１に示すように、半導体装置１０は、機能ブロック１１Ａ−１１Ｎと、電源回路１２と、電源配線（網）１３と、機能ブロック１１Ａ−１１Ｎを電源配網１３に接続する電源切替回路（スイッチ）１４Ａ−１４Ｎと、バス１６と、機能ブロック１１Ａ−１１Ｎとバス１６間での信号の入出力のためのレベルコンバータ１５Ａ−１５Ｎと、を有する。
【００１５】
電源回路は、ＶＤＤＨ、ＶＤＤＭおよびＶＤＤＬの３種類の電圧の電源を供給する。電源スイッチ１４Ａ−１４Ｎは、３種類の電圧の電源供給線と対応する機能ブロックとを接続する３個のスイッチを有する。電源切替回路１４Ａ−１４Ｎは、各機能ブロックにおいて所望の動作性能が得られる最低限の電圧が供給されるように設定される。例えば、最初はもっとも低い電圧ＶＤＤＬが供給されるように電源切替回路１４Ａ−１４Ｎを設定して動作試験を行い、動作不良でエラー信号が発生した機能ブロックに次に高い電圧ＶＤＤＭが供給されるように電源切替回路を設定する。そして動作試験を行い、正常に動作すればその状態を維持し、エラー信号が発生した場合には、エラー信号が発生した機能ブロックにさらに高い電圧ＶＤＤＨを供給し、動作を確認する。
【００１６】
ここで、機能ブロックに供給する電源電圧を変更すると、その機能ブロックが正常に動作する入力信号の電圧レベルが変化し、その機能ブロックから出力される出力信号の電圧レベルも変化する。この電圧レベルが変化した出力信号が他の機能ブロックに入力されると、他の機能ブロックが正常に動作しない場合が生じる。そこで、バス１６からの入力信号は、レベルコンバータ１５Ａ−１５Ｎにより、対応する機能ブロックの調整された電圧に対応する信号に変換された後、対応する機能ブロックに入力される。また、各機能ブロックからの出力信号は、レベルコンバータ１５Ａ−１５Ｎにより、機能ブロックの調整された電圧の信号から所定の電圧の信号に変換された後、バス１６に出力される。これにより、バス１６上の信号は、すべて所定の電圧の信号になる。
【００１７】
図２は、図１の半導体装置の実装（レイアウト）設計の処理手順を示すフローチャートである。
設計した回路のデータがネットリスト１００として提供され、ネットリスト１００に基づいて実装設計を行なう。
【００１８】
ステップＳ１では、電源電圧を制御する機能ブロックに切り分ける。
ステップＳ２では、機能ブロック毎に電源切替回路を付加する。
このようにして、電源切替回路を有する機能ブロックに切り分けられた改善ネットリスト１０１が得られる。
【００１９】
ステップＳ３では、改善ネットリスト１０１に基づいて、機能ブロック毎のレイアウト設計を行なう。
このようにして、中間レイアウト１０２が得られる。
【００２０】
ステップＳ４では、複数の機能ブロック中間レイアウト１０２を合わせて、全体レイアウト１０３を生成する。
このようにして、全体レイアウトのデータソースが得られる。
【００２１】
ステップＳ３およびＳ４は、全体が単一の電源電圧で動作する半導体装置の実装設計を同じ処理である。したがって、機能ブロック毎に電源電圧を制御するために、ステップＳ１およびＳ２を行うことになる。ここで、ステップＳ１およびＳ２の処理は、機能ブロックのエリアが確定しないと完了しない。そのため、実際の処理では、ステップＳ１およびＳ２を大まか（ラフ）に行なった後、ステップＳ３およびＳ４を行い、ステップＳ３およびＳ４の結果をステップＳ１およびＳ２にフィードバックして完了することになり、手戻りを生じる。厳しい設計条件では、このフィードバックを何度も繰り返して設計条件を満たす必要がある。そのため、機能ブロック毎に電源電圧を制御する半導体装置の実装設計は、全体が単一の電源電圧で動作する半導体装置の実装設計に比べて煩雑であり、効率が悪いという問題があった。
【００２２】
また、図１の構成例では、電源電圧の調整量が大きく、レベルコンバータ１５Ａ−１５Ｎを設けて信号レベルを調整する必要があった。そのため、レベルコンバータ１５Ａ−１５Ｎを配置するスペースを確保する必要があり、設計が冗長になっていた。
【００２３】
さらに、半導体製造工程のバラツキのために、半導体装置内で部分的にトランジスタの特性が異なり、トランジスタが正常に動作する電源電圧も部分的に異なる。図１の構成例のように、電源電圧の制御単位が機能ブロック単位である場合、機能ブロック内の局所的な電源電圧の調整には対応できず、十分な低消費電力化が実現できない。
【００２４】
近年、消費電力を低減するため、電源電圧の低電圧化が一層進められており、そのような低電圧で動作するトランジスタは、電源電圧が微小量変化しても動作速度が大きく変動する。また、半導体製造工程のバラツキのために、トランジスタの特性が少し変動しても動作速度が大きく変動する。この場合、トランジスタに供給する電源を微小量調整すれば、トランジスタの特性変動を調整して同程度の特性を得ることができる。しかし、上記のように、電源電圧の制御単位が機能ブロック単位である場合、機能ブロック内の局所的な電源電圧の調整は行えないため、機能ブロック全体の電源電圧を上昇させる必要があり、十分な低消費電力化が実現できない。
【００２５】
上記のように、電源電圧を一層低電圧化した場合、上記のように、微小な電圧変化でもトランジスタの特性（動作速度）が大きく変動するが、そのような微小な電圧でも低下させることが消費電力の低減には有効である。さらに、そのような微小な電圧の差であれば、電圧レベルを変換しなくても各回路要素は正常に動作可能である。
【００２６】
以上のことを踏まえて、実施形態の半導体装置は、電圧レベルを変換しなくても各回路要素は正常に動作可能である電圧差の範囲で電源電圧を調整する。この場合、電圧レベルを変換するレベルコンバータを設けなくてもよいため、電源電圧を調整する制御単位は任意に決定できる。そこで、半導体装置の実装設計では、電源電圧が切り替えられる複数の電源供給領域を任意に設定し、機能ブロックは、複数の電源供給領域に含まれる回路要素を組み合わせて形成する。したがって、機能ブロックは、内部に異なる電圧で動作する回路要素を含むことになる。
【００２７】
以下、実施形態について、図面を参照して具体的に説明する。
図３は、第１実施形態の半導体装置の全体構成を示す図である。
【００２８】
図３に示すように、第１実施形態の半導体装置１０は、電源回路１２と、複数の電源単位領域２１と、電源回路１２から伸びる２本の電源供給線２４Ａおよび２４Ｂと、を有する。
【００２９】
電源回路１２は、第１の電圧ＶＤＤ０５Ａおよび第２の電圧ＶＤＤ０５Ｂを発生し、ＶＤＤ０５Ａの電源を電源供給線２４Ａに供給し、ＶＤＤ０５Ｂの電源を電源供給線２４Ｂに供給する。ＶＤＤ０５Ｂは、ＶＤＤ０５Ａより低電圧である。第１の電圧ＶＤＤ０５Ａおよび第２の電圧ＶＤＤ０５Ｂは、ＶＤＤ０５Ａの電源が供給されている回路要素が、ＶＤＤ０５Ｂの電源が供給されている回路要素からの信号を受けて正常に動作し、逆に、ＶＤＤ０５Ｂの電源が供給されている回路要素が、ＶＤＤ０５Ａの電源が供給されている回路要素からの信号を受けて正常に動作する電圧である。ここでは、２本の電源供給線２４Ａおよび２４Ｂを設け、２種類の電圧ＶＤＤ０５ＡおよびＶＤＤ０５Ｂを供給するが、３本以上の電源供給線を設け、３種類以上の電圧を供給することも可能である。
【００３０】
第１実施形態では、複数の電源単位領域２１は、同じサイズ（例えば、１００μｍ四方）で、規則的に配置されているが、これに限定されるものではない。電源供給線２４Ａおよび２４Ｂは、複数の電源単位領域２１のそれぞれにＶＤＤ０５ＡおよびＶＤＤ０５Ｂが供給できるように網目状に設けられる。
【００３１】
複数の電源単位領域２１のそれぞれは、電源切替ユニット２２と、電源供給領域２３と、を有する。電源切替ユニット２２は、電源供給領域２３を、電源供給線２４Ａまたは２４Ｂに接続する。言い換えれば、電源切替ユニット２２は、電源供給領域２３に供給する電源電圧を、ＶＤＤ０５ＡとＶＤＤ０５Ｂの間で切り替える。
【００３２】
上記のように、複数の電源単位領域２１は、同じサイズで、規則的に配置されている。半導体装置の実装（レイアウト）設計を行なう場合には、規則的に配置されている複数の電源供給領域２３内の回路要素を使用して機能ブロックのレイアウトを設計する。図３において、破線で示す領域は、機能ブロックの領域を示す。図示のように、１つの機能ブロックは、複数の電源供給領域２３内の回路要素を含んで形成してもよい。
【００３３】
図４は、複数の電源単位領域２１と機能ブロックの関係を説明する図である。
半導体装置の実装（レイアウト）設計を行なう場合には、図４の（Ａ）に示すように、同じサイズの複数の電源単位領域２１を規則的に配置する。１個の電源単位領域２１のサイズは、例えば１００μｍ×１００μｍ程度とする。回路要素、信号配線および電源配線は、異なる層に配置されるので、規則的に配置された複数の電源単位領域２１にオーバーラップするように電源供給線２４Ａまたは２４Ｂ（図示せず）が配置される。各電源単位領域２１は、電源切替ユニット用トランジスタおよび電源供給領域の回路要素を含む。したがって、回路要素は、半導体装置の全面に亘って規則的に配置されており、これは一般的な半導体装置の場合と同様である。
【００３４】
次に、半導体装置１０の全面に配置された複数の電源供給領域の回路要素を組み合わせて、前述の機能ブロックを設計する。この際、電源単位領域２１を考慮せず、規則的に配置された回路要素のみを考慮して設計を行なうので、この設計手法は、一般的な半導体装置の場合と同様である。
【００３５】
図４の（Ｂ）に示すように、機能ブロックの設計時に電源単位領域２１を考慮しないので、設計された機能ブロック２０Ａ−２０Ｃは、複数の電源単位領域２１内の回路要素を含む。言い換えれば、１つの電源単位領域２１が、異なる機能ブロックを形成する回路要素を含むことがある。
【００３６】
各電源単位領域２１は、内部の電源供給領域の回路要素に供給する電源電圧をＶＤＤ０５ＡとＶＤＤ０５Ｂの間で切り替えることができる。図４の（Ｂ）は、斜線で示した電源単位領域２１の内部の電源供給領域にＶＤＤ０５Ａの電源が供給され、それ以外の電源単位領域２１の内部の電源供給領域にＶＤＤ０５Ｂの電源が供給される場合を示している。
【００３７】
図５は、第１実施形態の半導体装置の１個の電源単位領域２１の構成例を示す図である。
電源単位領域２１は、スイッチＳＷＡおよびＳＷＢと、インバータＩ１およびＩ２と、セレクタＳ１およびＳ２と、フリップフロップ（ＦＦ）１およびＦＦ２と、ＯＲゲートＯＲ１と、８個のＡＮＤゲートＡＮＤ１−８と、７ビットシフトレジスタＳＲと、電源供給領域２３と、を有する。
【００３８】
電源供給領域２３は、ＮＡＮＤゲートＮＡ、ＮＯＲゲートＮＯなどの多数の回路要素と、カナリア・フリップフロップ（ＣＦＦ）１−ｎと、ＣＦＦ１−ｎの警告信号Ｗａｒｎが入力されるＮＯＲゲートＣＮＯと、を有する。ＣＦＦ１−ｎは、電源供給領域２３内の回路要素であるＦＦのうち、動作タイミングの余裕が少ないクリティカル・パスのＦＦを置き換えるように配置される。ＣＦＦ１−ｎおよびＮＯＲゲートＣＮＯは、電源供給領域２３の動作状態を検出する動作状態検出回路を形成する。
【００３９】
スイッチＳＷＡおよびＳＷＢは、電源供給領域２３の高側の電源線と電源供給線２４Ａまたは２４Ｂの間に設けられるトランスファーゲートからなり、一方がオン（導通）時には他方はオフ（遮断）になるという具合に択一的に動作する。ＳＷＡがオン（導通）時には、電源供給領域２３の高側の電源線にＶＤＤ０５Ａの電源が供給され、ＳＷＢがオン（導通）時には、電源供給領域２３の高側の電源線にＶＤＤ０５Ｂの電源が供給される。スイッチＳＷＡおよびＳＷＢは、電源選択回路を形成する。
【００４０】
インバータＩ１およびＩ２と、セレクタＳ１およびＳ２と、フリップフロップ（ＦＦ）１およびＦＦ２と、ＯＲゲートＯＲ１と、８個のＡＮＤゲートＡＮＤ１−８と、７ビットシフトレジスタＳＲは、電源設定回路を形成する。
【００４１】
図５の（Ｂ）は、カナリア・フリップフロップ（ＣＦＦ）の構成例を示す図である。ＣＦＦは、２個のフリップフロップ（ＦＦ）１１および１２と、インバータＩ１１と、ＥＸＯＲゲートＥＸＯと、ＡＮＤゲート（ＡＮＤ）１１と、を有する。ＦＦ１１およびＦＦ１２は、入力データＤを、一方は内部クロックＣＬＫで、他方はＣＬＫをＩ１１で遅延したクロックでラッチする。Ｉ１１は、仕様で決められたホールド時間に対応する時間ＣＬＫを遅延する。ＦＦ１１およびＦＦ１の出力は、ＥＸＯに入力され、ＦＦ１１およびＦＦ１の出力が同じ場合には警告信号Ｗａｒｎは“０”で、異なる場合には警告信号ＷａｒｎがＣＬＫの周期の後半部で“１”になる。ＦＦ１２の出力は、置き換える前のＦＦの出力として、他の回路要素に出力される。
【００４２】
カナリア・フリップフロップ（ＣＦＦ）は、知られており、詳しい説明は省略するが、クリティカル・パスにおいてホールド時間を満たさない場合に、警告信号を発生する。なお、ＣＦＦは、セットアップ時間を満たすことを検出するように配置することも可能である。
【００４３】
電源供給領域２３内のＣＦＦ１−ｎの警告信号Ｗａｒｎの１つでも“１”になると、ＮＯＲゲートＣＮＯの出力は“０”になり、電源供給領域２３内の回路動作状態が不良であることを示す。
【００４４】
ＦＦ２は、スキャンチェーンを形成するＦＦで、電源設定動作クロックＰＳＷ＿ＣＬＫで動作し、スキャン動作時にはＳ２からスキャン信号がデータとして入力され、電源設定動作時にはＳ２から“１”が入力され、正常であれば“１”を出力する。しかし、電源設定動作時にＮＯＲゲートＣＮＯの出力が“０”になると、ＦＦ２は、リセットされて、出力が“０”になる。ＦＦ２の出力は、Ｉ２で反転されてＳＲに入力する。ＳＲは、ＰＳＷ＿ＣＬＫで動作し、７回分のＦＦ２の出力を保持する。ＡＮＤ１−８は、８回分のＦＦ２の出力と、電源設定動作時に“１”になる信号ｍａｓｋ  ｒｅｇの論理和を演算して、ＯＲ１に出力する。これにより、８回の検出で、動作不良のため電源供給領域２３のＮＯＲゲートＣＮＯの出力が一度でも“０”になると、ＯＲ１の出力が“１”になる。
【００４５】
ＦＦ１は、ＰＳＷ＿ＣＬＫで動作し、ＯＲ１の出力がデータとして入力される。ＦＦ１の出力は、ＰＳＷ＿ＣＬＫが８回入力されるのに応じて出力が変化するが、８回目のＰＳＷ＿ＣＬＫの入力で、出力が決定される。
【００４６】
Ｓ１は、信号Ｈ／Ｌ  ｒｅｇに応じて選択が制御され、電源設定動作時には“１”を、電源設定完了時にはＦＦ１の出力を選択する。なお、図示していないが、Ｓ２も、信号Ｈ／Ｌ  ｒｅｇに応じて選択が制御され、電源設定動作時には“１”を選択する。
【００４７】
以上説明したように、第１実施形態の半導体装置では、電源設定動作時には、ＳＷＢがオン（導通）して、電源供給領域２３にＶＤＤ０５Ｂが供給される。ＶＤＤ０５Ｂで動作した電源供給領域２３内のすべてのＣＦＦ１−ｎの８回の動作が正常であれば、ＦＦ１の出力は“１”であるから、ＳＷＢがオン（導通）して、電源供給領域２３にＶＤＤ０５Ｂが供給される状態が維持される。ＶＤＤ０５Ｂで動作した電源供給領域２３内のすべてのＣＦＦ１−ｎの８回の動作で１回でも不良であれば、ＦＦ１の出力は“０”になり、ＳＷＡがオン（導通）して、電源供給領域２３に供給される電源の電圧がＶＤＤ０５ＢからＶＤＤ０５Ａに変化する。この後、ＰＳＷ＿ＣＬＫが入力されるまで、ＦＦ１の出力に応じて、ＶＤＤ０５ＡまたはＶＤＤ０５Ｂの電源が電源供給領域２３に供給される状態が維持される。
【００４８】
図６は、第１実施形態の半導体装置の設計フローを示す図である。これまでの一般的な設計フローと異なるステップを破線で囲って示している。
設計した回路のデータがネットリスト１００として提供され、ネットリスト１００に基づいて実装設計を行なう。
【００４９】
ステップ１１で、電源電圧を制御する電源供給領域２３のサイズを決定する。前述のように、電源切替ユニット２２および電源供給領域２３は同一のサイズであるから、ここでは、半導体装置を、図４の（Ａ）に示すような同一サイズの複数の電源単位領域２１に分割する。さらに、電源網（供給線２４Ａおよび２４Ｂ）および電源切替ユニット２２を配置する。
【００５０】
以上のようにして、分割された電源網と電源切替ユニット２２が配置された配置データ１１０が得られる。
ステップＳ１１は、これまでの一般的な設計フローと異なるステップである。
【００５１】
ステップＳ２１では、機能ブロックの配置（レイアウト）および全体のレイアウトを行う。この処理は、これまでの一般的な設計フローと同じであり、既に配置が決定されている複数の電源単位領域２１を考慮することなく行なう。
【００５２】
ステップＳ２２では、複数の電源単位領域２１を考慮することなく、クロックツリー（ＣＴＳ）を生成する。
ステップＳ２３では、複数の電源単位領域２１を考慮することなく、セットアップタイミングを最適化する。
以上のようにして、中間レイアウトデータ１２０が得られる。
【００５３】
ステップＳ２４では、エラー検出用ＦＦであるカナリアＦＦを配置し、電源切替ユニットとの接続を行なう。
以上のようにして、カナリアＦＦを含む中間レイアウトデータ１２１が得られる。
【００５４】
ステップＳ２５では、すべての回路要素等の配線を行なう。
ステップＳ２６では、タイミング解析（ＳＴＡ）を行なう。
ステップＳ２７では、回路におけるホールドエラーの修正と再配置を行う。
【００５５】
以上のようにして、最終レイアウトデータ１３０およびＬＶＳ（低電圧システム）検証用ネットリストが得られる。ただし、ＬＶＳ検証用ネットリストには、Ｓ１１で行なった電源単位領域２１への分割情報は反映されていない。
【００５６】
ステップＳ２８では、最終レイアウトデータ１３０およびＬＶＳ検証用ネットリストで、Ｓ１１で行なった電源単位領域２１への分割情報に基づいて電源接続を修正する。
以上のようにして、電源単位領域２１への分割情報を反映したＬＶＳ検証用ネットリストが得られる。
【００５７】
以上説明したように、第１実施形態の半導体装置の設計フローでは、最初に複数の電源単位領域に分割した後、複数の電源単位領域を考慮することなく通常の設計フローと同様に中間レイアウトの設計が可能である。中間レイアウトデータに対して、エラー検出用ＦＦを配置した後は、通常の設計フローと同様に最終レイアウトの設計が可能である。最後に、最終レイアウトデータに対して、電源単位領域への分割情報を反映する。以上の設計フローで、電源単位領域の分割に伴う設計の手戻りは生じない。
【００５８】
図７は、使用状態にある第１実施形態の半導体装置において、複数の電源供給領域２３に供給する電源電圧を設定する動作を示す動作フローである。
ステップＳ３１では、半導体装置の初期化を行なう。具体的には、Ｓ１およびＳ２が“１”を選択するようにＨ／Ｌ  ｒｅｇを設定する。これにより、すべての電源供給領域２３に、ＶＤＤ０５Ｂの電源が供給され、ＣＮ０Ｏの出力がＦＦ２に入力される状態になる。
【００５９】
ステップＳ３２では、マスクレジスタ（ｍａｓｋ  ｒｅｇ）を“１”に設定する。
ステップＳ３３では、半導体装置を所定クロック数だけ動作させる。この時、動作が正常であればＣＮ０は“１”、１つでも不良であればＣＮ０は“０”になる。
【００６０】
ステップＳ３４では、電源設定動作クロックＰＳＷ＿ＣＬＫを入力する。これにより、ＦＦ２の出力が、ＣＮ０の値に応じて変化する。
【００６１】
ステップＳ３５では、ステップＳ３３からＳ３４を所定回数（８＋１）繰り返したかを判定し、９回未満であればステップＳ３３に戻る。２回目以降のＳ３４では、ＦＦ２の出力がＳＲに順次取り込まれる。８回繰り返すことにより、ＡＮＤ１−８は、８回分の結果を出力し、ＯＲ１が８回分の結果を合成した出力を発生する。９回目のＰＳＷ＿ＣＬＫを入力することにより、ＦＦ１は、８回分の結果に応じた出力になる。
【００６２】
ステップＳ３６では、各電源供給領域２３に供給する電源の電圧を、対応する電源供給領域での動作結果に応じて切り替える。具体的には、Ｓ１がＦＦ１の出力を選択するように、Ｈ／Ｌ  ｒｅｇを設定するので、８回の動作結果が正常であれば、ＳＷＢがオンし、ＶＤＤ０５Ｂの電源が供給され、８回の動作結果が不良であれば、ＳＷＡがオンし、ＶＤＤ０５Ａの電源が供給される状態になる。以後、Ｈ／Ｌ  ｒｅｇはこの状態を維持し、ＰＳＷ＿ＣＬＫは入力されないので、検査結果に応じて切り替えた電源電圧の状態が維持される。
【００６３】
図７の動作フローは、半導体装置の起動時には常に実行され、温度変化等の環境変化に対応するため、動作中にも適宜行なうことが望ましい。
【００６４】
第１実施形態では、カナリアＦＦ（ＣＦＦ）がタイミングが不十分であること、すなわちタイミング不良を検出して警告信号を発生し、警告信号を発生したＣＦＦが設けられた電源供給領域の電源電圧を変更する（高くする）。しかし、切り分けられた複数の電源供給領域に亘って回路設計を行う場合、警告信号を発生したＣＦＦが設けられた電源供給領域の電源電圧を変更するだけでは、その電源供給領域での不良改善に十分な効果が得られない場合があり得る。次に説明する第２実施形態では、この問題を解決する。
【００６５】
図８は、第２実施形態の半導体装置における電源単位領域２１の配列と、１個の電源単位領域２１の構成例を示す図である。第２実施形態の半導体装置の設計フローは、第１実施形態と同じである。
【００６６】
図８の（Ａ）に示すように、同一サイズの電源単位領域２１が規則的に配列されており、中央の領域（Ａｒｅａ）５について考える。Ａｒｅａ５に設けられたカナリアＦＦ（ＣＦＦ）が警告信号を発生した場合、Ａｒｅａ５の電源電圧をＶＤＤ０５Ｂから、より高電圧のＶＤＤ０５Ａに変更する。しかし、警告信号を発生したＣＦＦに、Ａｒｅａ５内だけでなく、他のＡｒｅａのゲート、フリップフロップ（ＦＦ）などから信号が入力する場合がある。その場合、そのＣＦＦに関係する信号の一部を発生する回路の電源電圧の変更は行なわれないことになり、そのＣＦＦが依然として警告信号を発生する場合が起こり得る。
【００６７】
この問題を解決するため、第２実施形態では、１つの電源単位領域２１内の電源設定回路に与える警告信号を、その電源単位領域２１内の電源供給領域２３のＣＦＦで検出した警告信号だけでなく、周辺の電源単位領域２１内のＣＦＦで発生した警告信号も集める。図８の（Ａ）は、３×３の９個のＡｒｅａを示しており、Ａｒｅａ５の内のＣＦＦの入力信号には、周辺の８個のＡｒｅａの信号が関係する可能性がある。もちろん周辺以外の離れたＡｒｅａの信号が関係する場合も考えられるが、第２実施形態では、周辺の８個のＡｒｅａで発生された警告信号を対象とする。
【００６８】
第２実施形態の半導体装置では、内部の電源単位領域２１を、図８の（Ａ）に示すように、１００μｍ四方の格子状に切り分け、さらに電源供給領域２３をそれぞれは位置する。
【００６９】
Ａｒｅａ５の電源単位領域２１は、例えば、図８の（Ｂ）に示すような構成を有する。他のＡｒｅａの電源単位領域２１も同じ構成を有するが、周辺との関係が異なる。各電源単位領域２１は、スイッチＳＷＡおよびＳＷＢと、インバータＩ１およびＩ２と、フリップフロップ（ＦＦ）１１、ＦＦ１２およびＦＦ１３と、ＯＲゲートＯＲ２と、ＮＡＮＤゲートＮＡ１と、８個のＮＯＲゲートＮＯ１−４および６−９と、電源供給領域２３と、を有する。
【００７０】
電源供給領域２３は、ＮＡＮＤゲートＮＡ、ＮＯＲゲートＮＯなどの多数の回路要素を含む領域２４と、領域２４内に設けられたカナリア・フリップフロップＣＦＦおよび８個のカナリア・フリップフロップＣＦ１−４および６−９と、ＮＯＲゲートＣＮＯと、８個のＮＯＲゲートＣＮＯ１−４および６−９と、を有する。
【００７１】
スイッチＳＷＡおよびＳＷＢは、第１実施形態と同じように、電源供給領域２３に供給する電源をＶＤＤ０５ＡとＶＤＤ０５Ｂの間で切り替える電源選択回路を形成する。
電源設定回路は、インバータＩ１およびＩ２と、フリップフロップ（ＦＦ）１１、ＦＦ１２およびＦＦ１３と、ＯＲゲートＯＲ２と、ＮＡＮＤゲートＮＡ１と、８個のＮＯＲゲートＮＯ１−４および６−９と、で形成される。
【００７２】
回路設計時に、機能ブロックは、複数の電源単位領域２１内の回路要素を、電源単位領域２１とは関係なく組み合わせて、タイミングが最適となるように設計される。その後、領域２４内内のフリップフロップを、カナリア・フリップフロップＣＦＦおよび８個のカナリア・フリップフロップＣＦ１−４および６−９に置き換える。ＮＯＲゲートＣＮＯには、ＣＦＦおよびＣＦ１−４および６−９の警告信号Ｗａｒｎが入力される。ＮＯＲゲートＣＮＯは、Ａｒｅａ５全体の警告信号を出力する。ＣＦ１−４および６−９は、それらの入力信号を発生する組合せ論理回路が、Ａｒｅａ５以外の周辺Ａｒｅａ１−４および６−９に存在するフリップフロップである。ＣＦ１−４および６−９の出力する警告信号は、ＮＯＲゲートＣＮＯ１−４および６−９に入力する。ＣＮＯ１−４および６−９の出力は、電源設定回路のＮＯＲゲートＮＯ１−４および６−９に入力する。ＮＯ１−４および６−９の出力は、周辺のＡｒｅａ１−４および６−９にそれぞれ送信される。ここでは、ＮＯ１−４および６−９の出力をまとめて、出力警告信号群３１とする。
【００７３】
ＯＲ２には、Ｉ２およびＦＦ１３の出力に加えて、周辺のＡｒｅａ１−４および６−９からＡｒｅａ５への入力警告信号群３２が入力される。
次に、第２実施形態の半導体装置における電源設定動作を説明する。
【００７４】
図９は、動作説明におけるＡｒｅａ５と他のＡｒｅａとの関係例を示す図であり、Ａｒｅａ５のＣＦの入力信号を発生する組合せ論理回路が、Ａｒｅａ４およびＡｒｅａ７に存在する例を示す。
【００７５】
図１０は、図９の例で論理回路が形成されている場合の回路例およびその動作状態の変化を示す図である。
図９および図１０を参照して、図８の（Ｂ）の電源単位領域２１の電源設定動作を説明する。
【００７６】
まず、半導体装置をリセットし、エラーが起きていない状態にすなわちＣＮ０およびＣＮＯ１−４および６−９の出力が“１”である状態に設定する。そして、電源スイッチ設定トリガ信号Triggerを２回入力し、ＦＦ１２の出力を“１”に、Ｉ２およびＦＦ１３の出力を“０”に設定する。これにより、ＮＡ１の出力は“１”に、出力警告信号群３１のＮＯ１−４およびＮＯ６−９の出力は“０”になる。周辺のＡｒｅａにおける警告信号群も同様に“０”であるから、入力警告信号群３２の信号も“０”となる。したがって、ＯＲ２の入力信号はすべて“０”となり、ＦＦ１１の出力は“０”となり、ＳＷＡがオフして、ＳＷＢがオンして、電源供給領域２３にはＶＤＤ０５Ｂが供給される。図１０の（Ａ）はこの状態を示しており、すべてのＡｒｅａの電源供給領域には低電圧の電源ＶＤＤ０５Ｂが供給される。
【００７７】
この状態で、半導体装置を動作させる。まず、Ａｒｅａ５で警告信号が１つ以上、一瞬でも発生した場合を説明する。なお、警告信号が発生しない場合には、他の周辺Ａｒｅａから入力警告信号が入力される場合を除いて、元の状態が維持されるので説明は省略する。
【００７８】
Ａｒｅａ５で警告信号が発生すると、ＣＮ０が“０”になり、ＦＦ１２がリセットされ、ＦＦ１２の出力が“０”になる。これにより、Ｉ２の出力は“１”になるが、ＦＦ１３の出力は“０”を維持している。したがって、ＮＡ１の出力は“１”を維持し、出力警告信号群３１のＮＯ１−４およびＮＯ６−９の出力は“０”を維持する。一方、ＦＦ１３の出力および入力警告信号群３２は“０”を維持するが、Ｉ２の出力は“１”になるので、ＦＦ１１の入力Ｄは“１”になる。
【００７９】
上記の結果を反映するため、電源スイッチ設定トリガ信号Triggerを入力する。これに応じて、ＦＦ１１の出力は“１”に変化し、ＳＷＢがオフして、ＳＷＡがオンし、電源供給領域２３に高電圧のＶＤＤ０５Ａが供給される。図１０の（Ｂ）は、Ａｒｅａ５で警告信号が発生するが、Ａｒｅａ４および７で警告信号が発生しない場合で、Ａｒｅａ５の電源供給領域には高電圧の電源ＶＤＤ０５Ａが供給され、Ａｒｅａ４および７の電源供給領域には低電圧の電源ＶＤＤ０５Ｂが供給される。
【００８０】
一方、Triggerに応じて、ＦＦ１３は出力を“１”に変化させるので、ＯＲ２の出力は“１”になる。さらに、Triggerに応じて、ＦＦ１２の出力は“１”に変化し、Ｉ２の出力は“０”になる。そのため、この状態では、ＮＡ１の出力は“１”であり、出力警告信号群３１のＮＯ１−４およびＮＯ６−９の出力は“０”を維持し、さらに入力警告信号群３２も“０”を維持する
【００８１】
この状態、すなわち高電圧のＶＤＤ０５Ａが供給された状態で、半導体装置を動作させる。Ａｒｅａ５で警告信号が発生しない場合には、ＣＮ０は“１”を維持するので、上記の状態のままであり、出力警告信号群３１のＮＯ１−４およびＮＯ６−９の出力は“０”を維持する。一方、ＶＤＤ０５Ａが供給された状態で半導体装置を動作させた時に、Ａｒｅａ５で警告信号が発生した場合には、ＣＮ０が“０”になり、ＦＦ１２がリセットされ、ＦＦ１２の出力が“０”になる。これにより、Ｉ２の出力は“１”になる。ＦＦ１３の出力は“１”であるから、ＮＡ１の出力は“０”になる。そのため、ＣＦ１−４およびＣＦ６−９で警告信号が発生すると、対応するＣＮ０１−ＣＮ０４およびＣＮ０６−ＣＮ０９の出力が“０”になり、対応するＮＯ１−４およびＮＯ６−９の出力が“１”になり、対応するＡｒｅａの入力警告信号が“１”になる。他のＡｒｅａと図９に示す関係であれば、Ａｒｅａ４および７の入力警告信号が“１”になる。
【００８２】
この状態でTriggerを入力すると、ＦＦ１１の出力は“１”のままであり、入力警告信号群３２にかかわらず、ＦＦ１１の出力は“１”を維持する。すなわち、供給される電源が一旦ＶＤＤ０５Ａに変更されたＡｒｅａ５は、ＶＤＤ０５Ａが供給される状態が維持される。一方、Ａｒｅａ４および７では、入力警告信号が“１”であるため、ＯＲ２の出力が“１”になり、Triggerに応じて、ＦＦ１１の出力が“１”になり、ＳＷＡがオンして、ＶＤＤ０５Ａの電源が電源供給領域２３に供給される。図１０の（Ｃ）はこの状態を示しており、警告信号の発生しなかったＡｒｅａでも供給される電源が高電圧に切り替えられる。
【００８３】
第１および第２実施形態では、半導体装置内にカナリアＦＦなどの動作状態を検出する動作状態検出回路を設け、半導体装置が使用される状態（フィールド）で、電源設定モードを随時行なって、動作状態に応じて各電源供給領域の電源電圧を変更できる。したがって、温度や電源電圧状況などに応じて、もっとも消費電力の少ない状態で動作させることが可能である。
【００８４】
なお、第１および第２実施形態では、動作状態検出回路としてカナリアＦＦを使用したが、動作状態を検出できればどのような動作状態検出回路を使用してもよい。
【００８５】
図１１は、動作状態検出回路の他の例を示す図である。
図１１の（Ａ）は、リングオシレータ４１を使用した例を示す。各Ａｒｅａの電源供給領域内にリングオシレータ４１およびカウンタ４２を設ける。カウンタ４２は、分周クロックの半周期中に、リングオシレータ４１の出力する発振信号が所定個数係数されるか判定する。リングオシレータ４１を形成するインバータの動作速度が低い場合には、分周クロックの半周期中に、発振信号が所定個数に達せず、キャリィＣが発生しない。動作速度の閾値に対応させてキャリィＣが発生するように設定する。
【００８６】
図１１の（Ｂ）は、電源供給領域に含まれる回路要素のうちクリティカルパスとなる回路要素のレプリカ回路４３および検出用ＦＦ４４を、各Ａｒｅａの電源供給領域内に別に設ける。図示の例は、ＣＬＫとＣＬＫを遅延させた信号の否定論理積（ＮＡＮＤ）を生成し、ＣＬＫの立下り時のＮＡＮＤの値を検出用ＦＦ４４で検出する。ＣＬＫを遅延させた信号がＣＬＫの１周期分遅延する時を閾値とすれば、それより遅延量が大きい時、すなわち動作速度が不十分な時にはＦＦ４４の出力は“０”になる。
【００８７】
第１および第２実施形態では、各Ａｒｅａに、電源選択回路（ＳＷＡ，ＳＷＢ）、電源設定回路および動作状態検出回路（カナリアＦＦ）を形成し、フィールドで各Ａｒｅａの動作状態に応じて電源電圧を変更可能にした。次に説明する第３実施形態の半導体装置は、フィールドで環境条件に応じて電源電圧を変更できないが、製造段階で各電源供給領域への電源電圧を調整することも可能である。
【００８８】
第３実施形態の半導体装置は、第１および第２実施形態と同様に、半導体装置を、同じサイズの複数の電源単位領域２１に区分けし、ＶＤＤ０５ＡおよびＶＤＤ０５Ｂを供給する電源供給線２４Ａおよび２４Ｂを、網目状に配置する。
【００８９】
図１２は、第３実施形態の半導体装置における１個の電源単位領域２１の構成例を示す図であり、図５の（Ａ）に対応する図である。
【００９０】
図１２に示すように、第３実施形態では、電源単位領域２１は、スイッチＳＷＡおよびＳＷＢと、インバータＩ１と、セレクタＳ１と、電源供給領域２３と、を有する。スイッチＳＷＡおよびＳＷＢ、およびインバータＩ１は、第１実施形態と同じ機能を有する。セレクタＳ１は、ヒューズ（Ｆｕｓｅ）を設定する前は、外部からの信号Ｈ／Ｌ  ｒｅｇを選択し、ヒューズを設定すると、ヒューズで設定された値を選択する状態になり、それ以後その状態を維持する。ヒューズは、各電源単位領域２１に設けても、複数の電源単位領域２１ごとに設けても、半導体装置全体で１箇所に設けてもよい。信号Ｈ／Ｌ  ｒｅｇは、例えば、各電源単位領域２１に設けた電極パッドを介して試験装置のプローブから入力される。インバータＩ１およびセレクタＳ１が電源設定回路を形成する。
【００９１】
電源供給領域２３は、ＮＡＮＤ、ＮＯＲ、フリップフロップＦＦなどの多数の回路要素を有し、第１実施形態と同様に、電源単位領域２１および電源供給領域２３を考慮せずに、複数の電源供給領域２３の回路要素を組み合わせて必要な回路が設計される。第１実施形態および第２実施形態と異なり、カナリアＦＦなどの動作状態検出回路は設けない。
【００９２】
図１３は、第３実施形態の半導体装置の製造工程の最終段階で、半導体装置の動作試験を行なって、仕様を満足し且つ消費電力を最小にする電源の設定を行なう動作フローを示す図である。
【００９３】
ステップＳ４１では、温度、電源電圧、動作速度等の動作条件を設定する。
ステップＳ４２では、複数の電源単位領域に供給する電源電圧をＶＤＤ０５ＡとＶＤＤ０５Ｂの間でいずれかにするかの切替組合せリストを作成する。なお、各電源単位領域内の電源供給領域内で形成された回路の関係で、あらかじめＶＤＤ０５ＡまたはＶＤＤ０５Ｂを供給することが決められる場合は、このリストから除外することが可能である。例えば、高速動作が必要である回路を含む場合にはＶＤＤ０５Ａに固定とし、低速動作の回路のみを含む場合には、ＶＤＤ０５Ｂに固定とする。
【００９４】
ステップＳ４３では、上記の切替組合せリストから１つを選択し、すべての電源単位領域の電源電圧を、選択した組合せで規定された状態に設定するように、Ｈ／Ｌ  ｒｅｇを入力する。
ステップＳ４４では、動作試験を行なう。動作試験は、例えば、プローバにテスタを接続して、テスタから半導体装置に試験信号を入力し、半導体装置から出力される信号をテスタで検出して正常に動作するかを判定する。
【００９５】
ステップＳ４５では、動作試験の結果が正常であるか異常であるか判定し、正常であればステップＳ４６に進み、以上であればステップＳ４８に進む。
ステップＳ４６では、動作試験が正常の場合の消費電力を測定する。
ステップＳ４７では、切替組合せと消費電力を対応させて記憶する。
【００９６】
ステップＳ４８では、まだ試験していない切替組合せが残っているか判定し、残っていればステップＳ４３に進んでステップＳ４３からＳ４８を繰り返し、すべて終了すればステップＳ４９に進む。
【００９７】
ステップＳ４９では、正常に動作した切替組合せのうちで、消費電力が最小になる切替組合せを決定する。
ステップＳ５０では、決定した切替組合せに基づいて、ヒューズを設定する。
以上の動作により、半導体装置は、正常に動作し且つ消費電力が最小になる状態に設定される。
【００９８】
上記の例では、電源電圧は、ＶＤＤ０５ＡおよびＶＤＤ０５Ｂに固定であったが、ＶＤＤ０５ＡおよびＶＤＤ０５Ｂをどの程度まで低下させることが可能であるかを測定し、動作可能な電圧ＶＤＤ０５ＡおよびＶＤＤ０５Ｂのデータを付加して出荷するようにしてもよい。ユーザは、このデータを参考にして、半導体装置を使用する装置で、電源電圧を設定することができる。
【００９９】
図１４は、半導体装置が動作可能なＶＤＤ０５ＡおよびＶＤＤ０５Ｂを決定する動作フローである。
ステップＳ６１では、ＶＤＤ０５ＡをＶＤＤ０５Ｂの少し上の電圧値に設定する。
ステップＳ６２では、すべての電源単位領域の電源電圧をＶＤＤ０５Ｂに設定するように、Ｈ／Ｌ  ｒｅｇを入力する。
【０１００】
ステップＳ６３では、半導体装置を動作させ、正常に動作するかを検出する。
ステップＳ６４では、動作結果を判定し、正常であればステップＳ６５に進み、異常（エラー）が発生すればステップＳ６６に進む。
【０１０１】
ステップＳ６５では、ＶＤＤ０５ＡおよびＶＤＤ０５Ｂを、微少量低下させた後、ステップ６３に進む。
ステップＳ６３からＳ６５を繰り返すことにより、ＶＤＤ０５Ａを最小値まで低下させることができる。
【０１０２】
ステップＳ６６では、異常が発生した電源単位領域の電源電圧をＶＤＤ０５ＢからＶＤＤ０５Ａに変更するように、Ｈ／Ｌ  ｒｅｇを入力する。
ステップＳ６７では、半導体装置を動作させ、正常に動作するかを検出する。
【０１０３】
ステップＳ６８では、動作結果を判定し、正常であればステップＳ６９に進み、異常が発生すればステップＳ７０に進む。
ステップＳ６９では、ＶＤＤ０５Ｂを、微少量低下させた後、ステップ６７に進む。
ステップＳ６７からＳ６９を繰り返すことにより、ＶＤＤ０５Ｂを最小値まで低下させることができる。
【０１０４】
ステップＳ７０では、直前のＶＤＤ０５Ｂ、すなわち正常に動作した最小のＶＤＤ０５Ｂに戻し、終了する。
【０１０５】
以上のようにして、ＶＤＤ０５ＡおよびＶＤＤ０５をそれぞれ正常な動作が行なえる範囲で最小値に設定することができ、消費電力が最小になる。
なお、上記のＶＤＤ０５ＡおよびＶＤＤ０５Ｂの最小値への設定動作を、第１および第２実施形態で行なうことも可能である。
【０１０６】
以上、実施形態を説明したが、各種の変形例が可能であるのはいうまでもない。例えば、説明した実施形態では、高電位側の電源電圧のみを制御したが、高電位側および低電位側の両方の電源電圧を制御することも可能である。
【０１０７】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【０１０８】
以下、実施形態に関し、更に以下の付記を開示する。
（付記１）
複数の電源供給領域（２３）と、
前記複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニット（ＳＷＡ，ＳＷＢ）と、を備え、
前記複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも１つの機能ブロックが形成され、
前記少なくとも１つの機能ブロックは、内部に異なる電圧で動作する回路要素を含むことを特徴とする半導体装置。（１）
（付記２）
前記複数の電源供給領域は、規則的に配置されている付記１記載の半導体装置。
（付記３）
前記電源切替ユニットは、供給する電源を、第１の電圧を供給する第１電源（ＶＤＤ０５Ａ）と、前記第１の電圧より低い第２の電圧を供給する第２電源（ＶＤＤ０５Ｂ）と、の間で切り替え、
前記第１の電圧および前記第２の電圧は、前記回路要素が、前記第１電源が供給されている状態で、前記第２電源で動作した回路要素からの信号を受けて動作し、前記第２電源が供給されている状態で、前記第１電源で動作した回路要素からの信号を受けて動作するように設定されている付記１または２記載の半導体装置。
（付記４）
前記複数の電源供給領域のそれぞれは、前記電源供給領域の動作状態を検出する動作状態検出回路（ＣＦＦ１−ＣＦＦｎ）を備え、
前記電源切替ユニットは、前記電源供給領域に供給する電源電圧を切り替える電源選択回路（ＳＷＡ、ＳＷＢ）と、前記動作状態検出回路の検出した前記電源供給領域の動作状態に応じて、正常な動作状態が得られるように前記電源選択回路の切替を設定する電源設定回路と、を備える付記１から３のいずれか１項記載の半導体装置。（２）
（付記５）
前記動作状態検出回路は、カナリア・フリップ・フロップを備える付記４記載の半導体装置。（３）
（付記６）
前記動作状態検出回路は、前記電源供給領域に含まれる回路要素のうちクリティカルパスとなる回路要素のレプリカ回路と、前記レプリカ回路の動作判定回路と、を備える付記４記載の半導体装置。
（付記７）
前記動作状態検出回路は、リングオシレータと、前記リングオシレータの動作速度検出回路と、を備える付記４記載の半導体装置。
（付記８）
当該半導体装置は、通常動作モードと、電源設定モードと、を備え、
前記電源設定回路は、前記電源設定モード時に、前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定し、前記通常動作モード時には、前記電源設定モード時に設定した前記電源選択回路の切替状態を維持する付記４から７のいずれか１項記載の半導体装置。（４）
（付記９）
前記電源設定回路は、前記動作状態検出回路の複数回の検出結果を取得し、前記複数回の検出結果のすべてが正常である場合に、低電圧の電源が対応する領域に供給されるように前記電源選択回路の切替を設定する付記８記載の半導体装置。
（付記１０）
前記動作状態検出回路の検出結果は、前記動作状態検出回路に信号を供給する他の電源供給領域の前記電源選択回路に供給され、
他の電源供給領域から前記検出結果が供給された前記電源設定回路は、他の電源供給領域から供給された前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定する付記８記載の半導体装置。（５）
（付記１１）
付記１記載の半導体装置の製造方法であって、
前記複数の電源切替ユニットの切替状態を異ならせて、前記半導体装置の動作試験を行うと共に各切替状態での消費電力を測定し、
前記半導体装置が正常に動作する切替状態のうち、消費電力が最小になる切替状態に、前記複数の電源切替ユニットを設定する、ことを特徴とする半導体装置の製造方法。
（付記１２）
付記１記載の半導体装置の設計方法であって、
前記複数の電源供給領域のサイズを決定して、前記複数の電源供給領域を配置し、
第１の電圧を供給する第１電源網および第２の電圧を供給する第２電源網を並列に配置し、
前記複数の電源供給領域のそれぞれに、前記第１電源網に接続される第１スイッチおよび前記第２電源網に接続される第２スイッチを含む前記電源切替ユニットを配置し、
前記複数の電源供給領域に含まれる回路要素を組み合わせて、ネットリストに記載された回路を形成する、ことを特徴とする半導体装置の設計方法。
（付記１３）
前記電源切替ユニットを配置した後、前記複数の電源供給領域のそれぞれに、前記電源切替ユニットの切替を設定する電源選択回路および動作状態検出回路を配置し、する付記１２記載の半導体装置の設計方法。
（付記１４）
前記ネットリストに記載された回路の中間レイアウトデータで、前記動作状態検出回路を前記ネットリストに記載された回路に接続する付記１３記載の半導体装置の設計方法。
【符号の説明】
【０１０９】
１Ａ−１Ｃ    組合せ回路
２Ａ，２Ｂ    記憶素子
２Ｃ，２Ｄ    タイミングエラー検出機能付き記憶素子
１１Ａ，１１Ｂ    可変遅延素子
１２    第１可変遅延素子
１３    第２可変遅延素子
２２    第１記憶素子（ＦＦ）
２３    第２記憶素子（ＦＦ）
２４    ＥＸＯＲゲート
２５    ＡＮＤゲート
【図１】
2013055199.tif 000003
【図２】
2013055199.tif 000004
【図３】
2013055199.tif 000005
【図４】
2013055199.tif 000006
【図５】
2013055199.tif 000007
【図６】
2013055199.tif 000008
【図７】
2013055199.tif 000009
【図８】
2013055199.tif 000010
【図９】
2013055199.tif 000011
【図１０】
2013055199.tif 000012
【図１１】
2013055199.tif 000013
【図１２】
2013055199.tif 000014
【図１３】
2013055199.tif 000015
【図１４】
2013055199.tif 000016