【課題】少ない作業負担で、回路面積が小さく、かつ電子回路としての性能または特性が十分に発揮することができるように部品を配置することができるプリント基板設計装置およびプリント基板設計プログラムを提供する。
【解決手段】分類部8は、各回路図グループ内の部品を親部品と、親部品に直接接続される子部品のうちの高優先度部品と、子部品のうちの低優先度部品と、その他の部品とに分類する。子部品配置設計部10は、高優先度部品を低優先度部品よりも優先的に親部品に近接した位置に配置する。近接ブロック生成部11は、親部品および子部品を含む近接ブロックを生成する。全体配置設計部12は、プリント基板内における複数の近接ブロックの配置を決定する。全体配置設計部12は、近接ブロック内において、親部品および高優先度部品の配置を変化させず、低優先度部品の配置を他の近接ブロックの部品との重なりを解消するために移動させる。
回路図を複数個に分割することによって生成された各回路図グループ内の部品を親部品と、前記親部品に直接接続される子部品のうちの高優先度部品と、前記子部品のうちの低優先度部品と、その他の部品とに分類する分類部と、
前記高優先度部品を前記低優先度部品よりも優先的に前記親部品に近接した位置に配置する子部品配置設計部と、
前記親部品および前記子部品を含む近接ブロックを生成する近接ブロック生成部と、
プリント基板内における複数の前記近接ブロックの配置を決定し、さらに前記その他の部品の配置を決定する全体配置設計部とを備え、
前記全体配置設計部は、前記近接ブロック内において、前記親部品および前記高優先度部品の配置を変化させず、前記低優先度部品の配置を他の近接ブロックの部品との重なりを解消するために移動させる、プリント基板設計装置。
前記近接ブロック生成部は、前記親部品、前記高優先度部品、前記親部品と接続用の後の工程において配置されるビアホールの配置箇所、前記高優先度部品と接続用の後の工程において配置されるビアホールの配置箇所、後の工程において配置されるグランドパターンまたはマージン領域の配置箇所を囲む最小の矩形を前記近接ブロックの前記矩形として設定する、請求項2記載のプリント基板設計装置。
前記子部品配置設計部は、前記親部品に近接し、かつ前記親部品と前記高優先度部品との間の全配線長が最も短くなる位置に前記高優先度部品を配置する、請求項1記載のプリント基板設計装置。
前記子部品配置設計部は、前記親部品に近接し、かつ前記親部品の電源端子と前記高優先度部品の電源端子との間の配線長が最も短くなる位置に前記高優先度部品を配置し、定められたデザインルールを満たす複数の向きのうち、前記親部品のグランド端子と前記高優先度部品のグランド端子との間の距離が最も短くなる向きに前記高優先度部品の向きを決定する、請求項1記載のプリント基板設計装置。
前記子部品配置設計部は、優先度が同一の子部品の重なりが検出されたときには、重なり合っている2個以上の子部品のうちの少なくとも一方を、前記2個以上の子部品が接続される前記親部品の端子が配置されている側面に平行な方向に、重なりが解消される位置に移動させる、請求項1に記載のプリント基板設計装置。
前記子部品配置設計部は、優先度が異なる子部品の重なりが検出されたときには、優先度の低い子部品を、前記優先度の低い部品が接続される前記親部品の端子が配置されている側面に垂直かつ前記親部品から遠くなる方向に、重なりが解消される位置に移動させる、請求項1に記載のプリント基板設計装置。
【発明を実施するための形態】
【0019】
以下、実施の形態について、図面を参照して説明する。
【0020】
図1は、実施の形態のプリント基板設計装置1の構成を表わす図である。
【0021】
プリント基板設計装置1は、データ入力部2と、ユーザ操作部4と、CAD(Computer Aided Design)部3と、部品配置設計部20とを備える。部品配置設計部20は、変換部5と、ネット属性設定部6と、グループ化処理部7と、分類部8と、ペアリング部9と、子部品配置設計部10と、近接ブロック生成部11と、全体配置設計部12とを備える。
【0022】
CAD部3および部品配置設計部20の機能は、コンピュータがメモリに記憶されたプリント基板設計プログラムを実行することによって実現されるものとしてもよい。プリント基板設計プログラムは、外部からネットワークを通じてメモリにインストールされるものとしてもよい。あるいは、プリント基板設計プログラムは、可搬性の記録媒体を通じてメモリにインストールされるものとしてもよい。
【0023】
データ入力部2は、外部から回路図、ネットリストなどのデータを入力する。回路図は、画像データおよびテキストデータを含む。
【0024】
ユーザ操作部4は、設計者の操作を受け付ける。
【0025】
CAD部3は、設計者の操作に従って、データ入力部2から入力されたデータを用いてバイナリ形式のCADデータを作成する。
【0026】
変換部5は、回路図に基づいて作成されたバイナリ形式のCADデータをテキストデータに変換して、テキストデータの部品名リストを作成する。
【0027】
ネット属性設定部6は、回路図に含まれる複数の部品のネットの属性を設定する。たとえば、ネット属性設定部6は、ネットリストに含まれるネットの名前に基づいて、ネットの属性を設定する。ネット属性設定部6は、さらに、インダクタの一端に接続された第1のネットの属性が電源属性の場合に、インダクタの他端に接続された第2のネットの属性を、第2のネットの名前に関わりなく、電源属性に設定する。ネット属性設定部6は、インダクタの一端に接続された第1のネットの属性がグランド属性の場合に、インダクタの他端に接続された第2のネットの属性を、第2のネットの名前に関わりなく、グランド属性に設定する。
【0028】
グループ化処理部7は、設計者の操作に従って、複数の回路図グループを生成する。グループ化処理部7は、回路図のうちの一部の範囲が回路図グループとして選択されると、選択された範囲のテキストデータから文字列を抽出し、抽出した文字列と変換部5によって作成されたテキストデータの部品名リストとを照合することによって、回路図グループに属する部品を特定する。
【0029】
分類部8は、各回路図グループ内の部品を親部品と、親部品に直接接続される子部品のうちの高優先度部品と、親部品に直接接続される子部品のうちの低優先度部品と、その他の部品とに分類する。
【0030】
ペアリング部9は、親部品の端子と、子部品の端子とのペアリングを実行する。
【0031】
子部品配置設計部10は、親部品に対する子部品の位置を設計する。子部品配置設計部10は、高優先度部品を低優先度部品よりも優先的に親部品に近接した位置に配置する。
【0032】
近接ブロック生成部11は、親部品および子部品を含む近接ブロックを生成する。近接ブロック生成部11は、さらに、親部品、高優先度部品を囲む矩形を近接ブロックの矩形として設定する。
【0033】
全体配置設計部12は、プリント基板内における複数の近接ブロックの配置を決定する。全体配置設計部12は、複数の近接ブロックの矩形が重ならないようにして、プリント基板内における複数の近接ブロックの配置を決定するものとしてもよい。全体配置設計部12は、さらに分類部8によって分類された「その他の部品」の配置を決定することによって、回路図に含まれるすべての部品の配置を決定する。全体配置設計部12は、近接ブロック内において、親部品および高優先度部品の配置を変化させず、低優先度部品の配置を他の近接ブロックの部品との重なりを解消するために移動させる。
【0034】
図2は、実施の形態のプリント基板設計装置1によるプリント基板への部品の配置設計の手順を表わすフローチャートである。
【0035】
ステップS101〜S103では、部品の配置設計に必要なデータの取得およびデータの生成が実行される。
【0036】
ステップS101において、データ入力部2が、外部からのデータを入力する。データは、回路図、外形図、ネットリスト、部品表、および指示書などを含む。回路図は、回路を構成する部品および部品の接続関係などを表わす画像データと、部品名およびネット名などを表わすテキストデータとを含む。たとえば、回路図は、テキストを含むPDF形式のファイルで作成されている。
【0037】
ステップS102において、CAD部3が、設計者による操作に基づいて、入力されたデータからCADデータを作成する。
【0038】
ステップS103において、変換部5が、バイナリ形式のCADデータをテキストデータに変換する。テキストデータは、部品名リストなどを含む。
【0039】
図3は、テキストデータの部品名リストを表わす図である。
図3に示すように、部品名リストは、複数のテキスト形式の部品名を含む。
【0040】
ステップS104〜S106において、部品のグループ化およびグループ内の部品の分類が実行される。
【0041】
ステップS104において、ネット属性設定部6は、データ入力部2に入力されたネットリストに基づいて、ネットの属性を設定する。ネット属性設定部6は、ネットの名前、およびネットに接続される部品に基づいて、ネットの属性を「電源属性」、「グランド属性」、および「信号属性」のうちのいずれかに設定する。ネットの属性が「電源属性」とは、そのネットが電源電圧を伝達することを示す。ネットの属性が「グランド属性」とは、そのネットがグランド電圧を伝達することを示す。ネットの属性が「信号属性」とは、そのネットが信号を伝送することを示す。
【0042】
たとえば、ネット属性設定部6は、ネット名に文字列「GND」が含まれれば、そのネットの属性を「グランド属性」に設定し、ネット名に文字列「VCC」または「3.3V」が含まれれば、そのネットの属性を「電源属性」に設定する。
【0043】
図4は、ネット名に基づくネット属性の設定例を表わす図である。
【0044】
文字列「VCC」および「3.3V」を含むネット名「DVCC+3.3V」のネット、ネット名「AVCC+3.3V」のネットが「電源属性」に設定される。文字列「3.3V」を含むネット名「net3.3V」のネットが「電源属性」に設定される。
【0045】
文字列「GND」を含むネット名「AGND」のネット、ネット名「DGND」のネット、ネット名「PLLGND」のネットが「グランド属性」に設定される。
【0046】
ネット属性設定部6は、部品「インダクタ」の一端に接続される第1のネットの属性が「電源属性」のときに、部品「インダクタ」の他端に接続される第2のネットの属性を、第2のネットの名前に関わりなく、「電源属性」に設定する。ネット属性設定部6は、部品「インダクタ」の一端に接続される第1のネットの属性が「グランド属性」のときに、部品「インダクタ」の他端に接続される第2のネットの属性を、第2のネットの名前に関わりなく、「グランド属性」に設定する。
【0047】
図5(a)および(b)は、ネットに接続される部品に基づくネット属性の設定例を表わす図である。
【0048】
図5(a)に示すように、インダクタL1の一端に接続される第1のネットの名前が「net3.3V」なので、第1のネットの属性が「電源属性」に設定される。インダクタL1の他端に接続される第2ネットは、名前「netSig05」に関わりなく、「電源属性」に設定される。
【0049】
図5(b)に示すように、インダクタL1の一端に接続される第1のネットの名前が「DGND」なので、第1のネットの属性が「グランド属性」に設定される。インダクタL1の他端に接続される第2ネットは、名前「netSig01」に関わりなく、「グランド属性」に設定される。
【0050】
ネットの属性が予め設定されている場合は、ステップS104の処理は省略することができる。
【0051】
ステップS105において、グループ化処理部7は、テキストを含むPDF形式の回路図と、ステップS102で生成されたテキスト形式の部品名リストとを用いて、複数の部品をグループ化する。設計者が、テキストを含むPDF形式の回路図の一部の範囲をグループとして選択すると、グループ化処理部7は、選択された範囲のテキストデータから文字列を抽出し、抽出した文字列とテキスト形式の部品名リストとを照合することによって、グループに属する部品を特定する。
【0052】
選択範囲に含まれる部品の特定は、以下のようにして判断される。
【0053】
選択範囲に含まれる文字列が、テキスト形式の部品名リストに登録されている部品名のときには、その文字列は、選択された範囲(つまり、グループ)に含まれる部品を表わすと判断することができる。選択された範囲に含まれる文字列が、テキスト形式の部品名リストに登録されている部品名でないときには、その文字列は、選択された範囲(つまり、グループ)に含まれる部品を表わさないと判断することができる。
【0054】
不規則に配置された多数の部品群をグループ化することによって、配置面積が小さくなるように、グループ単位で部品の配置を設計することができる。グループ化することによって、部品単位で配置を設計するよりも作業効率を向上させ、ミス配置を低減することができる。また、回路図の範囲を選択するだけの簡単な操作で部品群をグループ化することができる。
【0055】
図6は、回路図の選択範囲の一部を表わす図である。
【0056】
図6に示すように、選択範囲のテキストデータは、複数の文字列を含む。複数の文字列のうち、テキストデータの部品名リストに登録されている「IC7」、「R26」、「X2」、「L1」、「C23」〜「C33」が抽出されて、これらの部品名の部品がグループに属する部品として特定される。
【0057】
ステップS106において、分類部8は、1つの回路グループに属する複数の部品を、親部品と、親部品と直接電気的に接続される子部品と、その他の部品とに分類する。親部品は、たとえば、ICなどである。子部品は、たとえば、発振子、バイパスコンデンサ、ダンピング抵抗、電解コンデンサ、および終端抵抗などである。その他の部品は、親部品および子部品ではない部品である。その他の部品は、たとえば、スイッチなどである。分類部8は、さらに子部品を高優先度部品と、低優先度部品とに分類する。高優先度部品は、たとえば、バイパスコンデンサ、および発振子などである。
【0058】
ステップS107において、ペアリング部9は、ネットリストに基づいて、親部品の端子と、子部品の端子とのペアリングを実行する。ペアリング部9は、ネットリストを参照して、親部品の端子と子部品の端子とが1対1で接続しているものは、それらをペアリングする。ペアリング部9は、ネットリストを参照して、親部品の端子と子部品の端子とが1対1で接続していないものは、設計者の操作に基づいて、ペアリングを実行する。ペアリング部9は、親部品のn個の端子と、n個の子部品の端子とを選択することによって、それらを1対1でペアリングするものとしてもよい。
【0059】
図6を参照して、ネットリストには、IC7の第34端子は、R26の一方の端子と1対1で接続すると定められている。ペアリング部9は、これらの端子をペアリングする。
【0060】
設計者がIC7の第10、17、32、37、38、39、41、49、64端子(電源端子)と、バイパスコンデンサC25〜C33とを選択することによって、ペアリング部9は、IC7の9個の端子と9個のバイパスコンデンサの端子とを1対1でペアリングする。このように、ICの電源端子と、バイパスコンデンサとを1対1で接続することによって、バイパスコンデンサの性能または特性を十分に発揮することができる。
【0061】
ステップS108において、子部品配置設計部10は、高優先度部品を、親部品に最も近接し、かつ親部品と高優先度部品とを配線で接続したときに、親部品と高優先度部品との間のインダクタンス、または寄生容量などが最も小さくなるような位置に配置する。親部品に最も近接した位置として、たとえば、親部品に最も近い1列目に配置するものとしてもよい。1列目とは、デザインルールによって許容される親部品の側面に最も近い位置である。デザインルールは、実装上の制約などを規定したルールである。
【0062】
発振子を高優先度部品とした理由は、以下である。親部品であるICと発振子との間の距離が遠くなれば、寄生容量が多くなるため、発振子は、発振しなくなるおそれがある。発振子が発振しなくなると、回路自体が動作しなくなるおそれがある。
【0063】
バイパスコンデンサを高優先度部品とした理由は、以下である。バイパスコンデンサを等価回路で表わすと、RLC直列回路となり自己共振周波数をもつ。自己共振周波数より高い周波数では、インダクタンスが支配的となるため、インダクタンスを小さくするために配線を短くする。
【0064】
ICとバイパスコンデンサとの間の距離が遠くなると、インダクタンスが大きくなるため、高周波において、合成インピーダンスが高くなる。
【0065】
図7は、親部品がQFPタイプのICで、高優先度部品が発振子の場合の配置例を表わす図である。
【0066】
発振子OCの端子OT1は、IC100の第4端子P4と接続される。発振子OCの端子OT2は、IC100の第7端子P7と接続される。
【0067】
後の工程において、発振子OCの端子OT1と第4端子P4との間の配線W1、および発振子OCの端子OT2と第7端子P7との間の配線W2とが、IC100が配置されるプリント基板の表面と同じ面に配置されることを前提として、発振子OCの配置が決定される。配線W1の長さと配線W2の長さとの和を全配線長WAとする。子部品配置設計部10は、IC100に最も近い1列目において、全配線長WAが最も短くなる位置に発振子OCを配置される。全配線長WAを最も短くすることによって、発振子OCとIC100との間の寄生容量を最も小さくすることができる。
【0068】
図8は、親部品がQFPタイプのICで、高優先度部品がバイパスコンデンサの場合の配置例を表わす図である。
【0069】
バイパスコンデンサPCの電源端子VPは、IC100の第6端子(電源端子)P6と接続される。バイパスコンデンサPCのグランド端子GPは、IC100の第5端子(グランド端子)P5と接続される。
【0070】
後の工程において、バイパスコンデンサPCの電源端子VPとIC100の第6端子P6との間の配線W4と、バイパスコンデンサPCのグランド端子GPとIC100の第5端子P5との間の配線W3とが、IC100が配置されるプリント基板の表面と同じ面に配置されることを前提として、バイパスコンデンサPCの配置が決定される。配線W3の長さと配線W4の長さとの和を全配線長WBとする。子部品配置設計部10は、IC100に最も近い1列目において、全配線長WBが最も短くなる位置にバイパスコンデンサPCを配置する。全配線長WBを最も短くすることによって、バイパスコンデンサPCとIC100との間のインダクタンスを最も小さくすることができる。
【0071】
図9(a)は、親部品がSOPタイプのICで、高優先度部品がバイパスコンデンサの場合の配置例を表わす図である。
【0072】
バイパスコンデンサPCは、SOPタイプのIC200において端子が配置されていない側面PL3に沿って配置される。IC200の第1端子(電源端子)P1が、IC200の側面PL1に配置される。IC200の第20端子(グランド端子)P20が、側面PL1に対向する側面PL2に配置される。バイパスコンデンサPCの電源端子VPが、IC200の第1端子(電源端子)P1に接続される。バイパスコンデンサPCのグランド端子GPが、IC200の第20端子(グランド端子)P20に接続される。
【0073】
後の工程において、バイパスコンデンサPCの電源端子VPとIC200の第1端子(電源端子)P1との間の配線W5がIC200が配置されるプリント基板の表面と同じ面に配置され、バイパスコンデンサPCのグランド端子GPとIC200の第20端子(グランド端子)P20との間の配線W6がビアホールVH1,VH2およびプリント基板のグランド層に配置されたGNDプレーンGDPを通じて配置されることを前提として、バイパスコンデンサPCの配置が決定される。
【0074】
子部品配置設計部10は、IC200に最も近い1列目において、配線W5の長さが最も短くなる位置にバイパスコンデンサPCを配置する。
【0075】
図9(b)は、デザインルールによって許容されるバイパスコンデンサPCの向きを表わす図である。
【0076】
デザインルールによって、バイパスコンデンサPCの向きは、IC200と重ならず、かつIC200の側面に平行な方向および垂直な方向の3つの向きDR1、DR2、DR3が許容される。子部品配置設計部10は、3つの向きのうち、配線W6の長さが最も短くなるように、グランド端子GPと、第20端子(グランド端子)P20との距離が最も短くなる向きDR1にバイパスコンデンサPCの向きを決定する。
【0077】
配線W5は、プリント基板の表面に配置されるので、幅が狭いため、インダクタンスが高い。一方、配線W6は、インダクタンスの低いGNDプレーンを経由する。上述したように、配線W5を最小にするバイパスコンデンサPCの配置を決めて、さらにその配置において可能な複数の向きの中から配線W6の長さを最小とする向きを選択することによって、バイパスコンデンサPCとIC200との間のループインダクタンスを最も小さくすることができる。
【0078】
図10(a)および(b)は、親部品がサーマルパッドSPADを有するQFPタイプのICで、高優先度部品がバイパスコンデンサの場合の配置例を表わす図である。
【0079】
バイパスコンデンサPCの電源端子VPが、IC300の第7端子(電源端子)P7に接続される。バイパスコンデンサPCのグランド端子GPが、IC300のサーマルパッドSPADに接続される。
【0080】
後工程において、サーマルパッドSPADを有するIC300がプリント基板BDの表面に配置されることを前提として、バイパスコンデンサPCの配置が決定される。子部品配置設計部10は、IC300に最も近接した位置として、プリント基板BDの裏面におけるプリント基板BDを垂直視したときにIC300と重なる位置にバイパスコンデンサPCを配置する。
【0081】
さらに、後工程において、以下のように配線が配置されることを前提として、バイパスコンデンサPCの配置が決定される。バイパスコンデンサPCの電源端子VPが、配線パターンPT4、プリント基板BDの層LA3の電源配線VCCに接続されているビアホールVH2、および配線パターンPT2を通じてIC300の第7端子(電源端子)P7に接続され、バイパスコンデンサPCのグランド端子GPが、配線パターンPT3、プリント基板BDの層LA2のグランド配線GNDに接続されるビアホールVH1、および配線パターンPT1を通じてIC300のサーマルパッドSPADに接続される。ビアホールVH1の長さと、ビアホールVH2の長さと、配線パターンPT1の長さと、配線パターンPT2の長さと、配線パターンPT3の長さと、配線パターンPT4の長さとの和を全配線長WCとする。子部品配置設計部10は、プリント基板BDの裏面において、全配線長WCが最も短くなる位置にバイパスコンデンサPCを配置する。全配線長WCを最も短くすることによって、バイパスコンデンサPCとIC300との間のインダクタンスを最も小さくすることができる。
【0082】
図11(a)、(b)、(c)は、親部品がBGAタイプのICで、高優先度部品がバイパスコンデンサの場合の配置例を表わす図である。
【0083】
バイパスコンデンサPCの電源端子VPが、IC500の電源端子BVPに接続される。バイパスコンデンサPCのグランド端子GPが、IC500のグランド端子BGPに接続される。
【0084】
図11(a)に示すように、IC500の電源端子VPおよびグランド端子GPが配置されている領域RがバイパスコンデンサPCの数と同じ数の領域に分割される。バイパスコンデンサPCの数が4個の場合には、
図11(a)に示すように、領域RがR1〜R4の4個に分割される。
【0085】
後工程において、IC500がプリント基板BDの表面に配置され、バイパスコンデンサPCがプリント基板BDの裏面に配置されることを前提として、バイパスコンデンサPCの配置を決定される。
【0086】
子部品配置設計部10は、分割された各領域に1つのバイパスコンデンサPCを配置すする。
【0087】
さらに、後工程において、以下のように配線が配置されることを前提として、バイパスコンデンサPCの配置が決定される。バイパスコンデンサPCの電源端子VPが、配線パターンPT3、ビアホールVH1、配線パターンPT1、はんだSO1を通じてIC500の電源端子BVPに接続される。ビアホールVH1は、プリント基板BDの層LA3の電源配線VCCに接続される。バイパスコンデンサPCのグランド端子GPが、配線パターンPT4、ビアホールVH2、配線パターンPT2、およびはんだSO2を通じてIC500のグランド端子BGPに接続される。ビアホールVH2は、プリント基板BDの層LA2のグランド配線GNDに接続される。ビアホールVH1の長さと、ビアホールVH2の長さと、配線パターンPT1の長さと、配線パターンPT2の長さと、配線パターンPT3の長さと、配線パターンPT4の長さと、はんだSO1の長さと、はんだSO2の長さとの和を全配線長WDとする。子部品配置設計部10は、プリント基板BDの裏面において、全配線長WDが最も短くなる位置にバイパスコンデンサPCを配置する。全配線長WDを最も短くすることによって、バイパスコンデンサPCとIC500との間のインダクタンスを最も小さくすることができる。
【0088】
ステップS109において、子部品配置設計部10は、子部品のうち、高優先度部品以外の部品(以下、低優先度部品)を複数の要因の重み付き加算値に基づいて、配置する。複数の要因には、配線の総長、配線のクロス数、および配線のばらつきを含む。たとえば、子部品配置設計部10は、低優先度部品を、親部品に最も近い1列目以外の2列目以降に配置するものとしてもよい。あるいは、子部品配置設計部10は、低優先度部品のうちの所定の部品(たとえば、ダンピング抵抗)だけを親部品に最も近い1列目に配置するものとしてもよい。
【0089】
図12は、低優先度部品の配置例を表わす図である。
【0090】
高優先度部品であるバイパスコンデンサPC1〜PC3が、IC100に最も近い1列目に配置される。低優先度部品である抵抗R1〜R3、コンデンサC1〜C3、インダクタL1〜L3が2列目以降に配置される。
【0091】
ステップS110において、子部品配置設計部10は、部品間の重なりを解除するために、優先度に基づいて、部品の位置を調整する。
【0092】
図13は、ステップS110の処理の手順を表わすフローチャートである。
【0093】
ステップS201において、子部品配置設計部10が、少なくとも1つの子部品について重なりを検出した場合には、処理がステップS202に進む。すべての子部品について重なりが検出されなかった場合には、処理を終了する。
【0094】
ステップS202〜S207において、子部品配置設計部10は、子部品(i=1〜n)について重なりチェックおよび必要な場合の位置調整を実行する。iを部品の番号、nを部品の数とする。
【0095】
ステップS203において、子部品配置設計部10が、子部品iについて、他の子部品j(j≠i)との重なりを検出した場合には、処理がステップS204に進む。重なりが検出されなかった場合には、処理がステップS207に進む。
【0096】
ステップS204において、子部品配置設計部10が、子部品iと、子部品iと重なる子部品jとの優先度を比較する。子部品iの優先度と子部品jの優先度とが等しい場合には、処理がステップS206に進む。子部品iの優先度と子部品jの優先度が等しくない場合には、処理がステップS205に進む。ここで、高優先度部品の優先度は、低優先度部品の優先度よりも高い。高優先度部品がバイパスコンデンサの場合には、容量の小さいバイパスコンデンサの優先度が容量の大きなバイパスコンデンサの優先度よりも大きいものとする。
【0097】
ステップS205において、子部品配置設計部10は、垂直位置調整を実行する。すなわち、子部品配置設計部10は、優先度の低い子部品を、その優先度の低い子部品が接続される親部品の端子が配置されている側面に垂直かつ、親部品から遠くなる方向に、重なりが解消される位置に移動させる。
【0098】
ステップS206において、子部品配置設計部10は、平行位置調整を実行する。すなわち、子部品配置設計部10は、重なり合っている2個以上の子部品のうちの少なくとも1つを、その2個以上の子部品が接続される親部品の端子が配置されている側面に平行な方向に、重なりが解消される位置に移動させる。
【0099】
図14(a)は、優先度が等しい複数の子部品が重なって配置されている例を表わす図である。この例では、子部品B2と子部品B3とが重なって配置されている。
【0100】
図14(b)は、平行位置調整後の子部品の配置例を表わす図である。子部品配置設計部10は、子部品B2と子部品B3とを、側面PLに平行な方向に重なりを解消するように移動させる。子部品B2の移動によって、子部品B2と子部品B1とが重なって配置される。これによって、子部品B1が、側面PLに平行な方向に重なりを解消するように移動している。また、子部品B2の移動によって、子部品B3と子部品B4とが重なって配置される。これによって、子部品B4が、側面PLに平行な方向に重なりを解消するように移動している。
【0101】
図15(a)は、優先度が異なる複数の子部品が重なって配置されている例を表わす図である。この例では、優先度が最大の子部品B1〜B4と、優先度が中間の子部品B5と、優先度が最小の子部品B6とが示されている。優先度の高い子部品B1と優先度が中間の子部品B5とが重なって配置されている。
【0102】
図15(b)は、垂直位置調整後の子部品の配置例を表わす図である。子部品配置設計部10は、優先度が中間の子部品B5を、側面PLに垂直、かつIC100から遠くなる方向に、重なりを解消するように移動させる。子部品B5の移動によって、子部品B5と子部品B6とが重なって配置される。これによって、子部品B6が、側面PLに垂直、かつIC100から遠くなる方向に重なりを解消するように移動している。
【0103】
図16は、垂直位置調整後の別の配置例を表わす図である。
【0104】
高優先度部品であるバイパスコンデンサPC1〜PC5が、当初、第1列目に配置される。バイパスコンデンサPC2とバイパスコンデンサPC4とが重なって配置され、バイパスコンデンサPC5と、バイパスコンデンサPC1およびバイパスコンデンサPC3とが重なって配置されているものとする(図示せず)。
【0105】
バイパスコンデンサPC4の容量およびバイパスコンデンサPC5の容量は、バイパスコンデンサPC1の容量、バイパスコンデンサPC2の容量、バイパスコンデンサPC3の容量よりも大きい。よって、バイパスコンデンサPC4、PC5の優先度は、バイパスコンデンサPC1、PC2、PC3の優先度よりも低い。子部品配置設計部10は、バイパスコンデンサPC4、PC5を、側面PLに垂直な、かつIC100から遠くなる方向に重なりを解消するように移動させる。
【0106】
図17は、垂直位置調整後の別の配置例を表わす図である。
【0107】
高優先度部品であるバイパスコンデンサPC1とバイパスコンデンサPC2が、当初、第1列目に重なって配置されているものとする(図示せず)。バイパスコンデンサPC2の容量は、バイパスコンデンサPC1の容量よりも大きい。よって、バイパスコンデンサPC2の優先度は、バイパスコンデンサPC1の優先度よりも低い。子部品配置設計部10は、バイパスコンデンサPC2を、側面PLに垂直な、かつIC200から遠くなる方向に重なりを解消するように移動させる。
【0108】
ステップS111において、近接ブロック生成部11は、親部品および子部品を含む近接ブロックを生成する。
【0109】
ステップS112において、近接ブロック生成部11は、親部品および高優先度部品を囲む矩形を近接ブロックの矩形として設定する。より具体的には、近接ブロック生成部11は、親部品、高優先度部品、親部品と接続用の後の工程において配置されるビアホールの配置箇所、高優先度部品と接続用の後の工程において配置されるビアホールの配置箇所、および後の工程において配置されるグランドパターンまたはマージン領域の配置箇所を囲む最小の矩形を近接ブロックの矩形として設定する。
【0110】
図18は、近接ブロックおよび近接ブロックの矩形の例を表わす図である。
【0111】
親部品であるICと、高優先度部品であるバイパスコンデンサおよび発振子と、低優先度部品を含む近接ブロックが生成される。
【0112】
親部品であるICと、高優先度部品であるバイパスコンデンサおよび発振子と、バイパスコンデンサと接続用の後の工程において配置される電源層接続用のビアホールが配置される箇所と、バイパスコンデンサと接続用の後の工程において配置されるグランド層接続用のビアホールが配置される箇所と、発振子と接続用の後の工程において配置されるグランド層接続用のビアホールが配置される箇所と、親部品と接続用の後の工程において配置されるグランド層接続用のビアホールが配置される箇所と、後の工程において配置されるグランドパターンまたはマージン領域が配置される箇所とを囲む最小の矩形RL1が設定される。
図18において、グランドパターンまたはマージン領域の配置箇所は、後の工程において、グランド接続用のビアホールと接続されるグランドパターンが配置されることがある。あるいは、この箇所は、グランドパターンが配置される代わりに、近接ブロック内の部品が他の近接ブロックの部品と接触しないようにするためのマージン領域として利用されることもある。
【0113】
図10(a)および(b)に示すような親部品がサーマルパッドSPADを有するQFPタイプのICで、高優先度部品がバイパスコンデンサの場合は、次のように矩形が設定される。
【0114】
ビアホールVH2の遮断用の後の工程において配置されるグランドパターンの配置箇所の最も外側の辺が矩形の一辺に設定される。
【0115】
図11(a)〜(c)に示すような親部品がBGAタイプのICで、高優先度部品がバイパスコンデンサの場合は、次のように矩形が設定される。
【0116】
IC500の側面が矩形の一辺に設定される。
【0117】
ステップS105〜S112の処理が、回路図の全範囲について、グループ化処理が終了するまで繰り返す。回路図の全範囲について、グループ化処理が終了すると、処理がステップS114に進む。
【0118】
ステップS114において、全体配置設計部12は、各近接ブロックの矩形の面積に基づいて、複数の近接ブロック矩形が重ならず、かつ全体の面積が小さくなるように、プリント基板における各近接ブロックの配置を決定する。全体配置設計部12は、さらに、ネットリストなどに基づいて、電子回路としての性能または特性を十分に発揮することができるように、ある近接ブロックに対して近くに配置するのが望ましい近接ブロックを決定することとしてもよい。
【0119】
全体配置設計部12は、近接ブロック内において、親部品および高優先度部品の配置を変化させず、低優先度部品の配置を他の近接ブロックの部品との重なりを解消するために移動させる。
【0120】
図19(a)は、複数の近接ブロックの部品が重なって配置される例を表わす図である。
図19(a)において、低優先度部品B1、B2が、近接ブロックBL9に含まれ、低優先度部品B3、B4、B5が近接ブロックBL1に含まれる。近接ブロックBL1の矩形がRL1であり、近接ブロックBL9の矩形がRL9である。低優先度部品B2と低優先度部品B5とが重なっている。
【0121】
図19(b)は、重なり解消後の部品の配置例を表わす図である。
図19(b)に示すように、全体配置設計部12は、低優先度部品B2と低優先度部品B5と重なりの解消のために、低優先度部品B2と低優先度部品B5のうちのいずれか一方または両方を移動させる。
図19(b)の例では、低優先度部品B5が移動している。
【0122】
全体配置設計部12は、さらにその他の部品の配置を決定することによって、回路図に含まれる全部品のプリント基板上での配置を決定する。部品の配置の決定後の工程において、ネットリストなどに基づいて、複数の部品間を接続する配線の設計などが行われる。
【0123】
図20は、実施の形態のプリント基板設計装置1のハードウエア構成を表わす図である。プリント基板設計装置1は、公知のパーソナルコンピュータなどで実現することができる。プリント基板設計装置1は、CPU100と、液晶ディスプレイなどの表示装置200と、キーボードおよびマウスなどの入力装置300と、メモリなどの内部記憶装置400と、ハードディスクまたは可搬性の記録媒体などの外部記憶装置500と、通信装置600とを備える。
【0124】
入力装置300は、設計者からの入力を受け付ける。通信装置600は、外部からインターネットなどを通じて、プリント基板設計プログラム、およびデータを受信することができる。外部記憶装置500は、プリント基板設計プログラム、およびデータを記憶することができる。内部記憶装置400は、通信装置600または外部記憶装置500から転送されるプリント基板設計プログラム、およびデータを記憶する。CPU100は、回路図、近接ブロック、ネットリストなどを表示装置200に表示する。CPU100は、内部記憶装置400に記憶されたプリント基板設計プログラムを実行する。これによって、
図2のフローチャートに従って、処理が実行される。
【0125】
本発明は、上記の実施形態に限定されるものではなく、以下の変形例も含む。
【0126】
(1)グループ化処理
回路図において、文字についてもテキストデータでなく画像データで表されるものとしてもよい。この場合、グループ化処理部7は、回路図のうちの一部の範囲が回路図グループとして選択されると、選択された範囲の画像データから文字認識によって文字列を抽出し、抽出した文字列とテキスト形式の部品名リストとを照合することによって、回路図グループに属する部品を特定することとしてもよい。
【0127】
(2)矩形
実施形態では、近接ブロック生成部11は、親部品、高優先度部品、親部品と接続するビアホールの配置箇所、および高優先度部品と接続するすべてのビアホールの配置箇所を囲む最小の矩形を近接ブロックの矩形として設定したが、これに限定されるものではない。近接ブロック生成部11は、親部品、および高優先度部品を囲む最小の矩形を近接ブロックの矩形として設定してもよい。
【0128】
実施形態では、全体配置設計部12は、プリント基板内における複数の近接ブロックの矩形が重ならないように、複数の近接ブロックの配置を決定した。しかしながら、基板が小さいため、複数の近接ブロック矩形が重ならないように配置することができない場合には、上記のようにして矩形の大きさが小さくなるように調整するものとしてもよい。
【0129】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。