(57)【特許請求の範囲】
【請求項１】
コンピュータに、
設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、
探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、
探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、
生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を実行させることを特徴とする回路設計支援プログラム。
【請求項２】
前記コンピュータに、
表示された前記入力欄に入力された前記制約データを受け付け、
前記トポロジデータと、前記対応データと、受け付けた前記制約データと、を関連付けて前記コンピュータがアクセス可能な記憶部に格納する、
処理を実行させることを特徴とする請求項１に記載の回路設計支援プログラム。
【請求項３】
前記制約条件は、異なる２つの前記節点間の長さであることを特徴とする請求項１または２に記載の回路設計支援プログラム。
【請求項４】
前記所定条件を満たすパスとは、探索した前記パスのうち前記部品の数が最も多いパスであることを特徴とする請求項１〜３のいずれか一つに記載の回路設計支援プログラム。
【請求項５】
前記コンピュータがアクセス可能な記憶部には、探索した前記パスと異なるパスの各々についての配線状態に対する制約条件を示す制約データが格納され、
前記コンピュータに、
探索した前記パスの前記配線状態に対する前記制約条件を示す制約データに、前記記憶部に格納された前記制約データのうちの前記コンピュータに対する操作に応じて選択された前記制約データを設定する、
処理を実行させることを特徴とする請求項１〜４のいずれか一つに記載の回路設計支援プログラム。
【請求項６】
前記コンピュータがアクセス可能な記憶部には、探索した前記パスと異なるパスの各々についての配線状態に対する制約条件を示す制約データが格納され、
前記コンピュータに、
表示した前記入力欄に、前記記憶部に格納された前記制約データのうちの前記コンピュータに対する操作に応じて選択された前記制約データを設定する、
処理を実行させることを特徴とする請求項１〜５のいずれか一つに記載の回路設計支援プログラム。
【請求項７】
コンピュータが、
設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、
探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、
探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、
生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を実行することを特徴とする回路設計支援方法。
【請求項８】
設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を行う制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路設計支援プログラム、回路設計支援方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、プリント基板の開発では、仕様設計、回路設計、実装設計、解析、基板試作、製造といった各段階を経て作業が行われる。回路設計では、設計者が設計対象のシステムの機能を実現するために、複数の部品や電源およびアースなどをネットと呼ばれる接続線によって接続する。また、回路設計では、設計者が回路を設計した後に回路の各ネットやピン間に制約条件を設定する。
【０００３】
また、従来、半導体集積回路の設計において、トランジスタのサイズなどの制約値を入力してテンプレートデータを生成する技術が公知である（例えば、以下特許文献１，２参照。）。
【０００４】
また、従来、半導体集積回路のフォトマスクの生成において、既存のテンプレートデータに対してパラメータを入力し、新たなテンプレートデータを生成する技術が公知である（例えば、以下特許文献３参照。）。
【０００５】
また、従来、制約条件が付加されたテンプレートデータと同一または類似の部分回路を実装設計すべき回路の中から抽出し、抽出した回路にテンプレートデータに付加された制約条件を適用する技術が公知である（例えば、以下特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−２９９５０７号公報
【特許文献２】特開２００８−２５７３７７号公報
【特許文献３】特開２００６−４８１２７号公報
【特許文献４】特開２００７−２７２６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、回路設計において、設計者は、設計した回路のトポロジをイメージしにくいため、複雑なパスへの制約条件の設定が困難である。
【０００８】
１つの側面では、本発明は、設計者が画面上でトポロジのイメージを見ながら制約条件を設定できる回路設計支援プログラム、回路設計支援方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一側面によれば、設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約情報を受付可能な入力欄と、を表示する回路設計支援プログラム、回路設計支援方法、および情報処理装置が提案される。
【発明の効果】
【００１０】
本発明の一態様によれば、設計者が画面上でトポロジのイメージを見ながら制約条件を設定できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明にかかる情報処理装置の一動作例を示す説明図である。
【図２】図２は、設計フロー例を示す説明図である。
【図３】図３は、制約条件の受け渡し例を示す説明図である。
【図４】図４は、制約条件による部品の配置指示例を示す説明図である。
【図５】図５は、制約条件によるネットの配線長指示例を示す説明図である。
【図６】図６は、回路例を示す説明図である。
【図７】図７は、図６に示した回路例に対する制約条件指定例を示す説明図である。
【図８】図８は、ＧＵＩ上に表示したトポロジによる制約条件の入力例を示す説明図である。
【図９】図９は、制約条件をテンプレート化する例を示す説明図である。
【図１０】図１０は、情報処理装置のハードウェア構成例を示すブロック図である。
【図１１】図１１は、情報処理装置の機能的構成例を示すブロック図である。
【図１２】図１２は、回路データベース例を示す説明図である。
【図１３】図１３は、回路例を示す説明図である。
【図１４】図１４は、図１３に示した回路を示す回路データベース例を示す説明図である。
【図１５】図１５は、ネットテーブル例を示す説明図である。
【図１６】図１６は、部品テーブル例を示す説明図である。
【図１７】図１７は、部品ピンテーブル例を示す説明図である。
【図１８】図１８は、制約条件テーブル例を示す説明図である。
【図１９】図１９は、トポロジデータ例を示す説明図である。
【図２０】図２０は、トポロジのイメージ例である。
【図２１】図２１は、線長データ例を示す説明図である。
【図２２】図２２は、パス定義データ例を示す説明図である。
【図２３】図２３は、テンプレートデータ例を示す説明図である。
【図２４】図２４は、選択例を示す説明図である。
【図２５】図２５は、選択要素テーブル例を示す説明図である。
【図２６】図２６は、回路とパストレースＤＢ例を示す説明図である。
【図２７】図２７は、トポロジデータの生成に用いる回路例を示す説明図である。
【図２８】図２８は、シンボルデータベース例を示す説明図である。
【図２９】図２９は、トポロジ図面上に各部品のシンボルを配置した例を示す説明図である。
【図３０】図３０は、列間距離の決定例を示す説明図である。
【図３１】図３１は、シンボル定義データおよびノード定義データ例を示す説明図である。
【図３２】図３２は、パス定義データ生成例を示す説明図である。
【図３３】図３３は、表示例を示す説明図である。
【図３４】図３４は、情報処理装置による回路設計支援処理手順例を示すフローチャートである。
【図３５】図３５は、図３４に示したトレース処理の詳細な説明を示すフローチャートである。
【図３６】図３６は、図３４で示したトポロジデータの生成処理の詳細な説明を示すフローチャートである。
【図３７】図３７は、図３４で示したパス定義データの生成処理の詳細な説明を示すフローチャート（その１）である。
【図３８】図３８は、図３４で示したパス定義データの生成処理の詳細な説明を示すフローチャート（その２）である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、本発明にかかる回路設計支援プログラム、回路設計支援方法、および情報処理装置の実施の形態を詳細に説明する。
【００１３】
図１は、本発明にかかる情報処理装置の一動作例を示す説明図である。情報処理装置１００は、回路１１０の配線への制約条件の設定を容易化することにより回路１１０の設計を支援するコンピュータである。情報処理装置１００は、回路設計支援プログラムを実行することにより回路設計支援方法を実現するコンピュータである。
【００１４】
従来、制約条件の設定は、例えば、表データなどに、各部品ピンの名前やパス名などを回路データに基づき取得して、表データなどで利用者が部品ピン間の長さやパスの長さなどを指定することにより行われる場合がある。例えば、駆動部品のピンから抵抗までを接続する１つの接続線に対して１つのネットが割り当てられる。そのため、例えば、第１部品のピンから第２部品のピンまでのネットが分岐して第３部品のピンに接続される場合に、第１部品のピンから第２部品のピンまでの制約条件と、第１部品のピンから第３部品のピンまでの制約条件とは同一条件が設定される。このように、従来、ネットに分岐があっても詳細な制約条件の設定ができないという問題点がある。
【００１５】
本実施の形態では、条件の設定対象パスごとに、該パス上の部品ピンとトポロジデータが示すノードとの対応関係を示す対応データを生成し、対応データとトポロジデータと条件入力欄を表示する。これにより、回路の設計者が画面上でトポロジ図を見ながら制約条件を設定できる。
【００１６】
また、第１部品のピンと第２部品のピンとを接続するネットが分岐して第３部品のピンにも接続される場合を例に挙げる。この場合、本実施の形態では、第１部品のピンから第２部品のピンまでの制約条件と、第１部品のピンから第３部品のピンまでの制約条件とに対して異なる条件が設定可能である。
【００１７】
また、実装の設計者は、回路の設計者からトポロジに関連付けられて制約条件を受け渡されるため、回路の設計者が意図しないトポロジによって実装の設計者が配線してしまうことを抑止できる。
【００１８】
情報処理装置１００は、設計対象の回路１１０に含まれる部品と部品間の接続関係を示す回路データ１０１に基づいて、回路１１０に含まれる選択された要素を有するパスを探索する。ここで、要素とは、部品や接続線などである。接続線は、例えば、ネットとも称する。回路データ１０１は、例えば、ネットリストである。回路データ１０１は、後述する図１２に示す回路データベースである。ここで、パスとは、駆動部品の端子から受信部品の端子までの経路である。駆動部品はドライバとも称し、受信部品はレシーバとも称する。
【００１９】
図１の例では、回路１１０は、部品Ｉ１と部品Ｉ２と部品Ｒと部品Ｃ１と部品Ｃ２とを有する。部品Ｉ１は、例えば、ドライバである。部品Ｉ２は、例えば、レシーバである。部品Ｒは、例えば、抵抗である。部品Ｃ１と部品Ｃ２とは、例えば、容量である。図１の例では、ネットは、例えば、Ｎ１〜Ｎ５まである。
【００２０】
選択された要素は、情報処理装置１００に対する設計者の操作によって回路１１０の中から選択された要素である。図１の例では、ネットＮ１からネットＮ５と部品Ｒとが選択された要素である。
【００２１】
情報処理装置１００は、例えば、選択された要素がネットであれば、回路データ１０１に基づきネットの接続先部品のピンなどを辿ることによりパスを探索する。情報処理装置１００は、パスを探索することによってパス上の部品および接続線を特定することができる。図１の例では、パスｐ１とパスｐ２とが探索される。探索されるパスは、例えば、複数であり、パスの駆動部品が同一であり、かつパスの受信部品のうちの少なくともいずれかの受信部品が同一である。
【００２２】
つぎに、情報処理装置１００は、探索したパスのうち所定条件を満たすパスについて、特定した部品に対応する絵図と、特定した部品の端子および特定した接続線の分岐点の各々に対応する節点と、によってパスの配線状態を示すトポロジデータ１０２を生成する。節点はノードとも称する。配線状態はトポロジとも称する。絵図はシンボルとも称する。シンボルは、トポロジ図において部品を模した絵図である。部品の種類別に予めシンボル情報が用意される。シンボル情報によってトポロジ図においてシンボルが配置される。所定条件を満たすパスとは、例えば、探索したパスのうち特定した部品の数が最も多いパスである。図１の例では、トポロジ１１１では、ノードをＮＯ１〜ＮＯ６まで有する。
【００２３】
そして、情報処理装置１００は、探索したパスの各々について、探索したパスに含まれる特定した部品の端子と、生成したトポロジデータ１０２が示すトポロジにおけるノードと、の対応関係を示す対応データ１１３を生成する。パス定義データ１１２は、パスごとに対応データ１１３を格納する。
【００２４】
具体的に、情報処理装置１００は、例えば、パス定義データ１１２のラベルにノードの名前を割り当てる。そして、情報処理装置１００は、例えば、パスｐ１とパスｐ２との各々について、トポロジのノードとパス上の部品の部品ピンと、の対応付けを行う。
【００２５】
情報処理装置１００は、例えば、パスｐ１上の部品Ｉ１の部品ピンＩ１．１はノードＮＯ１に対応付ける。情報処理装置１００は、例えば、パスｐ１上の部品Ｃ１の部品ピンＣ１．１はノードＮＯ２に対応付ける。パスｐ１についての対応付けた対応データ１１３は対応データ１１３−１であり、パスｐ２についての対応付けた対応データ１１３は対応データ１１３−２である。
【００２６】
情報処理装置１００は、例えば、パスｐ１について、トポロジデータ１０２の生成時にパスｐ１上の部品の部品ピンを利用するため、パスｐ１上のすべての部品のピンについてノードを対応付けることができる。情報処理装置１００は、例えば、パスｐ２について、部品Ｒの部品ピンＲ．１と部品Ｒの部品ピンＲ．２に対応するノードがないため、ノードＮＯ７とノードＮＯ８とをパス定義データ１１２に追加して対応付ける。
【００２７】
そして、情報処理装置１００は、トポロジデータ１０２と、探索したパスの各々について生成した対応データ１１３と、探索したパスに対する制約条件を示す制約データを受付可能な入力欄１１５と、を表示する。制約データは、例えば、後述する線長データのようにノード間の長さである。情報処理装置１００は、例えば、トポロジデータ１０２が示すトポロジ１１１と、対応データ１１３と、入力欄１１５と、を含む画面１１４を生成して表示する。
【００２８】
このように、同一ドライバからレシーバまでの異なる複数のパスにおいて、パス上の部品ピンとノードとを対応付けるため、ノードを利用してより詳細な制約条件を設定することが可能となる。これにより、設計者が画面上でトポロジ１１１のイメージを見ながら制約条件を設定できる。
【００２９】
図２は、設計フロー例を示す説明図である。ここで、理解の容易化のために、基板設計についての設計フローを説明する。設計フローでは、仕様設計、回路設計、実装設計、解析、基板試作の順で作業が行われる。
【００３０】
仕様設計では、例えば、設計者が回路基板のシステム要件や製造条件などの仕様を決定する。システム要件とは、設計対象の回路の機能、部品構成、動作周波数、バス構成などが挙げられる。製造条件とは、配置制限、層数などが挙げられる。仕様設計では仕様書が作成される。仕様書は仕様設計によって決められた仕様である。
【００３１】
仕様設計におけるフロアプランニングおよび解析では、設計者によってプリント基板の製造時に問題が発生しないような回路設計や実装設計時の制約を検討して作成する。
【００３２】
つぎに、回路設計では、設計者が設計対象の回路の機能を実現するために、複数の部品や電源およびアースをネットと呼ばれる接続線によって接続する作業を行う。ここで、設計者は、制約条件を作成する場合もある。回路設計ではネットリストが作成される。回路設計におけるフロアプランニングおよび解析では、設計者によってプリント基板の製造時に問題が発生しないような回路設計や実装設計時の制約を検討して作成する。
【００３３】
また、回路設計において実装設計時の制約条件が設定される場合がある。制約条件は、制約条件ＤＢなどに格納される。実装設計時の制約とは、部品位置、ネットの配線長、配線間隔、バイパスコンデンサの数などが挙げられる。
【００３４】
そして、実装設計では、回路設計において作成されるネットリストが示す回路に含まれる部品の接続条件と制約条件ＤＢに含まれる各制約条件を遵守するように、シミュレーション空間において対象回路に含まれる部品を配置および部品間を配線する作業を行う。実装設計では、レイアウトデータが作成される。シミュレーション空間とは、コンピュータ上でシミュレーションされる仮想的な空間である。具体的に、シミュレーション空間は、例えば、レイアウトの設計を行うための実装設計ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）によって情報処理装置１００内に仮想的に設定された空間である。レイアウトデータは、ネットリストにおける情報に加えて、部品やネットの実際の形状の情報、基板上の位置情報などが含まれる。実装設計では、ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）データが作成される。
【００３５】
解析では、製造時に問題が発生しないかを、レイアウトデータを使って解析を行う。ここでの解析は、仕様設計および回路設計におけるフロアプランニングおよび解析と同様の作業であるが、レイアウトデータが作成されているため、解析の精度が高くなる。また、解析の終了後に、実装設計では、レイアウトデータから変換によってＣＡＭデータが作成される。ＣＡＭデータは、工場の生産ラインに渡して実際のプリント基板を制作するためのデータである。
【００３６】
つぎに、回路設計において設定される制約条件について簡単に説明する。
【００３７】
図３は、制約条件の受け渡し例を示す説明図である。従来、回路の設計者から実装の設計者への制約条件は、例えば、実装指示書と呼ばれる紙の書類によって受け渡される場合がある。近年、回路設計ＣＡＤから実装設計ＣＡＤへの制約条件は、例えば、データによって受け渡される場合がある。
【００３８】
具体的に、制約条件は、例えば、電子設計データ交換用のフォーマットであるＥＤＩＦ（Ｅｌｅｃｔｏｎｉｃ  Ｄｅｓｉｇｎ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）形式などで表されたネットリストとともにデータによって受け渡される。つぎに、図４および図５を用いて制約条件において指定する内容を説明する。
【００３９】
図４は、制約条件による部品の配置指示例を示す説明図である。部品の配置指示としては、例えば、任意の部品の近くに他の部品を配置することを指示することなどが挙げられる。部品Ｃ１、部品Ｃ２、および部品Ｃ３は部品Ｉ１から２０［ｍｍ］以内に配置する。
【００４０】
図５は、制約条件によるネットの配線長指示例を示す説明図である。ネットの配線長指示としては、例えば、部品ピン間に接続されたネットの配線長を指示する。例えば、部品ピンＩ１．１から部品ピンＩ２．２は線長１０［ｍｍ］以内にする。
【００４１】
回路の設計者は、回路図を作成後に制約条件を入力する際に、ピン間への線長指定やネット単位での線長指定を行う。
【００４２】
図６は、回路例を示す説明図である。図７は、図６に示した回路例に対する制約条件指定例を示す説明図である。図６に示す回路には、部品ピンＩ１．１から部品ピンＩ２．１までを経由するパスＰ１がある。図７（１）および図７（２）には、図６に示すパスＰ１の線長の指示例を示す。
【００４３】
図７（１）では、パスＰ１上の部品ピンをリスト化し、部品ピンのリストに対して線長の指示が行われる例を示す。例えば、パスＰ１は、部品ピンＩ１．１から部品ピンＩ３．１までの間に、部品ピンＲ１．１と部品ピンＲ１．２と部品ピンＩ２．１とを経由する。そのため、例えば、「部品ピンＩ１．１から部品ピンＲ１．１までの線長は１０［ｍｍ］とする」のように指示が行われる。図７（２）では、例えば、パスＰ１上のネットをリスト化し、ネットのリストに対して線長の指示が行われる例を示す。パスＰ１はネットＮ１とネットＮ２とを含む。そのため、例えば、「ネットＮ１の線長は１０［ｍｍ］とする」のように指示が行われる。
【００４４】
図６および図７に示すように、例えば、回路の設計者が手動によってリストに対して制約条件を設定していく。しかしながら、従来、トポロジがイメージしにくいため、複雑なパスへの制約条件設定は設計者の習熟度によっては困難である。
【００４５】
また、リストによって制約条件が管理される場合、回路の設計者と実装の設計者との間の意思疎通において食い違いが生じる可能性がある。そのため、回路の設計者が意図しないトポロジによって実装の設計者が配線する可能性がある。
【００４６】
そこで、本実施の形態では、条件の設定対象パスごとに、該パス上の部品ピンとトポロジデータが示すノードとの対応関係を示す対応データを生成し、対応データとトポロジデータと条件入力欄を表示する。これにより、回路の設計者が画面上でトポロジ図を見ながら制約条件を設定できる。
【００４７】
図８は、ＧＵＩ上に表示したトポロジによる制約条件の入力例を示す説明図である。情報処理装置１００は、トポロジ図をディスプレイなどのＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）に表示する。そして、設計者が任意の区間を選択して線長を入力可能とする。入力された制約条件は、例えば、データとして回路ＣＡＤから実装ＣＡＤへ受け渡すため、回路ＣＡＤまたは実装ＣＡＤによって同じ内容を共有することが可能となる。
【００４８】
図９は、制約条件をテンプレート化する例を示す説明図である。トポロジが定義された情報については、制約条件が定義された情報と組み合わせることによってテンプレート化してもよい。これにより、所望のトポロジ図と線長条件とを組み合わせて利用可能である。
【００４９】
（情報処理装置１００のハードウェア構成例）
図１０は、情報処理装置のハードウェア構成例を示すブロック図である。図１０において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３と、ディスクドライブ１００４と、ディスク１００５と、を有する。情報処理装置１００は、Ｉ／Ｆ（Ｉｎｔｅｒ／Ｆａｃｅ）１００６と、キーボード１００７と、マウス１００８と、ディスプレイ１００９と、を有する。また、各部はバス１０００によってそれぞれ接続されている。
【００５０】
ここで、ＣＰＵ１００１は、情報処理装置１００の全体の制御を司る。ＲＯＭ１００２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１００３は、ＣＰＵ１００１のワークエリアとして使用される。ディスクドライブ１００４は、ＣＰＵ１００１の制御に従ってディスク１００５に対するデータのリード／ライトを制御する。ディスク１００５は、ディスクドライブ１００４の制御で書き込まれたデータを記憶する。ディスク１００５としては、磁気ディスク、光ディスクなどが挙げられる。
【００５１】
Ｉ／Ｆ１００６は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク１０１０に接続され、このネットワーク１０１０を介して他の装置に接続される。そして、Ｉ／Ｆ１００６は、ネットワーク１０１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１００６には、例えばモデムやＬＡＮアダプタなどを採用することができる。
【００５２】
キーボード１００７やマウス１００８は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ１００９は、ＣＰＵ１００１の指示により、データを出力するインターフェースである。
【００５３】
また、図示を省略するが、情報処理装置１００には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置１００には、プリンタなどの出力装置が設けられていてもよい。
【００５４】
また、本実施の形態では、情報処理装置１００のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置１００がサーバである場合、情報処理装置１００と利用者の操作可能な装置やディスプレイ１００９などがネットワーク１０１０を介して接続されてもよい。
【００５５】
（情報処理装置１００の機能的構成例）
図１１は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置１００は、回路編集制御部１１００と、第１表示部１１０１と、選択受付部１１０２と、トレース部１１０３と、設定部１１０４と、第１生成部１１０５と、第２生成部１１０６と、を有する。また、情報処理装置１００は、第２表示部１１０７と、設定受付部１１０８と、第３生成部１１０９と、記憶部１１１０と、を有する。記憶部１１１０は、ＲＯＭ１００２、ＲＡＭ１００３、ディスク１００５などの記憶装置によって実現される。回路編集制御部１１００から第３生成部１１０９までの制御部の処理は、例えば、図１０に示すＣＰＵ１００１がアクセス可能な記憶部１１１０に記憶されたプログラムにコーディングされる。そして、ＣＰＵ１００１が記憶部１１１０から該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、ＲＡＭ１００３、ＲＯＭ１００２、ディスク１００５などの記憶部１１１０に記憶される。
【００５６】
記憶部１１１０は、例えば、制約条件データベース１１１１と、回路データベース１１１２と、部品ライブラリデータベース１１１３と、シンボルデータベース１１１４と、を有する。データベースを省略してＤＢ（ＤａｔａＢａｓｅ）と表記する場合もある。
【００５７】
制約条件ＤＢ１１１１は、例えば、設計者が設定した制約条件を示す制約条件テーブルを記憶するデータベースである。制約条件ＤＢ１１１１が記憶する制約条件テーブルの詳細例は、後述する図１８に示す。回路ＤＢ１１１２は、設計者が設計した回路に含まれる部品と部品間の接続関係を示す回路情報である。回路ＤＢ１１１２の詳細例は、後述する図１２に示す。部品ライブラリＤＢ１１１３は、回路に使用される部品のライブラリである。設計者は、シミュレーション空間において、部品ライブラリＤＢ１１１３から利用する部品を選択し、選択した部品を回路図に配置する。部品ライブラリＤＢ１１１３の詳細例については省略する。
【００５８】
図１２は、回路データベース例を示す説明図である。図１２において、回路ＤＢ１１１２は、例えば、回路図テーブル１２００と、部品テーブル１２０１と、部品ピンテーブル１２０３と、ネットテーブル１２０２と、を有する。４つの種類のテーブルは、リンクされる。図１２における「１」は１つのテーブルを示し、「＊」は複数のテーブルを示す。例えば、回路図テーブル１２００に「１」が記載され、ネットテーブル１２０２と部品テーブル１２０１に「＊」が記載されているのは、回路図テーブル１２００が１つに対してネットテーブル１２０２と部品テーブル１２０１とが複数あることを示す。
【００５９】
回路図テーブル１２００は、例えば、回路図全体の情報を管理するデータテーブルである。回路図テーブル１２００は、例えば、１つの回路図面に対して１つ作成される。回路図テーブル１２００は、複数の部品テーブル１２０１、およびネットテーブル１２０２へのリンク情報を有する。
【００６０】
部品テーブル１２０１は、例えば、回路図に含まれる部品の情報を管理するデータテーブルである。部品テーブル１２０１は、例えば、設計者によって部品が回路図に追加されると、部品テーブル１２０１が１つ追加される。１つの部品テーブル１２０１は、１または複数の部品ピンテーブル１２０３へリンクする。部品テーブル１２０１の詳細例は図１６に示す。
【００６１】
部品ピンテーブル１２０３は、例えば、部品に対して部品ピンの情報を管理するためのテーブルである。部品ピンテーブル１２０３は、例えば、親の部品テーブル１２０１へリンクし、および接続されているネットテーブル１２０２へリンクする。また、部品が有する部品ピンの数は部品ライブラリデータベース１１１３に定義される。部品ピンテーブル１２０３の詳細例は図１７に示す。
【００６２】
ネットテーブル１２０２は、例えば、回路図に含まれるネットの情報を管理するためのテーブルである。ネットテーブル１２０２が１つ追加されると、接続されている部品ピンテーブル１２０３へリンクする。ネットテーブル１２０２の詳細例は図１５に示す。
【００６３】
図１３は、回路例を示す説明図である。回路１３００は、部品Ａと、部品Ｒと、部品Ｃと、部品Ｂと、を有する。部品Ａの部品ピンＰＡと部品Ｒの部品ピンＰＲ１とは、ネットＮ１によって接続される。部品Ｒの部品ピンＰＲ２と部品Ｃの部品ピンＰＣ１とは、ネットＮ２によって接続される。部品Ｃの部品ピンＰＣ２と部品Ｂの部品ピンＰＢとは、ネットＮ３によって接続される。
【００６４】
図１４は、図１３に示した回路を示す回路データベース例を示す説明図である。図１４の例では、Ａ，Ｂ，Ｒ，Ｃなどの部品名が付されたテーブルは部品テーブル１２０１である。図１４の例では、Ｎ１〜Ｎ３などのネット名が付されたテーブルはネットテーブル１２０２である。図１４の例では、ＰＡ，ＰＢ，ＰＲ１，ＰＲ２，ＰＣ１，ＰＣ２などの部品ピン名が付されたテーブルは部品ピンテーブル１２０３である。
【００６５】
図１４において、点線は、例えば、ネットテーブル１２０２と部品ピンテーブル１２０３とがリンクすることを示す。
【００６６】
図１５は、ネットテーブル例を示す説明図である。ネットテーブル１２０２は、例えば、ネットを表すテーブルである。１つのネットに対して１つのネットテーブル１２０２が生成される。ネットテーブル１２０２は、ＩＤ、名前、属性情報、部品接続ピンへのリンクなどのフィールドを有する。ネットテーブル１２０２は、例えば、記憶部１１１０に記憶される。
【００６７】
ＩＤのフィールドには、例えば、ネットを一意に特定可能な識別情報が設定される。名前のフィールドには、例えば、ネット名が設定される。属性情報のフィールドには、例えば、ネットの特徴を示す情報が設定される。ネットの特徴を示す情報とは、例えば、伝送速度、抵抗値、電源やＶＤＤに接続されるネットであればＶＤＤネットであるかＶＳＳネットであるかなどの情報が設定される。接続部品ピンへのリンクのフィールドには、接続されている部品ピンの部品ピンテーブル１２０３へのリンク情報が設定される。リンク情報は、例えば、部品ピンテーブル１２０３のポインタであってもよいし、接続部品ピンを一意に特定可能な識別情報であってもよい。
【００６８】
図１６は、部品テーブル例を示す説明図である。部品テーブル１２０１は、部品に関するテーブルである。１つの部品に対応して部品テーブル１２０１が１つ作成される。部品テーブル１２０１は、例えば、ＩＤ、名前、属性情報、部品ピンへのリンクのフィールドを有する。部品テーブル１２０１は、例えば、記憶部１１１０に記憶される。
【００６９】
ＩＤのフィールドには、例えば、部品を一意に特定可能な識別情報が設定される。名前のフィールドには、例えば、部品名が設定される。
【００７０】
属性情報のフィールドには、例えば、部品の特徴を示す情報が設定される。部品の特徴を示す情報は、例えば、部品種別を示す識別情報である。部品種別は、例えば、抵抗、コンデンサ、コイル、ＩＣなどといった部品の種別である。また、部品種別は、例えば、ドライバやレシーバといった種別であってもよい。また、部品の特徴を示す情報は、例えば、部品の手配指示の情報などであってもよい。
【００７１】
部品ピンへのリンクのフィールドには、例えば、部品が有する部品ピンの部品ピンテーブル１２０３へのリンク情報が設定される。リンク情報は、例えば、部品ピンテーブル１２０３のポインタであってもよいし、部品ピンを一意に特定可能な識別情報であってもよい。
【００７２】
図１７は、部品ピンテーブル例を示す説明図である。部品ピンテーブル１２０３は、例えば、部品ピンを示すテーブルである。部品ピンテーブル１２０３は、例えば、ＩＤ、名前、属性情報、部品へのリンク、接続ネットへのリンクのフィールドを有する。部品ピンテーブル１２０３は、例えば、記憶部１１１０に記憶される。
【００７３】
ＩＤのフィールドには、例えば、部品を一意に特定可能な識別情報が設定される。名前のフィールドには、部品ピンの名前が設定される。
【００７４】
属性情報のフィールドには、例えば、部品ピンの特徴を示す情報が設定される。部品ピンの特徴を示す情報は、例えば、入出力属性の情報などが挙げられる。入出力属性は、例えば、入力（Ｉｎ）、出力（Ｏｕｔ）、入出力（Ｉｎｏｕｔ）などを表す。
【００７５】
部品へのリンクのフィールドには、自部品ピンを有する部品の部品テーブル１２０１へのリンク情報が設定される。リンク情報は、例えば、部品テーブル１２０１のポインタであってもよいし、部品を一意に特定可能な識別情報であってもよい。接続ネットへのリンクのフィールドには、自ネットが接続されているネットのネットテーブル１２０２へのリンク情報が設定される。リンク情報は、例えば、ネットテーブル１２０２のポインタであってもよいし、接続ネットを一意に特定可能な識別情報であってもよい。
【００７６】
図１８は、制約条件テーブル例を示す説明図である。制約条件テーブル１８００は、例えば、設計者の入力した制約条件を記憶するデータベースである。制約条件テーブル１８００は制約条件データベース１１１１に登録される。
【００７７】
制約条件テーブル１８００は、例えば、ＩＤ、名前、テンプレート名、トポロジデータ１８０１、線長データ１８０２、パス定義データ１８０３のフィールドを有する。
【００７８】
ＩＤのフィールドには、制約条件を一意に識別可能な識別情報が設定される。名前のフィールドには、制約条件名が設定される。テンプレート名のフィールドには、テンプレートデータを使用する場合に、テンプレート名が設定される。
【００７９】
トポロジデータ１８０１のフィールドには、条件を設定するパスについてのトポロジを示すデータが設定される。線長データ１８０２のフィールドには、設定する線長の値や線長の種別などが設定される。パス定義データ１８０３のフィールドには、条件を設定するパスごとにパスに含まれる部品のピンと、トポロジに含まれるノードと、の対応関係を示す対応データが設定される。
【００８０】
図１９は、トポロジデータ例を示す説明図である。トポロジデータ１８０１は、例えば、シンボル定義データ１９０１、ノード定義データ１９０２、および構成要素定義データ１９０３を有する。トポロジデータ１８０１は、記憶部１１１０に記憶される。
【００８１】
シンボル定義データ１９０１は、例えば、トポロジに含まれるシンボルを定義する。シンボル定義データ１９０１は、シンボルごとに、シンボル名、Ｘ，Ｙ座標、方向、シンボル種別のフィールドを有する。シンボル名のフィールドには、トポロジデータ１８０１の中で一意に定まる名前が設定される。Ｘ，Ｙ座標のフィールドには、トポロジを表示する際の図面におけるシンボルの位置を示す座標値が設定される。方向のフィールドには、トポロジを表示するにあたり、シンボルを描画する向きが設定される。方向としては、例えば、テンプレートとなるシンボルの形状に対する角度が設定されてもよい。「０」が設定される場合、シンボルの形状のまま配置され、「１８０」が設定される場合、シンボルの形状が反転して配置される。シンボル種別のフィールドには、ドライバ、レシーバ、抵抗、コンデンサ、電源、アースといったシンボル形状の種別が設定される。
【００８２】
例えば、シンボル定義データ１９０１には、以下「  」内のように記述される。
「ＳＹＭ１，１００，２００，０，ＤＲＶ
ＳＹＭ２，５００，６００，０，ＲＣＶ
ＳＹＭ３，１０００，５００，０，ＧＮＤ」
上記シンボル定義データ１９０１の記述例では、ドライバのシンボルがＳＹＭ１として定義され、ドライバのシンボルが（１００，２００）の位置に、方向が「０」の状態で配置されることが定義される。上記シンボル定義データ１９０１の記述例では、例えば、レシーバのシンボルがＳＹＭ２として定義され、（５００，６００）の位置に、方向が「０」の状態で配置されることが定義される。上記シンボル定義データ１９０１の記述例では、例えば、ＧＮＤのシンボルがＳＹＭ３として定義され、（１０００，５００）の位置に、方向が「０」の状態で配置されることが定義される。
【００８３】
つぎに、ノード定義データ１９０２は、要素同士が接続される接点の情報である。ノード定義データ１９０２は、ノード名、Ｘ，Ｙ座標、ノード種別、シンボル名、シンボルピン追番のフィールドを有する。ノード名のフィールドには、トポロジデータ１８０１の中で一意に定まる名前が設定される。Ｘ，Ｙ座標のフィールドには、トポロジを表示する際の図面におけるノードの位置を示す座標値が設定される。ノード種別のフィールドには、「シンボルピン（ＳＹＭＰＩＮ）」または「ネット分岐点（ＤＩＶ）」のいずれかが設定される。部品に対応するシンボルのピンに対応するノードの場合、ノード種別のフィールドには「シンボルピン（ＳＹＭＰＩＮ）」が設定される。ネット分岐点に対応するノードの場合、ノード種別のフィールドには「ネット分岐点（ＤＩＶ）」が設定される。シンボルピン追番のフィールドには、ノードがシンボルピンの場合に、ノードが該当するシンボルピンの名前が設定される。
【００８４】
例えば、ノード定義データ１９０２には、以下「  」内のように記述される。
「ＮＯＤＥ１，１１０，２１０，ＳＹＭＰＩＮ，ＳＹＭ１，０１
ＮＯＤＥ２，３００，４００，ＤＩＶ」
上記ノード定義データ１９０２の記述例では、ＮＯＤＥ１は、（１１０，２１０）の位置であり、シンボルピンのノードであり、ＳＹＭ１のピン０１に対応することが定義される。また、上記ノード定義データ１９０２の記述例では、ＮＯＤＥ２は、（３００，４００）の位置であり、ネット分岐点のノードに対応することが定義される。
【００８５】
つぎに、構成要素定義データ１９０３は、トポロジの構成情報であり、シンボル定義データ１９０１とノード定義データ１９０２とによって定義された要素がどのように接続されるかを示す接続情報である。構成要素定義データ１９０３は、要素ごとに、要素種別、要素名、接続ノード１、接続ノード２のフィールドを有する。
【００８６】
要素種別のフィールドには、「シンボル（ＳＹＭＢＯＬ）」または「ネット分岐点」とのいずれかが設定される。要素名のフィールドには、要素種別が「シンボル」である場合に、シンボル名が設定される。接続ノード１のフィールドには、要素に属するノード名が設定される。接続ノード２のフィールドには、要素に属するノード名が設定される。接続ノード２のフィールドについては、抵抗などの２端子部品やネット分岐点の場合に使用される。
【００８７】
構成要素定義データ１９０３には、例えば、以下「  」内のように記述される。
「ＳＹＭＢＯＬ，ＳＹＭ１，ＮＯＤＥ１
ＤＩＶ，  ，ＮＯＤＥ１，ＮＯＤＥ２」
上記構成要素定義データ１９０３の記述例では、ＳＹＭ１はＮＯＤＥ１に接続され、ＮＯＤＥ１はＮＯＤＥ２に接続されることが記述されてある。ＮＯＤＥ１がＮＯＤＥ２に接続されるとは、ＮＯＤＥ１に接続されるネットの分岐点にＮＯＤＥ２が接続されることを示す。
【００８８】
図２０は、トポロジのイメージ例である。トポロジ図面２０００の例では、Ｄｒｖは、ドライバのシンボルで表される。トポロジ図面２０００の例では、Ｄｕｍｐ，ＰｕｌｌＵｐ，ＰｕｌｌＤｏｗｎは抵抗のシンボルで表される。トポロジ図面２０００の例では、Ｒｃｖは、レシーバのシンボルで表される。ノードは、ＮＯ１〜ＮＯ１２である。
【００８９】
図２１は、線長データ例を示す説明図である。線長データ１８０２は、条件として設定される線長を表す情報である。線長データ１８０２は、例えば、線長種別、値、範囲のフィールドを有する。線長種別のフィールドには、総線長、ピン間、ノード間といった指定する線長の範囲を示した種別が設定される。例えば、ノード間の場合、２つのノード名によって線長種別を表してもよい。値のフィールドには、指定する線長の値が設定される。範囲のフィールドには、「以上（≧）」、「以下（≦）」、「大（＞）」、「未満（＜）」、「公差（±）」などが設定される。
【００９０】
例えば、線長データ１８０２には、以下「  」内のように記述される。
「ＰＩＮ＿ＴＯ＿ＰＩＮ，１００，≧」
上記線長データ１８０２の記述例では、ピン間が１００［ｍｍ］以上の線によって接続されることを示す。
【００９１】
図２２は、パス定義データ例を示す説明図である。パス定義データ１８０３は、例えば、条件を設定するパスごとにパスに含まれる部品の部品ピンと、トポロジに含まれるノードと、の対応関係を示す対応データを有する。
【００９２】
パス定義データ１８０３は、例えば、パスごとに、ラベル、パスに含まれる要素名のフィールドを有する。ラベルのフィールドには、トポロジデータ１８０１上のノード名が設定される。パスに含まれる要素名のフィールドには、回路図上の部品ピン名が設定され、トポロジ上のノードがどのピンに割り当てられるかが設定される。
【００９３】
図２３は、テンプレートデータ例を示す説明図である。テンプレートデータ２３００は、例えば、複数の制約条件に流用可能なテンプレートを表すデータである。テンプレートデータ２３００は、テンプレート名、トポロジデータ１８０１、線長データ１８０２のフィールドを有する。
【００９４】
テンプレート名のフィールドには、制約条件データベース１１１１の中で一意に定まるテンプレートの名前が設定される。トポロジデータ１８０１のフィールドには、テンプレートとして利用者に選択されたトポロジデータ１８０１が設定される。トポロジデータ１８０１の情報形式については、図１９に示した通りである。線長データ１８０２のフィールドには、テンプレートとして利用者に選択された線長データ１８０２が設定される。線長データ１８０２の情報形式については、図２１に示した通りである。
【００９５】
以上で各情報の形式についての説明を終了する。つぎに、図１１の説明に戻り、各部の詳細な説明を行う。
【００９６】
第１表示部１１０１は、回路データベース１１１２に基づいてシミュレーション空間上に配置された回路の図面を表示する。回路編集制御部１１００は、表示された回路の図面に対する設計者の操作に応じて回路データベース１１１２を編集する。設計者の操作については、キーボード１００７やマウス１００８などの入力装置が操作されることを示す。
【００９７】
選択受付部１１０２は、シミュレーション空間上に表示された回路に含まれる制約条件の設定対象となる要素の選択を受け付ける。
【００９８】
図２４は、選択例を示す説明図である。回路の図面をディスプレイ１００９に表示させる場合に、選択受付部１１０２は、キーボード１００７やマウス１００８などの入力装置に対する設計者の操作の入力を受け付けることにより回路上の要素の選択を受け付ける。図２４の例では、ネットＮ１と、部品Ｒと、ネットＮ２とが選択される。ネットＮ１は部品Ｉ１の部品ピンＰＩ１と、部品Ｒの部品ピンＰＲ１とを接続する。ネットＮ２は、部品Ｒの部品ピンＰＲ２と部品Ｉ２の部品ピンＰＩ２を接続し、部品Ｒの部品ピンＰＲ２と部品Ｉ３の部品ピンＰＩ３を接続する。
【００９９】
図２５は、選択要素テーブル例を示す説明図である。選択受付部１１０２は、例えば、選択された要素のＩＤと要素の種別とを関連付けて選択要素テーブル２５００に格納する。ネットＮ１のＩＤは「２３」である。部品ＲのＩＤは「３４」である。ネットＮ２のＩＤは「２４」である。また、ネットＮ１とネットＮ２の種別はネットであり、部品Ｒの種別は部品である。
【０１００】
つぎに、トレース部１１０３は、回路データベース１１１２に基づいて、回路に含まれる選択された要素を有するパスを探索する。探索されるパスは、例えば、複数であり、パスのドライバが同一であり、かつパスのレシーバのうちの少なくともいずれかの受信部品が同一である。
【０１０１】
具体的に、トレース部１１０３は、例えば、選択された選択要素テーブル２５００に格納された要素の接続ピンの部品ピンテーブル１２０３を取得してトレースＤＢに格納する。そして、トレース部１１０３は、接続ピンに繋がっているネットのネットテーブル１２０２を取得してパストレースＤＢに格納する。つぎに、トレース部１１０３は、ネットの接続先部品の部品テーブル１２０１および接続先部品の部品ピンテーブル１２０３を取得してパストレースＤＢに格納する。パストレースＤＢについては後述する図２６に示す。
【０１０２】
トレース部１１０３は、接続先部品が受動部品である場合に、接続先部品を新たに選択された要素として接続ピンの部品ピンテーブル１２０３を取得してパストレースＤＢに格納する。
【０１０３】
トレース部１１０３は、すでにパストレースＤＢに格納されてあるテーブルについては、重複して格納しない。このようにして選択された要素を含むパス上の要素を特定することが可能となる。
【０１０４】
図２６は、回路とパストレースＤＢ例を示す説明図である。図２６の上側には、設計対象の回路２６００例を示す。図２６の下側には、回路２６００についてのパストレースＤＢ２６０１例を示す。
【０１０５】
つぎに、設定部１１０４は、パストレースＤＢ２６０１に含まれる部品テーブル１２０１が示す部品がドライバであるかレシーバであるかを判別する。具体的に、設定部１１０４は、例えば、以下の４つの判定によって部品テーブル１２０１が示す部品に優先度を付ける。そして、設定部１１０４は、優先度が高い部品の部品テーブル１２０１の属性欄に種別として「ドライバ」を設定する。
【０１０６】
まず、１つ目に、設定部１１０４は、受動部品ではない部品について優先度を高くする。２つ目に、設定部１１０４は、ピン属性が出力ピン＞入出力ピン＞入力ピンの順に優先度を高くする。３つ目に、設定部１１０４は、部品ＩＤが小さい部品の優先度を高くする。４つ目に、設定部１１０４は、部品ピンＩＤが小さいもの順に優先度を高くする。
【０１０７】
設定部１１０４は、例えば、優先度が特定の優先条件を満たすか否かを判断する。優先度が特定の優先条件を満たす場合とは、例えば、優先度が最も高い場合や優先度が最も高いまたは２番目に高い場合などが挙げられる。特定の優先度は、設計者によって指定されてもよい。設定部１１０４は、例えば、優先度が特定の優先条件を満たす場合、優先度が高いとして部品テーブル１２０１の属性情報に「ドライバ」を設定する。これに対して、設定部１１０４は、例えば、受動部品でなく優先度が特定の優先条件を満たさない場合、優先度が高くないとして部品テーブル１２０１の属性情報に「レシーバ」を設定する。
【０１０８】
図２６に示すように、部品Ｉ１はドライバであり、部品Ｉ２と部品Ｉ３はレシーバである。
【０１０９】
つぎに、第１生成部１１０５は、探索したパスの配線状態を示すトポロジデータ１８０１を生成する。第１生成部１１０５は、探索したパスのうち所定条件を満たすパスに含まれる部品に対応するシンボルと、所定条件を満たすパスに含まれる部品の端子および接続線の分岐点の各々に対応する節点と、によってトポロジデータ１８０１を生成する。所定条件を満たすパスとは、例えば、探索したパスのうちパスに含まれる部品の数が最も多いパスである。
【０１１０】
具体的に、第１生成部１１０５は、例えば、パストレースＤＢ２６０１に基づいてトポロジデータ１８０１を生成する。
【０１１１】
図２７は、トポロジデータの生成に用いる回路例を示す説明図である。回路２７００は、例えば、部品Ｉ１と、部品Ｃと、部品Ｒと、部品Ｉ２と、部品Ｉ３と、電源ＰＷＲと、を有する。部品Ｉ１と部品Ｒと部品ＣとはネットＮ１によって接続される。部品Ｒと部品Ｉ２と部品Ｉ３とは、ネットＮ２によって接続される。
【０１１２】
部品Ｉ１の部品ピンはＰＩ１である。部品Ｒの部品ピンはＰＲ１とＰＲ２である。電源ＰＷＲの部品ピンはＰＰＷＲである。部品Ｃの部品ピンはＰＣ１とＰＣ２である。部品Ｉ２のピンはＰＩ２である。部品Ｉ３の部品ピンはＰＩ３である。
【０１１３】
図２８は、シンボルデータベース例を示す説明図である。シンボルデータベース１１１４は、部品種別ごとにシンボル情報を有する。シンボル情報は、例えば、部品種別、シンボルの端点における座標値のフィールドを有する。端点を線によって結ぶと、シンボルとなる。
【０１１４】
図２８には、部品Ｃのシンボル情報例が挙げられる。シンボル情報２８００は、容量Ｃを表すシンボルである。シンボル情報２８００は、部品種別としてＣが設定され、端点（１，１）、端点（１，２）、端点（０，２）、端点（２，２）、端点（０，３）、端点（２，３）、端点（１，４）、端点（１，３）を有する。第２表示部１１０７は、シンボルを表示する際に、シンボル情報に含まれる１つの終点に記述された座標値を線によって結んで表示する。端点（１，１）と端点（１，２）とが線で接続されて表示される。
【０１１５】
つぎに、第１生成部１１０５は、シミュレーション空間におけるトポロジ図面を複数の列に分割する。
【０１１６】
第１生成部１１０５は、パストレースＤＢ２６０１が示すパスのうち、部品数が最も多いパスに基づいて、パストレースＤＢ２６０１が示す各パスについてのトポロジデータ１８０１を生成する。パストレースＤＢ２６０１には、探索したパスについてのパスデータを有する。パスデータとは、パスを形成するテーブル群である。
【０１１７】
第１生成部１１０５は、パストレースＤＢ２６０１に含まれる部品テーブル１２０１が示すドライバからの連結関係に基づき、各列に部品を示すシンボルをシミュレーション空間におけるトポロジ図面上に配置する。
【０１１８】
図２９は、トポロジ図面上に各部品のシンボルを配置した例を示す説明図である。第１生成部１１０５は、例えば、トポロジ図面２９００において、生成された各列に対してドライバからネットの連結関係に従って部品に対応するシンボルを配置する。部品に対応するシンボルとは、部品の種別ごとにトポロジ図用に予め用意された絵図である。第１生成部１１０５は、ドライバから連結関係があり、同じネットに連結している部品は同じ列に配置する。
【０１１９】
電源やアースに接続されている部品を表すシンボルは、縦配置扱いとなるため、各列への部品を表すシンボルの配置時には配置されない。
【０１２０】
ここでは、トポロジ図面２９００において、列１には部品Ｉ１のシンボルが配置される。列２には部品Ｒのシンボルが配置される。そして、トポロジ図面２９００において、列３には、ネットＮ２に接続される部品Ｉ２および部品Ｉ３のシンボルが配置される。
【０１２１】
第１生成部１１０５は、シンボルが配置された部品に接続されるネットを主幹とブランチとに分ける。例えば、ネットが、第１部品と第２部品との間のみを接続する場合、ネットの主幹は、第１部品と第２部品との間を接続する全部である。また、例えば、ネットが、第１部品と第２部品との間を接続し、かつ第１部品と第３部品との間を接続する場合、ネットの主幹は、第１部品と第２部品との間を接続する部分であり、ネットのブランチとは、第１部品と第３部品との間を接続する部分である。第１生成部１１０５は、トポロジ図面においてネットの主幹を２つの列の間に配置する。第１生成部１１０５は、トポロジ図面に配置されたシンボルの列間のネットのブランチの有無に応じて列間距離を決定する。
【０１２２】
図３０は、列間距離の決定例を示す説明図である。ネットのブランチがない場合の列間距離を基準距離とする。そして、第１生成部１１０５は、ネットのブランチがない場合、列間距離を１とする。
【０１２３】
第１生成部１１０５は、隣接列間のネットの主幹が電源またはアースに接続されるネットのブランチを有する場合に、列間距離を基準距離に対して１増やす。例えば、列１と列２との間については、ネットＮ１のブランチが電源に接続される部品Ｃ１に接続されるため、列間距離は２となる。また、第１生成部１１０５は、トポロジ図面２９００において、部品Ｃ１および電源を示すシンボルを配置する。
【０１２４】
また、第１生成部１１０５は、隣接列間のネットの主幹が部品ネットのブランチを有する場合に、列間距離を基準距離に対して１増やす。例えば、トポロジ図面２９００において、列２と列３との間については、ネットＮ２のブランチが部品Ｉ３に接続され、列間距離は２となる。
【０１２５】
また、第１生成部１１０５は、隣接列間のネットの主幹がいずれのネットのブランチも有する場合に、列間距離を基準距離に対して２増やす。
【０１２６】
また、第１生成部１１０５は、ネットの主幹が隣接しない列間に配置した部品のシンボルを接続する場合、決定した列間距離から基準距離を除いた距離を他の列の幅にしてもよい。
【０１２７】
図３１は、シンボル定義データおよびノード定義データ例を示す説明図である。第１生成部１１０５は、トポロジ３１００において部品に対応するシンボルと、シンボルの位置とを定義したシンボル定義データ１９０１を生成する。
【０１２８】
第１生成部１１０５は、ドライバのピンから順に配置したシンボルの各ピンと、ネットの分岐点と、の各々に対してノードを対応付けたノード定義データ１９０２を生成する。図３１の例では、第１生成部１１０５は、各部品のシンボルのピンと分岐点とに対してノードＮＯ１〜ＮＯ１０を対応付ける。
【０１２９】
つぎに、第２生成部１１０６は、探索したパスの各々について、探索したパスに含まれる部品のピンと、生成したトポロジデータ１８０１が示すトポロジにおけるノードと、の対応関係を示す対応データを生成する。
【０１３０】
図３２は、パス定義データ生成例を示す説明図である。第２生成部１１０６は、例えば、ノード定義データ１９０２に定義されたノードをパス定義データ１８０３のラベルに割り当てる。ここで、ノードをラベルに割り当てるとは、パス定義データ１８０３のラベルにノード名を設定することである。
【０１３１】
つぎに、第２生成部１１０６は、例えば、探索したパスの各々について、パス上にある部品の部品ピンと、ノードと、を対応付ける。具体的に、第２生成部１１０６は、例えば、部品ピンＩ１．１に対応するノードをノード定義データ１９０２に基づいて特定する。図３１に示したノード定義データ１９０２では、例えば、ノードＮＯ１が部品Ｉ１のピンに対応することが定義されてあるため、部品Ｉ１の部品ピンＩ１．１に対応するノードはノードＮＯ１である。第２生成部１１０６は、パス定義データ１８０３のノードＮＯ１のラベルに部品ピンＩ１．１を対応付ける。対応付けた結果が対応データ３２００−１である。
【０１３２】
部品Ｃの部品ピンＣ．１はノードＮＯ２に対応付けられる。部品Ｃの部品ピンＣ．２はノードＮＯ３に対応付けられる。部品Ｒの部品ピンＲ．１はノードＮＯ５に対応付けられる。部品Ｒの部品ピンＲ．２はノードＮＯ６に対応付けられる。部品Ｉ２の部品ピンＩ２．１はノードＮＯ７に対応付けられる。部品Ｉ３の部品ピンＩ３．１はノードＮＯ８に対応付けられる。
【０１３３】
このようにして、選択したパスの各々について、パス上にある部品のピンとノードとを対応付ける。
【０１３４】
つぎに、図１１に示す第２表示部１１０７は、トポロジデータ１８０１と、探索したパスの各々について生成した対応データ３２００と、探索したパスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する。ここで、制約データは、例えば、線長データ１８０２である。
【０１３５】
図３３は、表示例を示す説明図である。画面３３００は、例えば、トポロジの表示欄３３０１と、パス定義データ１８０３の表示欄３３０２と、制約条件の入力受付欄３３０３と、トポロジテンプレート選択欄３３０４と、線長テンプレート選択欄３３０５と、を有する。また、画面３３００は、「ＯＫ」ボタン３３０６と、「キャンセル」ボタン３３０７と、「テンプレートとして保存」ボタン３３０８と、を有する。
【０１３６】
設定受付部１１０８は、制約条件の入力受付欄３３０３に設計者の操作によって入力された線長データ１８０２を受け付ける。
【０１３７】
第３生成部１１０９は、受け付けた情報を線長データ１８０２として制約条件テーブル１８００に格納する。ここでは、設計者の操作によって「ＯＫ」ボタン３３０６が押下されることにより、設定受付部１１０８は、制約条件テーブル１８００に格納する。
【０１３８】
また、設定受付部１１０８は、線長テンプレート選択欄３３０５に表示されたテンプレートデータに含まれる線長データ１８０２から利用者の操作により線長データ１８０２の選択を受け付ける。第３生成部１１０９は、設計者の操作により選択を受け付けた線長データ１８０２を表示中のトポロジの線長データ１８０２として制約条件テーブル１８００に格納してもよい。
【０１３９】
また、設定受付部１１０８は、トポロジテンプレート選択欄３３０４に表示されるテンプレートデータから設計者の操作によるテンプレートデータの選択を受け付ける。そして、第３生成部１１０９は、トポロジテンプレート選択欄３３０４に表示されるテンプレートデータから設計者の操作によって選択されたテンプレートデータの名前を制約条件テーブル１８００のテンプレート名に格納してもよい。
【０１４０】
また、第３生成部１１０９は、「テンプレートとして保存」ボタン３３０８が設計者の操作によって押下されると、トポロジデータ１８０１と、線長データ１８０２と、をテンプレートデータとして関連付けて格納する。これにより、線長データ１８０２をテンプレートとして流用することが可能となり、一度作成した制約条件と同じ制約条件については効率よく設定することが可能となる。
【０１４１】
また、設定受付部１１０８は、線長テンプレート選択欄３３０５に表示されたテンプレートデータとして保存された線長データ１８０２から設計者の操作による線長データ１８０２の選択を受け付ける。
【０１４２】
第２表示部１１０７は、制約条件の入力受付欄３３０３に、選択を受け付けた線長データ１８０２が示す制約条件を設定して表示する。これにより、線長データ１８０２をテンプレートとして流用することが可能となり、一度作成した制約条件と類似した制約条件については効率よく設定することが可能となる。
【０１４３】
このように、回路の設計者は、画面上で制約条件を設定したい箇所についてのトポロジのイメージを見ながら制約条件を設定できる。
【０１４４】
また、テンプレートデータを流用することによって一度作成した制約条件と類似した条件は効率的に入力可能となる。
【０１４５】
（情報処理装置１００による回路設計支援処理手順例を示すフローチャート）
図３４は、情報処理装置による回路設計支援処理手順例を示すフローチャートである。情報処理装置１００は、要素の選択を受け付けて選択要素テーブル２５００に格納する（ステップＳ３４０１）。つぎに、情報処理装置１００は、トレース処理を行う（ステップＳ３４０２）。情報処理装置１００は、パストレースＤＢ２６０１の部品テーブル１２０１の属性にドライバとレシーバとを設定する（ステップＳ３４０３）。
【０１４６】
つぎに、情報処理装置１００は、トポロジデータ１８０１の生成処理を行う（ステップＳ３４０４）。情報処理装置１００は、パス定義データ１８０３の生成処理を行う（ステップＳ３４０５）。そして、情報処理装置１００は、制約条件入力用のＧＵＩを表示する（ステップＳ３４０６）。
【０１４７】
そして、情報処理装置１００は、線長データ１８０２の入力を受け付ける（ステップＳ３４０７）。つぎに、情報処理装置１００は、線長データ１８０２をトポロジデータ１８０１とパス定義データ１８０３とに関連付けて格納し（ステップＳ３４０８）、一連の処理を終了する。
【０１４８】
図３５は、図３４に示したトレース処理の詳細な説明を示すフローチャートである。つぎに、情報処理装置１００は、選択要素の接続ピンの部品ピンテーブル１２０３を回路データベース１１１２から取得してパストレースＤＢ２６０１に格納する（ステップＳ３５０１）。選択要素とは、選択要素テーブル２５００に登録された要素である。情報処理装置１００は、接続ピンのうち未選択なピンがあるか否かを判断する（ステップＳ３５０２）。
【０１４９】
未選択なピンがないと判断された場合（ステップＳ３５０２：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。未選択なピンがあると判断された場合（ステップＳ３５０２：Ｙｅｓ）、情報処理装置１００は、未選択なピンの中で、いずれかのピンを選択する（ステップＳ３５０３）。情報処理装置１００は、選択したピンに接続されるネットのネットテーブル１２０２を取得してパストレースＤＢ２６０１に格納する（ステップＳ３５０４）。
【０１５０】
情報処理装置１００は、ネットの接続先部品の部品テーブル１２０１および接続先部品の部品ピンテーブル１２０３を取得してパストレースＤＢ２６０１に格納する（ステップＳ３５０５）。つぎに、情報処理装置１００は、接続先部品のうち未選択な部品があるか否かを判断する（ステップＳ３５０６）。
【０１５１】
未選択な部品がないと判断された場合（ステップＳ３５０６：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。未選択な部品があると判断された場合（ステップＳ３５０６：Ｙｅｓ）、情報処理装置１００は、未選択な部品の中で、いずれかの部品を選択する（ステップＳ３５０７）。
【０１５２】
そして、情報処理装置１００は、受動部品であるか否かを判断する（ステップＳ３５０８）。受動部品でないと判断された場合（ステップＳ３５０８：Ｎｏ）、情報処理装置１００は、ステップＳ３５０６へ戻る。受動部品であると判断された場合（ステップＳ３５０８：Ｙｅｓ）、情報処理装置１００は、選択した部品を新たに選択要素とし、接続ピンの部品ピンテーブル１２０３を取得してパストレースＤＢ２６０１に格納し（ステップＳ３５０９）、ステップＳ３５０２へ戻る。
【０１５３】
図３６は、図３４で示したトポロジデータの生成処理の詳細な説明を示すフローチャートである。情報処理装置１００は、シンボルＤＢ１１１４を取得する（ステップＳ３６０１）。そして、情報処理装置１００は、シミュレーション空間におけるトポロジ図面をＮ個の列に分割する（ステップＳ３６０２）。
【０１５４】
情報処理装置１００は、パストレースＤＢ２６０１に基づき部品数が最多なパス上のドライバからレシーバまでの連結関係に従って、各列に部品を表すシンボルを配置したシンボル定義データ１９０１を生成する（ステップＳ３６０３）。そして、情報処理装置１００は、シンボル定義データ１９０１において、列間にあるネットのブランチの有無に応じて列間距離を決定する（ステップＳ３６０４）。
【０１５５】
つぎに、情報処理装置１００は、ドライバのピンからレシーバのピンまでの順に配置したシンボルの各ピンとネットの各分岐点とにそれぞれノードを割り当てたノード定義データ１９０２を生成し（ステップＳ３６０５）、一連の処理を終了する。
【０１５６】
図３７および図３８は、図３４で示したパス定義データの生成処理の詳細な説明を示すフローチャートである。まず、情報処理装置１００は、ノード定義データ１９０２で表すノードのノード名をパス定義データ１８０３のラベルに割り当てる（ステップＳ３７０１）。
【０１５７】
つぎに、情報処理装置１００は、パストレースＤＢ２６０１を取得する（ステップＳ３７０２）。そして、情報処理装置１００は、パストレースＤＢ２６０１に処理対象となっていないパスがあるか否かを判断する（ステップＳ３７０３）。処理対象となっていないパスがあると判断された場合（ステップＳ３７０３：Ｙｅｓ）、情報処理装置１００は、処理対象となっていないパスからいずれかのパスを処理対象に決定する（ステップＳ３７０４）。
【０１５８】
つぎに、情報処理装置１００は、処理対象のパスに未処理のドライバがあるか否かを判断する（ステップＳ３７０５）。ここでの未処理のドライバとは、ノードへの対応付けをまだ行っていないドライバである。未処理のドライバがあると判断された場合（ステップＳ３７０５：Ｙｅｓ）、情報処理装置１００は、パストレースＤＢ２６０１内のドライバの部品ピンに対応するノードを特定する（ステップＳ３７０６）。ここで、パストレースＤＢ２６０１内のドライバとは、パストレースＤＢ２６０１に部品テーブル１２０１が含まれるドライバである。
【０１５９】
そして、特定したノードが割り当てられたパス定義データ１８０３のラベルにドライバの部品ピンを対応付け（ステップＳ３７０７）、ステップＳ３８０１へ移行する。未処理のドライバがないと判断された場合（ステップＳ３７０５：Ｎｏ）、情報処理装置１００は、ステップＳ３８０１へ移行する。
【０１６０】
つぎに、情報処理装置１００は、処理対象のパスに未処理のレシーバがあるか否かを判断する（ステップＳ３８０１）。ここでの未処理のレシーバとは、ノードへの対応付けをまだ行っていないレシーバである。未処理のレシーバがないと判断された場合（ステップＳ３８０１：Ｎｏ）、情報処理装置１００は、ステップＳ３８０４へ移行する。未処理のレシーバがあると判断された場合（ステップＳ３８０１：Ｙｅｓ）、情報処理装置１００は、パストレースＤＢ２６０１内のレシーバの部品ピンに対応するノードを特定する（ステップＳ３８０２）。情報処理装置１００は、特定したノードが割り当てられたパス定義データ１８０３のラベルにレシーバの部品ピンを対応付ける（ステップＳ３８０３）。
【０１６１】
情報処理装置１００は、処理対象のパスに未処理の受動部品があるか否かを判断する（ステップＳ３８０４）。ここでの未処理の受動部品とは、ノードへの対応付けをまだ行っていない受動部品である。受動部品がないと判断された場合（ステップＳ３８０４：Ｎｏ）、情報処理装置１００は、ステップＳ３７０３へ戻る。
【０１６２】
受動部品があると判断された場合（ステップＳ３８０４：Ｙｅｓ）、情報処理装置１００は、パストレースＤＢ２６０１内の受動部品の部品ピンに対応するノードを特定する（ステップＳ３８０５）。情報処理装置１００は、特定できたか否かを判断する（ステップＳ３８０６）。
【０１６３】
特定できたと判断された場合（ステップＳ３８０６：Ｙｅｓ）、情報処理装置１００は、特定したノードが割り当てられたパス定義データ１８０３のラベルにレシーバの部品ピンを対応付け（ステップＳ３８０７）、ステップＳ３７０３へ戻る。特定できていないと判断された場合（ステップＳ３８０６：Ｎｏ）、情報処理装置１００は、パス定義データ１８０３の空きラベルにレシーバの部品ピンを対応付け（ステップＳ３８０８）、ステップＳ３７０３へ戻る。
【０１６４】
ステップＳ３７０３において処理対象となっていないパスがないと判断された場合（ステップＳ３７０３：Ｎｏ）、情報処理装置１００は、一連の処理を終了する。
【０１６５】
以上説明したように、情報処理装置は、条件の設定対象パスごとに、該パス上の部品ピンとトポロジ情報が示す節点との対応関係を示す対応情報を生成し、対応情報とトポロジ情報と条件入力欄を表示する。これにより、回路の設計者が画面上でトポロジ図を見ながら制約条件を設定できる。
【０１６６】
また、情報処理装置１００は、制約データを受け付けて、トポロジデータと、対応データと、受け付けた制約データと、を関連付けて記憶部１１１０に格納する。これにより、回路の設計者が設置した制約条件をトポロジ図に関連付けて実装の設計者に受け渡すことが可能となる。このため、回路の設計者が意図しないトポロジによって実装の設計者が配線してしまうことを抑止することができる。
【０１６７】
また、情報処理装置１００は、異なる２つのノード間の長さによって制約条件を指示する。このため、例えば、第１部品のピンから第２部品のピンまでのネットが分岐して第３部品のピンに接続される場合、第１部品のピンから第２部品のピンまでの制約条件と、第１部品のピンから第３部品のピンまでの制約条件とは異なる条件が設定可能である。これにより、より詳細に制約条件を設定することが可能となる。
【０１６８】
また、所定条件を満たすパスは、探索したパスのうち部品の数が最も多いパスである。
【０１６９】
また、探索したパスは、複数であり、パスの駆動部品が同一であり、かつパスの受信部品のうちの少なくともいずれかの受信部品が同一である。これにより、利用者が制約条件を設定したいパスについてのトポロジを作成可能である。
【０１７０】
また、選択された要素は、利用者の操作によって選択された要素である。これにより、利用者が制約条件を設定したいパスについてのトポロジを作成可能である。
【０１７１】
また、情報処理装置１００は、探索したパスの配線状態に対する制約条件を示す制約データに、記憶部１１１０に格納された制約データのうちの利用者の操作に応じて選択された制約データを設定する。このように、テンプレートを流用することが可能となり、一度作成した制約条件と同じ制約条件については効率よく設定することが可能となる。
【０１７２】
また、情報処理装置１００は、制約データの入力欄に、記憶部１１１０に格納された制約データのうちの利用者の操作に応じて選択された制約データを設定する。このように、テンプレートを流用して編集することが可能となるため、一度作成した制約条件と類似した制約条件について効率よく制約条件を設定することが可能となる。
【０１７３】
なお、本実施の形態で説明した回路設計支援方法は、予め用意された回路設計支援プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。回路設計支援プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、回路設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１７４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１７５】
（付記１）コンピュータに、
設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、
探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、
探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、
生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を実行させることを特徴とする回路設計支援プログラム。
【０１７６】
（付記２）前記コンピュータに、
表示された前記入力欄に入力された前記制約データを受け付け、
前記トポロジデータと、前記対応データと、受け付けた前記制約データと、を関連付けて前記コンピュータがアクセス可能な記憶部に格納する、
処理を実行させることを特徴とする付記１に記載の回路設計支援プログラム。
【０１７７】
（付記３）前記制約条件は、異なる２つの前記節点間の長さであることを特徴とする付記１または２に記載の回路設計支援プログラム。
【０１７８】
（付記４）前記所定条件を満たすパスとは、探索した前記パスのうち前記部品の数が最も多いパスであることを特徴とする付記１〜３のいずれか一つに記載の回路設計支援プログラム。
【０１７９】
（付記５）前記選択された要素は、複数であり、
探索した前記パスは、複数であり、前記パスの駆動部品が同一であり、前記パスの受信部品のうちの少なくともいずれかの受信部品が同一であることを特徴とする付記１〜４のいずれか一つに記載の回路設計支援プログラム。
【０１８０】
（付記６）前記選択された要素は、前記コンピュータに対する操作に応じて前記回路に含まれる要素から選択された要素であることを特徴とする付記１〜５のいずれか一つに記載の回路設計支援プログラム。
【０１８１】
（付記７）前記コンピュータがアクセス可能な記憶部には、探索した前記パスと異なるパスの各々についての配線状態に対する制約条件を示す制約データが格納され、
前記コンピュータに、
探索した前記パスの前記配線状態に対する前記制約条件を示す制約データに、前記記憶部に格納された前記制約データのうちの前記コンピュータに対する操作に応じて選択された前記制約データを設定する、
処理を実行させることを特徴とする付記１〜６のいずれか一つに記載の回路設計支援プログラム。
【０１８２】
（付記８）前記コンピュータがアクセス可能な記憶部には、探索した前記パスと異なるパスの各々についての配線状態に対する制約条件を示す制約データが格納され、
前記コンピュータに、
表示した前記入力欄に、前記記憶部に格納された前記制約データのうちの前記コンピュータに対する操作に応じて選択された前記制約データを設定する、
処理を実行させることを特徴とする付記１〜６のいずれか一つに記載の回路設計支援プログラム。
【０１８３】
（付記９）コンピュータが、
設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、
探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、
探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、
生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を実行することを特徴とする回路設計支援方法。
【０１８４】
（付記１０）設計対象の回路に含まれる部品と前記部品間の接続関係を示す回路データに基づいて、前記回路に含まれる選択された要素を有するパスを探索し、探索した前記パスのうち所定条件を満たすパスに含まれる前記部品に対応する絵図と、前記所定条件を満たすパスに含まれる前記部品の端子および接続線の分岐点の各々に対応する節点と、によって探索した前記パスの配線状態を示すトポロジデータを生成し、探索した前記パスの各々について、探索した前記パスに含まれる前記部品の端子と、生成した前記トポロジデータが示す前記節点と、の対応関係を示す対応データを生成し、生成した前記トポロジデータと、探索した前記パスの各々について生成した前記対応データと、探索した前記パスに対する制約条件を示す制約データを受付可能な入力欄と、を表示する、
処理を行う制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１８５】
１００  情報処理装置
１０１  回路データ
１０２  トポロジデータ
１１１  トポロジ
１１２  ノード定義データ
１１３−１，１１３−２  対応データ
１１４  画面
１１５  入力欄
１１０１  第１表示部
１１０２  選択受付部
１１０３  トレース部
１１０４  設定部
１１０５  第１生成部
１１０６  第２生成部
１１０７  第２表示部
１１０８  設定受付部
１１０９  第３生成部
１１１０  記憶部
１１１１  制約条件データベース
１１１２  回路データベース
１１１３  部品ライブラリデータベース
１１１４  シンボルデータベース
ｐ１，ｐ２，Ｐ１  パス
Ｉ１，Ｉ２，Ｃ，Ｃ１，Ｃ２，Ｒ  部品
Ｎ１〜Ｎ５  ネット
ＮＯ１〜ＮＯ１２  ノード
【図１】
0006488911.tif 000002
【図２】
0006488911.tif 000003
【図３】
0006488911.tif 000004
【図４】
0006488911.tif 000005
【図５】
0006488911.tif 000006
【図６】
0006488911.tif 000007
【図７】
0006488911.tif 000008
【図８】
0006488911.tif 000009
【図９】
0006488911.tif 000010
【図１０】
0006488911.tif 000011
【図１１】
0006488911.tif 000012
【図１２】
0006488911.tif 000013
【図１３】
0006488911.tif 000014
【図１４】
0006488911.tif 000015
【図１５】
0006488911.tif 000016
【図１６】
0006488911.tif 000017
【図１７】
0006488911.tif 000018
【図１８】
0006488911.tif 000019
【図１９】
0006488911.tif 000020
【図２０】
0006488911.tif 000021
【図２１】
0006488911.tif 000022
【図２２】
0006488911.tif 000023
【図２３】
0006488911.tif 000024
【図２４】
0006488911.tif 000025
【図２５】
0006488911.tif 000026
【図２６】
0006488911.tif 000027
【図２７】
0006488911.tif 000028
【図２８】
0006488911.tif 000029
【図２９】
0006488911.tif 000030
【図３０】
0006488911.tif 000031
【図３１】
0006488911.tif 000032
【図３２】
0006488911.tif 000033
【図３３】
0006488911.tif 000034
【図３４】
0006488911.tif 000035
【図３５】
0006488911.tif 000036
【図３６】
0006488911.tif 000037
【図３７】
0006488911.tif 000038
【図３８】
0006488911.tif 000039