(57)【要約】【課題】各機能モジュールに供給される電源電圧をプログラムによって変更可能な半導体装置を提供すること。【解決手段】半導体装置１には、複数のプログラマブル機能モジュール（メモリ０〜Ｎ）１５−０〜１５−Ｎが搭載される。ＤＣ／ＤＣコンバータ１１は、複数の電源電圧（Ｖｄｄ０〜Ｖｄｄ２）を生成してＰＰＳＷ１３−０〜１３−Ｎに出力する。ＰＰＳＷ１３−０〜１３−Ｎは、ＤＣ／ＤＣコンバータ１１によって生成された複数の電源電圧（Ｖｄｄ０〜Ｖｄｄ２）のいずれかを、プログラマブル機能モジュール１５−０〜１５−Ｎに選択的に接続する。したがって、プログラマブル機能モジュール１５−０〜１５−Ｎに供給される電源電圧をプログラムによって変更することが可能となる。【選択図】図８
2010103362.tif 000002
【特許請求の範囲】
【請求項１】
複数のモジュールを搭載した半導体装置であって、
複数の電源電圧を生成する電源電圧生成手段と、
前記電源電圧生成手段によって生成された複数の電源電圧のいずれかを、前記複数のモジュールの少なくとも一部に選択的に接続するスイッチ手段とを含む、半導体装置。
【請求項２】
前記複数のモジュールは、一部またはすべてがプログラマブル機能モジュールである、請求項１記載の半導体装置。
【請求項３】
前記スイッチ手段は、電源電圧を切替えるためのデータを記憶する不揮発メモリと、
前記不揮発メモリに記憶されるデータに応じて、前記電源電圧生成手段によって生成された複数の電源電圧のいずれかを前記複数のモジュールの少なくとも一部に接続する複数のトランジスタとを含む、請求項１または２記載の半導体装置。
【請求項４】
前記スイッチ手段はさらに、前記不揮発メモリに記憶されるデータをデコードするデコーダを含み、
前記複数のトランジスタは、前記デコーダによるデコード結果に応じて、前記電源電圧生成手段によって生成された複数の電源電圧のいずれかを前記複数のモジュールの少なくとも一部に接続する、請求項３記載の半導体装置。
【請求項５】
前記スイッチ手段は、電源電圧を切替えるためのデータを複数記憶するコンテキストメモリと、
電源モードに対応して前記コンテキストメモリから出力されるデータに応じて、前記電源電圧生成手段によって生成された複数の電源電圧のいずれかを前記複数のモジュールの少なくとも一部に接続する複数のトランジスタとを含む、請求項１または２記載の半導体装置。
【請求項６】
前記スイッチ手段はさらに、前記コンテキストメモリから出力されるデータをデコードするデコーダを含み、
前記複数のトランジスタは、前記デコーダによるデコード結果に応じて、前記電源電圧生成手段によって生成された複数の電源電圧のいずれかを前記複数のモジュールの少なくとも一部に接続する、請求項５記載の半導体装置。
【請求項７】
前記複数のモジュールは、複数のブロックに分けて配置され、
前記スイッチ手段は、前記複数のブロックに対応して複数配置されており、
前記半導体装置はさらに、前記複数のブロック間の信号の振幅を制御する回路やラッチ、リピータなどが含まれるコモンパワードメインが前記複数のブロックに隣接して配置される、請求項１〜６のいずれかに記載の半導体装置。
【請求項８】
前記半導体装置はさらに、前記複数のモジュールの動作不良を検出し、当該動作不良のモジュールの電源電圧を変更して動作不良を回避するように前記電源電圧生成手段、前記スイッチ手段のいずれか、または両方を制御する制御手段を含む、請求項１〜７のいずれかに記載の半導体装置。
【請求項９】
前記半導体装置はさらに、予備のモジュールと、
前記複数のモジュールのいずれかと前記予備のモジュールとを置換する置換手段とを含み、
前記制御手段は、前記電源電圧生成手段と前記スイッチ手段とのどちらかもしくは両方によって電源電圧を変更する、または前記予備のモジュールに置換するように前記置換手段を制御することにより動作不良を回避することができる、請求項８記載の半導体装置。
【請求項１０】
前記半導体装置はさらに、前記スイッチ手段によって接続される電源電圧をモニタするモニタ手段と、
前記モニタ手段によってモニタされた電源電圧を参照して電源電圧降下が発生しているモジュールを検出し、当該モジュールにさらに高い電源電圧が接続されるように前記スイッチ手段を制御する制御手段を含む、請求項１〜７のいずれかに記載の半導体装置。
【請求項１１】
前記制御手段は、前記モニタ手段によってモニタされた電源電圧を参照して、前記スイッチ手段によって接続される電源ラインのインピーダンスが最適化されるように前記スイッチ手段を制御する、請求項１０記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置内の各モジュールに供給される電源電圧を管理する技術に関し、特に、動作状態において各モジュールに供給される電源電圧をプログラミング可能な半導体装置に関する。
【背景技術】
【０００２】
近年、携帯電話を中心としたモバイル機器のシステム性能が著しく向上し、これに対応するための半導体デバイスにおける微細化技術も同様に進展している。このような半導体デバイスの微細化によって、半導体デバイスにおけるリーク電流の低減が困難になり、電源電圧のスケーリングがなされなくなってきている。そのため、従来のムーアの法則のトレンドから乖離した形となっている。
【０００３】
モバイルシステムの高性能化を実現するためには、回路、システム設計技術と半導体デバイス（プロセス）技術とをリンクさせることで、半導体デバイスの微細化における上記問題点を回避する必要がある。その代表的な技術の１つとして、パワーマネジメント技術がある。
【０００４】
パワーマネジメント技術は、大きくパワーゲーティング、ＤＶＳ／ＤＶＦＳ（Dynamic Voltage Scaling/Dynamic Voltage Frequency Scaling）、バックゲートバイアス制御、仮想電源に分類することができる。以下、これらの技術について簡単に説明する。
【０００５】
パワーゲーティングとは、対象モジュールが非活性のときに、その電源をオフするものである。これによって、非活性の対象モジュールのリーク電流をゼロにすることができる。しかしながら、パワーオン／パワーオフの制御のための電源立ち上げ時間や電源シャットダウン時間による制限を守る必要がある。また、非活性のモジュールと、他の活性化されているモジュールとの間の電源ラインを切り離すための機構、対象モジュール間でやり取りされる信号によってフローティングノードや電流リークパスを生じさせないための機構などが必要となる。
【０００６】
ＤＶＳ／ＤＶＦＳとは、対象モジュールがデータ保持状態になっている場合や、動作周波数を低くしてもよい場合に、対象モジュールの電源電圧やバックゲートバイアスを動的に制御して、動作時電力やリーク電流を低減するものである。この技術においても、上述のパワーゲーティングと同様に、電源電圧の遷移時間の制限や、他のモジュールとの間の信号のやり取りで発生する電流リークパスを阻止するための機構が必要である。
【０００７】
バックゲートバイアス制御とは、対象モジュールが非活性のときに、そのバックゲートバイアス電圧を深くしてトランジスタのリーク電流を抑えるものである。また、対象モジュールの動作時には、バックゲートバイアス電圧を浅くしてトランジスタのしきい値電圧を下げ、動作スピードを速くする。動作スピードと電源電圧とのトレードオフにより、電源電圧の最適値を選択することが可能となる。これにより、通常動作時の電源電圧を下げることができ、動作時電力を削減することができる。
【０００８】
仮想電源とは、バックゲートバイアス電圧を深くするかわりに、対象モジュールの電源・ＧＮＤレベルを少し浅くすることにより仮想化を行なう。そして、対象モジュールの非活性時に負電圧ゲートバイアス状態にすることにより、トランジスタのしきい値電圧を元の値よりも高く設定することができ、上述のバックゲートバイアス制御と同様の効果を得ることができる。
【０００９】
上述のパワーゲーティング、ＤＶＳ／ＤＶＦＳ、バックゲートバイアス制御を行なうためには、電源・ＧＮＤの階層化が必要となる。また、バックゲートバイアス制御を行なうためには、さらにバックゲートバイアス電源の階層化が必要となる。下記の非特許文献１は、これらの技術を採用した技術を開示している。また、下記の非特許文献２は、メモリなどで使用される仮想電源技術を開示している。
【非特許文献１】G. Gammie et al., "A 45nm 3.5G Baseband-and-Multimedia Application Processor using Adaptive Body-Bias and Ultra-Low-Power Techniques", in IEEE Int. Solid-State Circuits Conf. 2008, Dig. of Tech. Papers, Feb. 2008, pp 258-611.
【非特許文献２】M. Yamaoka et al., "A 300MHz 25uA/Mb Leakage On-Chip SRAM Module Featuring Process-Variation Immunity and Low-Leakage-Active Mode for Mobile-Phone Application Processor", in IEEE Int. Solid-State Circuits Conf. 2004, Dig. of Tech. Papers, Feb. 2004, pp494-542.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述のように、従来、半導体デバイスの微細化技術により高性能システムの提供を実現してきたが、今後の半導体デバイスに要求されるものとして高信頼システムの提供を可能にすることが挙げられる。特に、超高信頼性システムにおいては、セキュリティ、コンテンツ保護、機能安全などの実現がキーとなる。
【００１１】
従来の半導体デバイスにおいては、マイコンを中心としたＲＯＭ（Read Only Memory）との組み合わせのハードウェア上でソフトウェアを実行させることにより、システムを構成してきた。ソフトウェア処理では性能が不足している部分については、専用のハードウェアを搭載することによりその性能不足を補っていた。このような開発は、主にＬＳＩ（Large Scale Integrated circuit）メーカ、システムメーカなどの開発サイドで行なわれてきた。
【００１２】
しかしながら、ＬＳＩがカスタマであるユーザの手に渡った後に業界標準仕様が変更されたり、使用環境条件が変更となるなどして、ハードウェアのフィールドでの変更が必要となってきた。これに対応するために、プログラマブルハードウェアが用いられるようになってきている。
【００１３】
プログラマブルハードウェアとして、リコンフィギャラブルプロセッサ、ダイナミックリコンフィギャラブルプロセッサ、組み込み用プログラマブルアレイなどがあり、これらをプログラムすることで各機能モジュールを構成することができる。
【００１４】
このように、ＬＳＩに搭載される各機能モジュールが、固定されたハードウェアからプログラマブルモジュールに置き換わった場合、上述のようなパワーマネジメント技術だけでは対応することができない。
【００１５】
本発明は、上記問題点を解決するためになされたものであり、その目的は、各機能モジュールに供給される電源電圧をプログラムによって変更可能な半導体装置を提供することである。
【課題を解決するための手段】
【００１６】
本発明の一実施例によれば、複数のプログラマブル機能モジュールを搭載した半導体装置が提供される。ＤＣ／ＤＣコンバータは、複数の電源電圧を生成してプログラマブルパワースイッチ（以下、プログラマブルＰＳＷまたはＰＰＳＷとも称する。）に出力する。プログラマブルＰＳＷは、ＤＣ／ＤＣコンバータによって生成された複数の電源電圧のいずれかを、プログラマブル機能モジュールに選択的に接続する。
【発明の効果】
【００１７】
この実施例によれば、プログラマブルＰＳＷが、ＤＣ／ＤＣコンバータによって生成された複数の電源電圧のいずれかを、プログラマブル機能モジュールに選択的に接続するので、プログラマブル機能モジュールに供給される電源電圧をプログラムによって変更することが可能となる。また、プログラマブルＤＣ／ＤＣコンバータとプログラマブルＰＳＷとの組み合わせにより自由度の高い電源設定が可能となる。
【発明を実施するための最良の形態】
【００１８】
（前提技術）
図１は、パワーゲーティング機能を搭載した携帯電話用のベースバンド・アプリケーションプロセッサ統合チップの一例を示す図である。図１において、Ｃ５はシステム全体の制御を行なうシステムコントローラなどが配置されるブロックである。ＣＰＤは、後述するコモンパワードメイン（Common Power Domain）が配置されるブロックである。
【００１９】
ＢＧ１、ＢＷ２、ＢＡ２は、ベースバンド部分のＧＳＭ（Global System for Mobile communications）、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）、ＣＰＵ（Central Processing Unit）などが配置されるブロックである。Ａ１Ａ、Ａ１Ｒ、Ａ２、Ａ４Ｕ１は、アプリケーション部分の各種モジュールが配置されるブロックである。
【００２０】
図１においては、Ｃ５およびＣＰＤが各ブロックの電源電圧の管理を行なうことを示している。この携帯電話用のベースバンド・アプリケーションプロセッサ統合チップにおいては、電源管理システムとして複数のドメインに分離されており、パワーゲーティング、仮想電源の構成を採っている。
【００２１】
図２は、図１に示す携帯電話用のベースバンド・アプリケーションプロセッサ統合チップ内の各電源ドメインの管理状態を示すツリー図である。この階層構成においては、上位側のモジュールが下位側のモジュールの電源を管理する構成となっており、アプリケーション部分およびベースバンド部分の電源がそれぞれ独立して管理される。
【００２２】
この半導体チップの完全停止状態においては、すべてのモジュールの電源がオフとなっている。この半導体チップに電源が供給されると、まず、Ｃ５ブロックの電源がオンとなる。Ｃ５ブロックは、チップ全体の制御を行なうためのシステムコントローラと、ＩＯ部（ＰＡＤ部）を制御するＰＡＤコントローラとを含む。
【００２３】
次に、Ｃ５ブロックの制御によって、Ｃ４ブロックの電源がオンとなる。Ｃ４ブロックは、リピータと、クロック生成部と、データ保持用のフリップフロップとを含む。これらは、ＣＰＤとも呼ばれるが、その詳細は後述する。
【００２４】
以下同様にして、アプリケーション部分およびベースバンド部分のそれぞれにおいて、独立して電源が管理される。図２においては、矢印の先のモジュールの電源がオンでなければ、矢印の根元のモジュールにも電源が供給されないことを示している。これは、一方通行である。
【００２５】
アプリケーション部分においては、Ｃ４の下位層としてＬＣＤＣ（Liquid Crystal Display Controller）、ＶＲＡＭ（Video Random Access Memory）およびレジスタ（Ｒｅｇ）が配置され、その下位層としてアプリケーション部分のＰＬＬ（Phase Locked Loop）回路が配置され、その下位層としてモバイルビデオインタフェースが配置される。さらに、その下位層としてメモリコントローラおよびシリアルＩ／Ｏ（Input/Output）が配置され、その下位層としてシステムＣＰＵおよびリアルタイムＣＰＵが配置される。
【００２６】
ベースバンド部分においては、Ｃ４の下位層としてメモリコントローラ、ＲＡＭおよびＤＭＡＣ（Direct Memory Access Controller）が配置され、その下位層としてベースバンド部分のＰＬＬ回路が配置され、その下位層としてベースバンドＣＰＵ、Ｗ−ＣＤＭＡおよびＧＳＭが配置される。さらに、その下位層としてＤＦＴ、Ｗ−ＣＤＭＡおよびＧＳＭが配置され、その下位層としてＷ−ＣＤＭＡおよびＧＳＭが配置される。
【００２７】
また、この電源管理ツリーは、パワーゲーティングだけでなく、ＤＶＳ／ＤＶＦＳにも適用できる。すなわち、下位のモジュールの電源電圧のレベルが、その上位のモジュールによって管理される。
【００２８】
ここで問題となるのは、下位モジュールで生成される信号を上位モジュールに与える場合である。一般に、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）回路においては、入力される信号の振幅を電源電圧と同じにする必要がある。電源電圧よりも振幅が小さい信号が入力されると、その信号を受けるＣＭＯＳバッファで貫通電流が流れるからである。これを回避するために、ＣＭＯＳ回路の前段にレベル変換回路を挿入し、信号の振幅を電源電圧と同じにしてＣＭＯＳバッファに入力する必要がある。このレベル変換回路として、後述のＣＰＤ構成が用いられる。
【００２９】
図３は、システム稼動時におけるベースバンド・アプリケーションプロセッサ統合チップの各モジュールの電源遮断の一例を示す図である。図３においては、斜線を施したモジュールが電源オン状態であり、それ以外のモジュールが電源オフ状態である。
【００３０】
図３（ａ）は、Ｗ−ＣＤＭＡ方式のテレビ電話使用時における各モジュールの電源状態を示している。ベースバンド部分およびアプリケーション部分のほぼすべてのモジュールの電源がオンとなっている。
【００３１】
図３（ｂ）は、Ｗ−ＣＤＭＡ方式の音声通信時における各モジュールを示している。ベースバンド部分のほぼすべてのモジュールの電源がオンとなっている。また、アプリケーション部分のうちシステムＣＰＵを中心としたシステムドメインがオンとなり、リアルタイムＣＰＵを中心としたリアルタイムドメインがオフとなっている。
【００３２】
図３（ｃ）は、待ち受け時における各モジュールの電源状態を示している。ベースバンド部分およびアプリケーション部分のほぼすべてのモジュールの電源がオフとなっている。
【００３３】
図４は、ＣＰＤの構成例を示す図である。ＣＰＤは、図４（ａ）〜図４（ｃ）に示すように、３つの形態がある。図４（ａ）は、ＣＰＤの１番目の形態であるグローバルクロックバッファを示している。斜線を施した部分がグローバルクロックバッファである。レベル変換回路（μＩＯ）は、ＰＬＬ回路によって生成されたクロックを受け、そのクロックが供給される系の中で最も高い電源電圧と同じ振幅を有するグローバルクロックを生成し、ローカルクロックとして各モジュールに供給する。なお、ＣＴＬ信号によってグローバルクロックの出力を制御することも可能である。
【００３４】
図４（ｂ）は、ＣＰＤの２番目の形態であるリピータを示している。斜線を施した部分がリピータである。レベル変換回路（μＩＯ）は、信号（Ｓｉｇ１）を受け、長距離配線を駆動するために、その信号を増幅（レベル変換）してモジュールに供給する。なお、ＣＴＬ信号によってその信号の出力を制御することも可能である。
【００３５】
図４（ｃ）は、ＣＰＤの３番目の形態であるバックアップラッチを示している。斜線を施した部分がバックアップラッチであり、待機時にデータを保持するためのバックアップ用フリップフロップである。ＣＰＤは待機時においても電源電圧がオンとなっており、バックアップラッチは、電源電圧がオフとなる下位層のモジュール（オリジナルＦＦ）のデータを受け、それを保持する。その下位層のモジュールの電源がオンとなった後に、バックアップラッチは保持するデータをそのモジュールに復帰させる。なお、ＣＴＬ信号によって保持するデータをクリアすることも可能である。
【００３６】
図５は、半導体チップにおけるＣＰＤの物理的配置例を示す図である。斜線を施した部分が、ＣＰＤが配置されるブロックであり、必要に応じて図４（ａ）〜図４（ｃ）に示す３つの形態のＣＰＤが適宜配置される。
【００３７】
図６は、階層電源レイアウトの一例を示す図である。図６（ａ）は、電源ラインの配線例を示している。最上位の電源（ＶＤＤ、ＶＳＳ）およびそれに次ぐＣＰＤの電源（ＶＳＳＭ＿ＣＰＤ）がグローバル配線として各モジュール上に配線される。そして、モジュールＰＤｗ上には電源ＶＳＳＭ＿ＰＤｗがローカル配線として配線される。また、モジュールＰＤｅ上には電源ＶＳＳＭ＿ＰＤｅがローカル配線として配線される。
【００３８】
図６（ｂ）は、グローバル配線とローカル配線との間に配置されるスイッチトランジスタの一例を示す図である。斜線を施した部分がパワースイッチ（ＰＳＷ）であるスイッチトランジスタを示しており、グローバル配線ＶＳＳとローカル配線ＶＳＳＭ＿ＰＤｗとの間、またはグローバル配線ＶＳＳとローカル配線ＶＳＳＭ＿ＰＤｅとの間に配置され、電源管理信号によって電源電圧の供給が制御される。このスイッチトランジスタとして、ゲートリーク電流が少ない、ＩＯ用のゲート酸化膜が厚いトランジスタが用いられる。
【００３９】
以上説明したそれぞれの技術を前提として、本発明の各実施の形態における半導体装置について以下に詳細に説明する。
【００４０】
（第１の実施の形態）
図７は、本発明の第１の実施の形態における半導体装置で使用されるプログラマブル電源システムの構成例を示す図である。このプログラマブル電源システムは、外部電源に接続されるグローバル配線と、グローバル配線に接続されるＤＣ／ＤＣコンバータ１１と、ＤＣ／ＤＣコンバータ１１とセミグローバル配線との間に配置されるプログラマブルＰＳＷ１２と、セミグローバル配線とローカル配線との間に配置されるプログラマブルＰＳＷ１３と、電源電圧が供給される機能モジュール１４とを含む。
【００４１】
ＤＣ／ＤＣコンバータ１１は、シリーズレギュレータ、スイッチングレギュレータなどによって構成され、外部電源電圧（Ｅｘｔ．Ｖｄｄ）よりも低い直流電圧を発生してプログラマブルＰＳＷ１２に与える。このＤＣ／ＤＣコンバータ１１は、定電圧バイアス発生回路、コンパレータなどによって構成される。コンパレータは、定電圧バイアス発生回路によって生成された内部電源電圧と、設定電圧であるリファレンス電圧とを比較する。そして、定電圧バイアス発生回路は、コンパレータによる比較結果に応じて常に一定の設定電圧となるように電圧を維持する。
【００４２】
図７においては、システムで要求されるリファレンス電圧と内部電源電圧とが４種類（Ｖｄｄａ、Ｖｄｄｂ、Ｖｄｄｃ、Ｖｄｄｄ）の場合を示している。なお、ＤＣ／ＤＣコンバータ１１が外部電源電圧を降圧して出力する場合について説明したが、チャージポンプ回路やスイッチングレギュレータによって外部電源電圧を昇圧して、内部電源とするようにしてもよい。
【００４３】
プログラマブルＰＳＷ１２は、ＤＣ／ＤＣコンバータ１１から出力される電源電圧を制御するためのパワースイッチであり、セミグローバル配線を介して４種類の内部電源電圧（Ｉｎｔ．Ｖｄｄａ、Ｉｎｔ．Ｖｄｄｂ、Ｉｎｔ．Ｖｄｄｃ、Ｉｎｔ．Ｖｄｄｄ）として出力する。
【００４４】
プログラマブルＰＳＷ１３は、セミグローバル配線を介して供給される内部電源電圧を制御するためのパワースイッチであり、パワーゲーティング制御信号に応じて電源電圧を制御し、ローカル電源配線を介して機能モジュール１４に電源電圧を供給する。
【００４５】
プログラマブルＰＳＷとして、プログラマブルＰＳＷ１２とプログラマブルＰＳＷ１３とを記載しているが、プログラマブルＰＳＷ１２は必須の構成ではなくプログラマブルＰＳＷ１３のみの構成でもよい。ただし、この場合には、ＤＣ／ＤＣコンバータ１１から出力される電源電圧の数に応じたセミグローバル配線が必要となる。
【００４６】
図８は、図７に示すプログラマブル電源システムが適用される半導体装置の構成例を示す図である。この半導体装置１は、ＤＣ／ＤＣコンバータ１１と、プログラマブルＰＳＷ（以下、ＰＰＳＷとも呼ぶ。）１３−０〜１３−Ｎと、メモリ０〜Ｎ（１５−０〜１５−Ｎ）と、ロジック０〜Ｍ（１６−０〜１６−Ｍ）とを含む。なお、図８においては、メモリ０〜Ｎ（１５−０〜１５−Ｎ）に供給される電源電圧をＰＰＳＷ１３−０〜１３−Ｎによって制御する構成となっているが、ロジック０〜Ｍ（１６−０〜１６−Ｍ）についても同様にＰＰＳＷによって電源電圧が制御されるものとする。
【００４７】
ＤＣ／ＤＣコンバータ１１は、上述のように外部電源電圧Ｅｘｔ．Ｖｄｄから内部電源電圧を生成する。なお、プログラマブルＤＣ／ＤＣコンバータは、複数の固定された内部電源電圧を供給するのではなく、リファレンス電圧を制御することにより、生成する内部電圧を制御してもよい。
【００４８】
ＰＰＳＷ１３−０〜１３−Ｎはそれぞれ、ＤＣ／ＤＣコンバータ１１からの３種類の内部電源電圧（Ｖｄｄ０、Ｖｄｄ１、Ｖｄｄ２）と２種類のＧＮＤ（ＧＮＤ−Ｐ、ＧＮＤ）（ＧＮＤ：基準電圧）とが接続され、そのいずれかをメモリ０〜Ｎ（１５−０〜１５−Ｎ）に接続する。ＰＰＳＷ１３−０〜１３−Ｎは、ＰＰＳＷ１３Ａに示すような電源スイッチと制御レジスタとから構成され、制御レジスタの設定値により電源のＯＮ／ＯＦＦが制御される。この制御レジスタは、フラッシュメモリやＭＲＡＭなどの不揮発性メモリによって構成してもよい。なお、図８に記載のプログラマブルＰＳＷ１２も、同様にＰＰＳＷ１３Ａに示す構成である。
【００４９】
メモリ０〜Ｎ（１５−０〜１５−Ｎ）およびロジック０〜Ｍ（１６−０〜１６−Ｍ）は、データパス１７を介して接続されており、プログラマブル機能モジュールによって構成される。たとえば、メモリ０〜Ｎ（１５−０〜１５−Ｎ）は、語構成、動作電圧、動作周波数などの外部動作条件をプログラミング可能な複数のモジュールによって構成される。また、ロジック０〜Ｍ（１６−０〜１６−Ｍ）は、ＦＰＧＡなどのような論理機能をプログラミング可能な複数のロジックモジュールによって構成される。なお、データパス１７は、データバス、アドレスバス、制御信号群などを含んでおり、上述のＣＰＤによって信号の振幅が制御されて各プログラマブル機能モジュールの電源電圧に対応した振幅の信号に変換される。
【００５０】
プログラマブル機能モジュールの機能を設定するためのプログラミング情報と、プログラマブル電源システムの電源電圧を制御するためのプログラミング情報とが連動して設定され、プログラマブルなパワーゲーティング機能やＤＶＳ／ＤＶＦＳ機能が実現される。
【００５１】
図９は、図８に示す半導体装置１の物理的なレイアウトの構成例を示す図である。各プログラマブル機能モジュール（Ｂｌｏｃｋ−Ａ〜Ｂｌｏｃｋ−Ｉ）には、ローカル電源を供給するためのＰＰＳＷ１３が隣接して配置される。このＰＰＳＷ１３によって、上述のようにパワーゲーティング制御が行なわれる。
【００５２】
また、ＣＰＤ２７は、各プログラマブル機能モジュール（Ｂｌｏｃｋ−Ａ〜Ｂｌｏｃｋ−Ｉ）間に配置され、データパス１７の各種信号の振幅の制御などを行なう。これによって、任意のプログラマブル機能モジュール間の信号制御が可能になる。
【００５３】
また、ＤＣ／ＤＣコンバータ１１は、複数のプログラマブル機能モジュール毎に配置され、任意のプログラマブル電源ネットワークの構築を可能にする。なお、図９においては、３種類の電源電圧を供給するＤＣ／ＤＣコンバータ１１が１つだけ記載されているが、複数のプログラマブル機能モジュール毎に配置されているものとする。
【００５４】
図１０は、図９に示す半導体装置１の各電源ドメインの管理状態を示すツリー図である。図１０（ａ）〜図１０（ｃ）は、図９に示すプログラマブル機能モジュール（Ａ〜Ｉ）の電源の階層構成を示しており、図２と同様に、上位側のモジュールが下位側のモジュールの電源を管理する構成となっている。
【００５５】
図１０（ａ）は、第１の電源階層構成例を示しており、ＣＰＤの下位層にモジュールＡが配置され、その下位層にモジュールＢ、ＤおよびＥが配置され、その下位層にモジュールＣ、Ｆ、ＧおよびＩが配置されている。モード１においては、モジュールＡの電源のみがオンとなっている。モード２においては、モジュールＡ、Ｂ、Ｃ、ＥおよびＩの電源がオンとなっている。また、モード３においては、モジュールＡ、Ｂ、Ｃ、Ｅ、Ｆ、ＨおよびＩの電源がオンとなっている。これらは、図２を用いて説明したように、矢印の先のモジュール（上位層のモジュール）の電源がオンでなければ、矢印の根元のモジュール（下位層のモジュール）にも電源が供給されないという規則に則っている。
【００５６】
図１０（ｂ）は、第２の電源階層構成例を示しており、ＣＰＤの下位層にモジュールＥが配置され、その下位層にモジュールＢ、Ｄ、ＦおよびＨが配置され、その下位層にモジュールＡ、Ｇ、ＣおよびＩが配置されている。モード１においては、モジュールＥの電源のみがオンとなっている。モード２においては、モジュールＡ、Ｂ、Ｅ、ＨおよびＩの電源がオンとなっている。また、モード３においては、モジュールＣ、Ｄ、Ｅ、ＦおよびＧの電源がオンとなっている。
【００５７】
図１０（ｃ）は、第３の電源階層構成例を示しており、ＣＰＤの下位層にモジュールＢが配置され、その下位層にモジュールＡ、ＥおよびＣが配置され、その下位層にモジュールＧ、Ｄ、Ｈ、ＦおよびＩが配置されている。モード１においては、モジュールＢの電源のみがオンとなっている。モード２においては、モジュールＢ、Ｄ、Ｅ、ＦおよびＨの電源がオンとなっている。また、モード３においては、モジュールＢ、ＣおよびＩの電源がオンとなっている。
【００５８】
図７〜図９に示すプログラマブル電源ネットワークは、ＰＰＳＷのレジスタを制御することにより、図１０（ａ）〜図１０（ｃ）に示すように仮想的に任意の電源階層構成を定義し、電源制御することが可能となる。
【００５９】
ここで本実施の形態では、電源制御対象としてメモリを例に説明した。このメモリとしては、たとえばＳＲＡＭにおける書込み／読出しマージン確保のため、またはフラッシュメモリなどの絶縁膜の経年劣化に伴う書込み／消去特性の劣化を補償することに適用できる。また、電源制御対象はメモリに限定されずロジックを対象としてもよい。
【００６０】
以上説明したように、本実施の形態における半導体装置１によれば、ＰＰＳＷ１３が、ＤＣ／ＤＣコンバータ１１から出力される複数の電源電圧のいずれかをモジュールの電源ラインに接続するようにしたので、プログラマブルな電源管理システムを実現することが可能となった。
【００６１】
また、プログラマブル機能モジュールの機能を設定するためのプログラミング情報と、プログラマブル電源システムの電源電圧を制御するためのプログラミング情報とを連動して設定するようにしたので、プログラマブルなパワーゲーティング機能やＤＶＳ／ＤＶＦＳ機能を実現することが可能となった。
【００６２】
また、モジュール間にＣＰＤを配置することにより、電源遮断や異電源電圧モジュール間の通信を行なうことができ、フレキシブルなプログラマブル電源システムを実現することが可能となった。
【００６３】
（第２の実施の形態）
図１１は、ＰＰＳＷの内部構成を示す図である。半導体装置全体の構成については、図８に示す半導体装置１と同様であるのでここでは説明を省略する。このＰＰＳＷは、不揮発レジスタ２１と、デコーダ（ＤＥＣ）２２と、ＰチャネルＭＯＳトランジスタ２３〜２５と、ＮチャネルＭＯＳトランジスタ２６とを含む。不揮発レジスタ２１は、ＭＲＡＭ（Magnetoresistive Random Access Memory）とフリップフロップ（ＦＦ）とによって構成され、ＰＰＳＷのオン／オフを制御するためのプログラム情報を記憶する。この不揮発レジスタ２１の詳細は後述する。
【００６４】
ＰチャネルＭＯＳトランジスタ２３〜２５はそれぞれ、ＶＤＤＡ〜ＶＤＤＣとモジュールの電源ラインとの間に接続され、かつそのゲートがＤＥＣ２２からの出力信号に接続されている。また、ＮチャネルＭＯＳトランジスタ２６は、ＧＮＤとモジュールの電源ラインとの間に接続されており、かつそのゲートがＤＥＣ２２からの出力信号に接続されている。
【００６５】
ＤＥＣ２２は、不揮発レジスタ２１から出力されるプログラム情報をデコードし、デコード結果をトランジスタ２３〜２６に出力する。ＤＥＣ２２は、デコード結果に応じて電源スイッチ２３〜２６のいずれか１つをＯＮにする。たとえば、ＰチャネルＭＯＳトランジスタ２３のゲートに接続される信号が“０”となってトランジスタ２３がオンになると、他のＰチャネルＭＯＳトランジスタ２４および２５、ＮチャネルＭＯＳトランジスタ２６がオフとなり、モジュールの電源ラインにＶＤＤＡが接続される。
【００６６】
なお、不揮発レジスタ２１に記憶されるプログラム情報のビット数を減らすためにデコーダを用いているが、不揮発メモリ２１から出力されるプログラム情報の各ビットを直接トランジスタ２３〜２６に接続するようにしてもよい。
【００６７】
図１２は、不揮発レジスタ２１の内部構成の一例を示す図である。この不揮発レジスタ２１は、制御部３０と、ＴＭＲ（Tunnel Magneto Resistance）素子４０−０〜４０−３および４１−０〜４１−３と、選択トランジスタ４２−０〜４２−３および４３−０〜４３−３と、センスアンプ４４−０〜４４−３と、ラッチ回路（Ｌａｔｃｈ）４５−０〜４５−３と、マルチプレクサ（ＭＵＸ）４６−０〜４６−３と、フリップフロップ（ＦＦ）回路４７−０〜４７−３と、ライトドライバ４８−０〜４８−３および４９−０〜４９−３とを含む。
【００６８】
また、制御部３０は、遅延回路３１と、ラッチ回路３２〜３４と、ＡＮＤ回路３５〜３７および５０と、ＯＲ回路３８と、インバータ３９とを含む。なお、ラッチ回路３２〜３４は、ＣＫ端子に入力される信号が“１”のときにＤＡＴＡ端子に入力される値を保持し、ＣＫ端子に入力される信号が“０”のときＤＡＴＡ端子に入力される値をスルーする。ここで、制御部３０に入力される各種信号について説明する。
【００６９】
ＣＳＣは、不揮発レジスタ２１が選択されたことを示すブロックイネーブル信号である。ＲＥＣＡＬＬは、ＴＭＲ素子（ＭＲＡＭ素子）からＦＦ回路にデータを読み出すことを示すイネーブル信号である。
【００７０】
ＳＴＯＲＥは、ＦＦ回路に記憶されるデータをＭＲＡＭ素子に書き込むことを示すイネーブル信号である。ＳＩは、外部からＦＦ回路にシリアルでデータを転送するときのシリアルデータ入力信号である。
【００７１】
ＩＳＥＬ＜１：０＞は、ＦＦ回路の入力を選択するための２本の入力セレクト信号である。Ｄ＜３：０＞は、外部からＦＦ回路にパラレルでデータを転送するときのパラレルデータ入力信号である。Ｒ＜３：０＞は、データレジスタの内容を出力するレジスタ出力信号である。ＣＬＫは、クロック信号である。
【００７２】
図１２は、不揮発レジスタ２１の一例として、４ビットのデータレジスタの場合の構成を示している。たとえば、最下位のビットＤ＜０＞を記憶する１ビットのデータレジスタは、２個のＭＲＡＭ素子（ＴＭＲ素子）４０−０および４１−０と、選択トランジスタ４２−０および４３−０と、センスアンプ４４−０と、ラッチ回路４５−０と、ＭＵＸ４６−０と、ＦＦ回路４７−０と、ライトドライバ４８−０および４９−０とによって構成される。ＭＲＡＭは、相補データによって情報を記憶する。
【００７３】
ＴＭＲ素子は２軸磁界書き込み型であり、ビット線（ＭＢＬ０〜ＭＢＬ３）とワード線（ＷＷＬ）との合成磁界によってデータを書き込む。たとえば、ライトドライバ４８−０の出力と４９−０の出力とがループ状に結合されてビット線ＭＢＬ０が形成されており、ペアとなるＴＭＲ素子４０−０および４１−０に対して異なる方向に電流が流れ、２個のＴＭＲ素子４０−０および４１−０には相補のデータが書き込まれる。このとき、書き込まれるデータは、ＦＦ回路４７−０が保持するデータである。
【００７４】
図１３は、入力データをシリアル転送して不揮発レジスタ２１に書き込むときの動作を説明するためのタイミングチャートである。まず、ＣＳＣ信号が“０”となってアサートされ、ＩＳＥＬ＜１：０＞信号にシリアルデータ転送であることを示す“２’ｂ１０”が入力される。このとき、ＳＩ信号に最初のシリアルデータである“Ａ”が入力される。
【００７５】
Ｔ１において、ラッチ回路３２から“１”が出力されると、ＡＮＤ回路５０はＣＬＫ信号と同じタイミングのパルスを出力する。このとき、ＭＵＸ４６−０がＳＩ信号を選択して出力するため、ＦＦ回路４７−０は最初のシリアルデータ“Ａ”を保持する。
【００７６】
Ｔ２において、ＦＦ回路４７−０に保持されるシリアルデータ“Ａ”がＭＵＸ４６−１を介してＦＦ回路４７−１に転送され、ＦＦ回路４７−０は２番目のシリアルデータ“Ｂ”を保持する。
【００７７】
Ｔ３において、同様にＦＦ回路４７−１に保持されるシリアルデータ“Ａ”がＭＵＸ４６−２を介してＦＦ回路４７−２に転送され、ＦＦ回路４７−０に保持されるシリアルデータ“Ｂ”がＭＵＸ４６−１を介してＦＦ回路４７−１に転送され、ＦＦ回路４７−０は３番目のシリアルデータ“Ｃ”を保持する。
【００７８】
Ｔ４において、同様にＦＦ回路４７−２に保持されるシリアルデータ“Ａ”がＭＵＸ４６−３を介してＦＦ回路４６−３に転送され、ＦＦ回路４７−１に保持されるシリアルデータ“Ｂ”がＭＵＸ４６−２を介してＦＦ回路４７−２に転送され、ＦＦ回路４７−０に保持されるシリアルデータ“Ｃ”がＭＵＸ４６−１を介してＦＦ回路４７−１に転送され、ＦＦ回路４７−０は４番目のシリアルデータ“Ｄ”を保持する。このとき、ＩＳＥＬ＜１：０＞信号に“２’ｂ００”が入力されてデータ転送が終了し、ＳＴＯＲＥ信号がアサートされる。
【００７９】
Ｔ５において、ラッチ回路３４から“１”が出力されると、ＡＮＤ回路３６は遅延回路３１から出力される遅延したＣＬＫ信号と同じタイミングのパルスを出力する。このとき、インバータ３９は“０”を出力し、ワード線ＷＷＬに電流が流れる。また、ライトドライバ４８−０〜４８−３がオンとなって、ＦＦ回路４７−０〜４７−３に保持されるデータに応じた方向の電流がビット線ＭＢＬ０〜３に流れ、２軸性の磁界によりＴＭＲ素子４０−０〜４０−３および４１−０〜４１−３のそれぞれに相補データが書き込まれる。
【００８０】
図１４は、入力データをパラレル転送して不揮発レジスタ２１に書き込むときの動作を説明するためのタイミングチャートである。まず、ＣＳＣ信号が“０”となってアサートされる。
【００８１】
Ｔ１において、ラッチ回路３２から“１”が出力されると、ＡＮＤ回路５０はＣＬＫ信号と同じタイミングのパルスを出力する。このとき、ＭＵＸ４６−０〜４６−３がＦＦ回路４７−０〜４７−３が保持するデータを選択して出力するため、ＦＦ回路４７−０〜４７−３は再度同じデータを保持する。
【００８２】
Ｔ２において、ＩＳＥＬ＜１：０＞信号にパラレルデータ転送であることを示す“２’ｂ０１”が入力され、Ｄ＜３：０＞信号にパラレルデータ“Ａ”が入力されているため、ＦＦ回路４７−０〜４７−３はＭＵＸ４６−０〜４６−３を介してパラレルデータ“Ａ”を保持してＲ＜３：０＞に出力する。
【００８３】
Ｔ３において、ＩＳＥＬ＜１：０＞信号に“２’ｂ００”が入力されてＦＦのデータは保持モードにして、ＳＴＯＲＥ信号をアサートしてＦＦに保持したデータをＭＲＡＭに書き込む。ラッチ回路３４から“１”が出力されると、ＡＮＤ回路３６は遅延回路３１から出力される遅延したＣＬＫ信号と同じタイミングのパルスを出力する。このとき、インバータ３９は“０”を出力し、ワード線ＷＷＬに電流が流れる。また、ライトドライバ４８−０〜４８−３がオンとなって、ＦＦ回路４７−０〜４７−３に保持されるデータに応じた方向の電流がビット線ＭＢＬ０〜３に流れ、２軸性の磁界によりＴＭＲ素子４０−０〜４０−３および４１−０〜４１−３のそれぞれに相補データが書き込まれる。
【００８４】
図１５は、不揮発レジスタ２１のＭＲＡＭ素子に保持されるデータを読み出すときの動作を説明するためのタイミングチャートである。まず、ＣＳＣ信号が“０”となってアサートされ、ＲＥＣＡＬＬ信号に“１”が入力される。
【００８５】
Ｔ１において、ラッチ回路３２から“１”が出力されると、ＡＮＤ回路５０はＣＬＫ信号と同じタイミングのパルスを出力する。また、ラッチ回路３３から“１”が出力されるため、ＡＮＤ回路３５は遅延回路３１から出力される遅延したＣＬＫ信号と同じタイミングのパルスを内部信号であるＲＷＬに出力する。このとき、選択トランジスタ４２−０〜４２−３および４１−０〜４１−３がオンとなり、ＴＭＲ素子４０−０〜４０−３および４１−０〜４１−３に電流が流れ、ＴＭＲ素子の磁気抵抗に応じた電圧値がセンスアンプ４４−０〜４４−３に入力される。
【００８６】
また、ＡＮＤ回路３７は、ＣＬＫ信号の立ち下がりで遅延回路３１の遅延時間に相当する幅のパルスを内部信号であるＳＡＥに出力する。このとき、ラッチ４５−０〜４５−３は、センスアンプ４４−０〜４４−３によって増幅された電位差に応じたデータを保持し、ＬＤ＜３：０＞としてＭＵＸ４６−０〜４６−３に出力する。このとき、ＩＳＥＬ＜１：０＞信号にデータ読み出しであることを示す“２’ｂ１１”が入力される。
【００８７】
Ｔ２において、ＡＮＤ回路５０はＣＬＫ信号と同じタイミングのパルスを出力するため、ＦＦ回路４７−０〜４７−３は、ＭＵＸ４６−０〜４６−３から出力されるＬＤ＜０＞〜ＬＤ＜３＞を取り込み、Ｒ＜０＞〜Ｒ＜３＞に出力する。
【００８８】
本実施の形態によれば、ＰＰＳＷ１３の不揮発レジスタ２１をＭＲＡＭおよびＦＦ回路によって構成するようにしたので、電源投入後に高速にＭＲＡＭのプログラミング情報を読み出すことができ、各モジュールの電源設定を高速に行なうことが可能となった。また、半導体装置の電源を完全にオフした状態でもプログラミング情報を保持することができる。
【００８９】
また、ＰＰＳＷ１３が分散配置に適した小規模不揮発レジスタによって構成されるため、半導体装置の回路オーバヘッドを削減でき、半導体装置のチップ面積を小さくすることが可能となった。
【００９０】
（第３の実施の形態）
本実施の形態における半導体装置においては、ＰＰＳＷの不揮発レジスタ２１をコンテキストメモリで構成する点のみが第１の実施の形態と異なる。したがって、第１の実施の形態における半導体装置１と重複する構成および機能の詳細な説明は繰り返さない。
【００９１】
図１６は、本発明の第３の実施の形態におけるＰＰＳＷの構成例を示す図である。このＰＰＳＷ６０は、コンテキストメモリ５１と、ＤＥＣ２２と、ＰチャネルＭＯＳトランジスタ２３〜２５と、ＮチャネルＭＯＳトランジスタ２６とを含む。
【００９２】
コンテキストメモリ５１は、電源制御モードに対応した複数のプログラミング情報を記憶しており、外部から入力されるモード信号をアドレスとして入力することにより、電源制御モードに対応したプログラミング情報をＤＥＣ２２に出力する。したがって、外部からモードを指定するだけで電源電圧の制御が行なえる。以下、このＰＰＳＷを特にマルチコンテキスト型ＰＰＳＷとも呼ぶことにする。
【００９３】
たとえば、図１０（ａ）に示す電源階層構成の場合、モジュールＡ〜Ｉのそれぞれに接続されるＰＰＳＷのコンテキストメモリには以下のようなプログラミング情報が記憶される。すなわち、モジュールＡに対応するコンテキストメモリのモード１に対応する領域には電源がオンとなる（電源電圧を選択する）プログラミング情報が記憶され、それ以外のモジュールＢ〜Ｉに対応するコンテキストメモリのモード１に対応する領域には電源がオフとなるプログラミング情報が記憶される。
【００９４】
また、モジュールＡ、Ｂ、Ｃ、ＥおよびＩに対応するコンテキストメモリのモード２に対応する領域には電源がオンとなる（電源電圧を選択する）プログラミング情報が記憶され、それ以外のモジュールＤ、Ｆ、ＧおよびＨに対応するコンテキストメモリのモード２に対応する領域には電源がオフとなるプログラミング情報が記憶される。
【００９５】
また、モジュールＡ、Ｂ、Ｃ、Ｅ、Ｆ、ＨおよびＩに対応するコンテキストメモリのモード３に対応する領域には電源がオンとなる（電源電圧を選択する）プログラミング情報が記憶され、それ以外のモジュールＤおよびＧに対応するコンテキストメモリのモード３に対応する領域には電源がオフとなるプログラミング情報が記憶される。
【００９６】
上記のような複数のモードに応じて電源を制御する場合、第２の実施の形態では単一のモードに対する制御情報を保持しているだけであるので、モードの変更に応じて制御情報の書き換えが必要となる。一方、本実施の形態では同時にコンテキストメモリ５１にアドレスに応じて複数のモードの情報を保持しているため、外部から入力されるモード信号をアドレスとして入力するだけで高速にモードの変更が可能となる。ここで、モード信号は、モード変更を設定するＣＰＵを内部に配置することで、半導体装置内部からの信号としてもよい。このように、各モジュールに接続されるＰＰＳＷのコンテキストメモリにプログラミング情報を記憶させることにより、外部からモード信号を設定するだけでそのモードに対応した電源管理を行なうことができる。
【００９７】
図１７は、図１６に示すマルチコンテキスト型ＰＰＳＷを適用したプログラマブル電源システムの構成例を示す図である。図１７においては、ＤＣ／ＤＣコンバータ１１が４つのブロック１〜４（６１−１〜６１−４）に電源電圧を供給する場合を示しており、ＰＰＳＷ１〜４（６０−１〜６−４）のそれぞれがブロック１〜４（６１−１〜６１−４）に接続されている。
【００９８】
ＰＰＳＷ１〜４（６０−１〜６０−４）のそれぞれのコンテキストメモリには、各モードに対応する電源制御情報が書き込まれる。そして、外部からのモード信号によって各ブロックの電源電圧を制御する。同一モードであっても、コンテキストメモリごとに電源制御情報を変えることで、各ブロックの動作や動作マージンに応じた電源電圧を供給することができる。
【００９９】
なお、コンテキストメモリを、フラッシュメモリ、ＥＥＰＲＯＭ、ＭＲＡＭ、ＦｅＲＡＭ、ＲｅＲＡＭ、相変化メモリなどの不揮発メモリとすることにより、半導体装置１の電源が完全にオフとなった場合でも、プログラミング情報を保持することができ、電源投入後のデータ転送も不要となる。
【０１００】
以上説明したように、本実施の形態における半導体装置によれば、不揮発レジスタをコンテキストメモリによって構成するようにしたので、コンテキストメモリに複数の電源制御モードに対応したプログラミング情報を設定することにより、モードを設定するだけで電源電圧を制御することができ、高速に電源電圧を切り替えることが可能となった。
【０１０１】
（第４の実施の形態）
図１８は、本発明の第４の実施の形態における半導体装置の構成例を示す図である。本実施の形態における半導体装置１は、図８に示す第１の実施の形態における半導体装置と比較して、スペアメモリ１５−Ｓおよびそれに接続されるＰＰＳＷ１３−Ｓが追加され、さらにマルチプレクサ（ＭＵＸ）２０−０〜２０−Ｎが追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、図１８には記載していないが、メモリ２〜Ｎ（１５−２〜１５−Ｎ）に対応してＭＵＸ２０−２〜２０−Ｎも設けられているものとする。
【０１０２】
ＭＵＸ２０−０は、メモリ０（１５−０）からの信号群およびスペアメモリ１５−Ｓからの信号群のいずれかを選択的にデータパス１７に接続する。同様に、ＭＵＸ２０−１は、メモリ１（１５−１）からの信号群およびスペアメモリ１５−Ｓからの信号群のいずれかを選択的にデータパス１７に接続する。
【０１０３】
スペアメモリ１５−Ｓは予備用のメモリとして設けられており、通常動作時にはメモリ０〜Ｎ（１５−０〜１５−Ｎ）がデータパス１７に接続されるようにＭＵＸ２０−０〜２０−Ｎが設定されており、スペアメモリ１５−Ｓは用いられていない。たとえば、メモリ０（１５−０）の動作不具合が検出された場合には、メモリ０（１５−０）がデータパス１７から切り離され、スペアメモリ１５−Ｓがデータパス１７に接続されるようにＭＵＸ２０−０が切替えられる。そして、メモリ０（１５−０）の代わりとして、スペアメモリ１５−Ｓが用いられる。
【０１０４】
図１９は、図１８に示す半導体装置１の自己修復動作を説明するためのフローチャートである。なお、この処理は、半導体装置１内のプログラマバブル機能モジュールをプログラミングして実現するようにしてもよいし、予め半導体装置１内にこのような処理を実行するモジュールを設けるようにしてもよい。
【０１０５】
まず、半導体装置１の電源が投入されると、半導体装置１は自己テストモードに移行する（Ｓ１）。そして、ＤＣ／ＤＣコンバータ１１やＰＰＳＷ１３−０〜１３−Ｎをプログラミングすることによりメモリ０〜Ｎ（１５−０〜１５−Ｎ）などの電源電圧の設定を行なう（Ｓ２）。
【０１０６】
次に、ＢＩＳＴ（Built-In Self-Test）回路などを用いてメモリ０〜Ｎ（１５−０〜１５−Ｎ）のテストを行なう（Ｓ３）。そして、メモリテストの結果を判定する（Ｓ４）。メモリ０〜Ｎ（１５−０〜１５−Ｎ）の動作が正常であれば（Ｓ４，Ｐａｓｓ）、半導体装置１は自己テストモードを終了して待機状態（Ｒｅａｄｙ）となる。
【０１０７】
また、メモリ０〜Ｎ（１５−０〜１５−Ｎ）のいずれかの動作が不良であれば（Ｓ４，Ｆａｉｌ）、外部に警告（Ｗａｒｎｉｎｇ）を出力すると共に、テスト結果であるフェイルビットマップ、モニタ情報などを参照して、テスト結果の解析を行なう（Ｓ５）。そして、エラーを回避することが可能か否かを判定する（Ｓ６）。なお、外部に警告を出力するのは、電源電圧変更などでメモリ救済を行なった場合には、動作マージンが少なくなっており、それを通知するためである。
【０１０８】
電源電圧の変更によりエラー回避が可能であると判定されると（Ｓ６，（１））、ステップＳ２に戻って電源電圧の変更を行ない、それ以降の処理を再度行なう。このエラー回避が可能か否かの判定は、電源電圧を変更して上げることが可能か否かを判定することによって行なわれる。
【０１０９】
また、電源電圧変更による救済ができない場合であって、フェイルビットマップを参照することにより同一メモリ内の冗長メモリ救済が可能であると判定されると（Ｓ６，（２））、冗長Ｒｏｗ／Ｃｏｌｕｍｎを用いることによりエラーが発生している領域の救済を行ない（Ｓ７）、ステップＳ２に戻って以降の処理を行なう。
【０１１０】
さらに、同一メモリ内の冗長メモリ救済ができない場合であって、スペアメモリ１５−Ｓが使用されていない場合には（Ｓ６，（２））、ＭＵＸを切替えることによって不良メモリをデータパス１７から切り離してスペアメモリ１５−Ｓに置換し（Ｓ８）、ステップＳ２に戻って以降の処理を行なう。このとき、不良メモリは電源から切り離すようにＰＰＳＷも制御する。
【０１１１】
また、電源電圧の変更、同一メモリ内の冗長メモリ救済およびメモリ置換のいずれも行なえない場合には（Ｓ６，（３））、外部にエラーを出力して処理を終了する。
【０１１２】
以上説明したように、本実施の形態における半導体装置１によれば、メモリ０〜Ｎ（１５−０〜１５−Ｎ）においてフィールドにおける動作不良が発生した場合、ＢＩＳＴなどのセルフテスト結果や内部モニタなどから、フィールドで経年劣化に伴うしきい値シフトなどにより動作マージンが不足して動作不具合が発生していることを検出した場合でも、電源電圧を上昇させることによって動作マージンを確保することが可能となった。
【０１１３】
また、メモリセル破壊や断線などによってハードエラーが発生した場合でも同一メモリ内の冗長メモリ救済、スペアメモリによる救済によって自律的にシステムエラーを回避することが可能となった。また、ＤＣ不良が検出されたメモリについては、完全に電源から切り離すことによりリーク電流が増加するのを防止することが可能となった。
【０１１４】
また、メモリの電源電圧をフィールドで変更することができるため、ＢＩＳＴとの連携により自己マージンテストができ、半導体装置１内のフィールドにおける加速試験を実施することが可能となった。このように、プログラマブル電源システムをベースとするシステムによって、半導体装置１内のメモリのフィールドにおける耐故障性能を向上させることができ、機能安全を実現することが可能となった。
【０１１５】
（第５の実施の形態）
図２０は、本発明の第５の実施の形態における半導体装置の構成例を示す図である。本実施の形態における半導体装置１は、図１８に示す第４の実施の形態における半導体装置と比較して、制御回路１８と、ＰＰＳＷ１３−０〜１３−Ｓに対応して配置されるモニタ回路１９−０〜１９−Ｓとが追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。
【０１１６】
モニタ回路１９−０〜１９−Ｓはそれぞれ、ＰＰＳＷ１３−０〜１３−Ｓの電源電圧をモニタし、検出した電源電圧値を制御回路１８に出力する。このモニタ回路は、たとえば、文献（M. Nagata, T. Okumoto, K. Taki, "A Built-in Technique for Probing Power Supply and Ground Noise Distribution within Large-Scale Digital Integrated Circuits" IEEE J. Solid-State Circuits, vol. 40, no. 4, pp. 813-819, Apr., 2005.）などに開示されている公知技術が用いられる。
【０１１７】
制御部１８は、モニタ回路１９−０〜１９−Ｓから受けた電圧値に基づいて、ＤＣ／ＤＣコンバータ１１またはＰＰＳＷ１３−０〜１３−Ｓを制御する。たとえば、あるアプリケーションの動作中に、動作領域の偏りによってＰＰＳＷ１３−０〜１３−Ｓから供給される電源電圧に電源電圧降下（ＩＲドロップ）が起こり、動作が不安定になる状態が発生した場合、モニタ回路１９−０〜１９−Ｓから受けた電源電圧値を参照して、電源電圧降下が発生しているブロックの電圧を少し高くするようにＤＣ／ＤＣコンバータ１１またはＰＰＳＷ１３−０〜１３−Ｓを制御する。これによって、半導体装置１の動作を安定化することができる。
【０１１８】
このような動作によって、チップ製造後に、制御部１８がモニタ回路１９−０〜１９−Ｓからの電源電圧値を参照しながら電源インピーダンスを最適化することにより、プロセスによるばらつきにも対応することができる。
【０１１９】
以上説明したように、本実施の形態における半導体装置１によれば、制御部１８がモニタ回路１９−０〜１９−Ｓからの電源電圧値を参照し、ＤＣ／ＤＣコンバータ１１またはＰＰＳＷ１３−０〜１３−Ｓを制御するようにしたので、電源電圧が降下しているブロックの電源電圧を上げることができ、半導体装置１を安定に動作させることが可能となった。
【０１２０】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２１】
【図１】パワーゲーティング機能を搭載した携帯電話用のベースバンド・アプリケーションプロセッサ統合チップの一例を示す図である。
【図２】図１に示す携帯電話用のベースバンド・アプリケーションプロセッサ統合チップ内の各電源ドメインの管理状態を示すツリー図である。
【図３】システム稼動時におけるベースバンド・アプリケーションプロセッサ統合チップの各モジュールの電源遮断の一例を示す図である。
【図４】ＣＰＤの構成例を示す図である。
【図５】半導体チップにおけるＣＰＤの物理的配置例を示す図である。
【図６】階層電源レイアウトの一例を示す図である。
【図７】本発明の第１の実施の形態における半導体装置で使用されるプログラマブル電源システムの構成例を示す図である。
【図８】図７に示すプログラマブル電源システムが適用される半導体装置の構成例を示す図である。
【図９】図８に示す半導体装置１の物理的なレイアウトの構成例を示す図である。
【図１０】図９に示す半導体装置１の各電源ドメインの管理状態を示すツリー図である。
【図１１】ＰＰＳＷの内部構成の一例を示す図である。
【図１２】不揮発レジスタ２１の内部構成の一例を示す図である。
【図１３】入力データをシリアル転送して不揮発レジスタ２１に書き込むときの動作を説明するためのタイミングチャートである。
【図１４】入力データをパラレル転送して不揮発レジスタ２１に書き込むときの動作を説明するためのタイミングチャートである。
【図１５】不揮発レジスタ２１のＭＲＡＭ素子に保持されるデータを読み出すときの動作を説明するためのタイミングチャートである。
【図１６】本発明の第２の実施の形態におけるＰＰＳＷの構成例を示す図である。
【図１７】図１６に示すマルチコンテキスト型ＰＰＳＷを適用したプログラマブル電源システムの構成例を示す図である。
【図１８】本発明の第４の実施の形態における半導体装置の構成例を示す図である。
【図１９】図１８に示す半導体装置１の自己修復動作を説明するためのフローチャートである。
【図２０】本発明の第５の実施の形態における半導体装置の構成例を示す図である。
【符号の説明】
【０１２２】
１  半導体装置、１１  ＤＣ／ＤＣコンバータ、１２，１３−０〜１３−Ｎ，１３Ａ，１３−Ｓ，６０，６０−１〜６０−４  ＰＰＳＷ、１４  機能モジュール、１５−０〜１５−Ｎ，１５−Ｓ  メモリ、１６−０〜１６−Ｍ  ロジック、１７  データパス、１８  制御回路、１９−０〜１９−Ｓ  モニタ回路、２０−１〜２０−Ｎ  ＭＵＸ、２１  不揮発レジスタ、２２  ＤＥＣ、２３〜２５，７５，７６  ＰチャネルＭＯＳトランジスタ、２６，７３，７４，７７，７８  ＮチャネルＭＯＳトランジスタ、２７  ＣＰＤ、３０  制御部、３１  遅延回路、３２〜３４  ラッチ回路、３５〜３７，５０  ＡＮＤ回路、３８  ＯＲ回路、３９  インバータ、４０−０〜４０−３，４１−０〜４１−３  ＴＭＲ素子、４２−０〜４２−３，４３−０〜４３−３  選択トランジスタ、４４−０〜４４−３  センスアンプ、４５−０〜４５−３  ラッチ回路、４６−０〜４６−３  ＭＵＸ、４７−０〜４７−３  ＦＦ回路、４８−０〜４８−３，４９−０〜４９−３  ライトドライバ、５１  コンテキストメモリ、６１−１〜６１−４  ブロック、７１，７２  不揮発メモリ。
【図１】
2010103362.tif 000003
【図２】
2010103362.tif 000004
【図３】
2010103362.tif 000005
【図４】
2010103362.tif 000006
【図５】
2010103362.tif 000007
【図６】
2010103362.tif 000008
【図７】
2010103362.tif 000009
【図８】
2010103362.tif 000010
【図９】
2010103362.tif 000011
【図１０】
2010103362.tif 000012
【図１１】
2010103362.tif 000013
【図１２】
2010103362.tif 000014
【図１３】
2010103362.tif 000015
【図１４】
2010103362.tif 000016
【図１５】
2010103362.tif 000017
【図１６】
2010103362.tif 000018
【図１７】
2010103362.tif 000019
【図１８】
2010103362.tif 000020
【図１９】
2010103362.tif 000021
【図２０】
2010103362.tif 000022