以下、本発明を図示する実施形態に基づいて説明する。
<<< §1. 従来の検証方法による短絡箇所の特定手順 >>>
ここでは、まず、従来の一般的なLSIレイアウトパターンの検証方法において行われている、短絡箇所を特定するための手順を簡単に説明しておく。図1は、比較的単純なLSIレイアウトパターンの一例を示す平面図である(ハッチングは、パターン内部の領域を示している)。実際のLSIレイアウトパターンは、複数のレイヤーが重なり合い、極めて複雑な形状を有しているが、ここでは説明の便宜上、図1に示すような比較的単純な形状からなるパターンを例にとって以下の説明を行うことにする。
図1に示すようなLSIレイアウトパターンは、LSI設計装置を利用した設計作業により所定の回路図に基づいて作成され、図形データとして設計装置内に格納される。このLSIレイアウトパターンに対する検証作業は、LSIレイアウトパターンの検証装置(通常、LSI設計装置の一部として組み込まれていることが多い)によって、検証対象となるパターンをディスプレイ画面上に表示することによって行われる。
図2は、図1に示すLSIレイアウトパターンを検証装置のディスプレイ画面100に表示させた状態を示す平面図である。図示の例の場合、検証装置は、汎用コンピュータに検証用のアプリケーションプログラムを組み込むことによって構成されている。このため、ディスプレイ画面100の上部には、一般的なアプリケーションプログラム用の表示画面と同様に、タイトルバー110およびコマンドメニュー120が表示され、更に、メインとなる画面には、レイアウト画像130、補助情報140、データファイルリスト150がそれぞれの専用枠内に表示されている。
ここで、太枠で囲って示すレイアウト画像130は、図1に示すLSIレイアウトパターンを画面上に表示して得られる画像である。補助情報140は、レイアウト画像130に関するデータファイル、表示位置、表示倍率を示す情報であり、データファイルリスト150は、表示対象となるレイアウトデータのファイルを選択するためのリストである。この例の場合、図1のLSIレイアウトパターンを示すデータは、ファイル名「AAA1111」をもったデータファイルとして用意されており、図2に示す表示画面は、オペレータが、データファイルリスト150から「AAA1111」なるファイルを選択して表示させた状態を示すものである。
図2に示されている補助情報140における「データAAA1111」、「表示位置(300,250)」、「表示倍率X3.0」なる表示は、レイアウト画像130として現在表示されている画像が、「AAA1111」なるファイルに対応するレイアウトパターンから、座標(300,250)の位置を中心とする部分を切り出し、表示倍率3倍で表示した画像であることを示している。
図示の例の場合、補助情報140の表示欄には、スライド調整式の倍率指定子141が設けられており、オペレータは、マウスなどのポインティングデバイスを用いてこの倍率指定子141をスライドさせることにより、レイアウト画像130の表示倍率を任意の値に設定することができる。すなわち、オペレータが倍率指定子141を左右に動かすと、レイアウト画像130はリアルタイムで拡大もしくは縮小して表示されることになる。
また、オペレータは、レイアウト画像130内の1点をクリックすることにより、当該クリック点が中心となるように表示位置の調整を行うことも可能である。たとえば、オペレータがレイアウト画像130内の任意の指定点Pをクリックすれば、レイアウト画像130は、当該指定点Pが中心となるような画像に切り替わることになる。
結局、オペレータは、データファイルリスト150から選択した所定のファイル名をもつLSIレイアウトパターンの所定位置の近傍部分を所定倍率で、レイアウト画像130として表示させることができる。図3は、図2に示す指定点Pの近傍部分を拡大表示させた状態を示す平面図である。このように、オペレータは、任意のLSIレイアウトパターンの任意の部分を任意の倍率で表示させることができるので、ディスプレイ画面上を目視することにより、レイアウトパターンの特定箇所にエラーが生じていないか否かを確認する作業を行うことができる。
なお、LSIレイアウトパターンは、通常、複数の基本図形を組み合わせた合成図形として定義される。たとえば、図3にレイアウト画像130として示されているパターンの上部の枝の部分であれば、図4に示すように、複数の矩形を組み合わせた合成図形Fとして定義することができる。具体的には、図4に示す例の場合、実線で示す基本図形F10,破線で示す基本図形F20,一点鎖線で示す基本図形F30,一点鎖線で示す基本図形F40,破線で示す基本図形F50の論理和図形として、合成図形Fを定義することができる。
これらの基本図形をベクタ形式の図形データとして表現すれば、当該基本図形が矩形であることを示す情報と、その2頂点の位置座標を示す情報とを用意すれば十分である。たとえば、基本図形F10を定義する図形データは、図に黒丸で示す2頂点P11,P12の位置座標と、これら2頂点を対角とする矩形であることを示す情報とによって構成することができる。同様に、基本図形F20は、白丸で示す2頂点P21,P22を対角とする矩形、基本図形F30は、黒三角で示す2頂点P31,P32を対角とする矩形、基本図形F40は、白三角で示す2頂点P41,P42を対角とする矩形、基本図形F50は、黒四角で示す2頂点P51,P52を対角とする矩形として定義される。
実際のLSIレイアウトパターンを示す図形データは、このような個々の基本図形の形状および位置座標を示す図形データと、これら基本図形を組み合わせて合成図形を得るための合成方法を示す合成方法データと、によって構成される。たとえば、図示の例の場合、合成方法データとしては、5組の基本図形F10〜F50の論理和演算を示すデータ(図示の例の場合、「F=F10+F20+F30+F40+F50」なる合成方法データ)が用意される。図3に示すレイアウト画像130は、このような論理和演算を行うことにより得られた合成図形F(論理和図形)の内部の領域にハッチングを施して示したものである。
さて、ここでは、実際の設計作業により得られたパターンが、図5に示す例のようなパターンであった場合を考えてみる。この図5に示すパターンは、図1に示す本来のLSIレイアウトパターンに対して、設計ミスにより、一部短絡箇所Sが生じているパターンである。図5では、短絡箇所Sを黒丸で囲って示してあるが、実際には、この短絡箇所Sの存在を目視確認することは容易ではない。図6は、図5に示すLSIレイアウトパターン(一部短絡)をディスプレイ画面100に表示させた状態を示す平面図である。図2のレイアウト画像130は、本来のパターン(設計ミスのないパターン)を示すものであり、図6のレイアウト画像130は、一部短絡したパターン(設計ミスのあるパターン)を示すものであるが、一見したところ、両者は同じパターンに見え、両者を比較したとしても、その相違箇所を発見するまでには、ある程度の時間がかかるであろう。
前述したとおり、図示のパターン例は、説明の便宜上、比較的単純な形状からなるパターンを示すものであり、実際のLSIレイアウトパターンは、図示の例に比べて極めて複雑な形状を有している。しかも、オペレータに提示されるのは、図6に示すレイアウト画像130(設計ミスのあるパターン)のみであり、図2に示すレイアウト画像130(設計ミスのないお手本となるパターン)との対比により、短絡箇所Sを見つける作業を行うことはできない。
既に述べたとおり、従来の一般的な検証装置には、LVS(Layout vs Schematic)と呼ばれている検証方法を実行する機能が備わっており、設計ミスによりLSIレイアウトパターン上に短絡箇所Sが存在すると、検証装置が自動的に回路図と比較する処理を行うことにより、レイアウトパターン上に不整合が生じていることが認識できる。しかしながら、当該不整合の原因箇所(すなわち、短絡箇所S)については、大まかな位置確認を行うことができるものの、正確な位置特定を自動的に行うことはできない。
このため、オペレータは、LVSの検証機能によって不整合が確認できた場合、当該不整合の原因が存在する可能性のある大まかな範囲を、図6に示す例のように、ディスプレイ画面100上に表示させ、目視により短絡箇所Sを見つける作業を行う必要がある。本発明は、このようにオペレータの目視による短絡箇所Sの確認作業の負担を軽減することを目的になされたものである。以下、その構成を詳述する。
<<< §2. 本発明に係る検証支援装置の基本構成 >>>
図7は、本発明の基本的な実施形態に係るLSIレイアウトパターンの検証支援装置の構成を示すブロック図である。この装置は、図示のとおり、レイアウトデータ格納部10、レイアウトパターン表示部20、等電位パターン抽出部30、経路探索用ペア指定部40、最短経路探索部50、短絡候補領域絞込部60、短絡候補領域表示部70、ディスプレイ装置80によって構成される。
レイアウトデータ格納部10は、検証対象となるLSIレイアウトパターンのデータを格納する構成要素である。LSIレイアウトパターンのデータは、§1で述べたとおり、個々の基本図形の形状および位置座標を示す図形データと、これら基本図形を組み合わせて合成図形を得るための合成方法を示す合成方法データと、によって構成することができる。トランジスタを含む一般的な半導体集積回路の場合、半導体チャネル層、ゲート電極層、ソース電極層、ドレイン電極層、電源ライン、接地ラインなどの層がそれぞれ別個のレイヤーを構成するLSIレイアウトパターンとして用意される。
なお、レイアウトデータ格納部10に格納されているLSIレイアウトパターンのデータには、後述する等電位追跡処理を行うために必要なデータも含まれている。具体的には、個々のレイヤーが導電性のレイヤーであるか否かを示すデータや、コンタクトの位置を示すデータなども、LSIレイアウトパターンのデータとして、レイアウトデータ格納部10に格納されている。
ディスプレイ装置80は、レイアウトデータ格納部10に格納されているLSIレイアウトパターンのデータに基づいて、LSIレイアウトパターンの表示を行う構成要素であり、図6のディスプレイ画面100に示すような表示が行われることになる。
また、レイアウトパターン表示部20は、オペレータの表示指示に基づいて、レイアウトデータ格納部10から所定のデータを読み出し、LSIレイアウトパターンの所定部分をディスプレイ装置80の画面に表示する構成要素である。オペレータによる表示指示としては、どのレイアウトパターンのどの位置をどの倍率で表示させるかを特定する情報を与えればよい。たとえば、図2に示す例の場合、データファイルリスト150から特定のファイルを選択することにより表示対象となるレイアウトパターンを指定し、指定したパターンをレイアウト画像130として表示させ、このレイアウト画像130上の指定点Pをクリックすることにより新たな表示位置を指定し、補助情報140の欄に表示された倍率指定子141を動かすことにより表示倍率を指定する情報を与えることができる。
等電位パターン抽出部30は、LSIレイアウトパターン上で等電位追跡を行い、等電位となる領域を示す等電位パターンを抽出し、これをディスプレイ装置80の画面に表示する構成要素である。ここに示す実施形態の場合、等電位パターン抽出部30は、図示のとおり、初期点入力部31、等電位追跡部32、等電位パターン表示部33を有している。以下、これらの各構成要素の機能を、具体例を挙げながら順に説明する。
まず、初期点入力部31は、オペレータの入力操作に基づいて、ディスプレイ装置80の画面に表示されているLSIレイアウトパターン上の1点として初期点Qの位置入力を行う機能を有する。初期点入力部31に対してオペレータが入力する初期点Qの位置は、できるだけ短絡箇所Sが存在する可能性が高いと思われる箇所になるようにする。実際には、前述したように、LVSなどの従来の検証機能により、短絡箇所Sが存在する可能性のある大まかな範囲をオペレータに提示することができるので、オペレータは、当該提示範囲内で短絡箇所Sが近傍にあると予想される箇所を、初期点Qとして指定する入力操作を行えばよい。
図8は、図6に示すLSIレイアウトパターン上の1点として、初期点Qを指定した状態を示す平面図である。オペレータは、初期点入力部31に対して初期点入力操作を行う旨の指示を与えた後(たとえば、コマンドメニューを利用して、初期点入力コマンドを選択すればよい)、レイアウト画像130上の所望の1点(図ではハッチングが施されたパターン内部の点)を初期点Qとしてクリックする操作を行えばよい。初期点入力部31は、こうして入力された初期点Qの位置座標を等電位追跡部32に与える。
等電位追跡部32は、レイアウトデータ格納部10に格納されているデータに基づいて、初期点入力部31が入力した初期点Qに対して等電位追跡を行い、初期点Qと等電位になる領域を示す等電位パターンを抽出する処理を行う。図9は、図8に示すLSIレイアウトパターン(一部短絡)について、初期点Qと等電位となる等電位パターンを抽出した状態を示す平面図である。図にハッチングを施して示す領域が、抽出された等電位パターンの領域であり、等電位追跡部32によって「初期点Qと等電位である」と判断された領域ということになる。一方、図9に破線で示す部分は、等電位パターン以外の領域であり、等電位追跡部32によって「初期点Qと等電位である」とは判断されなかった領域である。
前述したとおり、レイアウトデータ格納部10に格納されているLSIレイアウトパターンのデータには、個々のレイヤーが導電性のレイヤーであるか否かを示すデータや、コンタクトの位置を示すデータなども含まれており、等電位追跡部32は、これらのデータに基づいて等電位追跡処理を行うことができる。図9に示す例の場合、ハッチング部分は導電性のレイヤーであり、かつ、初期点Qを含む図形を構成する領域であるため、等電位パターンとして抽出されたことになる。等電位追跡処理は、必要であれば、コンタクトで電気的に接続されたレイヤーについても行うことができ、その場合、互いに異なるレイヤーを構成する複数の図形が同一の等電位パターンとして抽出される場合もあり得る。このような等電位追跡処理の具体的な手法は、既に公知のものであるため、ここでは詳しい説明は省略する。
一方、図10は、図1に示す本来のLSIレイアウトパターン(短絡なし)について、初期点Qと等電位となる等電位パターンを抽出した状態を示す平面図である。設計ミスによる短絡箇所Sが存在しなければ、本来は、初期点Qについての等電位パターンは、図10にハッチングを施した領域になるべきはずである。ところが、ここに示す例の場合、設計ミスによる短絡箇所Sが存在したため、本来は等電位にはならないはずの隣接した領域まで等電位と認識されてしまい、図9にハッチングを施した領域全体が等電位パターンとして抽出されることになる。
等電位パターン表示部33は、こうして等電位追跡部32が抽出した等電位パターンをディスプレイ装置80の画面に表示する機能を有する。ここに示す例の場合、図9に示す等電位パターンがディスプレイ画面100上にレイアウト画像130として表示されることになる。なお、等電位パターン以外の部分(図9に破線で示す部分)は、全く表示しないようにしてもよいが、参考のために、等電位パターンとは表示輝度や表示色を変えて表示するようにしてもよい。いずれにしても、オペレータが、初期点Qを指定する入力操作を行うと、当該初期点Qについての等電位追跡処理の結果として得られる等電位パターンの領域(図9にハッチングで示す部分)が、オペレータにとって明確に認識できるような表示が行われるようにする。これは、後述するように、等電位パターンの領域上で参照点入力を行う必要があるためである。
なお、本発明に係る検証支援装置を利用して支援を享受できるオペレータとしては、LSI設計に関する技術的見識のある者を想定している。別言すれば、本発明に係る検証支援装置を利用するオペレータには、等電位パターン抽出部30によって抽出された等電位パターンが、正常なパターン(短絡のないLSIレイアウトパターンについて本来得られるべきパターン)であるのか、異常なパターン(本来は異電位となるべき複数のパターンを包含しているパターン)であるのかを、見極める能力が要求される。これは、後述する参照点入力を行う際に、第1参照点と第2の参照点とを区別して入力する必要があるためである。
たとえば、本発明に係る検証支援装置を利用するオペレータには、図10に示す例(短絡のない正規のLSIレイアウトパターン)は正常なパターンであり、図9に示す例(短絡箇所SのあるLSIレイアウトパターン)は異常なパターンである、という漠然とした認識を行う能力が要求される。そして、もし、初期点Qをクリックした結果、図10に示すような等電位パターンが表示された場合、当該等電位パターンを正常なパターンと認識して、新たな初期点Qをクリックし直す処理を行うようにする。これは、正常なパターンと認識できる等電位パターン内には、短絡箇所Sは存在しないので、当該等電位パターンについて短絡箇所Sを探す処理を続行しても無駄になるからである。一方、初期点Qをクリックした結果、図9に示すような等電位パターンが表示された場合は、当該等電位パターンを異常なパターンと認識して、当該等電位パターンについて短絡箇所Sを探す処理を続行する作業(後述する参照点の入力作業)を行えばよい。
このように、オペレータは、初期点Qの指定後に表示される等電位パターンを観察することにより、当該等電位パターン内に短絡箇所Sが存在するか否かを把握することになり、当該等電位パターン内に短絡箇所Sが存在すると認識できた場合に、後述する参照点の入力作業を行うことになる。
続いて、図7に示す経路探索用ペア指定部40の機能について説明する。経路探索用ペア指定部40は、等電位パターン抽出部30によって抽出された等電位パターン上で、第1参照点Aと第2の参照点Bとの組み合わせからなる経路探索用ペアを複数組指定する機能を有する。上述したように、オペレータには、表示された等電位パターンが異常なパターンであること、すなわち、本来は異電位となるべき複数のパターンを包含しているパターンであること、を認識する能力が備わっている。そこで、オペレータは、本来は異電位となるべき2つのパターンのうち、一方のパターン上の任意の点を第1参照点Aとして入力し、他方のパターン上の任意の点を第2参照点Bとして入力する操作を行うようにする。こうして入力された第1参照点Aと第2参照点Bとの組み合わせが経路探索用ペアとなる。
図11は、図9に示す等電位パターン(一部短絡)が表示されたディスプレイ画面上で、第1参照点Aおよび第2参照点Bを指定した状態を示す平面図である。初期点Qの入力により、図9に示すような等電位パターン(一部短絡)が抽出されると、当該等電位パターン(一部短絡)は、等電位パターン表示部33によって、図11に示すレイアウト画像130としてディスプレイ画面100上に表示される。図11は、オペレータが、このレイアウト画像130上で第1参照点A(黒三角)および第2参照点B(白丸)を指定した状態を示している。ここで、第1参照点A(黒三角)は、オペレータが表示中の等電位パターンに包含されている第1のパターン上の点として認識している任意の1点であり、第2参照点B(白丸)は、オペレータが表示中の等電位パターンに包含されている第2のパターン(第1のパターンに対して本来は異電位であるべき別なパターン)上の点として認識している任意の1点である。
前述したように、オペレータは、図11のレイアウト画像130として示されている等電位パターン(ハッチング部分)を、異常なパターン(本来は異電位となるべき複数のパターンを包含しているパターン)と認識する能力を有しているので、本来は明らかに異電位となるべき2点として、第1参照点Aおよび第2参照点Bを指定することができる。図11に示す例の場合、等電位パターンの左上隅の点として第1参照点Aが指定され、右上隅の点として第2参照点Bが指定されている。これは、オペレータが、等電位パターンの右側部分と左側部分とは、本来は明らかに異電位となるべき部分であるとの認識の下に、第1参照点Aおよび第2参照点Bが本来は明らかに異電位となるべき2点であるとの認識をもったためである。
もちろん、実際に表示される等電位パターンは、より複雑な形状をした図形になるため、いくらLSI設計に関する技術的見識のあるオペレータであっても、どの部分までが第1のパターンに所属し、どの部分までが第2のパターンに所属するかを正確に認識することは困難である。ただ、ここで指定すべき第1参照点Aおよび第2参照点Bは、本来は明らかに異電位となるべき2点として把握できる任意の点であれば足りるので、LSI設計に関する技術的見識のあるオペレータにとれば、当該2点を指定することはそれほど難しいことではない。
ここに示す実施形態の場合、経路探索用ペア指定部40は、図7に示すとおり、参照点入力部41とペア決定部42を有している。
参照点入力部41は、オペレータの入力操作に基づいて、ディスプレイ装置80の画面に表示されている等電位パターン上の点として複数の参照点の位置入力を行う機能を有する。図11に示す例の場合、上述したとおり、レイアウト画像130として表示されている等電位パターン上の点として、第1参照点Aおよび第2参照点Bが入力されている。オペレータは、参照点入力部41に対して参照点入力操作を行う旨の指示を与えた後(たとえば、コマンドメニューを利用して、参照点入力コマンドを選択すればよい)、等電位パターン上の所望の1点(図ではハッチングが施されたパターン内部の点)を第1参照点Aとしてクリックする入力操作を行い、続いて、別な1点を第2参照点Bとしてクリックする入力操作を行えばよい。
一方、ペア決定部42は、参照点入力部41によって入力された複数の参照点のうち、所定の2点の組み合わせにより経路探索用ペアを決定する機能を有する。図11には、第1参照点Aと第2参照点Bとを入力した例が示されており、この場合、当該2点A,Bの組み合わせにより1組の経路探索用ペアが決定されることになるが、実際には、参照点入力部41によってより多数の参照点が入力され、ペア決定部42により、複数組の経路探索用ペアが決定されることになる。
たとえば、後述する例の場合、まず、参照点入力部41により、第1参照点A1と第2参照点B1とが入力され、この2点の組み合わせにより第1組目の経路探索用ペアが決定される。更に、参照点入力部41により、別な第1参照点A2と別な第2参照点B2とが入力され、この2点の組み合わせにより第2組目の経路探索用ペアが決定される。そして最後に、参照点入力部41により、更に別な第1参照点A3と更に別な第2参照点B3とが入力され、この2点の組み合わせにより第3組目の経路探索用ペアが決定される。なお、参照点入力部41による複数の参照点の具体的な入力形態およびペア決定部42による経路探索用ペアの具体的な決定形態については、§3で具体例を挙げながら詳述する。
最短経路探索部50は、等電位パターン抽出部30によって抽出された等電位パターン上で、経路探索用ペア指定部40によって指定された各経路探索用ペアについて、第1参照点と第2の参照点とを結ぶ最短経路を探索する処理を行う構成要素である。前述したとおり、経路探索用ペア指定部40により複数組の経路探索用ペアが指定されるので、最短経路探索部50は、この複数組の経路探索用ペアのそれぞれについて最短経路探索処理を行い、それぞれについて最短経路を求めることになる。
たとえば、図12は、図9に示す等電位パターン(一部短絡)上で、第1参照点A1(図11の第1参照点Aと同じ)と第2参照点B1(図11の第2参照点Bと同じ)とを結ぶ最短経路R1(ハッチング部分)を示す平面図である。同様に、図13は、図9に示す等電位パターン(一部短絡)上で、第1参照点A2と第2参照点B2とを結ぶ最短経路R2(ハッチング部分)を示す平面図であり、図14は、図9に示す等電位パターン(一部短絡)上で、第1参照点A3と第2参照点B3とを結ぶ最短経路R3(ハッチング部分)を示す平面図である。いずれのケースも、図では、第1参照点を黒三角、第2参照点を白丸で示し、両点を結ぶ最短経路を示す経路図形にハッチングを施してある。なお、等電位パターンを示す図形上の2点間の最短経路を探索するための具体的な手法については、後述する§4において説明する。
短絡候補領域絞込部60は、こうして最短経路探索部50によって探索された複数組の経路探索用ペアについての最短経路に基づいて、LSIレイアウトパターン上で短絡している可能性のある箇所を絞り込む処理を行って短絡候補領域を求める構成要素である。図12に示す2点A1,B1間の最短経路R1、図13に示す2点A2,B2間の最短経路R2、図14に示す2点A3,B3間の最短経路R3を見ればわかるとおり、これらの最短経路には、必ず短絡箇所S(図5参照)が含まれている。
これは、オペレータが、第1参照点Aおよび第2参照点Bを、本来は異電位となるべき異なるパターン上の点として指定したため、両点を結ぶ経路は、必ず短絡箇所Sを通る経路になるためである。もちろん、両点を結ぶ経路であれば、最短経路でなくても必ず短絡箇所Sを通ることになるが、最短経路探索部50によって最短経路を探索するのは、短絡候補領域絞込部60による絞込作業をしやすくするためである。短絡候補領域は、短絡している可能性のある箇所として絞り込まれた領域であるが、短絡箇所Sを発見する検証作業を行っているオペレータにとっては、できるだけ狭い領域に絞り込まれていた方が好ましい。第1参照点Aおよび第2参照点Bを結ぶ経路として最短経路を求めるのは、無駄な経路を省き、両点を結ぶ経路を求める段階から、既に絞り込みが行われるようにするためである。
短絡候補領域絞込部60による絞り込みによって短絡候補領域を求める処理は、複数組の経路探索用ペアに関して最短経路探索部50がそれぞれ求めた最短経路について、等電位パターン上で当該最短経路を示す経路図形について所定の図形論理演算を実行することにより行うことができる。たとえば、上例の場合、図12〜図14に示すように合計3組の最短経路R1〜R3が求められているので、等電位パターン上でこれら最短経路を示す経路図形(図12〜図14においてハッチング領域として示された図形)について図形論理演算を実行することにより短絡候補領域を求めることができる。
なお、本願において、「最短経路」とは、第1参照点Aと第2参照点Bとを等電位パターン上で結ぶ線状の経路を意味し、「経路図形」とは、等電位パターン上で「最短経路」に沿って所定の幅をもった道を構成する図形を意味するものであるが、本発明の概念上、両者は同義のものとして捉えることができるので、便宜上、同じ符号を用いて示すことにする。たとえば、図12〜図14に示す例の場合、最短経路R1〜R3(概念的な線状経路)に沿って形成される経路図形(幅をもった道を構成する図形)も、同じ符号R1〜R3を用いて示されている
短絡候補領域を求める図形論理演算として最も単純な演算は論理積演算である。たとえば、図12に示す経路図形R1は、2点A1,B1を結ぶ最短経路を示すものであり、図13に示す経路図形R2は、2点A2,B2を結ぶ最短経路を示すものであるから、当然、両図形は幾何学的に異なる図形になる。ただ、これら両図形は、いずれも「短絡箇所Sを含んだ図形である」という共通点を有している。したがって、両図形の論理積演算を行って得られる論理積図形にも「短絡箇所S」が含まれることになる。
図15は、図12に示す経路図形R1と図13に示す経路図形R2との論理積として得られる経路図形R(1&2)(ハッチング部分)を示す平面図である。図には、参考のため、2組の第1参照点A1,A2(黒三角)および2組の第2参照点B1,B2(白丸)も併せて示されている。経路図形R(1&2)は、経路図形R1とR2との論理積図形であるので、「短絡箇所S」を含んでおり、しかも経路図形R1やR2に比べて狭い範囲を示す図形になっている。すなわち、論理積演算を行うことにより、短絡候補領域としての絞り込みが行われたことになる。上例の場合、更に、図14に示すような経路図形R3が求められているので、合計3組の経路図形R1,R2,R3についての論理積演算を行うことにより、更なる絞り込みを行うことが可能である。
図16は、図12に示す経路図形R1と図13に示す経路図形R2と図14に示す経路図形R3との論理積として得られる経路図形R(1&2&3)(黒塗り部分)を示す平面図である。図には、参考のため、3組の第1参照点A1,A2,A3(黒三角)および3組の第2参照点B1,B2,B3(白丸)も併せて示されている。得られた経路図形R(1&2&3)は、短絡候補領域としてかなりの絞り込みが行われた図形になっており、ほぼ、短絡箇所Sの位置を特定することが可能な情報を示している。
短絡候補領域表示部70は、こうして短絡候補領域絞込部60によって絞り込まれた短絡候補領域(上例の場合は、3組の経路図形R1,R2,R3についての論理積図形として得られた経路図形R(1&2&3))をディスプレイ装置80の画面に表示する構成要素である。図17は、図16に示す短絡候補領域(黒塗り部分)、すなわち、経路図形R(1&2&3)を、ディスプレイ画面100上にレイアウト画像130として表示させた状態を示す平面図である。オペレータは、この表示結果を見ながら、黒塗り部分に着目し、短絡箇所Sが当該黒塗り部分(短絡候補領域)内にあるとの認識の下に、図5に示す短絡箇所Sの正確な位置を目視確認することができる。
なお、実用上、短絡候補領域表示部70は、ディスプレイ装置80の画面に短絡候補領域の表示を行う際に、短絡候補領域を等電位パターンに重ねて表示するようにし、かつ、短絡候補領域を等電位パターンとは区別可能な態様で表示するようにするのが好ましい。図17に示す例の場合、等電位パターンだけでなく、その周囲のパターンも併せて表示し、短絡候補領域だけを黒塗りで表示することにより、短絡候補領域が他の部分と区別可能になるようにしている。もちろん、実際には、表示輝度や表示色を変えて表示することにより区別可能にしたり、ハッチングパターンを変えて表示することにより区別可能にしたりすればよい。
このように、本発明に係るLSIレイアウトパターンの検証支援装置を利用すれば、オペレータは、まず、レイアウトパターン上における短絡箇所Sが存在する可能性のある領域に初期点Qを指定することにより、当該初期点Qを含む等電位パターンを表示させる作業を行えばよい。そして、表示された等電位パターンが正常なもの(短絡のないLSIレイアウトパターンについて本来得られるべきパターン)と思われる場合は、別な初期点Qを次々と指定してゆくようにし、表示された等電位パターンが異常なもの(本来は異電位となるべき複数のパターンを包含しているパターン)と思われる場合は、当該等電位パターン上で、本来は明らかに異電位となるべき2点として、第1参照点Aおよび第2参照点Bを指定する操作を複数n回繰り返せばよい。そうすれば、複数n組の経路探索用ペアについて、それぞれ最短経路が求められ、更に、得られた経路図形の論理積図形として短絡候補領域が求められ、図17に示す例のようにディスプレイ画面上に表示されることになる。
短絡箇所Sは、この短絡候補領域内に存在するので、オペレータは、当該短絡候補領域内を目視確認することにより、短絡箇所Sの正確な位置を容易に特定することができる。かくして、本発明に係る検証支援装置によれば、LSIレイアウトパターン上の短絡箇所を特定する作業を容易にし、オペレータの検証作業の負担を軽減することが可能になる。なお、上例では、短絡候補領域を求める図形論理演算として、論理積演算を行う例を示したが、短絡候補領域絞込部60が短絡候補領域を求めるために行う絞込処理は、必ずしも論理積演算に限定されるものではない。論理積演算以外の図形論理演算を行う変形例については、後述する§3−3で説明する。
以上、図7に示すブロック図に基づいて、本発明の基本的な実施形態に係るLSIレイアウトパターンの検証支援装置の構成および動作原理を説明したが、実際には、この検証支援装置は、コンピュータに専用のプログラムを組み込むことにより構成することができる。したがって、図7に示すレイアウトデータ格納部10は、コンピュータ用の記憶装置(たとえば、ハードディスク装置やメモリ)によって構成することができ、ディスプレイ装置80は、コンピュータ用のディスプレイ装置によって構成することができ、その他の各構成要素は、コンピュータのハードウエア資源を利用したプログラムの動作として具現化することができる。
また、本発明に係る装置は、あくまでもオペレータによるLSIレイアウトパターンの検証作業を支援する支援装置であるが、実用上は、一般的なLSIレイアウトパターンの設計装置の一検証機能として本発明を実施することも可能である。すなわち、本発明に係る検証支援装置を一般的なLSIレイアウトパターンの設計装置に組み込む形態とすれば、当該設計装置の検証機能の1つとして本発明を利用することが可能になる。
一般的なLSIレイアウトパターンの設計装置も、実際には、コンピュータに専用のプログラムを組み込むことにより構成される装置であるので、このコンピュータに、本発明に係る機能を実現するためのプログラムを更に付加するようにすれば、当該コンピュータは、本発明に係る検証支援装置が組み込まれたLSIレイアウトパターンの設計装置として機能することになる。この場合、図7に示すレイアウトデータ格納部10は、LSIレイアウトパターンの設計装置を用いた設計作業の結果として得られるレイアウトデータを格納する構成要素をそのまま流用することができ、ディスプレイ装置80は、LSIレイアウトパターンの設計装置に用いられるディスプレイ装置をそのまま流用することができる。
前述したように、本発明に係る検証支援装置を利用するオペレータには、ディスプレイ画面上に表示されている等電位パターンが、正常なパターン(短絡のない正規のLSIレイアウトパターン)であるのか、異常なパターン(短絡箇所のあるパターン)であるのかを認識する能力が要求されるが、本発明に係る検証支援装置をLSIレイアウトパターンの設計装置に組み込んだ態様で実現すれば、本発明に係る検証支援装置のオペレータは、LSIレイアウトパターンの設計装置のオペレータを兼ねることになる。
この場合、検証対象となるLSIレイアウトパターンの設計者自身が本発明に係る検証作業を行うオペレータということになるので、当該オペレータは、当然ながら、LSIレイアウトパターン設計に関する十分な知見を有する者になる。したがって、当然ながら、ディスプレイ画面上に表示された等電位パターン(自分自身が設計したレイアウトパターンの一部)が、正常か異常を容易に認識することができよう。
もちろん、本発明に係る検証支援装置は、短絡箇所の正確な位置を自動的に特定する装置ではないので、ディスプレイ画面上に表示される短絡候補領域は、必ずしも短絡箇所の正確な位置を示しているとは限らない(特に、経路探索用ペアの数が少ないと、十分な絞り込みができない)。また、短絡候補領域の絞り込みは、オペレータが入力した第1参照点および第2参照点の位置に基づいて行われるため、これら参照点の位置が不正確であった場合(たとえば、オペレータが、本来、等電位となるべき2カ所を、第1参照点および第2参照点に指定してしまったような場合)、正しい短絡候補領域の絞り込みが行われない可能性もある。それでも、本発明に係る検証支援装置は、あくまでもオペレータが短絡箇所を目視発見する作業を支援する支援装置であり、オペレータの作業支援を行うという点では、その役割を十分に果たすことができる。
<<< §3. いくつかの具体的な実施形態および変形例 >>>
ここでは、§2で述べた基本的な実施形態について、更に具体的な実施形態や変形例を述べることにする。
<3−0.より単純な等電位パターンのモデル>
§1では、図1に示すようなLSIレイアウトパターンを例示し、§2では、当該LSIレイアウトパターンを例にとって、本発明の基本的な実施形態に係る検証支援装置の動作を説明した。前述したとおり、図1に示すLSIレイアウトパターンは、実際のLSIレイアウトパターンに比べると極めて単純なパターンと言えるが、この§3では、便宜上、図18に示すような更に単純化されたパターンを説明用モデルとして取り上げ、以下の説明を行うことにする。
この図18に示すレイアウトパターンは、図示のとおり、4組の構成図形Fa,Fb,Fc,Fdによって構成されている。ここで、ドットによるハッチングを施した構成図形Fc,Fdは、斜線によるハッチングを施した構成図形Fa,Fbの下方を通過する配線レイヤーを構成している。したがって、この4組の構成図形Fa,Fb,Fc,Fdは、いずれも導電性のレイヤーになっているが、相互に電気的な接触はないので、いずれも電気的に独立したパターンになる。別言すれば、任意の1点について等電位追跡を行えば、各構成図形Fa,Fb,Fc,Fdは、それぞれ独立した別個の等電位パターンを構成することになる。
さて、ここでは、図18に示すレイアウトパターンを本来のパターンとした上で、実際には、設計ミスにより、図19に示すような短絡箇所Sが発生した場合を考えてみよう。この場合、構成図形FaとFbは、短絡箇所Sにおいて導通した状態となるため、等電位追跡を行えば、構成図形FaおよびFbが短絡箇所Sにおいて融合した1つのパターンが得られることになる。
図4に例示したとおり、一般的なLSIレイアウトパターンは、通常、複数の基本図形を組み合わせた合成図形として定義される。したがって、図18に例示するレイアウトパターンも、たとえば、図20に例示するような基本図形(相互に識別しやすいように、実線、破線、一点鎖線を適宜組み合わせて描かれている)を組み合わせた合成図形として定義されている。
この図20に示す例では、構成図形Faは、Fa=Fa1+Fa2+Fa3+Fa4なる論理式で示されるように、4組の矩形Fa1,Fa2,Fa3,Fa4の論理和図形として定義され、構成図形Fbは、Fb=Fb1+Fb2+Fb3+Fb4なる論理式で示されるように、4組の矩形Fb1,Fb2,Fb3,Fb4の論理和図形として定義されている。一方、構成図形Fc,Fdは、それぞれ1組の矩形によって構成されている。
図18に示すレイアウトパターンは、本来であれば、上述した合計10組の矩形によって定義されるべきパターンであるが、ここでは、設計ミスにより、第11番目の基本図形Fe(図20に太線で示す矩形)が加えられてしまっているものとしよう。ここで、この基本図形Feが、構成図形Fa,Fbと同一の導電性レイヤーに所属する図形として定義されてしまうと、構成図形Fa,Fbは基本図形Feを介して導通した状態となり、図19に示すように、構成図形Fa,Fbが短絡箇所Sにおいて融合した1つのパターンが得られることになる。図21は、図19に示すレイアウトパターンについて、初期点Qと等電位となる等電位パターン(一部短絡)を抽出した状態を示す平面図である。
図19に示すようなレイアウトパターンを表示させた状態において、オペレータが基本図形Fbの下方の点を初期点Qとして指定する初期点入力操作を行うと、等電位追跡処理により、図21に示すような等電位パターンが表示されることになる。オペレータは、この等電位パターンを目視することにより、これが異常パターンであることを認識することができる。すなわち、図示されている「3」の字状の構成図形Fa(左半分)と「E」の字状の構成図形Fb(右半分)とは、本来は異電位となるべき別々のパターンであるべきなのに、「王」の字状に融合した等電位パターンとして表示されていることが認識できる。
もちろん、図21に示す例は、説明の便宜上、極めて単純化したモデルであるため、オペレータがこのような等電位パターンを実際に観察すれば、即座に、短絡箇所Sの正確な位置を認識することができよう。しかしながら、実際には、等電位パターンとして表示される図形は極めて複雑な形状を有しているため、オペレータは、当該等電位パターンが異常なパターン(本来は異電位となるべき複数のパターンを包含しているパターン)であることを認識することはできるが、短絡箇所Sの正確な位置を直ちに把握できるわけではない。短絡箇所Sの位置を特定するためには、各部を拡大して目視によるチェックを行うなどの作業が必要になり、多大な作業負担を強いることになる。
本発明に係る検証支援装置では、等電位パターン抽出部30によって図21に示すような等電位パターンが抽出されると、当該パターンがディスプレイ装置80の画面上に表示される。ここで、オペレータが参照点入力部41に対して、第1参照点Aおよび第2参照点Bを複数組入力する操作を行うと、ペア決定部42が複数組の経路探索用ペアを決定し、最短経路探索部50が各経路探索用ペアについてそれぞれ最短経路を探索し、探索結果に基づいて短絡候補領域絞込部60が短絡候補領域を求めることになる。そして、最終的に求められた短絡候補領域が、ディスプレイ装置80の画面上に表示されるので、オペレータは容易に短絡箇所Sの位置を特定することができる。以下、これらの各プロセスについての具体的な態様をいくつか説明する。
<3−1.参照点ペアの個別入力を行う実施形態>
最も単純な実施形態は、オペレータに参照点ペアの個別入力を行わせる形態である。すなわち、参照点入力部41が、第1参照点Aと第2の参照点Bとのペアを入力する参照点ペア入力処理を複数n回実行するようにし、ペア決定部42が、この参照点ペア入力処理で入力した第1参照点Aと第2の参照点Bとの組み合わせにより1組の経路探索用ペアを決定する処理をn回実行するようにし、合計n組の経路探索用ペアを決定すればよい。
たとえば、オペレータは、図21に示すような等電位パターンを目視確認することにより、本来は異電位となるべき2つの構成図形Fa,Fbの存在を把握することができるので、明らかに構成図形Fa上の1点と思われる任意の点を第1参照点Aとし、明らかに構成図形Fb上の1点と思われる任意の点を第2参照点Bとして、一対の参照点A,Bを参照点ペアとして入力する処理を複数n回だけ繰り返して実行すればよい。ペア決定部42は、各回に入力された参照点ペアを1組の経路探索用ペアとして取り扱うようにすれば、合計n組の経路探索用ペアを作成することができる。
たとえば、まず最初の参照点ペアとして、図22に示すように、第1参照点A1と第2参照点B1とが指定されれば、ペア決定部42は、これら2点A1,B1を最初の経路探索用ペアとすることができる。この場合、最短経路探索部50によって、これら2点A1,B1を結ぶ最短経路R1(ハッチング部分)が図示のように決定される。続いて、参照点ペアとして、図23に示すように、第1参照点A2と第2参照点B2とが指定されれば、ペア決定部42は、これら2点A2,B2を次の経路探索用ペアとすることができる。この場合、最短経路探索部50によって、これら2点A2,B2を結ぶ最短経路R2(ハッチング部分)が図示のように決定される。更に、次の参照点ペアとして、図24に示すように、第1参照点A3と第2参照点B3とが指定されれば、ペア決定部42は、これら2点A3,B3を次の経路探索用ペアとすることができる。この場合、最短経路探索部50によって、これら2点A3,B3を結ぶ最短経路R3(ハッチング部分)が図示のように決定される。必要な経路探索用ペアの組数nをn=3に設定した場合、図22〜図24に示すように、3組の最短経路R1〜R3が求められる。
続いて、短絡候補領域絞込部60は、等電位パターン上での最短経路を示す経路図形を、n組の経路探索用ペアについてそれぞれ求める処理を行う。最短経路探索部50によって求められた最短経路は、線状の経路を示すものであるが、短絡候補領域絞込部60によって求められた経路図形は、等電位パターン上で「最短経路」に沿った幅をもった道を構成する図形になる。上例の場合、n=3であり、短絡候補領域絞込部60によって求められた経路図形は、図22〜図24にハッチングを施して示す経路図形R1〜R3ということになる(前述したとおり、本願では、最短経路および経路図形を同一の符号で示している)。
短絡候補領域絞込部60は、更に、これらn組の経路図形について所定の図形論理演算を実行することにより短絡候補領域を求める処理を行う。ここでは、図形論理演算として論理積演算を行った例を示すことにする。この場合、短絡候補領域絞込部60は、n組の経路図形について論理積演算を実行することにより短絡候補領域を求めることになる。上例の場合、n=3であるから、図22〜図24に示す3組の経路図形R1〜R3についての論理積演算が行われ、図25に示すような論理積図形(黒塗り部分)として、短絡候補領域R(1&2&3)が得られることになる。
こうして得られた短絡候補領域R(1&2&3)は、短絡候補領域表示部70によって、等電位パターンに重ねて、かつ、等電位パターンとは区別可能な態様でディスプレイ装置80の画面に表示される。オペレータは、当該表示を目視することにより、短絡箇所Sの位置を容易に特定することができる。
なお、上例の場合、必要な経路探索用ペアの組数nをn=3に設定しているが、nの値は必ずしも3に限定されるものではなく、n≧2の任意の整数に設定することが可能である。nの数を大きく設定すればするほど、絞り込みの効果は高まり、オペレータが短絡箇所Sの位置を特定する作業が容易になるが、参照点入力部41に対する参照点入力操作の負担は増加することになる。したがって、実際には、検証対象となる等電位パターンを構成する図形の複雑さなどを考慮して、nを適切な値に設定すればよい。
たとえば、図21に示すような非常に単純なパターンの場合は、n=2に設定しても十分である。図25には、n=3に設定して、3組の経路図形R1〜R3の論理積図形として短絡候補領域R(1&2&3)を求めた例が示されているが、このような単純なパターンの場合、2組の経路図形R1,R2の論理積図形として短絡候補領域R(1&2)を求めても同じ結果が得られる。これに対して、図5に示すパターンの場合は、n=2に設定して、2組の経路図形R1,R2(図12,図13)の論理積図形として短絡候補領域R(1&2)を求めた場合、図15に示すような結果になり、必ずしも十分な絞り込みができた状態とは言えない。そこで、n=3に設定して、3組の経路図形R1〜R3(図12〜図14)の論理積図形として短絡候補領域R(1&2&3)を求めれば、図16に示すような結果になり、十分な絞り込みができた状態になる。
このように、どの程度まで絞り込みを行えばよいかは、検証対象となる等電位パターンに応じて異なり、また、オペレータの短絡箇所Sの位置特定能力に応じても異なる。したがって、n=2に設定して図15に示すような短絡候補領域R(1&2)を提示すれば十分であるケースもあるし、n=3に設定して図16に示すような短絡候補領域R(1&2&3)まで提示する必要があるケースもある。そこで、実用上は、検証の都度、nの値をオペレータに決定させるようにするのが好ましい。
具体的には、参照点入力部41が、第k回目(1≦k≦n)の参照点ペア入力処理を実行したときに、短絡候補領域絞込部60が、これまでに得られた全k組の経路図形についての論理積演算により第k次短絡候補領域を求め、短絡候補領域表示部70が、この第k次短絡候補領域をディスプレイ装置80の画面に表示するようにすればよい。
たとえば、図5に示すパターンの場合、参照点入力部41による第1回目(k=1)の参照点ペア入力処理により、図12に示すような第1参照点A1および第2参照点B1の参照点ペアが入力されたとすると、図示のような経路図形R1が求まるので、当該経路図形R1自身を第1次短絡候補領域として、ディスプレイ装置80の画面に表示すればよい。もし、オペレータが、この経路図形R1を見るだけで、短絡箇所Sの位置を特定することができれば、そこで検証作業を終了すればよい。
通常、この状態では、まだ短絡箇所Sの位置特定には至らないので、オペレータは、更に、参照点入力部41に対して第2回目(k=2)の参照点ペア入力処理を行い、たとえば、図13に示すような第1参照点A2および第2参照点B2の参照点ペアを入力したものとしよう。すると、図示のような経路図形R2が求まるので、短絡候補領域絞込部60は、これまでに得られた全2組の経路図形R1,R2についての論理積演算を行い、図15に示すような第2次短絡候補領域R(1&2)を求める処理を行う。そして、短絡候補領域表示部70により、この第2次短絡候補領域R(1&2)をディスプレイ装置80の画面に表示するようにすればよい。もし、オペレータが、第2次短絡候補領域R(1&2)を見て、短絡箇所Sの位置を特定することができれば、そこで検証作業を終了すればよい。
ここでは、まだ短絡箇所Sの位置特定には至らなかったため、オペレータが、更に、参照点入力部41に対して第3回目(k=3)の参照点ペア入力処理を行い、たとえば、図14に示すような第1参照点A3および第2参照点B3の参照点ペアを入力したものとしよう。すると、図示のような経路図形R3が求まるので、短絡候補領域絞込部60は、これまでに得られた全3組の経路図形R1,R2,R3についての論理積演算を行い、図16に示すような第3次短絡候補領域R(1&2&3)を求める処理を行う。そして、短絡候補領域表示部70により、この第3次短絡候補領域R(1&2&3)をディスプレイ装置80の画面に表示するようにすればよい。オペレータが、この第3次短絡候補領域R(1&2&3)を見て、短絡箇所Sの位置を特定することができれば、そこで検証作業を終了すればよい。この場合、オペレータにより、結果的にn=3なる設定がなされたことになる。
このように、オペレータが新たな参照点ペアを入力するたびに、これまでに得られた経路図形についての論理積演算により短絡候補領域を求め、これをディスプレイ装置80の画面に表示するようにすれば、段階的な絞り込みが行われるとともに、その絞り込みの結果が直ちにオペレータに提示されるので、オペレータは、必要な回数だけ絞り込み処理を繰り返してゆけばよい。
<3−2.グループ単位で参照点入力を行う実施形態>
上述した§3−1では、オペレータが参照点のペアを個別に1組ずつ入力してゆく実施形態を述べた。ここで述べる実施形態は、オペレータが参照点入力部41に対してグループ単位で参照点をまとめて入力すると、ペア決定部42が、これらに基づいて自動的に組み合わせを行い、個々の経路探索用ペアを決定する処理を行う点に特徴がある。
ここでは、§3−1で述べた例と同様に、図21に示す等電位パターン(一部短絡)について、短絡候補領域を表示させる場合を考えてみよう。前述したとおり、オペレータは、この図21に示す等電位パターンを目視確認することにより、本来は異電位となるべき2つの構成図形Fa,Fbの存在を把握することができる。そこで、まず、第1の図形Fa上で複数の参照点を第1グループに所属する参照点として入力する操作を行い、続いて、第2の図形Fb上で複数の参照点を第2グループに所属する参照点として入力する操作を行えばよい。
図26は、図21に示す等電位パターン(一部短絡)について、オペレータが入力した第1グループに所属する参照点A1,A2,A3および第2グループに所属する参照点B1,B2,B3の例を示す平面図である。この図では、説明の便宜上、第1の図形Faの輪郭および第2の図形Fbの輪郭を太線で囲って示してあるが、これは、オペレータが、各図形Fa,Fbを、本来は異なる電位となるべき別個の図形として把握していることを示している。もちろん、実際の等電位パターンは非常に複雑な形状をしているため、オペレータにとって、各図形Fa,Fbの細かな輪郭まで詳細に把握することは困難であるが、大雑把に、この等電位パターン内には2つの図形が含まれている、という認識ができれば十分である。
図26では、オペレータが、まず、第1の図形Fa上で、第1グループに所属する参照点として3つの参照点A1,A2,A3(黒三角)を指定し、続いて、第2の図形Fb上で、第2グループに所属する参照点として3つの参照点B1,B2,B3(白丸)を指定した例が示されている。このように、オペレータに、第1グループに所属する参照点と第2グループに所属する参照点とを別個に入力させるためには、たとえば、図27に示すようなガイドメッセージをディスプレイ装置80の画面上に表示するようにすればよい。具体的には、たとえば、図11に示すディスプレイ画面100の補助情報140の表示欄内に図27に示すようなガイドメッセージを表示させればよい。
オペレータは、はじめに「第1の図形上で参照点をクリックして下さい。」という第1のメッセージに従って、図26に示すように、第1の図形Fa上で3つの参照点A1,A2,A3を、たとえば、マウスクリックなどの方法で指定し、メッセージ脇の完了ボタンを押せばよい。そして、今度は、「第2の図形上で参照点をクリックして下さい。」という第2のメッセージに従って、第2の図形Fb上で3つの参照点B1,B2,B3を同様に指定し、メッセージ脇の完了ボタンを押せばよい。
このメッセージにおける「第1の図形」や「第2の図形」とは、現在、ディスプレイ画面上に表示されている等電位パターン上において、本来、等電位になるべきと思われる領域を構成する図形を意味する。すなわち、等電位パターン(一部短絡)は、一部に短絡箇所があるため、本来は異なる電位となるべき複数の等電位パターンを含んでいるので、それら本来の等電位パターンが「第1の図形」や「第2の図形」ということになる。
オペレータは、図26に示すような等電位パターン(一部短絡)を目視確認しながら、明らかに第1の図形Fa上にあると思われる点(この例では、「3」の字状の図形を構成する各枝の左端の点)として、3つの参照点A1,A2,A3を入力し、続いて、明らかに第2の図形Fb上にあると思われる点(この例では、「E」の字状の図形を構成する各枝の右端の点)として、3つの参照点B1,B2,B3を入力すればよい。
なお、図示の例は、第1グループに所属する参照点として3点A1,A2,A3を入力し、第2グループに所属する参照点として3点B1,B2,B3を入力した例であるが、各グループの参照点は必ずしも3点である必要はなく、任意の数でかまわない。要するに、ここに示す実施形態の場合、参照点入力部41は、第1グループに所属する複数α個の参照点を入力する処理と、第2グループに所属する複数β個の参照点を入力する処理と、を実行すればよい。
一方、ペア決定部42は、第1グループから選択された第1参照点と第2グループから選択された第2参照点との組み合わせにより1組の経路探索用ペアを決定する処理を、組み合わせを変えて複数m回実行することにより、合計m組の経路探索用ペアを決定する処理を行う。ここで述べる実施形態の場合、ペア決定部42は、第1グループに所属する複数α個の参照点のそれぞれに対して、第2グループに所属する複数β個の参照点のそれぞれを組み合わせることにより、合計m組(但し、m=α×β)の経路探索用ペアを決定する。
別言すれば、第1グループに所属するα個の参照点と第2グループに所属するβ個の参照点との全m通りの組み合わせを、それぞれ経路探索用ペアとすることになる。したがって、図26に示す例のように、第1グループに所属する参照点の数α=3、第2グループに所属する参照点の数β=3の場合、m=3×3=9通りの組み合わせが可能なので、図28の表に示すとおり、合計9組の経路探索用ペアが作成されることになる。もちろん、必ずしも全組み合わせについて経路探索用ペアを作成する必要はなく、m<α×βとしてもかまわないが、実用上は、全組み合わせについて経路探索用ペアを作成すれば、それだけ短絡候補領域の絞り込みが可能になるので好ましい。
最短経路探索部50は、こうしてペア決定部42によって決定された合計m組の経路探索用ペアのそれぞれについて最短経路探索を行い、最短経路を探索する。図26に示す例の場合、図28の表に示すように、合計9組の経路探索用ペアのそれぞれについて、最短経路R11〜R33が得られる。ここで、最短経路Rijは、第1グループに所属する参照点Aiと第2グループに所属する参照点Bjとの組み合わせからなる経路探索用ペアについて得られた等電位パターン上での最短経路を示し、たとえば、最短経路R23は、参照点A2と参照点B3とを結ぶ最短経路ということになる。
図29の上段に示す表は、図21に示す等電位パターン(一部短絡)について、図28に示す合計9組の最短経路R11〜R33を実際に求めた結果を示す表である。いずれも「黒三角」と「白丸」の2点が参照点であり、ハッチング部分は、これら2点を結ぶ最短経理を示す経路図形になっている。短絡候補領域絞込部60は、合計m組(図示の例では、m=9)の経路探索用ペアについて、それぞれ図示のような経路図形R11〜R33を求めた後、これらm組の経路図形について所定の図形論理演算を実行することにより短絡候補領域を求める処理を行う。
具体的には、図29に示す実施例の場合、§3−1で述べた例と同様に、短絡候補領域絞込部60は、9組の経路図形について論理積演算を実行することにより短絡候補領域を求めている。図29下段のR(ans)と記された欄には、9組の経路図形R11〜R33の論理積図形として得られる短絡候補領域R(ans)が示されている(図の黒塗りの部分)。この短絡候補領域R(ans)は、R(ans)=R11・R12・R13・R21・R22・R23・R31・R32・R33なる論理式で表される論理積図形である。
ここに示す例の場合、図25に示す§3−1で述べた例の短絡候補領域R(1&2&3)と図29の下段に示す短絡候補領域R(ans)とは、たまたま同じものになっているが、前者が、3組の経路図形R1,R2,R3の論理積図形であるのに対して、後者は、9組の経路図形R11〜R33の論理積図形になっている。ここでは、等電位パターンが極めて単純な「王」の字状のパターンを例にとっているため、3組の経路図形R1,R2,R3の論理積図形も、9組の経路図形R11〜R33の論理積図形も、同じ図形になっているが、実際の等電位パターンはより複雑な形状をもった図形パターンになるので、通常、前者に比べて後者の方が、更に絞り込みが進んだ図形になる。
この§3−2で述べた実施形態の利点は、オペレータによる参照点入力操作の労力が軽減される点にある。すなわち、§3−1で述べた実施形態の場合、9組の経路探索用ペアを用いて短絡領域の絞り込みを行うためには(上述のとおり、実際の複雑な等電位パターンの場合、3組より9組の経路探索用ペアを用いた絞り込みを行った方が、十分な絞り込みが行われるため好ましい)、全18点の参照点入力が必要になる。すなわち、オペレータは、「参照点A1・B1のペア入力」,「参照点A1・B2のペア入力」,「参照点A1・B3のペア入力」,「参照点A2・B1のペア入力」,... ,「参照点A3・B3のペア入力」というように、全9組の経路探索用ペアを順次指定するために、18点の参照点を入力する操作が必要になる。
これに対して、ここで述べた実施形態では、まず、第1グループに所属する参照点として、参照点A1,A2,A3の3点を入力する操作を行い、続いて、第2グループに所属する参照点として、参照点B1,B2,B3の3点を入力する操作を行えば足りるので、合計6点についての入力操作を行うだけで、全9組の経路探索用ペアを用いた絞り込みを行うことが可能になる。
一般論として言えば、第1グループに所属する複数α個の参照点のそれぞれに対して、第2グループに所属する複数β個の参照点のそれぞれを組み合わせることにより、合計m組(但し、m=α×β)の経路探索用ペアを用いた絞り込みを行う場合、§3−1で述べた実施形態の場合、全部で(2×α×β)回の参照点入力操作が必要であるのに対して、ここで述べた実施形態の場合、全(α+β)回の参照点入力操作で十分になる。
<3−3.図形論理演算の変形例>
これまで、短絡候補領域を求める図形論理演算として、論理積演算を行う例を示したが、短絡候補領域絞込部60が短絡候補領域を求めるために行う絞込処理は、必ずしも論理積演算に限定されるものではない。特に、短絡箇所が複数箇所にわたる場合、これまで述べた例のような論理積演算だけでは、短絡候補領域を求める処理に失敗するケースも生じる。そこで、ここでは、短絡箇所が複数箇所にわたる場合にも、できるだけ漏れのない形で短絡候補領域を求めることができるように、図形論理演算の変形例を紹介しておく。
ここでも便宜上、§3−1,§3−2で用いたように、極めて単純な「王」の字状のパターンを例にとって説明を行う。図30は、図18に示す本来のLSIレイアウトパターンに対して、設計ミスにより、2つの短絡箇所が生じていた場合に得られる等電位パターンを示す平面図である。図21に示す等電位パターンでは、中央に1カ所の短絡箇所Sが存在するだけであったが、図30に示す等電位パターンでは、上部の短絡箇所S1と下部の短絡箇所S2との2カ所が存在することになる。
もちろん、図21に示す等電位パターンも、図30に示す等電位パターンも、オペレータが入力した初期点Qに基づいて得られるパターンであるが、実際には、両パターンは非常に複雑な形状をしているので、オペレータが目視しただけでは、両パターンを相互に識別することは非常に困難である。当然、オペレータが目視により短絡箇所の数まで認識することも非常に困難である。
このように、等電位パターンに複数の短絡箇所S1,S2が含まれていた場合、これまで述べてきた論理積演算による絞込処理だけでは、短絡候補領域から一方の短絡箇所が漏れてしまう可能性がある。前述したように、オペレータは、図30に示す等電位パターンを目視することにより、本来は異なる電位であるべき2つの図形Fa,Fbを認識することができるので、図形Fa上の第1参照点Aと図形Fb上の第2参照点Bとを入力して経路探索用ペアを指定することができ、当該ペアについて、最短経路を示す経路図形を求めることができる。
たとえば、図31は、図30に示す等電位パターン上で、第1参照点A1と第2参照点B1とを結ぶ最短経路を示す経路図形R11(ハッチング部分)を示す平面図である。この経路図形R11は、上部の短絡箇所S1を通る最短経路を示している。一方、図32は、図30に示す等電位パターン上で、第1参照点A1と第2参照点B2とを結ぶ最短経路を示す経路図形R12(ハッチング部分)を示す平面図である。この経路図形R12も、やはり上部の短絡箇所S1を通る最短経路を示している。
この2つの経路図形R11,R12についての論理積図形を短絡候補領域とする絞込処理を実行すれば、得られる短絡候補領域は、短絡箇所S1を含んだ領域になる。したがって、短絡箇所S1を見つけるための短絡候補領域としての機能を果たしていることになるが、もう一方の短絡箇所S2は含まれていないため、複数の短絡箇所についての短絡候補領域としては漏れが生じていることになる。
これに対して、図33は、図30に示す等電位パターン上で、第1参照点A3と第2参照点B3とを結ぶ最短経路を示す経路図形R33(ハッチング部分)を示す平面図であるが、この経路図形R33は、下部の短絡箇所S2を通る最短経路を示している。
このため、もし、§3−1で述べた実施形態により、オペレータが、図31に示す参照点A1,B1のペア、図32に示す参照点A1,B2のペア、図33に示す参照点A3,B3のペアという3組の経路探索用ペアを指定すると、図示のとおり、3組の最短経路を示す経路図形R11,R12,R33が求まることになる。ここで、短絡候補領域絞込部60が、論理積演算による絞り込みを行ったとすると、3つの経路図形R11,R12,R33に共通する領域は存在しないため、短絡候補領域を求める処理に失敗することになる。一方、§3−2で述べた実施形態の場合は、自動的に合計9組の経路探索用ペアが作成され、9組の経路図形R11〜R33が求まることになるので、これらすべてについて論理積演算を行うと、やはり短絡候補領域を求める処理に失敗することになる。
そこで、ここで述べる実施形態の場合、論理積演算と論理和演算とを組み合わせた論理演算を行うことにより、複数の短絡箇所が存在する場合にも、これらの短絡箇所の位置を漏れなく、失敗なく示すことができるような絞込処理を実施している。具体的な論理演算の内容については後述する。
短絡箇所が複数存在する場合の別な問題は、第1参照点Aと第2参照点Bとを結ぶ最短経路が複数通り存在するケースが現れる点である。たとえば、図34および図35は、いずれも図30に示す等電位パターン(一部短絡)上で、第1参照点A1と第2参照点B3とを結ぶ最短経路R13(ハッチング部分)を示す平面図であるが、図34に示す第1の最短経路R13−1は上部の短絡箇所S1を通る経路であるのに対して、図35に示す第2の最短経路R13−2は下部の短絡箇所S2を通る経路になっている。
このように、同一2点間の最短経路が複数通り存在するケースでは、何らかの基準(たとえば、より上方に位置する経路を優先するという基準)に基づいて、いずれか一方のみを採用するような運用を行ってもよいが、ここでは漏れのない絞り込みを行うため、第1参照点Aと第2の参照点Bとを結ぶ最短経路が複数通り存在する場合、個々の最短経路を示す経路図形の論理和図形を、当該第1参照点Aと第2参照点Bとを結ぶ最短経路を示す経路図形とする運用を行っている。このような運用は、特に、複数の経路図形の論理積をとって絞り込みを行う場合に有効である。
したがって、図34,図35に示す例のように、第1参照点A1と第2参照点B3とを結ぶ最短経路が2通り存在する場合は、これら2通りの経路図形R13−1,R13−2の論理和図形「(R13−1)+(R13−2)」を、経路図形R13として採用すればよい。
図36の上段に示す表は、図30に示す等電位パターン(2カ所の短絡箇所S1,S2を含むパターン)について、図28に示す合計9組の最短経路R11〜R33を示す経路図形と、これらに基づく所定の論理演算によって得られる短絡候補領域R(ans)とを示す図である。この表において、太枠で囲った3行3列の配列部分は、図29に示す例と同様に、合計9組の最短経路R11〜R33を実際に求めた結果を示す表である。図29の表と図36の表は、いずれも第1グループの参照点A1,A2,A3と第2グループの参照点B1,B2,B3とを組み合わせた合計9組の経路探索用ペアについての最短経路を示すものであるが、前者は短絡箇所が1カ所のパターンについてのものであるのに対して、後者は短絡箇所が2カ所のパターンについてのものであるため、得られた最短経路R11〜R33は両者で若干異なっている。
なお、参照点A1,B3の組み合わせについての最短経路R13としては、図34,図35に示すように2通りの経路が存在するため、上述したように、2通りの経路図形R13−1,R13−2の論理和図形「(R13−1)+(R13−2)」を、経路図形R13として採用している。同様に、参照点A3,B1の組み合わせについての最短経路R31も2通り存在するため、論理和図形「(R31−1)+(R31−2)」を、経路図形R31として採用している。
こうして得られた9通りの経路図形R11〜R33について、論理積演算を行ってしまうと、共通する領域は全くないため、短絡候補領域を求める絞込処理は失敗する。そこで、ここに示す実施形態の場合、短絡候補領域絞込部60は、この9通りの経路図形R11〜R33を用いて、次のような図形論理演算を行うことにより、短絡候補領域を求める処理を行っている。
まず、図に太枠で囲って示す3行3列の配列部分に関して、横方向の論理積図形と縦方向の論理積図形とを求める。図示の配列において、太枠領域の右方に位置する第4列目は横方向の論理積図形を示し、太枠領域の下方に位置する第4行目は縦方向の論理積図形を示している。
すなわち、横方向の論理積図形R(A1)は、R(A1)=R11・R12・R13なる演算式で示されるように、太枠内の第1行目の経路図形R11,R12,R13の論理積として得られる図形である。この図形R(A1)は、第1参照点A1を起点として、3通りの第2参照点B1,B2,B3へ至る最短経路の共通部分としての意味をもつ。同様に、横方向の論理積図形R(A2)は、R(A2)=R21・R22・R23なる演算式で示されるように、太枠内の第2行目の経路図形R21,R22,R23の論理積として得られる図形であり、横方向の論理積図形R(A3)は、R(A3)=R31・R32・R33なる演算式で示されるように、太枠内の第3行目の経路図形R31,R32,R33の論理積として得られる図形である。
一方、縦方向の論理積図形R(B1)は、R(B1)=R11・R21・R31なる演算式で示されるように、太枠内の第1列目の経路図形R11,R21,R31の論理積として得られる図形である。この図形R(B1)は、第2参照点B1を起点として、3通りの第1参照点A1,A2,A3へ至る最短経路の共通部分としての意味をもつ。同様に、縦方向の論理積図形R(B2)は、R(B2)=R12・R22・R32なる演算式で示されるように、太枠内の第2列目の経路図形R12,R22,R32の論理積として得られる図形であり、縦方向の論理積図形R(B3)は、R(B3)=R13・R23・R33なる演算式で示されるように、太枠内の第3列目の経路図形R13,R23,R33の論理積として得られる図形である。
こうして、横方向の論理積図形R(A1),R(A2),R(A3)が求まり、縦方向の論理積図形R(B1),R(B2),R(B3)が求まったら、これら3通りの横方向の論理積図形と3通りの縦方向の論理積図形とのすべての組み合わせ(全9通り)について、それぞれ論理積図形を求め、更に、得られた9組の論理積図形についての論理和図形を求める。そして最終的に得られた論理和図形R(ans)を短絡候補領域とすればよい。
図36の下段の式(a) は、このような図形論理演算によって、論理和図形R(ans)を求める論理式を示している。すなわち、論理和図形R(ans)は、「R(ans)=R(A1)・R(B1)+R(A1)・R(B2)+R(A1)・R(B3)+R(A2)・R(B1)+R(A2)・R(B2)+R(A2)・R(B3)+R(A3)・R(B1)+R(A3)・R(B2)+R(A3)・R(B3)」なる図形論理演算によって与えられる。
図36の上段の表の第4行第4列目に、こうして得られた論理和図形R(ans)を示す。図に黒塗りされた部分が当該論理和図形R(ans)を構成する領域である。結局、短絡候補領域絞込部60は、上述した論理演算を行うことにより図示のような論理和図形R(ans)を短絡候補領域として求め、短絡候補領域表示部70が、当該短絡候補領域をディスプレイ装置80の画面上に表示することになる。このような短絡候補領域(黒塗り部分)は、図30に示す2つの短絡箇所S1,S2が存在する可能性を示す領域として適格な領域になっており、オペレータは、このような表示に基づいて、2つの短絡箇所S1,S2を容易に特定することができる。
結局、ここで述べた図形論理演算は、一般式で書けば、図36の下段の式(b) に示すとおり、第1グループに所属する複数α個の参照点をAi(1≦i≦α)、第2グループに所属する複数β個の参照点をBj(1≦j≦β)とし、参照点Aiと参照点Bjとを結ぶ最短経路を示す経路図形をRijとし、
R(Ai)=Π j=1〜β Rij (上述した横方向の論理積演算)
R(Bj)=Π i=1〜α Rij (上述した縦方向の論理積演算)
としたときに、
R(ans)=Σ i=1〜α (Σ j=1〜β R(Ai)・R(Bj))
(但し、記号”Π”は図形の論理積演算の総積を示し、
記号”Σ”は図形の論理和演算の総和を示す)
なる式で示される図形R(ans)を求める論理演算ということになる。したがって、短絡候補領域絞込部60は、上記論理演算式に基づいて得られる図形R(ans)を、短絡候補領域表示部70に短絡候補領域として与えればよい。
<<< §4. 最短経路探索処理の具体例 >>>
ここでは、図7に示す検証支援装置における最短経路探索部50が行う最短経路探索処理の具体例を述べておく。この最短経路探索処理は、等電位パターン抽出部30が抽出した等電位パターン上で、経路探索用ペア指定部40によって指定された各経路探索用ペアについて、第1参照点と第2参照点とを結ぶ最短経路を探索する処理である。
一般に、複雑に入り組んだ経路上の2地点を結ぶ最短経路を探索する処理は、カーナビゲーションの分野で、地図上の出発点から到着点までの最短経路を見つける処理として広く知られており、様々なアルゴリズムに基づく手法が提案されている。したがって、最短経路探索部50によって行われる最短経路探索処理としては、これら公知のアルゴリズムに基づく任意の手法を採用することが可能であるが、ここでは、特に、矩形からなる基本図形の集合体によって等電位パターンが形成されていた場合に適した最短経路探索の一手法を簡単に紹介しておく。
図37は、この最短経路探索の処理手順の一例を示す流れ図である。まず、ステップS1において、輪郭線決定処理が行われる。この処理は、等電位パターン抽出部30が抽出した等電位パターンの輪郭線を決定する処理であり、いわば一筆書きによる多角形によって等電位パターンの輪郭を表現する処理ということになる。既に述べたとおり、LSIレイアウトパターンは、多数の基本図形の集合体として表現される。たとえば、図4に示す図形Fは、それぞれ矩形からなる基本図形F10〜F50の集合体として表現される。ステップS1の輪郭線決定処理では、このような基本図形の集合体として表現された等電位パターンについて、その輪郭線を求める処理が行われる。
なお、ここでは、個々の基本図形は、いずれも、図において水平方向を向いた一対の対辺と、垂直方向を向いた一対の対辺とを有する矩形であるものとする。このような矩形の集合体からなる等電位パターンの輪郭線決定の具体的な処理手順は公知の技術であるため、詳細な説明は省略するが、ここでは、図21に示す「王」の字状の等電位パターンについて、図38に示すような輪郭線が決定されたものとしよう。
図示の輪郭線は、頂点P0〜P27の各位置座標と、これら頂点の連結順を示す情報とによって定義することができる。すなわち、図示の例の場合、各頂点を、P0,P1,P2,... ,P26,P27と番号順に連結してゆき、最後に頂点P27とP0とを結ぶことにより、閉領域からなる等電位パターンの輪郭線が定義される。輪郭線を構成する各線分は、水平方向もしくは垂直方向のいずれかを向いた線分になる。
続くステップS2の着目頂点抽出処理では、この輪郭線に沿って所定方向(たとえば、時計まわり方向)に移動しながら左折が行われた左折点(もしくは反時計まわりに移動しながら右折が行われた右折点でもよい)を着目頂点として順次抽出する作業が行われる。図39は、図38に示す輪郭線について、図37のステップS2による着目頂点抽出処理を行った状態を示す平面図である。この例の場合、頂点P0を起点として、輪郭線上を時計まわりの方向に移動しながら、左折点を着目頂点として抽出している。その結果、頂点P2,P3,P6,P7,P11,P12,P16,P17,P20,P21,P25,P26(図では白丸で示す)がそれぞれ着目頂点として抽出される。
続いて、ステップS3において、ある1つの着目頂点について、輪郭線を構成する他辺への最短垂線を求める処理が行われる。たとえば、図40には、着目頂点P2について、輪郭線を構成する他辺への最短垂線A,B(破線で示す)を求めた例が示されている。ここで求める最短垂線は、図における水平方向もしくは垂直方向を向いた線であることを前提とし、ある辺を乗り越えて他辺へ至る垂線であってはならず、当該着目頂点を通る輪郭線に沿った垂線であってはならないものとする。また、「最短垂線」であるので、1つの着目頂点について、前記条件を満たす垂線が複数本引けた場合でも、そのうちの最短のもののみが最短垂線として定義される。
図40に示す例の場合、着目頂点P2については、他辺aに下ろした垂線Aと、他辺bに下ろした垂線Bとが求められることになる。ここで、垂線Aと垂線Bは同じ長さを有しており、いずれも最短垂線となるので、着目頂点P2については、2本の垂線A,Bが定義されることになる。なお、このような垂線(破線で示す)による分割によって形成された分割矩形を、ここではξ1,ξ2,... のような符号で示すことにする。図40に示す例の場合、垂線A,Bを下ろすことにより、分割矩形ξ1,ξ2が形成されることになる。
このように、ある1つの着目頂点について他辺への最短垂線を求める処理が、ステップS4を経て、全着目頂点について完了するまで繰り返し実行される。たとえば、図41は、次の着目頂点P3について、他辺へ最短垂線を下ろした状態を示している。この例の場合、着目頂点P3から辺bに下ろした垂線Cと、辺d(頂点P6の位置)に下ろした垂線Dとは、いずれも最短垂線となるので、着目頂点P3についても2本の最短垂線C,Dが定義され、分割矩形ξ3,ξ4が定義される。なお、次の着目頂点P6についての最短垂線は、頂点P3へ向かう最短垂線D(既に定義済み)になる。着目頂点P6からは、たとえば右水平方向に伸ばす垂線も引くことが可能であるが、最短ではないため、着目頂点P6についての最短垂線はDのみになる。
図42は、次の着目頂点P7について、他辺へ最短垂線を下ろした状態を示している。この例の場合、着目頂点P7から辺eに下ろした垂線Eと、辺fに下ろした垂線Fとは、いずれも最短垂線となるので、着目頂点P7についても2本の最短垂線E,Fが定義され、分割矩形ξ5,ξ6が定義される。更に、図43は、次の着目頂点P11について、他辺へ最短垂線を下ろした状態を示している。この例の場合、着目頂点P11から辺gに下ろした垂線Gと、辺h(頂点P26の位置)に下ろした垂線Hとは、いずれも最短垂線となるので、着目頂点P11についても2本の最短垂線G,Hが定義され、分割矩形ξ7,ξ8が定義される。
このように、各着目頂点について最短垂線を定義してゆくと、結局、図44に破線で示すような最短垂線が定義され、これら最短垂線(破線)によって、「王」の字状の等電位パターンは、複数の分割矩形ξ1〜ξ17に分割されることになる。そこで、ステップS5では、各最短垂線の中点から対辺へ経路線分が定義される。図44に×印を示した点が、各最短垂線の中点である。そこで、個々の分割矩形ξ1〜ξ17のそれぞれについて、各最短垂線の中点から対辺へ経路線分を引く。この場合、対辺が最短垂線(破線)である場合には、当該最短垂線の中点へ経路線分を引き、対辺が輪郭線(実線)である場合には、当該輪郭線の中点へ経路線分を引くようにする。
たとえば、図45に示す例の場合、分割矩形ξ1の右辺は最短垂線A(破線)であり、左辺は輪郭線(実線)であるので、最短垂線Aの中点M1から左側に対しては、分割矩形ξ1の対辺の中点M2に対して経路線分(太線)が引かれる。一方、分割矩形ξ2の左辺は最短垂線A(破線)であり、右辺は輪郭線(実線)であるので、最短垂線Aの中点M1から右側に対しては、分割矩形ξ2の対辺の中点M3に対して経路線分(太線)が引かれる。図45は、このようにして、最短垂線Aの中点M1から左右に経路線分(太線)を引いた状態を示している。
ステップS5では、このように、各最短垂線の中点から対辺へ経路線分を定義する処理が行われるので、結局、図46に太線で示すような経路線分の定義が行われることになる。各経路線分の両端点(×印を示した点)は分割矩形上の辺の上に位置し、各経路線分の交点は分割矩形の内部に位置することになる。そこで、続くステップS6では、各経路線分の両端点および交点をノードとする経路マップの作成を行う。図47は、このようにして作成された経路マップを示す。この経路マップは、黒丸で示すノードnと、2つのノード間を連結する枝rとによって構成されている。ノードnは、各経路線分の両端点(図46に×印を示した点)もしくは各経路線分の交点である。
最後に、ステップS7において、この経路マップ上での最短経路探索が行われる。図47に示すノードnと枝rとによって構成される経路マップにおいて、各ノードnは位置座標で特定されるため、各枝rの長さは計算によって求めることができる。したがって、この経路マップ上での任意のノードと別な任意のノードとの間を結ぶ最短経路は、各枝rの長さとトポロジカルな相互連結情報に基づく所定の探索アルゴリズムに基づいて求めることができる。このような最短経路の探索アルゴリズムは、カーナビゲーションの分野で様々なものが公知であるため、ここでは説明を省略する。
オペレータが入力した第1参照点および第2参照点の間の最短経路を求めるには、第1参照点に最も近い第1近接ノードと、第2参照点に最も近い第2近接ノードとを特定し、この一対の近接ノードを結ぶ最短経路を所定の探索アルゴリズムに基づいて求めればよい。
以上、図37の流れ図に基づいて、最短経路探索部50が行う最短経路探索処理の手順の一例を示したが、要するに当該手順は、等電位パターンを複数の区画に分割して個々の区画に経路線分を定義し、各経路線分の両端点および交点をノードとする経路マップを作成し、この経路マップ上で最短経路の探索を行う処理ということになる。もちろん、上述の処理手順はほんの一例を示すものであり、最短経路探索部50が行う最短経路探索処理の手順は、上記手順に限定されるものではない。