(57)【要約】【課題】クロストーク対策必要性の判定が不要な箇所をクロストーク対策の対象から除外して、処理量を減少させる。【解決手段】クロストーク対策の必要性を判定すべき箇所を検出するクロストーク解析を行い、検出された箇所のそれぞれに対して、その箇所を通り、クロストーク対策必要性の検証対象となる２つの信号の同時スイッチングの有無を判定する論理検証を行い、同時スイッチングが発生しないと判定された箇所を除いて、クロストーク解析によって検出された箇所に対するクロストーク対策の必要性を判定する。【選択図】図１
2009157664.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路内でクロストーク対策の必要性を判定すべき箇所を検出するクロストーク解析を行い、
該クロストーク解析によって検出された箇所のそれぞれに対して、該箇所を通り、クロストーク対策必要性の検討対象となる２つの信号の同時スイッチングの発生の有無を判定する論理検証を行い、
該論理検証によって同時スイッチングが発生しないと判定された箇所を除いて、前記クロストーク解析によって検出された箇所に対するクロストーク対策の必要性を判定することを特徴とするクロストーク対策実行方法。
【請求項２】
前記同時スイッチング発生の有無を判定する論理検証において、前記同時スイッチングの動作を論理記述言語で定義し、論理検証を行うことを特徴とする請求項１に記載のクロストーク対策実行方法。
【請求項３】
半導体集積回路内でクロストーク対策の対象となるモジュール内の全ての信号の２つずつの組合せに対して、該２つの信号の同時スイッチング発生の有無を判定する論理検証を行い、
前記モジュール内でクロストーク対策の必要性を判定すべき箇所を検出するクロストーク解析を行い、
前記クロストーク解析によって検出された箇所のうちで、前記論理検証によって同時スイッチングが発生しないと判定された組合せの２つの信号が通る箇所を除き、前記検出された箇所に対するクロストーク対策の必要性を判定することを特徴とするクロストーク対策実行方法。
【請求項４】
前記同時スイッチング発生の有無を判定する論理検証において、前記同時スイッチングの動作を論理記述言語で定義し、論理検証を行うことを特徴とする請求項４に記載のクロストーク対策実行方法。
【請求項５】
半導体集積回路内でクロストーク対策の必要性を判定すべき箇所を検出するクロストーク解析を行うステップと、
該クロストーク解析によって検出された箇所のそれぞれに対して、該箇所を通り、クロストーク対策必要性の検討対象となる２つの信号の同時スイッチングの発生の有無を判定する論理検証を行うステップと、
該論理検証によって同時スイッチングが発生しないと判定された箇所を除いて、前記クロストーク解析によって検出された箇所に対するクロストーク対策の必要性を判定するステップとを計算機に実行させることを特徴とするクロストーク対策実行プログラム。
【請求項６】
半導体集積回路内でクロストーク対策の対象となるモジュール内の全ての信号の２つずつの組合せに対して、該２つの信号の同時スイッチング発生の有無を判定する論理検証を行うステップと、
前記モジュール内でクロストーク対策の必要性を判定すべき箇所を検出するクロストーク解析を行うステップと、
前記クロストーク解析によって検出された箇所のうちで、前記論理検証によって同時スイッチングが発生しないと判定された組合せの２つの信号が通る箇所を除き、前記検出された箇所に対するクロストーク対策の必要性を判定するステップとを計算機に実行させることを特徴とするクロストーク対策実行プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ設計時のレイアウト段階における配線処理方式に係り、さらに詳しくはＬＳＩ上でのクロストーク対策の必要性を判定し、必要と判定された箇所に対してクロストーク対策を行うためのクロストーク対策実行方法、および実行プログラムに関する。
【背景技術】
【０００２】
近年、ＬＳＩ製造工程における微細化の進行に伴って、ＬＳＩの内部の配線の間隔が狭くなり、また配線間の静電容量が大きくなる傾向が続いている。このためＬＳＩの設計において、信号遅延の増加やクロストークノイズに対する対策が重要になっている。
【０００３】
従来においては、ＬＳＩの内部で隣接して平行配線が行われ、物理的にクロストークが発生する可能性がある全ての箇所において、２つの信号の同時スイッチングによる遅延の影響を考慮した上で静的タイミング解析（ＳＴＡ、スタティック・タイミング・アナリシス）が行われ、エラーが発生した場合には平行配線長の短縮や、平行配線の間隔を大きくするスペーシング配線などによって、クロストーク対策が行われている。
【０００４】
図１０は、クロストーク対策処理の従来例の全体フローチャートである。同図においてまずステップＳ１００で遅延計算が行われる。この処理では、ＬＳＩのレイアウトデータが与えられ、回路の各部分における入力信号の遅延量が計算される。次にステップＳ１０１でクロストーク解析が行われる。このクロストーク解析の処理では、レイアウトデータに基づいて、例えば平行配線の長さが規定されている制約量に違反する場合など、物理的にクロストークの発生する可能性がある箇所が検出される。
【０００５】
続いてステップＳ１０２で、ステップＳ１０１で検出された箇所での信号の同時スイッチングによる遅延の変動量が求められ、ステップＳ１０３でタイミング解析、例えば静的タイミング解析（ＳＴＡ）が行われ、ステップＳ１０４でタイミングエラーがあったか否かが判定される。
【０００６】
タイミングエラーがあった場合にはステップＳ１０５で、そのタイミングエラーを解消するためのクロストーク対策、すなわち配線間の間隔の拡大や平行配線長の短縮などが行われ、その後ステップＳ１００以降の処理が繰り返され、ステップＳ１０４でタイミングエラーがなかったと判定された時点でレイアウトを完了する。
【０００７】
しかしながら物理的にクロストークが発生する可能性がある全ての箇所に対して、信号の同時スイッチングによる遅延の影響を考慮した上でＳＴＡを行い、クロストーク対策を行うと、平行配線長や配線間の間隔などについての制約が増加するために配線処理量が増加し、配線処理に多くの時間が必要となるという問題点があった。
【０００８】
このようなクロストーク対策に関する従来技術としての特許文献１においては、クロストークが発生するか否かを判定する必要がある区間を限定し、タイミング解析の結果に影響を与えるようなクロストークの検出を行うようにすることにより、必要がないクロストークの検出を行って、その抑制のための無駄な回路修正を行わないようにすることができるクロストークノイズ検出方法が開示されている。
【０００９】
同様の従来技術としての特許文献２には、低駆動能力セルの使用を禁止した状態でレイアウトを行い、レイアウト後の解析によって、違反が発生しない箇所に対しては低駆動能力セルへの置き換えを行うことによって余裕のある箇所に対する制約を緩和することがで
きるＬＳＩ設計手法が開示されている。
【００１０】
このような従来技術を用いても、物理的にクロストークが発生する可能性がある全ての箇所に対応したタイミング解析後にクロストーク対策を行う場合には、結果的に処理量が増加し、処理に時間がかかるという問題点を解決することはできなかった。
【特許文献１】特開２００４−２８０４３９号公報「クロストークノイズ検出方法、並びに半導体集積回路の設計方法及び設計検証方法」
【特許文献２】特開２００４−３４８２９８号公報「ＬＳＩ設計手法」
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の課題は、上述の問題点に鑑み、物理的にクロストークが発生する可能性がある箇所のうちで、クロストーク対策必要性判定が不要な箇所については、同時スイッチングによる遅延の影響を考慮したタイミング解析以降のクロストーク対策の対象から除外することにより、クロストーク対策の処理量を減らすことである。
【課題を解決するための手段】
【００１２】
このクロストーク対策実行方法においては、クロストーク対策の必要性を判定すべき箇所、例えば物理的にタイミングエラーの原因となるクロストークが発生する可能性がある箇所を検出するクロストーク解析を行い、検出された箇所のそれぞれに対してその箇所を通り、クロストーク対策必要性の検討対象となる２つの信号の同時スイッチングの発生の有無を論理的に判定し、同時スイッチングが発生しないと判定された箇所を除いて、クロストーク解析によって検出された箇所に対するクロストーク対策の必要性を判定する方法が用いられる。
【００１３】
クロストーク対策実行方法において、クロストーク対策の対象モジュール内の全ての信号の２つずつの組合せに対して、２つの信号の同時スイッチング発生の有無を論理的に判定し、モジュール内でクロストーク対策の必要性を判定すべき箇所を検出し、検出された箇所のうちで、同時スイッチングが発生しないと判定された組合せの２つの信号が通る箇所を除いて、クロストーク対策の必要性を判定する方法が用いられる。
【００１４】
またこのプログラムは、このクロストーク対策実行方法を、例えばＬＳＩ設計装置において実行するためのプログラムである。
このようにクロストーク対策の必要性を判定すべき箇所のうちで、その箇所を通る２つの信号の同時スイッチングが発生しないと判定された箇所については、クロストーク対策の必要性判定対象から除外することになる。
【発明の効果】
【００１５】
このように、物理的にクロストークが発生する可能性のある全ての箇所のうちで、その箇所を通る２つの信号の同時スイッチングが発生しない箇所を、クロストーク対策必要性判定対象から除外することによって、クロストーク対策の処理量を減少させ、また処理時間を短くすることが可能となり、ＬＳＩ設計効率向上に寄与するところが大きい。
【発明を実施するための最良の形態】
【００１６】
図１は、本実施形態におけるクロストーク対策実行方法の基本的な機能ブロック図である。同図においてまずステップＳ１で、クロストーク対策の必要性を判定するべき箇所、例えばＬＳＩの内部で平行配線長があらかじめ定められた制約に違反する箇所のように、物理的にタイミングエラーの原因となるクロストークが発生する可能性がある箇所がクロストーク解析によって検出される。
【００１７】
続いてステップＳ２で、クロストーク解析によって検出された箇所、すなわちクロストーク対策の必要性を判定すべき箇所のそれぞれに対して、その箇所を通り、クロストーク対策必要性の検討対象となる２つの信号の同時スイッチングの発生の有無が判定される。この判定は後述するように論理検証、すなわちフォーマル検証によって行われる。
【００１８】
最後にステップＳ３で、同時スイッチングの発生しない箇所を除いて、クロストーク解析によって検出された箇所に対するクロストーク対策の必要性が判定される。この判定においては、例えば同時スイッチングによる遅延の影響を考慮した上で、静的タイミング解析（ＳＴＡ）が行われ、タイミングエラーが発生した場合に、実際のクロストーク対策として平行配線長を短くしたり、平行配線間の間隔を広げるなどの処理が行われる。
【００１９】
図２は、第１の実施例におけるクロストーク対策処理の全体フローチャートである。同図の処理は図１０の従来例におけると類似しているが、ステップＳ１でレイアウトデータが与えられて遅延計算が行われ、ステップＳ２でクロストーク解析が行われた後に、ステップＳ３で論理的同時スイッチング検証が行われる点が、図１０の従来例との基本的な相違である。
【００２０】
この論理的同時スイッチング検証は、クロストーク解析によって物理的にクロストークが発生する可能性があるものとして検出されたすべての箇所を対象として、対象箇所を通り、クロストーク対策必要性の検討対象となる２つの信号の同時スイッチングが起こるか否かを論理的に、すなわち論理式を用いて検証するものであり、フォーマル検証と呼ばれるものである。
【００２１】
そして第１の実施例では、この論理的同時スイッチング検証の結果、すなわちフォーマル検証の結果として、同時スイッチングが発生しないと判定された箇所を除いて、ステップＳ２のクロストーク解析によって検出された箇所を対象としてステップＳ４以降の処理が行われることによって、ステップＳ４以降の処理の処理量を減少させることが可能となる。
【００２２】
図３は、図２のステップＳ３における論理的同時スイッチング検証のためのフォーマル検証の一般的説明図である。フォーマル検証とは、静的に論理証明を行う検証であり、論理記述言語で定義された信号の動作がＬＳＩの回路内で実際に起こるかどうかを検証するものである。このような信号の動作は、一般的にプロパティとして、レジスタ・トランスファー・レベル、すなわちＲＴＬ（モデルのデータ）に挿入され、その動作が論理的に検証される。
【００２３】
図３においてＲＴＬ１に対して、動作を確認すべき信号に対応してプロパティ２が挿入され、プロパティ入りＲＴＬ３が作成され、フォーマル検証ツール４に与えられる。
フォーマル検証ツール４は、プロパティ２によって定義された動作が発生するか否かを検証するものであり、リセットシーケンス後の状態から可能な入力に対する全ての状態遷移が網羅的に探索され、検証結果５が得られる。
【００２４】
図４は、図２における論理的同時スイッチング検証の詳細処理フローチャートである。図３では、ＲＴＬ１に対してプロパティ２が挿入され、プロパティ入りＲＴＬ３が作成されて、一般的なフォーマル検証が行われるものとしたが、本実施形態ではＲＴＬ（モデルのデータ）の代わりにネットリストが用いられ、ネットリストにプロパティが挿入され、フォーマル検証が行われるものとする。クロストークの発生箇所については、セルの接続関係を示すネットリストの方が、ＲＴＬよりもレイアウトデータとの対応関係がわかりやすいため、ネットリストを用いるものとする。すなわち、ネットリストに配置・配線情報を加えたものがレイアウトデータであり、レイアウトデータのクロストーク発生箇所のデ
ータからネットリストへのプロパティ挿入箇所を特定できる。
【００２５】
図４において、図２のステップＳ２におけるクロストーク解析の結果として検出されたクロストークが発生する可能性がある箇所のリストとしてのクロストーク発生箇所リスト１０と、ネットリスト１１との入力に対してステップＳ１０でプロパティ挿入が行われ、プロパティ入りネットリスト１２が得られ、このプロパティ入りネットリスト１２を用いてステップＳ１１でフォーマル検証が行われ、フォーマル検証結果１３が得られる。なお、ネットリスト１１は、レイアウトデータの一部であり、図２のステップＳ１で遅延計算のステップに与えられたレイアウトデータのうちのネットリストが用いられるものと考えることもできる。ネットリスト１１に挿入されるプロパティや、それを用いたフォーマル検証の詳細については後述する。
【００２６】
図５は、図２のステップＳ４の遅延変動量計算からステップＳ７のクロストーク対策までに相当するタイミングエラー解析、およびクロストーク対策処理の説明図である。この処理においては、クロストーク発生箇所リスト１０、すなわちステップＳ２のクロストーク解析の結果のリストと、図４のステップＳ１１の処理の結果としてのフォーマル検証結果１３に加えて、レイアウトデータ１４を用いて、遅延変動量計算からＳＴＡによるタイミング解析、タイミングエラーが検出された場合のクロストーク対策がステップＳ１２で行われ、クロストーク対策済みレイアウトデータ１５が得られる。
【００２７】
続いてフォーマル検証についてさらに説明する。このフォーマル検証、すなわち論理的同時スイッチング検証処理においては、物理的にタイミングエラーの原因となるクロストークが発生する可能性がある箇所で、２つの信号の間で同時スイッチングが発生しないことを論理的に証明するための検証が行われる。すなわち、２つの信号が同一時刻に変化する動作以外の動作をプロパティとして定義し、このプロパティをネットリストに挿入して、同一時刻に変化する動作が発生しないことをフォーマル検証で証明することによって、論理的同時スイッチングが発生しないことを証明するものである。
【００２８】
図６は、ＬＳＩの回路内におけるクロストーク発生箇所の説明図である。このクロストーク発生箇所ではそれぞれ２つの信号、すなわち信号Ａと信号Ｂの間、信号Ｃと信号Ｄの間に物理的にクロストークが発生する可能性があることがクロストーク解析によって検出されているものとする。
【００２９】
図７は、２つの信号、例えば信号Ａと信号Ｂとの間で物理的にクロストークが発生する可能性がある場合、信号Ａと信号Ｂが同時に変化しないことを検証するためのプロパティを示す。なお、ここで例えばＡ＝１の状態をＡ、Ａ＝０の状態を〜Ａで示すものとする。
【００３０】
図７の第１行はプロパティとしてのａｓｓｅｒｔ１を示す。このプロパティは現在の状態がＡ＝Ｂ＝０の場合に対応する。この状態から２つの信号が同時に変化するとすれば、次の状態はＡ＝Ｂ＝１となる。したがってプロパティは、次の状態がＡ＝０、Ｂ＝１、またはＡ＝１、Ｂ＝０、またはＡ＝０、Ｂ＝０のいずれかの状態になることを検証するためのものとなる。第２行は、このプロパティａｓｓｅｒｔ１を検証することを示す。
【００３１】
図７の第３行は現在の状態がＡ＝０、Ｂ＝１の場合に対応するプロパティである。このプロパティは、次の状態がＡ＝Ｂ＝０、またはＡ＝Ｂ＝１、またはＡ＝０、Ｂ＝１のいずれかの状態となる場合のプロパティである。
【００３２】
図７の第５行は現在の状態がＡ＝１、Ｂ＝０の場合に対応するプロパティを示す。このプロパティは次の状態がＡ＝Ｂ＝０、またはＡ＝Ｂ＝１、またはＡ＝１、Ｂ＝０のいずれかの状態となることを検証するためのものである。
【００３３】
第７行は、現在の状態がＡ＝Ｂ＝１であり、次の状態がＡ＝０、Ｂ＝１、またはＡ＝１、Ｂ＝０、またはＡ＝Ｂ＝１となる場合のプロパティである。
図８は図７のプロパティがネットリストに挿入され、フォーマル検証が実行された結果の例である。この例においてＰＡＳＳはプロパティによって記述されていない動作、すなわち同時スイッチングが発生しなかったことを示し、ＦＡＩＬはプロパティで示されていない動作、すなわち同時スイッチングが発生することを示す。図８の例ではａｓｓｅｒｔ３、すなわち現在の状態がＡ＝１、Ｂ＝０の場合に次の状態がＡ＝０、Ｂ＝１となる同時スイッチングが発生することが示されたこととなり、この２つの信号Ａ、信号Ｂが通り、物理的にクロストークが発生する可能性のある箇所に対して、次のステップＳ４における遅延変動量計算以降の処理が必要となる。なお、４つのプロパティに対してフォーマル検証の結果がすべてＰＡＳＳとなる場合には、２つの信号の間で同時スイッチング動作が発生しないことが検証され、この箇所に対しては図２のステップＳ４以降の処理は行われないことになる。
【００３４】
図２〜８において、第１の実施例について詳細に説明したが、この実施例においては図２のステップＳ６でタイミングエラーがあったと判定されると、ステップＳ７でクロストーク対策が行われた後に、ステップＳ１の遅延計算以降の処理が繰り返される。この繰り返し処理においては、ステップＳ３の論理的同時スイッチング検証の処理も繰り返される。論理的同時スイッチング検証が再び必要となる理由は、ステップＳ２のクロストーク解析によって物理的にクロストークが発生する可能性があるものとして検出される箇所が異なってくるためである。
【００３５】
すなわち論理的同時スイッチング検証は、ＬＳＩの回路内の２つの信号、例えば信号Ａと信号Ｂとの間で同時スイッチングが起こるか、起こらないかを示すものであり、その検証は論理的に行われるために、その結果はレイアウトや配線の形態には本来無関係に得られるものである。
【００３６】
しかしながら図２のステップＳ７でクロストーク対策が行われ、２つの信号Ａ、Ｂが通る箇所に対応して２つの信号Ａ、Ｂの配線の間隔が広げられた場合には、例えばその付近を通る信号Ｃの配線と信号Ａの配線との間隔が狭くなり、その結果としてステップＳ２のクロストーク解析で以前には検出されなかった箇所が新たに検出され、結果的にステップＳ３で信号Ａと信号Ｃとの間の論理的同時スイッチング検証が必要となることになる。
【００３７】
このような論理的同時スイッチング検証処理の繰り返しを防ぐ実施例を第２の実施例として説明する。図９は、第２の実施例におけるクロストーク対策処理の全体フローチャートである。同図を第１の実施例に対する図２と比較すると、論理的同時スイッチング検証の処理が、ステップＳ１の遅延計算の処理の前に、すなわちクロストーク対策の全体処理に先立って行われる点が基本的に異なっている。
【００３８】
すなわち第２の実施例では、最初にＬＳＩのチップ全体、またはチップの一部としてのクロストーク対策対象のモジュールに対して、論理的同時スイッチング検証が行われる。この検証では、例えばクロストーク対策対象のモジュール内の全ての信号相互間で論理的同時スイッチング検証が行われ、その結果が図４で説明したフォーマル検証結果１３として得られる。その結果がステップＳ４の遅延変動量計算の処理や、ステップＳ７のクロストーク対策の処理に与えられることによって、同時スイッチングが発生しない箇所を図５のステップＳ１２におけるタイミングエラー解析、およびクロストーク対策処理から除外することが可能となる。
【００３９】
第２の実施例では、クロストーク対策対象のモジュール内の全ての信号に対して、信号
相互間の論理的同時スイッチング検証を行う必要があるため、第１の実施例に対する図２のステップＳ３の処理と異なって処理にかなり時間がかかることも予想される。しかしながらこの処理では、図４と異なってクロストーク発生箇所リスト１０を用いることなく、ネットリスト１１だけが事前に必要なデータであり、このネットリストはＬＳＩ設計の初期段階、すなわちＬＳＩを構成するセルの間の接続関係が決定された時点で作成可能であり、論理的同時スイッチング検証もＬＳＩ設計の初期段階で実行可能であることから、処理に時間を要するということはあまり大きな問題とはならない。
【００４０】
なお、第２の実施例において、フォーマル検証結果がすべての信号相互間の論理的同時スイッチング検証結果を含むものであること以外は、遅延変動量計算やクロストーク対策の処理内容は第１の実施例におけると同じになる。
【００４１】
以上においては、本実施形態における特徴的処理としての論理的同時スイッチング検証を、ネットリストにプロパティを挿入することによって行うものとしたが、他の実施形態としてはネットリストの代わりにＲＴＬのデータを用い、ＲＴＬに対してプロパティを挿入し、フォーマル検証を行うことも可能であり、発明の実施形態としては様々な形態が可能である。
【図面の簡単な説明】
【００４２】
【図１】本実施形態におけるクロストーク対策実行方法の基本的な機能ブロック図である。
【図２】第１の実施例におけるクロストーク対策処理の全体フローチャートである。
【図３】一般的なフォーマル検証の説明図である。
【図４】第１の実施例における論理的同時スイッチング検証処理のフローチャートである。
【図５】第１の実施例におけるタイミングエラー解析、およびクロストーク対策処理の説明図である。
【図６】ＬＳＩにおけるクロストーク発生箇所の説明図である。
【図７】信号Ａと信号Ｂに関するプロパティの説明図である。
【図８】フォーマル検証結果の例である。
【図９】第２の実施例におけるクロストーク対策処理の全体フローチャートである。
【図１０】クロストーク対策処理の従来例の全体フローチャートである。
【符号の説明】
【００４３】
１      ＲＴＬ（レジスタ・トランスファー・レベル）
２      プロパティ
３      プロパティ入りＲＴＬ
４      フォーマル検証ツール
５      検証結果
１０      クロストーク発生箇所リスト
１１      ネットリスト
１２      プロパティ入りネットリスト
１３      フォーマル検証結果
１４      レイアウトデータ
１５      クロストーク対策済みレイアウトデータ
【図１】
2009157664.tif 000003
【図２】
2009157664.tif 000004
【図３】
2009157664.tif 000005
【図４】
2009157664.tif 000006
【図５】
2009157664.tif 000007
【図６】
2009157664.tif 000008
【図７】
2009157664.tif 000009
【図８】
2009157664.tif 000010
【図９】
2009157664.tif 000011
【図１０】
2009157664.tif 000012