(57)【要約】【課題】プロセスパラメータの変動を考慮して、効率的に半導体集積回路の配線構造を決定する。【解決手段】配線構造決定方法は、セルを配置するステップ（Ｓ２００）と、概略の配線配置を行なうステップ（Ｓ２００）と、プロセスパラメータと平面形状決定因子とを変動させてシミュレーションして予め算出された抵抗値や容量値が記憶されたライブラリを参照して、最大抵抗値および最小抵抗値ならびに最大容量値および最小容量値を用いて、最大遅延時間および最小遅延時間を算出するステップ（Ｓ２２０）と、最大遅延および最小遅延がタイミング許容範囲内であると（Ｓ２３０にてＹＥＳ、Ｓ２４０にてＹＥＳ）、詳細な配線配置を行なうステップ（Ｓ２５０）とを含む。【選択図】        図８
2004326654.tif 000002
【特許請求の範囲】
【請求項１】
複数のセル間の配線を行なうための配線層を複数有する半導体集積回路の前記セルを、前記セルの接続を記述しているネットリストに基づいて自動配置する自動配置ステップと、
前記複数の配線層間のセルを接続する配線縦構造を含む概略配線を設定する概略配線設定ステップと、
前記概略配線から前記セル間の遅延値を算出するために用いられる遅延因子に関する情報であって、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を、異なる半導体集積回路に適用できる形式で、予め作成する作成ステップと、
前記作成された情報と前記概略配線とに基づいて、前記ネットの遅延値を算出する算出ステップと、
前記遅延値が予め定められた許容範囲内であると、前記設定された概略配線に基づいて、デザインルールを記述しているテクノロジファイル内のルールに従って前記セル間の詳細配線を決定する詳細配線決定ステップとを含む、配線構造決定方法。
【請求項２】
前記遅延値が予め定められた許容範囲内でないと、前記概略配線を再設定する概略配線再設定ステップをさらに含む、請求項１に記載の配線構造決定方法。
【請求項３】
前記作成ステップは、
前記半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルについての情報を予め記憶するステップと、
前記プロセスパラメータを予め定められた範囲で変動させた場合の、各前記平面決定因子の値に対応する前記遅延因子である容量および抵抗についての情報を作成するステップとを含む、請求項１または２に記載の配線構造決定方法。
【請求項４】
前記作成ステップは、前記プロセスパラメータを予め定められた範囲で変動させた場合の、各前記平面決定因子の値に対応する前記遅延因子である容量および抵抗についての最大値と最小値とを抽出して、各前記平面決定因子の値に対応させた最大値と最小値とを記憶した情報を作成するステップをさらに含む、請求項３に記載の配線構造決定方法。
【請求項５】
前記算出ステップは、各前記平面決定因子の値に対応させた最大値と最小値とに基づいて、前記ネットの遅延値を算出するステップを含み、
前記詳細配線決定ステップは、前記最大値を用いて算出された遅延値および前記最小値を用いて算出された遅延値が予め定められた許容範囲内であると、前記セル間の詳細配線を決定するステップを含む、請求項４に記載の配線構造決定方法。
【請求項６】
前記半導体集積回路の平面決定因子を入力するステップをさらに含む、請求項３〜５のいずれかに記載の配線構造決定方法。
【請求項７】
前記作成ステップは、シミュレーションを用いて、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を作成するステップを含む、請求項１〜６のいずれかに記載の配線構造決定方法。
【請求項８】
前記作成ステップは、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報をライブラリとして作成するステップを含む、請求項１〜７のいずれかに記載の配線構造決定方法。
【請求項９】
前記プロセスパラメータについての予め定められた範囲は、シミュレーションを用いて設定される、請求項３〜８のいずれかに記載の配線構造決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウトを行なう配線構造決定方法に関し、特に、半導体集積回路の製造装置におけるプロセスパラメータの変動を考慮して、適性な動作タイミングを実現できるように半導体集積回路のレイアウトを行なう配線構造決定方法に関する。
【０００２】
【従来の技術】
半導体集積回路の製造においては、近年、トランジスタまたは配線等の素子の微細加工技術が進展を続けている。それらの素子の微細化に伴って、論理セルに含まれるトランジスタの遅延時間は減少する一方、配線間の距離が縮まるとともに配線幅が細くなるため、配線間容量および配線抵抗が増大して、配線の遅延時間は増加する傾向にある。その結果、微細化に伴って、半導体集積回路の遅延時間全体の中での配線遅延時間の割合が増加するので、配線遅延時間を正確に見積もることは重要である。
【０００３】
半導体集積回路の動作タイミングを検証する場合、プロセス上の加工バラツキまたは温度もしくは電源等の変動を考慮して遅延時間を算出する。すなわち、配線遅延時間を考慮してタイミング検証を行なう場合には、薄膜形成工程における製造装置での配線の膜厚もしくは幅または層間膜の膜厚もしくは誘電率等の変動を想定して、配線抵抗および配線間容量を計算するともに配線抵抗および配線間容量を用いて配線遅延時間を計算する。このとき、半導体集積回路を製造する製造装置によって決まりかつ配線抵抗および配線間容量のうちの少なくとも１つを変動させるプロセス変動要因の変動量に基づき、配線抵抗および配線間容量を求めて回路シミュレーションを行なう技術が用いられる。
【０００４】
特開２００１−３０６６４７公報（特許文献１）は、プロセス変動を考慮したタイミング検証を効率的に行なうタイミング検証方法を開示する。このタイミング検証方法は、論理機能を有する複数のセルが配置されるとともに複数のセルの端子同士が配線により接続されることによって形成される半導体集積回路の動作タイミングを検証するタイミング検証方法であって、半導体集積回路を製造するプロセスによって決まりかつ配線の抵抗および配線間の容量のうちの少なくとも１つを変動させるプロセス変動要因に、その変動量であるプロセス変動量を設定する工程、プロセス変動量と配線のレイアウト図形とに基づき、配線の抵抗および配線間の容量を算出する工程、および、算出された配線の抵抗および配線間の容量を用いて、配線の第１の遅延時間と、複数のセルのうち配線を駆動する駆動セルの第２の遅延時間とを算出する工程をプロセス変動量を変えて少なくとも２回行なうことにより、第１の遅延時間および第２の遅延時間からなる少なくとも２つの変動遅延時間を算出する第１の遅延時間算出工程と、少なくとも２つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成する遅延データ統合工程と、統合遅延時間を用いて、半導体集積回路の遅延シミュレーションを行なう遅延シミュレーション工程とを備える。
【０００５】
このタイミング検証方法によると、異なるプロセス変動量つまり異なるプロセス変動条件のそれぞれと対応する少なくとも２つの変動遅延時間を算出した後、少なくとも２つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成し、その後、統合遅延時間を用いて半導体集積回路の遅延シミュレーションを行なう。このため、プロセス変動条件と対応する変動遅延時間の算出と、半導体集積回路の遅延シミュレーションとを独立して行なうことができるとともに、少なくとも２つの変動遅延時間に基づき生成された統合遅延時間のみを用いて遅延シミュレーションを行なうことができる。従って、複数のプロセス変動条件に対して遅延シミュレーション又は回路シミュレーションを繰り返し行なう必要がないので、プロセス変動を考慮したタイミング検証を効率的に行なうことができる。
【０００６】
また、特開２０００−１７２７３８公報（特許文献２）は、遅延違反パスを発生させない半導体集積回路（ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ））の自動レイアウト方法を開示する。この自動レイアウト方法は、レイアウト設計を行なう上で必要となる情報を入力する情報入力工程と、全セルの自動配置を行なう配置処理工程と、全ネットの概略配線を実行する初期概略配線工程と、各パスの遅延時間を計算し、各パスの遅延制約値を違反するクリティカルパスを抽出する遅延解析工程と、遅延解析工程でクリティカルパスがある場合に配置処理工程に処理を戻し、クリティカルパスがない場合に処理を次の改良概略配線工程に移行させる遅延違反パス有無を判定する判定工程と、遅延制約値の厳しいネットには初期概略配線経路と最も配線遅延が最小となる配線層に割り当て、それ以外のネットには配線混雑度を緩和するようにネットの概略配線経路と配線層を割り付ける改良概略配線工程と、概略配線経路に基づき詳細配線経路を決定する詳細配線工程とを含む。
【０００７】
この自動レイアウト方法によると、遅延制約の厳しいネットには、遅延的に有利な配線層に配線長が最短なる配線経路を割り付け、遅延制約に余裕のあるネットに対しては配線混雑度を考慮して配線する。このため、ＬＳＩの配線収容性を損なわずに遅延制約を違反せずにレイアウトできる。
【０００８】
【特許文献１】
特開２００１−３０６６４７公報
【０００９】
【特許文献２】
特開２０００−１７２７３８公報
【００１０】
【発明が解決しようとする課題】
しかしながら、特許文献１に開示されたタイミング検証方法は、プロセス変動量を設定して、算出された、少なくとも２つの変動遅延時間のうちの最大または最小のものを統合遅延時間とする。統合遅延時間として変動遅延時間のうち最大のものを選択して最大遅延検証を行ない、統合遅延時間として変動遅延時間のうち最小のものを選択して、最小遅延検証を行なう。このような処理において、プロセス変動量を設定する場合には、プロセス変動量の平均値と、その平均値から＋３σを最大値として、その平均値から−３σを最小値として設定して、それぞれの最大値および最小値に対応させて配線ＲＣデータ（配線抵抗データおよび配線容量データ）を計算して、その配線ＲＣデータに基づいて、遅延時間を算出する。そのため、このタイミング検証方法を実行すると、毎回、配線ＲＣデータを計算しなければならない。
【００１１】
特許文献２に開示されたＬＳＩの自動レイアウト方法は、ＬＳＩの製造工程におけるプロセスパラメータの変動による配線抵抗や配線容量の変動を十分に考慮したものではない。
【００１２】
本発明は、上述の課題を解決するためになされたものであって、その目的は、半導体集積回路におけるタイミング検証を行なうにあたり、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定する配線構造決定方法を提供することである。
【００１３】
【課題を解決するための手段】
この発明に係る配線構造決定方法は、複数のセル間の配線を行なうための配線層を複数有する半導体集積回路のセルを、セルの接続を記述しているネットリストに基づいて自動配置する自動配置ステップと、複数の配線層間のセルを接続する配線縦構造を含む概略配線を設定する概略配線設定ステップと、概略配線からセル間の遅延値を算出するために用いられる遅延因子に関する情報であって、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を、異なる半導体集積回路に適用できる形式で、予め作成する作成ステップと、作成された情報と概略配線とに基づいて、ネットの遅延値を算出する算出ステップと、遅延値が予め定められた許容範囲内であると、設定された概略配線に基づいて、デザインルールを記述しているテクノロジファイル内のルールに従ってセル間の詳細配線を決定する詳細配線決定ステップとを含む。
【００１４】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００１５】
図１に、本実施の形態に係る配線構造決定方法を実現するハードウェアの一例であるコンピュータシステムのブロック図を示す。図１を参照して、このコンピュータシステム１００は、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）駆動装置１０６およびＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）駆動装置１０８を備えたコンピュータ１０２と、モニタ１０４と、キーボード１１０と、マウス１１２とを含む。このコンピュータ１０２は、上述したＦＤ駆動装置１０６およびＣＤ−ＲＯＭ駆動装置１０８に加えて、相互にバスで接続されたＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２０と、メモリ１２２と、固定ディスク１２４とを含む。
【００１６】
ＦＤ駆動装置１０６にはＦＤ１１６が装着される。ＣＤ−ＲＯＭ駆動装置１０８にはＣＤ−ＲＯＭ１１８が装着される。固定ディスク１２４には、平面形状決定因子記憶部と、プロセスパラメータ記憶部と、ライブラリ記憶部とを備える。
【００１７】
本実施の形態に係る配線構造決定方法は、コンピュータハードウェアとＣＰＵ１２０により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、ＦＤ１１６、ＣＤ−ＲＯＭ１１８などの記録媒体に格納されて流通し、ＦＤ駆動装置１０６またはＣＤ−ＲＯＭ駆動装置１０８などにより記録媒体から読取られて固定ディスク１２４に一旦格納される。さらに固定ディスク１２４からメモリ１２２に読出されて、ＣＰＵ１２０により実行される。図１に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、ＦＤ１１６、ＣＤ−ＲＯＭ１１８、固定ディスク１２４などの記録媒体に記録されたソフトウェアであるとも言える。
【００１８】
なお、図１に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【００１９】
次に、本発明の実施の形態に係る配線構造決定方法を上記のコンピュータで実現する際において、その方法の対象となる半導体集積回路について説明する。この半導体集積回路は、スタンダードセルを用いて自動的に配線構造が決定される。図２は、レイアウト設計された半導体集積回路の一部を示すレイアウト図である。図２において、スタンダードセル２００Ａ〜２００Ｐが自動配置されたセルである。第２層メタル２１０Ａ〜２１０Ｅは、所定の金属パターンで第２配線層に自動配線され、第１層メタル２２０Ａ、２２０Ｂは、所定の金属パターンで第１配線層に自動配線され、ビア２３０Ａ〜２３０Ｅが、第１層メタル２２０Ａ、２２０Ｂと第２層メタル２１０Ａ〜２１０Ｅとを電気的に接続している。
【００２０】
通常、スタンダードセル方式の半導体集積回路のレイアウトは、図２に示すように予め設計されたほぼ等しい高さのスタンダードセルを一列に配列してセル行あるいはセル列とし、そのセル列を平行に配設する。そして、このセル列とセル列との間を配線チャネルとして用いてセル間の配線を行なう。通常スタンダードセルにおいて、電源・接地の端子は左右辺上の対象位置に出ており、セルを水平方向に接して並べればモジュール内の電源・接地線が自然につながるようになっている。
【００２１】
自動配置の目的の一つであるチップ面積の縮小を行なうためには、セル列上でのセルの配列順序を全ての配線チャネルの高さの和が最小となるように決定することが必要である。
【００２２】
このために、まず、論理図から抽出したネットリストに基づいて、スタンダードセルを、（１）チップ面積を縮小する、（２）ネットの配線長をなるべく短くするということを目的として配置して、図３に示すような配置を行なう。この配置のための手法としては、初期配置での構成的配置法（ランダム法、ペア・リンキング法、クラスタ成長法、ミンカット法など）と配置改善における繰り返し改善法（スタインバーグ法、ペア交換法、反復重心法、シミュレーテッド・アニーリング法など）等がある。
【００２３】
このようにして、セルの配置が完了すると、概略配線が行なわれる。概略配線時に各ネットの配線経路を決定する。たとえば、概略配線の一例として以下のような処理がある。概略配線によって配線経路を決定する際、まず、多端子ネットを２端子ネットから構成されるツリーに分解し再構成するネットの分解を行なう。このツリーのモデルとしては、各端子間を結ぶ枝からマンハッタン距離の意味全長が最小となる最小ツリーをつくる方法、全ての端子を一筆書きで接続するチェインツリーをつくる方法、セルの端子以外での枝分かれも許して最小長となるスタイナーツリーをつくる方法などがある。図４に概略配線の終了した状態の概念図を示す。図４において、配線２４０Ａ〜２４０Ｄは、概略配線によって配線経路の決定した２つのネットの配線である。
【００２４】
図５にトランクスタイナーツリーの例を示す。トランクスタイナーツリーを作成するためには、ピン３００Ａ、３００Ｂ、３００Ｃを囲む長方形の長辺と同方向に各ピン３００Ａ〜３００Ｃの座標の平均値を通る線３１０を引き、それに対し各ピン３００Ａ〜３００Ｃから垂直に垂線３２０Ａ〜３２０Ｃを下ろす。
【００２５】
このようにして、概略配線が行なわれた後に、本実施の形態に係る配線構造決定装置は、タイミング検証を行なう。このタイミング検証を行なう際に寄生因子（配線抵抗、配線容量）の遅延を考慮する必要がある。本実施の形態においては、このときに用いられる寄生因子の値が、異なる半導体集積回路（デザインルールの最小線幅が共通する）で共通して用いることができるようにライブラリ化されている。寄生因子は、本来の集積回路におけるトランジスタ等の素子とは異なり、素子間やセル間を接続するために必要な配線における抵抗や容量により発生する遅延の要因である。
【００２６】
図６に、配線の遅延値を計算するための概念図を示す。図６（Ａ）に平面図、図６（Ｂ）にその断面図を示す。配線の遅延値を計算する場合、図６に示すように、計算する配線５１０に並行に同一層の他の配線５３０Ａ、５３０Ｂが最小間隔で隣接すると仮定して計算する。図６において、容量Ｃ（Ｌ）５４０Ａおよび容量Ｃ（Ｌ）５４０Ｂは、配線５１０と配線５３０Ａとの単位長さあたりの隣接配線間容量、および配線５１０と配線５３０Ｂとの単位長さあたりの隣接配線間容量である。それぞれの容量Ｃ（Ｌ）の値は同じである。また、図６において、容量Ｃ（Ｓ）５２０は、配線５１０と基板５００との間に発生する単位面積あたりの容量である。
【００２７】
このような遅延因子に対して、配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルの各値に対してライブラリ化された抵抗値および容量値を用いて遅延値が計算される。
【００２８】
以下、この本実施の形態に係る配線構造決定方法について詳細に説明する。
図７を参照して、本実施の形態に係る配線構造決定方法のライブラリ作成処理を実現する、コンピュータシステム１００のＣＰＵ１２０で実行されるプログラムの制御構造について説明する。
【００２９】
ステップ（以下、ステップをＳと略す。）１００にて、コンピュータシステム１００のＣＰＵ１２０は、平面形状決定因子の入力が要求されたか否かを判断する。この判断は、予め作業者により入力された情報に基づいて行なわれる。平面形状決定因子の入力が要求されている場合（Ｓ１００にてＹＥＳ）、処理はＳ１１０へ移される。もしそうでないと（Ｓ１００にてＮＯ）、処理はＳ１４０に移される。
【００３０】
Ｓ１１０にて、ＣＰＵ１２０は、モニタ１０４に、入力画面を表示する。作業者は、このモニタ１０４に表示された内容に従って、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどを入力したり、選択したりする。
【００３１】
Ｓ１２０にて、ＣＰＵ１２０は、キーボード１１０やマウス１１２からの、平面形状決定因子の入力を検知したか否かを判断する。平面形状決定因子の入力を検知すると（Ｓ１２０にてＹＥＳ）、処理はＳ１３０へ移される。もしそうでないと（Ｓ１２０にてＮＯ）、処理はＳ１１０へ戻され、作業者により平面形状決定因子が入力されるのを待つ。
【００３２】
Ｓ１３０にて、ＣＰＵ１２０は、入力された平面形状決定因子を固定ディスク１２４に記憶する。Ｓ１４０にて、ＣＰＵ１２０は、固定ディスク１２４に予め記憶されたプロセスパラメータを読出す。Ｓ１５０にて、ＣＰＵ１２０は、寄生因子（抵抗、容量）の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ（配線層膜厚、酸化膜膜厚など）を変動させて、寄生因子の値（抵抗値、容量値）を、シミュレーションにて算出する。このとき、寄生因子の値（抵抗値、容量値）を算出するために、たとえば発生確率を考慮したモンテカルロシミュレーションが用いられる。また、プロセスパラメータ（配線層膜厚、酸化膜膜厚など）の変動範囲を決定するために、実際の変動幅を模擬できるＣＭＰ（Ｃｈｅｍｉｃａｌ  Ｍｅｃｈａｎｉｃａｌ  Ｐｏｌｉｓｈｉｎｇ）シミュレーションが用いられる。なお、本発明は、これらのような特定のシミュレーションに限定されるものではない。
【００３３】
Ｓ１６０にて、ＣＰＵ１２０は、Ｓ１５０のシミュレーション結果を固定ディスク１２４に記憶する。Ｓ１７０にて、ＣＰＵ１２０は、このシミューション結果から、各寄生因子（抵抗、容量）の種類毎に、最大値と最小値とを抽出してライブラリを作成する。このライブラリの内部の詳細については後述する。Ｓ１８０にて、ＣＰＵ１２０は、Ｓ１７０にて作成したライブラリを固定ディスク１２４に記憶する。
【００３４】
このようにして、因子（抵抗、容量）の種類毎に、かつその値毎に、プロセスパラメータ（配線層膜厚、酸化膜膜厚など）を変動した場合の、抵抗値や容量値の最大値と最小値とが記憶されたライブラリが作成される。また、このライブラリは、メタル層毎に記憶されるようにしてもよい。
【００３５】
図８を参照して、本実施の形態に係る配線構造決定方法の配線決定処理を実現する、コンピュータシステム１００のＣＰＵ１２０で実行されるプログラムの制御構造について説明する。
【００３６】
Ｓ２００にて、ＣＰＵ１２０は、論理図から抽出したネットリストに基づいて、スタンダードセルを配置する。このとき、前述の説明の通り、（１）チップ面積を縮小する、（２）ネットの配線長をなるべく短くするように配置される（図３参照）。
【００３７】
Ｓ２１０にて、ＣＰＵ１２０は、配置されたセルに対して、各ネットの配線経路を決定する概略配線を行なう。このとき、前述の説明の通り、ツリーのモデルなどを用いて概略配線が行なわれる（図４参照）。
【００３８】
Ｓ２２０にて、ＣＰＵ１２０は、固定ディスク１２４に記憶されたライブラリを参照して、配線毎に、寄生抵抗および寄生容量の最大値および最小値を用いて、ネットの最大遅延時間および最小遅延時間を計算する。
【００３９】
Ｓ２３０にて、ＣＰＵ１２０は、最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると（Ｓ２３０にでＹＥＳ）、処理はＳ２４０に移される。もしそうでないと（Ｓ２３０にてＮＯ）、処理はＳ２６０に移される。
【００４０】
Ｓ２４０にて、ＣＰＵ１２０は、最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると（Ｓ２３０にでＹＥＳ）、処理はＳ２５０に移される。もしそうでないと（Ｓ２３０にてＮＯ）、処理はＳ２６０に移される。
【００４１】
Ｓ２５０にて、ＣＰＵ１２０は、詳細に配線する。この処理においては、テクノロジファイル中のルールに従って第１層、第２層、第３層メタル（場合によっては第４層メタル以上を用いることもある。）を用いて配線が行なわれる。
【００４２】
Ｓ２６０にて、ＣＰＵ１２０は、概略配線を、Ｓ２１０にて一旦配線した概略配線とは異なる概略配線に変更する。
【００４３】
Ｓ２７０にて、ＣＰＵ１２０は、全てのネットについて詳細に配線したか否かを判断する。全てのネットについての詳細な配線が終了していると（Ｓ２７０にでＹＥＳ）、処理はＳ２８０に移される。もしそうでないと（Ｓ２７０にてＮＯ）、処理はＳ２２０に移される。
【００４４】
Ｓ２８０にて、ＣＰＵ１２０は、Ｓ２５０にて作成した詳細な配線についての情報を固定ディスク１２４に記憶する。
【００４５】
このようにして、予め記憶されたライブラリを用いて、寄生因子である抵抗値や容量値の最大値と最小値とを用いて、ネットのタイミング検証を行なう。このとき、寄生因子の抵抗値や容量値は、プロセスパラメータ（配線層膜厚、酸化膜膜厚など）のみならず、平面形状決定因子の値によっても、変動する。これらの変動要因を考慮してライブラリが作成されている。
【００４６】
以上のような構造およびフローチャートに基づく本実施の形態に係る配線高層決定方法の動作を、説明する。
【００４７】
［ライブラリ作成動作］
作業者が、平面形状決定因子の入力する場合には（Ｓ１００にてＹＥＳ）、キーボード１１０やマウス１１２を用いて、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどが入力される。
【００４８】
プロセスパラメータが固定ディスク１２４から読み出される（Ｓ１４０）。このときのプロセスパラメータの変動幅は、ＣＭＰシミュレーションにより算出される。寄生因子（抵抗、容量）の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ（配線層膜厚、酸化膜膜厚など）を変動させて、寄生因子の値（抵抗値、容量値）を、モンテカルロシミュレーションが実行される。
【００４９】
このとき、図９に寄生素子が抵抗である場合、図１０に寄生素子が容量である場合のライブラリのデータを示す。図９および図１０に示すように、配線層膜厚および酸化膜膜厚のいずれか毎であって、メタル層毎に、１枚のデータシートが作成される。１枚のデータシートには、プロセスパラメータ（配線層膜厚および酸化膜膜厚のいずれか）を、ＣＭＰシミュレーションで模擬計算した実際の構造を反映させて設定された膜厚値が設定される。
【００５０】
この膜厚値を変動させた場合であって、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などを複数の値に設定して、シミュレーションで抵抗値や容量値が算出される。このような処理により、図９および図１０に示すマトリクスに寄生因子の抵抗値や容量値が記憶される。
【００５１】
図９および図１０に示すマトリクスに記憶された寄生因子の抵抗値や容量値の中から最大値と最小値とが抽出して、図１１および図１２に示すライブラリが作成される（Ｓ１７０）。図１１および図１２に示すように、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などの複数の値毎の、最大の抵抗値（容量値）および最小の抵抗値（容量値）が抽出される。抽出された最大の抵抗値（容量値）および最小の抵抗値（容量値）とは、このプロセスパラメータが変動する範囲において、取り得る最大値と最小値とを示している。この平面形状決定因子の複数の値毎の最大値と最小値とを用いて、タイミング検証して、そのタイミングが許容範囲内に収まると、半導体製造装置におけるプロセスパラメータが予め設定された範囲でどのように変動しても、動作タイミングは許容範囲内に収まることになる。
【００５２】
［配線構造決定動作］
図３に示すようにセルが配置され（Ｓ２００）、図４に示すように概略配線が行なわれる（Ｓ２１０）。図１１および図１２に示すようなライブラリを参照して、抵抗値および容量値を用いて配線毎の遅延時間が算出され、それらに基づいて、ネットの最大遅延時間および最小遅延時間が算出される（Ｓ２２０）。
【００５３】
最大遅延時間がタイミング許容範囲内で（Ｓ２３０にてＹＥＳ）、かつ最小遅延時間がタイミング許容範囲内で（Ｓ２４０にてＹＥＳ）であると、詳細な配線が行なわれる（Ｓ２５０）。このような処理が全てのネットについて配線されるまで（Ｓ２７０にてＹＥＳ）、繰返し実行される。
【００５４】
なお、最大遅延時間または最小遅延時間がタイミング許容範囲外で（Ｓ２３０にてＮＯ、Ｓ２４０にてＮＯ）であると、概略的な配線を変更して、タイミング検証が実行される。
【００５５】
以上のようにして、本実施の形態に係る配線構造決定方法によると、タイミング検証に不可欠な、プロセスパラメータにより変動する寄生因子の値（抵抗値、容量値）を、予めライブラリ化した。平面形状の値である配線長や配線幅等の値と配線層膜厚値とに基づいて、対応する抵抗値や容量値が読み出して、遅延計算を行ない、タイミング検証を実行する。このため、従来のように、タイミング検証を実行する毎に、配線抵抗データおよび配線容量データを計算する必要はない。その結果、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定することができる。
【００５６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る配線構造決定方法を実現するコンピュータシステムの制御ブロック図である。
【図２】レイアウト設計された半導体集積回路の一部を示すレイアウト図である。
【図３】スタンダードセルの配置結果を示す概念図である。
【図４】概略配線の配線結果を示す概念図である。
【図５】トランクスタイナーツリーアルゴリズムを説明するための概念図である。
【図６】配線の遅延値を計算するための概念図である。
【図７】本発明の実施の形態に係る配線構造決定方法で実行されるライブラリ作成処理のプログラムを示すフローチャートである。
【図８】本発明の実施の形態に係る配線構造決定方法で実行される配線構造決定処理のプログラムを示すフローチャートである。
【図９】ライブラリの内容を示す図（その１）である。
【図１０】ライブラリの内容を示す図（その２）である。
【図１１】ライブラリの内容を示す図（その３）である。
【図１２】ライブラリの内容を示す図（その４）である。
【符号の説明】
１００  コンピュータシステム、１０２  コンピュータ、１０４  モニタ、１０６  ＦＤ駆動装置、１０８  ＣＤ−ＲＯＭ駆動装置、１１０  キーボード、１１２  マウス、１２０  ＣＰＵ、１２２  メモリ、１２４  固定ディスク、２００Ａ〜２００Ｐ  スタンダードセル、２１０Ａ〜２１０Ｅ  第２層メタル、２２０Ａ，２２０Ｂ  第１層メタル、２３０Ａ〜２３０Ｅ  ビア、３００Ａ〜３００Ｃ  ピン、５００  基板、５２０  容量Ｃ（Ｓ）、５１０，５３０Ａ，５３０Ｂ配線、５４０Ａ，５４０Ｂ  容量Ｃ（Ｌ）。
【図１】
2004326654.tif 000003
【図２】
2004326654.tif 000004
【図３】
2004326654.tif 000005
【図４】
2004326654.tif 000006
【図５】
2004326654.tif 000007
【図６】
2004326654.tif 000008
【図７】
2004326654.tif 000009
【図８】
2004326654.tif 000010
【図９】
2004326654.tif 000011
【図１０】
2004326654.tif 000012
【図１１】
2004326654.tif 000013
【図１２】
2004326654.tif 000014