(57)【要約】【課題】ＩＲドロップ違反を解消しつつ、半導体集積回路の大型化を抑制することができる半導体装置の電源配線レイアウト方法。【解決手段】半導体集積回路の電源配線レイアウト方法。電源配線を、複数のノードと、互いに隣接するノード間に配置された複数の要素抵抗と、を含む解析モデルとしてモデル化し、回路シミュレーションにより各複数のノードにおける電圧値を求める。電圧値にＩＲドロップ違反がある場合、ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、複数の要素抵抗のうち、電流経路に含まれる要素抵抗からボトルネック要素抵抗を選択し、その抵抗値を変更する。【選択図】図４
2011204086.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の電源配線レイアウト方法であって、
前記電源配線を、複数のノードと、互いに隣接する前記ノード間に配置された複数の要素抵抗と、を含む解析モデルとしてモデル化し、
回路シミュレーションにより各前記複数のノードにおける電圧値を求め、
前記電圧値にＩＲドロップ違反がある場合、前記ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、
前記複数の要素抵抗のうち、前記電流経路に含まれる要素抵抗からボトルネック要素抵抗を選択し、
前記ボトルネック要素抵抗の抵抗値を変更する電源配線レイアウト方法。
【請求項２】
前記電流経路の探索において、
前記ＩＲドロップ違反が最大となるノードへ流れ込む全ての電流経路を探索することを特徴とする請求項１に記載の電源配線レイアウト方法。
【請求項３】
前記ボトルネック要素抵抗には、前記電流経路において両端ノードの電位差が最大の要素抵抗が含まれることを特徴とする請求項１又は２に記載の電源配線レイアウト方法。
【請求項４】
前記電流経路に含まれる各要素抵抗での電流量と許容電流量との逆比を求め、
前記電流経路のうち前記逆比の合計が最小になるクリティカルパスから前記ボトルネック要素抵抗を選択することを特徴とする請求項１又は２に記載の電源配線レイアウト方法。
【請求項５】
前記ボトルネック要素抵抗には、前記クリティカルパスにおいて両端ノードの電位差が最大の要素抵抗が含まれることを特徴とする請求項４に記載の電源配線レイアウト方法。
【請求項６】
前記ボトルネック要素抵抗の抵抗値を変更した後、再度回路シミュレーションを行なうことを特徴とする請求項１〜５のいずれか一項に記載の電源配線レイアウト方法。
【請求項７】
前記ボトルネック要素抵抗の抵抗値を大きい値から小さい値へ変更することを特徴とする請求項１〜６のいずれか一項に記載の電源配線レイアウト方法。
【請求項８】
前記ボトルネック要素抵抗の幅を広げることにより、抵抗値を変更することを特徴とする請求項７のいずれか一項に記載の電源配線レイアウト方法。
【請求項９】
半導体集積回路の電源配線のレイアウトを行なう電源配線レイアウト装置であって、
前記電源配線を、複数のノードと、それぞれが２つの当該ノード間に配置された複数の要素抵抗と、を含む解析モデルとしてモデル化する電源配線モデル化部と、
各前記複数のノードにおける電圧値を求め、前記電圧値にＩＲドロップ違反があるか否かを判定するＩＲドロップ判定部と、
前記ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、前記複数の要素抵抗のうち、前記電流経路に含まれる要素抵抗からボトルネック要素抵抗を決定し、当該ボトルネック要素抵抗の抵抗値を更新するボトルネック決定部と、を備える電源配線レイアウト装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置の電源配線レイアウト方法及び電源配線レイアウト装置に関する。
【背景技術】
【０００２】
半導体集積回路の微細化及び高速化（動作周波数の向上）に伴い、誤動作の原因となる電源配線における電圧降下いわゆるＩＲドロップの抑制が重要になっている。このＩＲドロップは、電源配線のレイアウトをモデル化し、例えばコンピュータ上でのＳＰＩＣＥによる直流解析を実行することなどにより、見積もることができる。
【０００３】
非特許文献１や特許文献１には、ＩＲドロップを純数学的に非線形関数の問題として解析する方法が開示されている。しかしながら、解が収束しないおそれがあるなどの理由から、この手法を実際の電源配線レイアウト方法に適用するのは難しい。
【０００４】
実際の電源配線レイアウト方法では、直流解析の結果、ＩＲドロップ違反があった場合、電源配線幅を大きくするなどして、再度直流解析を実行する。この一連の操作を、ＩＲドロップ違反が解消されるまで繰り返す。
【０００５】
非特許文献２には、ＩＲドロップ違反があった場合、ある領域内の配線全体を太くすることにより、ＩＲドロップ違反を解消する手法が開示されている。また、特許文献２には、最適化対象配線なるものを設け、ＩＲドロップ違反があった場合、最適化対象配線全体の配線幅を大きくすることにより、ＩＲドロップ違反を解消する手法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平３−２０４９５８号公報
【特許文献２】特開２０００−３４９１６１号公報
【非特許文献】
【０００７】
【非特許文献１】Takashi Mitsuhashi, Emest S. Kuh, "Power and Ground Network Topology Optimization for Cell Based VLSIs," Proceedings of the 29th Design Automation Conference, pp. 524-529, 1992.
【非特許文献２】J. Singh, and S. S. Sapatnekar, "Partition-Based Algorithm for Power Grid Design Using Locality," IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems, vol. 25, no.4, pp. 664-677, April. 2006.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
発明者は以下の問題を見出した。ＩＲドロップ違反を解消するために配線幅を大きくすることは、電源配線の面積が増大し、半導体集積回路の大型化につながるため、最小限に留めたい。しかしながら、非特許文献２及び特許文献２に開示された手法では、配線全体の配線幅を大きくするため、半導体集積回路の大型化につながり易いという問題があった。
【課題を解決するための手段】
【０００９】
本発明に係る半導体装置の電源配線レイアウト方法は、
前記電源配線を、複数のノードと、互いに隣接する前記ノード間に配置された複数の要素抵抗と、を含む解析モデルとしてモデル化し、
回路シミュレーションにより各前記複数のノードにおける電圧値を求め、
前記電圧値にＩＲドロップ違反がある場合、前記ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、
前記複数の要素抵抗のうち、前記電流経路に含まれる要素抵抗からボトルネック要素抵抗を選択し、
前記ボトルネック要素抵抗の抵抗値を変更するものである。
【００１０】
本発明に係る半導体装置の電源配線レイアウト装置は、
前記電源配線を、複数のノードと、それぞれが２つの当該ノード間に配置された複数の要素抵抗と、を含む解析モデルとしてモデル化する電源配線モデル化部と、
各前記複数のノードにおける電圧値を求め、前記電圧値にＩＲドロップ違反があるか否かを判定するＩＲドロップ判定部と、
前記ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、前記複数の要素抵抗のうち、前記電流経路に含まれる要素抵抗からボトルネック要素抵抗を決定し、当該ボトルネック要素抵抗の抵抗値を更新するボトルネック決定部と、を備えるものである。
【００１１】
本発明では、ＩＲドロップ違反が最大となるノードへ流れ込む電流経路を探索し、複数の要素抵抗のうち、当該電流経路に含まれる要素抵抗からボトルネック要素抵抗を選択し、その抵抗値を変更する。そのため、ＩＲドロップ違反を解消しつつ、半導体集積回路の大型化を抑制することができる。
【発明の効果】
【００１２】
本発明では、ＩＲドロップ違反を解消しつつ、半導体集積回路の大型化を抑制することができる半導体装置の電源配線レイアウト方法及び電源配線レイアウト装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る半導体装置の電源配線レイアウト方法のフローチャートである。
【図２Ａ】半導体デバイスチップ１０１の電源配線網のレイアウトを示す平面図である。
【図２Ｂ】半導体デバイスチップ１０１のグランド配線網のレイアウトを示す平面図である。
【図３】図２Ａの電源配線網及び図２Ｂのグランド配線網に対応する解析モデルの斜視図である。
【図４】直流解析により求められた図２Ａに示した電源配線網の各ノードの電圧値の一例を示したものである。
【図５】図４において破線で囲われた領域の拡大図である。
【図６Ａ】解析の繰り返し数に対するＩＲドロップ値の変化を示すグラフである。
【図６Ｂ】解析の繰り返し数に対する電源配線の面積の変化を示すグラフである。
【図７】図５の各枝にコスト＝電流量／許容電流量を付した図である。
【図８】本発明の第３の実施の形態に係る半導体装置設計用の電源配線レイアウト装置のブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１５】
（実施の形態１）
図１を参照して本発明の第１の実施の形態に係る半導体装置の電源配線レイアウト方法について説明する。図１は、実施の形態１に係る半導体装置の電源配線レイアウト方法のフローチャートである。図１に示すように、電源配線レイアウト方法は、電源配線をモデル化するステップＳＴ１、抵抗値の初期値を設定するステップＳＴ２、直流解析を実行するステップＳＴ３、ＩＲドロップ違反があるか否かを判定するステップＳＴ４、ＩＲ違反があった場合、ボトルネック枝を探索し、その抵抗値を更新するステップＳＴ５の５つのステップを備えている。
【００１６】
まず、電源配線をモデル化するステップＳＴ１について説明する。図２Ａは、システムＬＳＩ（Large Scale Integration）などの半導体デバイスチップ１０１の電源配線網のレイアウトを示す平面図である。図２Ａを参照して、モデル化の対象となる電源配線網について説明する。図２Ａに示すように、半導体デバイスチップ１０１は、太線で示された電源配線網１０２を備えている。
【００１７】
この電源配線網１０２は、図面縦方向に４行、図面横方向に６列の網目状の配線を備えている。そのため、横方向の配線と、縦方向の配線との交点に、合計４×６＝２４個のノードを備えている。
【００１８】
具体的には、図面の最も左側に位置する縦方向の配線には、４つのノードＮ１１〜Ｎ１４が並んでいる。この配線の右隣に位置する縦方向の配線には、４つのノードＮ２１〜Ｎ２４が並んでいる。この配線の右隣に位置する縦方向の配線には、４つのノードＮ３１〜Ｎ３４が並んでいる。この配線の右隣に位置する縦方向の配線には、４つのノードＮ４１〜Ｎ４４が並んでいる。この配線の右隣に位置する縦方向の配線には、４つのノードＮ５１〜Ｎ５４が並んでいる。そして、この配線の右隣に位置し、図面の最も右側に位置する縦方向の配線には、４つのノードＮ６１〜Ｎ６４が並んでいる。
【００１９】
換言すると、図面の最も上側に位置する横方向の配線には、６つのノードＮ１１、Ｎ２１、Ｎ３１、Ｎ４１、Ｎ５１、Ｎ６１が並んでいる。この配線の下隣に位置する横方向の配線には、６つのノードＮ１２、Ｎ２２、Ｎ３２、Ｎ４２、Ｎ５２、Ｎ６２が並んでいる。この配線の下隣に位置する横方向の配線には、６つのノードＮ１３、Ｎ２３、Ｎ３３、Ｎ４３、Ｎ５３、Ｎ６３が並んでいる。そして、この配線の下隣に位置し、図面の最も下側に位置する横方向の配線には、６つのノードＮ１４、Ｎ２４、Ｎ３４、Ｎ４４、Ｎ５４、Ｎ６４が並んでいる。
また、上記２４個のノードのうち、四隅に位置するノードＮ１１、Ｎ１４、Ｎ６１、Ｎ６４は、それぞれ電源バッドＰＰ１、ＰＰ２、ＰＰ３、ＰＰ４に配線を介して接続されている。
【００２０】
次に、本実施の形態に係る半導体装置の電源配線レイアウト方法での、各ノードに流れる電流量の決定方法について説明する。まず、２４個のノードの１つ１つに対応するように、半導体デバイスチップ１０１全体を２４個の領域に分割する。そして、分割された各領域が消費する電流量を、各ノードに流れる電流量とする。以下に、より具体的に説明する。図２Ａに示すように、破線で示された５本の縦線Ｘ１〜Ｘ５及び３本の横線Ｙ１〜Ｙ３により、半導体デバイスチップ１０１全体が２４個の領域に分割されている。
【００２１】
ここで、図２Ａに示すように、半導体デバイスチップ１０１は、４つのデジタル機能ブロック領域ＦＢ１〜ＦＢ４を備えている。図２Ａでは、機能ブロック領域ＦＢ１〜ＦＢ４毎にハッチングを変えて示している。ここで、機能ブロック領域ＦＢ１〜ＦＢにおける消費電流量は、機能ブロック毎に設計により決められている。そのため、機能ブロック領域ＦＢ１〜ＦＢそれぞれの単位面積当たりの消費電流量（以下、単位消費電流量と呼ぶ）が求まる。
【００２２】
例えば、ノードＮ１１に割り振られた領域（以下、ノードＮ１１の分割領域などと呼ぶ）は、半導体デバイスチップ１０１の境界線と、縦線Ｘ１、横線Ｙ１により囲まれた領域である。そのため、ノードＮ１１に流れる電流量は、機能ブロック領域ＦＢ１の単位消費電流量と、ノードＮ１１の分割領域面積との積となる。同様に、ノードＮ２１の分割領域は、半導体デバイスチップ１０１の境界線と、縦線Ｘ１、Ｘ２、横線Ｙ１により囲まれた領域である。そのため、ノードＮ２１に流れる電流量は、デジタル機能ブロック領域ＦＢ１の単位消費電流量と、ノードＮ２１の分割領域面積との積となる。
【００２３】
また、ノードＮ３１の分割領域は、半導体デバイスチップ１０１の境界線と、縦線Ｘ２、Ｘ３、横線Ｙ１により囲まれた領域である。この領域は、２つの機能ブロック領域ＦＢ１、ＦＢ２を含んでいる。そのため、ノードＮ３１に流れる電流量は、（１）機能ブロック領域ＦＢ１の単位消費電流量と、ノードＮ３１の分割領域における機能ブロック領域ＦＢ１の面積との積と、（２）機能ブロック領域ＦＢ２の単位消費電流量と、ノードＮ３１の分割領域における機能ブロック領域ＦＢ２の面積との積と、の合計即ち（１）＋（２）となる。
【００２４】
さらに、ノードＮ３２の分割領域は、縦線Ｘ２、Ｘ３、横線Ｙ１、Ｙ２により囲まれた領域である。この領域は、３つの機能ブロック領域ＦＢ１、ＦＢ２、ＦＢ３を含んでいる。そのため、ノードＮ３２に流れる電流量は、（１）機能ブロック領域ＦＢ１の単位消費電流量と、ノードＮ３２の分割領域における機能ブロック領域ＦＢ１の面積との積と、（２）機能ブロック領域ＦＢ２の単位消費電流量と、ノードＮ３２の分割領域における機能ブロック領域ＦＢ２の面積との積と、（３）機能ブロック領域ＦＢ３の単位消費電流量と、ノードＮ３２の分割領域における機能ブロック領域ＦＢ３の面積との積と、の合計即ち（１）＋（２）＋（３）となる。その他のノードに流れる電流量の決定方法も同様であるため、説明を省略する。
【００２５】
図２Ｂは、図２Ａに対応した半導体デバイスチップ１０１のグランド配線網のレイアウトを示す平面図である。図２Ａに示した２４個のノードＮ１１〜Ｎ１４、ノードＮ２１〜Ｎ２４、ノードＮ３１〜Ｎ３４、ノードＮ４１〜Ｎ４４、ノードＮ５１〜Ｎ５４、ノードＮ６１〜Ｎ６４に対応する２４個のノードＧＮ１１〜ＧＮ１４、ノードＧＮ２１〜ＧＮ２４、ノードＧＮ３１〜ＧＮ３４、ノードＧＮ４１〜ＧＮ４４、ノードＧＮ５１〜ＧＮ５４、ノードＧＮ６１〜ＧＮ６４が配置されている。
【００２６】
また、上記２４個のノードのうち、四隅に位置するノードＧＮ１１、ＧＮ１４、ＧＮ６１、ＧＮ６４は、それぞれグランドバッドＧＰ１、ＧＰ２、ＧＰ３、ＧＰ４に配線を介して接続されている。
ここで、図２ＡのノードＮ１１から対応する図２ＢのノードＧＮ１１に向かって電流が流れる。同様に、図２ＡのノードＮ１２から対応する図２ＢのノードＧＮ１２に向かって電流が流れる。その他のノードについても同様であるので、説明を省略する。
【００２７】
図３は、図２Ａの電源配線網及び図２Ｂのグランド配線網に対応する解析モデルの斜視図である。図３に示すように、当該解析モデルは直方体形状を有しており、その上面が図２Ａに示した電源配線網の解析モデル、下面が図２Ｂに示したグランド配線網の解析モデルである。図３に示すように、図２Ａに示した電源配線網の隣接ノード間の配線（以下、枝と呼ぶ）は、要素抵抗としてモデル化されている。また、電源パッドＰＰ１、ＰＰ２、ＰＰ３、ＰＰ４と、それぞれの最近接ノードＮ１１、Ｎ１４、Ｎ６１、Ｎ６４と、を結ぶ配線も要素抵抗としてモデル化されている。図２Ｂに示したグランド配線網についても同様にモデル化されている。なお、図３から明らかなように、グランド配線網の解析モデルについては一部省略されている。
【００２８】
また、図３に示す解析モデルでは、図２Ａに示した電源配線網の２４個のノードは、対応する図２Ｂに示したグランド配線網の２４個のノードと、電流源を介してそれぞれ接続されている。具体的には、図３に示すように、電源配線のノードＮ１４は、対応するグランド配線のノードＧＮ１４と、電流源を介して接続されている。同様に、電源配線のノードＮ２４は、対応するグランド配線のノードＧＮ２４と、電流源を介して接続されている。その他のノードについても同様であるので、説明を省略する。ここで、図３に示すように、各電流源はデカップリングキャパシタと並列に接続されている。但し、このデカップリングキャパシタは、直流解析には影響を及ぼさない。
【００２９】
次に、図１における抵抗値の初期値を設定するステップＳＴ２について説明する。抵抗値の初期値は特に制約されないが、大きい抵抗値を初期値として設定することが好ましい。ここで、抵抗値は、配線幅、配線数、配線厚さなどにより変更可能である。しかしながら、配線幅により抵抗値を変更するのが製造プロセスに及ぼす影響が少なく好ましい。即ち、大きい抵抗値を有する配線とは小さい配線幅を有するということである。このように、できる限り小さい配線幅からスタートすることにより、最終的に得られる電源配線の面積も小さくすることができる
【００３０】
次に、図１における直流解析を実行するステップＳＴ３について説明する。直流解析は、例えばコンピュータ上でＳＰＩＣＥ(Simulation Program with Integrated Circuit Emphasis)を用いて行うことができる。この直流解析により、図２Ａに示した電源配線網の各ノードの電圧を求めることができる。
【００３１】
図４は、直流解析により求められた図２Ａに示した電源配線網の各ノードの電圧値の一例を示したものである。図４において、電源パッドＰＰ１〜ＰＰ４の電圧は、いずれも１．０Ｖである。そして、各ノードに示された値がそのノードの電圧である。また、各枝に沿って付された矢印は、電流の向きを示している。当然のことながら、電流は隣接ノード間において、電圧の高いノードから電圧の低いノードへ向かって流れる。なお、図４では、ノードＮ３３、Ｎ５４、Ｎ６４以外のノード名は省略されている。
【００３２】
次に、図１におけるＩＲドロップ違反があるか否かを判定するステップＳＴ４について説明する。図４に示した各ノードの電圧値からＩＲドロップ違反があるか否か判定することができる。ここで、図１に示すように、ＩＲドロップ違反が無ければ、フローは終了する。
【００３３】
次に、ボトルネック枝を探索し、その抵抗値を更新するステップＳＴ５について説明する。図１に示すように、ステップＳＴ４において、ＩＲドロップ違反があった場合、ボトルネック枝を探索し、その抵抗値を更新する。ここで、図４を用いて、ボトルネック枝の探索方法を説明する。まず、ＩＲドロップが最大のノード即ち最低電圧ノードを探索する。図４の例では、最低電圧ノードは、電圧値０．８ＶのノードＮ３３である。ＩＲドロップ違反を解消するには、この最低電圧ノードＮ３３の電圧値を上昇させる必要がある。
【００３４】
そのため、次に、最低電圧ノードＮ３３におけるＩＲドロップに影響を及ぼす電流経路を探索する。この電流経路探索は、最低電圧ノードＮ３３から電源パッドまで矢印を逆方向に遡って行くことにより、行うことができる。図４の例では、破線で囲われた領域が求める電流経路となる。ここで、図４に示した電源配線網において、隣接ノード間のＩＲドロップが最大となるのは、ノードＮ６４（電圧値：０．９９Ｖ）とノードＮ５４（電圧値：０．８２Ｖ）との間であり、その値は０．１７Ｖである。しかし、この枝は、破線で囲われた領域に含まれない。そのため、この枝の抵抗値を変更したとしても、効果的に最低電圧ノードＮ３３の電圧値を上昇させることができない。
【００３５】
図５は、図４において破線で囲われた領域の拡大図である。図５に示すように、最低電圧ノードＮ３３に至る電流経路は、Ｎ３３←Ｎ３２←Ｎ４２←Ｎ４３←Ｎ４４←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ４３←Ｎ４４←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ２３←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ２３←Ｎ１３←Ｎ１４と、の５つである。
【００３６】
ここで、例えば、隣接ノード間の電位差がＩＲドロップの基準値を超える場合、その枝をボトルネック枝と定義するとする。ここで、例えば、ＩＲドロップの基準値を０．１Ｖとする。図５の場合、この定義に基づけば、電位差０．１１ＶのノードＮ１３、Ｎ２３間の枝及び電位差０．１３ＶのノードＮ３３、Ｎ３４間の枝の２つの枝がボトルネック枝となる。従って、この２つのボトルネック枝の抵抗値を更新する。具体的には、この２つのボトルネック枝の配線幅を広げて抵抗値を低くする。ここで、基準値を設けずに、隣接ノード間の電位差が最大となる枝（図５の場合、ノードＮ３３、Ｎ３４間の枝）をボトルネック枝として、その抵抗値を更新してもよい。つまり、少なくとも隣接ノード間の電位差が最大となる枝をボトルネック枝として、その抵抗値を更新すればよい。そして、ステップＳＴ３に戻り、再度直流解析を実行する。ステップＳＴ４においてＩＲドロップ違反が無くなるまで、ステップＳＴ３〜ＳＴ５の処理を繰り返し実行する。
【００３７】
図６Ａ、６Ｂを参照して、本実施の形態に係る半導体装置の電源配線レイアウト方法の効果について説明する。図６Ａは、解析の繰り返し数に対するＩＲドロップ値の変化を示すグラフである。図６Ａの横軸は解析の繰り返し数（回数）、縦軸はＩＲドロップ値（Ｖ）を示している。実施例は本実施の形態に係る方法、比較例は非特許文献２に係る方法を用いた場合を示している。抵抗値の初期値は同じであるため、最初のＩＲドロップ値も同じである。図６Ａに示すように、ＩＲドロップの基準値を０．１Ｖ以下とすると、比較例では繰り返し回数４４回でこの基準値をクリアした。一方、実施例では、繰り返し数８５回でこの基準値をクリアした。即ち、繰り返し回数では、実施例の方が多い。但し、この繰り返しには、さほど時間を要しない。
【００３８】
図６Ｂは、解析の繰り返し数に対する電源配線の面積の変化を示すグラフである。図６Ｂの横軸は解析の繰り返し数（回数）、縦軸は電源配線の面積（倍）を示している。初期の配線面積を１とした場合、電源配線の面積が何倍になったかを示している。図６Ｂに示すように、比較例では繰り返し回数４４回で電源配線の面積は初期値の１００倍を超えてしまう。一方、実施例では、同じ繰り返し数で比較して、初期値とほとんど変化していない。この傾向はＩＲドロップの基準値をクリアする繰り返し数８５回でも同様である。即ち、ＩＲドロップの基準値をクリアしつつ、比較例に比べ電源配線の面積を１００分の１程度に縮小することができる。
【００３９】
（実施の形態２）
次に、図７を参照して本発明の第２の実施の形態に係る半導体装置の電源配線レイアウト方法について説明する。実施の形態１では、図５に示した領域において隣接ノード間の電位差が最大あるいは基準値を超えたものをボトルネック枝として選定した。実施の形態２では、図５に示した領域において各枝の電流量も考慮して、最も重要な電流経路（クリティカルパス）を決定する。さらに、そのクリティカルパスに含まれる枝において、隣接ノード間の電位差が最大となる枝をボトルネック枝として選定する。
【００４０】
図７は、図５の各枝にコスト＝電流量Ｉ／許容電流量Ｉａを付した図である。また、カッコ内のｒ（単位：Ω）は各枝の抵抗値を示している。即ち、この抵抗値ｒはモデル化された各要素抵抗の抵抗値である。隣接ノード間の電位差がボトルネック基準値を超えないように設定した場合、このボトルネック基準値Ｖｂｎと各枝の抵抗値ｒとを用いて、許容電流量Ｉａ＝Ｖｂｎ／ｒと表すことができる。他方、隣接ノード間の電位差をＶとすると、電流量Ｉ＝Ｖ／ｒと表すことができる。つまり、コスト＝Ｉ／Ｉａ＝Ｖ／ｒ／（Ｖｂｎ／ｒ）＝Ｖ／Ｖｂｎとなる。
【００４１】
図７の例では、この基準値をＩＲドロップの基準値Ｖｂｎ＝０．１Ｖとした場合を示している。例えば、ノードＮ１４、Ｎ２４間の枝の許容電流量Ｉａ＝０．１Ｖ／０．１Ω＝１Ａとなる。ノードＮ１４、Ｎ２４間の電位差が図６に示すように０．９９−０．９５＝０．０３８Ｖであると、電流量Ｉ＝０．０３８Ｖ／０．１Ω＝０．３８Ａとなる。従って、コスト＝０．３８／１となる。その他の枝についても同様にコストを求めることができる。
【００４２】
図７に示すように、最低電圧ノードＮ３３に至る電流経路は、Ｎ３３←Ｎ３２←Ｎ４２←Ｎ４３←Ｎ４４←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ４３←Ｎ４４←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ３４←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ２３←Ｎ２４←Ｎ１４と、Ｎ３３←Ｎ２３←Ｎ１３←Ｎ１４と、の５つである。各電流経路のコストの逆数即ち電流量Ｉと許容電流量Ｉａとの逆比を合計し、その値が最小のものがクリティカルパスとして定まる。図７の例では、Ｎ３３←Ｎ３４←Ｎ２４←Ｎ１４がクリティカルパスとなる。そして、このクリティカルパスＮ３３←Ｎ３４←Ｎ２４←Ｎ１４において、隣接ノード間の電位差が０．１３Ｖで最大となるノードＮ３３、Ｎ３４間の枝がボトルネック枝として選定される。
【００４３】
なお、上記５つのパスは、いずれも始点がノードＮ１４（０．９９Ｖ）、終点がノードＮ３３（０．８Ｖ）である。そのため、コストの合計はいずれのパスでも同じ値（０．９９−０．８）／０．１＝１．９となる。その他の工程は実施の形態１と同様であるため、説明を省略する。
【００４４】
（実施の形態３）
次に、図８を参照して本発明の第３の実施の形態に係る半導体装置設計用の電源配線レイアウト装置について説明する。図８は、本発明の第３の実施の形態に係る半導体装置設計用の電源配線レイアウト装置のブロック図である。実施の形態１、２において説明した半導体装置の電源配線レイアウト方法は、通常、半導体装置設計ツールなどのソフトウェアに組み込むことにより実施される。しかしながら、図８に示すように、ハードウェアにより実現することもできる。
【００４５】
図８に示すように、第３の実施の形態に係る半導体装置設計用の電源配線レイアウト装置は、配線モデル化部３０１、抵抗値設定部３０２、ＩＲドロップ判定部３０３、ボトルネック枝決定部３０４を備えている。配線モデル化部３０１は、図２Ａ、２Ｂに示すような電源配線の設計データから図３に示すような電源配線モデルを生成する。ＩＲドロップ判定部３０３は、配線モデル化部３０１により生成された電源配線モデルを用いて、ＩＲドロップ判定を行なう。具体的なＩＲドロップ判定方法は、実施の形態１と同様である。ボトルネック枝決定部３０４は、ＩＲドロップ判定結果に基づいて、ＩＲドロップに影響が大きいボトルネック枝を決定し、その抵抗値を更新する。具体的な探索方法は、実施の形態１と同様である。
【００４６】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００４７】
１０１  半導体デバイスチップ
１０２  電源配線網
３０１  配線モデル化部
３０２  抵抗値設定部
３０３  ドロップ判定部
３０４  ボトルネック枝決定部
ＦＢ１〜ＦＢ４  機能ブロック領域
ＧＰ１〜ＧＰ４  グランドバッド
ＰＰ１〜ＰＰ４  電源パッド
Ｎ１１〜Ｎ１４  ノード
Ｎ２１〜Ｎ２４  ノード
Ｎ３１〜Ｎ３４  ノード
Ｎ４１〜Ｎ４４  ノード
Ｎ５１〜Ｎ５４  ノード
Ｎ６１〜Ｎ６４  ノード
ＧＮ１１〜ＧＮ１４  ノード
ＧＮ２１〜ＧＮ２４  ノード
ＧＮ３１〜ＧＮ３４  ノード
ＧＮ４１〜ＧＮ４４  ノード
ＧＮ５１〜ＧＮ５４  ノード
ＧＮ６１〜ＧＮ６４  ノード
【図１】
2011204086.tif 000003
【図２Ａ】
2011204086.tif 000004
【図２Ｂ】
2011204086.tif 000005
【図３】
2011204086.tif 000006
【図４】
2011204086.tif 000007
【図５】
2011204086.tif 000008
【図６Ａ】
2011204086.tif 000009
【図６Ｂ】
2011204086.tif 000010
【図７】
2011204086.tif 000011
【図８】
2011204086.tif 000012