(57)【要約】集積回路のパフォーマンスをシミュレートするために寄生抵抗と容量値を抽出するための方法（２００）、システム（１００）、及びコンピュータプログラム製品である。集積回路において選択される数のインターコネクションが識別され得る（２０４）（重要なインターコネクション）。集積回路のトランジスタリストを含むネットリストは、重要なインターコネクションの駆動側のチャネル接続される領域における、ネットリスト内のトランジスタと、重要なインターコネクションの受信する側のトランジスタを選択することによって、簡略化され得る（２０５，２０６）。重要なインターコネクションに接続されるレイアウト層の寄生抵抗と容量値が抽出され得る（２０８）。これらの抽出された寄生抵抗と容量値は、簡略化されたネットリストにおけるこれらのレイアウト層に接続されるトランジスタと関連付けられ得る（２０９）。上述した寄生抵抗及び容量値を抽出することによって、ＲＣ抽出における計算量を抑えることができるので、結果として、使用されるメモリ量とプロセッシングパワーを抑えることができる。
2005537566.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のパフォーマンスをシミュレートするために寄生抵抗及び容量値を抽出するための方法であって、
集積回路におけるインターコネクションを識別し（２０４）、
前記識別されるインターコネクションの駆動側における一つ以上のチャネル接続領域に一つ以上のトランジスタを識別し（２０５）、
前記識別される受信する側に一つ以上のトランジスタを識別し（２０５）、
前記集積回路のレイアウト全体から、前記識別されるインターコネクションに接続されるレイアウト層を抽出し（２０７）、
前記抽出されたレイアウト層の各々の前記抽出される寄生抵抗及び容量値を抽出し、且つ、
前記抽出されたレイアウト層の各々の寄生抵抗及び容量値を、識別されるインターコネクションの駆動側と前記識別される受信する側における前記識別される一つ以上のトランジスタに関連付ける（２０９）、
方法。
【請求項２】
集積回路のパフォーマンスをシミュレートするために寄生抵抗及び容量値を抽出するための読み出し可能媒体マシンに実施されるコンピュータプログラム製品であって、
前記プログラムが、
集積回路におけるインターコネクションを識別し（２０４）、
前記識別されるインターコネクションの駆動側の一つ以上のチャネル接続される領域において一つ以上のトランジスタを識別し（２０５）、
前記識別されるインターコネクションの受信側において一つ以上のトランジスタを識別し（２０５）、
前記集積回路のレイアウト全体から、前記識別されるインターコネクションに接続されるレイアウト層を識別し（２０７）、
前記抽出されるレイアウト層の各々の寄生抵抗及び容量値を抽出し（２０８）、且つ、
前記抽出されるレイアウト層の各々の前記抽出される寄生抵抗及び容量値を前記識別されるインターコネクションの前記駆動側と前記受信する側の前記一つ以上のトランジスタに関連付ける（２０９）ステップを含む、
コンピュータプログラム製品。
【請求項３】
集積回路のパフォーマンスをシミュレートするために寄生抵抗及び容量値を抽出するためのコンピュータプログラムを記録するよう動作可能なメモリユニット（１１４）と、
前記メモリユニットに結合されるプロセッサ（１１０）と、を含み、
前記プロセッサは、前記コンピュータプログラムに対応して、
前記集積回路のインターコネクションを識別するために動作可能な回路（２０４）、
前記識別されるインターコネクションの駆動側に一つ以上のチャネル接続される領域に一つ以上のトランジスタを識別するよう動作可能である回路（２０５）、
前記識別されるインターコネクションの受信する側に一つ以上のトランジスタを識別するために動作可能である回路（２０５）、
前記集積回路のレイアウト全体から前記識別されるインターコネクションに接続されるレイアウト層を抽出するために動作可能な回路（２０７）、前記レイアウト層の各々の寄生抵抗及び容量値を抽出するために動作可能な回路（２０８）、前記抽出されるレイアウト層の各々の前記寄生抵抗及び容量値を、前記識別されるインターコネクションの駆動側と前記識別されるインターコネクションの受信する側における前記識別される一つ以上のトランジスタに関連付けるために動作可能な回路を含む、
システム。
【請求項４】
前記インターコネクションは、閾値を超える推定遅延に基づき、識別される、
請求項１、２、又は３記載の方法、コンピュータプログラム製品、又はシステム。
【請求項５】
前記推定遅延に基づき、前記集積回路の前記インターコネクションを識別する前記ステップは、
前記集積回路における前記インターコネクションの寄生抵抗を抽出し、
前記集積回路における前記インターコネクションの最大抵抗の前記推定値を計算し、
前記抽出される寄生抵抗値及び前記最大抵抗の前記推定値を用いて、推定遅延を計算するステップを含む、
請求項４記載の方法又はコンピュータプログラム製品。
【請求項６】
前記最大抵抗の前記推定値は、以下の式：
Rest=(intCap*metalRes)/(minMetalCap*minWireWidth)
ただし、Restは、前記最大抵抗の前記推定値
intCapは、前記抽出される寄生容量値
metalResは、前記識別されるインターコネクションの推定される抵抗値
minMetalCapは、前記識別されるインターコネクションの推定される最小容量値
minWireWidthは、前記識別されるインターコネクションの推定される最短の長さ
に等しい、
請求項５記載の方法又はコンピュータプログラム製品。
【請求項７】
前記推定遅延は、以下の等式：
Delayest=0.5*Rest*intCap+Rest*Cgate
ただし、Delayestは、前記推定遅延であり、且つ、Cgateは、前記識別されるインターコネクションに接続される各トランジスタの各ゲートの推定総容量である
に等しい、
請求項６記載の方法又はコンピュータプログラム製品。
【請求項８】
前記インターコネクションは、前記インターコネクションを通じて閾値を超えて流れる推定電流に基づき識別される、
請求項１又は２記載の方法又はコンピュータプログラム製品。
【請求項９】
請求項１又は２記載の方法又はコンピュータプログラムは、更に、
簡略化されたネットリストを生成するために、前記集積回路のトランジスタのネットリストから、前記識別されるインターコネクションの駆動側と受信する側における前記識別される一つ以上のトランジスタを選択するステップを含む、
方法又はコンピュータプログラム製品。
【請求項１０】
請求項１又は２記載の方法又はコンピュータプログラムは、更に、
遅延とエレクトロマイグレーションのうち、少なくとも一つ以上をテストするための解析を実行するステップを含む、
方法又はコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、エレクロニック設計オートメーションに関し、より具体的には、従来技術より比較的少ないメモリ及びプロセッシング電力を用いて集積回路において選択されるインターコネクションの寄生抵抗値及び容量値を抽出することに関する。
【背景技術】
【０００２】
通常、“エレクロニック設計オートメーション（ＥＤＡ：Electronic Design Automation）”と称される分野が、半導体集積回路を設計するための要求及び複雑なタスクを処理するために開発されてきた。ＥＤＡとは、通常、“チップ”と称される、集積回路の電子回路のパフォーマンスを設計し、シミュレートするためのコンピュータを用いることを指す。コンピュータは、大規模な複雑な回路を多数の単純なファンクションに縮小あるいは分解するようプログラム可能であることから、設計プロセスに関連するタスクを実行するよう理想的に最適化され得る。
【０００３】
半導体チップの回路が設計され、物理的にレイアウトされた後、集積回路のオペレーションは、チップが適切に動作していることを確認するためにテストされ得る。テストの１つは、チップにおける例えば、トランジスタのような電子デバイス間のインターコネクション、即ち、配線又はネットと関連付けられる寄生効果の特性を表し得る。即ち、テストの１つは、“抵抗容量抽出（ＲＣ：Resistance Capacitance extraction）”として本文で参照配線抵抗寄生又は容量寄生の特性を表し得る。これらの配線寄生効果は、半導体製造プロセスにより発生する。配線寄生が、チップにおける１地点から他の地点への信号の遅延に深刻な影響を与えるのでプロセッシング速度に悪影響を及ぼすために、その特性を表すことは重要である。信号は、信号径路における負荷された抵抗及び／又は容量により、チップにおける１地点から他の地点に伝搬するために比較的長い時間がかかり得る。更に、寄生効果は、通常、“エレクトロマイグレーション”として称される悪影響を及ぼし得る。エレクトロマイグレーションは、信号線における金属成分が電流径路に従って長時間、移動するという問題のことを指す。例えば、数年間のような長期間にわたる使用の結果として、このエレクトロマイグレーションが、信号を信号径路において中断させ、チップを劣化させる原因になるような開いた回路を生じさせ得る。エレクトロマイグレーションを引き起こす高電流密度は、大規模な負荷容量から生じ得る。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
インターコネクションの寄生抵抗及び寄生容量を特性付けるための１つの方法は、インターコネクションにおける各金属層の寄生抵抗及び寄生容量が単位長ごとに一定値であることを想定することであり得る。しかし、インターコネクションの長さにおける実際の寄生効果は、単位長ごとに一定ではなく、金属線の長さ、絶縁体の膜厚、他の製造及び設計特性により変化する。従って、この方法は、多重の複合的な配線層を含むインターコネクションに関して特に不精密な結果を生じ得る。
【０００５】
ＲＣ抽出を実行するための比較的精密な方法は、ＥＤＡ供給メーカーによって開発されている。例えば、ＡＶＡＮＴ! ＣＯＰＲＰＯＲＡＴＩＯＮ製造の通常、ＳＴＡＲＲ−Ｒとして称される１ソフトウェアツールは、４ステップ抽出プロセスを用いて電子信号の遅延を計算するためにＲＣ抽出を実行する。第１に、容量のみ（Ｃのみ）の抽出が設計における全てのインターコネクションにおいて実行される。第２に、抵抗のみ（Ｒのみ）の抽出が設計における全てのインターコネクションにおいて実行される。第３に、遅延計算はＣＰＵ処理時間の相当量を費やす。遅延計算は、Ｒのみの遅延をＣのみの遅延と比較するために実行される。インターコネクション同士間ベースでは、Ｒのみの遅延とＣのみの遅延間の差異があるエラー基準を超えた場合、インターコネクションが、詳細な寄生のＲＣ抽出に関して識別される。第４に、金属の狭いスペーシングと他のディープ・サブミクロン効果の複雑さに対応するために配信されるインピーダンスモデルを用いて、詳細な抽出が識別されるインターコネクションに実行される。ＥＤＡメーカーが、ＲＣ抽出を比較的精密に実行するツールを開発している一方で、これらのツールは各インターコネクションのコンピュートインテンシブなＲＣ抽出を求めるため、結果として多大なメモリ量とプロセッシング電力を要求するのである。
【０００６】
従って、各インターコネクションにおいて集積回路の選択されたインターコネクションに対してＲＣ抽出を実行することによって、ＲＣ抽出がコンピュートインテンシブにならないように、つまり、計算量が膨大にならないように、集積回路のパフォーマンスを精密にシミュレートするツールを開発することが求められるだろう。その結果、従来技術より比較的少ないメモリ及びプロセッシング電力の使用で済むことになる。
【課題を解決するための手段】
【０００７】
上述した課題は、集積回路における選択される数のインターコネクション（“重要なインターコネクション：interconnections of interest”）を識別することによって、又、重要なインターコネクションを受信する側と駆動側のチャネル接続される領域におけるネットリストの集積回路のトランジスタのみを選択することによりこれらのトランジスタのリストを含むネットリストを簡略化することによって、若干の実施形態において、少なくともある部分、解決され得る。これらの抽出される寄生抵抗値と寄生容量値は、従って、簡略化されたネットリストにおけるこれらのレイアウト層に接続されるトランジスタに関連づけられ得る。従って、これらの重要なインターコネクションを駆動側のチャネル接続される領域におけるトランジスタと重要なインターコネクションの受信する側のトランジスタの簡略化されるネットリストを用いることによって、比較的少ないコンピュートインテンシブのＲＣ抽出が従来技術より比較的少ないメモリ使用とプロセッシング電力消費によって行われ得る。更に、抽出されるレイアウト層の各々の寄生容量値及び寄生抵抗値を簡略化されるネットリストのトランジスタの対応する各々に関連づけることによって集積回路のパフォーマンスの精密なシミュレーションが行われ得る。
【０００８】
本発明の一実施形態において、集積回路のパフォーマンスをシミュレートするために寄生抵抗及び寄生容量値を抽出する方法は、特定的なインターコネクション（“重要なインターコネクション：interconnections of interest”）を識別するためのステップを含んでよい。重要なインターコネクションの駆動側のチャネル接続される領域におけるトランジスタと受信する側のトランジスタが、その後に識別され得る。即ち、重要なインターコネクションの駆動側のチャネル接続される領域におけるトランジスタと受信する側に接続されるトランジスタが識別され得る。
【０００９】
重要なインターコネクションに接続されるレイアウト層が、その後集積回路のレイアウト全体から抽出され得る。即ち、重要なインターコネクションに電気的に接続される全部が抽出され得る。この抽出されたレイアウト層の各々の寄生容量値及び寄生抵抗は、識別される重要なインターコネクションの駆動側と受信する側における識別されるトランジスタに関連づけられ得る。
【００１０】
上述した記載は、本発明の一つ以上のフィーチャと技術的な利点を広範囲に概説したものであり、本発明の詳細をより理解されるために説明したものである。本発明の更なるフィーチャと利点は、以下に詳細が記載され、本発明の請求項の主要部を形成する。
【発明を実施するための最良の形態】
【００１１】
本発明は、添付した図面と、以下の詳細な説明を参照することによって、より明瞭となろう。
遅延及びエレクトロマイグレーション解析を実行するための寄生抵抗及び容量値を抽出することを以下に記載するが、本発明の原則は、例えば、パワーグリッド電圧ドロップ解析、クロックネットワーク解析、結合解析のような他の解析形式に使用され得ることに注目されたい。更に、この分野の通常の知識を有する者であれば、本発明の原則をこららの解析形式に使用可能であることに注目されたい。更に、そのような解析を実行する実施形態は、本発明の範囲であろうことに注目されたい。更に、寄生容量又は寄生抵抗の何れかは、読み易くするために単に“容量：キャパシタンス”又は、“抵抗”と称され得る。
【００１２】
図１−コンピュータシステムのハードウェアコンフュギュレーション
図１は、例えば、ワークステーションのようなコンピュータシステム１００の一般的なハードウェアコンフュギュレーションを表し、本発明を実施するためのハードウェア環境の典型的なものを示す。コンピュータシステム１００は、システムバス１１２を介して他の様々なコンポーネントに結合されるプロセッサ１１０を有することができる。オペレーションシステム１４０は、プロセッサ１１０上で動作可能であり、図１の種々のコンポーネントの複数の機能をコントロールし、調整することができる。本発明の原則に従ったアプリケーション１５０は、オペレーションシステム１４０上で動作可能であり、オペレーションにコールを行うことができる。コールは、アプリケーション１５０によって実行されるために種々の機能又はサービスを実装するものである。アプリケーション１５０は、例えば、図２に従って記載されるように遅延を分析するための寄生抵抗及び容量値を抽出するためのプログラムと、図３に従って記載されるようにエレクトロマイグレーションを分析するための寄生抵抗及び容量値を抽出するためのプログラムを含んでよい。リードオンリーメモリ（ＲＯＭ）１１６は、システムバス１１２に結合されてよいし、コンピュータシステム１００のあるベーシック機能をコントロールするバイオス（Basic Input/Output System：ＢＩＯＳ）を含んでよい。ランダムアクセスメモリ（ＲＡＭ）１１４とディスクアダプタ１１８もシステムバス１１２に結合されてよい。オペレーティングシステム１４０とアプリケーション１５０を含むソフトウェアコンポーネントは、実行のためにコンピュータシステム１００の主メモリであり得るＲＡＭ１１４にロードすることができる。ディスクアダプタ１１８は、例えば、ディスクアダプタのようなディスクユニット１２０と通信を行うスカジー（Small Compuer System Interface：ＳＣＳＩ）でもよい。遅延を解析するために寄生抵抗及び容量値を抽出するための本発明のプログラムは、図２に従って記載されるようにディスクユニット１２０又はアプリケーション１５０において常駐してよいことに注目されたい。更に、エレクトロマイグレーションを分析するために寄生抵抗及び容量値を抽出するための本発明のプログラムは、図３に関連して記載されるように、ディスクユニット１２０又はアプリケーション１５０において常駐させることもできる。
【００１３】
図１を参照すると、更に、コンピュータシステム１００は、バス１１２に結合される通信アダプタ１３４を含んでよいことが示される。通信アダプタ１３４は、コンピュータシステム１００がそのような他のシステムと通信を行うことをイネーブルするために、バス１１２によって、例えば、ローカルエリアネットワーク（ＬＡＮ：Local Area Network）、ワイドエリアネットワーク（ＷＡＮ：Wide Area Network）のような他のネットワークと相互接続してもよい。入力／出力（Ｉ／Ｏ）デバイスは、又、ユーザインターフェースアダプタ１２２とディスプレイアダプタ１３６を介してシステムバス１１２に接続されてよい。キーボード１２４、マウス１２６及びスピーカ１３０は、ユーザインターフェースアダプタ１２２を通じて全てバス１１２に相互接続されてよい。イベントデータは、これらのデバイスの何れを介してもコンピュータシステム１００に入力されてよい。ディスプレイモニタ１３８は、ディスプレイアダプタ１３６によってシステムバス１１２に接続されてよい。この方法で、ユーザは、コンピュータシステム１００をキーボード１２４又はマウス１２６を介してコンピュータシステム１００に入力可能であり、ディスプレイ１３８を介してコンピュータシステム１００の出力を受信可能である。
【００１４】
本発明の実装は、この本文に記載された方法を実行するためにプログラムされたコンピュータシステムとして、又、コンピュータプログラム製品をして実装することを含む。当該コンピュータシステムの実装に従うと、この方法を実行するための命令セットは、上述したように一般的に構築された一つ以上のコンピュータシステムのランダムアクセスメモリ１１４に常駐する。コンピュータシステム１００によって要求されるまで、この命令セットは、例えば、（結果としてディスクドライブ１２０において使用されるオプティカルディスク又はフロッピイディスクのような着脱可能なメモリを含み得る）ディスクドライブ１２０のようなもう１つのコンピュータメモリに記録されてよい。更に、コンピュータプログラム製品は、又、もう１つのコンピュータに記録されてよいし、ネットワーク又はインターネットのような外部ネットワークによって、ユーザワークステーションに要求されたときに伝送するものとしてもよい。当業者であれば、コンピュータ読み出し可能情報を伝送するよう記録される媒体を物理的に変化させる命令セットの物理的なストレージを理解するであろう。この改変は、電気的、磁気的、化学的、又は若干の物理的変化であり得る。
【００１５】
図２−遅延を解析するための寄生抵抗及び容量値を抽出するための方法
図２は、遅延を解析するための集積回路のパフォーマンスをシミュレートするために寄生抵抗及び容量値を抽出するための方法２００の本発明の一実施形態を示すフローチャートである。背景技術において記載したように、エレクトロニック設計オートメーション（ＥＤＡ）メーカーは、従来の方法より比較的精密に抵抗容量（ＲＣ）を実行するツールを開発し得た一方で、これらのツールが集積回路における各インターコネクションの計算量が膨大となるコンピュートインテンシブなＲＣ抽出を要求するため、その結果、多大なメモリ量とプロセッシングパワーを必要とする。従って、集積回路のパフォーマンスを比較的精密にシミュレートできるとともに、集積回路における選択されたインターコネクションに対してＲＣ抽出を行うことで従来技術よりメモリ量と処理パワーを小さくし、各インターコネクションに対してコンピュートインテンシブなＲＣ抽出を回避できるツールを開発することが求められている。図２は、例えば、以下に記載されるようなＲＣ抽出を実行する上で集積回路に実行され得る遅延解析のような解析の１形式を示すことに注目されたい。例えば、パワーグリッド電圧ドロップ解析、結合解析のような他の解析の形式が以下に記載されるＲＣ抽出を実行する上で集積回路に実行されてよいし、これらの解析形式がこの分野の通常の技術を有する熟練者によって理解され得ることに注目されたい。
【００１６】
図１に関連して図２を参照すると、ステップ２０１において、集積回路におけるインターコネクションの各々、即ち、ネットが抽出され得る。これは、各インターコネクションの寄生容量値が、カンダスデザインシステムズ[住所：カリフォルニア９５１３４サンノゼ市シーンリ通り２６５５、（Candace Design Systems, Inc：2655 Seely Avenue, San Jose, CA 95134）によって製造される“バンパイア：Vampire”のようなソフトウェアツールを用いて測定され得る。インターコネクションとは、例えば、集積回路における例えばトランジスタのようなエレクトロニックデバイス間における配線又はネットを指す。
【００１７】
ステップ２０２において、集積回路におけるインターコネクションの各々の最大抵抗の推定値が、計算され得る。一実施形態において、集積回路におけるインターコネクションの各々の最大抵抗の推定値は、以下の等式を用いて計算され得る。
Rest＝(intCap*metalRes)/(minMetalCap*minWireWidth)    (式１)
ここで、Restは、インターコネクションの推定される最大抵抗であり、intCapは、ステップ２０１において取得される接続の抽出される寄生容量値であり、metalResは、インターコネクションの推定される抵抗率であり、minMetalCapは、推定されるインターコネクションの最小容量値であり、及びminWireWidthは、インターコネクションの推定される最短の長さである。インターコネクションの推定される抵抗率、最小の容量値、最短の長さが、製造プロセスから受けられる抵抗率、容量値、及びインターコネクションの長さの値によって取得することができる。
【００１８】
ステップ２０３において、推定される遅延は、集積回路における各インターコネクションに関して以下の等式を用いて計算され得る。
Delayest＝.5*Rest*intCap+Rest*Cgate      (式２)
ただし、Delayestは、インターコネクションにおけるある１地点から別の地点への電気的信号の推定される遅延であり、Cgateは、インターコネクションに接続される各トランジスタの各ゲートの推定される総容量である。インターコネクションに接続される各トランジスタの各ゲートの推定される総容量は、製造プロセスから取得され得る。
【００１９】
本発明のもう１つの実施形態において、インターコネクションにおけるある１地点から別の地点への電気的信号の推定される遅延は、以下に記載されるインターコネクションの推定される容量値と推定される抵抗を計算することによって決定され得る。
【００２０】
インターコネクションの容量値は、以下の等式を用いて推定され得る。
Capest＝(maxDist*maxMetalCap)      (式３)
ただし、Capestは、インターコネクションの推定容量であり、maxDistは、インターコネクションの最大距離の推定値でああり、及びmaxMetalCapは、インターコネクションの推定最大容量である。推定最大距離は、レイアウトから取得され得るし、インターコネクションの最大容量は、製造プロセスから取得され得る。
【００２１】
インターコネクションの抵抗は、以下の等式を用いて推定され得る。
Rest＝(maxDist*metalRes)/minWireWidth      (式4)
ただし、Restは、インターコネクションの推定抵抗であり、metalResは、インターコネクションの推定抵抗率であり、及びminWireWidthは、インターコネクションの推定最短の長さである。
【００２２】
式３と式４の結果を用いて、集積回路におけるインターコネクションにおける１地点から他の地点への電気的信号の推定遅延は、以下の等式を用いて計算され得る。
Delayest＝.5*Rest*Capest+Rest*Cgate          (式５)
ただし、Delayestは、インターコネクションの１地点から他の地点への電気的信号の推定遅延であり、及びCgateは、インターコネクションに接続される各トランジスタの各ゲートの推定総容量である。
【００２３】
ステップ２０４において、重量なインターコネクションが識別され得る。一実施形態において、重要なインターコネクションは、ステップ２０３における計算されるインターコネクションにおいて１地点から他の地点への電気的信号の推定遅延が、予め選択される閾値を超えれば識別され得る。
【００２４】
ステップ２０５において、重要なインターコネクションを駆動（drive）する側におけるチャネル接続される領域におけるトランジスタと重要なインターコネクションを受信する側におけるトランジスタが識別され得る。即ち、重要なインターコネクションを駆動する側に接続される、チャネル接続される領域におけるトランジスタと、重要なインターコネクションを受信する側に接続されるトランジスタと、が識別され得る。インターコネクションの駆動側は、電気的信号がドライバから発生するインターコネクション側として称され得る。インターコネクションの受信する側は、電気的信号がレシーバによって受信されるために出力するインターコネクション側として称され得る。領域に接続されるチャネルは、重要なインターコネクションと電力供給と接地側レール（ground rail）間に接続されるトランジスタの配列と称され得る。
【００２５】
ステップ２０６において、集積回路において全てのトランジスタのリストを含むネットリストあるいは全体リストは、このネットリストのうちステップ２０５において識別されるトランジスタを選択して、より小さいリストを生成することで簡略化される。トランジスタの比較的小さなリストを生成してネットリストを簡略化することによって、以下に記載されるように膨大な計算量の緩和がなされたＲＣ抽出が行われ、結果として、使用するメモリとプロセッシングパワーを従来よりも小さくすることができる。更に、重要なインターコネクションの駆動側のチャネル接続される領域におけるトランジスタと重要なインターコネクションを受信する側のトランジスタを選択することによって、集積回路のパフォーマンスが、以下に記載されるように精密にシミュレートされ得る。
【００２６】
ステップ２０７において、重要なインターコネクションに接続されるレイアウト層は、集積回路のレイアウト全体から抽出され得る。即ち、重要なインターコネクションに電気的に接続される全てが抽出され得る。例えば、重要なインターコネクションに接続されるビアが抽出され得る。他の実施例において、重要なインターコネクションに関する金属コンタクトが抽出され得る。重要なインターコネクションに接続されるレイアウト層は、バンパイアのような商品として入手可能である種々のソフトウェアツールを用いて抽出され得る。これらの座標は、集積回路のレイアウト全体におけるトランジスタのロケーションを示し得る。これらの座標は、以下に記載されるように抽出されるレイアウト層の各々の寄生容量と抵抗値は、簡略化されるネットリストにおける特定的なトランジスタに関連付けるために利用することができる。
【００２７】
ステップ２０８において、抽出されるレイアウト層の各々の寄生容量と抵抗値が、抽出され得る。抽出されるレイアウト層の各々の寄生容量と抵抗値が抽出され得る。即ち、バンパイアのような商品として入手可能である種々のソフトウェアツールを用いて、測定されてよい。
【００２８】
ステップ２０９において、レイアウト層の各々の抽出される寄生容量と抵抗値は、簡略化されるネットリストにおける特定的なトランジスタと関連づけることができる。上述したように、ステップ２０７において、抽出されるレイアウト層に接続されるトランジスタの座標が取得され得る。これらの座標を有することによって、抽出されるレイアウト層の各々の抽出される寄生容量と抵抗値が、簡略化されたネットリストにおけるこれらの抽出されるレイアウト層に接続されるトランジスタの各々と関連づけられ得る。
【００２９】
重要なインターコネクションの駆動側におけるチャネルが接続される領域におけるトランジスタと重要なインターコネクションの受信する側におけるトランジスタの簡略化されたネットリストを用いることによって、ＲＣ抽出の計算量をより少なくし、その結果、以下に記載されるように、従来技術よりもメモリ量とプロセッシングパワーの使用量を小さくおさえることができる。更に、抽出されるレイアウト層の各々の寄生容量と抵抗値を、簡略化されたネットリストにおけるトランジスタの各々に対して関連付けることによって、集積回路のパフォーマンスの精密なシミュレーションを行うことができる。
【００３０】
ステップ２１０において、解析が実行され得る。例えば、集積回路における電子信号の遅延における解析が実行され得る。抽出される寄生容量と抵抗値を用いて、集積回路における電子信号の遅延を判断することは、この技術分野において周知であり、それ故、簡明さを期すために記載されないことに注目されたい。例えば、パワーグリッド電圧ドロップ解析、クロックネットワーク解析、結合解析、エレクトロマイグレーションのような他の解析は、上述した本発明の原則を用いて、実行され得る。例えば、上述した本発明の原則を用いる集積回路のパフォーマンスは、図３に関連して、以下に更に論じられるエレクトロマイグレーションに関するテストを行うためにシミュレートされてよい。
【００３１】
方法２００は、図２の考察において表されるものとは異なる順序で実行され得ること、及び図２の考察において表される順序は説明目的のためであることに注目されたい。更に、図２におけるある種のステップは、ほぼ並行して実行され得ることに注目されたい。
【００３２】
図３−エレクトロマイグレーションを解析するために寄生抵抗と容量値を抽出するための方法
図３は、エレクトロマイグレーションを解析するために集積回路のパフォーマンスをシミュレートするための寄生抵抗と容量値を抽出するための方法３００の本発明の一実施形態であるフローチャートである。
【００３３】
図３を参照すると、図１に関連するステップ３０１において、集積回路における各インターコネクションを流れる推定される平均又は二乗平均（ｒｍｓ：root mean square）電流を計算することができる。一実施形態において、インターコネクションを通じて流れる平均電流は、以下の等式を用いて計算することができる。
Iave＝crossMult*maxCap*Vdd*frequency*toggle    (式６)
ただし、Iaveは、インターコネクションを通じて流れる推定される平均電流であり、crossMultは、クロスオーバーカレント（クロスオーバーカレントは、いわゆる電源からインターコネクションを通じて直接にグラウンドに流れる電流を指し得る）を基準化した値であり、maxCapは、インターコネクションの推定最大容量であり、Vddは、電源の電圧であり、frequencyは、インターコネクションに関連付けられるクロックの周波数であり、toggleは、信号のスイッチアクティビティに基づくユーザ定義の値であり、例えば、クロックと動的ゲートに対しては１であり、また、信号がクロックと動的ゲートの半分のレートでスイッチすることから、データ信号に対しては０.５である。
【００３４】
本発明の一実施形態において、インターコネクションを通じて流れるｒｍｓ電流は、以下の等式を用いて計算し得る。
Irms＝squre root (4/3)*maxCap*crossMult*vdd*square root(1/(frequency*toggle0)*square root(trf)           (式７)
ただし、Irmsは、インターコネクションを通じて流れる二乗平均電流であり、trfは、例えば、クロック信号のような信号立ち上がり時間である。
【００３５】
ステップ３０２において、重要なインターコネクションが識別され得る。一実施形態によると、重要なインターコネクションは、ステップ３０１において計算される推定平均電流又は推定ｒｍｓ電流が、予め選択される閾値を超える場合に識別され得る。                     
【００３６】
ステップ３０３において、重要なインターコネクションの駆動側における領域に接続されるチャネルのトランジスタと重要なインターコネクションの受信する側におけるトランジスタが、識別され得る。即ち、重要なインターコネクションの駆動側に接続される、チャネルに接続された領域のトランジスタと、重要なインターコネクションの受信する側に接続されるトランジスタが識別され得る。インターコネクションの駆動側は、いわば電子信号がドライバから発するインターコネクション側であり得る。インターコネクションの受信する側は、いわば電子信号がレシーバによって受信されるために出力するインターコネクション側であり得る。チャネル接続される領域は、いわば重要なインターコネクションと電源とアースレール間に接続されるトランジスタの配列であり得る。
【００３７】
ステップ３０４において、集積回路における全てのトランジスタのリストを含むネットリストが、トランジスタの比較的小さなリストを生成するためにネットリストにおけるステップ２０５において識別されるトランジスタを選択することによって、簡略化されてよい。以下に詳細が記載されるように、トランジスタの比較的小さなリストを生成するためにネットリストを簡略化することによって、ＲＣ抽出の計算量を抑えることができるので、結果として、従来技術よりも、使用するメモリ量とプロセッシングパワーが抑えられることになる。更に、重要なインターコネクションの駆動側におけるチャネル接続される領域のトランジスタと重要なインターコネクションの受信する側におけるトランジスタを選択することによって、以下に詳細が記載されるように、集積回路のパフォーマンスは、精密にシミュレートされ得る。
【００３８】
ステップ３０５において、重要なインターコネクションに接続されるレイアウト層が集積回路のレイアウト全体から抽出され得る。即ち、重要なインターコネクションに電気的に接続される全てが抽出され得る。例えば、重要なインターコネクションに接続されるビアが抽出され得る。もう１つの実施例において、重要なインターコネクションの金属コンタクトが抽出され得る。重要なインターコネクションに接続されるレイアウト層は、バンパイアのような商品として購入可能な種々のソフトウェアツールを用いて抽出され得る。本発明の一実施形態において、抽出されるレイアウト層に接続されるトランジスタの座標が、重要なインターコネクションに接続されるレイアウト層を抽出しながら取得され得る。これらの座標が、集積回路のレイアウト全体におけるトランジスタのロケーションを示し得る。これらの座標は、以下に論じられるように各抽出されるレイアウト層の寄生容量と抵抗値を、簡略化されたネットリストにおける特定的なトランジスタに関連付けるために用いられてよい。
【００３９】
ステップ３０６において、抽出されるレイアウト層の各々の寄生容量と抵抗値が抽出され得る。抽出されるレイアウト層の各々の寄生容量と抵抗値が抽出され得る、即ち、バンパイアのような商品として購入可能な種々のソフトウェアツールを用いて、測定され得る。
【００４０】
ステップ３０７において、抽出されるレイアウト層の各々の抽出される寄生容量と抵抗値が簡略化されたネットリストの特定的なトランジスタに関連付けられ得る。上述したように、ステップ３０５において、抽出されるレイアウト層に接続されるトランジスタの座標が取得され得る。これらの座標を有することによって、抽出されるレイアウト層の各々の抽出される寄生容量と抵抗値は、簡略化されたネットリストの前述の抽出されたレイアウト層に接続されるトランジスタの各々に関連付けられ得る。
【００４１】
詳細が以下に記載されるように、重要なインターコネクションの駆動側におけるチャネル接続される領域のトランジスタと重要なインターコネクションの受信する側におけるトランジスタの簡略化されたネットリストを用いることによって、比較的計算量の膨大さが緩和されたＲＣ抽出が行われ得る。その結果、従来技術より比較的少ないメモリ量とプロセッシング電力の使用で済む。更に、抽出されるレイアウト層の各々の寄生容量と抵抗値を簡略化されたネットリストにおけるトランジスタの各々に関連付けることによって、集積回路のパフォーマンスの精密なシミュレーションが行われ得る。
【００４２】
ステップ３０８において、解析が実行され得る。例えば、方法３００を用いて、エレクトロマイグレーションが集積回路においてテストされ得る。抽出される寄生容量と抵抗値を用いて集積回路におけるエレクトロマイグレーションをテストすることは、この技術分野において公知であり、それ故、簡潔さを期すために詳細に記載されないことに注目されたい。
【００４３】
方法３００は、表されたものとは異なる順序で実行され得るし、図３の考察において表される順序は説明目的であることに注目されたい。更に、図３におけるある種のステップは、ほぼ並行して実行され得ることに注目されたい。
【００４４】
システム、コンピュータプログラム及び方法が多くの実施形態に関連して記載されたが、本文に記載された特定的な形式に制限されることを意図したものではない。それ以上に、そうした改変、修正、均等物を包含することを意図したものであり、添付された請求項によって限定される発明の趣旨の範囲に適宜に含まれ得るものである。見出しは、構成要素を目的とするためのみのものであり、明細書又は請求項の範囲を制限することを意味するものではない。
【産業上の利用可能性】
【００４５】
上述した発明は、説明目的のために詳細に記載されたが、ある種の変更又は修正が実行され得ることを明らかである。従って、本発明の実施形態は説明目的のためであって、限定されないものと考えられなければならないし、本発明は、本文に記載された詳細に制限されるものではなく、本明細書の趣旨と均等物の範囲であれば、改変可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明に従って、構築されるコンピュータシステムを表す。
【図２】本発明に従った遅延解析を実行するために寄生抵抗と容量値を抽出するための方法のフローチャートである。
【図３】本発明に従ったエクトロマイグレーション解析を実行するために寄生抵抗と容量値を抽出するための方法のフローチャートである。
【図１】
2005537566.tif 000003
【図２】
2005537566.tif 000004
【図３】
2005537566.tif 000005
【国際調査報告】
2005537566.tif 000006
2005537566.tif 000007
2005537566.tif 000008