(57)【要約】【課題】簡易に迂回配線の検査を行うこと。【解決手段】配線検査装置１０は、分割部１４ａと、算出部１４ｂと、出力部１２とを有する。分割部１４ａは、所定領域に配置され、かつ、複数の中継部品を介して信号を受信部品に送信する送信部品と、受信部品との間の所定領域の部分に境界線を引いて、所定領域を、送信部品を含む第１の領域と受信部品を含む第２の領域とに分割する。算出部１４ｂは、送信部品、受信部品、及び、複数の中継部品の各部品の所定領域上の位置に基づいて、境界線を跨ぐような各部品を接続する配線の数を算出する。出力部１２は、算出部により算出された配線の数が所定値以上である場合には、各部品を接続する配線の中に、送信部品から受信部品へ向かう方向とは逆の方向へ延びる配線があることを示す情報を出力する。【選択図】図１
2014186705.tif 000002
【特許請求の範囲】
【請求項１】
所定領域に配置され、かつ、複数の中継部品を介して信号を受信部品に送信する送信部品と、前記受信部品との間の前記所定領域の部分に境界線を引いて、前記所定領域を、前記送信部品を含む第１の領域と前記受信部品を含む第２の領域とに分割する分割部と、
前記送信部品、前記受信部品、及び、前記複数の中継部品の各部品の前記所定領域上の位置に基づいて、前記境界線を跨ぐような前記各部品を接続する配線の数を算出する算出部と、
前記算出部により算出された前記配線の数が所定値以上である場合には、前記各部品を接続する配線の中に、前記送信部品から前記受信部品へ向かう方向とは逆の方向へ延びる配線があることを示す情報を出力する出力部と、
を有することを特徴とする配線検査装置。
【請求項２】
前記分割部は、前記送信部品と前記受信部品との間の前記所定領域の部分に、延びる方向が異なる複数の境界線を引いて、前記複数の境界線ごとに、前記所定領域を、前記第１の領域と前記第２の領域とに分割し、
前記算出部は、前記複数の境界線ごとに、前記配線の数を算出し、
前記出力部は、少なくとも１つの前記境界線において、前記算出部により算出された前記配線の数が所定値以上である場合には、前記情報を出力する
ことを特徴とする請求項１に記載の配線検査装置。
【請求項３】
前記分割部は、前記送信部品と前記受信部品との中間点を通る境界線を前記所定領域に引いて、前記所定領域を前記第１の領域と前記第２の領域とに分割する
ことを特徴とする請求項１または請求項２に記載の配線検査装置。
【請求項４】
コンピュータに、
所定領域に配置され、かつ、複数の中継部品を介して信号を受信部品に送信する送信部品と、前記受信部品との間の前記所定領域の部分に境界線を引いて、前記所定領域を、前記送信部品を含む第１の領域と前記受信部品を含む第２の領域とに分割し、
前記送信部品、前記受信部品、及び、前記複数の中継部品の各部品の前記所定領域上の位置に基づいて、前記境界線を跨ぐような前記各部品を接続する配線の数を算出し、
算出された前記配線の数が所定値以上である場合には、前記各部品を接続する配線の中に、前記送信部品から前記受信部品へ向かう方向とは逆の方向へ延びる配線があると判定する、
処理を実行させることを特徴とする配線検査プログラム。
【請求項５】
コンピュータが、
所定領域に配置され、かつ、複数の中継部品を介して信号を受信部品に送信する送信部品と、前記受信部品との間の前記所定領域の部分に境界線を引いて、前記所定領域を、前記送信部品を含む第１の領域と前記受信部品を含む第２の領域とに分割し、
前記送信部品、前記受信部品、及び、前記複数の中継部品の各部品の前記所定領域上の位置に基づいて、前記境界線を跨ぐような前記各部品を接続する配線の数を算出し、
算出された前記配線の数が所定値以上である場合には、前記各部品を接続する配線の中に、前記送信部品から前記受信部品へ向かう方向とは逆の方向へ延びる配線があると判定する、
処理を実行することを特徴とする配線検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配線検査装置、配線検査プログラム及び配線検査方法に関する。
【背景技術】
【０００２】
ＣＡＤ（Computer  Aided  Design）ツールなどのＥＤＡ（Electronic  Design  Automation）ツールによって、回路を設計する技術がある。例えば、ＥＤＡツールは、接続するように指定された２つのセル（例えば、ラッチ、フリップフロップなど）間の自動配線を行う。近年、回路の物理設計時において、信号を送信するセルから信号を受信するセルまでの配線の中に、信号を送信するセルから信号を受信するセルに近づく方向とは逆方向に延びるような迂回配線が存在すると、タイミング上問題となるケースが増加している。タイミング上問題となるケースが増加している理由は、近年、回路の動作周波数が高くなり、また、テクノロジの微細化によって回路の集積度が高くなっているからである。
【０００３】
タイミング上問題となる回路では、正常に動作しない場合がある。そのため、従来、正常に動作しない回路を発見するために、迂回配線があるか否かを検査する配線検査方法がある。配線検査方法の一例としては、配線後の回路を人間によって目視する方法が挙げられる。また、他の配線検査方法の一例としては、コンピュータが、配線後の回路が示す配線形状に基づいて、迂回配線があるか否かを検査する方法が挙げられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−７４８４２号公報
【特許文献２】特開平５−２９４６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した配線検査方法では、簡易に検査を行うことができない場合がある。例えば、配線後の回路を人間によって目視する方法では、数千以上にも及ぶ配線の検査を人間が行うには時間がかかる。そのため、配線後の回路を人間によって目視する方法では、簡易に検査を行うことができない。また、コンピュータが、配線後の回路が示す配線形状に基づいて、迂回配線があるか否かを検査する方法でも、同様の問題がある。すなわち、コンピュータが迂回配線があるか否かを検査する方法でも、配線形状を示すデータから配線形状を解析し、解析した配線形状から迂回配線であるか否かを検査するため、配線形状の解析や解析した配線形状から迂回配線であるか否かの検査に時間がかかる。そのため、コンピュータが、配線後の回路が示す配線形状に基づいて、迂回配線があるか否かを検査する方法においても、簡易に検査を行うことができない。
【０００６】
１つの側面では、開示の技術は、簡易に迂回配線の検査を行うことを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する配線検査装置は、分割部と、算出部と、出力部とを有する。分割部は、所定領域に配置され、かつ、複数の中継部品を介して信号を受信部品に送信する送信部品と、受信部品との間の所定領域の部分に境界線を引いて、所定領域を、送信部品を含む第１の領域と受信部品を含む第２の領域とに分割する。算出部は、送信部品、受信部品、及び、複数の中継部品の各部品の所定領域上の位置に基づいて、境界線を跨ぐような各部品を接続する配線の数を算出する。出力部は、算出部により算出された配線の数が所定値以上である場合には、各部品を接続する配線の中に、送信部品から受信部品へ向かう方向とは逆の方向へ延びる配線があることを示す情報を出力する。
【発明の効果】
【０００８】
簡易に迂回配線の検査を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る配線検査装置の機能構成の一例を示す図である。
【図２】図２は、物理設計領域を分割する処理の一例を説明するための図である。
【図３】図３は、物理設計領域を分割する処理の他の一例を説明するための図である。
【図４】図４は、物理設計領域を分割する処理の他の一例を説明するための図である。
【図５】図５は、実施例１に係る配線検査装置が実行する処理の一例を説明するための図である。
【図６】図６は、実施例１に係る配線検査装置が実行する処理の一例を説明するための図である。
【図７】図７は、実施例１に係る配線検査装置が実行する処理の一例を説明するための図である。
【図８】図８は、実施例１に係る配線検査処理の手順を示すフローチャートである。
【図９】図９は、回路の物理設計の手順を示すフローチャートである。
【図１０】図１０は、実施例２に係る配線検査装置の機能構成の一例を示す図である。
【図１１】図１１は、実施例２に係る配線検査処理の手順を示すフローチャートである。
【図１２】図１２は、配線検査プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する配線検査装置、配線検査プログラム及び配線検査方法の各実施例を図面に基づいて詳細に説明する。なお、各実施例は開示の技術を限定するものではない。
【実施例１】
【００１１】
実施例１に係る配線検査装置について説明する。図１は、実施例１に係る配線検査装置の機能構成の一例を示す図である。
【００１２】
［配線検査装置の機能構成］
図１に示すように、配線検査装置１０は、入力部１１と、出力部１２と、記憶部１３と、制御部１４とを有する。
【００１３】
入力部１１は、各種情報を制御部１４に入力する。例えば、入力部１１は、ユーザから、後述の配線検査処理を実行するための指示を受け付けて、受け付けた指示を制御部１４に入力する。ここで、ユーザが配線検査処理を実行するための指示を入力部１１を介して制御部１４に入力するタイミングの一例について説明する。かかるタイミングの一例としては、後述する物理設計フローにおいて、セルの仮配置を行った場合、クロックツリーの生成を行った場合、または、仮配線を行った場合などが挙げられる。すなわち、物理設計フローにおいて、詳細配線を行う前に、本実施例に係る配線検査装置１０は、配線検査処理を行うことができる。詳細配線を行う前に配線検査処理を行うことができる理由は、配線検査装置１０は、後述するように、配線の形状を示す配線形状データを用いずに、セルの位置関係に基づいて、迂回配線があるか否かを検査することができるためである。入力部１１のデバイスの一例としては、マウスやキーボードなどのユーザの操作を受け付けるデバイスなどが挙げられる。
【００１４】
出力部１２は、各種の情報を出力する。例えば、出力部１２は、後述の出力制御部１４ｃの制御により、迂回配線が存在することを示すメッセージを表示する。かかるメッセージの一例としては、「迂回配線があります。配線（ＸＸＸ）は、迂回配線です」というメッセージが挙げられる。なお、「ＸＸＸ」は、配線を識別するための識別子、例えば、配線名や位置座標である。また、出力部１２は、後述の出力制御部１４ｃの制御により、迂回配線が存在しないことを示すメッセージを表示する。かかるメッセージの一例としては、「迂回配線はありません」というメッセージが挙げられる。出力部１２のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
【００１５】
記憶部１３は、各種情報を記憶する。例えば、記憶部１３は、ネットリスト１３ａ及びサイズデータ１３ｂを記憶する。ネットリスト１３ａは、ゲートレベルのセルの接続情報である。ネットリスト１３ａには、ネットごとのセルの接続情報が含まれる。なお、ここでいう「ネット」とは、信号を出力する起点となるセルから、信号を受信する終点となるセルまでのつながりを指す。ネットリスト１３ａは、後述する図９の物理設計の手順を示すフローチャートの各段階（各ステップ）において生成される。
【００１６】
サイズデータ１３ｂは、物理設計領域のサイズを示すデータである。物理設計領域は、回路の物理設計において、各セルが配置される領域である。
【００１７】
記憶部１３は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部１３は、上記の種類の記憶装置に限定されるものではなく、ＲＡＭ（Random  Access  Memory)、ＲＯＭ（Read  Only  Memory)であってもよい。
【００１８】
制御部１４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図１に示すように、制御部１４は、分割部１４ａと、算出部１４ｂと、出力制御部１４ｃとを有する。
【００１９】
分割部１４ａは、複数のラッチなどのセルを介して信号を受信側のフリップフロップ（Flip  Flop）のセルに送信する送信側のフリップフロップのセルと、受信側のフリップフロップのセルと、ラッチなどのセルとが設けられた物理設計領域を次のように分割する。すなわち、分割部１４ａは、送信側のフリップフロップのセルと受信側のフリップフロップのセルとの間の物理設計領域の部分に境界線を引いて、送信側のフリップフロップのセルを含む領域Ａと、受信側のフリップフロップのセルを含む領域Ｂとに分割する。
【００２０】
分割部１４ａの一態様について説明する。例えば、分割部１４ａは、入力部１１から、後述する配線検査処理を実行する指示が制御部１４に入力された場合に、次の処理を行う。すなわち、分割部１４ａは、サイズデータ１３ｂを記憶部１３から取得する。続いて、分割部１４ａは、サイズデータ１３ｂが示すサイズの物理設計領域に配置された、信号を送信する起点となるフリップフロップのセルの原点の座標を変数Ｆｉｎに設定する。ここで、フリップフロップのセルの原点は、例えば、フリップフロップのセル上のＸ座標及びＹ座標の最小の座標が示す点である。また、分割部１４ａは、サイズデータ１３ｂが示すサイズの物理設計領域に配置された、信号を受信する終点となるフリップフロップのセルの原点の座標を変数Ｆｏｕｔに設定する。
【００２１】
そして、分割部１４ａは、信号を送信する起点となるフリップフロップのセルと、信号を受信する終点となるフリップフロップのセルとの中点を通る境界線を物理設計領域上に引く。これにより、分割部１４ａは、物理設計領域を、起点となるフリップフロップのセルを含む領域Ａと、終点となるフリップフロップのセルを含む領域Ｂとに分割する。
【００２２】
図２は、物理設計領域を分割する処理の一例を説明するための図である。図２の例は、物理設計領域２０上に、信号を送信する起点となるフリップフロップのセル２１と、信号を受信する終点となるフリップフロップのセル２２とが配置された場合を示す。なお、図２の例は、セル２１とセル２２との間に配置された複数のラッチなどのセルについて図示が省略された場合を示す。また、図２の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。図２の例は、分割部１４ａが、セル２１の原点２１ａからの距離と、セル２２の原点２２ａからの距離とが同じになるような境界線２４ａを引いて、物理設計領域２０を、セル２１を含む領域Ａと、セル２２を含む領域Ｂとに分割した場合を示す。ここで、境界線２４ａは、Ｙ軸方向における点２１ａと点２２ａとの中点２３ａを通る、Ｘ軸と平行な線である。なお、中点２３ａの位置は、図示した位置に限られず、Ｙ軸方向における点２１ａと点２２ａとの中点の位置であれば、任意の位置を採用できる。
【００２３】
図３及び図４は、物理設計領域を分割する処理の他の一例を説明するための図である。図３の例は、物理設計領域２０上に、セル２１と、セル２２とが配置された場合を示す。なお、図３の例は、セル２１とセル２２との間に配置された複数のラッチなどのセルについて図示が省略された場合を示す。また、図３の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。図３の例は、分割部１４ａが、セル２１の原点２１ａからの距離と、セル２２の原点２２ａからの距離とが同じになるような境界線２４ｂを引いて、物理設計領域２０を、セル２１を含む領域Ａと、セル２２を含む領域Ｂとに分割した場合を示す。ここで、境界線２４ｂは、Ｘ軸方向における点２１ａと点２２ａとの中点２３ｂを通る、Ｙ軸と平行な線である。なお、中点２３ｂの位置は、図示した位置に限られず、Ｘ軸方向における点２１ａと点２２ａとの中点の位置であれば、任意の位置を採用できる。
【００２４】
また、図４の例は、物理設計領域２０上に、セル２１と、セル２２とが配置された場合を示す。なお、図４の例は、セル２１とセル２２との間に配置された複数のラッチなどのセルについて図示が省略された場合を示す。また、図４の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。図４の例は、分割部１４ａが、セル２１の原点２１ａからの距離と、セル２２の原点２２ａからの距離とが同じになるような境界線２４ｃを引いて、物理設計領域２０を、セル２１を含む領域Ａと、セル２２を含む領域Ｂとに分割した場合を示す。ここで、境界線２４ｃは、点２１ａと点２２ａとを結ぶ線分の中点２３ｃを通る線である。
【００２５】
続いて、分割部１４ａは、変数Ｎに「０」を設定する。ここで、変数Ｎの値は、例えば、各セルを接続する配線が、上述した境界線を跨ぐ回数を表す。変数Ｎの値は、後述の算出部１４ｂにより更新される。
【００２６】
そして、分割部１４ａは、領域Ａと領域Ｂとのうち、変数Ｆｉｎが示す座標（信号を送信する起点となるフリップフロップのセルの原点の座標）を含む領域の識別子を変数Ｐｉｎに設定する。図５は、実施例１に係る配線検査装置が実行する処理の一例を説明するための図である。図５の例は、物理設計領域２０上に、セル２１と、セル２２とが配置された場合を示す。また、図５の例は、セル２１とセル２２との間に、４つのラッチなどのセル３０ａ〜３０ｄが配置された場合を示す。また、図５の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。図５の例に示すセル３０ａ〜３０ｄのそれぞれに付された番号は、セル３０ａ〜３０ｄにおいて信号が流れる順番を示す。すなわち、図５の例は、セル２１、セル３０ａ、セル３０ｂ、セル３０ｃ、セル３０ｄ、セル２２の順番に信号が流れる場合を示す。図５の例に示す場合では、領域Ａと領域Ｂとのうち、変数Ｆｉｎが示す座標（セル２１の原点２１ａの座標）を含む領域は、領域Ａである。そのため、図５の例に示す場合では、分割部１４ａは、原点２１ａの座標を含む領域Ａの識別子「Ａ」を変数Ｐｉｎに設定する。
【００２７】
図１の説明に戻り、算出部１４ｂは、信号を送信する起点となるフリップフロップのセル、信号を受信する終点となるフリップフロップのセル、及び、複数のラッチなどのセルの各セルの物理設計領域上の位置に基づいて、次の処理を行う。すなわち、算出部１４ｂは、境界線を跨ぐような各セルを接続する配線の数を算出する。
【００２８】
算出部１４ｂの一態様について説明する。算出部１４ｂは、上述した分割部１４ａにより領域Ａと領域Ｂとのうち、変数Ｆｉｎが示す座標を含む領域の識別子が変数Ｐｉｎに設定された場合に、次の処理を行う。すなわち、算出部１４ｂは、複数のセルのうち、未選択のセルを１つ選択する。ここで、算出部１４ｂは、未選択のセルを１つ選択する際に、未選択のセルのうち、信号が流れる方向において最上流側に位置するセルを１つ選択する。そして、算出部１４ｂは、選択したセルの次のセルの原点の座標、すなわち、選択したセルの次に信号が流れるセルの原点の座標を変数Ｃｏｕｔに設定する。例えば、図５の例に示す場合において、セル２１を選択した場合に、算出部１４ｂは、選択したセル２１の次のセル３０ａの原点の座標を変数Ｃｏｕｔに設定する。
【００２９】
そして、算出部１４ｂは、領域Ａと領域Ｂとのうち、変数Ｃｏｕｔが示す座標を含む領域の識別子を変数Ｐｏｕｔに設定する。例えば、図５の例に示す場合において、変数Ｃｏｕｔが示す座標が、セル３０ａの原点の座標である場合には、算出部１４ｂは、領域Ａと領域Ｂとのうち、セル３０ａの原点の座標を含む領域Ｂの識別子「Ｂ」を変数Ｐｏｕｔに設定する。
【００３０】
続いて、算出部１４ｂは、変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致するか否かを判定する。ここで、変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致する場合には、選択したセルと、選択したセルの次のセルとが、領域Ａまたは領域Ｂのいずれかの同一の領域上に位置することとなる。また、変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致しない場合には、選択したセルと、選択したセルの次のセルとが、領域Ａまたは領域Ｂのいずれかの同一の領域上に位置しないこととなる。例えば、図５の例に示す場合において、変数Ｐｉｎに設定された値が「Ａ」、変数Ｐｏｕｔに設定された値が「Ｂ」である場合には、算出部１４ｂは、変数Ｐｉｎに設定された値「Ａ」と、変数Ｐｏｕｔに設定された値「Ｂ」とが一致しないと判定する。すなわち、算出部１４ｂは、選択したセル２１と、選択したセル２１の次のセル３０ａとが、領域Ａまたは領域Ｂのいずれかの同一の領域上に位置しないと判定する。
【００３１】
変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致しない場合には、算出部１４ｂは、変数Ｎの値を「１」インクリメントして、変数Ｎの値を更新する。例えば、図５の例に示す場合において、変数Ｐｉｎに設定された値「Ａ」と、変数Ｐｏｕｔに設定された値「Ｂ」とが一致しないと判定した場合には、算出部１４ｂは、変数Ｎの値を「１」インクリメントする。
【００３２】
そして、変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致する場合、及び、変数Ｎの値を「１」インクリメントした場合には、算出部１４ｂは、変数Ｐｏｕｔの値を変数Ｐｉｎに設定する。例えば、図５の例に示す場合において、変数Ｎの値を「１」インクリメントし、変数Ｐｏｕｔに設定された値が「Ｂ」であるときには、算出部１４ｂは、変数Ｐｏｕｔに設定された値「Ｂ」を、変数Ｐｉｎに設定して、変数Ｐｉｎの値を「Ｂ」に更新する。
【００３３】
そして、算出部１４ｂは、変数Ｎの値と所定値とを比較し、変数Ｎの値が所定値以上であるか否かを判定する。ここで、変数Ｎの値と比較される所定値の一例としては、迂回配線が存在することを検出できるような値、例えば、「２」が採用される。
【００３４】
変数Ｎの値が所定値以上でない場合には、算出部１４ｂは、変数Ｃｏｕｔに設定された座標が、変数Ｆｏｕｔに設定された座標（信号を受信する終点となるフリップフロップのセルの原点の座標）と一致するか否かを判定する。ここで、変数Ｃｏｕｔに設定された座標が、変数Ｆｏｕｔに設定された座標と一致する場合には、選択したセルの次のセルは、信号を受信する終点となるフリップフロップのセルである。また、変数Ｃｏｕｔに設定された座標が、変数Ｆｏｕｔに設定された座標と一致しない場合には、選択したセルの次のセルは、信号を受信する終点となるフリップフロップのセルよりも信号が流れる方向において上流側に位置するセルである。
【００３５】
算出部１４ｂは、変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致しない場合には、次の処理を行う。すなわち、算出部１４ｂは、未選択のセルを１つ選択する上述した処理から、変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致するか否かを判定する上述した処理までの各処理を再び実行する。
【００３６】
そして、算出部１４ｂは、変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致すると判定するまで、繰り返し、次の処理を行う。すなわち、算出部１４ｂは、未選択のセルを１つ選択する上述した処理から、変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致するか否かを判定する上述した処理までの各処理を繰り返し実行する。上述したように、算出部１４ｂは、信号が流れる方向において上流側の方からセルを選択するたびに、選択したセルと選択したセルの次のセルとを接続する配線が境界線を跨ぐか否かを判定し、境界線を跨ぐ場合には、変数Ｎの値を「１」インクリメントする。そのため、算出部１４ｂは、境界線を跨ぐ配線の数を算出することができる。
【００３７】
図１の説明に戻り、出力制御部１４ｃは、算出部１４ｂにより変数Ｎの値が所定値以上であると判定された場合に、次の処理を行う。すなわち、算出部１４ｂは、迂回配線があると判定し、各セルを接続する配線の中に、迂回配線があることを示すメッセージを出力するように、出力部１２を制御する。例えば、出力制御部１４ｃは、「迂回配線があります。配線（ＸＸＸ）は、迂回配線です」というメッセージを表示するように、出力部１２を制御する。
【００３８】
また、出力制御部１４ｃは、算出部１４ｂにより変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致すると判定された場合に、次の処理を行う。すなわち、出力制御部１４ｃは、迂回配線がないと判定し、各セルを接続する配線の中に、迂回配線がないことを示すメッセージを出力するように、出力部１２を制御する。例えば、出力制御部１４ｃは、「迂回配線はありません」というメッセージを表示するように、出力部１２を制御する。
【００３９】
図６及び図７は、実施例１に係る配線検査装置が実行する処理の一例を説明するための図である。図６の例は、物理設計領域２０上に、セル２１と、セル２２とが配置された場合を示す。また、図６の例は、セル２１とセル２２との間に、４つのラッチなどのセル３０ａ〜３０ｄが配置された場合を示す。また、図６の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。また、図６の例に示すセル３０ａ〜３０ｄのそれぞれに付された番号は、セル３０ａ〜３０ｄにおいて信号が流れる順番を示す。すなわち、図６の例は、セル２１、セル３０ａ、セル３０ｂ、セル３０ｃ、セル３０ｄ、セル２２の順番に信号が流れる場合を示す。
【００４０】
また、図６の例は、セル２１とセル３０ａとが配線４０ａによって接続された場合を示す。また、図６の例は、セル３０ａとセル３０ｂとが配線４０ｂによって接続された場合を示す。また、図６の例は、セル３０ｂとセル３０ｃとが配線４０ｃによって接続された場合を示す。また、図６の例は、セル３０ｃとセル３０ｄとが配線４０ｄによって接続された場合を示す。また、図６の例は、セル３０ｄとセル２２とが配線４０ｅによって接続された場合を示す。
【００４１】
そして、図６の例は、配線４０ａ〜４０ｄが、境界線２４ａを、境界線２４ａ上の５つの箇所５０ａ〜５０ｅで跨ぐ場合を示す。図６の例に示す場合において、変数Ｎと比較される上述した所定値が「２」であるとき、上述した分割部１４ａ、算出部１４ｂ及び出力制御部１４ｃを有する配線検査装置１０は、次の処理を行う。すなわち、配線検査装置１０は、５つの箇所５０ａ〜５０ｅのうち、２つの箇所５０ａ、５０ｂにおいて配線４０ａ、４０ｂが境界線２４ａを跨ぐことを検出した時点で、迂回配線があると判定する。このように、配線検査装置１０によれば、物理設計領域２０に配置された各セルに接続された配線の中に迂回配線がある場合には、全ての配線について境界線を跨ぐか否かを判定することなく、迂回配線があると判定することができる。したがって、配線検査装置１０によれば、全ての配線について境界線を跨ぐか否かを判定する場合よりも、簡易な処理で、迂回配線があると判定することができる。
【００４２】
図７の例は、物理設計領域２０上に、セル２１と、セル２２とが配置された場合を示す。また、図７の例は、セル２１とセル２２との間に、４つのラッチなどのセル３１ａ〜３１ｄが配置された場合を示す。また、図７の例は、横軸をＸ軸、縦軸をＹ軸とした場合を示す。また、図７の例に示すセル３１ａ〜３１ｄのそれぞれに付された番号は、セル３１ａ〜３１ｄにおいて信号が流れる順番を示す。すなわち、図７の例は、セル２１、セル３１ａ、セル３１ｂ、セル３１ｃ、セル３１ｄ、セル２２の順番に信号が流れる場合を示す。
【００４３】
また、図７の例は、セル２１とセル３１ａとが配線４１ａによって接続された場合を示す。また、図７の例は、セル３１ａとセル３１ｂとが配線４１ｂによって接続された場合を示す。また、図７の例は、セル３１ｂとセル３１ｃとが配線４１ｃによって接続された場合を示す。また、図７の例は、セル３１ｃとセル３１ｄとが配線４１ｄによって接続された場合を示す。また、図７の例は、セル３１ｄとセル２２とが配線４１ｅによって接続された場合を示す。
【００４４】
そして、図７の例は、配線４１ｃが、境界線２４ａを、境界線２４ａ上の１つの箇所５１で跨ぐ場合を示す。図７の例に示す場合において、変数Ｎと比較される上述した所定値が「２」であるとき、配線検査装置１０は、次の処理を行う。すなわち、配線検査装置１０は、境界線２４ａを跨ぐ配線の数が１つであるため、迂回配線がないと判定する。
【００４５】
制御部１４は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）などの回路である。
【００４６】
［処理の流れ］
次に、本実施例に係る配線検査装置１０の処理の流れについて説明する。図８は、実施例１に係る配線検査処理の手順を示すフローチャートである。実施例１に係る配線検査処理は、例えば、入力部１１から、配線検査処理を実行するための指示を制御部１４が受け付けたタイミングで、実行される。また、実施例１に係る配線検査処理は、ネットごとに実行される。なお、配線検査処理が実行されるタイミングの一例としては、後述する物理設計フローにおいて、セルの仮配置を行った場合、クロックツリーの生成を行った場合、または、仮配線を行った場合などが挙げられる。
【００４７】
図８に示すように、分割部１４ａは、サイズデータ１３ｂを記憶部１３から取得する（Ｓ１０１）。続いて、分割部１４ａは、サイズデータ１３ｂが示すサイズの物理設計領域に配置された、信号を送信する起点となるフリップフロップのセルの原点の座標を変数Ｆｉｎに設定する（Ｓ１０２）。そして、分割部１４ａは、サイズデータ１３ｂが示すサイズの物理設計領域に配置された、信号を受信する終点となるフリップフロップのセルの原点の座標を変数Ｆｏｕｔに設定する（Ｓ１０３）。
【００４８】
そして、分割部１４ａは、信号を送信する起点となるフリップフロップのセルと、信号を受信する終点となるフリップフロップのセルとの中点を通る境界線を物理設計領域上に引いて、次の処理を行う。すなわち、分割部１４ａは、物理設計領域を、起点となるフリップフロップのセルを含む領域Ａと、終点となるフリップフロップのセルを含む領域Ｂとに分割する（Ｓ１０４）。続いて、分割部１４ａは、変数Ｎに「０」を設定する（Ｓ１０５）。そして、分割部１４ａは、領域Ａと領域Ｂとのうち、変数Ｆｉｎが示す座標を含む領域の識別子を変数Ｐｉｎに設定する（Ｓ１０６）。
【００４９】
算出部１４ｂは、複数のセルのうち、未選択のセルを１つ選択する。ここで、算出部１４ｂは、未選択のセルを１つ選択する際に、未選択のセルのうち、信号が流れる方向において最上流側に位置するセルを１つ選択する。そして、算出部１４ｂは、選択したセルの次のセルの原点の座標、すなわち、選択したセルの次に信号が流れるセルの原点の座標を変数Ｃｏｕｔに設定する（Ｓ１０７）。
【００５０】
そして、算出部１４ｂは、領域Ａと領域Ｂとのうち、変数Ｃｏｕｔが示す座標を含む領域の識別子を変数Ｐｏｕｔに設定する（Ｓ１０８）。続いて、算出部１４ｂは、変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致するか否かを判定する（Ｓ１０９）。
【００５１】
変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致しない場合（Ｓ１０９；Ｎｏ）には、算出部１４ｂは、変数Ｎの値を「１」インクリメントして、変数Ｎの値を更新し（Ｓ１１０）、Ｓ１１１へ進む。
【００５２】
変数Ｐｉｎに設定された値と、変数Ｐｏｕｔに設定された値とが一致する場合（Ｓ１０９；Ｙｅｓ）には、算出部１４ｂは、変数Ｐｏｕｔの値を変数Ｐｉｎに設定する（Ｓ１１１）。
【００５３】
そして、算出部１４ｂは、変数Ｎの値と所定値とを比較し、変数Ｎの値が所定値以上であるか否かを判定する（Ｓ１１２）。
【００５４】
変数Ｎの値が所定値以上でない場合（Ｓ１１２；Ｎｏ）には、算出部１４ｂは、変数Ｃｏｕｔに設定された座標が、変数Ｆｏｕｔに設定された座標と一致するか否かを判定する（Ｓ１１３）。
【００５５】
変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致しない場合（Ｓ１１３；Ｎｏ）には、算出部１４ｂは、Ｓ１０７に戻る。一方、変数Ｃｏｕｔに設定された座標が変数Ｆｏｕｔに設定された座標と一致する場合（Ｓ１１３；Ｙｅｓ）には、出力制御部１４ｃは、迂回配線がないと判定し、次の処理を行う。すなわち、出力制御部１４ｃは、迂回配線がないことを示すメッセージを出力するように出力部１２を制御し（Ｓ１１４）、処理を終了する。
【００５６】
一方、変数Ｎの値が所定値以上である場合（Ｓ１１２；Ｙｅｓ）には、出力制御部１４ｃは、迂回配線があると判定し、迂回配線があることを示すメッセージを出力するように、出力部１２を制御し（Ｓ１１５）、処理を終了する。
【００５７】
ここで、配線検査処理が実行されるタイミングについて説明する。図９は、回路の物理設計の手順を示すフローチャートである。図９の例に示す物理設計は、回路の論理設計が行われた後にコンピュータが所定の物理設計ツールを実行することによって行われる。図９の例に示すように、物理設計では、まず、初期設定が行われる（Ｓ１）。例えば、Ｓ１では、ユーザが指定したＬＳＩ（Large  Scale  Integration）のチップごとに設計ブロックが配置される物理設計領域のサイズ、ライブラリ、論理合成において生成されたネットリストをコンピュータが受け付ける。また、Ｓ１では、コンピュータが、ファンアウト、周波数を設定する。そして、物理設計では、コンピュータが、セルを大まかに配置する（Ｓ２）。Ｓ２では、コンピュータは、ネットリストに含まれるセルを配置する。続いて、物理設計では、コンピュータは、クロックツリーを生成する（Ｓ３）。そして、物理設計では、コンピュータは、クロックルートピンから各クロック負荷セルのクロック端子までの仮配線を行う（Ｓ４）。続いて、物理設計では、コンピュータは、タイミング解析などを行って、タイミング解析の結果に基づいて、詳細に配線を行う（Ｓ５）。そして、物理設計では、コンピュータは、配置されたセルや配線が所定の物理的設計ルールを満たしているかをチェックし、物理的設計ルールを満たしていない場合には修正を行う（Ｓ６）。
【００５８】
配線後の回路を人間によって目視する従来の方法では、上述した物理設計のＳ５でタイミング解析を行った結果、異常がある箇所を人間が目視することで、迂回配線があるか否かを検査する。このため、従来の方法では、物理設計において、Ｓ６より前の段階で、迂回配線があるか否かを検査することができなかった。一方、本実施例に係る配線検査装置１０は、セルの位置情報を用いて迂回配線があるか否かを検査する。このため、配線検査装置１０によれば、セルが大まかに配置されるＳ３以降で、上述した配線検査処理を実行することができる。すなわち、配線検査装置１０によれば、Ｓ６よりも前の段階で、迂回配線があるか否かを検査することができる。したがって、配線検査装置１０によれば、物理設計の早い段階で、迂回配線があるか否かを検査することができる。それゆえ、配線検査装置１０によれば、物理設計の初期段階で、迂回配線があるか否かを検査することができるので、工程上のロスを削減することができる。更に、配線検査装置１０によれば、物理設計への影響を低減することで再設計のリスクをも低減することができる。
【００５９】
上述してきたように、配線検査装置１０は、信号を送信する送信側のフリップフロップのセル２１と、信号を受信する受信側のフリップフロップのセル２２と、ラッチなどのセルとが設けられた物理設計領域２０を次のように分割する。すなわち、配線検査装置１０は、セル２１とセル２２との間の物理設計領域２０の部分に境界線を引いて、セル２１を含む領域Ａと、セル２２を含む領域Ｂとに分割する。そして、配線検査装置１０は、セル２１、セル２２、及び、複数のラッチなどのセルの各セルの物理設計領域２０上の位置に基づいて、境界線を跨ぐような各セルを接続する配線の数を算出する。そして、配線検査装置１０は、算出した配線の数が所定値以上である場合に、迂回配線があると判定し、各セルを接続する配線の中に、迂回配線があることを示すメッセージを出力するように、出力部１２を制御する。したがって、配線検査装置１０は、時間がかかるような、配線形状を示すデータから配線形状を解析し、解析した配線形状から迂回配線であるか否かを検査する処理を行うことなく、各セルの位置情報から、迂回配線があるか否かを検査することができる。それゆえ、配線検査装置１０によれば、簡易に迂回配線の検査を行うことができる。
【００６０】
また、配線検査装置１０は、セル２１とセル２２との中間点を通る境界線を物理設計領域２０に引いて、物理設計領域２０を領域Ａと領域Ｂとに分割する。それゆえ、配線検査装置１０は、セル２１とセル２２との物理設計領域２０上の中間部分に位置する迂回配線を検出することができる。
【００６１】
また、配線検査装置１０は、上述した物理設計におけるＳ６よりも前の段階で、迂回配線があるか否かを検査することができる。したがって、配線検査装置１０によれば、物理設計の早い段階で、迂回配線があるか否かを検査することができる。それゆえ、配線検査装置１０によれば、物理設計の初期段階で、迂回配線があるか否かを検査することができるので、工程上のロスを削減することができる。更に、配線検査装置１０によれば、物理設計への影響を低減することで再設計のリスクをも低減することができる。
【実施例２】
【００６２】
次に、実施例２に係る配線検査装置について説明する。実施例１では、配線検査装置１０が、１つの境界線を引く場合について説明した。実施例２では、配線検査装置が、複数の境界線を引いて、境界線ごとに、実施例１に係る配線検査装置１０が実行した処理と同様の処理を実行する場合について説明する。
【００６３】
図１０は、実施例２に係る配線検査装置の機能構成の一例を示す図である。ここで、先の図１に示す実施例１に係る配線検査装置１０と同様の機能構成については、同一の符号を付し、説明を省略する。
【００６４】
［配線検査装置の機能構成］
図１０の例に示すように、配線検査装置６０の制御部６４は、実施例１に係る制御部１４が有する分割部１４ａ、算出部１４ｂ、出力制御部１４ｃに代えて、分割部６４ａ、算出部６４ｂ、出力制御部６４ｃを有する。
【００６５】
分割部６４ａは、物理設計領域２０を次のように分割する。すなわち、分割部６４ａは、セル２１とセル２２との間の物理設計領域２０の部分に複数の境界線を引いて、境界線ごとに、セル２１を含む領域と、セル２２を含む領域とに分割する。分割部６４ａの一態様について説明する。例えば、分割部６４ａは、分割部１４ａと同様に、先の図２の例に示すように、セル２１とセル２２とのＹ軸方向における中点２３ａを通る、Ｘ軸方向に平行な境界線２４ａを引いて、物理設計領域２０を、領域Ａと、領域Ｂとに分割する。これに加えて、分割部６４ａは、セル２１とセル２２とのＸ軸方向における中点を通る、Ｙ軸方向に平行な境界線を引いて、物理設計領域を、セル２１を含む領域Ｃと、セル２２を含む領域Ｄとに分割する。
【００６６】
算出部６４ｂは、複数の境界線ごとに、算出部１４ｂが境界線を跨ぐ配線の数を算出した方法と同様の方法で、境界線を跨ぐ配線の数を算出する。
【００６７】
出力制御部６４ｃは、算出部６４ｂにより少なくとも１つの境界線において算出された境界線を跨ぐ配線の数が所定値以上である場合には、迂回配線があると判定する。そして、出力制御部６４ｃは、各セルを接続する配線の中に迂回配線があることを示すメッセージを出力するように、出力部１２を制御する。
【００６８】
制御部６４は、ＡＳＩＣ（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）３４０を有する。これら各機器３１０〜３４０は、バス３５０を介して接続されている。
【００８９】
ＲＯＭ３２０には、ＯＳなどの基本プログラムが記憶されている。また、ＨＤＤ３３０には、上記の実施例で示す分割部１４ａ、算出部１４ｂ、出力制御部１４ｃと同様の機能を発揮する配線検査プログラム３３０ａが予め記憶される。または、ＨＤＤ３３０に、上記の実施例で示す分割部６４ａ、算出部６４ｂ、出力制御部６４ｃと同様の機能を発揮する配線検査プログラム３３０ａが予め記憶される。なお、配線検査プログラム３３０ａについては、適宜分離しても良い。また、ＨＤＤ３３０には、ネットリスト、サイズデータが設けられる。ネットリストは、上述したネットリスト１３ａに対応し、サイズデータは、上述したサイズデータ１３ｂに対応する。
【００９０】
そして、ＣＰＵ３１０が、配線検査プログラム３３０ａをＨＤＤ３３０から読み出して実行する。
【００９１】
そして、ＣＰＵ３１０は、ネットリスト、サイズデータを読み出してＲＡＭ３４０に格納する。さらに、ＣＰＵ３１０は、ＲＡＭ３４０に格納されたネットリスト、サイズデータを用いて、配線検査プログラム３３０ａを実行する。なお、ＲＡＭ３４０に格納されるデータは、常に全てのデータがＲＡＭ３４０に格納されなくともよい。処理に用いられるデータがＲＡＭ３４０に格納されれば良い。
【００９２】
なお、上記した配線検査プログラム３３０ａについては、必ずしも最初からＨＤＤ３３０に記憶させておく必要はない。
【００９３】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に配線検査プログラム３３０ａを記憶させておく。そして、コンピュータ３００がこれらから配線検査プログラム３３０ａを読み出して実行するようにしてもよい。  
【００９４】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などに配線検査プログラム３３０ａを記憶させておく。そして、コンピュータ３００がこれらから配線検査プログラム３３０ａを読み出して実行するようにしてもよい。
【符号の説明】
【００９５】
１０      配線検査装置
１１      入力部
１２      出力部
１３      記憶部
１３ａ    ネットリスト
１３ｂ    サイズデータ
１４      制御部
１４ａ    分割部
１４ｂ    算出部
１４ｃ    出力制御部
【図１】
2014186705.tif 000003
【図２】
2014186705.tif 000004
【図３】
2014186705.tif 000005
【図４】
2014186705.tif 000006
【図５】
2014186705.tif 000007
【図６】
2014186705.tif 000008
【図７】
2014186705.tif 000009
【図８】
2014186705.tif 000010
【図９】
2014186705.tif 000011
【図１０】
2014186705.tif 000012
【図１１】
2014186705.tif 000013
【図１２】
2014186705.tif 000014