(57)【特許請求の範囲】
【請求項１】
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第２の部品群において前記第２の基準部品以外の部品を、前記第３の部品との対応関係がある第４の部品として特定する特定ステップと、
をコンピュータに実行させるためのプログラム。
【請求項２】
前記特定ステップが、
回路図に規定されている部品の配置座標を含む回路図データを格納している回路図データ格納部から、前記第１の基準部品、前記第３の部品、前記第２の基準部品及び前記第２の部品群における前記第２の基準部品以外の部品である第５の部品の配置座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、前記第３の部品及び前記第５の部品の部品種別を取得するステップと、
前記第５の部品の中から、前記第３の部品の部品種別と同一の部品種別を有し、前記第１の基準部品と前記第３の部品との間の、前記配置座標に基づく距離と、前記第２の基準部品との、前記配置座標に基づく距離との差が最小となる部品を、前記第４の部品として抽出するステップと
を含む請求項１記載のプログラム。
【請求項３】
前記特定ステップが、
回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、前記第１の基準部品及び前記第２の基準部品についての前記接続関係を表すデータに基づき、前記第１の基準部品に接続されている前記第３の部品である第６の部品及び前記第２の基準部品に接続されており且つ前記第２の部品群における前記第２の基準部品以外の部品である第７の部品を抽出するステップと、
部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、前記第６の部品に関する部品のデータ及び前記第７の部品に関する部品のデータを抽出するステップと、
前記第７の部品の中から、前記第６の部品に関する部品のデータのうち少なくとも一部と、前記第７の部品に関する部品のデータのうち少なくとも一部とが一致する部品を前記第４の部品として特定するステップと
を含む請求項１記載のプログラム。
【請求項４】
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第２の部品群において前記第２の基準部品以外の部品を、前記第３の部品との対応関係がある第４の部品として特定する特定ステップと、
を含み、コンピュータにより実行される情報処理方法。
【請求項５】
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定する基準部品特定部と、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第２の部品群において前記第２の基準部品以外の部品を、前記第３の部品との対応関係がある第４の部品として特定する対応部品特定部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、プリント基板の設計を支援するための技術に関する。
【背景技術】
【０００２】
プリント基板の開発における手順の一例を図１に示す。プリント基板の開発には、例えば、仕様設計、回路設計、実装設計、解析（確認）、基板試作及び量産といった各段階が存在する。仕様設計では、実現すべき機能等のシステム要件及び配置制限や層数等の製造条件が決定され、仕様書を通じて回路設計の設計者に指示される。また、回路設計では、用いる部品や電源等とそれらの配線とを示したネットリスト及び実装時の制約条件が決定され、実装設計者に指示される。ネットリストは、例えばＥＤＩＦ（Electronic Design Interchange Format）形式で受け渡しされる。また、制約条件としては、例えば、部品の位置関係、ネットの配線長、配線間隔、バイパスコンデンサの数等がある。制約条件も、例えばＣＡＤ（Computer Aided Design）システムで読み込むことのできる形式の電子データとして受け渡しされる。そして、実装設計では、プリント基板上における部品の配置及び配線パターンを設計する。ここまでの作業で、実際のプリント基板におけるレイアウトが決まる。その後、解析（確認）では、レイアウトデータを用いて製造上の問題が発生しないか解析を行う。また、プリント基板を製作するためのＣＡＭ（Computer Aided Manufacturing）データを生産ラインに渡してプリント基板を試作し、問題がなければ量産される。
【０００３】
このような手順のうち、プリント基板の実装設計を自動的に行うシステムが既に存在している。例えば、標準的な形状、設計上の制約、回路ブロックの配置順序等を格納したデータベースを用いて、設計上の制約を満足し、且つ所定の基板内に収まる回路ブロックの配置及び回路ブロック間の配線を決定するというものである。
【０００４】
ここで、図２Ａ及び図２Ｂを用いて、回路設計において決定される、ネットリスト及び部品の位置関係についての制約条件の一例を説明する。まず、回路設計の設計者は、部品、電源、アース等及びそれらの接続関係を定義するため、例えば図２Ａに示すような回路図のデータを作成する。図２Ａに示した回路図では、部品Ｉ２の部品ピン２と、部品Ｃ４の部品ピン１、部品Ｒ１の部品ピン１及び部品Ｒ２の部品ピン１とがそれぞれ接続されている。そして、このような回路図のデータから、部品等のデータとそれらの接続関係のデータとを含むネットリストが生成され、実装設計の設計者に受け渡される。また、回路設計の設計者は、このような回路図に含まれる部品群に対して、例えば図２Ｂに示すような位置関係についての制約条件を設定する。図２Ｂに示した制約条件では、「部品Ｃ４、Ｒ１及びＲ２は、部品Ｉ２から１５ｍｍ以内に配置」すべきことが定義されている。なお、このような回路図に含まれる一部の部品群を対象とした制約条件が、一般的に複数登録される。ここで、実装設計の設計者は、１つの制約条件に規定されている部品群についてプリント基板上の配置位置を決定した場合、当該部品群の配置位置を他の適切な制約条件に規定されている部品群にも適用できれば、作業の負担を軽減できる。
【０００５】
しかしながら、実装設計より前に行われる回路設計では、ある制約条件についての部品についてプリント基板上の配置位置を他の制約条件についての部品の配置位置に適用可能であるという指定がなされるわけではない。また、制約条件同士の関連性が認められる場合においても、制約条件に規定されている部品群と他の制約条件に規定されている部品群との対応関係が必ずしも明確ではない場合も存在する。さらに、対応関係がないような部品群を片方の制約条件に含んでいる場合もある。
【０００６】
なお、アナログＬＳＩにおいて、レイアウトの制約を満足し、高集積化を実現する、素子の形状決定方法も存在する。例えば、予め同一形状とするために設定された近接配置条件を入力し、条件に該当する複数の素子がネットリストに存在する場合には１グループとして扱う。また、予め基本形状が定義された基本形状指定に該当する場合は基本形状を使用して素子の形状を決定する。
【０００７】
他に、アナログＬＳＩの設計において、最適な配置候補素子を選択するという技術も存在する。例えば、配置済みの任意の素子を基準素子として、その基準素子に接続する全ての素子を抽出し、基準素子と抽出した素子との接続関係をレイアウト条件ファイルと照らして配置候補素子の順位付けを行い、その順位に従って配置候補素子を自動選択する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−２９０１２５号公報
【特許文献２】特開平７−２６２２３３号公報
【特許文献３】特開平１０−１２４５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本技術の目的は、一側面として、基準となる制約条件に規定されている部品群と、他の制約条件に規定されている部品群との対応関係を把握できるようにするための技術を提供することである。
【課題を解決するための手段】
【００１０】
本実施の形態に係る情報処理方法は、（Ａ）部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、（Ｂ）第１の基準部品と第１の部品群における第１の基準部品以外の部品である第３の部品との位置関係と第３の部品の属性とに基づき、第２の部品群において第２の基準部品以外の部品であって第３の部品との対応関係がある第４の部品を特定する特定ステップとを含む。
【発明の効果】
【００１１】
基準となる制約条件に規定されている部品群と、他の制約条件に規定されている部品群との対応関係を把握できるようになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、プリント基板の開発手順の一例を示す図である。
【図２Ａ】図２Ａは、回路図の一例を示す図である。
【図２Ｂ】図２Ｂは、部品の位置関係についての制約条件の一例を示す図である。
【図３】図３は、本実施の形態に係る情報処理装置の機能ブロック図である。
【図４】図４は、部品ライブラリテーブルのデータ構造の一例を示す図である。
【図５】図５は、回路図テーブルのデータ構造の一例を示す図である。
【図６】図６は、部品テーブルのデータ構造の一例を示す図である。
【図７】図７は、部品ピンテーブルのデータ構造の一例を示す図である。
【図８】図８は、ネットテーブルのデータ構造の一例を示す図である。
【図９】図９は、回路図の一例を示す図である。
【図１０】図１０は、制約条件テーブルのデータ構造の一例を示す図である。
【図１１】図１１は、設定対象テーブルのデータ構造の一例を示す図である。
【図１２】図１２は、制約条件テーブル及び設定対象テーブルに格納されるデータの一例を示す図である。
【図１３】図１３は、制約条件を説明するための図である。
【図１４】図１４は、メインの処理フローを示す図である。
【図１５】図１５は、制約条件の一例を示す図である。
【図１６】図１６は、基準部品特定処理の処理フローを示す図である。
【図１７】図１７は、回路図座標による対応部品抽出処理の処理フローを示す図である。
【図１８】図１８は、対応部品抽出処理の処理フローを示す図である。
【図１９Ａ】図１９Ａは、回路図の一例を示す図である。
【図１９Ｂ】図１９Ｂは、回路図の一例を示す図である。
【図２０】図２０は、データ格納部に格納されるデータの一例を示す図である。
【図２１】図２１は、データ格納部に格納されるデータの一例を示す図である。
【図２２】図２２は、データ格納部に格納されるデータの一例を示す図である。
【図２３】図２３は、重ね合わせた２つの回路図の一例を示す図である。
【図２４】図２４は、対応部品抽出処理の処理フローを示す図である。
【図２５】図２５は、トポロジによる対応部品抽出処理の処理フローを示す図である。
【図２６】図２６は、部品群の表示の一例を示す図である。
【図２７】図２７は、部品群の表示の一例を示す図である。
【図２８】図２８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
本技術の実施の形態に係る情報処理装置１の機能ブロック図を、図３に示す。本実施の形態に係る情報処理装置１は、ユーザからの入力を受け付ける入力部１０１と、データ格納部１０３と、回路設計においてユーザが設計した回路図に関するデータを格納している回路データ格納部１０５と、回路図データにより規定されている回路をプリント基板上に実装する際の制約を表す制約条件データを格納している制約条件データ格納部１０７と、基準部品特定部１０９と、回路設計において使用され得る部品のデータを格納している部品ライブラリデータ格納部１１１と、対応部品特定部１１３と、出力部１１５と、表示部１１７とを有する。
【００１４】
入力部１０１は、ユーザからの入力を受け付け、制約条件データ格納部１０７に格納されている制約条件データから、部品群の対応付けを行う際の基準となる基準条件及び当該基準条件と対比される対象条件を特定し、基準条件を特定するためのデータ及び対象条件を特定するためのデータをデータ格納部１０３に格納する。基準部品特定部１０９は、データ格納部１０３に格納されたデータを用いて、基準条件及び対象条件に規定されている部品を比較する際の基準となる基準部品を、基準条件及び対象条件に規定されている部品群の各々から特定し、データ格納部１０３に格納する。対応部品特定部１１３は、データ格納部１０３、回路データ格納部１０５、制約条件データ格納部１０７及び部品ライブラリデータ格納部１１１に格納されているデータを用いて、制約条件データ格納部１０７に格納されている制約条件に規定された部品群の対応関係を特定し、部品群の対応付けがなされた制約条件データを制約条件データ格納部１０７に格納する。なお、回路設計において作成された回路図データは、実装設計者に渡されるネットリストや制約条件に含まれない。本実施の形態の対応部品特定部１１３は、そのような回路図データを基に、ある制約条件に規定されている部品群と、他の制約条件に規定されている部品群との中から、実装設計において同様の配置位置を適用できる部品の組み合わせを特定する。そして、出力部１１５は、回路データ格納部１０５及び制約条件データ格納部１０７に格納されているデータを出力する。出力されるデータには、実装設計において同様の配置位置を適用できる部品の組み合わせを示す情報が含まれる。また、表示部１１７は、データ格納部１０３、回路データ格納部１０５、制約条件データ格納部１０７及び部品ライブラリデータ格納部１１１に格納されているデータを用いて、適宜表示処理を行う。
【００１５】
次に、図４乃至図２７を用いて、図３に示した情報処理装置の処理について説明する。なお、データ格納部１０３には、予めユーザが選択した、本実施の形態において対応する部品群を特定するために用いる抽出アルゴリズム、部品の対応関係を判断する際に用いる判断条件及び閾値等が格納されているものとする。
【００１６】
また、部品ライブラリデータ格納部１１１には、例えば図４に示すような部品ライブラリテーブルが予め登録されているものとする。図４に示した部品ライブラリテーブルは、部品ライブラリＩＤ（識別子）、部品名、部品種別、部品ピン情報及び特性値の各項目を含む。部品ライブラリテーブルには、回路設計において用いられ得る部品が予め登録されている。部品ライブラリＩＤの列にはテーブル内で一意の識別子が、部品名の列には部品の名称が、部品種別の列には、抵抗、コンデンサ、コイル等の種別が、部品ピン情報の列には、部品が有する部品ピンに便宜上付された番号、及び正極又は負極等、電極の性質を表す部品ピンの属性が、特性値の列には各部品の特性値が設定されているものとする。
【００１７】
そして、ユーザが回路設計を終えて、回路データ格納部１０５には、例えば、図５に示すような回路図テーブル、図６に示すような部品テーブル、図７に示すような部品ピンテーブル及び図８に示すようなネットテーブルが予め格納されているものとする。図５に示した回路図テーブルは、回路図ＩＤ（識別子）、回路図名、部品テーブルへのリンク及びネットテーブルへのリンクの各項目を含む。回路図ＩＤの列には、テーブル内で一意の識別子が、回路図名の列には回路図に付された名称が、部品テーブルへのリンクの列には、回路図に含まれる部品を表す部品テーブルのレコードへのリンクが、ネットテーブルへのリンクの列には、回路図に含まれるネットを表すネットテーブルのレコードへのリンクがそれぞれ登録される。このような項目を含むレコードが、ユーザの設計した回路図に対応付けられて格納されているものとする。
【００１８】
また、図６に示した部品テーブルは、部品ＩＤ（識別子）、部品名、部品ライブラリＩＤ（識別子）、属性、シート番号、位置、部品ピンテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。部品ＩＤの列には、テーブル内で一意の識別子が、部品名の列には部品の名称が、部品ライブラリＩＤの列には、部品ライブラリテーブルに登録された、対応する部品の識別子が、属性の列には、部品の性質を表す属性が、シート番号の列には、後に説明する、回路図データを便宜上分割することによって得られるシートに付された番号が、位置の列には、回路図を表す各シート内において部品が配置された座標が登録されるものとする。ユーザが設計した回路図に用いられる部品の各々に対応付けられて、このような項目を含むレコードが登録されているものとする。
【００１９】
そして、図７に示した部品ピンテーブルは、部品ピンＩＤ（識別子）、部品ピン名、属性、部品テーブルへのリンク、ネットテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。部品ピンＩＤの列には、テーブル内において一意の識別子が、部品ピン名の列には部品ピンに付された名称が、属性の列には、正極又は負極等、電極の性質を表す部品ピンの性質を表す属性が、部品テーブルへのリンクの列には、当該部品ピンを有する部品を表す部品テーブルのレコードへのリンクが、制約条件テーブルへのリンクの列には、当該部品ピンに制約条件が設定されている場合にその制約条件を表す制約条件テーブルのレコードへのリンクが、それぞれ設定される。回路図に用いられる部品が有する部品ピンの各々に対応付けられて、このような項目を含むレコードが登録されているものとする。
【００２０】
また、図８に示したネットテーブルは、ネットＩＤ（識別子）、ネット名、属性、部品ピンテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。ネットＩＤの列には、テーブル内で一意の識別子が、ネット名の列にはネットに付された名称が、属性の列には、電源、信号又はグラウンド等、ネットの性質を表す属性が、部品ピンテーブルへのリンクの列には当該ネットが接続する部品ピンを表す部品ピンテーブルのレコードへのリンクが、制約条件テーブルへのリンクの列には当該ネットに制約条件が設定されている場合にその制約条件を表す制約条件テーブルのレコードへのリンクが、それぞれ設定される。回路図において部品ピンを接続しているネットの各々に対応付けられて、このようなレコードが登録されているものとする。
【００２１】
例えば、図９に、回路に含まれる部品と接続関係の一例を示す。図９の回路図には、部品Ａ、部品Ｒ、部品Ｃ及び部品Ｂが存在する。そして、部品Ａが有する部品ピンＰＡと部品Ｒが有する部品ピンＰＲ１とがネットＮ１で接続され、部品Ｒが有する部品ピンＰＲ２と部品Ｃが有する部品ピンＰＣ１とがネットＮ２で接続され、部品Ｃが有する部品ピンＰＣ２と部品Ｂが有する部品ピンＰＢとがネットＮ３で接続されている。このような回路図があったとき、回路図テーブルには回路図全体を表す１つのレコードが、部品テーブルには、部品Ａ、部品Ｒ、部品Ｃ及び部品Ｂの各々を表すレコードが、部品ピンテーブルには部品ピンＰＡ、部品ピンＰＲ１、部品ピンＰＲ２、部品ピンＰＣ１、部品ピンＰＣ２及び部品ピンＰＢの各々を表すレコードが、ネットテーブルには、ネットＮ１、ネットＮ２及びネットＮ３の各々を表すレコードが登録される。
【００２２】
また、図４乃至図８に示したように、回路図全体のレコードには部品Ａ、部品Ｒ、部品Ｃ及び部品Ｂの各レコードへのリンク、並びにネットＮ１、ネットＮ２及びネットＮ３の各レコードへのリンクが設定される。また、部品Ａのレコードには部品ピンＰＡのレコードへのリンクが、部品Ｒのレコードには、部品ピンＰＲ１及び部品ピンＰＲ２の各レコードへのリンクが、部品Ｃのレコードには、部品ピンＰＣ１及び部品ピンＰＣ２のレコードへのリンクが、部品Ｂのレコードには、部品ピンＰＢのレコードへのリンクが設定される。そして、部品ピンＰＡのレコードには、部品Ａ及びネットＮ１のレコードへのリンクが、部品ピンＰＲ１のレコードには部品Ｒ及びネットＮ１のレコードへのリンクが、部品ピンＰＲ２のレコードには、部品Ｒ及びネットＮ２のレコードへのリンクが、部品ピンＰＣ１のレコードには、部品Ｃ及びネットＮ２のレコードへのリンクが、部品ピンＰＣ２のレコードには、部品Ｃ及びネットＮ３のレコードへのリンクが、部品ピンＢのレコードには、部品Ｂ及びネットＮ３のレコードへのリンクがそれぞれ登録される。さらに、ネットＮ１のレコードには、部品ピンＰＡ及び部品ピンＰＲ１のレコードへのリンクが、ネットＮ２のレコードには、部品ピンＰＲ２及び部品ピンＰＣ１のレコードへのリンクが、ネットＮ３のレコードには、部品ピンＰＣ２及び部品ピンＰＢのレコードへのリンクがそれぞれ登録される。
【００２３】
そして、制約条件データ格納部１０７には、例えば、図１０に示すような制約条件テーブル及び図１１に示すような設定対象テーブルが登録されているものとする。図１０に示した制約条件テーブルは、制約条件ＩＤ（識別子）、制約条件名、設定対象テーブルへのリンク、条件種別及び指示内容の各項目を含む。制約条件ＩＤの列にはテーブル内で一意の識別子が、制約条件名の列には制約条件の名称が、設定対象テーブルへのリンクの列には、当該制約を受ける部品等を示す設定対象テーブルのレコードへのリンクが、条件種別の列には、部品の位置関係、配線長、配線間隔等といった制約条件の種別が、指示内容の列には、「（部品の位置関係が）特定の部品から所定の距離以内」、「（部品の位置関係が）所定の形状の領域内」又は「（配線長が）所定の距離以内）」等といった条件の内容を表すデータがそれぞれ登録されている。このような項目を含むレコードが、ユーザの設定した制約条件の各々に対応付けられて登録されているものとする。
【００２４】
また、図１１に示した設定対象テーブルは、設定対象ＩＤ（識別子）、種別、設定対象名及び番号の各項目を含む。設定対象ＩＤの列には、テーブル内で一意の識別子が、種別の列には部品、部品ピン又はネットといった設定対象の種別が、設定対象名の列には設定対象の名称が、番号の列には、１つの制約条件からリンクされているレコード内で重複しない番号がそれぞれ登録される。なお、本実施の形態では、設定対象ＩＤの列には、部品テーブルの部品ＩＤ、部品ピンテーブルの部品ピンＩＤ又はネットテーブルのネットＩＤと同一の識別子を登録しておき、回路データ格納部１０５のデータと制約条件データ格納部１０７のデータとを関連付けておく。制約条件において、制約が設定される対象として規定されている部品の各々について、このようなレコードが登録されているものとする。
【００２５】
なお、図２Ｂに示した制約条件は、制約条件テーブル及び設定対象テーブルにおいて、図１２に示すようなレコードとして登録される。図１２に示した制約条件テーブルのレコードには、条件種別に「部品の位置関係」が登録されており、指示内容として、部品Ｉ２から１５ｍｍ以内に配置すべきことが登録されている。また、設定対象テーブルへのリンクには、当該制約条件に関連する部品を表すレコードへのリンクが設定されている。そして、設定対象テーブルには、位置関係の核（基準）となる部品（図１２に示した例では部品Ｉ２）及び、位置関係の制約を受ける部品（図１２に示した例では部品Ｃ４、部品Ｒ１及び部品Ｒ２）が登録されている。このような制約条件テーブルのレコード及び設定対象テーブルのレコードが回路設計において登録された場合、実装設計では、例えば図１３に示すような制約が課せられる。図１３に示したプリント基板上には、図１２に示した設定対象テーブルに登録されている、部品Ｉ２、部品Ｃ４、部品Ｒ１及び部品Ｒ２が存在する。そして、図１２に示した制約条件テーブルプリントの指示内容に定められているように、部品Ｉ２から半径１５ｍｍ以内に部品Ｃ４、部品Ｒ１及び部品Ｒ２が配置されている。なお、プリント基板上の距離は、例えば各部品の中心又は左下等の予め定められた１点を基準として判断される。
【００２６】
図１４に、本実施の形態に係る情報処理装置１の処理フローを示す。まず、情報処理装置１の入力部１０１は、ユーザからの入力を受け付け、制約条件データ格納部１０７に格納されている制約条件データの中から、処理の基準となる制約条件を基準条件として、対比の対象となる制約条件を対象条件として、それぞれ特定する。そして、入力部１０１は、基準条件及び対象条件を特定するためのデータをデータ格納部１０３に格納する（図１４：ステップＳ１）。ここでは、入力部１０１は、基準条件及び対象条件について、それぞれユーザからの指定を受け付け、例えばそれぞれの制約条件ＩＤをデータ格納部１０３に格納する。なお、例えば表示部１１７は、制約条件データ格納部１０７に格納されているデータを表示し、ユーザに制約条件の指定を促す。
【００２７】
ここで、制約条件テーブルには、図２Ｂに示したような部品の位置関係についての制約条件だけでなく、例えば図１５に示すような配線長に関する制約条件なども登録されている。図１５の例では、回路図に示された部品Ｉ１の部品ピンＩ１．１と部品Ｉ２の部品ピンＩ２．２とが、プリント基板上において１０ｍｍ以内の配線長で実装されるべきことを示している。ただし、本実施の形態では、図２Ｂに示したような、部品の位置関係に関する制約条件を処理の対象とする。従って、ステップＳ１では、制約条件テーブルの条件種別の列に「部品の位置関係」が登録されている制約条件を対象として、ユーザから指定を受け付けるものとする。
【００２８】
次に、情報処理装置１の基準部品特定部１０９は、基準部品特定処理を実施する（ステップＳ３）。この基準部品特定処理については図１６を用いて説明する。まず、基準部品特定部１０９は、データ格納部１０３に格納された基準条件を特定するためのデータに基づき、制約条件データ格納部１０７の制約条件テーブルから該当するレコードを取得し、当該レコードの指示内容の列に位置関係の核となる部品が設定されているか判断する（図１６：ステップＳ２１）。例えば、図１２に示した制約条件が基準条件として指定されている場合、指示内容の列には位置関係の核となる部品Ｉ２が設定されている。
【００２９】
このような、位置関係の核となる部品が設定されている場合、基準部品特定部１０９は、核となる部品を基準条件の基準部品として特定し、基準条件の基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ２３）。基準部品を特定するためのデータとしては、例えば設定対象テーブルの設定対象ＩＤを格納しておく。一方、制約条件テーブルの指示内容の列において、位置関係の核となる部品が設定されていない場合（例えば指示内容の列には、所定の部品群が所定形状の領域内に配置されることが指定されているような場合）、基準部品特定部１０９は、基準条件テーブルからリンクされている設定対象テーブルのレコードにおいて番号の列に登録された数字が最も小さいレコードに係る部品を基準部品として特定し、基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ２５）。
【００３０】
そして、ステップＳ２３又はステップＳ２５の後、基準部品特定部１０９は、データ格納部１０３に格納された対象条件を特定するためのデータに基づき、制約条件データ格納部１０７の制約条件テーブルから該当するレコードを取得し、指定内容の列に位置関係の核となる部品が設定されているか判断する（ステップＳ２７）。そして、対象条件についてステップＳ２１と同様の判断を行い、核となる部品が設定されていると判断された場合、当該部品を対象条件の基準部品として特定し、対象条件の基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ２９）。その後、端子Ａを介して基準部品特定処理を終了し、図１４の処理に戻る。
【００３１】
一方、核となる部品が設定されていないと判断された場合、基準部品特定部１０９は、制約条件データ格納部１０７の制約条件テーブルにおいて対象条件のレコードからリンクされている、設定対象テーブルのレコードの中に、ステップＳ２３又はステップＳ２５で設定された基準条件の基準部品と部品種別が同一のレコードが存在するか判断する（ステップＳ３１）。部品種別が同一のレコードが存在しないと判断された場合、基準部品特定部１０９は、設定対象テーブルにおいて対象条件のレコードからリンクされているレコードの中から、番号の列に登録されている数字が最も小さいレコードに係る部品を対象条件の基準部品として特定し、当該基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ３３）。その後、端子Ａを介して基準部品特定処理を終了し、図１４の処理に戻る。
【００３２】
一方、部品種別が同一のレコードが存在すると判断された場合、基準部品特定部１０９は、該当するレコードが複数存在するか判断する（ステップＳ３５）。基準条件の基準部品の部品種別と同一の部品種別を有するレコードが１つ存在する場合、基準部品特定部１０９は、該当するレコードに係る部品を対象条件の基準部品として特定し、基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ３７）。その後、端子Ａを介して基準部品特定処理を終了し、図１４の処理に戻る。
【００３３】
一方、基準条件の基準部品の部品種別と同一の部品種別を有するレコードが複数存在する場合、基準部品特定部１０９は、基準条件の基準部品の部品種別と同一の部品種別を有するレコードの中から、番号の列に登録されている数字が最も小さいレコードに係る部品を対象条件の基準部品として特定し、当該基準部品を特定するためのデータをデータ格納部１０３に格納する（ステップＳ３９）。その後、基準部品特定処理を終了し、図１４の処理に戻る。
【００３４】
図１４の処理の説明に戻り、情報処理装置１の対応部品特定部１１３は、データ格納部１０３から、対応する部品群を抽出するために用いる抽出アルゴリズムを読み出し、抽出アルゴリズムは「トポロジ」であるか判断する（ステップＳ５）。なお、抽出アルゴリズムとしては、回路設計において作成された回路図上の座標を基に対応する部品群を特定する「回路図座標」、又は回路図上の部品の種別と接続形態と（回路トポロジ）の情報を基に対応する部品群を特定する「トポロジ」が予めユーザ等により設定されているものとする。そして、抽出アルゴリズムが「トポロジ」でない場合、すなわち抽出アルゴリズムが「回路図座標」である場合、処理はステップＳ９に移行する。
【００３５】
一方、抽出アルゴリズムが「トポロジ」である場合、対応部品特定部１１３は、制約条件データ格納部１０７の設定対象テーブルにおいて基準条件における基準部品のレコードに含まれる部品種別と、対象条件における基準部品のレコードに含まれる部品種別とが同一であるか判断する（ステップＳ７）。部品種別が同一でない場合、又はステップＳ５において抽出アルゴリズムが「トポロジ」でないと判断された場合、対応部品特定部１１３は、回路図座標による対応部品抽出処理を実施する（ステップＳ９）。この回路図座標による対応部品抽出処理は、図１７乃至図２４を用いて説明する。
【００３６】
まず、対応部品特定部１１３は、基準条件についての処理を制御するために用いるインデックス番号ｎを１で初期化する（図１７：ステップＳ４１）。そして、対応部品特定部１１３は、ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であるか判断する（ステップＳ４３）。なお、本実施の形態では基準条件に規定されているレコードのうち基準部品に係るレコード以外のレコードの数（ｎ−１）だけ、後の処理を繰り返す。本ステップにおいて、ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、処理はステップＳ４９に移行する。一方、ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部１１３は、対応部品抽出処理を実施する（ステップＳ４５）。この対応部品抽出処理は、図１８乃至図２４を用いて説明する。
【００３７】
まず、対応部品特定部１１３は、制約条件データ格納部１０７において基準条件に規定されている、基準部品以外の部品において、ｎ番目のレコードに係る部品をＰRnとして、また当該部品の部品種別をＴRnとして取得し、データ格納部１０３に格納する（図１８：ステップＳ６１）。ここでは、まず対応部品特定部１１３は、データ格納部１０３に格納されている基準条件を特定するためのデータを用いて制約条件データ格納部１０７の制約条件テーブルから基準条件のレコードを取得する。そして、対応部品特定部１１３は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードにおいて、ｎ番目のレコードに係る部品の設定対象ＩＤをＰRnとし、当該レコードの部品種別をＴRnとして取得し、データ格納部１０３に格納する。
【００３８】
そして、対応部品特定部１１３は、取得したＰRnと基準部品との回路図上の相対位置ＣRnを算出し、データ格納部１０３に格納する（ステップＳ６３）。ここでは、ＰRn及び基準部品について、それぞれ設定対象テーブルにおける部品の設定対象ＩＤをキーとして、回路データ格納部１０５の部品テーブルを検索し、該当するレコードのシート番号及び位置を取得する。そして、例えばシート番号差及び基準部品を基準としたＰRnの相対的な座標を算出し、データ格納部１０３に格納する。
【００３９】
ここで、回路図データにおけるシートについて説明しておく。ユーザが作成する回路図データにおいては、１つの回路が複数のシートに分けて設計される場合がある。このような場合、複数のシートが、例えばシート番号により管理される。なお、これは便宜的に分割されたものであり、多層基板における層とは異なるものである。このようなシートに分割して回路図を設計する場合、回路をどのように分割するかはユーザ次第であるが、ユーザは部品を機能的にグループ化して回路図上に配置する傾向があり、また、ＣＡＤシステムの有する機能により、類似する部品群を回路図上でコピー及び修正して回路図を作成することもある。
【００４０】
このようなシート番号は便宜的なものであるが、例えば２つの部品が別のシートに存在する場合、このようなシート番号の差を、部品間の相対的な位置関係を表す尺度として用いるようにしてもよい。一方、シート番号差を用いない場合、各シートにおける座標をそのまま比較するようにしてもよいし、予めシート間の接続関係を定義しておき、シート間をまたいで相対的な座標を算出できるようにしてもよい。
【００４１】
次に、相対位置ＣRnの算出について、図１９Ａに示す回路図を用いて説明する。なお、ここではインデックス番号ｎが１であるものとする。図１９Ａに示した回路図では、部品Ｉ３と、部品Ｒ３、部品Ｃ５、部品Ｃ６及び部品Ｃ７の各々とが接続されている。また、部品Ｉ３が基準部品として特定されているものとする。このような回路図において、基準部品Ｉ３と部品Ｃ５との相対位置ＣR1を算出する場合、まず、基準部品Ｉ３と部品Ｃ５とは同一のシートに存在するため、シート番号差０が算出される。また、図１９Ａにおいて矢印ｄ1で示すように、基準部品Ｉ３の所定位置を基準とした、部品Ｃ５の所定位置の相対的な座標が算出される。Ｉ３の所定位置の座標が（ｘI3，ｙI3）、Ｃ５の所定位置の座標が（ｘC5，ｙC5）であるとすると、相対的な座標（ｘR1，ｙR1）は（ｘC5−ｘI3，ｙC5−ｙI3）と算出される。なお、回路図上の部品の所定位置も、例えば各部品の中心の座標や各部品の左下の座標等、予め定められた一点を用いるものとする。また、仮に基準部品Ｉ３がシート番号１に、部品Ｃ５がシート番号３に存在する場合は、相対位置ＣR1のシート番号差は２（＝３−１）と算出される。このシート番号差としては、差の絶対値を採用してもよい。
【００４２】
算出された基準条件のシート番号差及び相対位置は、例えば図２０に示すようにデータ格納部１０３に登録される。図２０に示すテーブルには、基準条件に係る部品間のシート番号差及び相対座標の列と、対象条件に係る部品間のシート番号差及び相対座標の列と、後に説明する、シート番号差同士の差の絶対値ＭS及び部品の相対的な座標に係る差の絶対値ＭLの列とが含まれる。例えばこのようなテーブルを用いて、中間的に生成されたデータが保持される。
【００４３】
その後、対応部品特定部１１３は、対象条件についての処理を制御するためのインデックス番号ｍを１で初期化する（ステップＳ６５）。そして、対応部品特定部１１３は、ｍが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数未満であるか判断する（ステップＳ６７）。なお、本実施の形態では対象条件に規定されているレコードのうち基準部品に係るレコード以外のレコードの数（ｍ−１）だけ、後の処理を繰り返す。本ステップにおいて、ｍが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数以上であると判断された場合、処理は端子Ｂを介して図２４のステップＳ８１に移行する。
【００４４】
一方、ｍが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部１１３は、制約条件データ格納部１０７の設定対象テーブルからｎ番目のレコードに係る部品ＰTm、及び当該部品の部品種別ＴTmを取得し、データ格納部１０３に保持させておく（ステップＳ６９）。ここでは、まず対応部品特定部１１３は、データ格納部１０３に格納されている対象条件を特定するためのデータを用いて制約条件データ格納部１０７の制約条件テーブルから対象条件のレコードを取得する。そして、対応部品特定部１１３は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードのうち、番号の列に登録されている値を昇順に並べたときにｎ番目となるレコードに係る部品の部品ＩＤをＰTmとし、当該レコードの部品種別をＴTmとして取得し、データ格納部１０３に保持させる。
【００４５】
そして、対応部品特定部１１３は、基準条件に規定されている部品の部品種別ＴRnと対象条件に規定されている部品の部品種別ＴTmとが同一であるか判断する（ステップＳ７１）。ここでは、抵抗やキャパシタ、コイル等といった部品種別が同一であるか判断する。そして、部品種別が同一でないと判断された場合、処理はステップＳ７９に移行する。
【００４６】
一方、部品種別が同一であると判断された場合、対応部品特定部１１３は、基準部品を基準とする、回路図上のＰTmの相対位置ＣTmを算出し、データ格納部１０３に格納する（ステップＳ７３）。ここでは、ＰRn及び基準部品について、それぞれ設定対象テーブルにおける部品の設定対象ＩＤをキーとして、回路データ格納部１０５の部品テーブルを検索し、該当するレコードのシート番号及び位置を取得する。そして、例えばステップＳ６３と同様に、シート番号差及び基準部品を基準としたＰRnの相対的な座標を算出し、データ格納部１０３に格納する。なお、ステップＳ６３と同様にシート番号については用いないようにしてもよい。
【００４７】
例えば、図１９Ｂに示す回路図において、基準部品Ｉ４の所定位置の座標が（ｘI4，ｙI4）、部品Ｃ８の所定位置の座標が（ｘC8，ｙC8）、インデックス番号ｍが１であるものとする。このとき、基準部品を基準としたＰRnの相対的な座標（ｘT1，ｙT1）は（ｘC8−ｘI4，ｙC8−ｙI4）と算出される。そして、例えば図２１の対象条件の列に示すように、算出されたシート番号差及び相対的な座標（ｘT1，ｙT1）がデータ格納部１０３に登録される。
【００４８】
その後、対応部品特定部１１３は、相対位置ＣRnと相対位置ＣTmとの差の絶対値Ｍを算出し、差の絶対値Ｍが所定の閾値以下であるか判断する（ステップＳ７５）。ここでは、対応部品特定部１１３は、例えばシート番号差同士の差の絶対値を、ＭSとして算出し、回路図上での部品の位置を表すｘ座標及びｙ座標の差の絶対値を、ＭLとして算出する。また、対応部品特定部１１３は、データ格納部１０３に格納されている、シート番号、ｘ座標及びｙ座標の各々についての所定の閾値を読み出し、差の絶対値ＭS及びＭLが、それぞれ所定の閾値以下であるか判断する。
【００４９】
また、データ格納部１０３には、例えば、差の絶対値ＭSについての閾値がＳ、差の絶対値ＭLについての閾値がｘS、ｙSというように所定の閾値が予めユーザ等により定められているものとする。図１９Ａ及び図１９Ｂに示した例では、まず、差の絶対値ＭSは０と算出され、差の絶対値ＭLは、｜ｘT1−ｘR1｜、｜ｙT1−ｙR1｜と算出される。なお、例えば図２２の差の絶対値Ｍの列に示すように、算出された差の絶対値ＭS及び差の絶対値ＭLが、データ格納部１０３に登録される。また、差の絶対値ＭSである０が閾値Ｓ以下であるか、｜ｘT1−ｘR1｜が閾値ｘS以下であるか、及び｜ｙTm−ｙRn｜が閾値ｙS以下であるか判断される。そして、差の絶対値ＭS及び差の絶対値ＭLのいずれかが、上記の閾値以下でないと判断された場合、処理はステップＳ７９に移行する。
【００５０】
一方、差の絶対値ＭSと差の絶対値ＭLとが所定の閾値以下であると判断された場合、対応部品特定部１１３は、部品ＰRnの対応部品候補としてＰTmをデータ格納部１０３に保持させておく（ステップＳ７７）。そして、ステップＳ７１において、部品種別が同一でないと判断された場合、ステップＳ７５において、差の絶対値Ｍが所定の閾値以下でないと判断された場合、又はステップＳ７７の後、対応部品特定部１１３は、ｍを１インクリメントして（ステップＳ７９）、ステップＳ６７の処理に戻る。このように、ステップＳ６７乃至ステップＳ７９の処理が繰り返されて、対象条件に規定されている部品のうち基準部品以外の部品ＰTmの各々について、ステップＳ６１で取得した基準条件に係る部品ＰRnとの差の絶対値Ｍを比較し、対応する部品であるか判断される。
【００５１】
また、上でも述べたとおり、ステップＳ６７において、ｍが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数以上であると判断された場合、処理は端子Ｂを介して、図２４の処理に移行する。そして、対応部品特定部１１３は、対応部品候補としてデータ格納部１０３に保持されている部品のうち、基準条件に規定されている部品の相対的な座標と、対象条件に規定されている部品の相対的な座標とのユークリッド距離が小さい組み合わせを対応部品として絞り込み、データ格納部１０３に格納する（図２４：ステップＳ８１）。
【００５２】
ステップＳ６７乃至ステップＳ７９の処理では、対象条件に規定されている部品のうち、基準条件に規定されている部品との差の絶対値Ｍが閾値以下であると判断された複数の部品が対応部品候補として保持されている場合がある。本ステップでは、基準条件に規定されている１つの部品に対して対応する部品が１つになるよう絞り込む。
【００５３】
ここで、図１９Ａ及び図１９Ｂに示した回路図を、基準部品Ｉ３及びＩ４の所定位置を中心Ｏとして重ね合わせた図を、図２３に示す。例えば、図２３における部品Ｃ５と部品Ｃ８との距離ｄ7は、（（ｘT1−ｘR1）2＋（ｙT1−ｙR1）2）1/2により算出できる。図２３において、部品Ｃ５の対応部品候補として、部品Ｃ８及び部品Ｃ９が抽出されている場合、部品Ｃ８及び部品Ｃ９のうち部品Ｃ５の位置に近い方の部品Ｃ８が対応部品として特定される。
【００５４】
また、本ステップでは、例えば差の絶対値ＭSが最小であるＰTmについて、上で述べた距離が最小となるものに絞り込むようにしてもよいし、差の絶対値ＭSに所定の係数を乗じて仮想的なｚ軸方向の距離に換算し、３次元空間での距離が最小となるものに絞り込むようにしてもよい。なお、対応部品候補が全て１対１に対応付けられている場合は、本ステップの絞り込みを行うことなく、各対応部品候補を対応部品として特定する。
【００５５】
そして、対応部品特定部１１３は、対応部品候補が１つに絞り込まれているか判断する（ステップＳ８３）。対応部品候補が１つに絞り込まれている場合、対応部品抽出処理を終了して、図１７の処理に戻る。一方、対応部品候補が複数存在する場合、対応部品特定部１１３は、回路図上でのｘ座標の差、ｙ座標の差、対象条件に規定されている番号の値等、予めユーザ等により設定され、データ格納部１０３に格納されている、絞り込みのための条件を順に用いて、対応部品を１つに絞り込む（ステップＳ８５）。ここでは、例えば、対応部品候補としてデータ格納部１０３に保持されている部品について、まず、基準部品との回路図上のｘ座標の差を比較し、最小の部品を対応部品とする。ｘ座標について差がない場合は、同様にｙ座標の差を比較し、最小の部品を対応部品とする。ｙ座標についても差がない場合は、設定対象テーブルにおける対応部品候補に相当するレコードのうち、番号の列に登録されている値が最小のレコードに係る部品を、対応部品とする。なお、シート番号は便宜的なものであり、また設定対象テーブルにおける番号を用いればレコードを１つに絞り込むことができるため、本ステップにおける絞り込みのための条件としてシート番号は用いていない。そして、対応部品抽出処理を終了し、図１７の処理に戻る。
【００５６】
図１７の処理の説明に戻り、対応部品特定部１１３は、ｎを１インクリメントしてステップＳ４３の処理に戻る。このように、ステップＳ４３乃至ステップＳ４７の処理が繰り返されて、基準条件に規定されている部品と、対象条件に規定されている部品との対応付けが行われる。
【００５７】
また、ステップＳ４３において、ｎが設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、対応部品特定部１１３は、対象条件に規定されている部品の中に、基準条件に規定されている複数の部品と対応付けられた部品が存在するか判断する（ステップＳ４９）。ステップＳ４３乃至ステップＳ４７の処理では、基準条件に規定されている複数の部品と対象条件に規定されている１つの部品とが対応部品として特定される場合がある。本ステップにおいて、対象条件に既定されている部品の中に、基準条件に規定されている複数の部品と対応付けられている部品が存在すると判断された場合、対応部品特定部１１３は、基準条件に規定されているに対応する部品を１つに絞り込み、部品の組み合わせをデータ格納部１０３に格納する（ステップＳ５１）。ここでは、回路図座標、回路トポロジ、部品ライブラリテーブルにおける部品ライブラリＩＤ等、予めユーザ等により設定され、データ格納部１０３に格納されている、絞り込みのための条件を順に用いて対応部品を絞り込む。
【００５８】
例えば、図１９Ｂに示した部品Ｃ１０に対して、図１９Ａに示した部品Ｃ６及び部品Ｃ７が対応付けられているとする。この場合において、「回路図座標」による対応部品の絞り込みが指定されているとき、対応部品特定部１１３は、ステップＳ８１と同様に、基準部品Ｉ３及びＩ４を基準として、部品Ｃ６及び部品Ｃ７のうち、部品Ｃ１０の位置に近い方を特定する。すなわち、図２３において、部品Ｃ１０から部品Ｃ６までの距離ｄ9と、部品Ｃ７までの距離ｄ10とを比較し、部品間の距離が短い方の組み合わせを特定する。なお、ステップＳ８１の処理と同様に、差の絶対値ＭSをさらに用いるようにしてもよい。
【００５９】
また、「回路トポロジ」による対応部品の絞り込みが指定されているときは、基準部品との接続関係（例えば基準部品と直接接続されているか、又は他の部品を介して接続されているか）や、接続されている部品ピンの番号又は部品ピンの属性等といった回路トポロジが同一である部品を対応部品として特定する。さらに、「部品ライブラリテーブルにおける部品ライブラリＩＤ」による対応部品の絞り込みが指定されているときは、各部品の部品ライブラリＩＤが同一である（すなわち、部品の特性値等まで同一である）部品を対応部品として特定する。なお、このような絞り込みのための条件を、優先度を付けて複数設定するようにしてもよい。そのような場合には、対応部品が１つに絞り込まれるまで設定された条件を優先度の順に適用して、絞り込みを行う。
【００６０】
その後、回路図座標による対応部品抽出処理を終了し、図１４の処理に戻り、ステップＳ１３に移行する。
【００６１】
このように、回路図座標による対応部品抽出処理を行うことにより、回路設計において設計者が作成した回路図に基づいて部品群の対応付けが行われる。ここで、実装設計においては、ある制約条件において規定されている部品と、他の制約条件において規定されている部品との間でプリント基板上における同様の配置位置を採用できる場合がある。また、上でも述べたとおり、設計者は部品を機能的にグループ化して回路図上に配置する傾向があり、ＣＡＤシステムの有する機能により、類似する部品群を回路図上でコピー及び修正して回路図を作成することもある。従って、回路図上の座標を用いて位置関係が類似する部品群を対応付ければ、実装設計において同様の配置位置を採用できる部品群を特定することができる。
【００６２】
図１４の処理の説明に戻り、ステップＳ７において基準部品の部品種別が同一であると判断された場合、対応部品特定部１１３は、トポロジによる対応部品抽出処理を実施する（ステップＳ１１）。このトポロジによる対応部品抽出処理については、図２５を用いて説明する。
【００６３】
まず、対応部品特定部１１３は、基準条件についての処理を制御するために用いるインデックス番号ｎを１で初期化する（図２５：ステップＳ９１）。そして、対応部品特定部１１３は、ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であるか判断する（ステップＳ９３）。
【００６４】
ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部１１３は、制約条件データ格納部１０７において基準条件に規定されている、基準部品以外の部品において、ｎ番目のレコードに係る部品のデータをＰRnとして取得し、データ格納部１０３に格納する（ステップＳ９５）。ここでは、まず対応部品特定部１１３は、データ格納部１０３に格納されている基準条件を特定するためのデータを用いて制約条件データ格納部１０７の制約条件テーブルから基準条件のレコードを取得する。そして、対応部品特定部１１３は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードにおいて、ｎ番目のレコードに係る部品の設定対象ＩＤをＰRnとして取得し、データ格納部１０３に格納する。
【００６５】
そして、対応部品特定部１１３は、取得した部品ＰRnが基準部品と接続されているか判断する（ステップＳ９７）。ここでは、まず、設定対象ＩＤをキーとして、回路データ格納部１０５に格納されている部品テーブルにおいて該当するレコードを特定する。そして、該当するレコードからリンクされている、部品ピンテーブルのレコード、リンクテーブルのレコードを探索し、基準条件の基準部品と接続されているか判断する。基準部品と接続されていないと判断された場合、ステップＳ１０５に移行する。
【００６６】
一方、基準部品と接続されていると判断された場合、対応部品特定部１１３は、対象条件に規定されている部品の中から、対象条件の基準部品と接続されている部品であって、未だ基準条件に規定されている部品と対応付けされていないものを抽出する（ステップＳ９９）。ここでは、対象条件に規定されている部品について、ステップＳ９７と同様に、回路データ格納部１０５に格納されている部品テーブル、部品ピンテーブル及びリンクテーブルを探索し、基準部品と直接接続されている部品を特定する。また、対応部品特定部１１３は、データ格納部１０３に格納されているデータを用いて、基準条件に規定されている部品のいずれかと既に対応付けがされているか判断し、対応付けされていない部品を抽出する。なお、後の処理において、基準条件に規定されている部品と対象条件に規定されている部品との対応付けがなされた場合、データ格納部１０３には対応する部品の組み合わせが格納される。
【００６７】
その後、対応部品特定部１１３は、ステップＳ９５において取得された部品ＰRn及びステップＳ９９において抽出された部品の各々について、部品ライブラリデータ格納部１１１に格納されているデータを取得する（ステップＳ１０１）。ここでは、対象条件に規定されている部品の部品種別、当該部品の部品ピンのうち基準部品と接続されている部品ピンの部品ピン情報（部品ピンの番号及び属性）、部品ライブラリＩＤ等、予めユーザ等により設定され、データ格納部１０３に格納されている、対応付けのための条件を取得する。
【００６８】
そして、対応部品特定部１１３は、ステップＳ９９で抽出された部品から、部品ＰRnに対応する部品を特定し、対応部品に係る組合せをデータ格納部１０３に格納する（ステップＳ１０３）。ここでは、例えば、基準条件に規定されている部品と対象条件に規定されている部品とについて、基準部品と接続されている部品ピンの番号が同一であるか、基準部品と接続されている部品ピンの属性が同一であるか、部品自体の部品種別が同一であるか、さらに部品ライブラリＩＤが同一であるか（部品の特性値等が同一であるか）といった判断がなされ、該当する部品が存在すれば、対応部品として特定する。なお、これらの条件に該当する部品が複数存在する場合は、例えば設定対象テーブルの番号が最小のものを１つ対応付ける。
【００６９】
そして、対応部品特定部１１３はインデックス番号ｎを１インクリメントし（ステップＳ１０５）、ステップＳ９３の処理へ戻る。このように、ステップＳ９３乃至ステップＳ１０５の処理が繰り返されて、基準条件に規定されている部品と、対象条件に規定されている部品との対応付けが行われる。そして、ステップＳ９３において、ｎが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、トポロジによる対応部品抽出処理を終了し、図１４の処理に戻る。
【００７０】
このように、トポロジによる対応部品抽出処理を行うことでも、回路図データに基づいて部品群の対応付けができる。また、部品同士の接続関係及び接続されている部品の種別や特性値といった回路トポロジが類似する部品群も、プリント基板上において同様の配置位置を採用できる可能性がある。従って、回路トポロジに基づいて部品群を対応付けるようにしても、実装設計において同様の配置位置を採用することができる部品群を特定することができる。
【００７１】
図１４の処理の説明に戻り、ステップＳ９又はステップＳ１１の後、対応部品特定部１１３は、部品の対応付けに関するデータをデータ格納部１０３から読み出し、対応付けられている部品について、設定対象テーブルにおける番号の欄に同一の値を設定する（ステップＳ１３）。ここでは、例えば、対象条件に規定されている部品の番号を、基準条件に規定されている部品の番号にそろえる。なお、対応する部品が存在しない場合には、欠番が生じる場合もある。
【００７２】
例えば、図１９Ａ及び図１９Ｂの例において、部品Ｃ５と部品Ｃ８とが対応付けられ、また部品Ｃ７と部品Ｃ１０とが対応付けられたとすると、設定対象テーブル（図１１）において、部品Ｃ８の番号の欄には部品Ｃ５と同一の番号２が、部品Ｃ１０の番号の欄には部品Ｃ７と同一の番号４が設定される。また、部品Ｃ６及び部品Ｃ９について対応する部品が特定されなかったとすると、設定対象テーブルにおいて、部品Ｃ９の番号の欄には、基準条件に規定されている部品と重複しないように採番された番号が付与される。このような処理を行うことにより、回路設計において作成したデータから部品群の対応関係を特定できるようになる。
【００７３】
また、表示部１１７が、制約条件データ格納部１０７に格納されているデータを表示する（ステップＳ１５）。例えば、ステップＳ１３で番号を対応付けた後の、基準条件に規定されている部品と対象条件に規定されている部品とを表示する。
【００７４】
図１９Ａ及び図１９Ｂに示した部品のデータの場合は、図２６に示すようなデータが表示される。図２６に示したテーブルでは、設定対象テーブルに登録されている設定対象名、設定対象ＩＤ及び番号を用いて、基準条件に係るデータと対象条件に係るデータとを左右に並べ、それぞれの条件に規定されている部品のデータを、番号の欄に登録されている値の昇順に並べている。そして、番号２の行に部品Ｃ５及び部品Ｃ８が、番号４の行に部品Ｃ７及び部品Ｃ１０が表示されている。また、部品Ｃ６及び部品Ｃ９には他の制約条件に対応する部品が表示されていない。このように、１つの制約条件に規定されている部品を縦方向に表示し、対応する部品を横方向に表示すれば、ユーザは部品群の対応関係を容易に把握することができる。
【００７５】
そして、出力部１１５は、回路データ格納部１０５及び制約条件データ格納部１０７から、図示していない実装設計者の端末又は情報処理装置１のデータ格納部１０３等に、ネットリストのデータ及び対応付けされた部品のデータを含む制約条件のデータを出力する（ステップＳ１７）。制約条件に規定されている部品群が既に対応付けられているため、実装設計においてこのようなデータを用いれば、類似する部品群について同一の配置位置を適用することが容易となる。なお、回路設計において作成された回路図データを、実装設計において読み出すことができるならば、本実施の形態に係る処理を実装設計の段階で実施するようにしてもよい。
【００７６】
また、例えばステップＳ１７の前において、図２６に示したようなテーブルに対して、ユーザが部品の順序を変更できるようにし、部品の対応付けを変更できるようにしてもよい。例えば、図２６に示したテーブルにおいて、選択した部品の順序を上下方向に移動させたり、選択した部品をドラッグして順序を変更したり、選択した複数の部品をアルファベット順にソートし直したりすることができるようにする。このようにすれば、例えば本実施の形態に係る処理を行った後で、ユーザが結果を確認し、細かい修正を行うことができるようになる。
【００７７】
また、例えば図２７に示すように、１つの基準条件に規定されている部品と、複数の対象条件に規定されている部品とを対応付けられるようにしてもよい。図２７の例では、３つの制約条件に係る部品群が表示されており、例えば左の制約条件が基準条件であるものとする。この場合、まず、基準部品特定処理においては各対象条件に規定されている部品からそれぞれ基準部品が特定される。そして、回路図座標による対応部品抽出処理又はトポロジによる対応部品抽出処理においては、基準条件に規定されている部品と各対象条件に規定されている部品とについて、対応する部品が存在するか判断される。なお、各対象条件についての処理は、順番に実施してもよいし、並行して実施してもよい。
【００７８】
また、回路図座標による対応部品抽出処理及びトポロジによる対応部品抽出処理の両方のアルゴリズムで対応部品を特定し、結果に差があればわかるようにユーザに提示するようにしてもよい。
【００７９】
なお、回路図による対応部品抽出処理においては、ステップＳ６７乃至ステップＳ７９で対応部品候補を抽出し、ステップＳ８１乃至ステップＳ８５でその中から１つの対応部品を特定しているが、ステップＳ７５、ステップＳ８１及びステップＳ８５で用いる条件を順に適用して、はじめから１つの対応部品を特定するようにしてもよい。また、ステップＳ５１で対応付けが外されてしまった、基準条件に規定されている部品について、再度対応部品候補との対応付けを行うようにしてもよい。
【００８０】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしてもよい。さらに、１台のコンピュータではなく、複数のコンピュータで上で述べた機能を実現するようにしてもよい。
【００８１】
なお、上で述べた情報処理装置１は、コンピュータ装置であって、図２８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８２】
以上述べた本実施の形態をまとめると、以下のようになる。
【００８３】
本実施の形態に係る情報処理方法は、（Ａ）部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、（Ｂ）第１の基準部品と第１の部品群における第１の基準部品以外の部品である第３の部品との位置関係と第３の部品の属性とに基づき、第２の部品群において第２の基準部品以外の部品であって第３の部品との対応関係がある第４の部品を特定する特定ステップとを含む。
【００８４】
まず、プリント基板上における複数の部品の位置関係に関する制約条件において規定されている部品には、他の制約条件において規定されている部品との間でプリント基板上における同様の配置位置を採用できるものが存在し得る。そこで、上で述べたような処理を行えば、プリント基板上において同様の配置位置を採用し得る上記第４の部品が特定できる。このような対応関係にある部品を特定しておけば、実装設計において同様の配置を適用できるため、設計者の作業負担を軽減することができる。
【００８５】
また、特定ステップが、（ｂ１）回路図に規定されている、部品の座標を含む回路図データを格納している回路図データ格納部から、第１の基準部品、第３の部品、第２の基準部品及び第２の部品群における第２の基準部品以外の部品である第５の部品の座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、第３の部品及び第５の部品の部品種別を取得するステップと、（ｂ２）第５の部品の中から、第３の部品の部品種別と同一の部品種別を有し、第１の基準部品と第３の部品との間の、座標に基づく距離と、第２の基準部品との、座標に基づく距離との差が最小となる部品を、第４の部品として抽出するステップとを含むようにしてもよい。このようにすれば、部品種別及び回路図上の座標に基づいて、上記第４の部品を特定できる。設計者は、類似する回路に含まれる部品群を、回路図においても同じようなレイアウトで規定する傾向がある。また、設計者は、ＣＡＤシステムにおいて類似する回路のデータをコピーして回路図を作成することもある。従って、回路図における座標及び部品種別に対応関係が認められる場合、プリント基板上において同様の配置位置を採用し得る部品である可能性が高い。
【００８６】
そして、特定ステップが、（ｂ３）回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、第１の基準部品及び第２の基準部品についての接続関係を表すデータに基づき、第１の基準部品に接続されている第３の部品である第６の部品及び第２の基準部品に接続されており且つ第２の部品群における第２の基準部品以外の部品である第７の部品を抽出するステップと、（ｂ４）部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、第６の部品に関する部品のデータ及び第７の部品に関する部品のデータを抽出するステップと、（ｂ５）第７の部品の中から、第６の部品に関する部品のデータのうち少なくとも一部と、第７の部品に関する部品のデータのうち少なくとも一部とが一致する部品を第４の部品として特定するステップとを含むようにしてもよい。このようにすれば、基準部品と接続関係にある部品のデータ（すなわち回路トポロジ）に基づいて、上記第４の部品を特定できる。このような関係にある部品も、プリント基板上において同様の配置位置を採用し得る部品である可能性が高い。
【００８７】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００８８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８９】
（付記１）
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の部品群において前記第２の基準部品以外の部品であって前記第３の部品との対応関係がある第４の部品を特定する特定ステップと、
をコンピュータに実行させるためのプログラム。
【００９０】
（付記２）
前記特定ステップが、
回路図に規定されている部品の配置座標を含む回路図データを格納している回路図データ格納部から、前記第１の基準部品、前記第３の部品、前記第２の基準部品及び前記第２の部品群における前記第２の基準部品以外の部品である第５の部品の配置座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、前記第３の部品及び前記第５の部品の部品種別を取得するステップと、
前記第５の部品の中から、前記第３の部品の部品種別と同一の部品種別を有し、前記第１の基準部品と前記第３の部品との間の、前記配置座標に基づく距離と、前記第２の基準部品との、前記配置座標に基づく距離との差が最小となる部品を、前記第４の部品として抽出するステップと
を含む付記１記載のプログラム。
【００９１】
（付記３）
前記特定ステップが、
回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、前記第１の基準部品及び前記第２の基準部品についての前記接続関係を表すデータに基づき、前記第１の基準部品に接続されている前記第３の部品である第６の部品及び前記第２の基準部品に接続されており且つ前記第２の部品群における前記第２の基準部品以外の部品である第７の部品を抽出するステップと、
部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、前記第６の部品に関する部品のデータ及び前記第７の部品に関する部品のデータを抽出するステップと、
前記第７の部品の中から、前記第６の部品に関する部品のデータのうち少なくとも一部と、前記第７の部品に関する部品のデータのうち少なくとも一部とが一致する部品を前記第４の部品として特定するステップと
を含む付記１記載のプログラム。
【００９２】
（付記４）
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定するステップと、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の部品群において前記第２の基準部品以外の部品であって前記第３の部品との対応関係がある第４の部品を特定する特定ステップと、
を含み、コンピュータにより実行される情報処理方法。
【００９３】
（付記５）
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第１の制約条件において規定されている第１の部品群から第１の基準部品を特定し、前記第１の制約条件と対比される第２の制約条件において規定されている第２の部品群から第２の基準部品を特定する基準部品特定部と、
前記第１の基準部品と前記第１の部品群における前記第１の基準部品以外の部品である第３の部品との位置関係と前記第３の部品の属性とに基づき、前記第２の部品群において前記第２の基準部品以外の部品であって前記第３の部品との対応関係がある第４の部品を特定する対応部品特定部と、
を有する情報処理装置。
【符号の説明】
【００９４】
１  情報処理装置    １０１  入力部
１０３  データ格納部    １０５  回路データ格納部
１０７  制約条件データ格納部    １０９  基準部品特定部
１１１  部品ライブラリデータ格納部    １１３  対応部品特定部
１１５  出力部    １１７  表示部
【図１】
0005691743.tif 000002
【図２Ａ】
0005691743.tif 000003
【図２Ｂ】
0005691743.tif 000004
【図３】
0005691743.tif 000005
【図４】
0005691743.tif 000006
【図５】
0005691743.tif 000007
【図６】
0005691743.tif 000008
【図７】
0005691743.tif 000009
【図８】
0005691743.tif 000010
【図９】
0005691743.tif 000011
【図１０】
0005691743.tif 000012
【図１１】
0005691743.tif 000013
【図１２】
0005691743.tif 000014
【図１３】
0005691743.tif 000015
【図１４】
0005691743.tif 000016
【図１５】
0005691743.tif 000017
【図１６】
0005691743.tif 000018
【図１７】
0005691743.tif 000019
【図１８】
0005691743.tif 000020
【図１９Ａ】
0005691743.tif 000021
【図１９Ｂ】
0005691743.tif 000022
【図２０】
0005691743.tif 000023
【図２１】
0005691743.tif 000024
【図２２】
0005691743.tif 000025
【図２３】
0005691743.tif 000026
【図２４】
0005691743.tif 000027
【図２５】
0005691743.tif 000028
【図２６】
0005691743.tif 000029
【図２７】
0005691743.tif 000030
【図２８】
0005691743.tif 000031