JP2000200298A - グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置 - Google Patents

グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置

Info

Publication number
JP2000200298A
JP2000200298A JP11147959A JP14795999A JP2000200298A JP 2000200298 A JP2000200298 A JP 2000200298A JP 11147959 A JP11147959 A JP 11147959A JP 14795999 A JP14795999 A JP 14795999A JP 2000200298 A JP2000200298 A JP 2000200298A
Authority
JP
Japan
Prior art keywords
circuit
data
arrangement
circuit data
graph
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.)
Granted
Application number
JP11147959A
Other languages
English (en)
Other versions
JP3791239B2 (ja
Inventor
Makoto Hirahara
誠 平原
Natsuki Oka
夏樹 岡
Kunio Yoshida
邦夫 吉田
Toshiki Kanemichi
敏樹 金道
Tomohiro Uchida
智洋 内田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP14795999A priority Critical patent/JP3791239B2/ja
Publication of JP2000200298A publication Critical patent/JP2000200298A/ja
Application granted granted Critical
Publication of JP3791239B2 publication Critical patent/JP3791239B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 構造を持った情報である回路を、小規模のグ
ラフに変換し、小規模のグラフ間のマッチングを行なう
ことで、初心者でも熟練者と同様な配置ができる自動配
置方法を提供することを目的とする。 【解決手段】 予め熟練者が作成した複数の回路データ
と配置データを記憶したデータベースと、新規に作成し
た回路データと前記熟練者が作成した回路データとを、
各ネットに対応した属性と属性値からなるノードを生成
し、各ノードペアに対応したネットペアが共有する情報
を属性と属性値とからなるエッジとからなるグラフにそ
れぞれ変換し、変換されたグラフ間のマッチングを行
い、マッチング度の高い熟練者が作成した回路データに
沿って、新規回路データを配置するものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、構造を持った情報
である回路データをグラフ表現に変換し、グラフ間のマ
ッチングを行なうことで、回路マッチングを行うことに
より、新規に作成した回路データを熟練者のように配置
することができるグラフ表現変換方法及びその装置、並
びに自動配置方法及びその装置に関するものである。
【0002】
【従来の技術】CADの普及にともなって、専門家によ
る設計事例(回路データと配置データを含む)はデータ
ベースに蓄積されつつある。各々の設計事例は設計の専
門家のノウハウを含んだ貴重な情報である。こうした設
計事例データベースを有効利用できれば、ノウハウを共
有することが可能となり、設計の効率化を促進できる。
【0003】このような観点から、最近では、内容情報
と属性情報のペアで構成される回路データとその対とな
る配置データ(部品の配置情報)とからなる設計事例を
管理するためのシステムが開発されている。
【0004】ここで、内容情報とは、回路そのものを表
現した構造をもった情報であり、一般のCADにおいて
は、部品リストとネットリストから構成される。ここ
で、部品リストとは、回路を構成する個々の部品を番号
付けしたリストである。このため、回路を構成する部品
の数をNpで表すと、部品リストのリスト数はNpに一致
する。各々の部品に対しては、抵抗やコンデンサなどの
部品種類の情報や、ピン数の情報等が記述されている
(実際のCADでは、部品リストを簡素化するために、
マスタリストが使われる。このマスタリストは、部品種
類を番号付けしたリストであり、各々の部品種類に対し
ては、部品の形状、ピン数、ピンの位置などの詳細な情
報が記述されている。ここでは部品リスト中にピン数の
情報を含めているが、実際には、部品リスト中の部品種
類の情報から、マスタリストにアクセスすることによっ
て得られる情報である。)。また、ネットリストとは、
部品のピン間の結線であるネットを番号付けしたリスト
である。このため、回路中のネット数をNnで表すと、
ネットリストのリスト数はNnに一致する。各々のネッ
トに対しては、そのネットでつながる部品の番号やピン
番号などの情報が記述されている。
【0005】図3(a)に、Np=6個の部品とNn=
3本のネットから構成される回路101、および、その
回路101を部品リスト102とネットリスト103の
ペアで表現した例を示す。ここで、回路(図3(a))
における斜線の四角形は部品を示し、内部の数字は部品
番号を示す。また、部品内の円形はピンを示し、ピン内
の数字はピン番号を示す。さらに、ピン間を結ぶ直線は
ネット、ネット上の数字はネット番号を示しており、1
つのネットで結ばれているピンは同電位である。このよ
うに、部品リスト(図3(b))には、回路101を構
成するNp=6個の部品の各々に対して、部品種類とピン数
が、ネットリスト(図3(c))には、Nn=3本のネット
の各々に対して、そのネットを構成する部品の番号とピ
ン番号が記述されている。
【0006】また、属性情報とは、設計者、設計日、対
象製品(属性値としてはテレビやラジカセなどをと
る)、実装する基板のサイズや材質、部品点数などを属
性とした属性・属性値で表現される情報である。
【0007】こうした内容情報と属性情報とのペアで構
成される回路データ(と配置データを含む設計事例)を
管理する管理システムは、その属性情報に基づいてリレ
ーショナルデータベース化したものであり、内容情報
は、属性情報に付随するかたちで蓄積されている。この
ため、管理システムでは、一般に、属性情報を頼りに、
必要な回路データを検索する。例えば、テレビのプリン
ト基板回路を設計したい場合、属性“対象製品”に属性
値“テレビ”を入力することで、管理システム中のテレ
ビに関わる回路データを引き出すことが可能となり、必
要な回路データやその対となる配置データを参照でき
る。
【0008】このように、リレーショナルデータベース
を基本とした管理システムでは、回路データの属性情報
を利用し、属性に対する属性値を入力することで過去に
設計した回路データやその対となる配置データを検索す
る。
【0009】
【発明が解決しようとする課題】しかしながら、管理シ
ステムが検索の頼りにしている属性情報には、専門家の
ノウハウという貴重な情報が充分には反映されていな
い。専門家のノウハウが豊かに反映されているのは、む
しろ、内容情報であろうが、現状の管理システムでは、
この内容情報を頼りにした検索を行なうことができな
い。これは、リレーショナルデータベースが扱うことの
できる属性・属性値という単純な表現方法で、構造を持
った内容情報を表現すると、検索する際に必要となる内
容情報どうしのマッチングに問題が生じるためである。
例えば、回路1のある抵抗部品は、回路2に含まれる多
数の抵抗部品の内、どの抵抗部品に対応するかという問
題が生じるためである。このため、内容情報を検索する
際には、まず、属性情報で回路データの絞り込みを行な
い、次に、絞り込まれた回路データの内容情報をユーザ
自身が1つずつ眺め、必要な内容情報を見つけ出す必要
がある。回路データが蓄積されつつある現状から今後を
推察すると、たとえ、属性情報による絞り込みを行なっ
ても、内容情報の検索には、莫大な労力と時間が払われ
ることになるであろう。
【0010】本発明は、構造を持った情報である回路デ
ータをグラフに変換し、グラフ間のマッチングを行なう
ことで、回路マッチングを行い、熟練者が作成した回路
データとその配置データを記憶したデータベースからマ
ッチング度の高い回路データを検索し、検索した回路デ
ータの対となる配置データに沿って、新規に作成した回
路データを熟練者と同様な配置することができるグラフ
表現変換方法及びその装置並びに自動配置方法及びその
装置を提供することを目的とする。
【0011】
【課題を解決するための手段】この目的を達成するため
に本発明は、部品リストとネットリストからなる回路デ
ータとその配置データをデータベースに記憶し、新規回
路データと前記データベース中の回路データとをノード
とエッジとからなるグラフにそれぞれ変換し、変換され
たグラフ間のマッチングを行い、マッチング度の高い回
路データを検索し、検索した回路データの対となる配置
データに沿って、新規回路データを配置するようにした
ものである。
【0012】この発明によれば、構造を持った情報であ
る回路データをグラフに変換し、グラフ間のマッチング
を行なうことで、回路マッチングを行い、熟練者が作成
した回路データとその配置データを記憶したデータベー
スからマッチング度の高い回路データを検索し、検索し
た回路データの対となる配置データに沿って、新規回路
データを配置することができ、熟練者と同様な配置がで
きるものである。
【0013】
【発明の実施の形態】本発明の請求項1に記載の発明
は、部品リストとネットリストからなる回路データを、
各ネットに対応した属性と属性値とからなるノードと、
各ノードペアに対応した属性と属性値とからなるエッジ
とからなるグラフ表現に変換するものであり、構造を持
った情報である回路をグラフに変換できるという作用を
有する。
【0014】請求項2に記載の発明は、請求項1記載の
グラフ表現変換方法において、前記ノードおよび前記エ
ッジにおける属性として少なくとも部品種類毎の部品数
を含み、その実際の値を属性値とするもので、構造を持
った情報である回路をグラフに変換できるという作用を
有する。
【0015】請求項3に記載の発明は、部品リストとネ
ットリストからなる回路データを、各部品に対応した属
性と属性値とからなるノードと、各ノードペアに対応し
た属性と属性値とからなるエッジとからなるグラフ表現
に変換するものであり、構造を持った情報である回路を
グラフに変換できるという作用を有する。
【0016】請求項4に記載の発明は、請求項3記載の
グラフ表現変換方法において、前記ノードにおける属性
として少なくとも部品種類を含み、その部品種類の名称
を属性値とし、前記エッジにおける属性として少なくと
も配線本数を含み、その実際の値を属性値とするもの
で、構造を持った情報である回路をグラフに変換できる
という作用を有する。
【0017】請求項5に記載の発明は、熟練者が設計し
た部品リストとネットリストからなる回路データとその
配置データをデータベースに記憶し、新規回路データと
データベース中の回路データとをノードとエッジとから
なるグラフにそれぞれ変換し、変換されたグラフ間のマ
ッチングを行い、マッチング度の高い回路データを検索
し、検索した回路データの対となる配置データに沿っ
て、新規回路データを配置するようにしたもので、熟練
者と同様な配置ができるという作用を有する。
【0018】請求項6に記載の発明は、請求項5記載の
自動配置方法において、前記新規回路データと前記デー
タベース中の回路データとをノードとエッジとからなる
グラフにそれぞれ変換する際に、請求項1または2に記
載のグラフにそれぞれ変換するようにしたもので、熟練
者と同様な配置ができるという作用を有する。
【0019】請求項7に記載の発明は、請求項5記載の
自動配置方法において、前記新規回路データと前記デー
タベース中の回路データとをノードとエッジとからなる
グラフにそれぞれ変換する際に、請求項3または4に記
載のグラフにそれぞれ変換するようにしたもので、熟練
者と同様な配置ができるという作用を有する。
【0020】請求項8に記載の発明は、前記新規回路デ
ータと前記データベース中の回路データとをノードとエ
ッジとからなるグラフにそれぞれ変換し、変換されたグ
ラフ間のマッチングを行う際に、前記新規回路データの
ネット数と前記データベース中の回路データのネット数
との積と、前記新規回路データの部品数と前記データベ
ース中の回路データの部品数との積とを比較して、前者
の積が小さい場合、請求項1または2に記載のグラフに
それぞれ変換するとともに、後者の積が小さい場合、請
求項3または4に記載のグラフにそれぞれ変換し、ノー
ド数が少なくなった方のグラフ間でマッチングを行うよ
うにしたもので、熟練者と同様な配置ができるという作
用を有する。
【0021】請求項9に記載の発明は、請求項5乃至8
のいずれかに記載の自動配置方法において、データベー
ス中からマッチング度の高い回路データを検索する際
の、変換されたグラフ間のマッチングは、ニューラルネ
ット、平均場アニーリング、シミュレーテッドアニーリ
ング法または遺伝的アルゴリズムのいずれかを用いるも
ので、回路マッチングを最適に行い、熟練者と同様な配
置ができるという作用を有する。
【0022】請求項10に記載の発明は、請求項9記載
の自動配置方法において、ニューラルネットによるグラ
フ間のマッチングは、ニューラルネットのパラメータや
初期状態などを設定し、設定されたパラメータ等に基づ
いて現在のマッチング状態を示すニューラルネットの状
態を更新し、ニューラルネットの状態が収束しているか
どうかを判定し、収束していない場合はニューラルネッ
トの温度を更新し、ニューラルネットの状態を更新と収
束判定を繰り返すもので、回路マッチングを最適・高速
に実行し、熟練者と同様な配置ができるという作用を有
する。
【0023】請求項11に記載の発明は、請求項5乃至
10のいずれかに記載の自動配置方法において、検索し
た回路データの対となる配置データに沿って、新規回路
データを配置する際に、シミュレーテッドアニーリング
法、ニューラルネット、平均場アニーリング、または遺
伝的アルゴリズムのいずれかを用いるもので、熟練者と
同様な配置ができるという作用を有する。
【0024】請求項12に記載の発明は、請求項5乃至
11のいずれかに記載の自動配置方法において、検索し
た回路データの対となる配置データに沿って、新規回路
データを配置する際に、前記回路データの部品と前記新
規回路データの部品とを対応づけ、少なくともその対応
関係と前記配置データを用いて新規回路データに対して
の配置を評価するコスト関数を生成し、前記コスト関数
を最小化するもので、熟練者と同様な配置ができるとい
う作用を有する。
【0025】請求項13に記載の発明は、請求項5乃至
12のいずれかに記載の自動配置方法において、コスト
関数の最小化を行なう際に、少なくとも初期配置を生成
し、部品または部品群を移動や回転させることにより配
置を更新するもので、熟練者と同様な配置ができるとい
う作用を有する。
【0026】請求項14に記載の発明は、部品リストと
ネットリストからなる回路データとその配置データをデ
ータベースに記憶し、前記回路データ間に共通または類
似する部分回路である回路の概念を抽出し、前記回路の
概念に対しての部分的な配置データにおける配置の規則
性を抽出し、その配置の規則性に沿って新規回路データ
を配置する自動配置方法であり、熟練者の配置のノウハ
ウを満たした高品質な配置を実現できるという作用を有
する。
【0027】請求項15に記載の発明は、請求項14に
記載の自動配置方法において、回路の概念を抽出する際
に、回路データに共通する部分回路を共有した仮想的な
融合回路を生成し、前記融合回路を利用して前記回路デ
ータをベクトルに変換し、前記ベクトルに内在する概念
ベクトルを自動形成し、前記融合回路を利用して概念ベ
クトルを回路の概念に変換するとしたものであり、熟練
者の配置のノウハウを満たした高品質な配置を実現でき
るという作用を有する。
【0028】請求項16に記載の発明は、請求項15に
記載の自動配置方法において、融合回路を生成する際
に、融合回路を初期化し、データベースから回路データ
を読み込み、前記融合回路と前記回路データとのマッチ
ングを行い、マッチングがとれた部品を共有し、かつ、
マッチングが取れない部品を付加することで、前記融合
回路を更新するとしたものであり、熟練者の配置のノウ
ハウを満たした高品質な配置を実現できるという作用を
有する。
【0029】請求項17に記載の発明は、請求項15お
よび16のいずれかに記載の自動配置方法において、融
合回路を利用して回路データをベクトルに変換する際
に、前記回路データと前記融合回路との対応関係を利用
して、変換するとしたものであり、熟練者の配置のノウ
ハウを満たした高品質な配置を実現できるという作用を
有する。
【0030】請求項18に記載の発明は、請求項15乃
至17のいずれかに記載の自動配置方法において、ベク
トルに内在する前記概念ベクトルを自動形成する際に、
ニューラルネットを用いるとしたものであり、熟練者の
配置のノウハウを満たした高品質な配置を実現できると
いう作用を有する。
【0031】請求項19に記載の発明は、請求項15乃
至18のいずれかに記載の自動配置方法において、融合
回路を利用して前記概念ベクトルを前記回路の概念に変
換する際に、前記融合回路を利用するとしたものであ
り、熟練者の配置のノウハウを満たした高品質な配置を
実現できるという作用を有する。
【0032】請求項20に記載の発明は、請求項14に
記載の自動配置方法において、回路の概念を抽出する際
に、回路データに共通または類似する部分回路に含まれ
る部品数を任意に設定するとしたものであり、熟練者の
配置のノウハウを満たした高品質な配置を実現できると
いう作用を有する。
【0033】請求項21に記載の発明は、請求項14乃
至20のいずれかに記載の自動配置方法において、回路
の概念に対しての部分的な配置データにおける配置の規
則性を抽出する際に、前記回路の概念を含んだ回路デー
タの対となる配置データを利用するとしたものであり、
熟練者の配置のノウハウを満たした高品質な配置を実現
できるという作用を有する。
【0034】請求項22に記載の発明は、請求項21記
載の自動配置方法において、前記配置の規則性は、回路
の概念を構成する部品ペアの各々に対し、少なくとも、
前記部品ペアと対応が取れる回路データ中の部品ペアと
対になる配置データにおける部品間距離の平均とすると
したものであり、熟練者の配置のノウハウを満たした高
品質な配置を実現できるという作用を有する。
【0035】請求項23に記載の発明は、請求項21記
載の自動配置方法において、前記配置の規則性は、回路
の概念を構成する部品ペアの各々に対し、少なくとも、
前記部品ペアと対応が取れる回路データ中の部品ペアと
対になる配置データにおける部品間距離の分散とすると
したものであり、熟練者の配置のノウハウを満たした高
品質な配置を実現できるという作用を有する。
【0036】請求項24に記載の発明は、請求項21記
載の自動配置方法において、前記配置の規則性は、回路
の概念を構成する部品ペアの各々に対し、少なくとも、
前記部品ペアと対応が取れる回路データ中の部品ペアの
数があらかじめ設定した数より少ない場合は定数とする
としたものあるいは当該部品ペアを規則として考慮しな
いこととしたものであり、熟練者の配置のノウハウを満
たした高品質な配置を実現できるという作用を有する。
【0037】請求項25に記載の発明は、請求項14乃
至24のいずれかに記載の自動配置方法において、配置
の規則性に沿って新規回路データを配置する際に、前記
新規回路データと前記回路の概念とをノードとエッジと
からなるグラフにそれぞれ変換し、変換されたグラフ間
のマッチングを行い、マッチング度の高い回路の概念を
検索し、前記検索した回路の概念の対となる配置の規則
性に沿って前記新規回路データを配置するとしたもので
あり、熟練者の配置のノウハウを満たした高品質な配置
を実現できるという作用を有する。
【0038】請求項26に記載の発明は、請求項25記
載の自動配置方法において、新規回路データと回路の概
念とをノードとエッジとからなるグラフにそれぞれ変換
する際に、請求項1または2に記載のグラフ表現にそれ
ぞれ変換するとしたものであり、熟練者の配置のノウハ
ウを満たした高品質な配置を実現できるという作用を有
する。
【0039】請求項27に記載の発明は、請求項25に
記載の自動配置方法において、新規回路データと前記回
路の概念とをノードとエッジとからなるグラフにそれぞ
れ変換する際に、請求項3または4に記載のグラフ表現
にそれぞれ変換するとしたものであり、熟練者の配置の
ノウハウを満たした高品質な配置を実現できるという作
用を有する。
【0040】請求項28に記載の発明は、請求項25記
載の自動配置方法において、新規回路データと回路の概
念とをノードとエッジとからなるグラフにそれぞれ変換
する際に、前記新規回路データのネット数と前記回路の
概念のネット数との積と、前記新規回路データの部品数
と前記回路の概念との積とを比較して、前者の積が小さ
い場合、請求項1または2に記載のグラフ表現にそれぞ
れ変換し、後者の積が小さい場合、請求項3または4に
記載のグラフ表現にそれぞれ変換するとしたものであ
り、熟練者の配置のノウハウを満たした高品質な配置を
実現できるという作用を有する。
【0041】請求項29に記載の発明は、請求項25乃
至28のいずれかに記載の自動配置方法において、前記
マッチング度の高い回路の概念を検索する際のグラフ間
のマッチングは、ニューラルネット、平均場アニーリン
グ、シミュレーテッドアニーリング法または遺伝的アル
ゴリズムのいずれかを用いるとしたものであり、熟練者
の配置のノウハウを満たした高品質な配置を実現できる
という作用を有する。
【0042】請求項30に記載の発明は、請求項29記
載の自動配置方法において、ニューラルネットによるグ
ラフ間のマッチングは、ニューラルネットのパラメータ
や初期状態などを設定し、設定されたパラメータ等に基
づいて現在のマッチング状態を示すニューラルネットの
状態を更新し、ニューラルネットの状態が収束している
かどうかを判定し、収束していない場合はニューラルネ
ットの温度を更新し、ニューラルネットの状態の更新と
収束判定を繰り返すとしたものであり、熟練者の配置の
ノウハウを満たした高品質な配置を実現できるという作
用を有する。
【0043】請求項31に記載の発明は、請求項25乃
至30のいずれかに記載の自動配置方法において、検索
した回路の概念の対となる配置の規則性に沿って新規回
路データを配置する際に、シミュレーテッドアニーリン
グ法、ニューラルネット、平均場アニーリング、または
遺伝的アルゴリズムのいずれかを用いるとしたものであ
り、熟練者の配置のノウハウを満たした高品質な配置を
実現できるという作用を有する。
【0044】請求項32に記載の発明は、請求項25乃
至31のいずれかに記載の自動配置方法において、検索
した回路の概念の対となる配置の規則性に沿って新規回
路データを配置する際に、前記回路の概念の部品と前記
新規回路データの部品とを対応づけ、少なくともその対
応関係と前記配置の規則性を用いて前記新規回路データ
に対しての配置を評価するコスト関数を生成し、前記コ
スト関数を最小化するとしたものであり、熟練者の配置
のノウハウを満たした高品質な配置を実現できるという
作用を有する。
【0045】請求項33に記載の発明は、請求項32に
記載の自動配置方法において、コスト関数の最小化を行
なう際に、少なくとも初期配置を生成し、部品または部
品群を移動や回転させることにより配置を更新するとし
たものであり、熟練者の配置のノウハウを満たした高品
質な配置を実現できるという作用を有する。
【0046】請求項34に記載の発明は、部品リストと
ネットリストからなる回路データを、各ネットに対応し
た属性と属性値からなるノードを生成するノード生成手
段と、各ノードペアに対応した属性と属性値とからなる
エッジを生成するエッジ生成手段と、前記ノードおよび
前記エッジからグラフに変換するグラフ変換手段からな
るもので、構造を持った情報である回路をグラフに変換
できるという作用を有する。
【0047】請求項35に記載の発明は、請求項34記
載のグラフ表現変換装置において、ノードおよびエッジ
における属性として少なくとも部品種類毎の部品数を含
み、その実際の値を属性値とするもので、構造を持った
情報である回路をグラフに変換できるという作用を有す
る。
【0048】請求項36に記載の発明は、部品リストと
ネットリストからなる回路データを、各部品に対応した
属性と属性値とからなるノードを生成するノード生成手
段と、各ノードペアに対応した属性と属性値とからなる
エッジを生成するエッジ生成手段と、前記ノードおよび
前記エッジからグラフに変換するグラフ変換手段からな
るもので、構造を持った情報である回路をグラフに変換
できるという作用を有する。
【0049】請求項37に記載の発明は、請求項36記
載のグラフ表現変換装置において、ノードにおける属性
として少なくとも部品種類を含み、その部品種類の名称
を属性値とし、前記エッジにおける属性として少なくと
も配線本数を含み、その実際の値を属性値とする構造を
持った情報である回路をグラフに変換できるという作用
を有する。
【0050】請求項38に記載の発明は、部品リストと
ネットリストからなる回路データとその対となる配置デ
ータを記憶したデータベースと、新規回路データと前記
データベース中の回路データのそれぞれを、ノードを生
成するノード生成手段と、各ノードペアに対応したエッ
ジを生成するエッジ生成手段とを利用して、生成された
ノードおよびエッジからグラフに変換するグラフ変換手
段と、前記変換されたグラフ間のマッチングを行い、マ
ッチング度の高い回路データを検索するマッチング手段
と、検索した回路データの対となる配置データに沿っ
て、新規回路データを配置する配置手段とを具備するも
ので、回路マッチングを高速に実行し、熟練者と同様な
配置ができるという作用を有する。
【0051】請求項39に記載の発明は、請求項38記
載の自動配置装置において、新規回路データと前記デー
タベース中の回路データとをノードとエッジとからなる
グラフにそれぞれ変換する際に、請求項34または35
に記載のグラフ表現変換装置を用いるもので、回路マッ
チングを高速に実行し、熟練者と同様な配置ができると
いう作用を有する。
【0052】請求項40に記載の発明は、請求項38記
載の自動配置装置において、新規回路データとデータベ
ース中の回路データとをノードとエッジとからなるグラ
フにそれぞれ変換する際に、請求項36または37に記
載のグラフ表現変換装置を用いるもので、回路マッチン
グを高速に実行し、熟練者と同様な配置ができるという
作用を有する。
【0053】請求項41に記載の発明は、請求項38記
載の自動配置装置において、新規回路データと前記デー
タベース中の回路データとをノードとエッジとからなる
グラフにそれぞれ変換し、変換されたグラフ間のマッチ
ングを行う際に、請求項34または35に記載のグラフ
表現変換装置でそれぞれ変換するとともに、請求項36
または37に記載のグラフ表現変換装置でそれぞれ変換
し、前記マッチング手段はノード数が少なくなった方の
グラフ間でマッチングを行うとしたもので、回路マッチ
ングを高速に実行し、熟練者と同様な配置ができるとい
う作用を有する。
【0054】請求項42に記載の発明は、請求項38乃
至41のいずれかに記載の自動配置装置において、変換
されたグラフ間のマッチングを行うマッチング手段は、
ニューラルネット、平均場アニーリング、シミュレーテ
ッドアニーリング法または遺伝的アルゴリズムのいずれ
かを用いるとしたもので、回路マッチングを高速に実行
し、熟練者と同様な配置ができるという作用を有する。
【0055】請求項43に記載の発明は、請求項42記
載の自動配置装置において、ニューラルネットを用いた
マッチング手段は、ニューラルネットのパラメータや初
期状態などを設定し、設定されたパラメータ等に基づい
て現在のマッチング状態を示すニューラルネットの状態
を更新し、ニューラルネットの状態が収束しているかど
うかを判定し、収束していない場合はニューラルネット
の温度を更新し、ニューラルネットの状態を更新と収束
判定を繰り返すものであり、回路マッチングを高速に実
行し、熟練者と同様な配置ができるという作用を有す
る。
【0056】請求項44に記載の発明は、請求項38乃
至43のいずれかに記載の自動配置装置において、検索
した回路データの対となる配置データに沿って、新規回
路データを配置する配置手段は、シミュレーテッドアニ
ーリング法、ニューラルネット、平均場アニーリング、
または遺伝的アルゴリズムのいずれかを用いるものであ
り、熟練者と同様な配置ができるという作用を有する。
【0057】請求項45に記載の発明は、請求項38乃
至44のいずれかに記載の自動配置装置において、検索
した回路データの対となる配置データに沿って、新規回
路データを配置する配置手段は、前記回路データの部品
と前記新規回路データの部品とを対応づけ、少なくとも
その対応関係と前記配置データを用いて新規回路データ
に対しての配置を評価するコスト関数を生成し、前記コ
スト関数を最小化するものであり、熟練者と同様な配置
ができるという作用を有する。
【0058】請求項46に記載の発明は、請求項38乃
至45のいずれかに記載の自動配置装置のいおいて、コ
スト関数の最小化を行なう際に、少なくとも初期配置を
生成し、部品または部品群を移動または回転させること
により配置を更新するものであり、熟練者と同様な配置
ができるという作用を有する。
【0059】請求項47に記載の発明は、部品リストと
ネットリストからなる回路データとその配置データをデ
ータベースに記憶し、前記回路データ間に共通または類
似する部分回路である回路の概念を抽出する回路概念抽
出部と、前記回路の概念に対しての部分的な配置データ
における配置の規則性を抽出する配置規則抽出部と、そ
の配置の規則性に沿って新規回路データを配置する配置
部とを具備した自動配置装置であって、熟練者の配置の
ノウハウを満たした高品質な配置を実現できるという作
用を有する。
【0060】請求項48に記載の発明は、請求項47に
記載の自動配置装置において、前記回路概念抽出部は、
回路データに共通する部分回路を共有した仮想的な融合
回路を生成する融合回路生成手段と、前記融合回路を利
用して前記回路データをベクトルに変換するベクトル変
換手段と、前記ベクトルに内在する概念ベクトルを自動
形成する概念ベクトル形成手段と、前記融合回路を利用
して前記概念ベクトルを回路の概念に変換する回路概念
変換手段とからなるものであり、熟練者の配置のノウハ
ウを満たした高品質な配置を実現できるという作用を有
する。
【0061】請求項49に記載の発明は、請求項48に
記載の自動配置装置において、融合回路生成手段は、融
合回路を初期化し、データベースから回路データを読み
込み、前記融合回路と前記回路データとのマッチングを
行い、マッチングがとれた部品を共有し、かつ、マッチ
ングが取れない部品を付加することで、前記融合回路を
更新するとしたものであり、熟練者の配置のノウハウを
満たした高品質な配置を実現できるという作用を有す
る。
【0062】請求項50に記載の発明は、請求項48お
よび49のいずれかに記載の自動配置装置において、ベ
クトル変換手段は、回路データと融合回路との対応関係
を利用して、変換するとしたものであり、熟練者の配置
のノウハウを満たした高品質な配置を実現できるという
作用を有する。
【0063】請求項51に記載の発明は、請求項48乃
至50のいずれかに記載の自動配置装置において、概念
ベクトル形成手段は、ニューラルネットを用いるとした
ものであり、熟練者の配置のノウハウを満たした高品質
な配置を実現できるという作用を有する。
【0064】請求項52に記載の発明は、請求項48乃
至51のいずれかに記載の自動配置装置において、回路
概念変換手段は、融合回路を利用するとしたものであ
り、熟練者の配置のノウハウを満たした高品質な配置を
実現できるという作用を有する。
【0065】請求項53に記載の発明は、請求項47に
記載の自動配置装置において、前記回路概念抽出部は、
回路データに共通または類似する部分回路に含まれる部
品数を任意に設定する部品数設定手段からなるものであ
り、熟練者の配置のノウハウを満たした高品質な配置を
実現できるという作用を有する。
【0066】請求項54に記載の発明は、請求項47乃
至53のいずれかに記載の自動配置装置において、配置
規則抽出部は、回路の概念を含んだ回路データの対とな
る配置データを利用するとしたものであり、熟練者の配
置のノウハウを満たした高品質な配置を実現できるとい
う作用を有する。
【0067】請求項55に記載の発明は、請求項54記
載の自動配置装置において、配置規則抽出部で抽出する
配置の規則性は、回路の概念を構成する部品ペアの各々
に対し、少なくとも、前記部品ペアと対応が取れる回路
データ中の部品ペアと対になる配置データにおける部品
間距離の平均とするとしたものであり、熟練者の配置の
ノウハウを満たした高品質な配置を実現できるという作
用を有する。
【0068】請求項56に記載の発明は、請求項54記
載の自動配置装置において、配置規則抽出部で抽出する
配置の規則性は、回路の概念を構成する部品ペアの各々
に対し、少なくとも、前記部品ペアと対応が取れる回路
データ中の部品ペアと対になる配置データにおける部品
間距離の分散とするとしたものであり、熟練者の配置の
ノウハウを満たした高品質な配置を実現できるという作
用を有する。
【0069】請求項57に記載の発明は、請求項54記
載の自動配置装置において、配置規則抽出部で抽出する
配置の規則性は、回路の概念を構成する部品ペアの各々
に対し、少なくとも、前記部品ペアと対応が取れる回路
データ中の部品ペアの数があらかじめ設定した数より少
ない場合は定数とするとしたものあるいは当該部品ペア
を規則として考慮しないこととしたものであり、熟練者
の配置のノウハウを満たした高品質な配置を実現できる
という作用を有する。
【0070】請求項58に記載の発明は、請求項47乃
至57のいずれかに記載の自動配置装置において、配置
部は、新規回路データと回路の概念とをノードとエッジ
とからなるグラフにそれぞれ変換するグラフ変換手段
と、前記変換されたグラフ間のマッチングを行うマッチ
ング手段と、マッチング度の高い回路の概念を検索する
検索手段と、前記検索した回路の概念の対となる配置の
規則性に沿って前記新規回路データを配置する配置手段
とを具備するとしたものであり、熟練者の配置のノウハ
ウを満たした高品質な配置を実現できるという作用を有
する。
【0071】請求項59に記載の発明は、請求項58記
載の自動配置装置において、グラフ変換手段は、請求項
34または35に記載のグラフ表現変換装置であるとし
たものであり、熟練者の配置のノウハウを満たした高品
質な配置を実現できるという作用を有する。
【0072】請求項60に記載の発明は、請求項58記
載の自動配置装置において、グラフ変換手段は、請求項
36または37に記載のグラフ表現変換装置であるとし
たものであり、熟練者の配置のノウハウを満たした高品
質な配置を実現できるという作用を有する。
【0073】請求項61に記載の発明は、請求項58記
載の自動配置装置において、グラフ変換手段は、前記新
規回路データのネット数と前記回路の概念のネット数と
の積と、前記新規回路データの部品数と前記回路の概念
との積とを比較して、前者の積が小さい場合、請求項3
4または35に記載のグラフ表現変換装置を利用し、後
者の積が小さい場合、請求項36または37に記載のグ
ラフ表現変換装置を利用するとしたものであり、熟練者
の配置のノウハウを満たした高品質な配置を実現できる
という作用を有する。
【0074】請求項62に記載の発明は、請求項58乃
至61のいずれかに記載の自動配置装置において、マッ
チング手段は、ニューラルネット、平均場アニーリン
グ、シミュレーテッドアニーリング法または遺伝的アル
ゴリズムのいずれかを用いるとしたものであり、熟練者
の配置のノウハウを満たした高品質な配置を実現できる
という作用を有する。
【0075】請求項63に記載の発明は、請求項62記
載の自動配置装置において、前記マッチング手段は、ニ
ューラルネットのパラメータや初期状態などを設定し、
前記設定されたパラメータ等に基づいて現在のマッチン
グ状態を示す前記ニューラルネットの状態を更新し、前
記ニューラルネットの状態が収束しているかどうかを判
定し、収束していない場合は前記ニューラルネットの温
度を更新し、前記ニューラルネットの状態の更新と収束
判定を繰り返すとしたものであり、熟練者の配置のノウ
ハウを満たした高品質な配置を実現できるという作用を
有する。
【0076】請求項64に記載の発明は、請求項58乃
至63のいずれかに記載の自動配置装置において、配置
手段は、シミュレーテッドアニーリング法、ニューラル
ネット、平均場アニーリング、または遺伝的アルゴリズ
ムのいずれかを用いるとしたものであり、熟練者の配置
のノウハウを満たした高品質な配置を実現できるという
作用を有する。
【0077】請求項65に記載の発明は、請求項58乃
至64のいずれかに記載の自動配置装置において、配置
手段は、回路の概念の部品と新規回路データの部品とを
対応づけ、少なくともその対応関係と前記配置の規則性
を用いて前記新規回路データに対しての配置を評価する
コスト関数を生成し、前記コスト関数を最小化するとし
たものであり、熟練者の配置のノウハウを満たした高品
質な配置を実現できるという作用を有する。
【0078】請求項66に記載の発明は、請求項65に
記載の自動配置装置において、コスト関数の最小化を行
なう際に、少なくとも初期配置を生成し、部品または部
品群を移動や回転させることにより配置を更新するとし
たものであり、熟練者の配置のノウハウを満たした高品
質な配置を実現できるという作用を有する。
【0079】請求項67に記載の発明は、グラフデータ
を記録したコンピュータ読み取り可能な記録媒体であっ
て、グラフデータは、前記記録媒体に各ネット毎に形成
されたノードファイル及び各ノードペア毎に形成された
エッジファイルが記録され、前記ノードファイルは、各
ノード毎に各ネットに対応して記録した属性と属性値領
域を有し、前記エッジファイルは、各ノードペア毎に各
ネットペアに対応して記録した属性と属性値領域を有す
ることを特徴とするグラフデータを記録したコンピュー
タ読み取り可能な記録媒体であり、コンピュータに読み
取り実行するもので、構造を持った情報である回路をグ
ラフ表現できるという作用を有する。
【0080】請求項68に記載の発明は、グラフデータ
を記録したコンピュータ読み取り可能な記録媒体であっ
て、グラフデータは、前記記録媒体に各部品毎に形成さ
れたノードファイル及び各ノードペア毎に形成されたエ
ッジファイルが記録され、前記ノードファイルは、各ノ
ード毎に各部品に対応して記録した属性と属性値領域を
有し、前記エッジファイルは、各ノードペア毎に各部品
ペアに対応して記録した属性と属性値領域を有すること
を特徴とするグラフデータを記録したコンピュータ読み
取り可能な記録媒体であり、コンピュータに読み取り実
行するもので、構造を持った情報である回路をグラフ表
現できるという作用を有する。
【0081】請求項69に記載の発明は、コンピュータ
によってグラフに変換するプログラムを記録した記録媒
体であって、部品リストとネットリストからなる回路デ
ータを、各ネットに対応した属性と属性値からなるノー
ドと、各ノードペア(各ネットペア)に対応した属性と
属性値とからなるエッジとからなるグラフに変換するグ
ラフ変換プログラムを記録した記録媒体であり、コンピ
ュータに読み取り実行するもので、構造を持った情報で
ある回路をグラフ表現できるという作用を有する。
【0082】請求項70に記載の発明は、コンピュータ
によってグラフに変換するプログラムを記録した記録媒
体であって、部品リストとネットリストからなる回路デ
ータを、各部品に対応した属性と属性値からなるノード
と、各ノードペア(各部品ペア)に対応した属性と属性
値とからなるエッジとからなるグラフに変換するグラフ
変換プログラムを記録した記録媒体であり、コンピュー
タに読み取り実行するもので、構造を持った情報である
回路をグラフ表現に変換できるという作用を有する。
【0083】請求項71に記載の発明は、コンピュータ
によって部品を自動配置するプログラムを記録した記録
媒体であって、回路データとその対となる配置データを
記憶したデータベースと、新規回路データと前記データ
ベース中の回路データとを、ノードとエッジとからなる
グラフにそれぞれ変換し、変換されたグラフ間のマッチ
ングを行い、前記データベース中のマッチング度の高い
回路データを検索し、検索した回路データの対となる配
置データに沿って、新規回路データを配置する自動配置
プログラムを記録した記録媒体であり、コンピュータに
読み取り実行するもので、熟練者と同様な配置ができる
という作用を有する。
【0084】請求項72に記載の発明は、コンピュータ
によって部品を自動配置するプログラムを記録した記録
媒体であって、部品リストとネットリストからなる回路
データとその配置データを記憶したデータベースと、前
記回路データ間に共通または類似する部分回路である回
路の概念を抽出し、前記回路の概念に対しての部分的な
配置データにおける配置の規則性を抽出し、その配置の
規則性に沿って新規回路データを配置する自動配置プロ
グラムを記録した記録媒体であり、コンピュータに読み
取り実行するもので、熟練者の配置のノウハウを満たし
た高品質な配置を実現できるという作用を有する。
【0085】以下、本発明の実施の形態について、図1
から図12を用いて説明する。
【0086】(実施の形態1)図1は、本発明の実施の
形態1の自動配置システムのブロック図を示す。図1に
おいて、10は回路データを自動的に配置データに変換
する自動配置装置、11は回路データを設計するCA
D、12は自動配置装置で配置した配置データを基に部
品の実装を行う実装機、13はCPU、14はディスプ
レイ/キーボード、15はメモリ、16はプログラム等
を読み込むためのFD(フロッピィディスク)ユニッ
ト、17はCAD11で作成された新規回路データ、1
8は回路データとその対となる配置データを記憶した回
路データベース、19は新規回路データを自動配置した
データを記録した配置データ、20はバス、21〜23
はI/Fユニット、24はCAD11、自動配置装置1
0および実装機12のデータを転送するネットワークで
構成されている。
【0087】前記のように構成された自動配置装置の動
作について、図2のフローチャートを用いて説明する。
【0088】ここで、本自動配置装置の動作説明に先立
ち、回路データの表現方法として、ネット表現と部品表
現について説明する。
【0089】ネット表現とは、回路をグラフで表現する
方法であり、ネットをノードに対応させ、ネットに付随
する情報を対応するノードに反映させ、さらに、ノード
ペア、すなわち、ネットペアをエッジに対応させ、ネッ
トペアが共有する情報を対応するエッジに反映させた、
グラフによる回路の表現方法である。前記、ネットに付
随する情報としては、ネットでつながる部品の部品種類
の情報、ピンの情報、ネットの太さの情報など様々な情
報が存在するが、以下では、簡単のため、部品種類(コ
ンデンサやICなど)の情報のみを扱うこととする。ピ
ンの情報、ネットの太さの情報など、他の情報も扱うこ
とができるように拡張することは容易である。同様に、
前記のネットペアが共有する情報としても、様々な情報
が存在するが、以下では、簡単のため、部品種類の情報
のみを扱うこととする。この場合においても同様に、そ
の他の情報も扱うことができるように拡張することは容
易である。
【0090】次に、部品表現とは、回路をグラフで表現
する方法であり、部品をノードに対応させ、部品に付随
する情報を対応するノードに反映させ、さらに、ノード
ペア、すなわち、部品ペアをエッジに対応させ、部品ペ
アが共有する情報を対応するエッジに反映させた、グラ
フによる回路の表現方法である。前記、部品に付随する
情報としては、その部品の部品種類の情報、ピンの情報
など様々な情報が存在するが、以下では、簡単のため、
部品種類(コンデンサやICなど)の情報のみを扱うこ
ととする。ピンの情報情報など、他の情報も扱うことが
できるように拡張することは容易である。同様に、前記
の部品ペアが共有する情報としても、結線の有無、種
類、太さ、本数などの様々な情報が存在するが、以下で
は、簡単のため、結線の本数の情報のみを扱うこととす
る。この場合においても同様に、その他の情報も扱うこ
とができるように拡張することは容易である。
【0091】まず、新規回路データ17から新規の回路
データ(以降、回路1と呼ぶ)を読み込む(S20
1)。次に、回路データベース18中の回路データ(以
降、回路2と呼ぶ)を読み込む(S202)。
【0092】次に、表現選択処理(S203)は、回路
データ1のネット数と回路2のネット数との積と、回路
1の部品数と回路2の部品数との積とを比較し、前者の
積が小さい場合にはネット表現を選択し、後者の積が小
さい場合には部品表現を選択する(S203)。
【0093】ネット表現を選択した場合、ネット表現用
ノード生成処理(S204)とネット表現用エッジ生成
処理(S205)で、2つの回路をネット表現に従った
グラフにそれぞれ変換する。部品表現を選択した場合、
部品表現用ノード生成処理(S206)と部品表現用エ
ッジ生成処理(S207)で、2つの回路を部品表現に
従ったグラフにそれぞれ変換する。
【0094】まず、ネット表現を選択した場合におい
て、図3(a)に示す回路(部品リスト図3(b)とネ
ットリスト図3(c))を受けた場合を例題とし、ネッ
ト表現用ノード生成処理(S204)とネット表現用エ
ッジ生成処理(S205)を説明する。
【0095】ネット表現用ノード生成処理(S204)
は、回路(図3(a))を受けることにより、この回路のネ
ット数はNn=3、部品種類数は5(フィルタ、レジス
タ、トランジスタ、コンデンサ、IC)であることを認
識する。これらの情報を利用し、ネット表現用ノード生
成処理は、ネットi(i=1,...,Nn)に対応さ
せてノードni(i=1,...,Nn)を生成する。
したがって、Nn=3個のノードを生成することにな
る。各ノードniには、必要な数以上の属性・属性値ペ
アを用意しておく。なお、図3(a)の回路だけをグラフ
に変換する場合、部品種類数は5であることから、5つ
以上の属性・属性値ペアを用意しておけばよく、以下で
は、5つの属性・属性値ペアを用意したものとして説明
をする(実際には、回路1と回路2のノードの表現を一
致させるため、2つの回路で使われている部品種類数以
上の属性・属性値ペアを用意しておく必要がある。)。
【0096】次に、各ノードniに対し、ネットiに属
している部品を部品種類毎に分類する。部品種類毎に得
られた部品数の実体(実現値、整数)が属性値となる。
すなわち、各ノードにおける属性・属性値ペアは、部品
種類での”部品数”を属性、その実体を属性値とした表
現となる。図4は、図3(a)に示した回路をネット表
現に従ったグラフで表したものであり、ノードniはネ
ットiに対応している。例えば、ネット1は3つの部品
1(フィルタ)、2(レジスタ)、3(トランジスタ)
から構成されるため、ノードn1は{フィルタ数=1、
レジスタ数=1、トランジスタ数=1、コンデンサ数=
0、IC数=0}と表現される(S204)。
【0097】ネット表現用エッジ生成処理(S205)
は、各ノードペア{ni、nj}(i,j=1,...,
Nn,i≠j)に対して、エッジeijを付加する。各
エッジeijは、それを構成する2つのノードniおよ
びnj、すなわち、2つのネットiおよびjの共有部品
の情報を反映する。例えば、図3(a)の回路におい
て、ネット1と2は、部品3のトランジスタを共有して
いる。よって、図4に示されるよう、ネット1と2のペ
アに対応するエッジe12は、{フィルタ数=0、レジ
スタ数=0、トランジスタ数=1、コンデンサ数=0、
IC数=0}と表現される。すなわち、エッジeijに
おける属性・属性値ペアは、2つのネットiおよびjが
共有している部品種類毎での”部品数”を属性、その実
体を属性値とした表現となる(S205)。
【0098】このように、ネット表現用ノード生成処理
(S204)とネット表現用エッジ生成処理(S20
5)をとおして、回路1(新規回路データ17)と回路
2(回路データベース108中の回路データ)をネット
表現に従ったグラフに変換する。
【0099】以上は、回路データの表現方法としてネッ
ト表現を選択した場合を説明したが、次に、部品表現を
選択した場合において、同じ回路(図3(a))を例題
とし、部品表現用ノード生成処理(S206)と部品表
現用エッジ生成処理(S207)を説明する。
【0100】まず、部品表現用ノード生成処理(S20
6)は、(図3(a))の回路を受けることにより、こ
の回路の部品数はNp=6であることを認識する。この
情報を利用し、部品表現用ノード生成処理は、部品i
(i=1,...,Np)に対応させてノードni(i
=1,...,Np)を生成する。したがって、Np=
6個のノードを生成することになる。各ノードniは、
部品iの部品種類を属性とし、コンデンサやトランジス
タなどのシンボリックな値を属性値とした属性・属性値
ペアで表現される。図5は、図3(a)の回路を部品表
現に従ったグラフで表したものであり、ノードniは部
品iに対応していることがわかる(S206)。
【0101】部品表現用エッジ生成処理(S207)
は、各ノードペア{ni、nj}(i,j=1,...,
Np,i≠j)に対して、エッジeijを付加する。各
エッジeijは、それを構成する2つのノードniおよ
びnj、すなわち、2つの部品iおよびj間の結線本数
の情報を反映する。例えば、図3(a)の回路におい
て、部品1と2はネット1でつながっており、結線が1
本存在する。したがって、図5に示されるよう、部品1
と2のペアに対応するエッジe12は結線本数1と表現
される。なお、図3(a)の回路においては、結線本数
は1本以下なので、エッジに付加する情報として結線の
有無の情報を扱う場合と等価の表現となる。この場合
は、結線本数1のとき、結線有りと解釈し、結線本数0
のとき、結線なしと解釈すればよい(S207)。
【0102】このように、部品表現用ノード生成処理と
部品表現用エッジ生成処理をとおして、回路1(新規回
路データ17)と回路2(回路データベース108中の
回路データ)を部品表現に従ったグラフに変換する。
【0103】以上のように、回路(回路データ)は、ネ
ット表現や部品表現を用いることにより、グラフで表現
できる。したがって、以下で説明する回路マッチング
は、グラフマッチングに帰着する。グラフマッチングに
おいては、グラフの規模(ノード数)が少ない方が容易
となる。したがって、ノード数が少なくなる方の表現方
法(ネット表現または部品表現)を用いた方が良い。図
3(a)の回路をネット表現で表すとノード数は3個と
なり、部品表現で表すとノード数は6個となる。よっ
て、この場合は、ネット表現を用いた方がグラフマッチ
ングを実行する上でよい。
【0104】次に、グラフマッチング処理が、ニューラ
ルネットである場合について説明する。以下では、マッ
チングを行なおうとする回路1(新規の回路データ。こ
の回路を任意のブロックまたは機能ブロック毎に分割し
た部分回路データでもよい。)のグラフと回路2(デー
タベース中の回路データであり、この回路を任意のブロ
ックまたは機能ブロック毎に分割した部分回路データで
もよい。)のグラフとをそれぞれ、G1(ns1,es1)とG2(ns
2,es2)で表す。ここで、グラフGi(nsi,esi)(i=1,2)にお
けるノード数を|nsi|で表すことにすると、nsiとesi
は、それぞれ、ノードの集合{nij|j=1,...,|nsi|}と
エッジの集合{eijk|j=1,...,|nsi|,k=1,...,|nsi|,j≠
k}を示す。
【0105】まず、初期化処理(S208)は、このマ
ッチング問題を解くために、|ns1|×|ns2|個の素子から
構成されるニューラルネットを生成する。素子ij(i=
1,...,|ns1|,j=1,...,|ns2|)の出力xijは0から1までの
値をとるものとし、その大きさに、グラフG1(ns1,es1)
のノードn1iがG2(ns2,es2)のノードn2jに対応するとい
う仮説の強さを反映させる。以下では、素子の出力xij
をまとめてxと表し、ニューラルネットの状態と呼ぶ。
なお、ここでは、前記の通り、素子の出力xijは0から
1までの値をとる場合を説明するが、この制限は本質的
なものではなく、他の実数値を取る場合にも、容易に拡
張できる。
【0106】初期化処理(S208)は、|ns1|×|ns2|
個の素子から構成されるニューラルネットを生成した後
に、各素子の出力xijに0から1までの値をとる乱数を
与えることで、ニューラルネットの初期状態を設定す
る。さらに、後述の状態更新処理(S209)、収束判
定処理(S210)、および、温度更新処理(S21
1)における様々なパラメータの値を設定する役割も持
っている。
【0107】さらに、この初期化処理(S208)は、
ニューラルネットの素子間の重みや、素子の閾値を設定
する。ここで、素子klから素子ijへの重みをw1ijklで表
し、また、素子ijの閾値をw2ijで表すことにすると、例
えば、
【0108】
【数1】
【0109】
【数2】
【0110】
【数3】
【0111】と設定する。ここで、A、B、C、D、Eは正
の定数である。また、dn(n1i,n2j)は、グラフG1(ns1,es
1)のノードn1iとG2(ns2,es2)のノードn2jとの違いを反
映したノード間距離を表しており、2つの回路のグラフ
がネット表現に従っている場合には、例えば、
【0112】
【数4】
【0113】と設定する。ここで、vij(k)は、グラフGi
(ni,ei)(i=1,2)のノードnij(j=1,...,|nsi|)における属
性k(k=1,...,na)の属性値である。
【0114】また、部品表現に従っている場合には、例
えば、
【0115】
【数5】
【0116】と設定する。また、de(e1ik、e2jl)はG1(n
s1,es1)のエッジe1ikとG2(ns2,es2)のe2jlとの違いを反
映したエッジ間距離を表しており、2つの回路のグラフ
がネット表現に従っている場合には、例えば、
【0117】
【数6】
【0118】と設定する。ここで、vijk(l)はグラフGi
(ni,ei)(i=1,2)のエッジeijk(j=1,...,|nsi|,k=1,...,|
nsi|,j≠k)における属性l(l=1,...,na)の属性値であ
る。また、部品表現に従っている場合には、例えば、
【0119】
【数7】
【0120】と設定する(S208)。
【0121】次に、状態更新処理(S209)は、初期
化処理(S208)で設定されたパラメータ等に基づい
て、ニューラルネットの状態xを更新する。例えば、素
子をランダムに選択し、その出力xijを
【0122】
【数8】
【0123】
【数9】
【0124】
【数10】
【0125】と更新することによって、状態xを更新す
る。ここで、Tは温度であり、正の実数値をとる。温度
Tの初期値は初期化処理で設定され、また、後述の温度
更新処理(S211)によって、更新される。この状態
更新(S209)では、このような更新式に従った出力
xijの更新を、Tを一定に保った下で、複数回繰り返すこ
ととする。
【0126】次に、収束判定処理(S210)は、状態
更新処理(S209)で状態xを更新し続けるかどうか
を判定する。例えば、更新前の状態x'と更新後の状態x
との差(距離)が、初期化処理(S208)で設定され
る収束判定パラメータの値以下であるとき(Y)、収束
したと判定してマッチング結果を出力し、そうでない場
合(N)、後述の温度更新処理(S211)で温度Tを
更新した後に、状態更新処理(S209)で状態更新を
続ける。
【0127】次に、温度更新処理(S211)は温度T
を、例えば、
【0128】
【数11】
【0129】のように更新する。ここで、βは、1より
小さな正の実数とする。また、温度Tの初期値は0より
大きな正の実数とする。なお、Tの初期値とβは初期化
処理(S208)で設定されるものとする。
【0130】状態更新処理(S209)、収束判定処理
(S210)、および、温度更新処理(S211)とか
ら構成されるループを繰り返すことで、ニューラルネッ
トの状態xは収束する。ノード数|ns1|=3個のグラフG1(n
s1,es1)とノード数|ns2|=6個のグラフG2(ns2,es2)のマ
ッチング問題を解くための、|ns1|×|ns2|個の素子から
構成させるニューラルネットが収束した状態xの一例を
図6に示す。図6における円形は素子を表しており、1
を出力している素子を黒丸で、0を出力している素子を
白丸で示している。素子の出力xijが1のとき、グラフG1
(ns1,es1)のノードn1iがG2(ns2,es2)のノードn2jに対応
すると判断し、0のとき、対応しないと判断すれば良
い。この例では、G1(ns1,es1)における3つのノードn1
1、n12、n13は、それぞれG2(ns2,es2)における3つのノ
ードn22、n26、n24に対応すると解釈できる。
【0131】部品数Np=11、ネット数Nn=5の回路1と、
部品数Np=69、ネット数Nn=34の回路2との回路マッチン
グ問題を例題に、ネット表現を用いた数値実験と、部品
表現を用いた数値実験を行なった。ネット表現を用いた
場合の実験結果と、部品表現を用いた場合の実験結果
を、それぞれ、図7と図8に示す。縦軸は、(数9)
(マッチングを評価する評価関数であり、この値が0に
近いほど良いマッチングであることを示す。)の値を示
しており、横軸は、繰り返し数を示している。この例題
の場合、ネット表現を用いることにより、繰り返し数、
すなわち、計算時間が短くなり、同じ回路マッチングを
高速に実行することができた。
【0132】これは、以下の理由による。ネット表現に
従えば、回路1のグラフG1(ns1,es1)のノード数は|ns1|
=5となり、回路2のグラフG2(ns2,es2)のノード数は|ns
2|=34となることから、このマッチングを実行するため
には、5×34個の素子からなるニューラルネットが必
要となる。一方、部品表現に従うと、回路1のグラフG1
(ns1,es1)のノード数は|ns1|=11となり、回路2のグラ
フG2(ns2,es2)のノード数は|ns2|=69となることから、
このマッチングを実行するためには、11×69個の素
子からなるニューラルネットが必要となる。したがっ
て、本例題の場合、ネット表現を用いることにより、同
じ回路マッチングを小さな規模のニューラルネットで実
行することができ、この効果により、同じ回路マッチン
グを高速に行うことができたわけである。一般的には、
ニューラルネットの規模が小さくなる方の表現方法(ネ
ット表現または部品表現)を採用すればよい。
【0133】なお、ネット表現を用いての回路マッチン
グで得られるものは、マッチング対象の2つの回路にお
けるネットどうしの対応関係であるため、部品どうしの
対応関係を得たい場合には、これを得るための若干の計
算時間が必要となる。この場合には、対応が取れている
2つのネットにおける部品どうしの対応関係を求めれば
よく、一般に、ネットを構成する部品数は少ないため、
総当たり的な手法を用いても、若干の計算量で済むこと
になる。
【0134】なお、S208〜S211までのグラフマ
ッチング処理に、ニューラルネットを用いた場合につい
て説明したが、これに限定されるものではなく、平均場
アニーリング、シミュレーテッドアニーリング法または
遺伝的アルゴリズム等のいずれかを用いても良い。
【0135】次に、結果処理(S212)で、グラフマ
ッチング処理(S208からS211まで)で得られる
マッチング結果(回路1の部品と回路2の部品との対応
関係や、(数9)のF(x)の値など)を保存する。さら
に、回路データベース18中に読み込むべき回路データ
が残っている場合には、S202に戻る。したがって、
最終的には、結果処理(S212)で、回路データベー
ス18中の読み込むべき回路データの各々と新規回路デ
ータ17とのマッチング結果が保存されることになる。
【0136】次に、配置処理は、結果処理(S212)
で保存されたマッチング結果を受け、回路データベース
18中の回路データの内、新規回路データ17とのマッ
チング度の高い回路データの対となる配置データに沿っ
て新規の回路データを配置する。ここで、マッチング度
としては、例えば、マッチング結果の一部である(数
9)の評価関数(マッチングを評価する評価関数であ
り、この値が小さいほど良いマッチングであることを示
す。)の値の符号を反転させた値などを用いる.言い換
えれば、本自動配置装置は、新規回路データ17に類似
した回路データを回路データベース18から検索し、検
索した回路データの対となる配置データ(見習い配置デ
ータ)を見習って、新規回路データ17を配置する。新
規回路データ17の内、見習い配置データとのマッチン
グが取れている部分(部分回路)は見習い配置データの
配置に見習って配置し、そうでない部分は仮想配線長を
最短化するなどによって配置する。なお、見習って配置
する場合は、見習い配置データにおける部品の配置位置
のトポロジーを保存するように新規配置データを設計す
る。
【0137】以上の配置処理を、シミュレーテッドアニ
ーリング法を用いた場合について説明する。
【0138】まず、対応づけ処理(S213)では、結
果処理(S212)で保存されたマッチング結果を受
け、新規回路データ17とのマッチング度が高い順で回
路データを回路データベース18から引き出し、新規回
路データ17の部品(Nc個)と引出してきた回路データの
部品とを対応づける。この際、新規回路データ17のあ
る一つの部品が複数の回路データの部品に対応づけられ
ることを避けるため、新規回路データ17のある一つの
部品がある回路データのある部品に対応づけられた時点
で、以降の対応づけには、その新規回路データ17の部
品を考慮しないこととする。つまり、マッチング度の高
い回路データの部品を優先的に対応づけることとする。
【0139】ここで、説明を簡略化するため、以下で
は、各回路データの全ての部品は新規回路データ17の
部品に対応づけられているものとする(このようにして
も、一般性は失われない。なぜならば、回路データの部
品の内、新規回路データ17の部品に対応づけされなか
った部品を無視すればよいからである)。また、新規回
路データ17の部品に対応づけされた部品を2つ以上持
つ回路データの数をNsで表し、回路データi(=1,...,Ns)
の部品数をNiで表す。さらに、回路データiの部品j(=
1,...,Ni)に対応する、新規回路データ17の部品をpi
(j)で表す。
【0140】つぎに、コスト関数生成処理(S214)
では、配置のコスト関数を自動生成する。ここで、新規
回路データ17の部品i(=1,...,Nc)の配置のX座標値、
Y座標値、配置角度をそれぞれxi、yi、θiで表し、Nc
個の部品のそれらをまとめて配置Sと呼ぶことにする
と、たとえば、配置SのコストF(S)関数は
【0141】
【数12】
【0142】と定義できる。ここで、A、B、Cはともに
正の定数である。l(i,j,S)は、新規回路データ17の部
品iとjの両者が同一の回路データ中のある2つの部品に
対応づけられておらず、かつ、それらのピン間に結線が
ある場合、その結線の配置Sにおける仮想配線長を値に
とり、それ以外の場合、0を値にとる関数である。した
がって、(数12)の第1項は、同一の回路データ中の
部品に対応づけられた新規回路データ17中の部品間の
仮想配線長を除いた、総仮想配線長を評価していること
になる。また、o(i,j,S)は、配置Sにおいて、新規回路
データ17の部品iとjが重なり合っている場合に1をと
り、そうでない場合に0をとる関数である。
【0143】したがって、(数12)の第2項は、部品
間の重なりの総数を評価していることになる。ここで、
回路データiの部品jに対応する新規回路データ17の部
品pi(j)と、部品kに対応する新規回路データ17の部品
pi(k)との間の、配置Sにおける部品間距離(2つの部品
の中心間の距離、2つの部品のピン間の距離など)をd
(pi(j),pi(k),S)で表し、また、回路データiの対となる
配置データiにおける部品jとkとの間の部品間距離をbij
kで表すことにする。すると、fijk(d(pi(j),pi(k),S))
は、配置Sにおける部品間距離d(pi(j),pi(k),S)と配置
データiにおける部品間距離bijkとの差が大きくなるに
したがって、大きな値を取る関数であり、例えば、ガウ
ス分布を利用して、
【0144】
【数13】
【0145】のように実現できる。ここで、cijkは正の
定数である。したがって、(数12)の第3項は、新規
回路データ17の配置と見習っている回路データの対と
なる配置データとの違いを評価していることになる。
【0146】つぎに、初期設定処理(S215)では、
初期配置Sの自動生成や初期温度Tなどを設定する。例
えば、見習う回路データの対となる配置データを利用し
て、初期配置を決定すればよい。また、部品の配置位置
をランダムに決定してもよい。
【0147】つぎに、配置更新処理(S216)を説明
する。まず、現在の配置Sから、部品または部品群を適
当に選択し、移動や回転などをさせることで、配置位置
や配置角度が変更された配置候補S’を生成する。次
に、配置候補S’を、シミュレーテッドアニーリング法
に基づいて、以下の確率で受理する。
【0148】
【数14】
【0149】受理された場合、配置Sを配置候補S’に更
新する。受理されない場合には、配置Sを変更しない。
【0150】つぎに、終了判定処理(S217)では、
配置Sの更新を終了するか否かを判定する。例えば、配
置Sのコスト関数の値の変化が非常に小さくなった時点
で終了させるなどすればよい。また、配置の更新回数の
上限をあらかじめ設定しておき、その上限を超えたら終
了すると判定してもよい。
【0151】つぎに、配置温度更新処理(S218)
は、配置収束判定(S217)で配置Sの更新を終了し
ないと判断された場合、温度Tを更新する。例えば、適
当な定数β(0<β<1)をあらかじめ設定しておき、温度
更新処理(S211)と同様に、(数11)で更新すれ
ばよい。
【0152】以上、配置処理を、シミュレーテッドアニ
ーリング法を用いた場合について説明したが、配置処理
の実現には、シミュレーテッドアニーリングに限らず、
遺伝的アルゴリズムなどの他の最適化手法や、ニューラ
ルネット(例えば、トポロジーを保存したマッピングを
実現できるコホーネンのフィーチャーマップ(Kohonen,
T.(1989).Self-Organization and associative memory.
Berlin: Springer-Verlag))等を用いてもよい。
【0153】最後に、配置データ処理(S214)は、
配置処理(S211)で得られた新規配置データを配置
データ19に保存し、終了する。
【0154】(実施の形態2)図9は、本発明の実施の
形態2の自動配置システムのブロック図を示す。図9に
おいて、901は回路データを自動的に配置データに変
換する自動配置装置、901は回路データを設計するC
AD、902は自動配置装置で配置した配置データを基
に部品の実装を行う実装機、903はCPU、904は
ディスプレイ/キーボード、905はメモリ、906は
プログラム等を読み込むためのFD(フロッピィディス
ク)ユニット、907はCADで作成された新規回路デ
ータ、908は回路データとその対となる配置データを
記憶した回路データベース、909は新規回路データを
自動配置したデータを記録した配置データ、910はバ
ス、911〜913はI/Fユニット、914はCAD
901、自動配置装置900および実装機902のデー
タを転送するネットワーク、915は獲得した知識を保
存する知識ベースで構成されている。
【0155】前記のように構成された自動配置装置の動
作について、図10のフローチャートを用いて説明す
る。
【0156】まず、融合回路生成処理では、回路データ
ベース908中の回路データをベクトルに変換するため
に必要な融合回路を生成する。ここで、融合回路とは、
回路データベース908中の回路データを、共通の部分
回路を共有する形で融合した仮想的な回路である。つま
り、回路データベース908中の回路データの各々は、
融合回路の一部(部分回路)として表現される。まず、
融合回路を初期化する(S1001)。これにより、部
品数0の融合回路となる。
【0157】次に、回路データベース908中の回路デ
ータ(以降、回路と呼ぶ)を読み込む(S1002)。
【0158】つぎに、回路マッチング処理(S100
3)であるが、これは、前記の実施の形態1で説明した
図2におけるS203からS211までの処理と同様で
ある。つまり、融合回路と、S1002で読み込んだ回
路との間のマッチングを行なう。これにより、融合回路
の部品と回路の部品との間の対応関係、すなわち、共通
の部分回路が抽出できることになる。
【0159】つぎに、融合回路更新処理(S1004)
では、回路マッチング処理(S1003)で得られた、
融合回路の部品と回路の部品との間の対応関係(共通の
部分回路)を保存すると同時に、融合回路と回路とに共
通する部分回路を共有する形で融合し、それを新たな融
合回路とする。回路データベース908に、融合回路に
融合していない回路が存在すれば、S1002に戻る。
【0160】以上の融合回路生成処理で融合回路が生成
される過程を図11の融合回路の生成過程の欄に示す。
これは、コード化対象の回路の欄に示す3つの回路(四
角形は部品を、部品内のアルファベットは抵抗やコンデ
ンサなどの部品種類を、部品間の直線は結線を示してい
る。)を回路1、2、3の順で融合した場合の融合回路
の生成過程である。4部品A、B、C、Eからなる部分
回路は3つの回路に共通する部分回路であり、最終的な
融合回路(回路1+2+3)を見ると、その部分回路が
共有される形で融合されていることがわかる。さらに、
3つの回路の各々は、最終的な融合回路(回路1+2+
3)の部分回路になっていることがわかる。なお、最終
的に生成された融合回路および、その部品と回路の部品
との対応関係は、知識ベース915に保存される。
【0161】つぎに、ベクトル生成処理(S1005)
では、知識ベース915に保存されている融合回路およ
び、その部品と回路の部品との間の対応関係とを読み込
み、各々の回路に対するベクトルを生成する。このベク
トル生成処理(S1005)を、図11を用いて説明す
ると、次のようになる。前記対応関係の情報から、図1
1の融合回路とのマッチングの欄に示すように、各々の
回路の部品と融合回路の部品との対応関係がわかる。な
お、図11の融合回路とのマッチングの欄には、融合回
路の部品との対応がとれる回路の部品を太線で強調して
表示している。
【0162】この対応関係に基づいて、各々の回路をベ
クトルにコード化すればよい。融合回路の部品との対応
が取れている回路の部品に例えば+1の値を、そうでな
い部品に例えば−1の値を割り当て、それらを要素とし
て1列に並べることで、ベクトルに変換できる。図11
のベクトルの欄には、3つの回路の各々をコード化した
場合のベクトルが示されている。共通の部分回路が共通
の部分ベクトルにコード化されており、回路間の類似性
が保存されていることがわかる。
【0163】つぎに、概念形成処理(S1006)で
は、ベクトル生成処理S1005で生成されたベクトル
を受け、ベクトルに内在する概念ベクトルを自動形成
し、回路の概念を自動獲得する。図11の3つのベクト
ルが入力されたとすると、前記共通の部分ベクトルが概
念ベクトルとして自動形成されることになり、その概念
ベクトルを前記融合回路と前記対応間関係(回路の部品
と融合回路の部品との対応関係)とを用いて、回路に逆
変換すれば、回路の概念を自動獲得できる。
【0164】図11の例では、3つの回路に共通する、
4部品A、B、C、Eからなる部分回路が回路の概念と
なる。この概念形成処理(S1006)における問題
は、ベクトル生成処理(S1005)で生成されたベク
トルから、どのようにして前記概念ベクトルを自動形成
するかにあるが、これは、ニューラルネットなど(例え
ば、Hirahara,M., Kindo,T., Oka,N. (1997). Associat
ive memory with a sparse encoding mechanisim for s
toring correlated patterns. Neural Networks,10, 9,
1627−1636.)を利用すれば、容易に実現できる。な
お、自動形成されたNs個の回路の概念i(=1,...,Ns)は、
知識ベース915に登録される。
【0165】つぎに、配置規則抽出処理(S1007)
では、知識ベース915に保存される回路の概念i(=
1,...,Ns)と、回路データベース908から、それらの
元となった回路(回路データ)の対となる配置データを
読み込み、回路の概念の各々に対して、その配置におけ
る規則性を自動抽出する。例えば、規則性として配置デ
ータの統計的情報を抽出すればよい。ここで、回路の概
念iを構成する部品数をNiで表すことにすると、統計的
情報としては、例えば、回路の概念iを構成する部品の
ペア[j,k](j,k=1,...,Ni|j≠k)の各々に対して、それと
対応が取れる回路データ中の部品ペアの配置データにお
ける部品間距離の平均dijkや標準偏差σijkなどを抽出
すればよい。
【0166】この他にも、ピン間距離の平均や分散、部
品間の配置角度の平均差異など、抽出できる情報は様々
あるが、以下では、簡単のため、配置の規則性として、
部品間距離の平均dijkと標準偏差σijkを抽出した場合
を説明する。なお、回路の概念iに関して抽出された配
置の規則性(この場合は部品間距離の平均を要素とした
平均行列[dijk](j,k=1,...,Ni|j≠k)と分散を要素とし
た分散行列[σijk](j,k=1,...,Ni|j≠k))は、その回路
の概念iと対になる形で知識ベース915に登録され
る。
【0167】以下では、知識ベース915に登録された
回路の概念とその対となる配置の規則性とを利用して、
自動配置を行なう処理を説明する。まず、新規回路デー
タ907から新規の回路データを読み込む(S100
8)。次に、知識ベース915から回路の概念を1つ読
み込む(S1009)。つぎに、回路マッチング処理
(S1010)であるが、これは、前記のS1003
や、前記の実施の形態1で説明した図2におけるS20
3からS211までの処理と同様である。つまり、新規
の回路データと回路の概念との間のマッチングを行な
う。これにより、新規の回路データと回路の概念の部品
との間の対応関係が抽出できることになる。
【0168】次に、結果処理(S1011)で、そのマ
ッチング結果(新規の回路データと回路の概念の部品と
の間の対応関係や、(数9)のF(x)の値など)を保存す
る。さらに、知識ベース915中に読んでいない回路の
概念が残っている場合には、S1009に戻る。したが
って、最終的には、結果処理(S1011)で、知識ベ
ース915中の回路の概念の各々と新規の回路データと
のマッチング結果が保存されることになる。
【0169】次に、配置処理(S1012)は、結果処
理(S1011)で保存されたマッチング結果を受け、
知識ベース915中の回路の概念の内、新規の回路デー
タとのマッチング度の高い回路の概念と対になる配置の
規則性を利用して、新規の回路データを配置する。ここ
で、マッチング度としては、例えば、マッチング結果の
一部である(数9)の評価関数の値の符号を反転させた
値などを用いる。新規の回路データの内、回路の概念と
のマッチングが取れている部分(部分回路)はその概念
と対になる配置の規則性を利用して配置し、そうでない
部分は仮想配線長を最短化するなどによって配置する。
【0170】以上の配置処理(S1012)は、前記実
施の形態1の図2における配置処理(S214〜S21
8)と同様に実現できる。つまり、前記実施の形態1に
おける配置処理では、Ns個の回路データの対となる配置
データに見習って配置するが、ここでの配置処理(S1
012)では、Ns個の回路の概念の対となる配置の規則
性にしたがって配置するわけである。具体的には、(数
12)の配置のコスト関数において、回路データiの対
となる配置データiにおける部品jとkとの間の部品間距
離であるbijkを、回路の概念iの対となる配置の規則性
における部品jとkとの間の部品間距離の平均dijkに置き
換える。
【0171】これに加えて、(数12)の配置のコスト
関数におけるパラメータcijkを、部品間距離の標準偏差
σijkに置き換えればよい。これにより、規則性を満た
した配置を実現することができる。
【0172】最後に、配置データ処理(S1013)
は、配置処理(S1012)で得られた新規配置データ
を配置データ909保存し、終了する。
【0173】(実施の形態3)図9に、本発明の実施の
形態3の自動配置システムのブロック図を示すが、その
構成は実施の形態2と同様であるので説明は省略する。
【0174】上記のように構成された自動配置装置の動
作について、図12のフローチャートを用いて説明す
る。
【0175】回路概念生成処理(S2000〜S200
2)について以下に説明する。部品数の入力(S200
0)は、配置規則抽出に必要な回路データに共通または
類似する部分回路に含まれる部品数を設定するもので、
設定した部品数が2であれば部品ペアであるし、3であ
れば3つの部品の組み合わせを部分回路となる。また、
設定できる部品数は1つではなく、部品数2と部品数
3、あるいは部品数2、部品数4と部品数5という複数
の部品数の組合せでを設定しても良い。
【0176】以下では簡単に説明するのため、部品数2
の場合で説明するが、2以上の整数あるいはその複数の
組み合わせであれば良い。
【0177】回路データベース908中の回路データ
(以降、回路と呼ぶ)を読み込む(S2001)。
【0178】つぎに、概念形成処理(S2002)であ
るが、部品表現において、各ノードの属性と属性値およ
び各エッジの属性と属性値を求め、一致または類似して
いる部品ペアを認識し、回路の概念を形成する。例え
ば、各ノードの属性を部品種類とし、各ノードの属性を
配線本数とした場合、ICとコンデンサが配線数1で接
続している場合、トランジスタとレジスタが配線数1で
接続している場合等を回路の概念として形成する。
【0179】つぎに、配置規則抽出処理(S2003)
では、知識ベース915に保存される回路の概念i(=
1,...,Ns)と、回路データベース908から、それらの
元となった回路(回路データ)の対となる配置データを
読み込み、回路の概念の各々に対して、その配置におけ
る規則性を自動抽出する。例えば、規則性として配置デ
ータの統計的情報を抽出すればよい。ここで、回路の概
念iを構成する部品数をNiで表すことにすると、統計的
情報としては、例えば、回路の概念iを構成する部品ペ
ア[j,k](j,k=1,...,Ni|j≠k)の各々に対して、それと対
応が取れる回路データ中の部品ペアの配置データにおけ
る部品間距離の平均dijkや標準偏差σijkなどを抽出す
ればよい。
【0180】この他にも、ピン間距離の平均や分散、部
品間の配置角度の平均差異など、抽出できる情報は様々
あるが、以下では、簡単のため、配置の規則性として、
部品間距離の平均dijkと分散sijkを抽出した場合を説明
する。なお、回路の概念iに関して抽出された配置の規
則性は、その回路の概念iと対になる形式で知識ベース
915に登録される。
【0181】以下に、知識ベース915に登録された回
路の概念とその対となる配置の規則性とを利用して、自
動配置を行なう処理を説明する。まず、新規回路データ
907から新規の回路データを読み込む(S200
4)。
【0182】つぎに、知識ベース915から回路の概念
を1つ読み込む(S2005)。つぎに、回路マッチン
グ処理(S2006)であるが、これは、新規の回路デ
ータに含まれる部品ペアと回路の概念との間のマッチン
グを行なう。これにより、新規の回路データと回路の概
念の部品との間の対応関係が抽出できることになる。つ
まり、新規の回路データに含まれる部品ペアと回路の概
念の部品ペアとの間のノードおよびエッジの属性値を比
較することにより、新規の回路データに含まれる部品ペ
アと回路の概念との間のマッチングを行なうことができ
る。あるいは、前記の実施の形態1で説明した図2にお
けるS203からS211までの処理や、前記の実施の
形態2で説明した図10におけるS1010と同様なマ
ッチング処理をしても良い。
【0183】次に、結果処理(S2007)で、そのマ
ッチング結果(新規の回路データと回路の概念の部品と
の間の対応関係など)を保存する。さらに、知識ベース
915中に読んでいない回路の概念が残っている場合に
は、S2005に戻る。したがって、最終的には、結果
処理(S2007)で、知識ベース915中の回路の概
念の各々と新規の回路データとのマッチング結果が保存
されることになる。
【0184】次に、配置処理(S2008)は、結果処
理(S2007)で保存されたマッチング結果を受け、
知識ベース915中の回路の概念の内、新規の回路デー
タとのマッチング度の高い回路の概念と対になる配置の
規則性を利用して、新規の回路データを配置する。新規
の回路データの内、回路の概念とのマッチングが取れて
いる部分(部分回路)はその概念と対になる配置の規則
性を利用して配置し、そうでない部分は仮想配線長を最
短化するなどによって配置する。
【0185】前記実施の形態1における配置処理では、
Ns個の回路データの対となる配置データに見習って配置
するが、本実施の形態での配置処理(S2008)で
は、Ns個の回路の概念の対となる配置の規則性にしたが
って配置するわけである。具体的には、(数12)の配
置のコスト関数において、回路データiの対となる配置
データiにおける部品jとkとの間の部品間距離であるbij
kを、回路の概念iの対となる配置の規則性における部品
jとkとの間の部品間距離の平均dijkに置き換えるもので
ある。
【0186】最後に、配置データ処理(S2009)
は、配置処理(S2008)で得られた新規配置データ
を配置データ909保存し、終了する。
【0187】なお、配置処理において、(数12)の配
置のコスト関数におけるパラメータcijkを、部品間距離
の分散sijkに置き換えても良く、これにより、規則性を
満たした配置を実現することができる。
【0188】なお、配置規則抽出処理(S2003)に
おいて、回路の概念iを構成する部品のペア[j,k](j,k=
1,...,Ni|j≠k)の各々に対して、それと対応が取れる回
路データ中の部品ペアの数があらかじめ設定した数より
も少ない場合は、(数12)の配置のコスト関数におけ
るパラメータcijkをは任意の定数としても良い。あるい
は、回路の概念iを構成する部品のペアと対応が取れる
回路データ中の部品ペアの数があらかじめ設定した数よ
りも少ない場合は、規則として考慮せず、仮想配線長を
最短化するなどによって配置しても良い。
【0189】本実施の形態では、配置規則抽出に必要な
回路データに共通または類似する部分回路に含まれる部
品数を設定することにより、実施の形態2で説明した図
10におけるS1001からS1006の処理と比較し
て、概念形成が高速に行なえる。
【0190】
【発明の効果】以上のように、本発明は、構造を持った
情報である回路データをグラフに変換し、グラフ間のマ
ッチングを行なうことで、回路マッチングを実行し、マ
ッチング度の高い回路データを検索し、検索した回路デ
ータの対となる配置データに沿って、新規回路データを
配置することができ、熟練者と同様な配置ができるもの
で、その効果は大きい。
【図面の簡単な説明】
【図1】本発明の実施の形態1における自動配置システ
ムのブロック図
【図2】本発明の実施の形態1における自動配置装置の
動作を示すフローチャート
【図3】(a)サンプル回路図 (b)サンプル回路の部品リストを示す図 (c)サンプル回路のネットリストを示す図
【図4】ネット表現に従ったグラフを示す図
【図5】部品表現に従ったグラフを示す図
【図6】ニューラルネットの収束時の状態を説明する図
【図7】ネット表現を利用した場合の数値実験の結果を
示す図
【図8】部品表現を利用した場合の数値実験の結果を示
す図
【図9】本発明の実施の形態2における自動配置システ
ムのブロック図
【図10】本発明の実施の形態2における自動配置装置
の動作を示すフローチャート
【図11】同自動配置装置のベクトル生成処理の各々の
回路の部品と融合回路の部品との対応関係を説明する図
【図12】本発明の実施の形態3における自動配置装置
の動作を示すフローチャート
【符号の説明】
10、900 自動配置装置 11、901 CAD 12、902 実装機 13、903 CPU 14、904 ディスプレイ/キーボード 15、905 メモリ 16、906 FD(フロッピィディスク)ユニット 17、907 新規回路データ 18、908 回路データベース 19、909 配置データ 20、910 バス 21〜23、911〜913 I/Fユニット 24、914 ネットワーク 915 知識ベース
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/60 606D (72)発明者 吉田 邦夫 神奈川県川崎市多摩区東三田3丁目10番1 号 松下技研株式会社内 (72)発明者 金道 敏樹 神奈川県川崎市多摩区東三田3丁目10番1 号 松下技研株式会社内 (72)発明者 内田 智洋 神奈川県川崎市多摩区東三田3丁目10番1 号 松下技研株式会社内

Claims (72)

    【特許請求の範囲】
  1. 【請求項1】 部品リストとネットリストからなる回路
    データを、各ネットに対応した属性と属性値とからなる
    ノードと、各ノードペアに対応した属性と属性値とから
    なるエッジとからなるグラフ表現に変換することを特徴
    とするグラフ表現変換方法。
  2. 【請求項2】 前記ノードおよび前記エッジにおける属
    性として少なくとも部品種類毎の部品数を含み、その実
    際の値を属性値とすることを特徴とする請求項1記載の
    グラフ表現変換方法。
  3. 【請求項3】 部品リストとネットリストからなる回路
    データを、各部品に対応した属性と属性値とからなるノ
    ードと、各ノードペアに対応した属性と属性値とからな
    るエッジとからなるグラフ表現に変換することを特徴と
    するグラフ表現変換方法。
  4. 【請求項4】 ノードにおける属性として少なくとも部
    品種類を含み、その部品種類の名称を属性値とし、前記
    エッジにおける属性として少なくとも配線本数を含み、
    その実際の値を属性値とすることを特徴とする請求項3
    記載のグラフ表現変換方法。
  5. 【請求項5】 部品リストとネットリストからなる回路
    データとその配置データをデータベースに記憶し、新規
    回路データと前記データベース中の回路データとをノー
    ドとエッジとからなるグラフにそれぞれ変換し、前記変
    換されたグラフ間のマッチングを行い、マッチング度の
    高い回路データを検索し、前記検索した回路データの対
    となる配置データに沿って、前記新規回路データを配置
    することを特徴とする自動配置方法。
  6. 【請求項6】 新規回路データとデータベース中の回路
    データとをノードとエッジとからなるグラフにそれぞれ
    変換する際に、請求項1または2に記載のグラフ表現に
    それぞれ変換することを特徴とする請求項5記載の自動
    配置方法。
  7. 【請求項7】 新規回路データとデータベース中の回路
    データとをノードとエッジとからなるグラフにそれぞれ
    変換する際に、請求項3または4に記載のグラフにそれ
    ぞれ変換することを特徴とする請求項5記載の自動配置
    方法。
  8. 【請求項8】 新規回路データとデータベース中の回路
    データとをノードとエッジとからなるグラフにそれぞれ
    変換する際に、前記新規回路データのネット数と前記デ
    ータベース中の回路データのネット数との積と、前記新
    規回路データの部品数と前記データベース中の回路デー
    タの部品数との積とを比較して、前者の積が小さい場
    合、請求項1または2に記載のグラフ表現にそれぞれ変
    換し、後者の積が小さい場合、請求項3または4に記載
    のグラフ表現にそれぞれ変換することを特徴とする請求
    項5記載の自動配置方法。
  9. 【請求項9】 データベース中から前記マッチング度の
    高い回路データを検索する際のグラフ間のマッチング
    は、ニューラルネット、平均場アニーリング、シミュレ
    ーテッドアニーリング法または遺伝的アルゴリズムのい
    ずれかを用いることを特徴とする請求項5乃至8のいず
    れかに記載の自動配置方法。
  10. 【請求項10】 ニューラルネットによるグラフ間のマ
    ッチングは、前記ニューラルネットのパラメータや初期
    状態などを設定し、前記設定されたパラメータ等に基づ
    いて現在のマッチング状態を示す前記ニューラルネット
    の状態を更新し、前記ニューラルネットの状態が収束し
    ているかどうかを判定し、収束していない場合は前記ニ
    ューラルネットの温度を更新し、前記ニューラルネット
    の状態の更新と収束判定を繰り返すことを特徴とする請
    求項9記載の自動配置方法。
  11. 【請求項11】 検索した回路データの対となる配置デ
    ータに沿って新規回路データを配置する際に、シミュレ
    ーテッドアニーリング法、ニューラルネット、平均場ア
    ニーリング、または遺伝的アルゴリズムのいずれかを用
    いることを特徴とする請求項5乃至10のいずれかに記
    載の自動配置方法。
  12. 【請求項12】 検索した回路データの対となる配置デ
    ータに沿って前記新規回路データを配置する際に、前記
    回路データの部品と前記新規回路データの部品とを対応
    づけ、少なくともその対応関係と前記配置データを用い
    て前記新規回路データに対しての配置を評価するコスト
    関数を生成し、前記コスト関数を最小化することを特徴
    とする請求項5乃至11のいずれかに記載の自動配置方
    法。
  13. 【請求項13】 コスト関数の最小化を行なう際に、少
    なくとも初期配置を生成し、部品または部品群を移動ま
    たは回転させることにより配置を更新することを特徴と
    する請求項2記載の自動配置方法。
  14. 【請求項14】 部品リストとネットリストからなる回
    路データとその配置データをデータベースに記憶し、前
    記回路データ間に共通または類似する部分回路である回
    路の概念を抽出し、前記回路の概念に対しての部分的な
    配置データにおける配置の規則性を抽出し、その配置の
    規則性に沿って新規回路データを配置することを特徴と
    する自動配置方法。
  15. 【請求項15】 回路の概念の抽出は、回路データに共
    通する部分回路を共有した仮想的な融合回路を生成し、
    前記融合回路を利用して前記回路データをベクトルに変
    換し、前記ベクトルに内在する概念ベクトルを自動形成
    し、前記融合回路を利用して概念ベクトルを回路の概念
    に変換することを特徴とする請求項14に記載の自動配
    置方法。
  16. 【請求項16】 融合回路の生成は、融合回路を初期化
    し、データベースから回路データを読み込み、前記融合
    回路と前記回路データとのマッチングを行い、マッチン
    グがとれた部品を共有し、かつ、マッチングが取れない
    部品を付加することで、前記融合回路を更新することを
    特徴とする請求項15に記載の自動配置方法。
  17. 【請求項17】 融合回路を利用して回路データをベク
    トルに変換する際に、前記回路データと前記融合回路と
    の対応関係を利用して、変換することを特徴とする請求
    項15または16記載の自動配置方法。
  18. 【請求項18】 ベクトルに内在する概念ベクトルの自
    動形成は、ニューラルネットを用いることを特徴とする
    請求項15乃至17のいずれかに記載の自動配置方法。
  19. 【請求項19】 融合回路を利用して概念ベクトルを回
    路の概念に変換する際に、前記融合回路を利用すること
    を特徴とする請求項15乃至18のいずれかに記載の自
    動配置方法。
  20. 【請求項20】 回路の概念の抽出は、回路データに共
    通または類似する部分回路に含まれる部品数を任意に設
    定することを特徴とする請求項14に記載の自動配置方
    法。
  21. 【請求項21】 回路の概念に対しての部分的な配置デ
    ータにおける配置の規則性を抽出する際に、前記回路の
    概念を含んだ回路データの対となる配置データを利用す
    ることを特徴とする請求項14乃至20のいずれかに記
    載の自動配置方法。
  22. 【請求項22】 配置の規則性は、回路の概念を構成す
    る部品ペアの各々に対し、少なくとも、前記部品ペアと
    対応が取れる回路データ中の部品ペアと対になる配置デ
    ータにおける部品間距離の平均とすることを特徴とする
    請求項21記載の自動配置方法。
  23. 【請求項23】 配置の規則性は、回路の概念を構成す
    る部品ペアの各々に対し、少なくとも、前記部品ペアと
    対応が取れる回路データ中の部品ペアと対になる配置デ
    ータにおける部品間距離の分散とすることを特徴とする
    請求項21記載の自動配置方法。
  24. 【請求項24】 配置の規則性は、回路の概念を構成す
    る部品ペアの各々に対し、少なくとも、前記部品ペアと
    対応が取れる回路データ中の部品ペアの数があらかじめ
    設定した数より少ない場合は定数とすることあるいは当
    該部品ペアを規則として考慮しないことを特徴とする請
    求項21記載の自動配置方法。
  25. 【請求項25】 配置の規則性に沿った新規回路データ
    の配置は、前記新規回路データと前記回路の概念とをノ
    ードとエッジとからなるグラフにそれぞれ変換し、変換
    されたグラフ間のマッチングを行い、マッチング度の高
    い回路の概念を検索し、前記検索した回路の概念の対と
    なる配置の規則性に沿って前記新規回路データを配置す
    ることを特徴とする請求項14乃至24のいずれかに記
    載の自動配置方法。
  26. 【請求項26】 新規回路データと回路の概念とをノー
    ドとエッジとからなるグラフにそれぞれ変換する際に、
    請求項1または2に記載のグラフ表現にそれぞれ変換す
    ることを特徴とする請求項25記載の自動配置方法。
  27. 【請求項27】 新規回路データと回路の概念とをノー
    ドとエッジとからなるグラフにそれぞれ変換する際に、
    請求項3または4に記載のグラフ表現にそれぞれ変換す
    ることを特徴とする請求項25に記載の自動配置方法。
  28. 【請求項28】 新規回路データと回路の概念とをノー
    ドとエッジとからなるグラフにそれぞれ変換する際に、
    前記新規回路データのネット数と前記回路の概念のネッ
    ト数との積と、前記新規回路データの部品数と前記回路
    の概念との積とを比較して、前者の積が小さい場合、請
    求項1または2に記載のグラフ表現にそれぞれ変換し、
    後者の積が小さい場合、請求項3または4に記載のグラ
    フ表現にそれぞれ変換することを特徴とする請求項25
    記載の自動配置方法。
  29. 【請求項29】 マッチング度の高い回路の概念を検索
    する際のグラフ間のマッチングは、ニューラルネット、
    平均場アニーリング、シミュレーテッドアニーリング法
    または遺伝的アルゴリズムのいずれかを用いることを特
    徴とする請求項25乃至28のいずれかに記載の自動配
    置方法。
  30. 【請求項30】 ニューラルネットによるグラフ間のマ
    ッチングは、ニューラルネットのパラメータや初期状態
    などを設定し、設定されたパラメータ等に基づいて現在
    のマッチング状態を示すニューラルネットの状態を更新
    し、ニューラルネットの状態が収束しているかどうかを
    判定し、収束していない場合はニューラルネットの温度
    を更新し、ニューラルネットの状態の更新と収束判定を
    繰り返すことを特徴とする請求項29記載の自動配置方
    法。
  31. 【請求項31】 検索した回路の概念の対となる配置の
    規則性に沿って新規回路データを配置する際に、シミュ
    レーテッドアニーリング法、ニューラルネット、平均場
    アニーリング、または遺伝的アルゴリズムのいずれかを
    用いることを特徴とする請求項25乃至30のいずれか
    に記載の自動配置方法。
  32. 【請求項32】 検索した回路の概念の対となる配置の
    規則性に沿って新規回路データを配置する際に、前記回
    路の概念の部品と前記新規回路データの部品とを対応づ
    け、少なくともその対応関係と前記配置の規則性を用い
    て前記新規回路データに対しての配置を評価するコスト
    関数を生成し、前記コスト関数を最小化することを特徴
    とする請求項25乃至31のいずれかに記載の自動配置
    方法。
  33. 【請求項33】 コスト関数の最小化を行なう際に、少
    なくとも初期配置を生成し、部品または部品群を移動や
    回転させることにより配置を更新することを特徴とする
    請求項32に記載の自動配置方法。
  34. 【請求項34】 部品リストとネットリストからなる回
    路データを、各ネットに対応した属性と属性値からなる
    ノードを生成するノード生成手段と、各ノードペアに対
    応した属性と属性値とからなるエッジを生成するエッジ
    生成手段と、前記ノードおよび前記エッジからグラフに
    変換するグラフ変換手段からなることを特徴とするグラ
    フ表現変換装置。
  35. 【請求項35】 ノードおよびエッジにおける属性とし
    て少なくとも部品種類毎の部品数を含み、その実際の値
    を属性値とすることを特徴とする請求項34記載のグラ
    フ表現変換装置。
  36. 【請求項36】 部品リストとネットリストからなる回
    路データを、各部品に対応した属性と属性値とからなる
    ノードを生成するノード生成手段と、各ノードペアに対
    応した属性と属性値とからなるエッジを生成するエッジ
    生成手段と、前記ノードおよび前記エッジからグラフに
    変換するグラフ変換手段からなることを特徴とするグラ
    フ表現変換装置。
  37. 【請求項37】 ノードにおける属性として少なくとも
    部品種類を含み、その部品種類の名称を属性値とし、前
    記エッジにおける属性として少なくとも配線本数を含
    み、その実際の値を属性値とすることを特徴とする請求
    項36記載のグラフ表現変換装置。
  38. 【請求項38】 部品リストとネットリストからなる回
    路データとその対となる配置データを記憶したデータベ
    ースと、新規回路データと前記データベース中の回路デ
    ータとをノードおよびエッジからなるグラフに変換する
    グラフ変換手段と、前記変換されたグラフ間のマッチン
    グを行うマッチング手段と、マッチング度の高い回路デ
    ータを検索する検索手段と、前記検索した回路データの
    対となる配置データに沿って、前記新規回路データを配
    置する配置手段とを具備することを特徴とする自動配置
    装置。
  39. 【請求項39】 新規回路データとデータベース中の回
    路データとをノードとエッジとからなるグラフにそれぞ
    れ変換する際に、請求項34または35に記載のグラフ
    表現変換装置を用いることを特徴とする請求項38記載
    の自動配置装置。
  40. 【請求項40】 新規回路データとデータベース中の回
    路データとをノードとエッジとからなるグラフにそれぞ
    れ変換する際に、請求項36または37に記載のグラフ
    表現変換装置を用いることを特徴とする請求項38記載
    の自動配置装置。
  41. 【請求項41】 新規回路データとデータベース中の回
    路データとをノードとエッジとからなるグラフにそれぞ
    れ変換する際に、前記新規回路データのネット数と前記
    データベース中の回路データのネット数との積と、前記
    新規回路データの部品数と前記データベース中の回路デ
    ータの部品数との積とを比較して、前者の積が小さい場
    合、請求項34または35に記載のグラフにそれぞれ変
    換し、後者の積が小さい場合、請求項36または37に
    記載のグラフにそれぞれ変換することを特徴とする請求
    項38記載の自動配置装置。
  42. 【請求項42】 変換されたグラフ間のマッチングを行
    うマッチング手段は、ニューラルネット、平均場アニー
    リング、シミュレーテッドアニーリング法または遺伝的
    アルゴリズムのいずれかを用いることを特徴とする請求
    項38乃至41のいずれかに記載の自動配置装置。
  43. 【請求項43】 ニューラルネットを用いたマッチング
    手段は、ニューラルネットのパラメータや初期状態など
    を設定し、前記設定されたパラメータ等に基づいて現在
    のマッチング状態を示す前記ニューラルネットの状態を
    更新し、前記ニューラルネットの状態が収束しているか
    どうかを判定し、収束していない場合は前記ニューラル
    ネットの温度を更新し、前記ニューラルネットの状態の
    更新と収束判定を繰り返すことを特徴とする請求項42
    記載の自動配置装置。
  44. 【請求項44】 検索した回路データの対となる配置デ
    ータに沿って前記新規回路データを配置する配置手段
    は、シミュレーテッドアニーリング法、ニューラルネッ
    ト、平均場アニーリング、または遺伝的アルゴリズムの
    いずれかを用いることを特徴とする請求項38乃至43
    のいずれかに記載の自動配置装置。
  45. 【請求項45】 検索した回路データの対となる配置デ
    ータに沿って前記新規回路データを配置する配置手段
    は、前記回路データの部品と前記新規回路データの部品
    とを対応づけ、少なくともその対応関係と前記配置デー
    タを用いて前記新規回路データに対しての配置を評価す
    るコスト関数を生成し、前記コスト関数を最小化するこ
    とを特徴とする請求項38乃至44のいずれかに記載の
    自動配置装置。
  46. 【請求項46】 コスト関数の最小化を行なう際に、少
    なくとも初期配置を生成し、部品または部品群を移動ま
    たは回転させることにより配置を更新することを特徴と
    する請求項38乃至45のいずれかに記載の自動配置装
    置。
  47. 【請求項47】 部品リストとネットリストからなる回
    路データとその配置データをデータベースに記憶し、前
    記回路データ間に共通または類似する部分回路である回
    路の概念を抽出する回路概念抽出部と、前記回路の概念
    に対しての部分的な配置データにおける配置の規則性を
    抽出する配置規則抽出部と、その配置の規則性に沿って
    新規回路データを配置する配置部とを具備することを特
    徴とする自動配置装置。
  48. 【請求項48】 回路概念抽出部は、回路データに共通
    する部分回路を共有した仮想的な融合回路を生成する融
    合回路生成手段と、前記融合回路を利用して前記回路デ
    ータをベクトルに変換するベクトル変換手段と、前記ベ
    クトルに内在する概念ベクトルを自動形成する概念ベク
    トル形成手段と、前記融合回路を利用して前記概念ベク
    トルを回路の概念に変換する回路概念変換手段とからな
    ることを特徴とする請求項47に記載の自動配置装置。
  49. 【請求項49】 融合回路生成手段は、融合回路を初期
    化し、データベースから回路データを読み込み、前記融
    合回路と前記回路データとのマッチングを行い、マッチ
    ングがとれた部品を共有し、かつ、マッチングが取れな
    い部品を付加することで、前記融合回路を更新すること
    を特徴とする請求項48に記載の自動配置装置。
  50. 【請求項50】 ベクトル変換手段は、前記回路データ
    と前記融合回路との対応関係を利用して、変換すること
    を特徴とする請求項48または49のいずれかに記載の
    自動配置装置。
  51. 【請求項51】 概念ベクトル形成手段は、ニューラル
    ネットを用いることを特徴とする請求項48乃至50の
    いずれかに記載の自動配置装置。
  52. 【請求項52】 回路概念変換手段は、前記融合回路を
    利用することを特徴とする請求項48乃至51のいずれ
    かに記載の自動配置装置。
  53. 【請求項53】 回路概念抽出部は、回路データに共通
    または類似する部分回路に含まれる部品数を任意に設定
    する部品数設定手段を備えることを特徴とする請求項4
    7に記載の自動配置装置。
  54. 【請求項54】 配置規則抽出部は、前記回路の概念を
    含んだ回路データの対となる配置データを利用すること
    を特徴とする請求項47乃至53のいずれかに記載の自
    動配置装置。
  55. 【請求項55】 配置規則抽出部で抽出する配置の規則
    性は、前記回路の概念を構成する部品ペアの各々に対
    し、少なくとも、前記部品ペアと対応が取れる回路デー
    タ中の部品ペアと対になる配置データにおける部品間距
    離の平均とすることを特徴とする請求項54記載の自動
    配置装置。
  56. 【請求項56】 配置規則抽出部で抽出する配置の規則
    性は、前記回路の概念を構成する部品ペアの各々に対
    し、少なくとも、前記部品ペアと対応が取れる回路デー
    タ中の部品ペアと対になる配置データにおける部品間距
    離の分散とすることを特徴とする請求項54記載の自動
    配置装置。
  57. 【請求項57】 配置規則抽出部で抽出する配置の規則
    性は、前記回路の概念を構成する部品ペアの各々に対
    し、少なくとも、前記部品ペアと対応が取れる回路デー
    タ中の部品ペアの数があらかじめ設定した数より少ない
    場合は定数とすることあるいは当該部品ペアを規則とし
    て考慮しないことを特徴とする請求項54記載の自動配
    置装置。
  58. 【請求項58】 配置部は、前記新規回路データと前記
    回路の概念とをノードとエッジとからなるグラフにそれ
    ぞれ変換するグラフ変換手段と、前記変換されたグラフ
    間のマッチングを行うマッチング手段と、マッチング度
    の高い回路の概念を検索する検索手段と、前記検索した
    回路の概念の対となる配置の規則性に沿って前記新規回
    路データを配置する配置手段とを具備することを特徴と
    する請求項47乃至57のいずれかに記載の自動配置装
    置。
  59. 【請求項59】 グラフ変換手段は、請求項34または
    35に記載のグラフ表現変換装置であることを特徴とす
    る請求項58記載の自動配置装置。
  60. 【請求項60】 グラフ変換手段は、請求項36または
    37に記載のグラフ表現変換装置であることを特徴とす
    る請求項58記載の自動配置装置。
  61. 【請求項61】 グラフ変換手段は、前記新規回路デー
    タのネット数と前記回路の概念のネット数との積と、前
    記新規回路データの部品数と前記回路の概念との積とを
    比較して、前者の積が小さい場合、請求項34または3
    5に記載のグラフ表現変換装置を利用し、後者の積が小
    さい場合、請求項36または37に記載のグラフ表現変
    換装置を利用することを特徴とする請求項58記載の自
    動配置装置。
  62. 【請求項62】 マッチング手段は、ニューラルネッ
    ト、平均場アニーリング、シミュレーテッドアニーリン
    グ法または遺伝的アルゴリズムのいずれかを用いること
    を特徴とする請求項58乃至61のいずれかに記載の自
    動配置装置。
  63. 【請求項63】 マッチング手段は、前記ニューラルネ
    ットのパラメータや初期状態などを設定し、前記設定さ
    れたパラメータ等に基づいて現在のマッチング状態を示
    す前記ニューラルネットの状態を更新し、前記ニューラ
    ルネットの状態が収束しているかどうかを判定し、収束
    していない場合は前記ニューラルネットの温度を更新
    し、前記ニューラルネットの状態の更新と収束判定を繰
    り返すことを特徴とする請求項62記載の自動配置装
    置。
  64. 【請求項64】 配置手段は、シミュレーテッドアニー
    リング法、ニューラルネット、平均場アニーリング、ま
    たは遺伝的アルゴリズムのいずれかを用いることを特徴
    とする請求項58乃至63のいずれかに記載の自動配置
    装置。
  65. 【請求項65】 配置手段は、前記回路の概念の部品と
    前記新規回路データの部品とを対応づけ、少なくともそ
    の対応関係と前記配置の規則性を用いて前記新規回路デ
    ータに対しての配置を評価するコスト関数を生成し、前
    記コスト関数を最小化することを特徴とする請求項58
    乃至64のいずれかに記載の自動配置装置。
  66. 【請求項66】 コスト関数の最小化を行なう際に、少
    なくとも初期配置を生成し、部品または部品群を移動や
    回転させることにより配置を更新することを特徴とする
    請求項65に記載の自動配置装置。
  67. 【請求項67】 グラフデータを記録したコンピュータ
    読み取り可能な記録媒体であって、前記グラフデータ
    は、前記記録媒体に各ネット毎に形成されたノードファ
    イル及び各ノードペア毎に形成されたエッジファイルが
    記録され、前記ノードファイルは、各ノード毎に各ネッ
    トに対応して記録した属性と属性値領域を有し、前記エ
    ッジファイルは、各ノードペア毎に各ネットペアに対応
    して記録した属性と属性値領域を有することを特徴とす
    るグラフデータを記録したコンピュータ読み取り可能な
    記録媒体。
  68. 【請求項68】 グラフデータを記録したコンピュータ
    読み取り可能な記録媒体であって、前記グラフデータ
    は、前記記録媒体に各部品毎に形成されたノードファイ
    ル及び各ノードペア毎に形成されたエッジファイルが記
    録され、前記ノードファイルは、各ノード毎に各部品に
    対応して記録した属性と属性値領域を有し、前記エッジ
    ファイルは、各ノードペア毎に各部品ペアに対応して記
    録した属性と属性値領域を有することを特徴とするグラ
    フデータを記録したコンピュータ読み取り可能な記録媒
    体。
  69. 【請求項69】 コンピュータによってグラフに変換す
    るプログラムを記録した記録媒体であって、部品リスト
    とネットリストからなる回路データを、各ネットに対応
    した属性と属性値からなるノードと、各ノードペアに対
    応した属性と属性値とからなるエッジとからなるグラフ
    表現に変換するグラフ変換プログラムを記録した記録媒
    体。
  70. 【請求項70】 コンピュータによってグラフ表現に変
    換するプログラムを記録した記録媒体であって、部品リ
    ストとネットリストからなる回路データを、各部品に対
    応した属性と属性値からなるノードと、各ノードペアに
    対応した属性と属性値とからなるエッジとからなるグラ
    フ表現に変換するグラフ変換プログラムを記録した記録
    媒体。
  71. 【請求項71】 コンピュータによって部品を自動配置
    するプログラムを記録した記録媒体であって、部品リス
    トとネットリストからなる回路データとその対となる配
    置データを記憶したデータベースと、新規回路データと
    前記データベース中の回路データとを、ノードとエッジ
    とからなるグラフにそれぞれ変換し、変換されたグラフ
    間のマッチングを行い、マッチング度の高い回路データ
    を検索し、検索した回路データの対となる配置データに
    沿って新規回路データを配置する自動配置プログラムを
    記録した記録媒体。
  72. 【請求項72】 コンピュータによって部品を自動配置
    するプログラムを記録した記録媒体であって、部品リス
    トとネットリストからなる回路データとその配置データ
    を記憶したデータベースと、前記回路データ間に共通ま
    たは類似する部分回路である回路の概念を抽出し、前記
    回路の概念に対しての部分的な配置データにおける配置
    の規則性を抽出し、その配置の規則性に沿って新規回路
    データを配置する自動配置プログラムを記録した記録媒
    体。
JP14795999A 1998-06-09 1999-05-27 グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置 Expired - Fee Related JP3791239B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14795999A JP3791239B2 (ja) 1998-06-09 1999-05-27 グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP16012098 1998-06-09
JP31290298 1998-11-04
JP10-312902 1998-11-04
JP10-160120 1998-11-04
JP14795999A JP3791239B2 (ja) 1998-06-09 1999-05-27 グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置

Publications (2)

Publication Number Publication Date
JP2000200298A true JP2000200298A (ja) 2000-07-18
JP3791239B2 JP3791239B2 (ja) 2006-06-28

Family

ID=27319454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14795999A Expired - Fee Related JP3791239B2 (ja) 1998-06-09 1999-05-27 グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置

Country Status (1)

Country Link
JP (1) JP3791239B2 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260178A (ja) * 2003-02-26 2004-09-16 Osram Opto Semiconductors Gmbh 光電子半導体チップに用いられる電気的なコンタクトならびに該電気的なコンタクトを製造するための方法
WO2008026731A1 (fr) 2006-08-31 2008-03-06 Ipflex Inc. Procédé et système pour le montage d'un modèle de circuit sur un dispositif reconfigurable
US8866845B2 (en) 2010-03-10 2014-10-21 Empire Technology Development Llc Robust object recognition by dynamic modeling in augmented reality
US9002844B2 (en) 2012-01-31 2015-04-07 Fujitsu Limited Generating method, generating system, and recording medium
JP2015090628A (ja) * 2013-11-07 2015-05-11 株式会社日立製作所 機器配置自動算出装置
WO2020229927A1 (ja) * 2019-05-15 2020-11-19 株式会社半導体エネルギー研究所 検索方法、検索装置、および検索システム
KR20220052494A (ko) * 2020-10-21 2022-04-28 펜타큐브 주식회사 회로 검증을 위한 유사 회로 검색 장치 및 방법
JP2023536765A (ja) * 2021-07-12 2023-08-29 ▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司 人工知能に基づく回路設計方法及び実装システム
WO2024084672A1 (ja) * 2022-10-21 2024-04-25 三菱電機株式会社 情報処理装置および情報処理方法
KR102688659B1 (ko) * 2024-02-14 2024-07-25 주식회사 알세미 인공신경망 모델을 이용한 회로 평가 방법 및 장치
JP7541902B2 (ja) 2019-11-26 2024-08-29 三菱電機エンジニアリング株式会社 機能推定方法、機能推定装置、および機能推定プログラム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004260178A (ja) * 2003-02-26 2004-09-16 Osram Opto Semiconductors Gmbh 光電子半導体チップに用いられる電気的なコンタクトならびに該電気的なコンタクトを製造するための方法
WO2008026731A1 (fr) 2006-08-31 2008-03-06 Ipflex Inc. Procédé et système pour le montage d'un modèle de circuit sur un dispositif reconfigurable
US8136076B2 (en) 2006-08-31 2012-03-13 Fuji Xerox Co., Ltd. Method and system for mounting circuit design on reconfigurable device
US8866845B2 (en) 2010-03-10 2014-10-21 Empire Technology Development Llc Robust object recognition by dynamic modeling in augmented reality
US9002844B2 (en) 2012-01-31 2015-04-07 Fujitsu Limited Generating method, generating system, and recording medium
JP2015090628A (ja) * 2013-11-07 2015-05-11 株式会社日立製作所 機器配置自動算出装置
WO2015068524A1 (ja) * 2013-11-07 2015-05-14 株式会社日立製作所 機器配置自動算出装置
US10162909B2 (en) 2013-11-07 2018-12-25 Hitachi, Ltd. Device placement automatic calculation apparatus
WO2020229927A1 (ja) * 2019-05-15 2020-11-19 株式会社半導体エネルギー研究所 検索方法、検索装置、および検索システム
JP7453969B2 (ja) 2019-05-15 2024-03-21 株式会社半導体エネルギー研究所 検索装置
JP7541902B2 (ja) 2019-11-26 2024-08-29 三菱電機エンジニアリング株式会社 機能推定方法、機能推定装置、および機能推定プログラム
KR20220052494A (ko) * 2020-10-21 2022-04-28 펜타큐브 주식회사 회로 검증을 위한 유사 회로 검색 장치 및 방법
KR102417677B1 (ko) * 2020-10-21 2022-07-07 펜타큐브 주식회사 회로 검증을 위한 유사 회로 검색 장치 및 방법
JP2023536765A (ja) * 2021-07-12 2023-08-29 ▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司 人工知能に基づく回路設計方法及び実装システム
JP7353699B2 (ja) 2021-07-12 2023-10-02 ▲蘇▼州▲貝▼克▲微▼▲電▼子股▲ふん▼有限公司 人工知能に基づく回路設計方法及び実装システム
WO2024084672A1 (ja) * 2022-10-21 2024-04-25 三菱電機株式会社 情報処理装置および情報処理方法
KR102688659B1 (ko) * 2024-02-14 2024-07-25 주식회사 알세미 인공신경망 모델을 이용한 회로 평가 방법 및 장치

Also Published As

Publication number Publication date
JP3791239B2 (ja) 2006-06-28

Similar Documents

Publication Publication Date Title
US20200272777A1 (en) Machine-Learning Design Enablement Platform
CN111753189B (zh) 一种少样本跨模态哈希检索共同表征学习方法
CN105786980B (zh) 对描述同一实体的不同实例进行合并的方法、装置及设备
WO2020062770A1 (zh) 一种领域词典的构建方法、装置、设备及存储介质
JP5721233B2 (ja) 画像認識システム
CN111191526A (zh) 行人属性识别网络训练方法、系统、介质及终端
US11568098B2 (en) Designing convective cooling channels
JP2000200298A (ja) グラフ表現変換方法及びその装置、並びに自動配置方法及びその装置
Palágyi et al. Topology preserving parallel 3D thinning algorithms
CN113449187A (zh) 基于双画像的产品推荐方法、装置、设备及存储介质
CN106910252A (zh) 一种基于语义空间投影变换的三维模型在线标注方法与系统
US20080244493A1 (en) Pattern based elaboration of hierarchical l3go designs
Ding et al. Visual dependency transformers: Dependency tree emerges from reversed attention
CN112513861B (zh) 使用并行处理进行层次电路模拟的方法和系统
CN112800262A (zh) 一种图像自组织聚类可视化方法及装置、存储介质
CN116843961A (zh) 图像分类方法、系统、介质及电子设备
CN114329016B (zh) 图片标签生成方法和文字配图方法
CN109783139A (zh) 软件界面特征提取方法、装置及电子设备
CN113221578B (zh) 疾病实体检索方法、装置、设备及介质
CN115186188A (zh) 基于行为分析的产品推荐方法、装置、设备及存储介质
Gu et al. A Swin Transformer based Framework for Shape Recognition
CN113962221A (zh) 一种文本摘要的提取方法、装置、终端设备和存储介质
JP6842436B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP3615439B2 (ja) 類似特徴量の検索方法,その検索装置およびその検索プログラム記録媒体
CN106649895A (zh) 一种层次化的集成电路版图短路查找方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050621

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050922

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060216

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: 20060314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060327

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120414

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130414

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees