"複数の電源供給領域と、前記複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットと、を備え、前記複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも1つの機能ブロックが形成され、前記少なくとも1つの機能ブロックは、内部に異なる電圧で動作する回路要素を含むことを特徴とする半導体装置。前記複数の電源供給領域のそれぞれは、前記電源供給領域の動作状態を検出する動作状態検出回路を備え、前記電源切替ユニットは、前記電源供給領域に供給する電源電圧を切り替える電源選択回路と、前記動作状態検出回路の検出した前記電源供給領域の動作状態に応じて、正常な動作状態が得られるように前記電源選択回路の切替を設定する電源設定回路と、を備える請求項1記載の半導体装置。前記動作状態検出回路は、カナリアフリップフロップを備える請求項2記載の半導体装置。当該半導体装置は、通常動作モードと、電源設定モードと、を備え、前記電源設定回路は、前記電源設定モード時に、前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定し、前記通常動作モード時には、前記電源設定モード時に設定した前記電源選択回路の切替状態を維持する請求項3記載の半導体装置。前記動作状態検出回路の検出結果は、前記動作状態検出回路に信号を供給する他の電源供給領域の前記電源選択回路に供給され、他の電源供給領域から前記検出結果が供給された前記電源設定回路は、他の電源供給領域から供給された前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定する請求項4記載の半導体装置。近年、消費電力を低減するため、電源電圧の低電圧化が一層進められており、そのような低電圧で動作するトランジスタを有する半導体装置も出現している。このような低電圧で動作するトランジスタは、電源電圧が微小量変化しても動作速度が大きく変動する。また、半導体製造工程のバラツキのために、トランジスタの特性が少し変動しても動作速度が大きく変動する。この場合、トランジスタに供給する電源を微小量調整すれば、トランジスタの特性変動を調整して同程度の特性を得ることができる。機能ブロックごとに電源電圧を制御する方法は、特に上記のような低電圧化を進めた半導体装置では、十分な低消費電力化が実現できないということが分かった。実施形態によれば、一層低消費電力化した半導体装置、その製造方法および設計方法が提供される。発明の第1の観点によれば、複数の電源供給領域と、複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットと、を有し、複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも1つの機能ブロックが形成され、少なくとも1つの機能ブロックは、内部に異なる電圧で動作する回路要素を含む半導体装置が提供される。上記の観点によれば、低電圧化を進めた半導体装置で、一層の低消費電力化が行なえ、設計方法の変更も少ない。実施形態について説明する前に、機能ブロック単位で電源電圧を制御する技術について説明する。図1は、機能ブロック単位で電源電圧を制御する半導体装置10の内部構成例を示す図である。図1に示すように、半導体装置10は、機能ブロック11A-11Nと、電源回路12と、電源配線網13と、機能ブロック11A-11Nを電源配網13に接続する電源切替回路スイッチ14A-14Nと、バス16と、機能ブロック11A-11Nとバス16間での信号の入出力のためのレベルコンバータ15A-15Nと、を有する。電源回路は、VDDH、VDDMおよびVDDLの3種類の電圧の電源を供給する。電源スイッチ14A-14Nは、3種類の電圧の電源供給線と対応する機能ブロックとを接続する3個のスイッチを有する。電源切替回路14A-14Nは、各機能ブロックにおいて所望の動作性能が得られる最低限の電圧が供給されるように設定される。例えば、最初はもっとも低い電圧VDDLが供給されるように電源切替回路14A-14Nを設定して動作試験を行い、動作不良でエラー信号が発生した機能ブロックに次に高い電圧VDDMが供給されるように電源切替回路を設定する。そして動作試験を行い、正常に動作すればその状態を維持し、エラー信号が発生した場合には、エラー信号が発生した機能ブロックにさらに高い電圧VDDHを供給し、動作を確認する。ここで、機能ブロックに供給する電源電圧を変更すると、その機能ブロックが正常に動作する入力信号の電圧レベルが変化し、その機能ブロックから出力される出力信号の電圧レベルも変化する。この電圧レベルが変化した出力信号が他の機能ブロックに入力されると、他の機能ブロックが正常に動作しない場合が生じる。そこで、バス16からの入力信号は、レベルコンバータ15A-15Nにより、対応する機能ブロックの調整された電圧に対応する信号に変換された後、対応する機能ブロックに入力される。また、各機能ブロックからの出力信号は、レベルコンバータ15A-15Nにより、機能ブロックの調整された電圧の信号から所定の電圧の信号に変換された後、バス16に出力される。これにより、バス16上の信号は、すべて所定の電圧の信号になる。図2は、図1の半導体装置の実装レイアウト設計の処理手順を示すフローチャートである。設計した回路のデータがネットリスト100として提供され、ネットリスト100に基づいて実装設計を行なう。ステップS1では、電源電圧を制御する機能ブロックに切り分ける。ステップS2では、機能ブロック毎に電源切替回路を付加する。このようにして、電源切替回路を有する機能ブロックに切り分けられた改善ネットリスト101が得られる。ステップS3では、改善ネットリスト101に基づいて、機能ブロック毎のレイアウト設計を行なう。このようにして、中間レイアウト102が得られる。ステップS4では、複数の機能ブロック中間レイアウト102を合わせて、全体レイアウト103を生成する。このようにして、全体レイアウトのデータソースが得られる。ステップS3およびS4は、全体が単一の電源電圧で動作する半導体装置の実装設計を同じ処理である。したがって、機能ブロック毎に電源電圧を制御するために、ステップS1およびS2を行うことになる。ここで、ステップS1およびS2の処理は、機能ブロックのエリアが確定しないと完了しない。そのため、実際の処理では、ステップS1およびS2を大まかラフに行なった後、ステップS3およびS4を行い、ステップS3およびS4の結果をステップS1およびS2にフィードバックして完了することになり、手戻りを生じる。厳しい設計条件では、このフィードバックを何度も繰り返して設計条件を満たす必要がある。そのため、機能ブロック毎に電源電圧を制御する半導体装置の実装設計は、全体が単一の電源電圧で動作する半導体装置の実装設計に比べて煩雑であり、効率が悪いという問題があった。また、図1の構成例では、電源電圧の調整量が大きく、レベルコンバータ15A-15Nを設けて信号レベルを調整する必要があった。そのため、レベルコンバータ15A-15Nを配置するスペースを確保する必要があり、設計が冗長になっていた。さらに、半導体製造工程のバラツキのために、半導体装置内で部分的にトランジスタの特性が異なり、トランジスタが正常に動作する電源電圧も部分的に異なる。図1の構成例のように、電源電圧の制御単位が機能ブロック単位である場合、機能ブロック内の局所的な電源電圧の調整には対応できず、十分な低消費電力化が実現できない。近年、消費電力を低減するため、電源電圧の低電圧化が一層進められており、そのような低電圧で動作するトランジスタは、電源電圧が微小量変化しても動作速度が大きく変動する。また、半導体製造工程のバラツキのために、トランジスタの特性が少し変動しても動作速度が大きく変動する。この場合、トランジスタに供給する電源を微小量調整すれば、トランジスタの特性変動を調整して同程度の特性を得ることができる。しかし、上記のように、電源電圧の制御単位が機能ブロック単位である場合、機能ブロック内の局所的な電源電圧の調整は行えないため、機能ブロック全体の電源電圧を上昇させる必要があり、十分な低消費電力化が実現できない。上記のように、電源電圧を一層低電圧化した場合、上記のように、微小な電圧変化でもトランジスタの特性動作速度が大きく変動するが、そのような微小な電圧でも低下させることが消費電力の低減には有効である。さらに、そのような微小な電圧の差であれば、電圧レベルを変換しなくても各回路要素は正常に動作可能である。以上のことを踏まえて、実施形態の半導体装置は、電圧レベルを変換しなくても各回路要素は正常に動作可能である電圧差の範囲で電源電圧を調整する。この場合、電圧レベルを変換するレベルコンバータを設けなくてもよいため、電源電圧を調整する制御単位は任意に決定できる。そこで、半導体装置の実装設計では、電源電圧が切り替えられる複数の電源供給領域を任意に設定し、機能ブロックは、複数の電源供給領域に含まれる回路要素を組み合わせて形成する。したがって、機能ブロックは、内部に異なる電圧で動作する回路要素を含むことになる。以下、実施形態について、図面を参照して具体的に説明する。図3は、第1実施形態の半導体装置の全体構成を示す図である。図3に示すように、第1実施形態の半導体装置10は、電源回路12と、複数の電源単位領域21と、電源回路12から伸びる2本の電源供給線24Aおよび24Bと、を有する。電源回路12は、第1の電圧VDD05Aおよび第2の電圧VDD05Bを発生し、VDD05Aの電源を電源供給線24Aに供給し、VDD05Bの電源を電源供給線24Bに供給する。VDD05Bは、VDD05Aより低電圧である。第1の電圧VDD05Aおよび第2の電圧VDD05Bは、VDD05Aの電源が供給されている回路要素が、VDD05Bの電源が供給されている回路要素からの信号を受けて正常に動作し、逆に、VDD05Bの電源が供給されている回路要素が、VDD05Aの電源が供給されている回路要素からの信号を受けて正常に動作する電圧である。ここでは、2本の電源供給線24Aおよび24Bを設け、2種類の電圧VDD05AおよびVDD05Bを供給するが、3本以上の電源供給線を設け、3種類以上の電圧を供給することも可能である。第1実施形態では、複数の電源単位領域21は、同じサイズ例えば、100μm四方で、規則的に配置されているが、これに限定されるものではない。電源供給線24Aおよび24Bは、複数の電源単位領域21のそれぞれにVDD05AおよびVDD05Bが供給できるように網目状に設けられる。複数の電源単位領域21のそれぞれは、電源切替ユニット22と、電源供給領域23と、を有する。電源切替ユニット22は、電源供給領域23を、電源供給線24Aまたは24Bに接続する。言い換えれば、電源切替ユニット22は、電源供給領域23に供給する電源電圧を、VDD05AとVDD05Bの間で切り替える。上記のように、複数の電源単位領域21は、同じサイズで、規則的に配置されている。半導体装置の実装レイアウト設計を行なう場合には、規則的に配置されている複数の電源供給領域23内の回路要素を使用して機能ブロックのレイアウトを設計する。図3において、破線で示す領域は、機能ブロックの領域を示す。図示のように、1つの機能ブロックは、複数の電源供給領域23内の回路要素を含んで形成してもよい。図4は、複数の電源単位領域21と機能ブロックの関係を説明する図である。半導体装置の実装レイアウト設計を行なう場合には、図4のAに示すように、同じサイズの複数の電源単位領域21を規則的に配置する。1個の電源単位領域21のサイズは、例えば100μm×100μm程度とする。回路要素、信号配線および電源配線は、異なる層に配置されるので、規則的に配置された複数の電源単位領域21にオーバーラップするように電源供給線24Aまたは24B図示せずが配置される。各電源単位領域21は、電源切替ユニット用トランジスタおよび電源供給領域の回路要素を含む。したがって、回路要素は、半導体装置の全面に亘って規則的に配置されており、これは一般的な半導体装置の場合と同様である。次に、半導体装置10の全面に配置された複数の電源供給領域の回路要素を組み合わせて、前述の機能ブロックを設計する。この際、電源単位領域21を考慮せず、規則的に配置された回路要素のみを考慮して設計を行なうので、この設計手法は、一般的な半導体装置の場合と同様である。図4のBに示すように、機能ブロックの設計時に電源単位領域21を考慮しないので、設計された機能ブロック20A-20Cは、複数の電源単位領域21内の回路要素を含む。言い換えれば、1つの電源単位領域21が、異なる機能ブロックを形成する回路要素を含むことがある。各電源単位領域21は、内部の電源供給領域の回路要素に供給する電源電圧をVDD05AとVDD05Bの間で切り替えることができる。図4のBは、斜線で示した電源単位領域21の内部の電源供給領域にVDD05Aの電源が供給され、それ以外の電源単位領域21の内部の電源供給領域にVDD05Bの電源が供給される場合を示している。図5は、第1実施形態の半導体装置の1個の電源単位領域21の構成例を示す図である。電源単位領域21は、スイッチSWAおよびSWBと、インバータI1およびI2と、セレクタS1およびS2と、フリップフロップFF1およびFF2と、ORゲートOR1と、8個のANDゲートAND1-8と、7ビットシフトレジスタSRと、電源供給領域23と、を有する。電源供給領域23は、NANDゲートNA、NORゲートNOなどの多数の回路要素と、カナリアフリップフロップCFF1-nと、CFF1-nの警告信号Warnが入力されるNORゲートCNOと、を有する。CFF1-nは、電源供給領域23内の回路要素であるFFのうち、動作タイミングの余裕が少ないクリティカルパスのFFを置き換えるように配置される。CFF1-nおよびNORゲートCNOは、電源供給領域23の動作状態を検出する動作状態検出回路を形成する。スイッチSWAおよびSWBは、電源供給領域23の高側の電源線と電源供給線24Aまたは24Bの間に設けられるトランスファーゲートからなり、一方がオン導通時には他方はオフ遮断になるという具合に択一的に動作する。SWAがオン導通時には、電源供給領域23の高側の電源線にVDD05Aの電源が供給され、SWBがオン導通時には、電源供給領域23の高側の電源線にVDD05Bの電源が供給される。スイッチSWAおよびSWBは、電源選択回路を形成する。インバータI1およびI2と、セレクタS1およびS2と、フリップフロップFF1およびFF2と、ORゲートOR1と、8個のANDゲートAND1-8と、7ビットシフトレジスタSRは、電源設定回路を形成する。図5のBは、カナリアフリップフロップCFFの構成例を示す図である。CFFは、2個のフリップフロップFF11および12と、インバータI11と、EXORゲートEXOと、ANDゲートAND11と、を有する。FF11およびFF12は、入力データDを、一方は内部クロックCLKで、他方はCLKをI11で遅延したクロックでラッチする。I11は、仕様で決められたホールド時間に対応する時間CLKを遅延する。FF11およびFF1の出力は、EXOに入力され、FF11およびFF1の出力が同じ場合には警告信号Warnは0で、異なる場合には警告信号WarnがCLKの周期の後半部で1になる。FF12の出力は、置き換える前のFFの出力として、他の回路要素に出力される。カナリアフリップフロップCFFは、知られており、詳しい説明は省略するが、クリティカルパスにおいてホールド時間を満たさない場合に、警告信号を発生する。なお、CFFは、セットアップ時間を満たすことを検出するように配置することも可能である。電源供給領域23内のCFF1-nの警告信号Warnの1つでも1になると、NORゲートCNOの出力は0になり、電源供給領域23内の回路動作状態が不良であることを示す。FF2は、スキャンチェーンを形成するFFで、電源設定動作クロックPSW_CLKで動作し、スキャン動作時にはS2からスキャン信号がデータとして入力され、電源設定動作時にはS2から1が入力され、正常であれば1を出力する。しかし、電源設定動作時にNORゲートCNOの出力が0になると、FF2は、リセットされて、出力が0になる。FF2の出力は、I2で反転されてSRに入力する。SRは、PSW_CLKで動作し、7回分のFF2の出力を保持する。AND1-8は、8回分のFF2の出力と、電源設定動作時に1になる信号maskregの論理和を演算して、OR1に出力する。これにより、8回の検出で、動作不良のため電源供給領域23のNORゲートCNOの出力が一度でも0になると、OR1の出力が1になる。FF1は、PSW_CLKで動作し、OR1の出力がデータとして入力される。FF1の出力は、PSW_CLKが8回入力されるのに応じて出力が変化するが、8回目のPSW_CLKの入力で、出力が決定される。S1は、信号H/Lregに応じて選択が制御され、電源設定動作時には1を、電源設定完了時にはFF1の出力を選択する。なお、図示していないが、S2も、信号H/Lregに応じて選択が制御され、電源設定動作時には1を選択する。以上説明したように、第1実施形態の半導体装置では、電源設定動作時には、SWBがオン導通して、電源供給領域23にVDD05Bが供給される。VDD05Bで動作した電源供給領域23内のすべてのCFF1-nの8回の動作が正常であれば、FF1の出力は1であるから、SWBがオン導通して、電源供給領域23にVDD05Bが供給される状態が維持される。VDD05Bで動作した電源供給領域23内のすべてのCFF1-nの8回の動作で1回でも不良であれば、FF1の出力は0になり、SWAがオン導通して、電源供給領域23に供給される電源の電圧がVDD05BからVDD05Aに変化する。この後、PSW_CLKが入力されるまで、FF1の出力に応じて、VDD05AまたはVDD05Bの電源が電源供給領域23に供給される状態が維持される。図6は、第1実施形態の半導体装置の設計フローを示す図である。これまでの一般的な設計フローと異なるステップを破線で囲って示している。設計した回路のデータがネットリスト100として提供され、ネットリスト100に基づいて実装設計を行なう。ステップ11で、電源電圧を制御する電源供給領域23のサイズを決定する。前述のように、電源切替ユニット22および電源供給領域23は同一のサイズであるから、ここでは、半導体装置を、図4のAに示すような同一サイズの複数の電源単位領域21に分割する。さらに、電源網供給線24Aおよび24Bおよび電源切替ユニット22を配置する。以上のようにして、分割された電源網と電源切替ユニット22が配置された配置データ110が得られる。ステップS11は、これまでの一般的な設計フローと異なるステップである。ステップS21では、機能ブロックの配置レイアウトおよび全体のレイアウトを行う。この処理は、これまでの一般的な設計フローと同じであり、既に配置が決定されている複数の電源単位領域21を考慮することなく行なう。ステップS22では、複数の電源単位領域21を考慮することなく、クロックツリーCTSを生成する。ステップS23では、複数の電源単位領域21を考慮することなく、セットアップタイミングを最適化する。以上のようにして、中間レイアウトデータ120が得られる。ステップS24では、エラー検出用FFであるカナリアFFを配置し、電源切替ユニットとの接続を行なう。以上のようにして、カナリアFFを含む中間レイアウトデータ121が得られる。ステップS25では、すべての回路要素等の配線を行なう。ステップS26では、タイミング解析STAを行なう。ステップS27では、回路におけるホールドエラーの修正と再配置を行う。以上のようにして、最終レイアウトデータ130およびLVS低電圧システム検証用ネットリストが得られる。ただし、LVS検証用ネットリストには、S11で行なった電源単位領域21への分割情報は反映されていない。ステップS28では、最終レイアウトデータ130およびLVS検証用ネットリストで、S11で行なった電源単位領域21への分割情報に基づいて電源接続を修正する。以上のようにして、電源単位領域21への分割情報を反映したLVS検証用ネットリストが得られる。以上説明したように、第1実施形態の半導体装置の設計フローでは、最初に複数の電源単位領域に分割した後、複数の電源単位領域を考慮することなく通常の設計フローと同様に中間レイアウトの設計が可能である。中間レイアウトデータに対して、エラー検出用FFを配置した後は、通常の設計フローと同様に最終レイアウトの設計が可能である。最後に、最終レイアウトデータに対して、電源単位領域への分割情報を反映する。以上の設計フローで、電源単位領域の分割に伴う設計の手戻りは生じない。図7は、使用状態にある第1実施形態の半導体装置において、複数の電源供給領域23に供給する電源電圧を設定する動作を示す動作フローである。ステップS31では、半導体装置の初期化を行なう。具体的には、S1およびS2が1を選択するようにH/Lregを設定する。これにより、すべての電源供給領域23に、VDD05Bの電源が供給され、CN0Oの出力がFF2に入力される状態になる。ステップS32では、マスクレジスタmaskregを1に設定する。ステップS33では、半導体装置を所定クロック数だけ動作させる。この時、動作が正常であればCN0は1、1つでも不良であればCN0は0になる。ステップS34では、電源設定動作クロックPSW_CLKを入力する。これにより、FF2の出力が、CN0の値に応じて変化する。ステップS35では、ステップS33からS34を所定回数81繰り返したかを判定し、9回未満であればステップS33に戻る。2回目以降のS34では、FF2の出力がSRに順次取り込まれる。8回繰り返すことにより、AND1-8は、8回分の結果を出力し、OR1が8回分の結果を合成した出力を発生する。9回目のPSW_CLKを入力することにより、FF1は、8回分の結果に応じた出力になる。ステップS36では、各電源供給領域23に供給する電源の電圧を、対応する電源供給領域での動作結果に応じて切り替える。具体的には、S1がFF1の出力を選択するように、H/Lregを設定するので、8回の動作結果が正常であれば、SWBがオンし、VDD05Bの電源が供給され、8回の動作結果が不良であれば、SWAがオンし、VDD05Aの電源が供給される状態になる。以後、H/Lregはこの状態を維持し、PSW_CLKは入力されないので、検査結果に応じて切り替えた電源電圧の状態が維持される。図7の動作フローは、半導体装置の起動時には常に実行され、温度変化等の環境変化に対応するため、動作中にも適宜行なうことが望ましい。第1実施形態では、カナリアFFCFFがタイミングが不十分であること、すなわちタイミング不良を検出して警告信号を発生し、警告信号を発生したCFFが設けられた電源供給領域の電源電圧を変更する高くする。しかし、切り分けられた複数の電源供給領域に亘って回路設計を行う場合、警告信号を発生したCFFが設けられた電源供給領域の電源電圧を変更するだけでは、その電源供給領域での不良改善に十分な効果が得られない場合があり得る。次に説明する第2実施形態では、この問題を解決する。図8は、第2実施形態の半導体装置における電源単位領域21の配列と、1個の電源単位領域21の構成例を示す図である。第2実施形態の半導体装置の設計フローは、第1実施形態と同じである。図8のAに示すように、同一サイズの電源単位領域21が規則的に配列されており、中央の領域Area5について考える。Area5に設けられたカナリアFFCFFが警告信号を発生した場合、Area5の電源電圧をVDD05Bから、より高電圧のVDD05Aに変更する。しかし、警告信号を発生したCFFに、Area5内だけでなく、他のAreaのゲート、フリップフロップFFなどから信号が入力する場合がある。その場合、そのCFFに関係する信号の一部を発生する回路の電源電圧の変更は行なわれないことになり、そのCFFが依然として警告信号を発生する場合が起こり得る。この問題を解決するため、第2実施形態では、1つの電源単位領域21内の電源設定回路に与える警告信号を、その電源単位領域21内の電源供給領域23のCFFで検出した警告信号だけでなく、周辺の電源単位領域21内のCFFで発生した警告信号も集める。図8のAは、3×3の9個のAreaを示しており、Area5の内のCFFの入力信号には、周辺の8個のAreaの信号が関係する可能性がある。もちろん周辺以外の離れたAreaの信号が関係する場合も考えられるが、第2実施形態では、周辺の8個のAreaで発生された警告信号を対象とする。第2実施形態の半導体装置では、内部の電源単位領域21を、図8のAに示すように、100μm四方の格子状に切り分け、さらに電源供給領域23をそれぞれは位置する。Area5の電源単位領域21は、例えば、図8のBに示すような構成を有する。他のAreaの電源単位領域21も同じ構成を有するが、周辺との関係が異なる。各電源単位領域21は、スイッチSWAおよびSWBと、インバータI1およびI2と、フリップフロップFF11、FF12およびFF13と、ORゲートOR2と、NANDゲートNA1と、8個のNORゲートNO1-4および6-9と、電源供給領域23と、を有する。電源供給領域23は、NANDゲートNA、NORゲートNOなどの多数の回路要素を含む領域24と、領域24内に設けられたカナリアフリップフロップCFFおよび8個のカナリアフリップフロップCF1-4および6-9と、NORゲートCNOと、8個のNORゲートCNO1-4および6-9と、を有する。スイッチSWAおよびSWBは、第1実施形態と同じように、電源供給領域23に供給する電源をVDD05AとVDD05Bの間で切り替える電源選択回路を形成する。電源設定回路は、インバータI1およびI2と、フリップフロップFF11、FF12およびFF13と、ORゲートOR2と、NANDゲートNA1と、8個のNORゲートNO1-4および6-9と、で形成される。回路設計時に、機能ブロックは、複数の電源単位領域21内の回路要素を、電源単位領域21とは関係なく組み合わせて、タイミングが最適となるように設計される。その後、領域24内内のフリップフロップを、カナリアフリップフロップCFFおよび8個のカナリアフリップフロップCF1-4および6-9に置き換える。NORゲートCNOには、CFFおよびCF1-4および6-9の警告信号Warnが入力される。NORゲートCNOは、Area5全体の警告信号を出力する。CF1-4および6-9は、それらの入力信号を発生する組合せ論理回路が、Area5以外の周辺Area1-4および6-9に存在するフリップフロップである。CF1-4および6-9の出力する警告信号は、NORゲートCNO1-4および6-9に入力する。CNO1-4および6-9の出力は、電源設定回路のNORゲートNO1-4および6-9に入力する。NO1-4および6-9の出力は、周辺のArea1-4および6-9にそれぞれ送信される。ここでは、NO1-4および6-9の出力をまとめて、出力警告信号群31とする。OR2には、I2およびFF13の出力に加えて、周辺のArea1-4および6-9からArea5への入力警告信号群32が入力される。次に、第2実施形態の半導体装置における電源設定動作を説明する。図9は、動作説明におけるArea5と他のAreaとの関係例を示す図であり、Area5のCFの入力信号を発生する組合せ論理回路が、Area4およびArea7に存在する例を示す。図10は、図9の例で論理回路が形成されている場合の回路例およびその動作状態の変化を示す図である。図9および図10を参照して、図8のBの電源単位領域21の電源設定動作を説明する。まず、半導体装置をリセットし、エラーが起きていない状態にすなわちCN0およびCNO1-4および6-9の出力が1である状態に設定する。そして、電源スイッチ設定トリガ信号Triggerを2回入力し、FF12の出力を1に、I2およびFF13の出力を0に設定する。これにより、NA1の出力は1に、出力警告信号群31のNO1-4およびNO6-9の出力は0になる。周辺のAreaにおける警告信号群も同様に0であるから、入力警告信号群32の信号も0となる。したがって、OR2の入力信号はすべて0となり、FF11の出力は0となり、SWAがオフして、SWBがオンして、電源供給領域23にはVDD05Bが供給される。図10のAはこの状態を示しており、すべてのAreaの電源供給領域には低電圧の電源VDD05Bが供給される。この状態で、半導体装置を動作させる。まず、Area5で警告信号が1つ以上、一瞬でも発生した場合を説明する。なお、警告信号が発生しない場合には、他の周辺Areaから入力警告信号が入力される場合を除いて、元の状態が維持されるので説明は省略する。Area5で警告信号が発生すると、CN0が0になり、FF12がリセットされ、FF12の出力が0になる。これにより、I2の出力は1になるが、FF13の出力は0を維持している。したがって、NA1の出力は1を維持し、出力警告信号群31のNO1-4およびNO6-9の出力は0を維持する。一方、FF13の出力および入力警告信号群32は0を維持するが、I2の出力は1になるので、FF11の入力Dは1になる。上記の結果を反映するため、電源スイッチ設定トリガ信号Triggerを入力する。これに応じて、FF11の出力は1に変化し、SWBがオフして、SWAがオンし、電源供給領域23に高電圧のVDD05Aが供給される。図10のBは、Area5で警告信号が発生するが、Area4および7で警告信号が発生しない場合で、Area5の電源供給領域には高電圧の電源VDD05Aが供給され、Area4および7の電源供給領域には低電圧の電源VDD05Bが供給される。一方、Triggerに応じて、FF13は出力を1に変化させるので、OR2の出力は1になる。さらに、Triggerに応じて、FF12の出力は1に変化し、I2の出力は0になる。そのため、この状態では、NA1の出力は1であり、出力警告信号群31のNO1-4およびNO6-9の出力は0を維持し、さらに入力警告信号群32も0を維持するこの状態、すなわち高電圧のVDD05Aが供給された状態で、半導体装置を動作させる。Area5で警告信号が発生しない場合には、CN0は1を維持するので、上記の状態のままであり、出力警告信号群31のNO1-4およびNO6-9の出力は0を維持する。一方、VDD05Aが供給された状態で半導体装置を動作させた時に、Area5で警告信号が発生した場合には、CN0が0になり、FF12がリセットされ、FF12の出力が0になる。これにより、I2の出力は1になる。FF13の出力は1であるから、NA1の出力は0になる。そのため、CF1-4およびCF6-9で警告信号が発生すると、対応するCN01-CN04およびCN06-CN09の出力が0になり、対応するNO1-4およびNO6-9の出力が1になり、対応するAreaの入力警告信号が1になる。他のAreaと図9に示す関係であれば、Area4および7の入力警告信号が1になる。この状態でTriggerを入力すると、FF11の出力は1のままであり、入力警告信号群32にかかわらず、FF11の出力は1を維持する。すなわち、供給される電源が一旦VDD05Aに変更されたArea5は、VDD05Aが供給される状態が維持される。一方、Area4および7では、入力警告信号が1であるため、OR2の出力が1になり、Triggerに応じて、FF11の出力が1になり、SWAがオンして、VDD05Aの電源が電源供給領域23に供給される。図10のCはこの状態を示しており、警告信号の発生しなかったAreaでも供給される電源が高電圧に切り替えられる。第1および第2実施形態では、半導体装置内にカナリアFFなどの動作状態を検出する動作状態検出回路を設け、半導体装置が使用される状態フィールドで、電源設定モードを随時行なって、動作状態に応じて各電源供給領域の電源電圧を変更できる。したがって、温度や電源電圧状況などに応じて、もっとも消費電力の少ない状態で動作させることが可能である。なお、第1および第2実施形態では、動作状態検出回路としてカナリアFFを使用したが、動作状態を検出できればどのような動作状態検出回路を使用してもよい。図11は、動作状態検出回路の他の例を示す図である。図11のAは、リングオシレータ41を使用した例を示す。各Areaの電源供給領域内にリングオシレータ41およびカウンタ42を設ける。カウンタ42は、分周クロックの半周期中に、リングオシレータ41の出力する発振信号が所定個数係数されるか判定する。リングオシレータ41を形成するインバータの動作速度が低い場合には、分周クロックの半周期中に、発振信号が所定個数に達せず、キャリィCが発生しない。動作速度の閾値に対応させてキャリィCが発生するように設定する。図11のBは、電源供給領域に含まれる回路要素のうちクリティカルパスとなる回路要素のレプリカ回路43および検出用FF44を、各Areaの電源供給領域内に別に設ける。図示の例は、CLKとCLKを遅延させた信号の否定論理積NANDを生成し、CLKの立下り時のNANDの値を検出用FF44で検出する。CLKを遅延させた信号がCLKの1周期分遅延する時を閾値とすれば、それより遅延量が大きい時、すなわち動作速度が不十分な時にはFF44の出力は0になる。第1および第2実施形態では、各Areaに、電源選択回路SWA,SWB、電源設定回路および動作状態検出回路カナリアFFを形成し、フィールドで各Areaの動作状態に応じて電源電圧を変更可能にした。次に説明する第3実施形態の半導体装置は、フィールドで環境条件に応じて電源電圧を変更できないが、製造段階で各電源供給領域への電源電圧を調整することも可能である。第3実施形態の半導体装置は、第1および第2実施形態と同様に、半導体装置を、同じサイズの複数の電源単位領域21に区分けし、VDD05AおよびVDD05Bを供給する電源供給線24Aおよび24Bを、網目状に配置する。図12は、第3実施形態の半導体装置における1個の電源単位領域21の構成例を示す図であり、図5のAに対応する図である。図12に示すように、第3実施形態では、電源単位領域21は、スイッチSWAおよびSWBと、インバータI1と、セレクタS1と、電源供給領域23と、を有する。スイッチSWAおよびSWB、およびインバータI1は、第1実施形態と同じ機能を有する。セレクタS1は、ヒューズFuseを設定する前は、外部からの信号H/Lregを選択し、ヒューズを設定すると、ヒューズで設定された値を選択する状態になり、それ以後その状態を維持する。ヒューズは、各電源単位領域21に設けても、複数の電源単位領域21ごとに設けても、半導体装置全体で1箇所に設けてもよい。信号H/Lregは、例えば、各電源単位領域21に設けた電極パッドを介して試験装置のプローブから入力される。インバータI1およびセレクタS1が電源設定回路を形成する。電源供給領域23は、NAND、NOR、フリップフロップFFなどの多数の回路要素を有し、第1実施形態と同様に、電源単位領域21および電源供給領域23を考慮せずに、複数の電源供給領域23の回路要素を組み合わせて必要な回路が設計される。第1実施形態および第2実施形態と異なり、カナリアFFなどの動作状態検出回路は設けない。図13は、第3実施形態の半導体装置の製造工程の最終段階で、半導体装置の動作試験を行なって、仕様を満足し且つ消費電力を最小にする電源の設定を行なう動作フローを示す図である。ステップS41では、温度、電源電圧、動作速度等の動作条件を設定する。ステップS42では、複数の電源単位領域に供給する電源電圧をVDD05AとVDD05Bの間でいずれかにするかの切替組合せリストを作成する。なお、各電源単位領域内の電源供給領域内で形成された回路の関係で、あらかじめVDD05AまたはVDD05Bを供給することが決められる場合は、このリストから除外することが可能である。例えば、高速動作が必要である回路を含む場合にはVDD05Aに固定とし、低速動作の回路のみを含む場合には、VDD05Bに固定とする。ステップS43では、上記の切替組合せリストから1つを選択し、すべての電源単位領域の電源電圧を、選択した組合せで規定された状態に設定するように、H/Lregを入力する。ステップS44では、動作試験を行なう。動作試験は、例えば、プローバにテスタを接続して、テスタから半導体装置に試験信号を入力し、半導体装置から出力される信号をテスタで検出して正常に動作するかを判定する。ステップS45では、動作試験の結果が正常であるか異常であるか判定し、正常であればステップS46に進み、以上であればステップS48に進む。ステップS46では、動作試験が正常の場合の消費電力を測定する。ステップS47では、切替組合せと消費電力を対応させて記憶する。ステップS48では、まだ試験していない切替組合せが残っているか判定し、残っていればステップS43に進んでステップS43からS48を繰り返し、すべて終了すればステップS49に進む。ステップS49では、正常に動作した切替組合せのうちで、消費電力が最小になる切替組合せを決定する。ステップS50では、決定した切替組合せに基づいて、ヒューズを設定する。以上の動作により、半導体装置は、正常に動作し且つ消費電力が最小になる状態に設定される。上記の例では、電源電圧は、VDD05AおよびVDD05Bに固定であったが、VDD05AおよびVDD05Bをどの程度まで低下させることが可能であるかを測定し、動作可能な電圧VDD05AおよびVDD05Bのデータを付加して出荷するようにしてもよい。ユーザは、このデータを参考にして、半導体装置を使用する装置で、電源電圧を設定することができる。図14は、半導体装置が動作可能なVDD05AおよびVDD05Bを決定する動作フローである。ステップS61では、VDD05AをVDD05Bの少し上の電圧値に設定する。ステップS62では、すべての電源単位領域の電源電圧をVDD05Bに設定するように、H/Lregを入力する。ステップS63では、半導体装置を動作させ、正常に動作するかを検出する。ステップS64では、動作結果を判定し、正常であればステップS65に進み、異常エラーが発生すればステップS66に進む。ステップS65では、VDD05AおよびVDD05Bを、微少量低下させた後、ステップ63に進む。ステップS63からS65を繰り返すことにより、VDD05Aを最小値まで低下させることができる。ステップS66では、異常が発生した電源単位領域の電源電圧をVDD05BからVDD05Aに変更するように、H/Lregを入力する。ステップS67では、半導体装置を動作させ、正常に動作するかを検出する。ステップS68では、動作結果を判定し、正常であればステップS69に進み、異常が発生すればステップS70に進む。ステップS69では、VDD05Bを、微少量低下させた後、ステップ67に進む。ステップS67からS69を繰り返すことにより、VDD05Bを最小値まで低下させることができる。ステップS70では、直前のVDD05B、すなわち正常に動作した最小のVDD05Bに戻し、終了する。以上のようにして、VDD05AおよびVDD05をそれぞれ正常な動作が行なえる範囲で最小値に設定することができ、消費電力が最小になる。なお、上記のVDD05AおよびVDD05Bの最小値への設定動作を、第1および第2実施形態で行なうことも可能である。以上、実施形態を説明したが、各種の変形例が可能であるのはいうまでもない。例えば、説明した実施形態では、高電位側の電源電圧のみを制御したが、高電位側および低電位側の両方の電源電圧を制御することも可能である。以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。以下、実施形態に関し、更に以下の付記を開示する。付記1複数の電源供給領域23と、前記複数の電源供給領域に供給する電源の電圧を切り替える複数の電源切替ユニットSWA,SWBと、を備え、前記複数の電源供給領域に含まれる回路要素を組み合わせて少なくとも1つの機能ブロックが形成され、前記少なくとも1つの機能ブロックは、内部に異なる電圧で動作する回路要素を含むことを特徴とする半導体装置。1付記2前記複数の電源供給領域は、規則的に配置されている付記1記載の半導体装置。付記3前記電源切替ユニットは、供給する電源を、第1の電圧を供給する第1電源VDD05Aと、前記第1の電圧より低い第2の電圧を供給する第2電源VDD05Bと、の間で切り替え、前記第1の電圧および前記第2の電圧は、前記回路要素が、前記第1電源が供給されている状態で、前記第2電源で動作した回路要素からの信号を受けて動作し、前記第2電源が供給されている状態で、前記第1電源で動作した回路要素からの信号を受けて動作するように設定されている付記1または2記載の半導体装置。付記4前記複数の電源供給領域のそれぞれは、前記電源供給領域の動作状態を検出する動作状態検出回路CFF1-CFFnを備え、前記電源切替ユニットは、前記電源供給領域に供給する電源電圧を切り替える電源選択回路SWA、SWBと、前記動作状態検出回路の検出した前記電源供給領域の動作状態に応じて、正常な動作状態が得られるように前記電源選択回路の切替を設定する電源設定回路と、を備える付記1から3のいずれか1項記載の半導体装置。2付記5前記動作状態検出回路は、カナリアフリップフロップを備える付記4記載の半導体装置。3付記6前記動作状態検出回路は、前記電源供給領域に含まれる回路要素のうちクリティカルパスとなる回路要素のレプリカ回路と、前記レプリカ回路の動作判定回路と、を備える付記4記載の半導体装置。付記7前記動作状態検出回路は、リングオシレータと、前記リングオシレータの動作速度検出回路と、を備える付記4記載の半導体装置。付記8当該半導体装置は、通常動作モードと、電源設定モードと、を備え、前記電源設定回路は、前記電源設定モード時に、前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定し、前記通常動作モード時には、前記電源設定モード時に設定した前記電源選択回路の切替状態を維持する付記4から7のいずれか1項記載の半導体装置。4付記9前記電源設定回路は、前記動作状態検出回路の複数回の検出結果を取得し、前記複数回の検出結果のすべてが正常である場合に、低電圧の電源が対応する領域に供給されるように前記電源選択回路の切替を設定する付記8記載の半導体装置。付記10前記動作状態検出回路の検出結果は、前記動作状態検出回路に信号を供給する他の電源供給領域の前記電源選択回路に供給され、他の電源供給領域から前記検出結果が供給された前記電源設定回路は、他の電源供給領域から供給された前記動作状態検出回路の検出結果に基づいて、前記電源選択回路の切替を設定する付記8記載の半導体装置。5付記11付記1記載の半導体装置の製造方法であって、前記複数の電源切替ユニットの切替状態を異ならせて、前記半導体装置の動作試験を行うと共に各切替状態での消費電力を測定し、前記半導体装置が正常に動作する切替状態のうち、消費電力が最小になる切替状態に、前記複数の電源切替ユニットを設定する、ことを特徴とする半導体装置の製造方法。付記12付記1記載の半導体装置の設計方法であって、前記複数の電源供給領域のサイズを決定して、前記複数の電源供給領域を配置し、第1の電圧を供給する第1電源網および第2の電圧を供給する第2電源網を並列に配置し、前記複数の電源供給領域のそれぞれに、前記第1電源網に接続される第1スイッチおよび前記第2電源網に接続される第2スイッチを含む前記電源切替ユニットを配置し、前記複数の電源供給領域に含まれる回路要素を組み合わせて、ネットリストに記載された回路を形成する、ことを特徴とする半導体装置の設計方法。付記13前記電源切替ユニットを配置した後、前記複数の電源供給領域のそれぞれに、前記電源切替ユニットの切替を設定する電源選択回路および動作状態検出回路を配置し、する付記12記載の半導体装置の設計方法。付記14前記ネットリストに記載された回路の中間レイアウトデータで、前記動作状態検出回路を前記ネットリストに記載された回路に接続する付記13記載の半導体装置の設計方法。"