(57)【特許請求の範囲】
【請求項１】
半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子から入力した信号によって、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む回路スイッチ制御回路を有することを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備することを特徴とする半導体装置。
【請求項３】
請求項１又は２に記載の半導体装置であって、前記電源電圧制御メモリが、揮発性メモリと不揮発性メモリとを有することを特徴とする半導体装置。
【請求項４】
請求項１乃至３の何れか一項に記載の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電源切替デコーダと、前記電圧供給回路の前記回路ブロックへの接続を切り替える電源切替スイッチを含むことを特徴とする半導体装置。
【請求項５】
半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電圧トリミングデコーダと、前記電圧供給回路の出力電圧を切り替える電圧調整回路を含み、前記電源切り替え手段が、前記電圧調整回路を含む前記電圧供給回路の複数の組を切り替えて前記回路ブロックに接続することを特徴とする半導体装置。
【請求項６】
請求項１記載の半導体装置であって、前記入力端子の１つの制御端子から制御信号を入力することにより、前記回路スイッチ制御回路が、前記電源切り替え手段の前記電源電圧
制御メモリにデータを書き込む動作モードに切り替えられ、前記入力端子の１つのクロック端子からクロック信号を入力することにより、データを書き込む前記電源電圧制御メモリのアドレスを切り替えることを特徴とする半導体装置。
【請求項７】
半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、前記半導体装置の回路の複数箇所に電圧を検出する電圧検出スイッチを有し、各前記電圧検出スイッチを切り替える動作モードに切り替えられる回路スイッチ制御回路を有し、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子の１つのクロック端子からクロック信号を入力することにより前記半導体装置の回路に接続する前記電圧検出スイッチを切り替えることを特徴とする半導体装置。
【請求項８】
請求項７記載の半導体装置であって、回路の領域の複数箇所の電源ノード又は接地ノードに、前記電圧検出スイッチを設置したことを特徴とする半導体装置。
【請求項９】
請求項７記載の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備し、前記回路ブロックの１つが記憶回路であり、前記記憶回路における前記回路ブロックテスト回路がメモリセルの回路に前記電圧検出スイッチを接続して回路の電圧を検出することを特徴とする半導体装置。
【請求項１０】
請求項２記載の半導体装置であって、前記回路ブロックの１つがロジック回路であり、前記ロジック回路における前記回路ブロックテスト回路が前記ロジック回路の領域の複数箇所のインバータを接続したインバータチェーンで構成したリングオシレータで構成されていることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、特に、電源電圧を低くして消費電力を低減する半導体装置に関する。
【背景技術】
【０００２】
近年、システムの省電力化のために、ＬＳＩの電源電圧が低下してきている。現状では、１．０Ｖまで低下しているが、近い将来は、電源電圧が０．５Ｖ、消費電力は現状の１０分の１にする要求も出てきている。特に、メモリセルが縦横にマトリックス状に配列されたメモリセルアレイを有する半導体チップから成る半導体記憶装置では、低電圧化すると、動作不良を起こし、また、読み出し速度が悪化するので低電圧化は困難な状況である。
【０００３】
メモリのなかでも、最も良く使用されており、必要不可欠なメモリはＳＲＡＭであるが、プロセスのばらつきにセンシティブであり、低電圧化には最も弱いメモリである。すなわち、電源電圧を下げて、それに合わせてトランジスタのしきい値（閾値）を出来るだけ低くして動作マージンを稼いでいるが、トランジスタの閾値はオフリーク（トランジスタのゲート電圧が０Ｖでも、トランジスタにリーク電流が流れてしまう現象）を低減するために、ある程度以上小さくすることはできず、電源ノードＶＤＤの電圧が０．５Ｖであっても、閾値は０．３Ｖは必要となる。ゲート端子に加えてトランジスタを駆動する駆動電圧は、この閾値以上の電圧で、かつ、電源電圧以下の電圧を加える必要があるので、電源電圧が低くなると、駆動電圧のマージンが大幅に減少してしまう問題があった。このように、現状では、メモリのトランジスタの閾値を出来るだけ低くして動作マージンを稼いでいるが、オフリークが発生するため、十分には下げることが出来ない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１８１３２９号公報
【特許文献２】特開２００２−３５０５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
そのため、特許文献１等の技術では、図２７のように、半導体装置１のチップの回路群を、機能別にまとめ、それぞれの機能の回路に異なる電圧の電源供給回路を接続する。例えば、アナログ回路やメモリは低電圧化が厳しいので、０．５Ｖの電圧を供給することが望ましい。ロジック回路は、シンプルな回路であれば、低電圧化のマージンが広いので、０．４Ｖを供給する。ＮＯＲ回路とかＮＡＮＤ回路とか、特殊回路は低電圧化が厳しいので、０．５Ｖとか０．６Ｖを供給する。また、無線回路（ＲＦ回路）は高い電圧が必要であるが、常に電波を飛ばしているのではないので、必要なときに、スイッチをオンして回路を動作させることが望ましい。特許文献１では、この電源供給において、いずれかの回路が電源供給を不要とする場合は電源供給回路から切り離し、あるいは、電圧の低い電源供給回路に回路の接続を切り替えることで半導体装置１の消費電力を低減する技術が提案されている。
【０００６】
特許文献１の機能ブロックのロジック回路に、特許文献２等で提案されているように図２８のインバータチェーンで構成したリングオシレータを形成して機能ブロックをテストできる。ここで、比較的動作マージンの広いロジック回路においても、一部の回路（インバータチェーンで構成したリングオシレータの回路中の１つのインバータ）が動作不能に
なることにより、チップ全部が不良となる。図２８のようなインバータチェーンで構成したリングオシレータで回路の動作を評価すると、電源電圧を限界まで低くすると、トランジスタのばらつきにより、特定のインバータが不良となる場合にリングオシレータの動作が停止することで不良トランジスタの存在を検知できる。
【０００７】
しかし、機能ブロックの記憶回路では、電源電圧を限界まで低くする場合の記憶回路の動作は、電源供給回路のトランジスタのばらつきにより電源電圧の供給にバラツキを生じるので、記憶回路の正常な動作を保障するには、その電源供給回路の供給する実際の電圧を検出する必要があった。
【０００８】
ロジック回路において、図２８のリングオシレータでは、極低電圧のときに不良となるのは、局所的なトランジスタの特性のばらつき等で特定のインバータが不良となりリングオシレータが止まってしまうが、他のインバータは動作可能な状態になっている。このため、この対策として、この特定のインバータ（細分化すれば、不良トランジスタ）に関する回路へ供給する電源のみを改善することができれば、それ以外の回路部分は更に低電圧化できると考えられる。
【０００９】
また、半導体回路の機能ブロック毎に電圧降下があるため、半導体装置のレイアウト設計を行う基礎データとするために、電圧降下の実態を正確に把握したい課題もあった。
【００１０】
そのため、本発明は、半導体装置を、機能ブロックを更に回路ブロックに分割し、各回路ブロック毎に、その回路ブロックに供給する電圧を半導体装置が正常に動作し得る最小限界の電圧に調整して、半導体装置の消費電力を低減しつつ、高速に動作させることを課題とする。
【課題を解決するための手段】
【００１１】
本発明は、上記課題を解決するために、半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子から入力した信号によって、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む回路スイッチ制御回路を有することを特徴とする半導体装置である。
【００１２】
また、本発明は、上記の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備することを特徴とする半導体装置である。
【００１３】
また、本発明は、上記の半導体装置であって、前記電源電圧制御メモリが、揮発性メモリと不揮発性メモリとを有することを特徴とする半導体装置である。
【００１５】
また、本発明は、上記の半導体装置であって、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電源切替デコーダと、前記電圧供給回路の前記回路ブロックへの接続を切り替える電源切替スイッチを含むことを特徴とする半導体装置である。
【００１６】
また、本発明は、半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、前記電源切り替え手段が、前記電源電圧制御メモリを含む電源切替設定回路と、電圧トリミングデコーダと、前記電圧供給回路の出力電圧を切り替える電圧調整回路を含み、前記電源切り替え手段が、前記電圧調整回路を含む前記電圧供給回路の複数の組を切り替えて前記回路ブロックに接続することを特徴とする半導体装置である。
【００１８】
また、本発明は、上記の半導体装置であって、前記入力端子の１つの制御端子から制御信号を入力することにより、前記回路スイッチ制御回路が、前記電源切り替え手段の前記電源電圧制御メモリにデータを書き込む動作モードに切り替えられ、前記入力端子の１つのクロック端子からクロック信号を入力することにより、データを書き込む前記電源電圧制御メモリのアドレスを切り替えることを特徴とする半導体装置である。
【００２０】
また、本発明は、上記の半導体装置であって、半導体装置の回路が複数の回路ブロックに分割され、前記回路ブロックがそれぞれ正常に動作し得る最小限度の電圧を供給する複数の電圧供給回路を備え、各前記回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、前記電源電圧制御メモリの記憶する制御内容に従って前記電圧供給回路が各前記回路ブロックに供給する電圧を切り替える電源切り替え手段を備え、前記半導体装置の回路の複数箇所に電圧を検出する電圧検出スイッチを有し、各前記電圧検出スイッチを切り替える動作モードに切り替えられる回路スイッチ制御回路を有し、半導体装置の外部の検査システムからデータを入力する入力端子を有し、前記入力端子の１つのクロック端子からクロック信号を入力することにより前記半導体装置の回路に接続する前記電圧検出スイッチを切り替えることを特徴とする半導体装置である。
【００２１】
また、本発明は、上記の半導体装置であって、回路の領域の複数箇所の電源ノード又は接地ノードに前記電圧検出スイッチを設置したことを特徴とする半導体装置である。
【００２２】
また、本発明は、上記の半導体装置であって、前記回路ブロック毎に、前記回路ブロックの動作を検査する回路ブロックテスト回路を具備し、前記回路ブロックの１つが記憶回路であり、前記記憶回路における前記回路ブロックテスト回路がメモリセルの回路に前記電圧検出スイッチを接続して回路の電圧を検出することを特徴とする半導体装置である。
【００２３】
また、本発明は、上記の半導体装置であって、前記回路ブロックの１つがロジック回路であり、前記ロジック回路における前記回路ブロックテスト回路が記ロジック回路の領域の複数箇所のインバータを接続したインバータチェーンで構成したリングオシレータで構成されていることを特徴とする半導体装置である。
【発明の効果】
【００２４】
本発明は、半導体装置の回路を複数の回路ブロックに分割し、各回路ブロックがそれぞれ正常に動作し得る最小限度の電源電圧を供給する複数の電圧供給回路を備え、各回路ブロックへの最小限度の電圧を供給する制御内容を記憶する電源電圧制御メモリを有し、それが記憶する制御内容に従って電圧供給回路が各回路ブロック毎に供給する電源電圧を切り替える電源切り替え手段を用いることで、各回路ブロックに供給する電源電圧を、半導体装置が正常に動作し得る最小限界の電源電圧に調整することができる。これにより、半導体装置の消費電力を低減しつつ、高速に動作させることができる効果がある。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態の半導体装置の回路のブロック図である。
【図２】本発明の半導体装置の回路の電圧を検出する電圧検出スイッチの回路を示す図である。
【図３】本発明の回路スイッチ制御回路のブロック図である。
【図４】本発明の半導体装置を検査システムにより検査・調整する構成を示すブロック図である。
【図５】本発明の電源切替設定回路のブロック図である。
【図６】本発明の電源切替デコーダと電源切替スイッチの回路図である。
【図７】本発明の半導体装置の機能ブロックの１つである記憶回路のブロック図である。
【図８】本発明の第１の実施形態の記憶回路のレイアウト図である。
【図９】本発明の記憶回路内の１つのメモリセルの回路図である。
【図１０】本発明の第１の実施形態の、記憶回路に設置する回路ブロックテスト回路の１つであるテスト用メモリセルの回路図である。
【図１１】本発明の第１の実施形態の記憶回路のメモリセルのスタティックノイズマージン特性のグラフを示す図である。
【図１２】本発明の第１の実施形態の変形例１の、テスト用メモリセルの回路図である。
【図１３】本発明の第１の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の選定手順を示すフローチャートである。
【図１４】本発明の第１の実施形態の変形例２の記憶回路へ電圧検出スイッチを設置する位置を示すレイアウト図である。
【図１５】本発明の第１の実施形態の、ロジック回路に設置する回路ブロックテスト回路の１つであるインバータチェーンで構成したリングオシレータの回路図である。
【図１６】本発明の第１の実施形態のロジック回路用の回路ブロックへ接続する電圧供給回路の選択の処理手順を示すフローチャートである。
【図１７】本発明の第１の実施形態のリングオシレータの出力電圧の振幅を示すグラフである。
【図１８】本発明の第１の実施形態の変形例３の、リングオシレータを用いた回路ブロックテスト回路の回路図である。
【図１９】本発明の第１の実施形態の変形例３の、ロジック回路用の電圧供給回路の出力電圧を調整する電源電圧調整処理の手順を示すフローチャートである。
【図２０】本発明の第１の実施形態の変形例３の、リングオシレータの発振周波数を示すグラフである。
【図２１】本発明の第２の実施形態の半導体装置の回路のブロック図である。
【図２２】本発明の第２の実施形態の電圧供給回路の回路図である。
【図２３】本発明の第２の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の選定手順を示すフローチャートである。
【図２４】本発明の第２の実施形態の記憶回路用の回路ブロックに接続する電圧供給回路の電圧の微調整の手順を示すフローチャートである。
【図２５】本発明の第３の実施形態の半導体装置の回路のブロック図である。
【図２６】本発明の第３の実施形態の回路ブロックに接続する電圧供給回路の電圧の微調整の手順を示すフローチャートである。
【図２７】従来の半導体装置の回路のブロック図である。
【図２８】従来の、半導体装置のロジック回路に設置する回路ブロックテスト回路の１つであるインバータチェーンで構成したリングオシレータの回路図である。
【発明を実施するための形態】
【００２６】
＜第１の実施形態＞
以下、本発明の第１の実施形態を図面に基づいて詳細に説明する。図１に第１の実施形態の半導体装置１の回路のブロック図を示す。図２に、図１の回路の各箇所に接続した電圧検出スイッチＳＷｒ（ｒ＝１〜ｕ）の回路図を示す。図３に、電圧検出スイッチＳＷｒを選択し、電源切替設定回路１００の電圧切替制御用のメモリを選択する回路スイッチ制御回路４００のブロック図を示す。図４に、この半導体装置１を外部から設定する検査システム２を示し、図５に半導体装置１の電源切替設定回路１００を示し、図６に電源切替デコーダ５０１と電源切替スイッチ５１０を示す。図７に、図１の半導体装置１の回路の
回路ブロック３００のうち、記憶回路３２０のブロック図を示す。
【００２７】
図１のように、半導体装置１は、アナログ回路３１０、記憶回路（メモリ）３２０、ロジック回路３３０のそれぞれの機能ブロックを複数の回路ブロック３００に分割し、また、ＲＦ回路３５０の１つの回路ブロック３００を有する。更に、半導体装置１は、電源端子Ｖｅｘｔから入力された電圧を必要に応じて昇圧回路で昇圧し、その電圧を適宜低下させた電圧を発生させて、その電圧を各回路ブロック３００に供給する電圧供給回路２００と、電源切替設定回路１００と電源切替デコーダ５０１と電源切替スイッチで構成される電源切り替え手段と、その電源切替設定回路１００の電源電圧制御メモリへの書き込み制御信号を発生する書込制御回路１２０と、電源電圧制御メモリにアドレスを指定してデータを書き込む回路スイッチ制御回路４００を有する。電源切り替え手段の電源切替設定回路１００が、その電源電圧制御メモリに従って電源切替デコーダ５０１を介して電源切替スイッチ５１０を制御することで、各回路ブロック３００に接続する電圧供給回路２００を切り替える。
【００２８】
ｐ個の電圧供給回路２００の出力端子は、個々の電源ノードＶＤＤｑ（ｑ＝１〜ｐ）に電圧供給回路２００の個別の電源を供給する。そして、各回路ブロック３００を接続する電源ノードＶＤＤｑを各回路ブロック３００毎の電源切替スイッチ５１０で切り替える。この電圧供給回路２００は、例えば図１のように、
（１）ＲＦ回路３５０に１Ｖの電圧を供給する電圧供給回路２００の電源１と、
（２）０．６Ｖの電圧を供給する電圧供給回路２００の電源２と、
（３）０．５５Ｖの電圧を供給する電圧供給回路２００の電源３と、
（４）その他の電圧の電源と、
（５）０．３５Ｖの電圧を供給する電圧供給回路２００の電源７と、
で構成する。
図１では、ＲＦ回路３５０以外のアナログ回路３１０と記憶回路３２０とロジック回路３３０の各回路ブロック３００を、電源切替スイッチ５１０で接続を切り替えた電源２から７の何れかに接続する。
【００２９】
図１の様に各機能ブロックを個々の回路ブロック３００に細分化して、細分化した回路ブロック３００毎に、それに接続する電圧供給回路２００を選択して、各回路ブロック３００毎に異なる電圧の電源電圧を供給できるようにする。すなわち、アナログ回路３１０は、１〜ｎ個に分割、記憶回路３２０はｍ個、ロジック回路３３０はｋ個に細分化し、細分化したそれぞれの回路ブロック３００毎に最適な電源電圧を設定する。
【００３０】
（電圧検出スイッチ）
半導体装置１の回路の、回路ブロック３００の記憶回路（メモリ）３２０、その他の回路に電圧検出スイッチＳＷｒ（ｒ＝１〜ｕ）を接続してその回路の電圧を検出する。電圧検出スイッチＳＷｒは、回路の電圧を測定する必要に応じて、ロジック回路３３０、電源ノードＶＤＤｑ、接地ノードＶＳＳに接続することができる。回路スイッチ制御回路４００が、それらの電圧検出スイッチＳＷｒのオン／オフを制御し、半導体装置１の回路の各箇所の電圧を外部出力端子であるモニター用端子ＭＯＮに伝送する。
【００３１】
図２のように、各電圧検出スイッチＳＷｒ（ｒ＝１〜ｕ）は、Ｎチャネル型のトランジスタとＰチャネル型のトランジスタから成るＣＭＯＳスイッチで構成する。回路スイッチ制御回路４００の電圧検出スイッチアドレスデコーダ４１１から、スイッチ選択信号ＳＥＬＡｒと、その信号のハイレベルとロウレベルとを反転させたスイッチ選択信号ＳＥＬＡｒＢを出力する。そのスイッチ選択信号ＳＥＬＡｒを、電圧検出スイッチＳＷｒ（ｒ＝１〜ｕ）のＮチャネル型のトランジスタのゲート電極に入力し、スイッチ選択信号ＳＥＬＡｒＢをＰチャネル型のトランジスタのゲート電極に入力することで、電圧検出スイッチＳ
Ｗｒのゲートを開き、電圧検出スイッチＳＷｒのオン／オフを制御する。こうして、電圧検出スイッチＳＷｒのゲートを開くことで、電圧検出スイッチＳＷｒの電圧測定端子が接続した回路（測定点）の電圧をモニター用端子ＭＯＮに伝送することができる。
【００３２】
（回路スイッチ制御回路）
以下で図３を用いて、半導体装置１の回路スイッチ制御回路４００の構成を詳しく説明する。回路スイッチ制御回路４００は、半導体装置１の動作モードを切り替える制御信号やその他の制御信号を入力する制御端子ＭＯＤＥ＿Ｐ（複数端子）と、モニター用カウンタを進めるためのクロック信号ＣＬＫを入力するクロック入力端子ＣＬＫ＿Ｐを有する。回路スイッチ制御回路４００は、電源切替設定回路１００の電源電圧制御メモリのアドレス番号信号ＳＥＬＢ［ｔ：０］を発生する電源アドレスカウンタ（レジスタ）４２０と、電圧検出スイッチＳＷｒの選択アドレスを生成する電圧検出スイッチアドレスカウンタ（レジスタ）４１０を備える。電源電圧制御メモリのアドレス番号信号ＳＥＬＢ［ｔ：０］は電源切替設定回路１００のアドレスデコーダ１７０でデコードされて、電源電圧制御メモリの所定の記憶素子を指定して記憶素子にデータを書き込む。電源切替設定回路１００は、その電源電圧制御メモリが記憶した制御内容のデータを電圧制御信号ＳＥＬＣｘとして電源切替デコーダ５０１へ送信し、電源切替デコーダ５０１が、各回路ブロック３００に各電圧供給回路２００を接続する各電源切替スイッチ５１０を切り替える。一方、電圧検出スイッチアドレスカウンタ４１０の出力は電圧検出スイッチアドレスデコーダ４１１でデコードされて電圧検出スイッチＳＷｒを制御する。
【００３３】
図３のように、回路スイッチ制御回路４００は、電圧検出スイッチアドレスカウンタ（レジスタ）４１０と電源アドレスカウンタ（レジスタ）４２０をカウンタで構成し、回路スイッチ制御回路４００に接続する少数の制御端子ＭＯＤＥ＿Ｐ（複数端子）とクロック入力端子ＣＬＫ＿Ｐを半導体装置１の入出力端子として増設する。この構成により、図４のように、少数の制御端子ＭＯＤＥ＿Ｐ（複数端子）とクロック入力端子ＣＬＫ＿Ｐのみを半導体装置１に増設して半導体装置１の外部の検査システム２から制御することで、電源電圧制御メモリの記憶する制御内容のデータを書き換えて多数の電源切替スイッチ５１０を制御でき、また、半導体装置１内の多数の電圧検出スイッチＳＷｒを制御できる効果がある。このように、この回路スイッチ制御回路４００は、その回路を半導体装置１の回路に組み込む場合に、その回路の組み込みに伴い半導体装置１に増設する外部端子の数と、その外部端子用のインターフェース回路の増加が最小限に抑えられる効果がある。
【００３４】
回路スイッチ制御回路４００の制御端子ＭＯＤＥ＿Ｐ（複数端子）から入力する制御信号ＭＯＤＥｎは、半導体装置１を以下の様に制御する制御信号として用いる。
（第１の制御信号）
半導体装置１の電圧検出スイッチを選択する電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値を、クロック端子ＣＬＫ＿Ｐから加えるクロック信号ＣＬＫにより順にカウントアップする動作（電圧検出スイッチ切り替えモード）を指令する制御信号。
【００３５】
（第２の制御信号）
電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔを、クロック端子ＣＬＫ＿Ｐから加えるクロック信号ＣＬＫにより順にカウントアップする動作（電圧制御回路切り替えモード）を指令する制御信号。また、その制御信号と同時に加える制御信号であって、その電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔが指定するアドレス番号の１ビット単位の電源切替設定回路１００の電源電圧制御メモリに書き込む制御内容の１ビットの値である”０”又は”１”のデータの指定を制御信号ＭＯＤＥｎにより指定する。
【００３６】
電源切替設定回路１００の１ビット単位の電源電圧制御メモリには、各制御回路１３０が
１ビットづつ制御内容のデータの読み書きを制御する不揮発性メモリＮＶＭと、電源電圧テスト用レジスタ１１０の１ビット単位の記憶回路とがある。電源電圧テスト用レジスタ１１０は、回路ブロック３００の１つである記憶回路３２０の一部を用いて構成しても良い。
【００３７】
（電圧検出スイッチの選定動作）
半導体装置１の内部の電圧検出スイッチＳＷｒの選定と、その電圧検出スイッチＳＷｒのゲートを開かせる動作は以下のように行う。以下に説明する検査システム２による、半導体装置１を検査する動作と、電源電圧制御メモリへ制御内容を読み書きする動作は、半導体装置１が半導体のウェハー上に多数形成された状態で行うことができる。図４のように、半導体装置１の外部の検査システム２から、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）に、電圧検出スイッチ切り替えモードを指令する制御信号ＭＯＤＥｎを入力する。そのようにモードを切り替えた後に、クロック入力端子ＣＬＫ＿Ｐからクロック信号ＣＬＫを入力させることで、図３の電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値を順にカウントアップする。そして、電圧検出スイッチアドレスカウンタ４１０の値を電圧検出スイッチアドレスデコーダ４１１が変換することで所定の電圧検出スイッチＳＷｒのゲートを開かせるスイッチ選択信号ＳＥＬＡｒとＳＥＬＡｒＢを発生させる。
【００３８】
（電源切替設定回路）
図５には、電源切替設定回路１００を示す。電源切替設定回路１００は、恒久的にデータを記憶するＥＥＰＲＯＭ等の不揮発性メモリＮＶＭと、一時的にテスト用の制御内容のデータを記憶する電源電圧テスト用レジスタ１１０とから構成される電源電圧制御メモリと、電圧制御信号ＳＥＬＣｘを記憶するラッチ１６０と、電源切替設定回路１００のレジスタとラッチへのデータの読み書きを制御する書込制御回路１２０を有する。電源切替設定回路１００は、これらの電源電圧制御メモリのアドレス番号信号ＳＥＬＢｔを電源アドレスカウンタ（レジスタ）４２０から受信し、その値をアドレスデコーダ１７０が変換して１ビットのメモリセルを選択し、そのメモリセルに制御信号ＭＯＤＥｎの書き込みデータビットが指定するデータを書き込む。電源電圧制御メモリのメモリセルに記憶した制御内容のデータは論理素子で構成する回路で演算し、演算結果をラッチ１６０が記憶し、その値を電圧制御信号ＳＥＬＣｘとして電源切替デコーダ５０１へ送信する。
【００３９】
電源切替設定回路１００の１ビット単位の電源電圧制御メモリが、不揮発性メモリＮＶＭと、電源電圧テスト用レジスタ１１０の１ビット単位の記憶セルとからなる。それらの電源電圧制御メモリを１ビット単位でアドレスデコーダ１７０が指定してそれらの電源電圧制御メモリに制御内容のデータを書き込む。不揮発性メモリＮＶＭへの制御内容のデータの読み書きは、制御回路１３０と、プリセット信号Ｐｒｅで駆動されるＰＭＯＳトランジスタＴｒ１とセル選択トランジスタＴｒ３と、トランジスタＴｒ２とインバータ１４０で行う。不揮発性メモリＮＶＭから読み出した制御内容のデータの値と電源電圧テスト用レジスタ１１０の１ビット単位の記憶セルから読み出した値をＮＡＮＤ回路１５０で合成して、その結果をラッチ回路１６０で記憶して出力信号ＳＥＬＣｘとして電源切替デコーダ５０１に出力する。
【００４０】
（電源切替設定回路の電源電圧制御用メモリへのデータの書き込み）
電源電圧制御用メモリのうち、不揮発性メモリＮＶＭは恒久的にデータを記憶し、また、電源電圧テスト用レジスタ１１０は一時的データを記憶する揮発性メモリであるが、それらの電源電圧制御用メモリの指定と、そのメモリへのデータの書き込みは以下のようにして行う。すなわち、先ず、図４のように、半導体装置１の外部の検査システム２から、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）に、電源アドレスカウンタ（レジスタ）４２０の値をカウントアップする動作モード（電圧制御回路切り替えモード）を指令する制御信号ＭＯＤＥｎを入力する。そのようにモードを切り替えた後に、クロック入力端子ＣＬＫ＿Ｐからクロック信号ＣＬＫを入力させることで、図３の電源アドレスカウンタ（レジスタ）４２０の値を順にカウントアップする。電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔを電源切替設定回路１００のアドレスデコーダ１７０がデコードして１ビットの電源電圧制御用メモリを選定する。そして、その１ビットの電源電圧制御用メモリに、制御信号ＭＯＤＥｎの書き込みデータビットのデータを書き込む。
【００４１】
（電源切替設定回路の不揮発性メモリＮＶＭの動作）
電源切替設定回路１００の不揮発性メモリＮＶＭは、以下のように読み書きする。すなわち、図５の電源切替設定回路１００のように、Ｔｒ１のドレイン端子が電源ノードＶＤＤに接続され、ソース端子が不揮発性メモリＮＶＭへの書き込み時に書き込み制御回路から出力される書き込み信号ＰＲＮが制御回路１３０を介して選択的に出力される書き込み信号線ＰＲＮ０に接続されている。電源切替設定回路１００の各回路ユニットは、制御回路１３０が、セル選択トランジスタＴｒ３のゲートを開くとともに、不揮発性メモリＮＶＭのゲート端子に不揮発性メモリ選択信号Ｎｓｔを送信する。ここで、書き込み信号ＰＲＮ０は書き込み時のみ出力される信号であり、読み出し時は制御回路と切り離される。
【００４２】
（不揮発性メモリＮＶＭが消去状態のときの回路の動作）
不揮発性メモリＮＶＭの読み出し時は、まず、プリチャージ信号Ｐｒｅが一定期間Ｌｏｗレベルとなり、プリチャージトランジスタＴｒ１がオンし、書き込み信号線ＰＲＮ０がＶＤＤにプリチャージされる。もし、不揮発性メモリＮＶＭが消去状態のときは、不揮発性メモリＮＶＭはオン状態である。そのため、不揮発性メモリＮＶＭのドレイン端子の電位は接地ノードＶＳＳの電位（０Ｖ）に低下し、その電位がインバータ１４０で反転されて、インバータ１４０の出力に信号”１”が出力され、その信号がＮＡＮＤ回路１５０に入力される。ＮＡＮＤ回路１５０の他方の入力端子には、電源電圧テスト用レジスタ１１０の出力端子が接続され、電源電圧テスト用レジスタ１１０のデータが反転された信号が出力されラッチ回路１６０で記憶される。そのラッチ回路１６０が記憶したデータが出力信号ＳＥＬＣｘとして電源切替デコーダ５０１に出力される。
【００４３】
（不揮発性メモリＮＶＭにデータが書き込まれている状態のときの回路の動作）
一方、もし、不揮発性メモリＮＶＭにデータが書き込まれている状態のときは、不揮発性メモリＮＶＭはオフ状態である。その状態で制御回路１３０から、不揮発性メモリ選択信号Ｎｓｔが不揮発性メモリＮＶＭのゲート端子に送信されても、不揮発性メモリＮＶＭはオフ状態であり、不揮発性メモリＮＶＭのドレイン端子の電位は電源ノードＶＤＤの電位になり、その電位がインバータ１４０で反転されて、インバータ１４０の出力に信号”０”が出力され、その信号がＮＡＮＤ回路１５０に入力される。このときは、ＮＡＮＤ回路１５０の他方の入力端子に入力されている電源電圧テスト用レジスタ１１０のデータの値にかかわらず、不揮発性メモリＮＶＭのデータに由来するインバータ１４０の出力信号”０”が反転された”１”信号がＮＡＮＤ回路１５０から出力されてラッチ回路１６０で記憶される。これにより、ラッチ回路１６０の出力信号ＳＥＬＣｘに"１"が出力される。この出力信号ＳＥＬＣｘは、電源切替デコーダ５０１へ入力され、電源切替デコーダ５０１の出力信号が電源切替スイッチ５１０を切り替える。
【００４４】
（回路ブロックに接続する電圧供給回路の切替）
図６に電源切替デコーダ５０１と電源切替スイッチ５１０を示す。電源切替デコーダ５０１は、電源切替設定回路１００が出力する信号ＳＥＬＣｘをデコードして信号ＳＥＬＤｙを電源切替スイッチ５１０に出力する。例えば、出力信号ＳＥＬＣｘの信号線のうち３本づつを、各回路ブロック３００用の電源切替デコーダ５０１に割り当てる。電源切替デコーダ５０１の出力信号ＳＥＬＤｙによって、電源切替スイッチ５１０を切り替えて、回路ブロック３００に適切な電圧供給回路２００を接続する。例えば、各回路ブロック３０
０用の電源切替デコーダ５０１に割り当てた３本の信号線の信号の組み合わせにより、電源切替デコーダ５０１を８つの異なる状態にし、すなわち、電源切替デコーダ５０１に、８個の電圧供給回路２００から１つを選んで回路ブロック３００の電源端子に接続する動作を行わせる。あるいは、出力信号ＳＥＬＣｘの信号線のうち４本づつを、各回路ブロック３００用の電源切替デコーダ５０１に割り当て、４本の信号線の信号の組み合わせにより、電源切替デコーダ５０１を１６の異なる状態にし、１６個の電圧供給回路２００から１つを選んで各回路ブロック３００の電源端子に接続することができる。
【００４５】
（回路ブロック）
回路ブロック３００には、図１のように、アナログ回路３１０、記憶回路３２０、ロジック回路３３０を複数に分割した１つの回路ブロック３００と、ＲＦ回路３５０の回路ブロック３００とがある。ＲＦ回路３５０は、半導体装置１の外部と無線信号を送受するアンテナ３５１に接続されている。それぞれの回路ブロック３００には、回路ブロックテスト回路３０１を設ける。それぞれの回路ブロック３００の回路ブロックテスト回路３０１が、その回路ブロック３００の機能毎に、回路ブロック３００の動作をチェックする回路を構成する。回路ブロックテスト回路３０１としては、回路ブロックテスト信号入力端子ＴＥＳＴより検査システム２からテスト信号を受信することで動作する回路を構成することができる。回路ブロックテスト回路３０１の他の構成として、その回路ブロック３００の回路の電圧を電圧検出スイッチＳＷｒでモニター用端子ＭＯＮまで伝送して、検査システム２の電圧測定装置２１がその電圧を測定することで回路ブロック３００の動作をチェックすることができるようにする回路構成にもできる。また、回路ブロックテスト回路３０１が、回路ブロック３００の動作を能動的にチェックして、その能動的チェック動作による動作の良否の判定結果を回路ブロック動作確認パッドＲＥＳより出力して検査システム２に通知する回路構成にもできる。
【００４６】
（記憶回路）
以下で、図７から図１３を参照して、記憶回路３２０の回路ブロックテスト回路３０１の動作を説明する。図７に、半導体チップの一部をなす記憶回路３２０の例として、ＳＲＡＭの記憶回路３２０の回路図を示す。この記憶回路３２０は１ビットの記憶単位の回路を示す。図７に示すように、記憶回路３２０は、回路ブロックテスト回路３０１と、メモリセルアレイ３２１、行デコーダ３２２、列デコーダ３２３、列ゲート３２４、センスアンプ３２５、メモリセルから読出したデータを出力する出力バッファ３２６、アドレス入力回路３２７から構成されている。図８に、記憶回路３２０の回路ブロックのレイアウトを示す。図８の記憶回路３２０の領域に、回路ブロックテスト回路３０１として、複数のテスト用メモリセルＭｔｅｓｔを設置する。
【００４７】
図７のように、記憶回路３２０が、メモリセルアレイ３２１から読み出したデータの信号を出力バッファ３２６の出力端子Ｄｏｕｔに出力する。記憶回路３２０の外部から入力されたメモリアドレス信号Ａ０、Ａ１〜Ａ２３をアドレス入力回路３２７が一時的に格納し、そのメモリアドレスを行デコーダ３２２と列デコーダ３２３が変換して、メモリセルアレイ３２１のメモリセルＭｈｋ（ｈ＝０〜ｍ、ｋ＝０〜ｎ）を選択する行選択信号と列選択信号を生成する。
【００４８】
記憶回路３２０の集積回路チップの領域に記憶の最小単位であるメモリセルＭ００からＭ２ｎが規則正しく縦横にマトリックス状に並べられてメモリセルアレイ３２１を構成している。行方向に配列されるメモリセルＭ００からＭ０ｎのゲートに共通に行線ノードＷＬ０が接続され、行方向に配列されるメモリセルＭ１０からＭ１ｎのゲートには共通に行線ノードＷＬ１が接続され、メモリセルＭ２０からＭ２ｎのゲートには共通に行線ノードＷＬ２が接続される。これらの行線ノードＷＬｈに行デコーダ３２２から行選択信号が送信されることによりメモリセルの行が選択される。
【００４９】
アドレス入力回路３２７から行デコーダ３２２に行アドレスが入力され、行デコーダ３２２が行選択信号を行線ノードＷＬｈに出力することでメモリ素子Ｍｈ０〜Ｍｈｎ（ｈ＝０〜ｍ）が配列されたメモリセルアレイ３２１の第ｈ行が選択される。
【００５０】
また、列方向に配列されるメモリセルＭ００からＭ２０のドレイン端子には共通に、列ゲート３２４の列線ノードＢＬ０が接続される。列線ノードＢＬ０は、列ゲート３２４の列選択トランジスタＣＧ０のソース端子に接続する。列選択トランジスタＣＧ０のゲートには列デコーダ３２３の列選択ノードＣＯＬ０が接続され、その列選択ノードＣＯＬ０には列デコーダ３２３から列選択信号が送信されて列選択トランジスタＣＧ０が駆動される。列ゲート３２４の列選択トランジスタＣＧ０からＣＧｎのドレインをセンスアンプ３２５の共通ノードに接続する。列方向に配列されるメモリセルＭ０ｎからＭ２ｎのドレインには共通に列ゲート３２４の列線ノードＢＬｎを接続し、列線ノードＢＬｎは、列デコーダ３２３の列選択ノードＣＯＬｎにゲートが接続されている列選択トランジスタＣＧｎのソース端子に接続する。同様に、列線ノードＢＬ０Ｂも、メモリセルＭ００からＭ２０に接続される。
【００５１】
図９は、図７に示すＳＲＡＭのメモリセルＭｈｋ（ｈ＝０〜ｍ、ｋ＝０〜ｎ）の回路図を示す。図９のメモリセルＭｈｋは、フルＣＭＯＳシングルポートＳＲＡＭセルの回路構成を有する。図９において、メモリセルＭｈｋは、ハイ側電源ノードＶＤＤとストレージノードＶ０（ＩＮ）との間に接続されかつそのゲートがストレージノードＶ１（ＯＵＴ）に接続されるＰチャネルＭＯＳトランジスタ（絶縁ゲート型電界効果トランジスタ）Ｐ１と、ストレージノードＶ０とロー側電源ノードＶＳＳの間に接続されかつそのゲートがストレージノードＶ１に接続されるＮチャネルＭＯＳトランジスタＮ１と、ハイ側電源ノードＶＤＤとストレージノードＶ１の間に接続されかつそのゲートがストレージノードＶ０に接続されるＰチャネルＭＯＳトランジスタＰ２と、ストレージノードＶ１とロー側電源ノードＶＳＳとの間に接続されかつそのゲートがストレージノードＶ０に接続されるＮチャネルＭＯＳトランジスタＮ２と行線ノードＷＬｈ上の電圧に従ってストレージノードＶ０およびＶ１を、それぞれ、列線ノードＢＬおよびＢＬＢに結合するＮチャネルＭＯＳトランジスタＴａ１およびＴａ２を含む。
【００５２】
この図９に示すメモリセルＭｈｋの構成においては、ＰＭＯＳトランジスタＰ１およびＮＭＯＳトランジスタＮ１がＣＭＯＳインバータを構成し、また、ＰＭＯＳトランジスタＰ２およびＮＭＯＳトランジスタＮ２が、ＣＭＯＳインバータを構成し、これらのインバータの入力および出力が交差結合されて、インバータラッチ（フリップフロップ）を構成する。ストレージノードＶ０（ＩＮ）およびＶ１（ＯＵＴ）には、互いに相補なデータが保持される。このインバータラッチのデータ保持力に応じて、データ書込／読出時のマージンが決定される。
【００５３】
ＳＲＡＭの動作のばらつきの要因としては、ＳＲＡＭを構成するトランジスタのバラツキが主要因となり、
（１）ＰＭＯＳトランジスタ、Ｐ１，Ｐ２、ＮＭＯＳトランジスタＮ１、Ｎ２、トランスファートランジスタＴａ１、Ｔａ２の閾値Ｖｔ、コンダクタンスｇｍ、モービリティμのばらつきが影響する。
（２）トランスファートランジスタＴａ１、Ｔａ２に関しては、バックバイアス特性のばらつきも影響する。
また、ＳＲＡＭの回路動作としては、インバータを構成する特性の第１のベータレシオ
β１∝β（Ｎ１）／β（Ｔａ１）
β２∝β（Ｎ２）／β（Ｔａ２）
が大きくなると、図１１に示す眼鏡状を成すスタティックノイズマージンの電圧のグラフ
の、眼鏡状のグラフの低電圧側の眼鏡の幅が広くなり、スタティックノイズマージンが増す。
一方、第２のベータレシオ
β３∝β（Ｐ１）／β（Ｎ１）
β４∝β（Ｐ２）／β（Ｎ２）
が大きくなると、スタティックノイズマージンの電圧のグラフの、眼鏡状のグラフの高電圧側の眼鏡の幅が広くなり、スタティックノイズマージンが増す。
ＳＲＡＭを構成するトランジスタのバラツキにより、第１のベータレシオと第２のベータレシオがばらつき、その結果、図１１に示すスタティックノイズマージンの大きさがばらつく影響があらわれる。
【００５４】
（回路ブロックテスト回路）
図７に示す記憶回路３２０の回路ブロック３００における回路ブロックテスト回路３０１は、図１０のようなテスト用メモリセルＭｔｅｓｔを複数用いて構成することができる。すなわち、半導体装置１の集積回路チップにおける、図８のような記憶回路３２０の回路ブロック３００の領域に、複数のテスト用メモリセルＭｔｅｓｔを設置する。各テスト用メモリセルＭｔｅｓｔは、図１０のように、第１のテスト用メモリセルＭｔ１と第２のテスト用メモリセルＭｔ２とで構成する。検査システム２の測定装置２１がこのテスト用メモリセルＭｔｅｓｔを測定することにより、ＳＲＡＭのメモリセルＭｈｋ（ｈ＝０〜ｍ、ｋ＝０〜ｎ）の動作マージンを検査し、また、その動作マージンの位置によるバラツキを検査する。
【００５５】
図１０のように、テスト用メモリセルＭｔｅｓｔの第１のテスト用メモリセルＭｔ１のストレージノードＶ０（ＩＮ）に接続するトランスファートランジスタＴａ１と、第２のテスト用メモリセルＭｔ２のストレージノードＶ１（ＯＵＴ）に接続するトランスファートランジスタＴａ２に回路ブロックテスト信号入力端子ＴＥＳＴを接続する。そして、第１のテスト用メモリセルＭｔ１のストレージノードＶ１に電圧検出スイッチＳＷ１を接続し、第２のテスト用メモリセルＭｔ２のストレージノードＶ０に電圧検出スイッチＳＷ２を接続する。回路スイッチ制御回路４００が、電圧検出スイッチアドレスカウンタ（レジスタ）４１０のアドレス値でテスト用メモリセルＭｔｅｓｔを選択して、選択されたテスト用メモリセルＭｔｅｓｔの電圧検出スイッチＳＷ１をオンにしてストレージノードＶ１の電圧をモニター用端子ＭＯＮ１に伝送するとともに、電圧検出スイッチＳＷ２をオンにしてストレージノードＶ０の電圧をモニター用端子ＭＯＮ２に伝送する。なお、更に、回路ブロックテスト信号入力端子ＴＥＳＴの電位とほとんど同じ電位である、第１のテスト用メモリセルＭｔ１のストレージノードＶ０及び第２のテスト用メモリセルＭｔ２のストレージノードＶ１にも、新たな電圧検出スイッチを接続して、それらの位置の電位を新たなモニター用端子に伝送して、検査システム２の電圧測定装置２１がそれらの電圧を正確に測定できるようにしても良い。
【００５６】
（メモリセルの動作マージン検査処理）
メモリセルの動作マージンの検査は、図４のような検査システム２が、外部から半導体装置１の内部の電圧を測定することで、半導体装置１の記憶回路３２０の回路ブロック３００のメモリセルの動作マージンを検査する。検査システム２は、図４のように、電圧測定回路２１と駆動電圧走査回路２２と検査システム記憶回路２３と検査システム演算回路２４で構成する。この検査システム２から半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）に制御信号ＭＯＤＥｎが入力され、クロック入力端子ＣＬＫ＿Ｐにクロック信号ＣＬＫのパルスが所定数入力されることにより電源アドレスカウンタ（レジスタ）４２０の値をカウントアップする。
【００５７】
半導体装置１の電源アドレスカウンタ（レジスタ）４２０の値が電源電圧制御用メモリ
のメモリセルを選定するアドレス番号信号ＳＥＬＢｔとなる。そのアドレス番号信号ＳＥＬＢｔにより、電源電圧テスト用レジスタ１１０のメモリセルを指定して、検査システム２が、制御信号ＭＯＤＥｎの値を、半導体装置１の制御端子ＭＯＤＥ＿Ｐから入力してそのメモリセルに書き込む。こうして電源電圧テスト用レジスタ１１０に所定のデータを記憶する。そのデータによって、電源切替設定回路１００が電源切替デコーダ５０１に信号ＳＥＬＣｘを出力する。その信号ＳＥＬＣｘを電源切替デコーダ５０１がデコードして信号ＳＥＬＤｙを出力し、その出力信号ＳＥＬＤｙによって電源切替スイッチ５１０が切り替えられる。そして、回路ブロック３００に接続する電源切替スイッチ５１０が切り替えられることにより、回路ブロック３００に適切な電圧供給回路２００が接続される。
【００５８】
そして、以下のように、検査システム２の電圧測定回路２１がメモリセルの電圧を測定してメモリセルのスタティックノイズマージン（ＳＮＭ）を検査しつつ、記憶回路３２０に電源を供給する最小限の電圧の電圧供給回路２００を探索する。すなわち、検査システム２は、記憶回路３２０の回路ブロック３００に電源を供給する電圧供給回路２００を、電圧が高い電圧供給回路２００から電圧が低い電圧供給回路２００に順次に切り替えて、その電圧の適否を検査システム２が検査する。それにより、記憶回路３２０の回路ブロック３００毎に、その回路ブロック３００に供給する最小限度の電源電圧を探索して設定する。
【００５９】
（メモリに供給する電圧の適否の判定処理）
検査システム２が、半導体装置１の回路スイッチ制御回路４００を制御することで、半導体装置１のチップのレイアウト中の図８のような記憶回路３２０の回路ブロック３００中の複数箇所に設けたテスト用メモリセルＭｔｅｓｔ毎に、メモリセルの動作マージンを検査する。すなわち、以下のように、スタティックノイズマージン（ＳＮＭ）のデータを計算し、半導体装置１の記憶回路３２０のメモリセルの動作マージンを検査する。
【００６０】
以下のようにして、半導体装置１の記憶回路３２０の１つの回路ブロック３００の回路ブロックテスト回路３０１の所定位置に図８のように設置したテスト用メモリセルＭｔｅｓｔの、図１０のような回路の位置のストレージノードＶ１（ＯＵＴ）とＶ０（ＩＮ）の電圧を測定する。先ず、電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値を電圧検出スイッチアドレスデコーダ４１１が変換した出力信号が選択した電圧検出スイッチＳＷｒのゲートを開く。すなわち、テスト用メモリセルＭｔｅｓｔの回路のストレージノードＶ１（ＯＵＴ）とＶ０（ＩＮ）に接続する電圧検出スイッチＳＷｒのゲートを開く。そして、そのストレージノードＶ１（ＯＵＴ）とＶ０（ＩＮ）の電圧をモニター用端子ＭＯＮ１とＭＯＮ２に伝送する。図４のように、検査システム２が、駆動電圧走査回路２２が、半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに電圧を加えつつ、電圧測定装置２１が、モニター用端子ＭＯＮ１とＭＯＮ２の電圧を測定する。
【００６１】
検査システム２の駆動電圧走査回路２２は、半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに０Ｖから電源ノードＶＤＤの電圧（１Ｖ）までの電圧を順次に切り替えて加えることで、その電圧を図１０のテスト用メモリセルＭｔｅｓｔの回路に加える。これにより、半導体装置１のテスト用メモリセルＭｔｅｓｔが回路ブロックテスト信号入力端子ＴＥＳＴから加えられた電圧に応答して発生した電圧を、モニター用端子ＭＯＮ１とＭＯＮ２から取り出して検査システム２の電圧測定装置２１で測定する。こうして、検査システム２が、駆動電圧走査回路２２により回路ブロックテスト信号入力端子ＴＥＳＴに加える電圧を走査しつつ、モニター用端子ＭＯＮ１およびモニター用端子ＭＯＮ２の電圧を電圧測定装置２１で測定することで、第１のテスト用メモリセルＭｔ１のストレージノードＶ１の電圧と第２のテスト用メモリセルＭｔ２のストレージノードＶ０の電圧の変化を測定する。そして、検査システム演算回路２４が、以下に説明するスタティックノイズマージン特性のグラフのデータを作成し、そのグラフからスタティックノイズマージン（ＳＮＭ）を計算し、メモリセルの動作マージンを判定する検査処理を実施する。
【００６２】
（スタティックノイズマージンの計算処理）
以下で、検査システム２による、スタティックノイズマージン（ＳＮＭ）の計算処理の手順を詳しく説明する。先ず、検査システム２の駆動電圧走査回路２２が、半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに電圧を加え、その電圧を０Ｖから電源ノードＶＤＤの電圧（１Ｖ）まで順次に切り替えつつ、検査システム２が半導体装置１の記憶回路３２０の動作を検査する。目標の動作電圧は、０．５Ｖであるが、ここで、１Ｖまで電圧を上げるのは、動作範囲を確認するためである。
【００６３】
この回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧が第１のテスト用メモリセルＭｔ１に、トランスファートランジスタＴａ１を介してストレージノードＶ０（ＩＮ）に入力する電圧を変化させるので、第１のテスト用メモリセルＭｔ１のストレージノードＶ１（ＯＵＴ）の電圧がそれに応じて変化する。このストレージノードＶ１（ＯＵＴ）の電圧をモニター用端子ＭＯＮ１に伝送し、その電圧を検査システム２の電圧測定装置２１が測定して、ストレージノードＶ１（ＯＵＴ）の電圧を、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧（その電圧をストレージノードＶ０（ＩＮ）の電圧とみなす）の関数として検査システム記憶回路２３に記憶する。すなわち、検査システム２が、第１のテスト用メモリセルＭｔ１のストレージノードＶ０（ＩＮ）に入力した電圧の関数のストレージノードＶ１（ＯＵＴ）の電圧を検査システム記憶回路２３が記憶する。
【００６４】
検査システム２の駆動電圧走査回路２２が半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに加えて０Ｖから電源ノードＶＤＤの電圧（１Ｖ）まで変化させた電圧は、同時に第２のテスト用メモリセルＭｔ２に、トランスファートランジスタＴａ２を介してストレージノードＶ１（ＯＵＴ）に入力されるので、第２のテスト用メモリセルＭｔ２のストレージノードＶ０（ＩＮ）の電圧がそれに応じて変化する。このストレージノードＶ０（ＩＮ）の電圧をモニター用端子ＭＯＮ２に伝送し、その電圧を検査システム２の電圧測定装置２１が測定して、ストレージノードＶ０（ＩＮ）の電圧を、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧（その電圧をストレージノードＶ１（ＯＵＴ）の電圧とみなす）の関数として検査システム記憶回路２３に記憶する。すなわち、第２のテスト用メモリセルＭｔ２のストレージノードＶ１（ＯＵＴ）に入力した電圧の関数のストレージノードＶ０（ＩＮ）の電圧を検査システム記憶回路２３が記憶する。
【００６５】
次に、図１１のように、検査システム演算回路２４が、検査システム記憶回路２３に記憶した、第１のテスト用メモリセルＭｔ１のストレージノードＶ０の電圧の関数としてのストレージノードＶ１の電圧のグラフ（スタティックノイズマージン特性）のデータと、第２のテスト用メモリセルＭｔ２のストレージノードＶ１の電圧の関数としてのストレージノードＶ０の電圧のグラフ（スタティックノイズマージン特性）のデータを比較する演算処理を行う。図１１のスタティックノイズマージン特性のグラフは、全て、選択行線ノードＷＬｈの電圧レベルが電源ノードＶＤＤの電圧の場合のグラフを示すが、実線で示される曲線Ｖ０およびＶ１が、それぞれストレージノードＶ０およびＶ１のスタティックノイズマージン特性をあらわす。図１１（ａ）と（ｃ）は電源ノードＶＤＤの電圧が１．０Ｖの場合のグラフであり、図１１（ｂ）と（ｄ）は電源ノードＶＤＤの電圧が０．５Ｖの場合のグラフである。
【００６６】
図１１（ａ）に、ＳＲＡＭのメモリセルＭｈｋを構成するＣＭＯＳインバータのスタティックノイズマージン特性を示す。スタティックノイズマージンＳＮＭは、図１１（ａ）の曲線Ｖ０およびＶ１の間の２つの、二重枠の正方形の対角線で示される。この対角線の長さが長いほど、ノイズに対してマージンがあることを示す。検査システム演算回路２４が、この特性図における、曲線Ｖ０およびＶ１の間の２つの正方形の対角線の長さ（２つ）を計算して、スタティックノイズマージンＳＮＭとして検査システム記憶回路２３に記憶する。
【００６７】
プロセスが微細化されてメモリセルＭｈｋを構成する２つのＣＭＯＳインバータのトランジスタの特性がばらつくと、このスタティックノイズマージン特性がアンバランスになり、例えば、図１１（ｃ）のように、１つの正方形の対角線が短くなる特性図が得られ、動作マージンが悪化する。また、図１１（ａ）と（ｃ）は電源ノードＶＤＤの電圧が１．０Ｖの例であるが、今後、低電圧化の要求により、メモリセルＭｈｋに供給される電源ノードＶＤＤの電圧が０．５Ｖになると、図１１（ｂ）と（ｄ）のように、更に動作マージンが悪化し、最悪、図１１（ｄ）のようになると、１つの正方形の対角線の長さがほとんどゼロになるので、記憶回路３２０が動作不良を起こす。
【００６８】
以上のように、検査システム演算回路２４が、テスト用メモリセルＭｔｅｓｔの第１のテスト用メモリセルＭｔ１のストレージノードＶ０（ＩＮ）に入力した電圧を横軸にし、ストレージノードＶ１（ＯＵＴ）の電圧を縦軸にしたグラフと、第２のテスト用メモリセルＭｔ２のストレージノードＶ１（ＯＵＴ）に入力した電圧を横軸にし、ストレージノードＶ０（ＩＮ）の電圧を縦軸にしたグラフを重ね合わせたグラフのデータを作成して、図１１（ａ）の曲線Ｖ０およびＶ１の間の二重枠の正方形の対角線の長さで定義されるスタティックノイズマージンＳＮＭを計算する。そして、検査システム演算回路２４は、スタティックノイズマージンＳＮＭが所定範囲内にある場合に、メモリセルが正常に機能すると判定する。
【００６９】
このようにして、検査システム２は、半導体装置１の記憶回路３２０の全部のテスト用メモリセルＭｔｅｓｔを検査し、それらのメモリセルＭｔｅｓｔのスタティックノイズマージンＳＮＭが所定範囲内にある場合に、記憶回路３２０が正常に機能すると判定する演算を行う。検査システム２は、こうして、記憶回路３２０が正常に機能する最小限度の、記憶回路３２０に供給する電源電圧の値を探索する。そして、その電源電圧を半導体装置１に記憶させ、半導体装置１が最小限度の消費電力で動作し得るように設定する。
【００７０】
（変形例１）
記憶回路３２０における回路ブロックテスト回路３０１のテスト用メモリセルＭｔｅｓｔとしては、図１０の構成以外に、図１２の構成のテスト用メモリセルＭｔｅｓｔを用いることができる。図１２のテスト用メモリセルＭｔｅｓｔは、記憶回路３２０で実働するメモリセルＭｈｋに周辺回路を追加することで、そのメモリセルＭｈｋのスタティックノイズマージンＳＮＭを直に測定する回路ブロックテスト回路３０１としたものである。図１２のメモリセルＭｔｅｓｔは、実働するメモリセルＭｈｋに周辺回路を追加することで構成するので、記憶回路３２０の全部のメモリセルＭｈｋに周辺回路を追加してテスト用メモリセルＭｔｅｓｔにすることができる。そうすることで、全てのメモリセルＭｈｋのタティックノイズマージンＳＮＭを測定する回路を構成することもできる。
【００７１】
図１２のテスト用メモリセルＭｔｅｓｔは、電圧検出スイッチアドレスデコーダ４１１が電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値をデコードすることで検査すべきメモリセルＭｈｋを選択するとともに、１つのメモリセルに対して２つの検査モードを選ぶ。すなわち、電圧検出スイッチアドレスデコーダ４１１は、回路ブロックテスト信号入力端子ＴＥＳＴに接続して電圧信号を入力する電圧入力スイッチＳＷＩｒとＳＷＩ（ｒ＋１）と、モニター用端子ＭＯＮに接続して電圧信号を出力する電圧検出スイッチＳＷｒとＳＷ（ｒ＋１）を開閉することで、１つのメモリセルＭｈｋに対して２つの検査モードを切り替えて検査用回路を構成する。
【００７２】
（１つ目の検査モード）
１つ目の検査モードは、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧を、メモリセルＭｈｋ用の電圧入力スイッチＳＷＩｒを通じて、トランスファートランジスタＴａ１を介してストレージノードＶ０（ＩＮ）に接続し、メモリセルＭｈｋのストレージノードＶ１（ＯＵＴ）の電圧を電圧検出スイッチＳＷｒを通じてモニター用端子ＭＯＮ（ＭＯＮ１）に出力する検査回路を構成する。ここで、回路ブロックテスト信号入力端子ＴＥＳＴの電位がトランスファートランジスタＴａ１を介して加えられたストレージノードＶ０の電位は回路ブロックテスト信号入力端子ＴＥＳＴの電位とほとんど同じ電位であるが、そのストレージノードＶ０の電位も正確に測定するために、この検査モードにおいて、ストレージノードＶ０にも、新たな電圧検出スイッチを接続して、その位置の電位を別のモニター用端子ＭＯＮ（ＭＯＮ２）に伝送する回路構成にしても良い。
【００７３】
（２つ目の検査モード）
２つ目の検査モードは、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧を、メモリセルＭｈｋ用の電圧入力スイッチＳＷＩ（ｒ＋１）を通じて、トランスファートランジスタＴａ２を介してストレージノードＶ１（ＯＵＴ）に接続し、メモリセルＭｈｋのストレージノードＶ０（ＩＮ）の電圧を電圧検出スイッチＳＷ（ｒ＋１）を通じてモニター用端子ＭＯＮ（ＭＯＮ１）に出力する検査回路を構成する。ここで、１つ目の検査モード用の回路の場合と同様にして、回路ブロックテスト信号入力端子ＴＥＳＴの電位がトランスファートランジスタＴａ２を介して加えられたストレージノードＶ１の電位も正確に測定するために、この検査モードにおいて、ストレージノードＶ１にも、新たな電圧検出スイッチを接続して、その位置の電位を別のモニター用端子ＭＯＮ（ＭＯＮ２）に伝送する回路構成にしても良い。
【００７４】
電圧検出スイッチアドレスデコーダ４１１が、テスト用メモリセルＭｔｅｓｔ毎にこの２つの検査モード用の２つの指令を、電圧検出スイッチアドレスカウンタ（レジスタ）４１０から与えられ、その指令をデコードして電圧入力スイッチＳＷＩｒ、ＳＷＩ（ｒ＋１）と電圧検出スイッチＳＷｒ、ＳＷ（ｒ＋１）を制御する。なお、その電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値は、検査システム２が、半導体装置１の回路スイッチ制御回路４００を電圧検出スイッチ切り替えモードに設定した後に、クロック端子ＣＬＫ＿Ｐからクロック信号を入力することで電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップすることで設定する。
【００７５】
１つ目の検査モードにより、検査システム２の駆動電圧走査回路２２が半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに加える電圧を変化させ、モニター用端子ＭＯＮの電圧を検査システム２の電圧測定装置２１が測定することで、回路ブロックテスト信号入力端子ＴＥＳＴからトランスファートランジスタＴａ１を介してストレージノードＶ０（ＩＮ）に入力した電圧の関数として、ストレージノードＶ１（ＯＵＴ）の電圧を検査システム記憶回路２３が記憶する。同様にして２つ目の検査モードにより、検査システム２の駆動電圧走査回路２２が半導体装置１の回路ブロックテスト信号入力端子ＴＥＳＴに加える電圧を変化させ、モニター用端子ＭＯＮの電圧を検査システム２の電圧測定装置２１が測定することで、回路ブロックテスト信号入力端子ＴＥＳＴからトランスファートランジスタＴａ２を介してストレージノードＶ１（ＯＵＴ）に入力した電圧の関数として、ストレージノードＶ０（ＩＮ）の電圧を検査システム記憶回路２３が記憶する。
【００７６】
次に、図１１のように、検査システム演算回路２４が、検査システム記憶回路２３に記憶した、ストレージノードＶ０の電圧の関数としてのストレージノードＶ１の電圧のグラフ（スタティックノイズマージン特性）のデータと、ストレージノードＶ１の電圧の関数としてのストレージノードＶ０の電圧のグラフ（スタティックノイズマージン特性）を重ね合わせたグラフのデータを作成して、図１１（ａ）の曲線Ｖ０およびＶ１の間の二重枠の正方形の対角線の長さで定義されるスタティックノイズマージンＳＮＭを計算する。そ
して、検査システム演算回路２４は、スタティックノイズマージンＳＮＭが所定範囲内にある場合に、メモリセルが正常に機能すると判定する演算を行う。検査システム２は、こうして、記憶回路３２０が正常に機能する最小限度の、記憶回路３２０に供給する電源電圧の値を探索する。そして、その電源電圧を半導体装置１に記憶させ、半導体装置１が最小限度の消費電力で動作し得るように設定する。
【００７７】
（メモリ用回路ブロックに接続する電圧供給回路の選定手順）
図１３のフローチャートに、検査システム２が半導体装置１の記憶回路３２０の１つの回路ブロック３００毎に、その回路ブロック３００に最小限度の電圧を供給する電圧供給回路２００を抽出して接続する手順を示す。
（ステップＳ１）
半導体装置１の外部の検査システム２が、半導体装置１の回路スイッチ制御回路４００の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【００７８】
（ステップＳ２：メモリ用の電源電圧テスト用レジスタの設定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、その値により、電源切替設定回路１００に、回路ブロック３００に接続する電圧供給回路２００を選択する電源切替デコーダ５０１に割り当てた信号線に対応する電源電圧テスト用レジスタ１１０の各ビットのアドレスを指定する。そして、電源アドレスカウンタ（レジスタ）４２０が制御信号ＳＥＬＢｔとして送信したそのアドレスの電源電圧テスト用レジスタ１１０の１ビット毎に、検査システム２が半導体装置１の制御端子ＭＯＤＥ＿Ｐから入力した制御信号ＭＯＤＥｎのデータを書き込む。
【００７９】
電源切替設定回路１００が、電源電圧テスト用レジスタ１１０の記憶データを不揮発性メモリＮＶＭの記憶データと論理演算して信号ＳＥＬＣｘを出力端子から出力し、その信号ＳＥＬＣｘの所定の信号線が割り当てられて接続された所定の回路ブロック３００用の電源切替デコーダ５０１に信号ＳＥＬＣｘを入力する。その電源切替デコーダ５０１の出力信号が回路ブロック３００に接続する電源切替スイッチ５１０を切り替えて電圧供給回路２００を選択して回路ブロック３００に接続する。この処理で電源電圧テスト用レジスタ１１０が回路ブロック３００毎に選択する電圧供給回路２００は、電圧が高いものから電圧が低いものに順次に電圧供給回路２００を切り替えつつ、以下の処理を実行する。
【００８０】
（ステップＳ３）
次に、検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧検出スイッチ切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
（ステップＳ４：テスト用メモリセルＭｔｅｓｔの検査）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップする。電圧検出スイッチアドレスデコーダ４１１が、電圧検出スイッチアドレスカウンタ（レジスタ）４１０の値を変換して、図１０のテスト用メモリセルＭｔｅｓｔのストレージノードＶ１とＶ０の電圧を測定するスイッチＳＷ１とＳＷ２を同時に選択してオンにするスイッチ選択信号ＳＥＬＡｒとＳＥＬＡｒＢを出力する。そして、ストレージノードＶ１とＶ０の電圧をモニター用端子ＭＯＮ１とＭＯＮ２に伝送する。そのモニター用端子ＭＯＮ１とＭＯＮ２の電圧を検査システム２の電圧測定装置２１が測定する。
【００８１】
（ステップＳ５）
次に、検査システム２の駆動電圧走査回路２２を、回路ブロックテスト信号入力端子ＴＥＳＴに接続して、駆動電圧走査回路２２が、回路ブロックテスト信号入力端子ＴＥＳＴに、０Ｖから電源ノードＶＤＤの電圧（１Ｖ）まで順次に増加する電圧を印加する。このように、駆動電圧走査回路２２が回路ブロックテスト信号入力端子ＴＥＳＴに加える電圧を増加させつつ、その各電圧における、モニター用端子ＭＯＮ１およびモニター用端子ＭＯＮ２の電圧を電圧測定装置２１で測定して検査システム記憶回路２３で記憶する。これにより、検査システム２が、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧の関数として、第１のテスト用メモリセルＭｔ１のストレージノードＶ１の電圧と第２のテスト用メモリセルＭｔ２のストレージノードＶ０の電圧の変化を検査システム記憶回路２３に記録する。そして、検査システム演算回路２４が、その記録したデータを用いてスタティックノイズマージン（ＳＮＭ）を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【００８２】
（ステップＳ６）
以上のステップＳ５で、検査システム演算回路２４が、メモリセルの動作マージンを不良であると判定した場合は、検査システム２が回路ブロック３００に接続する電圧供給回路２００の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム２は、その処理をステップＳ７に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップＳ３に戻り、検査システム２が、図８の記憶回路３２０のように回路ブロック３００の複数箇所に設置した回路ブロックテスト回路３０１の、残りのテスト用メモリセルＭｔｅｓｔのうちの１つのテスト用メモリセルＭｔｅｓｔを選んで、その電圧を測定する電圧検出スイッチＳＷｒを指定してステップＳ５までの処理を実行し、回路ブロック３００の全ての箇所のテスト用メモリセルＭｔｅｓｔについて処理を実施する。回路ブロック３００の全ての箇所のテスト用メモリセルＭｔｅｓｔの動作マージンに問題が無かった場合は、検査システム２は、更にステップＳ１に戻って、回路ブロック３００に接続する電圧供給回路２００を更に電圧が低いものに切り替えて、ステップＳ１からステップＳ６までの処理を繰り返す。
【００８３】
（ステップＳ７）
検査システム２は、回路ブロック３００に接続する電圧供給回路２００を、電圧ＶＤＤが１段階高い電圧供給回路２００に切り替えて供給電圧を戻し、その電圧供給回路２００を電源切替デコーダ５０１に選択させる指令を電源切替設定回路１００の不揮発性メモリＮＶＭに書き込む。これにより、１つの回路ブロック３００の電源切替デコーダ５０１用の電源切替設定回路１００の不揮発性メモリＮＶＭの設定が終了する。
【００８４】
（変形例２）
図１４のように、半導体装置１の記憶回路３２０の回路ブロック３００の電源ノードＶＤＤは、配線幅が太い主幹配線（縦配線）から枝配線（横配線）を分岐させ、その枝配線に図９のような各メモリセルＭｈｋのＰＭＯＳトランジスタＰ１、Ｐ２のソース端子を接続させている。ここで、本実施形態の変形例２として、半導体装置１の記憶回路３２０の各メモリセルが接続する電源ノードＶＤＤの枝配線の位置に電圧検出スイッチＳＷｒを設置することができる。
【００８５】
この変形例２の構成の半導体装置１の記憶回路３２０の回路ブロック３００は以下のように検査することができる。すなわち、回路ブロック３００に電圧供給回路２００を、供給電圧がより低い電圧供給回路２００に切り替えては検査する。電圧供給回路２００を切り替える都度、全部のメモリセルＭｈｋの位置の電圧検出スイッチＳＷｒを順次に開いて各位置のメモリセルＭｈｋの電源ノードＶＤＤの電圧をモニター用端子ＭＯＮに伝送し、その電圧を検査システム２の電圧測定装置２１で測定して、検査システム記憶回路２３で
記憶する。その電圧検出スイッチＳＷｒの選択のために、電圧検出スイッチアドレスカウンタ（レジスタ）４１０を順次にカウントアップする。こうして、回路ブロック３００の各位置のメモリセルＭｈｋを動作させつつ、メモリセルＭｈｋの位置の電源ノードＶＤＤの電圧を検査システム記憶回路２３で記憶し、その電源ノードＶＤＤの電圧の分布（面分布）を得る。その電圧の面分布を解析することで、メモリセルＭｈｋの動作異常を検知する。こうして、回路ブロック３００内の全てのメモリセルＭｈｋを正常に動作させることができる最小の電圧の電圧供給回路２００を選定する。
【００８６】
また、検査システム２から、記憶回路３２０のアドレス入力回路３２７にメモリアドレス信号Ａ０、Ａ１〜Ａ２３を入力することで、記憶回路３２０に特定のメモリセルＭｈｋを読み出させ、その読出し動作の際のそのメモリセルＭｈｋの位置の電源ノードＶＤＤの電位や接地ノードＶＳＳの電位の変化を電圧検出スイッチＳＷｒで検出させることにより、メモリセルＭｈｋの動作の良否を詳細に判定することもできる。
【００８７】
この変形例２は、記憶回路３２０の場合に限らず、一般的に、回路の領域の複数箇所の電源ノードＶＤＤ又は接地ノードＶＳＳに、電圧検出スイッチＳＷｒを設置することで回路の各位置の回路動作時の電圧の分布（面分布）あるいはその電圧の変動値の分布を検査システム記憶回路２３で記憶し、回路の各位置の回路動作時の電圧の分布から半導体装置１の動作を判定することも可能である。
【００８８】
（ロジック回路の回路ブロックに接続する電圧供給回路の選定の処理手順）
次に、ロジック回路３３０用の各回路ブロック３００毎に、その回路ブロック３００の動作を回路ブロックテスト回路３０１で検査しつつ、回路ブロック３００に接続する電圧供給回路２００を選定する。ロジック回路３３０の回路ブロックテスト回路３０１は、半導体チップ上のロジック回路３３０を形成する領域の各部に形成したインバータ回路を接続した図１５のようなインバータチェーンで構成したリングオシレータを用いる。このリングオシレータは、ロジック回路３３０の各部分を代表するインバータをつないで、ロジック回路３３０の全領域にわたるリングオシレータを回路ブロックテスト回路３０１として形成することができる。すなわち、回路ブロックテスト回路３０１を成すリングオシレータは、全部の回路ブロックにまたがる回路に形成し、一方、ロジック回路３３０の領域はｋ個の小さな回路ブロック３００に細分化し、それぞれの回路ブロック３００がそれぞれ電源切替スイッチ５１０で所定の電源給回路２００に接続するように構成することができる。回路ブロックテスト回路３０１である図１５のリングオシレータでは、ごく一部の回路ブロック３００のみが動作マージンが小さく電源電圧を低下させることができないが、その部分以外の回路のほとんどの部分の回路ブロック３００は電源電圧を下げることができる。これにより、ロジック回路３３０の領域の全体で見て、低電圧化、低消費電力化が達成できる効果がある。
【００８９】
図１６のフローチャートに、ロジック回路３３０の回路ブロック３００へ接続する電圧供給回路２００の選択の処理手順を示す。
（ステップＳ８）
半導体装置１の外部の検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧検出スイッチ切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【００９０】
（ステップＳ９：ロジック回路の検査）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップする。その値を電圧検出スイッチアドレスデコーダ４１１が変換して、ロジック回路３３０の回路ブロックテスト回路３０１である図１６のリングオシレータの出力電圧Ｖｏｕｔを測定する電圧検出スイッチＳＷ３に、そのスイッチをオンにするスイッチ選択信号ＳＥＬＡｒとＳＥＬＡｒＢを出力して、リングオシレータの出力電圧Ｖｏｕｔをモニター用端子ＭＯＮ１に伝送させる。そして、モニター用端子ＭＯＮ１の電圧を検査システム２の電圧測定装置２１が測定することで、図１７のように発振しているリングオシレータが出力電圧Ｖｏｕｔの振幅を測定する。
【００９１】
（ステップＳ１０）
半導体装置１の外部の検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【００９２】
（ステップＳ１１：ロジック回路用の電源電圧テスト用レジスタの設定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、それにより、電源切替設定回路１００に、ロジック回路３３０の回路ブロック３００に接続する電圧供給回路２００の切り替え情報を記憶する電源電圧テスト用レジスタ１１０の１ビットづつを指定するアドレス番号信号ＳＥＬＢｔを送信し、そのアドレスの電源電圧テスト用レジスタ１１０の１ビットに、制御信号ＭＯＤＥｎが指定した値のデータを書き込む。電源電圧テスト用レジスタ１１０は、電源切替設定回路１００の出力端子から、電源切替デコーダ５０１の入力端子に出力信号ＳＥＬＣｘを出力する。この信号ＳＥＬＣｘで指令された電源切替デコーダ５０１の出力信号が電源切替スイッチ５１０を切り替えて電圧供給回路２００を選択してロジック回路３３０の回路ブロック３００に接続する。この処理で電源電圧テスト用レジスタ１１０が回路ブロック３００毎に選択する電圧供給回路２００は、電圧が高いものから電圧が低いものに順次に電圧供給回路２００を切り替えつつ、以下の処理を実行する。
【００９３】
（ステップＳ１２：リングオシレータの検査）
次に、電圧測定装置２１が、ロジック回路３３０のインバータチェーンで構成したリングオシレータの出力電圧Ｖｏｕｔの振幅を測定し、検査システム演算回路２４が、図１７のように、出力電圧Ｖｏｕｔの振幅を回路ブロック３００に接続する電圧供給回路２００の供給電圧ＶＤＤと比較する。検査システム演算回路２４は、電圧供給回路２００の電圧ＶＤＤに比べリングオシレータの出力電圧Ｖｏｕｔの振幅が大幅に小さくなる場合を検知し、その場合にロジック回路３３０の動作を不良と判定する。
【００９４】
（ステップＳ１３）
以上のステップＳ１２で、検査システム演算回路２４が、ロジック回路３３０の動作を不良と判定する場合が、検査システム２が、ロジック回路３３０の回路ブロック３００に接続する電圧供給回路２００の供給電圧ＶＤＤの電圧の低電圧化の限界を検知する場合である。この場合は、検査システム２は、その処理をステップＳ１４に進める。一方、ロジック回路３３０の動作に問題が無かった場合は、更に、ステップＳ１０に戻り、回路ブロック３００に接続する電圧供給回路２００を、更に電圧の低い電圧供給回路２００切り替えて、ステップＳ１０からステップＳ１３までの処理を実行する。
【００９５】
（ステップＳ１４）
検査システム２は、回路ブロック３００に接続する電圧供給回路２００を、その電圧ＶＤＤが１段階高い電圧供給回路２００に切り替えて供給電圧を上げ、その電圧供給回路２００を選択する電源切替スイッチの制御情報を、ロジック回路３３０用の電源切替設定回路１００の不揮発性メモリＮＶＭに書き込む。これで、半導体装置１のロジック回路３３０用の電源切替設定回路１００の設定が終了する。
【００９６】
（変形例３）
次に、変形例３として、図１８のように、ロジック回路３３０の回路ブロックテスト回路３０１を、半導体チップ上のロジック回路３３０を形成する領域の各部に形成したインバータ回路を接続したインバータチェーンで構成したリングオシレータと、その出力電圧Ｖｏｕｔを入力してリングオシレータの発振周波数を判定する発振周波数判定手段３３１で構成する。図１９のフローチャートに、そのロジック回路３３０の回路ブロック３００へ接続する電圧供給回路２００の選択の処理手順を示す。
【００９７】
（ステップＳ１５）
半導体装置１の外部の検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧検出スイッチ切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【００９８】
（ステップＳ１６）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップする。その値を電圧検出スイッチアドレスデコーダ４１１が変換して、ロジック回路３３０へ電圧を供給する電圧供給回路２００の供給電圧ＶＤＤの電圧を測定する電圧検出スイッチＳＷ４に対してスイッチ選択信号ＳＥＬＡｒとＳＥＬＡｒＢを送信することで、電圧検出スイッチＳＷ４をオンにして、その供給電圧ＶＤＤの電圧をモニター用端子ＭＯＮ１に伝送させる。そして、モニター用端子ＭＯＮ１の電圧を検査システム２の電圧測定装置２１が測定することで、電圧供給回路２００が設定した供給電圧ＶＤＤの実際の値を正確に測定する。
【００９９】
（ステップＳ１７）
半導体装置１の外部の検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【０１００】
（ステップＳ１８）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、それにより、電源切替設定回路１００に、ロジック回路３３０の回路ブロック３００に接続する電圧供給回路２００の切り替え情報を記憶する電源電圧テスト用レジスタ１１０の１ビットづつを指定するアドレス番号信号ＳＥＬＢｔを送信し、そのアドレスの電源電圧テスト用レジスタ１１０の１ビットに、制御信号ＭＯＤＥｎが指定した値のデータを書き込む。電源電圧テスト用レジスタ１１０は、電源切替設定回路１００の出力端子から、電源切替デコーダ５０１の入力端子に出力信号ＳＥＬＣｘを出力する。この信号ＳＥＬＣｘで指令された電源切替デコーダ５０１の出力信号が電源切替スイッチ５１０を切り替えて電圧供給回路２００を選択してロジック回路３３０の回路ブロック３００に接続する。この処理で電源電圧テスト用レジスタ１１０が回路ブロック３００毎に選択する電圧供給回路２００は、電圧が高いものから電圧が低いものに順次に電圧供給回路２００を切り替えつつ、以下の処理を実行する。
【０１０１】
（ステップＳ１９：変形例３のリングオシレータの検査）
図２０に示すように、リングオシレータの発振周波数は、電圧供給回路２００がロジック回路３３０に供給する電圧ＶＤＤが低下するのにともない発振周波数が低下し、終には発振停止に至る。そのリングオシレータの発振周波数の良否を、ロジック回路３３０の回
路ブロックテスト回路３０１に組み込んで動作する発振周波数判定手段３３１が判定する。
【０１０２】
（ステップＳ２０）
以上のステップＳ１９で、発振周波数判定手段３３１が、ロジック回路３３０の動作を不良と判定した場合は、ロジック回路３３０の回路ブロックテスト回路３０１が、回路ブロック３００の電圧の低電圧化の限界を検知したことになる。この場合は、発振周波数判定手段３３１は、ロジック回路３３０の動作の良否の判定結果を回路ブロック動作確認パッドＲＥＳより出力する。検査システム２は、その回路ブロック動作確認パッドＲＥＳの出力を読み取って、判定結果が、動作不良と判定された場合は、処理をステップＳ２１に進める。一方、ロジック回路３３０の動作に問題が無かった場合は、検査システム２が、処理を、更にステップＳ１７に戻し、回路ブロック３００に接続する電圧供給回路２００を、更に電圧の低い電圧供給回路２００切り替えて、ステップＳ１７からステップＳ２０までの処理を実行する。
【０１０３】
（ステップＳ２１）
検査システム２は、回路ブロック３００に接続する電圧供給回路２００を、その電圧ＶＤＤが１段階高い電圧供給回路２００に切り替えて供給電圧を上げ、その電圧供給回路２００を選択する電源切替スイッチの制御情報を、ロジック回路３３０の回路ブロック３００用の電源切替設定回路１００の不揮発性メモリＮＶＭに書き込む。これで、半導体装置１のロジック回路３３０用の電源切替設定回路１００の設定が終了する。
【０１０４】
なお、本実施形態のシステムを簡略化したい場合には、図１の回路から、特に、電圧検出スイッチＳＷｒとモニター用端子ＭＯＮを省略し、図２の回路スイッチ制御回路４００から電圧検出スイッチアドレスカウンタ４１０と電圧検出スイッチアドレスデコーダ４１１を省略しても、基本的な目的は達成できる。
【０１０５】
（変形例４）
本実施形態の変形例４の半導体装置１は、図１の回路において、電圧検出スイッチＳＷｒとモニター用端子ＭＯＮを省略した回路に構成する。その回路スイッチ制御回路４００には、図３の回路のうち電源アドレスカウンタ４２０のみを設け、電圧検出スイッチアドレスカウンタ４１０は設けない。変形例４の半導体装置１では、各回路ブロック３００の電圧の低電圧化の限界の探索のためのテストは、回路の電圧を測定しない方式の回路ブロックテスト回路３０１によりテストする。特に、変形例４の半導体装置１は、回路スイッチ制御回路４００が、自ら、回路ブロック３００をテストして、消費電力を低下すべき最低限の電源電圧を探索する検査プログラムの記憶手段を内蔵する。そして、回路スイッチ制御回路４００は更に、その検査プログラムに従って電源アドレスカウンタ４２０のデータを書き変えることができ、また、制御端子ＭＯＤＥ＿Ｐの信号を自ら発生することができる回路に構成する。
【０１０６】
また、回路スイッチ制御回路４００は、回路ブロック３００の動作を制御する回路を有し、特に、記憶回路３２０に、検査のためのデータの読み書きを行うインターフェイス回路を有する。これにより、回路スイッチ制御回路４００が、電源アドレスカウンタ４２０と制御端子ＭＯＤＥ＿Ｐの信号を制御して、記憶回路３２０に接続する電圧供給回路２００の電圧を順次に下げる制御を行う。そして、回路スイッチ制御回路４００が、記憶回路３２０へデータを書き込んだ後にそのデータを読み出すことで記憶回路３２０のデータの読み書き機能をテストする。これにより、記憶回路３２０が正常に機能する最低限界の電源電圧を探索する。回路スイッチ制御回路４００は、図１８のインバータチェーンで構成したリングオシレータと発振周波数判定手段３３１で構成した回路ブロックテスト回路３０１を動作させる制御を行ってロジック回路３３０のテストを行う。
【０１０７】
回路スイッチ制御回路４００は、半導体装置１の電源投入の際に、半導体装置１の各回路ブロック３００をテストして、各回路ブロック３００に供給すべき必要最小限度の電源電圧を探索し、その結果の制御内容のデータを電源電圧制御メモリに記憶する。変形例４は、このように、半導体装置１の電源投入毎に毎回、各回路ブロック３００をテストスキャンして、各回路ブロック３００に供給する必要最小限度の電源電圧を探索し、その電源電圧を供給する制御内容を電源電圧制御メモリに記憶する。そのため、電源切り替え手段の電源切替設定回路１００の電源電圧制御メモリには、揮発性メモリである電源電圧テスト用レジスタ１１０を備えるだけで十分であり、不揮発性メモリＮＶＭを設けなくても良いため、図５の電源切替設定回路１００から不揮発性メモリＮＶＭを除いた回路に構成する。変形例４は、半導体装置１の電源投入毎に毎回、各回路ブロック３００に供給する必要最小限度の電源電圧を探索して、その結果の制御内容のデータを電源電圧制御メモリに記憶して電源電圧を設定するので、半導体装置１の経時変化により各回路ブロック３００が必要とする最小限度の電源電圧が変わっても、最適な電源電圧を自ら探索してその電源電圧を設定するので、半導体装置１を長期間有効に働かせることができる効果がある。
【０１０８】
＜第２の実施形態＞
図２１に第２の実施形態を示す。第２の実施形態が第１の実施形態と相違する点は、電源切り替え手段の電源切替設定回路１００の出力信号ＳＥＬＣｘが、電源切替デコーダ５０１を制御するとともに、電圧供給回路２００の電圧を微調整（トリミング調整）することである。また、微調整した電圧を出力した電源ノードＶＤＤｑに電圧検出スイッチＳＷｒを接続し電源の電圧の値を正確に測定するようにする。第２の実施形態の電圧供給回路２００は、図２２のように、電圧調整回路２１０と電圧レギュレータ２２０と電圧トリミングデコーダ２３０からなる。信号ＳＥＬＣｘが電圧供給回路２００の電圧トリミングデコーダ２３０を制御することで、電圧供給回路２００の出力電圧ＶＤＤｑを可変にして微調整する。
【０１０９】
（電圧供給回路の電圧の微調整）
図２２に電圧供給回路２００の回路を示す。電圧供給回路２００は、電圧調整回路２１０と、電圧レギュレータ２２０と電圧トリミングデコーダ２３０からなり、電圧レギュレータ２２０は、オペアンプ２２１が、その出力端子の電源ノードＶＤＤｑに電圧を出力し、オペアンプ２２１の正の入力端子に基準電圧ＶＲＥＦを入力する。電圧調整回路２１０にＮＭＯＳトランジスタＴｒＶｘを設置し、そのゲート端子に電圧設定回路１００の出力信号ＳＥＬＣｘを入力する。電圧調整回路２１０に分割抵抗を設置し、電圧レギュレータ２２０のオペアンプ２２１が出力端子の電源ノードＶＤＤｑに発生する電圧を、その分割抵抗で分圧する。分割抵抗の所定位置にＮＭＯＳトランジスタＴｒＶｘのドレイン端子を接続し、ＮＭＯＳトランジスタＴｒＶｘのソース端子を電圧レギュレータ２２０のオペアンプ２２１の負の入力端子に接続する。
【０１１０】
こうして、電圧レギュレータ２２０のオペアンプ２２１の出力端子の電源ノードＶＤＤｑの電圧を分圧させてオペアンプ２２１の負の入力端子にフィードバックさせて、オペアンプ２２１の正の入力端子の基準電圧ＶＲＥＦと比較して、オペアンプ２２１の出力端子の電源ノードＶＤＤｑに電圧を出力する。例えば、基準電圧ＶＲＥＦが０．２Ｖで、電圧設定回路１００の出力信号ＳＥＬＣｘの数本の信号線を入力端子に接続した電圧トリミングデコーダ２３０が信号ＳＥＬＣｘに応じて、電源ノードＶＤＤｑの電圧を１／２に分圧した位置にドレイン端子を接続したＮＭＯＳトランジスタＴｒＶ１のゲートを開き、そのドレイン端子の位置の電圧をＮＭＯＳトランジスタＴｒＶ１のソース端子を接続したオペアンプ２２１の負の入力端子にフィードバックさせる。この状態の場合は、オペアンプ２２１の出力端子の電源ノードＶＤＤｑに、基準電圧ＶＲＥＦの電圧の２倍の０．４Ｖの電圧が出力される。
【０１１１】
例えば、出力信号ＳＥＬＣｘの信号線のうち４本づつを、各電圧供給回路２００用の電圧トリミングデコーダ２３０に割り当てる。それにより、４本の信号線の信号の１６組の組み合わせに対応する、電圧調整回路２１０の１６個のＮＭＯＳトランジスタＴｒＶｚのうちの１つのゲートを開くことで、電圧供給回路２００の出力電圧ＶＤＤｑを１６段階に微調整することができる。
【０１１２】
第２の実施形態でも、第１の実施形態と同様の回路ブロック３００及び回路ブロックテスト回路３０１を用いる。
（メモリ用回路ブロックに接続する電圧供給回路の調整手順）
図２３と図２４のフローチャートに、検査システム２が半導体装置１の記憶回路３２０の１つの回路ブロック３００毎に、その回路ブロック３００に最小限度の電圧を供給する電圧供給回路２００を抽出して接続し、その電圧を微調整する手順を示す。この実施形態では、回路ブロックテスト回路３０１に、図１２の回路のテスト用メモリセルＭｔｅｓｔを用いる場合を説明する。
（ステップＳ１）
半導体装置１の外部の検査システム２が、半導体装置１の回路スイッチ制御回路４００の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【０１１３】
（ステップＳ２：電源切替デコーダ用の電源電圧テスト用レジスタの設定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、その値により、電源切替設定回路１００に、回路ブロック３００に接続する電圧供給回路２００を選択する電源切替デコーダ５０１に割り当てた信号線に対応する電源電圧テスト用レジスタ１１０の各ビットのアドレスを指定する。そして、電源アドレスカウンタ（レジスタ）４２０が制御信号ＳＥＬＢｔとして送信したそのアドレスの電源電圧テスト用レジスタ１１０の１ビット毎に、検査システム２が半導体装置１の制御端子ＭＯＤＥ＿Ｐから入力した制御信号ＭＯＤＥｎのデータを書き込む。
【０１１４】
電源切替設定回路１００が、電源電圧テスト用レジスタ１１０の記憶データを不揮発性メモリＮＶＭの記憶データと論理演算して信号ＳＥＬＣｘを出力端子から出力し、その信号ＳＥＬＣｘの所定の信号線が割り当てられて接続された所定の回路ブロック３００用の電源切替デコーダ５０１に信号ＳＥＬＣｘを入力する。その電源切替デコーダ５０１の出力信号が回路ブロック３００に接続する電源切替スイッチ５１０を切り替えて電圧供給回路２００を選択して回路ブロック３００に接続する。この処理で電源電圧テスト用レジスタ１１０が回路ブロック３００毎に選択する電圧供給回路２００は、電圧が高いものから電圧が低いものに順次に電圧供給回路２００を切り替えつつ、以下の処理を実行する。
【０１１５】
（ステップＳ３）
次に、検査システム２が、半導体装置１の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧検出スイッチ切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【０１１６】
（ステップＳ４）
（電圧供給回路の電圧の測定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップする。電圧検出スイッチアドレスデコーダ４１１が、電圧検出スイッ
チアドレスカウンタ（レジスタ）４１０の値を変換して、電圧供給回路２００が出力する電源ノードＶＤＤｑに接続する電圧検出スイッチＳＷｒを選択し、その電圧検出スイッチＳＷｒを通じて電源ノードＶＤＤｑの電圧をモニター用端子ＭＯＮに伝送し、その電圧を検査システム２の電圧測定装置２１で測定する。
【０１１７】
（テスト用メモリセルＭｔｅｓｔの検査）
次に、続けて、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップし、その値を電圧検出スイッチアドレスデコーダ４１１が変換して、図１２のテスト用メモリセルＭｔｅｓｔを選択し、更に、そのテスト用メモリセルＭｔｅｓｔの１つ目又は２つ目の検査モードを選択する。これにより、１つ目の検査モードの場合は、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧を、メモリセルＭｈｋ用の電圧入力スイッチＳＷＩｒを通じてストレージノードＶ０（ＩＮ）に接続し、メモリセルＭｈｋのストレージノードＶ１（ＯＵＴ）の電圧を電圧検出スイッチＳＷｒを通じてモニター用端子ＭＯＮに出力する検査回路を構成する。また、２つ目の検査モードの場合は、回路ブロックテスト信号入力端子ＴＥＳＴに加えた電圧を、メモリセルＭｈｋ用の電圧入力スイッチＳＷＩ（ｒ＋１）を通じてストレージノードＶ１（ＯＵＴ）に接続し、メモリセルＭｈｋのストレージノードＶ０（ＩＮ）の電圧を電圧検出スイッチＳＷ（ｒ＋１）を通じてモニター用端子ＭＯＮに出力する検査回路を構成する。
【０１１８】
（ステップＳ５）
次に、検査システム２の駆動電圧走査回路２２が回路ブロックテスト信号入力端子ＴＥＳＴに０Ｖから電源ノードＶＤＤの電圧（１Ｖ）まで順次に増加する電圧を印加しつつ、その各電圧におけるモニター用端子ＭＯＮの電圧を電圧測定装置２１で測定して検査システム記憶回路２３で記憶する。これにより、１つ目の検査モードの場合は、メモリセルＭｈｋのストレージノードＶ０（ＩＮ）に加えた電圧の関数としてストレージノードＶ１（ＯＵＴ）の電圧の変化を検査システム記憶回路２３で記憶する。また、２つ目の検査モードの場合は、メモリセルＭｈｋのストレージノードＶ１（ＯＵＴ）に加えた電圧の関数としてストレージノードＶ０（ＩＮ）の電圧の変化を検査システム記憶回路２３で記憶する。
【０１１９】
（ステップＳ６）
１つ目の検査モードによりステップＳ５の検査を実施した場合は、ステップＳ４に戻り、２つ目の検査モードを設定してステップＳ４からステップＳ５までを繰り返す。
（ステップＳ７）
メモリセルＭｈｋを１つ目の検査モードで検査した後に２つ目の検査モードで検査した場合は、検査システム演算回路２４が、１つ目の検査モードと２つ目の検査モードで記録したデータを用いてスタティックノイズマージン（ＳＮＭ）を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【０１２０】
（ステップＳ８）
以上のステップＳ５で、検査システム演算回路２４が、メモリセルの動作マージンを不良であると判定した場合は、検査システム２が、回路ブロック３００に接続する電圧供給回路２００の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム２は、その処理をステップＳ９に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップＳ３に戻り、検査システム２が、残りのテスト用メモリセルＭｔｅｓｔから１つを選んで、その１つ目の検査モード又は２つ目の検査モードの回路を構成してステップＳ７までの処理を実行し、回路ブロック３００の全ての箇所のテスト用メモリセルＭｔｅｓｔについて処理を実施する。回路ブロック３００内の全てのテスト用メモリセルＭｔｅｓｔについてメモリセルＭｈｋの動作マージンに問題が無かった場合は、検査システム２は、更にステップＳ１に戻って、回路ブロック３００に接続する電圧供給
回路２００を更に電圧が低いものに切り替えて、ステップＳ１からステップＳ８までの処理を繰り返す。
【０１２１】
（ステップＳ９）
検査システム２は、回路ブロック３００に接続する電圧供給回路２００を、電圧ＶＤＤが１段階高い電圧供給回路２００に切り替えて供給電圧を戻し、その電圧供給回路２００を電源切替デコーダ５０１に選択させる指令を電源切替設定回路１００の不揮発性メモリＮＶＭに書き込む。これにより、１つの回路ブロック３００の電源切替デコーダ５０１用の電源切替設定回路１００の不揮発性メモリＮＶＭの設定が終了する。
【０１２２】
次に、回路ブロック３００に接続した電圧供給回路２００の電圧を、以下のようにして、最小限度に微調整する。
（ステップＳ１０）
次に、図２４のフローチャートのように、半導体装置１の外部の検査システム２が、半導体装置１の回路スイッチ制御回路４００の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【０１２３】
（ステップＳ１１：電圧トリミングデコーダ用の電源電圧テスト用レジスタの設定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、その値により、回路ブロック３００に接続した電圧供給回路２００の電圧を微調整する電圧トリミングデコーダ２３０の入力端子に割り当てた信号線に対応する電源電圧テスト用レジスタ１１０の各ビットのアドレスを指定する。そして、電源アドレスカウンタ（レジスタ）４２０が制御信号ＳＥＬＢｔとして送信したそのアドレスの電源電圧テスト用レジスタ１１０の１ビット毎に、検査システム２が半導体装置１の制御端子ＭＯＤＥ＿Ｐから入力した制御信号ＭＯＤＥｎのデータを書き込む。
【０１２４】
電源切替設定回路１００が、電源電圧テスト用レジスタ１１０の記憶データを不揮発性メモリＮＶＭの記憶データと論理演算して信号ＳＥＬＣｘを出力端子から出力し、その信号ＳＥＬＣｘの所定の信号線が割り当てられた電圧トリミングデコーダ２３０に信号ＳＥＬＣｘを入力する。その電圧トリミングデコーダ２３０の出力信号が回路ブロック３００に接続する電圧供給回路２００の電圧調整回路２１０の複数のＮＭＯＳトランジスタＴｒＶｚのうちの１つのゲートを開くことで、電圧供給回路２００の出力電圧ＶＤＤｑを微調整する。この処理で電圧供給回路２００が出力する電圧を高い電圧から低い電圧に順次に切り替えつつ、以下の処理を実行する。
【０１２５】
（ステップＳ１２）
次に、検査システム２が、ステップＳ３からステップＳ７と同様にして、テスト用メモリセルＭｔｅｓｔとその検査モードとを選択して、メモリセルＭｈｋのストレージノードＶ０（ＩＮ）に加えた電圧の関数としてストレージノードＶ１（ＯＵＴ）の電圧の変化を測定し、また、ストレージノードＶ１（ＯＵＴ）に加えた電圧の関数としてストレージノードＶ０（ＩＮ）の電圧の変化を測定し、それらのデータから、スタティックノイズマージン（ＳＮＭ）を計算し、その大きさを判定することで、メモリセルの動作マージンを判定する。
【０１２６】
（ステップＳ１３）
以上のステップＳ１２で、検査システム演算回路２４が、メモリセルの動作マージンを不良であると判定した場合は、検査システム２が、回路ブロック３００に接続する電圧供給回路２００の電圧の低電圧化の限界を検知したことになる。この場合は、検査システム
２は、その処理をステップＳ１４に進める。一方、メモリセルの動作マージンに問題が無かった場合は、更に、ステップＳ１２に戻り、検査システム２が、残りのテスト用メモリセルＭｔｅｓｔから１つを選んで処理を繰り返し、回路ブロック３００の全ての箇所のテスト用メモリセルＭｔｅｓｔについて処理を実施する。回路ブロック３００内の全てのテスト用メモリセルＭｔｅｓｔについてメモリセルＭｈｋの動作マージンに問題が無かった場合は、検査システム２は、更にステップＳ１０に戻って、回路ブロック３００に接続する電圧供給回路２００を更に電圧が低いものに切り替えて、ステップＳ１０からステップＳ１３までの処理を繰り返す。
【０１２７】
（ステップＳ１４）
検査システム２は、回路ブロック３００に接続する電圧供給回路２００の電圧調整回路２１０を電圧トリミングデコーダ２３０で制御して電圧供給回路２００の出力電圧ＶＤＤを１段階高い電圧に戻す。その電圧トリミングデコーダ２３０により電圧調整回路２１０を制御する指令を電源切替設定回路１００の不揮発性メモリＮＶＭに書き込む。これにより、その回路ブロック３００に接続させた電圧供給回路２００の電圧トリミングデコーダ２３０用の電源切替設定回路１００の不揮発性メモリＮＶＭの設定が終了する。
【０１２８】
（電圧設定回路の総合設定）
以上のようにして、各回路ブロック３００毎に、その回路ブロック３００の電源切替デコーダ５０１用の電源切替設定回路１００の不揮発性メモリＮＶＭを設定し、その回路ブロックに接続すべき電圧供給回路２００が選定され、更に、その回路ブロック３００に接続した電圧供給回路２００の電圧トリミングデコーダ２３０用の電源切替設定回路１００の不揮発性メモリＮＶＭを設定し、電圧供給回路２００を設定すべき最低電圧を検出できる。このようにして各回路ブロック３００毎に、電圧設定回路１００が設定すべき各電圧供給回路２００の最低電圧を検出する。
【０１２９】
次に、複数の回路ブロックに共通に接続される電圧供給回路２００については、それに接続する全ての回路ブロック３００が正常に機能する電圧に電圧供給回路２００の電圧を設定する。すなわち、その電圧供給回路２００に設定するべき下限電圧を各回路ブロック３００毎に得た場合は、それらの下限電圧の中で一番高い電圧を総合的な下限電圧として計算し、その電圧を電圧供給回路２００から出力させる。
【０１３０】
また、以上のように、検査システム２が、個々の回路ブロック３００毎に電圧供給回路２００の最低電圧を求めてから、その電圧供給回路２００に共通に接続する全ての回路ブロック３００における電圧供給回路２００の出力電圧の下限を定める結果をまとめて電圧供給回路２００の出力電圧の下限を計算しても良いが、それ以外の方法として、以下のようにしても良い。
（１）先ず、検査システム２が、全部の回路ブロック３００に対して、図２３のステップＳ１からステップＳ９までの処理のみを実施して、各回路ブロック３００毎に接続すべき電圧供給回路２００を全て選定する。
（２）次に、検査システム２が、各電圧供給回路２００毎にステップＳ１０からＳ１４を実施する。特に、ステップＳ１１で出力電圧を高い値から低い値に順次に下げた後に行うステップＳ１２については以下のように処理することができる。すなわち、ステップＳ１２で、その電圧供給回路２００に接続する全ての回路ブロック３００に対して動作を確認する処理を行い、その全ての回路ブロック３００が正常に動作することを確認しつつ電圧供給回路２００の電圧を下げることで、電圧供給回路２００の最低電圧を求めることができる。
【０１３１】
（変形例５）
本実施形態の変形例５の半導体装置１は、図２２の回路図の電源切替スイッチ５１０と
電源切替デコーダ５０１を省略した電源切り替え手段を用いる。すなわち、変形例５の半導体装置１の電源切り替え手段は、各回路ブロック３００に専用に接続した電圧供給回路２００の出力電圧を切り替えることで、電圧供給回路２００が各前記回路ブロック３００に供給する電圧を切り替えるようにする。この電源切り替え手段は、電圧トリミングデコーダ２３０へ送信する制御信号を変えることで電圧供給回路２００が出力する電圧を切り替える。
【０１３２】
＜第３の実施形態＞
第３の実施形態では、半導体装置１を、図２５のように、同じレベルの電圧を出力する電圧供給回路２００を複数用意する。例えば０．６Ｖレベルの電圧供給回路２００を２つ設置し、また、０．４Ｖレベルの電圧供給回路２００を２つ設置する。第３の実施形態では、電源切り替え手段が、回路ブロック３００に、複数の同じレベルの電圧の電圧供給回路２００を切り替えて接続し、この同じレベルの電圧の電圧供給回路２００のうち、所定の回路ブロックに接続した電圧供給回路２００の出力電圧をその回路ブロックに最適な電圧に調整する。このように、同じレベルの電圧の電圧供給回路２００のそれぞれを異なる電圧に微調整することで、回路ブロック３００に接続する電圧供給回路２００を適切な回路に切り替える。なお、この半導体装置１の回路の機能ブロックのうち、複数の電源を用いる回路ブロック３００には、その複数の電源毎に電源切替スイッチ５１０を設ける。
【０１３３】
以下で、図２６のフローチャートを用いて、第３の実施形態の半導体装置１における、電圧供給回路２００の選択と微調整の手順を説明する。
（各回路ブロック３００毎に接続すべき電圧供給回路２００を全て選定する）
先ず、検査システム２が、全部の回路ブロック３００に対して、図２３のステップＳ１からステップＳ９までの処理のみを実施して、各回路ブロック３００毎に接続すべき電圧供給回路２００を全て選定する。
【０１３４】
（電圧を微調整した電圧供給回路２００を回路ブロック３００に再割り当てする）
半導体装置１の外部の検査システム２が、図２６のフローチャートのように、電圧供給回路２００に接続する回路ブロック３００の動作を確認しつつ電圧供給回路２００の電圧を下げる微調整を行う。その結果、回路ブロック３００の電源電圧の下限に合わせて電圧を微調整した電源供給回路２００に、その回路ブロック３００の接続を切り替えることで、回路ブロック３００毎に最適に電圧を微調整した電圧供給回路２００を再割り当てすることができる。以下で、その処理を行う図２６のフローチャートの手順を詳しく説明する。
【０１３５】
（ステップＳ２０）
半導体装置１の回路スイッチ制御回路４００の制御端子ＭＯＤＥ＿Ｐ（複数端子）から、半導体装置１を電圧制御回路切り替えモードで動作させる制御信号ＭＯＤＥｎを入力する。
【０１３６】
（ステップＳ２１：電圧トリミングデコーダ用の電源電圧テスト用レジスタの設定）
次に、半導体装置１の外部の検査システム２が、クロック信号ＣＬＫをクロック入力端子ＣＬＫ＿Ｐから入力することで、電源アドレスカウンタ（レジスタ）４２０の値のアドレス番号信号ＳＥＬＢｔをカウントアップする。電源アドレスカウンタ（レジスタ）４２０は、その値により、回路ブロック３００に接続した電圧供給回路２００の電圧を微調整する電圧トリミングデコーダ２３０の入力端子に割り当てた信号線に対応する電源電圧テスト用レジスタ１１０の各ビットのアドレスを指定する。そして、電源アドレスカウンタ（レジスタ）４２０が制御信号ＳＥＬＢｔとして送信したそのアドレスの電源電圧テスト用レジスタ１１０の１ビット毎に、検査システム２が半導体装置１の制御端子ＭＯＤＥ＿Ｐから入力した制御信号ＭＯＤＥｎのデータを書き込む。
【０１３７】
電源切替設定回路１００が、電源電圧テスト用レジスタ１１０の記憶データを不揮発性メモリＮＶＭの記憶データと論理演算して信号ＳＥＬＣｘを出力端子から出力し、その信号ＳＥＬＣｘの所定の信号線が割り当てられた電圧トリミングデコーダ２３０に信号ＳＥＬＣｘを入力する。その電圧トリミングデコーダ２３０の出力信号が回路ブロック３００に接続する電圧供給回路２００の電圧調整回路２１０の複数のＮＭＯＳトランジスタＴｒＶｚのうちの１つのゲートを開くことで、電圧供給回路２００の出力電圧ＶＤＤｑを微調整する。この処理で電圧供給回路２００が出力する電圧を高い電圧から低い電圧に順次に切り替えつつ、以下の処理を実行する。
【０１３８】
（ステップＳ２２）
次に、検査システム２が、電圧検出スイッチアドレスカウンタ（レジスタ）４１０をカウントアップし、その値で電源ノードＶＤＤｑに接続する電圧検出スイッチＳＷｒを選択し、電源ノードＶＤＤｑの電圧をモニター用端子ＭＯＮに伝送し電圧測定装置２１で測定する。更に、電源供給回路２００に接続する全部の回路ブロック３００を、その動作の良否を回路ブロックテスト回路３０１によって検査し動作の良否を判定する。この判定処理は、メモリ３２０の回路ブロック３００の検査の場合では、例えば、図２３のステップＳ３からステップＳ７の処理で、電圧検出スイッチＳＷｒでテスト用メモリセルＭｔｅｓｔの電圧を取り出して測定することで回路ブロック３００の動作の良否を判定する。また、ロジック回路３３０の回路ブロック３００の検査の場合では、例えば、図１６のステップＳ８からＳ１２の処理で、電圧検出スイッチＳＷｒでリングオシレータの出力電圧を取り出して測定することで回路ブロック３００の動作の良否を判定する。
【０１３９】
（ステップＳ２３）
以上のステップＳ２２の判定の結果、正常に動作した回路ブロック３００と動作不良になった回路ブロックとが混在した場合は、動作不良になった回路ブロック３００に対してステップＳ２４の処理を行い、電圧供給回路２００の電圧を下げてステップＳ２０からステップＳ２２までの処理を繰り返す。全部の回路ブロック３００が正常に動作した場合も、電圧供給回路２００の電圧を下げてステップＳ２０からステップＳ２２までの処理を繰り返す。一方、全部の回路ブロック３００が動作不良になった場合は、ステップＳ２５の処理を行って処理を終了させる。
【０１４０】
（ステップＳ２４）
動作不良となった回路ブロック３００に対して、新たな、同じレベルの電圧を出力する電圧供給回路２００を割り当てる。そして、その新たな電圧供給回路２００は、元の電圧供給回路２００の微調整された出力電圧を１段階高い電圧に戻した電圧に微調整し、その新たな電圧供給回路２００の電圧に制御する電圧トリミングデコーダ２３０用の制御指令を、電源切替設定回路１００の不揮発性メモリＮＶＭに記憶させる。これにより、動作不良となった回路ブロック３００に新たな電圧供給回路２００が再割り当てされ、その電圧供給回路２００の電圧トリミングデコーダ２３０用の電源切替設定回路１００の不揮発性メモリＮＶＭが設定される。この処理が終わったら、ステップＳ２０に戻る。
【０１４１】
（ステップＳ２５）
全部の回路ブロック３００が動作不良になった場合は、電圧供給回路２００の微調整された出力電圧を１段階高い電圧に戻し、その電圧に制御する電圧トリミングデコーダ２３０用の制御指令を、電源切替設定回路１００の不揮発性メモリＮＶＭに記憶させる。これにより、回路ブロック３００が接続する電圧供給回路２００の電圧トリミングデコーダ２３０用の電源切替設定回路１００の不揮発性メモリＮＶＭの設定が終了する。
【０１４２】
第３の実施形態の半導体装置１は、同じレベルの電圧の電圧供給回路２００の出力電圧
を異なる電圧に微調整することで、回路ブロック３００に接続する電圧供給回路２００を適切な回路に切り替えることにより、半導体装置１の全回路ブロック３００毎に最適に電圧を微調整した電圧供給回路２００を接続できるので、半導体装置１の更なる低電圧化、低消費電力化が達成できる効果がある。
【符号の説明】
【０１４３】
１・・・半導体装置
２・・・検査システム
２１・・・電圧測定装置
２２・・・駆動電圧走査回路
２３・・・検査システム記憶回路
２４・・・検査システム演算回路
１００・・・電源切替設定回路
１１０・・・電源電圧テスト用レジスタ
１２０・・・書込制御回路
１３０・・・制御回路
１４０・・・インバータ
１５０・・・ＮＡＮＤ回路
１６０・・・ラッチ
１７０・・・アドレスデコーダ
２００・・・電圧供給回路
２１０・・・電圧調整回路
２２０・・・電圧レギュレータ
２２１・・・オペアンプ
２３０・・・電圧トリミングデコーダ
３００・・・回路ブロック
３０１・・・回路ブロックテスト回路
３１０・・・アナログ回路
３２０・・・記憶回路（メモリ）
３２１・・・メモリセルアレイ
３２２・・・行デコーダ
３２３・・・列デコーダ
３２４・・・列ゲート
３２５・・・センスアンプ
３２６・・・出力バッファ
３２７・・・アドレス入力回路
３３０・・・ロジック回路
３３１・・・発振周波数判定手段
３４０・・・デジタル無線回路
３５０・・・ＲＦ回路
３５１・・・アンテナ
４００・・・回路スイッチ制御回路
４１０・・・電圧検出スイッチアドレスカウンタ（レジスタ）
４１１・・・電圧検出スイッチアドレスデコーダ
４２０・・・電源アドレスカウンタ（レジスタ）
５０１・・・電源切替デコーダ
５１０・・・電源切替スイッチ
Ａ０、Ａ１、Ａ２３・・・メモリアドレス信号
ＢＬ０、ＢＬＢ０、ＢＬｎ、ＢＬＢｎ・・・列線ノード
ＣＧ０、ＣＧｎ・・・列選択トランジスタ
ＣＬＫ・・・クロック信号
ＣＬＫ＿Ｐ・・・クロック入力端子
ＣＯＬ０、ＣＯＬｎ・・・列選択ノード
Ｄｏｕｔ・・・出力端子
Ｍｈｋ、Ｍ００、Ｍ０ｎ、Ｍ１０，Ｍ１ｎ，Ｍ２０，Ｍ２ｎ・・・メモリセル
ＭＯＮ、ＭＯＮ１、ＭＯＮ２・・・モニター用端子
ＭＯＤＥ＿Ｐ・・・制御端子
ＭＯＤＥｎ・・・制御信号
Ｍｔｅｓｔ・・・テスト用メモリセル
Ｍｔ１・・・第１のテスト用メモリセル
Ｍｔ２・・・第２のテスト用メモリセル
Ｎｓｔ・・・不揮発性メモリ選択信号
ＮＶＭ・・・不揮発性メモリ
Ｎ１、Ｎ２・・・ＮＭＯＳトランジスタ
Ｐ１、Ｐ２・・・ＰＭＯＳトランジスタ
Ｐｒｅ・・・プリセット信号
ＰＲＮ、ＰＲＮ０、ＰＲＮｘ・・・書き込み信号線
ＲＥＳ・・・回路ブロック動作確認パッド
ＳＥＬＡｒ、ＳＥＬＡｒＢ・・・スイッチ選択信号
ＳＥＬＢｔ・・・アドレス番号信号
ＳＥＬＣ０、ＳＥＬＣｘ・・・電圧制御信号
ＳＷｒ、ＳＷ１、ＳＷ２、ＳＷ３、ＳＷ４・・・電圧検出スイッチ
Ｔａ１、Ｔａ２・・・トランスファートランジスタ
ＴＥＳＴ・・・回路ブロックテスト信号入力端子
Ｔｒ１、Ｔｒ２・・・ＰＭＯＳトランジスタ
Ｔｒ３・・・セル選択トランジスタ
Ｖ０、Ｖ０’、Ｖ１・・・ストレージノード
ＶＤＤ、ＶＤＤｑ・・・電源ノード
Ｖｅｘｔ・・・電源端子
Ｖｏｕｔ・・・リングオシレータの出力電圧
ＶＲＥＦ・・・基準電圧
ＶＳＳ・・・接地ノード
ＷＬ０、ＷＬ１、ＷＬｈ・・・行線ノード
【図１】
0005581960.tif 000002
【図２】
0005581960.tif 000003
【図３】
0005581960.tif 000004
【図４】
0005581960.tif 000005
【図５】
0005581960.tif 000006
【図６】
0005581960.tif 000007
【図７】
0005581960.tif 000008
【図８】
0005581960.tif 000009
【図９】
0005581960.tif 000010
【図１０】
0005581960.tif 000011
【図１１】
0005581960.tif 000012
【図１２】
0005581960.tif 000013
【図１３】
0005581960.tif 000014
【図１４】
0005581960.tif 000015
【図１５】
0005581960.tif 000016
【図１６】
0005581960.tif 000017
【図１７】
0005581960.tif 000018
【図１８】
0005581960.tif 000019
【図１９】
0005581960.tif 000020
【図２０】
0005581960.tif 000021
【図２１】
0005581960.tif 000022
【図２２】
0005581960.tif 000023
【図２３】
0005581960.tif 000024
【図２４】
0005581960.tif 000025
【図２５】
0005581960.tif 000026
【図２６】
0005581960.tif 000027
【図２７】
0005581960.tif 000028
【図２８】
0005581960.tif 000029