近年、LSI等の半導体装置では低消費電力化の要求が強くなり、内部に電源遮断機能(電源スイッチ)を搭載する半導体装置が採用されるケースが増加してきている。半導体装置の回路ブロック毎にその使用状況(使用の有無)に応じ、使用していない回路ブロックへの電源供給を遮断することで更なる低消費電力化を図る、いわゆるパワーゲーティング(Power Gating)技術である。
パワーゲーティング技術の概要について、図8を参照して説明する。図8(A)、(B)は、パワーゲーティング技術を適用した半導体装置の一例を示す図である。図8(A)、(B)において、A〜Fは回路ブロックであり、この回路ブロックA〜F毎に電源スイッチが設けられ電源供給が制御される。また、PMU(Power Management Unit)は、半導体装置における電源管理を行う、言い換えれば回路ブロックA〜Fのそれぞれに対する電源供給を管理する電源管理ユニットである。電源管理ユニットPMUは、常に電源が供給されている。
例えば、図8(A)に示すようにフル稼働時には、電源管理ユニットPMUは、すべての回路ブロックに対して電源が供給されるよう電源スイッチを制御する。それに対して、図8(B)に示すように機能停止し状態保持を行う時には、電源管理ユニットPMUは、回路ブロックA〜Fのうち、状態保持するために動作させておく必要がある回路ブロックDだけに電源が供給されるよう電源スイッチを制御する。すなわち、回路ブロックD以外の回路ブロックA、B、C、E、Fについては電源スイッチをオフ状態に制御して、それら回路ブロックへの電源供給を遮断する。
パワーゲーティング技術を用いて機能停止させる回路ブロックへの電源供給を遮断することで、その回路ブロック内の回路にて発生するリーク電流が大幅に低減され、消費電力が低減される(図8(C)参照)。図8(C)において、T81がパワーゲーティング期間(回路ブロックへの電源供給を遮断している期間)であり、T82が機能停止状態(電源遮断状態)から動作状態に移行するときの起動期間である。パワーゲーティング技術は、消費電力の更なる低減を図れることから、特に待機時における消費電力の削減要求が厳しい通信用などの携帯機器では必須の技術になりつつある。
ここで、パワーゲーティング技術を半導体装置に用いた場合に考慮すべき問題の1つとして、電源ノイズに係る問題が挙げられる。この電源ノイズに係る問題について図9を参照して説明する。図9(A)において、90は半導体装置、91は電源管理ユニット(PMU)、92は回路ブロックA(CBLA)、93は回路ブロックB(CBLB)である。また、CAは回路ブロックA92の安定化容量、CBは回路ブロックB93の安定化容量である。
回路ブロックA92及び安定化容量CAは、電源電位VDDVAを供給するVDDVA電源線と基準電位(例えばグランド電位)VSSを供給するVSS電源線との間に接続される。また、VDDVA電源線と電源電位VDDを供給するVDD電源線とが、電源スイッチPSWAを介して接続される。VDD電源線及びVSS電源線は、それぞれ外部から電源電位VDD及び基準電位VSSが常時印加されている。電源スイッチPSWAは、電源管理ユニット91からの制御信号PGAによりオン/オフ制御され、電源スイッチPSWAがオンのときに回路ブロックA92へ電源が供給され、電源スイッチPSWAがオフのときに回路ブロックA92への電源供給が遮断される。
同様に、回路ブロックB93及び安定化容量CBは、電源電位VDDVBを供給するVDDVB電源線とVSS電源線との間に接続される。VDDVB電源線とVDD電源線とが、電源スイッチPSWBを介して接続される。電源スイッチPSWBは、電源管理ユニット91からの制御信号PGBによりオン/オフ制御され、電源スイッチPSWBがオンのときに回路ブロックB93へ電源が供給され、電源スイッチPSWBがオフのときに回路ブロックB93への電源供給が遮断される。
パワーゲーティング技術を適用した半導体装置において電源供給が遮断されている回路ブロックを再び使用する(動作させる)場合には、その回路ブロックに電源供給を行うために電源スイッチをオフ状態からオン状態にする必要がある。例えば、図9(A)に示した半導体装置90において、回路ブロックB93が電源供給されている動作状態で、電源供給が遮断されている回路ブロックA92を再び動作させるとする。このとき、電源管理ユニット91からの制御信号PGAにより電源スイッチPSWAはオン状態にされるが、電源スイッチPSWAがオンする瞬間に回路ブロックA92の安定化容量CA等を充電するための突入電流(rush current)が流れる。この突入電流は電源電位の変動(電源ノイズ)を発生させ、その電源ノイズにより、例えばVDD電源線及びVSS電源線間の電位差PV、言い換えれば半導体装置90内で動作している回路に供給される電源電圧が低下する(図9(B)参照)。このように電源スイッチがオンするときに突入電流が流れることで発生した電源ノイズが周辺回路へ伝播し、動作中の電源管理ユニット91や回路ブロックB93が誤動作するおそれがある。
電源スイッチをオン状態にするときに発生する電源ノイズを抑制する方法として、1つの電源スイッチを複数の小さいサイズのスイッチで構成し、タイミングを異ならせて各スイッチをオン状態にすることで突入電流を抑制する方法が提案されている(例えば、特許文献1参照)。図10(A)に、電源スイッチを複数の小さいサイズの電源スイッチに分割して構成した半導体装置の構成例を示す。
図10(A)において、100は半導体装置、101は電源管理ユニット(PMU)、102は回路ブロックA(CBLA)、CAは回路ブロックA102の安定化容量である。なお、半導体装置100は、図示した回路ブロックに限らず、それぞれ独立して電源供給を遮断させることが可能な複数の回路ブロックを有しているが、説明の便宜上、回路ブロックA以外については省略している。
回路ブロックA102及び安定化容量CAは、電源電位VDDVAを供給するVDDVA電源線と基準電位VSSを供給するVSS電源線との間に接続される。VDDVA電源線と電源電位VDDを供給するVDD電源線との間に、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3、・・・が並列接続されている。VDD電源線及びVSS電源線は、それぞれ外部から電源電位VDD及び基準電位VSSが常時印加されている。
電源スイッチPSWA0、PSWA1、PSWA2、PSWA3、・・・は、各々が小さいサイズのものであり、1つの電源スイッチをオン状態にさせたときに発生する電源ノイズが周辺回路の誤動作を引き起こすレベルに達するような電流は流れない。しかし、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3、・・・がすべてオン状態となることで、最終的に回路ブロックAの消費電流を供給できるだけのサイズは有している。なお、電源スイッチは、回路構成(負荷や安定化容量の大きさなど)に応じた数の電源スイッチが設けられるが、以下の説明では、4つの電源スイッチPSWA0、PSWA1、PSWA2、PSWA3を有するものとして説明する。
電源スイッチPSWA0、PSWA1、PSWA2、PSWA3は、それぞれ制御信号PGA0、PGA1、PGA2、PGA3によりオン/オフ制御される。制御信号PGA0は、電源管理ユニット101から出力される。制御信号PGA1は、制御信号PGA0と遅延バッファDB1により所定時間遅延された制御信号PGA0とを論理積演算した演算結果として論理積演算回路(OR回路)103−1より出力される。また、制御信号PGA2は、制御信号PGA0と遅延バッファDB2により所定時間遅延された制御信号PGA1とを論理積演算した演算結果としてOR回路103−2より出力される。制御信号PGA3は、制御信号PGA0と遅延バッファDB3により所定時間遅延された制御信号PGA2とを論理積演算した演算結果としてOR回路103−3より出力される。
図10(B)に示すように、回路ブロックA102を停止させているときには、制御信号PGA0〜PGA3はハイレベル(“H”)であり、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3はすべてオフ状態にされる。すなわち、回路ブロックA102への電源供給が遮断されており、このとき、電源電位VDDVAは0V付近まで下がっている。
電源供給が遮断されている回路ブロックA102を再び動作させるとき、電源管理ユニット101は、制御信号PGA0をローレベル(“L”)にアサートする。制御信号PGA0が“L”にアサートされることで電源スイッチPSWA0がオン状態になり、電源スイッチPSWA0を介して回路ブロックA102の安定化容量CAに電流が流れて充電が開始され、電源電位VDDVAが上昇していく。
そして、“L”にアサートされた制御信号PGA0が遅延バッファDB1で遅延されてOR回路103−1に入力されると、制御信号PGA1が“L”にアサートされる。また、“L”にアサートされた制御信号PGA1が遅延バッファDB2で遅延されてOR回路103−2に入力されると、制御信号PGA2が“L”にアサートされる。さらに、“L”にアサートされた制御信号PGA2が遅延バッファDB3で遅延されてOR回路103−3に入力されると、制御信号PGA3が“L”にアサートされる。
制御信号PGA1、PGA2、PGA3が順次“L”にアサートされることで、電源スイッチPSWA1、PSWA2、PSWA3が順にオン状態になり、電源電位VDDVAが電源電位VDDに向かって段階的に上昇していく。そして、回路ブロックAが動作可能な電位に電源電位VDDVAが達すると、回路ブロックAは動作を開始し動作状態になる。なお、動作している回路ブロックAを停止させるときには、電源管理ユニット101が制御信号PGA0を“H”にディアサートすることで、制御信号PGA0〜PGA3が同じタイミングで“H”にディアサートされ、回路ブロックAへの電源供給を遮断する。
このように図10に示した半導体装置では、1つの電源スイッチを複数の小さいサイズに分割して多数のスイッチで構成する。さらに、1つのスイッチがオンしたときの突入電流が十分に小さくなる(収束する)時間を見計らうための遅延手段である遅延バッファを付加して次のスイッチをオンさせる。そして、電源ノイズが重畳しない(電位差PVが所定値より小さくならない)ように各スイッチをオンさせる動作を繰り返していき、最終的に回路ブロックの消費電流を供給するのに必要なサイズ分のスイッチをすべてオンさせることで動作を完了する。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における半導体装置の一例を示す図である。本実施形態における半導体装置は、複数の回路ブロックを有し回路ブロック単位で電源供給を制御することが可能な半導体装置である。また、回路ブロックへの電源供給を制御するための電源スイッチとして複数の小さいサイズの電源スイッチで構成した電源スイッチを有し、小さいサイズの電源スイッチを、タイミングを異ならせてオン状態にすることで突入電流による電源ノイズの発生を抑制する。
図1(A)は、本実施形態における半導体装置の構成例を示す図である。図1(A)において、10は半導体装置、11は電源管理ユニット(PMU)、12は電源供給を遮断可能な回路ブロックA(CBLA)、CAは回路ブロックA12の安定化容量、13は遅延生成器(DLG)である。なお、半導体装置10は、図示した回路ブロックに限らず複数の電源供給を遮断可能な回路ブロックを有している。
電源管理ユニット11は、半導体装置10における電源管理を行う。電源管理ユニット11は、常に電源が供給されており、半導体装置10が有する回路ブロックのそれぞれに対する電源供給を管理する。電源管理ユニット11は、電源スイッチをオン状態に制御することで当該電源スイッチに対応する回路ブロックに電源を供給したり、電源スイッチをオフ状態に制御することで当該電源スイッチに対応する回路ブロックへの電源供給を遮断したりする。
回路ブロックA12及び安定化容量CAは、電源電位VDDVAを供給する電源線(VDDVA電源線)と基準電位VSSを供給する電源線(VSS電源線)との間に接続される。VDDVA電源線と電源電位VDDを供給する電源線(VDD電源線)との間に、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3が並列接続されている。電源スイッチPSWA0、PSWA1、PSWA2、PSWA3は、例えばトランジスタ(図示した例ではPチャネルトランジスタ)である。VDD電源線及びVSS電源線は、それぞれ外部から電源電位VDD及び基準電位VSSが常時印加されている。なお、図1(A)には、回路ブロックA12への電源供給を制御するための電源スイッチとして、4つの電源スイッチPSWA0〜PSWA3を設けた例を示しているが、これに限定されるものではなく、回路構成等に応じた数の電源スイッチが設けられる。
電源スイッチPSWA0、PSWA1、PSWA2、PSWA3は、各々が小さいサイズのものであり、1つの電源スイッチをオン状態にさせたときに発生する電源ノイズが周辺回路の誤動作を引き起こすレベルに達するような電流は流れない。電源スイッチPSWA0〜PSWA3がすべてオン状態となることで、最終的に回路ブロックAの消費電流を供給できるだけのサイズは有している。
電源スイッチPSWA0、PSWA1、PSWA2、PSWA3は、それぞれ制御信号GA0、GA1、GA2、GA3によりオン/オフ制御される。制御信号GA0は、電源管理ユニット11から出力される信号である。制御信号GA1は、制御信号GA0と遅延信号DSA1とを論理積演算回路(OR回路)14−1で論理積演算して得られる信号である。制御信号GA2は、制御信号GA0と遅延信号DSA2とをOR回路14−2で論理積演算して得られる信号である。制御信号GA3は、制御信号GA0と遅延信号DSA3とをOR回路14−3で論理積演算して得られる信号である。
遅延生成器13は、電源スイッチPSWA0〜PSWA3により電源供給が制御される回路ブロックAに供給されるのと同じ電源電位VDDVAで動作し、遅延信号DSA1、DSA2、DSA3を出力する。遅延信号DSA1〜DSA3は、遅延信号DSA1、DSA2、DSA3の順に遅延値が大きい。遅延生成器13は、遅延素子の電圧依存性を利用し、図1(B)に示すように電源電位VDDVAが低いときには遅延が長く、電源電位VDDVAが高くなるに伴い遅延が短くするよう遅延を生成する。
つまり、遅延生成器13は、電源電位VDDVAが電源電位VDDに向かって上昇していくとき、電源電位VDDVAの電位に応じて、遅延信号DSA1〜DSA3をハイレベル(“H”)からローレベル(“L”)にアサートする。例えば、遅延生成器13は、電源電位VDDVAが第1の電位に達すると遅延信号DSA1を“L”にし、第1の電位より高い第2の電位に達すると遅延信号DSA2を“L”にし、第2の電位より高い第3の電位に達すると遅延信号DSA3を“L”にする。
図1(A)に示す半導体装置において、電源供給が遮断されている回路ブロックA12に対して電源供給を開始するとき、電源管理ユニット11は、制御信号GA0を“L”にアサートする。これにより、初段の電源スイッチPSWA0がオン状態になり、電源スイッチPSWA0を介して回路ブロックA12の安定化容量CAに電流が流れて充電が開始され、電源電位VDDVAが上昇していく。
電源スイッチPSWA0がオン状態となってから間もない期間の電源電位VDDVAが低いとき、すなわちVDD電源線とVDDVA電源線との電位差が大きいときには、遅延生成器13は電源電位VDDVAが低いために長い遅延を生成する。そして、電源電位VDDVAが上昇してきて、電源電位VDDVAが高くなる、すなわちVDD電源線とVDDVA電源線との電位差が小さくなってくると、遅延生成器13は電源電位VDDVAが高くなってくるために短い遅延を生成するようになる。したがって、図1(C)に示すように、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3と順にオン状態とされるに従って電源電位VDDVAも上昇していくため、電源スイッチPSWA0〜PSWA3をオンする時間間隔は、後段側に進むにつれて(電源電位VDDVAの上昇に伴って)自動的に短くなっていく。
これにより、電源電位VDDVAが低い(VDD電源線とVDDVA電源線との電位差が大きい)ために電源スイッチを流れる電流が大きいときには、次の電源スイッチをオンする時間間隔が長く設定されることとなる。そして、電源電位VDDVAの上昇に伴ってVDD電源線とVDDVA電源線との電位差が小さくなり電源スイッチを流れる電流が小さくなってくると、次の電源スイッチをオンする時間間隔が自動的に短くなって設定されることとなる。したがって、動作中の回路を誤動作させるような電源ノイズを発生させずに、適切な起動時間で回路ブロックへの電源供給を行うことができる。また、従来のように大量の遅延バッファを設ける必要もないので、回路面積の増大を抑制することができる。
なお、回路ブロックA12への電源供給を遮断するときには、電源管理ユニット11が制御信号GA0を“H”にすることで、遅延生成器13からの遅延信号DSA1〜DSA3にかかわらず制御信号GA1〜GA3も“H”になる。したがって、電源スイッチPSWA0、PSWA1、PSWA2、PSWA3は、電源管理ユニット11からの制御信号GA0が“H”になることによって同じタイミングでオフ状態にされ、回路ブロックA12への電源供給が遮断される。
図2は、本実施形態における半導体装置の具体的な構成例を示す図である。
図2において、20は半導体装置、21は電源管理ユニット(PMU)、22は回路ブロックA(CBLA)、CAは回路ブロックA22の安定化容量である。23はリングオシレータ(ROSC)活性化部、24はリングオシレータ(ROSC)部、25はレベル変換部である。また、FFAi(iは添え字であり、i=1〜nの自然数、以下についても同様)は、リセット付きフリップフロップであり、PSWA0、PSWAiは、回路ブロックA12に対する電源供給を行うための電源スイッチである。なお、半導体装置20は、図示した回路ブロックに限らず複数の回路ブロックを有している。また、半導体装置20が有する回路ブロックは、回路ブロックを単位として電源供給が遮断可能である。
電源管理ユニット21は、常に電源電位VDDが供給され、半導体装置20における電源管理を行う。電源管理ユニット21は、電源スイッチをオン/オフ制御することで当該電源スイッチに対応する回路ブロックへの電源供給を制御し、半導体装置20が有する回路ブロックのそれぞれに対する電源供給を管理する。
回路ブロックA22及び安定化容量CAは、電源電位VDDVAを供給する電源線(VDDVA電源線)と基準電位VSSを供給する電源線(VSS電源線)との間に接続される。VDDVA電源線と電源電位VDDを供給する電源線(VDD電源線)との間に、電源スイッチPSWA0、PSWAiが並列接続されている。電源スイッチPSWA0、PSWAiは、例えばトランジスタ(図示した例ではPチャネルトランジスタ)である。VDD電源線及びVSS電源線は、それぞれ外部から電源電位VDD及び基準電位VSSが常時印加されている。
電源スイッチPSWA0、PSWAiは、各々が小さいサイズのものであり、1つの電源スイッチをオン状態にさせたときに発生する電源ノイズが周辺回路の誤動作を引き起こすレベルに達するような電流は流れない。電源スイッチPSWA0、PSWAiがすべてオン状態となることで、最終的に回路ブロックAの消費電流を供給できるだけのサイズは有している。
電源スイッチPSW0は、電源管理ユニット21から出力される制御信号GA0によりオン/オフ制御される。また、電源スイッチPSWiは、フリップフロップFFAiの出力Qが制御信号GAiとして供給され、その制御信号GAiによりオン/オフ制御される。
フリップフロップFFAiは、入力Dに制御信号GA(i−1)が入力され、リセット入力Rにリセット信号RST(制御信号GA0)が入力され、クロック入力に発振信号OSCが入力される。図5に、フリップフロップFFAiの真理値表を示す。フリップフロップFFAiは、リセット入力Rが“1”(“H”)の場合には、他の入力にかかわらず出力Qとして“1”(“H”)を出力する。また、フリップフロップFFAiは、リセット入力Rが“0”(“L”)でかつクロック入力が“0”→“1”(“L”→“H”)に変化するポジティブエッジ(Posedge)ときに、入力Dを出力Qとして出力する。なお、フリップフロップFFAiは、リセット入力Rが“0”(“L”)でかつクロック入力がポジティブエッジ(Posedge)でない場合には、出力Qを保持する。
ROSC活性化部23は、ROSC部24を活性化するためのものであり、活性を指示する(動作開始を指示する)信号をROSC部24及びレベル変換部25に出力する。ROSC部24は、例えばCMOSトランジスタを用いて構成したリングオシレータであり、回路ブロックA22に対して供給する電源電位VDDVAで動作する。レベル変換部25は、ROSC部24から出力される電源電位VDDVAのレベルの内部発振信号を、電源電位VDDのレベルの信号に変換し発振信号OSCとして出力する。これは、ROSC部24から出力される電源電位VDDVAのレベルの信号に基づいて、電源電位VDDのレベルの信号で動作する回路(フリップフロップFFAi)を制御するためである。図2に示す半導体装置では、ROSC活性化部23、ROSC部24、及びレベル変換部25により、図1に示した遅延生成器13に相当する機能が実現される。
図3は、図2に示したROSC活性化部23、ROSC部24、及びレベル変換部25の構成例を示す図である。
ROSC活性化部23は、PチャネルトランジスタQ11、Q13、NチャネルトランジスタQ12、Q14、抵抗R11、R12、及び容量C11を有する。ここで、少なくともPチャネルトランジスタQ11及びNチャネルトランジスタQ12は、ROSC部24内部に使用されているPチャネルトランジスタ及びNチャネルトランジスタと同じトランジスタを用いて構成される。
トランジスタQ11は、ソースがVDDVA電源線に接続され、ゲートがVSS電源線に接続され、ドレインが抵抗R11の一端に接続される。抵抗R11は、他端がVSS電源線に接続される。トランジスタQ11のドレインと抵抗R11の一端との接続点に、一方の電極がVSS電源線に接続された容量C11の他端、及びトランジスタQ12のゲートが接続される。トランジスタQ12は、ソースがVSS電源線に接続され、ドレインが抵抗R12の一端に接続される。抵抗R12は、他端がVDD電源線に接続される。トランジスタQ12のドレインと抵抗R12の一端との接続点に、トランジスタQ13、Q14のゲートが接続される。トランジスタQ13は、ソースがVDD電源線に接続され、ドレインがトランジスタQ14のドレインに接続される。トランジスタQ14のソースはVSS電源線に接続される。トランジスタQ13のドレインとトランジスタQ14のドレインとの接続点の電位が、スタート信号startとして出力される。
ROSC活性化部23において、VDDVA電源線より供給される電源電位VDDVAがトランジスタの閾値を超えるまでは、トランジスタQ12のドレインの電位noutはほぼ電源電位VDDとなる。したがって、ROSC活性化部23から出力されるスタート信号startは“L”(VSS)となる。
そして、VDDVA電源線より供給される電源電位VDDVAが上昇してトランジスタQ11の閾値を超えるとトランジスタQ11のドレインの電位poutが“H”(VDDVA)となる。さらに、電源電位VDDVAが上昇することで電位poutがトランジスタQ12の閾値を超えるとトランジスタQ12がオン状態となり、トランジスタQ12のドレインの電位noutが“L”(VSS)となる。したがって、ROSC活性化部23から出力されるスタート信号startは“L”(VSS)から“H”(VDD)に変化する。
以上のようにして、ROSC活性化部23は、VDDVA電源線より供給される電源電位VDDVAがROSC内部で使用されるトランジスタの閾値を超えているか否かを検知する。そして、ROSC活性化部23は、電源電位VDDVAがトランジスタの閾値を超えている場合にはスタート信号startを“H”(VDD)とし、電源電位VDDVAがトランジスタの閾値を超えていない場合にはスタート信号startを“L”(VSS)とする。
ROSC部24は、例えばCMOSトランジスタで構成されたインバータを複数有し、その複数のインバータが縦続接続されたインバータ群32と、ROSC部24の動作状態(活性や停止)を制御するための否定論理積(NAND)ゲート31を有する。ROSC部24が有するNANDゲート31及びインバータ群32内の複数のインバータは、VDDVA電源線より供給される電源電位VDDVAで動作する。
NANDゲート31には、ROSC活性化部23から出力されるスタート信号start、制御信号GAn、及びインバータ群32の第1の出力が入力され、その演算結果をインバータ群32の入力端に出力する。NANDゲート31及びインバータ群32によりリングオシレータが形成され、インバータ群32の第2の出力が内部発振信号oscpとして出力される。
ROSC部24は、ROSC活性化部23からのスタート信号startが“L”のとき発振動作を行わない。また、ROSC部24は、ROSC活性化部23からのスタート信号startが“H”かつ制御信号GAnが“H”のときには発振動作を行い、“L”を基準電位VSSとし、“H”を電源電位VDDVAとする内部発振信号oscpを出力する。そして、ROSC部24は、ROSC活性化部23からのスタート信号startが“H”であるが制御信号GAnが“L”となる(最も後段である電源スイッチPSWAnがオン、すなわち電源スイッチPSWA0〜PSWAnがすべてオン)と、発振動作を停止する。
ここで、ROSC部24におけるNANDゲート31及びインバータ群32内の複数のインバータは、VDDVA電源線より供給される電源電位VDDVAで動作している。そのため、ROSC部24は、図6に示すように、電源電位VDDVAが低いときには長い周期で発振し、電源電位VDDVAが高くなるに伴って短い周期で発振するようになる。すなわち、ROSC部24から出力される内部発振信号oscpは、電源電位VDDVAに応じた周期で発振された発振信号であり、電源電位VDDVAが低いと周期が長く、電源電位VDDVAが高いと周期が短い。
なお、最も後段である電源スイッチPSWAnがオン、すなわち電源スイッチPSWA0、PSWAiのすべてがオンとなってもROSC部24の発振動作を停止させない場合には、NANDゲート31に制御信号GAnを入力する必要はない。しかし、図3に示すようにして、最も後段である電源スイッチPSWAnがオンしたときにROSC部24の発振動作を停止させることで不要な発振動作を行うことを防ぎ、消費電力が増加することを防止することができる。
レベル変換部25は、PチャネルトランジスタQ15、Q17、Q19、Q22、NチャネルトランジスタQ16、Q18、Q20、Q21、及びインバータ33、34を有する。トランジスタQ15は、ソースがVDD電源線に接続され、ドレインがトランジスタQ16のドレインに接続される。トランジスタQ16は、ソースがVSS電源線に接続され、ゲートにROSC部24からの内部発振信号oscpが供給される。トランジスタQ17は、ソースがVDD電源線に接続され、ドレインがトランジスタQ18のドレインに接続される。トランジスタQ18は、ソースがVSS電源線に接続され、ゲートにROSC部24からの内部発振信号oscpがインバータ33を介して供給される。インバータ33は、VDDVA電源線より供給される電源電位VDDVAで動作する。トランジスタQ15及びQ16のドレインの接続点にトランジスタQ17のゲートが接続され、トランジスタQ17及びQ18のドレインの接続点にトランジスタQ15、Q19、Q20のゲートが接続される。
トランジスタQ19は、ソースがVDD電源線に接続され、ドレインがトランジスタQ20のドレインに接続される。トランジスタQ20は、ソースがトランジスタQ21のドレインに接続される。トランジスタQ21は、ソースがVSS電源線に接続され、ゲートにROSC活性化部23からのスタート信号startが供給される。トランジスタQ22は、ソースがVDD電源線に接続され、ゲートにROSC活性化部23からのスタート信号startが供給される。トランジスタQ19及びQ20のドレインの接続点、及びトランジスタQ22のドレインが、VDD電源線より供給される電源電位VDDで動作するインバータ34の入力端に接続され、インバータ34の出力が発振信号OSCとして出力される。
レベル変換部25は、ROSC活性化部23からのスタート信号startが“L”のときには、トランジスタQ22がオン状態となり、発振信号OSCを“L”(VSS)に固定する。そして、レベル変換部25は、ROSC活性化部23からのスタート信号startが“H”になると、ROSC部24からの内部発振信号oscpの信号レベルを変換し、内部発振信号oscpに応じて“L”を基準電位VSSとし“H”を電源電位VDDとする発振信号OSCを出力する。
次に、図2に示した半導体装置の動作について説明する。図4は、図2に示した半導体装置の動作例を示す図であり、電源供給が遮断され停止している回路ブロックA22を動作状態にする場合を示している。
回路ブロックA22への電源供給が遮断されているとき、電源管理ユニット21から出力される制御信号GA0は“H”である。このとき、フリップフロップFFAiのリセット入力Rに入力されるリセット信号RSTも“H”であるので、フリップフロップFFAiの出力Q、すなわち制御信号GAiは“H”となる。したがって、電源スイッチPSWA0、PSWAiのすべてがオフ状態にされている。
この状態で、回路ブロックA22への電源供給を行うために電源管理ユニット21が制御信号GA0を“L”にアサートすると、初段の電源スイッチPSWA0がオン状態になる。また、それとともにリセット信号RSTが“L”となりフリップフロップFFAiのリセットが解除され、電源スイッチPSWA1について発振信号OSCの最初のポジティブエッジをトリガとして待つ状態になる。一方で電源スイッチPSWA0がオン状態になることによってVDDVA電源線により供給する電源電位VDDVAが上昇し始める。しかし、電源電位VDDVAが低い期間(ROSC部24を動作可能な十分なレベルに達していないとき)は、ROSC活性化部23から出力されるスタート信号startは“L”のままである。したがって、ROSC部24は発振動作を行わず、レベル変換部25から出力される発振信号OSCも“L”に固定される。これにより、発振信号OSCとしてフリップフロップFFAiに不定の信号が伝播されることを防止できる。
そして、電源電位VDDVAがさらに上昇して、ROSC部24で使用されるPチャネルトランジスタの閾値を超えたことがROSC活性化部23で検知されると、トランジスタQ11のドレインの電位poutが上昇する。さらに、ROSC部24で使用されるNチャネルトランジスタの閾値を超えたことがROSC活性化部23で検知されると、トランジスタQ12のドレインの電位noutが下降する。トランジスタQ12のドレインの電位noutが下降することによって、ROSC活性化部23から出力されるスタート信号startが“H”となり、ROSC部24及びレベル変換部25が活性化される。
ROSC部24は、活性化されると発振動作を開始して、電源電位VDDVAに応じた周期の内部発振信号oscpを出力する。また、レベル変換部25は、電源電位VDDVAのレベルでの内部発振信号oscpを、電源電位VDDレベルの発振信号OSCにレベル変換して出力する。
そして、レベル変換部25より出力された発振信号OSCがフリップフロップFFAiに入力されると、発振信号OSCにおける最初のポジティブエッジによって制御信号GA1が“L”となる。これにより、電源スイッチPSWA0に加えて、電源スイッチPSWA1がオン状態になり、電源スイッチPSWA2について発振信号OSCの次のポジティブエッジをトリガとして待つ状態になる。以降、発振信号OSCのポジティブエッジによって、1つの電源スイッチがオン状態になるとともに次段の電源スイッチについて発振信号OSCの次のポジティブエッジをトリガとして待つ状態になることを繰り返し、電源スイッチPSWAiが順次オン状態になる。そして、最終段の電源スイッチPSWAnがオン状態になる、すなわち制御信号GAnが“L”になると、ROSC部24は発振動作を停止する。
ここで、図4に示されるように電源電位VDDVAが上昇するのに伴って、ROSC部24より出力される内部発振信号oscpの発振周期が短くなっていき、発振信号OSCにおけるポジティブエッジ間の時間間隔も短くなる。つまり、電源スイッチPSWAiにおいてiの値が大きくなる(後段側に進む)に従って、電源スイッチPSWAiをオンする時間間隔が短くなっていく。
本実施形態によれば、対応する回路ブロックに供給される電源電位で動作し、その電源電位が低いときには遅延が長く、その電源電位が高くなるのに伴って遅延を短くするように遅延を生成する遅延生成器の出力を用いて電源スイッチを順次オンする。回路ブロックに供給される電源電位が低いときに順次オンされる前段側の電源スイッチではオンする時間間隔を長くし、電源電位が高くなってから順次オンされる後段側の電源スイッチではオンする時間間隔を短くすることができる。したがって、各電源スイッチを制御するために遅延バッファを大量に用いなくとも、小さな回路の遅延生成器で回路面積の増大を抑制し、電源スイッチを順次オンするための時間間隔を適切に制御することができる。
また、停止状態から動作状態への移行にかかる起動時間を短くするために、例えば図10(A)に示したような半導体装置では後段側に向かって(回路ブロックに供給される電源電位の上昇に伴って)電源スイッチをオンする時間間隔を短くするよう調整が行われる。この調整は、各電源スイッチに対して設けられた遅延バッファ毎に行う必要があった。それに対して、本実施形態においては回路ブロックに供給される電源電位に応じて、電源スイッチをオンする時間間隔を1つの遅延生成器で自動的に調整することができる。
また、本実施形態によれば、半導体装置の製造ばらつきに応じた起動時間のばらつきを抑制することができる。動作の遅いチップ(Slow)では内部の回路に流れるリーク電流が動作の速いチップより小さいため、電源スイッチをオンした後の電位上昇は、図7(A)に示すように動作の遅いチップで速い。例えば、電源スイッチをオンしてから時間t1が経過した後の電源電位が、動作の遅いチップで電位V1、動作の速いチップで電位V2(V2<V1)とする。遅延生成器として図3に示したようにリングオシレータを利用した場合、電源電位が同じであれば、図7(B)に示すように動作の遅いチップの発振周波数は動作の速いチップの発振周波数よりも長い。しかし、本実施形態によれば、電源スイッチをオンしてから同じ時間が経過した後の電源電位は動作の遅いチップの方が高いため、例えば時間t1経過後の電源電位での発振周波数の差は図7(B)に示すように小さく、起動時間のばらつきが抑制される。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
(付記1)
回路ブロックを少なくとも1つ有し、前記回路ブロック単位で電源供給を遮断可能な半導体装置であって、
前記回路ブロックに対する電源供給を管理する電源管理部と、
第1の前記回路ブロックへの電源供給を制御する複数の電源スイッチと、
前記第1の回路ブロックに供給する電源で動作し、当該電源の電位に応じた遅延を生成する遅延生成器とを有し、
前記複数の電源スイッチは、前記第1の回路ブロックへ電源を供給するためにオン状態に制御されるときに、前記電源管理部及び前記遅延生成器の出力に基づいて前記第1の回路ブロックに供給される電源の電位に応じた時間間隔で順次オン状態にされることを特徴とする半導体装置。
(付記2)
前記複数の電源スイッチは、前記第1の回路ブロックへ電源を供給するためにオン状態に制御されるときに、前記複数の電源スイッチの内の1つの電源スイッチが前記電源管理部より出力される制御信号によりオン状態にされ、前記複数の電源スイッチの他の電源スイッチは、前記遅延生成器の出力によって遅延された前記制御信号により順次オン状態にされることを特徴とする付記1記載の半導体装置。
(付記3)
前記遅延生成器は、供給される電源の電位が高くなるに伴って短くなる遅延を生成することを特徴とする付記1又は2記載の半導体装置。
(付記4)
前記複数の電源スイッチは、外部から所定の電位が供給される電源線と、前記第1の回路ブロックに電源を供給する電源線との間に並列に接続されていることを特徴とする付記1〜3の何れか1項に記載の半導体装置。
(付記5)
前記遅延生成器は、
前記第1の回路ブロックに供給する電源で動作し、当該電源の電位に応じた周波数の発振信号を出力する発振器と、
前記発振器を活性化する発振器活性化部と、
前記発振器より出力される発振信号を、前記複数の電源スイッチを制御するための信号にレベル変換するレベル変換部とを有することを特徴とする付記1〜4の何れか1項に記載の半導体装置。
(付記6)
前記発振器活性化部は、前記発振器に対し供給される電源の電位が発振器の動作可能電位に到達したことを検知して前記発振器を活性化することを特徴とする付記5記載の半導体装置。
(付記7)
縦属接続され、各々のクロック入力に前記レベル変換部の出力が入力される複数のフリップフロップを有し、
初段のフリップフロップに前記電源管理部より出力される前記複数の電源スイッチをオン状態にさせる制御信号が入力され、各々のフリップフロップの出力が前記複数の電源スイッチの内の対応する電源スイッチの制御信号として出力されることを特徴とする付記5又は6記載の半導体装置。
(付記8)
前記発振器は、前記第1の回路ブロックに供給する電源で動作するリングオシレータであることを特徴とする付記5〜7の何れか1項に記載の半導体装置。
(付記9)
前記遅延生成器は、前記複数の電源スイッチがすべてオン状態になることによって動作が停止されることを特徴とする付記1〜8の何れか1項に記載の半導体装置。
(付記10)
前記複数の電源スイッチは、前記第1の回路ブロックへの電源供給を遮断するためにオフ状態に制御されるときには、前記遅延生成器の出力にかかわらず前記電源管理部の出力に基づいて同じタイミングでオフ状態にされることを特徴とする付記1〜9の何れか1項に記載の半導体装置。