(57)【要約】【課題】配線パターンとビアの接続状態を最小限の数のノード及び抵抗によって正確に表現したシミュレーション用データを作成する技術を提供する。【解決手段】ビアとの接続位置情報を含む配線パターンのデータを取得し、前記配線パターンを矩形パターンに分割する分割部と、分割後の前記矩形パターンに対応するように、ノード及び抵抗を設定する分割パターン処理部と、設定したノード及び抵抗の位置を、抵抗網を特定する情報として出力する出力部と、を具備する。前記配線パターンは、Ｘ方向又はＹ方向に延びる辺によって表現され、前記分割部は、前記配線パターンの各辺をパターン内側に延ばした延長線により、前記配線パターンを前記矩形パターンに分割し、前記Ｘ方向と前記Ｙ方向とは直交する方向である。【選択図】図１８
2008310562.tif 000002
【特許請求の範囲】
【請求項１】
ビアとの接続位置情報を含む配線パターンのデータを取得し、前記配線パターンを矩形パターンに分割する分割部と、
分割後の前記矩形パターンに対応するように、ノード及び抵抗を設定する分割パターン処理部と、
設定したノード及び抵抗の位置を、抵抗網を特定する情報として出力する出力部と、
を具備し、
前記配線パターンは、Ｘ方向又はＹ方向に延びる辺によって表現され、
前記分割部は、前記配線パターンの各辺をパターン内側に延ばした延長線により、前記配線パターンを前記矩形パターンに分割し、
前記Ｘ方向と前記Ｙ方向とは直交する方向である
抵抗網作成装置。
【請求項２】
請求項１に記載された抵抗網作成装置であって、
前記分割パターン処理部は、
前記矩形パターンの中心に前記パターン中心ノードを設定し、
前記矩形パターンが複数である場合に、前記矩形パターン同士が接する辺の中点に、辺中心ノードを設定し、
前記パターン中心ノードと前記辺中心ノードとを結ぶ様に、抵抗を設定する
抵抗網作成装置。
【請求項３】
ビアとの接続位置情報を含む配線パターンをデータとして取得し、前記配線パターンを矩形パターンに分割する分割部と、
分割された前記矩形パターンに対応するように、ノード及び抵抗を設定する分割パターン処理部と、
ビア矩形パターンに対して、ノード及び抵抗を設定するビア矩形パターン処理部と、
設定したノード及び抵抗の位置を、抵抗網を特定する情報として出力する出力部と、
を具備し、
前記ビア矩形パターンは、ビアとの接続位置を含む前記矩形パターンであり、
前記ビア矩形パターン処理部は前記ビア矩形パターンに対して、
パターンの中心に中心ノードを設定し、
前記ビアの接続位置の中心にビアノードを設定し、
前記中心ノードから前記ビア矩形パターンの各辺へ延びる、第１垂線を設定し、
前記ビアノードから前記第１垂線に向けて延びる、第２垂線を設定し、
前記第１垂線と前記第２垂線との交点に、垂線ノードを設定し、
前記分割パターン処理部及び前記ビア矩形パターン処理部は、設定されたノード同士を結ぶ様に、抵抗を設定する
抵抗網作成装置。
【請求項４】
請求項３に記載された抵抗網作成装置であって、
前記ビア矩形パターン処理部は、更に、
前記ビアノードと前記垂線ノードとの間を結ぶ様に抵抗を設定し、
前記垂線ノードと前記中心ノードとの間を結ぶ様に抵抗を設定する
抵抗網作成装置。
【請求項５】
請求項３又は４に記載された抵抗網作成装置であって、
前記ビア矩形パターン処理部は、１直線上に３個以上のノードが設定された場合に、複数の抵抗素子が重ならない様に、隣接するノード同士を結ぶ様に抵抗素子を設定する
抵抗網作成装置。
【請求項６】
請求項３乃至５のいずれかに記載された抵抗網作成装置であって、
前記配線パターンは、Ｘ方向又はＹ方向に延びる辺によって表現され、
前記分割部は、前記配線パターンの各辺をパターン内側に延ばした延長線によって、前記配線パターンを前記矩形パターンに分割し、
前記Ｘ方向と前記Ｙ方向とは互いに直交する方向である
抵抗網作成装置。
【請求項７】
請求項６に記載された抵抗網作成装置であって、
前記分割パターン処理部は、
前記矩形パターンの中心にパターン中心ノードを設定し、
前記矩形パターンが複数である場合に、前記矩形パターン同士が接する辺の中点に辺中心ノードを設定し、
前記パターン中心ノードと前記辺中心ノードとを結ぶ様に、抵抗を設定する
抵抗網作成装置。
【請求項８】
コンピュータを、請求項１乃至７のいずれかに記載された抵抗網作成装置として機能させるための、抵抗網作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路シミュレーション用の抵抗網データを作成する抵抗網作成装置、及びそのプログラムに関する。
【背景技術】
【０００２】
半導体集積回路等の回路を設計する場合、まず、配線の形状や層間を接続するビアの配置などを示したレイアウトパターンが設計される。次に、そのレイアウトパターンの回路がどのように動作するかが、シミュレーションにより検証される。検証の結果、問題があれば、レイアウトパターンが再設計される。
【０００３】
レイアウトパターンの検証法としては、例えば、ＥＭ（エレクトロマイグレーション）検証やＩＲ−Ｄｒｏｐ検証が知られている。ＥＭ検証やＩＲ−Ｄｒｏｐ検証を行うためには、回路の接続状態が表現されたシミュレーション用のデータ（例えば、抵抗網ネットリスト）が必要である。従って、検証に先立ち、レイアウトパターンに基いてシミュレーション用のデータが作成される。すなわち、回路のシミュレーションを行うにあたっては、図１（ａ）に示す様に、レイアウトパターンが設計され、シミュレーション用のデータが作成され、そしてＥＭ検証などの検証が行われることになる。
【０００４】
シミュレーション用データの作成方法としては、例えば、特許文献１、２に記載された方法が挙げられる。
【０００５】
シミュレーションを正確に行うためには、そのシミュレーション用データが正確にレイアウトパターンにおける回路の接続状態を表現している事が重要である。
【０００６】
一般的に、シミュレーション用データを作成するにあたり、異なる２つの配線層間を接続するビアは、以下に述べるように表現される。尚、以下の記載において、ノードを設定する、抵抗を設定するといった記載を用いることがあるが、これらの記載は、データとしてのノードや抵抗を設定することを示すものとする。
【０００７】
図２に示されるように、レイアウトパターンにおいて、ある配線層に存在する配線パターンｍ１に、１０個のビア（ｖ１〜ｖ１０）が接続されていたとする。１０個のビアのうち、ｖ１〜ｖ４は、別の配線層に存在する配線パターンｍ２に接続され、ｖ５〜ｖ１０は配線パターンｍ３に接続されていたとする。このようなレイアウトパターンに対して、図３に示されるように、ｍ２に接続されたビアｖ１〜ｖ４がマージされ、ビアＶ１が設定される。また、ｖ５〜ｖ１０も同様にマージされ、ビアＶ２が設定される。ビアＶ１及びＶ２の抵抗値は、予め設定されたマージ前の各ビアｖ１〜１０の抵抗値に基いて、計算される。これにより、配線パターンｍ１とｍ２とは、ビアｖ１〜ｖ４部分において、一つのビアＶ１（抵抗）によって接続されているものとみなされる。また、ｍ１とｍ３も、同様に、１つのビアＶ２（抵抗）によって接続されているものとみなされる。従って、シミュレーション用のデータ中では、マージされたビア（Ｖ１、Ｖ２）を用いて、配線層間の接続が表現されることとなる。尚、配線パターンｍ１において、Ｖ１−Ｖ２間の抵抗は、Ｖ１の中心ＰとＶ２の中心Ｑとを結ぶ抵抗として表現される。
【０００８】
配線パターン同士が複数のビアにより接続されたレイアウトの場合、実際には接続部分の近傍で電流が分岐又は合流することになる。しかしながら、図２、３を用いて説明した手法で検証を行った場合、複数のビアが一つにマージされているために、接続部分近傍における信号（電流）の向きが正しく表現できない事がある。従って、マージ前の各ビアにどれだけの電流が流れるかを特定することが難しい。
【０００９】
上記と関連して、特許文献３には、配線パターンに対してメッシュ状に電気抵抗を割り当てて、シミュレーション用データを作成することが記載されている。この特許文献３には、図１（ｂ）に示す様にして、シミュレーション用データが作成される。すなわち、まず、半導体集積回路の配線群を、配線要素に分割する。そして、配線要素毎に、ノードを介してメッシュ状に電気抵抗が接続された擬似抵抗網を形成する。そして、各配線要素の抵抗値を計算し、その結果が抵抗網とされる。
【００１０】
【特許文献１】特開平７−２４９０５７号  公報
【特許文献２】特開平１０−２６９２６７号  公報
【特許文献３】特許第３０１７１３１号  公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献３に記載されたレイアウト方法を用いた場合、メッシュを細かくすれば、回路の接続状態がより正確に表現されるものと考えられる。しかし、メッシュを細かくするとシミュレーション用データのデータサイズが大きくなり、コンピュータにより処理を行う際の処理速度が遅くなる事がある。
【００１２】
また、特許文献３に記載されたレイアウト方法を用いて、図２で示したようなレイアウトパターンのシミュレーション用データを作成した場合、図４に示されるような抵抗網が作成されるものと考えられる。図４に示されるように、パターンの周縁部には一端が何にも接続されない、不要な抵抗群が作成されてしまう。このような不要な抵抗群も、データサイズ増大の一因となる。
【００１３】
従って、回路の接続状態を正確に表現できた上で、データサイズを押さえる事のできる技術の提供が望まれる。
【００１４】
また、図４において、Ｖ１−１、Ｖ２−１・・・Ｖ１０−１と枝番−１を付したビアは、シミュレーション用データを作成する前の各ビアを示している。メッシュ状に抵抗網を割り当てた場合、各ビアＶ（１−１〜１０−１）は、抵抗網中における抵抗の交点（ノード）とずれていることがある。このような場合、シミュレーション用データ中では、ビアＶ（１−１〜１０−１）が、近接するノードの位置に移動させられる。従って、シミュレーション用データ中における各ビアの座標は、本来（レイアウトパターン中）のビアの座標と、最大でａ／２（ａはメッシュ分割サイズであり、図４中の「ａ」を示す）だけずれてしまう可能性がある。ＥＭ検証などを行った結果、エラーとなったビアなどが存在した場合、そのビアの座標などが出力される。ここで、シミュレーション用データ中においてビアの位置（座標）が実際の位置（レイアウトパターン中の位置）とずれていると、エラーとなったビアが、レイアウトパターン中のどのビアであるのか特定しづらくなってしまう。
【００１５】
従って、検証時にビアの位置を容易に特定することのできるシミュレーション用データを作成する技術が求められる。
【課題を解決するための手段】
【００１６】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１７】
本発明の抵抗網作成装置（１０）は、ビアとの接続位置情報を含む配線パターンのデータを取得し、その配線パターンを矩形パターン（１−１〜１−１２）に分割する分割部（１２）と、分割後の矩形パターン（１−１〜１−１２）に対応するように、ノード（２）及び抵抗（Ｒ）を設定する分割パターン処理部（１３）と、設定したノード（２）及び抵抗（Ｒ）の位置を、抵抗網を特定する情報として出力する出力部（１５）と、を具備する。その配線パターンは、Ｘ方向又はＹ方向に延びる辺によって表現されている。分割部（１２）は、その配線パターンの各辺をパターン内側に延ばした延長線により、配線パターンをその矩形パターン（１−１〜１−１２）に分割する。ここで、Ｘ方向と前記Ｙ方向とは直交する方向である。
【００１８】
上述の構成によれば、配線パターンが、配線パターンを正確に表現するにあたって最小限の数の矩形パターンに分割される。そのため、矩形パターンに対応するように、ノード及び抵抗を設定することで、配線パターンとビアの接続状態が正確に表現され、かつ、データサイズの抑制されたシミュレーション用のデータを得ることができる。
【００１９】
本発明の抵抗網作成装置（１０）の別の形態は、ビアとの接続位置情報を含む配線パターンのデータを取得し、その配線パターンを矩形パターン（１−１〜１−１２）に分割する分割部（１２）と、分割された矩形パターン（１−１〜１−１２）に対応するように、ノード（２）及び抵抗（Ｒ）を設定する分割パターン処理部（１３）と、ビア矩形パターン（１−５）に対して、ノード及び抵抗を設定するビア矩形パターン処理部（１４）と、設定したノード及び抵抗素子の位置を、抵抗網を特定する情報として出力する出力部（１５）と、を具備する。ここで、ビア矩形パターン（１−５）は、ビアとの接続部分を含む矩形パターンである。ビア矩形パターン処理部（１４）はビア矩形パターン（１−５）に対して、パターンの中心に中心ノード（２−１）を設定する。また、ビアの接続位置の中心にビアノード（２−２）を設定する。また、中心ノード（２−１）からビア矩形パターン（１−５）の各辺へ延びる、第１垂線（Ｌ１）を設定する。また、ビアノード（２−２）から第１垂線（Ｌ１）に向けて延びる、第２垂線（Ｌ２）を設定する。また、第１垂線（Ｌ１）と第２垂線（Ｌ２）との交点に、垂線ノード（２−３）を設定する。また、分割パターン処理部（１３）及びビア矩形パターン処理部（１４）は、ノード（２）同士を結ぶ様に、抵抗（Ｒ）を設定する。
【００２０】
上述の構成に依れば、ビアと配線パターンとの接続部分において、ビアの中心にノードが設定されるとともに、第１垂線、第２垂線に沿って抵抗が設定されるので、ビアに流れ込む信号の向きを正しく表現することができる。また、最小限の数のノード及び抵抗によって、配線パターンとビアとの接続状態が表現されるので、データサイズを抑制することができる。更には、複数のビアにより配線パターン同士が接続されていたとしても、各ビアの位置がシミュレーション用のデータに正しく反映される。従って、検証時にビアの位置を容易に特定することができる。
【発明の効果】
【００２１】
本発明に依れば、配線パターンとビアの接続状態を最小限の数のノード及び抵抗によって正確に表現することで、データサイズを抑制することができる抵抗網作成装置が提供される。
【発明を実施するための最良の形態】
【００２２】
（第１の実施形態）
以下、図面を参照しつつ、本発明の実施形態について説明する。図５は、本実施形態の抵抗網作成装置１０の構成を概略的に示すブロック図である。図５に示されるように、抵抗網作成装置１０は、レイアウトデータ記憶部２０に予め記憶されたレイアウトパターンをデータとして取得して抵抗網（ネットリスト）を作成し、作成した抵抗網を出力する装置である。抵抗網作成装置１０は、ＣＰＵ、ＲＡＭ（Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）、及び入出力インターフェース（Ｉ／Ｏ）を備えており、ＲＯＭに格納された抵抗網作成プログラムによってその機能を実現する。
【００２３】
レイアウトデータ記憶部２０に格納されるレイアウトパターンは、複数の配線層の配線パターン形状、配線層間を接続するビアの位置、等を示すデータを含んでいる。
【００２４】
図６は、抵抗網作成装置１０の機能構成を示す概略ブロック図である。図６に示されるように、抵抗網作成装置１０は、配線パターン抽出部１１、分割部１２、分割パターン処理部１３、ビア矩形パターン処理部１４、抵抗値算出部１５、及び出力部１６を備えている。抵抗網作成装置１０は、図７に示されるようなフローに従って動作する。この動作は、例えば、コンピュータにインストールされた抵抗網作成プログラムによって実現される。
【００２５】
ステップＳ１０；配線パターンの抽出
配線パターン抽出部１１が、レイアウトデータ記憶部２０から取得したレイアウトパターンに基いて、配線パターンを抽出する。具体的には、レイアウトパターンを配線層毎の配線パターンに分割する。すなわち、複数の配線層を含むレイアウトパターンを、Ｍｅｔａｌ−１層、Ｍｅｔａｌ−２層、・・・に分割する。この際、配線層間を接続するビアは、そのビアが接続される配線層に存在する平面図形として表現される。また、各配線パターンは、Ｘ方向又はＸ方向に直交するＹ方向に延びる辺によって表現されるように、抽出される。
【００２６】
本実施形態では、図８に示されるような配線パターンが抽出されるものとする。図８に示される配線パターンは、２つの端子のパターン（端子ＡＢＱＲ及び端子ＭＮＫＬ）、４つの導体のパターン（ＢＣＤＱ、ＰＥＩＯ、ＮＩＪＫ、ＥＦＧＨ）によって構成されている。また、この配線パターン中には、２箇所に、ビアとの接続位置（ＶＩＡ−１、ＶＩＡ−２）が示されている。
【００２７】
ステップＳ２０；配線パターンの分割
続いて、分割部１２が、配線パターン抽出部１１によって抽出された全ての配線パターンを矩形状のパターン（以下、矩形パターン）に分割する。この際、分割部１２は、配線パターンの各辺をパターン内側に延ばした延長線によって、分割する。
【００２８】
以下、図８で示した配線パターンを矩形パターンに分割する場合を例として、具体的に説明する。図８で示したような配線パターンを矩形パターンに分割するにあたっては、以下の２つの手順により、分割する。
（手順１）着目するパターンの辺上（頂点以外の場所）に隣接するパターンの頂点がある場合、その隣接するパターンの辺を延長して、着目するパターンを分割する。
（手順２）隣接するパターンを分割した線分が、着目するパターンの辺と頂点以外の場所で直交する場合、この線分を延長して、着目するパターンを分割する。
【００２９】
すなわち、パターンＢＣＤＱに着目した場合、パターンＢＣＤＱが図９に示されるように分割される。パターンＢＣＤＱは、端子パターンＡＢＱＲと、矩形状のパターンＰＥＩＯに接している。このうち端子パターンＡＢＱＲとは、同一の辺（ＢＱ）によって接している。辺ＢＱ上には、頂点（Ｂ，Ｑ）以外に端子パターンＡＢＱＲの頂点は存在しない。よって、矩形パターンＡＢＱＲが、端子パターンＡＢＱＲとの接続を考慮して分割されることはない。一方、パターンＢＣＤＱとパターンＰＥＩＯとの接続を考えた場合、パターンＢＣＤＱは、辺ＤＱでパターンＰＥＩＯに接している。ここで、パターンＢＣＤＱの辺ＤＱは、矩形状のパターンＢＣＤＱの頂点でない場所（点Ｐ）で、パターンＰＥＩＯの辺ＯＰと交わっている。従って、手順１により、パターンが分割される。具体的には、図９の矢印で示されるように、線分ＯＰがＯ→Ｐの向きに、パターンＢＣＤＱの内側に延びるように、辺ＢＣ上の点Ｕまで延長される。この延長線ＰＵにより、パターンＢＣＤＱが、２つの矩形パターン（ＢＵＰＱとＵＣＤＰ）に分割される。
【００３０】
また、パターンＰＥＩＯに着目した場合、パターンＰＥＩＯが図１０に示されるように分割される。パターンＰＥＩＯは、パターンＢＣＤＱ、パターンＮＩＪＫ、及びパターンＥＦＧＨに接している。パターンＢＣＤＱとの接続を考える。パターンＰＥＩＯの辺ＰＥは、パターンＢＣＤＱの辺ＣＤと直交している。そこで、手順１に従い、線分ＣＤをＣ→Ｄの向きに延長する。この延長線とパターンＰＥＩＯの辺ＩＯとの交点をＶとする。次に、パターンＮＩＪＫとの接続を考える。パターンＰＥＩＯは辺ＯＩでパターンＮＩＪＫと接しているが、辺ＯＩはパターンＮＩＪＫの辺ＩＪと、パターンＰＥＩＯの頂点Ｉで直交している。頂点Ｉで直交しているので、パターンＰＥＩＯに対して、パターンＮＩＪＫとの接続を考慮しての分割は行われない。次に、パターンＥＦＧＨとの接続を考える。パターンＰＥＩＯの辺ＥＩは、パターンＥＦＧＨの２辺ＥＦ、ＧＨと直交している。このうち、パターンＰＥＩＯの辺ＥＩとパターンＥＦＧＨの辺ＥＦとの交点は頂点Ｅである。従って、パターンＥＦＧＨの辺ＥＦによってはパターンＰＥＩＯは分割されない。一方、パターンＰＥＩＯの辺ＥＩとパターンＥＦＧＨの辺ＧＨとは、辺ＥＩとパターンＰＥＩＯの頂点以外の場所Ｈで直交している。そのため、手順１に従い、線分ＧＨをＧ→Ｈの向きに延長する。この延長線と辺ＯＰとの交点をＷとする。更に、延長線ＤＶとＨＷとの交点をＸとする。これにより、パターンＰＥＩＯは、２つの線分ＤＶとＨＷによって、４つの矩形パターン（ＰＤＸＷ、ＷＸＶＯ、ＤＥＨＸ、ＸＨＩＶ）に分割されることになる。
【００３１】
また、パターンＮＩＪＫに着目した場合、手順１に従って図１１に示されるように分割され、更に手順２に従って図１２に示されるように分割される。パターンＮＩＪＫは、端子パターンＭＮＫＬとパターンＰＥＩＯに接している。このうち端子パターンＭＮＫＬとは、同一の辺（ＮＫ）で接しているが、辺ＮＫ上において、パターンＮＩＪＫの頂点（Ｎ，Ｋ）以外に、端子パターンＭＮＫＬの頂点は存在しない。従って、パターンＮＩＪＫに対して、端子パターンＭＮＫＬとの接続を考慮した分割は実施されない。次に、パターンＰＥＩＯとの分割を考える。パターンＮＩＪＫの辺ＮＩは、パターンＰＥＩＯの辺ＰＯとパターンＮＩＪＫの頂点以外の場所Ｏで直交している。従って、手順１に従い、線分ＰＯをＰ→Ｏの向きに延長する。そして、この延長線とパターンＮＩＪＫの辺ＪＫとの交点をＹとする。パターンＮＩＪＫは、延長線ＯＹによって、矩形パターンＮＯＹＫと矩形パターンＯＩＪＹに分割される。また、パターンＮＩＪＫの辺ＮＩは、パターンＰＥＩＯを分割した延長線ＤＶとパターンＮＩＪＫの頂点以外の場所Ｖで直交している。従って、手順２に従い、この延長線ＤＶをＤ→Ｖの向きに更に延長する。そして、この延長線とパターンＮＩＪＫの辺ＪＫとの交点をＺとする。これにより、矩形パターンＯＩＪＹが延長線ＶＺによって、更に２つの矩形パターン（ＯＶＺＹ、ＶＩＪＺ）に分割される。すなわち、パターンＮＩＪＫは、２つの線分ＯＹとＶＺによって、３つの矩形パターン（ＮＯＹＫ、ＯＶＺＹ、及びＶＩＪＺ）に分割されることになる。
【００３２】
また、端子パターンＡＢＱＲ、ＭＮＫＬ、及びパターンＥＦＧＨに着目した場合には、手順１及び２の条件を満たしてパターンを分割する延長線が存在しない。従って、これらのパターン（ＡＢＱＲ、ＭＮＫＬ、ＥＦＧＨ）は分割されない。
【００３３】
以上の処理により、抽出された配線パターンは、最終的に図１２に示されるように、複数の矩形パターン（１−１〜１−１２）に分割される事となる。
【００３４】
尚、本実施形態では、図８で示した様に、配線パターンが予め複数の矩形状のパターンで表現されている場合について説明したが、各辺がＸ方向又はＹ方向に延びるように配線パターンが表現されていれば、複数の矩形状のパターンではなくとも、同様に各辺を配線パターン内側へ延ばした延長線によって、配線パターンを分割することができる。例えば、図８において、パターンＢＣＤＱ、ＰＥＩＯ、及びＮＩＪＫが結合していたとしても、結果的に図１２に示されるように、矩形パターン１−１〜１−１２に分割される事となる。
【００３５】
また、詳細は後述の実施形態にて説明するが、配線パターンが、一つの配線矩形のみからなるパターンである場合には、分割後も分割前と同じ一の矩形状のパターンで表現されることとなる。本明細書中では、このような場合も、配線パターンが矩形パターンに分割される、との範疇に含まれるものとする。
【００３６】
ステップＳ３０；分割されたパターンに対するノード及び抵抗の設定
続いて、分割パターン処理部１３によって、各矩形パターンに対応する様に、ノード及び抵抗が設定される。この際、分割パターン処理部１３は、以下の２つのアルゴリズムを用いて、ノードを発生させる。
（Ａ）各矩形パターンの中心点にノード（以下、パターン中心ノード２−４）を発生させる。
（Ｂ）隣接する矩形パターンの中心点同士を両端とする線分と、隣接する矩形パターンと接する辺との交点にもノード（以下、辺中心ノード２−５）を発生させる。
【００３７】
図１３、１４を参照して、分割パターン処理部１３による処理を具体的に説明する。分割パターン処理部１３は、図１３に示されるように、分割後の各矩形パターンの中心点にパターン中心ノード２−４を設定する。また、隣接する矩形パターンの中心点同士を結ぶ線分と、矩形パターン同士が接する辺との交点に、辺中心ノード２−５を設定する。すなわち、矩形パターン同士が接する辺の中点に、辺中心ノード２−５を設定する。
【００３８】
更に、分割パターン処理部１３は、次のアルゴリズム（Ｃ）を用いて、抵抗を設定する。
（Ｃ）一の矩形パターン内で、パターン中心ノード２−５と辺中心ノード２−５とを両端とする抵抗を設定する。
【００３９】
具体的には、図１４に示されるように、各矩形パターン１に対して、パターン中心ノード２−４と辺中心ノード２−５とを結ぶ様に、抵抗を設定する。これにより、抵抗Ｒ１〜２６が設定される。
【００４０】
ステップＳ４０；ビア矩形パターンに対するノード及び抵抗の設定
続いて、ビア矩形パターン処理部１４が、矩形パターン１−１〜１−１２のうち、ビアの接続位置を含む矩形パターン１−５（以下、ビア矩形パターン）に対して、更にノード及び抵抗を設定する。抵抗は、複数の抵抗が重なる事が無い様に、ノード間を結ぶ様に設定される。具体的には、次のアルゴリズム（Ｄ）を用いて、ノード及び抵抗を設定する。
（Ｄ）ビア矩形パターンの中心から各辺に引いた垂線（第１垂線Ｌ１）と、ビアの中心から第１垂線Ｌ１に引いた垂線（第２垂線Ｌ２）との交点にノード（以下、垂線ノード）を設定する。また、ビアとの接続位置の中心にノード（以下、ビアノード）を設定する。そして、各ノード間に抵抗を設定する。
【００４１】
本ステップにおける具体的な処理内容を、図１５乃至１７を参照して説明する。図１５は、ビア矩形パターン１−５部分を拡大して示す図である。このビア矩形パターン１−５には、２つのビアの接続位置（ＶＩＡ−１、ＶＩＡ−２）が示されている。尚、ステップＳ３０の処理によって、ビア矩形パターン１−５の中心にはパターン中心ノードが設定されている。ビア矩形パターン１−５のパターン中心ノードを、他の矩形パターンのノードと区別するために、以下、中心ノード２−１と記載する。また、中心ノード２−１と辺中心ノード２−５との間には、Ｓ３０の処理により、抵抗Ｒ２６が設定されている。
【００４２】
図１５に示されるように、ビア矩形パターン処理部１４は、ビア矩形パターン１−５の中心から各辺へ第１垂線Ｌ１を設定する。また、ビアの接続位置（ＶＩＡ−１、ＶＩＡ−２）の中心に、ビアノード２−２を設定する。
【００４３】
次に、図１６に示されるように、ビアノード２−２から第１垂線Ｌ１へ引いた第２垂線Ｌ２を設定する。そして、第１垂線Ｌ１と第２垂線Ｌ２との交点に、垂線ノード２−３を設定する。
【００４４】
次に、設定したノード同士を結ぶ様に抵抗を設定する。この際、１直線上に３個以上のノードが設定されていた場合には、複数の抵抗が重ならない様に、隣のノード同士が結ばれる様に、抵抗を設定する。
【００４５】
具体的には、まず、垂線ノード２−３とビアノード２−２を両端とする線分に注目し、以下の手順３、４に従って、抵抗を設定する。
（手順３）垂線ノード２−３とビアノード２−２を両端とする線分内に、他のビアノードが存在する場合、２つのビアノード間に抵抗を設定する。
（手順４）手順３にて、他のビアノードが存在しない場合、この線分上に沿って、垂線ノード２−３とビアノード２−２を結ぶ様に抵抗を設定する。
【００４６】
本実施形態では、垂線ノード２−３とビアノード２−２との間に、別のビアノードは存在していないので、手順４に従って図１６に示されるように、抵抗Ｒ２７〜３０を設定する。
【００４７】
また、図１７に示されるように、中心ノード２−１と、垂線ノード２−３との間にも、抵抗（Ｒ３１〜Ｒ３３）が設定される。
【００４８】
以上説明した処理により、図８で示した配線パターンに対して、図１８で示される抵抗網が作成される。
【００４９】
ステップＳ５０；抵抗値の算出
抵抗値算出部１５は、予め記憶部２０等に設定された配線パターンのシート抵抗や、ビアの抵抗値に基いて、抵抗網を構成する各抵抗の抵抗値や、ビアの抵抗値を算出する。そして、出力部１６が、抵抗とノードとの接続関係、各抵抗やビアの抵抗値、等を示す情報を、シミュレーション用のデータとして、ディスプレイやプリンタ等に例示される出力装置に出力する。
【００５０】
本実施形態により出力されるシミュレーション用のデータを用いれば、抵抗網中でビアの位置（座標）が正しく表現されることになる。従って、ＥＭ検証などの検証結果を出力した際に、ビアの位置を容易に特定することができる。
【００５１】
また、ビア矩形パターン内において、垂線ノード２−３、ビアノード２−２、及び中心ノード２−１が設定される。そして、これらのノード間に抵抗を設定される。これにより、検証時に、ビア近傍における信号の流れの向きがより詳細に表現される。
【００５２】
また、配線パターンの各辺のパターン内側に延びる延長線によって、配線パターンを分割し、分割後のパターンに対応させてノードを設定しているので、抵抗網中の抵抗とノードの数を必要最小限とすることができる。特許文献３で説明した様に、配線パターンをメッシュ状に分割するように抵抗網を設定する場合、レイアウトパターンの接続状態を正確に表現するためには、細かいメッシュサイズで抵抗網を作成しなければならず、データサイズが増大する。これに対して、本実施形態によれば、抵抗とノードの数が必要最小限とされるので、データサイズを抑えることができる。
【００５３】
また、特許文献３のように、配線パターンを一律にメッシュ状に分割した場合、図４に示されるように、配線パターンの周辺部分にアンテナとなる抵抗が作成されてしまう。アンテナとなる抵抗素子は、一端が浮きノードとなってしまう。このような浮きノードは、冗長（不要）な抵抗となる。不要な抵抗の存在も、データサイズが増大する一因となる。これに対して、本実施形態に依れば、浮きノードは発生しない。従って、浮きノードの観点からも、データサイズを抑える事ができる。
【００５４】
（第２の実施形態）
続いて、第２の実施形態について説明する。本実施形態では、第１の実施形態と同様の抵抗網作成装置を用いて、図２で示した配線パターンについて抵抗網を作成する場合について説明する。尚、基本的な動作方法は、第１の実施形態と同様であり、重複する動作については説明を省略することがある。
【００５５】
図２で示した配線パターンの場合、既に配線パターンが一の矩形状であり、各辺のパターン内側に延びる延長線は存在し得ない。従って、分割部１２による分割後の矩形パターンは１つであり、分割前の配線パターンそのものと同じ形状となる。また、配線パターン内には、１０個のビアが接続されている。従って、この矩形パターンそのものが、ビア矩形パターンとみなされる。
【００５６】
分割パターン処理部１３は、図１９に示されるように、パターンＡＢＣＤの中心Ｏに中心ノード２−１を設定する。また、矩形パターンＡＢＣＤには、隣接する矩形パターンが存在しないので、辺中心ノードは設定しない。
【００５７】
また、ビア矩形パターン処理部１４は、中心Ｏから４辺に第１垂線Ｌ１を引く。そして、第１垂線Ｌ１と４辺との交点をＥ、Ｆ、Ｇ、Ｈとする。
【００５８】
次に、図２０に示されるように、ビア矩形パターン処理部１４は、１０個のビア（ｖ１〜ｖ１０）それぞれの中心に、ビアノード２−２を設定する。そして、各ビアノードから各第１垂線Ｌ１（ＯＥ、ＯＦ、ＯＧ、ＯＨ）に向けて第２垂線Ｌ２を引く。そして、第１垂線Ｌ１と第２垂線Ｌ２との交点（垂線の足）に、垂線ノード２−３を設定する。
【００５９】
ここで、ビアノード２−２と垂線ノード２−３との間を結ぶ線分に注目する。この線分内に他のビアノードが存在する場合、２つのビアノード間を結ぶ様に、抵抗を設定する。図２０に示す例の場合、ｖ１のビアノード２−２と垂線ノード２−３（点Ｋ）との間には、ｖ２のビアノード２−２が存在する。従って、ｖ１とｖ２のビアノード間を結ぶ様に、抵抗Ｒ１を設定する。同様にして、Ｒ５、Ｒ１１、Ｒ１５を発生させる。
【００６０】
一方、ビアノード２−２と垂線ノード２−３とを結ぶ線分内に、他のビア（の中心）が存在しない場合、この線分に沿って抵抗を設定する。図２０に示す例の場合、ｖ１のビアノードと点Ｉの垂線ノード２−３との間には、他のビアノードは存在しない。従って、ｖ１のビアノード２−２と点Ｉの垂線ノード２−３を結ぶ様に、抵抗Ｒ２を設定する。同様にして、Ｒ３、Ｒ４、Ｒ６、Ｒ７、Ｒ８、Ｒ９、Ｒ１０、Ｒ１２、Ｒ１３、Ｒ１４、及びＲ１６を設定する。
【００６１】
なお、ここでは第１垂線Ｌ１上に存在するビアノード２−２（ｖ７とｖ８のビアノード）に関しては、考慮しない。すなわち、第１垂線Ｌ１に沿った抵抗は、この段階では設定しない。これらのビアノードに関しては、後述する様に、第１垂線Ｌ１に沿った抵抗を設定する段階で考慮することとする。
【００６２】
続いて、図２１に示されるように、第１垂線Ｌ１上に沿って、ノード同士を結ぶ様に抵抗を設定する。この際、抵抗は、複数の抵抗が重複しない様に、隣接するノード同士が結ばれる様に、設定される。すなわち、ＯＥ上のＩＪ間、ＪＯ間に、それぞれ抵抗Ｒ１７、Ｒ１８を発生させる。また、ＯＧ上のＭＫ間、ＫＯ間に、それぞれ抵抗Ｒ１９、Ｒ２０を発生させる。また、線分ＯＨ上のＯＬ間、ＬＮ間に、それぞれ抵抗Ｒ２１、Ｒ２２を発生させる。また、線分ＯＦ上のＯとｖ７、ｖ７とｖ８の間に、それぞれ抵抗Ｒ２３、Ｒ２４を発生させる。
【００６３】
以上の処理により、図２で示したような配線パターンに対しても、ビアの中心位置を正しく示すノードと、各ノード間を結ぶ様に設定された抵抗（Ｒ１〜２４）とによって表現される抵抗網が作成される。
【００６４】
本実施形態によれば、図２で示した配線パターンの抵抗網が、２４個の抵抗によって表現される。また、アンテナとなってしまう不要な抵抗の数はゼロである。また、レイアウトパターン中の各ビアの中心座標は正しく表現される。また、ビアの数は１０個であり、また、ビアの抵抗値は正しく表現される。
【００６５】
これに対して、特許文献３に記載された手法を用いて、図４で示した様にメッシュ状に細かく分割した場合、配線パターンの抵抗網は１９２個の抵抗によって表現される。また、不要な抵抗の数は３２個である。また、レイアウトパターン中のビアの中心座標は、最大でａ／２だけずれる可能性があり、必ずしも正しく表現されない。また、ビアの数は１０個であり、ビアの抵抗値は正しく表現される。なお、この結果は、配線パターンＡＢＣＤについて、ＡＢ＝ＣＤ＝０．４ｕｍ、ＢＣ＝ＤＡ＝１．２ｕｍ、メッシュ分割サイズ（ここでは図４の「ａ」の値）＝０．１ｕｍと仮定した場合の結果とした。
【００６６】
また、図３を用いて説明した様に、配線パターン同士を接続する複数のビアをマージして一つのビアとして表現する手法を用いた場合、抵抗網は１個の抵抗で表現される。また、不要な抵抗の数はゼロである。また、レイアウトパターン中のビアの中心座標は、複数のビアが一つにマージされてしまうので正しく表現されない。また、ビアの数は２個であり、個々のビアの抵抗値は表現されない。
【００６７】
従って、本実施形態によれば、特許文献３や図３を用いて説明した手法とは異なり、レイアウトパターン中の各ビアの座標を正しく表現することができる。また、特許文献３に記載された手法とは異なり、抵抗網中の抵抗の数が増大したり、不要な抵抗が発生したりすることがない。また、図３を用いて説明した手法とも異なり、個々のビアの抵抗値を正しく表現することができる。
【００６８】
以下に、既述の実施形態を用いて作成された抵抗網を用いて回路シミュレーションを行った場合の精度について、実施例、及び比較例１、２を挙げて説明する。
【００６９】
（実施例）
図２２は、実施例で抵抗網作成の対象となるレイアウトパターンを示す概念図である。このレイアウトパターンは、複数段（Ｎ段）の基本データ（Ｓ１、Ｓ２・・・ＳＮ）を含んでいるものとする。１〜Ｎ段の基本データ中のパターンは、平面的に並んだパターンであるものとする。
【００７０】
図２３は、各基本データのパターンを示す概念図である。各基本データは、Ｍ１層（図２４参照）とＭ２層（図２５参照）の２層構造となっている。Ｍ１層とＭ２層の配線パターンは、複数のビアによって接続されているものとする。また、基本データには、１０個の外部端子（Ｐ１〜Ｐ１０）が設けられている。図２２に示されるように、外部端子Ｐ２、Ｐ４、Ｐ６、及びＰ８は、それぞれ、上段側で隣接する基本データのＰ３、Ｐ５、Ｐ７、Ｐ９に接続されている。また、外部端子Ｐ３、Ｐ５、Ｐ７、Ｐ９は、それぞれ、下段側で隣接する基本データのＰ２、Ｐ４、Ｐ６、Ｐ８に接続されている。また、図２３に示されるように、Ｍ１層におけるパターンのシート抵抗値は、０．０２４（ｏｈｍ／□）、Ｍ２層におけるシート抵抗値は０．０１９（ｏｈｍ／□）、各ビアの抵抗値は０．０８（ｏｈｍ／Ｖｉａ）に設定されているものとした。
【００７１】
図２２に示される基本データの段数を、３０段、４０段、５０段とした場合（すなわち、Ｎ＝３０、４０、５０）のそれぞれについて、第１の実施形態のＳ１０〜４０の処理を施して、抵抗網を作成した。
【００７２】
作成した各抵抗網に対して、電圧源、電流源の記述を追加して、ＳＰＩＣＥ（Ｓｉｍｕｌａｔｉｏｎ  Ｐｒｏｇｒａｍ  ｗｉｔｈ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｅｍｐｈａｓｉｓ）用のネットリストを作成した。具体的には、電圧源Ｖ［ｖｏｌｔ］を、最上段の外部端子Ｐ１（図２２中のＰ１−Ｎ）に接続されるように追加した。また、電流源Ｉ［Ａ］を、最下段の外部端子Ｐ１０（図中のＰ１０−１）に接続されるように追加した。
【００７３】
作成したＳＰＩＣＥ用ネットリストを用いて、最上段の外部端子Ｐ１と最下段の外部端子Ｐ１０の２点間の抵抗値を、コンピュータによりシミュレーションして測定した。具体的には、まず、ＳＰＩＣＥのＤＣ解析（直流動作解析）を実行し、最下段のＰ１０の電位を求め、この電位をＶ１とした。そして、最上段のＰ１と最下段のＰ１０の２点間の抵抗値Ｒを、下記の計算式で求めた。
（計算式）；Ｒ＝（Ｖ−Ｖ１）／Ｉ
【００７４】
ここで、Ｖ＝１［ｖｏｌｔ］、Ｉ＝１［Ａ］とした時の、Ｖ１及び抵抗値Ｒの計算結果が図２６、２７に示される。また、作成した抵抗網中における抵抗の数が、図２８に示される。また、作成したＳＰＩＣＥネットリストのＤＣ解析を行った際の実行時間が、図２９に示される。尚、図２６乃至２９において、Ｎ＝３０段の時の結果がデータ規模＝×３０であり、Ｎ＝４０段の時の結果がデータ規模＝×４０であり、Ｎ＝５０段の時の結果がデータ規模＝×５０である。
【００７５】
（比較例１）
実施例と同じレイアウトパターンに対して、図３を用いて説明した様に、複数のビアを一つにマージする手法により、抵抗網を作成した。また、作成した抵抗網に基いて、実施例と同様に、ＳＰＩＣＥのＤＣ解析（直流動作解析）を実行し、最上段のＰ１と最下段のＰ１０の２点間の抵抗値Ｒ、抵抗網中における抵抗の数、ＤＣ解析の実行時間を求めた。結果は、図２６乃至２９に示される。
【００７６】
尚、複数のビアを一つにマージするにあたっては、複数のビアのうち、同じ配線パターン同士を接続するビア群を一つのビアにマージした。また、マージ前のビアは、配線パターン同士を並列に接続しているものとみなし、マージされたビアの抵抗値をマージ前のビアの合成抵抗値として算出した。
【００７７】
（比較例２）
実施例と同じレイアウトパターンに対して、特許文献３に記載されたように、メッシュ状に抵抗及びノードを設定する手法により、抵抗網を作成した。また、作成した抵抗網に基いて、実施例と同様に、ＳＰＩＣＥのＤＣ解析（直流動作解析）を実行し、最上段のＰ１と最下段のＰ１０の２点間の抵抗値Ｒ、抵抗網中における抵抗の数、ＤＣ解析の実行時間を求めた。結果は、図２６乃至２９に示される。
【００７８】
尚、抵抗網を作成するにあたっては、ＤＣ解析によってより真値に近い抵抗値Ｒを求めることができるように、細かく抵抗を設定した。具体的には、抵抗網中の抵抗の数が、実施例の約６．８倍となるように、抵抗網を作成した。
【００７９】
（結果の考察）
図２７乃至２９には、更に、実施例及び比較例１に関して、比較例２との差分を示してある。その差分は、｛（実施例）−（比較例２）｝／（比較例２）により計算し、百分率で示してある。
【００８０】
図２７を参照して、ＤＣ解析結果の精度について説明する。既述のように、比較例２は、抵抗網を十分に細かく設定しているために、ＤＣ解析によって得られる抵抗値Ｒに関しては精度が高いといえる。従って、比較例２との差分が小さいほど、ＤＣ解析によって得られた抵抗値Ｒの精度が高いといえる。図２７に示されるように、データ規模＝×３０の場合、実施例におけるＤＣ解析結果による抵抗値は０．５３０（ｏｈｍ）であり、差分は−０．３％であった。一方、比較例１では、０．３６５（ｏｈｍ）であり、差分は−３１．４％であった。従って、比較例２とほぼ同じ値である実施例では、精度よくＤＣ解析が実施されていることが確認された。一方、比較例１では、比較例２との間に−３１．４％もの差分があり、精度が悪い事が確認された。尚、データ規模＝×４０、×５０の場合についても、実施例は比較例２との差分が−５％以内であり、十分に精度よくＤＣ解析の結果が得られたことが確認された。
【００８１】
また、図２８に示されるように、実施例では、作成された抵抗網中の抵抗の数が、比較例２に対して約８５％も削減された。このことから、実施例ではデータサイズを増やす事無く、抵抗網が作成できる事が確認された。
【００８２】
また、図２９に示されるように、実施例では、ＤＣ解析を行った際の実行時間が、比較例２に対して約９９％も削減された。このことから、実施例ではデータサイズが抑制されることにより、コンピュータによってシミュレーションを行う際の時間を軽減できる事が確認された。
【図面の簡単な説明】
【００８３】
【図１】回路シミュレーションの動作方法を示すフローチャートである。
【図２】配線パターンを説明するための説明図である。
【図３】従来例により作成される抵抗網を説明するための説明図である。
【図４】従来例により作成される抵抗網を説明するための説明図である。
【図５】第１の実施形態の抵抗網作成装置の構成を概略的に示すブロック図である。
【図６】抵抗網作成装置の機能構成を示す概略ブロック図である。
【図７】第１の実施形態の抵抗網作成装置の動作方法を示すフローチャートである。
【図８】配線パターンを説明するための説明図である。
【図９】分割部の動作を説明するための説明図である。
【図１０】分割部の動作を説明するための説明図である。
【図１１】分割部の動作を説明するための説明図である。
【図１２】分割部の動作を説明するための説明図である。
【図１３】分割パターン処理部の動作を説明するための説明図である。
【図１４】分割パターン処理部の動作を説明するための説明図である。
【図１５】第１の実施形態におけるビア矩形パターン処理部の動作を説明するための説明図である。
【図１６】第１の実施形態におけるビア矩形パターン処理部の動作を説明するための説明図である。
【図１７】第１の実施形態におけるビア矩形パターン処理部の動作を説明するための説明図である。
【図１８】第１の実施形態により作成される抵抗網を示す概念図である。
【図１９】第２の実施形態におけるビア矩形パターン処理部の動作を説明するための説明図である。
【図２０】第２の実施形態におけるビア矩形パターン処理部の動作を説明するための説明図である。
【図２１】第２の実施形態により作成される抵抗網を示す概念図である。
【図２２】実施例、比較例１、及び比較例２で処理対象とされるレイアウトパターンの内容を示す概念図である。
【図２３】基本データの内容を示す概念図である。
【図２４】Ｍ１層の配線パターンを示す説明図である。
【図２５】Ｍ２層の配線パターンを示す説明図である。
【図２６】実施例、比較例１及び比較例２のＤＣ解析結果を示した表である。
【図２７】実施例、比較例１及び比較例２のＤＣ解析結果を示した表である。
【図２８】実施例、比較例１及び比較例２において、抵抗網中における抵抗の数を示した表である。
【図２９】実施例、比較例１及び比較例２において、ＤＣ解析に要した実行時間を示した表である。
【符号の説明】
【００８４】
１    矩形パターン
２    ノード
２−１  中心ノード
２−２  ビアノード
２−３  垂線ノード
２−４  パターン中心ノード
２−５  辺中心ノード
１０  抵抗網作成装置
１１  配線層抽出部
１２  分割部
１３  分割パターン処理部
１４  ビア矩形パターン処理部
１５  抵抗値算出部
１６  出力部
【図１】
2008310562.tif 000003
【図２】
2008310562.tif 000004
【図３】
2008310562.tif 000005
【図４】
2008310562.tif 000006
【図５】
2008310562.tif 000007
【図６】
2008310562.tif 000008
【図７】
2008310562.tif 000009
【図８】
2008310562.tif 000010
【図９】
2008310562.tif 000011
【図１０】
2008310562.tif 000012
【図１１】
2008310562.tif 000013
【図１２】
2008310562.tif 000014
【図１３】
2008310562.tif 000015
【図１４】
2008310562.tif 000016
【図１５】
2008310562.tif 000017
【図１６】
2008310562.tif 000018
【図１７】
2008310562.tif 000019
【図１８】
2008310562.tif 000020
【図１９】
2008310562.tif 000021
【図２０】
2008310562.tif 000022
【図２１】
2008310562.tif 000023
【図２２】
2008310562.tif 000024
【図２３】
2008310562.tif 000025
【図２４】
2008310562.tif 000026
【図２５】
2008310562.tif 000027
【図２６】
2008310562.tif 000028
【図２７】
2008310562.tif 000029
【図２８】
2008310562.tif 000030
【図２９】
2008310562.tif 000031