JP5691743B2 - 実装設計支援プログラム、方法及び装置 - Google Patents

実装設計支援プログラム、方法及び装置 Download PDF

Info

Publication number
JP5691743B2
JP5691743B2 JP2011076095A JP2011076095A JP5691743B2 JP 5691743 B2 JP5691743 B2 JP 5691743B2 JP 2011076095 A JP2011076095 A JP 2011076095A JP 2011076095 A JP2011076095 A JP 2011076095A JP 5691743 B2 JP5691743 B2 JP 5691743B2
Authority
JP
Japan
Prior art keywords
component
condition
storage unit
positional relationship
constraint condition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011076095A
Other languages
English (en)
Other versions
JP2012208907A (ja
Inventor
祐次 馬場
祐次 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011076095A priority Critical patent/JP5691743B2/ja
Priority to US13/427,945 priority patent/US8769466B2/en
Publication of JP2012208907A publication Critical patent/JP2012208907A/ja
Application granted granted Critical
Publication of JP5691743B2 publication Critical patent/JP5691743B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本技術は、プリント基板の設計を支援するための技術に関する。
プリント基板の開発における手順の一例を図1に示す。プリント基板の開発には、例えば、仕様設計、回路設計、実装設計、解析(確認)、基板試作及び量産といった各段階が存在する。仕様設計では、実現すべき機能等のシステム要件及び配置制限や層数等の製造条件が決定され、仕様書を通じて回路設計の設計者に指示される。また、回路設計では、用いる部品や電源等とそれらの配線とを示したネットリスト及び実装時の制約条件が決定され、実装設計者に指示される。ネットリストは、例えばEDIF(Electronic Design Interchange Format)形式で受け渡しされる。また、制約条件としては、例えば、部品の位置関係、ネットの配線長、配線間隔、バイパスコンデンサの数等がある。制約条件も、例えばCAD(Computer Aided Design)システムで読み込むことのできる形式の電子データとして受け渡しされる。そして、実装設計では、プリント基板上における部品の配置及び配線パターンを設計する。ここまでの作業で、実際のプリント基板におけるレイアウトが決まる。その後、解析(確認)では、レイアウトデータを用いて製造上の問題が発生しないか解析を行う。また、プリント基板を製作するためのCAM(Computer Aided Manufacturing)データを生産ラインに渡してプリント基板を試作し、問題がなければ量産される。
このような手順のうち、プリント基板の実装設計を自動的に行うシステムが既に存在している。例えば、標準的な形状、設計上の制約、回路ブロックの配置順序等を格納したデータベースを用いて、設計上の制約を満足し、且つ所定の基板内に収まる回路ブロックの配置及び回路ブロック間の配線を決定するというものである。
ここで、図2A及び図2Bを用いて、回路設計において決定される、ネットリスト及び部品の位置関係についての制約条件の一例を説明する。まず、回路設計の設計者は、部品、電源、アース等及びそれらの接続関係を定義するため、例えば図2Aに示すような回路図のデータを作成する。図2Aに示した回路図では、部品I2の部品ピン2と、部品C4の部品ピン1、部品R1の部品ピン1及び部品R2の部品ピン1とがそれぞれ接続されている。そして、このような回路図のデータから、部品等のデータとそれらの接続関係のデータとを含むネットリストが生成され、実装設計の設計者に受け渡される。また、回路設計の設計者は、このような回路図に含まれる部品群に対して、例えば図2Bに示すような位置関係についての制約条件を設定する。図2Bに示した制約条件では、「部品C4、R1及びR2は、部品I2から15mm以内に配置」すべきことが定義されている。なお、このような回路図に含まれる一部の部品群を対象とした制約条件が、一般的に複数登録される。ここで、実装設計の設計者は、1つの制約条件に規定されている部品群についてプリント基板上の配置位置を決定した場合、当該部品群の配置位置を他の適切な制約条件に規定されている部品群にも適用できれば、作業の負担を軽減できる。
しかしながら、実装設計より前に行われる回路設計では、ある制約条件についての部品についてプリント基板上の配置位置を他の制約条件についての部品の配置位置に適用可能であるという指定がなされるわけではない。また、制約条件同士の関連性が認められる場合においても、制約条件に規定されている部品群と他の制約条件に規定されている部品群との対応関係が必ずしも明確ではない場合も存在する。さらに、対応関係がないような部品群を片方の制約条件に含んでいる場合もある。
なお、アナログLSIにおいて、レイアウトの制約を満足し、高集積化を実現する、素子の形状決定方法も存在する。例えば、予め同一形状とするために設定された近接配置条件を入力し、条件に該当する複数の素子がネットリストに存在する場合には1グループとして扱う。また、予め基本形状が定義された基本形状指定に該当する場合は基本形状を使用して素子の形状を決定する。
他に、アナログLSIの設計において、最適な配置候補素子を選択するという技術も存在する。例えば、配置済みの任意の素子を基準素子として、その基準素子に接続する全ての素子を抽出し、基準素子と抽出した素子との接続関係をレイアウト条件ファイルと照らして配置候補素子の順位付けを行い、その順位に従って配置候補素子を自動選択する。
特開平5−290125号公報 特開平7−262233号公報 特開平10−124558号公報
従って、本技術の目的は、一側面として、基準となる制約条件に規定されている部品群と、他の制約条件に規定されている部品群との対応関係を把握できるようにするための技術を提供することである。
本実施の形態に係る情報処理方法は、(A)部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、(B)第1の基準部品と第1の部品群における第1の基準部品以外の部品である第3の部品との位置関係と第3の部品の属性とに基づき、第2の部品群において第2の基準部品以外の部品であって第3の部品との対応関係がある第4の部品を特定する特定ステップとを含む。
基準となる制約条件に規定されている部品群と、他の制約条件に規定されている部品群との対応関係を把握できるようになる。
図1は、プリント基板の開発手順の一例を示す図である。 図2Aは、回路図の一例を示す図である。 図2Bは、部品の位置関係についての制約条件の一例を示す図である。 図3は、本実施の形態に係る情報処理装置の機能ブロック図である。 図4は、部品ライブラリテーブルのデータ構造の一例を示す図である。 図5は、回路図テーブルのデータ構造の一例を示す図である。 図6は、部品テーブルのデータ構造の一例を示す図である。 図7は、部品ピンテーブルのデータ構造の一例を示す図である。 図8は、ネットテーブルのデータ構造の一例を示す図である。 図9は、回路図の一例を示す図である。 図10は、制約条件テーブルのデータ構造の一例を示す図である。 図11は、設定対象テーブルのデータ構造の一例を示す図である。 図12は、制約条件テーブル及び設定対象テーブルに格納されるデータの一例を示す図である。 図13は、制約条件を説明するための図である。 図14は、メインの処理フローを示す図である。 図15は、制約条件の一例を示す図である。 図16は、基準部品特定処理の処理フローを示す図である。 図17は、回路図座標による対応部品抽出処理の処理フローを示す図である。 図18は、対応部品抽出処理の処理フローを示す図である。 図19Aは、回路図の一例を示す図である。 図19Bは、回路図の一例を示す図である。 図20は、データ格納部に格納されるデータの一例を示す図である。 図21は、データ格納部に格納されるデータの一例を示す図である。 図22は、データ格納部に格納されるデータの一例を示す図である。 図23は、重ね合わせた2つの回路図の一例を示す図である。 図24は、対応部品抽出処理の処理フローを示す図である。 図25は、トポロジによる対応部品抽出処理の処理フローを示す図である。 図26は、部品群の表示の一例を示す図である。 図27は、部品群の表示の一例を示す図である。 図28は、コンピュータの機能ブロック図である。
本技術の実施の形態に係る情報処理装置1の機能ブロック図を、図3に示す。本実施の形態に係る情報処理装置1は、ユーザからの入力を受け付ける入力部101と、データ格納部103と、回路設計においてユーザが設計した回路図に関するデータを格納している回路データ格納部105と、回路図データにより規定されている回路をプリント基板上に実装する際の制約を表す制約条件データを格納している制約条件データ格納部107と、基準部品特定部109と、回路設計において使用され得る部品のデータを格納している部品ライブラリデータ格納部111と、対応部品特定部113と、出力部115と、表示部117とを有する。
入力部101は、ユーザからの入力を受け付け、制約条件データ格納部107に格納されている制約条件データから、部品群の対応付けを行う際の基準となる基準条件及び当該基準条件と対比される対象条件を特定し、基準条件を特定するためのデータ及び対象条件を特定するためのデータをデータ格納部103に格納する。基準部品特定部109は、データ格納部103に格納されたデータを用いて、基準条件及び対象条件に規定されている部品を比較する際の基準となる基準部品を、基準条件及び対象条件に規定されている部品群の各々から特定し、データ格納部103に格納する。対応部品特定部113は、データ格納部103、回路データ格納部105、制約条件データ格納部107及び部品ライブラリデータ格納部111に格納されているデータを用いて、制約条件データ格納部107に格納されている制約条件に規定された部品群の対応関係を特定し、部品群の対応付けがなされた制約条件データを制約条件データ格納部107に格納する。なお、回路設計において作成された回路図データは、実装設計者に渡されるネットリストや制約条件に含まれない。本実施の形態の対応部品特定部113は、そのような回路図データを基に、ある制約条件に規定されている部品群と、他の制約条件に規定されている部品群との中から、実装設計において同様の配置位置を適用できる部品の組み合わせを特定する。そして、出力部115は、回路データ格納部105及び制約条件データ格納部107に格納されているデータを出力する。出力されるデータには、実装設計において同様の配置位置を適用できる部品の組み合わせを示す情報が含まれる。また、表示部117は、データ格納部103、回路データ格納部105、制約条件データ格納部107及び部品ライブラリデータ格納部111に格納されているデータを用いて、適宜表示処理を行う。
次に、図4乃至図27を用いて、図3に示した情報処理装置の処理について説明する。なお、データ格納部103には、予めユーザが選択した、本実施の形態において対応する部品群を特定するために用いる抽出アルゴリズム、部品の対応関係を判断する際に用いる判断条件及び閾値等が格納されているものとする。
また、部品ライブラリデータ格納部111には、例えば図4に示すような部品ライブラリテーブルが予め登録されているものとする。図4に示した部品ライブラリテーブルは、部品ライブラリID(識別子)、部品名、部品種別、部品ピン情報及び特性値の各項目を含む。部品ライブラリテーブルには、回路設計において用いられ得る部品が予め登録されている。部品ライブラリIDの列にはテーブル内で一意の識別子が、部品名の列には部品の名称が、部品種別の列には、抵抗、コンデンサ、コイル等の種別が、部品ピン情報の列には、部品が有する部品ピンに便宜上付された番号、及び正極又は負極等、電極の性質を表す部品ピンの属性が、特性値の列には各部品の特性値が設定されているものとする。
そして、ユーザが回路設計を終えて、回路データ格納部105には、例えば、図5に示すような回路図テーブル、図6に示すような部品テーブル、図7に示すような部品ピンテーブル及び図8に示すようなネットテーブルが予め格納されているものとする。図5に示した回路図テーブルは、回路図ID(識別子)、回路図名、部品テーブルへのリンク及びネットテーブルへのリンクの各項目を含む。回路図IDの列には、テーブル内で一意の識別子が、回路図名の列には回路図に付された名称が、部品テーブルへのリンクの列には、回路図に含まれる部品を表す部品テーブルのレコードへのリンクが、ネットテーブルへのリンクの列には、回路図に含まれるネットを表すネットテーブルのレコードへのリンクがそれぞれ登録される。このような項目を含むレコードが、ユーザの設計した回路図に対応付けられて格納されているものとする。
また、図6に示した部品テーブルは、部品ID(識別子)、部品名、部品ライブラリID(識別子)、属性、シート番号、位置、部品ピンテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。部品IDの列には、テーブル内で一意の識別子が、部品名の列には部品の名称が、部品ライブラリIDの列には、部品ライブラリテーブルに登録された、対応する部品の識別子が、属性の列には、部品の性質を表す属性が、シート番号の列には、後に説明する、回路図データを便宜上分割することによって得られるシートに付された番号が、位置の列には、回路図を表す各シート内において部品が配置された座標が登録されるものとする。ユーザが設計した回路図に用いられる部品の各々に対応付けられて、このような項目を含むレコードが登録されているものとする。
そして、図7に示した部品ピンテーブルは、部品ピンID(識別子)、部品ピン名、属性、部品テーブルへのリンク、ネットテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。部品ピンIDの列には、テーブル内において一意の識別子が、部品ピン名の列には部品ピンに付された名称が、属性の列には、正極又は負極等、電極の性質を表す部品ピンの性質を表す属性が、部品テーブルへのリンクの列には、当該部品ピンを有する部品を表す部品テーブルのレコードへのリンクが、制約条件テーブルへのリンクの列には、当該部品ピンに制約条件が設定されている場合にその制約条件を表す制約条件テーブルのレコードへのリンクが、それぞれ設定される。回路図に用いられる部品が有する部品ピンの各々に対応付けられて、このような項目を含むレコードが登録されているものとする。
また、図8に示したネットテーブルは、ネットID(識別子)、ネット名、属性、部品ピンテーブルへのリンク及び制約条件テーブルへのリンクの各項目を含む。ネットIDの列には、テーブル内で一意の識別子が、ネット名の列にはネットに付された名称が、属性の列には、電源、信号又はグラウンド等、ネットの性質を表す属性が、部品ピンテーブルへのリンクの列には当該ネットが接続する部品ピンを表す部品ピンテーブルのレコードへのリンクが、制約条件テーブルへのリンクの列には当該ネットに制約条件が設定されている場合にその制約条件を表す制約条件テーブルのレコードへのリンクが、それぞれ設定される。回路図において部品ピンを接続しているネットの各々に対応付けられて、このようなレコードが登録されているものとする。
例えば、図9に、回路に含まれる部品と接続関係の一例を示す。図9の回路図には、部品A、部品R、部品C及び部品Bが存在する。そして、部品Aが有する部品ピンPAと部品Rが有する部品ピンPR1とがネットN1で接続され、部品Rが有する部品ピンPR2と部品Cが有する部品ピンPC1とがネットN2で接続され、部品Cが有する部品ピンPC2と部品Bが有する部品ピンPBとがネットN3で接続されている。このような回路図があったとき、回路図テーブルには回路図全体を表す1つのレコードが、部品テーブルには、部品A、部品R、部品C及び部品Bの各々を表すレコードが、部品ピンテーブルには部品ピンPA、部品ピンPR1、部品ピンPR2、部品ピンPC1、部品ピンPC2及び部品ピンPBの各々を表すレコードが、ネットテーブルには、ネットN1、ネットN2及びネットN3の各々を表すレコードが登録される。
また、図4乃至図8に示したように、回路図全体のレコードには部品A、部品R、部品C及び部品Bの各レコードへのリンク、並びにネットN1、ネットN2及びネットN3の各レコードへのリンクが設定される。また、部品Aのレコードには部品ピンPAのレコードへのリンクが、部品Rのレコードには、部品ピンPR1及び部品ピンPR2の各レコードへのリンクが、部品Cのレコードには、部品ピンPC1及び部品ピンPC2のレコードへのリンクが、部品Bのレコードには、部品ピンPBのレコードへのリンクが設定される。そして、部品ピンPAのレコードには、部品A及びネットN1のレコードへのリンクが、部品ピンPR1のレコードには部品R及びネットN1のレコードへのリンクが、部品ピンPR2のレコードには、部品R及びネットN2のレコードへのリンクが、部品ピンPC1のレコードには、部品C及びネットN2のレコードへのリンクが、部品ピンPC2のレコードには、部品C及びネットN3のレコードへのリンクが、部品ピンBのレコードには、部品B及びネットN3のレコードへのリンクがそれぞれ登録される。さらに、ネットN1のレコードには、部品ピンPA及び部品ピンPR1のレコードへのリンクが、ネットN2のレコードには、部品ピンPR2及び部品ピンPC1のレコードへのリンクが、ネットN3のレコードには、部品ピンPC2及び部品ピンPBのレコードへのリンクがそれぞれ登録される。
そして、制約条件データ格納部107には、例えば、図10に示すような制約条件テーブル及び図11に示すような設定対象テーブルが登録されているものとする。図10に示した制約条件テーブルは、制約条件ID(識別子)、制約条件名、設定対象テーブルへのリンク、条件種別及び指示内容の各項目を含む。制約条件IDの列にはテーブル内で一意の識別子が、制約条件名の列には制約条件の名称が、設定対象テーブルへのリンクの列には、当該制約を受ける部品等を示す設定対象テーブルのレコードへのリンクが、条件種別の列には、部品の位置関係、配線長、配線間隔等といった制約条件の種別が、指示内容の列には、「(部品の位置関係が)特定の部品から所定の距離以内」、「(部品の位置関係が)所定の形状の領域内」又は「(配線長が)所定の距離以内)」等といった条件の内容を表すデータがそれぞれ登録されている。このような項目を含むレコードが、ユーザの設定した制約条件の各々に対応付けられて登録されているものとする。
また、図11に示した設定対象テーブルは、設定対象ID(識別子)、種別、設定対象名及び番号の各項目を含む。設定対象IDの列には、テーブル内で一意の識別子が、種別の列には部品、部品ピン又はネットといった設定対象の種別が、設定対象名の列には設定対象の名称が、番号の列には、1つの制約条件からリンクされているレコード内で重複しない番号がそれぞれ登録される。なお、本実施の形態では、設定対象IDの列には、部品テーブルの部品ID、部品ピンテーブルの部品ピンID又はネットテーブルのネットIDと同一の識別子を登録しておき、回路データ格納部105のデータと制約条件データ格納部107のデータとを関連付けておく。制約条件において、制約が設定される対象として規定されている部品の各々について、このようなレコードが登録されているものとする。
なお、図2Bに示した制約条件は、制約条件テーブル及び設定対象テーブルにおいて、図12に示すようなレコードとして登録される。図12に示した制約条件テーブルのレコードには、条件種別に「部品の位置関係」が登録されており、指示内容として、部品I2から15mm以内に配置すべきことが登録されている。また、設定対象テーブルへのリンクには、当該制約条件に関連する部品を表すレコードへのリンクが設定されている。そして、設定対象テーブルには、位置関係の核(基準)となる部品(図12に示した例では部品I2)及び、位置関係の制約を受ける部品(図12に示した例では部品C4、部品R1及び部品R2)が登録されている。このような制約条件テーブルのレコード及び設定対象テーブルのレコードが回路設計において登録された場合、実装設計では、例えば図13に示すような制約が課せられる。図13に示したプリント基板上には、図12に示した設定対象テーブルに登録されている、部品I2、部品C4、部品R1及び部品R2が存在する。そして、図12に示した制約条件テーブルプリントの指示内容に定められているように、部品I2から半径15mm以内に部品C4、部品R1及び部品R2が配置されている。なお、プリント基板上の距離は、例えば各部品の中心又は左下等の予め定められた1点を基準として判断される。
図14に、本実施の形態に係る情報処理装置1の処理フローを示す。まず、情報処理装置1の入力部101は、ユーザからの入力を受け付け、制約条件データ格納部107に格納されている制約条件データの中から、処理の基準となる制約条件を基準条件として、対比の対象となる制約条件を対象条件として、それぞれ特定する。そして、入力部101は、基準条件及び対象条件を特定するためのデータをデータ格納部103に格納する(図14:ステップS1)。ここでは、入力部101は、基準条件及び対象条件について、それぞれユーザからの指定を受け付け、例えばそれぞれの制約条件IDをデータ格納部103に格納する。なお、例えば表示部117は、制約条件データ格納部107に格納されているデータを表示し、ユーザに制約条件の指定を促す。
ここで、制約条件テーブルには、図2Bに示したような部品の位置関係についての制約条件だけでなく、例えば図15に示すような配線長に関する制約条件なども登録されている。図15の例では、回路図に示された部品I1の部品ピンI1.1と部品I2の部品ピンI2.2とが、プリント基板上において10mm以内の配線長で実装されるべきことを示している。ただし、本実施の形態では、図2Bに示したような、部品の位置関係に関する制約条件を処理の対象とする。従って、ステップS1では、制約条件テーブルの条件種別の列に「部品の位置関係」が登録されている制約条件を対象として、ユーザから指定を受け付けるものとする。
次に、情報処理装置1の基準部品特定部109は、基準部品特定処理を実施する(ステップS3)。この基準部品特定処理については図16を用いて説明する。まず、基準部品特定部109は、データ格納部103に格納された基準条件を特定するためのデータに基づき、制約条件データ格納部107の制約条件テーブルから該当するレコードを取得し、当該レコードの指示内容の列に位置関係の核となる部品が設定されているか判断する(図16:ステップS21)。例えば、図12に示した制約条件が基準条件として指定されている場合、指示内容の列には位置関係の核となる部品I2が設定されている。
このような、位置関係の核となる部品が設定されている場合、基準部品特定部109は、核となる部品を基準条件の基準部品として特定し、基準条件の基準部品を特定するためのデータをデータ格納部103に格納する(ステップS23)。基準部品を特定するためのデータとしては、例えば設定対象テーブルの設定対象IDを格納しておく。一方、制約条件テーブルの指示内容の列において、位置関係の核となる部品が設定されていない場合(例えば指示内容の列には、所定の部品群が所定形状の領域内に配置されることが指定されているような場合)、基準部品特定部109は、基準条件テーブルからリンクされている設定対象テーブルのレコードにおいて番号の列に登録された数字が最も小さいレコードに係る部品を基準部品として特定し、基準部品を特定するためのデータをデータ格納部103に格納する(ステップS25)。
そして、ステップS23又はステップS25の後、基準部品特定部109は、データ格納部103に格納された対象条件を特定するためのデータに基づき、制約条件データ格納部107の制約条件テーブルから該当するレコードを取得し、指定内容の列に位置関係の核となる部品が設定されているか判断する(ステップS27)。そして、対象条件についてステップS21と同様の判断を行い、核となる部品が設定されていると判断された場合、当該部品を対象条件の基準部品として特定し、対象条件の基準部品を特定するためのデータをデータ格納部103に格納する(ステップS29)。その後、端子Aを介して基準部品特定処理を終了し、図14の処理に戻る。
一方、核となる部品が設定されていないと判断された場合、基準部品特定部109は、制約条件データ格納部107の制約条件テーブルにおいて対象条件のレコードからリンクされている、設定対象テーブルのレコードの中に、ステップS23又はステップS25で設定された基準条件の基準部品と部品種別が同一のレコードが存在するか判断する(ステップS31)。部品種別が同一のレコードが存在しないと判断された場合、基準部品特定部109は、設定対象テーブルにおいて対象条件のレコードからリンクされているレコードの中から、番号の列に登録されている数字が最も小さいレコードに係る部品を対象条件の基準部品として特定し、当該基準部品を特定するためのデータをデータ格納部103に格納する(ステップS33)。その後、端子Aを介して基準部品特定処理を終了し、図14の処理に戻る。
一方、部品種別が同一のレコードが存在すると判断された場合、基準部品特定部109は、該当するレコードが複数存在するか判断する(ステップS35)。基準条件の基準部品の部品種別と同一の部品種別を有するレコードが1つ存在する場合、基準部品特定部109は、該当するレコードに係る部品を対象条件の基準部品として特定し、基準部品を特定するためのデータをデータ格納部103に格納する(ステップS37)。その後、端子Aを介して基準部品特定処理を終了し、図14の処理に戻る。
一方、基準条件の基準部品の部品種別と同一の部品種別を有するレコードが複数存在する場合、基準部品特定部109は、基準条件の基準部品の部品種別と同一の部品種別を有するレコードの中から、番号の列に登録されている数字が最も小さいレコードに係る部品を対象条件の基準部品として特定し、当該基準部品を特定するためのデータをデータ格納部103に格納する(ステップS39)。その後、基準部品特定処理を終了し、図14の処理に戻る。
図14の処理の説明に戻り、情報処理装置1の対応部品特定部113は、データ格納部103から、対応する部品群を抽出するために用いる抽出アルゴリズムを読み出し、抽出アルゴリズムは「トポロジ」であるか判断する(ステップS5)。なお、抽出アルゴリズムとしては、回路設計において作成された回路図上の座標を基に対応する部品群を特定する「回路図座標」、又は回路図上の部品の種別と接続形態と(回路トポロジ)の情報を基に対応する部品群を特定する「トポロジ」が予めユーザ等により設定されているものとする。そして、抽出アルゴリズムが「トポロジ」でない場合、すなわち抽出アルゴリズムが「回路図座標」である場合、処理はステップS9に移行する。
一方、抽出アルゴリズムが「トポロジ」である場合、対応部品特定部113は、制約条件データ格納部107の設定対象テーブルにおいて基準条件における基準部品のレコードに含まれる部品種別と、対象条件における基準部品のレコードに含まれる部品種別とが同一であるか判断する(ステップS7)。部品種別が同一でない場合、又はステップS5において抽出アルゴリズムが「トポロジ」でないと判断された場合、対応部品特定部113は、回路図座標による対応部品抽出処理を実施する(ステップS9)。この回路図座標による対応部品抽出処理は、図17乃至図24を用いて説明する。
まず、対応部品特定部113は、基準条件についての処理を制御するために用いるインデックス番号nを1で初期化する(図17:ステップS41)。そして、対応部品特定部113は、nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であるか判断する(ステップS43)。なお、本実施の形態では基準条件に規定されているレコードのうち基準部品に係るレコード以外のレコードの数(n−1)だけ、後の処理を繰り返す。本ステップにおいて、nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、処理はステップS49に移行する。一方、nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部113は、対応部品抽出処理を実施する(ステップS45)。この対応部品抽出処理は、図18乃至図24を用いて説明する。
まず、対応部品特定部113は、制約条件データ格納部107において基準条件に規定されている、基準部品以外の部品において、n番目のレコードに係る部品をPRnとして、また当該部品の部品種別をTRnとして取得し、データ格納部103に格納する(図18:ステップS61)。ここでは、まず対応部品特定部113は、データ格納部103に格納されている基準条件を特定するためのデータを用いて制約条件データ格納部107の制約条件テーブルから基準条件のレコードを取得する。そして、対応部品特定部113は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードにおいて、n番目のレコードに係る部品の設定対象IDをPRnとし、当該レコードの部品種別をTRnとして取得し、データ格納部103に格納する。
そして、対応部品特定部113は、取得したPRnと基準部品との回路図上の相対位置CRnを算出し、データ格納部103に格納する(ステップS63)。ここでは、PRn及び基準部品について、それぞれ設定対象テーブルにおける部品の設定対象IDをキーとして、回路データ格納部105の部品テーブルを検索し、該当するレコードのシート番号及び位置を取得する。そして、例えばシート番号差及び基準部品を基準としたPRnの相対的な座標を算出し、データ格納部103に格納する。
ここで、回路図データにおけるシートについて説明しておく。ユーザが作成する回路図データにおいては、1つの回路が複数のシートに分けて設計される場合がある。このような場合、複数のシートが、例えばシート番号により管理される。なお、これは便宜的に分割されたものであり、多層基板における層とは異なるものである。このようなシートに分割して回路図を設計する場合、回路をどのように分割するかはユーザ次第であるが、ユーザは部品を機能的にグループ化して回路図上に配置する傾向があり、また、CADシステムの有する機能により、類似する部品群を回路図上でコピー及び修正して回路図を作成することもある。
このようなシート番号は便宜的なものであるが、例えば2つの部品が別のシートに存在する場合、このようなシート番号の差を、部品間の相対的な位置関係を表す尺度として用いるようにしてもよい。一方、シート番号差を用いない場合、各シートにおける座標をそのまま比較するようにしてもよいし、予めシート間の接続関係を定義しておき、シート間をまたいで相対的な座標を算出できるようにしてもよい。
次に、相対位置CRnの算出について、図19Aに示す回路図を用いて説明する。なお、ここではインデックス番号nが1であるものとする。図19Aに示した回路図では、部品I3と、部品R3、部品C5、部品C6及び部品C7の各々とが接続されている。また、部品I3が基準部品として特定されているものとする。このような回路図において、基準部品I3と部品C5との相対位置CR1を算出する場合、まず、基準部品I3と部品C5とは同一のシートに存在するため、シート番号差0が算出される。また、図19Aにおいて矢印d1で示すように、基準部品I3の所定位置を基準とした、部品C5の所定位置の相対的な座標が算出される。I3の所定位置の座標が(xI3,yI3)、C5の所定位置の座標が(xC5,yC5)であるとすると、相対的な座標(xR1,yR1)は(xC5−xI3,yC5−yI3)と算出される。なお、回路図上の部品の所定位置も、例えば各部品の中心の座標や各部品の左下の座標等、予め定められた一点を用いるものとする。また、仮に基準部品I3がシート番号1に、部品C5がシート番号3に存在する場合は、相対位置CR1のシート番号差は2(=3−1)と算出される。このシート番号差としては、差の絶対値を採用してもよい。
算出された基準条件のシート番号差及び相対位置は、例えば図20に示すようにデータ格納部103に登録される。図20に示すテーブルには、基準条件に係る部品間のシート番号差及び相対座標の列と、対象条件に係る部品間のシート番号差及び相対座標の列と、後に説明する、シート番号差同士の差の絶対値MS及び部品の相対的な座標に係る差の絶対値MLの列とが含まれる。例えばこのようなテーブルを用いて、中間的に生成されたデータが保持される。
その後、対応部品特定部113は、対象条件についての処理を制御するためのインデックス番号mを1で初期化する(ステップS65)。そして、対応部品特定部113は、mが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数未満であるか判断する(ステップS67)。なお、本実施の形態では対象条件に規定されているレコードのうち基準部品に係るレコード以外のレコードの数(m−1)だけ、後の処理を繰り返す。本ステップにおいて、mが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数以上であると判断された場合、処理は端子Bを介して図24のステップS81に移行する。
一方、mが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部113は、制約条件データ格納部107の設定対象テーブルからn番目のレコードに係る部品PTm、及び当該部品の部品種別TTmを取得し、データ格納部103に保持させておく(ステップS69)。ここでは、まず対応部品特定部113は、データ格納部103に格納されている対象条件を特定するためのデータを用いて制約条件データ格納部107の制約条件テーブルから対象条件のレコードを取得する。そして、対応部品特定部113は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードのうち、番号の列に登録されている値を昇順に並べたときにn番目となるレコードに係る部品の部品IDをPTmとし、当該レコードの部品種別をTTmとして取得し、データ格納部103に保持させる。
そして、対応部品特定部113は、基準条件に規定されている部品の部品種別TRnと対象条件に規定されている部品の部品種別TTmとが同一であるか判断する(ステップS71)。ここでは、抵抗やキャパシタ、コイル等といった部品種別が同一であるか判断する。そして、部品種別が同一でないと判断された場合、処理はステップS79に移行する。
一方、部品種別が同一であると判断された場合、対応部品特定部113は、基準部品を基準とする、回路図上のPTmの相対位置CTmを算出し、データ格納部103に格納する(ステップS73)。ここでは、PRn及び基準部品について、それぞれ設定対象テーブルにおける部品の設定対象IDをキーとして、回路データ格納部105の部品テーブルを検索し、該当するレコードのシート番号及び位置を取得する。そして、例えばステップS63と同様に、シート番号差及び基準部品を基準としたPRnの相対的な座標を算出し、データ格納部103に格納する。なお、ステップS63と同様にシート番号については用いないようにしてもよい。
例えば、図19Bに示す回路図において、基準部品I4の所定位置の座標が(xI4,yI4)、部品C8の所定位置の座標が(xC8,yC8)、インデックス番号mが1であるものとする。このとき、基準部品を基準としたPRnの相対的な座標(xT1,yT1)は(xC8−xI4,yC8−yI4)と算出される。そして、例えば図21の対象条件の列に示すように、算出されたシート番号差及び相対的な座標(xT1,yT1)がデータ格納部103に登録される。
その後、対応部品特定部113は、相対位置CRnと相対位置CTmとの差の絶対値Mを算出し、差の絶対値Mが所定の閾値以下であるか判断する(ステップS75)。ここでは、対応部品特定部113は、例えばシート番号差同士の差の絶対値を、MSとして算出し、回路図上での部品の位置を表すx座標及びy座標の差の絶対値を、MLとして算出する。また、対応部品特定部113は、データ格納部103に格納されている、シート番号、x座標及びy座標の各々についての所定の閾値を読み出し、差の絶対値MS及びMLが、それぞれ所定の閾値以下であるか判断する。
また、データ格納部103には、例えば、差の絶対値MSについての閾値がS、差の絶対値MLについての閾値がxS、ySというように所定の閾値が予めユーザ等により定められているものとする。図19A及び図19Bに示した例では、まず、差の絶対値MSは0と算出され、差の絶対値MLは、|xT1−xR1|、|yT1−yR1|と算出される。なお、例えば図22の差の絶対値Mの列に示すように、算出された差の絶対値MS及び差の絶対値MLが、データ格納部103に登録される。また、差の絶対値MSである0が閾値S以下であるか、|xT1−xR1|が閾値xS以下であるか、及び|yTm−yRn|が閾値yS以下であるか判断される。そして、差の絶対値MS及び差の絶対値MLのいずれかが、上記の閾値以下でないと判断された場合、処理はステップS79に移行する。
一方、差の絶対値MSと差の絶対値MLとが所定の閾値以下であると判断された場合、対応部品特定部113は、部品PRnの対応部品候補としてPTmをデータ格納部103に保持させておく(ステップS77)。そして、ステップS71において、部品種別が同一でないと判断された場合、ステップS75において、差の絶対値Mが所定の閾値以下でないと判断された場合、又はステップS77の後、対応部品特定部113は、mを1インクリメントして(ステップS79)、ステップS67の処理に戻る。このように、ステップS67乃至ステップS79の処理が繰り返されて、対象条件に規定されている部品のうち基準部品以外の部品PTmの各々について、ステップS61で取得した基準条件に係る部品PRnとの差の絶対値Mを比較し、対応する部品であるか判断される。
また、上でも述べたとおり、ステップS67において、mが、設定対象テーブルにおける、対象条件に規定されているレコードのレコード数以上であると判断された場合、処理は端子Bを介して、図24の処理に移行する。そして、対応部品特定部113は、対応部品候補としてデータ格納部103に保持されている部品のうち、基準条件に規定されている部品の相対的な座標と、対象条件に規定されている部品の相対的な座標とのユークリッド距離が小さい組み合わせを対応部品として絞り込み、データ格納部103に格納する(図24:ステップS81)。
ステップS67乃至ステップS79の処理では、対象条件に規定されている部品のうち、基準条件に規定されている部品との差の絶対値Mが閾値以下であると判断された複数の部品が対応部品候補として保持されている場合がある。本ステップでは、基準条件に規定されている1つの部品に対して対応する部品が1つになるよう絞り込む。
ここで、図19A及び図19Bに示した回路図を、基準部品I3及びI4の所定位置を中心Oとして重ね合わせた図を、図23に示す。例えば、図23における部品C5と部品C8との距離d7は、((xT1−xR12+(yT1−yR121/2により算出できる。図23において、部品C5の対応部品候補として、部品C8及び部品C9が抽出されている場合、部品C8及び部品C9のうち部品C5の位置に近い方の部品C8が対応部品として特定される。
また、本ステップでは、例えば差の絶対値MSが最小であるPTmについて、上で述べた距離が最小となるものに絞り込むようにしてもよいし、差の絶対値MSに所定の係数を乗じて仮想的なz軸方向の距離に換算し、3次元空間での距離が最小となるものに絞り込むようにしてもよい。なお、対応部品候補が全て1対1に対応付けられている場合は、本ステップの絞り込みを行うことなく、各対応部品候補を対応部品として特定する。
そして、対応部品特定部113は、対応部品候補が1つに絞り込まれているか判断する(ステップS83)。対応部品候補が1つに絞り込まれている場合、対応部品抽出処理を終了して、図17の処理に戻る。一方、対応部品候補が複数存在する場合、対応部品特定部113は、回路図上でのx座標の差、y座標の差、対象条件に規定されている番号の値等、予めユーザ等により設定され、データ格納部103に格納されている、絞り込みのための条件を順に用いて、対応部品を1つに絞り込む(ステップS85)。ここでは、例えば、対応部品候補としてデータ格納部103に保持されている部品について、まず、基準部品との回路図上のx座標の差を比較し、最小の部品を対応部品とする。x座標について差がない場合は、同様にy座標の差を比較し、最小の部品を対応部品とする。y座標についても差がない場合は、設定対象テーブルにおける対応部品候補に相当するレコードのうち、番号の列に登録されている値が最小のレコードに係る部品を、対応部品とする。なお、シート番号は便宜的なものであり、また設定対象テーブルにおける番号を用いればレコードを1つに絞り込むことができるため、本ステップにおける絞り込みのための条件としてシート番号は用いていない。そして、対応部品抽出処理を終了し、図17の処理に戻る。
図17の処理の説明に戻り、対応部品特定部113は、nを1インクリメントしてステップS43の処理に戻る。このように、ステップS43乃至ステップS47の処理が繰り返されて、基準条件に規定されている部品と、対象条件に規定されている部品との対応付けが行われる。
また、ステップS43において、nが設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、対応部品特定部113は、対象条件に規定されている部品の中に、基準条件に規定されている複数の部品と対応付けられた部品が存在するか判断する(ステップS49)。ステップS43乃至ステップS47の処理では、基準条件に規定されている複数の部品と対象条件に規定されている1つの部品とが対応部品として特定される場合がある。本ステップにおいて、対象条件に既定されている部品の中に、基準条件に規定されている複数の部品と対応付けられている部品が存在すると判断された場合、対応部品特定部113は、基準条件に規定されているに対応する部品を1つに絞り込み、部品の組み合わせをデータ格納部103に格納する(ステップS51)。ここでは、回路図座標、回路トポロジ、部品ライブラリテーブルにおける部品ライブラリID等、予めユーザ等により設定され、データ格納部103に格納されている、絞り込みのための条件を順に用いて対応部品を絞り込む。
例えば、図19Bに示した部品C10に対して、図19Aに示した部品C6及び部品C7が対応付けられているとする。この場合において、「回路図座標」による対応部品の絞り込みが指定されているとき、対応部品特定部113は、ステップS81と同様に、基準部品I3及びI4を基準として、部品C6及び部品C7のうち、部品C10の位置に近い方を特定する。すなわち、図23において、部品C10から部品C6までの距離d9と、部品C7までの距離d10とを比較し、部品間の距離が短い方の組み合わせを特定する。なお、ステップS81の処理と同様に、差の絶対値MSをさらに用いるようにしてもよい。
また、「回路トポロジ」による対応部品の絞り込みが指定されているときは、基準部品との接続関係(例えば基準部品と直接接続されているか、又は他の部品を介して接続されているか)や、接続されている部品ピンの番号又は部品ピンの属性等といった回路トポロジが同一である部品を対応部品として特定する。さらに、「部品ライブラリテーブルにおける部品ライブラリID」による対応部品の絞り込みが指定されているときは、各部品の部品ライブラリIDが同一である(すなわち、部品の特性値等まで同一である)部品を対応部品として特定する。なお、このような絞り込みのための条件を、優先度を付けて複数設定するようにしてもよい。そのような場合には、対応部品が1つに絞り込まれるまで設定された条件を優先度の順に適用して、絞り込みを行う。
その後、回路図座標による対応部品抽出処理を終了し、図14の処理に戻り、ステップS13に移行する。
このように、回路図座標による対応部品抽出処理を行うことにより、回路設計において設計者が作成した回路図に基づいて部品群の対応付けが行われる。ここで、実装設計においては、ある制約条件において規定されている部品と、他の制約条件において規定されている部品との間でプリント基板上における同様の配置位置を採用できる場合がある。また、上でも述べたとおり、設計者は部品を機能的にグループ化して回路図上に配置する傾向があり、CADシステムの有する機能により、類似する部品群を回路図上でコピー及び修正して回路図を作成することもある。従って、回路図上の座標を用いて位置関係が類似する部品群を対応付ければ、実装設計において同様の配置位置を採用できる部品群を特定することができる。
図14の処理の説明に戻り、ステップS7において基準部品の部品種別が同一であると判断された場合、対応部品特定部113は、トポロジによる対応部品抽出処理を実施する(ステップS11)。このトポロジによる対応部品抽出処理については、図25を用いて説明する。
まず、対応部品特定部113は、基準条件についての処理を制御するために用いるインデックス番号nを1で初期化する(図25:ステップS91)。そして、対応部品特定部113は、nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であるか判断する(ステップS93)。
nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数未満であると判断された場合、対応部品特定部113は、制約条件データ格納部107において基準条件に規定されている、基準部品以外の部品において、n番目のレコードに係る部品のデータをPRnとして取得し、データ格納部103に格納する(ステップS95)。ここでは、まず対応部品特定部113は、データ格納部103に格納されている基準条件を特定するためのデータを用いて制約条件データ格納部107の制約条件テーブルから基準条件のレコードを取得する。そして、対応部品特定部113は、取得した基準条件のレコードからリンクされている、設定対象テーブルのレコードにおいて、n番目のレコードに係る部品の設定対象IDをPRnとして取得し、データ格納部103に格納する。
そして、対応部品特定部113は、取得した部品PRnが基準部品と接続されているか判断する(ステップS97)。ここでは、まず、設定対象IDをキーとして、回路データ格納部105に格納されている部品テーブルにおいて該当するレコードを特定する。そして、該当するレコードからリンクされている、部品ピンテーブルのレコード、リンクテーブルのレコードを探索し、基準条件の基準部品と接続されているか判断する。基準部品と接続されていないと判断された場合、ステップS105に移行する。
一方、基準部品と接続されていると判断された場合、対応部品特定部113は、対象条件に規定されている部品の中から、対象条件の基準部品と接続されている部品であって、未だ基準条件に規定されている部品と対応付けされていないものを抽出する(ステップS99)。ここでは、対象条件に規定されている部品について、ステップS97と同様に、回路データ格納部105に格納されている部品テーブル、部品ピンテーブル及びリンクテーブルを探索し、基準部品と直接接続されている部品を特定する。また、対応部品特定部113は、データ格納部103に格納されているデータを用いて、基準条件に規定されている部品のいずれかと既に対応付けがされているか判断し、対応付けされていない部品を抽出する。なお、後の処理において、基準条件に規定されている部品と対象条件に規定されている部品との対応付けがなされた場合、データ格納部103には対応する部品の組み合わせが格納される。
その後、対応部品特定部113は、ステップS95において取得された部品PRn及びステップS99において抽出された部品の各々について、部品ライブラリデータ格納部111に格納されているデータを取得する(ステップS101)。ここでは、対象条件に規定されている部品の部品種別、当該部品の部品ピンのうち基準部品と接続されている部品ピンの部品ピン情報(部品ピンの番号及び属性)、部品ライブラリID等、予めユーザ等により設定され、データ格納部103に格納されている、対応付けのための条件を取得する。
そして、対応部品特定部113は、ステップS99で抽出された部品から、部品PRnに対応する部品を特定し、対応部品に係る組合せをデータ格納部103に格納する(ステップS103)。ここでは、例えば、基準条件に規定されている部品と対象条件に規定されている部品とについて、基準部品と接続されている部品ピンの番号が同一であるか、基準部品と接続されている部品ピンの属性が同一であるか、部品自体の部品種別が同一であるか、さらに部品ライブラリIDが同一であるか(部品の特性値等が同一であるか)といった判断がなされ、該当する部品が存在すれば、対応部品として特定する。なお、これらの条件に該当する部品が複数存在する場合は、例えば設定対象テーブルの番号が最小のものを1つ対応付ける。
そして、対応部品特定部113はインデックス番号nを1インクリメントし(ステップS105)、ステップS93の処理へ戻る。このように、ステップS93乃至ステップS105の処理が繰り返されて、基準条件に規定されている部品と、対象条件に規定されている部品との対応付けが行われる。そして、ステップS93において、nが、設定対象テーブルにおける、基準条件に規定されているレコードのレコード数以上であると判断された場合、トポロジによる対応部品抽出処理を終了し、図14の処理に戻る。
このように、トポロジによる対応部品抽出処理を行うことでも、回路図データに基づいて部品群の対応付けができる。また、部品同士の接続関係及び接続されている部品の種別や特性値といった回路トポロジが類似する部品群も、プリント基板上において同様の配置位置を採用できる可能性がある。従って、回路トポロジに基づいて部品群を対応付けるようにしても、実装設計において同様の配置位置を採用することができる部品群を特定することができる。
図14の処理の説明に戻り、ステップS9又はステップS11の後、対応部品特定部113は、部品の対応付けに関するデータをデータ格納部103から読み出し、対応付けられている部品について、設定対象テーブルにおける番号の欄に同一の値を設定する(ステップS13)。ここでは、例えば、対象条件に規定されている部品の番号を、基準条件に規定されている部品の番号にそろえる。なお、対応する部品が存在しない場合には、欠番が生じる場合もある。
例えば、図19A及び図19Bの例において、部品C5と部品C8とが対応付けられ、また部品C7と部品C10とが対応付けられたとすると、設定対象テーブル(図11)において、部品C8の番号の欄には部品C5と同一の番号2が、部品C10の番号の欄には部品C7と同一の番号4が設定される。また、部品C6及び部品C9について対応する部品が特定されなかったとすると、設定対象テーブルにおいて、部品C9の番号の欄には、基準条件に規定されている部品と重複しないように採番された番号が付与される。このような処理を行うことにより、回路設計において作成したデータから部品群の対応関係を特定できるようになる。
また、表示部117が、制約条件データ格納部107に格納されているデータを表示する(ステップS15)。例えば、ステップS13で番号を対応付けた後の、基準条件に規定されている部品と対象条件に規定されている部品とを表示する。
図19A及び図19Bに示した部品のデータの場合は、図26に示すようなデータが表示される。図26に示したテーブルでは、設定対象テーブルに登録されている設定対象名、設定対象ID及び番号を用いて、基準条件に係るデータと対象条件に係るデータとを左右に並べ、それぞれの条件に規定されている部品のデータを、番号の欄に登録されている値の昇順に並べている。そして、番号2の行に部品C5及び部品C8が、番号4の行に部品C7及び部品C10が表示されている。また、部品C6及び部品C9には他の制約条件に対応する部品が表示されていない。このように、1つの制約条件に規定されている部品を縦方向に表示し、対応する部品を横方向に表示すれば、ユーザは部品群の対応関係を容易に把握することができる。
そして、出力部115は、回路データ格納部105及び制約条件データ格納部107から、図示していない実装設計者の端末又は情報処理装置1のデータ格納部103等に、ネットリストのデータ及び対応付けされた部品のデータを含む制約条件のデータを出力する(ステップS17)。制約条件に規定されている部品群が既に対応付けられているため、実装設計においてこのようなデータを用いれば、類似する部品群について同一の配置位置を適用することが容易となる。なお、回路設計において作成された回路図データを、実装設計において読み出すことができるならば、本実施の形態に係る処理を実装設計の段階で実施するようにしてもよい。
また、例えばステップS17の前において、図26に示したようなテーブルに対して、ユーザが部品の順序を変更できるようにし、部品の対応付けを変更できるようにしてもよい。例えば、図26に示したテーブルにおいて、選択した部品の順序を上下方向に移動させたり、選択した部品をドラッグして順序を変更したり、選択した複数の部品をアルファベット順にソートし直したりすることができるようにする。このようにすれば、例えば本実施の形態に係る処理を行った後で、ユーザが結果を確認し、細かい修正を行うことができるようになる。
また、例えば図27に示すように、1つの基準条件に規定されている部品と、複数の対象条件に規定されている部品とを対応付けられるようにしてもよい。図27の例では、3つの制約条件に係る部品群が表示されており、例えば左の制約条件が基準条件であるものとする。この場合、まず、基準部品特定処理においては各対象条件に規定されている部品からそれぞれ基準部品が特定される。そして、回路図座標による対応部品抽出処理又はトポロジによる対応部品抽出処理においては、基準条件に規定されている部品と各対象条件に規定されている部品とについて、対応する部品が存在するか判断される。なお、各対象条件についての処理は、順番に実施してもよいし、並行して実施してもよい。
また、回路図座標による対応部品抽出処理及びトポロジによる対応部品抽出処理の両方のアルゴリズムで対応部品を特定し、結果に差があればわかるようにユーザに提示するようにしてもよい。
なお、回路図による対応部品抽出処理においては、ステップS67乃至ステップS79で対応部品候補を抽出し、ステップS81乃至ステップS85でその中から1つの対応部品を特定しているが、ステップS75、ステップS81及びステップS85で用いる条件を順に適用して、はじめから1つの対応部品を特定するようにしてもよい。また、ステップS51で対応付けが外されてしまった、基準条件に規定されている部品について、再度対応部品候補との対応付けを行うようにしてもよい。
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしてもよい。さらに、1台のコンピュータではなく、複数のコンピュータで上で述べた機能を実現するようにしてもよい。
なお、上で述べた情報処理装置1は、コンピュータ装置であって、図28に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る情報処理方法は、(A)部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、(B)第1の基準部品と第1の部品群における第1の基準部品以外の部品である第3の部品との位置関係と第3の部品の属性とに基づき、第2の部品群において第2の基準部品以外の部品であって第3の部品との対応関係がある第4の部品を特定する特定ステップとを含む。
まず、プリント基板上における複数の部品の位置関係に関する制約条件において規定されている部品には、他の制約条件において規定されている部品との間でプリント基板上における同様の配置位置を採用できるものが存在し得る。そこで、上で述べたような処理を行えば、プリント基板上において同様の配置位置を採用し得る上記第4の部品が特定できる。このような対応関係にある部品を特定しておけば、実装設計において同様の配置を適用できるため、設計者の作業負担を軽減することができる。
また、特定ステップが、(b1)回路図に規定されている、部品の座標を含む回路図データを格納している回路図データ格納部から、第1の基準部品、第3の部品、第2の基準部品及び第2の部品群における第2の基準部品以外の部品である第5の部品の座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、第3の部品及び第5の部品の部品種別を取得するステップと、(b2)第5の部品の中から、第3の部品の部品種別と同一の部品種別を有し、第1の基準部品と第3の部品との間の、座標に基づく距離と、第2の基準部品との、座標に基づく距離との差が最小となる部品を、第4の部品として抽出するステップとを含むようにしてもよい。このようにすれば、部品種別及び回路図上の座標に基づいて、上記第4の部品を特定できる。設計者は、類似する回路に含まれる部品群を、回路図においても同じようなレイアウトで規定する傾向がある。また、設計者は、CADシステムにおいて類似する回路のデータをコピーして回路図を作成することもある。従って、回路図における座標及び部品種別に対応関係が認められる場合、プリント基板上において同様の配置位置を採用し得る部品である可能性が高い。
そして、特定ステップが、(b3)回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、第1の基準部品及び第2の基準部品についての接続関係を表すデータに基づき、第1の基準部品に接続されている第3の部品である第6の部品及び第2の基準部品に接続されており且つ第2の部品群における第2の基準部品以外の部品である第7の部品を抽出するステップと、(b4)部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、第6の部品に関する部品のデータ及び第7の部品に関する部品のデータを抽出するステップと、(b5)第7の部品の中から、第6の部品に関する部品のデータのうち少なくとも一部と、第7の部品に関する部品のデータのうち少なくとも一部とが一致する部品を第4の部品として特定するステップとを含むようにしてもよい。このようにすれば、基準部品と接続関係にある部品のデータ(すなわち回路トポロジ)に基づいて、上記第4の部品を特定できる。このような関係にある部品も、プリント基板上において同様の配置位置を採用し得る部品である可能性が高い。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、
前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の部品群において前記第2の基準部品以外の部品であって前記第3の部品との対応関係がある第4の部品を特定する特定ステップと、
をコンピュータに実行させるためのプログラム。
(付記2)
前記特定ステップが、
回路図に規定されている部品の配置座標を含む回路図データを格納している回路図データ格納部から、前記第1の基準部品、前記第3の部品、前記第2の基準部品及び前記第2の部品群における前記第2の基準部品以外の部品である第5の部品の配置座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、前記第3の部品及び前記第5の部品の部品種別を取得するステップと、
前記第5の部品の中から、前記第3の部品の部品種別と同一の部品種別を有し、前記第1の基準部品と前記第3の部品との間の、前記配置座標に基づく距離と、前記第2の基準部品との、前記配置座標に基づく距離との差が最小となる部品を、前記第4の部品として抽出するステップと
を含む付記1記載のプログラム。
(付記3)
前記特定ステップが、
回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、前記第1の基準部品及び前記第2の基準部品についての前記接続関係を表すデータに基づき、前記第1の基準部品に接続されている前記第3の部品である第6の部品及び前記第2の基準部品に接続されており且つ前記第2の部品群における前記第2の基準部品以外の部品である第7の部品を抽出するステップと、
部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、前記第6の部品に関する部品のデータ及び前記第7の部品に関する部品のデータを抽出するステップと、
前記第7の部品の中から、前記第6の部品に関する部品のデータのうち少なくとも一部と、前記第7の部品に関する部品のデータのうち少なくとも一部とが一致する部品を前記第4の部品として特定するステップと
を含む付記1記載のプログラム。
(付記4)
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、
前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の部品群において前記第2の基準部品以外の部品であって前記第3の部品との対応関係がある第4の部品を特定する特定ステップと、
を含み、コンピュータにより実行される情報処理方法。
(付記5)
部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定する基準部品特定部と、
前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の部品群において前記第2の基準部品以外の部品であって前記第3の部品との対応関係がある第4の部品を特定する対応部品特定部と、
を有する情報処理装置。
1 情報処理装置 101 入力部
103 データ格納部 105 回路データ格納部
107 制約条件データ格納部 109 基準部品特定部
111 部品ライブラリデータ格納部 113 対応部品特定部
115 出力部 117 表示部

Claims (5)

  1. 部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、
    前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第2の部品群において前記第2の基準部品以外の部品を、前記第3の部品との対応関係がある第4の部品として特定する特定ステップと、
    をコンピュータに実行させるためのプログラム。
  2. 前記特定ステップが、
    回路図に規定されている部品の配置座標を含む回路図データを格納している回路図データ格納部から、前記第1の基準部品、前記第3の部品、前記第2の基準部品及び前記第2の部品群における前記第2の基準部品以外の部品である第5の部品の配置座標を取得すると共に、部品種別を含む部品のデータを格納している部品データ格納部から、前記第3の部品及び前記第5の部品の部品種別を取得するステップと、
    前記第5の部品の中から、前記第3の部品の部品種別と同一の部品種別を有し、前記第1の基準部品と前記第3の部品との間の、前記配置座標に基づく距離と、前記第2の基準部品との、前記配置座標に基づく距離との差が最小となる部品を、前記第4の部品として抽出するステップと
    を含む請求項1記載のプログラム。
  3. 前記特定ステップが、
    回路図に規定されている部品の接続関係を表すデータを含む回路図データを格納している回路図データ格納部に格納されている、前記第1の基準部品及び前記第2の基準部品についての前記接続関係を表すデータに基づき、前記第1の基準部品に接続されている前記第3の部品である第6の部品及び前記第2の基準部品に接続されており且つ前記第2の部品群における前記第2の基準部品以外の部品である第7の部品を抽出するステップと、
    部品種別、部品の特性値、部品ピンの番号及び部品ピンの属性のうち少なくともいずれかを含む部品のデータを格納する部品データ格納部から、前記第6の部品に関する部品のデータ及び前記第7の部品に関する部品のデータを抽出するステップと、
    前記第7の部品の中から、前記第6の部品に関する部品のデータのうち少なくとも一部と、前記第7の部品に関する部品のデータのうち少なくとも一部とが一致する部品を前記第4の部品として特定するステップと
    を含む請求項1記載のプログラム。
  4. 部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定するステップと、
    前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第2の部品群において前記第2の基準部品以外の部品を、前記第3の部品との対応関係がある第4の部品として特定する特定ステップと、
    を含み、コンピュータにより実行される情報処理方法。
  5. 部品が実装されるプリント基板上における複数の部品の位置関係に関する制約条件を格納する条件格納部において、基準となる第1の制約条件において規定されている第1の部品群から第1の基準部品を特定し、前記第1の制約条件と対比される第2の制約条件において規定されている第2の部品群から第2の基準部品を特定する基準部品特定部と、
    前記第1の基準部品と前記第1の部品群における前記第1の基準部品以外の部品である第3の部品との位置関係と前記第3の部品の属性とに基づき、前記第2の基準部品を基準として、前記位置関係と一致し、或いは前記位置関係に近似する位置関係を有する、前記第2の部品群において前記第2の基準部品以外の部品を、前記第3の部品との対応関係がある第4の部品として特定する対応部品特定部と、
    を有する情報処理装置。
JP2011076095A 2011-03-30 2011-03-30 実装設計支援プログラム、方法及び装置 Expired - Fee Related JP5691743B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011076095A JP5691743B2 (ja) 2011-03-30 2011-03-30 実装設計支援プログラム、方法及び装置
US13/427,945 US8769466B2 (en) 2011-03-30 2012-03-23 Implementation design support method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011076095A JP5691743B2 (ja) 2011-03-30 2011-03-30 実装設計支援プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
JP2012208907A JP2012208907A (ja) 2012-10-25
JP5691743B2 true JP5691743B2 (ja) 2015-04-01

Family

ID=46929027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011076095A Expired - Fee Related JP5691743B2 (ja) 2011-03-30 2011-03-30 実装設計支援プログラム、方法及び装置

Country Status (2)

Country Link
US (1) US8769466B2 (ja)
JP (1) JP5691743B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3002805B1 (fr) * 2013-03-04 2015-02-20 Renault Sa Procede de traitement d'un ensemble de donnees destinees a etre utilisees ulterieurement en vue de la generation graphique d'un schema electrique d'un systeme electrique
US9026982B2 (en) * 2013-03-04 2015-05-05 Simplify Design Automation, Inc. Wiring board design system and wiring board design method
TW201518972A (zh) * 2013-11-14 2015-05-16 Wistron Corp 印刷電路板之電路設計模擬系統及其電路設計方法
US10534887B1 (en) * 2018-05-31 2020-01-14 Cadence Design Systems, Inc. Power domain placement of circuit components in advance node custom design
US11354477B1 (en) * 2021-01-25 2022-06-07 Cadence Design Systems, Inc. System and method for performance estimation for electronic designs using subcircuit matching and data-reuse

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05290125A (ja) 1991-11-28 1993-11-05 Sanyo Electric Co Ltd アナログ回路基板の自動設計システム
EP0696775A1 (en) * 1993-04-21 1996-02-14 Hitachi, Ltd. Computer-aided design and production system for component arrangement and pipe routing
JPH07262233A (ja) 1994-03-17 1995-10-13 Fujitsu Ltd アナログlsiにおける素子の形状決定方法及びその形状決定装置
US5691913A (en) * 1994-03-28 1997-11-25 Matsushita Electric Ind. Co. Layout designing apparatus for circuit boards
DE69522660T2 (de) * 1995-03-29 2002-06-20 Cocreate Software Gmbh Verfahren zum Verknüpfen einer dimensionalen Darstellung mit einer Struktur in einem CAD-System
JP3307196B2 (ja) * 1995-11-16 2002-07-24 松下電器産業株式会社 部品自動配置装置
JP2912264B2 (ja) 1996-10-24 1999-06-28 日本電気アイシーマイコンシステム株式会社 自動配置方法
WO2001082145A1 (fr) * 2000-04-21 2001-11-01 Hitachi, Ltd. Procede d'analyse de diaphonie, procede de conception/production de circuit electronique a l'aide dudit procede, et support enregistre de bibliotheque de circuit electronique
JP3998169B2 (ja) * 2000-09-14 2007-10-24 株式会社ルネサステクノロジ 回路の設計方法および回路の設計支援プログラム並びに回路設計装置
JP2002259478A (ja) * 2001-02-28 2002-09-13 Nec Corp 統合デジタル回路設計システム及び設計方法
JP4035354B2 (ja) * 2001-07-11 2008-01-23 富士通株式会社 電子回路設計方法及び装置、コンピュータプログラム及び記憶媒体
JP2006079447A (ja) * 2004-09-10 2006-03-23 Fujitsu Ltd 集積回路設計支援装置、集積回路設計支援方法及び集積回路設計支援プログラム
JP4445480B2 (ja) * 2006-03-23 2010-04-07 富士通株式会社 シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置
JP2009294744A (ja) * 2008-06-03 2009-12-17 Nec Electronics Corp バスインターフェース設計装置、バスインターフェース設計方法、及びプログラム
JP2010128682A (ja) * 2008-11-26 2010-06-10 Nec Corp 図形部品検索システム、方法、及びプログラム
JP2010218052A (ja) * 2009-03-13 2010-09-30 Sharp Corp 設計支援装置および設計支援プログラムおよび記録媒体
JP5267398B2 (ja) * 2009-09-25 2013-08-21 富士通株式会社 自動回路設計用パレートデータ生成プログラム、方法及び装置、並びに自動回路設計プログラム、方法及び装置
US8316337B2 (en) * 2009-12-23 2012-11-20 Cadence Design Systems, Inc. Method and system for optimally placing and assigning interfaces in a cross-fabric design environment
JP2011151100A (ja) * 2010-01-20 2011-08-04 Fujitsu Ltd クロックジッタ抑制方法及びプログラム

Also Published As

Publication number Publication date
US20120254821A1 (en) 2012-10-04
US8769466B2 (en) 2014-07-01
JP2012208907A (ja) 2012-10-25

Similar Documents

Publication Publication Date Title
US9792396B2 (en) Method and apparatus for automatic relative placement generation for clock trees
US6516456B1 (en) Method and apparatus for selectively viewing nets within a database editor tool
US6851094B1 (en) Automated method and system for selecting and procuring electronic components used in circuit and chip designs
US6910200B1 (en) Method and apparatus for associating selected circuit instances and for performing a group operation thereon
US6675139B1 (en) Floor plan-based power bus analysis and design tool for integrated circuits
US10049175B1 (en) Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns
US6230305B1 (en) Methods and apparatus for configuring schematic diagrams
JP5691743B2 (ja) 実装設計支援プログラム、方法及び装置
TWI450117B (zh) 客製化電路板的硬體描述語言產生系統及方法
US7590963B2 (en) Integrating multiple electronic design applications
US7975247B2 (en) Method and system for organizing data generated by electronic design automation tools
US9304981B1 (en) System and method for providing an inter-application overlay to communicate information between users and tools in the EDA design flow
JP2015166981A (ja) レイアウト検証方法、検証装置、及び検証プログラム
US7076410B1 (en) Method and apparatus for efficiently viewing a number of selected components using a database editor tool
US8056040B2 (en) Method and system for visual implementation of layout structures for an integrated circuit
JP4084229B2 (ja) 製品データ管理システム及びプログラム
JP5418341B2 (ja) 設計支援プログラム、設計支援装置および設計支援方法
JP2009176049A (ja) 解析支援装置、解析支援方法および解析支援プログラム
WO2016187410A1 (en) Visualization of analysis process parameters for layout-based checks
US8694940B2 (en) System and method for integrated circuit design and implementation using mixed cell libraries
US20010032222A1 (en) System, method and computer accessible storage medium, for creating and editing structured parts list
JPWO2005038675A1 (ja) プリント基板設計指示支援方法およびその装置
JP6981296B2 (ja) バス配線探索プログラム、バス配線探索方法および情報処理装置
US7275223B2 (en) Facilitating high-level validation of integrated circuits in parallel with development of blocks in a hierarchical design approach
JP2009176053A (ja) 解析支援装置、解析支援方法および解析支援プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140826

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5691743

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees