(57)【要約】【課題】２つの回路の比較を高速・高精度で実行し、両回路の類似性を定量的に算出し、類似回路まで選出可能な類似回路選出装置の提供。【解決手段】既設計回路の回路図について、新設計回路の回路図の各素子ejに対し既設計回路の素子ekを対応づけ対応表を作成する素子対応手段、新設計回路の各素子ejに対し、回路図平面上の位置座標系で素子ejに接続するフライ・ラインの距離の平均値を算出する第１の平均フライ・ライン距離算出手段、対応表で素子ejに対応する既設計回路内の素子ekに対し、回路図平面上の位置座標系で素子ekに接続するフライ・ラインの距離の平均値を算出する第２の平均フライ・ライン距離算出手段、両フライ・ライン距離平均の相違度を新設計回路の全素子につき積算し類似度を算出する類似度算出手段、各既設計回路のうち類似度が最大のものを選択する選択手段を備えた。【選択図】        図１
2006146452.tif 000002
【特許請求の範囲】
【請求項１】
２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成装置であって、
２つの回路CN，CPの回路図を記憶する回路記憶手段と、
前記回路記憶手段に記憶された前記回路CNの回路図に含まれる各素子ej（CN）に対し、前記回路記憶手段に記憶された前記回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけることにより、対応表を作成する素子対応手段と、
を備えていることを特徴とする素子対応表作成装置。
【請求項２】
前記素子対応手段は、
前記回路記憶手段に記憶された前記回路CNの回路図に含まれる各素子ej（CN）に対し、前記回路記憶手段に記憶された前記回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、前記素子ej（CN）との素子の大きさの差が所定の範囲内であり、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけること
を特徴とする請求項１記載の素子対応表作成装置。
【請求項３】
前記素子対応手段は、位置座標系において表される回路図平面上の各素子の位置座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）を、前記素子ej（CN）に対応づけること
を特徴とする請求項１又は２記載の素子対応表作成装置。
【請求項４】
前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成するシーケンス・ペア作成手段を備え、
前記素子対応手段は、シーケンス・ペア座標系において表される回路図平面上の各素子のシーケンス・ペア座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である素子ek（CP）を、前記素子ej（CN）に対応づけること
を特徴とする請求項１又は２記載の素子対応表作成装置。
【請求項５】
すでに設計された回路（以下、「既設計回路」という。）の集合｛CPi｝から、新たに入力された回路（以下、「新設計回路」という。）CNに最も類似するものを選出する類似回路選出装置であって、
前記既設計回路の集合｛CPi｝に属する既設計回路の回路図を記憶する既設計回路記憶手段と、
前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図について、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対して前記既設計回路CPiに含まれる素子ek（CPi）を対応づけることにより対応表を作成する素子対応手段と、
前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、回路図平面上に定められる位置座標系において、当該素子ej（CN）に接続するフライ・ラインの距離の平均値dN（ej（CN））を算出する第１の平均フライ・ライン距離算出手段と、
前記対応表により前記素子ej（CN）に対応づけられた前記既設計回路CPi内の素子ek（CPi）に対し、回路図平面上に定められる位置座標系において、当該素子ek（CPi）に接続するフライ・ラインの距離の平均値dPi（ek（CPi））を算出する第２の平均フライ・ライン距離算出手段と、
前記第１及び第２の平均フライ・ライン距離算出手段により算出される２つのフライ・ラインの距離の平均値の相違度を、前記新設計回路CNの回路図に含まれるすべての素子について積算した値（以下、「累積フライ・ライン距離相違度」という。）Mf、又はその逆数１／Mfである類似度を算出する類似度算出手段と、
前記既設計回路記憶手段から読み出された各既設計回路のうち、前記類似度算出手段により算出される累積フライ・ライン距離相違度Mfが最も小さい、又は類似度１／Mfが最も大きい既設計回路を選択する選択手段と、
を備えたことを特徴とする類似回路選出装置。
【請求項６】
前記第１及び第２の平均フライ・ライン距離算出手段は、回路図平面上に定められる位置座標系において、前記両素子間のマンハッタン距離の平均値dN（ej（CN）），dPi（ek（CPi））を算出することを特徴とする請求項５記載の類似回路選出装置。
【請求項７】
前記素子対応手段は、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけること
を特徴とする請求項５又は６に記載の類似回路選出装置。
【請求項８】
前記素子対応手段は、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一で、且つ当該素子ej（CN）との素子の大きさの差が所定の範囲内である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけること
を特徴とする請求項５乃至７の何れか一に記載の類似回路選出装置。
【請求項９】
前記素子対応手段は、位置座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である前記素子ek（CPi）を前記素子ej（CN）に対応づけること
を特徴とする請求項７又は８に記載の類似回路選出装置。
【請求項１０】
前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成するシーケンス・ペア作成手段を備え、
前記素子対応手段は、シーケンス・ペア座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である前記素子ek（CPi）を前記素子ej（CN）に対応づけること
を特徴とする請求項７又は８に記載の類似回路選出装置。
【請求項１１】
前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図又は前記新設計回路の回路図を拡大又は縮小することにより、両回路図の全体の大きさを整合させる回路図規格化手段を備えたことを特徴とする請求項５乃至１０の何れか一記載の類似回路選出装置。
【請求項１２】
前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図に対して回転変換又は反転変換を行う回路図変換手段を備え、
前記素子対応手段並びに第１及び第２の平均フライ・ライン距離算出手段は、前記回路図変換手段により回転変換又は反転変換がされた既設計回路CPiの回路図についてもそれぞれ同様の演算処理を行うことを特徴とする請求項５乃至１１の何れか一記載の類似回路選出装置。
【請求項１３】
２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成方法であって、
回路記憶手段に記憶された回路CNの回路図に含まれる各素子ej（CN）に対し、前記回路記憶手段に記憶された回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけることにより、対応表を作成することを特徴とする素子対応表作成方法。
【請求項１４】
２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成方法であって、
回路記憶手段に記憶された回路CNの回路図に含まれる各素子ej（CN）に対し、回路記憶手段に記憶された回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、前記素子ej（CN）との素子の大きさの差が所定の範囲内であり、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけることにより、対応表を作成することを特徴とする素子対応表作成方法。
【請求項１５】
前記所定の距離空間座標系は、位置座標系であることを特徴とする請求項１３又は１４に記載の素子対応表作成方法。
【請求項１６】
前記所定の距離空間座標系はシーケンス・ペア座標系であり、
前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成し、シーケンス・ペア座標系において表される回路図平面上の各素子のシーケンス・ペア座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である素子ek（CP）を、前記素子ej（CN）に対応づけること
を特徴とする請求項１３又は１４に記載の素子対応表作成方法。
【請求項１７】
回路図が既設計回路記憶手段に保存された既設計回路の集合｛CPi｝から、新たに入力された回路（以下、「新設計回路」という。）CNに最も類似するものを選出する類似回路選出方法であって、
前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図について、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対して前記既設計回路CPiに含まれる素子ek（CPi）を対応づけることにより対応表を作成する素子対応ステップと、
前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、回路図平面上に定められる位置座標系において、当該素子ej（CN）に接続するフライ・ラインの距離の平均値dN（ej（CN））を算出する第１の平均フライ・ライン距離算出ステップと、
前記対応表により前記素子ej（CN）に対応づけられた前記既設計回路CPi内の素子ek（CPi）に対し、回路図平面上に定められる位置座標系において、当該素子ek（CPi）に接続するフライ・ラインの距離の平均値dPi（ek（CPi））を算出する第２の平均フライ・ライン距離算出ステップと、
前記第１及び第２の平均フライ・ライン距離算出ステップにおいて算出される２つのフライ・ラインの距離の平均値の相違度を、前記新設計回路CNの回路図に含まれるすべての素子について積算した値（以下、「累積フライ・ライン距離相違度」という。）Mf、又はその逆数１／Mfである類似度を算出する類似度算出ステップと、
前記既設計回路記憶手段から読み出された各既設計回路のうち、前記類似度算出ステップにおいて算出される累積フライ・ライン距離相違度Mfが最も小さい、又は類似度１／Mfが最も大きい既設計回路を選択する選択ステップと、
を有する類似回路選出方法。
【請求項１８】
前記第１及び第２の平均フライ・ライン距離算出ステップにおいては、回路図平面上に定められる位置座標系において、前記両素子間のマンハッタン距離の平均値dN（ej（CN）），dPi（ek（CPi））を算出することを特徴とする請求項１７記載の類似回路選出方法。
【請求項１９】
前記素子対応ステップにおいては、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけることを特徴とする請求項１７又は１８に記載の類似回路選出方法。
【請求項２０】
前記素子対応ステップにおいては、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一で、且つ当該素子ej（CN）との素子の大きさの差が所定の範囲内である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけることを特徴とする請求項１７乃至１９の何れか一に記載の類似回路選出方法。
【請求項２１】
前記素子対応ステップにおいて、前記所定の距離空間座標系は位置座標系であることを特徴とする請求項１９又は２０に記載の類似回路選出方法。
【請求項２２】
前記素子対応ステップにおいて、前記所定の距離空間座標系はシーケンス・ペア座標系であって、前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成し、シーケンス・ペア座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である前記素子ek（CPi）を前記素子ej（CN）に対応づけることを特徴とする請求項１９又は２０に記載の類似回路選出方法。
【請求項２３】
前記素子対応ステップの前に、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図又は前記新設計回路の回路図を拡大又は縮小することにより、両回路図の全体の大きさを整合させる回路図規格化ステップを有することを特徴とする請求項１７乃至２２の何れか一記載の類似回路選出方法。
【請求項２４】
前記素子対応ステップの前に、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図に対して回転変換又は反転変換を行う既設計回路図変換ステップを有し、
前記素子対応ステップ並びに第１及び第２の平均フライ・ライン距離算出ステップにおいては、前記既設計回路図変換ステップにおいて回転変換又は反転変換がされた既設計回路CPiの回路図についてそれぞれ同様の演算処理を行うことを特徴とする請求項１７乃至２３の何れか一記載の類似回路選出方法。
【請求項２５】
請求項１３乃至１６の素子対応表作成方法をコンピュータに実行させることを特徴とするプログラム。
【請求項２６】
請求項１７乃至２４の類似回路選出方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計で用いられるCAD（Computer-Aided Design）装置などにおいて、既に設計されている回路（以下、「既設計回路」という。）と新しく設計した回路（以下、「新設計回路」という。）のような２つの回路を比較して、各回路内の素子の対応表を作成する素子対応表作成技術、及び、既設計回路のデータベースから新設計回路に近似するものを検索する場合などに用いられる類似回路選出技術に関する。
【背景技術】
【０００２】
近年、半導体集積回路の大規模化かつ複雑化が進み、回路設計を加速化し設計期間を短縮することが大きな課題となっている。そこで、回路設計の加速化の一手段として、既設計回路モジュール（IP：Intellectual Property）を積極的に再利用することで設計効率を上げる設計スタイル（以下、「IPベース設計」という。）が注目されている。デジタル回路設計の分野においては、IPベース設計が一般に普及しつつある。しかし、アナログ回路のIPベース設計は、まだ一般的ではない。
【０００３】
アナログ回路のIPベース設計においては、既設計回路をデータベース化し、新設計回路に類似した既設計回路をデータベースから高速に検索し選出する。選出された既設計回路のレイアウトを参照することによって、新設計回路のレイアウトを作成することで、設計効率を上げることができる。このようなアナログ回路のIPベース設計を実現するためには、新設計回路と既設計回路との類似性を判定し、適切な既設計回路を選出する必要がある。また、選出された既設計回路と新設計回路との間で、どの素子がどの素子に対応しているかに関する素子の対応表を作成することが必要となる。
【０００４】
２つの回路の類似性を判定する方法については、回路の同型判定手法として、従来から多くの研究がなされている。以下、従来の回路の同型判定手法について俯瞰する。
【０００５】
非特許文献１に記載の回路の同型判定手法は、アナログ・バイポーラ回路に特化し、参照回路のレイアウトと対象回路のネットリストとの同型性を判定する手法である。この手法では、まず、参照回路のレイアウト上からデバイスを認識する。次に、レイアウトとデバイスとの対応関係を利用して、レイアウト上でデバイスをシンボルに置き換え、配線を幅のないパスに置き換える。これにより、レイアウトを考慮した参照回路の回路図を作成する。次に、デバイス間を接続する配線パスのトレースを行うことにより、同電位のパスの集合を抽出する。この各パスの集合を同じネットとみなし、ネットリストを作成する。最後に、参照回路のレイアウトから作成されたネットリストと、入力で与えられた対象回路のネットリストとの同型判定を行う。尚、ここでは、ネットリストの縮約処理が利用されている。
【０００６】
非特許文献２に記載の回路の同型判定手法は、２つの回路図の同型判定を行う手法である。この手法では、まず、２つの回路図のそれぞれについて、回路図の直流パスをトレースすることにより、回路を機能単位に分割する。そして、グラフ・マッチングを利用して、その機能単位の対応関係を調べる。次いで、各機能単位の中で、信号ネットの対応関係を調べるために、ネットリストのトポロジー同型判定、又は論理等価判定を行う。これにより、両回路の同型判定が行われる。
【０００７】
非特許文献３に記載の回路の同型判定手法は、回路のネットリストから、設計者が入力として与えるゲート、フリップ・フロップ、メモリ、差動アンプ等の部分回路ブロックを抽出する手法である。この作業は、部分回路のパターン・マッチングによって行われる。パターン・マッチングは、(１)回路内のデバイスごとにピン重みを設定し、(２)回路のネットリストに対応するグラフを作成し、(３)そのグラフ上で、各デバイスのピンの重みを伝搬させ、この重み付きグラフを比較することによって行われる。
【０００８】
非特許文献４に記載の回路の同型判定手法は、回路機能の同型性を利用して、回路のネットリストの同型判定を行う手法である。この手法は、(１)ネットリストの縮約処理、(２)ネットリストのトポロジー同型判定処理、(３)ルール・ベースの同型機能判定処理、の３つの技術的特徴を含むものである。
【０００９】
非特許文献５に記載の回路の同型判定手法では、ネットリスト上で、接地から電源線までのデバイス間の接続関係に従って、各デバイスと各ネットに対して重み付けを行う。そして、このデバイスとネットの重みの大きさに基づいて部分回路の同型判定を行うものである。
【００１０】
非特許文献６に記載の回路の同型判定手法は、回路から階層情報を抽出し、回路上の誤り検出や機能の等価性判定を行うための手法である。この手法では、レイアウトから抽出したネットリストと階層化されたネットリストとの対応関係を調べるために、部分回路のパターン・マッチングを利用する。まず、各ネットリスト上で、接地から電源線までのデバイス間の接続関係に従って、各デバイスとネットに対して重み付けを行う。そして、このデバイスとネットの重みの大きさに基づき、部分回路の同型判定を行い、回路上の誤りを検出する。更に、端子の並びやグループ化を利用して、階層的にパターン・マッチングを適用する手法が記載されている。
【００１１】
また、特許文献１，２には、検査対象回路の中に特定回路が含まれているか否かを検索する手法が記載されている。この手法では、(１)まず、特定回路について、その回路内の各素子における各端子に対して、その端子に接続されたネットに番号付けを行う。(２)次に、番号付けされた各ネットと、そのネットに接続する１乃至複数の素子とを対応させた対応表を作成する。その際、対応表において、各ネットをそのネットに流れる電流値の順に整列する。(３)同様に、検査対象回路についても(１)(２)の処理を行い対応表を作成する。(４)そして、検査対象回路と特定回路の対応表の比較を行うことにより、検査対象回路に特定回路が含まれているかどうかの判定を行う。
【特許文献１】特開平５−２９０１１５号公報
【特許文献２】特開平５−２９０１１６号公報
【非特許文献１】Erich Barke, "A layout verification system for analog bipolar integrated circuits", Proc. IEEE/ACM Design Automation Conference, pp.353-359, 1983.
【非特許文献２】Ning-San Chang, Ravi M. Apte, "Consistency checking for MOS/VLSI circuits", Proc. IEEE/ACM Design Automation Conference, pp.732-733, 1983.
【非特許文献３】F. Luellau, T. Hoepken and E. Barke, "A technology independent block extraction algorithm", Proc. IEEE/ACM Design Automation Conference, pp.610-615, 1984.
【非特許文献４】Makoto Takashima, Atsuhiko Ikeuchi, Shoichi Kojima, Toshikazu Tanaka, Tamaki Saitou, Jun-ichi Sakata, "A circuit comparison system with rule-based functional isomorphism checking", Proc. IEEE/ACM Design Automation Conference, pp.512-516, 1988.
【非特許文献５】M. Ohlrich, C. Ebeling and E. Ginting, "SubGemini: Identifying subcircuits using a fast subgraph isomorphism algorithm", Proc. IEEE/ACM Design Automation Conference, pp. 31-37, 1993.
【非特許文献６】G. Pelz and U. Roettcher, "Pattern matching and refinement hybrid approach to circuit comparison", IEEE Transactions on Computer-Aided Design, vol.13, no.2, pp.264-275, Feb. 1994.
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記従来の手法は、大きく分類すると、機能ベースの回路の構造認識と回路のパターン・マッチングに分けられる。アナログ回路のIPベース設計においては、デジタル回路に比べてIPの機能が極めて多様であるため、特に回路のパターン・マッチングの手法が重要である。従来のパターン・マッチングの手法としては、ネットリストからトポロジー同型判定を行う手法と、素子とネットにラベル付けを行って対応表を作成する手法に分けられる。
【００１３】
ネットリストからトポロジー同型判定を行う手法では、２つの回路のネットリストをそれぞれグラフに対応づけて、２つのグラフ間でノードとエッジの１対１の一致を見つけることによって同型判定が行われる。しかし、トランジスタ・レベルの回路の中で、グラフ間の各ノード及びエッジの１対１の比較によって同型回路を発見する問題は、NP完全問題(NP-complete problem)であり、アルゴリズムの実行速度が極めて遅くなる。素子とネットにラベル付けを行って対応表を作成する手法についても同様である。特に、多数のIPデータベース中から特定の回路を選出する場合には、アルゴリズムの実行速度の問題が顕在化する。
【００１４】
また、従来の手法は、入力された回路と同一性を判定する手法であり、入力された回路に類似していることを判定することはできない。一般に、互いに類似する回路は、レイアウト構造も類似する場合が多い。従って、既設計回路から新設計回路に類似する回路を選出し、これを設計資源として再利用することは、回路設計の加速化につながり有効である。しかしながら、従来の手法では、類似回路の抽出まではできないため、既設計回路の設計資源の活用を有効に行うことができないという問題がある。
【００１５】
そこで、本発明の目的は、２つの回路の比較を高速かつ比較的高精度で実行し、各回路に含まれる素子の対応表を作成する素子対応表作成技術を提供することにある。
【００１６】
また、本発明の目的は、２つの回路の比較を高速かつ比較的高精度で実行するとともに、両回路の類似性を類似度として定量的に算出することによって、類似回路までも選出することが可能な類似回路選出技術を提供することにある。
【課題を解決するための手段】
【００１７】
一般に、回路を設計する設計者は、信号の流れに従って、左から右又は上から下のように一定の方向に向かって回路図を作成する傾向がある。そのため、同一又は類似の２つの回路では、一方の回路に含まれる素子の回路図上の位置（及び順序関係）と他方の回路に含まれる素子の回路図上の位置（及び順序関係）とは或る程度の相関がある場合が多いという経験則がある。本発明は、この経験則を利用して、２つの回路の各素子の回路図平面上における位置情報又は位置関係情報を利用して回路の同型・類似判定を高速に実行するようにしたものである。
【００１８】
以下の説明では、まず本明細書で使用する主要な用語について定義し、その後本発明の構成及び作用について説明する。
【００１９】
〔１〕用語の定義
（定義１）素子
トランジスタ、抵抗、コンデンサ等の独立した固有の機能を持つ個々の部品(要素)を「素子」という。尚、パットも素子に含まれるものとする。素子をei(iは素子を識別する添字)と記し、すべての素子の集合（以下「素子集合」という。）をE=｛e１，e２，…，eNe｝と記す。Neは素子の総数である。トランジスタ、抵抗、コンデンサ等のような素子eiの機能属性を「デバイスの種類」といい、Dev(ei)と記す。また、素子eiの大きさをSize(ei)と記す。素子eiの大きさを表す量としては、素子eiのレイアウトの面積S(ei)、幅w(ei)、高さh(ei)等の大きさを代表する値が使用される。素子における信号や電源の入出力部分を「端子」という。素子ei(∈E)に含まれる端子をtj(ei)(jは端子を識別する添字)と記し、素子ejに含まれるすべての端子の集合（以下「端子集合」という。）をT(ei)=｛t１(ei)，t２(ei)，…，tNti(ei)｝と記す。    （定義終り）
【００２０】
（定義２）ネット
素子集合Eの部分集合Ek(⊆E)に属する各素子の端子間を接続する接続線を「ネット」といい、netk(kはネットを識別する添字)と記す。すべてのネットnetkの集合（以下「ネット集合」という。）をNet=｛net１，net２，…netNn｝と記す。Nnはネットの総数である。特に、素子ei(∈E)の端子tj(ei)(∈T(ei))に接続するネットをnet(tj(ei))と記し、ネットnet(tj(ei))により端子tj(ei)に接続された端子の集合をT(net(tj(ei)))と記す。    （定義終り）
【００２１】
（定義３）回路
素子集合E及びネット集合Netの組(E，Net)を「回路」といい、C=(E，Net)と記す。回路Cが与えられたときに、その回路Cに含まれる素子の集合をE(C)、ネットの集合をNet(C)と記す。また、集合E(C)に属する素子をei(C)、集合Net(C)に属する素子をnetj(C)と記す。    （定義終り）
【００２２】
（定義４）回路図
回路Cを構成する素子及びネットを、図形記号により２次元平面上に表した図面を「回路図」といい、SCH(C)と記す。回路図が表された平面を「回路図平面」という。回路図平面における素子ei(∈E)の代表点の位置を表す座標（以下「素子座標」という。）を(x(ei)，y(ei))と記し、端子tj(∈T(ei))の代表点の位置を表す座標（以下「端子座標」という。）を(x(tj)，y(tj))と記す。素子eiに対して素子座標(x(ei)，y(ei))を対応させて素子eiの位置を表す仕組みを「位置座標系」という。    （定義終り）
【００２３】
（定義５）ネットリスト
回路Cの素子間の接続状態を表現したデータを「ネットリスト」といい、NL(C)と記す。    （定義終り）
【００２４】
（定義６）左右(水平)順序
素子集合E(C)に属する任意の２つの素子ei，ej(∈ E(C))の対(ei, ej)について、回路図SCH(C)の回路図平面における関係x(ei)≦x(ej)が成り立つとき、素子eiは素子ejの「左にある」（又は、素子ejは素子eiの「右にある」）という。    （定義終り）
【００２５】
（定義７）上下(垂直)順序
素子集合E(C)に属する任意の２つの素子ei, ej (∈E(C))の対(ei, ej)について、回路図SCH(C)の回路図平面における関係y(ei)≦y(ej)が成り立つとき、素子eiは素子ejの「下にある」（又は、素子ejは素子eiの「上にある」）という。    （定義終り）
【００２６】
（定義８）シーケンス・ペア
Ne個の素子(元)からなる素子集合E=｛e1, e2, … , eNe｝が与えられたとする。集合Eのすべての元の順列(sequence)である２つの素子順列をP=(p1, p2, … , pNe)(∀pi∈E)及びM=(m1, m2, … , mNe) (∀mi∈E)と記す。このとき、２つの順列P,Mの対(P, M)を「シーケンス・ペア（sequence pair）」という。
（定義終り）
【００２７】
（定義９）素子配置のシーケンス・ペア
回路Cに対して回路図SCH(C)が与えられ、回路Cの素子集合E(C)に属するすべての素子について、シーケンス・ペア(P，M)が与えられたとする。素子ei(∈E(C))の素子順列Pにおける順序をα(ei)、素子順列Mにおける順序をβ(ei)と記す。すなわち、
【００２８】
【数１】
2006146452.tif 000003
である。ある素子配置において、素子順列P，Mが式（２）の関係を満たしている場合、シーケンス・ペア(P，M)を回路図SCH(C)における「素子配置のシーケンス・ペア」という。
【００２９】
【数２】
2006146452.tif 000004
【００３０】
尚、素子ei(∈E(C))の代わりに素子eiに含まれる一つの端子tl(∈T(ei))が与えられた場合には、素子eiの素子順列Pにおける順序α(ei)の代わりにα(tl)、素子順列Mにおける順序β(ei)の代わりにβ(tl)と記す場合もある。    （定義終り）
【００３１】
（定義１０）シーケンス・ペア座標、シーケンス・ペア距離
回路Cに対して回路図SCH(C)が与えられ、回路Cの素子集合E(C)に属するすべての素子についてシーケンス・ペア(P，M)が与えられたとする。素子ei(∈E(C))の順列P，Mにおける順序をα(ei)，β(ei)と記す。このとき、素子eiに対する順序対(α(ei)，β(ei))を「シーケンス・ペア座標」という。素子eiに対してシーケンス・ペア座標(α(ei)，β(ei))を対応させて素子eiの順序関係を表す仕組みを「シーケンス・ペア座標系」という。シーケンス・ペア座標系において、任意の２つの素子ei，ejの間にシーケンス・ペア座標の関数として定義される距離を「シーケンス・ペア距離」といい、ds(ei，ej)と記す。ここで、シーケンス・ペア距離ds(ei，ej)は、素子集合Eの任意の２つの元の対に対して実数を対応させる、以下の３条件を満たすような写像ds：E×E→Rである。
【００３２】
【数３】
2006146452.tif 000005
（定義終り）
【００３３】
シーケンス・ペア距離の例としては、マンハッタン距離ds(ei，ej)=｜α(ei)−α(ej)｜＋｜β(ei)−β(ej)｜やユークリッド平方距離ds(ei，ej)=｜α(ei)−α(ej)｜２＋｜β(ei)−β(ej)｜２などがある。
【００３４】
（定義１１）回路図の変換
回路図平面において、回路図SCH(C)内の各素子ei(∈E(C))の座標を(x(ei)，y(ei))と記す。回路図SCH(C)内のすべての素子ei(∈E(C))に対し、その座標(x(ei)，y(ei))に座標変換(xn(ei)，yn(ei))=fn(x(ei)，y(ei))(但し、fnは変換関数)を施すことによって得られる回路図をSCHn(C)と記す。回路図SCH(C)から回路図SCHn(C)への変換を「回路図の変換」といい、fn：SCH(C)→SCHn(C)と記す。    （定義終り）
【００３５】
（定義１２）対応関数、対応表
２つの回路をCN，CPとする。回路図SCH(CN)に属する１つの素子ej(∈E(CN))と回路図SCH(CP)に属する１つの素子ek(∈E(CP))とを対応づける関数を「対応関数」といい、Mapと記す。
回路図SCH(CN)に属する１つの素子ej(∈E(CN))と、回路図SCH(CP)から回路図の変換fnにより得られる回路図SCHn(CP)に属する１つの素子ek(∈E(CP))とを対応づける対応関数をMapnで表す。Mapn(ej)=ek(又はMapn(ek)=ej)である。
回路図SCH(CN)のすべての素子ej(∈E(CN))とそれに対応づけられた素子ek=Mapn(ej)(∈E(CP))との組をテーブルにしたものを「対応表」といい、Mn(CN, CP)と記す。
（定義終り）
【００３６】
〔２〕本発明の構成及び作用
本発明に係る素子対応表作成装置の第１の構成は、２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成装置であって、２つの回路CN，CPの回路図を記憶する回路記憶手段と、前記回路記憶手段に記憶された前記回路CNの回路図に含まれる各素子ej（CN）に対し、前記回路記憶手段に記憶された前記回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけることにより、対応表を作成する素子対応手段と、を備えていることを特徴とする。
【００３７】
回路CNに含まれる素子ej（CN）に回路CPに含まれる素子を対応づける場合、素子のデバイスが異なれば対応しないことは明らかである。従って、素子対応手段は、まず回路CPに含まれる素子から、素子ej（CN）とデバイスの種類が同一であるもののみを候補として選択する。
【００３８】
更に、上述のように、同一又は類似の２つの回路では、一方の回路に含まれる素子の回路図上の位置（及び順序関係）と他方の回路に含まれる素子の回路図上の位置（及び順序関係）とは或る程度の相関がある場合が多いという経験則がある。また、回路CN，CPの回路図平面上の各素子の座標は、その回路図内における各素子の位置関係又は順序関係の情報が含まれている。そこで、素子対応手段は、上記の選択がされた素子の中で、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される素子ej（CN）との間の距離が最小である素子ek（CP）を選択し、これを素子ej（CN）と対応づける。これにより、比較的高い精度で素子ej（CN）と素子ek（CP）との対応付けを行うことが可能となる。
【００３９】
また、素子対応手段で必要とされる主要な演算処理は、デバイスの種類の比較判定及び素子間距離の最小値探索のみであり、従来のトポロジー同型判定に比べると必要とされる演算量が極めて少なく、実行速度が速い。従って、回路CN，CPの比較を高速且つ比較的高精度で実行し、各回路に含まれる素子の対応表を作成することが可能となる。
【００４０】
ここで、「回路」には、全体回路のみならず、ある大きな全体回路の一部分の回路（部分回路）も含まれる。また、「所定の距離空間座標系」としては、位置座標系(直交座標系、極座標系、斜交座標系、円筒座標系、放物線座標系等)の他に、シーケンス・ペア座標系が含まれる。
【００４１】
また、「距離」としては、マンハッタン距離(シティブロック距離)、ユークリッド距離、ユークリッド平方距離、標準化ユークリッド距離、重みつきユークリッド距離、ミンコフスキー距離、マハラノビスの距離、類似度等を使用することができる。
【００４２】
本発明に係る素子対応表作成装置の第２の構成は、前記第１の構成において、前記素子対応手段は、前記回路記憶手段に記憶された前記回路CNの回路図に含まれる各素子ej（CN）に対し、前記回路記憶手段に記憶された前記回路CPの回路図に含まれる各素子のうち、前記素子ej（CN）とデバイスの種類が同一であって、前記素子ej（CN）との素子の大きさの差が所定の範囲内であり、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）とを対応づけることを特徴とする。
【００４３】
この構成により、回路CNに含まれる素子ej（CN）に回路CPに含まれる素子を対応づける場合、素子のデバイスの種類に加えて素子の大きさも考慮することによって、回路の各素子の消費電力の相違なども考慮して、対応付けの候補となる素子の選択が行われる。そのため、対応付けの精度が向上するとともに、最初のデバイスの種類と素子の大きさによる対応づけられる候補素子の選択の段階で候補が絞られるため、その後の素子ej（CN）との間の距離の判定における演算処理が少なくなる。従って、対応表の作成の処理速度が向上する。
【００４４】
本発明に係る素子対応表作成装置の第３の構成は、前記第１又は２の構成において、前記素子対応手段は、位置座標系において表される回路図平面上の各素子の位置座標から算出される前記素子ej（CN）との間の距離が最小である素子ek（CP）を、前記素子ej（CN）に対応づけることを特徴とする。
【００４５】
このように、各素子の位置座標から素子間の距離を算出することによって、デバイスの種類又は素子の大きさにより選択された回路図CP内の候補素子のうち、素子ej（CN）に対して位置が最も近い素子ek（CP）を素子ej（CN）と対応づけることができる。
【００４６】
本発明に係る素子対応表作成装置の第４の構成は、前記第１又は２の構成において、前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成するシーケンス・ペア作成手段を備え、前記素子対応手段は、シーケンス・ペア座標系において表される回路図平面上の各素子のシーケンス・ペア座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である素子ek（CP）を、前記素子ej（CN）に対応づけることを特徴とする。
【００４７】
実際には、回路設計者が作成した回路図における素子の位置は、同じ回路であっても設計毎に若干の変動がある。従って、各素子の対応付けを行う場合において、それぞれの素子の回路図内での位置そのものを比較した場合、上記素子位置の変動による誤差の影響が現れやすい。
【００４８】
そこで、かかる素子位置の変動誤差を吸収するために、素子の位置そのものを比較するのではなく、回路図内の各素子の配置から具体的な位置という概念を捨象して、回路図内の各素子の他の素子との間の順序関係のみをシーケンス・ペアにより抽出する。そして、素子対応手段は、各素子のシーケンス・ペア座標から素子間のシーケンス・ペア距離を算出することによって、デバイスの種類又は素子の大きさにより選択された回路図CP内の候補素子のうち、回路CNの回路図内の素子ej（CN）の順序関係と比較して、回路CPの回路図内における順序関係が最も近い素子ek（CP）を素子ej（CN）と対応づける。これにより、設計毎に異なる回路図における素子の位置の変動による誤差が吸収され、素子の対応付けの精度を向上させることができる。
【００４９】
本発明に係る類似回路選出装置の第１の構成は、すでに設計された回路（以下、「既設計回路」という。）の集合｛CPi｝から、新たに入力された回路（以下、「新設計回路」という。）CNに最も類似するものを選出する類似回路選出装置であって、前記既設計回路の集合｛CPi｝に属する既設計回路の回路図を記憶する既設計回路記憶手段と、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図について、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対して前記既設計回路CPiに含まれる素子ek（CPi）を対応づけることにより対応表を作成する素子対応手段と、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、回路図平面上に定められる位置座標系において、当該素子ej（CN）に接続するフライ・ラインの距離の平均値dN（ej（CN））を算出する第１の平均フライ・ライン距離算出手段と、前記対応表により前記素子ej（CN）に対応づけられた前記既設計回路CPi内の素子ek（CPi）に対し、回路図平面上に定められる位置座標系において、当該素子ek（CPi）に接続するフライ・ラインの距離の平均値dPi（ek（CPi））を算出する第２の平均フライ・ライン距離算出手段と、前記第１及び第２の平均フライ・ライン距離算出手段により算出される２つのフライ・ラインの距離の平均値の相違度を、前記新設計回路CNの回路図に含まれるすべての素子について積算した値（以下、「累積フライ・ライン距離相違度」という。）Mf、又はその逆数１／Mfである類似度を算出する類似度算出手段と、前記既設計回路記憶手段から読み出された各既設計回路のうち、前記類似度算出手段により算出される累積フライ・ライン距離相違度Mfが最も小さい、又は類似度１／Mfが最も大きい既設計回路を選択する選択手段と、を備えたことを特徴とする。
【００５０】
この構成により、２つの回路（新設計回路CNと既設計回路CPi）との類似性を、累積フライ・ライン距離相違度Mfの逆数である類似度１／Mfとして定量化することができる。そして、選択手段は、新設計回路CNとの間の類似度が最も大きい既設計回路CPiを選択することにより、既設計回路記憶手段に新設計回路CNと同一の回路が保存されていない場合には、既設計回路記憶手段に記憶されている既設計回路の中から新設計回路CNに最も類似する回路をも選出することが可能となる。これによって、既設計回路の設計資源を有効に活用することができる。
【００５１】
更に、類似度は、上述のような回路図平面の所定の座標系におけるフライ・ライン距離の距離計算及びその差分の積算計算によって算出することができる。従って、高速に類似度の演算を行うことが可能であり実行速度が速い。そのため、多数の既設計回路のデータベースの中から新設計回路に類似する回路を短時間で選出することが可能となる。
【００５２】
ここで、「フライ・ライン」とは、回路図平面においてネットにより接続される２つの素子又は端子間を直結する線をいう。「フライ・ラインの距離（フライ・ライン距離）」とは、フライ・ラインの一端と他端との間の距離をいう。
【００５３】
「距離」としては、マンハッタン距離(シティブロック距離)、ユークリッド距離、ユークリッド平方距離、標準化ユークリッド距離、重みつきユークリッド距離、ミンコフスキー距離、マハラノビスの距離、類似度等を使用することができる。
【００５４】
また、距離の平均値の「相違度」とは、２つの距離平均値の差の絶対値｜dN(ej(CN))−dPi(ek(CPi))｜やn乗値｜dN(ej(CN))−dPi(ek(CPi))｜n (n>０)のように、２つの距離の平均値の差｜dN(ej(CN))−dPi(ek(CPi))｜に対して単調増加するような相違の度合いを表す量をいう。
【００５５】
本発明に係る類似回路選出装置の第２の構成は、前記第１の構成において、前記第１及び第２の平均フライ・ライン距離算出手段は、回路図平面上に定められる位置座標系において、前記両素子間のマンハッタン距離の平均値dN（ej（CN）），dPi（ek（CPi））を算出することを特徴とする。
【００５６】
このように、類似度を計算する際に用いるフライ・ライン距離の距離計算にマンハッタン距離を用いれば、演算処理ステップが少なく高速に演算することができる。従って、類似度計算処理の高速化を図ることができる。
【００５７】
本発明に係る類似回路選出装置の第３の構成は、前記第１又は２の構成において、前記素子対応手段は、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけることを特徴とする。
【００５８】
この構成によれば、素子対応手段は、まず回路CPに含まれる素子から、素子ej（CN）とデバイスの種類が同一であるもののみを選択する。素子対応手段は、上記の選択がされた素子の中で、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される素子ej（CN）との間の距離が最小である素子ek（CP）を選択し、これを素子ej（CN）と対応づける。これにより、比較的高い精度で素子ej（CN）と素子ek（CP）との対応付けを行うことが可能となる。
【００５９】
ここで、「デバイスの種類」とは、トランジスタ、抵抗、コンデンサ等のような素子の機能属性をいう。
【００６０】
本発明に係る類似回路選出装置の第４の構成は、前記第１乃至３の何れか一の構成において、前記素子対応手段は、前記新設計回路CNの回路図に含まれる各素子ej（CN）に対し、当該素子ej（CN）とデバイスの種類が同一で、且つ当該素子ej（CN）との素子の大きさの差が所定の範囲内である前記既設計回路CPi内の素子ek（CPi）のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小であるものを対応づけることを特徴とする。
【００６１】
この構成によれば、素子対応手段は、まず回路CPに含まれる素子から、素子ej（CN）とデバイスの種類が同一で、素子ej（CN）との素子の大きさの差が所定の範囲内であるもののみを選択する。素子対応手段は、上記の選択がされた素子の中で、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される素子ej（CN）との間の距離が最小である素子ek（CP）を選択し、これを素子ej（CN）と対応づける。このように、素子の大きさも考慮することによって、対応付けの精度が向上するとともに、対応表の作成の処理速度が向上する。
【００６２】
ここで、「素子の大きさ」を測る量としては、素子のレイアウトの面積、幅、高さ等が使用される。
【００６３】
本発明に係る類似回路選出装置の第５の構成は、前記第３又は４の構成において、前記素子対応手段は、位置座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間の距離が最小である前記素子ek（CPi）を前記素子ej（CN）に対応づけることを特徴とする。
【００６４】
この構成によれば、素子対応手段は、各素子の位置座標から素子間の距離を算出することによって、デバイスの種類又は素子の大きさにより選択された回路図CP内の候補素子のうち、素子ej（CN）に対して位置が最も近い素子ek（CP）を素子ej（CN）と対応づけることができる。
【００６５】
本発明に係る類似回路選出装置の第６の構成は、前記第３又は４の構成において、前記回路CN，CPの回路図から、それぞれの回路の素子配置のシーケンス・ペアを作成するシーケンス・ペア作成手段を備え、前記素子対応手段は、シーケンス・ペア座標系において表される回路図平面上の各素子の座標から算出される前記素子ej（CN）との間のシーケンス・ペア距離が最小である前記素子ek（CPi）を前記素子ej（CN）に対応づけることを特徴とする。
【００６６】
この構成によれば、素子対応手段は、各素子のシーケンス・ペア座標から素子間のシーケンス・ペア距離を算出することによって、デバイスの種類又は素子の大きさにより選択された回路図CP内の候補素子のうち、回路CNの回路図内の素子ej（CN）の順序関係と比較して、回路CPの回路図内における順序関係が最も近い素子ek（CP）を素子ej（CN）と対応づける。これにより、設計毎に異なる回路図における素子の位置の変動による誤差が吸収され、素子の対応付けの精度を向上させることができる。
【００６７】
本発明に係る類似回路選出装置の第７の構成は、前記第１乃至６の何れか一の構成において、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図又は前記新設計回路の回路図を拡大又は縮小することにより、両回路図の全体の大きさを整合させる回路図規格化手段を備えたことを特徴とする。
【００６８】
回路設計者が回路図を作成する場合、同じ回路の回路図であっても、設計によって回路図全体の大きさにばらつきが生じる。そこで、回路図規格化手段は、比較する２つの回路の回路図を拡大又は縮小することにより、両回路図の全体の大きさを整合させる。これにより、新設計回路CN及びそれと比較する既設計回路CPiの回路図の縮尺が等しくなり、両回路図内の各素子の回路図内での位置を同一条件で比較することができる。従って、素子の対応表を作成する場合や素子の類似度を計算する場合の精度が向上する。
【００６９】
本発明に係る類似回路選出装置の第８の構成は、前記第１乃至７の何れか一の構成において、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図に対して回転変換又は反転変換を行う回路図変換手段を備え、前記素子対応手段並びに第１及び第２の平均フライ・ライン距離算出手段は、前記回路図変換手段により回転変換又は反転変換がされた既設計回路CPiの回路図についてもそれぞれ同様の演算処理を行うことを特徴とする。
【００７０】
回路設計者が回路図を作成する場合、信号の流れが左から右、上から下へ流れる場合、右から左、下から上へ流れる場合等によって、同じ回路に対する回路図であっても、素子の位置関係や順序関係が回転又は反転している場合がある。
【００７１】
そこで、新設計回路CNと比較する既設計回路CPiを、回路図変換手段によって回転又は反転させた回路を幾つか生成し、これらの変換された既設計回路についても、素子対応手段による対応表の作成、及び第１及び第２の平均フライ・ライン距離算出手段による類似度の演算を行う。これにより、上述のような位置関係又は順序関係の回転自由度又は反転自由度を吸収することができ、対応表の作成と類似回路の選出を精度よく実行することができる。
【００７２】
本発明に係る素子対応表作成方法の第１の構成は、２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成方法であって、回路記憶手段に記憶された回路CNの回路図に含まれる各素子ej(CN)に対し、前記回路記憶手段に記憶された回路CPの回路図に含まれる各素子のうち、前記素子ej(CN)とデバイスの種類が同一であって、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej(CN)との間の距離が最小である素子ek(CP)とを対応づけることにより、対応表を作成することを特徴とする。
【００７３】
本発明に係る素子対応表作成方法の第２の構成は、２つの回路CN，CPについて、回路CNに含まれる素子と回路CPに含まれる素子との対応表を作成する素子対応表作成方法であって、回路記憶手段に記憶された回路CNの回路図に含まれる各素子ej(CN)に対し、回路記憶手段に記憶された回路CPの回路図に含まれる各素子のうち、前記素子ej(CN)とデバイスの種類が同一であって、前記素子ej(CN)との素子の大きさの差が所定の範囲内であり、且つ所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej(CN)との間の距離が最小である素子ek(CP)とを対応づけることにより、対応表を作成することを特徴とする。
【００７４】
本発明に係る素子対応表作成方法の第３の構成は、前記第１又は２の構成において、前記所定の距離空間座標系は、位置座標系であることを特徴とする。
【００７５】
本発明に係る素子対応表作成方法の第４の構成は、前記第１又は２の構成において、前記所定の距離空間座標系はシーケンス・ペア座標系であり、シーケンス・ペア座標系において表される回路図平面上の各素子のシーケンス・ペア座標から算出される前記素子ej(CN)との間のシーケンス・ペア距離が最小である素子ek(CP)を、前記素子ej(CN)に対応づけることを特徴とする。
【００７６】
本発明に係る類似回路選出方法の第１の構成は、回路図が既設計回路記憶手段に保存された既設計回路の集合｛CPi｝から、新たに入力された回路（以下、「新設計回路」という。）CNに最も類似するものを選出する類似回路選出方法であって、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図について、前記新設計回路CNの回路図に含まれる各素子ej(CN)に対して前記既設計回路CPiに含まれる素子ek(CPi)を対応づけることにより対応表を作成する素子対応ステップと、前記新設計回路CNの回路図に含まれる各素子ej(CN)に対し、回路図平面上に定められる位置座標系において、当該素子ej(CN)に接続するフライ・ラインの距離の平均値dN(ej(CN))を算出する第１の平均フライ・ライン距離算出ステップと、前記対応表により前記素子ej(CN)に対応づけられた前記既設計回路CPi内の素子ek(CPi)に対し、回路図平面上に定められる位置座標系において、当該素子ek(CPi)に接続するフライ・ラインの距離の平均値dPi(ek(CPi))を算出する第２の平均フライ・ライン距離算出ステップと、前記第１及び第２の平均フライ・ライン距離算出ステップにおいて算出される２つのフライ・ラインの距離の平均値の相違度を、前記新設計回路CNの回路図に含まれるすべての素子について積算した値（以下、「累積フライ・ライン距離相違度」という。）Mf、又はその逆数１／Mfである類似度を算出する類似度算出ステップと、前記既設計回路記憶手段から読み出された各既設計回路のうち、前記類似度算出ステップにおいて算出される累積フライ・ライン距離相違度Mfが最も小さい、又は類似度１／Mfが最も大きい既設計回路を選択する選択ステップと、を有することを特徴とする。
【００７７】
本発明に係る類似回路選出方法の第２の構成は、前記第１の構成において、前記第１及び第２の平均フライ・ライン距離算出ステップにおいては、回路図平面上に定められる位置座標系において、前記両素子間のマンハッタン距離の平均値dN(ej(CN))，dPi(ek(CPi))を算出することを特徴とする。
【００７８】
本発明に係る類似回路選出方法の第３の構成は、前記第１又は２の構成において、前記素子対応ステップにおいては、前記新設計回路CNの回路図に含まれる各素子ej(CN)に対し、当該素子ej(CN)とデバイスの種類が同一である前記既設計回路CPi内の素子ek(CPi)のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej(CN)との間の距離が最小であるものを対応づけることを特徴とする。
【００７９】
本発明に係る類似回路選出方法の第４の構成は、前記第１乃至３の何れか一の構成において、前記素子対応ステップにおいては、前記新設計回路CNの回路図に含まれる各素子ej(CN)に対し、当該素子ej(CN)とデバイスの種類が同一で、且つ当該素子ej(CN)との素子の大きさの差が所定の範囲内である前記既設計回路CPi内の素子ek(CPi)のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される前記素子ej(CN)との間の距離が最小であるものを対応づけることを特徴とする。
【００８０】
本発明に係る類似回路選出方法の第５の構成は、前記第３又は４の構成において、前記素子対応ステップにおいて、前記所定の距離空間座標系はシーケンス・ペア座標系であって、シーケンス・ペア座標系において表される回路図平面上の各素子の座標から算出される前記素子ej(CN)との間のシーケンス・ペア距離が最小である前記素子ek(CPi)を前記素子ej(CN)に対応づけることを特徴とする。
【００８１】
本発明に係る類似回路選出方法の第６の構成は、前記第３又は４の構成において、前記素子対応ステップにおいて、前記所定の距離空間座標系は位置座標系であることを特徴とする。
【００８２】
本発明に係る類似回路選出方法の第７の構成は、前記第１乃至６の何れか一の構成において、前記素子対応ステップの前に、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図又は前記新設計回路の回路図を拡大又は縮小することにより、両回路図の全体の大きさを整合させる回路図規格化ステップを有することを特徴とする。
【００８３】
本発明に係る類似回路選出方法の第８の構成は、前記第１乃至７の何れか一の構成において、前記素子対応ステップの前に、前記既設計回路記憶手段から読み出されたそれぞれの既設計回路CPiの回路図に対して回転変換又は反転変換を行う既設計回路図変換ステップを有し、前記素子対応ステップ並びに第１及び第２の平均フライ・ライン距離算出ステップにおいては、前記既設計回路図変換ステップにおいて回転変換又は反転変換がされた既設計回路CPiの回路図についてもそれぞれ同様の演算処理を行うことを特徴とする。
【００８４】
本発明に係るプログラムは、前記第１乃至４の何れか一の構成の素子対応表作成方法をコンピュータに実行させることを特徴とする。
【００８５】
本発明に係るプログラムは、前記第１乃至８の何れか一の構成の類似回路選出方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００８６】
以上のように、本発明に係る素子対応表作成装置及び素子対応表作成方法によれば、同一又は類似の２つの回路では、一方の回路に含まれる素子の回路図上の位置（及び順序関係）と他方の回路に含まれる素子の回路図上の位置（及び順序関係）とは或る程度の相関がある場合が多いという経験則を利用して、回路CNの素子ej（CN）とデバイスの種類が同一の回路CPの素子のうち、所定の距離空間座標系において表される回路図平面上の各素子の座標から算出される素子ej（CN）との間の距離が最小である素子ek（CP）を選択し、これを素子ej（CN）と対応づける。これにより、比較的高い精度で素子ej（CN）と素子ek（CP）との対応付けを行うことが可能となる。
【００８７】
また、従来のトポロジー同型判定に比べると必要とされる演算量が極めて少なく、実行速度が速い。従って、回路CN，CPの比較を高速且つ比較的高精度で実行し、各回路に含まれる素子の対応表を作成することが可能となる。
【００８８】
また、本発明に係る類似回路選出装置及び類似回路選出方法によれば、２つの回路（新設計回路CNと既設計回路CPi）との類似性を、累積フライ・ライン距離相違度Mfの逆数である類似度１／Mfとして定量化することができる。そして、新設計回路CNとの間の類似度が最も大きい既設計回路CPiを選択することにより、既設計回路記憶手段に新設計回路CNと同一の回路が保存されていない場合には、既設計回路記憶手段に記憶されている既設計回路の中から新設計回路CNに最も類似する回路をも選出することが可能となる。これによって、既設計回路の設計資源を有効に活用することができる。
【００８９】
更に、類似度は、回路図平面の所定の座標系におけるフライ・ライン距離の距離計算及びその差分の積算計算によって算出することができるので、高速に類似度の演算を行うことが可能であり実行速度が速い。そのため、多数の既設計回路のデータベースの中から新設計回路に類似する回路を短時間で選出することが可能となる。
【発明を実施するための最良の形態】
【００９０】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例１】
【００９１】
〔１〕装置の構成
図１は、本発明の実施例１に係る類似回路選出装置及び素子対応表作成装置の構成を表すブロック図である。実施例１に係る類似回路選出装置１は、素子対応表作成装置２、平均フライ・ライン距離算出手段３a、平均フライ・ライン距離算出手段３b、類似度算出手段４、類似度記憶手段５、選択手段６、及び選出回路記憶手段７を備えている。また、素子対応表作成装置２は、新設計回路記憶手段８、既設計回路記憶手段９、回路図規格化手段１０、回路図変換手段１１、検査回路記憶手段１２、シーケンス・ペア作成手段１３、シーケンス・ペア記憶手段１４、素子対応手段１５、及び対応表記憶手段１６を備えている。
【００９２】
本実施例においては、電子回路のレイアウト設計用のCAD装置において類似回路選出装置１を使用する場合を想定している。類似回路選出装置１は、プログラムとして提供され、そのプログラムをコンピュータに読み込んで実行することによって、図１に示したような類似回路選出装置１の機能構成がコンピュータで実現される。尚、図１において、入力装置２０は、キーボード、マウス、CD−ROMドライブ等の各種データ入力装置を表しており、出力装置２１は、ディスプレイ、プリンタ、磁気記録装置等の各種データ出力装置を表している。
【００９３】
回路設計者が新しく設計した回路（新設計回路）CNは、入力装置２０から入力され、新設計回路記憶手段８に保存される。ここで、新設計回路記憶手段８に保存されるデータは、各素子の素子属性情報を含む新設計回路CNの回路図SCH（CN）、及び新設計回路CNのネットリストである。尚、素子属性情報とは、素子ei（∈E（CN））のデバイスの種類Dev（ei）、素子の大きさ（サイズ）Size（ei）、抵抗値、容量、増幅率、時定数等の素子の属性を表す各種情報である。
【００９４】
また、既に設計されている回路（既設計回路）｛CPi｜i＝１，…，NPi｝（NPiは既設計回路の数）は、回路データベースとして既設計回路記憶手段９に保存されている。尚、既設計回路記憶手段９も、新設計回路記憶手段８と同様に、各素子の素子属性情報を含む各既設計回路CPiの回路図SCH（CN）、及び新設計回路CNのネットリストである。
【００９５】
回路図規格化手段１０は、既設計回路記憶手段９に記憶された一つの既設計回路CPiの回路図SCH（CPi）を読み出すと共に、新設計回路記憶手段８から新設計回路CNの回路図SCH（CN）を読み出し、回路図の拡大又は縮小を行うことによって両回路図の全体の大きさ（サイズ）の整合（以下「回路図の規格化処理」という。）を行う。回路図変換手段１１は、回路図規格化手段１０により回路図の規格化処理がされた既設計回路の回路図SCH（CPi）に対して、回転変換又は反転変換fnを行い、変換された回路図SCHn（CPi）を検査回路記憶手段１２に保存する。
【００９６】
シーケンス・ペア作成手段１３は、新設計回路記憶手段８に記憶された新設計回路の回路図SCH（CN）、又は検査回路記憶手段１２に記憶された既設計回路の回路図SCHn（CPi）からシーケンス・ペアを作成し、シーケンス・ペア記憶手段１４に保存する。
【００９７】
素子対応手段１５は、各既設計回路の回路図SCHn（CPi）について、新設計回路の回路図SCH（CN）に含まれる各素子ej（∈E（CN））に対して既設計回路の回路図SCHn（CPi）に含まれる１つの素子ek（∈E（CPi））を対応づけることにより対応表を作成し、これを対応表記憶手段１６に保存する。
【００９８】
平均フライ・ライン距離算出手段３aは、新設計回路の回路図SCH（CN）に含まれる各素子ej（∈E（CN））に対し、回路図平面上に定められる位置座標系において、当該素子ejに接続するフライ・ラインの距離の平均値dN（ej）を算出する。平均フライ・ライン距離算出手段３bは、既設計回路の回路図SCHn（CPi）に含まれる各素子ek（∈E（CPi））に対し、回路図平面上に定められる位置座標系において、当該素子ekに接続するフライ・ラインの距離の平均値dPi（ek）を算出する。
【００９９】
類似度算出手段４は、平均フライ・ライン距離算出手段３a，３bにより算出される２つのフライ・ライン距離の平均値dN（ej），dPi（ek）の相違度D(dN(ej), dPi(ek))を、新設計回路の回路図SCH（CN）に含まれるすべての素子について積算した値（累積フライ・ライン距離相違度）Mfを計算し、更にその逆数である類似度１／Mfを算出し、これを類似度記憶手段５に保存する。
【０１００】
選択手段６は、既設計回路の回路図のうち、類似度算出手段４によって算出される類似度が最も大きい既設計回路の回路図を選択し、その回路図に対応する対応表、ネットリスト、回路レイアウトを対応表記憶手段１６又は既設計回路記憶手段９から読み出して、選出回路記憶手段７に保存する。選出回路記憶手段７に記憶された対応表、ネットリスト、回路レイアウトは、ディスプレイ等の出力装置２１に出力される。
【０１０１】
以上のように構成された実施例に係る類似回路選出装置１及び素子対応表作成装置２について、以下その演算処理動作について説明する。
【０１０２】
〔２〕演算処理動作
（１）全体の処理の流れ
図２は、実施例１に係る類似回路選出装置１及び素子対応表作成装置２の演算処理動作の全体の流れを示すフローチャートである。まず、回路設計者は、回路設計CAD等を使用して、入力装置２０から新設計回路CNの回路図SCH（CN）及びネットリストNL（CN）を入力し、新設計回路記憶手段８に保存する（S１）。
【０１０３】
次に、類似回路選出装置１は、既設計回路の番号を表す内部変数iを１に初期化する（S２）。回路図規格化手段１０は、既設計回路記憶手段９から既設計回路CPiの回路図SCH（CPi）を読み出すとともに、新設計回路記憶手段８から新設計回路CNの回路図SCH（CN）を読み出す（S３）。そして、回路図規格化手段１０は、回路図SCH（CPi）と回路図SCH（CN）との規格化を行う（S４）。この規格化の具体的な処理手順については後述するが、規格化によって、回路図SCH（CPi）と回路図SCH（CN）との外形の幅及び高さが整合される。
【０１０４】
次に、類似回路選出装置１は、既設計回路の変換番号を表す内部変数nを１に初期化する（S５）。ここで、変換番号とは、既設計回路に対して回転・反転変換を行う変換関数fnを特定するための番号である。尚、変換関数fnは全部で８つ用意されている。f１は０度回転、f２は９０度回転、f３は１８０度回転、f４は２７０度回転、f５は左右反転、f６は上下反転、f7は左右反転＋９０度回転、f8は上下反転＋９０度回転の変換関数である。
【０１０５】
次に、回路図変換手段１１は、回路図規格化手段１０によって規格化された既設計回路の回路図SCH（CPi）に対して、変換関数fnにより回転変換又は反転変換を行い、変換された既設計回路の回路図SCHn（CPi）を作成する（S６）。尚、変換関数fnによる変換により、SCH（CPi）に含まれる各素子の位置座標が回転又は反転される。作成された回路図SCHn（CPi）は、検査回路記憶手段１２に保存される。
【０１０６】
次に、シーケンス・ペア作成手段１３は、回路図SCH（CN）と回路図SCHn（CPi）について、回路図に含まれる各素子の順序関係に基づいてシーケンス・ペアを作成し、シーケンス・ペア記憶手段１４に保存する（S７）。シーケンス・ペアの作成処理の具体的手順については、後述する。
【０１０７】
次に、素子対応手段１５は、シーケンス・ペア座標を用いて、回路図SCH（CN）と回路図SCHn（CPi）との対応表Mn(s)(CN，CPi)を作成する（S８）。この、対応表の作成処理の具体的手順については後述する。
【０１０８】
平均フライ・ライン距離算出手段３aは、規格化された新設計回路の回路図SCH（CN）に含まれる各素子ej（∈E（CN））に対して、回路図平面上に定められた位置座標において、当該素子ejに接続するフライ・ライン距離の平均値dN（ej）を算出する。平均フライ・ライン距離算出手段３bは、規格化された新設計回路の回路図SCH（CPi）に含まれる素子のうち、対応表Mn(s)(CN，CPi)により各素子ejに対応づけられた素子ek（∈E（CPi））に対して、回路図平面上に定められた位置座標において、当該素子ekに接続するフライ・ライン距離の平均値dPi（ek）を算出する。そして、類似度算出手段４は、これらのフライ・ライン距離の平均値dN（ej），dPi（ek）の相違度を、新設計回路の回路図SCH（CN）に含まれる全素子に対して積算し、累積フライ・ライン距離相違度Mf及び類似度Sim(s)（SCH(CN), SCHn(CPi))=１／Mfを算出する（S９）。ここで、類似度Simの上付添字（s）は、シーケンス・ペア座標において作成された対応表に基づいて計算された類似度であることを表す。類似度計算処理の具体的な手順については後述する。
【０１０９】
次に、素子対応手段１５は、今度は位置座標を用いて、ステップS８と同様に、回路図SCH（CN）と回路図SCHn（CPi）との対応表Mn(p)(CN，CPi)を作成する（S１０）。そして、ステップS９と同様にして、平均フライ・ライン距離算出手段３a，３b、及び類似度算出手段４は、類似度Sim(p)(SCH(CN), SCHn(CPi))を算出する（S１１）。ここで、類似度Simの上付添字（p）は、位置座標において作成された対応表に基づいて計算された類似度であることを表す。
【０１１０】
次に、類似度算出手段４は、２つの類似度Sim(s)(SCH(CN), SCHn(CPi))，Sim(p)(SCH(CN), SCHn(CPi))を比較する。ここで、類似度Sim(s)(SCH(CN), SCHn(CPi))が大きい場合には、類似度算出手段４は、Sim(s)(SCH(CN), SCHn(CPi))を回路図SCH(CN), SCHn(CPi)の類似度Sim(SCH(CN), SCHn(CPi))として、類似度記憶手段５に保存する。そして、対応表Mn(s)(CN，CPi)を、回路図SCH(CN), SCHn(CPi)の対応表Mn(CN，CPi)として対応表記憶手段１６に保存する。一方、類似度Sim(p)(SCH(CN), SCHn(CPi))が大きい場合には、類似度算出手段４は、Sim(p)(SCH(CN), SCHn(CPi))を回路図SCH(CN), SCHn(CPi)の類似度Sim(SCH(CN), SCHn(CPi))として、類似度記憶手段５に保存する。そして、対応表Mn(p)(CN，CPi)を、回路図SCH(CN), SCHn(CPi)の対応表Mn(CN，CPi)として対応表記憶手段１６に保存する（S１２）。
【０１１１】
そして、上記ステップS６〜S１２を、nの値が１から８になるまで繰り返す（S１３，S１４）。
【０１１２】
そして、上記ステップS３〜S１４までの動作を、iの値が１からNn（Nnは、既設計回路の数）になるまで繰り返す（S１５，S１６）。
【０１１３】
次に、選択手段６は、類似度記憶手段５に記憶されたすべての類似度｛Sim(SCH(CN), SCHn(CPi))｝のうち最大のものを選択し、回路図SCH(CN)との類似度が最大の回路図SCHn(CPi)を選出して、回路図SCH(CN)に最も類似する回路図SCH(CP)として選出回路記憶手段７に保存する。また、選択手段６は、選出した回路図SCH(CP)に対応するネットリストNL（CP）、レイアウトL（CP）、及び対応表M（CN，CP）を既設計回路記憶手段９又は対応表記憶手段１６から読み出して、これらを選出回路記憶手段７に保存する（S１７）。
【０１１４】
最後に、類似回路選出装置１は、選出回路記憶手段７に記憶された回路図SCH(CP)と、それに対応するネットリストNL（CP）、レイアウトL（CP）、及び対応表M（CN，CP）を出力装置２１に出力し（S１８）、処理を終了する。
【０１１５】
以上が全体の処理の流れである。次に、上述の回路図の規格化処理（S４）、シーケンス・ペア作成処理（S７）、対応表作成処理（S８，S１０）、及び類似度算出処理（S９，S１１）について、それぞれ具体的な手順を説明する。
【０１１６】
（２）回路図の規格化処理
回路設計者が回路図を作成する場合、同じ回路図であっても設計によって回路図全体の大きさにばらつきが生じる。このように、大きさにばらつきがある２つの回路図の各素子の位置座標を対比して対応表を作成し又は類似度を計算すると、同じ回路であっても対応関係に誤りが生じ、また、類似度が小さい値となり、素子の対応付けや類似性の判断に誤りが生じやすくなる。そこで、かかる回路図全体の大きさにばらつきによる影響をなくすために、上述のステップS４において、新設計回路CNの回路図SCH（CN）と既設計回路CPiの回路図SCH（CPi）の規格化が行われる。
【０１１７】
図３は、回路図の規格化処理の流れを示すフローチャートである。まず、回路図規格化手段１０は、新設計回路記憶手段８から、回路図SCH(CN)を読み出す。そして、回路図SCH(CN)の外形の幅w(SCH(CN))と高さh(SCH(CN))を算出する（S２１）。
【０１１８】
次に、回路図規格化手段１０は、既設計回路記憶手段９から、回路図SCH(CPi)を読み出す。そして、同様に、回路図SCH(CPi)の外形の幅w(SCH(CPi))と高さh(SCH(CPi))を算出する（S２２）。
【０１１９】
次に、回路図規格化手段１０は、回路図SCH(CN)に対し、幅方向に１／w(SCH(CN))、高さ方向に１／h(SCH(CN))の倍率で変倍し、これを規格化された回路図SCH(CN)として新設計回路記憶手段８に保存する（S２３）。
【０１２０】
同様に、回路図規格化手段１０は、回路図SCH(CPi)に対し、幅方向に１／w(SCH(CPi))、高さ方向に１／h(SCH(CPi))の倍率で変倍し、これを規格化された回路図SCH(CPi)として新設計回路記憶手段８に保存する（S２４）。
【０１２１】
以上の処理により、回路図SCH(CN)，SCH(CPi)は、各辺が単位長の正方形に規格化される。尚、ここで正方形に規格化した理由は、正方形であれば、後に行われる回路図変換手段１１による回転・反転変換が行われた場合にも、回路図SCH(CN)と回転されたSCHn(CPi)の高さと幅は常に同一となるからである。
【０１２２】
（３）シーケンス・ペア作成処理
回路図の素子配置のシーケンス・ペアは、上述の（定義９）により定義される。ここでは、具体的に回路Cの回路図SCH（C）が与えられたときに、その回路図から素子配置のシーケンス・ペア（P，M）を抽出する方法について説明する。
【０１２３】
まず、シーケンス・ペア作成手段１３は、素子集合E(C)に属するすべての素子ei（∈E(C)）の順列P，Mの初期値を適当に与える。
【０１２４】
次に、シーケンス・ペア作成手段１３は、素子集合Eに属する各素子ei（∈E(C)）について、回路図平面上における代表点の位置座標（x（ei），y（ei））を抽出する。例えば、回路図SCH(C)が図４のような回路図であったとする。まず、各素子を代表点で置き換え、ネットをフライ・ラインで置き換えると図５のようになる。図５においては、「●」で示された点が各素子の代表点を表し、各代表点間を接続する線分はフライ・ラインを表している。
【０１２５】
尚、ここでは、ネットで接続された２つの素子の代表点を結ぶ線分をフライ・ラインとしているが、各素子について、それに含まれる各端子の座標まで与えられている場合には、ネットで接続された２つの端子の代表点を結ぶ線分をフライ・ラインとしてもよい。
【０１２６】
最後に、シーケンス・ペア作成手段１３は、抽出した素子の座標(x(ei)，y(ei))に基づいて、以下のような条件下で素子ei（∈E(C)）の順列P，Mの整列を行うことによって、シーケンス・ペアP，Mを作成する：
【０１２７】
【数４】
2006146452.tif 000006
【０１２８】
この処理を、図４の回路図を例にとって具体的に説明すれば次のようになる。例えば、素子Q３について考える。素子Q３について、式（４）の条件１を満たす素子は、回路図平面上の素子Q３の位置に対して右側半平面における４５°及び−４５°の勾配を持つ２本の半直線に挟まれた領域内にある素子である。すなわち、図６において斜線で示された領域内にある素子（R１，C１，LO＿I１，LO＿I２，OUT１，OUT２，及びL＿I）である。従って、これらの素子の順列Pにおける順位は、素子Q３の順位よりも後となる。また、これらの素子の順列Mにおける順位は、素子Q３の順位よりも後となる。
【０１２９】
一方、素子Q３について、式（４）の条件２を満たす素子は、回路図平面上の素子Q３の位置に対して上側半平面における４５°及び−４５°の勾配を持つ２本の半直線に挟まれた領域内にある素子である。すなわち、図７において斜線で示された領域内にある素子（R１，R２，Q１，Q２，Q５，及びVCC）である。従って、これらの素子の順列Pにおける順位は、素子Q３の順位よりも前となる。また、これらの素子の順列Mにおける順位は、素子Q３の順位よりも後となる。
【０１３０】
順列P，Mの整列は、通常のソート・アルゴリズムを使用して実行される。これにより、回路図における各素子ei（∈E(C)）の順序関係はシーケンス・ペア（P，M）に取り込まれる。
【０１３１】
シーケンス・ペアでは、回路図上における各部品間の相対的な順序関係が抽出される。その順序関係は、具体的な素子配置を抽象化した位置関係、すなわち、一方の部品を原点とする（P，M）平面において、４５度及び−４５度の傾きを持ったP軸及びM軸により４分割される（P，M）平面のどの象限に他方の部品が存在するかという情報である。従って、同じ回路の回路図であっても、設計によってばらつきが大きい各素子の具体的な位置座標に比べると、各素子のシーケンス・ペア座標の設計によるばらつきは小さいという性質がある。
【０１３２】
（４）対応表作成処理
次に、ステップS８及びS１０における対応表作成処理について説明する。ステップS８とステップS１０は、対応表を作成する際に使用する回路図平面上の素子配置の座標系がシーケンス・ペア座標であるか位置座標であるかにおいてのみ異なり、その他は同様である。そこで、ここでは、ステップS８における対応表作成処理についてのみ説明する。ステップS１０の処理については、「シーケンス・ペア座標」を「位置座標」と読み替えればよい。
【０１３３】
図８は、対応表作成処理の流れを示すフローチャートである。素子対応手段１５は、内部変数として素子対応決定フラグ｛c(ej) | ∀ej∈E(CPi)｝、素子特定変数j，k，l、候補素子集合変数R、及び素子の対応関数｛Mapn(ek) | ∀ek∈E(CN)｝を備えている。
【０１３４】
まず、素子対応手段１５は、既設計回路CPiのすべての素子の素子対応決定フラグ｛c(ej) | ∀ej∈E(CPi)｝を０（対応未決定）に初期化する（S３１）。そして、新設計回路CNの素子を特定する素子特定変数kを１に初期化する（S３２）。
【０１３５】
次に、素子対応手段１５は、既設計回路CPiの素子を特定する素子特定変数jを１に初期化し、候補素子集合変数Rを空集合φに初期化する（S３３）。
【０１３６】
次に、素子対応手段１５は、新設計回路CNの素子ekと既設計回路CPiの素子ejに対するデバイスの種類Dev(ek)，Dev(ej)をそれぞれの回路図から抽出し比較する（S３４）。ここで、Dev(ek)≠Dev(ej)の場合には、ステップS３７に移行する。
【０１３７】
Dev(ek)＝Dev(ej)の場合、素子対応手段１５は、新設計回路CNの素子ekと既設計回路CPiの素子ejに対する素子のサイズSize(ek)，Size(ej)をそれぞれの回路図から抽出し、その差の絶対値| Size(ek)-Size(ej)|を計算する。そして、絶対値| Size(ek)-Size(ej)|が所定の閾値ThDSizeよりも小さいか否かを判定する（S３５）。ここで、| Size(ek)-Size(ej)|≧ThDSizeの場合には、ステップS３７に移行する。
【０１３８】
| Size(ek)-Size(ej)|＜ThDSizeの場合、素子対応手段１５は、候補素子集合変数Rに素子ejを追加する（S３６）。すなわち、新設計回路CNの素子ekとデバイスの種類が同じで、且つ素子サイズの差が所定の範囲ThDSize以内であるような既設計回路CPiの素子が抽出されて、候補素子集合変数Rに追加される。
【０１３９】
以上のステップS３４〜S３６の動作を、jを１ずつ増加させながら既設計回路CPiに含まれるすべての素子に対して繰り返して実行する（S３７，S３８）。
【０１４０】
ステップS３４〜S３８のループが終了して候補素子集合変数Rが求められると、素子対応手段１５は、候補素子集合変数Rが空集合φ（素子ekに対応づけられる素子はない）か否かを判定する（S３９）。ここで、R＝φであれば、ステップS４２に移行する。
【０１４１】
R≠φの場合、素子対応手段１５は、シーケンス・ペア記憶手段１４を参照し、候補素子集合変数Rに属する各素子ej（∈E(CPi)）について、素子ek（∈E(CN)）との間のシーケンス・ペア距離ds(ek,ej)を計算し、シーケンス・ペア距離dsが最小の素子el（∈E(CPi)）を抽出する（S４０）。そして、抽出された素子elを、素子ekの対応関数Map(ek)に代入し、素子対応決定フラグc(el)を１（対応決定済）に設定する（S４１）。
【０１４２】
尚、本実施例においては、シーケンス・ペア距離dsとしては、式（５）で表されるようなマンハッタン距離を使用する（下記の〔例１〕を参照）：
【０１４３】
【数５】
2006146452.tif 000007
ここで、(α(ek),β(ek))，(α(ek),β(ej))は、それぞれ素子ek，ejのシーケンス・ペア座標である。
【０１４４】
以上のステップS３３〜S４１の処理を、kを１ずつ増加させながら、新設計回路CNのすべての素子について実行する（S４２，S４３）。新設計回路CNのすべての素子について処理が終了すると、素子対応手段１５は、対応関数｛Mapn(ek)| ∀ek∈E(CN)｝を対応表Mn(CN,CPi)として出力する（S４４）。
【０１４５】
このように、素子の対応表の作成において、シーケンス・ペア距離を用いることによって、各素子の具体的な位置座標の設計ごとのばらつきの影響が少なくなる。従って、より精度のよい対応表を作成することができる。
【０１４６】
尚、本実施例においては、シーケンス・ペア座標系において対応表を作成した後に、更に位置座標系において対応表を作成し、両者の対応表による回路の類似度の値を比較して、類似度が大きくなる対応表を採用するようにしている。これは、デバイスの種類が同じで素子の大きさもほぼ等しいような素子を多く使用して構成された回路では、シーケンス・ペア座標系において対応表を作成した場合に、うまく対応付けができず、類似度が小さくなる場合がある。このような場合、補完的に位置座標系において対応表を用いることで、より精度の高い対応表を得られるようにしたものである。
【０１４７】
〔例１〕
より具体的に説明するため、シーケンス・ペア及びそれに基づく対応表の作成の例について説明する。まず、新設計回路CNとして、図４に示したような回路が入力されたとする。この新設計回路CNの各素子の配置からシーケンス・ペアを抽出するため、図９に示したように、各素子を中心に４５°及び−４５°の補助線（図９では点線で示す。）を引く。各補助線に対しては、その補助線に対応する素子の素子名を付ける。
【０１４８】
図９の回路図の左上から右下に向かって４５°の傾きの補助線を順番に並べ、それに応じて素子名を並べる。この並べ替えによって順序づけられた素子名の配列を順列Ｐとする。図９の場合、順列Ｐは式（６）で表される。
【０１４９】
【数６】
2006146452.tif 000008
【０１５０】
同様に、図９の回路図の左下から右上に向かって−４５°の傾きの補助線を順番に並べ、それに応じて素子名を並べる。この並べ替えによって順序づけられた素子名の配列を順列Ｍとする。図９の場合、順列Ｍは式（７）で表される。
【０１５１】
【数７】
2006146452.tif 000009
【０１５２】
このようにして得られる順列の組（Ｐ，Ｍ）が、新設計回路CNの回路図の素子配置のシーケンス・ペアである。
【０１５３】
これに対して、既設計回路記憶手段９に図１０の既設計回路CPの回路図が格納されていたとして、図４の新設計回路CNと図１０の既設計回路CPとの対応表を作成する場合を考える。尚、図１０では、図９と同様に補助線が点線で表示されている。図９の場合と同様にして、図１０の回路図の素子配置のシーケンス・ペア（P'，M'）を作成する。この場合、順列Ｐ’，Ｍ’は、式（８），式（９）で表される。
【０１５４】
【数８】
2006146452.tif 000010
【０１５５】
シーケンス・ペア（P, M）とシーケンス・ペア（P', M'）とをシーケンス・ペア座標系の座標平面に表示すると、図１１のようになる。図１１において、「○」は新設計回路CNの素子のシーケンス・ペア座標を表しており、「×」は既設計回路CPの素子のシーケンス・ペア座標を表している。
【０１５６】
例えば、素子Ｃ１と素子Ｃ１’との間の式（５）で表されるシーケンス・ペア距離ds(C1, C1')は、図１１において太線で示した折線の長さとなる。この場合、|α(C1)−α(C1')|=2，|β(C1)−β(C1')|=2である。従って、シーケンス・ペア距離ds(C1, C1')は４となる。対応表を作成する場合、まず、シーケンス・ペア座標平面において、シーケンス・ペア距離が最短の素子同士の対応付けが行われる。例えば、コンデンサの場合、Ｃ１とＣ１’、Ｃ１とＣ２’の大きさの相違が所定の範囲内であれば、Ｃ１と同種の素子はＣ１’，Ｃ２’である。Ｃ１とＣ１’との間のシーケンス・ペア距離ds(C1, C1')は４、Ｃ１とＣ２’との間のシーケンス・ペア距離ds(C1, C2')は２５である。従って、素子Ｃ１は素子Ｃ１’に対応づけられる。同様に、他の素子についても対応付けを行っていくことにより、対応表が作成される。
（例終わり）
【０１５７】
（５）類似度算出処理
最後に、ステップS９，S１１における類似度算出処理について説明する。図１２，図１３は、類似度算出処理の流れを示すフローチャートである。
【０１５８】
まず、類似度算出手段４は、内部変数として有する累積フライ・ライン距離相違度Mfを０に初期化する（S５１）。また、平均フライ・ライン距離算出手段３aは、内部変数として有する素子番号jを１に初期化する（S５２）。
【０１５９】
次に、平均フライ・ライン距離算出手段３aは、回路図SCH（CN）から、素子ej（∈E（CN））の端子集合T（ej）を抽出する（S５３）。そして、距離変数ΔxN，ΔyN、及びカウンタnumNを０に初期化する（S５４）。また、平均フライ・ライン距離算出手段３aは、端子番号kを１に初期化する（S５５）。
【０１６０】
次に、平均フライ・ライン距離算出手段３aは、新設計回路CNのネットリストNL（CN）を参照して、端子tk（∈T（ej））に接続するネットnet（tk）を抽出する。そして、端子tkに対してネットnet（tk）により接続された端子の集合T（net（tk））を抽出する（S５６）。
【０１６１】
ここで、端子tkに接続された端子がない場合（T（net（tk））＝φ）には、ステップS６２に移行する（S５７）。
【０１６２】
T（net（tk））≠φの場合、平均フライ・ライン距離算出手段３aは、端子集合T（net（tk））から選択する端子の端子番号lを１に設定する（S５８）。
【０１６３】
そして、平均フライ・ライン距離算出手段３aは、端子集合T（net（tk））からl番目の端子tl（∈T（net（tk）））を選択し、式（１０）のように、端子tkと端子tlとの間の位置座標系における距離を距離変数ΔxN，ΔyNに加算するとともに、カウンタnumNを１だけ増加させる（S５９）：
【０１６４】
【数９】
2006146452.tif 000011
ここで、(x(tk),y(tk)), (x(tl),y(tl))は、それぞれ端子tk，tlの回路図平面上の位置座標である。
【０１６５】
以上のステップS５９の積算処理を、端子番号lを増加させながら端子集合T（net（tk））のすべての端子について実行する（S６０，S６１）。
【０１６６】
そして、以上のステップS５６〜S６１の処理を、端子集合T（ej）に属するすべての端子tkに対して実行する（S６２，S６３）。
【０１６７】
ステップS５６〜S６３の処理が終わると、距離変数ΔxN，ΔyNには、素子ejに接続するすべてのフライ・ラインについてのフライ・ライン距離の積算値（正確には、ΔxN＋ΔyNがフライ・ライン距離の積算値）が得られる。そこで、次に、平均フライ・ライン距離算出手段３aは、ΔxN←ΔxN／numN，ΔyN←ΔyN／numNの計算により、素子ejについてのフライ・ライン距離の平均値のx成分及びy成分を算出する（S６４）。
【０１６８】
次に、平均フライ・ライン距離算出手段３bは、対応表Mn（CN，CPi）を参照し、素子ej（∈E(CN)）に対応する素子em＝Map(ej)（∈E(CPi)）を、既設計回路CPiから抽出する（S６５）。ここで、素子ej（∈E(CN)）に対応する素子em（∈E(CPi)）がない場合（Map(ej)=φ）には（S６６）、類似度算出手段４は、累積フライ・ライン距離相違度Mfに定数K（Kは十分大きい値に設定される。）を加えて（S６７）、ステップS８１に移行する。
【０１６９】
素子ej（∈E(CN)）に対応する素子em（∈E(CPi)）が存在する場合には、平均フライ・ライン距離算出手段３bは、今度は回路図CPi及び素子emに対して、ステップS５３〜S６４と同様の処理を行い、その結果、素子emについてのフライ・ライン距離の平均値のx成分ΔxPi及びy成分ΔyPiを算出する（S６８〜S７９）。
【０１７０】
次に、類似度算出手段４は、素子ej（∈E(CN)）についてのフライ・ライン距離の平均値と素子em（∈E(CPi)）についてのフライ・ライン距離の平均値との距離差｜ΔxN-ΔxPi｜ξ+|ΔyN-ΔyPi|ξを累積フライ・ライン距離相違度Mfに加える（S８０）。ここで、ξは０より大きい任意の実数を使用できるが、本実施例においてはマンハッタン距離を用いることとしてξ＝１とする。
【０１７１】
以上のステップS５３〜S８０の処理を、新設計回路CN内のすべての素子ej（∈E（CN））について実行し（S８１，S８２）、累積フライ・ライン距離相違度Mfを算出する。
【０１７２】
最後に、類似度算出手段４は、上記処理によって得られた累積フライ・ライン距離相違度Mfの逆数を、新設計回路図SCH（CN）と既設計回路図SCH（CPi）との間の類似度Sim（SCH（CN），SCH（CPi））として出力する（S８３）。
【０１７３】
以上のように、本実施例の類似回路選出装置１では、新設計回路図SCH（CN）と既設計回路図SCH（CPi）との間の類似性を類似度Sim（SCH（CN），SCH（CPi））として定量的に評価することができる。従って、この類似度Sim（SCH（CN），SCH（CPi））を用いて、新設計回路図SCH（CN）と同一の既設計回路がない場合であっても、それに類似した既設計回路を適切に選択することが可能となる。
【０１７４】
尚、本実施例では、新設計回路図SCH（CN）全体に類似する既設計回路図SCH（CPi）を選出する類似回路選出装置１を示したが、場合によっては、新設計回路図SCH（CN）の一部の部分回路図SCH（CN'）（CN∈CN'）を取り出して、この部分回路図SCH（CN'）に類似する既設計回路図SCH（CPi）を選出したい場合がある。そこで、類似回路検索の対象となる新設計回路図SCH（CN）の一部の部分回路図SCH（CN'）（CN∈CN'）を切り出すための部分回路選択手段を設ける構成としてもよい。
【実施例２】
【０１７５】
図１４は、本発明の実施例２に係る類似回路選出装置及び素子対応表作成装置の構成を表すブロック図である。本実施例に係る素子対応表作成装置２’は、実施例１の素子対応表作成装置２に加えて、対象回路選択手段３０、対応素子選択手段３１、及び対応素子記憶手段３２を備えていることを特徴とする。また、本実施例に係る類似回路選出装置１’は、実施例１の類似回路選出装置１に対して、素子対応表作成装置２が素子対応表作成装置２’に置換されているとともに、レイアウト作成手段３３及びレイアウト記憶手段３４を備えていることを特徴とする。尚、本実施例において、入力装置２０としてはマウス及びキーボードが使用され、出力装置２１としてはディスプレイが使用されているものとする。
【０１７６】
対象回路選択手段３０は、入力装置２０から回路設計者によって入力される指示に従って、既設計回路記憶手段９又は新設計回路記憶手段８に記憶された既設計回路又は新設計回路の全体回路図の中で、素子対応表を作成する対象となる部分回路図を選択する。選択された部分回路図は、既設計回路記憶手段９又は新設計回路記憶手段８に保存される。
【０１７７】
図１５に対象回路選択手段３０による部分回路図の選択の例を示す。図１５（ａ）は既設計回路の回路図、図１５（ｂ）は新設計回路の回路図を示している。既設計回路の全体回路図４０の一部分である部分回路図４０ａと、新設計回路の一部分である部分回路図４１ａとを比較して、部分回路図４０ａと部分回路図４１ａとの素子対応表を作成する。この場合、回路設計者は、マウス等の入力装置２０を用いて、既設計回路図４０内のＡ点からＢ点にドラッグ等することにより部分回路４０ａの領域を指定する。同様に、新設計回路図４１内のＣ点からＤ点にドラッグ等することにより部分回路４１ａの領域を指定する。このようにして指定された部分回路４０ａ，４１ａは、既設計回路記憶手段９及び新設計回路記憶手段８に保存されるとともに、出力装置２１（ディスプレイ）に表示される。素子対応表の作成は、指定された部分回路図４０ａ，４１ａに対して行われる。
【０１７８】
また、対応素子選択手段３１は、既設計回路の各素子に対応する新設計回路の素子があらかじめ分かっている場合において、回路設計者が対応するそれぞれの素子を指定するための手段である。
【０１７９】
例えば、図１５において、既設計回路図４０の部分回路４０ａ内の素子Ｒ３に対して、新設計回路図４１の部分回路４１ａ内の素子Ｒ１０が対応するとわかっていたとする。その場合、回路設計者は、メニュー等を選択してプログラムの実行状態を素子選択状態とし、マウス等の入力装置２０を用いて、部分回路４０ａ内の素子Ｒ３と部分回路４１ａ内の素子Ｒ１０をそれぞれクリックして選択する。これにより、部分回路４０ａ内の素子Ｒ３と部分回路４１ａ内の素子Ｒ１０の対応付けが行われる。対応付けが行われた素子は、対応素子記憶手段３２に記憶される。そして、素子対応手段１５は、対応素子記憶手段３２に記憶された素子の対応付けを優先する。そして、対応付けがまだ行われていない素子に対して、実施例１で説明した方法によって素子の対応付けを行い、対応表を作成する。
【０１８０】
図１６は、対象回路選択手段で部分回路を選択した状態における出力装置２１の表示画面の例を示す図である。図１６において、左側のウィンドウ４２には、選択された既設計回路の部分回路が表示されている。また、中央のウィンドウ４３には、選択された新設計回路の部分回路が表示されている。右側のウィンドウ４４は、各種パラメータを入力するウィンドウである。
【０１８１】
ウィンドウ４４の領域４５は、既設計回路の回路図が格納されたライブラリとファイル名を指定する領域である。「Library Name」のテキスト・ボックス４５ａに、既設計回路記憶手段９に記憶されている既設計回路のライブラリ名を入力する。また、「Cell Name」のテキスト・ボックス４５ｂに、既設計回路の回路図のファイル名を入力する。ライブラリ名とファイル名を入力して、「Browser」ボタン４５ｃをマウスでクリックすれば、ウィンドウ４２に選択された既設計回路の回路図が表示される。
【０１８２】
ウィンドウ４４の領域４６は、新設計回路の回路図が格納されたライブラリとファイル名を指定する領域である。ここでも同様に、「Library Name」のテキスト・ボックス４６ａに、新設計回路記憶手段８に記憶されている新設計回路のライブラリ名を入力する。また、「Cell Name」のテキスト・ボックス４６ｂに、新設計回路の回路図のファイル名を入力する。ライブラリ名とファイル名を入力して、「Browser」ボタン４６ｃをマウスでクリックすれば、ウィンドウ４３に選択された新設計回路の回路図が表示される。
【０１８３】
ウィンドウ４４の領域４７は、既設計回路内及び新設計回路内の選択する部分回路を指定する領域である。ウィンドウ４２又はウィンドウ４３の回路図上で、図１５で説明したようにマウスによって領域選択を行い、領域４７の「Set」ボタン４７ａ，４７ｂをクリックする。これにより、素子対応表作成処理の対象となる部分回路が選択される。
【０１８４】
ウィンドウ４４の領域４８は、対応素子選択手段３１によりマニュアルで対応する素子を指定する際に、既設計回路及び新設計回路における対応する素子を入力する領域である。この場合、領域４８内の「Original」の欄のテキスト・ボックス４８ａに、既設計回路内の素子の素子名を入力し、「Copy」の欄のテキスト・ボックス４８ｂに、新設計回路内の素子の素子名を入力する。この場合、キーボードによって直接素子名を入力することもできるが、ウィンドウ４２又はウィンドウ４３においてマウスのクリックにより素子を指定して「Set」ボタン４８ｃ，４８ｄをマウスでクリックすることによって素子名を入力することもできる。
【０１８５】
これらの作業が終わった後に、回路設計者が「schematic」ボタン４９をマウスでクリックすると、実施例１で説明した手順によってウィンドウ４２，４３に表示された回路図に対してそれぞれの素子の素子対応表が自動作成される。作成された素子対応表は、ファイル等の素子対応表記憶手段１６に保存される。尚、この場合も実施例１で説明したように、既設計回路の回路図を各種の回転・反転変換した８種類の回路図（以下「変換後既設計回路図」という。）について、それぞれ素子対応表が作成される。
【０１８６】
素子対応表作成装置２’によって、素子対応表が作成されると、次に、実施例１で説明したように、類似度による判定によって、上記８種類の変換後既設計回路図から、新設計回路の回路図に最も類似した変換後既設計回路図が選出され、選出回路記憶手段７に保存される。また、選出された変換後既設計回路図は、出力装置２１（ディスプレイ）に表示される。
【０１８７】
また、レイアウト作成手段３３は、選択された既設計回路図に対応するレイアウトを、既設計回路記憶手段９から読み出す。選択された既設計回路図がもとの既設計回路の部分回路である場合には、その回路部分に対応するレイアウト部分を切り出す。そして、選択手段６により選択された変換後既設計回路図に施された回転・反転変換と同じ回転・反転変換を、当該レイアウトに対して行う（この回転・反転変換が施されたレイアウトを、以下「変換後レイアウト」という。）。変換後レイアウトは、レイアウト記憶手段３４に保存されるとともに、出力装置２１（ディスプレイ）に表示される。
【０１８８】
図１７は、レイアウト作成手段３３でレイアウトを作成した後の状態における出力装置２１の表示画面の例を示す図である。右上のウィンドウ４２及び右下のウィンドウ４３は図１５と同様である。右上のウィンドウ５０は、既設計回路のレイアウトが表示されるウィンドウである。また、右下のウィンドウ５１は、新設計回路のレイアウトが表示されるウィンドウである。レイアウト作成手段３３でレイアウトを作成した直後には、ウィンドウ５０，５１には、ともに既設計回路の変換後レイアウトが表示される。あとは、回路設計者はレイアウト・エディタ等を使用して、既設計回路と新設計回路との相違部分についてレイアウトを変更し、最終的な新設計回路のレイアウトを作成する。
【０１８９】
以上のようにして、既設計回路の設計資源を活用して新設計回路のレイアウトを作成することによって、回路設計の加速化を図ることが可能となる。
【０１９０】
最後に、本実施例に係る類似回路選出装置１’の使用例について説明する。
【０１９１】
〔使用例１〕
図１８は、新設計回路において既設計回路の素子の一部の属性を変更した場合の例である。図１８（ａ）の既設計回路の太線円で囲まれたコンデンサの一つが、図１８（ｂ）の新設計回路の太線円で囲まれたコンデンサに置き換えられている。両回路は、これらのコンデンサのキャパシタンスのみが異なる。この場合、類似回路選出装置１’によって、図１８の既設計回路と新設計回路との素子対応表を作成するとともに、レイアウト作成手段３３によって既設計回路のレイアウトを選出する。図１９は、図１８の既設計回路及び新設計回路のレイアウトを表す図である。レイアウト作成手段３３によって図１９（ａ）の既設計回路のレイアウトが選出される。この場合、既設計回路と新設計回路との間には、回転・反転変換がないので、既設計回路のレイアウトがそのまま新設計回路のレイアウトとして作成される。従って、回路設計者は、素子対応表を参照して、キャパシタが変更されたコンデンサのレイアウトのみを変更し、最終的に図１９（ｂ）のような新設計回路のレイアウトを作成することができる。
【０１９２】
〔使用例２〕
図２０は、新設計回路において既設計回路の配線の一部を変更した場合の例である。図２０（ａ）の既設計回路に対して、図２０（ｂ）の新設計回路では、２カ所において配線が変更されている。この場合、類似回路選出装置１’によって、図２０の既設計回路と新設計回路との素子対応表を作成するとともに、レイアウト作成手段３３によって図２０（ａ）の既設計回路のレイアウトを選出する。図２１は、図２０の既設計回路及び新設計回路のレイアウトを表す図である。レイアウト作成手段３３によって図２１（ａ）の既設計回路のレイアウトが選出される。この場合、既設計回路と新設計回路との間には、回転・反転変換がないので、既設計回路のレイアウトがそのまま新設計回路のレイアウトとして作成される。従って、回路設計者は、素子対応表を参照して、変更された配線に対応するラッツネストを変更し、最終的に図２１（ｂ）のような新設計回路のレイアウトを作成することができる。
【０１９３】
〔使用例３〕
図２２は、新設計回路において既設計回路の配線の一部を変更するとともに、素子の一部を削除又は追加した場合の例である。図２２（ａ）の既設計回路に対して、図２２（ｂ）の新設計回路では、２カ所において配線が変更されている。また、既設計回路のコンデンサＣ１が新設計回路においては削除されており、また、新設計回路において抵抗Ｒ３０１が追加されている。この場合、類似回路選出装置１’によって、図２２の既設計回路と新設計回路との素子対応表を作成するとともに、レイアウト作成手段３３によって図２２（ａ）の既設計回路のレイアウトを選出する。図２３は、図２２の既設計回路及び新設計回路のレイアウトを表す図である。レイアウト作成手段３３によって図２３（ａ）の既設計回路のレイアウトが選出される。この場合、既設計回路と新設計回路との間には、回転・反転変換がないので、既設計回路のレイアウトがそのまま新設計回路のレイアウトとして作成される。従って、回路設計者は、素子対応表を参照して、変更された配線に対応するラッツネストを変更する。また、削除されたコンデンサをレイアウト上からも削除し、追加された抵抗をレイアウト上に追加する。そして、最終的に図２３（ｂ）のような新設計回路のレイアウトを作成することができる。
【０１９４】
〔使用例４〕
図２４は、同一回路内で同じ部分回路が繰り返して現れる場合に、１つの部分回路のレイアウトを作成し、それを繰り返し再利用する場合の使用例を表す図である。例えば、図２４の回路において、領域６０のレイアウトを作成したとする。また、領域６１，６２には、領域６０と同様の回路が回路図上現れていたとする。この場合、領域６０の回路を既設計回路とし、領域６１，６２の回路を新設計回路として、類似回路選出装置１’によりレイアウトの作成を行う。これにより、領域６１，６２のレイアウト設計を行う必要がなくなるため、回路設計が加速化される。
【図面の簡単な説明】
【０１９５】
【図１】本発明の実施例１に係る類似回路選出装置及び素子対応表作成装置の構成を表すブロック図である。
【図２】実施例１に係る類似回路選出装置１及び素子対応表作成装置２の演算処理動作の全体の流れを示すフローチャートである。
【図３】回路図の規格化処理の流れを示すフローチャートである。
【図４】シーケンス・ペア作成処理を説明するための回路図の一例である。
【図５】図４の回路図から各素子の代表点とフライ・ラインを抽出した図である。
【図６】図４の回路図からのシーケンス・ペアの作成方法を説明する図である。
【図７】図４の回路図からのシーケンス・ペアの作成方法を説明する図である。
【図８】対応表作成処理の流れを示すフローチャートである。
【図９】図４の新設計回路の回路図のシーケンス・ペアの抽出を説明する図である。
【図１０】既設計回路の回路図のシーケンス・ペアの抽出を説明する図である。
【図１１】図９及び図１０の回路図の各素子のシーケンス・ペア座標を表す図である。
【図１２】類似度算出処理の流れを示すフローチャートである。
【図１３】類似度算出処理の流れを示すフローチャートである。
【図１４】本発明の実施例２に係る類似回路選出装置及び素子対応表作成装置の構成を表すブロック図である。
【図１５】対象回路選択手段３０による部分回路図の選択の例を示す図である。
【図１６】対象回路選択手段で部分回路を選択した状態における出力装置２１の表示画面の例を示す図である。
【図１７】レイアウト作成手段３３でレイアウトを作成した後の状態における出力装置２１の表示画面の例を示す図である。
【図１８】新設計回路において既設計回路の素子の一部の属性を変更した場合の例である。
【図１９】図１８の既設計回路及び新設計回路のレイアウトを表す図である。
【図２０】新設計回路において既設計回路の配線の一部を変更した場合の例である。
【図２１】図２０の既設計回路及び新設計回路のレイアウトを表す図である。
【図２２】新設計回路において既設計回路の配線の一部を変更するとともに、素子の一部を削除又は追加した場合の例である。
【図２３】図２２の既設計回路及び新設計回路のレイアウトを表す図である。
【図２４】同一回路内で同じ部分回路が繰り返して現れる場合に、１つの部分回路のレイアウトを作成し、それを繰り返し再利用する場合の使用例を表す図である。
【符号の説明】
【０１９６】
１，１’  類似回路選出装置
２，２’  素子対応表作成装置
３a，３b  平均フライ・ライン距離算出手段
４  類似度算出手段
５  類似度記憶手段
６  選択手段
７  選出回路記憶手段
８  新設計回路記憶手段
９  既設計回路記憶手段
１０  回路図規格化手段
１１  回路図変換手段
１２  検査回路記憶手段
１３  シーケンス・ペア作成手段
１４  シーケンス・ペア記憶手段
１５  素子対応手段
１６  対応表記憶手段
２０  入力装置
２１  出力装置
３０  対象回路選択手段
３１  対応素子選択手段
３２  対応素子記憶手段
３３  レイアウト作成手段
３４  レイアウト記憶手段
４０  既設計回路図
４１  新設計回路図
４０ａ，４１ａ  部分回路
４２  既設計回路が表示されたウィンドウ
４３  新設計回路が表示されたウィンドウ
４４  各種パラメータを入力するウィンドウ
４５  既設計回路の回路図が格納されたライブラリとファイル名を指定する領域
４６  新設計回路の回路図が格納されたライブラリとファイル名を指定する領域
４７  既設計回路内及び新設計回路内の選択する部分回路を指定する領域
４８  既設計回路及び新設計回路における対応する素子を入力する領域
４９  「schematic」ボタン
５０  既設計回路のレイアウトが表示されるウィンドウ
５１  新設計回路のレイアウトが表示されるウィンドウ
６０  レイアウトを作成した領域
６１，６２  これからレイアウトを作成する領域
【図１】
2006146452.tif 000012
【図２】
2006146452.tif 000013
【図３】
2006146452.tif 000014
【図４】
2006146452.tif 000015
【図５】
2006146452.tif 000016
【図６】
2006146452.tif 000017
【図７】
2006146452.tif 000018
【図８】
2006146452.tif 000019
【図９】
2006146452.tif 000020
【図１０】
2006146452.tif 000021
【図１１】
2006146452.tif 000022
【図１２】
2006146452.tif 000023
【図１３】
2006146452.tif 000024
【図１４】
2006146452.tif 000025
【図１５】
2006146452.tif 000026
【図１６】
2006146452.tif 000027
【図１７】
2006146452.tif 000028
【図１８】
2006146452.tif 000029
【図１９】
2006146452.tif 000030
【図２０】
2006146452.tif 000031
【図２１】
2006146452.tif 000032
【図２２】
2006146452.tif 000033
【図２３】
2006146452.tif 000034
【図２４】
2006146452.tif 000035