JP2004326654A - 配線構造決定方法 - Google Patents
配線構造決定方法 Download PDFInfo
- Publication number
- JP2004326654A JP2004326654A JP2003123512A JP2003123512A JP2004326654A JP 2004326654 A JP2004326654 A JP 2004326654A JP 2003123512 A JP2003123512 A JP 2003123512A JP 2003123512 A JP2003123512 A JP 2003123512A JP 2004326654 A JP2004326654 A JP 2004326654A
- Authority
- JP
- Japan
- Prior art keywords
- wiring
- value
- delay
- semiconductor integrated
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
- G06F30/3953—Routing detailed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】プロセスパラメータの変動を考慮して、効率的に半導体集積回路の配線構造を決定する。
【解決手段】配線構造決定方法は、セルを配置するステップ(S200)と、概略の配線配置を行なうステップ(S200)と、プロセスパラメータと平面形状決定因子とを変動させてシミュレーションして予め算出された抵抗値や容量値が記憶されたライブラリを参照して、最大抵抗値および最小抵抗値ならびに最大容量値および最小容量値を用いて、最大遅延時間および最小遅延時間を算出するステップ(S220)と、最大遅延および最小遅延がタイミング許容範囲内であると(S230にてYES、S240にてYES)、詳細な配線配置を行なうステップ(S250)とを含む。
【選択図】 図8
【解決手段】配線構造決定方法は、セルを配置するステップ(S200)と、概略の配線配置を行なうステップ(S200)と、プロセスパラメータと平面形状決定因子とを変動させてシミュレーションして予め算出された抵抗値や容量値が記憶されたライブラリを参照して、最大抵抗値および最小抵抗値ならびに最大容量値および最小容量値を用いて、最大遅延時間および最小遅延時間を算出するステップ(S220)と、最大遅延および最小遅延がタイミング許容範囲内であると(S230にてYES、S240にてYES)、詳細な配線配置を行なうステップ(S250)とを含む。
【選択図】 図8
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウトを行なう配線構造決定方法に関し、特に、半導体集積回路の製造装置におけるプロセスパラメータの変動を考慮して、適性な動作タイミングを実現できるように半導体集積回路のレイアウトを行なう配線構造決定方法に関する。
【0002】
【従来の技術】
半導体集積回路の製造においては、近年、トランジスタまたは配線等の素子の微細加工技術が進展を続けている。それらの素子の微細化に伴って、論理セルに含まれるトランジスタの遅延時間は減少する一方、配線間の距離が縮まるとともに配線幅が細くなるため、配線間容量および配線抵抗が増大して、配線の遅延時間は増加する傾向にある。その結果、微細化に伴って、半導体集積回路の遅延時間全体の中での配線遅延時間の割合が増加するので、配線遅延時間を正確に見積もることは重要である。
【0003】
半導体集積回路の動作タイミングを検証する場合、プロセス上の加工バラツキまたは温度もしくは電源等の変動を考慮して遅延時間を算出する。すなわち、配線遅延時間を考慮してタイミング検証を行なう場合には、薄膜形成工程における製造装置での配線の膜厚もしくは幅または層間膜の膜厚もしくは誘電率等の変動を想定して、配線抵抗および配線間容量を計算するともに配線抵抗および配線間容量を用いて配線遅延時間を計算する。このとき、半導体集積回路を製造する製造装置によって決まりかつ配線抵抗および配線間容量のうちの少なくとも1つを変動させるプロセス変動要因の変動量に基づき、配線抵抗および配線間容量を求めて回路シミュレーションを行なう技術が用いられる。
【0004】
特開2001−306647公報(特許文献1)は、プロセス変動を考慮したタイミング検証を効率的に行なうタイミング検証方法を開示する。このタイミング検証方法は、論理機能を有する複数のセルが配置されるとともに複数のセルの端子同士が配線により接続されることによって形成される半導体集積回路の動作タイミングを検証するタイミング検証方法であって、半導体集積回路を製造するプロセスによって決まりかつ配線の抵抗および配線間の容量のうちの少なくとも1つを変動させるプロセス変動要因に、その変動量であるプロセス変動量を設定する工程、プロセス変動量と配線のレイアウト図形とに基づき、配線の抵抗および配線間の容量を算出する工程、および、算出された配線の抵抗および配線間の容量を用いて、配線の第1の遅延時間と、複数のセルのうち配線を駆動する駆動セルの第2の遅延時間とを算出する工程をプロセス変動量を変えて少なくとも2回行なうことにより、第1の遅延時間および第2の遅延時間からなる少なくとも2つの変動遅延時間を算出する第1の遅延時間算出工程と、少なくとも2つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成する遅延データ統合工程と、統合遅延時間を用いて、半導体集積回路の遅延シミュレーションを行なう遅延シミュレーション工程とを備える。
【0005】
このタイミング検証方法によると、異なるプロセス変動量つまり異なるプロセス変動条件のそれぞれと対応する少なくとも2つの変動遅延時間を算出した後、少なくとも2つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成し、その後、統合遅延時間を用いて半導体集積回路の遅延シミュレーションを行なう。このため、プロセス変動条件と対応する変動遅延時間の算出と、半導体集積回路の遅延シミュレーションとを独立して行なうことができるとともに、少なくとも2つの変動遅延時間に基づき生成された統合遅延時間のみを用いて遅延シミュレーションを行なうことができる。従って、複数のプロセス変動条件に対して遅延シミュレーション又は回路シミュレーションを繰り返し行なう必要がないので、プロセス変動を考慮したタイミング検証を効率的に行なうことができる。
【0006】
また、特開2000−172738公報(特許文献2)は、遅延違反パスを発生させない半導体集積回路(LSI(Large Scale Integrated circuit))の自動レイアウト方法を開示する。この自動レイアウト方法は、レイアウト設計を行なう上で必要となる情報を入力する情報入力工程と、全セルの自動配置を行なう配置処理工程と、全ネットの概略配線を実行する初期概略配線工程と、各パスの遅延時間を計算し、各パスの遅延制約値を違反するクリティカルパスを抽出する遅延解析工程と、遅延解析工程でクリティカルパスがある場合に配置処理工程に処理を戻し、クリティカルパスがない場合に処理を次の改良概略配線工程に移行させる遅延違反パス有無を判定する判定工程と、遅延制約値の厳しいネットには初期概略配線経路と最も配線遅延が最小となる配線層に割り当て、それ以外のネットには配線混雑度を緩和するようにネットの概略配線経路と配線層を割り付ける改良概略配線工程と、概略配線経路に基づき詳細配線経路を決定する詳細配線工程とを含む。
【0007】
この自動レイアウト方法によると、遅延制約の厳しいネットには、遅延的に有利な配線層に配線長が最短なる配線経路を割り付け、遅延制約に余裕のあるネットに対しては配線混雑度を考慮して配線する。このため、LSIの配線収容性を損なわずに遅延制約を違反せずにレイアウトできる。
【0008】
【特許文献1】
特開2001−306647公報
【0009】
【特許文献2】
特開2000−172738公報
【0010】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示されたタイミング検証方法は、プロセス変動量を設定して、算出された、少なくとも2つの変動遅延時間のうちの最大または最小のものを統合遅延時間とする。統合遅延時間として変動遅延時間のうち最大のものを選択して最大遅延検証を行ない、統合遅延時間として変動遅延時間のうち最小のものを選択して、最小遅延検証を行なう。このような処理において、プロセス変動量を設定する場合には、プロセス変動量の平均値と、その平均値から+3σを最大値として、その平均値から−3σを最小値として設定して、それぞれの最大値および最小値に対応させて配線RCデータ(配線抵抗データおよび配線容量データ)を計算して、その配線RCデータに基づいて、遅延時間を算出する。そのため、このタイミング検証方法を実行すると、毎回、配線RCデータを計算しなければならない。
【0011】
特許文献2に開示されたLSIの自動レイアウト方法は、LSIの製造工程におけるプロセスパラメータの変動による配線抵抗や配線容量の変動を十分に考慮したものではない。
【0012】
本発明は、上述の課題を解決するためになされたものであって、その目的は、半導体集積回路におけるタイミング検証を行なうにあたり、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定する配線構造決定方法を提供することである。
【0013】
【課題を解決するための手段】
この発明に係る配線構造決定方法は、複数のセル間の配線を行なうための配線層を複数有する半導体集積回路のセルを、セルの接続を記述しているネットリストに基づいて自動配置する自動配置ステップと、複数の配線層間のセルを接続する配線縦構造を含む概略配線を設定する概略配線設定ステップと、概略配線からセル間の遅延値を算出するために用いられる遅延因子に関する情報であって、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を、異なる半導体集積回路に適用できる形式で、予め作成する作成ステップと、作成された情報と概略配線とに基づいて、ネットの遅延値を算出する算出ステップと、遅延値が予め定められた許容範囲内であると、設定された概略配線に基づいて、デザインルールを記述しているテクノロジファイル内のルールに従ってセル間の詳細配線を決定する詳細配線決定ステップとを含む。
【0014】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【0015】
図1に、本実施の形態に係る配線構造決定方法を実現するハードウェアの一例であるコンピュータシステムのブロック図を示す。図1を参照して、このコンピュータシステム100は、FD(Flexible Disk)駆動装置106およびCD−ROM(Compact Disc−Read Only Memory)駆動装置108を備えたコンピュータ102と、モニタ104と、キーボード110と、マウス112とを含む。このコンピュータ102は、上述したFD駆動装置106およびCD−ROM駆動装置108に加えて、相互にバスで接続されたCPU(Central Processing Unit)120と、メモリ122と、固定ディスク124とを含む。
【0016】
FD駆動装置106にはFD116が装着される。CD−ROM駆動装置108にはCD−ROM118が装着される。固定ディスク124には、平面形状決定因子記憶部と、プロセスパラメータ記憶部と、ライブラリ記憶部とを備える。
【0017】
本実施の形態に係る配線構造決定方法は、コンピュータハードウェアとCPU120により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、FD116、CD−ROM118などの記録媒体に格納されて流通し、FD駆動装置106またはCD−ROM駆動装置108などにより記録媒体から読取られて固定ディスク124に一旦格納される。さらに固定ディスク124からメモリ122に読出されて、CPU120により実行される。図1に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、FD116、CD−ROM118、固定ディスク124などの記録媒体に記録されたソフトウェアであるとも言える。
【0018】
なお、図1に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【0019】
次に、本発明の実施の形態に係る配線構造決定方法を上記のコンピュータで実現する際において、その方法の対象となる半導体集積回路について説明する。この半導体集積回路は、スタンダードセルを用いて自動的に配線構造が決定される。図2は、レイアウト設計された半導体集積回路の一部を示すレイアウト図である。図2において、スタンダードセル200A〜200Pが自動配置されたセルである。第2層メタル210A〜210Eは、所定の金属パターンで第2配線層に自動配線され、第1層メタル220A、220Bは、所定の金属パターンで第1配線層に自動配線され、ビア230A〜230Eが、第1層メタル220A、220Bと第2層メタル210A〜210Eとを電気的に接続している。
【0020】
通常、スタンダードセル方式の半導体集積回路のレイアウトは、図2に示すように予め設計されたほぼ等しい高さのスタンダードセルを一列に配列してセル行あるいはセル列とし、そのセル列を平行に配設する。そして、このセル列とセル列との間を配線チャネルとして用いてセル間の配線を行なう。通常スタンダードセルにおいて、電源・接地の端子は左右辺上の対象位置に出ており、セルを水平方向に接して並べればモジュール内の電源・接地線が自然につながるようになっている。
【0021】
自動配置の目的の一つであるチップ面積の縮小を行なうためには、セル列上でのセルの配列順序を全ての配線チャネルの高さの和が最小となるように決定することが必要である。
【0022】
このために、まず、論理図から抽出したネットリストに基づいて、スタンダードセルを、(1)チップ面積を縮小する、(2)ネットの配線長をなるべく短くするということを目的として配置して、図3に示すような配置を行なう。この配置のための手法としては、初期配置での構成的配置法(ランダム法、ペア・リンキング法、クラスタ成長法、ミンカット法など)と配置改善における繰り返し改善法(スタインバーグ法、ペア交換法、反復重心法、シミュレーテッド・アニーリング法など)等がある。
【0023】
このようにして、セルの配置が完了すると、概略配線が行なわれる。概略配線時に各ネットの配線経路を決定する。たとえば、概略配線の一例として以下のような処理がある。概略配線によって配線経路を決定する際、まず、多端子ネットを2端子ネットから構成されるツリーに分解し再構成するネットの分解を行なう。このツリーのモデルとしては、各端子間を結ぶ枝からマンハッタン距離の意味全長が最小となる最小ツリーをつくる方法、全ての端子を一筆書きで接続するチェインツリーをつくる方法、セルの端子以外での枝分かれも許して最小長となるスタイナーツリーをつくる方法などがある。図4に概略配線の終了した状態の概念図を示す。図4において、配線240A〜240Dは、概略配線によって配線経路の決定した2つのネットの配線である。
【0024】
図5にトランクスタイナーツリーの例を示す。トランクスタイナーツリーを作成するためには、ピン300A、300B、300Cを囲む長方形の長辺と同方向に各ピン300A〜300Cの座標の平均値を通る線310を引き、それに対し各ピン300A〜300Cから垂直に垂線320A〜320Cを下ろす。
【0025】
このようにして、概略配線が行なわれた後に、本実施の形態に係る配線構造決定装置は、タイミング検証を行なう。このタイミング検証を行なう際に寄生因子(配線抵抗、配線容量)の遅延を考慮する必要がある。本実施の形態においては、このときに用いられる寄生因子の値が、異なる半導体集積回路(デザインルールの最小線幅が共通する)で共通して用いることができるようにライブラリ化されている。寄生因子は、本来の集積回路におけるトランジスタ等の素子とは異なり、素子間やセル間を接続するために必要な配線における抵抗や容量により発生する遅延の要因である。
【0026】
図6に、配線の遅延値を計算するための概念図を示す。図6(A)に平面図、図6(B)にその断面図を示す。配線の遅延値を計算する場合、図6に示すように、計算する配線510に並行に同一層の他の配線530A、530Bが最小間隔で隣接すると仮定して計算する。図6において、容量C(L)540Aおよび容量C(L)540Bは、配線510と配線530Aとの単位長さあたりの隣接配線間容量、および配線510と配線530Bとの単位長さあたりの隣接配線間容量である。それぞれの容量C(L)の値は同じである。また、図6において、容量C(S)520は、配線510と基板500との間に発生する単位面積あたりの容量である。
【0027】
このような遅延因子に対して、配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルの各値に対してライブラリ化された抵抗値および容量値を用いて遅延値が計算される。
【0028】
以下、この本実施の形態に係る配線構造決定方法について詳細に説明する。
図7を参照して、本実施の形態に係る配線構造決定方法のライブラリ作成処理を実現する、コンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0029】
ステップ(以下、ステップをSと略す。)100にて、コンピュータシステム100のCPU120は、平面形状決定因子の入力が要求されたか否かを判断する。この判断は、予め作業者により入力された情報に基づいて行なわれる。平面形状決定因子の入力が要求されている場合(S100にてYES)、処理はS110へ移される。もしそうでないと(S100にてNO)、処理はS140に移される。
【0030】
S110にて、CPU120は、モニタ104に、入力画面を表示する。作業者は、このモニタ104に表示された内容に従って、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどを入力したり、選択したりする。
【0031】
S120にて、CPU120は、キーボード110やマウス112からの、平面形状決定因子の入力を検知したか否かを判断する。平面形状決定因子の入力を検知すると(S120にてYES)、処理はS130へ移される。もしそうでないと(S120にてNO)、処理はS110へ戻され、作業者により平面形状決定因子が入力されるのを待つ。
【0032】
S130にて、CPU120は、入力された平面形状決定因子を固定ディスク124に記憶する。S140にて、CPU120は、固定ディスク124に予め記憶されたプロセスパラメータを読出す。S150にて、CPU120は、寄生因子(抵抗、容量)の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動させて、寄生因子の値(抵抗値、容量値)を、シミュレーションにて算出する。このとき、寄生因子の値(抵抗値、容量値)を算出するために、たとえば発生確率を考慮したモンテカルロシミュレーションが用いられる。また、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)の変動範囲を決定するために、実際の変動幅を模擬できるCMP(Chemical Mechanical Polishing)シミュレーションが用いられる。なお、本発明は、これらのような特定のシミュレーションに限定されるものではない。
【0033】
S160にて、CPU120は、S150のシミュレーション結果を固定ディスク124に記憶する。S170にて、CPU120は、このシミューション結果から、各寄生因子(抵抗、容量)の種類毎に、最大値と最小値とを抽出してライブラリを作成する。このライブラリの内部の詳細については後述する。S180にて、CPU120は、S170にて作成したライブラリを固定ディスク124に記憶する。
【0034】
このようにして、因子(抵抗、容量)の種類毎に、かつその値毎に、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動した場合の、抵抗値や容量値の最大値と最小値とが記憶されたライブラリが作成される。また、このライブラリは、メタル層毎に記憶されるようにしてもよい。
【0035】
図8を参照して、本実施の形態に係る配線構造決定方法の配線決定処理を実現する、コンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0036】
S200にて、CPU120は、論理図から抽出したネットリストに基づいて、スタンダードセルを配置する。このとき、前述の説明の通り、(1)チップ面積を縮小する、(2)ネットの配線長をなるべく短くするように配置される(図3参照)。
【0037】
S210にて、CPU120は、配置されたセルに対して、各ネットの配線経路を決定する概略配線を行なう。このとき、前述の説明の通り、ツリーのモデルなどを用いて概略配線が行なわれる(図4参照)。
【0038】
S220にて、CPU120は、固定ディスク124に記憶されたライブラリを参照して、配線毎に、寄生抵抗および寄生容量の最大値および最小値を用いて、ネットの最大遅延時間および最小遅延時間を計算する。
【0039】
S230にて、CPU120は、最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると(S230にでYES)、処理はS240に移される。もしそうでないと(S230にてNO)、処理はS260に移される。
【0040】
S240にて、CPU120は、最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると(S230にでYES)、処理はS250に移される。もしそうでないと(S230にてNO)、処理はS260に移される。
【0041】
S250にて、CPU120は、詳細に配線する。この処理においては、テクノロジファイル中のルールに従って第1層、第2層、第3層メタル(場合によっては第4層メタル以上を用いることもある。)を用いて配線が行なわれる。
【0042】
S260にて、CPU120は、概略配線を、S210にて一旦配線した概略配線とは異なる概略配線に変更する。
【0043】
S270にて、CPU120は、全てのネットについて詳細に配線したか否かを判断する。全てのネットについての詳細な配線が終了していると(S270にでYES)、処理はS280に移される。もしそうでないと(S270にてNO)、処理はS220に移される。
【0044】
S280にて、CPU120は、S250にて作成した詳細な配線についての情報を固定ディスク124に記憶する。
【0045】
このようにして、予め記憶されたライブラリを用いて、寄生因子である抵抗値や容量値の最大値と最小値とを用いて、ネットのタイミング検証を行なう。このとき、寄生因子の抵抗値や容量値は、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)のみならず、平面形状決定因子の値によっても、変動する。これらの変動要因を考慮してライブラリが作成されている。
【0046】
以上のような構造およびフローチャートに基づく本実施の形態に係る配線高層決定方法の動作を、説明する。
【0047】
[ライブラリ作成動作]
作業者が、平面形状決定因子の入力する場合には(S100にてYES)、キーボード110やマウス112を用いて、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどが入力される。
【0048】
プロセスパラメータが固定ディスク124から読み出される(S140)。このときのプロセスパラメータの変動幅は、CMPシミュレーションにより算出される。寄生因子(抵抗、容量)の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動させて、寄生因子の値(抵抗値、容量値)を、モンテカルロシミュレーションが実行される。
【0049】
このとき、図9に寄生素子が抵抗である場合、図10に寄生素子が容量である場合のライブラリのデータを示す。図9および図10に示すように、配線層膜厚および酸化膜膜厚のいずれか毎であって、メタル層毎に、1枚のデータシートが作成される。1枚のデータシートには、プロセスパラメータ(配線層膜厚および酸化膜膜厚のいずれか)を、CMPシミュレーションで模擬計算した実際の構造を反映させて設定された膜厚値が設定される。
【0050】
この膜厚値を変動させた場合であって、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などを複数の値に設定して、シミュレーションで抵抗値や容量値が算出される。このような処理により、図9および図10に示すマトリクスに寄生因子の抵抗値や容量値が記憶される。
【0051】
図9および図10に示すマトリクスに記憶された寄生因子の抵抗値や容量値の中から最大値と最小値とが抽出して、図11および図12に示すライブラリが作成される(S170)。図11および図12に示すように、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などの複数の値毎の、最大の抵抗値(容量値)および最小の抵抗値(容量値)が抽出される。抽出された最大の抵抗値(容量値)および最小の抵抗値(容量値)とは、このプロセスパラメータが変動する範囲において、取り得る最大値と最小値とを示している。この平面形状決定因子の複数の値毎の最大値と最小値とを用いて、タイミング検証して、そのタイミングが許容範囲内に収まると、半導体製造装置におけるプロセスパラメータが予め設定された範囲でどのように変動しても、動作タイミングは許容範囲内に収まることになる。
【0052】
[配線構造決定動作]
図3に示すようにセルが配置され(S200)、図4に示すように概略配線が行なわれる(S210)。図11および図12に示すようなライブラリを参照して、抵抗値および容量値を用いて配線毎の遅延時間が算出され、それらに基づいて、ネットの最大遅延時間および最小遅延時間が算出される(S220)。
【0053】
最大遅延時間がタイミング許容範囲内で(S230にてYES)、かつ最小遅延時間がタイミング許容範囲内で(S240にてYES)であると、詳細な配線が行なわれる(S250)。このような処理が全てのネットについて配線されるまで(S270にてYES)、繰返し実行される。
【0054】
なお、最大遅延時間または最小遅延時間がタイミング許容範囲外で(S230にてNO、S240にてNO)であると、概略的な配線を変更して、タイミング検証が実行される。
【0055】
以上のようにして、本実施の形態に係る配線構造決定方法によると、タイミング検証に不可欠な、プロセスパラメータにより変動する寄生因子の値(抵抗値、容量値)を、予めライブラリ化した。平面形状の値である配線長や配線幅等の値と配線層膜厚値とに基づいて、対応する抵抗値や容量値が読み出して、遅延計算を行ない、タイミング検証を実行する。このため、従来のように、タイミング検証を実行する毎に、配線抵抗データおよび配線容量データを計算する必要はない。その結果、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定することができる。
【0056】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る配線構造決定方法を実現するコンピュータシステムの制御ブロック図である。
【図2】レイアウト設計された半導体集積回路の一部を示すレイアウト図である。
【図3】スタンダードセルの配置結果を示す概念図である。
【図4】概略配線の配線結果を示す概念図である。
【図5】トランクスタイナーツリーアルゴリズムを説明するための概念図である。
【図6】配線の遅延値を計算するための概念図である。
【図7】本発明の実施の形態に係る配線構造決定方法で実行されるライブラリ作成処理のプログラムを示すフローチャートである。
【図8】本発明の実施の形態に係る配線構造決定方法で実行される配線構造決定処理のプログラムを示すフローチャートである。
【図9】ライブラリの内容を示す図(その1)である。
【図10】ライブラリの内容を示す図(その2)である。
【図11】ライブラリの内容を示す図(その3)である。
【図12】ライブラリの内容を示す図(その4)である。
【符号の説明】
100 コンピュータシステム、102 コンピュータ、104 モニタ、106 FD駆動装置、108 CD−ROM駆動装置、110 キーボード、112 マウス、120 CPU、122 メモリ、124 固定ディスク、200A〜200P スタンダードセル、210A〜210E 第2層メタル、220A,220B 第1層メタル、230A〜230E ビア、300A〜300C ピン、500 基板、520 容量C(S)、510,530A,530B配線、540A,540B 容量C(L)。
【発明の属する技術分野】
本発明は、半導体集積回路のレイアウトを行なう配線構造決定方法に関し、特に、半導体集積回路の製造装置におけるプロセスパラメータの変動を考慮して、適性な動作タイミングを実現できるように半導体集積回路のレイアウトを行なう配線構造決定方法に関する。
【0002】
【従来の技術】
半導体集積回路の製造においては、近年、トランジスタまたは配線等の素子の微細加工技術が進展を続けている。それらの素子の微細化に伴って、論理セルに含まれるトランジスタの遅延時間は減少する一方、配線間の距離が縮まるとともに配線幅が細くなるため、配線間容量および配線抵抗が増大して、配線の遅延時間は増加する傾向にある。その結果、微細化に伴って、半導体集積回路の遅延時間全体の中での配線遅延時間の割合が増加するので、配線遅延時間を正確に見積もることは重要である。
【0003】
半導体集積回路の動作タイミングを検証する場合、プロセス上の加工バラツキまたは温度もしくは電源等の変動を考慮して遅延時間を算出する。すなわち、配線遅延時間を考慮してタイミング検証を行なう場合には、薄膜形成工程における製造装置での配線の膜厚もしくは幅または層間膜の膜厚もしくは誘電率等の変動を想定して、配線抵抗および配線間容量を計算するともに配線抵抗および配線間容量を用いて配線遅延時間を計算する。このとき、半導体集積回路を製造する製造装置によって決まりかつ配線抵抗および配線間容量のうちの少なくとも1つを変動させるプロセス変動要因の変動量に基づき、配線抵抗および配線間容量を求めて回路シミュレーションを行なう技術が用いられる。
【0004】
特開2001−306647公報(特許文献1)は、プロセス変動を考慮したタイミング検証を効率的に行なうタイミング検証方法を開示する。このタイミング検証方法は、論理機能を有する複数のセルが配置されるとともに複数のセルの端子同士が配線により接続されることによって形成される半導体集積回路の動作タイミングを検証するタイミング検証方法であって、半導体集積回路を製造するプロセスによって決まりかつ配線の抵抗および配線間の容量のうちの少なくとも1つを変動させるプロセス変動要因に、その変動量であるプロセス変動量を設定する工程、プロセス変動量と配線のレイアウト図形とに基づき、配線の抵抗および配線間の容量を算出する工程、および、算出された配線の抵抗および配線間の容量を用いて、配線の第1の遅延時間と、複数のセルのうち配線を駆動する駆動セルの第2の遅延時間とを算出する工程をプロセス変動量を変えて少なくとも2回行なうことにより、第1の遅延時間および第2の遅延時間からなる少なくとも2つの変動遅延時間を算出する第1の遅延時間算出工程と、少なくとも2つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成する遅延データ統合工程と、統合遅延時間を用いて、半導体集積回路の遅延シミュレーションを行なう遅延シミュレーション工程とを備える。
【0005】
このタイミング検証方法によると、異なるプロセス変動量つまり異なるプロセス変動条件のそれぞれと対応する少なくとも2つの変動遅延時間を算出した後、少なくとも2つの変動遅延時間に基づき、半導体集積回路の動作特性を決定する統合遅延時間を生成し、その後、統合遅延時間を用いて半導体集積回路の遅延シミュレーションを行なう。このため、プロセス変動条件と対応する変動遅延時間の算出と、半導体集積回路の遅延シミュレーションとを独立して行なうことができるとともに、少なくとも2つの変動遅延時間に基づき生成された統合遅延時間のみを用いて遅延シミュレーションを行なうことができる。従って、複数のプロセス変動条件に対して遅延シミュレーション又は回路シミュレーションを繰り返し行なう必要がないので、プロセス変動を考慮したタイミング検証を効率的に行なうことができる。
【0006】
また、特開2000−172738公報(特許文献2)は、遅延違反パスを発生させない半導体集積回路(LSI(Large Scale Integrated circuit))の自動レイアウト方法を開示する。この自動レイアウト方法は、レイアウト設計を行なう上で必要となる情報を入力する情報入力工程と、全セルの自動配置を行なう配置処理工程と、全ネットの概略配線を実行する初期概略配線工程と、各パスの遅延時間を計算し、各パスの遅延制約値を違反するクリティカルパスを抽出する遅延解析工程と、遅延解析工程でクリティカルパスがある場合に配置処理工程に処理を戻し、クリティカルパスがない場合に処理を次の改良概略配線工程に移行させる遅延違反パス有無を判定する判定工程と、遅延制約値の厳しいネットには初期概略配線経路と最も配線遅延が最小となる配線層に割り当て、それ以外のネットには配線混雑度を緩和するようにネットの概略配線経路と配線層を割り付ける改良概略配線工程と、概略配線経路に基づき詳細配線経路を決定する詳細配線工程とを含む。
【0007】
この自動レイアウト方法によると、遅延制約の厳しいネットには、遅延的に有利な配線層に配線長が最短なる配線経路を割り付け、遅延制約に余裕のあるネットに対しては配線混雑度を考慮して配線する。このため、LSIの配線収容性を損なわずに遅延制約を違反せずにレイアウトできる。
【0008】
【特許文献1】
特開2001−306647公報
【0009】
【特許文献2】
特開2000−172738公報
【0010】
【発明が解決しようとする課題】
しかしながら、特許文献1に開示されたタイミング検証方法は、プロセス変動量を設定して、算出された、少なくとも2つの変動遅延時間のうちの最大または最小のものを統合遅延時間とする。統合遅延時間として変動遅延時間のうち最大のものを選択して最大遅延検証を行ない、統合遅延時間として変動遅延時間のうち最小のものを選択して、最小遅延検証を行なう。このような処理において、プロセス変動量を設定する場合には、プロセス変動量の平均値と、その平均値から+3σを最大値として、その平均値から−3σを最小値として設定して、それぞれの最大値および最小値に対応させて配線RCデータ(配線抵抗データおよび配線容量データ)を計算して、その配線RCデータに基づいて、遅延時間を算出する。そのため、このタイミング検証方法を実行すると、毎回、配線RCデータを計算しなければならない。
【0011】
特許文献2に開示されたLSIの自動レイアウト方法は、LSIの製造工程におけるプロセスパラメータの変動による配線抵抗や配線容量の変動を十分に考慮したものではない。
【0012】
本発明は、上述の課題を解決するためになされたものであって、その目的は、半導体集積回路におけるタイミング検証を行なうにあたり、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定する配線構造決定方法を提供することである。
【0013】
【課題を解決するための手段】
この発明に係る配線構造決定方法は、複数のセル間の配線を行なうための配線層を複数有する半導体集積回路のセルを、セルの接続を記述しているネットリストに基づいて自動配置する自動配置ステップと、複数の配線層間のセルを接続する配線縦構造を含む概略配線を設定する概略配線設定ステップと、概略配線からセル間の遅延値を算出するために用いられる遅延因子に関する情報であって、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を、異なる半導体集積回路に適用できる形式で、予め作成する作成ステップと、作成された情報と概略配線とに基づいて、ネットの遅延値を算出する算出ステップと、遅延値が予め定められた許容範囲内であると、設定された概略配線に基づいて、デザインルールを記述しているテクノロジファイル内のルールに従ってセル間の詳細配線を決定する詳細配線決定ステップとを含む。
【0014】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【0015】
図1に、本実施の形態に係る配線構造決定方法を実現するハードウェアの一例であるコンピュータシステムのブロック図を示す。図1を参照して、このコンピュータシステム100は、FD(Flexible Disk)駆動装置106およびCD−ROM(Compact Disc−Read Only Memory)駆動装置108を備えたコンピュータ102と、モニタ104と、キーボード110と、マウス112とを含む。このコンピュータ102は、上述したFD駆動装置106およびCD−ROM駆動装置108に加えて、相互にバスで接続されたCPU(Central Processing Unit)120と、メモリ122と、固定ディスク124とを含む。
【0016】
FD駆動装置106にはFD116が装着される。CD−ROM駆動装置108にはCD−ROM118が装着される。固定ディスク124には、平面形状決定因子記憶部と、プロセスパラメータ記憶部と、ライブラリ記憶部とを備える。
【0017】
本実施の形態に係る配線構造決定方法は、コンピュータハードウェアとCPU120により実行されるソフトウェアとにより実現される。一般的にこうしたソフトウェアは、FD116、CD−ROM118などの記録媒体に格納されて流通し、FD駆動装置106またはCD−ROM駆動装置108などにより記録媒体から読取られて固定ディスク124に一旦格納される。さらに固定ディスク124からメモリ122に読出されて、CPU120により実行される。図1に示したコンピュータのハードウェア自体は一般的なものである。したがって、本発明の本質的な部分は、FD116、CD−ROM118、固定ディスク124などの記録媒体に記録されたソフトウェアであるとも言える。
【0018】
なお、図1に示したコンピュータ自体の動作は周知であるので、ここではその詳細な説明は繰返さない。
【0019】
次に、本発明の実施の形態に係る配線構造決定方法を上記のコンピュータで実現する際において、その方法の対象となる半導体集積回路について説明する。この半導体集積回路は、スタンダードセルを用いて自動的に配線構造が決定される。図2は、レイアウト設計された半導体集積回路の一部を示すレイアウト図である。図2において、スタンダードセル200A〜200Pが自動配置されたセルである。第2層メタル210A〜210Eは、所定の金属パターンで第2配線層に自動配線され、第1層メタル220A、220Bは、所定の金属パターンで第1配線層に自動配線され、ビア230A〜230Eが、第1層メタル220A、220Bと第2層メタル210A〜210Eとを電気的に接続している。
【0020】
通常、スタンダードセル方式の半導体集積回路のレイアウトは、図2に示すように予め設計されたほぼ等しい高さのスタンダードセルを一列に配列してセル行あるいはセル列とし、そのセル列を平行に配設する。そして、このセル列とセル列との間を配線チャネルとして用いてセル間の配線を行なう。通常スタンダードセルにおいて、電源・接地の端子は左右辺上の対象位置に出ており、セルを水平方向に接して並べればモジュール内の電源・接地線が自然につながるようになっている。
【0021】
自動配置の目的の一つであるチップ面積の縮小を行なうためには、セル列上でのセルの配列順序を全ての配線チャネルの高さの和が最小となるように決定することが必要である。
【0022】
このために、まず、論理図から抽出したネットリストに基づいて、スタンダードセルを、(1)チップ面積を縮小する、(2)ネットの配線長をなるべく短くするということを目的として配置して、図3に示すような配置を行なう。この配置のための手法としては、初期配置での構成的配置法(ランダム法、ペア・リンキング法、クラスタ成長法、ミンカット法など)と配置改善における繰り返し改善法(スタインバーグ法、ペア交換法、反復重心法、シミュレーテッド・アニーリング法など)等がある。
【0023】
このようにして、セルの配置が完了すると、概略配線が行なわれる。概略配線時に各ネットの配線経路を決定する。たとえば、概略配線の一例として以下のような処理がある。概略配線によって配線経路を決定する際、まず、多端子ネットを2端子ネットから構成されるツリーに分解し再構成するネットの分解を行なう。このツリーのモデルとしては、各端子間を結ぶ枝からマンハッタン距離の意味全長が最小となる最小ツリーをつくる方法、全ての端子を一筆書きで接続するチェインツリーをつくる方法、セルの端子以外での枝分かれも許して最小長となるスタイナーツリーをつくる方法などがある。図4に概略配線の終了した状態の概念図を示す。図4において、配線240A〜240Dは、概略配線によって配線経路の決定した2つのネットの配線である。
【0024】
図5にトランクスタイナーツリーの例を示す。トランクスタイナーツリーを作成するためには、ピン300A、300B、300Cを囲む長方形の長辺と同方向に各ピン300A〜300Cの座標の平均値を通る線310を引き、それに対し各ピン300A〜300Cから垂直に垂線320A〜320Cを下ろす。
【0025】
このようにして、概略配線が行なわれた後に、本実施の形態に係る配線構造決定装置は、タイミング検証を行なう。このタイミング検証を行なう際に寄生因子(配線抵抗、配線容量)の遅延を考慮する必要がある。本実施の形態においては、このときに用いられる寄生因子の値が、異なる半導体集積回路(デザインルールの最小線幅が共通する)で共通して用いることができるようにライブラリ化されている。寄生因子は、本来の集積回路におけるトランジスタ等の素子とは異なり、素子間やセル間を接続するために必要な配線における抵抗や容量により発生する遅延の要因である。
【0026】
図6に、配線の遅延値を計算するための概念図を示す。図6(A)に平面図、図6(B)にその断面図を示す。配線の遅延値を計算する場合、図6に示すように、計算する配線510に並行に同一層の他の配線530A、530Bが最小間隔で隣接すると仮定して計算する。図6において、容量C(L)540Aおよび容量C(L)540Bは、配線510と配線530Aとの単位長さあたりの隣接配線間容量、および配線510と配線530Bとの単位長さあたりの隣接配線間容量である。それぞれの容量C(L)の値は同じである。また、図6において、容量C(S)520は、配線510と基板500との間に発生する単位面積あたりの容量である。
【0027】
このような遅延因子に対して、配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルの各値に対してライブラリ化された抵抗値および容量値を用いて遅延値が計算される。
【0028】
以下、この本実施の形態に係る配線構造決定方法について詳細に説明する。
図7を参照して、本実施の形態に係る配線構造決定方法のライブラリ作成処理を実現する、コンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0029】
ステップ(以下、ステップをSと略す。)100にて、コンピュータシステム100のCPU120は、平面形状決定因子の入力が要求されたか否かを判断する。この判断は、予め作業者により入力された情報に基づいて行なわれる。平面形状決定因子の入力が要求されている場合(S100にてYES)、処理はS110へ移される。もしそうでないと(S100にてNO)、処理はS140に移される。
【0030】
S110にて、CPU120は、モニタ104に、入力画面を表示する。作業者は、このモニタ104に表示された内容に従って、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどを入力したり、選択したりする。
【0031】
S120にて、CPU120は、キーボード110やマウス112からの、平面形状決定因子の入力を検知したか否かを判断する。平面形状決定因子の入力を検知すると(S120にてYES)、処理はS130へ移される。もしそうでないと(S120にてNO)、処理はS110へ戻され、作業者により平面形状決定因子が入力されるのを待つ。
【0032】
S130にて、CPU120は、入力された平面形状決定因子を固定ディスク124に記憶する。S140にて、CPU120は、固定ディスク124に予め記憶されたプロセスパラメータを読出す。S150にて、CPU120は、寄生因子(抵抗、容量)の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動させて、寄生因子の値(抵抗値、容量値)を、シミュレーションにて算出する。このとき、寄生因子の値(抵抗値、容量値)を算出するために、たとえば発生確率を考慮したモンテカルロシミュレーションが用いられる。また、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)の変動範囲を決定するために、実際の変動幅を模擬できるCMP(Chemical Mechanical Polishing)シミュレーションが用いられる。なお、本発明は、これらのような特定のシミュレーションに限定されるものではない。
【0033】
S160にて、CPU120は、S150のシミュレーション結果を固定ディスク124に記憶する。S170にて、CPU120は、このシミューション結果から、各寄生因子(抵抗、容量)の種類毎に、最大値と最小値とを抽出してライブラリを作成する。このライブラリの内部の詳細については後述する。S180にて、CPU120は、S170にて作成したライブラリを固定ディスク124に記憶する。
【0034】
このようにして、因子(抵抗、容量)の種類毎に、かつその値毎に、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動した場合の、抵抗値や容量値の最大値と最小値とが記憶されたライブラリが作成される。また、このライブラリは、メタル層毎に記憶されるようにしてもよい。
【0035】
図8を参照して、本実施の形態に係る配線構造決定方法の配線決定処理を実現する、コンピュータシステム100のCPU120で実行されるプログラムの制御構造について説明する。
【0036】
S200にて、CPU120は、論理図から抽出したネットリストに基づいて、スタンダードセルを配置する。このとき、前述の説明の通り、(1)チップ面積を縮小する、(2)ネットの配線長をなるべく短くするように配置される(図3参照)。
【0037】
S210にて、CPU120は、配置されたセルに対して、各ネットの配線経路を決定する概略配線を行なう。このとき、前述の説明の通り、ツリーのモデルなどを用いて概略配線が行なわれる(図4参照)。
【0038】
S220にて、CPU120は、固定ディスク124に記憶されたライブラリを参照して、配線毎に、寄生抵抗および寄生容量の最大値および最小値を用いて、ネットの最大遅延時間および最小遅延時間を計算する。
【0039】
S230にて、CPU120は、最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最大遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると(S230にでYES)、処理はS240に移される。もしそうでないと(S230にてNO)、処理はS260に移される。
【0040】
S240にて、CPU120は、最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であるか否かを判断する。最小遅延時間がこの半導体集積回路に対して設定されたタイミング許容範囲内であると(S230にでYES)、処理はS250に移される。もしそうでないと(S230にてNO)、処理はS260に移される。
【0041】
S250にて、CPU120は、詳細に配線する。この処理においては、テクノロジファイル中のルールに従って第1層、第2層、第3層メタル(場合によっては第4層メタル以上を用いることもある。)を用いて配線が行なわれる。
【0042】
S260にて、CPU120は、概略配線を、S210にて一旦配線した概略配線とは異なる概略配線に変更する。
【0043】
S270にて、CPU120は、全てのネットについて詳細に配線したか否かを判断する。全てのネットについての詳細な配線が終了していると(S270にでYES)、処理はS280に移される。もしそうでないと(S270にてNO)、処理はS220に移される。
【0044】
S280にて、CPU120は、S250にて作成した詳細な配線についての情報を固定ディスク124に記憶する。
【0045】
このようにして、予め記憶されたライブラリを用いて、寄生因子である抵抗値や容量値の最大値と最小値とを用いて、ネットのタイミング検証を行なう。このとき、寄生因子の抵抗値や容量値は、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)のみならず、平面形状決定因子の値によっても、変動する。これらの変動要因を考慮してライブラリが作成されている。
【0046】
以上のような構造およびフローチャートに基づく本実施の形態に係る配線高層決定方法の動作を、説明する。
【0047】
[ライブラリ作成動作]
作業者が、平面形状決定因子の入力する場合には(S100にてYES)、キーボード110やマウス112を用いて、半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルになどが入力される。
【0048】
プロセスパラメータが固定ディスク124から読み出される(S140)。このときのプロセスパラメータの変動幅は、CMPシミュレーションにより算出される。寄生因子(抵抗、容量)の種類毎に、平面形状決定因子の値を変動しつつ、プロセスパラメータ(配線層膜厚、酸化膜膜厚など)を変動させて、寄生因子の値(抵抗値、容量値)を、モンテカルロシミュレーションが実行される。
【0049】
このとき、図9に寄生素子が抵抗である場合、図10に寄生素子が容量である場合のライブラリのデータを示す。図9および図10に示すように、配線層膜厚および酸化膜膜厚のいずれか毎であって、メタル層毎に、1枚のデータシートが作成される。1枚のデータシートには、プロセスパラメータ(配線層膜厚および酸化膜膜厚のいずれか)を、CMPシミュレーションで模擬計算した実際の構造を反映させて設定された膜厚値が設定される。
【0050】
この膜厚値を変動させた場合であって、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などを複数の値に設定して、シミュレーションで抵抗値や容量値が算出される。このような処理により、図9および図10に示すマトリクスに寄生因子の抵抗値や容量値が記憶される。
【0051】
図9および図10に示すマトリクスに記憶された寄生因子の抵抗値や容量値の中から最大値と最小値とが抽出して、図11および図12に示すライブラリが作成される(S170)。図11および図12に示すように、平面形状決定因子である配線長の長さの値、配線幅の幅の値、配線間隔の値、隣接配線確率の値、オーバラップ配線確率の値などの複数の値毎の、最大の抵抗値(容量値)および最小の抵抗値(容量値)が抽出される。抽出された最大の抵抗値(容量値)および最小の抵抗値(容量値)とは、このプロセスパラメータが変動する範囲において、取り得る最大値と最小値とを示している。この平面形状決定因子の複数の値毎の最大値と最小値とを用いて、タイミング検証して、そのタイミングが許容範囲内に収まると、半導体製造装置におけるプロセスパラメータが予め設定された範囲でどのように変動しても、動作タイミングは許容範囲内に収まることになる。
【0052】
[配線構造決定動作]
図3に示すようにセルが配置され(S200)、図4に示すように概略配線が行なわれる(S210)。図11および図12に示すようなライブラリを参照して、抵抗値および容量値を用いて配線毎の遅延時間が算出され、それらに基づいて、ネットの最大遅延時間および最小遅延時間が算出される(S220)。
【0053】
最大遅延時間がタイミング許容範囲内で(S230にてYES)、かつ最小遅延時間がタイミング許容範囲内で(S240にてYES)であると、詳細な配線が行なわれる(S250)。このような処理が全てのネットについて配線されるまで(S270にてYES)、繰返し実行される。
【0054】
なお、最大遅延時間または最小遅延時間がタイミング許容範囲外で(S230にてNO、S240にてNO)であると、概略的な配線を変更して、タイミング検証が実行される。
【0055】
以上のようにして、本実施の形態に係る配線構造決定方法によると、タイミング検証に不可欠な、プロセスパラメータにより変動する寄生因子の値(抵抗値、容量値)を、予めライブラリ化した。平面形状の値である配線長や配線幅等の値と配線層膜厚値とに基づいて、対応する抵抗値や容量値が読み出して、遅延計算を行ない、タイミング検証を実行する。このため、従来のように、タイミング検証を実行する毎に、配線抵抗データおよび配線容量データを計算する必要はない。その結果、半導体集積回路の製造プロセスにおけるプロセスパラメータの変動を考慮して、かつ効率的に、階層構造を有する半導体集積回路の配線構造を決定することができる。
【0056】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る配線構造決定方法を実現するコンピュータシステムの制御ブロック図である。
【図2】レイアウト設計された半導体集積回路の一部を示すレイアウト図である。
【図3】スタンダードセルの配置結果を示す概念図である。
【図4】概略配線の配線結果を示す概念図である。
【図5】トランクスタイナーツリーアルゴリズムを説明するための概念図である。
【図6】配線の遅延値を計算するための概念図である。
【図7】本発明の実施の形態に係る配線構造決定方法で実行されるライブラリ作成処理のプログラムを示すフローチャートである。
【図8】本発明の実施の形態に係る配線構造決定方法で実行される配線構造決定処理のプログラムを示すフローチャートである。
【図9】ライブラリの内容を示す図(その1)である。
【図10】ライブラリの内容を示す図(その2)である。
【図11】ライブラリの内容を示す図(その3)である。
【図12】ライブラリの内容を示す図(その4)である。
【符号の説明】
100 コンピュータシステム、102 コンピュータ、104 モニタ、106 FD駆動装置、108 CD−ROM駆動装置、110 キーボード、112 マウス、120 CPU、122 メモリ、124 固定ディスク、200A〜200P スタンダードセル、210A〜210E 第2層メタル、220A,220B 第1層メタル、230A〜230E ビア、300A〜300C ピン、500 基板、520 容量C(S)、510,530A,530B配線、540A,540B 容量C(L)。
Claims (9)
- 複数のセル間の配線を行なうための配線層を複数有する半導体集積回路の前記セルを、前記セルの接続を記述しているネットリストに基づいて自動配置する自動配置ステップと、
前記複数の配線層間のセルを接続する配線縦構造を含む概略配線を設定する概略配線設定ステップと、
前記概略配線から前記セル間の遅延値を算出するために用いられる遅延因子に関する情報であって、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を、異なる半導体集積回路に適用できる形式で、予め作成する作成ステップと、
前記作成された情報と前記概略配線とに基づいて、前記ネットの遅延値を算出する算出ステップと、
前記遅延値が予め定められた許容範囲内であると、前記設定された概略配線に基づいて、デザインルールを記述しているテクノロジファイル内のルールに従って前記セル間の詳細配線を決定する詳細配線決定ステップとを含む、配線構造決定方法。 - 前記遅延値が予め定められた許容範囲内でないと、前記概略配線を再設定する概略配線再設定ステップをさらに含む、請求項1に記載の配線構造決定方法。
- 前記作成ステップは、
前記半導体集積回路の平面決定因子である配線長、配線幅、配線間隔、隣接配線確率、オーバラップ配線確率およびセルについての情報を予め記憶するステップと、
前記プロセスパラメータを予め定められた範囲で変動させた場合の、各前記平面決定因子の値に対応する前記遅延因子である容量および抵抗についての情報を作成するステップとを含む、請求項1または2に記載の配線構造決定方法。 - 前記作成ステップは、前記プロセスパラメータを予め定められた範囲で変動させた場合の、各前記平面決定因子の値に対応する前記遅延因子である容量および抵抗についての最大値と最小値とを抽出して、各前記平面決定因子の値に対応させた最大値と最小値とを記憶した情報を作成するステップをさらに含む、請求項3に記載の配線構造決定方法。
- 前記算出ステップは、各前記平面決定因子の値に対応させた最大値と最小値とに基づいて、前記ネットの遅延値を算出するステップを含み、
前記詳細配線決定ステップは、前記最大値を用いて算出された遅延値および前記最小値を用いて算出された遅延値が予め定められた許容範囲内であると、前記セル間の詳細配線を決定するステップを含む、請求項4に記載の配線構造決定方法。 - 前記半導体集積回路の平面決定因子を入力するステップをさらに含む、請求項3〜5のいずれかに記載の配線構造決定方法。
- 前記作成ステップは、シミュレーションを用いて、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報を作成するステップを含む、請求項1〜6のいずれかに記載の配線構造決定方法。
- 前記作成ステップは、半導体集積回路の製造工程におけるプロセスパラメータにより変動する情報をライブラリとして作成するステップを含む、請求項1〜7のいずれかに記載の配線構造決定方法。
- 前記プロセスパラメータについての予め定められた範囲は、シミュレーションを用いて設定される、請求項3〜8のいずれかに記載の配線構造決定方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003123512A JP2004326654A (ja) | 2003-04-28 | 2003-04-28 | 配線構造決定方法 |
TW093111590A TW200428238A (en) | 2003-04-28 | 2004-04-26 | Method of determining arrangement of wire in semiconductor integrated circuit |
US10/831,164 US20040216067A1 (en) | 2003-04-28 | 2004-04-26 | Method of determining arrangement of wire in semiconductor intergrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003123512A JP2004326654A (ja) | 2003-04-28 | 2003-04-28 | 配線構造決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326654A true JP2004326654A (ja) | 2004-11-18 |
Family
ID=33296672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003123512A Withdrawn JP2004326654A (ja) | 2003-04-28 | 2003-04-28 | 配線構造決定方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040216067A1 (ja) |
JP (1) | JP2004326654A (ja) |
TW (1) | TW200428238A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176628A (ja) * | 2007-01-19 | 2008-07-31 | Fujitsu Ltd | タイミング検証方法、及びタイミング検証装置 |
JP2015176873A (ja) * | 2014-03-12 | 2015-10-05 | 株式会社東芝 | シミュレーション方法、シミュレーション装置、及び、コンピュータ読み取り可能な記録媒体 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3935929B2 (ja) * | 2003-09-05 | 2007-06-27 | 富士通株式会社 | 遅延時間演算プログラム、および遅延時間演算装置 |
JP4284235B2 (ja) * | 2004-06-07 | 2009-06-24 | 富士通株式会社 | 配線選択方法及び装置、配線選択プログラム及び配線選択プログラムを記録したコンピュータ読取可能な記録媒体、並びに、遅延改善方法 |
JP4509703B2 (ja) * | 2004-09-01 | 2010-07-21 | 富士通株式会社 | 配線容量算出装置、配線容量算出方法および配線容量算出プログラム |
US7480605B2 (en) * | 2005-01-18 | 2009-01-20 | International Business Machines Corporation | Techniques for determining parameter variability for interconnects in the presence of manufacturing uncertainty |
US7363607B2 (en) * | 2005-11-08 | 2008-04-22 | Pulsic Limited | Method of automatically routing nets according to parasitic constraint rules |
JP2007172258A (ja) * | 2005-12-21 | 2007-07-05 | Matsushita Electric Ind Co Ltd | タイミング検証方法及びレイアウト最適化方法 |
US7689960B2 (en) * | 2006-01-25 | 2010-03-30 | Easic Corporation | Programmable via modeling |
JP5260837B2 (ja) * | 2006-03-24 | 2013-08-14 | 富士通セミコンダクター株式会社 | 半導体集積回路の設計方法及び半導体集積回路の設計装置 |
US8338192B2 (en) * | 2008-05-13 | 2012-12-25 | Stmicroelectronics, Inc. | High precision semiconductor chip and a method to construct the semiconductor chip |
US9659133B2 (en) * | 2013-10-17 | 2017-05-23 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method, system and computer program product for generating layout for semiconductor device |
US10176284B2 (en) * | 2016-09-30 | 2019-01-08 | Taiwan Semiconductor Manufacturing Company Ltd. | Semiconductor circuit design and manufacture method |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5687088A (en) * | 1993-05-19 | 1997-11-11 | Matsushita Electric Industrial Co., Ltd. | Net list for use in logic simulation and back annotation method of feedbacking delay information obtained through layout design to logic simulation |
US5828580A (en) * | 1994-11-08 | 1998-10-27 | Epic Design Technology, Inc. | Connectivity-based approach for extracting parasitic layout in an integrated circuit |
US5754826A (en) * | 1995-08-04 | 1998-05-19 | Synopsys, Inc. | CAD and simulation system for targeting IC designs to multiple fabrication processes |
US5761080A (en) * | 1995-11-22 | 1998-06-02 | International Business Machines Corporation | Method and apparatus for modeling capacitance in an integrated circuit |
US5726903A (en) * | 1996-02-07 | 1998-03-10 | Unisys Corporation | Method and apparatus for resolving conflicts between cell substitution recommendations provided by a drive strength adjust tool |
US5896300A (en) * | 1996-08-30 | 1999-04-20 | Avant| Corporation | Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets |
FR2765716B1 (fr) * | 1997-07-02 | 1999-07-30 | Commissariat Energie Atomique | Support d'enregistrement optique a deux niveaux superposes, dispositif d'enregistrement et procede de lecture correspondants |
US6430729B1 (en) * | 2000-01-31 | 2002-08-06 | International Business Machines Corporation | Process and system for maintaining 3 sigma process tolerance for parasitic extraction with on-the-fly biasing |
US6519745B1 (en) * | 2000-05-26 | 2003-02-11 | Magma Design Automation, Inc. | System and method for estimating capacitance of wires based on congestion information |
FR2818422B1 (fr) * | 2000-12-19 | 2003-01-17 | Commissariat Energie Atomique | Support d'enregistrement optique a plusieurs niveaux de lecture/ecriture par faisceau laser |
JP2002313687A (ja) * | 2001-04-16 | 2002-10-25 | Mitsubishi Electric Corp | 半導体プロセスパラメータ決定方法、半導体プロセスパラメータ決定システム、及び半導体プロセスパラメータ決定プログラム |
CN100378734C (zh) * | 2001-08-29 | 2008-04-02 | 英芬能技术公司 | 集成电路芯片设计 |
US6751785B1 (en) * | 2002-03-12 | 2004-06-15 | Ubitech, Inc. | System and method for limiting increase in capacitance due to dummy metal fills utilized for improving planar profile uniformity |
US20030229875A1 (en) * | 2002-06-07 | 2003-12-11 | Smith Taber H. | Use of models in integrated circuit fabrication |
-
2003
- 2003-04-28 JP JP2003123512A patent/JP2004326654A/ja not_active Withdrawn
-
2004
- 2004-04-26 US US10/831,164 patent/US20040216067A1/en not_active Abandoned
- 2004-04-26 TW TW093111590A patent/TW200428238A/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176628A (ja) * | 2007-01-19 | 2008-07-31 | Fujitsu Ltd | タイミング検証方法、及びタイミング検証装置 |
US7984406B2 (en) | 2007-01-19 | 2011-07-19 | Fujitsu Semiconductor Limited | Timing verification method and apparatus |
JP2015176873A (ja) * | 2014-03-12 | 2015-10-05 | 株式会社東芝 | シミュレーション方法、シミュレーション装置、及び、コンピュータ読み取り可能な記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
TW200428238A (en) | 2004-12-16 |
US20040216067A1 (en) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8788999B1 (en) | Automatic routing system with variable width interconnect | |
US7530040B1 (en) | Automatically routing nets according to current density rules | |
Das et al. | Design tools for 3-D integrated circuits | |
US6209123B1 (en) | Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors | |
US6006024A (en) | Method of routing an integrated circuit | |
US7802208B1 (en) | Design automation using spine routing | |
US8856710B2 (en) | Tool and method for modeling interposer RC couplings | |
US9767240B2 (en) | Temperature-aware integrated circuit design methods and systems | |
US5984510A (en) | Automatic synthesis of standard cell layouts | |
US9495506B2 (en) | Methods for layout verification for polysilicon cell edge structures in FinFET standard cells using filters | |
US9536035B2 (en) | Wide pin for improved circuit routing | |
US9740815B2 (en) | Electromigration-aware integrated circuit design methods and systems | |
US9747406B2 (en) | Spine routing with multiple main spines | |
US10719653B2 (en) | Spine routing and pin grouping with multiple main spines | |
JP2004326654A (ja) | 配線構造決定方法 | |
US11182533B2 (en) | Standard cells and variations thereof within a standard cell library | |
KR20180070320A (ko) | 쿼드러플 패터닝 리소그래피를 위한 집적 회로, 상기 집적 회로의 설계를 위한 컴퓨팅 시스템 및 컴퓨터 구현 방법 | |
KR20170133750A (ko) | 집적 회로의 설계를 위한 컴퓨터 구현 방법 | |
TWI833036B (zh) | 產生電路佈局之方法及系統 | |
US7373628B1 (en) | Method of automatically routing nets using a Steiner tree | |
JP4410088B2 (ja) | 半導体装置の設計支援方法、プログラム及び装置 | |
KR20170094744A (ko) | 집적 회로 및 상기 집적 회로의 제조를 위한 컴퓨터 구현 방법 | |
JP2004259967A (ja) | 半導体集積回路及び半導体集積回路の設計方法 | |
CN116547810A (zh) | 用于混合高度单元库的定制平铺的放置结构的适应性行图案 | |
JP3705737B2 (ja) | 半導体集積回路のレイアウト方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |