(57)【要約】【課題】信号配線におけるシグナルエレクトロマイグレーションの発生を回避することのできる半導体集積回路のレイアウト技術の提供を図る。【解決手段】半導体集積回路のレイアウト方法であって、配置・配線処理を行い（ＳＴ３１）、該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出し（ＳＴ３３）、該抽出した該抵抗値，該容量値および該許容電流値（ＳＴ３４）から、前記信号配線のシグナルエレクトロマイグレーションを計算する（ＳＴ３７）ように構成する。【選択図】図３
2008235335.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウト方法であって、
配置・配線処理を行い、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出し、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算することを特徴とする半導体集積回路のレイアウト方法。
【請求項２】
半導体集積回路のレイアウト装置であって、
配置・配線処理を行う手段と、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出する手段と、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算する手段と、を備えることを特徴とする半導体集積回路のレイアウト装置。
【請求項３】
コンピュータに、
配置・配線処理を行わせる手順と、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出させる手順と、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算させる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラム。
【請求項４】
半導体集積回路のレイアウト方法であって、
チップレイアウト開始前に信号配線の最大許容配線容量Ｃmaxを求め、
前記信号配線における全てのセルに対してスルーレート違反を起こす出力負荷容量ＣＡＰslewを求め、
ＣmaxとＣＡＰslewとを比較し、
Ｃmax＞ＣＡＰslewならば、前記信号配線のスルーチェックを行い、Ｃmax≦ＣＡＰslewならば、前記信号配線の該スルーチェックだけでなく、該信号配線のシグナルエレクトロマイグレーションチェックも行うことを特徴とする半導体集積回路のレイアウト方法。
【請求項５】
請求項４に記載の半導体集積回路のレイアウト方法において、
前記最大許容配線容量Ｃmaxは、前記半導体集積回路のチップ仕様から求められる最大動作率ＡＣＴmax，最大動作周波数Ｆmaxおよび最大電源電圧Ｖmax、並びに、前記チップ仕様および設計ルールから求められる最大ＡＣ許容電流ＡＣmaxにより求めることを特徴とする半導体集積回路のレイアウト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト方法および装置、並びに、プログラムに関し、特に、シグナルエレクトロマイグレーションを考慮した半導体集積回路のレイアウト方法および装置、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、半導体集積回路において、信号配線ではＡＣ許容電流を超えることは無かった。しかしながら、近年の半導体集積回路における配線（設計ルール）の微細化および動作周波数の向上に伴って、信号配線でのシグナルエレクトロマイグレーション（Signal Electro-migration：Signal E-mig.）が発生し得る状況になって来ている。
【０００３】
従来、配線のＡＣ許容電流は一般に求められており、信号配線を流れる電流量は、次の式（１）から求められる。
【０００４】
[周波数:Ｈz]×[動作率]×[電源電圧:Ｖ]×[配線容量:F]＜[ＡＣ許容電流:Ａ] … (1)
【０００５】
ところで、従来、エレクトロマイグレーションの許容電流範囲内で動作する半導体集積回路のレイアウト技術として、レイアウトデータに従ったプレレイアウトを行い、フロントエンドのシミュレーションにより一定の負荷容量における各ネットの動作周波数を計算して配線容量と動作電圧および動作周波数から配線セグメントの電流を求め、エレクトロマイグレーションの許容電流と比較し、この電流がエレクトロマイグレーションの許容電流より大きければ、エレクトロマイグレーションを回避するのに必要な配線幅を算出し、その算出された配線幅を用いて再度ポストレイアウトを行うようにしたものが提案されている（例えば、特許文献１参照）。
【０００６】
【特許文献１】特開２０００−３４９１５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
図１は２つのセル間におけるノードを示す回路図である。
まず、図１に示されるように、第１のセル１００と第２のセル２００との間にｎ個のノードＮ１〜Ｎｎを考える。ここで、ノードは、異なる層の配線を結ぶビア（VIA）とのつなぎ目、配線を一定の長さで区切った個所、配線の疎密が変わる個所、或いは、配線が折れ曲がる個所等に設けられる。
【０００８】
従来の半導体集積回路のレイアウト方法では、例えば、隣接するノード或いはセルの間における抵抗値Ｒおよび容量値Ｃを抽出する。
【０００９】
具体的に、例えば、
（始点，  終点）＝（抵抗値，  容量値）
（１００，Ｎ１）＝  （Ｒ１，  Ｃ１）
（Ｎ１，  Ｎ２）＝  （Ｒ２，  Ｃ２）
…        …          …
（Ｎｎ，２００）＝  （Ｒn+1，  Ｃn+1）
としてＲＣ（抵抗値Ｒおよび容量値Ｃ）の抽出を行う。なお、Ｒ１〜Ｒn+1は、それぞれの始点−終点間の抵抗値を示し、また、Ｃ１〜Ｃn+1は、それぞれの始点−終点間の容量値を示している。
【００１０】
ここで、例えば、上記の１行目の記載は、始点である第１のセル１００から終点であるノードＮ１までの経路において、抽出した抵抗値がＲ１［Ω］で容量値がＣ１［ｆＦ］であることを示し、また、２行目の記載は、始点であるノードＮ１から終点であるノードＮ２までの経路において、抽出した抵抗値がＲ２［Ω］で容量値がＣ２［ｆＦ］であることを示し、そして、ｎ＋１行目の記載は、始点であるノードＮｎから終点である第２のセル２００までの経路において、抽出した抵抗値がＲn+1［Ω］で容量値がＣn+1［ｆＦ］であることを示している。
【００１１】
図２は従来の半導体集積回路のレイアウト方法の一例の処理を概略的に説明するためのフローチャートである。
【００１２】
図２に示されるように、従来の半導体集積回路のレイアウト処理は、例えば、ステップＳＴ２１において、配置・配線を行った後、ステップＳＴ２２に進んで、レイアウトデータを記憶装置（例えば、ハードディスク）に格納し、さらに、ステップＳＴ２３に進んで、格納されたレイアウトデータから抽出処理（抵抗値および容量値の抽出）を行う。
【００１３】
次に、ステップＳＴ２４に進んで、抽出された抵抗・容量情報（ＲＣ情報：抵抗値Ｒおよび容量値ＣのＲＣ抽出ファイル）を記憶装置に格納し、ステップＳＴ２５において、格納されたＲＣ情報から遅延時間の計算を行うと共に、ステップＳＴ２６において、格納されたＲＣ情報から消費電力の計算を行うようになっている。
【００１４】
従来の消費電力解析や遅延時間解析では、信号ネット毎に配線の抵抗値と容量値のＲＣ情報を利用している。ここで、信号ネットとは、図１に示されるような回路を構成するセルとセルの間を結ぶ配線を指し、解析をより詳細に行うために、ネットはノード（Ｎ１〜Ｎｎ）で分割され、各ノード間でのＲＣ（抵抗値および容量値）を求める。そして、図２を参照して説明したように、各ノード（セル）間の抵抗値および容量値はＲＣ抽出ファイル（抵抗・容量情報）へ出力される。
【００１５】
このように、従来の半導体集積回路のレイアウト方法は、単に抵抗値および容量値のＲＣ情報を抽出するだけであり、配線のＡＣ許容電流を求めることはできなかった。
【００１６】
また、前述した特許文献１で提案されている半導体集積回路のレイアウト技術は、レイアウトデータに従ったプレレイアウトを行って各ネットの配線セグメントの電流を求め、エレクトロマイグレーションの許容電流と比較し、この電流がエレクトロマイグレーションの許容電流より大きければ、エレクトロマイグレーションを回避するのに必要な配線幅を算出して再度ポストレイアウトを行うものであるが、これは、単に、許容電流に応じた配線幅の設定（変更）だけを行うものでしかなかった。
【００１７】
本発明は、上述した従来技術が有する課題に鑑み、信号配線におけるシグナルエレクトロマイグレーションの発生を回避することのできる半導体集積回路のレイアウト方法および装置、並びに、プログラムの提供を目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の形態によれば、半導体集積回路のレイアウト方法であって、配置・配線処理を行い、該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出し、該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算することを特徴とする半導体集積回路のレイアウト方法が提供される。
【００１９】
また、本発明の第１の形態によれば、半導体集積回路のレイアウト装置であって、配置・配線処理を行う手段と、該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出する手段と、該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算する手段と、を備えることを特徴とする半導体集積回路のレイアウト装置も提供される。
【００２０】
さらに、本発明の第１の形態によれば、コンピュータに、配置・配線処理を行わせる手順と、該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出させる手順と、該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算させる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラムも提供される。
【００２１】
本発明の第２の形態によれば、半導体集積回路のレイアウト方法であって、チップレイアウト開始前に信号配線の最大許容配線容量Ｃmaxを求め、前記信号配線における全てのセルに対してスルーレート違反を起こす出力負荷容量ＣＡＰslewを求め、ＣmaxとＣＡＰslewとを比較し、Ｃmax＞ＣＡＰslewならば、前記信号配線のスルーチェックを行い、Ｃmax≦ＣＡＰslewならば、前記信号配線の該スルーチェックだけでなく、該信号配線のシグナルエレクトロマイグレーションチェックも行うことを特徴とする半導体集積回路のレイアウト方法が提供される。
【発明の効果】
【００２２】
本発明によれば、信号配線におけるシグナルエレクトロマイグレーションの発生を回避することのできる半導体集積回路のレイアウト方法および装置、並びに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明に係る半導体集積回路のレイアウト方法および装置、並びに、プログラムの実施例を、添付図面を参照して詳述する。
【実施例】
【００２４】
まず、本発明の第１の形態に係る半導体集積回路のレイアウト方法を説明する。
本発明の第１の形態に係る半導体集積回路のレイアウト方法では、例えば、隣接するノード或いはセルの間における抵抗値Ｒおよび容量値Ｃを抽出するだけでなく、許容電流値（信号配線のＡＣ許容電流）も抽出するようになっている。
【００２５】
具体的に、例えば、
（始点，  終点）＝（抵抗値，  容量値，  許容電流値）
（１００，Ｎ１）＝  （Ｒ１，    Ｃ１，    Ｉ１）
（Ｎ１，  Ｎ２）＝  （Ｒ２，    Ｃ２，    Ｉ２）
…        …          …          …
（Ｎｎ，２００）＝  （Ｒn+1，   Ｃn+1，    Ｉn+1）
としてＲＣ（抵抗値Ｒおよび容量値Ｃ）の抽出と共に、許容電流値Ｉの抽出も行う。なお、Ｉ１〜Ｉn+1は、それぞれの始点−終点間の許容電流値を示している。
【００２６】
ここで、例えば、上記の１行目の記載は、始点である第１のセル１００から終点であるノードＮ１までの経路において、抽出した抵抗値がＲ１［Ω］，容量値がＣ１［ｆＦ］および許容電流値がＩ１［μＡ］であることを示し、また、２行目の記載は、始点であるノードＮ１から終点であるノードＮ２までの経路において、抽出した抵抗値がＲ２［Ω］，容量値がＣ２［ｆＦ］および許容電流値がＩ２［μＡ］であることを示し、そして、ｎ＋１行目の記載は、始点であるノードＮｎから終点である第２のセル２００までの経路において、抽出した抵抗値がＲn+1［Ω］，容量値がＣn+1［ｆＦ］および許容電流値がＩn+1［μＡ］であることを示している。
【００２７】
本発明の第１の形態に係る半導体集積回路のレイアウト方法の一実施例では、例えば、隣接するノード或いはセルの間における抵抗値Ｒおよび容量値Ｃの抽出と共に、配線情報の抽出も行うようになっている。
【００２８】
具体的に、例えば、
（始点，  終点）＝（抵抗値，  容量値，    配線情報）
（１００，Ｎ１）＝  （Ｒ１，    Ｃ１，  ＭＥＴ１，  Ｗ１）
（Ｎ１，  Ｎ２）＝  （Ｒ２，    Ｃ２，  ＶＩＡ１２，Ｗ２）
…        …          …              …
（Ｎｎ，２００）＝  （Ｒn+1，   Ｃn+1，  ＭＥＴ３，Ｗn+1）
としてＲＣ（抵抗値Ｒおよび容量値Ｃ）の抽出と共に、配線層の情報（ＭＥＴ，ＶＩＡ）および配線幅Ｗの抽出も行う。
【００２９】
なお、Ｗ１〜Ｗn+1は、それぞれの始点−終点間の配線幅を示している。さらに、例えば、ＭＥＴ１は金属配線層の第１層目を示し、また、ＶＩＡ１２は金属配線層の第１層目と第２層目との間のビア（ＶＩＡ）を含むことを示している。
【００３０】
具体的に、例えば、上記の１行目の記載は、始点である第１のセル１００から終点であるノードＮ１までの経路において、抽出した抵抗値がＲ１［Ω］，容量値がＣ１［ｆＦ］，配線が第１層目の金属層であることおよび配線幅がＷ１［μｍ］であることを示し、また、２行目の記載は、始点であるノードＮ１から終点であるノードＮ２までの経路において、抽出した抵抗値がＲ２［Ω］，容量値がＣ２［ｆＦ］，第１層目と第２層目を繋ぐビアを含む（配線が第１層目の金属層および第２層目の金属層であること）および配線幅がＷ２［μｍ］であることを示し、そして、ｎ＋１行目の記載は、始点であるノードＮｎから終点である第２のセル２００までの経路において、抽出した抵抗値がＲn+1［Ω］，容量値がＣn+1［ｆＦ］，配線が第３層目の金属層であることおよび配線幅がＷn+1［μｍ］であることを示している。
【００３１】
このように、本実施例では、ＲＣ抽出ファイルへ許容電流値（ＡＣ許容電流）を直接記載するのではなく、その許容電流値を計算するために必要なパラメータ（配線情報）を記載したＲＣ抽出ファイルを作成する。
【００３２】
これにより、上述した許容電流値を直接記載したのと同様にＡＣ許容電流違反を検出することができるようになる。ここで、信号配線は、配線層が分かれば高さは一意に決まるため、高さを省略して記載することができる。また、信号配線の幅が配線層から一意に決まる場合には、幅も省略することができる。或いは、ビアの層が分かれば信号配線の幅や高さが一意に決まる場合には、それらを省略して記載することもできる。なお、ビアは、複数個配置される場合もあるため、個数を記入するようにしてもよい。
【００３３】
すなわち、上述した実施例において、配線情報は、信号配線の幅、配線層およびビアの有無の情報を含む例を説明したが、これ以外にも、例えば、信号配線の厚さ、材質等の情報を含むこともある。或いは、例えば、配線幅Ｗ１〜Ｗn+1としてデフォルト値を使用することで、省略することもできる。すなわち、信号配線の許容電流値（ＡＣ許容電流）は、様々な配線情報を抽出することにより得ることができる。
【００３４】
図３は本発明に係る半導体集積回路のレイアウト方法の一実施例の処理を概略的に説明するためのフローチャートである。
【００３５】
図３に示されるように、従来の半導体集積回路のレイアウト処理は、例えば、ステップＳＴ３１において、配置・配線を行った後、ステップＳＴ３２に進んで、レイアウトデータを記憶装置（例えば、ハードディスク）に格納し、さらに、ステップＳＴ３３に進んで、格納されたレイアウトデータから抽出処理（抵抗値，容量値および配線情報の抽出）を行う。
【００３６】
次に、ステップＳＴ３４に進んで、抽出された抵抗・容量・配線情報（抵抗値Ｒ，容量値Ｃおよび配線の幅等の値：ＲＣ抽出ファイルに対応）を記憶装置に格納し、ステップＳＴ３５において、格納された抵抗・容量・配線情報から遅延時間の計算を行うと共に、ステップＳＴ３６において、格納された抵抗・容量・配線情報から消費電力の計算を行うようになっている。なお、配線情報としては、前述したように、例えば、信号配線の幅、配線層およびビアの有無、信号配線の厚さ、材質等の情報である。
【００３７】
さらに、ステップＳＴ３７において、格納された抵抗・容量・配線情報からシグナルエレクトロマイグレーションの計算を行うようになっている。このように、本実施例によれば、レイアウトデータから抽出した配線情報を使用することによりシグナルエレクトロマイグレーションの計算を行うことができるようになっている。
【００３８】
なお、ステップＳＴ３７において、シグナルエレクトロマイグレーションが起こるとされた場合には、例えば、その信号配線の幅を広げてステップＳＴ３１に戻り、再度、配置・配線処理を行う等が行われる。
【００３９】
ところで、従来技術では、ＲＣ抽出ファイルは、消費電力解析や遅延計算に使用されていたが、シグナルエレクトロマイグレーションの有無を確認するためには使用されていなかった。本発明の第１の形態に係る半導体集積回路のレイアウト方法では、配線情報を含む抽出ファイル（従来のＲＣ抽出ファイルに対応）を使用し、例えば、全てのノード間（セルとノードとの間も含む）において、式（１）
【００４０】
[周波数:Ｈz]×[動作率]×[電源電圧:Ｖ]×[配線容量:F]＜[ＡＣ許容電流:Ａ] … (1)
を満足することを確認することで、シグナルエレクトロマイグレーションの有無を判断することが可能になる。
【００４１】
すなわち、本発明の第１の形態に係る半導体集積回路のレイアウト方法によれば、信号配線に流れる電流とＡＣ許容電流違反を確認することでシグナルエレクトロマイグレーションが起こらないようにすることが可能になる。
【００４２】
図４は複数のセル間におけるチェク対象個所を説明するための図である。図４において、細線は第１層目の金属配線（ＭＥＴ１）を示し、太線は第２層目の金属配線（ＭＥＴ２）を示し、そして、破線は第１層目の金属配線と第２層目の金属配線を繋ぐビア（ＶＩＡを含む配線）を示している。なお、図４では、説明を簡略化するために４つのセルを２つの金属配線を介して繋いだ例を示している。
【００４３】
まず、図４に示す４つのセルを有する回路において、信号配線を流れる電流の量が最も大きいのは、セル出力側となる。従って、第１層目の金属配線ＭＥＴ１に関しては、セル１０１の出力側の配線ＣＨ１１をチェック対象とする。また、第２層目の金属配線ＭＥＴ２に関しては、セル１０１とセル２０１との間の配線ＣＨ２１，セル１０１とセル２０２との間の配線ＣＨ２２，および，セル１０１とセル２０３との間の配線ＣＨ２３をチェック対象とする。
【００４４】
このように、流れる電流の量はセル出力側（セル１０１の出力）が最も大きくなるため、出力セル１０１の信号配線でＡＣ許容電流が最も小さくなる場合、セル内の配線に対してＡＣ許容電流をチェックするのみでよい。
【００４５】
なお、第１層目の金属配線と第２層目の金属配線を繋ぐビアに関しては、ノードＮ１１とＮ１２との間の配線ＣＨ０１，ノードＮ２３とＮ２４との間の配線ＣＨ０２，および，ノードＮ３１とＮ３２との間の配線ＣＨ０３をチェック対象とする。すなわち、入力セルから出力セルまでで最も遠い位置に存在するビアをチェック対象とする。
【００４６】
従って、ＡＣ許容電流（ＲＣＷｎ）＜ＡＣ許容電流（ＲＣＷｍ）、（ｎ＜ｍ：ここで、より大きい『ｍ』が入力セルに近い（出力セルから遠い））を満足するノード間（ノード間『ｍ』）では、許容電流違反をチェックする必要は無い。
【００４７】
さらに、各入力セル（２０１〜２０３）から出力セル（１０１）までのうち、各配線・ビアの条件で最も出力セル（１０１）側の配線・ビアを見つける。また、各配線とビアでＡＣ許容電流が弱く、且つ、入力側に許容電流がより一層弱い配線・ビアが存在したとき、強い方の配線・ビアはチェックしない。そして、ＡＣ許容電流の関係が次の式（２）を満足するときには、
【００４８】
ＭＥＴ１＜ＭＥＴ２＜ＶＩＡ    (2)
セル１０１の出力側の配線ＣＨ１１だけをチェックすればよいことになる。
【００４９】
このように、本発明の第１の形態によれば、チェック対象となる配線・ビアを確認することで配線の状況を確認することなく、各入出力セルを繋ぐネットを流れる最大のＡＣ許容電流を最小の許容電流を持つ配線・ビアに対してシグナルエレクトロマイグレーションの有無を確認することができるため、半導体集積回路のレイアウトにおいて、信号配線でのシグナルエレクトロマイグレーションの発生を回避することが可能になる。
【００５０】
ところで、従来技術においては、ＡＣ許容電流違反が起こらないよう確認するフローが存在しなかった。すなわち、信号配線のシグナルエレクトロマイグレーションを検討する上で、チップ設計が完了するまで不明瞭な数値は配線容量［Ｆ］であるため、配線容量［Ｆ］に関する次の式を満足させる必要がある。
【００５１】
許容配線容量[F]＞ＡＣ許容電流[A]／(周波数[Hz]×動作率×電源電圧[V])
最大許容配線容量[F]≧ＡＣ許容電流[A]／(周波数[Hz]×動作率×電源電圧[V])
そこで、まず、シグナルエレクトロマイグレーションをチェックするネット（対象となるネット）を限定する。
【００５２】
図５は本発明の第２の形態に係る半導体集積回路のレイアウト方法を説明するためのフローチャートであり、シグナルエレクトロマイグレーションをチェックするネットの限定を説明するためのものである。
【００５３】
図５に示されるように、まず、半導体集積回路のチップ仕様からＡＣＴmax（最大動作率），Ｆmax（最大動作周波数），Ｖmax（最大電源電圧）を求めて記憶装置に可能能する共に、チップ仕様および設計ルールからＡＣmax（最大ＡＣ（交流）許容電流）を求めて記憶装置に格納する。
【００５４】
すなわち、チップの仕様からチップの最大動作率ＡＣＴmax（通常は２），チップの動作周波数Ｆmax，および，チップの電源電圧Ｖmaxが決まり、また、セル内またはチップ配線で最も低いＡＣ許容電流、なわち、その配線のＡＣ許容電流ＡＣmaxは設計ルールから決まる。
【００５５】
そして、ステップＳＴ５１において、記憶装置に格納されたＡＣＴmax，Ｆmax，ＶmaxおよびＡＣmaxのデータを使用して最大許容配線容量（Ｃmax）を計算し、ステップＳＴ５２でＣmaxを記憶装置に格納する。
【００５６】
一方、記憶装置に格納された半導体集積回路のセルライブラリを使用して、ステップＳＴ５４において、出力負荷容量を振った（変動させた）シミュレーションを行い、また、ステップＳＴ５５において、ＣＡＰslew（ＣＡＰslew）を計算して記憶装置に格納し、さらに、ステップＳＴ５６において、ＣＡＰslewを追加する。そして、ステップＳＴ５７において、セルライブラリ＋ＣＡＰslewを記憶装置に格納する。
【００５７】
次に、ステップＳＴ５３において、Ｃmax（最大許容配線容量）がＣＡＰslewよりも大きいか否かを判別する。ステップＳＴ５３において、Ｃmax＞ＣＡＰslewであると判別されると、ステップＳＴ５８に進んで、従来のフローに従った処理を行い、また、Ｃmax＞ＣＡＰslewではない（Ｃmax≦ＣＡＰslew）と判別されると、ステップＳＴ５９に進み、シグナルエレクトロマイグレーションをチェックするネットであるとして、すなわち、チェック対象のネットとして本発明に係るシグナルエレクトロマイグレーションの処理を行う。
【００５８】
図６および図７は図５に示す半導体集積回路のレイアウト方法の変形例を説明するためのフローチャートであり、図６はクロックＣＬＫの信号配線に関するものであり、図７はデータＤＡＴＡの信号配線に関するものである。
【００５９】
図５および図６の比較から明らかなように、クロックＣＬＫの信号配線のレイアウトに関しては、図５のステップＳＴ５１〜ＳＴ５３およびＳＴ５７〜ＳＴ５９に対応するステップＳＴ５１ｃ〜ＳＴ５３ｃおよびＳＴ５７ｃ〜ＳＴ５９ｃを行う。また、図５および図７の比較から明らかなように、データＤＡＴＡの信号配線のレイアウトに関しては、図５のステップＳＴ５１〜ＳＴ５３およびＳＴ５７〜ＳＴ５９に対応するステップＳＴ５１ｄ〜ＳＴ５３ｄおよびＳＴ５７ｄ〜ＳＴ５９ｄを行う。なお、図６および図７では、図５におけるステップＳＴ５４〜ＳＴ５６は省略されている。
【００６０】
すなわち、本発明の第２の形態に係る半導体集積回路のレイアウト方法は、チップレイアウト開始前に最大許容配線容量［Ｆ］を求める。ここで、Ｃmax＝ＡＣmax／(Ｆmax×ＡＣＴmax×Ｖmax)となり、全てのセルに対して、スルーレート（Slew Rate）違反を起こす出力負荷容量（最大許容配線容量）を求める（ステップＳＴ５１，ＳＴ５１ｃ，ＳＴ５１ｄ）。なお、最大許容配線容量（Ｃmax，CLK Ｃmax，DATAＣmax）は、セルスペックから決まるため、ライブラリへ新たに追加する（ステップＳＴ５２，ＳＴ５２ｃ，ＳＴ５２ｄ）。
【００６１】
ＣＡＰslew（ＣＡＰslew）は、Ｃmax＞ＣＡＰslewであれば（ステップＳＴ５３，ＳＴ５３ｃ，ＳＴ５３ｄのＹＥＳ）、スルーチェックだけ行えばよいので信号配線のエレクトロマイグレーションは生じないため、従来の設計フローで設計可能になる（ステップＳＴ５８，ＳＴ５８ｃ，ＳＴ５８ｄ）。
【００６２】
一方、Ｃmax≦ＣＡＰslewであれば（ステップＳＴ５３，ＳＴ５３ｃ，ＳＴ５３ｄのＮＯ）、スルーチェックだけでは信号配線のエレクトロマイグレーションが生じ得るため、さらなる確認が必要になる（ステップＳＴ５９，ＳＴ５９ｃ，ＳＴ５９ｄ）。
【００６３】
そして、図６に示すように、ＣＬＫ系で処理を行うと共に、図７に示すように、ＤＡＴＡ系で処理を行うことができる。
【００６４】
このように、本発明の第２の形態に係る半導体集積回路のレイアウト方法によれば、Ｃmax≦ＣＡＰslewとなるネットがあった場合、レイアウト時に通常のスルーチェック（従来のフロー）以外の確認（シグナルエレクトロマイグレーションのチェック）を行うようになっている。
【００６５】
なお、ＣmaxとＣＡＰslewとの比較を行うことなく、全てのネット（信号配線）に対してスルーチェック（従来のフロー）およびシグナルエレクトロマイグレーションのチェックの両方を行うようにすることも可能であるのはいうまでもない。
【００６６】
図８は本発明の第２の形態に係る半導体集積回路のレイアウト方法におけるシグナルエレクトロマイグレーション処理を説明するためのフローチャートである。ここで、図８は、図５に対応したシグナルエレクトロマイグレーション処理を示すものであるが、図６および図７のようにＣＬＫ系およびＤＡＴＡ系に対しても同様の処理を行うことができる。
【００６７】
図５および図８に示されるように、ステップＳＴ５１で最大許容配線容量（Ｃmax）を計算し、ステップＳＴ５２でＣmaxを記憶装置に格納し、一方、ステップＳＴ６１で配置・配線を行った後、ステップＳＴ６２において、配置・配線情報およびセルライブラリから抽出処理ステップ６２において、抽出処理（配線負荷容量の抽出）を行う。さらに、ステップＳＴ６３に進んで、抽出された配線負荷容量を記憶装置に格納する。
【００６８】
そして、ステップＳＴ６４に進んで、抽出された配線負荷容量とＣmax（最大許容配線容量）との比較（比較判別）を行う。すなわち、ステップＳＴ６４において、Ｃmax＞配線負荷容量であると判別されると、ステップＳＴ６５に進んでシグナルエレクトロマイグレーションが生じない（ＯＫ）として処理を終了する。
【００６９】
一方、ステップＳＴ６３において、Ｃmax＞配線負荷容量ではないと判別されると、ステップＳＴ６６に進んでシグナルエレクトロマイグレーションが生じ得る（ＮＧ）としてステップＳＴ６１に戻り、例えば、配置・配線処理をやり直すことになる。
【００７０】
図９は本発明の第３の形態に係る半導体集積回路のレイアウト方法の処理の一例を説明するためのフローチャートである。
【００７１】
まず、ステップＳＴ９１で論理合成を行い、ステップＳＴ９２でネットリストを記憶装置に格納する。次に、ステップＳＴ９３に進んで、ネットリストから配置・配線を行い、さらに、ステップＳＴ９４に進んで、抵抗値Ｒおよび容量値Ｃを抽出し、ステップＳＴ９５で配線負荷容量として記憶装置に格納する。
【００７２】
さらに、ステップＳＴ９７に進んで、予め記憶装置に格納された最大許容配線容量Ｃmax（例えば、前述した図５におけるステップＳＴ５２を参照）と配線負荷容量との比較（比較判別）を行う。
【００７３】
ステップＳＴ９７において、Ｃmax＞配線負荷容量と判別されると、ステップＳＴ９８に進んで、シグナルエレクトロマイグレーションのチェックを終了し、また、ステップＳＴ９７において、Ｃmax≦配線負荷容量と判別されると、ステップＳＴ９９に進んで、ネットリストのファンアウト（Ｆ／Ｏ）数を修正（制限）してステップＳＴ９２に戻る。
【００７４】
このように、本発明の第３の形態に係る半導体集積回路のレイアウト方法は、ＣＡＰslewを超えないように配線長とＦ／Ｏ数を制限してレイアウト処理を行うようになっている。このように、容量抽出で作成されたパスに置かれたセルの出力容量を参照し、Ｃmaxを超えていないことを確認することで、信号配線のＡＣ許容電流違反を確認することができる。
【００７５】
図１０は本発明の第４の形態に係る半導体集積回路のレイアウト方法の処理の一例を説明するためのフローチャートである。
【００７６】
図１０に示されるように、本実施例の半導体集積回路のレイアウト方法は、まず、ステップＳＴ１０で記憶装置に格納した信号配線仕様から、ステップＳＴ１１において、最大ＡＣ許容電流ＡＣmaxを計算し、ステップＳＴ１２に進んで、その計算されたＡＣmaxを記憶装置に格納する。
【００７７】
一方、ステップＳＴ１３で記憶装置に格納した電源配線仕様から、ステップＳＴ１４において、最大ＤＣ（直流）許容電流ＤＣmaxを計算し、ステップＳＴ１５に進んで、セル周辺で最も小さなＤＣmaxを抽出し、さらに、ステップＳＴ１６に進んで、その抽出されたＤＣmaxを記憶装置に格納する。そして、ステップＳＴ１７において、ＡＣmaxとＤＣmaxとを比較判別する。
【００７８】
ステップＳＴ１７において、ＡＣmax＜ＤＣmaxであると判別されると、すなわち、電源配線の最大ＤＣ許容電流が信号配線の最大ＡＣ許容電流ＡＣmaxよりも大きい場合には、ステップＳＴ１９に進んで電源仕様を変更してステップＳＴ１３に戻る。なお、ステップＳＴ１７において、ＡＣmax＜ＤＣmaxではない（ＡＣmax≧ＤＣmaxである）と判別されると、ステップＳＴ１８に進みシグナルエレクトロマイグレーションのチェックを終了する。
【００７９】
このように、セルから信号配線に電流が流れるときは、まず、セルに対して電源が供給される必要があり、電源配線ではＤＣ的に許容電流を満足するように、チェックが行われる。そして、電源の許容電流（最大ＤＣ許容電流ＤＣmax）がＡＣmaxを超えないようにチェックを行い、ＤＣmaxがＡＣmaxを超えるような場合には、電源仕様を変更してＡＣmax≧ＤＣmaxとなるように処理する。
【００８０】
図１１は本発明が適用される半導体集積回路のレイアウトプログラムを記録した媒体の例を説明するための図である。図１１において、参照符号１０は半導体集積回路のレイアウト処理装置（コンピュータ：ＣＡＤ装置）、２０はプログラム（データ）提供者、そして、３０は可搬型記録媒体を示している。
【００８１】
本発明は、例えば、図１１に示すような処理装置１０に対するプログラム（データ）として与えられ、処理装置１０により実行される。処理装置１０は、プロセッサを含む演算処理装置本体１１、および、演算処理装置本体１１に対してプログラム（データ）を与え或いは処理された結果を格納する処理装置側メモリ（例えば、ＲＡＭ（Random Access Memory）やハードディスク）１２等を備える。処理装置１０に提供されたプログラムは、ローディングされて処理装置１０のメインメモリ上で実行される。
【００８２】
プログラム提供者２０は、プログラムを格納する手段（回線先メモリ：例えば、ＤＡＳＤ（Direct Access Storage Device））２１を有し、例えば、インターネット等の回線を介してプログラムを処理装置１０に提供し、或いは、ＣＤ−ＲＯＭやＤＶＤ等の光ディスクまたは磁気ディスクや磁気テープといった可搬型記録媒体３０を介して処理装置１０に提供する。本発明に係る半導体集積回路のレイアウトプログラムを記録した媒体は、上記の処理装置側メモリ１２、回線先メモリ２１、および、可搬型記録媒体３０等の様々なものを含むのはいうまでもない。
【００８３】
（付記１）
半導体集積回路のレイアウト方法であって、
配置・配線処理を行い、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出し、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算することを特徴とする半導体集積回路のレイアウト方法。
【００８４】
（付記２）
付記１に記載の半導体集積回路のレイアウト方法において、前記許容電流値の抽出は、該許容電流値を算出するのに必要なパラメータを記載した抽出ファイルから求めることを特徴とする半導体集積回路のレイアウト方法。
【００８５】
（付記３）
付記２に記載の半導体集積回路のレイアウト方法において、前記パラメータは、前記信号配線の幅，厚さ，材質，配線層の番号並びに該信号配線に含まれるビアの有無および個数のうち少なくとも１つの配線情報であることを特徴とする半導体集積回路のレイアウト方法。
【００８６】
（付記４）
付記１〜３のいずれか１項に記載の半導体集積回路のレイアウト方法において、次の式（１）
[周波数:Ｈz]×[動作率]×[電源電圧:Ｖ]×[配線容量:F]＜[ＡＣ許容電流:Ａ] … (1)
を満足することを確認することで、前記シグナルエレクトロマイグレーションの有無を判断することを特徴とする半導体集積回路のレイアウト方法。
【００８７】
（付記５）
付記１〜４のいずれか１項に記載の半導体集積回路のレイアウト方法において、
前記シグナルエレクトロマイグレーションの有無の確認を、
セル出力側の配線をチェック対象とし、それ以外の配線のチェックを不要とすることを特徴とする半導体集積回路のレイアウト方法。
【００８８】
（付記６）
半導体集積回路のレイアウト装置であって、
配置・配線処理を行う手段と、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出する手段と、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算する手段と、を備えることを特徴とする半導体集積回路のレイアウト装置。
【００８９】
（付記７）
付記６に記載の半導体集積回路のレイアウト装置において、前記許容電流値を抽出する手段は、該許容電流値を算出するのに必要なパラメータを記載した抽出ファイルから求めることを特徴とする半導体集積回路のレイアウト装置。
【００９０】
（付記８）
付記７に記載の半導体集積回路のレイアウト装置において、前記パラメータは、前記信号配線の幅，厚さ，材質，配線層の番号並びに該信号配線に含まれるビアの有無および個数のうち少なくとも１つの配線情報であることを特徴とする半導体集積回路のレイアウト装置。
【００９１】
（付記９）
付記６〜８のいずれか１項に記載の半導体集積回路のレイアウト装置において、
前記信号配線のシグナルエレクトロマイグレーションを計算する手段は、次の式（１）
[周波数:Ｈz]×[動作率]×[電源電圧:Ｖ]×[配線容量:F]＜[ＡＣ許容電流:Ａ] … (1)
を満足することを確認することで、前記シグナルエレクトロマイグレーションの有無を判断することを特徴とする半導体集積回路のレイアウト装置。
【００９２】
（付記１０）
付記６〜９のいずれか１項に記載の半導体集積回路のレイアウト装置において、
前記信号配線のシグナルエレクトロマイグレーションを計算する手段は、
セル出力側の配線をチェック対象とし、それ以外の配線のチェックを不要として前記シグナルエレクトロマイグレーションの有無の確認することを特徴とする半導体集積回路のレイアウト装置。
【００９３】
（付記１１）
コンピュータに、
配置・配線処理を行わせる手順と、
該配置・配線処理により得られたレイアウトデータから信号配線の抵抗値、容量値および許容電流値を抽出させる手順と、
該抽出した該抵抗値，該容量値および該許容電流値から、前記信号配線のシグナルエレクトロマイグレーションを計算させる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラム。
【００９４】
（付記１２）
半導体集積回路のレイアウト方法であって、
チップレイアウト開始前に信号配線の最大許容配線容量Ｃmaxを求め、
前記信号配線における全てのセルに対してスルーレート違反を起こす出力負荷容量ＣＡＰslewを求め、
ＣmaxとＣＡＰslewとを比較し、
Ｃmax＞ＣＡＰslewならば、前記信号配線のスルーチェックを行い、Ｃmax≦ＣＡＰslewならば、前記信号配線の該スルーチェックだけでなく、該信号配線のシグナルエレクトロマイグレーションチェックも行うことを特徴とする半導体集積回路のレイアウト方法。
【００９５】
（付記１３）
付記１２に記載の半導体集積回路のレイアウト方法において、
前記最大許容配線容量Ｃmaxは、前記半導体集積回路のチップ仕様から求められる最大動作率ＡＣＴmax，最大動作周波数Ｆmaxおよび最大電源電圧Ｖmax、並びに、前記チップ仕様および設計ルールから求められる最大ＡＣ許容電流ＡＣmaxにより求めることを特徴とする半導体集積回路のレイアウト方法。
【００９６】
（付記１４）
付記１２に記載の半導体集積回路のレイアウト方法において、
前記信号配線のチェックを、クロック系配線とデータ系配線に分けて行うことを特徴とする半導体集積回路のレイアウト装置。
【００９７】
（付記１５）
半導体集積回路のレイアウト装置であって、
チップレイアウト開始前に信号配線の最大許容配線容量Ｃmaxを求める手段と、
前記信号配線における全てのセルに対してスルーレート違反を起こす出力負荷容量ＣＡＰslewを求める手段と、
ＣmaxとＣＡＰslewを比較する手段と、を備え、
Ｃmax＞ＣＡＰslewならば、前記信号配線のスルーチェックを行い、
Ｃmax≦ＣＡＰslewならば、前記信号配線のスルーチェックだけでなく、該信号配線のシグナルエレクトロマイグレーションチェックも行うことを特徴とする半導体集積回路のレイアウト装置。
【００９８】
（付記１６）
付記１５に記載の半導体集積回路のレイアウト装置において、
前記最大許容配線容量Ｃmaxを求める手段は、前記半導体集積回路のチップ仕様から求められる最大動作率ＡＣＴmax，最大動作周波数Ｆmaxおよび最大電源電圧Ｖmax、並びに、前記チップ仕様および設計ルールから求められる最大ＡＣ許容電流ＡＣmaxにより、前記最大許容配線容量Ｃmaxを求めることを特徴とする半導体集積回路のレイアウト装置。
【００９９】
（付記１７）
付記１５に記載の半導体集積回路のレイアウト装置において、
前記信号配線のチェックを、クロック系配線とデータ系配線に分けて行うことを特徴とする半導体集積回路のレイアウト装置。
【０１００】
（付記１８）
コンピュータに、
チップレイアウト開始前に信号配線の最大許容配線容量Ｃmaxを求めさせる手順と、
前記信号配線における全てのセルに対してスルーレート違反を起こす出力負荷容量ＣＡＰslewを求めさせる手順と、
ＣmaxとＣＡＰslewを比較させる手順と、
Ｃmax＞ＣＡＰslewならば、前記信号配線のスルーチェックを行わせ、Ｃmax≦ＣＡＰslewならば、前記信号配線の該スルーチェックだけでなく、該信号配線のシグナルエレクトロマイグレーションチェックも行わせる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラム。
【０１０１】
（付記１９）
半導体集積回路のレイアウト方法であって、
配置・配線処理および抽出処理を行って配線負荷容量を抽出し、
該抽出された配線負荷容量と最大許容配線容量Ｃmaxとを比較し、
Ｃmax＞配線負荷容量ならば、ネットリストのファンアウト数を修正して前記配置・配線処理および抽出処理に戻り、Ｃmax＜配線負荷容量ならば、シグナルエレクトロマイグレーションのチェックを終了することを特徴とする半導体集積回路のレイアウト方法。
【０１０２】
（付記２０）
半導体集積回路のレイアウト装置であって、
配置・配線処理および抽出処理を行って配線負荷容量を抽出する手段と、
該抽出された配線負荷容量と最大許容配線容量Ｃmaxとを比較する手段と、
Ｃmax＞配線負荷容量ならば、ネットリストのファンアウト数を修正して前記配置・配線処理および抽出処理に戻り、Ｃmax＜配線負荷容量ならば、シグナルエレクトロマイグレーションのチェックを終了する手段と、を備えることを特徴とする半導体集積回路のレイアウト装置。
【０１０３】
（付記２１）
コンピュータに、
配置・配線処理および抽出処理を行って配線負荷容量を抽出させる手順と、
該抽出された配線負荷容量と最大許容配線容量Ｃmaxとを比較させる手順と、
Ｃmax＞配線負荷容量ならば、ネットリストのファンアウト数を修正して前記配置・配線処理および抽出処理に戻り、Ｃmax＜配線負荷容量ならば、シグナルエレクトロマイグレーションのチェックを終了させる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラム。
【０１０４】
（付記２２）
半導体集積回路のレイアウト方法であって、
信号配線仕様から最大ＡＣ許容電流ＡＣmaxを計算し、
電源配線仕様から最大ＤＣ許容電流ＤＣmaxを計算し、
ＡＣmax＜ＤＣmaxならば、電源仕様を変更して、該変更された電源配線仕様から再度最大ＤＣ許容電流ＤＣmaxを計算し、ＡＣmax≧ＤＣmaxならば、シグナルエレクトロマイグレーションのチェックを終了することを特徴とする半導体集積回路のレイアウト方法。
【０１０５】
（付記２３）
半導体集積回路のレイアウト装置であって、
信号配線仕様から最大ＡＣ許容電流ＡＣmaxを計算する手段と、
電源配線仕様から最大ＤＣ許容電流ＤＣmaxを計算する手段と、
ＡＣmax＜ＤＣmaxならば、電源仕様を変更して、該変更された電源配線仕様から再度最大ＤＣ許容電流ＤＣmaxを計算し、ＡＣmax≧ＤＣmaxならば、シグナルエレクトロマイグレーションのチェックを終了する手段と、を備えることを特徴とする半導体集積回路のレイアウト装置。
【０１０６】
（付記２４）
コンピュータに、
信号配線仕様から最大ＡＣ許容電流ＡＣmaxを計算させる手順と、
電源配線仕様から最大ＤＣ許容電流ＤＣmaxを計算させる手順と、
ＡＣmax＜ＤＣmaxならば、電源仕様を変更して、該変更された電源配線仕様から再度最大ＤＣ許容電流ＤＣmaxを計算し、ＡＣmax≧ＤＣmaxならば、シグナルエレクトロマイグレーションのチェックを終了させる手順と、を実行させ、半導体集積回路のレイアウトを行わせることを特徴とする半導体集積回路のレイアウトプログラム。
【０１０７】
（付記２５）
付記１１，１８，２１または２４のいずれか１項に記載の半導体集積回路のレイアウトプログラムを記録した媒体。
【産業上の利用可能性】
【０１０８】
本発明は、半導体集積回路のレイアウト技術に関するものであり、特に、半導体集積回路におけるクロック系やデータ系の信号配線におけるシグナルエレクトロマイグレーションの発生を防止して半導体集積回路のレイアウトを行うために適用することができる。
【図面の簡単な説明】
【０１０９】
【図１】２つのセル間におけるノードを示す回路図である。
【図２】従来の半導体集積回路のレイアウト方法の一例の処理を概略的に説明するためのフローチャートである。
【図３】本発明の第１の形態に係る半導体集積回路のレイアウト方法を説明するためのフローチャートである。
【図４】複数のセル間におけるチェク対象個所を説明するための図である。
【図５】本発明の第２の形態に係る半導体集積回路のレイアウト方法を説明するためのフローチャートである。
【図６】図５に示す半導体集積回路のレイアウト方法の変形例を説明するためのフローチャート（その１）である。
【図７】図５に示す半導体集積回路のレイアウト方法の変形例を説明するためのフローチャート（その２）である。
【図８】本発明の第２の形態に係る半導体集積回路のレイアウト方法におけるシグナルエレクトロマイグレーション処理を説明するためのフローチャートである。
【図９】本発明の第３の形態に係る半導体集積回路のレイアウト方法の処理の一例を説明するためのフローチャートである。
【図１０】本発明の第４の形態に係る半導体集積回路のレイアウト方法の処理の一例を説明するためのフローチャートである。
【図１１】本発明が適用される半導体集積回路のレイアウトプログラムを記録した媒体の例を説明するための図である。
【符号の説明】
【０１１０】
１０    処理装置
１１    演算処理装置本体
１２    処理装置側メモリ
２０    プログラム（データ）提供者
２１    プログラムを格納する手段（回線先メモリ）
３０    可搬型記録媒体
【図１】
2008235335.tif 000003
【図２】
2008235335.tif 000004
【図３】
2008235335.tif 000005
【図４】
2008235335.tif 000006
【図５】
2008235335.tif 000007
【図６】
2008235335.tif 000008
【図７】
2008235335.tif 000009
【図８】
2008235335.tif 000010
【図９】
2008235335.tif 000011
【図１０】
2008235335.tif 000012
【図１１】
2008235335.tif 000013