(57)【要約】【課題】トランジスタ特性のパターン依存性を十分考慮しつつ、半導体集積回路の設計・検証ＴＡＴの増大を防止すること。【解決手段】半導体集積回路の設計方法は、（Ａ）セル周辺のレイアウトパターンを規定するパラメータを変えながら、当該セルの回路シミュレーションを実行するステップと、（Ｂ）回路シミュレーションの結果に基づいて、当該セルの遅延値を上記パラメータの関数として表す遅延関数を作成するステップと、（Ｃ）セルベース設計手法に基づいて、半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと、（Ｄ）作成されたレイアウトデータを参照して、半導体集積回路に含まれる対象セルに関連する上記パラメータを抽出するステップと、（Ｅ）抽出されたパラメータと上記遅延関数を用いることにより、対象セルの遅延値を算出するステップと、を含む。【選択図】図６
2009025891.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路の設計方法であって、
（Ａ）セル周辺のレイアウトパターンを規定するパラメータを変えながら、前記セルの回路シミュレーションを実行するステップと、
（Ｂ）前記回路シミュレーションの結果に基づいて、前記セルの遅延値を前記パラメータの関数として表す遅延関数を作成するステップと、
（Ｃ）セルベース設計手法に基づいて、前記半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと、
（Ｄ）前記作成されたレイアウトデータを参照して、前記半導体集積回路に含まれる対象セルに関連する前記パラメータを抽出するステップと、
（Ｅ）前記抽出されたパラメータと前記遅延関数を用いることにより、前記対象セルの遅延値を算出するステップと
を含む
半導体集積回路の設計方法。
【請求項２】
請求項１に記載の半導体集積回路の設計方法であって、
前記セルは、前記セルの境界の近傍に配置された第１トランジスタを有し、
前記境界を挟んで前記第１トランジスタと隣り合う第２トランジスタを想定したとき、前記パラメータは、前記第１トランジスタのレイアウトパターンに対する前記第２トランジスタのレイアウトパターンの相対位置を規定する
半導体集積回路の設計方法。
【請求項３】
請求項２に記載の半導体集積回路の設計方法であって、
前記パラメータは、前記第１トランジスタのゲートと前記第２トランジスタのゲートとの間隔を含む
半導体集積回路の設計方法。
【請求項４】
請求項２又は３に記載の半導体集積回路の設計方法であって、
前記パラメータは、前記第１トランジスタと前記第２トランジスタとの間の素子分離構造の幅を含む
半導体集積回路の設計方法。
【請求項５】
請求項１乃至４のいずれかに記載の半導体集積回路の設計方法であって、
前記（Ａ）ステップは、
（Ａ１）前記パラメータを基準値に設定して前記回路シミュレーションを実行し、前記基準値に対応する前記遅延値である基準遅延値を算出するステップと、
（Ａ２）前記パラメータを前記基準値から変動させて前記回路シミュレーションを実行し、前記遅延値を算出するステップと
を含む
半導体集積回路の設計方法。
【請求項６】
請求項５に記載の半導体集積回路の設計方法であって、
前記（Ｂ）ステップは、
（Ｂ１）前記遅延関数を作成するステップと、
（Ｂ２）前記基準遅延値と前記遅延関数を提供する遅延ライブラリを作成するステップと
を含む
半導体集積回路の設計方法。
【請求項７】
請求項６に記載の半導体集積回路の設計方法であって、
前記（Ｅ）ステップは、
（Ｅ１）前記遅延ライブラリを参照して、前記基準遅延値を取得するステップと、
（Ｅ２）前記抽出されたパラメータと前記遅延関数を用いることにより、前記遅延値の前記基準遅延値からの変動量である変動遅延値を算出するステップと、
（Ｅ３）前記基準遅延値に前記変動遅延値を積算することによって、前記対象セルの遅延値を算出するステップと
を含む
半導体集積回路の設計方法。
【請求項８】
請求項５に記載の半導体集積回路の設計方法であって、
前記（Ｂ）ステップは、
（Ｂ１）前記遅延値の前記基準遅延値からの変動量を、前記パラメータの前記基準値からの差分の関数として表す遅延変動関数を作成するステップと、
ここで、前記遅延関数は、前記基準遅延値と前記遅延変動関数の組み合わせであり、
（Ｂ２）前記基準遅延値と前記遅延変動関数を提供する遅延ライブラリを作成するステップと
を含む
半導体集積回路の設計方法。
【請求項９】
請求項８に記載の半導体集積回路の設計方法であって、
前記（Ｅ）ステップは、
（Ｅ１）前記遅延ライブラリを参照して、前記基準遅延値を取得するステップと、
（Ｅ２）前記抽出されたパラメータの前記基準値からの差分と前記遅延変動関数を用いることにより、前記遅延値の変動量である変動遅延値を算出するステップと、
（Ｅ３）前記基準遅延値に前記変動遅延値を積算することによって、前記対象セルの遅延値を算出するステップと
を含む
半導体集積回路の設計方法。
【請求項１０】
請求項１乃至９のいずれかに記載の半導体集積回路の設計方法をコンピュータに実行させる設計プログラム。
【請求項１１】
半導体集積回路のレイアウトデータからセルの遅延値を計算する遅延計算プログラムであって、
（ａ）遅延ライブラリを記憶装置から読み出すステップと、
ここで、前記遅延ライブラリは、セルの遅延値を前記セル周辺のレイアウトパターンを規定するパラメータの関数として表す遅延関数を提供し、
（ｂ）前記レイアウトデータを参照して、前記半導体集積回路に含まれる対象セルに関連する前記パラメータを抽出するステップと、
（ｃ）前記抽出されたパラメータと前記遅延関数を用いることにより、前記対象セルの遅延値を算出するステップと
をコンピュータに実行させる
遅延計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計技術に関する。特に、本発明は、素子周辺のレイアウトを考慮した設計技術に関する。
【背景技術】
【０００２】
トランジスタの特性は、ゲート長Ｌ、ゲート幅Ｗ、移動度μ、閾値電圧Ｖｔ等のパラメータ（以下、「デバイスパラメータ」と参照される）に依存する。トランジスタが実際に製造されたとき、それらデバイスパラメータが設計値からずれる可能性がある。デバイスパラメータの設計値からのずれは、トランジスタ特性の設計値からの変動を意味する。従って、回路の設計、検証、製造段階において、デバイスパラメータの設計値からの変動要因を十分に考慮しておくことが重要である。
【０００３】
例えばゲート寸法（Ｌ，Ｗ）の典型的な変動要因は、フォトリソグラフィ工程における光近接効果（OPE: Optical Proximity Effect）である。光近接効果により、レジストパターンが狙い通り形成されず、配線幅やゲート寸法が設計値からずれる可能性がある。特に、プロセスの微細化が進むと、光近接効果に起因する設計値からの変動は顕著となる。また、パターン密度が高い場合も、光近接効果は顕著となる。従って、この光近接効果を予測し、あらかじめマスクデータを補正しておく光近接効果補正（OPC: Optical Proximity Correction）が一般的に実施されている（例えば、特許文献１参照）。
【０００４】
特許文献２には、所望のチップスピードを得るために、セルの密集度に応じてバッファセルを変更する技術が記載されている。具体的には、異なる駆動能力を有する複数種のバッファセルが用意され、レイアウト設計段階において、セル密集度に応じてバッファセルの駆動能力が変更される。
【０００５】
また、あるトランジスタの周辺のレイアウトパターン（あるいは構造）も、そのトランジスタのデバイスパラメータや特性に影響を及ぼし得る。そのような特性に影響を及ぼす周辺の要因としては、例えば、（１）ゲートピッチ、（２）ウェル近接効果、（３）ＳＴＩストレスなどが考えられる。
【０００６】
（１）ゲートピッチは、あるトランジスタのゲートと隣接するトランジスタのゲートとの間隔である。ゲートピッチは、例えばイオン注入工程におけるイオン注入量に影響を及ぼす。ゲートピッチが小さくなるほどオン電流が大きくなり、ゲートピッチが大きくなるほどオン電流が小さくなることが知られている。
【０００７】
（２）ウェル近接効果（Well Proximity Effect）は、例えば特許文献３に記載されている。具体的には、ウェルイオン注入工程において、注入イオンの一部がレジストパターンのエッジに衝突し、散乱する。その散乱されたイオンが、トランジスタの活性領域に侵入し、閾値電圧Ｖｔを設計値から変動させる。これがウェル近接効果である。ウェルのエッジと活性領域のエッジとの間隔が小さくなるにつれ、ウェル近接効果の影響は大きくなる。
【０００８】
（３）素子分離構造であるＳＴＩ（Shallow Trench Isolation）からトランジスタにかかる応力（ＳＴＩストレス）は、チャネルの移動度μに影響を及ぼす（例えば特許文献４参照）。ＳＴＩの幅が狭くなると、ＳＴＩストレスが増大し、移動度μが変化し、オン電流が変化する。
【０００９】
このように、あるトランジスタの周辺パターン（周辺構造）は、そのトランジスタの特性の設計値からの変動を招く。つまり、トランジスタ特性は、「周辺パターン依存性」を有している。たとえ同じ設計を有するトランジスタであっても、周辺パターンが異なっていると、製造後の特性も変わってくる。従って、半導体集積回路の設計及び検証段階で、トランジスタの周辺パターン依存性を考慮しておくことが重要である。
【００１０】
特許文献４は、ＳＴＩの幅を考慮した回路シミュレーション方法を開示している。その回路シミュレーションでは、トランジスタのモデルパラメータの１つである移動度μが、ＳＴＩ幅に応じて補正される。より詳細には、ＳＴＩ幅と移動度μとの関係を示す近似式が、実測値等に基づいてあらかじめ作成される。そして、回路シミュレーションに先立って、回路レイアウトに基づいてＳＴＩ幅（設計値）が抽出される。更に、抽出されたＳＴＩ幅と上記近似式を用いることにより、モデルパラメータである移動度μが補正される。その後、補正後のモデルパラメータを用いて、回路シミュレーションが実行される。これにより、ＳＴＩ幅に依存するトランジスタ特性が考慮され、回路シミュレーションの精度が向上する。
【００１１】
特許文献４に記載された技術に関連して、ＳＰＩＣＥシミュレーションで用いられるＳＰＩＣＥネットリストを、周辺パターン依存性を考慮して変調（補正）するツールが市販されている。そのツールは、以下「パターン依存性考慮ツール」と参照される。
【００１２】
図１は、パターン依存性考慮ツールの機能を説明するための概念図である。まず、ＴＥＧ（Test Element Group）評価を通じて、図形情報（例：ＳＴＩ幅Ｘ）とＳＰＩＣＥモデルパラメータの変調量（例：Δμ）との対応関係を表すモデル（例：Δμ＝ｆ（Ｘ））が作成される。その後、あるセルのＳＰＩＣＥシミュレーションが行われる場合を考える。
【００１３】
そのＳＰＩＣＥシミュレーションに先立って、パターン依存性考慮ツールは、対象セルのＳＰＩＣＥネットリスト（変調前セルネットリスト）とそのレイアウトデータ（セルレイアウトデータ）を読み込む。続いて、パターン依存性考慮ツールは、セルレイアウトデータから図形情報（Ｘ）を抽出し、更に、上記モデル（Δμ＝ｆ（Ｘ））を参照して、変調前セルネットリストに含まれるＳＰＩＣＥモデルパラメータを書き換える（変調する）。その結果、書き換え後のＳＰＩＣＥネットリストである変調後セルネットリストが作成される。ＳＰＩＣＥシミュレーションでは、パターン依存性考慮ツールから出力される変調後セルネットリストが用いられる。トランジスタの周辺パターン依存性がＳＰＩＣＥネットリストに反映されるため、シミュレーション精度が飛躍的に向上する。尚、変調対象のＳＰＩＣＥモデルパラメータは、移動度μに限られず、ゲート長Ｌ、ゲート幅Ｗ、閾値電圧Ｖｔ等も含み得る。
【００１４】
次に、図２を参照して、パターン依存性考慮ツールを利用した半導体集積回路の設計・検証方法を説明する。パターン依存性考慮ツールは、セルのキャラクタライズ段階で使用される。上述の通り、パターン依存性考慮ツールは、セルレイアウトデータに基づいて、変調前セルネットリストを変調後セルネットリストに書き換える。その後、変調後セルネットリストを用いることによりＳＰＩＣＥシミュレーションが実行され、セルの遅延値（期待値）が算出される。この時、製造ばらつきを考慮して、トランジスタのゲート寸法等がコーナー値に設定される。その結果、製造ばらつきに対応するセル遅延値が得られる。算出されたセル遅延値からコーナー遅延値が抽出され、コーナー遅延値を提供するセル遅延ライブラリが作成される。このようにしてセルのキャラクタライズが実施される。
【００１５】
設計・検証段階において、配置配線ツールは、設計回路のネットリストに基づいて、セル配置（cell placement）及び配線（routing）を行う。その結果、設計回路のレイアウトを示すレイアウトデータが作成される。次に、遅延計算ツールは、ネットリスト、作成されたレイアウトデータ、及び上述のセル遅延ライブラリを読み込み、設計回路中の遅延値の計算を行う。具体的には、遅延計算ツールは、レイアウトデータから抽出されるＲＣ等に基づいて、セル間配線の遅延値を算出する。セル遅延値（コーナー遅延値）は、セル遅延ライブラリから得られる。このようにして、セル遅延値やパス遅延値などを示す遅延ファイルが作成される。
【００１６】
次に、設計回路の遅延検証（タイミング検証）が実施される。具体的には、ＳＴＡツールが、ネットリストと作成された遅延ファイルに基づいて、静的タイミング解析（STA: Static Timing Analysis）を実施する。検証結果がフェイルの場合、上述の配置配線工程が再度行われ、レイアウトデータが修正される。検証結果がパスとなるまで、同じ処理が繰り返される。
【００１７】
図２で示された手法の問題点として、次のことが考えられる。図３は、その問題点を説明するための図であり、キャラクタライズ段階で用いられるセルレイアウトの一例を示している。例として、ＮＡＮＤゲートやインバータ等の基本セルを考える。図３で示されるセルは、電源線ＶＤＤとグランド線ＧＮＤで挟まれる領域に、ＰＭＯＳトランジスタＰ１〜Ｐ３及びＮＭＯＳトランジスタＮ１〜Ｎ４を有している。ＰＭＯＳトランジスタＰ１は、ＳＴＩに接触する拡散領域ＰＤ１、ＰＤ２を有している。また、ＰＭＯＳトランジスタＰ２は、ＳＴＩに接触する拡散領域ＰＤ３、ＰＤ４を有している。隣接して配置されているＰＭＯＳトランジスタＰ１とＰ２の拡散領域間の距離、すなわち、拡散領域ＰＤ２とＰＤ３との間の距離Ｘ２は、ＳＴＩ幅に相当している。
【００１８】
図２で示された手法によれば、パターン依存性考慮ツールは、セルレイアウトデータから図形情報（例：ＳＴＩ幅Ｘ）を抽出して、ＳＰＩＣＥモデルパラメータの変調量（例：Δμ）を算出する。この時、図３中のＰＭＯＳトランジスタＰ２に関しては、周辺のレイアウトパターン（例：ＳＴＩ幅Ｘ２）が判明しているため、ＳＰＩＣＥモデルパラメータを変調することが可能である。一方、セルの最外部に配置されているＰＭＯＳトランジスタＰ１に関しては、周囲のセル（左右のセル）が配置されていないキャラクタライズ段階では、周辺のレイアウトパターンが判明していない。例えば、図３においてＰＭＯＳトランジスタＰ１の左方のＳＴＩ幅Ｘ１は、キャラクタライズ段階では分からず、後のセル配置工程で判明する。そのため、ＳＰＩＣＥシミュレーションに先立って、ＰＭＯＳトランジスタＰ１のＳＰＩＣＥモデルパラメータを変調することはできない。ＰＭＯＳトランジスタＰ３、ＮＭＯＳトランジスタＮ１及びＮ４に関しても同様である。
【００１９】
このように、セルの内方に配置されているトランジスタに関しては、上記手法により、ＳＰＩＣＥシミュレーションで周辺パターン依存性を考慮することが可能である。しかしながら、セル境界の近傍に配置されている最外部のトランジスタに関しては、周辺レイアウトパターンが不明であるため、ＳＰＩＣＥシミュレーションで周辺パターン依存性を考慮することができない。少なくとも最外部のトランジスタの特性に関しては、周辺パターン依存性が十分考慮されているとは言えない。トランジスタ特性はセル遅延値に影響するため、作成されるセル遅延ライブラリに関しても、周辺パターン依存性が十分考慮されているとは言えない。よって、遅延検証（ＳＴＡ）の精度も十分であるとは言えない。このことは、製造される半導体集積回路の歩留まりや信頼性を低下させる一因となる。
【００２０】
このような問題点を考慮して、図２で示された手法に代わる新たな手法が２つ提案されている。
【００２１】
１つ目の手法によれば、ある対象セルのキャラクタライズの段階で、当該対象セルに隣接するセルの種類が仮定される。パターン依存性考慮ツールは、対象セルのセルレイアウトデータに加えて、仮定された隣接セルのレイアウトデータに基づいて、セルネットリストの変調を行う。その結果得られた変調後セルネットリストがＳＰＩＣＥシミュレーションで用いられ、セル遅延値が算出される。更に、隣接セルの種類が様々に（用意された種類分だけ）設定され、同じ処理が繰り返される。その結果、隣接セルの組み合わせに応じた複数種類のセル遅延値が得られる。そして、得られた複数種類のセル遅延値に基づいて、セル遅延ライブラリが作成される。これにより、セル中の最外部のトランジスタに関しても周辺パターン依存性が考慮されたセル遅延ライブラリが作成される。但し、セルのキャラクタライズに要する時間（ＴＡＴ）は、図２で示された手法よりも増大する。
【００２２】
更に、１つ目の手法は、セル遅延値のコーナー条件が、図２で示された手法と比較して厳しくなるという欠点を有している。図４は、セル遅延ライブラリが提供するコーナー条件（コーナー遅延値）を概念的に示している。図２で示された手法では、通常の製造ばらつきだけに応じた遅延値分布が得られる。一方、１つ目の手法では、隣接セルの種類が様々に仮定されるため、センター遅延値の異なる複数の遅延値分布が得られる。従って、各セルの遅延値のばらつき範囲は、通常よりも拡がる。すなわち、各セルの遅延値のばらつき範囲に、隣接セルの組み合わせの違いに応じた“マージン”が更に付加される。このことは、コーナー条件（コーナー遅延値）が厳しくなることを意味している。
【００２３】
設計・検証段階では、設計回路がコーナー条件でも動作するように、レイアウト設計を行う必要がある。言い換えれば、設計回路がコーナー条件で動作するまで、レイアウト設計と遅延検証を繰り返す必要がある。従って、コーナー条件が厳しくなると、必然的に繰り返し回数が増大し、設計・検証に要する時間（ＴＡＴ）が増大する。また、あらゆる隣接セル種に対応できるように、セル遅延値にマージンが付加されているため、通常よりもトランジスタの駆動能力を増やしたり、冗長なセルを追加挿入する必要がでてくる。このことは、チップ面積や消費電力の増大を招く。このように、１つ目の手法によれば、周辺パターン依存性が十分考慮される一方で、設計・検証ＴＡＴ、チップ面積、消費電力などが増大してしまう。
【００２４】
２つ目の手法によれば、セルのキャラクタライズは、図２で示された手法と同様に実施される。その結果、部分的に周辺パターン依存性が考慮されたセル遅延ライブラリが作成される。その後、設計・検証段階において、パターン依存性考慮ツールが再度利用される。具体的には、パターン依存性考慮ツールは、配置配線工程で作成されたチップレベルのレイアウトデータを参照して、各セルのＳＰＩＣＥネットリストを変調する。続いて、変調後ネットリストを用いることにより、各セルのＳＰＩＣＥシミュレーションが再度実行され、セル遅延ライブラリで与えられるセル遅延値からの“差分（変動量）”が算出される。算出された差分は、遅延ファイルに反映される。このようにして、セル中の最外部のトランジスタに関しても周辺パターン依存性が考慮される。
【００２５】
同じ処理は、設計回路に含まれる全てのセル（例えば、数百万個）に対して繰り返される。つまり、設計・検証段階において、ＳＰＩＣＥネットリストの変調とＳＰＩＣＥシミュレーションが、数百万回実行される。従って、２つ目の手法でも、周辺パターン依存性が十分考慮される一方で、設計・検証ＴＡＴが増大してしまう。
【００２６】
【特許文献１】ＵＳ公開２００７／００３３５５８
【特許文献２】特開２００３−２３０８０号公報
【特許文献３】特開２００７−３６２４９号公報
【特許文献４】特開２００６−１７８９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
従来技術によれば、周辺パターン依存性が考慮される一方で、設計・検証ＴＡＴが増大する。トランジスタ特性の周辺パターン依存性を十分考慮しつつ、半導体集積回路の設計・検証ＴＡＴの増大を防止することができる技術が望まれる。
【課題を解決するための手段】
【００２８】
本発明の第１の観点において、半導体集積回路の設計方法が提供される。その設計方法は、（Ａ）セル周辺のレイアウトパターンを規定するパラメータを変えながら、当該セルの回路シミュレーションを実行するステップと、（Ｂ）回路シミュレーションの結果に基づいて、当該セルの遅延値を上記パラメータの関数として表す遅延関数を作成するステップと、（Ｃ）セルベース設計手法に基づいて、半導体集積回路のレイアウトを示すレイアウトデータを作成するステップと、（Ｄ）作成されたレイアウトデータを参照して、半導体集積回路に含まれる対象セルに関連する上記パラメータを抽出するステップと、（Ｅ）抽出されたパラメータと上記遅延関数を用いることにより、対象セルの遅延値を算出するステップと、を含む。
【００２９】
このように、本発明によれば、セルのキャラクタライズ段階で、トランジスタ特性の周辺パターン依存性に関連する「周辺パラメータ」が考慮される。具体的には、その周辺パラメータを様々に設定することにより、セルの回路シミュレーションが実行される。更に、その回路シミュレーションの結果に基づいて、セル遅延値を周辺パラメータの関数として表す「遅延関数」が作成される。設計・検証段階では、対象セルに関連する周辺パラメータがレイアウトデータから抽出され、抽出された周辺パラメータと上記遅延関数を用いることにより、対象セルの遅延値が算出される。
【００３０】
従って、トランジスタ特性の周辺パターン依存性が十分考慮される。算出される対象セルの遅延値に関して、周辺パターン依存性が十分考慮されている。よって、遅延検証の精度が向上する。その結果、製造される半導体集積回路の歩留まり及び信頼性も向上する。
【００３１】
また、キャラクタライズ段階で上述の遅延関数が作成されているため、設計・検証段階でＳＰＩＣＥネットリストの変調とＳＰＩＣＥシミュレーションを繰り返し実施する必要はない。チップレベルのレイアウトデータと遅延関数に基づいて、周辺パターン依存性が十分考慮されたセル遅延値を即座に算出することが可能である。従って、設計・検証ＴＡＴの増大が防止される。
【００３２】
更に、レイアウトデータと遅延関数に基づいて算出される各セルの遅延値には、図４で示されたようなマージンは追加されない。算出されるセル遅延値のセンター値は通常のものからずれる可能性はあるが、ばらつき範囲は通常と同じである。結果として、レイアウト設計と遅延検証の繰り返し回数の増大が防止され、設計・検証ＴＡＴの増大が防止される。更に、トランジスタの駆動能力を増やしたり、冗長なセルを追加挿入する必要がないので、チップ面積や消費電力の増大も防止される。
【００３３】
本発明の第２の観点において、上述の半導体集積回路の設計方法をコンピュータに実行させる設計プログラムが提供される。
【００３４】
本発明の第３の観点において、半導体集積回路のレイアウトデータからセルの遅延値を計算する遅延計算プログラムが提供される。その遅延計算プログラムは、（ａ）遅延ライブラリを記憶装置から読み出すステップと、ここで、遅延ライブラリは、セルの遅延値を当該セル周辺のレイアウトパターンを規定するパラメータの関数として表す遅延関数を提供し、（ｂ）レイアウトデータを参照して、半導体集積回路に含まれる対象セルに関連するパラメータを抽出するステップと、（ｃ）抽出されたパラメータと遅延関数を用いることにより、対象セルの遅延値を算出するステップと、をコンピュータに実行させる。
【発明の効果】
【００３５】
本発明によれば、トランジスタ特性の周辺パターン依存性を十分考慮しつつ、半導体集積回路の設計・検証ＴＡＴの増大を防止することが可能となる。
【発明を実施するための最良の形態】
【００３６】
１．概要
本発明の実施の形態では、トランジスタ特性の周辺パターン依存性が考慮される。特に、セルのキャラクタライズ時に、当該セル周辺のレイアウトパターン（以下、「周辺パターン」と参照される）が考慮される。その周辺パターンは、当該セル内の最外部に配置されているトランジスタの特性に影響を及ぼす。
【００３７】
図５は、あるセルの周辺パターンを説明するための平面図である。例として、ＮＡＮＤゲートやインバータ等の基本セルを考える。図５において、セルは、ＰＭＯＳトランジスタＰ１〜Ｐ３及びＮＭＯＳトランジスタＮ１〜Ｎ４を有している。それらトランジスタＰ１〜Ｐ３、Ｎ１〜Ｎ４は、電源線ＶＤＤとグランド線ＧＮＤで挟まれる領域に配置されている。また、当該セルの隣接セルとの境界（セル境界）は、符号ＣＢＲで表されている。ＰＭＯＳトランジスタＰ１、Ｐ３、ＮＭＯＳトランジスタＮ１及びＮ４は、当該セル内の最外部に配置されているトランジスタであり、セル境界ＣＢＲ近傍に配置されている。一方、ＰＭＯＳトランジスタＰ２、ＮＭＯＳトランジスタＮ２及びＮ３は、最外部のトランジスタよりもセルの内方に配置されている。言い換えれば、ＰＭＯＳトランジスタＰ２、ＮＭＯＳトランジスタＮ２及びＮ３の各々は、セル内部で、他の２つのトランジスタに挟まれている。
【００３８】
本実施の形態では、トランジスタ特性の周辺パターン依存性を考慮するにあたり、例えば、「ゲートピッチ」と「ＳＴＩ幅（拡散領域間距離）」が考慮される。ゲートピッチは、あるトランジスタのゲートと隣接するトランジスタのゲートとの間隔である。ＳＴＩ幅は、素子分離構造であるＳＴＩの幅であり、隣接するトランジスタの拡散領域間の距離（拡散領域間距離）と同等である。ゲートピッチとＳＴＩ幅の両方ではなく、いずれか一方だけが考慮されてもよい。
【００３９】
セルの内方に配置されているトランジスタＰ２、Ｎ２及びＮ３に関しては、セルのレイアウトデータからゲートピッチとＳＴＩ幅を抽出することが可能である。一方、セルの最外部に配置されているトランジスタＰ１、Ｐ３、Ｎ１及びＮ４に関しては、セルのレイアウトデータだけから、ゲートピッチとＳＴＩ幅を全て抽出することはできない。それは、セルのレイアウトデータには、当該セルの周辺パターンが含まれていないからである。従って、本実施の形態では、セルのキャラクタライズ時に、当該セル周辺に配置される周辺トランジスタのレイアウトパターンが想定（仮定）される。図５で示される例では、当該セル周辺に配置されるＰＭＯＳトランジスタＰＬ、ＰＲ、ＮＭＯＳトランジスタＮＬ及びＮＲが想定される。
【００４０】
例えば、周辺トランジスタの１つであるＰＭＯＳトランジスタＰＬは、セル境界ＣＢＲを挟んでＰＭＯＳトランジスタＰ１と隣り合うように配置される。つまり、セル内のＰＭＯＳトランジスタＰ１（第１トランジスタ）と、セル外のＰＭＯＳトランジスタＰＬ（第２トランジスタ）とは、セル境界ＣＢＲを挟んで対向している。ＰＭＯＳトランジスタＰ１は、ＳＴＩに接触する拡散領域ＰＤ１及びＰＤ２とゲートＧ１を有している。一方、ＰＭＯＳトランジスタＰＬは、ＳＴＩに接触する拡散領域ＰＬＤ１及びＰＬＤ２とゲートＧＬ１を有している。
【００４１】
この場合、ゲートピッチＰＧＰ＿Ｌは、ＰＭＯＳトランジスタＰ１のゲートＧ１とＰＭＯＳトランジスタＰＬのゲートＧＬ１との間隔である。また、拡散領域間距離ＰＤＳ＿Ｌは、ＰＭＯＳトランジスタＰ１の拡散領域ＰＤ１とＰＭＯＳトランジスタＰＬの拡散領域ＰＬＤ２との間の距離である。この拡散領域間距離ＰＤＳ＿Ｌは、ＰＭＯＳトランジスタＰ１とＰＭＯＳトランジスタＰＬとの間のＳＴＩの幅に相等する。これらゲートピッチＰＧＰ＿Ｌ及びＳＴＩ幅ＰＤＳ＿Ｌは、セル周辺のレイアウトパターン（周辺パターン）を規定している。より詳細には、ゲートピッチＰＧＰ＿Ｌ及びＳＴＩ幅ＰＤＳ＿Ｌは、ＰＭＯＳトランジスタＰ１のレイアウトパターンに対する、周辺トランジスタＰＬのレイアウトパターンの“相対位置”を規定している。このような周辺パターンを規定するパラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ）は、以下「周辺パラメータ」と参照される。周辺パラメータＰＧＰ＿Ｌ及びＰＤＳ＿Ｌは、セル内のＰＭＯＳトランジスタＰ１の特性に影響を与える。
【００４２】
同様に、セル内のＰＭＯＳトランジスタＰ３とセル外のＰＭＯＳトランジスタＰＲは、セル境界ＣＢＲを挟んで互いに隣り合っている。そして、ＰＭＯＳトランジスタＰ３とＰＭＯＳトランジスタＰＲのレイアウトパターンから、ゲートピッチＰＧＰ＿Ｒ及びＳＴＩ幅ＰＤＳ＿Ｒが定義され得る。それらゲートピッチＰＧＰ＿Ｒ及びＳＴＩ幅ＰＤＳ＿Ｒは、周辺トランジスタＰＲのレイアウトパターンの相対位置を規定する周辺パラメータである。周辺パラメータＰＧＰ＿Ｒ及びＰＤＳ＿Ｒは、セル内のＰＭＯＳトランジスタＰ３の特性に影響を与える。
【００４３】
同様に、セル内のＮＭＯＳトランジスタＮ１とセル外のＮＭＯＳトランジスタＮＬは、セル境界ＣＢＲを挟んで互いに隣り合っている。そして、ＮＭＯＳトランジスタＮ１とＮＭＯＳトランジスタＮＬのレイアウトパターンから、ゲートピッチＮＧＰ＿Ｌ及びＳＴＩ幅ＮＤＳ＿Ｌが定義され得る。それらゲートピッチＮＧＰ＿Ｌ及びＳＴＩ幅ＮＤＳ＿Ｌは、周辺トランジスタＮＬのレイアウトパターンの相対位置を規定する周辺パラメータである。周辺パラメータＮＧＰ＿Ｌ及びＮＤＳ＿Ｌは、セル内のＮＭＯＳトランジスタＮ１の特性に影響を与える。
【００４４】
同様に、セル内のＮＭＯＳトランジスタＮ４とセル外のＮＭＯＳトランジスタＮＲは、セル境界ＣＢＲを挟んで互いに隣り合っている。そして、ＮＭＯＳトランジスタＮ４とＮＭＯＳトランジスタＮＲのレイアウトパターンから、ゲートピッチＮＧＰ＿Ｒ及びＳＴＩ幅ＮＤＳ＿Ｒが定義され得る。それらゲートピッチＮＧＰ＿Ｒ及びＳＴＩ幅ＮＤＳ＿Ｒは、周辺トランジスタＮＲのレイアウトパターンの相対位置を規定する周辺パラメータである。周辺パラメータＮＧＰ＿Ｒ及びＮＤＳ＿Ｒは、セル内のＮＭＯＳトランジスタＮ４の特性に影響を与える。
【００４５】
このように、周辺パラメータは、セルのレイアウトパターンと周辺パターンとの関係を規定している。上述の通り、周辺パラメータは、当該セルの電気特性に影響を与え得る。本実施の形態では、複数種類の周辺パラメータが考慮される。例えば、既出の８種類の周辺パラメータＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ及びＮＤＳ＿Ｒが考慮される（２（Ｎｃｈ，Ｐｃｈ）×２（右，左）×２（ゲートピッチ，ＳＴＩ幅）＝８種類）。これら周辺パラメータを様々な値に設定することによって、様々な周辺パターンを考慮することが可能となる。
【００４６】
図６は、本実施の形態に係る半導体集積回路の設計フローを概略的に示している。設計フローは、セルのキャラクタライズ段階と、回路設計・検証段階に分けられる。
【００４７】
セルのキャラクタライズ段階では、セル遅延値に関連する情報を提供するセル遅延ライブラリＤＬＩＢが作成される。本実施の形態によれば、セル遅延ライブラリＤＬＩＢは、「セル遅延値」と「周辺パラメータ」との対応関係を示す関数（遅延関数）を提供する。その関数は、数式で与えられてもよいし、テーブルで与えられてもよい。重要なことは、セル遅延値が上記周辺パラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ、ＮＤＳ＿Ｒ）の関数として表されることである。
【００４８】
後の第２節で詳しく説明されるように、セル遅延ライブラリＤＬＩＢが提供する値としては、セル遅延値ｔ、セル遅延値の基準である基準遅延値ｔ０、セル遅延値ｔの基準遅延値ｔ０からの変動量Δｔ（＝ｔ−ｔ０）などが考えられる。セル遅延値ｔは、周辺パラメータの関数として表され得る。変動量Δｔは、周辺パラメータの基準状態からの変動量の関数として表され得る。尚、セル遅延値ｔは製造ばらつきに対応する分布を有していてもよいが、周辺パラメータの関数として表されるのはセンター値である。以下の説明において、特に記載がない場合は、セル遅延値ｔはセンター値を意味するとする。
【００４９】
セル遅延値ｔを周辺パラメータの関数として表すためには、様々な周辺パターンを想定し、様々な周辺パターンの条件下でのセル遅延値ｔを計算すればよい。そのために、セルのレイアウトを示すセルレイアウトデータＤ１０に加えて、周辺パターンデータＤ１１が用意される。周辺パターンデータＤ１１は、当該セルに関する様々な周辺パターンを与えるデータであり、周辺パラメータの様々な組み合わせを与えるデータである。
【００５０】
キャラクタライズツール１０は、セルレイアウトデータＤ１０と共に、周辺パターンデータＤ１１を読み込む。そして、キャラクタライズツール１０は、セルレイアウトデータＤ１０と周辺パターンデータＤ１１に基づいて、周辺パターン依存性を考慮しながらセルの回路シミュレーションを行う。この時、キャラクタライズツール１０は、周辺パターンデータＤ１１を参照し、周辺パラメータを様々に変えながら、セルの回路シミュレーションを実行する。その結果、様々な周辺パラメータの条件下でセル遅延値ｔが算出される。この回路シミュレーションの結果に基づいて、キャラクタライズツール１０は、セル遅延値ｔを周辺パラメータの関数として表すことができる。キャラクタライズツール１０は、その関数（遅延関数）を提供するセル遅延ライブラリＤＬＩＢを作成する。
【００５１】
次に、回路設計・検証段階では、セルベース設計手法に基づいて半導体集積回路が設計され、また、設計回路の検証が行われる。まず、配置配線ツール２０は、セルベース設計手法に基づいて配置配線を行い、設計回路のレイアウトを示すレイアウトデータＤ３０を作成する。この段階で、セル周辺の実際のレイアウトパターンが決まる。
【００５２】
設計回路の検証の１つは、タイミング検証（遅延検証）である。まず、遅延計算ツール３０は、レイアウトデータＤ３０と上述のセル遅延ライブラリＤＬＩＢを読み込む。続いて、遅延計算ツール３０は、レイアウトデータＤ３０を参照して、設計回路に含まれるセルに関連する実際の周辺パラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ、ＮＤＳ＿Ｒ）を抽出する。
【００５３】
更に、遅延計算ツール３０は、抽出された周辺パラメータをセル遅延ライブラリＤＬＩＢが提供する遅延関数に代入し、各セルの遅延値ｔを算出する。実際の周辺パラメータと上述の遅延関数が用いられるため、算出された遅延値ｔには、セルの最外部のトランジスタの周辺パターン依存性の影響も含まれることになる。このようにして、セル遅延値やパス遅延値などを示す遅延ファイルＤ４０が作成される。
【００５４】
次に、ＳＴＡツール４０が、作成された遅延ファイルＤ４０を参照して、静的タイミング解析（STA: Static Timing Analysis）を実施し、タイミング検証を行う。検証結果がフェイルの場合、上述の配置配線工程が再度行われ、レイアウトデータＤ３０が修正される。検証結果がパスとなるまで、同じ処理が繰り返される。
【００５５】
以上に説明されたように、本実施の形態によれば、キャラクタライズ段階で、セル遅延値ｔを周辺パラメータの関数として表す遅延関数が作成される。設計・検証段階では、対象セルに関連する周辺パラメータがレイアウトデータＤ３０から抽出され、抽出された周辺パラメータと遅延関数を用いることにより、対象セルの遅延値ｔが算出される。
【００５６】
従って、トランジスタ特性の周辺パターン依存性が十分考慮される。算出される対象セルの遅延値ｔに関して、周辺パターン依存性が十分考慮されている。よって、遅延検証の精度が向上する。その結果、製造される半導体集積回路の歩留まり及び信頼性も向上する。
【００５７】
また、キャラクタライズ段階で上述の遅延関数が作成されているため、設計・検証段階でＳＰＩＣＥネットリストの変調とＳＰＩＣＥシミュレーションを繰り返し実施する必要はない。チップレベルのレイアウトデータＤ３０と遅延関数に基づいて、周辺パターン依存性が十分考慮されたセル遅延値ｔを即座に算出することが可能である。従って、設計・検証ＴＡＴの増大が防止される。
【００５８】
更に、レイアウトデータＤ３０と遅延関数に基づいて算出される各セルの遅延値ｔには、図４で示されたようなマージンは追加されない。算出されるセル遅延値ｔ（センター値）は通常のものからずれる可能性はあるが、ばらつき範囲は通常と同じである。結果として、レイアウト設計と遅延検証の繰り返し回数の増大が防止され、設計・検証ＴＡＴの増大が防止される。更に、トランジスタの駆動能力を増やしたり、冗長なセルを追加挿入する必要がないので、チップ面積や消費電力の増大も防止される。
【００５９】
以下、本発明の実施の形態に係る処理を更に詳しく説明する。第２節では、セルのキャラクタライズが説明され、第３節では、回路設計・検証が説明される。
【００６０】
２．キャラクタライズ
図７及び図８のそれぞれは、キャラクタライズ処理のフローを示すブロック図及びフローチャートである。図７及び図８を参照して、キャラクタライズツール１０による処理を詳しく説明する。図７に示されるように、キャラクタライズツール１０は、例えば、パターン依存性考慮ツール１２、ＳＰＩＣＥ１３、及びライブラリ作成ツール１４から構成される。パターン依存性考慮ツール１２は、図１で示された従来のパターン依存性考慮ツールと同様の機能を有している。
【００６１】
ステップＳ１１：
まず、設計者によって周辺パターンデータＤ１１が作成される。上述の通り、周辺パターンデータＤ１１は、周辺パラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ、ＮＤＳ＿Ｒ）の様々な組み合わせを与えるデータである。周辺パラメータを様々な値に設定することによって、様々な周辺パターンを考慮することが可能となる。
【００６２】
例えば、８種類の周辺パラメータの各々に関して、基準となる「基準値」を考える。全ての周辺パラメータが基準値に設定される状態は、以下「基準状態」と参照される。また、８種類の周辺パラメータの各々に関して、基準値と異なるｎパターン（ｎは自然数）の値を考える。更に、ある周辺パラメータが基準値以外に設定されるとき、その他の周辺パラメータは基準値に設定されるとする。つまり、周辺パラメータは１種類毎に基準値から変動させられるとする。その場合、周辺パラメータの組み合わせは、全部で８×ｎ＋１（基準状態）通りとなる。例えばｎ＝３の場合、周辺パラメータの組み合わせは、全部で２５通りとなる。周辺パターンデータＤ１１は、２５通りの周辺パラメータの組み合わせを与える。
【００６３】
ステップＳ１２：
次に、パターン依存性考慮ツール１２は、セルレイアウトデータＤ１０、周辺パターンデータＤ１１、及び変調前セルネットリストＤ１２を読み込む。セルレイアウトデータＤ１０は、あるセルのレイアウトを示すデータであり、そのフォーマットは例えばＧＤＳ−ＩＩである。変調前セルネットリストＤ１２は、当該セルのＳＰＩＣＥネットリストである。更に、パターン依存性考慮ツール１２は、周辺パターンデータＤ１１から、１つの周辺パラメータの組み合わせを選択する。
【００６４】
ステップＳ１３：
続いて、パターン依存性考慮ツール１２は、セルレイアウトデータＤ１０及び選択された周辺パラメータの組み合わせに基づいて、変調前セルネットリストＤ１２の変調を行う。その変調方法は、図１で説明された手法と同様である。具体的には、パターン依存性考慮ツール１２は、セルレイアウトデータＤ１０からセル内のゲートピッチ及びＳＴＩ幅を抽出する。更に、パターン依存性考慮ツール１２は、抽出されたパラメータと上記選択された周辺パラメータを組み合わせることにより、変調前セルネットリストＤ１２に含まれるＳＰＩＣＥモデルパラメータを書き換える（変調する）。その結果、書き換え後のＳＰＩＣＥネットリストである変調後セルネットリストＤ１３が作成される。
【００６５】
ステップＳ１４：
パターン依存性考慮ツール１２によって作成された変調後セルネットリストＤ１３は、ＳＰＩＣＥ（Simulation Program with Integrated Circuit Emphasis）１３に入力される。ＳＰＩＣＥ１３は、変調後セルネットリストＤ１３を用いて、ＳＰＩＣＥシミュレーションを行う。その結果、セルの遅延値ｔ（期待値）が算出される。この時、製造ばらつきを考慮して、セル内の配線のＲＣやトランジスタのゲート寸法が様々に設定されてもよい。その場合、製造ばらつきに対応するセル遅延値ｔの分布が得られる。このようにして算出されたセル遅延値ｔを示す遅延データＤ１４が作成される。
【００６６】
ステップＳ１５：
その後、処理は再度ステップＳ１２に戻り、周辺パラメータの別の組み合わせが選択される。そして、選択された組み合わせに基づいて別の変調後セルネットリストＤ１３が作成される（ステップＳ１３）。更に、その変調後セルネットリストＤ１３に基づいてＳＰＩＣＥシミュレーションが実行され、別の遅延データＤ１４が作成される（ステップＳ１４）。遅延データＤ１４が示すセル遅延値ｔのセンター値は、選択された周辺パラメータの組み合わせに依存する。
【００６７】
このようにして、周辺パラメータを様々に変更しつつ、処理が繰り返される。例えば、２５種類の周辺パラメータの組み合わせに対して処理が繰り返され、２５種類の遅延データＤ１４が作成される。全ての周辺パラメータが基準値に設定される基準状態で算出されたセル遅延値ｔは、以下「基準遅延値ｔ０」と参照される。基準遅延値ｔ０は、周辺パラメータの基準値に対応するセル遅延値ｔである。
【００６８】
ステップＳ１６：
次に、ライブラリ作成ツール１４は、作成された遅延データＤ１４と上述の周辺パターンデータＤ１１を読み込む。周辺パターンデータＤ１１は、周辺パラメータの複数の組み合わせを示しており、また、それら複数の組み合わせのそれぞれに対応する複数の遅延データＤ１４が作成されている。従って、ライブラリ作成ツール１４は、周辺パターンデータＤ１１と遅延データＤ１４に基づいて、セル遅延値ｔを周辺パラメータの関数として表すことができる。その関数（遅延関数）は、近似式で与えられてもよいし、テーブルで与えられてもよい。
【００６９】
例えば、セル遅延値ｔは、周辺パラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ、ＮＤＳ＿Ｒ）の１次近似式でモデル化することができる。その近似式の係数は、適用された周辺パラメータと算出されたセル遅延値を用いたフィッティング処理により決定され得る。モデル化された近似式は、次のように表される。
【００７０】
ｔ＝ｆ（ＰＧＰ＿Ｌ，ＰＤＳ＿Ｌ，・・・，ＮＤＳ＿Ｒ）
【００７１】
あるいは、セル遅延値ｔの基準遅延値ｔ０からの変動量Δｔ（＝ｔ−ｔ０）をモデル化することもできる。変動量（遅延変動値）Δｔは、周辺パラメータの基準値からの差分（ΔＰＧＰ＿Ｌ、ΔＰＤＳ＿Ｌ、ΔＰＧＰ＿Ｒ、ΔＰＤＳ＿Ｒ、ΔＮＧＰ＿Ｌ、ΔＮＤＳ＿Ｌ、ΔＮＧＰ＿Ｒ、ΔＮＤＳ＿Ｒ）の関数として表される。その関数は、以下「遅延変動関数」と参照される。上述の近似式と同様に、遅延変動関数は次のように表される。
【００７２】
Δｔ＝ｇ（ΔＰＧＰ＿Ｌ，ΔＰＤＳ＿Ｌ，・・・，ΔＮＤＳ＿Ｒ）
【００７３】
この遅延変動関数（Δｔ）と基準遅延値ｔ０との組み合わせは、遅延関数（ｔ）と等価である。また、遅延変動関数は、周辺パラメータ毎に分離されてもよい。その場合、遅延変動関数は、次のように表される。
【００７４】
Δｔ１＝ｇ１（ΔＰＧＰ＿Ｌ）
Δｔ２＝ｇ２（ΔＰＤＳ＿Ｌ）
・・・
Δｔ８＝ｇ８（ΔＮＤＳ＿Ｒ）
Δｔ＝Δｔ１＋Δｔ２＋・・・Δｔ８
【００７５】
以上に説明されたように、ライブラリ作成ツール１４は、遅延関数あるいは遅延変動関数を作成する。更に、ライブラリ作成ツール１４は、セル遅延値ｔに関連する情報を提供するセル遅延ライブラリＤＬＩＢを作成する。例えば、セル遅延ライブラリＤＬＩＢは、基準遅延値ｔ０と遅延関数（ｔ）を提供する。あるいは、セル遅延ライブラリＤＬＩＢは、基準遅延値ｔ０と遅延変動関数（Δｔ）を提供する。あるいは、セル遅延ライブラリＤＬＩＢは、遅延関数（ｔ）だけを提供してもよい。尚、セル遅延ライブラリＤＬＩＢは、セルの種類毎に作成される。
【００７６】
３．回路設計・検証
回路設計・検証段階では、セルベース設計手法に基づいて半導体集積回路が設計され、また、設計回路の検証が行われる。図９及び図１０のそれぞれは、回路設計・検証処理のフローを示すブロック図及びフローチャートである。図９及び図１０を参照して、回路設計・検証処理を詳しく説明する。
【００７７】
ステップＳ２０：
まず、配置配線ツール（レイアウトツール）２０は、ネットリストＤ２０及びセルライブラリＤ２１を読み込む。ネットリストＤ２０は、設計回路のセル間の接続情報などを示す設計データである。セルライブラリＤ２１は、多種のセルデータを含むライブラリである。配置配線ツール２０は、ネットリストＤ２０を参照し、セルライブラリＤ２１から必要なセルデータを読み出し、セル配置（cell placement）を行う（ステップＳ２１）。更に、配置配線ツール２０は、ネットリストＤ２０を参照し、配置されたセル間の配線（routing）を行う（ステップＳ２２）。
【００７８】
配置配線の結果、設計回路の配置配線情報であるＬＥＦデータ（あるいはＤＥＦデータ）Ｄ３１が作成される。ＬＥＦデータのフォーマットはＬＥＦ（Layout Exchange Format）であり、ＤＥＦデータのフォーマットはＤＥＦ（Design Exchange Format）である。これらＬＥＦ／ＤＥＦは、端子や配線の曲がり角が見える一方、セルの中身が見えないフォーマットである。ＬＥＦデータＤ３１と既出のセルレイアウトデータＤ１０を組み合わせることにより、ＧＤＳ（Graphic Design System）−ＩＩフォーマットのＧＤＳデータＤ３２が作成される（ステップＳ２３）。
【００７９】
次の遅延計算に際して、ＬＥＦデータＤ３１あるいはＧＤＳデータＤ３２が、上述のレイアウトデータＤ３０として用いられる。尚、その遅延計算に際しては、ゲートピッチやＳＴＩ幅（拡散領域間距離）を抽出する必要がある。そのため、ＬＥＦデータＤ３１が用いられる場合は、そのＬＥＦデータＤ３１に必要な情報を予め付加しておく必要がある。付加される情報は、例えば、ゲートや拡散領域からセル境界までの距離である。
【００８０】
ステップＳ３０：
次に、遅延計算ツール３０は、ネットリストＤ２０、作成されたレイアウトデータＤ３０、及び上述のセル遅延ライブラリＤＬＩＢを記憶装置から読み込む。続いて、遅延計算ツール３０は、レイアウトデータＤ３０を参照して、各セルに関連する実際の周辺パラメータ（ＰＧＰ＿Ｌ、ＰＤＳ＿Ｌ、ＰＧＰ＿Ｒ、ＰＤＳ＿Ｒ、ＮＧＰ＿Ｌ、ＮＤＳ＿Ｌ、ＮＧＰ＿Ｒ、ＮＤＳ＿Ｒ）を抽出する（ステップＳ３１）。
【００８１】
更に、遅延計算ツール３０は、抽出された周辺パラメータとセル遅延ライブラリＤＬＩＢを用いることにより、設計回路に含まれる各セルの遅延値ｔを算出する（ステップＳ３２）。例えば、遅延計算ツール３０は、抽出された周辺パラメータを遅延関数に代入することにより、セル遅延値ｔを算出する。遅延関数がテーブルで与えられている場合には、テーブル値を補間することによってセル遅延値ｔを算出することもできる。
【００８２】
図１１は、セル遅延値ｔの具体的な算出方法の一例を説明するための図である。まず、基準状態に対応する基準遅延値ｔ０が算出される。セル遅延ライブラリＤＬＩＢが基準遅延値ｔ０を提供している場合、遅延計算ツール３０は、セル遅延ライブラリＤＬＩＢを参照して基準遅延値ｔ０を取得する。セル遅延ライブラリＤＬＩＢが遅延関数だけを提供している場合、遅延計算ツール３０は、周辺パラメータの基準値を遅延関数に代入することによって、基準遅延値ｔ０を算出することができる。
【００８３】
次に、遅延計算ツール３０は、抽出された周辺パラメータに依存する、セル遅延値ｔの基準遅延値ｔ０からの変動量（以下、「変動遅延値」と参照される）を算出する。本例では、変動遅延値は、周辺パラメータの種類毎に算出される。そのため、ある周辺パラメータに起因する変動遅延値の算出時、その周辺パラメータだけが抽出量に設定され、その他の周辺パラメータは基準値に設定される。これは、上述の周辺パターンデータＤ１１の作成時の処理と同様である（ステップＳ１１参照）。
【００８４】
例えば、周辺パラメータＰＧＰ＿Ｌだけが抽出量に設定され、その他の周辺パラメータは基準値に設定される場合を考える。セル遅延ライブラリＤＬＩＢが遅延関数（ｔ＝ｆ（ＰＧＰ＿Ｌ，・・・））を提供している場合、周辺パラメータ（抽出量及び基準値）を遅延関数に代入することにより、ある遅延値ｔ（ＰＧＰ＿Ｌ）が算出される。続いて、その遅延値ｔ（ＰＧＰ＿Ｌ）から基準遅延値ｔ０を引くことによって、周辺パラメータＰＧＰ＿Ｌに関する変動遅延値Δｔ（ＰＧＰ＿Ｌ）が算出される。
【００８５】
セル遅延ライブラリＤＬＩＢが遅延変動関数（Δｔ＝ｇ（ΔＰＧＰ＿Ｌ，・・・））を提供している場合、抽出された周辺パラメータＰＧＰ＿Ｌの基準値からの差分ΔＰＧＰ＿Ｌが、その遅延変動関数に代入される。その他の差分（ΔＰＤＳ＿Ｌ等）はゼロである。その結果、周辺パラメータＰＧＰ＿Ｌに関する変動遅延値Δｔ（ＰＧＰ＿Ｌ）が算出される。
【００８６】
同様に、他の周辺パラメータに関する変動遅延値（Δｔ（ＰＤＳ＿Ｌ）等）も算出される。本例では、結果として、８種類の変動遅延値が算出される。そして、遅延計算ツール３０は、基準遅延値ｔ０に８種類の変動遅延値を積算することによって、セル遅延値ｔを算出する。
【００８７】
このようにして、遅延計算ツール３０は、セル遅延値ｔを算出する。セル遅延値ｔが製造ばらつきに応じた分布を有している場合、遅延計算ツール３０は、コーナー条件でのセル遅延値ｔ（コーナー遅延値）を抽出する。また、遅延計算ツール３０は、レイアウトデータＤ３０から抽出されるＲＣ等に基づいて、セル間配線の遅延値を算出する。このようにして、セル遅延値（コーナー遅延値）やパス遅延値などを示す遅延ファイルＤ４０が作成される。遅延ファイルＤ４０のフォーマットは、例えばＳＤＦ（Standard Delay Format）である。
【００８８】
図１２は、遅延ファイルＤ４０の作成方法の変形例を示している。本変形例において、遅延計算ツール３０は、従来の遅延計算ツール３０−０と変動量計算ツール３１から構成されている。遅延計算ツール３０−０は、レイアウトデータＤ３０とセル遅延ライブラリＤＬＩＢに基づいて、従来どおりに遅延ファイルＤ４０−０を作成する。つまり、遅延計算ツール３０−０は、基準遅延値ｔ０だけを参照し、レイアウトデータＤ３０から実際の周辺パラメータを抽出することなく、遅延ファイルＤ４０−０を作成する。その遅延ファイルＤ４０−０は、セルの基準遅延値ｔ０やパス遅延値を示しており、周辺パターン依存性は考慮されていない。
【００８９】
一方で、変動量計算ツール３１は、レイアウトデータＤ３０とセル遅延ライブラリＤＬＩＢに基づいて、上述の変動遅延値Δｔを算出する。変動遅延値Δｔの算出方法は、上記手法と同じである（図１１参照）。更に、変動量計算ツール３１は、遅延ファイルＤ４０−０を読み込み、変動遅延値Δｔを用いて遅延ファイルＤ４０−０を変調する。言い換えれば、変動量計算ツール３１は、算出した変動遅延値Δｔを遅延ファイルＤ４０−０に反映させる（ｔ＝ｔ０＋Δｔ）。その結果、周辺パターン依存性が考慮された遅延ファイルＤ４０が作成される。本変形例は、本発明の処理を従来フローに組み込みやすいという点で好ましい。
【００９０】
ステップＳ４０：
次に、設計回路の遅延検証（タイミング検証）が実施される。具体的には、ＳＴＡツール４０が、ネットリストＤ２０と作成された遅延ファイルＤ４０に基づいて、ＳＴＡを実施する。検証結果がフェイルの場合（ステップＳ４１；Ｎｏ）、上述の配置配線工程（ステップＳ２０）が再度行われ、レイアウトデータＤ３０が修正される。検証結果がパスとなるまで、同じ処理が繰り返される。検証結果がパスになると（ステップＳ４１；Ｙｅｓ）、遅延検証は終了する。
【００９１】
本実施の形態によれば、周辺パターン依存性が考慮されているため、高い検証精度が実現される。その結果、製造される半導体集積回路の歩留まり及び信頼性も向上する。更に、遅延ファイルＤ４０が示すセル遅延値ｔには、図４で示されたようなマージンは追加されていない。従って、レイアウト設計と遅延検証の繰り返し回数の増大が防止され、設計・検証ＴＡＴの増大が防止される。更に、トランジスタの駆動能力を増やしたり、冗長なセルを追加挿入する必要がないので、チップ面積や消費電力の増大も防止される。
【００９２】
４．設計システム
本実施の形態に係る半導体集積回路の設計方法は、コンピュータシステムにより実現される。図１３は、本実施の形態に係る設計システム１００の構成例を示すブロック図である。設計システム１００は、演算処理装置１１０、記憶装置１２０、入力装置１３０、出力装置１４０、及び設計プログラム１５０を備えている。記憶装置１２０としては、ＲＡＭはＨＤＤが例示される。入力装置１３０としては、キーボードやマウスが例示される。出力装置１４０としては、ディスプレイが例示される。
【００９３】
記憶装置１２０には、セルレイアウトデータＤ１０、周辺パターンデータＤ１１、変調前セルネットリストＤ１２、変調後セルネットリストＤ１３、遅延データＤ１４、セル遅延ライブラリＤＬＩＢ、ネットリストＤ２０、セルライブラリＤ２１、レイアウトデータＤ３０、遅延ファイルＤ４０等が格納される。
【００９４】
設計プログラム１５０は、演算処理装置１１０によって実行されるソフトウェアプログラムである。設計プログラム１５０は、コンピュータ読み取り可能な記録媒体に記録されていてもよいし、記憶装置１２０に格納されていてもよい。設計プログラム１５０は、キャラクタライズツール１０、配置配線ツール２０、遅延計算ツール３０、ＳＴＡツール４０等を含んでいる。キャラクタライズツール１０は、パターン依存性考慮ツール１２、ＳＰＩＣＥ１３、ライブラリ作成ツール１４を含んでいる。
【００９５】
演算処理装置１１０は、設計プログラム１５０のそれぞれのツールを実行することにより、それぞれのデータ処理を実現する。各ツールは、必要なデータやファイルを記憶装置１２０から読み出し、また、作成したデータやファイルを記憶装置１２０に書き込む。これにより、上述の本実施の形態に係る処理が実現される。
【図面の簡単な説明】
【００９６】
【図１】図１は、パターン依存性考慮ツールの機能を説明するための概念図である。
【図２】図２は、パターン依存性考慮ツールを利用した半導体集積回路の設計・検証方法を示す概念図である。
【図３】図３は、セルレイアウトの一例を概略的に示す平面図である。
【図４】図４は、セル遅延ライブラリが提供するコーナー遅延値（コーナー条件）を示す概念図である。
【図５】図５は、本発明の実施の形態で考慮される、セルの周辺パターンを説明するための平面図である。
【図６】図６は、本発明の実施の形態に係る半導体集積回路の設計フローを示すブロック図である。
【図７】図７は、本発明の実施の形態におけるキャラクタライズの処理フローを示すブロック図である。
【図８】図８は、本発明の実施の形態におけるキャラクタライズ方法を示すフローチャートである。
【図９】図９は、本発明の実施の形態における設計・検証の処理フローを示すブロック図である。
【図１０】図１０は、本発明の実施の形態における設計・検証方法を示すフローチャートである。
【図１１】図１１は、本発明の実施の形態におけるセル遅延値の算出方法の一例を示す概念図である。
【図１２】図１２は、本発明の実施の形態における遅延ファイルの作成方法の変形例を示すブロック図である。
【図１３】図１３は、本発明の実施の形態に係る設計システムの構成例を示すブロック図である。
【符号の説明】
【００９７】
１０    キャラクタライズツール
１２    パターン依存性考慮ツール
１３    ＳＰＩＣＥ
１４    ライブラリ作成ツール
２０    配置配線ツール
３０    遅延計算ツール
３１    変動量計算ツール
４０    ＳＴＡツール
１００    設計システム
１１０    演算処理装置
１２０    記憶装置
１３０    入力装置
１４０    出力装置
１５０    設計プログラム
Ｄ１０    セルレイアウトデータ
Ｄ１１    周辺パターンデータ
Ｄ１２    変調前セルネットリスト
Ｄ１３    変調後セルネットリスト
Ｄ１４    遅延データ
ＤＬＩＢ  セル遅延ライブラリ
Ｄ２０    ネットリスト
Ｄ２１    セルライブラリ
Ｄ３０    レイアウトデータ
Ｄ３１    ＬＥＦ／ＤＥＦデータ
Ｄ３２    ＧＤＳデータ
Ｄ４０    遅延ファイル
【図１】
2009025891.tif 000003
【図２】
2009025891.tif 000004
【図３】
2009025891.tif 000005
【図４】
2009025891.tif 000006
【図５】
2009025891.tif 000007
【図６】
2009025891.tif 000008
【図７】
2009025891.tif 000009
【図８】
2009025891.tif 000010
【図９】
2009025891.tif 000011
【図１０】
2009025891.tif 000012
【図１１】
2009025891.tif 000013
【図１２】
2009025891.tif 000014
【図１３】
2009025891.tif 000015