(57)【要約】【課題】マージンの削減を行い、クロストーク発生箇所を適切に検出して、ＴＡＴを削減すること。【解決手段】本発明の一態様に係る設計装置１０は、遅延計算部１１、クロストーク計算部１２、リソグラフィシミュレーション部１３を備える。遅延計算部１１は、第１パス及び第２パスをそれぞれ伝搬する信号の遅延値の最大値及び最小値を計算する。リソグラフィシミュレーション部１３は、前記第１パス及び前記第２パスの露光後の配線形状を予測するリソグラフィシミュレーションを実行する。遅延計算部１１は、リソグラフィシミュレーションの結果に基づいて、第１パス及び第２パスをそれぞれ伝搬する信号の遅延値の最大値及び最小値を修正する。クロストーク計算部１２は、修正された、第１パス及び第２パスをそれぞれ伝搬する信号の遅延値の最大値及び最小値を用いて、第１パスと第２パスについてのクロストーク計算を行う。【選択図】図１
2010140216.tif 000002
【特許請求の範囲】
【請求項１】
第１パスを伝搬する信号の遅延値の最大値および最小値と、第２パスを伝搬する信号の遅延値の最大値および最小値を計算する遅延計算部と、
前記第１パス及び前記第２パスの露光後の配線形状を予測するリソグラフィシミュレーションを実行するリソグラフィシミュレーション部と、
前記リソグラフィシミュレーションの結果に基づいて、前記第１パスを伝搬する信号の遅延値の最大値および最小値を修正すると共に、前記第２パスを伝搬する信号の遅延値の最大値および最小値を修正する第１遅延修正部と、
修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値、及び、修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第１パスと前記第２パスについてのクロストーク計算を行うクロストーク計算部と、
を備える設計装置。
【請求項２】
前記遅延計算部が計算した前記第１パスを伝搬する信号の遅延値の最大値および最小値から、前記第１パスについての第１タイミングウインドウを計算すると共に、前記遅延計算部が計算した前記第２パスを伝搬する信号の遅延値の最大値および最小値から、前記第２パスについての第２タイミングウインドウを計算するタイミングウインドウ計算部をさらに備え、
前記リソグラフィシミュレーション部は、前記第１タイミングウインドウおよび第２タイミングウインドウに基づいて、前記第１パスと第２パスの間にクロストークが発生する場合には前記第１パスおよび第２パスに対して前記リソグラフィシミュレーションを行い、前記第１パスと第２パスの間にクロストークが発生しない場合には前記第１パスおよび第２パスに対して前記リソグラフィシミュレーションを行わないことを特徴とする請求項１に記載の設計装置。
【請求項３】
前記クロストーク計算部は、
修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第１パスについての第３タイミングウインドウを計算すると共に、
修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第２パスについての第４タイミングウインドウを計算することを特徴とする請求項２に記載の設計装置。
【請求項４】
前記クロストーク計算の結果に基づいて、前記第１遅延修正部によって修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値と、前記第１遅延修正部によって修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値をさらに修正する第２遅延修正部をさらに備えることを特徴とする請求項２に記載の設計装置。
【請求項５】
第１パスを伝搬する信号の遅延値の最大値および最小値と、第２パスを伝搬する信号の遅延値の最大値および最小値を計算するステップと、
前記第１パス及び前記第２パスの露光後の配線形状を予測するリソグラフィシミュレーションを実行するステップと、
前記リソグラフィシミュレーションの結果に基づいて、前記第１パスを伝搬する信号の遅延値の最大値および最小値を修正すると共に、前記第２パスを伝搬する信号の遅延値の最大値および最小値を修正するステップと、
修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値と、修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第１パスと前記第２パスについてのクロストーク計算を行うステップと、を有する設計方法。
【請求項６】
前記第１パスを伝搬する信号の遅延値の最大値および最小値から、前記第１パスについての第１タイミングウインドウを計算すると共に、前記第２パスを伝搬する信号の遅延値の最大値および最小値から、前記第２パスについての第２タイミングウインドウを計算するステップをさらに備え、
前記第１タイミングウインドウおよび第２タイミングウインドウに基づいて、前記第１パスおよび第２パスにクロストークが発生する場合には前記第１パスおよび第２パスに対して前記リソグラフィシミュレーションを行い、前記第１パスおよび第２パスにクロストークが発生しない場合には前記第１パスおよび第２パスに対して前記リソグラフィシミュレーションを行わないことを特徴とする請求項５に記載の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の設計装置及び設計方法に関する。
【背景技術】
【０００２】
半導体集積回路においてバス配線やブロック間の長距離配線では、並行配線間の寄生容量によりクロストークが発生する。クロストークは信号伝搬の遅延時間に影響を与えるため、セットアップエラーやホールドエラーを引き起こす可能性がある。半導体集積回路の設計においてはクロストークの影響を考慮して、これを低減するような対策を施しておくことが必要である。
【０００３】
従来から、半導体集積回路の設計の段階で、半導体集積回路内部の配線等についてクロストークが発生しそうな箇所をあらかじめ特定し、設計制約として考慮していた。特許文献１には、クロストーク解析によりエラーが発生したエラーネット対を検出した場合に配線修正処理を実行し、修正結果に対してタイミングウインドウ情報が重なるか検討し、デザインルール違反であるか否かを判定する設計方法が記載されている。
【０００４】
特許文献２には、第１及び第２の配線について第１の解析条件、第２の解析条件のそれぞれタイミングウインドウを算出し、第１の解析条件と第２の解析条件で第１及び第２の配線のタイミングウインドウの入れ替えが生じる場合に、第１の配線と第２の配線のクロストークを解析する解析方法が記載されている。また、特許文献３−５には、タイミングウインドウの重なりがあるか否かを判定し、重なりがある場合にのみ修正情報を出力する点が記載されている。
【０００５】
配線の形状や配線間隔は、製造上のばらつきにより変動する。従って、この製造上のばらつきによって、それぞれのパス（例えばあるフリップフロップから別のフリップフロップの間の信号配線）を伝搬する信号の遅延時間も変動する。遅延時間は例えば近傍の配線と配線の間で生じるカップリング容量の値によって変動する。カップリング容量の値は、配線の形状の製造上のばらつきに基づき、隣接する配線間の距離が変化することで変動する。ゆえに、パスを伝搬する信号の遅延時間は、製造上のばらつきによって変動する。
【０００６】
従って、このばらつきを考慮して、それぞれのパスを伝搬する信号の遅延について十分な設計マージンを確保して半導体集積回路の設計を行う必要がある。従来の設計方法では、クロストーク解析を行う際、一律に最悪のマージンを考慮してクロストークの発生箇所を特定していた。すなわち、製造上のばらつきに基づいて、それぞれのパスを伝搬する信号の遅延時間が最小となる場合と最大となる場合を考慮して、クロストークの発生箇所を特定していた。このため、実際にはクロストークが発生しないにもかかわらず、クロストーク発生箇所として誤って特定される場合があった。
【０００７】
クロストークが発生する箇所については、当該箇所のクロストークを改善するために、バッファを挿入したり、配線間隔を広げたりすることが行われる。しかし、バッファ等を配置するスペースが十分にない場合には、最初から半導体集積回路の設計をやり直す必要があり、ＴＡＴ（Turn Around Time）が増大するという問題があった。
【特許文献１】特開２００６−３４４１６５号公報
【特許文献２】特開２００６−２９３５３４号公報
【特許文献３】特開２００６−３１３５７２号公報
【特許文献４】特開２００６−２７７７５３号公報
【特許文献５】特開２００４−１８５３７４号公報
【特許文献６】特開２００３−３０３２１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の設計方法では、それぞれのパスを伝搬する信号の遅延時間についてマージンをとりすぎていたため、クロストーク発生箇所が大量に検出され、ＴＡＴが増大するという問題があった。
【課題を解決するための手段】
【０００９】
本発明の一態様に係る設計装置は、第１パスを伝搬する信号の遅延値の最大値および最小値と、第２パスを伝搬する信号の遅延値の最大値および最小値を計算する遅延計算部と、前記第１パス及び前記第２パスの露光後の配線形状を予測するリソグラフィシミュレーションを実行するリソグラフィシミュレーション部と、前記リソグラフィシミュレーションの結果に基づいて、前記第１パスを伝搬する信号の遅延値の最大値および最小値を修正すると共に、前記第２パスを伝搬する信号の遅延値の最大値および最小値を修正する第１遅延修正部と、修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値、及び、修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第１パスと前記第２パスについてのクロストーク計算を行うクロストーク計算部とを備えるものである。
【００１０】
本発明の他の態様に係る設計方法は、第１パスを伝搬する信号の遅延値の最大値および最小値と、第２パスを伝搬する信号の遅延値の最大値および最小値を計算するステップと、前記第１パス及び前記第２パスの露光後の配線形状を予測するリソグラフィシミュレーションを実行するステップと、前記リソグラフィシミュレーションの結果に基づいて、前記第１パスを伝搬する信号の遅延値の最大値および最小値を修正すると共に、前記第２パスを伝搬する信号の遅延値の最大値および最小値を修正するステップと、修正された、前記第１パスを伝搬する信号の遅延値の最大値および最小値と、修正された、前記第２パスを伝搬する信号の遅延値の最大値および最小値を用いて、前記第１パスと前記第２パスについてのクロストーク計算を行うステップと、を有する。
【００１１】
このように、クロストーク計算を行う前にリソグラフィシミュレーションを行い、修正された遅延値を用いてクロストーク計算を行うことにより、マージンの削減を行うことが可能である。これにより、クロストーク発生箇所を適切に検出することができ、ＴＡＴを削減することができる。
【発明の効果】
【００１２】
本発明によれば、マージンの削減を行い、クロストーク発生箇所を適切に検出して、ＴＡＴを削減することができる半導体装置の設計装置及び設計方法を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態に係る設計装置及び設計方法について、図を用いて説明する。なお、各図において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１４】
実施の形態１．
本発明の実施の形態１に係る半導体装置の設計装置について、図１を参照して説明する。図１は、本実施の形態に係る設計装置の構成を示す図である。図１に示すように、本実施の形態に係る設計装置１０は、遅延計算部１１、クロストーク計算部１２、リソグラフィシミュレーション部１３、タイミング検証部１４を備える。
【００１５】
遅延計算部１１は、回路データ１５、遅延データ１６を用いて、半導体集積回路の各パスについての遅延値を計算する。回路データは、設計対象の半導体集積回路の接続情報であるネットリストである。遅延データは、各パスに接続されるバッファ等の遅延値である。
【００１６】
ここで、図２を用いて、半導体集積回路の動作の遅延値の算出方法について説明する。図２は、隣接する２本の並行配線（第１パスＡ及び第２パスＢ）の遅延値を説明するための図である。ここでは、図２に示すように、第１パスＡには２つのバッファが設けられており、第２パスＢには１つのバッファが設けられている例について説明する。なお、図では第１パスＡと第２パスＢにはフリップフロップが記されていないが、第１パスＡの始点と終点、および第２パスＢの始点と終点にはフリップフロップが設けられているとすることができる。
【００１７】
半導体集積回路の遅延値は、電源電圧、周囲温度及びプロセス条件によって変動する。なお、プロセス条件による遅延値の変動とは、半導体製造プロセスの差による遅延値の変動である。通常、高温、低電圧の場合は遅延時間が最も大きく（Slow）、低温、高電圧の場合は遅延時間が最も小さくなる（Fast）。なお、クロックパス（Clock Pass、クロック信号の転送経路）とデータパス（Data Pass、データの転送経路）で、ゲート遅延（Gate Delay）や配線遅延（Net Delay）が異なる場合、上記の条件が必ずしも臨界条件ではない。
【００１８】
例えば、第１パスＡにおいて各バッファの遅延値の最小値が０．１、最大値が０．３ｓｅｃであるとすると、第１パスＡ全体の第１遅延値は０．２〜０．６ｓｅｃとなる。また、第２パスＢにおけるバッファの遅延値の最小値が０．１、最大値が０．３ｓｅｃであるとすると、第２パスＢ全体の第２遅延値は、０．１〜０．３ｓｅｃとなる。
【００１９】
ここで、本実施の形態や、後述する第２の実施の形態で使用されるタイミングウインドウについて説明しておく。タイミングウインドウとは、図２に記載された第１パスＡと第２パスＢのようなパスのそれぞれに設けられたバッファ等のそれぞれの遅延値の最小値と最大値を積算して得られる情報である。このタイミングウインドウの例が、例えば図８あるいは図９に記載されている。具体的には信号の値の遷移がどの時間帯に発生する可能性があるかを示すものである。第１パスＡと第２パスＢのタイミングウインドウを同一時間軸上で比較した結果、それぞれのパスで信号の値の遷移が起こる可能性がある時間帯に重なりがあると、後述するクロストークが発生する可能性がある。従って、それぞれのパスのタイミングウインドウを検証することで、クロストークの発生箇所を特定することができる。
【００２０】
リソグラフィシミュレーション部１３は、レイアウトデータ１７、リソグラフィモデル１８を用いて、半導体集積回路の各パスのリソグラフィシミュレーションを行い、シリコン形状データ１９を算出する。レイアウトデータは、半導体集積回路の各素子や配線等の配置情報を示すデータである。リソグラフィモデルは、露光条件に応じて変化する実際の配線等の形状を算出するための計算式である。
【００２１】
シリコン形状データ１９は、リソグラフィシミュレーション部１３により算出された配線の形状を示すデータである。ここで、図３〜図５を参照して、リソグラフィシミュレーション部１３により算出される配線の形状について説明する。図３は、露光条件を考慮しない設計値どおりの配線の形状を示す図である。図４は、配線の最大幅、最小幅を説明するための図である。図５は、露光条件を考慮した、実際の配線の形状を示す図である。
【００２２】
なお、図４においては図３に示す第１配線１の形状が変化して、配線１ａ又は１ｂになるものとし、図５においては配線１ｃになるものとする。図４、５において、第２配線２の形状は変化しないものとする。
【００２３】
トランジスタのゲートや拡散層、配線等の形状は、リソグラフィの影響により変化することが知られている。これらの形状が変わってしまう理由は、ステッパーの露光光の波長以下のパターン寸法を製造する場合、光の近接効果の影響によりマスク形状が正しくウエハ上に転写できないためである。
【００２４】
クロストークには、電圧変動（ノイズ）と遅延変動がある。ノイズとは、隣り合う配線の一方で信号変化が起こった場合、カップリング容量素子を介して他の配線に信号が伝播し、電位が変動する現象である。遅延変動とは、隣り合う配線の信号変化がほぼ同時に発生した場合、配線層後の信号変化がカップリング容量素子を介して他の配線に伝播してしまい、個々の遅延が変化してしまう現象である。
【００２５】
リソグラフィの影響で配線の形状が変化すると、隣接する配線の間の間隔が変化する。これにより、配線間のカップリング容量が変化し遅延が変化する。また、配線の形状が変化すると、バッファ等を構成するトランジスタの駆動能力が変化する。これは、例えば、リソグラフィの影響でバッファ等を構成するトランジスタのゲート長Ｌやゲート幅Ｗ（Ｗ/Ｌ：Ｗはゲート幅、Ｌはゲート長）も変化することになるためである。すなわち、トランジスタのゲートや拡散層の形状がリソグラフィの影響で変わることで、遅延や駆動力が変わり、配線のクロストーク計算の結果に影響を与える。
【００２６】
本実施の形態では、後述するクロストーク計算を行う前に、リソグラフィシミュレーションを行い、隣接する配線間のカップリング容量を正確に求めるとともに、トランジスタの駆動能力がどの程度変化するか、を求め、遅延計算で算出した遅延値を修正する（第１遅延修正）。具体的には、リソグラフィシミュレーションを行う前に求めた各パスの遅延値の最小値と最大値のそれぞれを修正する。
【００２７】
リソグラフィシミュレーションを行っても、実際の製造プロセス上の条件などによって各パスの遅延値は変動するため、各パスに対して一つの遅延値を決定することはできない。しかし。その各パスの遅延値の最小値と最大値は、より精度があがるため、不必要に大きい最大値および不必要に小さい最小値を想定しているという状況は防止できる。つまり、タイミングウインドウにおいて、信号の遷移が発生する可能性がある時間帯の幅を狭めることができる。
【００２８】
次に、本実施の形態では、上記した第１遅延修正によって修正された遅延値の最小値と最大値を用いたタイミングウインドウを使用してクロストークが発生するパスを特定する。そしてリソグラフィシミュレーションで求めたカップリング容量を用いて、クロストークが発生すると特定されたパスについてのクロストーク計算を行う。クロストーク計算では、求めたカップリング容量に比例したクロストークノイズ、すなわちパスを伝搬する電圧信号の変動を計算する。
【００２９】
ここで、本実施の形態のクロストーク計算では、リソグラフィシミュレーションの結果を反映したタイミングウインドウを用いているため、従来技術のように信号の遷移が生じる時間帯を不必要に広く見積もってはいないので、クロストークノイズが発生する箇所と発生しない箇所を精度良く特定することができ、従来技術と比較して、回路のタイミングについてのマージンを削減することができる。
【００３０】
また、リソグラフィシミュレーションによって正確なカップリング容量を求めているため、カップリング容量に比例するクロストークノイズの量を正確に計算することができる。本実施の形態ではクロストークノイズの影響で発生する遅延値の変動を求め、この遅延値の変動に基づいて、第１遅延修正を施した遅延値の最小値と最大値をさらに修正する（第２遅延修正）。
【００３１】
図３に示すように、露光条件を考慮しない設計値どおりの配線の場合の、第１配線１と第２配線２との間に形成されるカップリング容量素子３の容量をＣ１とする。第１配線１の形状は、図４に示すように、最大幅となる配線１ａ、最小幅となる配線１ｂの間で露光条件によりばらつく。
【００３２】
配線１ａと第２配線２との距離は、第１配線１と第２配線２との距離よりも小さくなる。このため、配線１ａと第２配線２との間に形成されるカップリング容量素子３ａの容量Ｃ２は、上述の容量Ｃ１よりも大きくなる。カップリング容量の値は、配線間の距離に反比例するからである。一方、配線１ｂと第２配線２との距離は、第１配線１と第２配線２との距離よりも大きくなる。このため、配線１ｂと第２配線２との間に形成されるカップリング容量素子３ｂの容量Ｃ３は、上述の容量Ｃ１よりも小さくなる。
【００３３】
従来は、一律に最悪のマージンを考慮してクロストークの発生箇所を特定していた。すなわち、例えば、配線１ａのように最大幅になったとしてもクロストークが発生しないように、クロストーク発生箇所として特定し、配線間隔を広げる等の対策が採られていた。
【００３４】
しかしながら、クロストーク発生箇所として特定された箇所であっても、実際にはクロストークが発生しない箇所が存在する。本発明では、図５に示すように、リソグラフィシミュレーションを行って配線の実際の形状を特定し、隣接配線間のカップリング容量を実際に近い形で見積もる。
【００３５】
レイアウトデータ１７及びリソグラフィモデル１８を用いて、露光条件を考慮して、リソグラフィシミュレーションを行うと、例えば、図５に示すような配線１ｃの形状（シリコン形状データ１９）が算出される。この場合、配線１ｃと第２配線２との間に形成されるカップリング容量素子３ｃの容量Ｃ４は、容量Ｃ１よりも大きく、容量Ｃ２よりも小さくなる。
【００３６】
従って、実際の配線形状に近い配線１ｃの場合におけるクロストーク発生箇所を検出することにより、最悪マージンを考慮してクロストーク発生箇所を検出するよりも、マージンの削減を行うことができ、クロストーク発生箇所を適切に検出することができる。
【００３７】
本実施の形態においては、上述した遅延計算部１１は、リソグラフィシミュレーションの結果に基づいて、第１パスＡの遅延値（第１遅延値）の最大値と最小値を修正するとともに、及び第２パスＢの遅延値（第２遅延値）の最大値と最小値を修正する第１遅延修正部の役割を担う。すなわち、遅延計算部１１は、シリコン形状データ１８を考慮して、第１パスＡの第１遅延値及び第２パスＢの第２遅延値を修正する。なお、この第１遅延計算部を、遅延計算部１１とは別に設けるようにしてもよい。
【００３８】
クロストーク計算部１２は、遅延計算部１１において修正された第１遅延値の最大値および最小値を用いた第１パスＡのタイミングウインドウと、修正された第２遅延値の最大値および最小値を用いた第２パスＢのタイミングウインドウと、から第１パスＡおよび第２パスＢにクロストークが発生するか否かを特定する。具体的には、クロストーク計算部１２は、求めた第１パスのタイミングウインドウと、第２パスのタイミングウインドウとを同一時間軸上で比較し、信号値の遷移の発生する可能性がある時間帯のそれぞれに重なりがあるかどうか検証する。
【００３９】
そして、第１パスＡおよび第２パスＢにクロストークが発生する場合には、クロストーク計算を行って、それぞれのパスの間に発生するクロストークノイズの量を求める。クロストーク計算部１２がクロストーク計算を行うことにより信号の波形なまり等が算出され、第１パスＡの遅延値の最小値および最大値がどの程度変動し、第２パスＢの遅延値の最小値および最大値がどの程度変動するか算出される。
【００４０】
そして遅延計算部１１は、第１パスＡおよび第２パスＢのそれぞれの遅延値の最大値および最小値の変動を用いて、第１パスＡおよび第２パスＢのそれぞれの遅延値の最大値および最小値を修正する（第２遅延修正）。すなわち、遅延計算部１１は、クロストーク計算の結果に基づいてさらに遅延値の修正を行う第２遅延計算部の役割を担っている。なお、この第２遅延計算部を、遅延計算部１１とは別に設けるようにしてもよい。
【００４１】
設計装置１０には、メモリ（不図示）が設けられており、回路データ１５、遅延データ１６はメモリに記憶されている。さらに、リソグラフィシミュレーション部１３には、レイアウトデータ１７、リソグラフィモデル１８を記憶するメモリ（不図示）が設けられている。
【００４２】
また、設計装置１０はタイミング検証部１４をさらに備える。タイミング検証部１４は、第１パスＡと第２パスＢのそれぞれの遅延値の最大値と最小値の情報を取得する。この情報は、上述したとおり、第１遅延修正および第２遅延修正が施されている。タイミング検証部１４は、第１遅延修正および第２遅延修正が施された第１パスＡの遅延値の最大値および最小値の範囲内の遅延が、第１パスＡを伝搬する信号に発生した場合に、第１パスＡにセットアップタイムあるいはホールドタイムのエラーが生じるかどうかを検証する。
【００４３】
同様に、タイミング検証部１４は、第１遅延修正および第２遅延修正が施された第２パスＢの遅延値の最大値および最小値の範囲内の遅延が、第２パスＢを伝搬する信号に発生する場合に、第２パスＢにセットアップタイムあるいはホールドタイムのエラーが生じるかどうかを検証する。
【００４４】
一般的に表現すれば、タイミング検証部１４は、クロストーク計算結果に基づいて遅延値の修正を行った後、半導体集積回路のタイミング検証（Static Timing Analysis）を行う。タイミング検証部１４は、例えば、半導体集積回路内のフリップフロップ回路間に所定のデータを流し、遅延時間、セットアップタイム、ホールドタイム等を確認する。
【００４５】
以上説明したように、リソグラフィシミュレーションを行ってそれぞれのパスの遅延値の最大値および最小値を修正することにより（第１遅延修正）、マージンの削減を行うことができる。これにより、クロストーク発生箇所を適切に検出することが可能となる。また、最終的なタイミング検証を行った後に、回路設計を再度修正する回数を抑制することができ、ＴＡＴを削減することができる。
【００４６】
ここで、図６を参照して、本実施の形態に係る半導体集積回路の設計方法について説明する。図６は、本実施の形態に係る半導体集積回路の設計方法を説明するためのフローチャートである。図６に示すように、まず、半導体集積回路の第１パスの遅延値（第１遅延値）の最大値および最小値を計算すると共に、第２パスの遅延値（第２遅延）の最大値および最小値を計算する（ステップＳ１０）。
【００４７】
その後、各パスのリソグラフィシミュレーションが実行される（ステップＳ１１）。リソグラフィシミュレーションによって、第１パスと第２パスの間に発生するカップリング容量の正確な値が求まり、第１パスと第２パスのそれぞれに設けられたバッファ等を構成するトランジスタの駆動能力の変動も見積もることができる。そして。リソグラフィシミュレーションの結果として求まったカップリング容量や、トランジスタの駆動能力の変動に基づいて、ステップＳ１０で算出した第１パスの遅延値の最大値および最小値を修正するとともに、第２パスの遅延値の最大値および最小値を修正する（第１遅延修正：Ｓ１２）。
【００４８】
そして、修正された第１パスの遅延値の最大値および最小値と、修正された第２パスの遅延値の最大値および最小値を用い、クロストーク計算を行う（ステップＳ１３）。クロストーク計算では、まず、修正された第１パスの遅延値の最大値および最小値から求まる第１パスのタイミングウインドウと、修正された第２パスの遅延値の最大値および最小値から求まる第２パスのタイミングウインドウと、を求める。
【００４９】
そして求めた第１パスのタイミングウインドウと第２パスのタイミングウインドウを比較して、第１パスと第２パスの間でクロストークが発生するかどうかを検証する。ここで、第１パスと第２パスの間でクロストークが発生する場合には、リソグラフィシミュレーションで求めたカップリング容量の値を使用して、クロストークノイズの量を計算する。ノイズの量が分かれば、第１パスおよび第２パスのそれぞれの遅延値の最大値および最小値がどの程度、変動するかが分かる。
【００５０】
従って、その後、クロストーク計算の結果に基づいて、第１遅延修正が施された第１パスの遅延値の最大値および最小値と、第２遅延修正が施された第２パスの遅延値の最大値および最小値と、をさらに修正する。（第２遅延修正）（ステップＳ１４）。
【００５１】
そして、クロストーク計算の結果に基づいて第２遅延修正を施された第１パスの遅延値の最大値および最小値と、第２遅延修正を施された第２パスの遅延値の最大値および最小値と、を用いて、タイミング検証が行われる（ステップＳ１５）。つまり、第１および第２遅延修正を施された第１パスの遅延値の最大値および最小値の範囲内の遅延が、第１パスを伝搬する信号に発生した場合に、第１パスにセットアップエラーやホールドエラーが生じるかどうかを検証する。同様に、第１および第２遅延修正を施された第２パスの遅延値の最大値および最小値の範囲内の遅延が、第２パスを伝搬する信号に発生した場合に、第２パスにセットアップエラーやホールドエラーが生じるかどうかを検証する。
【００５２】
そして、タイミング検証を行った結果、タイミングが収束したか否かが判定される（ステップＳ１６）。セットアップタイム、ホールドタイム等にエラーが生じず、タイミングが収束した場合（ステップＳ１５ＹＥＳ）、半導体集積回路の設計が終了する。
【００５３】
一方、エラーが生じ、タイミングが収束しない場合には（ステップＳ１５ＮＯ）、設計の修正が行われる（ステップＳ１７）。例えば、隣接配線間の間隔を変更したり、隣接並行配線の長さを変更したりすることができる。そして、再度、ステップＳ１０に戻り遅延値の計算が行われ、その後上述と同様の処理手順を経てタイミング検証が行われる。
【００５４】
このように、本実施の形態では、リソグラフィシミュレーションの結果に基づき修正された第１パスの遅延値の最大値および最小値から求まる第１パスのタイミングウインドウと、修正された第２パスの遅延値の最大値および最小値から求まる第２パスのタイミングウインドウと、を求め、求めた第１パスのタイミングウインドウと第２パスのタイミングウインドウを比較して第１パスと第２パスの間でクロストークが発生するかどうかを検証している。このことにより、リソグラフィシミュレーションによりマージンを削減し、クロストーク発生箇所として検出される箇所を少なくすることにより、ＴＡＴを削減することが可能となる。
【００５５】
なお、図１に示した、遅延計算部１１、クロストーク計算部１２、リソグラフィシミュレーション部１３、タイミング検証部１４が実行する処理は、各データを格納するためのメモリ及びＣＰＵ（Central Processing Unit）を有するコンピュータに、図６の処理手順が記述されたプログラムを実行させることによって実現可能である。
【００５６】
また、このプログラムは、ハードディスク等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行されてもよい。このプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【００５７】
実施の形態２．
本発明の実施の形態２に係る半導体集積回路の設計装置について、図７を参照して説明する。図７は、本実施の形態に係る半導体集積回路の設計装置１０'の構成を示すブロック図である。図７において、図１と同一の構成要素には同一の符号を付し、適宜説明を省略する。
【００５８】
図７に示すように、本実施の形態に係る設計装置１０'は、遅延計算部１１、クロストーク計算部１２、リソグラフィシミュレーション部１３、タイミング検証部１４に加えて、タイミングウインドウ計算部２０を備える。本実施の形態においては、リソグラフィシミュレーションを実行する前に、各パスのタイミングウインドウを算出し、タイミングウインドウが重なっている特定のパスのみにリソグラフィシミュレーションを実行する。
【００５９】
タイミングウインドウ計算部２０は、半導体集積回路の各パスについてのタイミングウインドウを計算し、タイミングウインドウが重なる箇所を特定して、限定パス情報を出力する。タイミングウインドウとは、第１の実施の形態の説明を行う際に述べたとおり、ある箇所において、遷移が起こる可能性のある時間帯を定義したものである。タイミングウインドウの計算においては、配線間容量を考慮し、各パスにおけるバッファ等の遅延値の最小値（Fast）と最大値（Slow）がそれぞれ積算される。限定パス情報とは、タイミングウインドウの重なる箇所を特定した座標データである。
【００６０】
ここで、図８、９を用いて、半導体集積回路内の隣接する２本の並行配線のタイミングウインドウについて説明する。図８に示す例においては、第１パスＡ、第２パスＢのそれぞれにおいて各バッファの遅延値の最小値の積算値がＦ（Fast）であり、最大値の積算値がＳ（Slow）である。
【００６１】
図８に示すように、第１パスＡについての第１タイミングウインドウと第２パスＢについての第２タイミングウインドウを同一の時間軸において比較した際に、タイミングウインドウが重なっている場合、クロストークが発生する可能性が高い。このような場合、リソグラフィシミュレーションを実行し、当該箇所で実際にクロストークが発生するか否かを判断する。
【００６２】
上述したように、リソグラフィシミュレーションを実行することにより、配線の実際の形状を特定し、隣接配線間のカップリング容量を実際に近い形で見積もることができる。このように露光条件を考慮してカップリング容量を算出することにより、最悪マージンでのクロストーク発生箇所を検出するよりも、タイミングウインドウの幅を小さくすることができる。
【００６３】
このように、クロストーク発生箇所として特定された箇所であっても、リソグラフィシミュレーションを行うことにより、実際にはクロストークが発生しない箇所を適切に検出することができる。
【００６４】
一方、図９に示すように、第１パスＡについての第１タイミングウインドウと第２パスＢについての第２タイミングウインドウを同一の時間軸において比較した際に、タイミングウインドウが重なっていない場合、クロストークは発生しない。このような場合には、リソグラフィシミュレーションを実行しない。
【００６５】
このように、リソグラフィシミュレーションを実行するパスを特定することにより、リソグラフィシミュレーションにかかる時間を削減することができ、設計のＴＡＴをさらに削減することが可能となる。
【００６６】
ここで、図１０を参照して、本実施の形態に係る半導体集積回路の設計方法について説明する。図１０は、本実施の形態に係る半導体集積回路の設計方法を説明するためのフローチャートである。図１０に示すように、まず、半導体集積回路の第１パスの遅延値（第１遅延値）の最大値および最小値を計算すると共に、第２パスの遅延値（第２遅延値）の最大値および最小値を計算する（ステップＳ２０）。
【００６７】
その後、各パスのタイミングウインドウが計算される（ステップＳ２１）。そして、タイミングウインドウの重なりのあるパスを特定し、当該パスの座標が計算される（ステップＳ２２）。そして、ステップＳ２２により特定されたパスのみに対して、リソグラフィシミュレーションが実行される（ステップＳ２３）。
【００６８】
その後、実施の形態１と同様に、リソグラフィシミュレーションの結果に基づいて、第１パスの遅延値の最大値および最小値と第２パスの遅延値の最大値および最小値の修正が行われる（第１遅延修正）（ステップＳ２４）。上述の通り、リソグラフィシミュレーションを実行して遅延値の修正を行うことにより、マージンの削減が可能となる。
【００６９】
そして、修正された第１パスの遅延値の最大値および最小値と第２パスの遅延値の最大値および最小値を用いて、クロストーク発生箇所として検出されたパスのクロストーク計算が行われる（ステップＳ２５）。この点も実施の形態１と同様である。その後、クロストーク計算の結果に基づいて、第１パスの遅延値の最大値および最小値と第２パスの遅延値の最大値および最小値とがさらに修正される（第２遅延修正）（ステップＳ２６）。これも実施の形態１と同様である。そして、クロストーク計算の結果に基づいてさらに修正された第１パスの遅延値の最大値および最小値と第２パスの遅延値の最大値および最小値を用いて、タイミング検証が行われる（ステップＳ２７）。これも実施の形態１と同様である。
【００７０】
そして、タイミング検証を行った結果、タイミングが収束したか否かが判定される（ステップＳ２８）。タイミングが収束した場合（ステップＳ２８ＹＥＳ）、半導体集積回路の設計が終了する。タイミングが収束しない場合には（ステップＳ２８ＮＯ）、設計の修正が行われる（ステップＳ２９）。そして、再度、ステップＳ２０に戻り遅延値の計算が行われ、その後同様の処理手順を経てタイミング検証が行われる。
【００７１】
このように、本実施の形態では、リソグラフィシミュレーションによりマージンを削減し、クロストーク発生箇所として検出される箇所を少なくすることにより、ＴＡＴを削減することが可能となる。また、リソグラフィシミュレーションを実行するパスを特定することにより、リソグラフィシミュレーションにかかる時間を削減することができ、設計のＴＡＴをさらに削減することが可能となる。
【００７２】
なお、図７に示した、遅延計算部１１、クロストーク計算部１２、リソグラフィシミュレーション部１３、タイミング検証部１４、タイミングウインドウ計算部２０が実行する処理は、各データを格納するためのメモリ及びＣＰＵ（Central Processing Unit）を有するコンピュータに、図１０の処理手順が記述されたプログラムを実行させることによって実現可能である。
【００７３】
以上のように、本発明にかかる半導体装置の設計装置、設計方法は、ＬＳＩやシステムＬＳＩなどの設計対象回路に有用である。
【図面の簡単な説明】
【００７４】
【図１】実施の形態１に係る設計装置の構成を示すブロック図である。
【図２】半導体集積回路内の隣接する２本の並行配線の遅延値について説明する図である。
【図３】露光条件を考慮しない設計値どおりの配線の形状を示す図である。
【図４】配線の最大幅、最小幅を説明するための図である。
【図５】リソグラフィシミュレーションにより露光条件を考慮した、実際の配線の形状を示す図である。
【図６】実施の形態１に係る設計方法を説明するためのフローチャートである。
【図７】実施の形態２に係る設計装置の構成を示すブロック図である。
【図８】半導体集積回路内の隣接する２本の並行配線のタイミングウインドウについて説明する図である。
【図９】半導体集積回路内の隣接する２本の並行配線のタイミングウインドウについて説明する図である。
【図１０】実施の形態２に係る設計方法を説明するためのフローチャートである。
【符号の説明】
【００７５】
１０  設計装置
１１  遅延計算部
１２  クロストーク計算部
１３  リソグラフィシミュレーション部
１４  タイミング検証部
１５  回路データ
１６  遅延データ
１７  レイアウトデータ
１８  リソグラフィモデル
１９  シリコン形状データ
２０  タイミングウインドウ計算部
２１  限定パス情報
Ａ  第１パス
Ｂ  第２パス
【図１】
2010140216.tif 000003
【図２】
2010140216.tif 000004
【図３】
2010140216.tif 000005
【図４】
2010140216.tif 000006
【図５】
2010140216.tif 000007
【図６】
2010140216.tif 000008
【図７】
2010140216.tif 000009
【図８】
2010140216.tif 000010
【図９】
2010140216.tif 000011
【図１０】
2010140216.tif 000012