(57)【要約】【課題】レイアウト構成にかかわらず漏れ電流を防止することができる。【解決手段】半導体装置１は、階層構造のモジュールを備えている。具体的には、基板２上に載置された第１のモジュール３と、第１のモジュール３と階層関係にある第２のモジュール４と、第１のモジュール３に駆動電圧ＶＤＤ１を供給する第１のパワーゲーティングセル５と、第１のパワーゲーティングセル５を介さずに第２のモジュール４に駆動電圧ＶＤＤ２を供給する第２のパワーゲーティングセル６と、第１のパワーゲーティングセル５の制御信号＃１の切断（ＯＦＦ）に基づいて、第２のパワーゲーティングセル６の制御信号を切断する電源切断検出回路７とを有している。第１のパワーゲーティングセル５および第２のパワーゲーティングセル６とには、それぞれ電源電圧ＶＤＤが供給されている。【選択図】図１
2009038273.tif 000002
【特許請求の範囲】
【請求項１】
階層構造のモジュールを備える半導体装置において、
基板上に載置された第１のモジュールと、
前記第１のモジュールと階層関係にある第２のモジュールと、
前記第１のモジュールに駆動電圧を供給する第１のパワーゲーティングセルと、
前記第１のパワーゲーティングセルを介さずに前記第２のモジュールに駆動電圧を供給する第２のパワーゲーティングセルと、
前記第１のパワーゲーティングセルの制御信号の切断に基づいて、前記第２のパワーゲーティングセルの制御信号を切断する電源切断検出回路と、
を有することを特徴とする半導体装置。
【請求項２】
前記電源切断検出回路は、前記第１のモジュールに供給されている電圧と、前記第２のモジュールを制御する制御信号との状態に基づいて、前記第２のパワーゲーティングセルの制御信号を切断することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記制御信号は、前記第１のモジュールに供給されるクロックを制御するゲーテッドクロック制御信号であることを特徴とする請求項２記載の半導体装置。
【請求項４】
階層構造のモジュールを備える半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置の設計方法において、
前記パワーゲーティングセルを挿入するか否かの判断が未だなされていない前記ゲーテッドクロックバッファを選択するステップと、
予め定められた条件に従って、選択された前記ゲーテッドクロックバッファによってクロックが供給される前記モジュールと前記モジュールの主電源との間に前記パワーゲーティングセルを挿入するか否かを判断するステップと、
前回以前の処理によって前記モジュールに隣接する他のモジュールと前記他のモジュールの主電源との間に、既に前記パワーゲーティングセルが挿入されている場合、既に挿入されている前記パワーゲーティングセルの制御信号の切断に基づいて、今回挿入する前記パワーゲーティングセルの制御信号を切断する電源切断検出回路を挿入するステップと、
を有することを特徴とする半導体装置の設計方法。
【請求項５】
階層構造のモジュールを備える半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置設計プログラムにおいて、
コンピュータに、
前記パワーゲーティングセルを挿入するか否かの判断が未だなされていない前記ゲーテッドクロックバッファを選択するステップと、
予め定められた条件に従って、選択された前記ゲーテッドクロックバッファによってクロックが供給される前記モジュールと前記モジュールの主電源との間に前記パワーゲーティングセルを挿入するか否かを判断するステップと、
前回以前の処理によって前記モジュールに隣接する他のモジュールと前記他のモジュールの主電源との間に、既に前記パワーゲーティングセルが挿入されている場合、既に挿入されている前記パワーゲーティングセルの制御信号の切断に基づいて、今回挿入する前記パワーゲーティングセルの制御信号を切断する電源切断検出回路を挿入するステップと、
を実行させることを特徴とする半導体装置設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、半導体装置の設計方法および半導体装置設計プログラム関し、特に、階層構造のモジュールを備える半導体装置、並びに、この半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置の設計方法および半導体装置設計プログラムに関する。
【背景技術】
【０００２】
しきい値電圧の低いトランジスタで構成した回路に直列にスイッチをつないで、待機時に電源電圧を遮断するパワーゲーティング（Power Gating）技術が知られている（例えば、特許文献１参照）。
【０００３】
階層構造を持つ２つのモジュール（親モジュール、子モジュール）をパワーゲーティングする場合、親モジュールの電源がＯＦＦしたときに、子モジュールの電源もＯＦＦにできるように設計するのが好ましい。このため、論理回路の階層構造と同様に、物理配置にも階層構造を持たせる方法が知られている。
【０００４】
図１２は、階層構造をなす従来のパワーゲーティング方法を示す図である。
モジュール（Module）９１には、ＰＧＣ（パワーゲーティングセル）９２、９２を経由してチップ（Chip）階層９３から電源電圧が供給される。モジュール９４にはＰＧＣ９５、９５を経由してモジュール９１から電源電圧が供給される。
【０００５】
ＰＧＣ９２、９２のＯＮ／ＯＦＦはＰＧ（Power Gating）制御信号＃９１により制御される。ＰＧＣ９５、９５のＯＮ／ＯＦＦはＰＧ制御信号＃９２により制御される。この構成によれば、モジュール９１の電源がＯＦＦすると、モジュール９４の電源もＯＦＦする。
【特許文献１】特開平０２−２７００１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、この方法はレイアウトの制約が大きく、一般的なパワーゲーティング回路では、常にこのようなレイアウト配置を取ることができるとは限らない。
図１３は、従来の他の半導体装置を示す図である。なお、同じ機能を有する部位には図１２と同じ符号を付している。
【０００７】
モジュール９１にはＰＧＣ９６を経由してチップ階層９３から電源が供給される。モジュール９４にはＰＧＣ９７を経由してチップ階層９３から電源が供給される。
ＰＧＣ９６のＯＮ／ＯＦＦはＰＧ制御信号＃９１により制御される。ＰＧＣ９７のＯＮ／ＯＦＦはＰＧ制御信号＃９２により制御される。
【０００８】
図１３のように物理配置に階層構造を持たない場合、モジュール９１の電源をＯＦＦにしても、モジュール９４の電源はＯＦＦにならない。このため、モジュール９４の電源をＯＦＦするための回路が別途必要になり、回路規模が増大するという問題があった。また、漏れ電流が発生するという問題があった。
【０００９】
ところで、上記のような半導体装置を作成するためには、ＰＧＣを意識してＲＴＬ（Register Transfer Level）やネットリストを作成する必要がある。
図１４は、従来の半導体装置を設計するＣＡＤフローを示す図である。
【００１０】
従来は、電源制御回路が人手により記述されているＲＴＬを論理合成して、電源制御回路が配設されているネットリスト（Netlist）を作成する。そして作成されたネットリストを用いてレイアウト作業を行う（図１４（ａ）参照）。
【００１１】
他の方法としては、電源制御回路が記述されていないＲＴＬを論理合成して、電源制御回路が配設されていないネットリストを作成する。そして、作成されたネットリストと、人手により定義された電源制御仕様定義とを用いてレイアウト作業を行う（図１４（ｂ）参照）。
【００１２】
しかしながら、電源制御仕様定義を作成するためには、数百個以上に分割した細かな電源分離を人手により定義する必要があり、非常に手間のかかる作業であった。
本発明はこのような点に鑑みてなされたものであり、レイアウト構成にかかわらず漏れ電流を防止することができる半導体装置および、このような半導体装置を容易に設計することができる半導体装置の設計方法および半導体装置設計プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明では上記問題を解決するために、階層構造のモジュールを備える半導体装置において、基板上に載置された第１のモジュールと、前記第１のモジュールと階層関係にある第２のモジュールと、前記第１のモジュールに駆動電圧を供給する第１のパワーゲーティングセルと、前記第１のパワーゲーティングセルを介さずに前記第２のモジュールに駆動電圧を供給する第２のパワーゲーティングセルと、前記第１のパワーゲーティングセルの制御信号の切断に基づいて、前記第２のパワーゲーティングセルの制御信号を切断する電源切断検出回路と、を有することを特徴とする半導体装置が提供される。
【００１４】
このような半導体装置によれば、第１のパワーゲーティングセルの制御信号の切断に基づいて、第２のパワーゲーティングセルの制御信号が切断される。
また、上記課題を解決するために、階層構造のモジュールを備える半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置の設計方法において、前記パワーゲーティングセルを挿入するか否かの判断が未だなされていない前記ゲーテッドクロックバッファを選択するステップと、予め定められた条件に従って、選択された前記ゲーテッドクロックバッファによってクロックが供給される前記モジュールと前記モジュールの主電源との間に前記パワーゲーティングセルを挿入するか否かを判断するステップと、前回以前の処理によって前記モジュールに隣接する他のモジュールと前記他のモジュールの主電源との間に、既に前記パワーゲーティングセルが挿入されている場合、既に挿入されている前記パワーゲーティングセルの制御信号の切断に基づいて、今回挿入する前記パワーゲーティングセルの制御信号を切断する電源切断検出回路を挿入するステップと、を有することを特徴とする半導体装置の設計方法が提供される。
【００１５】
このような半導体装置の設計方法によれば、まず、パワーゲーティングセルを挿入するか否かの判断が未だなされていないゲーテッドクロックバッファが選択される。そして、選択されたゲーテッドクロックバッファによってクロックが供給されるモジュールと、このモジュールの主電源との間にパワーゲーティングセルを挿入するか否かが予め定められた条件に従って判断される。そして、前回以前の処理によって、このモジュールに隣接する他のモジュールと他のモジュールの主電源との間に、既にパワーゲーティングセルが挿入されている場合、既に挿入されているパワーゲーティングセルの制御信号の切断に基づいて、今回挿入するパワーゲーティングセルの制御信号を切断する電源切断検出回路が挿入される。
【発明の効果】
【００１６】
本発明では、電源切断検出回路を設けることにより、物理配置に階層構造を持たない場合においても、回路構成を複雑化することなく、漏れ電流を防止することができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１８】
半導体装置１は、階層構造のモジュールを備えている。具体的には、基板２上に載置された第１のモジュール３と、第１のモジュール３と階層関係にある第２のモジュール４と、第１のモジュール３に駆動電圧ＶＤＤ１を供給する第１のパワーゲーティングセル５と、第１のパワーゲーティングセル５を介さずに第２のモジュール４に駆動電圧ＶＤＤ２を供給する第２のパワーゲーティングセル６と、第１のパワーゲーティングセル５の制御信号＃１の切断（ＯＦＦ）に基づいて、第２のパワーゲーティングセル６の制御信号を切断する電源切断検出回路７とを有している。図１では、第１のパワーゲーティングセル５および第２のパワーゲーティングセル６とには、それぞれ電源電圧ＶＤＤが供給されている。
【００１９】
図２は、半導体装置の概要を示す回路図である。
電源切断検出回路７には、駆動電圧ＶＤＤ１と制御信号＃２とが供給されている。このような構成をとることにより、第１のパワーゲーティングセル５の制御信号＃１の切断に基づいて、第１のパワーゲーティングセル５がパワーＯＦＦすることにより、制御信号＃２の状態にかかわらず、第２のパワーゲーティングセル６の制御信号を切断することができる。
【００２０】
以下、本発明の実施の形態を説明する。
図３は、実施の形態の半導体装置を示すブロック図である。
パワーゲーティング回路（半導体装置）１０は、チップ階層（基板）２０と、チップ階層２０上に配置され、駆動電圧ＶＤＤ１で駆動するモジュール３０と、モジュール３０への駆動電圧ＶＤＤ１の供給を制御するＰＧＣ４０、４１と、電源切断検出回路５０と、ＲＯＷ切断領域６０を隔ててモジュール３０の内部に設けられ、モジュール３０に供給されている駆動電圧ＶＤＤ１とは別個の駆動電圧ＶＤＤ２で駆動するモジュール７０と、モジュール７０への駆動電圧ＶＤＤ２の供給を制御するＰＧＣ８０とを有している。
【００２１】
チップ階層２０は、ＧＣ制御信号生成部２１と、ＧＣＢ（ゲーテッドクロックバッファ）２２とを有している。
ＧＣ制御信号生成部２１は、ＰＧＣ４０、４１およびＧＣＢ２２を制御するＧＣ制御信号＃１を生成する。
【００２２】
ＧＣＢ２２は、ＧＣ制御信号＃１およびクロックＣＬＫが供給されているときに、モジュール３０にクロックＣＬＫを供給する。すなわち、ＧＣ制御信号＃１がＯＦＦすれば、モジュール３０にはクロックＣＬＫは供給されない。
【００２３】
モジュール３０は、ＧＣ制御信号生成部３１と、ＧＣＢ３２とを有している。
ＧＣ制御信号生成部３１は、ＰＧＣ８０およびＧＣＢ３２を制御するＧＣ制御信号＃２を生成する。なお、ＧＣ制御信号＃１およびＧＣ制御信号＃２は、ともにＬｏアクティブの信号とする。
【００２４】
ＧＣＢ３２は、ＧＣ制御信号＃２および、ＧＣＢ２２を経由したクロックＣＬＫが供給されているときに、モジュール７０にクロックＣＬＫを供給する。よって、ＧＣ制御信号生成部３１は、ＧＣ制御信号＃２の生成を停止することで、モジュール７０へのクロックＣＬＫの供給を停止することができる。
【００２５】
ＰＧＣ４０とＰＧＣ４１には、チップ階層２０から電源電圧（主電源）ＶＤＤが供給されており、これらのゲートは、それぞれＧＣ制御信号＃１が供給されることでＯＮする。
これらＰＧＣ４０およびＰＧＣ４１が同時にＯＮすることにより、モジュール３０に電圧ＶＤＤ１が供給され、同時にＯＦＦすることにより、モジュール３０への電圧ＶＤＤ１の供給が停止される。
【００２６】
電源切断検出回路５０には、ＧＣ制御信号＃２、電圧ＶＤＤ１および電源電圧ＶＤＤが供給されている。電源切断検出回路５０は、モジュール３０がＯＦＦしたときに、モジュール７０をＯＦＦする。
【００２７】
ＰＧＣ８０には、チップ階層２０から電源電圧ＶＤＤが供給されており、このゲートは、電源切断検出回路５０を介してＧＣ制御信号＃２が供給されることでＯＮする。
ＰＧＣ８０がＯＮすることにより、モジュール７０に電圧ＶＤＤ２が供給され、ＯＦＦすることにより、モジュール７０への電圧ＶＤＤ２の供給が停止される。
【００２８】
図４は、図３に示す半導体装置の電源構成を示す回路図である。
電源切断検出回路５０は、ＯＲ回路５１と、プルダウン抵抗５２とを有している。
ＯＲ回路５１の一方の入力端子は、ＧＣ制御信号＃２のノードＮ１に接続され、他方の入力端子は、ＰＧＣ４０のソースに接続されている。
【００２９】
次に、図４に示す回路の動作を説明する。
モジュール３０を駆動していないときは、ＧＣ制御信号＃１がＨｉに設定され、ＰＧＣ４０はＯＦＦしている。よって、ＯＲ回路５１の他方の反転入力端子には電圧ＶＳＳが供給されている。
【００３０】
モジュール３０を駆動するときは、ＧＣ制御信号＃１をＬｏに設定する。これにより、ＧＣＢ２２からクロックＣＬＫがＧＣＢ３２に供給される。
また、ＧＣ制御信号＃１をＬｏに設定することにより、ＰＧＣ４０がＯＮし、電圧（降下電圧）ＶＤＤ１がモジュール３０およびＯＲ回路５１の他方の入力端子に供給される。
【００３１】
この状態でモジュール７０を駆動するときは、ＧＣ制御信号＃２をＬｏに設定する。これにより、ＯＲ回路５１の一方の入力端子にＬｏが供給され、ＯＲ回路５１からＬｏが出力される。これにより、ＰＧＣ８０がＯＮし、モジュール７０に電圧ＶＤＤ２が供給される。また、クロックＣＬＫがＧＣＢ３２を介してモジュール７０に供給される。
【００３２】
この状態でモジュール３０およびモジュール７０を同時に停止するときは、ＧＣ制御信号＃１をＨｉに設定する。これによりＰＧＣ４０がＯＦＦし、ＯＲ回路５１の他方の反転入力端子への電圧ＶＤＤ１の供給が停止する。従って、ＰＧＣ８０もＯＦＦする。
【００３３】
また、モジュール３０を駆動したままモジュール７０を停止するときは、ＧＣ制御信号＃２をＨｉに設定する。
以上説明したように、本実施の形態のパワーゲーティング回路１０によれば、電源切断検出回路５０を設け、ＧＣ制御信号＃２と電圧ＶＤＤ１とを入力としてＰＧＣ８０を制御するようにした。これにより、モジュール３０への駆動電圧ＶＤＤ１の供給を停止すると、それに伴いモジュール７０への駆動電圧ＶＤＤ２の供給をも停止することができるため、モジュール３０とモジュール７０とが物理的な階層構造、すなわち、ＰＧＣ４０、４１を経由してＰＧＣ８０に駆動電圧を供給する構成を有していなくてもモジュール７０への駆動電圧ＶＤＤ２を所望のタイミングで供給／停止することができる。従って、レイアウトに対するモジュールの配置の制約を除去することができ、例えばモジュール７０がモジュール３０と重ならないような構成とすることができる。
【００３４】
また、既存の信号（ＧＣ制御信号）を使用して上記の制御を行うようにしたため、回路規模（電源制御回路の面積や、電源制御回路から各モジュールの電源スイッチへ制御信号の本数等）を増大させることがない。
【００３５】
また、モジュールの動作の必要がないとき、自動的にクロックＣＬＫを止める構成にした場合には、クロックＣＬＫの停止とともに、ＰＧＣ８０もＯＦＦするため、ＶＤＤ−ＶＳＳ間の漏れ電流を防止することができる。
【００３６】
なお、本実施の形態では、ＧＣ制御信号＃２はモジュール３０で生成したが、本発明はこれに限定されない。
また、本実施の形態では、ＧＣ制御信号＃１、ＧＣ制御信号＃２を使用したが、本発明はこれに限定されず、例えばＰＬＬ等、クロック信号を生成する回路を制御する信号を利用することもできる。
【００３７】
以下、このようなパワーゲーティング回路を、コンピュータを用いて作成する方法について説明する。
図５は、コンピュータのハードウェア構成例を示す図である。
【００３８】
コンピュータ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００３９】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。また、ＨＤＤ１０３内には、プログラムファイルが格納される。
【００４０】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００４１】
通信インタフェース１０６は、ネットワーク２００に接続されている。通信インタフェース１０６は、ネットワーク２００を介して、他のコンピュータとの間でデータの送受信を行う。
【００４２】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成のシステムにおいてパワーゲーティング回路の設計を行うために、コンピュータ１００内には、以下のような機能が設けられる。
【００４３】
図６は、コンピュータの機能を示すブロック図である。
コンピュータ１００は、ＲＴＬ格納部１１０と、論理合成部１２０と、ネットリスト格納部１３０と、電源制御仕様定義格納部１４０と、レイアウト作業実行部１５０とを有している。
【００４４】
ＲＴＬ格納部１１０は、電源制御回路が記述されていないＲＴＬ（電源制御回路無し）を格納している。
論理合成部１２０は、ＧＣＢ挿入部１２１と、ＰＧＣ挿入部１２２とを有している。
【００４５】
ＧＣＢ挿入部１２１は、ＲＴＬにＧＣＢを挿入する。
ＰＧＣ挿入部１２２は、ＧＣＢ挿入部１２１によってＧＣＢが挿入されたネットリストやデータベース等にＰＧＣを挿入するか否か（挿入対象の回路か否か）を判断し、挿入対象である場合に、ＰＧＣを挿入してネットリストやデータベース等を作成する。
【００４６】
ＰＧＣを挿入するか否かの判定基準は特に限定されないが、論理合成部１２０は、内部回路を見ながらネットリストを作成していくので、１つのＧＣＢの下にぶら下がっているフリップフロップや論理回路の数が分かる。そうすると、例えば、その回路規模やゲート規模、例えば１Ｍゲート以上ならＰＧＣの挿入対象にする、１０ｋゲート以下は挿入対象にしない等を判断基準とすることができる。
【００４７】
また、他にも挿入対象の回路の電圧値の大きさや、挿入対象の回路の上下階層でパワーゲーティングされる回路の回路規模等を判断基準とすることができる。
ネットリスト格納部１３０は、ＧＣＢ挿入部１２１によってＧＣＢが挿入されたネットリスト（ＧＣＢ定義有り）を格納する。
【００４８】
電源制御仕様定義格納部１４０は、論理合成部１２０から出力された論理合成結果に基づいて、電源の制御仕様を定義した電源制御仕様定義を作成し、格納する。
レイアウト作業実行部１５０は、電源制御仕様定義格納部１４０に格納されている電源制御仕様定義とネットリスト格納部１３０に格納されているネットリストとを用いてレイアウト作業を実行する。
【００４９】
次に、ＰＧＣ挿入部１２２の処理（ＰＧＣ挿入処理）を説明する。
図７は、ＰＧＣ挿入処理を示すフローチャートである。
まず、ＧＣＢが挿入されたネットリストにおける、ＰＧＣ挿入処理が施されていないＧＣＢを選択する（ステップＳ１）。
【００５０】
次に、前述した判断基準に基づいて、選択されたＧＣＢによって制御されるモジュールと、このモジュールの主電源との間にＰＧＣを挿入するか否かを判断する（ステップＳ２）。
【００５１】
ＰＧＣを挿入すると判断した場合（ステップＳ２のＹｅｓ）、ＰＧＣを挿入する（ステップＳ３）。一方、ＰＧＣを挿入しないと判断した場合（ステップＳ２のＮｏ）、ステップＳ９に移行する。
【００５２】
次に、上位階層に前回以前の処理によって既に挿入されているＰＧＣが存在するか否かを判断する（ステップＳ４）。
上位階層にＰＧＣが存在する場合（ステップＳ４のＹｅｓ）、今回挿入するＰＧＣと既に挿入されているＰＧＣとの間に、既に挿入されているＰＧＣの制御信号の切断に基づいて、今回挿入するＰＧＣの制御信号を切断する電源切断検出回路を挿入する（ステップＳ５）。その後、ステップＳ６に移行する。一方、上位階層にＰＧＣが存在しない場合（ステップＳ４のＮｏ）、ステップＳ６に移行する。
【００５３】
次に、下位階層に前回以前の処理によって既に挿入されているＰＧＣが存在するか否かを判断する（ステップＳ６）。
下位階層にＰＧＣが存在する場合（ステップＳ６のＹｅｓ）、今回挿入するＰＧＣと既に挿入されているＰＧＣとの間に電源切断検出回路を挿入する（ステップＳ７）。その後、ステップＳ８に移行する。一方、下位階層にＰＧＣが存在しない場合（ステップＳ６のＮｏ）、ステップＳ８に移行する。
【００５４】
次に、次の（未処理の）ＧＣＢが存在するか否かを判断する（ステップＳ８）。
次のＧＣＢが存在する場合（ステップＳ８のＹｅｓ）、次のＧＣＢを選択し（ステップＳ９）、その後ステップＳ２に移行して、以降の動作を繰り返し行う。一方、次のＧＣＢが存在しない場合（ステップＳ８のＮｏ）、ＰＧＣ挿入処理を終了する。
【００５５】
このように、ＧＣＢ挿入後のＰＧＣの挿入は、階層構造を確認しながら進めることができる。ＰＧＣを自動で挿入することができ、かつ、電源制御仕様定義に自動で変換することにより、階層構造を備えるパワーゲーティング回路の設計を自動化することができる。
【００５６】
なお、本実施の形態では、挿入要否を判断しながら、逐次ＰＧＣを挿入する例を示したが、本発明はこれに限らず、全てのＧＣＢに対して挿入要否を判断した後ＰＧＣをまとめて挿入してもよい。
【００５７】
また、上下階層のＰＧＣの有無を確認した際、現在の階層へのＰＧＣの挿入の方がより適している場合は、上下階層のＰＧＣや電源切断検出回路を削除するようにしてもよい。これにより、ＰＧＣの挿入を最適化することができる。また、現在の階層へのＰＧＣ挿入の方がより適しているか否かの判断は、対象となる回路規模等から判断することにより行うことができる。
【００５８】
＜具体例＞
次に、図７に示したＰＧＣ挿入処理を、図４に示したパワーゲーティング回路１０を作成する場合を例にとって説明する。
【００５９】
図８〜図１０は、それぞれＰＧＣ挿入処理の具体例を示す図である。
図８は、ＧＣＢ挿入部１２１によって、ＧＣＢ２２、３２が挿入された直後の回路を示している。
【００６０】
まず、ＧＣＢ２２を選択し、ＰＧＣ４０を挿入する（図９参照）。図９に示すように、上位階層および下位階層に他のＰＧＣが存在しないため、次のＧＣＢ３２を選択する。
そして、ＰＧＣ８０を挿入する（図１０参照）。図１０に示すように、モジュール３０（上位階層）にＰＧＣ４０が存在するため、ＰＧＣ８０と既に挿入されているＰＧＣ４０との間に電源切断検出回路５０を挿入する。これにより、図４に示すパワーゲーティング回路１０が得られる。
【００６１】
＜変形例＞
次に、コンピュータ１００の機能ブロックの変形例を説明する。
図１１は、変形例のコンピュータの機能を示すブロック図である。
【００６２】
図１１に示すように、コンピュータ１００は、電源制御仕様定義格納部１４０の代わりに、ネットリスト格納部１６０にてネットリストに直接ＧＣＢ定義と電源制御回路を定義するようにしてもよい。
【００６３】
以上、本発明の半導体装置、半導体装置の設計方法および半導体装置設計プログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００６４】
また、本発明は、前述した各実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータ１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００６５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６６】
回路設計プログラムプログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６７】
（付記１）  階層構造のモジュールを備える半導体装置において、
基板上に載置された第１のモジュールと、
前記第１のモジュールと階層関係にある第２のモジュールと、
前記第１のモジュールに駆動電圧を供給する第１のパワーゲーティングセルと、
前記第１のパワーゲーティングセルを介さずに前記第２のモジュールに駆動電圧を供給する第２のパワーゲーティングセルと、
前記第１のパワーゲーティングセルの制御信号の切断に基づいて、前記第２のパワーゲーティングセルの制御信号を切断する電源切断検出回路と、
を有することを特徴とする半導体装置。
【００６８】
（付記２）  前記電源切断検出回路は、前記第１のモジュールに供給されている電圧と、前記第２のモジュールを制御する制御信号との状態に基づいて、前記第２のパワーゲーティングセルの制御信号を切断することを特徴とする付記１記載の半導体装置。
【００６９】
（付記３）  前記電源切断検出回路は、前記第１のモジュールに供給されている電圧と、前記第２のモジュールを制御する制御信号とのいずれか一方が切断されると、前記第２のパワーゲーティングセルの制御信号を切断することを特徴とする付記２記載の半導体装置。
【００７０】
（付記４）  前記制御信号は、前記第１のモジュールによって生成されることを特徴とする付記２記載の半導体装置。
（付記５）  前記制御信号は、前記第１のモジュールに供給されるクロックを制御するゲーテッドクロック制御信号であることを特徴とする付記２記載の半導体装置。
【００７１】
（付記６）  前記制御信号は、クロックを生成する回路を制御する信号であることを特徴とする付記２記載の半導体装置。
（付記７）  階層構造のモジュールを備える半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置の設計方法において、
前記パワーゲーティングセルを挿入するか否かの判断が未だなされていない前記ゲーテッドクロックバッファを選択するステップと、
予め定められた条件に従って、選択された前記ゲーテッドクロックバッファによってクロックが供給される前記モジュールと前記モジュールの主電源との間に前記パワーゲーティングセルを挿入するか否かを判断するステップと、
前回以前の処理によって前記モジュールに隣接する他のモジュールと前記他のモジュールの主電源との間に、既に前記パワーゲーティングセルが挿入されている場合、既に挿入されている前記パワーゲーティングセルの制御信号の切断に基づいて、今回挿入する前記パワーゲーティングセルの制御信号を切断する電源切断検出回路を挿入するステップと、
を有することを特徴とする半導体装置の設計方法。
【００７２】
（付記８）  前記電源切断検出回路を、今回挿入する前記パワーゲーティングセルと既に挿入されている前記パワーゲーティングセルとの間に、挿入することを特徴とする付記７記載の半導体装置の設計方法。
【００７３】
（付記９）  前記ゲーテッドクロックバッファが挿入された回路の回路規模に基づいて、前記パワーゲーティングセルを挿入するか否かを判断することを特徴とする付記７記載の半導体装置の設計方法。
【００７４】
（付記１０）  前記ゲーテッドクロックバッファが挿入された回路の駆動電圧に基づいて、前記パワーゲーティングセルを挿入するか否かを判断することを特徴とする付記７記載の半導体装置の設計方法。
【００７５】
（付記１１）  前記ゲーテッドクロックバッファが挿入された回路の一部のみを前記パワーゲーティングセルの挿入対象とすることを特徴とする付記７記載の半導体装置の設計方法。
【００７６】
（付記１２）  階層構造のモジュールを備える半導体装置を作成する際に、ゲーテッドクロックバッファが挿入された回路にパワーゲーティングセルを挿入する半導体装置設計プログラムにおいて、
コンピュータに、
前記パワーゲーティングセルを挿入するか否かの判断が未だなされていない前記ゲーテッドクロックバッファを選択するステップと、
予め定められた条件に従って、選択された前記ゲーテッドクロックバッファによってクロックが供給される前記モジュールと前記モジュールの主電源との間に前記パワーゲーティングセルを挿入するか否かを判断するステップと、
前回以前の処理によって前記モジュールに隣接する他のモジュールと前記他のモジュールの主電源との間に、既に前記パワーゲーティングセルが挿入されている場合、既に挿入されている前記パワーゲーティングセルの制御信号の切断に基づいて、今回挿入する前記パワーゲーティングセルの制御信号を切断する電源切断検出回路を挿入するステップと、
を実行させることを特徴とする半導体装置設計プログラム。
【図面の簡単な説明】
【００７７】
【図１】本発明の概要を示す図である。
【図２】半導体装置の概要を示す回路図である。
【図３】実施の形態の半導体装置を示すブロック図である。
【図４】図３に示す半導体装置の電源構成を示す回路図である。
【図５】コンピュータのハードウェア構成例を示す図である。
【図６】コンピュータの機能を示すブロック図である。
【図７】ＰＧＣ挿入処理を示すフローチャートである。
【図８】ＰＧＣ挿入処理の具体例を示す図である。
【図９】ＰＧＣ挿入処理の具体例を示す図である。
【図１０】ＰＧＣ挿入処理の具体例を示す図である。
【図１１】変形例のコンピュータの機能を示すブロック図である。
【図１２】階層構造をなす従来のパワーゲーティング方法を示す図である。
【図１３】従来の他の半導体装置を示す図である。
【図１４】従来の半導体装置を設計するＣＡＤフローを示す図である。
【符号の説明】
【００７８】
１  半導体装置
２  基板
３  第１のモジュール
４  第２のモジュール
５、６、４０、４１、８０  パワーゲーティングセル（ＰＧＣ）
７、５０  電源切断検出回路
１０  パワーゲーティング回路
２０  チップ階層
２１、３１  ＧＣ制御信号生成部
３０、７０  モジュール
５１  ＯＲ回路
５２  プルダウン抵抗
６０  ＲＯＷ切断領域
１１０  ＲＴＬ格納部
１２０  論理合成部
１２１  ＧＣＢ挿入部
１２２  ＰＧＣ挿入部
１３０、１６０  ネットリスト格納部
１４０  電源制御仕様定義格納部
１５０  レイアウト作業実行部
【図１】
2009038273.tif 000003
【図２】
2009038273.tif 000004
【図３】
2009038273.tif 000005
【図４】
2009038273.tif 000006
【図５】
2009038273.tif 000007
【図６】
2009038273.tif 000008
【図７】
2009038273.tif 000009
【図８】
2009038273.tif 000010
【図９】
2009038273.tif 000011
【図１０】
2009038273.tif 000012
【図１１】
2009038273.tif 000013
【図１２】
2009038273.tif 000014
【図１３】
2009038273.tif 000015
【図１４】
2009038273.tif 000016