IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社オンテックの特許一覧

特許7525213プリント基板設計装置およびプリント基板設計プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】プリント基板設計装置およびプリント基板設計プログラム
(51)【国際特許分類】
   G06F 30/392 20200101AFI20240723BHJP
   G06F 115/12 20200101ALN20240723BHJP
【FI】
G06F30/392
G06F115:12
【請求項の数】 9
(21)【出願番号】P 2023569001
(86)(22)【出願日】2021-12-24
(86)【国際出願番号】 JP2021048249
(87)【国際公開番号】W WO2023119636
(87)【国際公開日】2023-06-29
【審査請求日】2023-08-25
(73)【特許権者】
【識別番号】593099861
【氏名又は名称】株式会社オンテック
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】赤松 正俊
(72)【発明者】
【氏名】山岡 律雄
(72)【発明者】
【氏名】徳 正一郎
(72)【発明者】
【氏名】田中 省吾
(72)【発明者】
【氏名】香西 一樹
(72)【発明者】
【氏名】米倉 寛稀
(72)【発明者】
【氏名】藤木 貴大
(72)【発明者】
【氏名】越後 富夫
【審査官】松浦 功
(56)【参考文献】
【文献】特許第6894152(JP,B1)
【文献】特開2005-157487(JP,A)
【文献】特開平11-017157(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/398
H05K 3/00
(57)【特許請求の範囲】
【請求項1】
品を親部品と、前記親部品に直接または間接的に接続される子部品と、その他の部品とに分類する部品分類部と、
各々が親部品および前記子部品を含む1個以上の近接ブロックを生成する近接ブロック生成部と、
前記近接ブロック内の部品を配置する近接ブロック内部品配置設計部と、を備え
前記部品分類部は、前記親部品に直接接続される子部品を高優先子部品と低優先子部品とに分類し、
前記近接ブロック内部品配置設計部は、高優先子部品および前記高優先子部品に直接または間接的に接続される子部品の第1のグループを、前記低優先子部品および前記低優先子部品に直接または間接的に接続される子部品の第2のグループよりも、前記親部品に近い位置に配置する、プリント基板設計装置。
【請求項2】
前記近接ブロック内部品配置設計部は、含まれる部品の数が多い近接ブロックから順番に選択して、選択した近接ブロック内の部品を配置し、
既に部品を配置した第1の近接ブロックの部品のうちの親部品または子部品からなる1個以上の第1部品群の仕様と、前記選択した近接ブロックの部品のうちの親部品または子部品からなる1個以上の第2部品群の仕様とが同一のときに、前記第1の近接ブロックの部品の総数に対する前記第1部品群の数の割合が閾値以上の場合に、前記選択した近接ブロックの親部品に対する、前記第2部品群の子部品の位置関係を前記第1の近接ブロックの親部品に対する前記第1部品群の子部品の位置関係と同一にする、請求項1記載のプリント基板設計装置。
【請求項3】
前記近接ブロック内部品配置設計部は、前記第1のグループに属する複数の子部品について、優先度の高い子部品を、前記親部品に近い位置に配置し、前記第2のグループに属する複数の子部品について、優先度の高い子部品を、前記親部品に近い位置に配置する、請求項記載のプリント基板設計装置。
【請求項4】
第1の子部品の優先度は、前記第1の子部品と直接接続され、かつ前記親部品との接続のために経由する子部品の数が前記第1の子部品よりも1つ多いすべての第2の子部品の優先度よりも高い、請求項記載のプリント基板設計装置。
【請求項5】
前記第2の子部品が複数個存在する場合に、各第2の子部品に接続される2つのネットの属性に基づいて、各第2の子部品の優先度が定められる、請求項記載のプリント基板設計装置。
【請求項6】
前記親部品の第1の側面と前記親部品の第2の側面とが第1の交差線において接続し、前記親部品の前記第1の側面と前記親部品の第3の側面とが第2の交差線において接続し、
前記親部品の前記第1の側面を前記第1の交差線側に延長した第1の延長面と、前記親部品の前記第2の側面を前記第1の交差線側に延長した第2の延長面とによって区切られる空間を分割する面を第1の境界面とし、前記親部品の前記第1の側面を前記第2の交差線側に延長した第3の延長面と、前記親部品の前記第3の側面を前記第2の交差線側に延長した第4の延長面とによって区切られる空間を分割する面を第2の境界面とし、
前記親部品の前記第1の側面と、前記第1の境界面と、前記第2の境界面とで区切られる領域を第1の領域とし、
前記第1の側面と前記第1の境界面とは90度を超える角度で交差し、前記第1の側面と前記第2の境界面とは90度を超える角度で交差し、
前記近接ブロック内部品配置設計部は、前記親部品の第1の側面に沿って配置される第1のピンと直接接続される子部品と、前記子部品に直接または間接的に接続される子部品とを前記第1の領域に配置する、請求項1記載のプリント基板設計装置。
【請求項7】
前記第1の側面と前記第1の境界面とは135度で交差し、前記第1の側面と前記第2の境界面とは135度で交差する、請求項記載のプリント基板設計装置。
【請求項8】
前記近接ブロック内部品配置設計部は、前記第1の領域内において、同一の優先度を有する子部品のすべてを前記親部品からの距離が同じラインに配置できない場合には、前記第1の領域内において、前記親部品からの距離が次に近いラインに、前記同一の優先度を有する1個以上の子部品を配置する、請求項記載のプリント基板設計装置。
【請求項9】
コンピュータに、
品を親部品と、前記親部品に直接または間接的に接続される子部品と、その他の部品とに分類するステップと、
各々が親部品および前記子部品を含む1個以上の近接ブロックを生成するステップと、
前記近接ブロック内の部品を配置するステップと、を実行させ、
前記部品を分類するステップは、前記親部品に直接接続される子部品を高優先子部品と低優先子部品とに分類するステップを含み、、
前記近接ブロック内の部品を配置するステップは、高優先子部品および前記高優先子部品に直接または間接的に接続される子部品の第1のグループを、前記低優先子部品および前記低優先子部品に直接または間接的に接続される子部品の第2のグループよりも、前記親部品に近い位置に配置するステップを含む、プリント基板設計プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プリント基板設計装置およびプリント基板設計プログラムに関する。
【背景技術】
【0002】
従来から、電子回路としての性能または特性が十分に発揮することができるように、互いに接近して配置したい部品をプリント基板上に配置できる設計装置が知られている。たとえば、特許文献1に記載の設計装置は、プリント基板上で接近して配置したい部品の条件を知識パターンとして記憶する知識パターン記憶部と、プリント基板上に配置すべき部品と、部品間の配線情報を記憶するプリント基板設計情報記憶部と、プリント基板設計情報記憶部に記憶されている各部品について、その配線情報もとに知識パターン記憶部の記憶する知識パターンを満たすかどうか判定し、知識パターンを満たす部品の集まりを1グループとして分類するグループ分類手段と、1つのグループに分類された部品群を1つの配置要素とし、プリント基板上での配置を決定する配置決定手段とを備える。グループ以外の部品の配置は、プリント基板設計情報記憶部の接続情報をもとに配置される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平7-200655号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のプリント基板設計装置では、複数のグループが生成されたときに、複数のグループをどのようにしてプリント基板上に配置するかについて記載されていない。回路面積が小さく、かつ、電子回路としての性能または特性が十分に発揮することができるようにするために、複数のグループをどのように配置するのかを設計者が検討しなければならず、設計者の作業負担が大きい。
【0005】
それゆえに、本開示の目的は、少ない作業負担で、回路面積が小さく、かつ電子回路としての性能または特性が十分に発揮することができるように部品を配置することができるプリント基板設計装置およびプリント基板設計プログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示のプリント基板設計装置は、回路図を複数個に分割することによって複数個の回路図グループを生成するグループ化処理部と、回路図グループを種類ごとに分類する回路図グループ分類部と、部品を親部品と、親部品に直接または間接的に接続される子部品と、その他の部品とに分類する部品分類部と、各々が親部品および子部品を含む1個以上の近接ブロックを生成する近接ブロック生成部と、近接ブロック内の部品を配置する近接ブロック内部品配置設計部と、回路図グループに含まれる1個以上の近接ブロックの回路図グループ内における配置を決定し、回路図グループの種類に基づく順序で、基板上における回路図グループの領域を取得し、取得した回路図グループの領域に回路図グループに含まれる1個以上の近接ブロックを配置する全体配置設計部とを備える。回路図グループ分類部は、回路図グループを高優先回路図グループと、高優先回路図グループにのみ電源電圧を供給する高優先電源回路図グループと、低優先回路図グループと、低優先回路図グループにのみ電源電圧を供給する、または低優先回路図グループおよび高優先回路図グループの両方に電源電圧を供給する低優先電源回路図グループとのうちのいずれかに分類する。全体配置設計部は、高優先回路図グループ、高優先電源回路図グループ、低優先回路図グループ、および低優先電源回路図グループの順に、回路図グループの領域を取得する。
【発明の効果】
【0007】
本開示のプリント基板設計装置およびプリント基板設計プログラムによれば、少ない作業負担で、回路面積が小さく、かつ電子回路としての性能または特性が十分に発揮することができるように部品を配置することができる。
【図面の簡単な説明】
【0008】
図1】実施の形態のプリント基板設計装置1の構成を表わす図である。
図2】実施の形態のプリント基板設計装置1によるプリント基板への部品の配置設計の手順を表わすフローチャートである。
図3図2のS1の詳細な処理手順を表わすフローチャートである。
図4】部品間の関係を説明するための図である。
図5図2のS6の詳細な処理手順を示すフローチャートである。
図6】(a)は、近接ブロックA内の部品を表わす図である。(b)は、近接ブロックB内の部品を表わす図である。(c)は、近接ブロックA内の部品と近接ブロックB内の部品が同一か否かを示す図である。
図7】高優先第1世代部品および低優先第1世代部品の配置例を表わす図である。
図8】子部品の配置の例を表わす図である。
図9】親部品PR1の周りの領域を説明するための図である。
図10】同一の優先度の第1世代子部品の配置例を表わす図である。
図11】近接ブロックの第1の矩形領域SR1の例を表わす図である。
図12】近接ブロックの第2の矩形領域SR2の例を表わす図である。
図13】実施の形態1における図2のS9の詳細な処理手順を表わすフローチャートである。
図14】(a)は、ネットリストを表わす図である。(b)は、部品間の接続関係を表わす図である。(c)は、電源ツリーの例を表わす図である。
図15】位置指定部品および半位置指定部品の例を表わす図である。
図16】(a)は、向きが0°の配置例を表わす図である。(b)は、向きが90°の配置例を表わす図である。(c)は、向きが180°の配置例を表わす図である。(d)は、向きが270°の配置例を表わす図である。
図17】近接ブロックモデルの仮想ピンの座標の一例を説明するための図である。
図18】近接ブロックモデルの仮想ピンの座標の別の例を説明するための図である。
図19】近接ブロック接続モデルの仮想ピンと総ネット点数を説明するための図である。
図20】(a)および(b)は、2つの近接ブロックモデルの間の理想的な向きの関係を説明するための図である。
図21】2つの近接ブロックモデルの間の理想的な向きの関係を説明するための図である。
図22】2つの近接ブロックモデルにおける理想的な向きの関係を表わすテーブルの例を表わす図である。
図23図13のS505の詳細な処理手順を表わすフローチャートである。
図24】配置パターンのクラスタリングの一例を説明するための図である。
図25】配置パターンのクラスタリングの別の例を説明するための図である。
図26】配置パターンのクラスタリングの結果を表わす図である。
図27】(a)は、2つの近接ブロックモデルの向きの関係の一例を表わす図である。(b)は、2つの近接ブロックモデルの向きの関係の別の例を表わす図である。
図28】2つの近接ブロックモデルの向きの関係に基づく得点の例を表わす図である。
図29】2つの近接ブロックモデルの向きの関係の別の例を表わす図である。
図30】(a)は、配線のねじれがある例を表わす図である。(b)は、配線のねじれがない例を表わす図である。
図31】(a)は、配線の交差がある例を表わす図である。(b)は、配線の交差がない例を表わす図である。
図32】(a)は、配線経路が存在する例を表わす図である。(b)は、配線経路が存在しない例を表わす図である。
図33】代表配置パターンの例を表わす図である。
図34図23のフローチャートの処理手順の終了後に生成される配置パターンの例を表わす図である。
図35図13のS506の詳細な処理手順を表わすフローチャートである。
図36】半位置指定部品を含む高優先回路図グループモデルの領域の取得例を表わす図である。
図37】半位置指定部品を含む高優先回路図グループモデルの領域の取得例を表わす図である。
図38図35のフローチャートの処理手順の終了後に生成される領域パターンの例を表わす図である。
図39図13のS507の詳細な手順を表わすフローチャートである。
図40】全体配置パターンの生成の例を説明するための図である。
図41】高優先配線の経路の例を表わす図である。
図42】高優先配線の領域の例を表わす図である。
図43】高優先配線の領域の生成後における配置パターンの例を表わす図である。
図44】S510の処理手順の終了後に生成される配置パターンの一例を表わす図である。
図45】S510の処理手順の終了後に生成される配置パターンの別の例を表わす図である。
図46】S512の処理手順の終了後に生成される配置パターンの一例を表わす図である。
図47】高優先配線の配置の例を表わす図である。
図48】高優先配線の部品の例を表わす図である。
図49】(a)および(b)は、位置調整の第1の例を説明するための図である。
図50】(a)および(b)は、位置調整の第2の例を説明するための図である。
図51】(a)および(b)は、位置調整の第3の例を説明するための図である。
図52】(a)および(b)は、位置調整の第4の例を説明するための図である。
図53】(a)~(d)は、位置調整の第5の例を説明するための図である。
図54】(a)および(b)は、S515の処理手順の終了後に生成される配置パターンの一例を表わす図である。
図55】(a)および(b)は、S515の処理手順の終了後に生成される配置パターンの別の例を表わす図である。
図56】(a)~(d)は、配置の再調整の例を説明するための図である。
図57】実施の形態2における図2のS9の詳細な処理手順を表わすフローチャートである。
図58】実施の形態3のプリント基板設計装置1の構成を表わす図である。
図59】部品名の検出結果の例を表わす図である。
図60】部品の回路図記号の検出結果の例を表わす図である。
図61】(a)は、回路図を表わす図である。(b)は、(a)の回路図における直線の検出結果を表わす図である。
図62】ペアリングおよび子部品の配置の例を説明するための図である。
図63】ペアリングおよび子部品の配置の別の例を説明するための図である。
図64】回路図を表わす図である。
図65図64の回路図に基づく配置例を表わす図である。
図66】プリント基板設計装置1のハードウエア構成を表わす図である。
【発明を実施するための形態】
【0009】
以下、実施の形態について図面を参照して説明する。
実施の形態1.
図1は、実施の形態1のプリント基板設計装置1の構成を表わす図である。
【0010】
プリント基板設計装置1は、データ入力部2と、ユーザI/F4と、CAD(Computer Aided Design)部3と、配置設計部21とを備える。
【0011】
CAD部3および配置設計部21の機能は、コンピュータがメモリに記憶されたプリント基板設計プログラムを実行することによって実現されるものとしてもよい。プリント基板設計プログラムは、外部からネットワークを通じてメモリにインストールされるものとしてもよい。あるいは、プリント基板設計プログラムは、可搬性の記録媒体を通じてメモリにインストールされるものとしてもよい。
【0012】
データ入力部2は、外部から回路図、およびネットリストなどのデータを入力する。回路図は、画像データおよびテキストデータを含む。
【0013】
ユーザI/F4は、設計者の操作を受け付けるとともに、画面を表示する。
CAD部3は、設計者の操作に従って、データ入力部2から入力されたデータを用いてバイナリ形式のCADデータを作成する。
【0014】
配置設計部21は、前処理部51と、グループ化処理部8と、回路図グループ分類部9と、部品分類部10と、近接ブロック生成部11と、近接ブロック内部品配置設計部12と、電源ツリー設定部13と、位置指定部14と、全体配置設計部15とを備える。前処理部51は、変換部5と、ネット属性設定部6と、ネット点数設定部7とを備える。
【0015】
変換部5は、回路図に基づいて作成されたバイナリ形式のCADデータをテキストデータに変換して、テキストデータの部品名リストを作成する。
【0016】
ネット属性設定部6は、回路図に含まれる複数の部品間を接続するネットの属性を設定する。たとえば、ネット属性設定部6は、ネットリストに含まれるネットの名前に基づいて、ネットの属性を設定する。ネット属性設定部6は、さらに、インダクタの一端に接続された第1のネットの属性が電源属性の場合に、インダクタの他端に接続された第2のネットの属性を、第2のネットの名前に関わりなく、電源属性に設定する。ネット属性設定部6は、インダクタの一端に接続された第1のネットの属性がグランド属性の場合に、インダクタの他端に接続された第2のネットの属性を、第2のネットの名前に関わりなく、グランド属性に設定する。
【0017】
ネット点数設定部7は、設計者がユーザI/F4に表示されるネット一覧からネットを選択して、選択したネットに点数を設定したことに応答して、ネットごとに点数を設定する。これは、ネットは、その働きによって電気性能的な重要度が相違するため、ネット1本毎に重要度を設定するためである。
【0018】
図2は、実施の形態のプリント基板設計装置1によるプリント基板への部品の配置設計の手順を表わすフローチャートである。
【0019】
S1において、前処理部51が、部品の配置設計に必要なデータの取得およびデータの生成を実行する。
【0020】
図3は、図2のS1の詳細な処理手順を表わすフローチャートである。
図3を参照して、S101において、データ入力部2が、外部からのデータを入力する。データは、回路図、外形図、ネットリスト、部品表、および指示書などを含む。回路図は、回路を構成する部品および部品の接続関係などを表わす画像データと、部品名およびネット名などを表わすテキストデータとを含む。たとえば、回路図は、テキストを含むPDF(Portable Document Format)形式のファイルで作成されている。
【0021】
S102において、CAD部3が、設計者によるユーザI/F4を通じた操作に基づいて、入力されたデータからCADデータを作成する。
【0022】
S103において、変換部5が、バイナリ形式のCADデータをテキストデータに変換する。テキストデータは、部品名リストなどを含む。
【0023】
S104において、ネット属性設定部6は、データ入力部2に入力されたネットリストに基づいて、ネットの属性を設定する。ネット属性設定部6は、ネットの名前、およびネットに接続される部品に基づいて、ネットの属性を「電源属性」、「グランド属性」、および「信号属性」のうちのいずれかに設定する。ネットの属性が「電源属性」とは、そのネットが電源電圧を伝達することを示す。ネットの属性が「グランド属性」とは、そのネットがグランド電圧を伝達することを示す。ネットの属性が「信号属性」とは、そのネットが信号を伝送することを示す。たとえば、ネット属性設定部6は、ネット名に文字列「GND」が含まれれば、そのネットの属性を「グランド属性」に設定し、ネット名に文字列「VCC」または「3.3V」が含まれれば、そのネットの属性を「電源属性」に設定する。ネット属性設定部6は、部品「インダクタ」の一端に接続される第1のネットの属性が「電源属性」のときに、部品「インダクタ」の他端に接続される第2のネットの属性を、第2のネットの名前に関わりなく、「電源属性」に設定する。ネット属性設定部6は、部品「インダクタ」の一端に接続される第1のネットの属性が「グランド属性」のときに、部品「インダクタ」の他端に接続される第2のネットの属性を、第2のネットの名前に関わりなく、「グランド属性」に設定する。ネットの属性が予め設定されている場合は、S104の処理は省略することができる。
【0024】
S105において、ネット点数設定部7は、ネット毎に点数を設定する。たとえば、設計者が、ユーザI/F4に表示されるネット一覧からネットを選択し、選択したネットに点数を入力したことに応答して、ネット点数設定部7は、選択されたネットに点数を設定する。
【0025】
再び、図2を参照して、S2において、グループ化処理部8が、基板に配置される複数の部品をグループ化する処理を実行して、複数個の回路図グループを生成する。グループ化処理部8は、テキストを含むPDF形式の回路図と、S102で生成されたテキスト形式の部品名リストとを用いて、複数の部品からなる複数の回路図グループを生成する。設計者が、テキストを含むPDF形式の回路図の一部の範囲をグループとして選択すると、グループ化処理部8は、選択された範囲のテキストデータから文字列を抽出し、抽出した文字列とテキスト形式の部品名リストとを照合することによって、グループに属する部品を特定する。選択範囲に含まれる部品の特定は、以下のようにして判断される。選択範囲に含まれる文字列が、テキスト形式の部品名リストに登録されている部品名のときには、その文字列は、選択された範囲(つまり、グループ)に含まれる部品を表わすと判断することができる。選択された範囲に含まれる文字列が、テキスト形式の部品名リストに登録されている部品名でないときには、その文字列は、選択された範囲(つまり、グループ)に含まれる部品を表わさないと判断することができる。
【0026】
S3において、回路図グループ分類部9は、生成された複数個の回路図グループの各々を高優先回路図グループ、高優先電源回路図グループ、低優先回路図グループ、および低優先電源回路図グループのうちのいずれかに分類する。
【0027】
高優先回路図グループは、電気的に重要な回路を有する回路図グループである。
回路図グループ分類部9は、設計者によってユーザI/F4を通じて電源回路図グループとして指定された回路図グループを電源回路図グループに分類する。
【0028】
回路図グループ分類部9は、電源回路図グループとして指定されない回路図グループのうち、含まれるネットのネット点数の中で最も高いネット点数が閾値TH1以上となる回路図グループを高優先回路図グループに分類する。回路図グループ分類部9は、電源回路図グループとして指定されない回路図グループのうち、含まれるネットのネット点数の中で最も高いネット点数が閾値TH1未満となる回路図グループを低優先回路図グループに分類する。
【0029】
高優先回路図グループおよび低優先回路図グループについても、設計者が手動で変更を加えることとしてもよい。
【0030】
回路図グループ分類部9は、電源回路図グループを高優先回路図グループにのみ電源電圧を供給する高優先電源回路図グループと、低優先回路図グループにのみ電源電圧を供給する、または低優先回路図グループおよび高優先回路図グループの両方に電源電圧を供給する低優先電源回路図グループとのうちのいずれかに分類する。
【0031】
S4において、部品分類部10は、全ての回路図グループに属する複数の部品を、親部品と、親部品と直接または間接的に電気的に接続される子部品と、その他の部品とに分類する。親部品は、たとえば、ICなどである。子部品は、たとえば、発振子、バイパスコンデンサ、ダンピング抵抗、電解コンデンサ、および終端抵抗などである。
【0032】
部品分類部10は、子部品の世代を設定する。部品分類部10は、親部品に直接接続される子部品を第1世代子部品に設定する。部品分類部10は、第k世代子部品に直接接続される子部品を、第(k+1)世代子部品に設定する。kは1以上の自然数である。ただし、部品分類部10は、グランドとの接続を除外し、子部品が複数のネットと接続される場合は、ネットの属性が信号のネットを優先し、子部品が複数の部品と接続される場合は、その子部品を最も若い世代の部品の次の世代の子部品に設定する。第1世代の子部品を狭義の子部品ということもある。第2世代の子部品を孫部品ということもある。第3世代の子部品を曾孫部品ということもある。
【0033】
図4は、部品間の関係を説明するための図である。
親部品PR1に狭義の子部品CH1~CH7が直接接続される。狭義の子部品CH1に孫部品GC1~GC4が直接接続される。狭義の子部品CH6に孫部品GC5が直接接続される。孫部品GC2に曾孫部品GG1が直接接続される。孫部品GC4に曾孫部品GG2が直接接続される。孫部品GC1およびGC3は、親部品PR1にも直接接続されるが、親部品PR1のグランドピンに接続されるため、狭義の子部品とはならない。
【0034】
部品分類部10は、第1世代子部品に優先度を設定して、高優先第1世代子部品または低優先第1世代子部品に分類する。高優先第1世代子部品は、たとえば、バイパスコンデンサ、および発振子などである。
【0035】
部品分類部10は、第2世代以降の子部品に、その子部品と接続されるネットの属性に応じて、優先度を設定する。たとえば、部品分類部10は、信号属性のネットとグランド属性のネットとに接続される子部品に最も高い優先度を設定し、信号属性のネットと電源属性のネットとに接続される子部品に中間の優先度を設定し、信号属性のネットと信号属性のネットとに接続される子部品に最も低い優先度を設定する。
【0036】
S5において、近接ブロック生成部11は、各々が、親部品と、その親部品に直接または間接的に接続される子部品を構成要素とした複数の近接ブロックを生成する。
【0037】
S6において、近接ブロック内部品配置設計部12は、近接ブロック内の部品の配置を決定する。
【0038】
図5は、図2のS6の詳細な処理手順を示すフローチャートである。
S201において、近接ブロック内部品配置設計部12は、含まれる部品が最多である未選択の近接ブロックを選択する。
【0039】
S202において、すでに部品の配置を決定した近接ブロックのうち、選択した近接ブロックと類似するものがある場合には、処理がS203に進み、そのようなものがない場合には、処理がS204に進む。
【0040】
近接ブロック内部品配置設計部12は、部品の配置が決定されている近接ブロックAと、選択された近接ブロックBとの類似度を以下のようにして算出する。
【0041】
近接ブロックAに含まれる部品の総数をNとし、近接ブロックAに含まれる部品のうち、近接ブロックBにも含まれる部品の総数をXとしたときに、近接ブロックAと近接ブロックBとの類似度Rは、以下の式で算出される。近接ブロック内部品配置設計部12は、類似度Rが予め定められた閾値以上のときに、近接ブロックAと近接ブロックBとが類似すると判定する。
【0042】
R=X/N・・・(A1)
ここで、2つの部品は、品番が同一のときに同一の部品とする。
【0043】
次に、類似度の算出例を説明する。
図6(a)は、近接ブロックA内の部品を表わす図である。図6(b)は、近接ブロックB内の部品を表わす図である。図6(c)は、近接ブロックA内の部品と近接ブロックB内の部品が同一か否かを示す図である。
【0044】
図6(a)に示すように、近接ブロックAは、親部品としてIC1、子部品として抵抗R1、R2、R3、R4、コンデンサC1、C2を含む。
【0045】
図6(b)に示すように、近接ブロックBは、親部品としてIC2、子部品として抵抗R101、R102、R103、R104、コンデンサC101を含む。
【0046】
図6(c)には、近接ブロックA内の部品と近接ブロックB内の部品が同一か否かが示されている。IC1とIC2とが同一で、R1、R2、R3、R4がそれぞれR101、R102、R103、R104と同一で、C1とC101が同一であることが示されている。近接ブロック内部品配置設計部12は、近接ブロックAと近接ブロックBとの類似度を6/7であると算出する。
【0047】
S203において、近接ブロック内部品配置設計部12は、選択した近接ブロックの部品の配置を類似している近接ブロックの同一の部品の配置と一致させる。
【0048】
図6の例において、近接ブロックAと近接ブロックBとが類似していると判断された場合には、たとえば、IC1に対するR1の位置関係と、IC2に対するR101の位置関係とが一致するように、R101が配置される。R102、R103、R104、C101についても、同様である。
【0049】
S204において、近接ブロック内部品配置設計部12は、選択した近接ブロックの部品のうち、未配置の部品(すなわち、類似する近接ブロック内に同一の部品が存在しない部品)、および、すでに含まれる部品の配置を決定したいずれの近接ブロックとも類似していない近接ブロック内の部品の配置を優先度に基づいて決定する。
【0050】
近接ブロック内部品配置設計部12は、高優先第1世代子部品、およびこの高優先第1世代子部品に直接または間接に接続される複数の子部品(高優先子部品グループ)を、低優先第1世代子部品、および低優先第1世代子部品に直接または間接に接続される複数の子部品(低優先子部品グループ)よりも親部品に近い位置に配置する。
【0051】
図7は、高優先第1世代部品および低優先第1世代部品の配置例を表わす図である。
図7に示すように、高優先第1世代子部品CH1および高優先第1世代子部品CH2が、親部品に最も近い1列目に配置される。低優先第1世代子部品CH3が、親部品に2番目に近い2列目に配置される。1列目とは、デザインルールによって許容される親部品の側面に最も近い位置である。2列目とは、デザインルールによって許容される親部品の側面に2番目に近い位置である。デザインルールは、実装上の制約などを規定したルールである。
【0052】
近接ブロック内部品配置設計部12は、1つの高優先部品グループ内の子部品または1つの低優先部品グループ内の子部品を以下のようにして配置する。
【0053】
近接ブロック内部品配置設計部12は、第k世代子部品を、この部品に直接接続される直系の第(k-1)世代の子部品よりも親部品から遠い位置に配置する。kは2以上の自然数である。ある子部品(第1の子部品とする)の優先度は、第1の子部品と直接接続され、かつ親部品との接続のために経由する子部品の数が第1の子部品よりも1つ多いすべての子部品(第2の子部品とする)の優先度よりも高い。
【0054】
近接ブロック内部品配置設計部12は、直系の関係にない第2世代以降の複数の子部品について、その接続されるネットの属性に応じた優先度に従って、配置を決定する。すなわち、上述の第2の子部品が複数個存在する場合に、各第2の子部品に接続される2つのネットの属性に基づいて、各第2の子部品の優先度が定められる。
【0055】
図8は、子部品の配置の例を表わす図である。
高優先子部品CH1と、高優先子部品CH1に直接または間接的に接続される孫部品GC1および孫部品GC2からなる高優先子部品グループGR1と、高優先子部品CH2と、高優先子部品CH2に直接または間接的に接続される孫部品GC3および曾孫部品GG1からなる高優先子部品グループGR2とが、低優先子部品CH3と、低優先子部品CH3に直接または間接的に接続される孫部品GC4、GC5、および曾孫部品GG2からなる低優先子部品グループGR3よりも、親部品に近い位置に配置される。
【0056】
高優先子部品グループGR1において、孫部品GC1は、信号属性のネットとグランド属性のネットとに接続されるのに対して、孫部品GC2は、信号属性のネットと電源属性のネットとに接続される。よって、孫部品GC1が孫部品GC2よりも、親部品PR1に近い位置に配置される。
【0057】
高優先子部品グループGR2において、曾孫部品GG1は、孫部品GC3に直接接続さており、孫部品GC3の直系の子部品である。よって、孫部品GC3が曾孫部品GG1よりも、親部品PR1に近い位置に配置される。
【0058】
低優先子部品グループGR3において、曾孫部品GG2は、孫部品GC4に直接接続されており、孫部品GC4の直系の子部品である。よって、孫部品GC4が曾孫部品GG2よりも、親部品PR1に近い位置に配置される。孫部品GC4及び孫部品GC5は、いずれも信号属性のネットと信号の属性のネットとに接続される。孫部品GC4及び孫部品GC5は、低優先子部品CH3からほぼ同じ距離だけ離れた位置に配置される。
【0059】
図9は、親部品PR1の周りの領域を説明するための図である。
親部品の第1の側面LE1と親部品の第2の側面LE2とが第1の交差線P1において接続し、親部品の第1の側面LE1と親部品の第3の側面LE3とが第2の交差線P2において接続し、親部品の第2の側面LE2と親部品の第4の側面LE4とが第3の交差線P3において接続し、親部品の第3の側面LE3と親部品の第4の側面LE4とが第4の交差線P4において接続する。
【0060】
親部品の第1の側面LE1を第1の交差線P1側に延長した第1の延長面ET1と、親部品の第2の側面LE2を第1の交差線P1側に延長した第2の延長面ET2とによって区切られる空間を2等分する面を第1の境界面BR1とする。
【0061】
親部品の第1の側面LE1を第2の交差線P2側に延長した第3の延長面ET3と、親部品の第3の側面LE3を第2の交差線P2側に延長した第4の延長面ET4とによって区切られる空間を2等分する面を第2の境界面BR2とする。
【0062】
親部品の第1の側面LE1と、第1の境界面BR1と、第2の境界面BR2とによって区切られる領域を第1の領域RE1とする。
【0063】
親部品の第2の側面LE2を第3の交差線P3側に延長した第5の延長面ET5と、親部品の第4の側面LE4を第3の交差線P3側に延長した第6の延長面ET6とによって区切られる空間を2等分する面を第3の境界面BR3とする。
【0064】
親部品の第2の側面LE2と、第1の境界面BR1と、第3の境界面BR3とによって区切られる領域を第2の領域RE2とする。
【0065】
親部品の第3の側面LE3を第4の交差線P4側に延長した第7の延長面ET7と、親部品の第4の側面LE4を第4の交差線P4側に延長した第8の延長面ET8とによって区切られる空間を2等分する面を第4の境界面BR4とする。
【0066】
親部品の第3の側面LE3と、第2の境界面BR2と、第4の境界面BR4とによって区切られる領域を第3の領域RE3とする。
【0067】
親部品の第4の側面LE4と、第3の境界面BR3と、第4の境界面BR4とによって区切られる領域を第4の領域RE4とする。
【0068】
上記において、第1の側面LE1と第1の境界面BR1とは135度で交差し、第1の側面LE1と第2の境界面BR2とは135度で交差するものとしたが、これに限定されるものではなく、第1の側面LE1と第1の境界面BR1とは90度を超える角度で交差し、第1の側面LE1と第2の境界面BR2とは90度を超える角度で交差すればよい。
【0069】
第2の側面LE2と第1の境界面BR1とは135度で交差し、第2の側面LE2と第3の境界面BR3とは135度で交差するものとしたが、これに限定されるものではなく、第2の側面LE2と第1の境界面BR1とは90度を超える角度で交差し、第2の側面LE2と第3の境界面BR3とは90度を超える角度で交差すればよい。
【0070】
第3の側面LE3と第2の境界面BR2とは135度で交差し、第3の側面LE3と第4の境界面BR4とは135度で交差するものとしたが、これに限定されるものではなく、第3の側面LE3と第2の境界面BR2とは90度を超える角度で交差し、第3の側面LE3と第4の境界面BR4とは90度を超える角度で交差すればよい。
【0071】
第4の側面LE4と第3の境界面BR3とは135度で交差し、第4の側面LE4と第4の境界面BR4とは135度で交差するものとしたが、これに限定されるものではなく、第4の側面LE4と第3の境界面BR3とは90度を超える角度で交差し、第4の側面LE4と第4の境界面BR4とは90度を超える角度で交差すればよい。
【0072】
近接ブロック内部品配置設計部12は、第1の側面LE1に沿って配置される親部品のピンと接続される子部品と、その子部品に直接または間接的に接続される子部品を第1の領域RE1に配置する。近接ブロック内部品配置設計部12は、第2の側面LE2に沿って配置される親部品のピンと接続される子部品と、その子部品に直接または間接的に接続される子部品を第2の領域RE2に配置する。近接ブロック内部品配置設計部12は、第3の側面LE3に沿って配置される親部品のピンと接続される子部品と、その子部品に直接または間接的に接続される子部品を第3の領域RE3に配置する。近接ブロック内部品配置設計部12は、第4の側面LE4に沿って配置される親部品のピンと接続される子部品と、その子部品に直接または間接的に接続される子部品を第4の領域RE4に配置する。
【0073】
近接ブロック内部品配置設計部12は、同一の優先度を有する子部品は、親部品からの距離が同じラインに配置する。
【0074】
近接ブロック内部品配置設計部12は、4つの領域のいずれかの領域において、同じ優先度の子部品のすべてを同じラインに配置できない場合には、同じ領域において、親部品からの距離が次に近いラインに同じ優先度の1個以上の子部品を配置する。
【0075】
図10は、同一の優先度の第1世代子部品の配置例を表わす図である。
子部品CH1~CH5は、すべて高優先第1世代子部品、またはすべて低優先第1世代子部品であって、同一の優先度を有する。第1の領域RE1において、子部品CH2およびCH4は、親部品PR1から最も近い第1ラインに配置され、子部品CH1、CH3、CH5は、親部品PR1から次に近い第2ラインに配置される。第2ラインでは、第2の延長面ET2を越えて、子部品CH1が配置され、第4の延長面ET4を越えて、子部品CH5が配置されている。
【0076】
なお、近接ブロック内の部品は、基板の表面だけではなく、裏面にも配置可能である。
再び、図5を参照して、S205において、すべての近接ブロックを選択済みの場合には、処理が終了し、未選択の近接ブロックがある場合には、処理がS201に戻る。
【0077】
再び、図2を参照して、S7において、近接ブロック生成部11は、すべての近接ブロックの第1の矩形領域SR1を設定する。第1の矩形領域SR1は、近接ブロックに含まれる親部品および高優先第1世代子部品を囲む矩形領域である。より具体的には、近接ブロック生成部11は、親部品、高優先第1世代子部品、親部品と接続用の後の工程において配置されるビアホールの配置箇所、高優先第1世代子部品と接続用の後の工程において配置されるビアホールの配置箇所、および後の工程において配置されるグランドパターンまたはマージン領域の配置箇所を囲む最小の矩形領域を近接ブロックの第1の矩形領域SR1として設定する。
【0078】
図11は、近接ブロックの第1の矩形領域SR1の例を表わす図である。近接ブロックに含まれる親部品PR1、および高優先第1世代子部品CH1、CH2、CH4、接続用のビアVR1、VR2、VR3、およびグランドパターンまたはマージン領域RGHを囲む第1の矩形領域SR1が設定される。
【0079】
S8において、近接ブロック生成部11は、すべての近接ブロックの第2の矩形領域SR2を設定する。第2の矩形領域SR2は、近接ブロックに含まれるすべての部品を囲む矩形領域である。より具体的には、近接ブロック生成部11は、親部品、およびすべての子部品(孫部品、曾孫部品、および曾孫部品以降の全ての子部品)、ビアホール、および後の工程において配置されるグランドパターンまたはマージン領域を囲む最小の矩形領域を近接ブロックの第2の矩形領域SR2として設定する。
【0080】
図12は、近接ブロックの第2の矩形領域SR2の例を表わす図である。近接ブロックに含まれるすべての部品PR1、CH1~CH8、GC1~GC3、接続用のビアVR1、VR2、VR3、およびグランドパターンまたはマージン領域RGHを囲む第2の矩形領域SR2が設定される。
【0081】
再び、図2を参照して、S9において、全体配置設計部15は、回路図グループに含まれる1個以上の近接ブロックの回路図グループ内における配置を決定し、回路図グループの種類に基づく順序で、基板上における回路図グループの領域を取得し、取得した回路図グループの領域に回路図グループに含まれる1個以上の近接ブロックを配置する。
【0082】
高優先回路図グループを高優先電源回路図グループよりも先に配置する理由は、以下である。(a)高優先配線の距離を短く、交差を少なくする位置取りをしたい。(b)高優先配線の配線経路を確保したい。(c)基板上で最も重要な回路図グループであり、他の回路図グループによる制約を受けずに最も良い位置に位置取りをしたい。(d)回路図グループ自体の面積が大きい場合は、後から位置取りしようとすると、位置取りできる場所がなくなってしまっている可能性がある。
【0083】
仮に、高優先電源回路図グループを高優先回路図グループよりも先に配置した場合には、以下の問題(デメリット)がある。(a)高優先配線の距離が長くなり、交差が多い位置取りとなる可能性がある。(b)高優先電源回路図グループの位置取りによっては、高優先配線の配線経路が無くなる可能性がある。(c)高優先電源回路図グループの位置取りによっては、位置取り時に制約を受け、最も良い位置に位置取りできない(接続先との距離が遠くなる等)。(d)高優先回路図グループ自体の面積が大きい場合、高優先電源回路図グループの位置取りによっては高優先回路図グループの位置取りができなくなっている可能性がある。
【0084】
高優先電源回路図グループを低優先回路図グループよりも先に配置する理由は、以下である。(a)高優先電源回路図グループを負荷である高優先回路図グループのできるだけ近くに配置したい。
【0085】
仮に、低優先回路図グループを高優先電源回路図グループよりも先に配置した場合には、以下の問題(デメリット)がある。(a)低優先回路図グループの位置取りによっては、高優先電源回路図グループが負荷である高優先回路図グループから遠くなる可能性がある。(b)電源と負荷が遠くなる(配線が長くなる)と、電圧が降下したり、電源にノイズが入りやすくなる。
【0086】
低優先回路図グループを低優先電源回路図グループよりも先に配置する理由は、以下である。(a)信号線の距離を短く、交差を少なくする位置取りをしたい。
【0087】
仮に、低優先電源回路図グループを低優先回路図グループよりも先に配置した場合には、以下の問題(デメリット)がある。(a)信号線の距離が長くなり、交差が多い位置取りとなる可能性がある。
【0088】
図13は、実施の形態1における図2のS9の詳細な処理手順を表わすフローチャートである。
【0089】
S501において、電源ツリー設定部13は、回路図上の全ての電源ネットについて、供給先の近接ブロックと供給元の近接ブロックの関係を電源ツリーとして設定する。電源ツリー設定部13は、ネットリストと近接ブロックとの間の接続関係から、電源ネットとその電源ネットと接続を有する近接ブロックの関係を取得する。
【0090】
2つの近接ブロック間の接続関係は、ネットリストに基づいて、一方の近接ブロック内の部品と、他方の近接ブロック内の部品との接続を把握することによって、取得することができる。
【0091】
次に、電源ツリーの設定手順を説明する。
図14(a)は、ネットリストを表わす図である。図14(b)は、部品間の接続関係を表わす図である。図14(c)は、電源ツリーの例を表わす図である。
【0092】
図14(a)には、ネットリストが表わされている。電源ツリー設定部13は、ネットリストを参照して、12Vの電源が、CN1(1)、F1(1)、およびIC1(1)を通じて供給されていることを把握する。()内の数字は、ピン番号を表わす。電源ツリー設定部13は、ネットリストを参照して、5Vの電源が、IC1(2)、FL1(1)、およびR2(1)を通じて供給されていることを把握する。電源ツリー設定部13は、ネットリストを参照して、3Vの電源が、IC2(2)およびIC5(1)を通じて供給されていることを把握する。
【0093】
図14(b)には、部品間の接続関係が表わされている。近接ブロックNB1はCN1を含み、近接ブロックNB2はF1とIC2とを含み、近接ブロックNB3はIC1を含み、近接ブロックNB4はFL1およびIC3を含み、近接ブロックNB5はR2およびIC4を含み、近接ブロックNB6はIC5を含む。CN1の第1ピンがF1の第1ピンおよびIC1の第1ピンと接続され、IC1の第2ピンがFL1の第1ピンおよびR2の第1ピンと接続され、IC2の第2ピンがIC5の第1ピンと接続される。
【0094】
設計者がNB1、NB2、およびNB3の中から12Vの電源の供給元を指定する。設計者がNB3、NB4、およびNB5の中から5Vの電源の供給元を指定する。設計者がNB2、およびNB6の中から3Vの電源の供給元を指定する。
【0095】
図14(c)には、電源ツリーの例が表わされている。この電源ツリーは、設計者がNB1を12Vの電源の供給元として指定し、NB3を5Vの電源の供給元として指定し、NB2を3Vの電源の供給元として指定した場合に設定される。図14(c)に示すように、近接ブロックNB1から12Vの電源が近接ブロックNB2およびNB3に供給され、近接ブロックNB3から5Vの電源が近接ブロックNB4およびNB5に供給され、近接ブロックNB2から3Vの電源が近接ブロックNB6に供給される。
【0096】
図13を参照して、S502において、位置指定部14は、基板上での位置が定められている位置指定部品、および基板上での位置が大凡定められる半位置指定部品を設定する。位置指定部14は、CADアスキーデータに基づいて、位置指定部品およびその指定位置を特定する。指定位置は、基板上の座標、配置面、および向きを含む。位置指定部14は、設計者によるユーザI/F4を通じた指定に基づいて、半位置指定部品およびその大凡の指定位置を設定する。
【0097】
図15は、位置指定部品および半位置指定部品の例を表わす図である。
CN2、S1~S8、D2~D4は、位置が指定されている位置指定部品である。
【0098】
IC2、IC3、IC4、IC7、CN1、CN3、CN4、およびCN5は、大凡の位置が指定されている半位置指定部品である。
【0099】
図13を参照して、S503において、全体配置設計部15は、回路図グループをモデル化し、回路図グループモデルを作成する。回路図グループモデルは、基板上に回路図グループが配置される領域を計算する際に用いられる。
【0100】
回路図グループモデルは、基板上に配置される回路図グループの絶対位置(以下、位置)、基板上に配置される回路図グループの大きさ(幅および高さ)、回路図グループが接続される他の回路図グループとの1対1の接続を表わす接続情報を有する。位置および大きさは、配置によって変化する。
【0101】
全体配置設計部15は、近接ブロックをモデル化し、近接ブロックモデルを作成する。近接ブロックモデルは、基板上に近接ブロックを配置する際に用いられる。
【0102】
近接ブロックモデルは、近接ブロックの基板上における絶対位置、近接ブロックの第1の矩形領域の位置および大きさ、近接ブロックの第2の矩形領域の位置および大きさ、近接ブロックの基板上における向き、近接ブロックに1対1で接続される他の近接ブロックモデルとの接続情報、および近接ブロックの配置面を表わす情報を含む。位置、向き、および配置面は、配置によって変化する。向きは、たとえば、0、90、180、または270°とするが、これに限定されるものではない。配置面は、基板の表または裏である。近接ブロックの第2の矩形領域は、全体配置設計時に近接ブロックの配置を決めるときに用いられる。
【0103】
次に、基板上における近接ブロックNBの向きを説明する。
図16(a)は、向きが0°の配置例を表わす図である。
【0104】
基板の水平方向がX軸、基板の垂直方向がY軸方向に設定される。X軸方向に平行な基板の上側面U1、および下側面B1、Y軸方向に平行な基板の左側面L1、および右側面R1が設定される。
【0105】
近接ブロックNBの向きが0°のときには、たとえば、近接ブロックNBの上側面U2の方向は、基板の上側面U1の方向と平行(X軸に平行)、かつ近接ブロックNBの上側面U2は、基板の上側面U1に最も近い。
【0106】
図16(b)は、向きが90°の配置例を表わす図である。
近接ブロックNBの向きが90°のときには、たとえば、近接ブロックNBの上側面U2の方向は、基板の上側面U1の方向から時計回りに90°回転している。
【0107】
図16(c)は、向きが180°の配置例を表わす図である。
近接ブロックNBの向きが180°のときには、たとえば、近接ブロックNBの上側面U2の方向は、基板の上側面U1の方向から時計回りに180°回転している。
【0108】
図16(d)は、向きが270°の配置例を表わす図である。
近接ブロックNBの向きが270°のときには、たとえば、近接ブロックNBの上側面U2の方向は、基板の上側面U1の方向から時計周りに270°回転している。
【0109】
全体配置設計部15は、2つの回路図グループモデル間の接続をモデル化した回路図グループ接続モデルを作成する。回路図グループ接続モデルは、回路図グループモデルの領域パターンの採点のために用いられる。回路図グループ接続モデルは、総ネット点数と、仮想ピンとを含む。総ネット点数は、2つの回路図グループモデル間のネット点数の総和である。仮想ピンは、回路図グループモデルの中心である。仮想ピンは、回路図グループモデル間の距離を測定する際の基準となる点である。
【0110】
全体配置設計部15は、2つの近接ブロックモデル間の接続をモデル化した近接ブロック接続モデルを作成する。近接ブロック接続モデルは、近接ブロックモデルの配置パターンの採点のために用いられる。近接ブロック接続モデルは、総ネット点数と、接続ピンと、仮想ピンとを含む。総ネット点数は、2つ近接ブロック間のネット点数の総和である。接続ピンは、2つ近接ブロックを接続するピンである。接続ピンは、高優先配線の経路生成の際に基準となる点である。仮想ピンの座標は、接続ピンの座標のネット点数を重みとした加重平均である。仮想ピンは、2つの近接ブロックモデル間の距離を測定する際の基準となる点である。
【0111】
図17は、近接ブロックモデルの仮想ピンの座標の一例を説明するための図である。
近接ブロックモデルRB1によって表される近接ブロックは、親部品PR1と、子部品CH1、CH2とを含む。近接ブロックモデルRB2によって表される近接ブロックは、親部品PR2を含む。
【0112】
親部品PR1の接続ピンP3(x3,y3)と、親部品PR2の接続ピンP6(x6,y6)とが接続され、これらを接続するネットの点数が10である。子部品CH1の接続ピンP1(x1,y1)と、親部品PR2の接続ピンP4(x4,y4)とが接続され、これらを接続するネットの点数が10である。子部品CH2の接続ピンP2(x2,y2)と、親部品PR2の接続ピンP5(x5,y5)とが接続され、これらを接続するネットの点数が10である。
【0113】
近接ブロックモデルRB1の仮想ピンVP1の座標(XV1,YV1)は、以下の式によって算出される。
【0114】
XV1=X1*10/30+X2*10/30+X3*10/30…(B1)
YV1=Y1*10/30+Y2*10/30+Y3*10/30…(B2)
近接ブロックモデルRB2の仮想ピンVP2の座標(XV2,YV2)は、以下の式によって算出される。
【0115】
XV2=X4*10/30+X5*10/30+X6*10/30…(B3)
YV2=Y4*10/30+Y5*10/30+Y6*10/30…(B4)
図18は、近接ブロックモデルの仮想ピンの座標の別の例を説明するための図である。
【0116】
図18の例が図17の例と相違する点は、親部品PR1の接続ピンP3(x3,y3)と、親部品PR2の接続ピンP6(x6,y6)とが接続され、これらを接続するネットの点数が100である点である。
【0117】
近接ブロックモデルRB1の仮想ピンVP1の座標(XV1,YV1)は、以下の式によって算出される。
【0118】
XV1=X1*10/120+X2*10/120+X3*100/120…(B5)
YV1=Y1*10/120+Y2*10/120+Y3*100/120…(B6)
近接ブロックモデルRB2の仮想ピンVP2の座標(XV2,YV2)は、以下の式によって算出される。
【0119】
XV2=X4*10/120+X5*10/120+X6*100/120…(B7)
YV2=Y4*10/120+Y5*10/120+Y6*100/120…(B8)
図19は、近接ブロック接続モデルの仮想ピンと総ネット点数を説明するための図である。図19に示すように、近接ブロックモデルRB1の仮想ピンVP1と、近接ブロックモデルRB2の仮想ピンVP2とが、総ネット点数の仮想のネットで接続される。
【0120】
図13のS504において、全体配置設計部15は、2つの近接ブロックモデルの間の理想的な向きの関係を設定する。全体配置設計部15は、同じ回路図グループまたは異なる回路図グループに含まれる接続を有する2つの近接ブロックモデルにおける理想的な向きの関係を表わすテーブルを作成する。
【0121】
図20(a)および(b)は、2つの近接ブロックモデルの間の理想的な向きの関係を説明するための図である。
【0122】
近接ブロックモデルRB1によって表される近接ブロックは、親部品IC1と、子部品CH1、CH2、CH3とを含む。近接ブロックモデルRB2によって表される近接ブロックは、親部品IC2と、子部品CH4、CH5とを含む。親部品IC1の右側面と接続される子部品CH1と、親部品IC2の上側面と接続される子部品CH5とが配線WR1によって接続される。親部品IC1の右側面と接続される子部品CH3と親部品IC2の上側面と接続される子部品CH4とが配線WR2によって接続される。よって、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2とが接続される。
【0123】
図20(a)では、近接ブロックモデルRB1の向きは、親部品IC1の向きで表され、0度である。近接ブロックモデルRB2の向きは、親部品IC2の向きで表され、0度である。図20(a)では、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2とが対向しない。すなわち、接続する近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2との間の距離が最短とならない。よって、配線WR1、WR2の距離も最短とならない。
【0124】
図20(b)では、図20(a)と同様に、近接ブロックモデルRB1の向きは、親部品IC1の向きで表され、0度である。図20(b)では、図20(a)と異なり、近接ブロックモデルRB2の向きは、親部品IC2の向きで表され、270度である。図20(b)では、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2とが最短距離で対向する。すなわち、近接ブロックモデルRB1の向きは、近接ブロックモデルRB1の右側面R2が近接ブロックモデルRB2と最短となるような向きであり、近接ブロックモデルRB2の向きは、近接ブロックモデルRB2の上側面U2が近接ブロックモデルRB1と最短となるような向きである。よって、配線WR1、WR2の距離も最短となる。
【0125】
図21は、2つの近接ブロックモデルの間の理想的な向きの関係を説明するための図である。
【0126】
図18に示したように、近接ブロックモデルRB1の仮想ピンがVP1、近接ブロックモデルRB2の仮想ピンがVP2である。
【0127】
近接ブロックモデルRB1の4つの側面のうち、仮想ピンVP1に最も近い面が右側面R2である。近接ブロックモデルRB2の4つの側面のうち、仮想ピンVP2に最も近い面が左側面L2である。
【0128】
近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の左側面L2とが最短距離で対向する。すなわち、近接ブロックモデルRB1の向きは、近接ブロックモデルRB1の右側面R2が近接ブロックモデルRB2と最短となるような向きであり、近接ブロックモデルRB2の向きは、近接ブロックモデルRB2の左側面L2が近接ブロックモデルRB1と最短となるような向きである。
【0129】
図22は、2つの近接ブロックモデルにおける理想的な向きの関係を表わすテーブルの例を表わす図である。たとえば、近接ブロックモデルRB1の右側面と近接ブロックモデルRB2の上側面とが最短距離で対向する。すなわち、近接ブロックモデルRB1と近接ブロックモデルRB2との間では、近接ブロックモデルRB1の右側面が近接ブロックモデルRB2に近くなるような向きが近接ブロックモデルRB1の理想的な向きであり、近接ブロックモデルRB2の上側面が近接ブロックモデルRB1に近くなるような向きが近接ブロックモデルRB2の理想的な向きである。
【0130】
再び、図13を参照して、S505において、全体配置設計部15は、各回路図グループに含まれる複数の近接ブロックモデルについての望ましい複数の配置パターンを生成する。
【0131】
図23は、図13のS505の詳細な処理手順を表わすフローチャートである。
S601において、全体配置設計部15は、各回路図グループに含まれる複数の近接ブロックモデルの配置パターンを複数個作成する。近接ブロックモデルの大きさは、近接ブロックの第2の矩形領域の大きさである。全体配置設計部15は、近接ブロックモデルの位置および向きについて、任意に変化させた複数個の配置パターンを生成する。
【0132】
S602において、全体配置設計部15は、生成した複数の配置パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの近接ブロックモデルの中心を結ぶ線分の方向に基づいて、複数個の配置パターンが同一のクラスタに含まれるか否かを判断する。
【0133】
図24は、配置パターンのクラスタリングの一例を説明するための図である。
図24において、回路図グループの中に近接ブロックモデルRB1とRB2のみが含まれるものとしている。配置パターンAにおける近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分LL1の方向と、配置パターンBにおける近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分LL2の方向との差は、θ1である。θ1が所定の閾値THθ以下の場合に、配置パターンAと配置パターンBとが同一のクラスタに属すると判断される。
【0134】
図25は、配置パターンのクラスタリングの別の例を説明するための図である。
図25においても、回路図グループの中に近接ブロックモデルRB1とRB2のみが含まれるものとしている。配置パターンCにおける近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分の方向と、配置パターンDにおける近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分の方向との差は、θ2である。θ2が所定の閾値THθを超える場合に、配置パターンCと配置パターンDとが異なるクラスタに属すると判断される。
【0135】
回路図グループに近接ブロックモデルRB1とRB2とRB3とが含まれ、近接ブロックモデルRB1が、RB2およびRB3と接続され、近接ブロックモデルRB2がRB3と接続されているとする。
【0136】
この場合には、全体配置設計部15は、近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分の方向θaと、近接ブロックモデルRB1の中心と近接ブロックモデルRB3の中心とを結ぶ線分の方向θbと、近接ブロックモデルRB2の中心と近接ブロックモデルRB3の中心とを結ぶ線分の方向θcとを3次元の空間にプロットして、3次元の空間において、距離が近い配置パターンを同一のクラスタに属すると判断することとしてもよい。あるいは、全体配置設計部15は、θaとθbとθcとの和に基づいて、クラスタリングを実行してもよい。
【0137】
回路図グループに近接ブロックモデルRB1とRB2とRB3とが含まれ、近接ブロックモデルRB1とRB2とが接続され、近接ブロックモデルRB3がRB1およびRB2と接続されていない場合には、図24および図25の例と同様に、近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分の方向に基づいて、クラスタリングが実行される。
【0138】
図26は、配置パターンのクラスタリングの結果を表わす図である。
6個の配置パターンA~Fをクラスタリングすることによって、配置パターンAとBがクラスタAに属し、配置パターンC、EおよびFがクラスタBに属し、配置パターンDがクラスタCに属すると判断されている。
【0139】
再び、図23を参照して、S603において、全体配置設計部15は、各クラスタに含まれる複数の配置パターンを採点する。
【0140】
全体配置設計部15は、接続する2つの近接ブロックモデル間(第iセット)の採点を以下のようにして実行する。ただし、全体配置設計部15は、接続する2つの近接ブロックモデルが、高優先電源回路図グループまたは低優先電源回路図グループに含まれる場合には、電源ツリーを参照して、一方の近接ブロックモデルが電源電圧を供給し、他方の近接ブロックモデルがその電源電圧を受けるときのみ、採点を実行する。
【0141】
Si=(WS1*A1+WS2*A2+WS3*A3+WS4*A4+WS5*A5)*NS…(C1)
第1の指標A1は、2つの近接ブロックモデル間の距離に基づく得点を表わす。第1の指標A1は、2つの近接ブロックモデルの仮想ピン間のマンハッタン距離である。
【0142】
第2の指標A2は、2つの近接ブロックモデルの向きの関係に基づく得点を表わす。
図27(a)は、2つの近接ブロックモデルの向きの関係の一例を表わす図である。
【0143】
近接ブロックモデルRB1によって表される近接ブロックは、親部品PR1と子部品CH1とを含む。近接ブロックモデルRB2によって表される近接ブロックは、親部品PR2と子部品CH2とを含む。子部品CH1は、親部品PR1の右側面と接続される。子部品CH2は、親部品PR2の左側面と接続される。子部品CH1と子部品CH2とが配線NXによって接続される。
【0144】
よって、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の左側面L2とが接続される。
【0145】
図27(a)の例では、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の左側面L2とが最短距離で対向する。すなわち、近接ブロックモデルRB1の向きは、近接ブロックモデルRB1の右側面R2が近接ブロックモデルRB2と最短となるような向きであり、近接ブロックモデルRB2の向きは、近接ブロックモデルRB2の左側面L2が近接ブロックモデルRB1と最短となるような向きである。よって、接続する近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の左側面L2との間の距離が最短となる。よって、配線NXの距離も最短となる。
【0146】
図27(b)は、2つの近接ブロックモデルの向きの関係の別の例を表わす図である。
図27(b)の例では、近接ブロックモデルRB1の向きは、近接ブロックモデルRB1の右側面R2が近接ブロックモデルRB2と最短となるような向きであるが、近接ブロックモデルRB2の向きは、近接ブロックモデルRB2の右側面R2が近接ブロックモデルRB1と最短となるような向きである。よって、接続する近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の左側面L2との間の距離が最短とならない。その結果、配線NXの距離も最短とならない。
【0147】
図28は、2つの近接ブロックモデルの向きの関係に基づく得点の例を表わす図である。この例では、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2とが接続されるときに、2つの近接ブロックの向きに対する得点が示されている。
【0148】
図28において、左列は、近接ブロックモデルRB1の面のうち、近接ブロックモデルRB2と最短となる面である。中央の列は、近接ブロックモデルRB2の面のうち、近接ブロックモデルRB1と最短となる面である。すなわち、図28には、近接ブロックモデルRB1の左列の面と、近接ブロックモデルRB2の中央の列の面とが最短距離で対向するときの得点が右列に表されている。
【0149】
理想的な向きの関係のとき、すなわち、得点は最も良い「0」となる。理想的な向きの関係との相違が大きくなるほど、得点は高く(悪く)なる。
【0150】
2つの近接ブロックモデルの位置関係が左右、または上下の関係にない場合でも、2つの近接ブロックモデルの向きの関係に基づく得点を得ることができる。
【0151】
図29は、2つの近接ブロックモデルの向きの関係の別の例を表わす図である。
図28の例と同様に、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の上側面U2とが接続されるとする。近接ブロックモデルRB2は、近接ブロックモデルRB1に対して右上に配置される。近接ブロックモデルRB1の中心と近接ブロックモデルRB2の中心とを結ぶ線分LL1の角度θは、45°以下とする。このような場合に、近接ブロックモデルRB1の右側面R2と、近接ブロックモデルRB2の下側面B2とが最短距離で対向するとみなされる。よって、図28の表を参照することによって、左列の「右」と、中央の列の「下」とに対応する得点「+2」が得られる。
【0152】
以上が第2の指標A2の説明である。
第3の指標A3は、2つの近接ブロックモデルの間に配線のねじれが生じるか否かに基づく得点を表わす。第3の指標A3は、配線のねじれがないときに、配線のねじれがあるときよりも小さな値に設定される。配線のねじれは、配線が接続される2つの部品の位置関係から算出することができる。
【0153】
図30(a)は、配線のねじれがある例を表わす図である。図30(b)は、配線のねじれがない例を表わす図である。
【0154】
近接ブロックモデルRB1によって表される近接ブロックは、親部品PR1と、子部品CH1、CH3とを含む。近接ブロックモデルRB2によって表される近接ブロックは、親部品PR2と、子部品CH2、CH4とを含む。
【0155】
図30(a)では、子部品CH1と子部品CH4との間の配線NYと、子部品CH3と子部品CH2との間の配線NXとがねじれている。図30(b)では、子部品CH1と子部品CH2との間の配線NZと、子部品CH3と子部品CH4との間の配線NWとがねじれていない。
【0156】
第4の指標A4は、2つの近接ブロックモデルの間の配線に対して他の近接ブロックモデルと接続される配線が交差するか否かに基づく得点を表わす。第4の指標A4は、交差がないときに、交差があるときよりも小さな値に設定される。配線の交差は、近接ブロックモデルの仮想ピンを直線で接続した仮想的な配線を用いて判断される。
【0157】
図31(a)は、配線の交差がある例を表わす図である。図31(b)は、配線の交差がない例を表わす図である。
【0158】
近接ブロックモデルRB1によって表される近接ブロックは、親部品PR1と、子部品CH1とを含む。近接ブロックモデルRB2によって表される近接ブロックは、親部品PR2と、子部品CH2とを含む。
【0159】
図31(a)では、子部品CH1と子部品CH2との間の配線NXが、他の2つの近接ブロック間の配線NYと交差している。図31(b)では、子部品CH1と子部品CH2との間の配線NXが、他のいずれの2つの近接ブロックモデル間の配線とも交差していない。
【0160】
第5の指標A5は、2つの近接ブロックモデルを接続するために、2つの近接ブロックモデルの仮想ピン間を接続する水平方向のみの配線経路、垂直方向のみの配線経路、または1回の折れ曲がりを有する水平方向と垂直方向とからなる配線経路が存在するか否かに基づく得点を表わす。第5の指標A5は、配線経路が存在する場合に、配線経路が存在しない場合よりも小さな値に設定される。
【0161】
図32(a)は、配線経路が存在する例を表わす図である。図32(b)は、配線経路が存在しない例を表わす図である。
【0162】
図32(a)では、近接ブロックモデルRB1の仮想ピンVP1と、近接ブロックモデルRB2の仮想ピンVP2とを結ぶ1回の折れ曲がりを有する水平方向および垂直方向からなる配線経路PT1が存在する。配線経路PT2は、近接ブロックモデルRB3が存在するため、2つの近接ブロックRB1とRB2とを接続することができないと判断される。
【0163】
図32(b)では、配線経路PT2は、近接ブロックモデルRB3が存在するため、2つの近接ブロックモデルRB1とRB2とを接続することができないと判断される。配線経路PT1も、近接ブロックモデルRB4が存在するため、2つの近接ブロックモデルRB1とRB2とを接続することができないと判断される。
【0164】
NSは、2つの近接ブロックモデル間の総ネット点数である。WS1~WS5は重みである。WS1~WS5の値を設計者が調整することによって、重視する要素を変えることができる。望ましい配置パターンほど、各指標A1~A5は小さくなる。
【0165】
なお、全体配置設計部15は、指標A1~A5のうちの少なくとも1つに基づいて、得点Siを算出するものとしてもよい。
【0166】
全体配置設計部15は、1つの回路図グループの中に接続される2つの近接ブロックモデルのセットがN個ある場合には、N個の得点S1~SNの総和SS(=ΣSi)を配置パターンの得点とする。総和SSは、望ましい配置パターンほど、小さな値になる。
【0167】
再び、図23を参照して、S604において、全体配置設計部15は、各クラスタの中で総和SSが最良(すなわち、総和SSが最小)の配置パターンを代表配置パターンとして選択する。クラスタの数だけ代表配置パターンが選択される。
【0168】
図33は、代表配置パターンの例を表わす図である。
クラスタAから総和SSが最小の配置パターンBが代表配置パターンとして選択されている。クラスタBから総和SSが最小の配置パターンEが代表配置パターンとして選択されている。クラスタCから総和SSが最小の配置パターンDが代表配置パターンとして選択されている。
【0169】
再び、図23を参照して、S605において、全体配置設計部15は、採点結果に従って、すべてのクラスタの代表配置パターンをソートする。
【0170】
S606において、全体配置設計部15は、クラスタの数だけの代表配置パターンのうち、総和SSが良い(すなわち、総和SSが所定の閾値STH以下)1個以上の代表配置パターンのみを選択して残す。
【0171】
S607において、全体配置設計部15は、残存する1個以上の代表配置パターンの各々における複数の近接ブロックモデルの配置位置に重なりがある場合には、重なっている複数の近接ブロックモデルのうち、少なくとも1つの近接ブロックモデルを移動させることによって、重なりを取り除く。このような重なりが生じるのは、回路図グループの領域に、1個以上の近接ブロックモデルを配置する場合に、すべての近接ブロックモデルが回路図グループの領域に完全に収まるような制限を設けていないためである。
【0172】
図34は、図23のフローチャートの処理手順の終了後に生成される配置パターンの例を表わす図である。各回路図グループに含まれる複数の近接ブロックモデルについての望ましい複数の配置パターンが生成されている。
【0173】
再び、図13を参照して、S506において、全体配置設計部15は、高優先回路図グループの基板上の望ましい複数の領域パターンを生成する。
【0174】
図35は、図13のS506の詳細な処理手順を表わすフローチャートである。
S701において、全体配置設計部15は、基板上における1個以上の高優先回路図グループモデルの領域パターンを複数個作成する。高優先回路図グループモデルは、その高優先回路図グループのすべての部品の面積の総和以上、かつその高優先回路図グループに含まれるすべての部品の面積の総和の2倍以下の面積を有する矩形領域とする。基板上における位置指定部品を含む回路図グループモデル、および半位置指定部品を含む回路図グループモデルの領域を除いて、高優先回路図グループモデルの領域が取得される。全体配置設計部15は、高優先回路図グループモデルの位置および大きさについて、上記の条件を満たした上で任意に変化させた複数個の領域パターンを生成する。ただし、全体配置設計部15は、高優先回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標を含むように高優先回路図グループモデルの領域を取得する。
【0175】
図36および図37は、半位置指定部品を含む高優先回路図グループモデルの領域の取得例を表わす図である。位置指定部品を含む高優先回路図グループモデルの領域の取得も、これと同様である。
【0176】
基板PRB上において、半位置指定部品の指定座標PAを含むように高優先回路図グループモデルの領域HRが取得される。
【0177】
また、全体配置設計部15は、他の回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標が含まれないように高優先回路図グループモデルの領域を取得する。
【0178】
S702において、全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、近接ブロックモデルの配置パターンのクラスタリングと同様に、接続する2つの高優先回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。
【0179】
S703において、全体配置設計部15は、各クラスタの中の複数の領域パターンを採点する。
【0180】
2つの高優先回路図グループモデル間(第iセット)の採点は、以下のようにして実行される。
【0181】
Ti=(WT1*B1+WT2*B2)*NT…(C2)
第1の指標B1は、2つの高優先回路図グループモデルの仮想ピンVP間のマンハッタン距離である。第2の指標B2は、配線の交差を表わす。
【0182】
WT1およびWT2は重みである。WT1およびWT2の値を設計者が調整することによって、重視する要素を変えることができる。望ましい領域パターンほど、各指標B1、B2は小さくなる。
【0183】
NTは、2つの高優先回路図グループモデル間の総ネット点数である。
なお、全体配置設計部15は、指標B1、B2のうちの1つに基づいて、得点Tiを算出するものとしてもよい。
【0184】
全体配置設計部15は、2つの高優先回路図グループモデルのセットがM個ある場合には、M個のT1~TMの総和TT(=ΣTi)を領域パターンの得点とする。総和TTは、望ましい領域パターンほど、小さな値になる。
【0185】
S704において、全体配置設計部15は、各クラスタの中で総和TTが最良(すなわち、総和TTが最小)の領域パターンを代表領域パターンとして選択する。クラスタの数だけ代表領域パターンが選択される。
【0186】
S705において、全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。
【0187】
S706において、全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和TTが良い(すなわち、総和TTが所定の閾値TTH以下)1個以上の代表領域パターンのみを選択して残す。
【0188】
S707において、全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の高優先回路図グループモデルの領域に重なりがある場合には、重なっている複数の高優先回路図グループモデルのうち、少なくとも1つの高優先回路図グループモデルを移動させることによって、重なりを取り除く。
【0189】
図38は、図35のフローチャートの処理手順の終了後に生成される領域パターンの例を表わす図である。図38において、高優先回路図グループモデルGRP-Gの領域およびGRP―Hの領域の複数のパターンのうちの1つが示されている。
【0190】
再び、図13を参照して、S507において、全体配置設計部15は、複数個の高優先回路図グループモデルの領域のパターンの各々において、各高優先回路図グループモデルに含まれる複数個の近接ブロックモデルの配置パターンの各々で近接ブロックモデルを配置することによって得られる複数個の全体配置パターンから望ましい全体配置パターンを選択する。
【0191】
図39は、図13のS507の詳細な手順を表わすフローチャートである。
S801において、全体配置設計部15は、複数個の高優先回路図グループモデルの領域パターンの各々において、各高優先回路図グループモデルに含まれる複数個の近接ブロックモデルの配置パターンの各々で近接ブロックモデルを配置することによって、複数個の全体配置パターンを生成する。高優先回路図グループモデルの領域の中心に、高優先回路図グループモデルに含まれる1個以上の近接ブロックモデルからなる近接ブロックモデル群の中心が一致するように配置される。前述のように、高優先回路図グループモデルは、その高優先回路図グループのすべての部品の面積の総和以上、かつその高優先回路図グループに含まれるすべての部品の面積の総和の2倍以下の面積を有する矩形領域であるので、高優先回路図グループモデルの領域内に、その高優先回路図グループに含まれるすべての近接ブロックモデルが収まらない場合もある。
【0192】
図40は、全体配置パターンの生成の例を説明するための図である。ある領域パターンにおける高優先回路図グループモデルGの領域に高優先回路図グループモデルGの配置パターンG1、G2、G3・・・で高優先回路図グループモデルG内の近接ブロックモデルRB3、RB4を配置し、高優先回路図グループモデルHの領域に高優先回路図グループモデルHの配置パターンH1、H2、H3・・・で高優先回路図グループモデルH内の近接ブロックモデルRB5、RB6を配置する。たとえば、高優先回路図グループモデルGの領域の中心に、近接ブロックモデルRB3と近接ブロックモデルRB4からなる近接ブロックモデル群の中心が一致するように配置される。
【0193】
たとえば、高優先回路図グループモデルの領域パターンが10個、高優先回路図グループモデルがGとHの2個、高優先回路図グループモデルGの近接ブロックモデルの配置パターンが5個、高優先回路図グループモデルHの近接ブロックモデルの配置パターンが7個とする。全体配置設計部15は、第i番目(i=1~10)の高優先回路図グループモデルの領域パターンにおける高優先回路図グループモデルGの領域に、5種類の配置パターンで近接ブロックモデルを配置し、高優先回路図グループモデルHの領域に、7種類の配置パターンで近接ブロックモデルを配置する。その結果、10×5×7=350通りの全体配置パターンが生成される。
【0194】
S802において、全体配置設計部15は、生成された複数個の全体配置パターンのクラスタリングを実行する。全体配置設計部15は、前述の1つの回路図グループモデル内の近接ブロックモデルの配置パターンのクラスタリングと同様に、すべての高優先回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデルの配置位置間を結ぶ線分の方向に基づいて、複数個の全体配置パターンが同一のクラスタに含まれるか否かを判断する。
【0195】
S803において、全体配置設計部15は、各クラスタの中の複数の全体配置パターンを採点する。全体配置設計部15は、すべての高優先回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデル間(第iセット)の採点を前述の1つの回路図グループモデル内の接続する2つの近接ブロックモデル間の採点と同様に実行する。全体配置設計部15は、2つの近接ブロックモデルのセットが複数個ある場合には、各セットの得点の総和を全体配置パターンの総和とする。望ましい全体配置パターンほど、総和は小さな値になる。
【0196】
S804において、全体配置設計部15は、各クラスタの中で得点が最良(すなわち、総和が最小)の全体配置パターンを代表全体配置パターンとして選択する。クラスタの数だけ全体配置パターンが選択される。
【0197】
S805において、全体配置設計部15は、採点結果に従って、すべてのクラスタの代表全体配置パターンをソートする。
【0198】
S806において、全体配置設計部15は、クラスタの数だけの代表全体配置パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表全体配置パターンのみを選択して残す。
【0199】
S807において、全体配置設計部15は、残存する1個以上の代表全体配置パターンにおける複数の近接ブロックモデルの配置位置に重なりがある場合には、重なっている複数の近接ブロックモデルのうち、少なくとも1つの近接ブロックモデルを移動させることによって、重なりを取り除く。
【0200】
再び、図13を参照して、S508において、全体配置設計部15は、S507において生成された複数の領域パターンの各々において、1個以上の高優先回路図グループモデル内の2つの近接ブロックモデル間を接続する高優先配線の経路を生成する。高優先配線は、設計者が指定する。高優先配線は、基板の表層(基板の表面または裏面)で優先的に経路を確保したい配線である。
【0201】
高優先配線の経路は、2つの近接ブロックモデルの仮想ピンの間を接続する1個以上の水平方向の線分(a)、1個以上の垂直方向の線分(b)、または1個以上の水平方向の線分と1個以上の垂直方向の線分の組み合わせ(c)からなる。
【0202】
図41は、高優先配線の経路の例を表わす図である。近接ブロックモデルRB1の仮想ピンVP1と、近接ブロックモデルRB2の仮想ピンVP2とを接続する高優先配線の経路HWが示されている。高優先配線の経路HWは、水平方向の線分L1、垂直方向の線分L2、および水平方向の線分L3とからなる。
【0203】
全体配置設計部15は、高優先配線の経路を含む高優先配線の領域を生成する。高優先配線の領域は、高優先配線の経路を中心とした幅を有する領域である。高優先配線の領域の幅は、高優先配線の幅、高優先配線の数、および高優先配線間のクリアランスを考慮した幅である。
【0204】
図42は、高優先配線の領域の例を表わす図である。高優先配線の経路HWを含む幅WDを有する高優先配線の領域HWRが生成されている。後の工程において、生成された高優先配線の領域を可能な限り除いた領域に、回路図グループモデルの領域が取得される。
【0205】
図43は、高優先配線の領域の生成後における配置パターンの例を表わす図である。
高優先回路図グループモデルCG1、CG2、およびCG3は、位置指定部品BCXの配置領域を除く領域に配置されている。
【0206】
高優先回路図グループモデルCG1に近接ブロックモデルRB1、RB2が含まれる。RB1は、位置指定部品を含む。高優先回路図グループモデルCG2に近接ブロックモデルRB3、RB4が含まれる。高優先回路図グループモデルCG3に近接ブロックモデルRB5が含まれる。RB5は、位置指定部品を含む。近接ブロックモデルRB1と近接ブロックモデルRB2とを接続する高優先配線の領域HWR1が生成されている。近接ブロックモデルRB2と近接ブロックモデルRB3とを接続する高優先配線の領域HWR2が生成されている。近接ブロックモデルRB3と近接ブロックモデルRB5とを接続する高優先配線の領域HWR3が生成されている。
【0207】
再び、図13を参照して、S509において、全体配置設計部15は、図35のフローチャートの手順と同様にして、高優先電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0208】
全体配置設計部15は、S508までに生成された高優先回路図グループモデルの領域および高優先配線の領域を定める複数の領域パターンの各々においてさらに、高優先電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。ただし、全体配置設計部15は、他の回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標の含まれないように高優先電源回路図グループモデルの領域を取得する。高優先回路図グループモデルの領域パターンがN1個ある場合に、この各領域パターンにおいて、さらに高優先電源回路図グループモデルの領域パターンをN2個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、および高優先電源回路図グループモデルの領域を定めた(N1×N2)個の領域パターンが生成される。
【0209】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、または高優先電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0210】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0211】
S510において、全体配置設計部15は、S507と同様にして、複数個の領域パターンの各々において、各高優先電源回路図グループモデルに含まれる複数個の近接ブロックモデルの配置パターンの各々で高優先電源回路図グループモデルの領域に近接ブロックモデルを配置することによって、複数個の全体配置パターンを生成する。全体配置設計部15は、各領域パターンの高優先回路図グループモデルの領域には、S807までの処理で絞り込まれた複数個の配置パターンで近接ブロックモデルを配置する。
【0212】
全体配置設計部15は、生成された複数個の全体配置パターンのクラスタリングを実行する。全体配置設計部15は、すべての高優先回路図グループモデルおよび高優先電源回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデルの配置位置間を結ぶ線分の方向に基づいて、複数個の全体配置パターンが同一のクラスタに含まれるか否かを判断する。全体配置設計部15は、各クラスタの中の複数の全体配置パターンを採点する。全体配置設計部15は、すべての高優先回路図グループモデルおよび高優先電源回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデル間(第iセット)の採点を前述の1つの回路図グループモデル内の接続する2つの近接ブロックモデル間の採点と同様に実行する。ただし、全体配置設計部15は、接続する2つの近接ブロックモデルが、高優先電源回路図グループに含まれる場合には、電源ツリーを参照して、一方の近接ブロックモデルが電源電圧を供給し、他方の近接ブロックモデルがその電源電圧を受けるときのみ、採点を実行する。全体配置設計部15は、2つの近接ブロックモデルのセットが複数個ある場合には、各セットの得点の総和を全体配置パターンの総和とする。全体配置設計部15は、各クラスタの中で得点が最良(すなわち、総和が最小)の全体配置パターンを代表全体配置パターンとして選択する。クラスタの数だけ全体配置パターンが選択される。
【0213】
全体配置設計部15は、採点結果に従って、すべてのクラスタの代表全体配置パターンをソートする。全体配置設計部15は、クラスタの数だけの代表全体配置パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表全体配置パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表全体配置パターンにおける複数の近接ブロックモデルの配置位置に重なりがある場合には、重なっている複数の近接ブロックモデルのうち、少なくとも1つの近接ブロックモデルを移動させることによって、重なりを取り除く。
【0214】
図44は、S510の処理手順の終了後に生成される配置パターンの一例を表わす図である。高優先電源回路図グループモデルCG4、CG5が、位置指定部品BCXの配置領域、高優先回路図グループモデルCG1、CG2、CG3、高優先配線の領域HWR1、HWR2、HWR3を除く領域に配置されている。
【0215】
図45は、S510の処理手順の終了後に生成される配置パターンの別の例を表わす図である。高優先配線の領域HWR3と重なる位置に高優先電源回路図グループモデルCG4が配置されている。しかし、高優先配線を迂回させることが可能な領域RAが確保されているので、図44の例よりもよくはないが、配置パターンの1つとなりえる。
【0216】
再び、図13を参照して、S511において、全体配置設計部15は、図35のフローチャートの手順と同様にして、低優先回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0217】
全体配置設計部15は、S509までに生成された高優先回路図グループモデルの領域、高優先配線の領域、および高優先電源回路図グループモデルの領域を定める複数の領域パターンの各々においてさらに、低優先回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。ただし、全体配置設計部15は、他の回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標の含まれないように低優先回路図グループモデルの領域を取得する。(N1×N2)個の高優先回路図グループモデルの領域、高優先配線の領域、および高優先電源回路図グループモデルの領域を定めた領域パターンがある場合に、この各領域パターンにおいて、さらに低優先回路図グループモデルの領域パターンをN3個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、高優先電源回路図グループモデルの領域、および低優先回路図グループモデルの領域を定めた(N1×N2×N3)個の領域パターンが生成される。
【0218】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、高優先電源回路図グループモデル、または低優先回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0219】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0220】
S512において、全体配置設計部15は、S507と同様にして、複数個の領域パターンの各々において、各低優先回路図グループモデルに含まれる複数個の近接ブロックモデルの配置パターンの各々で近接ブロックモデルを配置することによって、複数個の全体配置パターンを生成する。全体配置設計部15は、各領域パターンの高優先回路図グループモデルの領域には、絞り込まれた複数個の配置パターンで近接ブロックモデルを配置し、各領域パターンの高優先電源回路図グループモデルの領域には、絞り込まれた複数個の配置パターンで近接ブロックモデルを配置する。
【0221】
全体配置設計部15は、生成された複数個の全体配置パターンのクラスタリングを実行する。全体配置設計部15は、すべての高優先回路図グループモデル、高優先電源回路図グループモデル、および低優先回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデルの配置位置間を結ぶ線分の方向に基づいて、複数個の全体配置パターンが同一のクラスタに含まれるか否かを判断する。全体配置設計部15は、各クラスタの中の複数の全体配置パターンを採点する。全体配置設計部15は、すべての高優先回路図グループモデル、高優先電源回路図グループモデル、および低優先回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデル間(第iセット)の採点を前述の1つの回路図グループモデル内の接続する2つの近接ブロックモデル間の採点と同様に実行する。ただし、全体配置設計部15は、接続する2つの近接ブロックモデルが、高優先電源回路図グループに含まれる場合には、電源ツリーを参照して、一方の近接ブロックモデルが電源電圧を供給し、他方の近接ブロックモデルがその電源電圧を受けるときのみ、採点を実行する。全体配置設計部15は、2つの近接ブロックモデルのセットが複数個ある場合には、各セットの得点の総和を全体配置パターンの総和とする。全体配置設計部15は、各クラスタの中で得点が最良(すなわち、総和が最小)の全体配置パターンを代表全体配置パターンとして選択する。クラスタの数だけ全体配置パターンが選択される。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表全体配置パターンをソートする。全体配置設計部15は、クラスタの数だけの代表全体配置パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表全体配置パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表全体配置パターンにおける複数の近接ブロックモデルの配置位置に重なりがある場合には、重なっている複数の近接ブロックモデルのうち、少なくとも1つの近接ブロックモデルを移動させることによって、重なりを取り除く。
【0222】
図46は、S512の処理手順の終了後に生成される配置パターンの一例を表わす図である。低優先回路図グループモデルCG6、CG7、CG8、およびCG9が、高優先回路図グループモデルCG1、CG2、CG3、高優先配線の領域HWR1、HWR2、HWR3、および高優先電源回路図グループモデルCG4、CG5を除く領域に配置されている。
【0223】
再び、図13を参照して、S513において、全体配置設計部15は、図35のフローチャートの手順と同様にして、低優先電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0224】
全体配置設計部15は、S511までに生成された高優先回路図グループモデルの領域、高優先配線の領域、高優先電源回路図グループモデルの領域、および低優先回路図グループモデルを定める複数の領域パターンの各々においてさらに、低優先電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。(N1×N2×N3)個の高優先回路図グループモデルの領域、高優先配線の領域、高優先電源回路図グループモデルの領域、および低優先回路図グループモデルの領域を定めた領域パターンがある場合に、この各領域パターンにおいて、さらに低優先電源回路図グループモデルの領域パターンをN4個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、高優先電源回路図グループモデルの領域、低優先回路図グループモデルの領域、および低優先電源回路図グループモデルの領域を定めた(N1×N2×N3×N4)個の領域パターンが生成される。
【0225】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、高優先電源回路図グループモデル、低優先回路図グループモデル、または低優先電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0226】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0227】
S514において、全体配置設計部15は、S507と同様にして、複数個の領域パターンの各々において、各低優先電源回路図グループモデルに含まれる複数個の近接ブロックモデルの配置パターンの各々で近接ブロックモデルを配置することによって、複数個の全体配置パターンを生成する。全体配置設計部15は、各領域パターンの高優先回路図グループモデルの領域には、絞り込まれた複数個の配置パターンで近接ブロックモデルを配置し、各領域パターンの高優先電源回路図グループモデルの領域には、絞り込まれた複数個の配置パターンで近接ブロックモデルを配置し、各領域パターンの低優先回路図グループモデルの領域には、絞り込まれた複数個の配置パターンで近接ブロックモデルを配置する。
【0228】
全体配置設計部15は、生成された複数個の全体配置パターンのクラスタリングを実行する。全体配置設計部15は、すべての高優先回路図グループモデル、高優先電源回路図グループモデル、低優先回路図グループモデル、および低優先電源回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデルの配置位置間を結ぶ線分の方向に基づいて、複数個の全体配置パターンが同一のクラスタに含まれるか否かを判断する。全体配置設計部15は、各クラスタの中の複数の全体配置パターンを採点する。全体配置設計部15は、すべての高優先回路図グループモデル、高優先電源回路図グループモデル、低優先回路図グループモデル、および低優先電源回路図グループモデル内のすべての近接ブロックモデルのうち接続する2つの近接ブロックモデル間(第iセット)の採点を前述の1つの回路図グループモデル内の接続する2つの近接ブロックモデル間の採点と同様に実行する。ただし、全体配置設計部15は、接続する2つの近接ブロックモデルが、高優先電源回路図グループまたは低優先電源回路図グループに含まれる場合には、電源ツリーを参照して、一方の近接ブロックモデルが電源電圧を供給し、他方の近接ブロックモデルがその電源電圧を受けるときのみ、採点を実行する。全体配置設計部15は、2つの近接ブロックモデルのセットが複数個ある場合には、各セットの得点の総和を全体配置パターンの総和とする。全体配置設計部15は、各クラスタの中で得点が最良(すなわち、総和が最小)の全体配置パターンを代表全体配置パターンとして選択する。クラスタの数だけ全体配置パターンが選択される。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表全体配置パターンをソートする。全体配置設計部15は、クラスタの数だけの代表全体配置パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表全体配置パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表全体配置パターンにおける複数の近接ブロックモデルの配置位置に重なりがある場合には、重なっている複数の近接ブロックモデルのうち、少なくとも1つの近接ブロックモデルを移動させることによって、重なりを取り除く。
【0229】
S515において、全体配置設計部15は、1個または複数個のネットごとに高優先配線の経路を決定する。
【0230】
1個のネットに対する高優先配線の経路は、2つの近接ブロックモデルのネットが接続されるピンの座標の間を接続する1個以上の水平方向の線分(a)、1個以上の垂直方向の線分(b)、または1個以上の水平方向の線分と1個以上の垂直方向の線分の組み合わせ(c)からなる。
【0231】
2個以上のネットに対する高優先配線の経路は、2つの近接ブロックモデルのネットが接続される複数のピンの座標の重心の間を接続する1個以上の水平方向の線分(a)、1個以上の垂直方向の線分(b)、または1個以上の水平方向の線分と1個以上の垂直方向の線分の組み合わせ(c)からなる。たとえば、接続するピンが隣接する2つのネットに対して、1つの高優先配線の経路が生成される。あるいは、差動信号を伝送する2つのネットに対して1つの高優先配線の経路が生成される。
【0232】
図47は、高優先配線の配置の例を表わす図である。
近接ブロックモデルRB1のピンPA1と、近接ブロックモデルRB2のピンPB1とを接続するネットと、近接ブロックモデルRB1のピンPA2と、近接ブロックモデルRB2のピンPB2とを接続するネットとに対して高優先配線の経路HW1が生成される。
【0233】
近接ブロックモデルRB1のピンPA3と、近接ブロックモデルRB2のピンPB3とを接続するネットと、近接ブロックモデルRB1のピンPA4と、近接ブロックモデルRB2のピンPB4とを接続するネットとに対して高優先配線の経路HW2が生成される。
【0234】
近接ブロックモデルRB1のピンPA5と、近接ブロックモデルRB2のピンPB5とを接続するネットに対して高優先配線の経路HW3が生成される。
【0235】
全体配置設計部15は、高優先配線の経路を含む高優先配線の部品を生成する。高優先配線の部品は、高優先配線の経路を中心とした幅を有する部品である。高優先配線の部品の幅は、高優先配線の幅、高優先配線の数、および高優先配線間のクリアランスを考慮した幅である。
【0236】
図48は、高優先配線の部品の例を表わす図である。高優先配線HW1を含む幅WD1を有する高優先配線の部品HWR1が生成されている。高優先配線HW2を含む幅WD2を有する高優先配線の部品HWR2が生成されている。高優先配線HW3を含む幅WD3を有する高優先配線の部品HWR3が生成されている。
【0237】
全体配置設計部15は、複数の高優先配線部品同士の干渉チェックを行う。全体配置設計部15は、干渉している場合は、高優先配線部品の干渉している部分を平行に移動させる、あるいは、干渉している部分の配置面を切り替えることにより干渉を回避する。
【0238】
図49(a)および(b)は、位置調整の第1の例を説明するための図である。近接ブロックモデルRB1と近接ブロックモデルRB2とが、高優先配線部品HWR1と、高優先配線部品HWR2と、高優先配線部品HWR3とによって接続されている。図49(a)に示すように、高優先配線部品HWR1の垂直方向成分と、高優先配線部品HWR2の垂直方向成分とが干渉している。図49(b)に示すように、高優先配線部品HWR1の垂直方向成分と、高優先配線部品HWR2の垂直方向成分とをそれぞれ平行に移動させることによって、干渉が回避されている。
【0239】
図50(a)および(b)は、位置調整の第2の例を説明するための図である。近接ブロックモデルRB3と近接ブロックモデルRB4とが、高優先配線部品HWR3によって接続されている。近接ブロックモデルRB5と近接ブロックモデルRB6とが、高優先配線部品HWR4によって接続されている。図50(a)に示すように、高優先配線部品HWR3の垂直方向成分と、高優先配線部品HWR4の垂直方向成分とが干渉している。図50(b)に示すように、高優先配線部品HWR3の垂直方向成分と、高優先配線部品HWR4の垂直方向成分とをそれぞれ平行に移動させることによって、干渉が回避されている。
【0240】
図51(a)および(b)は、位置調整の第3の例を説明するための図である。近接ブロックモデルRB1と近接ブロックモデルRB2とが、高優先配線部品HWR1と、高優先配線部品HWR2と、高優先配線部品HWR3とによって接続されている。図51(a)に示すように、高優先配線部品HWR1の水平方向成分と、高優先配線部品HWR2の垂直方向成分とが干渉している。図51(b)に示すように、高優先配線部品HWR2の垂直方向成分を基板の裏面に配置するように変更することによって、干渉が回避されている。
【0241】
図52(a)および(b)は、位置調整の第4の例を説明するための図である。近接ブロックモデルRB3と近接ブロックモデルRB6とが、高優先配線部品HWR3によって接続されている。近接ブロックモデルRB5と近接ブロックモデルRB4とが、高優先配線部品HWR4によって接続されている。図52(a)に示すように、高優先配線部品HWR3の水平方向成分と、高優先配線部品HWR4の垂直方向成分とが干渉している。図52(b)に示すように、高優先配線部品HWR4の垂直方向成分を基板の裏面に配置するように変更することによって、干渉が回避されている。
【0242】
全体配置設計部15は、高優先配線部品と近接ブロックモデルとの干渉チェックを行う。全体配置設計部15は、干渉している場合は、近接ブロックモデルを移動させる、高優先配線部品の干渉している部分を移動させる、あるいは、干渉している部分の配置面を切り替えることにより干渉を回避する。
【0243】
図53(a)~(d)は、位置調整の第5の例を説明するための図である。近接ブロックモデルRB1と近接ブロックモデルRB2とが、高優先配線部品HWR1と、高優先配線部品HWR2と、高優先配線部品HWR3とによって接続されている。図53(a)に示すように、近接ブロックモデルRB3と、高優先配線部品HWR1の垂直方向成分とが干渉している。図53(b)に示すように、近接ブロックモデルRB3を移動することによって、干渉が回避されている。図53(c)に示すように、高優先配線部品HWR1の垂直方向成分および高優先配線部品HWR2の垂直方向成分を平行に移動することによって、干渉が回避されている。図53(d)に示すように、高優先配線部品HWR1の垂直方向成分を基板の裏面に配置するように変更することによって、干渉が回避されている。
【0244】
図54(a)および(b)は、S515の処理手順の終了後に生成される配置パターンの一例を表わす図である。低優先電源回路図グループモデルCG10の領域が新たに生成されている。低優先電源回路図グループモデルCG10に近接ブロックモデルRB15が配置されている。近接ブロックモデルRB1と、近接ブロックモデルRB2との間に高優先配線部品HWR1およびHWR2が配置されている。近接ブロックモデルRB2と、近接ブロックモデルRB3との間に高優先配線部品HWR3およびHWR4が配置されている。近接ブロックモデルRB3と、近接ブロックモデルRB5との間に高優先配線部品HWR5およびHWR6が配置されている。
【0245】
図54(a)に示すように、近接ブロックモデルRB13と、高優先配線部品HWR3の垂直成分とが干渉している。図54(b)に示すように、高優先配線部品HWR3の垂直成分と高優先配線部品HWR4の垂直成分とをそれぞれ平行に移動することによって、干渉が回避される。
【0246】
図55(a)および(b)は、S515の処理手順の終了後に生成される配置パターンの別の例を表わす図である。図55(a)に示すように、図54(a)の例に加えて、近接ブロックモデルRB14と、高優先配線部品HWR5およびHWR6が干渉している。
【0247】
図55(b)に示すように、高優先配線部品HWR5の水平成分および高優先配線部品HWR6の水平成分を基板の裏面に配置することによって、干渉が回避されている。
【0248】
S516において、全体配置設計部15は、配置済みの全ての回路図グループモデル及び近接ブロックモデルに対して、配置を再調整する。
【0249】
図56(a)~(d)は、配置の再調整の例を説明するための図である。
図56(a)において、高優先回路図グループモデルGR-Aと高優先回路図グループモデルGR-Bとが配置されている。その後、図56(b)に示すように、低優先回路図グループモデルGR-Cが配置される。図56(c)は、回路図グループモデルGR-A、GR-B、GR-Cの間の配線を表わす。回路図グループモデル間の向きが合っていないため、配線の長さが長くなり、得点が悪くなる。
【0250】
全体配置設計部15は、低優先回路図グループモデルGR-Cの配置候補に対して、回路図グループモデル間の採点による点数が良くなる(つまり、配線長が短くなる)ように、低優先回路図グループモデルGR-Cを移動する。さらに、全体配置設計部15は、近接ブロックモデル間の採点による点数が良くなるように、回路図グループモデルGR-A、GR-B、GR-C内の近接ブロックモデルの配置も再調整する。図56(d)に示すように、再調整後には、低優先回路図グループモデルGR-Cの配置が再調整され、高優先回路図グループモデルGR-A内の近接ブロックモデル(IC2を含む近接ブロックとIC3を含む近接ブロック)の配置が再調整されている。
【0251】
実施の形態2.
本実施の形態では、回路図グループ分類部9は、高優先電源回路図グループを高優先専用電源回路図グループと高優先共用電源回路図グループのうちのいずれかに分類する。高優先専用電源回路図グループは、高優先電源回路図グループに分類される回路図グループのうち、1個の高優先回路図グループにのみ電源電圧を供給する回路図グループである。高優先共用電源回路図グループは、高優先電源回路図グループに分類される回路図グループのうち、複数個の高優先回路図グループにのみ電源電圧を供給する回路図グループである。
【0252】
回路図グループ分類部9は、低優先電源回路図グループを低優先専用電源回路図グループと低優先共用電源回路図グループのうちのいずれかに分類する。低優先専用電源回路図グループは、低優先電源回路図グループに分類される回路図グループのうち、1個の低優先回路図グループにのみ電源電圧を供給する回路図グループである。低優先共用電源回路図グループは、低優先電源回路図グループに分類される回路図グループのうち、複数個の低優先回路図グループにのみ電源電圧を供給する、または1個以上の低優先回路図グループおよび1個以上の高優先回路図グループの両方に電源電圧を供給する回路図グループである。
【0253】
図57は、実施の形態2における図2のS9の詳細な処理手順を表わすフローチャートである。図57のフローチャートが図13のフローチャートと相違する点は、S509の代わりに、S509AおよびS509Bを備え、S513の代わりに、S513AおよびS513Bを備える点である。
【0254】
S509Aにおいて、全体配置設計部15は、図35のフローチャートの手順と同様にして、高優先専用電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0255】
全体配置設計部15は、S508までに生成された高優先回路図グループモデルの領域および高優先配線の領域を定める複数の領域パターンの各々においてさらに、高優先専用電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。全体配置設計部15は、高優先専用電源回路図グループモデルの領域を、領域を生成済みの回路図グループモデルの中で高優先専用電源回路図グループモデルから電源電圧の供給を受ける高優先回路図グループモデルに最も近くなる位置に生成する。ただし、全体配置設計部15は、他の回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標が含まれないように高優先専用電源回路図グループモデルの領域を取得する。高優先回路図グループモデルの領域パターンがN1個ある場合に、この各領域パターンにおいて、さらに高優先専用電源回路図グループモデルの領域パターンをM1個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、および高優先専用電源回路図グループモデルの領域を定めた(N1×M1)個の領域パターンが生成される。
【0256】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、または高優先専用電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0257】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0258】
S509Bにおいて、全体配置設計部15は、図35のフローチャートの手順と同様にして、高優先共用電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0259】
全体配置設計部15は、S509Aまでに生成された高優先回路図グループモデルの領域、高優先配線の領域、および高優先専用電源回路図グループモデルの領域を定める複数の領域パターンの各々においてさらに、高優先共用電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。ただし、全体配置設計部15は、他の回路図グループモデルに位置指定部品または半位置指定部品を含む場合には、指定された座標が含まれないように高優先共用電源回路図グループモデルの領域を取得する。高優先回路図グループモデルの領域パターンがN1個あり、高優先専用電源回路図グループモデルの領域パターンがM1個ある場合に、この各領域パターンにおいて、さらに高優先共用電源回路図グループモデルの領域パターンをM2個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデル、および高優先共用電源回路図グループモデルの領域を定めた(N1×M1×M2)個の領域パターンが生成される。
【0260】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、高優先専用電源回路図グループモデル、または高優先共用電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0261】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0262】
S513Aにおいて、全体配置設計部15は、図35のフローチャートの手順と同様にして、低優先専用電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0263】
全体配置設計部15は、S512までに生成された高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、および低優先回路図グループモデルの領域を定める複数の領域パターンの各々においてさらに、低優先専用電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。全体配置設計部15は、低優先専用電源回路図グループモデルの領域を、領域を生成済みの回路図グループモデルの中で低優先専用電源回路図グループモデルから電源電圧の供給を受ける低優先回路図グループモデルに最も近くなる位置に生成する。(N1×M1×M2×N3)個の高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、および低優先回路図グループモデルの領域を定めた領域パターンがある場合に、この各領域パターンにおいて、さらに低優先専用電源回路図グループモデルの領域パターンをM3個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、低優先回路図グループモデルの領域、および低優先専用電源回路図グループモデルの領域を定めた(N1×M1×M2×N3×M3)個の領域パターンが生成される。
【0264】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、高優先専用電源回路図グループモデル、高優先共用電源回路図グループモデル、低優先回路図グループモデル、または低優先専用電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0265】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0266】
S513Bにおいて、全体配置設計部15は、図35のフローチャートの手順と同様にして、低優先共用電源回路図グループモデルの領域を含む複数個の領域パターンを生成する。
【0267】
全体配置設計部15は、S513Aまでに生成された高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、低優先回路図グループモデルの領域、および低優先専用電源回路図グループモデルの領域を定める複数の領域パターンの各々においてさらに、低優先共用電源回路図グループモデルの望ましい領域を定める複数の領域パターンを生成する。(N1×M1×M2×N3×M3)個の高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、低優先回路図グループモデルの領域、および低優先専用電源回路図グループモデルの領域を定めた領域パターンがある場合に、この各領域パターンにおいて、さらに低優先共用電源回路図グループモデルの領域パターンをM4個生成したときに、高優先回路図グループモデルの領域、高優先配線の領域、高優先専用電源回路図グループモデルの領域、高優先共用電源回路図グループモデルの領域、低優先回路図グループモデルの領域、低優先専用電源回路図グループモデルの領域、および低優先共用電源回路図グループモデルの領域を定めた(N1×M1×M2×N3×M3×M4)個の領域パターンが生成される。
【0268】
全体配置設計部15は、生成した複数の領域パターンのクラスタリングを実行する。全体配置設計部15は、接続する2つの回路図グループモデルの中心を結ぶ線分の方向に基づいて、複数個の領域パターンが同一のクラスタに含まれるか否かを判断する。接続する2つの回路図グループモデルの各々は、高優先回路図グループモデル、高優先専用電源回路図グループモデル、高優先共用電源回路図グループモデル、低優先回路図グループモデル、低優先専用電源回路図グループモデル、または低優先共用電源回路図グループモデルである。採点方法は、2つの高優先回路図グループモデル間の採点と同様である。
【0269】
全体配置設計部15は、接続する2つの回路図グループモデルのセットが複数個ある場合には、複数個の得点の総和をその領域パターンの得点とする。全体配置設計部15は、各クラスタの中で総和が最良(すなわち、総和が最小)の領域パターンを代表領域パターンとして選択する。全体配置設計部15は、採点結果に従って、すべてのクラスタの代表領域パターンをソートする。全体配置設計部15は、クラスタの数だけの代表領域パターンのうち、総和が良い(すなわち、総和が所定の閾値以下)1個以上の代表領域パターンのみを選択して残す。全体配置設計部15は、残存する1個以上の代表領域パターンにおける複数の回路図グループモデルの領域に重なりがある場合には、重なっている回路図グループモデルのうち、少なくとも1つの回路図グループモデルを移動させることによって、重なりを取り除く。
【0270】
実施の形態3.
図58は、実施の形態3のプリント基板設計装置1の構成を表わす図である。
【0271】
実施の形態3のプリント基板設計装置1が実施の形態1のプリント基板設計装置1と相違する点は、グループ化処理部8A、部品分類部10A、および近接ブロック内部品配置設計部12Aである。
【0272】
グループ化処理部8Aは、回路図に基づいて、回路図グループに含まれる部品を検出し、回路図に基づいて、2つの部品の間の接続を検出して接続情報を生成する。
【0273】
部品分類部10Aは、検出された部品および接続情報に基づいて、部品を親部品と、親部品に直接または間接的に接続される子部品と、その他の部品とに分類する。
【0274】
近接ブロック内部品配置設計部12Aは、接続情報に基づいて、親部品と子部品とをペアリングする。
【0275】
グループ化処理部8Aは、分割部81と、部品検出部82と、接続検出部83とを備える。
【0276】
分割部81は、回路図を任意の処理単位に分割する。分割部81は、回路図が複数ページに渡る場合には、回路図を1ページ毎に分割する。分割部81は、回路図が1枚の大きな回路図の場合には、意味のある単位毎に分割する。意味のある単位は、設計者によって設定することができる。回路図において意味のある単位を規定するルールを定めることによって、分割部81が、回路図を意味のある単位に自動で分割することもできる。
【0277】
部品検出部82は、既知の文字認識アルゴリズムを用いることによって、回路図の画像に含まれる文字列、および回路図上の文字列の位置を検出する。部品検出部82は、回路図がPDFファイルの場合は、ファイル内に埋め込まれたテキストデータおよびその位置を検出する。部品検出部82は、CADデータ等から得られる部品名のリスト等を用いて、検出された文字列が部品名を表わす場合には、その文字列を部品名として特定し、その文字列を部品名の位置として特定する。部品検出部82は、検出された文字列が数字だけの場合に、その文字列を部品のピン番号として特定し、その文字列の位置を部品のピン番号の位置として特定する。
【0278】
図59は、部品名の検出結果の例を表わす図である。
IC52、R95、R98、R72、R74、R46、C24、C25の部品名が検出されている。
【0279】
部品検出部82は、CNN(Convolutional Neural Network)、またはYOLO(You-Only-Look-Once)などの画像認識アルゴリズムを用いて、回路図の画像に含まれる部品の回路図記号の種類、および回路図上の回路図記号の位置を検出する。
【0280】
「ICおよびコネクタ等」と「抵抗およびコンデンサ等」では回路図上で描かれる大きさが極端に異なることがあるため、部品検出部82は、回路図の画像と、回路図の画像を拡大して指定の領域に分割した画像とを用いることによって、検出精度を高めることとしてもよい。部品検出部82は、回路図の画像と、回路図の画像の左右を反転した画像と、上下に反転した画像とを用いて、それらの検出結果の総和または多数決(アンサンブル)によって、検出精度をさらに高めることとしてもよい。
【0281】
図60は、部品の回路図記号の検出結果の例を表わす図である。
5個の抵抗Rの回路図記号、1個のICの回路図記号、および2個のコンデンサの回路図記号が検出されている。図中の数字は、確度を表わす。
【0282】
部品検出部82は、部品名の中心の位置と、部品の回路図記号の中心の位置とに基づいて、部品名と部品の回路図記号との対応付けを行なう。具体的には、部品検出部82は、部品の回路図記号に対して、その部品の回路図記号の中心の位置に最も近い中心位置を有する部品名を対応付ける。
【0283】
以上の処理によって、回路図における部品の種類、その部品の部品名、およびその部品の位置を特定することができる。
【0284】
接続検出部83は、回路図上における複数の直線を検出する。接続検出部83は、検出された1個以上の直線によって接続される2つの部品(第1の部品および第2の部品)を特定する。接続検出部83は、特定された2つの部品がネットリストにおいても接続されているか否かを確かめる。このようにネットリストを参照するのは、回路図上において2つの線が交差している場合に、2つの配線が接続されている場合と、2つの配線が接続されていない場合とがあることを考慮したものである。接続検出部83は、特定された2つの部品がネットリストにおいても接続されている場合に、この2つの部品(第1の部品および第2の部品)が接続されていることを表わす接続情報を作成する。
【0285】
接続検出部83は、検出された1個以上の直線によって、第1の部品と、第2の部品とが接続されている場合に、第1の部品と、第2の部品とが接続されていることを表わす接続情報を作成する。接続検出部83は、検出された1個以上の直線によって、第1の部品のXピンと、第2の部品とが接続されている場合に、第1の部品のXピンと、第2の部品とが接続されていることを表わす接続情報を作成する。
【0286】
図61(a)は、回路図を表わす図である。
図61(b)は、図61(a)の回路図における直線の検出結果を表わす図である。
【0287】
部品分類部10Aは、部品検出部82によって得られた部品の種類に基づいて、検出された部品を、親部品と、親部品に直接または間接的に接続される子部品と、その他の部品とのうちのいずれかに分類する。
【0288】
近接ブロック内部品配置設計部12Aは、接続情報に基づいて、親部品のピンと、親部品のピンと接続する子部品とをペアリング、または子部品のピンと、子部品のピンと接続する別の子部品とをペアリングする。
【0289】
近接ブロック内部品配置設計部12Aは、親部品のピンと複数個の子部品とがペアリングされた場合には、回路図における検出した親部品のピンの位置と、複数個の子部品の位置とに基づいて、複数個の子部品の位置を決定する。近接ブロック内部品配置設計部12Aは、回路図において親部品のピンに近い子部品ほど、親部品のピンの近くに配置する。
【0290】
図62は、ペアリングおよび子部品の配置の例を説明するための図である。
親部品IC1のピンP4と、子部品C3と、子部品C4とが接続されている。親部品IC1のピンP4と、子部品C3およびC4とがペアリングされる。回路図から子部品C4は、子部品C3よりも親部品IC1のピンP4に近いと検出されているので、子部品C4は、子部品C3よりも親部品IC1のピンP4の近くに配置される。
【0291】
親部品IC1のピンP2と、子部品XのピンP7と、子部品C1とが接続されている。親部品IC1のピンP3と、子部品XのピンP6と、子部品C2とが接続されている。子部品XのピンP8と、子部品C1と、子部品C2とが接続されている。子部品XのピンP5と、子部品C1と、子部品C2とが接続されている。
【0292】
親部品IC1のピンP2と子部品Xとがペアリングされ、親部品IC1のピンP3と子部品Xとがペアリングされる。回路図から、子部品Xと親部品IC1のピンP2との距離と、子部品Xと親部品IC1のピンP3との距離がほぼ同じなので、子部品Xは、親部品IC1のピンP2およびP3の近くに配置される。
【0293】
子部品XのピンP7と子部品C1とがペアリングされ、子部品XのピンP8と子部品C1とがペアリングされる。回路図から、子部品C1と子部品XのピンP7との距離と、子部品C1と子部品XのピンP8との距離がほぼ同じなので、子部品C1は、子部品XのピンP7およびP8の近くに配置される。
【0294】
子部品XのピンP5と子部品C2とがペアリングされ、子部品XのピンP6と子部品C2とがペアリングされる。回路図から、子部品C2と子部品XのピンP5との距離と、子部品C2と子部品XのピンP6との距離がほぼ同じなので、子部品C2は、子部品XのピンP5およびP6の近くに配置される。
【0295】
近接ブロック内部品配置設計部12Aは、親部品の複数のピンと子部品とがペアリングされた場合には、回路図における検出した親部品の複数のピンの位置と、子部品の位置とに基づいて、子部品の位置を決定する。近接ブロック内部品配置設計部12Aは、回路図において、親部品の複数のピンのうち子部品に近いピンの近くに子部品を配置する。
【0296】
図63は、ペアリングおよび子部品の配置の別の例を説明するための図である。
親部品IC1のピンP1と、子部品C1とがペアリングされ、親部品IC1のピンP2と、子部品C1とがペアリングされる。回路図から、子部品C1は、親部品IC1のピンP1よりも親部品IC1のピンP2に近いと検出されているので、子部品C1は、親部品IC1のピンP2に近い位置に配置される。
【0297】
図64は、回路図を表わす図である。図65は、図64の回路図に基づく配置例を表わす図である。
【0298】
C79は、接続されるIC15の第12ピンの近くに配置され、C80は、接続されるIC15の第13ピンの近くに配置され、C81は、接続されるIC15の第16ピンの近くに配置され、C82は、接続されるIC15の第17ピンの近くに配置される。
【0299】
C90は、接続されるIC15の第35ピンの近くに配置され、C91は、接続されるIC15の第34ピンの近くに配置され、C92は、接続されるIC15の第29ピンの近くに配置され、C93は、接続されるIC15の第28ピンの近くに配置される。
【0300】
X4は、接続されるIC15の第6ピンおよび第7ピンの近くに配置される。C18は、接続されるX4の第1ピンの近くに配置され、C19は、接続されるX4の第3ピンの近くに配置される。
【0301】
C83、C84、C85は、接続されるIC15の第5ピン、第10ピン、第32ピンのいずれかの近くに配置される。
【0302】
R33が、接続されるIC15の第36ピンの近く(基板の裏面)に配置され、R34が、接続されるIC15の第26ピンの近く(基板の裏面)に配置され、R35が、接続されるIC15の第25ピンの近く(基板の裏面)に配置され、R36が、接続されるIC15の第24ピンの近く(基板の裏面)に配置され、R37が、接続されるIC15の第21ピンの近く(基板の裏面)に配置される。
【0303】
C78が、接続されるC84の近くに配置される。FL6が、接続されるC78の近くに配置される。
【0304】
図66は、プリント基板設計装置1のハードウエア構成を表わす図である。プリント基板設計装置1は、公知のパーソナルコンピュータなどで実現することができる。プリント基板設計装置1は、プロセッサ100と、液晶ディスプレイなどの表示装置200と、キーボードおよびマウスなどの入力装置300と、メモリなどの内部記憶装置400と、ハードディスクまたは可搬性の記録媒体などの外部記憶装置500と、通信装置600とを備える。
【0305】
入力装置300は、設計者からの入力を受け付ける。通信装置600は、外部からインターネットなどを通じて、プリント基板設計プログラム、およびデータを受信することができる。外部記憶装置500は、プリント基板設計プログラム、およびデータを記憶することができる。内部記憶装置400は、通信装置600または外部記憶装置500から転送されるプリント基板設計プログラム、およびデータを記憶する。プロセッサ100は、回路図、近接ブロック、ネットリストなどを表示装置200に表示する。プロセッサ100は、内部記憶装置400に記憶されたプリント基板設計プログラムを実行する。これによって、図2のフローチャートに従って、処理が実行される。
【0306】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0307】
1 プリント基板設計装置、2 データ入力部、3 CAD部、4 ユーザI/F、5 変換部、6 ネット属性設定部、7 ネット点数設定部、8,8A グループ化処理部、9 回路図グループ分類部、10,10A 部品分類部、11 近接ブロック生成部、12,12A 近接ブロック内部品配置設計部、13 電源ツリー設定部、14 位置指定部、15 全体配置設計部、21 配置設計部、51 前処理部、81 分割部、82 部品検出部、83 接続検出部、100 プロセッサ、200 表示装置、300 入力装置、400 内部記憶装置、500 外部記憶装置、600 通信装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42
図43
図44
図45
図46
図47
図48
図49
図50
図51
図52
図53
図54
図55
図56
図57
図58
図59
図60
図61
図62
図63
図64
図65
図66