(57)【要約】【課題】レイアウト設計の負担を軽減すること。【解決手段】設計支援装置１０は、複数の区間のそれぞれについて、電源配線が並走していない場合のクロストークノイズ値を算出する。また、設計支援装置１０は、複数の区間のそれぞれについて、区間における２本の信号線と電源配線との相対的な位置関係に基づいて、２本の信号線間の領域に含まれる電源配線の領域が小さくなるほど、大きくなるような係数Ｆｓｈｉｅｌｄを算出する。また、設計支援装置１０は、複数の区間のそれぞれについて、区間に対応する係数Ｆｓｈｉｅｌｄを用いて、区間に対応するクロストークノイズ値を補正する。また、設計支援装置１０は、複数の区間のそれぞれに対応する補正されたクロストークノイズ値の合計を２本の信号配線間のクロストークノイズ値として算出する。【選択図】図４
2014112331.tif 000002
【特許請求の範囲】
【請求項１】
回路における２本の信号配線間に電源配線が並走する場合に、並走する該電源配線の位置に基づいて、前記２本の信号配線が延びる方向を複数の区間に分割する分割部と、
前記複数の区間のそれぞれについて、前記電源配線が並走していない場合のクロストークノイズ値を算出する第１の算出部と、
前記複数の区間のそれぞれについて、該区間における前記２本の信号線と前記電源配線との相対的な位置関係に基づいて、前記２本の信号線間の領域に含まれる前記電源配線の領域が小さくなるほど、大きくなるような係数を算出する第２の算出部と、
前記複数の区間のそれぞれについて、該区間に対応する前記係数を用いて、該区間に対応する前記クロストークノイズ値を補正する補正部と、
前記複数の区間のそれぞれに対応する前記補正部により補正された前記クロストークノイズ値の合計を前記２本の信号配線間のクロストークノイズ値として算出する第３の算出部と
を有することを特徴とする設計支援装置。
【請求項２】
前記第２の算出部は、前記複数の区間のそれぞれについて、所定面に前記２本の信号配線及び前記電源配線を投影させた場合に、前記２本の信号配線の前記所定面への２つの投影領域のうち、一方の撮影領域の全領域が前記電源配線の前記所定面への投影領域に含まれるときに、他方の撮影領域に含まれる前記電源配線の前記所定面への投影領域の割合が小さくなるほど、大きくなるような前記係数を算出する
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記第２の算出部は、前記複数の区間のそれぞれについて、前記他方の撮影領域に前記電源配線の前記所定面への投影領域が含まれていない場合には、前記係数として、該係数の最大値を算出する
ことを特徴とする請求項２に記載の設計支援装置。
【請求項４】
前記第２の算出部は、前記複数の区間のそれぞれについて、前記他方の撮影領域の全領域に前記電源配線の前記所定面への投影領域が含まれている場合には、前記係数として、該係数の最小値を算出する
ことを特徴とする請求項３に記載の設計支援装置。
【請求項５】
コンピュータが、
回路における２本の信号配線間に電源配線が並走する場合に、並走する該電源配線の位置に基づいて、前記２本の信号配線が延びる方向を複数の区間に分割し、
前記複数の区間のそれぞれについて、前記電源配線が並走していない場合のクロストークノイズ値を算出し、
前記複数の区間のそれぞれについて、該区間における前記２本の信号線と前記電源配線との相対的な位置関係に基づいて、前記２本の信号線間の領域に含まれる前記電源配線の領域が小さくなるほど、大きくなるような係数を算出し、
前記複数の区間のそれぞれについて、該区間に対応する前記係数を用いて、該区間に対応する前記クロストークノイズ値を補正し、
前記複数の区間のそれぞれに対応する補正された前記クロストークノイズ値の合計を前記２本の信号配線間のクロストークノイズ値として算出する
各処理を実行することを特徴とする設計支援方法。
【請求項６】
コンピュータに、
回路における２本の信号配線間に電源配線が並走する場合に、並走する該電源配線の位置に基づいて、前記２本の信号配線が延びる方向を複数の区間に分割し、
前記複数の区間のそれぞれについて、前記電源配線が並走していない場合のクロストークノイズ値を算出し、
前記複数の区間のそれぞれについて、該区間における前記２本の信号線と前記電源配線との相対的な位置関係に基づいて、前記２本の信号線間の領域に含まれる前記電源配線の領域が小さくなるほど、大きくなるような係数を算出し、
前記複数の区間のそれぞれについて、該区間に対応する前記係数を用いて、該区間に対応する前記クロストークノイズ値を補正し、
前記複数の区間のそれぞれに対応する補正された前記クロストークノイズ値の合計を前記２本の信号配線間のクロストークノイズ値として算出する
各処理を実行させることを特徴とする設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援装置、設計支援方法及び設計支援プログラムに関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large  Scale Integration）等の半導体集積回路の微細化及び高密度化が進んでいる。半導体集積回路のレイアウト設計方法としては、例えば、階層設計が一般的である。階層設計では、例えば、機能毎に複数のブロックに割り振られた回路が階層化され、それぞれの階層毎に複数の設計者によりレイアウト設計が行われる。そして、その後、レイアウト設計のデータを集めて全体のレイアウト設計が行われる。
【０００３】
また、上述したように、半導体集積回路では、微細化及び高密度化が進んでおり、信号配線間の距離が短くなっている。そのため、信号配線間のクロストークノイズが半導体集積回路に与える影響が強くなっており、クロストークノイズの影響を抑制する各種の技術がある。例えば、半導体集積回路において、信号配線の周囲（８方位）に電源配線を挿入したり、２本の信号配線間に並走する電源配線を挿入することでクロストークノイズをシールドしたりする技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００７／０７７６２３号
【特許文献２】特開２００４−１８６２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の技術では、クロストークノイズをシールドするために電源配線を挿入させることは、レイアウトの自由度を下げることもあり、また、挿入が困難な場所も存在する。また、格子状（メッシュ状）に配設されるグローバル電源配線などの挿入させることが困難な電源配線もある。さらに、膨大な数の配線すべてに対してシールドすることを目的として、電源配線を並走させることは実現が困難である。
【０００６】
すなわち、上記の電源配線を挿入させる技術を半導体集積回路に適用する場合には、すべての配線に対して電源配線を並走させることは実現が困難であり、実際には、電源配線が並走する部分と並走しない部分とが混在することとなる。
【０００７】
ここで、電源配線が並走する部分と並走しない部分とが混在する半導体集積回路におけるクロストークノイズチェックでは、電源配線が並走する部分が存在しても、電源配線によるクロストークノイズを抑制する効果を無視する。すなわち、電源配線によってクロストークノイズが抑制されていないものとして、クロストークノイズ値が算出され、クロストークノイズ値と所定の制限値とが比較され、エラー判定が行われる。このように、電源配線によるクロストークノイズの抑制を無視する理由の一例としては、たとえば、高速に処理を行うためという理由が挙げられる。上述したように、電源配線によるクロストークノイズの抑制が無視されているため、クロストークノイズチェックにおいて算出されるクロストークノイズ値は、実際の値よりも大きくなる。そのため、かかるクロストークノイズチェックでは、エラー判定が増えることとなる。この場合、半導体集積回路のレイアウト設計では、エラー判定のたびに、配線間の距離を広くするなどの作業が行われるため、レイアウト設計の負担が大きいという問題がある。
【０００８】
１つの側面では、レイアウト設計の負担を軽減することができる設計支援装置、設計支援方法及び設計支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示する設計支援装置は、一つの態様において、回路における２本の信号配線間に電源配線が並走する場合に、並走する電源配線の位置に基づいて、２本の信号配線が延びる方向を複数の区間に分割する分割部を有する。設計支援装置は、複数の区間のそれぞれについて、区間における２本の信号線と電源配線との相対的な位置関係に基づいて、２本の信号線間の領域に含まれる電源配線の領域が小さくなるほど、大きくなるような係数を算出する第１の算出部を有する。設計支援装置は、複数の区間のそれぞれについて、電源配線が並走していない場合のクロストークノイズ値を算出する第２の算出部を有する。設計支援装置は、複数の区間のそれぞれについて、区間に対応する係数を用いて、区間に対応するクロストークノイズ値を補正する補正部を有する。
【発明の効果】
【００１０】
設計支援装置、設計支援方法及び設計支援プログラムの一つの態様によれば、レイアウト設計の負担を軽減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、ＬＳＩモデルの一例を示す図である。
【図２Ａ】図２Ａは、ＬＳＩ設計の処理フローの一例を示す図である。
【図２Ｂ】図２Ｂは、各サブチップでの設計について説明するための図である。
【図３】図３は、各サブチップでの設計の見直し方法の一例を説明するための図である。
【図４】図４は、実施例に係る設計支援装置の機能構成の一例を示す図である。
【図５】図５は、Ａｇｇｒｅｓｓｏｒネットの抽出方法の一例について説明するための図である。
【図６Ａ】図６Ａは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図６Ｂ】図６Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図６Ｃ】図６Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図７】図７は、「Ｄ／Ｗ」の値と、Ｆｓｈｉｅｌｄとの関係の一例を示すグラフである。
【図８Ａ】図８Ａは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図８Ｂ】図８Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図８Ｃ】図８Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図９Ａ】図９Ａは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図９Ｂ】図９Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図９Ｃ】図９Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図１０】図１０は、実施例に係るクロストークノイズチェック処理の手順を示すフローチャートである。
【図１１】図１１は、実施例に係る配線間ノイズ値算出処理の手順を示すフローチャートである。
【図１２Ａ】図１２Ａは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図１２Ｂ】図１２Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図１２Ｃ】図１２Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。
【図１３】図１３は、設計支援プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する設計支援装置、設計支援方法及び設計支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【００１３】
本実施例の設計支援装置は、複数の階層を有する半導体集積回路のレイアウト設計を行う装置である。以下、半導体集積回路として、ＬＳＩを例に挙げて説明する。
【００１４】
ここで、本実施例の設計支援装置によりレイアウト設計が行われるＬＳＩのモデル（ＬＳＩモデル）の一例について説明する。図１は、ＬＳＩモデルの一例を示す図である。図１の例に示すＬＳＩモデル２は、後述の階層分割によって、３つの階層を有することとなった場合を示す。図１の例のＬＳＩモデル２は、最上位の階層である１番目の階層に属する複数のチップ（chip）を有する。また、ＬＳＩモデル２は、１番目の階層の１つ下位の階層である２番目の階層に属するサブチップ（subchip）を有する。また、ＬＳＩモデル２は、２番目の階層の１つ下位の階層である３番目の階層に属するサブチップ（subchip）を有する。例えば、図１に示すように、ＬＳＩモデル２は、１番目の階層に属するチップ２ａを有する。また、チップ２ａは、２番目の階層に属するサブチップ２ｂを有する。また、チップ２ｂは、３番目の階層に属するサブチップ２ｃを有する。なお、チップ及びサブチップは、ＬＳＩを構成するモジュールである。
【００１５】
次に、ＬＳＩ設計の処理フローの一例を説明する。図２Ａは、ＬＳＩ設計の処理フローの一例を示す図である。
【００１６】
［ステップＳ１］まず、設計者は、所望の機能を実現するために予め決めたアーキテクチャ（構造）に基づき、Ｖｅｒｉｌｏｇ ＨＤＬ（Hardware  Description  Language）またはＶＨＤＬ（VHSIC  HDL）などの記述言語による記述によってＬＳＩを設計する。これはＲＴＬ（Register  Transfer  Level）設計と呼ばれるものであり、ＬＳＩ設計の処理フローの最初の工程になる。但し、動作モデル等を用いた動作設計が事前に行われる場合もあるが、説明の簡略化のため省略している。かかる動作設計では、クロック周期やレイテンシなどの制約を与えて動作合成が実行される。なお、図２Ａでは省略されているが、ＲＴＬ設計の段階では、ＲＴＬで記述されたＬＳＩの論理検証も行い、回路の不具合が無くなるまでＲＴＬ記述を修正する。
【００１７】
［ステップＳ２］次に、ＲＴＬ設計が終了した後に論理合成を行う。論理合成は、ＲＴＬ記述から実際の回路素子により構成される回路情報であるネットリストを作成するための処理である。論理合成では、適切なタイミング制約等の合成制約の条件を設定し、生成したネットリストからなる回路が所望の動作周波数で動作するように合成を行う。論理合成が終了すると、生成したネットリストを用いてステップＳ３以降の処理でレイアウト設計を行う。
【００１８】
［ステップＳ３］設計者は、主要なＬＳＩを構成する各モジュールのおおよその配置を決めるフロアプランを行う。フロアプランでは、レイアウトを行うモジュール単位で階層分割し、分割した各モジュールについて、レイアウトするエリア内のどの辺りに配置するかを決定する。ここで、階層分割した際の下位階層のモジュールを「サブチップ」と呼ぶ。この階層分割により、後述するステップＳ５においてサブチップ内のクロストークの見積もりを独立して行うことができる。その後、ステップＳ４に遷移する。
【００１９】
［ステップＳ４］フロアプラン、階層分割が終了すると、階層毎に分割した各サブチップでの設計に入っていく。
【００２０】
ここで、図２Ｂを参照して、ステップＳ４の各サブチップでの設計について説明する。図２Ｂは、各サブチップでの設計について説明するための図である。
【００２１】
［ステップＳ１１］図２Ｂに示すように、各サブチップの設計では、まず設計者は、後述する設計支援装置１０を操作して、ＬＳＩのセル配置・配線を行う。その後、ステップＳ１２に遷移する。
【００２２】
［ステップＳ１２］設計者は、実際の配線を行った結果に対してクロストークノイズチェックをサブチップ毎に行わせるために、クロストークノイズチェックを実行する指示を設計支援装置１０に入力する。これに加えて、設計者は、サブチップのネットに関するデータを含む設計データを設計支援装置１０に入力する。その後、ステップＳ１３に遷移する。なお、クロストークノイズチェック以外のレイアウト検証やタイミング検証については、図２Ｂのフローでは省略している。
【００２３】
［ステップＳ１３］設計支援装置１０がクロストークノイズチェックを実行した結果、設計者は、設計支援装置１０からエラーが存在する旨の通知を受ければ（Ｓ１３肯定）、再度、ステップＳ１１に遷移してセルの配置および配線を見直す。そして、設計支援装置１０からエラーが存在しない旨の通知を受ければ（Ｓ１３否定）、図２Ａに示すステップＳ５に遷移する。このように、設計者は、サブチップ毎にクロストークノイズチェックのエラーが出なくなるまで見直しを行いながら、クロストークノイズの影響を抑制するようなサブチップの再設計を行う。例えば、設計者は、２本の信号配線間に電源配線などのシールド配線を配置したり、信号配線に信号を送信するドライバセルの信号出力の強度を調整したりする。
【００２４】
［ステップＳ５］設計者は、サブチップ毎の設計を完了し、サブチップ単位でのクロストークノイズのエラーの発生を抑制した上で、ＬＳＩの全体設計を行う。ＬＳＩの全体設計では、各サブチップを含む上位階層における配置・配線処理が行われる。
【００２５】
［ステップＳ６］全体設計が終了すると、設計者は、クロストークノイズチェックを行う。本ステップでのクロストークノイズチェックは、階層間でのクロストークノイズを含むチェックを行う。具体的には、設計者は、各サブチップにおける設計が終了した時点で、または、一部のサブチップについて設計が完了していない時点で、設計支援装置１０にクロストークノイズチェックを実行する指示を入力する。これに加えて、設計者は、チップ全体（ＬＳＩ全体）のネットに関するデータを含む設計データを設計支援装置１０に入力する。また、設計支援装置１０は、設計が完了していないサブチップをブラックボックスとして扱い、クロストークノイズチェックを行う。
【００２６】
［ステップＳ７］設計支援装置１０がクロストークノイズチェックを行った結果、チップ全体でエラーが存在すれば（Ｓ７肯定）、ステップＳ４に遷移して再度各サブチップでの設計を見直す。図３は、各サブチップでの設計の見直し方法の一例を説明するための図である。図３は、サブチップ５を有するチップ６を示す。図３に示すように、例えば、設計者は、２本の信号配線３ａ、３ｂ間に電源配線などのシールド配線３ｃを配置したり、信号配線３ｄ、３ｅに信号を送信するドライバセル３ｆ、３ｇの信号出力の強度を調整したりする。また、設計者は、サブチップ５の境界３ｈ近辺には信号配線が存在するかもしれないため、サブチップ５が属する階層よりも１つ上の階層に属するチップ６において、サブチップ５の境界３ｈから所定距離離れるように、信号配線３ｉを配置する。また、設計者は、サブチップ５の境界３ｈ近辺には信号配線が存在するかもしれないため、チップ６において、サブチップ５の境界３ｈ近辺の領域に対応する領域３ｊを信号配線を禁止する配線禁止領域として設定する。そして、再度チップ全体でクロストークノイズチェックのエラーが存在しなければ（Ｓ７否定）、ステップＳ８に遷移する。
【００２７】
［ステップＳ８］設計者は、ＬＳＩ全体でクロストークノイズチェックのエラーが存在しなくなった時点でＬＳＩを製造するデータを作成して、実際の入図に入ってＬＳＩの製造に進む。
【００２８】
なお、ステップＳ１２のクロストークノイズチェックは省略することもできる。この場合、各サブチップ内のクロストークノイズチェックもステップＳ６で行う。
【００２９】
以下、クロストークノイズチェックを実行する設計支援装置１０について説明する。なお、設計支援装置１０は、設計者などの操作によってＬＳＩのセル配置や配線なども行うことができる。
【００３０】
［設計支援装置の構成］
実施例に係る設計支援装置１０について説明する。図４は、実施例に係る設計支援装置の機能構成の一例を示す図である。図４に示すように、設計支援装置１０は、入力部１１と、出力部１２と、記憶部１３と、制御部１４とを有する。
【００３１】
入力部１１は、制御部１４に各種の情報を入力する。例えば、入力部１１は、クロストークノイズチェックを実行する指示を設計者から受け付けて、制御部１４に、かかる指示を入力する。また、入力部１１は、サブチップのネットに関するデータ、または、チップ全体のネットに関するデータを含む設計データを設計者から受け付けて、受け付けた設計データを制御部１４に入力する。入力部１１のデバイスの一例としては、キーボードやマウスなどが挙げられる。
【００３２】
出力部１２は、各種の情報を出力する。例えば、出力部１２は、後述の出力制御部１４ｈの制御によって、後述するチェック結果１３ｂの内容を表示する。出力部１２のデバイスの一例としては、モニターや液晶ディスプレイなどを含む表示装置が挙げられる。
【００３３】
記憶部１３は、制御部１４で実行される各種プログラムを記憶する。また、記憶部１３には、後述の登録部１４ａにより、設計データ１３ａが格納される。また、記憶部１３は、チェック結果ファイル１３ｂを記憶する。
【００３４】
設計データ１３ａについて説明する。例えば、設計データ１３ａは、サブチップの各ネットに関するデータを含むデータ、または、チップ全体の各ネットに関するデータを含むデータである。設計データ１３ａには、各ネットの２つの端子および２つの端子に接続される信号配線の位置を示す座標データなどが含まれる。また、かかる２つの端子の一例としては、信号配線に信号を送信するドライバセル、及び、信号配線に送信されたデータを受信するレシーバセルが挙げられる。また、設計データ１３ａには、各信号配線の種類、例えば、電源配線などの種類を示すデータが含まれる。
【００３５】
チェック結果ファイル１３ｂについて説明する。例えば、チェック結果ファイル１３ｂは、後述の判定部１４ｇによるクロストークノイズチェックのチェック結果が登録されるファイルである。
【００３６】
記憶部１３は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００３７】
制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部１４は、登録部１４ａと、分割部１４ｂと、第１の算出部１４ｃと、第２の算出部１４ｄと、補正部１４ｅと、第３の算出部１４ｆと、判定部１４ｇと、出力制御部１４ｈとを有する。
【００３８】
登録部１４ａは、各種の情報を登録する。例えば、登録部１４ａは、入力部１１から設計データ１３ａが入力されると、入力された設計データ１３ａを記憶部１３に格納して、設計データ１３ａを登録する。
【００３９】
分割部１４ｂは、ＬＳＩにおける２本の信号配線間に電源配線が並走する場合に、並走する電源配線の位置に基づいて、２本の信号配線が延びる方向を複数の区間に分割する。分割部１４ｂの一態様について説明する。分割部１４ｂは、まず、記憶部１３から設計データ１３ａを取得する。そして、分割部１４ｂは、取得した設計データ１３ａに含まれる各ネットのうち、Ｖｉｃｔｉｍネットとして未選択のネットがあるか否かを判定する。ここで、「Ｖｉｃｔｉｍネット」とは、クロストークノイズの影響を受ける信号配線を有するネットを指す。また、分割部１４ｂは、後述の判定部１４ｇによりチェック結果がチェック結果ファイル１３ｂに登録されるたびに、取得した設計データ１３ａに含まれる各ネットのうち、Ｖｉｃｔｉｍネットとして未選択のネットがあるか否かを判定する。
【００４０】
Ｖｉｃｔｉｍネットとして未選択のネットがある場合には、分割部１４ｂは、Ｖｉｃｔｉｍネットとして未選択のネットを１つ選択する。そして、分割部１４ｂは、選択したＶｉｃｔｉｍネットの各Ｖｉｃｔｉｍ配線のうち、未選択のＶｉｃｔｉｍ配線があるか否かを判定する。ここで、「Ｖｉｃｔｉｍ配線」とは、Ｖｉｃｔｉｍネットのクロストークノイズの影響を受ける信号配線を指す。未選択のＶｉｃｔｉｍ配線がある場合には、分割部１４ｂは、未選択のＶｉｃｔｉｍ配線を１つ選択する。
【００４１】
続いて、分割部１４ｂは、設計データ１３ａに含まれる選択したＶｉｃｔｉｍネット以外の各ネットの中から、選択したＶｉｃｔｉｍネットに対応するＡｇｇｒｅｓｓｏｒネットを抽出する。ここで、「Ａｇｇｒｅｓｓｏｒネット」とは、クロストークノイズの影響を与える信号配線を有するネットを指す。なお、設計データ１３ａに含まれる各ネットは、ＶｉｃｔｉｍネットにもＡｇｇｒｅｓｓｏｒネットにもなり得る。
【００４２】
Ａｇｇｒｅｓｓｏｒネットの抽出方法の一例について説明する。例えば、分割部１４ｂは、選択したＶｉｃｔｉｍ配線から所定範囲内に存在する信号配線を有するネットを、Ｖｉｃｔｉｍネットに対応するＡｇｇｒｅｓｓｏｒネットとして抽出する。図５は、Ａｇｇｒｅｓｓｏｒネットの抽出方法の一例について説明するための図である。図５の例は、ドライバセル２１ａ、レシーバセル２１ｂ、並びに、ドライバセル２１ａ及びレシーバセル２１ｂに接続された信号配線２１ｃを有するＶｉｃｔｉｍネット２１を示す。図５の例において、まず、分割部１４ｂは、信号配線２１ｃからの距離が「ｄ」以下となる区間を有する信号配線を特定する。そして、分割部１４ｂは、特定した信号配線、及び、特定した信号配線に接続された端子を有するネットをＡｇｇｒｅｓｓｏｒネットとして抽出する。例えば、図５の例において、分割部１４ｂは、信号配線２１ｃからの距離が「ｄ１」（≦「ｄ」）である区間Ａ１、及び、信号配線２１ｃからの距離が「ｄ２」（≦「ｄ」）である区間Ａ２を有する信号配線２２ｃを特定する。そして、分割部１４ｂは、特定した信号配線２２ｃ、並びに、信号配線２２ｃに接続されたドライバセル２２ａ及びレシーバセル２２ｂを有するネット２２をＡｇｇｒｅｓｓｏｒネットとして抽出する。また、図５の例において、分割部１４ｂは、信号配線２１ｃからの距離が「ｄ３」（≦「ｄ」）である区間Ａ３を有する信号配線２３ｃを特定する。そして、分割部１４ｂは、特定した信号配線２３ｃ、並びに、信号配線２３ｃに接続されたドライバセル２３ａ及びレシーバセル２３ｂを有するネット２３をＡｇｇｒｅｓｓｏｒネットとして抽出する。
【００４３】
続いて、分割部１４ｂは、抽出したＡｇｇｒｅｓｓｏｒネットのうち、未選択のＡｇｇｒｅｓｓｏｒネットがあるか否かを判定する。未選択のＡｇｇｒｅｓｓｏｒネットがない場合には、分割部１４ｂは、選択したＶｉｃｔｉｍネットの各Ｖｉｃｔｉｍ配線のうち未選択のＶｉｃｔｉｍ配線があるか否かを判定する上述した処理を再び行う。そして、分割部１４ｂは、かかる処理以降の処理を再び行う。また、分割部１４ｂは、後述の第３の算出部１４ｆにより、Ａｇｇｒｅｓｓｏｒノイズ値が内部メモリに格納された場合にも、抽出したＡｇｇｒｅｓｓｏｒネットのうち、未選択のＡｇｇｒｅｓｓｏｒネットがあるか否かを判定する。
【００４４】
一方、未選択のＡｇｇｒｅｓｓｏｒネットがある場合には、分割部１４ｂは、未選択のＡｇｇｒｅｓｓｏｒネットを１つ選択する。その後、分割部１４ｂは、選択したＡｇｇｒｅｓｓｏｒネットの各Ａｇｇｒｅｓｓｏｒ配線のうち、未選択のＡｇｇｒｅｓｓｏｒ配線があるか否かを判定する。ここで、「Ａｇｇｒｅｓｓｏｒ配線」とは、Ａｇｇｒｅｓｓｏｒネットのクロストークノイズの影響を与える信号配線を指す。また、後述の第３の算出部１４ｆにより、Ａｇｇｒｅｓｓｏｒノイズ値に配線間ノイズ値が加算されるたびに、分割部１４ｂは、選択したＡｇｇｒｅｓｓｏｒネットの各Ａｇｇｒｅｓｓｏｒ配線のうち、未選択のＡｇｇｒｅｓｓｏｒ配線があるか否かを判定する。
【００４５】
未選択のＡｇｇｒｅｓｓｏｒ配線がある場合には、分割部１４ｂは、未選択のＡｇｇｒｅｓｓｏｒ配線を１つ選択する。
【００４６】
そして、分割部１４ｂは、設計データ１３ａの内容に基づいて、選択したＶｉｃｔｉｍ配線及び選択したＡｇｇｒｅｓｓｏｒ配線の２本の信号配線間に、電源配線が存在するか否かを判定する。より具体的には、分割部１４ｂは、選択したＶｉｃｔｉｍ配線及び選択したＡｇｇｒｅｓｓｏｒ配線の互いに所定範囲内に存在する区間の間に、電源配線が存在するか否かを判定する。電源配線が存在する場合には、分割部１４ｂは、電源配線が２本の信号配線のうち少なくとも１本の信号配線を１００％覆うか否かを判定する。ここで、かかる判定方法の一例について図６Ａ及び図６Ｂを参照して説明する。
【００４７】
図６Ａ及び図６Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図６Ａは、選択したＶｉｃｔｉｍ配線３０及び選択したＡｇｇｒｅｓｓｏｒ配線３１の間に、電源配線３２が存在する場合のＶｉｃｔｉｍ配線３０、Ａｇｇｒｅｓｓｏｒ配線３１及び電源配線３２の平面図である。図６Ｂは、選択したＶｉｃｔｉｍ配線３０及び選択したＡｇｇｒｅｓｓｏｒ配線３１の間に、電源配線３２が存在する場合のＶｉｃｔｉｍ配線３０、Ａｇｇｒｅｓｓｏｒ配線３１及び電源配線３２の断面図である。
【００４８】
図６Ａ及び図６Ｂの場合において、分割部１４ｂは、各階層が並ぶ方向３４を法線ベクトルとする面に、方向３４と直交する方向のＶｉｃｔｉｍ配線３０の線幅Ｄｖ（ｎｍ）を投影させる。また、各階層が並ぶ方向３４を法線ベクトルとする面に、方向３４と直交する方向の電源配線３２の線幅を投影させる。そして、分割部１４ｂは、面に投影された電源配線３２の線幅に、面に投影されたＶｉｃｔｉｍ配線３０の線幅Ｄｖが全て含まれるか否かを判定する。分割部１４ｂは、面に投影された電源配線３２の線幅に、面に投影されたＶｉｃｔｉｍ配線３０の線幅Ｄｖが全て含まれる場合には、電源配線３２がＶｉｃｔｉｍ配線３０を１００％覆うと判定する。一方、分割部１４ｂは、面に投影された電源配線３２の線幅に、面に投影されたＶｉｃｔｉｍ配線３０の線幅Ｄｖが全て含まれない場合には、電源配線３２がＶｉｃｔｉｍ配線３０を１００％覆わないと判定する。
【００４９】
そして、分割部１４ｂは、電源配線がＶｉｃｔｉｍ配線を１００％覆わないと判定した場合には、選択したＡｇｇｒｅｓｓｏｒ配線に対しても同様の方法で、電源配線がＡｇｇｒｅｓｓｏｒ配線を１００％覆うか否かを判定する。電源配線が、Ｖｉｃｔｉｍ配線及びＡｇｇｒｅｓｓｏｒ配線のうち少なくとも１本の信号配線を１００％覆うと判定した場合には、分割部１４ｂは、次の処理を行う。すなわち、分割部１４ｂは、電源配線の位置に基づいて、２本の信号配線が互いに所定範囲内に存在する区間の信号配線が延びる方向を、電源配線が存在しない区間及び電源配線が存在する区間の複数の区間に分割する。複数の区間に分割する処理の一例について図６Ｃを参照して説明する。図６Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図６Ａに示す場合において、分割部１４ｂは、図６Ｃに示すように、信号配線３０、３１が所定範囲内に存在する区間の信号配線３０、３１が延びる方向を、電源配線３２が存在しない区間３５、３７及び電源配線３２が存在する区間３６の複数の区間に分割する。
【００５０】
そして、分割部１４ｂは、選択したＶｉｃｔｉｍ配線及び選択したＡｇｇｒｅｓｓｏｒ配線の組み合わせごとに、上述したような、信号配線が延びる方向を、電源配線が存在しない区間及び電源配線が存在する区間の複数の区間に分割する。
【００５１】
図４の説明に戻る。第１の算出部１４ｃは、分割部１４ｂにより分割された複数の区間のそれぞれについて、電源配線が並走していない場合のクロストークノイズ値を算出する。第１の算出部１４ｃの一態様について説明する。第１の算出部１４ｃは、まず、分割部１４ｂにより分割された複数の区間の全区間を選択済みであるか否かを判定する。また、第１の算出部１４ｃは、後述の第３の算出部１４ｆにより、配線間ノイズ値に、補正されたクロストークノイズ値が加算された場合にも、分割部１４ｂにより分割された複数の区間の全区間を選択済みであるか否かを判定する。
【００５２】
選択済みでない場合には、第１の算出部１４ｃは、未選択の区間を１つ選択する。例えば、図６Ｃの場合において、区間３５〜３７のいずれの区間も未選択である場合には、区間３５を選択する。そして、第１の算出部１４ｃは、選択した区間に、電源配線がないものとして、クロストークノイズ値（区間ノイズ値）を算出する。例えば、第１の算出部１４ｃは、長さＬと、係数Ｋと、値Ｃとの積の値を区間のクロストークノイズ値（区間ノイズ値）として算出する。ここで、長さＬは、区間の信号配線の線分の長さである。また、係数Ｋは、Ｖｉｃｔｉｍネット及びＡｇｇｒｅｓｓｏｒネットのドライバセルの信号を送信する強度に基づいた係数である。また、値Ｃは、ＶｉｃｔｉｍネットとＡｇｇｒｅｓｓｏｒネットとの距離、容量及び抵抗に基づいた緩和関数から導出される値である。
【００５３】
そして、第１の算出部１４ｃは、分割された区間ごとに、電源配線が並走していない場合のクロストークノイズ値（区間ノイズ値）を算出する。
【００５４】
図４の説明に戻る。第２の算出部１４ｄは、分割された複数の区間のそれぞれについて、区間における２本の信号線と電源配線との相対的な位置関係に基づいて、２本の信号線間の領域に含まれる電源配線の領域が小さくなるほど、大きくなるような係数Ｆｓｈｉｅｌｄを算出する。第２の算出部１４ｄの一態様について説明する。第２の算出部１４ｄは、まず、第１の算出部１４ｃにより選択された区間において、次のような処理を行う。すなわち、第２の算出部１４ｄは、各階層が並ぶ方向を法線ベクトルとする面に、２本の信号配線のうち、電源配線が１００％覆うと判定された信号配線以外の信号配線の線幅であって、各階層が並ぶ方向と直交する方向の線幅を投影させる。また、第２の算出部１４ｄは、第１の算出部１４ｃにより選択された区間において、各階層が並ぶ方向を法線ベクトルとする面に、電源配線の線幅であって、各階層が並ぶ方向と直交する方向の線幅を投影させる。そして、第２の算出部１４ｄは、面に投影された信号配線の線幅Ｗ（ｎｍ）に含まれる、面に投影された電源配線の線幅の長さＤ（ｎｍ）を算出する。例えば、図６Ｂが示す電源配線が存在する区間において、第２の算出部１４ｄは、面に投影されたＡｇｇｒｅｓｓｏｒ配線３１の線幅Ｗ（ｎｍ）に含まれる、面に投影された電源配線３２の線幅の長さＤ（ｎｍ）を算出する。なお、第１の算出部１４ｃにより選択された区間が、電源配線が存在しない区間である場合には、第２の算出部１４ｄは、電源配線が存在しないため、長さＤとして「０」を算出する。
【００５５】
続いて、第２の算出部１４ｄは、係数Ｆｓｈｉｅｌｄを下記の式（１）によって算出する。
Ｆｓｈｉｅｌｄ＝１−Ｄ／Ｗ・・・（１）
【００５６】
なお、図６Ｂの場合では、Ｄ＝Ｗであるため、Ｆｓｈｉｅｌｄ＝１−１＝０となる。また、第１の算出部１４ｃにより選択された区間が、電源配線が存在しない区間である場合には、Ｄ＝０であるため、Ｆｓｈｉｅｌｄ＝１−０＝１となる。図７は、「Ｄ／Ｗ」の値と、Ｆｓｈｉｅｌｄとの関係の一例を示すグラフである。上記の式（１）において、「Ｄ／Ｗ」の値は、０以上１以下の値となるため、Ｆｓｈｉｅｌｄの値は、図７に示すように、０以上１以下となる。また、図７のグラフから、「Ｄ／Ｗ」の値に応じて求まるＦｓｈｉｅｌｄの関数は、線形性を有するともいえる。
【００５７】
そして、第２の算出部１４ｄは、第１の算出部１４ｃにより選択された区間ごとに、すなわち、分割された区間ごとに、係数Ｆｓｈｉｅｌｄを算出する。
【００５８】
ここで、図８Ａ〜８Ｃ、及び、図９Ａ〜９Ｃを参照して、Ｄ＝Ｗでない場合のＦｓｈｉｅｌｄの値について説明する。図８Ａ及び図８Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図８Ａは、選択したＶｉｃｔｉｍ配線４０及び選択したＡｇｇｒｅｓｓｏｒ配線４１の間に、電源配線４２が存在する場合のＶｉｃｔｉｍ配線４０、Ａｇｇｒｅｓｓｏｒ配線４１及び電源配線４２の平面図である。図８Ｂは、選択したＶｉｃｔｉｍ配線４０及び選択したＡｇｇｒｅｓｓｏｒ配線４１の間に、電源配線４２が存在する場合のＶｉｃｔｉｍ配線４０、Ａｇｇｒｅｓｓｏｒ配線４１及び電源配線４２の断面図である。
【００５９】
図８Ａ及び図８Ｂの場合において、分割部１４ｂは、各階層が並ぶ方向を法線ベクトルとする面に、かかる方向と直交する方向のＶｉｃｔｉｍ配線４０の線幅を投影させる。また、各階層が並ぶ方向を法線ベクトルとする面に、かかる方向と直交する方向の電源配線４２の線幅を投影させる。そして、分割部１４ｂは、面に投影された電源配線４２の線幅に、面に投影されたＶｉｃｔｉｍ配線４０の線幅が全て含まれるか否かを判定する。図８Ａ及び図８Ｂの場合、分割部１４ｂは、面に投影された電源配線４２の線幅に、面に投影されたＶｉｃｔｉｍ配線４０の線幅が全て含まれると判定することで、電源配線４２がＶｉｃｔｉｍ配線４０を１００％覆うと判定する。図８Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図８Ａの場合において、分割部１４ｂは、図８Ｃに示すように、信号配線４０、４１が所定範囲内に存在する区間の信号配線４０、４１が延びる方向を、電源配線４２が存在しない区間４５、４７及び電源配線４２が存在する区間４６の複数の区間に分割する。
【００６０】
そして、第２の算出部１４ｄは、区間４５、４７については、Ｄ＝０であるため、Ｆｓｈｉｅｌｄ＝１−０＝１を算出する。また、第２の算出部１４ｄは、区間４６については、０＜Ｄ＜Ｗであるため、０＜Ｄ／Ｗ＜１となり、０より大きく１未満となるＦｓｈｉｅｌｄ＝１−Ｄ／Ｗを算出する。
【００６１】
図９Ａ及び図９Ｂは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図９Ａは、選択したＶｉｃｔｉｍ配線５０及び選択したＡｇｇｒｅｓｓｏｒ配線５１の間に、電源配線５１が存在する場合のＶｉｃｔｉｍ配線５０、Ａｇｇｒｅｓｓｏｒ配線５１及び電源配線５２の平面図である。図９Ｂは、選択したＶｉｃｔｉｍ配線５０及び選択したＡｇｇｒｅｓｓｏｒ配線５１の間に、電源配線５２が存在する場合のＶｉｃｔｉｍ配線５０、Ａｇｇｒｅｓｓｏｒ配線５１及び電源配線５２の断面図である。
【００６２】
図９Ａ及び図９Ｂの場合において、分割部１４ｂは、各階層が並ぶ方向を法線ベクトルとする面に、かかる方向と直交する方向のＶｉｃｔｉｍ配線５０の線幅を投影させる。また、各階層が並ぶ方向を法線ベクトルとする面に、かかる方向と直交する方向の電源配線５２の線幅を投影させる。そして、分割部１４ｂは、面に投影された電源配線５２の線幅に、面に投影されたＶｉｃｔｉｍ配線５０の線幅が全て含まれるか否かを判定する。図９Ａ及び図９Ｂの場合、分割部１４ｂは、面に投影された電源配線５２の線幅に、面に投影されたＶｉｃｔｉｍ配線５０の線幅が全て含まれると判定することで、電源配線５２がＶｉｃｔｉｍ配線５０を１００％覆うと判定する。図９Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図９Ａの場合において、分割部１４ｂは、図９Ｃに示すように、信号配線５０、５１が所定範囲内に存在する区間の信号配線５０、５１が延びる方向を、電源配線５２が存在しない区間５５、５７及び電源配線５２が存在する区間５６の複数の区間に分割する。
【００６３】
そして、第２の算出部１４ｄは、区間５５、５７については、Ｄ＝０であるため、Ｆｓｈｉｅｌｄ＝１−０＝１を算出する。また、第２の算出部１４ｄは、区間５６については、Ｄ＝０であるため、Ｆｓｈｉｅｌｄ＝１−０＝１を算出する。
【００６４】
図４の説明に戻り、補正部１４ｅは、分割された複数の区間のそれぞれについて、区間に対応する係数Ｆｓｈｉｅｌｄを用いて、第１の算出部１４ｃにより算出された、区間に対応するクロストークノイズ値を補正する。補正部１４ｅの一態様について説明する。例えば、補正部１４ｅは、下記の式（２）に示すように、第１の算出部１４ｃにより算出された、区間に対応するクロストークノイズ値Ｎと、区間に対応するＦｓｈｉｅｌｄとの積を新たなクロストークノイズ値とすることにより、クロストークノイズ値を補正する。
クロストークノイズ値＝クロストークノイズ値Ｎ×Ｆｓｈｉｅｌｄ・・・（２）
【００６５】
そして、補正部１４ｅは、分割された区間ごとに、上述のように、クロストークノイズ値を補正する。
【００６６】
第３の算出部１４ｆは、分割された複数の区間のそれぞれに対応する補正されたクロストークノイズ値の合計を２本の信号配線間のクロストークノイズ値として算出する。例えば、第３の算出部１４ｆは、Ｖｉｃｔｉｍ配線とＡｇｇｒｅｓｓｏｒ配線との組み合わせ毎の複数の配線間ノイズ値のうち、選択されたＶｉｃｔｉｍ配線と選択されたＡｇｇｒｅｓｓｏｒ配線との組み合わせに対応する配線間ノイズ値に対して次の処理を行う。すなわち、第３の算出部１４ｆは、補正部１４ｅによりクロストークノイズ値が補正されるたびに、かかる配線間ノイズ値に、補正されたクロストークノイズ値を加算する。このようにして、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍ配線及び選択されたＡｇｇｒｅｓｓｏｒ配線間の配線間ノイズ値を算出し、算出した配線間ノイズ値をクロストークノイズ値として算出する。
【００６７】
また、分割部１４ｂにより電源配線が存在しないと判定された場合、及び、分割部１４ｂにより電源配線が２本の信号配線の両信号線を１００％覆わないと判定された場合には、第３の算出部１４ｆは、次の処理を行う。すなわち、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍ配線と選択されたＡｇｇｒｅｓｓｏｒ配線との組み合わせに対応する配線間ノイズ値を算出する。例えば、第３の算出部１４ｆは、上述した長さＬと、係数Ｋと、値Ｃとの積の値をクロストークノイズ値として算出し、算出したクロストークノイズ値を配線間ノイズ値として算出する。
【００６８】
そして、第３の算出部１４ｆは、配線間ノイズ値が算出されるたびに、Ａｇｇｒｅｓｓｏｒノイズ値に、配線間ノイズ値を加算する。ここで、ＶｉｃｔｉｍネットとＡｇｇｒｅｓｓｏｒネットとの組み合わせ毎の複数のＡｇｇｒｅｓｓｏｒノイズ値のうち、次のようなＡｇｇｒｅｓｓｏｒノイズ値に対して配線間ノイズ値が加算される。すなわち、選択されたＶｉｃｔｉｍネットと選択されたＡｇｇｒｅｓｓｏｒネットとの組み合わせに対応するＡｇｇｒｅｓｓｏｒノイズ値に対して配線間ノイズ値が加算される。このようにして、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍネット及び選択されたＡｇｇｒｅｓｓｏｒネットのＡｇｇｒｅｓｓｏｒノイズ値を算出する。そして、第３の算出部１４ｆは、算出したＡｇｇｒｅｓｓｏｒノイズ値を選択されたＶｉｃｔｉｍネット及び選択されたＡｇｇｒｅｓｓｏｒネットのクロストークノイズ値として算出する。
【００６９】
また、分割部１４ｂにより未選択のＡｇｇｒｅｓｓｏｒ配線がないと判定された場合には、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍネットと選択されたＡｇｇｒｅｓｓｏｒネットとの組み合わせに対応するＡｇｇｒｅｓｓｏｒノイズ値を内部メモリに格納する。
【００７０】
図４の説明に戻る。判定部１４ｇは、クロストークノイズチェックを行う。判定部１４ｇの一態様について説明する。例えば、判定部１４ｇは、分割部１４ｂにより未選択のＶｉｃｔｉｍ配線がないと判定された場合には、次の処理を行う。すなわち、判定部１４ｇは、選択されたＶｉｃｔｉｍネットと選択されたＡｇｇｒｅｓｓｏｒネットとの組み合わせに対応するＡｇｇｒｅｓｓｏｒノイズ値と、所定の制限値とを比較する。そして、判定部１４ｇは、Ａｇｇｒｅｓｓｏｒノイズ値が、所定の制限値以下である場合には、問題がないという判定を行う。一方、判定部１４ｇは、Ａｇｇｒｅｓｓｏｒノイズ値が、所定の制限値以下でない場合には、エラーと判定する。そして、判定部１４ｇは、判定結果（チェック結果）をチェック結果ファイル１３ｂに登録する。
【００７１】
出力制御部１４ｈは、出力部１２の出力を制御する。例えば、出力制御部１４ｈは、分割部１４ｂによりＶｉｃｔｉｍネットとして未選択のネットがないと判定された場合には、チェック結果ファイル１３ｂに登録されたチェック結果を表示するように出力部１２の表示を制御する。
【００７２】
制御部１４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。  
【００７３】
［処理の流れ］
次に、本実施例に係る設計支援装置１０の処理の流れを説明する。図１０は、実施例に係るクロストークノイズチェック処理の手順を示すフローチャートである。このクロストークノイズチェック処理の実行タイミングとしては様々なタイミングが考えられる。例えば、クロストークノイズチェック処理は、クロストークノイズチェックを実行する指示が入力部１１から入力された場合に、制御部１４により実行される。
【００７４】
図１０に示すように、登録部１４ａは、入力された設計データ１３ａを記憶部１３に格納して、設計データ１３ａを登録する（Ｓ１００）。そして、分割部１４ｂは、記憶部１３から設計データ１３ａを取得する（Ｓ１０１）。そして、分割部１４ｂは、取得した設計データ１３ａに含まれる各ネットのうち、Ｖｉｃｔｉｍネットとして未選択のネットがあるか否かを判定する（Ｓ１０２）。
【００７５】
Ｖｉｃｔｉｍネットとして未選択のネットがある場合（Ｓ１０２肯定）には、分割部１４ｂは、Ｖｉｃｔｉｍネットとして未選択のネットを１つ選択する（Ｓ１０３）。そして、分割部１４ｂは、選択したＶｉｃｔｉｍネットの各Ｖｉｃｔｉｍ配線のうち、未選択のＶｉｃｔｉｍ配線があるか否かを判定する（Ｓ１０４）。未選択のＶｉｃｔｉｍ配線がある場合（Ｓ１０４肯定）には、分割部１４ｂは、未選択のＶｉｃｔｉｍ配線を１つ選択する（Ｓ１０５）。
【００７６】
続いて、分割部１４ｂは、設計データ１３ａに含まれる選択したＶｉｃｔｉｍネット以外の各ネットの中から、選択したＶｉｃｔｉｍネットに対応するＡｇｇｒｅｓｓｏｒネットを抽出する（Ｓ１０６）。続いて、分割部１４ｂは、抽出したＡｇｇｒｅｓｓｏｒネットのうち、未選択のＡｇｇｒｅｓｓｏｒネットがあるか否かを判定する（Ｓ１０７）。未選択のＡｇｇｒｅｓｓｏｒネットがない場合（Ｓ１０７否定）には、Ｓ１０４に戻る。
【００７７】
一方、未選択のＡｇｇｒｅｓｓｏｒネットがある場合（Ｓ１０７肯定）には、分割部１４ｂは、未選択のＡｇｇｒｅｓｓｏｒネットを１つ選択する（Ｓ１０８）。その後、分割部１４ｂは、選択したＡｇｇｒｅｓｓｏｒネットの各Ａｇｇｒｅｓｓｏｒ配線のうち、未選択のＡｇｇｒｅｓｓｏｒ配線があるか否かを判定する（Ｓ１０９）。
【００７８】
未選択のＡｇｇｒｅｓｓｏｒ配線がある場合（Ｓ１０９肯定）には、分割部１４ｂは、未選択のＡｇｇｒｅｓｓｏｒ配線を１つ選択する（Ｓ１１０）。そして、分割部１４ｂなどは、後述する配線間ノイズ値算出処理を実行する（Ｓ１１１）。そして、第３の算出部１４ｆは、配線間ノイズ値算出処理により算出された配線間ノイズ値をＡｇｇｒｅｓｓｏｒノイズ値に加算し（Ｓ１１２）、Ｓ１０９に戻る。
【００７９】
また、未選択のＡｇｇｒｅｓｓｏｒ配線がない場合（Ｓ１０９否定）には、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍネットと選択されたＡｇｇｒｅｓｓｏｒネットとの組み合わせに対応するＡｇｇｒｅｓｓｏｒノイズ値を内部メモリに格納する（Ｓ１１３）。そして、Ｓ１０７に戻る。
【００８０】
また、未選択のＶｉｃｔｉｍ配線がない場合（Ｓ１０４否定）には、判定部１４ｇは、次の処理を行う。すなわち、判定部１４ｇは、選択されたＶｉｃｔｉｍネットと選択されたＡｇｇｒｅｓｓｏｒネットとの組み合わせに対応するＡｇｇｒｅｓｓｏｒノイズ値と、所定の制限値とを比較する。そして、判定部１４ｇは、Ａｇｇｒｅｓｓｏｒノイズ値が、所定の制限値以下である場合には、問題がないという判定を行う。一方、判定部１４ｇは、Ａｇｇｒｅｓｓｏｒノイズ値が、所定の制限値以下でない場合には、エラーと判定する（Ｓ１１４）。そして、判定部１４ｇは、判定結果（チェック結果）をチェック結果ファイル１３ｂに登録し（Ｓ１１５）、Ｓ１０２に戻る。
【００８１】
また、Ｖｉｃｔｉｍネットとして未選択のネットがない場合（Ｓ１０２否定）には、出力制御部１４ｈは、チェック結果ファイル１３ｂに登録されたチェック結果を表示するように出力部１２の表示を制御し（Ｓ１１６）、処理を終了する。
【００８２】
図１１は、実施例に係る配線間ノイズ値算出処理の手順を示すフローチャートである。図１１に示すように、分割部１４ｂは、設計データ１３ａの内容に基づいて、選択したＶｉｃｔｉｍ配線及び選択したＡｇｇｒｅｓｓｏｒ配線の２本の信号配線間に、電源配線が存在するか否かを判定する（Ｓ２０１）。電源配線が存在する場合（Ｓ２０１肯定）には、分割部１４ｂは、電源配線が２本の信号配線のうち少なくとも１本の信号配線を１００％覆うか否かを判定する（Ｓ２０２）。
【００８３】
電源配線が、Ｖｉｃｔｉｍ配線及びＡｇｇｒｅｓｓｏｒ配線のうち少なくとも１本の信号配線を１００％覆う場合（Ｓ２０２肯定）には、分割部１４ｂは、次の処理を行う。すなわち、分割部１４ｂは、電源配線の位置に基づいて、２本の信号配線が互いに所定範囲内に存在する区間の信号配線が延びる方向を、電源配線が存在しない区間及び電源配線が存在する区間の複数の区間に分割する（Ｓ２０３）。
【００８４】
そして、第１の算出部１４ｃは、分割部１４ｂにより分割された複数の区間の全区間を選択済みであるか否かを判定する（Ｓ２０５）。選択済みである場合には、第１の算出部１４ｃは、処理結果を内部メモリに格納して、リターンする。選択済みでない場合（Ｓ２０５否定）には、第１の算出部１４ｃは、未選択の区間を１つ選択する（Ｓ２０６）。そして、第１の算出部１４ｃは、選択した区間に、電源配線がないものとして、区間ノイズ値を算出する（Ｓ２０７）。
【００８５】
そして、第２の算出部１４ｄは、各階層が並ぶ方向を法線ベクトルとする面に、２本の信号配線のうち、電源配線が１００％覆うと判定された信号配線以外の信号配線の線幅であって、各階層が並ぶ方向と直交する方向の線幅を投影させる。また、第２の算出部１４ｄは、各階層が並ぶ方向を法線ベクトルとする面に、電源配線の線幅であって、各階層が並ぶ方向と直交する方向の線幅を投影させる。そして、第２の算出部１４ｄは、面に投影された信号配線の線幅Ｗ（ｎｍ）に含まれる、面に投影された電源配線の線幅の長さＤ（ｎｍ）を算出する（Ｓ２０８）。なお、第２の算出部１４ｄは、電源配線が存在しない区間では、Ｄ＝０を算出する。
【００８６】
続いて、第２の算出部１４ｄは、係数Ｆｓｈｉｅｌｄを上記の式（１）によって算出する（Ｓ２０９）。
【００８７】
そして、補正部１４ｅは、上記の式（２）に示すように、区間に対応するクロストークノイズ値Ｎと、区間に対応するＦｓｈｉｅｌｄとの積を新たなクロストークノイズ値とすることにより、クロストークノイズ値を補正する（Ｓ２１０）。
【００８８】
そして、第３の算出部１４ｆは、Ｖｉｃｔｉｍ配線とＡｇｇｒｅｓｓｏｒ配線との組み合わせ毎の複数の配線間ノイズ値のうち、選択されたＶｉｃｔｉｍ配線と選択されたＡｇｇｒｅｓｓｏｒ配線との組み合わせに対応する配線間ノイズ値に対して次の処理を行う。すなわち、第３の算出部１４ｆは、配線間ノイズ値に、補正されたクロストークノイズ値を加算し（Ｓ２１１）、Ｓ２０５に戻る。
【００８９】
また、電源配線が存在しない場合（Ｓ２０１否定）、及び、電源配線が２本の信号配線の両信号線を１００％覆わない場合（Ｓ２０２否定）には、第３の算出部１４ｆは、次の処理を行う。すなわち、第３の算出部１４ｆは、選択されたＶｉｃｔｉｍ配線と選択されたＡｇｇｒｅｓｓｏｒ配線との組み合わせに対応する配線間ノイズ値を算出し（Ｓ２０４）、処理結果を内部メモリに格納し、リターンする。
【００９０】
上述してきたように、本実施例に係る設計支援装置１０は、ＬＳＩにおける２本の信号配線間に電源配線が並走する場合に、並走する電源配線の位置に基づいて、２本の信号配線が延びる方向を複数の区間に分割する。また、設計支援装置１０は、分割された複数の区間のそれぞれについて、電源配線が並走していない場合のクロストークノイズ値を算出する。また、設計支援装置１０は、分割された複数の区間のそれぞれについて、区間における２本の信号線と電源配線との相対的な位置関係に基づいて、２本の信号線間の領域に含まれる電源配線の領域が小さくなるほど、大きくなるような係数Ｆｓｈｉｅｌｄを算出する。また、設計支援装置１０は、分割された複数の区間のそれぞれについて、区間に対応する係数Ｆｓｈｉｅｌｄを用いて、区間に対応するクロストークノイズ値を補正する。また、設計支援装置１０は、分割された複数の区間のそれぞれに対応する補正されたクロストークノイズ値の合計を２本の信号配線間のクロストークノイズ値として算出する。このように、本実施例では、係数Ｆｓｈｉｅｌｄを算出し、係数Ｆｓｈｉｅｌｄを用いて、クロストークノイズ値を補正した上で、２本の信号配線間のクロストークノイズ値を算出する。このため、本実施例において算出されるクロストークノイズチェック値は、精度の高いものとなり、実際の値に近づくと考えられる。そのため、本実施例におけるクロストークノイズチェックでは、エラー判定の増加が抑制される。これにより、本実施例に係る設計支援装置１０によれば、エラー判定のたびに、配線間の距離を広くするなどの作業が行われる回数が抑制されるため、レイアウト設計の負担を軽減することができる。
【００９１】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、上記の実施例では、階層方向に並んだ信号配線に対して上記の各処理が行われる場合について説明したが、開示の装置はこれに限定されない。図１２Ａ〜図１２Ｃは、実施例に係る設計支援装置が実行する処理の一例について説明するための図である。図１２Ａは、同一の階層内において、選択したＶｉｃｔｉｍ配線６０及び選択したＡｇｇｒｅｓｓｏｒ配線６１の間に、電源配線６２が存在する場合のＶｉｃｔｉｍ配線６０、Ａｇｇｒｅｓｓｏｒ配線６１及び電源配線６２の平面図である。図１２Ｂは、同一の階層内において、選択したＶｉｃｔｉｍ配線６０及び選択したＡｇｇｒｅｓｓｏｒ配線６１の間に、電源配線６２が存在する場合のＶｉｃｔｉｍ配線６０、Ａｇｇｒｅｓｓｏｒ配線６１及び電源配線６２の断面図である。図１２Ａ及び図１２Ｂの場合において、上記の実施例と同様に、開示の装置は、図１２Ｃに示すように、複数の区間６５、６６、６７に分割し、各区間６５、６６、６７でＦｓｈｉｅｌｄを算出することができる。この場合、設計データ１３ａには、端子や信号配線の高さの情報が含まれる。
【００９２】
また、上記では、式（１）を用いて係数Ｆｓｈｉｅｌｄを算出する場合について例示したが、開示の装置はこれに限定されない。例えば、開示の装置は、下記の式（３）によって係数Ｆｓｈｉｅｌｄを算出することもできる。
Ｆｓｈｉｅｌｄ＝１−α・（Ｄ／Ｗ）・・・（３）
ただし、αは、所定の係数である。
【００９３】
また、実施例などにおいて説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。
【００９４】
また、各種の負荷や使用状況などに応じて、実施例などにおいて説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
【００９５】
また、各種の負荷や使用状況などに応じて、実施例などにおいて説明した各処理の各ステップでの処理の順番を変更できる。
【００９６】
また、図示した装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００９７】
［設計支援プログラム］
また、上記の設計支援装置の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図１３を用いて、上記の設計支援装置と同様の機能を有する設計支援プログラムを実行するコンピュータの一例を説明する。
【００９８】
図１３は、設計支援プログラムを実行するコンピュータを示す図である。図１３に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３００〜３４０の各部は、バス３５０を介して接続される。
【００９９】
ＨＤＤ３３０には、上記の実施例で示す各部１４ａ〜１４ｈと同様の機能を発揮する設計支援プログラム３３０ａが予め記憶される。なお、設計支援プログラム３３０ａについては、適宜分離しても良い。
【０１００】
そして、ＣＰＵ３１０が、設計支援プログラム３３０ａをＨＤＤ３３０から読み出して実行する。
【０１０１】
そして、ＨＤＤ３３０には、設計データ及びチェック結果ファイルが設けられる。
【０１０２】
そして、ＣＰＵ３１０は、設計データ及びチェック結果ファイルを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納された設計データ及びチェック結果ファイルを用いて、設計支援プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納される各データは、常に全てのデータがＲＡＭ３４０に格納されなくともよく、全てのデータのうち処理に用いられるデータのみがＲＡＭ３４０に格納されれば良い。
【０１０３】
なお、上記した設計支援プログラム３３０ａについては、必ずしも最初からＨＤＤ３３０に記憶させなくともよい。
【０１０４】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。  
【０１０５】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１０６】
１０      設計支援装置
１３ａ    設計データ
１３ｂ    チェック結果ファイル
１４ｂ    分割部
１４ｃ    第１の算出部
１４ｄ    第２の算出部
１４ｅ    補正部
１４ｆ    第３の算出部
【図１】
2014112331.tif 000003
【図２Ａ】
2014112331.tif 000004
【図２Ｂ】
2014112331.tif 000005
【図３】
2014112331.tif 000006
【図４】
2014112331.tif 000007
【図５】
2014112331.tif 000008
【図６Ａ】
2014112331.tif 000009
【図６Ｂ】
2014112331.tif 000010
【図６Ｃ】
2014112331.tif 000011
【図７】
2014112331.tif 000012
【図８Ａ】
2014112331.tif 000013
【図８Ｂ】
2014112331.tif 000014
【図８Ｃ】
2014112331.tif 000015
【図９Ａ】
2014112331.tif 000016
【図９Ｂ】
2014112331.tif 000017
【図９Ｃ】
2014112331.tif 000018
【図１０】
2014112331.tif 000019
【図１１】
2014112331.tif 000020
【図１２Ａ】
2014112331.tif 000021
【図１２Ｂ】
2014112331.tif 000022
【図１２Ｃ】
2014112331.tif 000023
【図１３】
2014112331.tif 000024