(57)【要約】【課題】  本発明の課題は、スタンダードセル方式においてＩＲドロップを改善することを目的とする。【解決手段】  上記課題は、スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置することを特徴とする設計方法により達成される。【選択図】  図１０
2015102908.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
ことを特徴とする設計方法。
【請求項２】
前記スタンダードセルの内部配線構成を記述した第２セルファイルに、前記スタンダードセルの配線密度に基づいて、前記フォローピン幅のパラメータを追加した前記第１セルファイルを記憶部に記憶し、
前記仮配置は、前記記憶部に記憶された前記第１セルファイルを参照する
ことを特徴とする請求項１記載の設計方法。
【請求項３】
前記幅変化条件は、重なりを持たない距離チェックのルールで示し、
前記再配置は、前記仮配置されたスタンダードセルにおいて、前記幅変化条件に違反する条件違反セルに対する隣接セルから中心方向における、前記隣接セルのルールが適用される範囲から、前記条件違反セルと入替可能なスタンダードセルを検索する
ことを特徴とする請求項２記載の設計方法。
【請求項４】
前記幅変化条件は、重なりを持つ距離チェックのルールで示し、
前記再配置は、前記仮配置されたスタンダードセルにおいて、前記幅変化条件に違反する条件違反セルに対する隣接セルから中心方向における、前記隣接セルの重なる２つのルールが適用される範囲から、前記条件違反セルと入替可能なスタンダードセルを検索する
ことを特徴とする請求項２記載の設計方法。
【請求項５】
記憶部と、プロセッサとを有し、前記プロセッサは、
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを前記記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
処理を実行する設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計方法及び装置に関する。
【背景技術】
【０００２】
半導体集積回路（以下、チップと言う）の設計において、あらかじめ設計され標準化されている機能セルを組み合わせて配置・配線するスタンダードセル方式を用いた設計方法がある。
【０００３】
先端プロセスでは、特に、トランジスタに供給する電圧降下（ＩＲドロップ）が顕在化している。特に、電源に近い領域では大電流に対してＩＲドロップが発生することが知られている。
【０００４】
このＩＲドロップ対策として、パワーグリッドにおいて、垂直軸に対して位置合わせされる複数の垂直なパワーレールの夫々の幅と、水平軸に対して位置合わせされる複数の水平なパワーレールの夫々の幅とを、集積回路の境界から集積回路の中心に一様な電圧傾度を有するように構成することが提案されている。また、電源補強セルにより電源補強を実現すること等が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２５８９５２号公報
【特許文献２】特開２００７−２０７９９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＩＲドロップ対策として、電源占有率の補強や電源ＩＯの補強を行う場合、補強セル等の挿入による面積の増加、配線性の悪化等の問題がある。テクノロジによっては通常電源配線として使用されている第１メタル（Ｍ１）層だけでなく上層の第２メタル（Ｍ２）層を使用し、Ｍ１、ビア、及びＭ２で配線強化して、ＩＲドロップ対策を実施することも考えられるが、他配線層を使用することによる他の設計への影響を無視できない。
【０００７】
１つの側面では、本発明は、スタンダードセル方式においてＩＲドロップを改善することである。
【課題を解決するための手段】
【０００８】
本実施例の一態様によれば、スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する設計方法が提供される。
【０００９】
また、上記課題を解決するための手段として、上記方法を行う設計装置、コンピュータに上記方法を実行させるプログラム、及び、そのプログラムを記憶した記憶媒体とすることもできる。
【発明の効果】
【００１０】
本実施例の一態様によれば、スタンダードセル方式においてＩＲドロップを改善できる。
【図面の簡単な説明】
【００１１】
【図１】ＩＲドロップの解析例を示す図である。
【図２】ＳＣ領域の例を示す図である。
【図３】回路設計装置のハードウェア構成を示す図である。
【図４】回路設計処理全体のフローチャート図である。
【図５】フォローピン幅追加処理を説明するためのフローチャート図である。
【図６】フォローピン幅が拡張可能な場合のＳＣ例を示す図である。
【図７】フォローピン幅が拡張不可の場合のＳＣ例を示す図である。
【図８】図４のステップＳ１９でのフォローピン最適化処理を説明するためのフローチャート図である。
【図９】セル入替処理の第１実施例を説明するためのフローチャート図である。
【図１０】第１実施例におけるセル入替の一例を示す図である。
【図１１】第１実施例におけるセル入替処理の他の例を示す図である。
【図１２】セル入替処理の第２実施例を説明するためのフローチャート図である。
【図１３】第２実施例におけるセル入替の一例を示す図である。
【図１４】第２実施例におけるセル入替処理の他の例を示す図である。
【図１５】ＳＣを複数のフォローピン幅でラインナップしたＬＥＦの記述例を説明するための図である。
【図１６】フォローピン最適化処理の有無の比較を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて説明する。先ず、電圧降下（ＩＲドロップ）について、図１で簡単に説明する。図１は、ＩＲドロップの解析例を示す図である。図１に示すＩＲドロップの解析例では、ＩＲドロップ量を等高線マップで示している。ＬＳＩ９の電源から遠い領域の中心部に向かって降下量が積み重なった状況を示している。
【００１３】
特に、電源に近い領域（ＬＳＩ９の外周部）では大電流に対してＩＲドロップが発生するため降下量が多い。
【００１４】
スタンダードセルの各フォローピン幅は、一般に一律であるが、本実施例では、フォローピン毎にＩＲドロップの改善策を行う。発明者は、フォローピンに使用されている第１メタル（Ｍ１）層は、ＳＣ（通常セル）内部の電源配置のみに使用されていることに着目し、スタンダードセル（以下、ＳＣと言う）内部でフォローピンの幅を調整する手法を以下に提案する。つまり、ＳＣのフォローピンの幅を変えたラインナップを準備し、それを最適に配置することにより、ピンポイントでＩＤドロップを緩和する。
【００１５】
図２は、ＳＣ領域の例を示す図である。図２では、ＬＳＩ９には、２つのマクロセル８と、１つＳＣ領域７とが配置される場合の一例を示している。マクロセル８及びＳＣ領域７の各々は、機能ブロックに相当し、ブロックリング９ｂによってその領域が区切られている。
【００１６】
また、パワーメッシュ９ａによりマクロセル８及びＳＣ領域７へ電源供給され、ＩＯワイヤ９ｃによりデータの入出力が行われる。本実施例は、ＳＣ領域７におけるＩＲドロップを改善する。
【００１７】
図２に例示される配置を満たすように配置配線（Ｐ＆Ｒ：Place and Route）を行った後に、本実施例に係るフォローピン最適化処理を行う。
【００１８】
本実施の形態における回路設計装置は、図３に示すようなハードウェア構成を有する。図３は、回路設計装置のハードウェア構成を示す図である。図３において、回路設計装置１００は、コンピュータによって制御される端末であり、フォローピン最適化を行う設計装置に相当する。回路設計装置１００は、ＣＰＵ（Central Processing Unit）１１と、主記憶装置１２と、補助記憶装置１３と、入力装置１４と、表示装置１５と、通信Ｉ／Ｆ（インターフェース）１７と、ドライブ装置１８とを有し、バスＢに接続される。
【００１９】
ＣＰＵ１１は、主記憶装置１２に格納されたプログラムに従って回路設計装置１００を制御する。主記憶装置１２には、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等が用いられ、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、主記憶装置１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００２０】
補助記憶装置１３には、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置１３に格納されているプログラムの一部が主記憶装置１２にロードされ、ＣＰＵ１１に実行されることによって、各種処理が実現される。記憶部１３０は、主記憶装置１２及び／又は補助記憶装置１３を有する。
【００２１】
入力装置１４は、マウス、キーボード等を有し、ユーザが回路設計装置１００による処理に必要な各種情報を入力するために用いられる。表示装置１５は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。通信Ｉ／Ｆ１７は、例えばインターネット、ＬＡＮ（Local Area Network）等に接続し、外部装置との間の通信制御をするための装置である。通信Ｉ／Ｆ１７による通信は無線又は有線に限定されるものではない。
【００２２】
回路設計装置１００によって行われる処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）等の記憶媒体１９によって回路設計装置１００に提供される。
【００２３】
ドライブ装置１８は、ドライブ装置１８にセットされた記憶媒体１９（例えば、ＣＤ−ＲＯＭ等）と回路設計装置１００とのインターフェースを行う。
【００２４】
また、記憶媒体１９に、後述される本実施の形態に係る種々の処理を実現するプログラムを格納し、この記憶媒体１９に格納されたプログラムは、ドライブ装置１８を介して回路設計装置１００にインストールされる。インストールされたプログラムは、回路設計装置１００により実行可能となる。
【００２５】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、ＣＤ−ＲＯＭの他に、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。
【００２６】
図４は、回路設計処理全体のフローチャート図である。図４において、記憶部１３０は、ネットリスト３１ａ、ＳＤＣ（Synopsys Design Constraints）３２、ＤＦＴ（Design For Testability）３３等を記憶し、チェッカー／アナライザー４によって、各データが検証される。
【００２７】
ネットリスト３１ａは、セル間の接続関係を定義した接続情報を示すデータファイルである。接続情報は、ハードウェア記述言語で示され、例えば、ＲＴＬ（Resister Transfer Level）で記述される。ＳＤＣ３２は、タイミング制約条件を示すデータファイルである。ＤＦＴ３３は、製品化されたＬＳＩ９の出荷テストを容易化するためにＬＳＩ９内部に実装されるテスト回路とテストパターンとを所定の記述形式によって記述したデータファイルである。
【００２８】
チェッカー／アナライザー４は、ネットリストチェック４ａと、ＳＤＣチェック４ｂと、ＤＦＴチェック４ｃと、タイミング解析４ｄと、電力解析４ｅ等の機能、即ち、チェック又は解析を行う処理部を有する。
【００２９】
ネットリストチェック４ａは、ネットリスト３１ａで示される接続関係が適切に記述されているか否か等を検証する。ＳＤＣチェック４ｂは、ネットリスト３１ａで示される接続関係が、ＳＤＣ３２で示されるタイミング制約条件を満たすか否か等を検証する。ＤＦＴチェック４ｃは、ＤＦＴ３３で示されるテスト回路とテストパターンとが適切な動作を記述しているか否か等を検証する。
【００３０】
タイミング解析４ｄは、ネットリスト３１ａ、ＤＦＴ３３等の記述レベルで、ＳＤＣ３２で定義されるタイミング制約が守られているか否かを解析する。電力解析４ｅは、ネットリスト３１ａ、ＤＦＴチェック４ｃに基づいて、ＬＳＩ９の記述レベルでの電力解析を行う。
【００３１】
チェッカー／アナライザー４による結果に基づいて、開発者による修正が適宜行われることによって、ＬＳＩ９の設計に利用するネットリスト３１ａ、ＳＤＣ３２、ＤＦＴ３３が記憶部１３０に用意される。チェッカー／アナライザー４によるチェック後のネットリスト３１ａ、ＳＤＣ３２、ＤＦＴ３３をリリースデータと言う。
【００３２】
開発者は、ＬＳＩ９の設計内容のレビューを行って、サインオフ条件を確認する（ステップＳ１０）。また、開発者は、ＬＳＩ９の開発環境をセットアップし（ステップＳ１１）、ライブラリ３４を記憶部１３０に生成する（ステップＳ１２）。
【００３３】
また、開発者は、ネットリスト３１ａに対してタイミング解析４ｄを用いて、ネットリスト３１ａの接続関係がＳＤＣ３２を満たすか否かをレビューする（ステップＳ１３）。そして、テスト容易化設計（ＤＦＴ：Design For testability）を行なう（ステップＳ１４）。ＤＦＴ３３がネットリスト３１ｂに組み込みこまれる。その後、論理合成されたネットリスト３１ｂが記憶部１３０に出力される。
【００３４】
次に、ステップＳ１５〜Ｓ１９により、自動レイアウト処理がＣＰＵ１１によって実行される。タイミング解析４ｄを用いた静的タイミング解析（ＳＴＡ）によって、論理合成後のネットリスト３１ｂにおいて、論理回路の信号伝播のタイミングが検証される（ステップＳ１５）。
【００３５】
そして、タイミング解析４ｄ及び電力解析４ｅの解析結果に基づいてプロトタイピングが行われる（ステップＳ１６）。フロアプランが実行されることにより、例えば、図２に例示したように、ＬＳＩ９にＳＣ領域７とマクロセル８とが重なることなく配置される。
【００３６】
ＬＳＩ９に配置された機能ブロック（ＳＣ領域７及びマクロセル８）に対して配置配線（Ｐ＆Ｒ）が実行される（ステップＳ１８）。自動配置配線ツール等を使用して、ネットリスト３１ａに記述されたセルの配置配線処理が行われる。
【００３７】
配置配線（Ｐ＆Ｒ）後、レイアウトデータ３５ａに対して、本実施例に係るフォローピン最適化が実行される（ステップＳ１９）。ステップＳ１９でのフォローピン最適化処理では、図２のＳＣ領域７において、予め作成し記憶部１３０に格納したＬＥＦ（Library Exchange Format）３６ｂを参照して、配置配線されたＳＣのフォローピン幅をＩＲドロップに応じて調整し、ＳＣの配置を入れ替える等を行って、電圧降下量を低減させ、ＬＳＩ９の安定した動作を実現する。
【００３８】
スタンダードセル方式でＬＳＩを設計する際に、フォローピン最適化処理を行うことによって、ＬＳＩのメタル層へ仮配置したＳＣを、直近の電源線ビアから遠くなるほどフォローピン幅が狭くなるように入れ替えて再配置することで、ＩＲドロップを改善することができる。
【００３９】
ＬＥＦ３６ｂは、同一論理回路を表すＳＣに対して、距離チェックのルールに基づいて複数のフォローピン幅でラインアップしたＳＣ情報を含んだ、ＬＥＦのデータ形式によるデータファイルである。ＬＥＦのデータファイルは、論理回路を表すＳＣのピン等の配置位置、サイズ等の内部配線構成のデータを含む。
【００４０】
フォローピン最適化処理によって、ＳＣ毎にフォローピンが最適化されたレイアウトデータ３５ｂが記憶部１３０に出力される。
【００４１】
上述したような自動レイアウト処理の後、寄生ＲＣを抽出し（ステップＳ２０）、電力検証を行ない（ステップＳ２１）、クロストーク解析（ステップＳ２２）、及びタイミング検証（ステップＳ２３）が実行される。
【００４２】
そして、タイミング検証の結果がエラーを示す場合、タイミング調整のためにセルを変更するタイミングＥＣＯ（Engineering Change Orders）を実行する（ステップＳ２４）。セルの変更によりレイアウトデータ３５ｂが変更されるため、ステップＳ１８へ戻り、タイミング検証によりエラーが検出されなくなるまで、上述した処理を繰り返す。
【００４３】
タイミング検証が正常に終了した場合、物理検証が実行され、物理的にＬＳＩ９のレイアウトが作成され検証される（ステップＳ２９）。
【００４４】
本実施例では、上述したステップＳ１９でのフォローピン最適化処理のために、事前にＬＥＦ３６ｂにフォローピン幅の情報を追加するフォローピン幅追加処理を行う。フォローピン幅追加処理は、ＣＰＵ１１が対応するプログラムを実行することによって行われる。
図５は、フォローピン幅追加処理を説明するためのフローチャート図である。図５に示すフォローピン幅追加処理において、ＣＰＵ１１は、記憶部１３０に記憶されたＬＥＦ３６ａから既存のＳＣを順に参照して、ＳＣの配線密度をチェックする（ステップＳ４１）。
【００４５】
ＣＰＵ１１は、ＳＣの配線幅を変更する余裕があるか否かを判断する（ステップＳ４２）。ＣＰＵ１１は、ＬＥＦ３６ａとデザインルール３７の距離ルールとを参照して、ＳＣの配線幅の余裕を判断する。配線幅を変更する余裕がない場合、ＣＰＵ１１は、通常のＳＣを提供して（ステップＳ４２−２）、ステップＳ４４へと進む。ＣＰＵ１１は、ＬＥＦ３６ａの対象ＳＣにフォローピン幅のパラメータを追加しない。一方、配線幅を変更する余裕がある場合、ＣＰＵ１１は、複数の異なるフォローピン幅のＳＣを作成する（ステップＳ４３）。
【００４６】
そして、ＣＰＵ１１は、ＬＥＦ３６ａにＳＣのフォローピン幅のパレメータを追加する（ステップＳ４４）、未処理のＳＣが有るか否かを判断する（ステップＳ４５）。未処理のＳＣが存在する場合、ＣＰＵ１１は、ステップＳ４１へと戻り、上述同様の処理を繰り返す。一方、ＬＥＦ３６ａの全てのＳＣについて処理済みである場合、ＣＰＵ１１は、フォローピン幅のパラメータを追加したＬＥＦ３６ｂを記憶部１３０に格納して、このフォローピン幅追加処理を終了する。
【００４７】
上述したフォローピン幅追加処理によって、ＳＣの配線密度に応じてフォローピン幅のパラメータが追加される。そして、後述されるフォローピン最適化処理（図８）によって、ＳＣから直近のスタックトビア（電源線ビア）までの距離が離れるほどフォローピン幅が細くなるようにＳＣの再配置が行われる。
【００４８】
上述したフォローピン幅追加処理のステップＳ２４において、フォローピン幅は、以下のように作成される。
・ＶＤＤ又はＶＳＳ（幅ａ）から最隣接のＭ１配線距離を測定（例：距離αμｍ）
・Ｍ１配線距離ルールの最小値βμｍ
・α−β＝γμｍ：フォローピン拡張可能幅
・ａ、ａ＋１／２γ、ａ＋γのように複数のフォローピン幅を持ったＳＣを作成する。
【００４９】
ＳＣの配線幅はテクノロジによって異なる。９０ｎｍプロセスルールに基づく回路例で、フォローピン幅追加処理について説明する。先ず、使用するテクノロジで一番シンプルな回路（例えば、図６のＡＮＤ回路等）でフォローピン幅を拡張できる場合について説明する。
【００５０】
図６は、フォローピン幅が拡張可能な場合のＳＣ例を示す図である。図６を参照すると、
・標準のフォローピン幅：ａ＝０．１６
・フォローピンからの最近接のＭ１配線距離：α＝０．３２
・Ｍ１デザインルールの最小値：β＝０．１２
・フォローピン拡張可能幅：γ＝α−β＝０．２
従って、フォローピンラインナップの例として、ａ＝０．１６μｍ、ａ＋１／２γ＝０．２６μｍ、及びａ＋γ＝０．３６μｍが、フォローピン幅のパラメータとして作成される。
【００５１】
図７は、フォローピン幅が拡張不可の場合のＳＣ例を示す図である。図７を参照すると、
・標準のフォローピン幅：ａ＝０．１６
・フォローピンからの最近接のＭ１配線距離：α＝０．１２
・Ｍ１デザインルールの最小値：β＝０．１２
・フォローピン拡張可能幅：γ＝α−β＝０
従って、配線幅の変更に余裕がないため、フォローピン幅のパラメータは作成されない。
【００５２】
次に、図４のステップＳ１９でのフォローピン最適化処理について図８で説明する。図８は、図４のステップＳ１９でのフォローピン最適化処理を説明するためのフローチャート図である。フォローピン最適化処理は、ＣＰＵ１１が対応するプログラムを実行することによって行われる。
【００５３】
図８において、ＣＰＵ１１は、図４に示すステップＳ１８での配置配線処理が終了すると、フォローピン最適化処理を開始する。ＣＰＵ１１は、ＬＥＦ３５ｂを参照して、各ＳＣから一番近いスタックトビアを特定する（ステップＳ５１）。各ＳＣから一番近いスタックトビアを特定することによって、電圧降下を最も考慮したフォローピン幅に変更することができる。例えば、ＳＣの中心座標とビアの座標間の距離が最短となるスタックトビア（以下、単にビアと言う）を特定する。
【００５４】
そして、ＣＰＵ１１は、レイアウトデータ３５ａを参照して、ビアから各ＳＣの距離を判定し、レイアウトデータ３５ａの該当ＳＣを置き換えるための、デザインルール３７で定められる距離チェックのルールに従ってフォローピン幅を変更したＳＣを取得する（ステップＳ５２）。置換用のＳＣを得る。
【００５５】
その後、ＣＰＵ１１は、隣接するＳＣに対してステップＳ５２で取得したＳＣによる置き換えが可能か否かを判断する（ステップＳ５３）。フォローピン幅はビアからの距離に応じて中心方向へ太幅から細幅の順でＳＣが並ぶ必要がある（以下、これを「幅変化条件」とする。）。
【００５６】
ＣＰＵ１１は、フォローピン幅が細幅から太幅となっているＳＣの配置をチェックする。ＬＥＦ３６ｂを参照して、置き換えるＳＣのフォローピン幅と、隣接するＳＣのフォローピン幅とを比較することによって、ビアから中心に向かう方向に従って、幅変化条件を満たしているか否かがチェックされる。置き換えるＳＣのフォローピン幅によって細幅から太幅となっている場合、幅変化条件を満たしていないと判断する。
【００５７】
取得したＳＣによる置き換え不可の場合（ステップＳ５３のＮＯ）、ＣＰＵ１１は、同一ビアから電源供給される配置済みのＳＣのうち、取得したＳＣと入替可能なＳＣを判断し、入替可能と判断したＳＣと取得したＳＣとを互いに入れ替えるセル入替処理を実行する（ステップＳ５４）。ステップＳ５４でのセル入替処理は、後述される。フォローピン幅が最適化されたレイアウトデータ３５ｂが記憶部１３０に格納される。
【００５８】
一方、取得したＳＣで置き換えが可能な場合（ステップＳ５３のＹＥＳ）、ＣＰＵ１１は、フォローピン幅が最適化されたレイアウトデータ３５ｂが記憶部１３０に格納した後、レイアウトデータ３５ｂを用いて、タイミング及び配線性を再チェックする（ステップＳ５５）。そして、ＣＰＵ１１は、このフォローピン最適化処理を終了する。
【００５９】
図８に示すステップＳ５４のセル入替処理について説明する。ステップＳ５３において、隣接するＳＣに対してＳＣの入れ替えが正しくないと判断する場合がある。即ち、ＳＣによってはフォローピン幅の変更ができない場合がある。その場合には、セル入替処理において、取得したＳＣとの入れ替えが実施される。
【００６０】
先ず、デザインルール３７が距離チェックのルールに重なりを持たせない場合を、第１実施例として図９で説明する。図９は、セル入替処理の第１実施例を説明するためのフローチャート図である。
【００６１】
図９において、ＣＰＵ１１は、ＬＥＴ３６ｂを参照して、隣接するＳＣのルールの領域で、置き換え不可となったルールに対応したフォローピン幅を含んでラインナップされているＳＣを、最適化後のレイアウトデータ３５ｂのＳＣから検索する（ステップＳ６１）。検索されるＳＣは、図８のステップＳ５２で取得したＳＣと同一サブメッシュ間に配置されたＳＣの中から判断される。
【００６２】
サブメッシュは、パワーメッシュよりも微細なメッシュであり、このサブメッシュ上にビア（スタックトビア）が配置されている。
【００６３】
そして、ＣＰＵ１１は、ステップＳ６１で検索したＳＣと、図８のステップＳ５２で取得したＳＣの配置が入れ替わるように、レイアウトデータ３５ｂを書き換える（ステップＳ６２）。
【００６４】
更に、ＣＰＵ１１は、ステップＳ６１で検索したＳＣ及び図８のステップＳ５２で取得したＳＣに対して、夫々のラインナップからデザインルール３７のビアからの距離チェックのルールに合うフォローピン幅のＳＣで、レイアウトデータ３５ｂを更に書き換える（ステップＳ６３）。ＣＰＵ１１は、ステップＳ６１で検索したＳＣで、図８のステップＳ５２で取得したＳＣを入れ替え、更に、各ＳＣを距離チェックのルールに従ったフォローピン幅に変更して、最適化後のレイアウトデータ３５ｂを更新する。
【００６５】
図１０は、第１実施例におけるセル入替処理の一例を示す図である。図１０では、距離チェックのルール間に重なりを持たせない場合でのセル入替処理の例を示している。図１０（Ａ）では、ＳＣ５ａが図８のステップＳ５２で取得したＳＣに相当し、ＳＣ５ｂがＳＣ５ａに隣接するＳＣに相当する。ルールａ、ルールｂ、ルールｃは、互いに重ならない。また、ルールａ、ルールｂ、ルールｃは、上述したフォローピン幅追加処理における、フォローピン幅ａ、ａ＋１／２γ、及びａ＋γを指定する。
【００６６】
検索範囲５ｃは、図８のステップＳ５４でのセル入替処理による検索範囲例を示す。検索範囲５ｃは、例えば、ＳＣ５ａに隣接するＳＣ５ｂの距離チェックのルールｂの領域に相当する。図１０（Ａ）では、ＶＤＤ／ＶＳＳが２ペア（２列（ROW））以上並んだ例で示しているが、１ペア（１列）であっても、２ペア（２列）以上であっても同様である。
【００６７】
ＳＣ５ａのフォローピン幅が隣接のＳＣ５ｂのフォローピン幅以下であると判断した場合、即ち、図８のステップＳ５２で取得したＳＣ５ａでの置き換えは不可であると判断した場合、ＣＰＵ１１は、ＬＥＦ３６ｂを参照して、検索範囲５ｃにおいて、距離チェックのルールａを満たす複数のフォローピン幅によってラインナップされているＳＣを、ＬＥＦ３６ｂから検索する（図９のステップＳ６１）。この例では、ＳＣ５ａに隣接するＳＣ５ｂが検索されたとする。
【００６８】
ＣＰＵ１１は、ＳＣ５ａとＳＣ５ｂの配置を互いに入れ替える。図１０（Ｂ）では、レイアウトデータ３５ｂが書き換えることによって（図９のステップＳ６２）、ＳＣ５ｂのフォローピン幅が距離チェックのルールａに応じた幅で、また、ＳＣ５ａのフォローピン幅が距離チェックのルールｂに応じた幅で、配置を互いに入れ替えた状態（図９のステップＳ６３）を示している。
【００６９】
図１１は、第１実施例におけるセル入替処理の他の例を示す図である。図１１（Ａ）では、最適化前のＶＤＤ又はＶＳＳのサブメッシュ間の１ペアにおける、図４のステップＳ１８の配置配線後のレイアウトデータ３５ａに基づくＳＣ７ａからＳＣ７ｇの配置を示している。
【００７０】
図１１（Ａ）において、サブメッシュ間において、デザインルール３７で定義される距離チェックのルールａ、ｂ、及びｃを示している。ルールａ、ｂ、及びｃは互いに重なりを持たない。図１１（Ｂ）、図１１（Ｃ）においても同様である。
【００７１】
図１１（Ｂ）は、図１１（Ａ）の配置配線に対するフォローピン幅の最適化後の状態を示している。図１１（Ｂ）において、サブメッシュ側から中心へ向かう方向で、ＳＣ７ａのフォローピン６ａの幅ｗ１と、隣のＳＣ７ｂのフォローピン６ａの幅ｗ２とを比較すると、フォローピン幅ｗ１よりフォローピン幅ｗ２が幅太になっており、上述した幅変化条件を満たしていない。従って、ＳＣ７ａによる置き換えは不可となる。
【００７２】
隣接するＳＣ７ｂのルールｂの領域は、ＳＣ７ｂ及びＳＣ７ｃであり、検索範囲５ｃに相当する。ＣＰＵ１１は、ＬＥＦ３６ｂから、ＳＣ７ｂ及びＳＣ７ｃのフォローピン幅を参照する。ＳＣ７ｂ及びＳＣ７ｃから、ＳＣ７ａのルールａを満たすＳＣを検索する。この例では、ＳＣ７ｃがルールａを満たすフォローピン幅を持つと判断される。ＳＣ７ａとＳＣ７ｃとが入れ替えられる。
【００７３】
図１１（Ｃ）は、ＳＣ７ａとＳＣ７ｃとが入れ替えられた結果を示している。ＳＣ７ａはＳＣ７ｃの位置に配置され、ＳＣ７ｃはＳＣ７ａの位置に配置される。ＳＣ７ｃのフォローピン幅ｗ３は、ルールａを満たしつつ、ＳＣ７ｂのフォローピン幅ｗ２以上の幅ｗ３'へと変更される。ＳＣ７ａも、ルールｂに応じたフォローピン幅ｗ１'へと変更される。フォローピン幅ｗ１'は、左右に隣接するＳＣ７ｂとＳＣ７ｄのフォローピン幅ｗ２とｗ４との間の幅（ｗ２≦ｗ１'≦ｗ４）とすることが望ましい。
【００７４】
先ず、デザインルール３７が距離チェックのルールに重なりを持たせた場合を、第２実施例として図１２で説明する。図１２は、セル入替処理の第２実施例を説明するためのフローチャート図である。
【００７５】
第２実施例では、図８のステップＳ５２において、予め、ルールが重なる部分では、２以上のＳＣが該当する場合、置き換え不可を考慮して、太幅のＳＣを置換用として優先的に選択する。例えば、後述する図１３及び図１４に示すように、ルールａとルールｂとが重なる部分では、ＬＥＦ３６ｂから重なる部分のＳＣのラインナップを参照して、フォローピン幅をより太くできるＳＣを優先的に取得して配置しておく。
【００７６】
このような太幅優先の配置とした場合であっても、図８のステップＳ５３での判断処理において、置き換え不可となった場合、以下の処理を行う。
【００７７】
図１２において、ＣＰＵ１１は、ＬＥＴ３６ｂを参照して、フォローピン最適化処理（図
８）で取得した置換用のＳＣと隣接するＳＣの距離チェックのルールが重なる部分で置き換え可能なＳＣをＬＥＦ３６ｂから検索する（ステップＳ７１）。具体的には、置換用のＳＣ５ａより細いフォローピン幅を持つＳＣがＬＥＦ３６ｂから検索される。
【００７８】
そして、ＣＰＵ１１は、レイアウトデータ３５ｂを書き換えて、選択したＳＣ（置き換え不可のＳＣに適用されるルールを満足するフォローピン幅がＬＥＦ３６ｂに存在するＳＣ）と、置き換え不可のＳＣの配置を入れ替える（ステップＳ７２）。
【００７９】
選択したＳＣは書き換え不可のＳＣの配置位置でのルールが適用されたフォローピン幅で入れ替えられ、書き換え不可のＳＣは、選択したＳＣの配置のルールが適用されたフォローピン幅で入れ替えられる。ＣＰＵ１１は、このセル入替処理を終了する。
【００８０】
図１３は、第２実施例におけるセル入替の一例を示す図である。図１３では、距離チェックのルール間に重なりを持たせた場合でのセル入替処理の例を示している。図１３（Ａ）では、ＳＣ５ａが図８のステップＳ５２で取得したＳＣに相当し、ＳＣ５ｂがＳＣ５ａに隣接するＳＣに相当する。ルールａとルールｂ、ルールｂとルールｃが、重なる部分を有する。ルールａ、ルールｂ、ルールｃは、上述したフォローピン幅追加処理における、フォローピン幅ａ、ａ＋１／２γ、及びａ＋γを指定する。
【００８１】
検索範囲５ｃ−２は、図８のステップＳ５４でのセル入替処理による検索範囲例を示す。検索範囲５ｃ−２は、例えば、ＳＣ５ａに適用される距離チェックのルールａと、ＳＣ５ａに隣接するＳＣ５ｂに適用される距離チェックのルールｂとが重なる領域に相当する。図１３（Ａ）では、ＶＤＤ／ＶＳＳが２ペア（２列）以上並んだ例で示しているが、１ペア（１列）であっても、２ペア（２列）以上であっても同様である。
【００８２】
ＳＣ５ａのフォローピン幅が隣接のＳＣ５ｂのフォローピン幅以下であると判断した場合、即ち、図８のステップＳ５２で取得した置換用のＳＣ５ａでの置き換えは不可であると判断した場合、ＣＰＵ１１は、ＬＥＦ３６ｂから検索範囲５ｃ−２に配置されている各ＳＣのラインナップを参照して、置換用のＳＣ５ａより細いフォローピン幅を持つＳＣを検索する（図１２のステップＳ７１）。この例では、ＳＣ５ｂが置換用のＳＣ５ａと入れ替えるセルとして検索されたとする。
【００８３】
ＣＰＵ１１は、ＳＣ５ａとＳＣ５ｂの配置を互いに入れ替える。図１３（Ｂ）では、レイアウトデータ３５ｂが書き換えることによって（図９のステップＳ７２）、ＳＣ５ｂのフォローピン幅が距離チェックのルールａに応じた幅で、ＳＣ５ａと入れ替えられた状態を示している。
【００８４】
図１４は、第２実施例におけるセル入替処理の他の例を示す図である。図１４（Ａ）では、最適化前のＶＤＤ又はＶＳＳのサブメッシュ間の１ペアにおける、図４のステップＳ１８の配置配線後のレイアウトデータ３５ａに基づくＳＣ７ａからＳＣ７ｇの配置を示している。
【００８５】
図１４（Ａ）において、サブメッシュ間において、デザインルール３７で定義される距離チェックのルールａ、ｂ、及びｃを示している。ルールａとｂとで重なり部分があり、ルールｂとｃとで重なり部分が存在する。図１４（Ｂ）、図１４（Ｃ）においても同様である。
【００８６】
図１４（Ｂ）は、図１４（Ａ）の配置配線に対するフォローピン幅の最適化後の状態を示している。図１４（Ｂ）において、サブメッシュ側から中心へ向かう方向で、ＳＣ７ａのフォローピン６ａの幅ｗ１と、隣のＳＣ７ｂのフォローピン６ａの幅ｗ２とを比較すると、フォローピン幅ｗ１よりフォローピン幅ｗ２が幅太になっており、上述した幅変化条件を満たしていない。従って、ＳＣ７ａによる置き換えは不可となる。
【００８７】
隣接するＳＣ７ｂのルールｂの領域は、ＳＣ７ｂ及びＳＣ７ｃであり、検索範囲５ｃ−２に相当する。ＣＰＵ１１は、ＬＥＦ３６ｂから、ＳＣ７ｂ及びＳＣ７ｃのフォローピン幅を参照する。ＳＣ７ｂ及びＳＣ７ｃから、ＳＣ７ａのルールａを満たすＳＣを検索する。この例では、ＳＣ７ｃがルールａを満たすフォローピン幅を持つと判断される。ＳＣ７ａとＳＣ７ｃとが入れ替えられる。
【００８８】
図１４（Ｃ）は、ＳＣ７ａとＳＣ７ｃとが入れ替えられた結果を示している。ＳＣ７ａはＳＣ７ｃの位置に配置され、ＳＣ７ｃはＳＣ７ａの位置に配置される。ＳＣ７ｃのフォローピン幅ｗ３は、ルールａを満たしつつ、ＳＣ７ｂのフォローピン幅ｗ２以上の幅ｗ３'へと変更される。ＳＣ７ａも、ルールｂに応じたフォローピン幅ｗ１'へと変更される。フォローピン幅ｗ１'は、左右に隣接するＳＣ７ｂとＳＣ７ｄのフォローピン幅ｗ２とｗ４との間の幅（ｗ２≦ｗ１'≦ｗ４）とすることが望ましい。
【００８９】
第２実施例では、上述したように、距離チェックのルールに重なりを持たせているため、ルールａとルールｂとの重なり部分に配置されるＳＣは、それ自体が置き換え不可となったＳＣとの入れ替えが可能なＳＣであると言える。従って、ＬＥＦ３６ｂから検索する対象を第１実施例より絞り込めるため、セル入替処理を効率的に行うことができる。
【００９０】
上述したようなセル入替処理の第１実施例及び第２実施例において、サブメッシュ間において、幅変化条件を満たすまで繰り返すことが望ましい。セル入替後には、図８に示すように、ステップＳ５５にて、タイミング及び配線性を再チェックする。
【００９１】
図１５は、ＳＣを複数のフォローピン幅でラインナップしたＬＥＦの記述例を説明するための図である。図１５（Ａ）に例示されるＳＣ００１は、スタンダードセルの一例を示す。
【００９２】
ＳＣ００１のラインナップの一例として、フォローピンＦ０の座標は、フォローピン形状の対角線上の２つのコーナー座標（ｘ３１、ｙ３１）及び（ｘ３２、ｙ３２）で表される。フォローピン幅は、ｙ座標の差で表される。この例では、ｙ３２−ｙ３１を計算することによって得られる。同様に、フォローピンＦ１の座標は、フォローピン形状の対角線上の２つのコーナー座標（ｘ５１、ｙ５１）及び（ｘ５２、ｙ５２）で表される。
【００９３】
図１５（Ｂ）は、図１５（Ａ）のＳＣ００１に対して、フォローピン幅追加処理（図５）を行って、複数のフォローピン幅がパラメータとして追加されたＬＥＦ３６ｂの記述例を示している。
【００９４】
図１５（Ｂ）に例示されるＳＣ００１に関するＬＥＦ３６ｂの記述３６−２に、フォローピン幅のバリエーションによって、ＳＣ００１がラインナップされる。この例では、フォローピンＦ０に対して、例えば、フォローピン幅が異なる３座標が追加されている。フォローピンＦ１についても同様である。
【００９５】
追加されるフォローピンの座標は、上述したように標準のフォローピン幅ａに対して、値ａ、幅ａに拡張可能幅γの１／２を加算した値（ａ＋１／２γ）、及び幅ａに拡張可能幅γを加算した値（ａ＋γ）の夫々に対応する座標である。
【００９６】
図１６は、フォローピン最適化処理の有無の比較を示す図である。図１６（Ａ）では、本実施の形態に係るフォローピン最適化処理を実施しなかった場合のＳＣ配置例を示している。全てのＳＣでフォローピンは同一幅を示している。一本の配線の中で、線幅が一定である。
【００９７】
一方、図１６（Ｂ）では、本実施の形態に係るフォローピン最適化処理を実施した場合のＳＣ配列例を示している。距離チェックのルールａ、ルールｂ、及びルールｃに応じて、各ＳＣ内でフォローピン幅が調整されているのが分かる。また、サブメッシュ間、即ち、ＶＤＤ又はＶＳＳのスタックトビア間において、スタックトビアから中心方向に従ってフォローピン幅が狭くなっている。また、スタックトビアの領域を含むＳＣが太くなっている。
【００９８】
上述したように、本実施の形態では、ＳＣを敷き並べておこなうＬＳＩ設計において、ＳＣ（通常セル）内部で配線幅を増やすため、自動レイアウト処理における配置配線（Ｐ＆Ｒ）で決定したＳＣの配線性を保つことができる。また、ＲＯＷ、ＳＣ自体の面積について変更することなく、幅を調整してＩＲドロップを緩和することができる。
【００９９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【０１００】
以上の第１及び第２実施例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
ことを特徴とする設計方法。
（付記２）
前記スタンダードセルの内部配線構成を記述した第２セルファイルに、前記スタンダードセルの配線密度に基づいて、前記フォローピン幅のパラメータを追加した前記第１セルファイルを記憶部に記憶し、
前記仮配置は、前記記憶部に記憶された前記第１セルファイルを参照する
ことを特徴とする付記１記載の設計方法。
（付記３）
前記幅変化条件は、重なりを持たない距離チェックのルールで示し、
前記再配置は、前記仮配置されたスタンダードセルにおいて、前記幅変化条件に違反する条件違反セルに対する隣接セルから中心方向における、前記隣接セルのルールが適用される範囲から、前記条件違反セルと入替可能なスタンダードセルを検索する
ことを特徴とする付記２記載の設計方法。
（付記４）
前記幅変化条件は、重なりを持つ距離チェックのルールで示し、
前記再配置は、前記仮配置されたスタンダードセルにおいて、前記幅変化条件に違反する条件違反セルに対する隣接セルから中心方向における、前記隣接セルの重なる２つのルールが適用される範囲から、前記条件違反セルと入替可能なスタンダードセルを検索する
ことを特徴とする付記２記載の設計方法。
（付記５）
記憶部と、プロセッサとを有し、前記プロセッサは、
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを前記記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
処理を実行する設計装置。
（付記６）
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
処理をコンピュータに実行させる設計プログラム。
（付記７）
スタンダードセルの内部配線構成を記述し、フォローピン幅のパラメータを含む第１セルファイルを記憶部から参照して、前記スタンダードセルを半導体集積回路のメタル層へ仮配置し、
前記第１セルファイルを前記記憶部から参照して、前記仮配置したスタンダードセルから直近の電源線ビアまでの距離が離れるほどフォローピン幅を狭くする幅変化条件に従って、前記スタンダードセルを入れ替えて再配置する
処理をコンピュータに実行させる処理をコンピュータに実行させる設計プログラムを記憶したコンピュータ読取可能な記憶媒体。
【符号の説明】
【０１０１】
４            チェッカー／アナライザー
７            ＳＣ領域
８            マクロセル
９            ＬＳＩ
１１          ＣＰＵ
１２          主記憶装置
１３          補助記憶装置
１４          入力装置
１５          表示装置
１６          出力装置
１７          通信Ｉ／Ｆ
１８          ドライブ
１９          記憶媒体
３１ａ        ネットリスト（論理合成前）
３１ｂ        ネットリスト（論理合成後）
３２          ＳＤＣ
３３          ＤＦＴ
３４          ライブラリ
３５ａ        レイアウトデータ（最適化前）
３５ｂ        レイアウトデータ（最適化後）
３６ａ        ＬＥＦ（追加前）
３６ｂ        ＬＥＦ（追加後）
３７          デザインルール
１００        回路設計装置
１３０        記憶部
【図１】
2015102908.tif 000003
【図２】
2015102908.tif 000004
【図３】
2015102908.tif 000005
【図４】
2015102908.tif 000006
【図５】
2015102908.tif 000007
【図６】
2015102908.tif 000008
【図７】
2015102908.tif 000009
【図８】
2015102908.tif 000010
【図９】
2015102908.tif 000011
【図１０】
2015102908.tif 000012
【図１１】
2015102908.tif 000013
【図１２】
2015102908.tif 000014
【図１３】
2015102908.tif 000015
【図１４】
2015102908.tif 000016
【図１５】
2015102908.tif 000017
【図１６】
2015102908.tif 000018