(57)【要約】【課題】  本発明の課題は、カラム型パワースイッチを採用したＬＳＩ設計において、タイミング収束性を改善することを目的とする。【解決手段】  上記課題は、コンピュータによって実行される設計方法であって、チップに配置されたパワードメイン毎に論理モジュールをグループ化し、グループ化した論理モジュールグループ毎に通常セルを仮配置し、パワースイッチを前記論理モジュールグループの周辺に配置することを特徴とする設計方法により達成される。【選択図】  図５
2015069333.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される設計方法であって、
チップに配置されたパワードメイン毎に論理モジュールをグループ化し、
グループ化した論理モジュールグループ毎に通常セルを仮配置し、
パワースイッチを前記論理モジュールグループの周辺に配置する
ことを特徴とする設計方法。
【請求項２】
前記周辺に配置した前記パワースイッチの配置位置に基づいて、配置リージョンを作成する
ことを特徴とする請求項１記載の設計方法。
【請求項３】
前記チップに前記パワードメインを配置するフロアプランを行い、
前記フロアプランでは前記パワースイッチの配置を行わない
ことを特徴とする請求項２記載の設計方法。
【請求項４】
前記グループ化は、前記グループ化の基準であるグループサイズに基づいて、前記論理モジュールをグループ化する
ことを特徴とする請求項３記載の設計方法。
【請求項５】
チップに配置されたパワードメイン毎に論理モジュールをグループ化し、
グループ化した論理モジュールグループ毎に通常セルを仮配置し、
パワースイッチを前記論理モジュールグループの周辺に配置する
処理をコンピュータに実行させる設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップのパワーゲーティング設計に関する。
【背景技術】
【０００２】
近年、チップの消費電力を低減するパワーゲーティングがチップ内に搭載されるようになっている。
【０００３】
例えば、複数のコアセルが配列されて成るセル領域と、セル領域毎に対応して配置された電源スイッチとを設け、それぞれコアセル単位で複数の電源遮断エリアを形成し、電源遮断エリア毎に、電源遮断を可能とする半導体集積回路等が知られている。
【０００４】
また、半導体チップに形成されているコア領域を複数の機能ブロックに分離し、分離している各機能ブロックの境界に複数の電源スイッチを配列し、各機能ブロックへの基準電位の供給および停止を制御する半導体装置、内部電圧線に接続される２本の電圧セル線と、スイッチ制御線に接続される制御セル線と、トランジスタと、を有するスイッチセルが、回路ブロックの周囲の四方全てに配置される半導体集積回路等が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開２００６／１１４８７５号公報パンフレット
【特許文献２】特開２００８−２５１８３５号公報
【特許文献３】特開２００９−１７０７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
低消費電力化技術としてパワースイッチ（以下、ＰＳＷと言う）を適用したオンチップパワーゲーティング設計には、リング型ＰＳＷ（マクロ型）と、カラム型ＰＳＷ（スタンダードセル型）とがある。両者のトレードオフは以下の通りである。
・ペリフェラルＩ／Ｏの場合のＩＲドロップ
両者において、ＩＲドロップはチップ内において均一である。
・エリアＩ／Ｏの場合のＩＲドロップ
リング型ＰＳＷでは、パワードメインの外周部のＰＳＷを経由して電源供給するため、ＰＤ中央部でＩＲドロップが大きくなると言う欠点がある。
【０００７】
一方、カラム型ＰＳＷでは、ＰＤ内部領域に配置された電源バンプから最短領域で電源供給可能であるため、ＩＲドロップが発生し難い。
・タイミング収束性
リング型ＰＳＷでは良好であるが、カラム型ＰＳＷでは、ＰＤ内に配置されたＰＳＷによりセルの最適な配置が阻害される場合があり、タイミング収束性が、リング型ＰＳＷ程に良好ではない。
【０００８】
しかしながら、エリアＩ／Ｏを採用した設計では、カラム型ＰＳＷを採用するのが主流である。
【０００９】
従って、１つの側面において、本発明は、カラム型ＰＳＷを採用したＬＳＩ（Large Scale Integration）設計において、タイミング収束性を改善することである。
【課題を解決するための手段】
【００１０】
本実施例の一態様によれば、コンピュータによって実行される設計方法であって、チップに配置されたパワードメイン毎に論理モジュールをグループ化し、グループ化した論理モジュールグループ毎に通常セルを仮配置し、パワースイッチを前記論理モジュールグループの周辺に配置することを特徴とする設計方法が提供される。
【発明の効果】
【００１１】
本実施例の一態様によれば、タイミング収束性を改善することができる。
【図面の簡単な説明】
【００１２】
【図１】パワーゲーティングの構成例を示す図である。
【図２】ＰＳＷの代表的な配置例を示す図である。
【図３】リング型ＰＳＷとカラム型ＰＳＷの特徴を説明するための図である。
【図４】タイミング収束性が悪化する例を説明するための図である。
【図５】本実施例におけるカラム型ＰＳＷの配置結果例を示す図である。
【図６】配置リージョンの例を示す図である。
【図７】設計装置のハードウェア構成を示す図である。
【図８】設計装置の機能構成例を示す図である。
【図９】ネットリストの構成例を示す図である。
【図１０】フロアプラン部によるパワードメインの配置位置の決定例を示す図である
【図１１】グループ化処理を説明するためのフローチャート図である。
【図１２】グループ化処理の結果例を模擬的に示した図である。
【図１３】電源バンプの配置間隔と論理モジュールグループの配置領域との関係を説明するための図である。
【図１４】仮配置処理を説明するための図である。
【図１５】仮配置処理の結果例を説明するための図である。
【図１６】仮配置処理を説明するためのフローチャート図である。
【図１７】ＰＳＷ配置処理を説明するためのフローチャート図である。
【図１８】ＰＳＷ配置部によるＰＳＷ配置処理例を示す図である。
【図１９】配置リージョン設定処理を説明するためのフローチャート図である。
【図２０】物理情報に記憶されるデータ例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１４】
パワーゲーティングとは、一時的に動作していない回路へ電源を遮断することでリーク電流を削減する技術であり、チップ内部で電源制御を行う方式をオンチップパワーゲーティングと言う。
【００１５】
図１は、パワーゲーティングの構成例を示す図である。図１に示すチップ１は、ＰＭＵ（Power Management Unit）３と、ＰＳＷ（Power SWitch）２と、ＰＤ（Power Domain）４と、アイソレータ５とを有する。ＰＤ４は複数あってもよい。
【００１６】
ＰＭＵ３は、電源制御を行う論理回路であり、クロック供給源３ａと、ＦＦ（フリップフロップ）３ｂ、３ｃ、及び３ｄとを有する。クロック供給源３ａからの信号に応じて、ＰＤ４に対する電源制御が行われる。
【００１７】
ＦＦ３ｂは、ＰＳＷ制御信号を送出し、ＰＳＷ２のＯＮ／ＯＦＦを制御して、電源制御の対象となるＰＤ４の低消費電力化を行う。ＦＦ３ｃは、アイソレータ５へ電源ＯＮ／ＯＦＦの信号を送出する。ＦＦ３ｄは、ＰＤ４に対してクロックゲーティングを行うための、クロック制御信号を送出する。
【００１８】
ＰＳＷ２は、電源電圧ＶＤＤのＰＤ４への供給を、ＰＭＵ３からのＰＳＷ制御信号に応じて電源の供給をＯＮ又はＯＦＦする。ＰＤ４は、電源電圧ＶＳＳに接続され、ＰＭＵ３による電源制御により、実際にはVirtual ＶＤＤが印加されることにより動作する。アイソレータ５は、電源ＯＮ／ＯＦＦによる不定伝播を抑止する。
【００１９】
図２は、ＰＳＷの代表的な配置例を示す図である。図２（Ａ）では、リング型（マクロ型）ＰＳＷの配置例を示している。リング型（マクロ型）のＰＳＷ２ａの形状は、正方形（または、長方形）であり、図２（Ｂ）のカラム型ＰＳＷ２ｂよりサイズが大きい。ＰＤ４ａの周辺にＰＳＷ２ａが配置される。
【００２０】
図２（Ｂ）では、カラム型（スタンダードセル型）ＰＳＷの配置例を示している。カラム型ＰＳＷ２ｂの形状は、長方形である。カラム型ＰＳＷ２ｂでは、主に、縦型配置、横型配置、千鳥型配置等がある。
【００２１】
縦型配置では、カラム型ＰＳＷ２ｂの長辺同士を、隙間を空けずに隣り合わせた列をＰＤ４ｂ内部に所定間隔で配置する。横型配置では、カラム型ＰＳＷ２ｂの短辺同士を、隙間を空けずに隣り合わせた例をＰＤ４ｂ内部に所定間隔で配置する。千鳥型配置では、縦型配置において、カラム型ＰＳＷ２ｂを所定間隔で配置する。
【００２２】
図３は、リング型ＰＳＷとカラム型ＰＳＷの特徴を説明するための図である。図３において、エリアＩ／Ｏを採用したチップ１内に、リング型ＰＳＷとカラム型ＰＳＷを配置した場合で、ＩＲドロップを説明する。
【００２３】
チップ１内の電源バンプ１ｂは、エリアＩ／Ｏ領域に配置された電源Ｉ／Ｏから電源供給を受ける。
【００２４】
ＰＤ６ａは、リング型ＰＳＷ２ａが周辺に配置されたパワードメインである。ＰＤ６ａのリング型ＰＳＷ２ａのなかには、内部に配置された電源バンプ１ｂから電源供給を受ける場合がある。この場合、ＰＤ６ａ内に配置された通常セル７に、ＰＤ６ａの外周部のリング型ＰＳＷ２ａを経由して電源が供給される。よって、ＩＲドロップが発生し易い。
【００２５】
ＰＤ６ｂは、カラム型ＰＳＷ２ｂが内部に配置されたパワードメインである。ＰＤ６ｂのカラム型ＰＳＷ２ｂは、内部に配置された電源バンプ１ｂから電源供給を受け、近傍の通常セル７に電源を供給することができる。従って、リング型ＰＳＷ２ａを配置したＰＤ６ａと比べた場合、ＩＲドロップを小さくすることができる。
【００２６】
しかしながら、カラム型ＰＳＷ２ｂはタイミング収束性を悪化させる場合がある。千鳥型配置でタイミング収束性が悪化する場合を説明する。図４は、タイミング収束性が悪化する例を説明するための図である。図４に示すＰＤ６ｃにおいて、カラム型ＰＳＷ２ｂ−１及び２ｂ−２は、電源配線との接続を持つため、通常、配置後に移動することができない。
【００２７】
新規セル７ａをカラム型ＰＳＷ２ｂ−１に隣接する通常セル７ｂの左側の領域に追加する場合、この領域が新規セル７ａのサイズより狭いと、新規セル７ａの追加によって、通常セル７ｂと新規セル７ａとにおいてセルオーバーラップが発生する。
【００２８】
このセルオーバーラップを解消するために、通常セル７ｂを隣接するカラム型ＰＳＷ２ｂ−１の左側から反対側の右側へと配置を変更（セルジャンプ）することが考えられる。このようなセルジャンプは、新規セル７ａと通常セル７ｂ間のタイミングを悪化させてしまう。よって、セル配置変更後のタイミング検証では、収束性が悪くなる。
【００２９】
また、カラム型ＰＳＷ２ｂ−２の左側に隣接する通常セル７ｃのサイズを変更して大きくした場合、通常セル７ｃと、通常セル７ｃの左側に隣接する通常セル７ｄとにおいてセルオーバーラップが発生する。
【００３０】
このセルオーバーラップを解消するために、通常セル７ｃを近傍の空いている領域、例えば、カラム型ＰＳＷ２ｂ−２の上辺に配置を変更（セルジャンプ）することが考えられる。このようなセルジャンプは、通常セル７ｄとサイズを変更した通常セル７ｃ間のタイミングを悪化させてしまう。よって、セル配置変更後のタイミング検証では、収束性が悪くなる。
【００３１】
このようなタイミング収束性の悪化は、ＲＯＷ使用率が高ければ高いほど、つまり、ＲＯＷに対するセル数が多ければ多い程、顕著になる。また、パフォーマンス（クロック周波数）が高ければ高い程、タイミング収束性の悪化が顕著になる。
【００３２】
上述では、千鳥配置の例で説明しているが、縦配置及び横配置の方が、まとまった障害物になるため、よりセルジャンプが起こりやすい。タイミング収束性の悪化は、カラム型ＰＳＷ２ｂに共通の課題と言える。
【００３３】
本実施例では、図５に例示されるように、カラム型ＰＳＷを配置することにより、タイミング収束性を改善する。図５は、本実施例におけるカラム型ＰＳＷ２ｂの配置結果例を示す図である。
【００３４】
図５において、チップの一つのＰＤ＿１にてカラム型ＰＳＷ２ｂの配置結果例を示す。ＰＤ＿１内において、論理モジュールグループＭ１に属する複数の通常セル７ｇ、論理モジュールグループＭ２に属する複数の通常セル７ｕ、論理モジュールグループＭ３に属する複数の通常セル７ｙ、・・・、論理モジュールグループＭｉに属する複数の通常セル７ｐ等を、論理モジュールグループグループ毎に囲むようにカラム型ＰＳＷ２ｂ（以下、簡潔に「ＰＳＷ２ｂ」と言う）を配置する。
【００３５】
即ち、本実施例では、以下の処理を行う。
・任意の論理モジュールグループに属するセルの配置領域の周辺にカラム型ＰＳＷ２ｂを配置する。
・任意の論理モジュールの配置領域を囲むように、配置リージョンを設定する。
【００３６】
図６は、配置リージョンの例を示す図である。図６において、本実施例では、任意の論理モジュールグループに属する通常セル７の配置領域を囲むように、配置リージョン８を設定する。配置リージョン８に囲まれるセルは、その配置リージョン８外に配置することはできない。つまり、論理モジュールグループ内のセルは、ＰＳＷ２ｂを越えてジャンプして配置することはできない。
【００３７】
本実施例に係る設計装置は、図７に示すようなハードウェア構成を有する。図７は、設計装置のハードウェア構成を示す図である。図７において、設計装置１００は、コンピュータによって制御される端末であって、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００３８】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って設計装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００３９】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００４０】
入力装置１４は、マウス、キーボード等を有し、ユーザが設計装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。 
設計装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって設計装置１００に提供される。
【００４１】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と設計装置１００とのインターフェースを行う。
【００４２】
また、記憶媒体１９に、後述される本実施例に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して設計装置１００にインストールされる。インストールされたプログラムは、設計装置１００により実行可能となる。
【００４３】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００４４】
図８は、設計装置の機能構成例を示す図である。図８において、設計装置１００は、主に、フロアプラン部４０と、ＰＳＷ配置位置決定部５０と、レイアウト設計部６０とを有する。フロアプラン部４０と、ＰＳＷ配置位置決定部５０と、レイアウト設計部６０とは、ＣＰＵ１１が対応するプログラムを実行することによる処理によって実現される。また、記憶部１３０は、設計仕様情報３０、ネットリスト３１、物理情報３２、セルライブラリ３３等を記憶する。
【００４５】
フロアプラン部４０は、ネットリスト３１及び設計仕様情報３０に基づいて、チップ内に、複数の論理モジュールを含む各ＰＤの配置位置を決定する。各ＰＤ配置位置を示す物理情報３２が記憶部１３０に出力される。本実施例では、フロアプラン部４０において、ＰＤ毎のＰＳＷの配置位置を決定しない。
【００４６】
ＰＳＷ配置位置決定部５０は、ＰＤ毎にＰＤ内のＰＳＷの配置位置を決定する。ＰＳＷ配置位置決定部５０は、グループ化部５１と、仮配置部５２と、ＰＳＷ配置部５３と、配置リージョン設定部５４と有する。
【００４７】
グループ化部５１は、ネットリスト３１に基づいて、ＰＤ毎に、設計仕様情報３０を参照して論理モジュールをグループ化する。
【００４８】
仮配置部５２は、通常セルを仮配置する。仮配置部５２は、カラム型ＰＳＷのサイズ分の領域を確保して、電源制御されるＰＤ毎にＰＤ内に通常セルを仮配置する。つまり、カラム型ＰＳＷを配置する領域には、通常セルを仮配置しない。カラム型ＰＳＷを配置する領域は、各論理モジュールの周辺に確保される。また、チップ内の電源制御されない領域においても、通常セルを仮配置する。記憶部１３０に記憶された物理情報３２に、通常セルの配置位置が追加される。
【００４９】
ＰＳＷ配置部５３は、各ＰＤに対して、論理モジュール毎に論理モジュールの周辺に確保した領域にＰＳＷを配置する。物理情報３２に、ＰＳＷの配置位置が追加される。
【００５０】
配置リージョン設定部５４は、物理情報３２を参照して、論理モジュールグループ周辺のＰＳＷの配置位置を示すＰＳＷ座標に基づいて、通常セルが配置される境界を示す配置リージョンを設定する。物理情報３２に、配置リージョン毎に配置リージョンを表す座標群が追加される。
【００５１】
レイアウト設計部６０は、ネットリスト３１及び物理情報３２を用いて、レイアウト設計を行う。
【００５２】
フロアプラン部４０の処理後に、本実施例に係るＰＳＷ配置位置決定部５０による処理を行うことで、レイアウト設計部６０では、配置リージョンに従って通常セルの配置が定まるため、通常セルが、配置リージョンを超えて、即ち、ＰＳＷをジャンプして配置されることがない。従って、本実施例の適用のない、フロアプラン部４０によってＰＳＷを所定の配置方法によって配置した後に通常セルを仮配置した場合に比べて、チップのレイアウト後のタイミング検証において収束性を良くすることができる。
【００５３】
設計仕様情報３０は、開発するチップの設計仕様が示されている。ネットリスト３１は、セル間の接続情報を含む。また、ネットリスト３１は、論理モジュールを階層構造で示した情報を含んでいる（図９）。物理情報３２には、ＰＤの配置位置、通常セルの配置位置、ＰＳＷの配置位置、及び配置リージョンの配置位置の座標が記憶される。セルライブラリ３３には、カラム型ＰＳＷ２ｂ等を含む複数種類のセルの情報がライブラリとして記憶されている。
【００５４】
ＰＳＷ配置位置決定部５０が参照するネットリスト３１の構成例を図９で説明する。図９は、ネットリストの構成例を示す図である。図９において、ネットリスト３１では、論理モジュールＡ、Ｂ、Ｃ、・・・、ａａ、ａｂ、ａｃ、・・・ａａ１、ａａ２、ａａ３、・・・が階層構造で示されている。
【００５５】
最上位の論理モジュールＡ、Ｂ、Ｃ等が、夫々、ＰＤ＿１、ＰＤ＿２、ＰＤ＿３等に相当する例を示しているが、ネットリスト３１には、これらの論理モジュール以外に電源制御を行わない、つまり、常時電源ＯＮ状態とする論理モジュールの情報も含まれている。
【００５６】
論理モジュール毎に、論理モジュールを構成する論理モジュールが示される。例えば、最上位層の論理モジュールＡは、論理モジュールａａ、ａｂ、ａｃ、・・・を含む。更に、モジュールａａは、論理モジュールａａ１、ａａ２、ａａ３、・・・を含む。
【００５７】
グループ化部５１によって、例えば、論理モジュールａａが論理モジュールグループＭ１に分類される。つまり、論理モジュールａａに含まれる論理モジュールａａ１、ａａ２、ａａ３、・・・が同じ論理モジュールグループＭ１に分類される。
【００５８】
論理モジュールａｂ１が論理モジュールグループＭ２に分類される。つまり、論理モジュールａｂ１のみが論理モジュールグループＭ２に分類される。また、論理モジュールａｂ２のみが論理モジュールグループＭ３に分類される。
【００５９】
以下に、設計装置１００における各処理について説明する。先ず、フロアプラン部４０によるＰＤの配置位置の決定について図１０で説明する。図１０は、フロアプラン部によるパワードメインの配置位置の決定例を示す図である。
【００６０】
図１０において、フロアプラン部４０は、ネットリスト３１を参照して、エリアＩ／Ｏを採用したチップ１０のセル配置領域１０ａにＰＤ＿１、ＰＤ＿２、ＰＤ＿３、・・・ＰＤ＿ｎ（以下、総称して「ＰＤ」と言う）の配置位置を決定する。パワードメインに配置する論理モジュールは、設計仕様情報３０で定められている。
【００６１】
次に、グループ化部５１によるグループ化処理について図１１で説明する。図１１は、グループ化処理を説明するためのフローチャート図である。図１１において、グループ化部５１は、全てのＰＤ内の論理モジュールはグループに属しているか否かを判断する（ステップＳ１１）。
【００６２】
全てのＰＤ内の論理モジュールがグループに属している場合（ステップＳ１１のＹＥＳ）、グループ化部５１は、このグループ化処理を終了する。次に、仮配置部５２による仮配置処理が実行される。
【００６３】
一方、全てのＰＤ内の論理モジュールがグループに属していない場合（ステップＳ１１のＮＯ）、グループ化部５１は、任意のＰＤを選択する（ステップＳ１２）。
【００６４】
そして、グループ化部５１は、全ての論理モジュールはグループに属しているか否かを判断する（ステップＳ１３）。全ての論理モジュールがグループに属している場合（ステップＳ１３のＹＥＳ）、グループ化部５１は、ステップＳ１１へ戻り、上述同様の処理を実行する。
【００６５】
全ての論理モジュールがグループに属していない場合（ステップＳ１３のＮＯ）、グループ化部５１は、論理階層の上位層から順番に任意の論理モジュールを選択する（ステップＳ１４）。論理階層において、同一レベルの論理モジュールを選択する順番は任意である。
【００６６】
そして、グループ化部５１は、選択した論理モジュールが０．１ＭＧａｔｅであるか否かを判断する（ステップＳ１５）。０．１ＭＧａｔｅ以下である場合（ステップＳ１５のＹＥＳ）、グループ化部５１は、論理モジュールを論理モジュールグループとし（ステップＳ１８）、ステップＳ１３へと戻り、上述同様の処理を繰り返す。
【００６７】
一方、０．１ＭＧａｔｅを超える場合（ステップＳ１５のＮＯ）、グループ化部５１は、当該論理モジュールの１つ下に論理階層が存在するか否かを判断する（ステップＳ１６）。論理階層が存在しない場合（ステップＳ１６のＮＯ）、グループ化部５１は、論理モジュールを論理モジュールグループとし（ステップＳ１８）、ステップＳ１３へと戻り、上述同様の処理を繰り返す。
【００６８】
ステップＳ１８において、論理モジュールグループを決定した際に、ＰＤ毎に、論理モジュールグループとして判断した論理モジュールの識別情報を対応づけた論理モジュールグループ情報３４を記憶部１３０に記憶する。
【００６９】
一方、論理階層が存在する場合（ステップＳ１６のＹＥＳ）、グループ化部５１は、論理モジュールの１つ下の論理階層の任意の論理モジュールを選択する（ステップＳ１７）。論理階層において、同一レベルの論理モジュールを選択する順番は任意である。そして、ステップＳ１５へと戻り、上述同様の処理を繰り返す。
【００７０】
図１２は、グループ化処理の結果例を模擬的に示した図である。図１２では、ＰＤ＿１のグループ化処理の結果例を示している。ＰＤ＿１内に配置される全ての論理モジュールが、論理モジュールグループ１、２、３、・・・ｎにグループ化される。
【００７１】
一般的にパワードメインは５Ｍ〜１０Ｍｇａｔｅ程度の回路規模であるため、上述したグループ化処理によって、凡そ５０〜１００程度の論理モジュールグループ数となる。
【００７２】
上述したグループ化処理では、０．１Ｍｇａｔｅ規模で論理モジュールをグループ化しているが、この値はデザインやテクノロジによって変えてもよい。また、グループ化処理に対応するプログラムにおいて、ユーザ等によって設定可能な変数にしても良い。２８ｎｍデザインの場合、０．１ＭＧａｔｅ規模が実施例として適切な値である。
【００７３】
図１３は、電源バンプの配置間隔と論理モジュールグループの配置領域との関係を説明するための図である。図１３で示すように、電源バンプ１ｂの配置間隔と論理モジュールグループＭｐの配置エリアが同等になるように調整することが、ＩＲドロップを低減する観点において最適な実施例となる。ＰＳＷ２ｂが電源バンプ１ｂの近傍に配置されるため、ＩＲドロップを低減できる。
【００７４】
次に、仮配置部５２による仮配置処理について説明する。図１４は、仮配置処理を説明するための図である。図１４において、仮配置部５２による仮配置処理では、既知の技術を用いる。セル配置コマンドを使用して、チップ全体のセル配置が実施される。
【００７５】
その結果、チップ１０内の、電源制御されるＰＤ＿１〜ＰＤ＿ｎ内及び常時電源供給されるＰＤ＿１〜ＰＤ＿ｎ以外の領域に通常セル７が配置される。通常セル７の配置位置は、物理情報３２に記憶される。
【００７６】
仮配置処理において、下記に示す処理を考慮した通常セル７の配置を行うことが望ましい。
［１］グループ化部５１によってグループ化された各論理モジュールグループにおいて、通常セル７がばらばらにならないようにまとめて配置する。
［２］論理モジュールグループ毎に通常セル７をまとめて配置する際に、論理モジュールグループの配置領域の周辺に、使用するカラム型ＰＳＷ２ｂの大きさ分の領域を確保する。更に、最適化等で通常セル７の配置領域が増加することを考慮して、ＰＳＷ２ｂの配置予定の領域にマージンを設けて確保することがより好ましい。
【００７７】
仮配置部５２による仮配置処理の結果例について説明する。図１５は、仮配置処理の結果例を説明するための図である。
【００７８】
図１５（Ａ）では、上記処理［２］を考慮しなかった場合の通常セル７を配置した場合を示している。この例では、論理モジュールグループＭ１、Ｍ２、及びＭ３毎に通常セル７がまとまるように配置されているが、論理モジュールグループ間には、ＰＳＷ２ｂを配置するための十分な領域が確保されていない。各論理モジュールグループＭ１、Ｍ２、及びＭ３の周辺にＰＳＷ２ｂを配置することができない。
【００７９】
一方、図１５（Ｂ）では、上記処理［１］及び［２］を考慮した本実施例における、通常セル７を配置した場合を示している。この例では、論理モジュールグループＭ１、Ｍ２、及びＭ３毎に通常セル７がまとまるように配置し、かつ、論理モジュールグループ間には、ＰＳＷ２ｂを配置するための十分な領域を確保したため、各論理モジュールグループＭ１、Ｍ２、及びＭ３の周辺にＰＳＷ２ｂを配置することができている。
【００８０】
図１６は、仮配置処理を説明するためのフローチャート図である。図１６において、仮配置部５２は、設計仕様情報３０に基づいて、セルライブラリ３３から、カラム型ＰＳＷ２ｂを選択し（ステップＳ２１）、ＰＳＷ２ｂのサイズを取得する（ステップＳ２２）。選択されたＰＳＷ２ｂのサイズを示すＰＳＷサイズ情報３３−２が記憶部１３０に記憶される。
【００８１】
ステップＳ２３〜Ｓ２７は、仮配置部５２のセル配置本体部分での処理に相当する。
【００８２】
仮配置部５２は、全ＰＤ内部の論理モジュールグループの配置が完了しているか否かを判断する（ステップＳ２３）。全ＰＤ内部の論理モジュールグループの配置が完了している場合（ステップＳ２３のＹＥＳ）、仮配置部５２は、この仮配置処理を終了する。そして、ＰＳＷ配置部５３によるＰＳＷ配置処理が実行される。
【００８３】
一方、全ＰＤ内部の論理モジュールグループの配置が完了していない場合（ステップＳ２３のＮＯ）、仮配置部５２は、論理モジュールグループ情報３４から任意のＰＤを選択し（ステップＳ２４）、ＰＤ内部の全論理モジュールグループの配置が完了しているか否かを判断する（ステップＳ２５）。
【００８４】
ＰＤ内部の全論理モジュールグループの配置が完了している場合（ステップＳ２５のＹＥＳ）、仮配置部５２は、ステップＳ２３へと戻り、上記同様の処理を繰り返す。一方、ＰＤ内部の全論理モジュールグループの配置が完了していない場合（ステップＳ２５のＮＯ）、仮配置部５２は、任意の論理モジュールグループを論理モジュールグループ情報３４から選択する（ステップＳ２６）。
【００８５】
そして、仮配置部５２は、セル配置コマンド（既知の技術）を使い、選択した論理モジュールグループの周辺部に、ＰＳＷサイズ情報３３−２で示されるＰＳＷサイズ分の配置領域を確保しながら、論理モジュールグループを配置する（ステップＳ２７）。論理モジュールグループに属する通常セル７がチップ１０に配置される。通常セル７の配置位置が物理情報３２に記憶される。その後、仮配置部５２は、ステップＳ２３へと戻り、上記同様の処理を繰り返す。
【００８６】
ＰＤに対する処理の完了は、各ＰＤの識別情報に対応させてＰＤフラグを設けることにより確認可能である。同様に、論理モジュールグループに対する処理の完了は、各論理モジュールグループの識別情報に対応させてＬＭＧフラグを設けることにより確認可能である。処理を完了したときに対応するＰＤフラグ或いはＬＭＧフラグに「１」を設定すれば良い。以下の処理においても同様である。
【００８７】
ＰＳＷ配置部５３によるＰＳＷ配置処理について図１７で説明する。図１７は、ＰＳＷ配置処理を説明するためのフローチャート図である。図１７において、ＰＳＷ配置部５３は、論理モジュールグループ情報３４から、任意のＰＤを選択し（ステップＳ３１）、更に、選択したＰＤ内の任意の論理モジュールグループを選択する（ステップＳ３２）。
【００８８】
ＰＳＷ配置部５３は、選択した論理モジュールグループの周りにＰＳＷ２ｂを配置する（ステップＳ３３）。ＰＳＷ２ｂの配置位置が物理情報３２に記憶される。
【００８９】
そして、ＰＳＷ配置部５３は、未処理の論理モジュールグループが残っているか否かを判断する（ステップＳ３４）。残っている場合（ステップＳ３４のＹＥＳ）、ＰＳＷ配置部５３は、ステップＳ３２へと戻り、上記同様の処理を繰り返す。
【００９０】
一方、残っている場合（ステップＳ３４のＮＯ）、ＰＳＷ配置部５３は、未処理のＰＤが残っているか否かを判断する（ステップＳ３５）。残っている場合（ステップＳ３５のＹＥＳ）、ＰＳＷ配置部５３は、ステップＳ３１へと戻り、上記同様の処理を繰り返す。一方、残っていない場合（ステップＳ３５のＮＯ）、ＰＳＷ配置部５３は、このＰＳＷ配置処理を終了する。そして、配置リージョン設定部５４による配置リージョン設定処理が実行される。
【００９１】
次に、ＰＳＷ配置部５３によるＰＳＷ配置処理例を説明する。図１８は、ＰＳＷ配置部によるＰＳＷ配置処理例を示す図である。図１８（Ａ）は、ＰＤ＿１に対する仮配置処理を行った結果例を示している。この状態では、通常セル７が仮配置されたのみで、ＰＳＷ２ｂは配置されていない。よって、物理情報３２には、ＰＤ＿１、ＰＤ＿２、ＰＤ＿３、・・・の配置位置と、通常セル７の配置位置のみが記憶されている。
【００９２】
図１８（Ｂ）は、ＰＤ＿１に対するＰＳＷ配置処理を行った結果例を示している。ＰＳＷ配置処理が実行されことにより、論理モジュールグループＭ１、Ｍ２、Ｍ３、・・・の夫々の周りにＰＳＷ２ｂが配置されている。ここで、物理情報３２に、ＰＳＷの配置位置が追加して記憶される。
【００９３】
次に、配置リージョン設定部５４による配置リージョン設定処理を説明する。図１９は、配置リージョン設定処理を説明するためのフローチャート図である。図１９において、配置リージョン設定部５４は、論理モジュールグループ情報３４を参照して、全ＰＤ内部の論理モジュールグループに配置リージョンが設定されているか否かを判断する（ステップＳ４１）。
【００９４】
配置リージョン設定部５４は、論理モジュールグループ情報３４から、任意のＰＤを選択して（ステップＳ４２）、ＰＤ内部の全論理モジュールグループに配置リージョンが設定されているか否かを判断する（ステップＳ４３）。配置リージョンが設定されている場合（ステップＳ４３のＹＥＳ）、配置リージョン設定部５４は、ステップＳ４１へと戻り、上記同様の処理を繰り返す。
【００９５】
一方、配置リージョンが設定されていない場合（ステップＳ４３のＮＯ）、配置リージョン設定部５４は、論理モジュールグループ情報３４から任意の論理モジュールグループを選択する（ステップＳ４４）。
【００９６】
そして、配置リージョン設定部５４は、論理モジュールグループの周辺のＰＳＷの配置位置を示すＰＳＷ座標に合わせて、配置リージョンを作成し（ステップＳ４５）、ステップＳ４３へと戻り、上記同様の処理を繰り返す。物理情報３２には、配置リージョンを表す座標群が記憶される。
【００９７】
次に、本実施例において物理情報３２に記憶されるデータ例について説明する。図２０は、物理情報に記憶されるデータ例を示す図である。図２０において、フロアプラン部４０によって、物理情報３２に、各パワードメインの配置位置を座標で示したＰＤ配置位置情報３２ａが記憶される。ＰＤ配置位置情報３２ａでは、パワードメインの識別情報であるＰＤ＿１、ＰＤ＿２、・・・、ＰＤ＿ｎの夫々に対応付けて配置位置の座標が記憶される。
【００９８】
また、グループ化部５１によって、物理情報３２のＰＤ配置位置情報３２ａに対して、ＰＤ毎にグループ化した論理モジュールを示すグループ情報が付加される。図９の例において、ＰＤ＿１には論理モジュールの識別情報であるａａが対応づけられ、ＰＤ＿２には論理モジュールの識別情報であるａｂ１が対応づけられ、ＰＤ＿３には論理モジュールの識別情報であるａｂ２が対応づけられれば良い。
【００９９】
仮配置部５２によって、物理情報３２に、通常セル７の配置位置を座標で示した通常セル配置位置情報３２ｂが記憶される。通常セル配置位置情報３２ｂでは、通常セル７の識別情報であるＳ＿ｃｅｌｌ＿１、Ｓ＿ｃｅｌｌ＿２、・・・、Ｓ＿ｃｅｌｌ＿ｎの夫々に対応付けて配置位置の座標が記憶される。
【０１００】
ＰＳＷ配置部５３によって、物理情報３２に、ＰＳＷ２ｂの配置位置を座標で示したＰＳＷ配置位置情報３２ｃが記憶される。ＰＳＷ配置位置情報３２ｃでは、ＰＳＷ２ｂの識別情報であるＰＳＷ＿１、ＰＳＷ＿２、・・・、ＰＳＷ＿ｎの夫々に対応付けて配置位置の座標が記憶される。
【０１０１】
配置リージョン設定部５４によって、物理情報３２に、配置リージョン８の配置位置を座標で示した配置リージョン配置位置情報３２ｄが記憶される。配置リージョン配置位置情報３２ｄでは、配置リージョン８の識別情報であるＲＥＧＩＯＮ＿１、ＲＥＧＩＯＮ＿２、・・・、ＲＥＧＩＯＮ＿ｎの夫々に対応付けて配置位置の座標が記憶される。
【０１０２】
上述したように、本実施例では、カラム型ＰＳＷ２ｂを採用したＬＳＩ設計において、パワードメイン毎に論理モジュールをグループ化して通常セル７を仮配置した後に、ＰＳＷ２ｂを論理モジュールグループの周辺に配置することで、タイミング収束性を改善することができる。
【０１０３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１０４】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
コンピュータによって実行される設計方法であって、
チップに配置されたパワードメイン毎に論理モジュールをグループ化し、
グループ化した論理モジュールグループ毎に通常セルを仮配置し、
パワースイッチを前記論理モジュールグループの周辺に配置する
ことを特徴とする設計方法。
（付記２）
前記周辺に配置した前記パワースイッチの配置位置に基づいて、配置リージョンを作成する
ことを特徴とする付記１記載の設計方法。
（付記３）
前記チップに前記パワードメインを配置するフロアプランを行い、
前記フロアプランでは前記パワースイッチの配置を行わない
ことを特徴とする付記２記載の設計方法。
（付記４）
前記グループ化は、前記グループ化の基準であるグループサイズに基づいて、前記論理モジュールをグループ化する
ことを特徴とする付記３記載の設計方法。
（付記５）
記憶部に格納された、前記フロアプランによって配置された前記パワードメインの配置位置を記憶した物理情報に対して、
前記仮配置において、前記通常セルの配置位置を記憶し、
前記パワースイッチの配置において、前記論理モジュールグループの周辺に配置した前記パワースイッチの配置位置を記憶し、
前記配置リージョンの作成において、前記配置リージョンの配置位置を記憶する
ことを特徴とする付記４又は５記載の設計方法。
（付記６）
チップに配置されたパワードメイン毎に論理モジュールをグループ化し、
グループ化した論理モジュールグループ毎に通常セルを仮配置し、
パワースイッチを前記論理モジュールグループの周辺に配置する
処理をコンピュータに実行させる設計プログラム。
（付記７）
チップに配置されたパワードメイン毎に論理モジュールをグループ化するグループ化部と、
グループ化した論理モジュールグループ毎に通常セルを仮配置する仮配置部と、
パワースイッチを前記論理モジュールグループの周辺に配置するパワースイッチ配置部と
を有することを特徴とする設計装置。
（付記８）
パワードメインを有するデバイスであって、
前記パワードメインに配置された通常セルはグループ化され、各グループの周辺にパワースイッチが配置されていることを特徴とするデバイス。
【符号の説明】
【０１０５】
１、１ａ、１０      チップ
１ｂ          電源バンプ
２            ＰＳＷ
２ａ          リング型ＰＳＷ
２ｂ          カラム型ＰＳＷ
３            ＰＭＵ
４            ＰＤ
５            アイソレータ
７            通常セル
８            配置リージョン
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３０          設計仕様情報
３１          ネットリスト
３２          物理情報
３３          セルライブラリ
３３−２      ＰＳＷサイズ情報
３４          論理モジュールグループ情報
４０          フロアプラン部
５０          ＰＳＷ配置位置決定部
５１          グループ化部
５２          仮配置部
５３          ＰＳＷ配置部
５４          配置リージョン設定部
６０          レイアウト設計部
１００        設計装置
１３０        記憶部
【図１】
2015069333.tif 000003
【図２】
2015069333.tif 000004
【図３】
2015069333.tif 000005
【図４】
2015069333.tif 000006
【図５】
2015069333.tif 000007
【図６】
2015069333.tif 000008
【図７】
2015069333.tif 000009
【図８】
2015069333.tif 000010
【図９】
2015069333.tif 000011
【図１０】
2015069333.tif 000012
【図１１】
2015069333.tif 000013
【図１２】
2015069333.tif 000014
【図１３】
2015069333.tif 000015
【図１４】
2015069333.tif 000016
【図１５】
2015069333.tif 000017
【図１６】
2015069333.tif 000018
【図１７】
2015069333.tif 000019
【図１８】
2015069333.tif 000020
【図１９】
2015069333.tif 000021
【図２０】
2015069333.tif 000022