(57)【要約】【課題】  パワーユニットモデル作成時間の短縮化を図ることや、フロアプランのばらつきを考慮した高精度のシミュレーションを行うことが可能な半導体集積回路の電源電圧分布シミュレーション方法を提供すること。【解決手段】  ステップＳ１では、デザイン情報（コアサイズＣＳ、コアリング幅ＣＷ、ブロック形状ＢＳ・マクロ形状ＭＳ、ブロック電流ＢＩ・マクロ電流ＭＩ、など）がシミュレータに入力される。ステップＳ２では、フロアプランに関する情報（ブロック位置ＢＰ・マクロ位置ＭＰ、電源Ｉ／Ｏ位置ＩＯＰ）が設計者によってシミュレータに入力される。ステップＳ３では、パワーユニット管理テーブル初期化、抵抗モデリング、電流源モデリングが行われる。ステップＳ５（図１）では、ステップＳ４で得られたパワーユニット管理テーブルＣＴを用いて、スタティックＩＲドロップが計算される。【選択図】  図１
2007052591.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト領域を複数の分割ユニットに分割し、前記分割ユニットにおける電源配線密度を表す電源占有率情報を取得するステップと、
前記レイアウト領域に少なくとも１つ以上の電源が供給される位置を表す電源Ｉ／Ｏ位置情報を取得するステップと、
予め定められた前記電源配線のシート抵抗値と前記電源占有率情報とに応じて、隣接する前記分割ユニット間の電源配線の抵抗値を表すモデル抵抗の抵抗値を求めるステップと、
前記レイアウト領域の少なくとも一部を占めるように少なくとも１つ配置される所定領域に、少なくとも一部が重なる前記分割ユニットを、前記所定領域に属する前記分割ユニットとし、
前記所定領域において消費される消費電流を前記所定領域に属する前記分割ユニットに均等に割り付けるステップと
を備えることを特徴とする電源電圧分布シミュレーション方法。
【請求項２】
前記レイアウト領域のうち、主動作にかかる回路が配置されるコア領域の大きさを表すコアサイズ情報を取得するステップと、
前記所定領域において消費される消費電流として、前記半導体集積回路全体で消費する電流であるチップトータル電流情報を取得するステップとを備え、
前記所定領域として前記コア領域が用いられ、
前記コアサイズ情報を、前記分割ユニットの大きさを表す予め定められた分割ユニットサイズ情報によって除することにより、前記コア領域を占める前記分割ユニットの総数であるコア領域分割ユニット数を求め、求めた前記コア領域分割ユニット数が前記所定領域に属する前記分割ユニットの数として用いられることを特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項３】
複数の回路が組み合わされてなる回路集合体を複数種類備え、前記レイアウト領域のうち主動作にかかる回路が配置されるコア領域に前記回路集合体が配置される電源電圧分布シミュレーション方法であって、
前記コア領域に配置される前記回路集合体の前記コア領域上における位置を表す回路集合体位置情報を取得するステップと、
前記回路集合体の形状を表す回路集合体形状情報を取得するステップと、
前記回路集合体の種類に応じて、該回路集合体が消費する電流を表す回路集合体電流量情報を取得するステップと、
前記半導体集積回路全体で消費する電流であるチップトータル電流情報を取得するステップと、
前記回路集合体位置情報と前記回路集合体形状情報とから、前記回路集合体の各々が前記コア領域上に存在する回路集合体占有領域を算出し、
前記回路集合体占有領域に属する前記分割ユニットの数を前記回路集合体ごとに抽出するステップと、
前記分割ユニットが属する前記回路集合体の種類に応じて定められる前記電源占有率情報と前記シート抵抗値とにより、前記モデル抵抗の抵抗値を求めるステップとを備え、
前記回路集合体占有領域に属する前記分割ユニットにおける消費電流値は、前記回路集合体電流量情報の電流値を前記回路集合体占有領域に属する前記分割ユニットの数で除することにより得られ、
前記回路集合体占有領域に属さない前記分割ユニットにおける消費電流値は、前記チップトータル電流情報から、前記回路集合体電流量情報を全ての前記回路集合体について合算した値を引いた残値を、何れの前記回路集合体占有領域にも属しない前記分割ユニットの数で除することにより得られることを特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項４】
前記半導体集積回路は、前記電源配線の配線層を複数有する多層配線構造を備え、
前記電源占有率情報は、前記配線層ごとに定められることを特徴とする請求項３に記載の電源電圧分布シミュレーション方法。
【請求項５】
前記レイアウト領域のうち主動作にかかる回路が配置されるコア領域の周囲に環状に配置される電源配線であるコアリングの幅を表すコアリング幅情報を取得するステップを備え、
前記シート抵抗値と前記コアリング幅情報とに応じて、前記コアリングに属する前記分割ユニットの前記モデル抵抗の抵抗値を求めること
を特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項６】
前記レイアウト領域に少なくとも１つ以上の電源を供給するセルである電源Ｉ／Ｏセルが有する抵抗値を表す電源Ｉ／Ｏ抵抗情報を取得するステップを備えることを特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項７】
前記レイアウト領域に少なくとも１つ以上の電源を供給するセルである電源Ｉ／Ｏセルと前記半導体集積回路のパッケージの外部接続端子との接続径路上に存在する抵抗値を表すパッケージ抵抗情報を取得するステップを備えることを特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項８】
異なる電源種ごとに作成された前記分割ユニットの間を内部回路モデルで接続し、半導体集積回路の動的な電源電圧分布を求める電源電圧シミュレーション方法であって、
前記所定領域が備えるデカップリング容量を表すデカップリング容量情報を取得するステップを備え、
前記デカップリング容量情報が前記所定領域に属する前記分割ユニットに均等に割り付けられ、
隣接する前記分割ユニット間の電源配線の抵抗値を少なくとも１つ以上のモデルインダクタで表し、予め定められた前記電源配線のシートインダクタンス値と前記電源占有率情報とから、前記モデルインダクタのインダクタンス値が求められ
ることを特徴とする請求項１に記載の電源電圧分布シミュレーション方法。
【請求項９】
前記レイアウト領域のうち、主動作にかかる回路が配置されるコア領域の大きさを表すコアサイズ情報を取得するステップと、
前記所定領域において消費される消費電流として、前記半導体集積回路全体で消費する電流であるチップトータル電流情報を取得するステップとを備え、
前記所定領域として前記コア領域が用いられ、
前記コアサイズ情報を、前記分割ユニットの大きさを表す予め定められた分割ユニットサイズ情報によって除することにより、前記コア領域を占める前記分割ユニットの総数であるコア領域分割ユニット数を求め、求めた前記コア領域分割ユニット数が前記所定領域に属する前記分割ユニットの数として用いられることを特徴とする請求項８に記載の電源電圧分布シミュレーション方法。
【請求項１０】
半導体集積回路のレイアウト領域を複数の分割ユニットに分割し、前記分割ユニットにおける電源配線密度を表す電源占有率情報を取得するステップと、
前記レイアウト領域に少なくとも１つ以上の電源が供給される位置を表す電源Ｉ／Ｏ位置情報を取得するステップと、
予め定められた前記電源配線のシート抵抗値と前記電源占有率情報とに応じて、隣接する前記分割ユニット間の電源配線の抵抗値を表すモデル抵抗の抵抗値を求めるステップと、
前記レイアウト領域の少なくとも一部を占めるように少なくとも１つ配置される所定領域に、少なくとも一部が重なる前記分割ユニットを、前記所定領域に属する前記分割ユニットとし、
前記所定領域において消費される消費電流を前記所定領域に属する前記分割ユニットに均等に割り付けるステップと
を備えることを特徴とする電源電圧分布シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の電源電圧分布シミュレーション方法およびシミュレーションプログラムに関し、特に電源電圧ドロップの初期見積りについてのシミュレーション方法およびシミュレーションプログラムに関するものである。
【背景技術】
【０００２】
近年のＬＳＩ開発では、微細化に伴い、搭載ゲートサイズの大規模化、複雑化が進み、開発期間の長期化が問題となっている。よって開発期間の短縮化を図るため、デザイン開始前の初期見積りの段階において、電源電圧ドロップが許容値内に収まるような電源仕様等を検討する必要が生じている。
【０００３】
特許文献１では、半導体集積回路の電源配線領域を、パワーユニットと呼ばれる小領域に分割し、パワーユニットの抵抗値および消費電流値を与えることで、一定消費電流値による定常的な電圧降下（スタティックＩＲドロップ）をシミュレートする。また同様に特許文献２では、パワーユニットに対して抵抗値、消費電流値、インダクタンス値、容量値を与えることで、動的な電源電圧分布（ダイナミックＩＲドロップ）をシミュレートする。
【０００４】
尚、上記の関連技術として特許文献１、２が開示されている。
【特許文献１】特開２００３−２３３６３７号公報
【特許文献２】特開２００４−２３４６１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術では、設計者がパワーユニットの抵抗値、消費電流値、インダクタンス値、容量値などの各種パラメータを計算してシミュレータに入力する必要がある。しかし、パワーユニットは多数存在するため、全てのパワーユニットについて計算を行う場合には、シミュレーションに多大な時間が必要となるため問題である。
【０００６】
また多数のパワーユニットについてパラメータを計算することは現実的ではないため、パワーユニット数を減少させてシミュレーションを行うことも考えられる。しかしこの場合には、十分な精度を有した電圧分布結果が得られず、シミュレーション結果の信頼度が低下するため問題である。さらに上記従来技術では、パワーユニットの各種パラメータの具体的な計算方法については開示されていないため問題である。
【０００７】
本発明は前記背景技術の課題の少なくとも１つを解消するためになされたものであり、パワーユニットモデル作成時間の短縮化を図ることにより、ＩＲドロップ・シミュレーションの効率を高め、半導体集積回路の開発期間短縮化を図ることや、より多数のパワーユニットを取り扱うことにより、フロアプランのばらつき（各種回路のレイアウト領域内における各種パラメータの偏在）を考慮した高精度のシミュレーションを行うことが可能な半導体集積回路の電源電圧分布シミュレーション方法およびシミュレーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するために、発明に係る第１の思想では、半導体集積回路のレイアウト領域を複数の分割ユニットに分割し、前記分割ユニットにおける電源配線密度を表す電源占有率情報を取得するステップと、前記レイアウト領域に少なくとも１つ以上の電源が供給される位置を表す電源Ｉ／Ｏ位置情報を取得するステップと、予め定められた前記電源配線のシート抵抗値と前記電源占有率情報とに応じて、隣接する前記分割ユニット間の電源配線の抵抗値を表すモデル抵抗の抵抗値を求めるステップと、前記レイアウト領域の少なくとも一部を占めるように少なくとも１つ配置される所定領域に、少なくとも一部が重なる前記分割ユニットを、前記所定領域に属する前記分割ユニットとし、前記所定領域において消費される消費電流を前記所定領域に属する前記分割ユニットに均等に割り付けるステップとを備えることを特徴とする。
【０００９】
半導体集積回路の電源電圧分布には、一定消費電流値による定常的な電圧降下（スタティックＩＲドロップ）、経時的なダイナミックな動的な電源電圧分布（電源ノイズ）などがある。半導体集積回路のレイアウト領域は、例えば、主動作にかかる回路が配置されるコア領域、コア領域の周囲に環状に備えられる電源配線（コアリング）が配置されるコアリング領域、電源を供給するセルである電源Ｉ／Ｏセルが配置される電源Ｉ／Ｏ領域等の領域を含んでいる。主動作にかかる回路には、例えば、階層レイアウトのブロックやＲＡＭやＲＯＭなどのハードマクロで表される回路が挙げられる。
【００１０】
分割ユニットは、レイアウト領域を複数領域に分割して得られる各々の領域である。分割ユニット形状は多角形形状とされ、例えば、三角形状、四角形状、六角形状等とされる。各分割ユニットは均等の大きさに分割されてもよいし、電圧分布を詳しくシミュレーションしたい領域の分割ユニットは小さく、大まかにシミュレーションする領域の分割ユニットは大きくするように分割しても良い。
【００１１】
電源占有率情報は、分割ユニットにおける電源配線密度を表す情報である。配線密度の表現方法は各種存在する。例えば、電源配線の配線幅と配線間隔とを１配線単位と定義し、当該１配線単位が分割ユニットに占める面積の割合を電源占有率情報としてもよい。または、電源配線が分割ユニットに占める面積の割合を電源占有率情報としてもよい。
【００１２】
電源Ｉ／Ｏ位置情報は、電源Ｉ／Ｏセルの位置を表す情報である。電源Ｉ／Ｏセルは少なくとも１つ以上備えられる。電源Ｉ／Ｏセルの位置は、電圧分布に直接的に関係するパラメータである。
【００１３】
モデル抵抗は、分割ユニットの各辺ごとに備えられ、隣接する前記分割ユニット間の電源配線の抵抗値を表す抵抗である。例えば四角形状の分割ユニットであれば、各辺に４つのモデル抵抗が備えられる。このとき分割ユニットの中心で４つの抵抗が十字状に共通接続されるとしてもよい。電源配線のシート抵抗値は、テクノロジに応じて予め定められる。分割ユニットの面積と、電源占有率情報による電源配線密度とにより、分割ユニットが有する抵抗値が求められる。求められた分割ユニット全体の抵抗値を、各モデル抵抗に割り振ることにより、モデル抵抗の抵抗値が得られる。
【００１４】
所定領域は、レイアウト領域の少なくとも一部を占めるように少なくとも１つ配置される領域である。所定領域は単数・複数の何れであってもよい。例えば所定領域は、レイアウト領域全面であってもよいし、階層レイアウトのブロックにより占有される領域であってもよいし、ＲＡＭやＲＯＭなどのハードマクロにより占有される領域であってもよい。また所定領域では、ある所定量の電流が消費される。
【００１５】
半導体集積回路の全面に一定量の電流が流れるとするモデルにおいては、レイアウト領域全面が所定領域とされる。この場合には１種類の分割ユニットを用いればよいため、モデル作成時間を短縮することができる。よってシミュレーション総時間を短縮化できる。またレイアウト領域内に電流値が異なる領域が複数あるとするモデルにおいては、それら各々の領域が所定領域とされる。この場合には、レイアウト領域内における電源配線の抵抗値等の偏在（ばらつき）を考慮したモデルを作成できるため、より正確な電圧分布をシミュレーションすることができる。
【００１６】
所定領域に属する前記分割ユニットとは、所定領域に少なくとも一部が重なる分割ユニットである。よって、分割ユニットの全領域が所定領域に重なる場合にのみ、その分割ユニットが所定領域に属するとしてもよい。所定領域内の消費電流は均一であると仮定されているため、所定領域における消費電流を前記所定領域に属する前記分割ユニットに均等に割り付けることができる。これにより、分割ユニットにおける消費電流値が求まる。
【００１７】
モデル抵抗の抵抗値、電源供給位置、分割ユニットにおける消費電流値が定まれば、電源電圧分布を求める分割ユニットモデル（先行文献の）が完成する。そして各々の分割ユニットモデルを接続することにより、半導体集積回路のモデルが得られる。半導体集積回路のモデルを用いて得られる回路方程式を計算することにより、半導体集積回路の電源電圧分布が得られる。
【００１８】
これにより本発明に係る第１の思想では、電源電圧分布シミュレーション用の分割ユニットのモデル作成時において、各種抵抗値や電流値などのパラメータを用いる必要がなく、抵抗値や電流値に対して設計の上位概念のパラメータ（電源占有率情報、電源Ｉ／Ｏ位置情報、シート抵抗値など）を用いることが出来る。よって、分割ユニットのモデル作成時に、抵抗値や電流値などを求める手間を省くことができ、モデル作成時間の短縮化を図ることができる。よってシミュレーションの高効率化が可能となるため、半導体集積回路の開発期間短縮化を図ることができる。また分割ユニットのモデル作成時において、抵抗値や電流値を与える手間を省くことにより、モデル作成効率が高められるため、従来と同じ時間でより多数の分割ユニットのモデルを作成することが可能となる。よって電圧ドロップシミュレーションの精度を向上させることができるため、ＩＲドロップの初期見積りをより正確に行うことが可能となる。
【発明の効果】
【００１９】
本発明によれば、電源電圧分布シミュレーション用の分割ユニットのモデル作成時において、抵抗値や電流値に対して設計の上位概念のパラメータ（電源占有率情報、電源Ｉ／Ｏ位置情報など）を用いてモデル作成を行うことができる。よって、分割ユニットのモデル作成時に、抵抗値や電流値などを求める手間を省くことができ、モデル作成時間の短縮化を図ることで、シミュレーションの高効率化を可能とすることができる。またモデル作成効率の向上に伴い、より多数の分割ユニットを取り扱うことができるため、電圧ドロップシミュレーションの精度を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の半導体記憶装置および半導体記憶装置について具体化した実施形態を図１乃至図１２に基づき図面を参照しつつ詳細に説明する。本発明の第１実施形態を図１乃至図１１を用いて説明する。
【００２１】
第１実施形態は、一定消費電流値による定常的な電圧降下（スタティックＩＲドロップ）の初期見積りおよび対策を可能とする実施形態である。初期見積りは、設計の初期段階で行われるため、ネットリスト等の品種データが不要とされる。
【００２２】
まず、本発明のスタティックＩＲドロップ・シミュレーションで用いられるモデルについて説明する。図２に示すように、半導体集積回路のレイアウト領域ＬＡの全体が、四角形かつ行列状の小領域であるパワーユニットＰＵに分割される。そしてパワーユニットＰＵは、コア領域ＣＡ、コアリング領域ＲＡ、電源Ｉ／Ｏ領域ＰＡに分類される。ここでコア領域ＣＡとは、レイアウト領域ＬＡのうち、主動作にかかる回路（階層レイアウトのブロックやマクロ等）が配置される領域である。またコアリング領域ＲＡとは、コア領域ＣＡの周囲に環状に備えられる電源配線（コアリング）が配置される領域である。また電源Ｉ／Ｏ領域ＰＡとは、コアリング領域ＲＡに電源を供給するセルである電源Ｉ／Ｏセルが複数備えられる領域である。電源Ｉ／Ｏセルは、電源パッドとワイヤボンディングとを介して半導体パッケージの外部電源端子に接続される。
【００２３】
パワーユニットＰＵのモデルを図３に示す。四角形状のパワーユニットＰＵの各辺に、４つのモデル抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２が備えられることで、隣接するパワーユニットＰＵ間の電源配線が１つの抵抗でモデル化される。４つの抵抗はパワーユニットＰＵの中心ノードＣＮで十字状に共通接続される。またパワーユニットＰＵ内の全ての消費電流が、１つの電流源ＰＩに置き換えられる。これにより、２次元十字形の回路モデルが形成される。このパワーユニットＰＵを用いて、ステップＳ５において、例えば特許文献（特開２００３−２３３６３７）に記載されている方法により、スタティックＩＲドロップが計算される。以下、電源配線の抵抗のモデリングを行うフロー、およびパワーユニットＰＵの電流源ＰＩの電流値であるパワーユニット電流値ＰＵＩのモデリングを行うフローを主に説明する。
【００２４】
図１に第１実施形態に係るフロー図を示す。ステップＳ０のライブラリ設定において、プロセステクノロジに応じたパラメータがライブラリに予め格納される。本実施形態にかかる半導体集積回路の配線層は、第１配線層ＭＥＴ１から第４配線層ＭＥＴ４までの４層であるとする。このとき第１配線層シート抵抗値ＳＲ１乃至第４配線層シート抵抗値ＳＲ４、第１配線層ＭＥＴ１の配線幅Ｗ１乃至第４配線層ＭＥＴ４の配線幅Ｗ４、第１配線層ＭＥＴ１の配線間距離ＳＰ１乃至第４配線層ＭＥＴ４の配線間距離ＳＰ４がライブラリに格納される。また、パワーユニットＰＵの大きさを表すパワーユニットサイズＵＳ（パワーユニットＸ方向サイズＰＵＸ、パワーユニットＹ方向サイズＰＵＹ）が、ライブラリに格納される。
【００２５】
ステップＳ１を説明する。ステップＳ１では、デザイン情報が、設計者によってシミュレータに入力され、不図示の情報格納部ＤＭに格納される。ここでデザイン情報とは、（１）コアサイズＣＳ、（２）コアリング幅ＣＷ、（３）ブロック形状ＢＳ・マクロ形状ＭＳ、（４）ブロック電流ＢＩ・マクロ電流ＭＩ、（５）チップトータル電流ＣＩ、（６）電源Ｉ／Ｏ抵抗値ＩＯＲ、（７）パッケージ抵抗ＰＲ、（８）電源占有率（ブロック上電源占有率ＢＰＲ、マクロ上電源占有率ＭＰＲ、チップ電源占有率ＣＰＲ）、である。
【００２６】
コアサイズＣＳとは、レイアウト領域ＬＡ上において、主動作にかかる回路が配置されるコア領域ＣＡ（図２）が占めるサイズ（Ｘ、Ｙ）である。コアリング幅ＣＷとは、コアリング領域ＲＡに形成されるコアリングの配線幅のことである。
【００２７】
ブロック形状ＢＳとはブロックが有する形状であり、マクロ形状ＭＳとはマクロが有する形状である。これらの形状を有して、ブロック・マクロは、コア領域ＣＡ内に配置される。ここでブロックとは、階層レイアウトを行った際の階層ブロックのことである。またマクロとは、ＲＡＭやＲＯＭなどのハードマクロである。ブロックおよびマクロは複数種類が存在する。
【００２８】
ブロック電流ＢＩとはブロック一つ当たりが消費する電流量であり、マクロ電流ＭＩとはマクロ一つ当たりが消費する電流量である。ブロック電流ＢＩおよびマクロ電流ＭＩは、ブロックやマクロの種類ごとに定まる値である。チップトータル電流ＣＩとは、半導体チップ全体で消費される電流であり、顧客の要求スペックから求められる。
【００２９】
電源Ｉ／Ｏ抵抗値ＩＯＲとは、電源Ｉ／Ｏセル部が有する抵抗値である。パッケージ抵抗ＰＲとは、電源Ｉ／Ｏセルからパッケージ外部端子までの径路上に存在する抵抗値の合計であり、例えば、直列に接続されたパッケージのリード線の抵抗とワイヤボンディングの抵抗との合成抵抗で表される。
【００３０】
電源占有率は、パワーユニットＰＵの配線層の電源配線密度を表す情報であり、各々のパワーユニットＰＵごとに定められる。電源配線には、ＶＤＤ配線およびＶＳＳ配線がある。電源占有率は、パワーユニットＰＵが属するブロックやマクロの種類に応じて定められ、また、着目する配線層に応じて定められる。パワーユニットＰＵの少なくとも一部がブロックと重なる場合には、そのパワーユニットＰＵの電源占有率には、ブロック上電源占有率ＢＰＲが適用される。またパワーユニットＰＵの少なくとも一部がマクロと重なる場合には、そのパワーユニットＰＵの電源占有率には、マクロ上電源占有率ＭＰＲが適用される。またパワーユニットＰＵがブロックおよびマクロの何れとも重ならない場合には、そのパワーユニットＰＵの電源占有率には、チップ電源占有率ＣＰＲが適用される。なおパワーユニットＰＵの少なくとも一部がブロックおよびマクロの両方に重なる場合には、マクロが優先され、そのパワーユニットＰＵの電源占有率には、マクロ上電源占有率ＭＰＲが適用される。
【００３１】
電源占有率の表現方法は各種存在する。本実施形態では、電源によって潰される信号配線グリッドの割合を電源占有率とする。なお、電源配線自体の面積がパワーユニットＰＵに占める面積の割合を電源占有率情報と定義してもよいことは言うまでもない。
【００３２】
ステップＳ２を説明する。ステップＳ２では、フロアプランに関する情報が設計者によってシミュレータに入力され、不図示の情報格納部ＤＭに格納される。ここでフロアプランに関する情報とは、（９）ブロック位置ＢＰ・マクロ位置ＭＰ、（１０）電源Ｉ／Ｏ位置ＩＯＰ、である。
【００３３】
ブロック位置ＢＰとは、ブロックがコア領域ＣＡに占める座標である。マクロ位置ＭＰとは、マクロがコア領域ＣＡに占める座標である。また電源Ｉ／Ｏ位置ＩＯＰとは、電源Ｉ／Ｏセルが図２に示す電源Ｉ／Ｏ領域ＰＡ（図２）に占める座標である。なお電源Ｉ／Ｏセルは、電源Ｉ／Ｏ領域ＰＡの任意の位置に任意の数が配置される。
【００３４】
ステップＳ２において、ブロックＢＬＫ１およびＢＬＫ２、マクロＭＣＲ１乃至ＭＣＲ５がコア領域ＣＡに配置されたフロアプラン例を図４に示す。ステップＳ２では、図４に示すようなシミュレーション画面を設計者が見ながら、コア領域ＣＡにブロックおよびマクロを配置するという操作により、ブロックおよびマクロの座標入力を行うことができる。よって、視覚的にフロアプランを確認しながら、ブロックおよびマクロの座標入力を入力可能であり、また画面を見ながらフロアプラン修正も可能であるという利点がある。なお、画面表示を使用しない数値による座標入力によってもよいことは言うまでもない。
【００３５】
ステップＳ３（図１）を説明する。ステップＳ３は、ステップＳ１１（パワーユニット管理テーブル初期化）、ステップＳ１２（抵抗モデリング）、ステップＳ１３（電流源ＰＩモデリング）で構成される。
【００３６】
ステップＳ１１のパワーユニット管理テーブル初期化は、以下の３ステップから構成される。まず、コアサイズＣＳが、情報格納部ＤＭから取得される。次に、ライブラリから、パワーユニットサイズＵＳが取得される。そしてコアサイズＣＳとパワーユニットサイズＵＳとから、半導体集積回路のコア領域ＣＡが行列状の小領域であるパワーユニットＰＵに分割される。例えばコアサイズＣＳが（Ｘ、Ｙ）＝（５０００、５０００（μｍ））、パワーユニットサイズＵＳが（Ｘ、Ｙ）＝（１００、１００（μｍ））の場合は、コア領域ＣＡはＸ方向およびＹ方向に５０分割される。よってコア領域ＣＡには２５００個のパワーユニットＰＵが備えられる。また同様にして、コアリング領域ＲＡおよび電源Ｉ／Ｏ領域ＰＡもパワーユニットＰＵに分割される。そして図２に示すパワーユニットマップＰＭが構成される。また、コア領域ＣＡに備えられる全てのパワーユニットＰＵを管理するパワーユニット管理テーブルＣＴが作成される。
【００３７】
ステップＳ１２で行われる抵抗モデリングを、図５および図６のフローチャートに示す。図４に示すフロアプランに対して抵抗モデリングが行われる場合を説明する。抵抗モデリングとは、パワーユニットＰＵが備える十字モデル（図３）における、各抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２の抵抗値を求める工程である。ステップＳ１２における抵抗モデリング方法は、ステップＳ３１乃至Ｓ３５を備える。ステップＳ３１は、コア領域ＣＡにおいて、ブロックＢＬＫ１、ＢＬＫ２と重なるパワーユニットＰＵを抽出した上で、抽出されたパワーユニットＰＵが備える抵抗値を算出するステップである。ステップＳ３２は、コア領域ＣＡにおいて、マクロＭＣＲ１乃至ＭＣＲ５と重なるパワーユニットＰＵを抽出した上で、抽出されたパワーユニットＰＵの抵抗値を算出するステップである。ステップＳ３３は、コアリング領域ＲＡに存在するパワーユニットＰＵの抵抗値を算出するステップである。ステップＳ３４は、電源Ｉ／Ｏ領域ＰＡにおいて、電源Ｉ／Ｏセルと重なるパワーユニットＰＵの抵抗値を算出すると共に、算出した抵抗値にパッケージ抵抗ＰＲを加算するステップである。ステップＳ３５は、コア領域ＣＡにおいて、ブロックおよびマクロの何れとも重ならないパワーユニットＰＵを抽出した上で、抽出されたパワーユニットＰＵの抵抗値を算出するステップである。
【００３８】
ステップＳ３１について説明する。ステップＳ３１は、ステップＳ４１乃至Ｓ４５を備える。ステップＳ４１では、ブロック選択およびブロック形状・位置判定が行われる。ブロック選択により、コア領域ＣＡ内に配置された全ブロックの各々が順次選択される。例として本実施形態（図４）では、まずブロックＢＬＫ１が選択される。そしてブロックＢＬＫ１の形状と配置位置とを考慮して、ブロックＢＬＫ１に少なくとも一部が重なるパワーユニットＰＵが抽出される。抽出されたパワーユニットＰＵは、ブロックＢＬＫ１に属するパワーユニットＰＵとして認識される。
【００３９】
ステップＳ４２では、ブロックＢＬＫ１について、第１配線層ＭＥＴ１から第４配線層ＭＥＴ４までの各々のブロック上電源占有率ＢＰＲ１乃至ＢＰＲ４が、情報格納部ＤＭから取得される。
【００４０】
ステップＳ４３では、ブロックＢＬＫ１に属するパワーユニットＰＵの抵抗値が算出される。ブロックＢＬＫ１内の抵抗値は均一であるとモデル化されているため、ブロックＢＬＫ１に属するパワーユニットＰＵも、全て同一の抵抗値を有するとされる。よって１つの代表パワーユニットＰＵについて計算が行われる。ここで第１配線層ＭＥＴ１から第４配線層ＭＥＴ４のうち、第１および第３配線層はＹ方向、第２および第４配線層はＸ方向に配線されているとする。すると、第１配線層ＭＥＴ１から第４配線層ＭＥＴ４の各々に対応するブロック上電源占有率ＢＰＲ１乃至ＢＰＲ４を用いて、各層ごとの抵抗値を計算し、同一方向同士の抵抗値を並列抵抗とみなして足し合わせて１値にする必要がある。
【００４１】
例として、ブロックＢＬＫ１に属するパワーユニットＰＵにおける、第１配線層ＭＥＴ１（Ｙ方向）の抵抗値Ｒ１を求める方法を、図７を用いて説明する。図７のパワーユニットＰＵには、ＶＤＤ配線およびＶＳＳ配線が存在する。ＶＤＤ配線およびＶＳＳ配線の配線幅は、配線幅Ｗ１とされる。また配線間には、配線間距離ＳＰ１が空けられる。またＶＤＤ配線とＶＳＳ配線とのペアによって、最小配線単位ＷＵが構成される。
最小配線単位ＷＵ＝（配線幅Ｗ１＋配線間距離ＳＰ１）×２  ・・・式（０）
なおパワーユニットＰＵ内では、最小配線単位ＷＵは等間隔で配置されるとする。
【００４２】
ＶＤＤ配線の抵抗値を求める場合を説明する。まず、第１配線層ＭＥＴ１におけるパワーユニットＰＵ内に存在する、ＶＤＤ配線の配線数Ｎ１が下式により求められる。
配線数Ｎ１＝（ブロック上電源占有率ＢＰＲ１（％）／１００）×パワーユニットＸ方向サイズＰＵＸ／最小配線単位ＷＵ・・・式（１）
【００４３】
次に、配線数Ｎ１から抵抗値Ｒ１が算出される。
抵抗値Ｒ１＝シート抵抗値ＳＲ１×パワーユニットＹ方向サイズＰＵＹ／（配線幅Ｗ１×配線数Ｎ１）・・・式（２）
これにより、第１配線層ＭＥＴ１の抵抗値Ｒ１が求まる。
【００４４】
同様にして、第２配線層ＭＥＴ２（Ｘ方向）の抵抗値Ｒ２、第３配線層ＭＥＴ３（Ｙ方向）の抵抗値Ｒ３、第４配線層ＭＥＴ４（Ｘ方向）の抵抗値Ｒ４が求められる。そして多層のうち同方向のものを並列抵抗とみなし、１値にマージすることが行われ、Ｘ方向抵抗成分ＲＸおよびＹ方向抵抗成分ＲＹが得られる。
Ｘ方向抵抗成分ＲＸ＝１／（１／Ｒ２＋１／Ｒ４）  ・・・式（３）
Ｙ方向抵抗成分ＲＹ＝１／（１／Ｒ１＋１／Ｒ３）  ・・・式（４）
【００４５】
そして図３に示す十字モデルにおける抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２の抵抗値が求められる。このとき、抵抗値ＲＸ１＝ＲＸ２＝Ｘ方向抵抗成分ＲＸ／２とされる。また同様に、抵抗値ＲＹ１＝ＲＹ２＝Ｙ方向抵抗成分ＲＹ／２とされる。そしてブロックＢＬＫ１に属する全てのパワーユニットＰＵについて、得られた抵抗値が与えられることで、ＢＬＫ１に属するパワーユニットＰＵについての抵抗モデリングが完了する。
【００４６】
ステップＳ４４（図５）において、ブロックＢＬＫ１に属する全てのパワーユニットＰＵについての抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２の抵抗値が、パワーユニット管理テーブルＣＴに格納され管理される。
【００４７】
その後ステップＳ４５へ進み、コア領域ＣＡ内の全てのブロックについて抵抗モデリングが行われたか否かが判断される。本実施形態では、ブロックＢＬＫ２についての抵抗モデリングがまだ行われていない（Ｓ４５：Ｎ）ため、ステップＳ４１へ戻り、ブロックＢＬＫ２についての抵抗モデリングが行われる。このフローを繰り返すことで、コア内の全ブロックについて抵抗モデリングが行われると（Ｓ４５：Ｙ）、ステップＳ３２に進む。
【００４８】
ステップＳ３２について説明する。ステップＳ３２は、ステップＳ４６乃至Ｓ５０を備える。ステップＳ４６では、マクロ選択およびマクロ形状・位置判定が行われる。マクロ選択により、コア領域ＣＡ内に配置された全マクロの各々が順次選択される。例として本実施形態（図４）では、まずマクロＭＣＲ１が選択され、マクロＭＣＲ１に少なくとも一部が重なるパワーユニットＰＵが抽出される。ステップＳ４７では、マクロＭＣＲ１について、第１配線層ＭＥＴ１から第４配線層ＭＥＴ４までの各々のマクロ上電源占有率ＭＰＲ１乃至ＭＰＲ４が、情報格納部ＤＭから取得される。ステップＳ４８では、マクロＭＣＲ１に属する全てのパワーユニットＰＵについて、抵抗モデリングが行われる。ステップＳ４９において、マクロＭＣＲ１に属する全てのパワーユニットＰＵについての抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２の抵抗値が、パワーユニット管理テーブルＣＴに格納され管理される。ステップＳ５０において、コア領域ＣＡ内の全てのマクロについて抵抗モデリングが行われたか否かが判断され、全マクロについて抵抗モデリングが終了（Ｓ５０：Ｙ）すると、ステップＳ３３に進む。なお、詳細な抵抗モデリング方法については、ブロックについての抵抗モデリング方法（ステップＳ４１乃至Ｓ４５）と同様であるため、ここでは説明を省略する。
【００４９】
なおブロック内にマクロが含まれる場合があるため、あるパワーユニットＰＵの少なくとも一部が、ブロックとマクロとの両方に重なる場合があるが、この場合にはマクロが優先される。すなわちブロックとマクロとの両方に重なるパワーユニットＰＵは、ステップＳ４１において当該ブロックには属さないと判断され、ステップＳ４６においてマクロに属すると判断される。
【００５０】
ステップＳ３３について説明する。ステップＳ３３は、ステップＳ５１乃至Ｓ５３を備える。ステップＳ５１では、コアリング幅ＣＷが、情報格納部ＤＭから取得される。そして位置判定により、コアリングに少なくとも一部が重なるパワーユニットＰＵが抽出される。
【００５１】
ステップＳ５２では、コアリングに属するパワーユニットＰＵの抵抗値が算出される。  例として、第１配線層ＭＥＴ１におけるコアリング抵抗値ＣＲ１を求める方法を説明する。Ｘ方向に配置されるコアリングの抵抗値は下式（５）、Ｙ方向に配置されるコアリングの抵抗値は下式（６）によって求められる。
Ｘ方向コアリング抵抗値ＣＲＸ１＝シート抵抗値ＳＲ１／コアリング幅ＣＷ×パワーユニットＸ方向サイズＰＵＸ  ・・・式（５）
Ｙ方向コアリング抵抗値ＣＲＹ１＝シート抵抗値ＳＲ１／コアリング幅ＣＷ×パワーユニットＹ方向サイズＰＵＹ  ・・・式（６）
同様にして、第２配線層ＭＥＴ２乃至第４配線層ＭＥＴ４のコアリングの抵抗値が求められる。各配線層のコアリングの抵抗値は並列抵抗とみなされ、１値にマージされることで、コアリング抵抗値ＣＲが得られる。そしてステップＳ５３において、コアリングに属する全てのパワーユニットＰＵについてのコアリング抵抗値ＣＲが、パワーユニット管理テーブルＣＴに格納され管理される。これによりコアリングについての抵抗モデリングが終了し、ステップＳ３４へ進む。
【００５２】
ステップＳ３４（図６）について説明する。ステップＳ３４は、ステップＳ５５乃至Ｓ６１を備える。ステップＳ５５では、電源Ｉ／Ｏ領域ＰＡに配置された電源Ｉ／Ｏセルの各々について順次選択される。そして選択された電源Ｉ／Ｏセルの位置座標が、情報格納部ＤＭから取得される。ステップＳ５６では、選択された電源Ｉ／Ｏセルの電源Ｉ／Ｏ抵抗値ＩＯＲが、情報格納部ＤＭから取得される。
【００５３】
ステップＳ５７では、選択された電源Ｉ／Ｏセルの座標を用いて、当該電源Ｉ／Ｏセルに少なくとも一部が重なるパワーユニットＰＵの座標が判定・抽出される。そして当該電源Ｉ／Ｏセルに属するパワーユニットＰＵの抵抗値が、電源Ｉ／Ｏ抵抗値ＩＯＲから求められる。ここで、コアリングのＹ方向成分を有する辺に対して電源を供給する電源Ｉ／Ｏセルに属するパワーユニットＰＵには、抵抗ＲＸ１およびＲＸ２が備えられる。また、コアリングのＸ方向成分を有する辺に対して電源を供給する電源Ｉ／Ｏセルに属するパワーユニットＰＵには、抵抗ＲＹ１およびＲＹ２が備えられる。ステップＳ５８において、当該電源Ｉ／Ｏセルに属するパワーユニットＰＵについての抵抗値ＲＸ１、ＲＸ２（またはＲＹ１、ＲＹ２）が、パワーユニット管理テーブルＣＴに格納され管理される。
【００５４】
ステップＳ５９において、選択された電源Ｉ／Ｏセルに対応するパッケージ抵抗ＰＲが情報格納部ＤＭから取得される。ステップＳ６０において、電源Ｉ／Ｏセルに属するパワーユニットＰＵについての抵抗値ＲＸ１、ＲＸ２（またはＲＹ１、ＲＹ２）に、ステップＳ５９で取得されたパッケージ抵抗ＰＲが加算された上で、ＰＵ管理テーブルに再度設定される。これにより、パッケージ抵抗ＰＲを考慮したパワーユニットＰＵの作成が可能となる。
【００５５】
その後ステップＳ６１へ進み、電源Ｉ／Ｏ領域ＰＡ内の全ての電源Ｉ／Ｏセルについて抵抗モデリングが行われたか否かが判断される。そして全ての電源Ｉ／Ｏセルについて抵抗モデリングが行われると（Ｓ６１：Ｙ）、ステップＳ３５に進む。なおこのとき、電源Ｉ／Ｏ領域ＰＡ内のパワーユニットＰＵであって、何れの電源Ｉ／Ｏセルにも属さないパワーユニットＰＵについての抵抗値は、無限大とされる。
【００５６】
ステップＳ３５について説明する。ステップＳ３５は、ステップＳ６３乃至Ｓ６６を備える。ステップＳ６３では、ブロックおよびマクロの何れにも属さないパワーユニットＰＵの抽出が行われる。ステップＳ６４では、ブロックおよびマクロの何れにも属しないパワーユニットＰＵについて、第１配線層ＭＥＴ１から第４配線層ＭＥＴ４までの各々のチップ電源占有率ＣＰＲ１乃至ＣＰＲ４が、情報格納部ＤＭから取得される。ステップＳ６５では、ブロックおよびマクロの何れにも属しないパワーユニットＰＵの抵抗値が算出されることで、抵抗モデリングが行われる。ステップＳ６６では、ブロックおよびマクロの何れにも属しない全てのパワーユニットＰＵが備える抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２の抵抗値が求められた上で、パワーユニット管理テーブルＣＴに格納され設定される。なお詳細な抵抗モデリング方法については、ブロックに属するパワーユニットＰＵにおける抵抗モデリング（ステップＳ４１乃至Ｓ４５）と同様であるため、詳細な説明は省略する。これによりステップＳ１２における抵抗モデリングは終了し、ステップＳ１３へ進む。
【００５７】
ステップＳ１３における電流源モデリングのフローチャートを図８に示す。電流源モデリングとは、パワーユニットＰＵ（図３）における電流源ＰＩをモデリングする方法である。ステップＳ１３における電流源ＰＩモデリングは、ステップＳ７１乃至Ｓ７３を備える。ステップＳ７１は、コア領域ＣＡにおいて、ブロックＢＬＫ１、ＢＬＫ２と重なるパワーユニットＰＵを抽出した上で、電流値を算出するステップである。ステップＳ７２は、コア領域ＣＡにおいて、マクロＭＣＲ１乃至ＭＣＲ５と重なるパワーユニットＰＵを抽出した上で、電流値を算出するステップである。ステップＳ７３は、コア領域ＣＡにおいて、ブロックおよびマクロの何れとも重ならないパワーユニットＰＵを抽出した上で、電流値を算出するステップである。
【００５８】
ステップＳ７１について説明する。ステップＳ７１は、ステップＳ８１乃至Ｓ８５を備える。ステップＳ８１では、ブロック選択およびブロック形状・位置判定が行われる。ブロック選択により、コア領域ＣＡ内に配置された全ブロックの各々が順次選択される。例として図４では、まずブロックＢＬＫ１が選択される。そしてブロックＢＬＫ１の形状と配置位置とを考慮して、ブロックＢＬＫ１に少なくとも一部が重なるパワーユニットＰＵが抽出される。また、抽出されたパワーユニットＰＵの総数であるパワーユニット総数ＰＵＳ１が求められる。
【００５９】
ステップＳ８２では、ブロックＢＬＫ１に対応するブロック電流ＢＩが、情報格納部ＤＭから取得される。ステップＳ８３では、ブロックＢＬＫ１に属するパワーユニットＰＵの１つ当たりの電流値であるパワーユニット電流値ＰＵＩ１が算出される。ここでブロック内の電流値は均一であるとモデル化されているため、パワーユニット電流値ＰＵＩ１は、下式（７）で求められる。
パワーユニット電流値ＰＵＩ１＝（ブロック電流ＢＩ）／（パワーユニット総数ＰＵＳ１）  ・・・式（７）
【００６０】
そしてステップＳ８４において、パワーユニット電流値ＰＵＩ１が、パワーユニット管理テーブルＣＴに格納され管理される。その後ステップＳ８５へ進み、コア領域ＣＡ内の全てのブロックについてパワーユニット電流値ＰＵＩ１の算出が行われたか否かが判断され、全ブロックについて電流値算出が行われると（Ｓ８５：Ｙ）、ステップＳ７２に進む。
【００６１】
ステップＳ７２について説明する。ステップＳ７２は、ステップＳ８７乃至Ｓ９０を備える。ステップＳ８７では、マクロ選択およびマクロ形状・位置判定が行われる。図４では、まずマクロＭＣＲ１が選択され、マクロＭＣＲ１に少なくとも一部が重なるパワーユニットＰＵが抽出される。また、抽出されたパワーユニットＰＵの総数であるパワーユニット総数ＰＵＳ２が求められる。ステップＳ８８では、マクロＭＣＲ１に対応するマクロ電流ＭＩが、情報格納部ＤＭから取得される。ステップＳ８９では、マクロＭＣＲ１に属するパワーユニットＰＵの１つ当たりの電流値であるパワーユニット電流値ＰＵＩ２が、下式（８）により算出される。
パワーユニット電流値ＰＵＩ２＝（マクロ電流ＭＩ）／（パワーユニット総数ＰＵＳ２）  ・・・式（８）
【００６２】
ステップＳ９０において、パワーユニット電流値ＰＵＩ２が、パワーユニット管理テーブルＣＴに格納され管理される。その後ステップＳ９１へ進み、コア領域ＣＡ内の全てのマクロについてパワーユニット電流値ＰＵＩ２の算出が行われたか否かが判断され、全マクロについて電流値算出が行われると（Ｓ９１：Ｙ）、ステップＳ７３に進む。
【００６３】
ステップＳ７３について説明する。ステップＳ７３は、ステップＳ９３乃至Ｓ９６を備える。ステップＳ９３では、ブロックおよびマクロの何れにも属さないパワーユニットＰＵの抽出が行われる。また、抽出されたパワーユニットＰＵの総数であるパワーユニット総数ＰＵＳ３が求められる。ステップＳ９４では、半導体チップ全体で消費される電流であるチップトータル電流ＣＩが、情報格納部ＤＭから取得される。ステップＳ９５では、ブロックおよびマクロの何れにも属さないパワーユニットＰＵの１つ当たりの電流値であるパワーユニット電流値ＰＵＩ３が、下式（９）により算出される。
パワーユニット電流値ＰＵＩ３＝（チップトータル電流ＣＩ−ブロックトータル電流ＴＢＩ−マクロトータル電流ＴＭＩ）／（パワーユニット総数ＰＵＳ３）  ・・・式（９）
ここでブロックトータル電流ＴＢＩは、ブロック電流ＢＩの全ブロックにおける積算値である。またマクロトータル電流ＴＭＩは、マクロ電流ＭＩの全マクロにおける積算値である。
【００６４】
ステップＳ９６では、パワーユニット電流値ＰＵＩ３が、パワーユニット管理テーブルＣＴに格納され管理される。これによりステップＳ１３における電流源ＰＩモデリングは終了する。
【００６５】
以上により、レイアウト領域ＬＡ内の全てのパワーユニットＰＵについて、抵抗値とパワーユニット電流値ＰＵＩ１乃至ＰＵＩ３が得られるため、ステップＳ３におけるパワーユニットＰＵのモデリングが終了する。そしてモデリング終了に伴い、パワーユニット管理テーブルＣＴが完成される（ステップＳ４）。
【００６６】
ステップＳ５（図１）では、ステップＳ４で得られたパワーユニット管理テーブルＣＴを用いて、例えば特許文献（特開２００３−２３３６３７）の方法により、スタティックＩＲドロップが計算される。
【００６７】
計算終了後、ステップＳ６へ進み、ＩＲドロップ解析結果表示が行われる。図４のフロアプランに対応したＩＲドロップ解析結果表示を、図９に示す。図９に示すように、チップ左側中央部の電圧降下量が多いことが分かる。これは図４のフロアプラン図において、マクロＭＣＲ４およびＭＣＲ５が配置される位置の近傍に該当する。すなわちＩＲドロップ見積もりに、フロアプランにおけるブロック・マクロの偏在（バラつき）を考慮することができ、より高精度なＩＲドロップ計算が可能とされていることが分かる。
【００６８】
ステップＳ７において、ＩＲドロップ解析により得られたＩＲドロップ見積り量が、規格値内であるか否かが判断される。本実施形態では、図９に示すようにチップ左側中央のＩＲドロップ見積り量が多く、規格値外となる。原因として、図４のフロアプランに示すように、マクロＭＣＲ１乃至ＭＣＲ５の配置がチップ左辺に集中し、電源リソース量が不足していることが考えられる。またチップ左辺に配置された電源Ｉ／Ｏセル量が少ないことや、チップ左辺に大きな消費電流値が割り当てられていることなども考えられる。よって、マクロＭＣＲ１乃至ＭＣＲ５がコア領域ＣＡの左辺中央部に集中しないようにフロアプランを変更することが好ましいことが分かる。よって再度ステップＳ１またはステップＳ２へ戻り（Ｓ７：Ｎ）、図９のＩＲドロップ解析結果をフィードバックして、ＩＲドロップ量の見積りのやり直しが行われる。なお、ステップＳ１まで戻る場合はデザイン情報の変更が必要な場合であり、ステップＳ２へ戻る場合はフロアプランの変更のみを行う場合である。
【００６９】
ステップＳ２において、フロアプラン配置を再調整した例を図１０に示す。またステップＳ６において得られた、図１０のフロアプランに対応したＩＲドロップ解析結果を図１１に示す。図１１において、コア領域ＣＡ左辺へのＩＲドロップ量の偏りが解消されると共に、ドロップ量のピーク値も低くなったことが分かる。これにより、ＩＲドロップ見積り量が規格内に入り、初期見積りは終了（Ｓ７：Ｙ）する。そしてステップＳ８へ進み、物理設計が行われる。
【００７０】
以上詳細に説明したとおり、第１実施形態に係る半導体集積回路の電源電圧ドロップシミュレーション方法によれば、シミュレーション用のパワーユニットＰＵ（図３）のモデル作成時において、各種抵抗値や電流値などのパラメータを用いる必要がなく、抵抗値や電流値に対して設計の上位概念のパラメータ（コアサイズＣＳ、電源占有率、チップトータル電流ＣＩ、電源Ｉ／Ｏ位置ＩＯＰなど）を用いることが出来る。これにより、パワーユニットＰＵモデル作成時に、抵抗値や電流値などを求める手間を省くことができ、モデル作成時間の短縮化を図ることができる。よってスタティックＩＲドロップの初期見積りシミュレーションの高効率化が可能となり、半導体集積回路の開発期間短縮化を図ることができる。
【００７１】
またパワーユニットＰＵのモデル作成時において、抵抗値や電流値を与える手間を省くことにより、モデル作成効率が高められるため、従来と同じ時間でより多数のパワーユニットＰＵのモデルを作成することが可能となる。するとレイアウト領域ＬＡへの各種ブロック・マクロの配置（フロアプラン）に応じた、電源配線の抵抗値・電流値等の各種パラメータの偏在（ばらつき）をモデル化可能になる。よって電圧ドロップシミュレーションの精度を向上させることができるため、スタティックＩＲドロップの初期見積りをより正確に行うことが可能となる。
【００７２】
また、抵抗値や電流値などのパラメータに対して設計の上位概念のパラメータであるコアリング幅ＣＷ、電源Ｉ／Ｏ抵抗値ＩＯＲ、パッケージ抵抗ＰＲを、デザイン情報として取得することにより、半導体集積回路のデザインごとにこれらのパラメータの影響をシミュレーションに反映させることができる。よってスタティックＩＲドロップの初期見積りの精度をより高めることが可能となる。
【００７３】
また図４に示すように、マクロおよびブロックをコア領域ＣＡに配置するという操作によって、マクロ・ブロックの配置位置の偏在（ばらつき）を、ＩＲドロップの初期見積もりに反映させることができる。これにより、ＩＲドロップ解析結果のフィードバックが簡易化・高効率化されるため、半導体集積回路の開発期間短縮化を図ることができる。
【００７４】
本発明の第２実施形態を図１２を用いて説明する。第２実施形態は、ダイナミックドロップと呼ばれる瞬時的な電圧変動に対するシミュレーション方法である。まず、本発明のダイナミックＩＲドロップ・シミュレーションで用いられるパワーユニットのモデルについて図１２を用いて説明する。ダイナミックＩＲドロップ用のパワーユニットは、ＶＤＤ配線用のパワーユニットＤＰＵと、ＶＳＳ配線用のパワーユニットＳＰＵとを備える。パワーユニットＤＰＵおよびＳＰＵは、四角形状の各辺に４つのモデルインダクタＬＸ１、ＬＸ２、ＬＹ１、ＬＹ２が備えられる２次元十字形の回路モデルを備える。またパワーユニットＤＰＵとＳＰＵとの間には、内部容量サブモデルＣＳＭ及び内部消費電流サブモデルＩＳＭが作成される。このパワーユニットを用いて、例えば特許文献（特開２００４−２３４６１８）の方法により、ダイナミックＩＲドロップが計算される。以下、パワーユニットのモデルインダクタのモデリングを行うフロー、および内部容量サブモデルＣＳＭに含まれるキャパシタＣＣおよび抵抗ＭＲのモデリングを行うフローについて、図１を用いて説明する。
【００７５】
図１のフローにおけるステップＳ１（デザイン情報入力）において、第２実施形態では、さらに電源Ｉ／ＯインダクタンスＩＯＬ、パッケージインダクタンスＰＬ、デカップリング容量値ＤＣがシミュレータに入力され、これらの情報は情報格納部ＤＭに格納される。電源Ｉ／ＯインダクタンスＩＯＬとは、電源Ｉ／Ｏセルが有するインダクタンス値である。パッケージインダクタンスＰＬとは、電源Ｉ／Ｏセルからワイヤボンディングを介してパッケージ外部端子へ至るまでの径路上に存在するインダクタンス値の合計である。またデカップリング容量値ＤＣとは、半導体集積回路全体が有するデカップリング容量であり、具体的には、パワーユニットＤＰＵとＳＰＵが表現する面内に存在する電源配線間の容量と、電源ノイズを低減するためのデカップリングキャパシタの容量と、内部回路の論理ゲートの容量の合計により求められる。
【００７６】
また図１のフローにおけるステップＳ１３（電流源モデリング）とステップＳ４（パワーユニット管理テーブルＣＴ設定）との間に、インダクタモデリングステップとキャパシタンスモデリングステップとが追加して備えられる。
【００７７】
インダクタモデリングステップは、ステップＳ１２の抵抗モデリングステップ（図５、図６）と同様のフローを備える。そして、ステップＳ４３、Ｓ４８、Ｓ５２において、シート抵抗値ＳＲ１乃至ＳＲ４に代えてシートインダクタンス値ＳＬ１乃至ＳＬ４が用いられる。またステップＳ５６では、選択された電源Ｉ／Ｏセルの電源Ｉ／Ｏ抵抗値ＩＯＲに加えて、インダクタンス値ＩＯＬが、情報格納部ＤＭから取得される。またステップＳ５９では、選択された電源Ｉ／Ｏセルに対応するパッケージ抵抗ＰＲに加えて、パッケージインダクタンスＰＬが情報格納部ＤＭから取得される。なお、詳細なインダクタンスのモデリング方法については、ステップＳ１２の抵抗モデリング方法と同様であるため、ここでは説明を省略する。
【００７８】
一方、キャパシタンスモデリングステップは、コア領域ＣＡに属するパワーユニットＰＵの内部容量サブモデルＣＳＭに備えられるキャパシタＣＣの容量値を算出するステップである。具体的には、キャパシタＣＣの容量値は、デカップリング容量値ＤＣを、コア領域ＣＡに属するパワーユニットＰＵの総数で除することにより求めることが出来る。なお、詳細なキャパシタンスのモデリング方法については、ステップＳ１３の電流源モデリング方法と同様であるため、ここでは説明を省略する。また内部消費電流サブモデルＩＳＭの電流値には、ステップＳ１３の電流源モデリングステップ（図８）により求められるパワーユニット電流値ＰＵＩ１乃至ＰＵＩ３が用いられる。また内部容量サブモデルＣＳＭの抵抗ＭＲの抵抗値は、パワーユニットの抵抗値ＲＸ１等と比して十分小さいとして無視することが可能である。
【００７９】
以上詳細に説明したとおり、第２実施形態に係る半導体集積回路の電源電圧ドロップシミュレーション方法によれば、ダイナミックドロップと呼ばれる瞬時的な電圧変動に対するシミュレーション用のパワーユニットＰＵ（図１２）のモデル作成時において、各種インダクタンス値やキャパシタンス値などのパラメータを用いる必要がなく、インダクタンス値やキャパシタンス値に対して設計の上位概念のパラメータ（デカップリング容量値ＤＣ、シートインダクタンス値ＳＬ、コアサイズＣＳ、電源占有率など）を用いることが出来る。これにより、パワーユニットＰＵモデル作成時に、インダクタンス値やキャパシタンス値などを求める手間を省くことができ、モデル作成時間の短縮化を図ることができるため、ダイナミックＩＲドロップの初期見積りシミュレーションの高効率化が可能となる。
【００８０】
またパワーユニットＰＵのモデル作成時において、インダクタンス値やキャパシタンス値を与える手間を省くことにより、モデル作成効率が高められるため、従来と同じ時間でより多数のパワーユニットＰＵのモデルを作成することが可能となる。するとレイアウト領域ＬＡへの各種ブロック・マクロの配置に応じた、電源配線のインダクタンス値等の各種パラメータの偏在（ばらつき）をモデル化可能になる。よって、ダイナミックドロップと呼ばれる瞬時的な電圧変動に対して、電源ノイズを低減する容量成分の効果を精度良く解析することが可能となる。また解析結果に応じて、デカップリングキャパシタの配置の最適化などを図ることが可能となる。
【００８１】
尚、本発明は前記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良、変形が可能であることは言うまでもない。第１実施形態では、レイアウト領域ＬＡにおけるブロック位置、マクロ位置、電源Ｉ／Ｏセル位置などを考慮することで、レイアウト領域ＬＡ内での各種パラメータの偏在（ばらつき）をモデル化しているが、この形態に限られない。例えば、チップ全面を均一モデルと考え、パワーユニットＰＵは全て同一のものを使うことにより、ブロック及びマクロのフロアプランを考慮しないとしてもよい。
【００８２】
この場合、ステップＳ１（図１）で入力が必要なデザイン情報のうち、ブロック形状ＢＳ・マクロ形状ＭＳ、ブロック電流ＢＩ・マクロ電流ＭＩは不要とされる。またコアリング幅ＣＷ、電源Ｉ／Ｏ抵抗値ＩＯＲはテクノロジで固定とされる。またパッケージ抵抗ＰＲは、テクノロジで代表的なパッケージの値が使用されるとする。よってデザイン情報として必要なパラメータは、チップ均一電源占有率ＵＰＲ、コアサイズＣＳ、チップトータル電流ＣＩとなり、必要なパラメータが簡略化される。またステップＳ２で入力が必要なフロアプラン情報のうち、ブロック位置ＢＰ・マクロ位置ＭＰは不要とされる。よってフロアプラン情報として必要なパラメータは、電源Ｉ／Ｏ位置ＩＯＰに簡略化される。
【００８３】
この場合、パワーユニットＰＵのモデル（図３）におけるモデル抵抗ＲＸ１、ＲＸ２、ＲＹ１、ＲＹ２を求めるには、ステップＳ１２において、チップ均一電源占有率ＵＰＲを用いて計算が行われる。またパワーユニット電流値ＰＵＩを求めるには、ステップＳ１３において、コアサイズＣＳをライブラリから取得されたパワーユニットサイズＵＳによって除することにより、コア領域ＣＡを占めるパワーユニットＰＵの総数であるパワーユニット総数ＰＵＳ４が求められる。そしてチップトータル電流ＣＩをパワーユニット総数ＰＵＳ４に均等に割り付けることにより、パワーユニット電流値ＰＵＩが求められる。これにより、シミュレーションに必要なデザイン情報およびフロアプラン情報を減らすことや、パワーユニットＰＵのモデル数を減らすことができるため、さらにモデル作成時間の短縮化を図ることができる。よってスタティックＩＲドロップの初期見積りシミュレーションのさらなる高効率化が可能とされ、半導体集積回路の開発期間をより短縮化することができる。
【００８４】
また第２実施形態においても、チップ全面を均一モデルと考え、パワーユニットＰＵは全て同一のものを使用し、ブロック及びマクロのフロアプランを考慮しないとしてもよい。この場合、デザイン情報として必要なパラメータは、チップ均一電源占有率ＵＰＲ、コアサイズＣＳ、チップトータル電流ＣＩに加えて、デカップリング容量値ＤＣとなる。またフロアプラン情報として必要なパラメータは、電源Ｉ／Ｏ位置ＩＯＰとなる。これにより第２実施形態においても、ダイナミックＩＲドロップ・シミュレーションに必要なデザイン情報およびフロアプラン情報を減らすことや、パワーユニットＰＵのモデル数を減らすことができるため、さらにモデル作成時間の短縮化を図ることができる。
【００８５】
またブロックやマクロに少なくとも一部が重なるパワーユニットＰＵは、当該ブロックやマクロに属するパワーユニットＰＵとして認識されるとしたが、この形態に限られない。パワーユニットＰＵがブロックやマクロに重なる割合を求め、この割合に応じてブロックやマクロに属するとして、抵抗モデリングや電流源モデリングを行うとしてもよい。例えばパワーユニットＰＵの面積の半分がブロックＢＬＫ１に重なる場合には、当該パワーユニットＰＵはブロックＢＬＫ１に５０％帰属するとし、この帰属率に応じて抵抗値や電流値が得られるとしてもよい。これにより、さらに高精度にレイアウト領域ＬＡにおける各種パラメータのばらつきをモデル化できるため、ＩＲドロップの初期見積りシミュレーションの精度をさらに向上させることができる。
【００８６】
また本実施形態では、ネットリスト等の品種データを用いずに、設計の初期段階での見積もりを可能とする実施形態であるとしたが、この形態に限られない。ネットリストが既に存在する場合には、ネットリストを取り込むことによりデザインエントリ作業を簡略化可能であり、柔軟な運用が可能とされることは言うまでもない。
【００８７】
なお、パワーユニットＰＵは分割ユニットの一例、ブロックＢＬＫ１およびＢＬＫ２、マクロＭＣＲ１乃至ＭＣＲ５は回路集合体の一例、ブロック形状ＢＳおよびマクロ形状ＭＳは回路集合体形状情報の一例、ブロック電流ＢＩおよびマクロ電流ＭＩは回路集合体電流量情報のそれぞれ一例である。
【図面の簡単な説明】
【００８８】
【図１】第１実施形態に係るスタティックＩＲドロップ・シミュレーションのフロー図である。
【図２】レイアウト領域ＬＡを示す図である。
【図３】第１実施形態に係るパワーユニットＰＵのモデル図である。
【図４】コア領域ＣＡにおけるブロックおよびマクロの配置図（調整前）である。
【図５】ステップＳ１２における抵抗モデリングのフロー図（その１）である。
【図６】ステップＳ１２における抵抗モデリングのフロー図（その２）である。
【図７】パワーユニットＰＵにおける第１配線層ＭＥＴ１を示す図である。
【図８】ステップＳ１３における電流源モデリングのフロー図である。
【図９】図４に対応するＩＲドロップ解析結果の表示図である。
【図１０】コア領域ＣＡにおけるブロックおよびマクロの配置図（調整後）である。
【図１１】図１０に対応するＩＲドロップ解析結果の表示図である。
【図１２】第２実施形態に係るパワーユニットのモデル図である。
【符号の説明】
【００８９】
ＣＳ  コアサイズ
ＣＷ  コアリング幅
ＢＳ  ブロック形状
ＭＳ  マクロ形状
ＢＩ  ブロック電流
ＭＩ  マクロ電流
ＣＩ  チップトータル電流
ＩＯＲ  電源Ｉ／Ｏ抵抗値
ＰＲ  パッケージ抵抗
ＵＰＲ  チップ均一電源占有率
ＢＰＲ  ブロック上電源占有率
ＭＰＲ  マクロ上電源占有率
ＣＰＲ  チップ電源占有率
ＢＰ  ブロック位置
ＭＰ  マクロ位置
ＩＯＰ  電源Ｉ／Ｏ位置
ＢＬＫ１、ＢＬＫ２  ブロック
ＭＣＲ１乃至ＭＣＲ５  マクロ
ＰＵ  パワーユニット
ＳＲ１乃至ＳＲ４  シート抵抗値
【図１】
2007052591.tif 000003
【図２】
2007052591.tif 000004
【図３】
2007052591.tif 000005
【図４】
2007052591.tif 000006
【図５】
2007052591.tif 000007
【図６】
2007052591.tif 000008
【図７】
2007052591.tif 000009
【図８】
2007052591.tif 000010
【図９】
2007052591.tif 000011
【図１０】
2007052591.tif 000012
【図１１】
2007052591.tif 000013
【図１２】
2007052591.tif 000014