JP2011003129A - プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置 - Google Patents

プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置 Download PDF

Info

Publication number
JP2011003129A
JP2011003129A JP2009147588A JP2009147588A JP2011003129A JP 2011003129 A JP2011003129 A JP 2011003129A JP 2009147588 A JP2009147588 A JP 2009147588A JP 2009147588 A JP2009147588 A JP 2009147588A JP 2011003129 A JP2011003129 A JP 2011003129A
Authority
JP
Japan
Prior art keywords
terminal
array
bypass capacitor
connection path
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009147588A
Other languages
English (en)
Other versions
JP5223790B2 (ja
Inventor
Toshiyasu Sakata
寿康 坂田
Eiichi Konno
栄一 今野
Takahiko Oda
貴彦 織田
Yoshitaka Nishio
喜孝 西尾
Kazunori Kumagai
一徳 熊谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009147588A priority Critical patent/JP5223790B2/ja
Priority to US12/819,580 priority patent/US8286124B2/en
Publication of JP2011003129A publication Critical patent/JP2011003129A/ja
Application granted granted Critical
Publication of JP5223790B2 publication Critical patent/JP5223790B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods

Abstract

【課題】グリッドアレイパッケージに対応したバイパスコンデンサの配置作業負担を軽減する。
【解決手段】調査対象端子選択手段1bにより、グリッドアレイパッケージ部品の電源端子が1つずつ調査対象端子として選択される。次に、接続経路探索手段1cにより、選択された調査対象端子といずれかのグランド端子との間の第1のバイパスコンデンサを介した新規の接続経路が探索される。すると、経路重複判断手段1eにより、新規の接続経路と既存の接続経路との間の経路の重複の有無が判断される。接続経路の重複が検出された場合、経路再探索手段1fにより、第2のバイパスコンデンサの位置が変更され、第2のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第2のバイパスコンデンサを介した接続経路が再探索される。そして接続経路更新手段1gにより、接続経路記憶手段1dの内容が更新される。
【選択図】図1

Description

本発明は、プリント回路板に搭載する部品配置の設計を支援するプリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置に関する。
近年、LSI(Large Scale Integration)の多ピン化によりパッケージとしてBGA(Ball Grid Array)と呼ばれるパッケージが適用されることが多くなっている。BGAでは、はんだによるボール状の電極が格子状に並べられている。なお、BGAのはんだボールに代えて平面電極パッドを格子状に並べたパッケージは、LGA(Land Grid Array)と呼ばれる。BGAやLGAのようなグリッドアレイパッケージは、四方に端子を出すQFP(Quad Flat Package)に比べて多数の電極を設けることができる。
グリッドアレイパッケージは多数の電極が密に配置されている。そのため、グリッドアレイパッケージを搭載するプリント配線板側の配線設計が難しくなる。そこで、グリッドアレイパッケージを実装するプリント配線板の配線に関して、様々な工夫が成されている。
特許第3745176号公報 特開2000−261110号公報 特開2003−218540号公報 特開2001−53185号公報
近年、信号の伝送速度、立ち上がり時間が高速になっている。そのため、同時スイッチングノイズ(simultaneous switching output noise)防止用のバイパスコンデンサの、グリッドアレイパッケージ1つ当たりの必要数も急激に増加している。例えば、1500ピンクラスのグリッドアレイパッケージ1つ当たりで350以上のバイパスコンデンサが必要とされる場合がある。このようなグリッドアレイパッケージを作動させるためのバイパスコンデンサは、グリッドアレイパッケージの電極の接続端子の直近に配置される。すなわち、グリッドアレイパッケージのサイズに応じた狭い範囲に、多数のバイパスコンデンサを配置することとなる。
しかし、従来のプリント回路板の設計では、バイパスコンデンサの配置をCAD(Computer Aided Design)を用いて設計者が手作業で行っており、非常に手間がかかっていた。特に最近のバイパスコンデンサの必要数の増加が、プリント回路板設計の部品配置工数を著しく増加させる要因となっている。
本発明はこのような点に鑑みてなされたものであり、グリッドアレイパッケージに対応したバイパスコンデンサの配置作業負担を軽減できるプリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置を提供することを目的とする。
上記課題を解決するために、グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムが提供される。このプリント回路板設計支援プログラムは、コンピュータに、以下の処理を実行させる。
まず、プリント回路板設計支援プログラムは、コンピュータに、グリッドアレイパッケージ部品の複数の端子の位置、および端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、グリッドアレイパッケージ部品の電源端子を1つずつ調査対象端子として選択させる。次にプリント回路板設計支援プログラムは、コンピュータに、部品情報記憶手段を参照し、選択された調査対象端子といずれかのグランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索させる。次にプリント回路板設計支援プログラムは、コンピュータに、既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、新規の接続経路と既存の接続経路との間の経路の重複の有無を判断させる。次にプリント回路板設計支援プログラムは、コンピュータに、接続経路の重複が検出されなかった場合、新規の接続経路を接続経路記憶手段に格納させる。次にプリント回路板設計支援プログラムは、コンピュータに、接続経路の重複が検出された場合、第2のバイパスコンデンサの位置を変更し、第2のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第2のバイパスコンデンサを介した接続経路を再探索させる。そしてプリント回路板設計支援プログラムは、コンピュータに、再探索の対象となった既存の接続経路を接続経路記憶手段から削除し、再探索で得られた接続経路と新規の接続経路とを接続経路記憶手段に格納させる。
また上記課題を解決するために、上記プリント回路板設計支援プログラムがコンピュータに実行させる処理と同様の処理を行うプリント回路板設計支援方法が提供される。
さらに上記課題を解決するために、上記プリント回路板設計支援プログラムを実行するコンピュータが有する機能と同様の機能を有するプリント回路板設計支援装置が提供される。
上記プリント回路板設計支援プログラムを実行するコンピュータは、複数の電源端子に関し、バイパスコンデンサを介したグランド端子への重複のない接続経路を、自動で決定することができる。
第1の実施の形態に係るプリント回路板設計支援装置の機能を示すブロック図である。 BGA部品を実装したプリント回路板の断面図である。 バイパスコンデンサの配置処理状況を示す第1の図である。 バイパスコンデンサの配置処理状況を示す第2の図である。 バイパスコンデンサの配置処理状況を示す第3の図である。 端子を配線するビアの確保処理状況を示す第1の図である。 端子を配線するビアの確保処理状況を示す第2の図である。 端子を配線するビアの確保処理状況を示す第3の図である。 プリント回路板設計支援装置のハードウェア構成例を示す図である。 プリント回路板設計支援装置の機能を示すブロック図である。 プリント回路板DBのデータ構造例を示す図である。 部品情報内の部品端子グループ情報の例を示す図である。 関連性情報のデータ構造例を示す図である。 バイパスコンデンサ配置処理の手順を示すフローチャートである。 端子から半格子シフトしてビアを配置する場合の端子とビアとの位置関係を示す図である。 端子の直下にビアを配置する場合の端子とビアとの位置関係を示す図である。 BGA部品近傍にバイパスコンデンサを仮配置した場合の表示例を示す図である。 プリント配線基板の外にバイパスコンデンサを仮配置した場合の表示例を示す図である。 仮配置処理の手順を示すフローチャートである。 端子優先順決定処理の手順を示すフローチャートである。 BGA端子リストの並べ替え状況を示す図である。 配線の優先引き出し方向の例を示す図である。 放射状配線とランダム配線との比較例を示す図である。 端子の場所ごとの優先引き出し方向の違いを示す図である。 優先配線方法決定処理の手順を示すフローチャートである。 ビア作成候補リストの例を示す図である。 十字境界部への配置の可否の設定状況を示す図である。 十字境界部の配置可否設定処理の手順を示すフローチャートである。 端子から半格子シフトしてビアを配置する場合のバイパスコンデンサ配置手順を示す図である。 端子の直下にビアを配置する場合のバイパスコンデンサの配置手順を示す図である。 バイパスコンデンサ配置および配線処理の手順を示すフローチャートである。 BGA部品の端子とバイパスコンデンサとの関連性表示画面の例を示す図である。 関連線表示処理の手順を示すフローチャートである。 充足率表示画面の一例を示す図である。 充足性判定処理の手順を示すフローチャートである。 接続条件違反検出処理の手順を示すフローチャートである。 BGA端子リストのデータ構造例を示す図である。 ビア作成候補位置リストのデータ構造例を示す図である。 調査要素リストのデータ構造例を示す図である。 仮接続関係リストのデータ構造例を示す図である。 割り付け解消端子リストのデータ構造例を示す図である。 バイパスコンデンサ配置位置検索処理の手順を示すフローチャートである。 ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その1)である。 ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その2)である。 ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その3)である。 ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その4)である。 割り付け情報設定処理の手順を示すフローチャートである。 優先順でソート後のバイパスコンデンサテーブルの例を示す図である。 BGA端子リストの一例を示す図である。 ビア作成候補位置リストの一例を示す図である。 バイパスコンデンサ配置対象のBGA部品の例を示す図である。 バイパスコンデンサ配置処理途中における配置状況を示す第1の図である。 バイパスコンデンサ配置処理途中における配置状況を示す第2の図である。 バイパスコンデンサ配置処理途中における配置状況を示す第3の図である。 バイパスコンデンサ配置処理途中における配置状況を示す第4の図である。 調査済みフラグの設定状況を示す第1の図である。 調査済みフラグの設定状況を示す第2の図である。 調査済みフラグの設定状況を示す第3の図である。 調査済みフラグの設定状況を示す第4の図である。 調査済みフラグの設定状況を示す第5の図である。 バイパスコンデンサの再配置および再配線の状況を示す図である。 端子にビアを割り付ける処理の手順を示すフローチャートである。 端子に割り付けられるビアの調査処理の手順を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係るプリント回路板設計支援装置の機能を示すブロック図である。プリント回路板設計支援装置1は、グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するものである。プリント回路板設計支援装置1は、部品情報記憶手段1a、調査対象端子選択手段1b、接続経路探索手段1c、接続経路記憶手段1d、経路重複判断手段1e、経路再探索手段1f、および接続経路更新手段1gを有する。
部品情報記憶手段1aは、グリッドアレイパッケージ部品の複数の端子の位置、および端子が電源端子かグランド端子かを示す属性を含むグリッドアレイパッケージ部品情報を記憶する。
調査対象端子選択手段1bは、部品情報記憶手段1aを参照し、グリッドアレイパッケージ部品の電源端子を1つずつ調査対象端子として選択する。
接続経路探索手段1cは、部品情報記憶手段1aを参照し、選択された調査対象端子といずれかのグランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索する。
接続経路記憶手段1dは、既に配置が決定された第2のバイパスコンデンサを介して接続される端子間の既存の接続経路を記憶する。接続経路は、例えば端子配線情報と、バイパスコンデンサ配置情報とで示される。端子配線情報には、グリッドアレイパッケージ部品と接続先となるビアの位置との対応関係が登録される。バイパスコンデンサ配置情報には、バイパスコンデンサの2つの端子の接続先となるビアの位置が登録される。これにより、電源端子から引き出し配線を行う第1のビアの位置が分かり、第1のビアの位置からバイパスコンデンサで接続される第2のビアの位置が分かり、第2のビアの位置へ引き出し配線で接続されるグランド端子が分かる。すなわち、端子配線情報とバイパスコンデンサ配置情報とにより、電源端子からグランド端子までのバイパスコンデンサを介した接続経路が示されている。
経路重複判断手段1eは、接続経路記憶手段1dを参照し、新規の接続経路と既存の接続経路との間の経路の重複の有無を判断する。
経路再探索手段1fは、接続経路の重複がある場合、第2のバイパスコンデンサの位置を変更し、第2のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第2のバイパスコンデンサを介した接続経路を再探索する。
接続経路更新手段1gは、接続経路の重複が検出されなかった場合、新規の接続経路を接続経路記憶手段1dに格納する。また接続経路更新手段1gは、接続経路の重複が検出された場合、再探索の対象となった既存の接続経路を接続経路記憶手段1dから削除し、再探索で得られた接続経路と新規の接続経路とを接続経路記憶手段1dに格納する。
このようなプリント回路板設計支援装置によれば、まず調査対象端子選択手段1bにより、グリッドアレイパッケージ部品の電源端子が1つずつ調査対象端子として選択される。次に、接続経路探索手段1cにより、選択された調査対象端子といずれかのグランド端子との間の第1のバイパスコンデンサを介した新規の接続経路が探索される。すると、経路重複判断手段1eにより、新規の接続経路と既存の接続経路との間の経路の重複の有無が判断される。接続経路の重複が検出されなかった場合、接続経路更新手段1gにより、新規の接続経路が接続経路記憶手段1dに格納される。
接続経路の重複が検出された場合、経路再探索手段1fにより、第2のバイパスコンデンサの位置が変更され、第2のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第2のバイパスコンデンサを介した接続経路が再探索される。そして接続経路更新手段1gにより、再探索の対象となった既存の接続経路が接続経路記憶手段1dから削除され、再探索で得られた接続経路と新規の接続経路とが接続経路記憶手段1dに格納される。
このようにして、電源端子とグランド端子との間に配置するバイパスコンデンサの位置と、バイパスコンデンサから各端子への配線とを自動で決定することができる。
なお、グリッドアレイパッケージ部品には、BGA部品やLGA部品がある。以下、BGA部品の例を用い、端子に接続するバイパスコンデンサの配置状況を説明する。
図2は、BGA部品を実装したプリント回路板の断面図である。図2にはBGA部品20を実装したプリント配線板10の例が示されている。プリント配線板10の上面には、BGA部品20の端子と合致する位置に、複数の実装パッド11が設けられている。図2の例では、複数のビア12から実装パッド11へのラインが形成されている。なおビア12は内部が導電性部材で埋められており、ビア12を形成した場所上に部品を搭載できる。このようなビア12の位置に実装パッド11を形成する構成は、COH(Chip on Hole)と呼ばれる。
BGA部品20は、下面に設けられた各端子に複数のハンダバンプ21が設けられている。ハンダバンプ21がプリント配線板10の実装パッド11に接合される。具体的には、ハンダバンプ21をプリント配線板10の実装パッド11に接触させた状態で、BGA部品20を載せたプリント配線板10をリフロー炉に通すことで、リフロー方式によるハンダ付けが行われる。
ビア12は、プリント配線板10を上下に貫通している。ビア12の内部は、銅などの導電性部材が充填されている。ビア12は、プリント配線板10の下面や内部のライン13に接続されている。
プリント配線板10の下面に形成されたライン13には、バイパスコンデンサ31,32が実装されている。バイパスコンデンサ31,32の両端の端子は、BGA部品20の電源端子に接続されたビアと、グランド(GND)端子に接続されたビアとに接続されている。これによりBGA部品20の電源端子に発生したノイズが、バイパスコンデンサ31,32によって取り除かれる。
このようなバイパスコンデンサは、BGA部品20の電源端子の近くに設けられる。そのため、プリント配線板10のBGA部品20が搭載された領域の反対側の面には、多数のバイパスコンデンサを配置することとなる。このようなバイパスコンデンサの配置場所の決定を、図1に示したプリント回路板設計支援装置を用いれば容易に行うことができる。
すなわち、プリント回路板設計支援装置は、電源端子に配線可能なビアの候補を検出し、その候補となったビアに接続可能なバイパスコンデンサの配置場所を検出する。その際、プリント回路板設計支援装置は、バイパスコンデンサの配置場所に、すでに他のバイパスコンデンサがある場合、他のバイパスコンデンサの位置をずらす。プリント回路板設計支援装置は、ずらした先にさらに他のバイパスコンデンサがあれば、そのバイパスコンデンサの位置をずらす。このように、新たなバイパスコンデンサを配置することで影響がおよぶ他のバイパスコンデンサの位置を少しずつずらすことで、少しでも多くのバイパスコンデンサの配置が可能となる。
以下、図3〜図5を用いて、既に配置されているバイパスコンデンサをずらして、新たなバイパスコンデンサの配置場所を確保する処理を説明する。
図3は、バイパスコンデンサの配置処理状況を示す第1の図である。図3には、プリント配線板の上面および下面と平行な平面(X−Y平面)に、BGA部品の端子、ビア、バイパスコンデンサ、および配線のラインを投影した図が示されている(図4,図5も同様)。
第1の状態(ST1)は、BGA部品の各端子に接続するバイパスコンデンサ配置途中の状態である。この状態では、バイパスコンデンサ41が既に配置されている。バイパスコンデンサ41は、2つのビア42,43に接続されている。ビア42は、BGA部品の端子44に配線で接続されている。ビア43は、BGA部品の端子45に配線で接続されている。このような状態で、端子46に接続するバイパスコンデンサの配置場所を検出するものとする。
第2の状態(ST2)は、BGA部品の端子46に接続するビアの候補を選択した状態を示す図である。この例では、端子46に接続するビアの候補として、ビア42が選択されている。そこで、ビア42からラインを辿って、ビア42に既に接続されている端子が探索される。
第3の状態(ST3)は、ビア42の接続先の探索状況を示している。探索により、ビア42は既に端子44に接続されていることが判明する。そこで端子46をビア42に接続するために、端子44を接続するための他のビアの探索が行われる。
図4は、バイパスコンデンサの配置処理状況を示す第2の図である。第4の状態(ST4)は、端子44の別の接続先の候補となるビアの探索状況を示している。この例では、端子44の右下に、ビア47の候補が検出されている。端子44には、既にバイパスコンデンサ41が接続されているため、端子44の接続先となるビアが変更されれば、バイパスコンデンサ41の位置も同時に変更される。
第5の状態(ST5)は、バイパスコンデンサ41の移動先の探索状況を示している。この例では、ビア47の右に新たなビア48を設け、ビア47とビア48とに接続される位置が、バイパスコンデンサ41の移動先の候補となっている。バイパスコンデンサ41を移動させる場合、バイパスコンデンサ41に接続された他方の端子45の接続先となるビアも変更することとなる。
第6の状態(ST6)は、ビア48へ接続する端子として、端子45を選択した状況を示している。これにより、バイパスコンデンサ41の位置の移動が可能であることが判明している。バイパスコンデンサ41を移動させれば、端子46をビア42に接続することが可能となる。次に、ビア42に対して、端子46に接続するためのバイパスコンデンサを接続するための、バイパスコンデンサの配置場所が探索される。
図5は、バイパスコンデンサの配置処理状況を示す第3の図である。第7の状態(ST
7)は、端子46に接続するためのバイパスコンデンサの配置場所の探索状況を示している。この例では、ビア42の下に新たなビア49を設け、ビア42とビア49とに接続される位置が、バイパスコンデンサの配置場所の候補となっている。
バイパスコンデンサを配置する場合、一方が電源端子に接続されていれば、他方はグランド端子に接続される。そこで、新たなバイパスコンデンサの候補となった配置場所から、接続可能なグランド端子が探索される。
第8の状態(ST8)は、新たなバイパスコンデンサから接続可能なグランド端子の探索状況を示している。この例では、グランド端子として端子50が検出されている。端子50が検出されたことで、候補となった場所にバイパスコンデンサを配置可能であることが判明する。そこで、バイパスコンデンサ41の移動と、新たなバイパスコンデンサの配置とが確定する。
第9の状態(ST9)は、新たなバイパスコンデンサ51の配置状況を示している。バイパスコンデンサ41が移動され、端子46をビア42に接続し、ビア42の位置に端子46用のバイパスコンデンサ51が配置されている。
図3〜図5の例では、1つのバイパスコンデンサ41の位置をずらすだけで、バイパスコンデンサ51の配置場所を確保できる場合である。その場合とは異なり、バイパスコンデンサ41の移動先に別のバイパスコンデンサが既に配置されている場合もある。この場合、バイパスコンデンサ41の移動先にあるバイパスコンデンサの位置もずらすこととなる。このように既に配置されているバイパスコンデンサの移動の障害となる他のバイパスコンデンサが順次ずらされる。これにより、新たに配置するバイパスコンデンサ51の配置場所を確実に空けることが可能となる。
なお、バイパスコンデンサの配置に限らず、BGA部品20の端子から配線するビアの位置を決定する処理においても、必要に応じて、既に決定されているビアと端子間の接続関係の再構成が行われる。以下、図6〜図8を用いて、設定されている配線をずらして、端子からの新たな配置先となるビアを確保する処理を説明する。
図6は、端子を配線するビアの確保処理状況を示す第1の図である。図6には、プリント配線板の上面および下面と平行な平面に、BGA部品の端子、ビア、および配線のラインを投影した図が示されている(図7,図8も同様)。
第11の状態(ST11)は、BGA部品の各端子から配線を接続するビアの位置の決定途中の状態である。この状態では、すでに2つのビア61,63の形成が決定されている。ビア61には端子62が接続されている。ビア63には、端子64が接続されている。
第12の状態(ST12)は、BGA部品の端子65に接続するビアの候補を選択した状態を示す図である。この例では、端子65に接続するビアの候補として、ビア61が選択されている。そこで、ビア61からラインを辿って、ビア61に既に接続されている端子が探索される。
第13の状態(ST13)は、ビア61の接続先の探索状況を示している。探索により、ビア61は既に端子62に接続されていることが判明する。そこで端子65をビア61に接続するために、端子62を接続するための他のビアの探索が行われる。
図7は、端子を配線するビアの確保処理状況を示す第2の図である。第14の状態(ST14)は、端子62の別の接続先の候補となるビアの探索状況を示している。この例では、端子62の右上のビア63が、接続先の候補として選択されている。そこで、ビア63からラインを辿って、ビア63に既に接続されている端子が探索される。
第15の状態(ST15)は、ビア63の接続先の探索状況を示している。探索により、ビア63は既に端子64に接続されていることが判明する。そこで端子62をビア63に接続するために、端子64を接続するための他のビアの探索が行われる。
第16の状態(ST16)は、端子64の別の接続先の候補となるビアの探索状況を示している。この例では端子64の右上の位置に形成される新たなビア66が、接続先の候補として選択されている。ビア66は新たに形成されるため、いずれの端子にも接続されていない。従って、他の端子とビアとの接続関係を変更せずに、端子64をビア66に接続できることが判明する。
図8は、端子を配線するビアの確保処理状況を示す第3の図である。第17の状態(ST17)は、端子64の接続先となるビアの確定状況を示している。端子64をビア66に接続することが確定している。それに伴い、端子64とビア63との接続関係は解消される。
第18の状態(ST18)は、端子62の接続先となるビアの確定状況を示している。端子64とビア63との接続関係が解消したことで、端子62をビア63に接続することが確定する。それに伴い、端子62とビア61との接続関係は解消される。
第19の状態(ST19)は、端子65の接続先となるビアの確定状況を示している。端子62とビア61との接続関係が解消したことで、端子65をビア61に接続することが確定する。
このようにして、端子65の接続先となるビア61が確保される。
以上のようなバイパスコンデンサの位置の移動や、配線の接続関係の変更操作を、手作業で行う場合、非常に手間がかかる。本実施の形態では、バイパスコンデンサの位置の移動や配線の接続関係の変更がプリント回路板設計支援装置によって自動で実行される。そのため、バイパスコンデンサの配置およびBGA部品の端子に接続するビアの形成位置の決定作業が容易となる。
[第2の実施の形態]
第2の実施の形態は、第1の実施の形態に示した機能に対して、バイパスコンデンサの配置に有用な機能を追加したプリント回路板設計支援装置である。第2の実施の形態に係るプリント回路板設計支援装置は、例えばコンピュータにプリント回路板設計支援プログラムを実行させることで実現できる。
第2の実施の形態に係るプリント回路板設計支援装置には、以下の機能が実装されている。
(1)プリント回路板設計支援装置は、BGA部品とパスコンの関連性を明確化するデータ構造のデータベースを有する。このデータベースには、BGA部品とバイパスコンデンサは、部品間の関連性に加え、BGA部品の端子とバイパスコンデンサとの関連性が登録される。
(2)プリント回路板設計支援装置は、所定の条件でバイパスコンデンサをグループ化する。グループ化されたバイパスコンデンサには優先順位が与えられ、より重要なバイパスコンデンサが優先して多く配置される。優先順位の種類は、アナログ系優先、電圧値順、電源電圧値ごとに分類したピン数順などがある。本実施の形態では、低い電源電圧に接続されるバイパスコンデンサほど優先するものとする。低い電源電圧に接続されるバイパスコンデンサは、ノイズに対するマージンが少ない。そのため、バイパスコンデンサを確実に接続することで、プリント回路板の信頼性を向上させることができる。
(3)プリント回路板設計支援装置は、BGA部品に対し、バイパスコンデンサの配置と同時にBGA部品の端子からバイパスコンデンサへの引き出し配線を実施する。
(4)プリント回路板設計支援装置は、BGA部品ごとにグループ化されたパスコンを、さらに電源電圧値ごとに分類したサブグループを構成する。そして、サブグループごとのバイパスコンデンサを表すオブジェクトを、BGA部品の周囲に仮配置して表示する。
(5)プリント回路板設計支援装置は、BGA部品の端子からの配線の引き出し手法として、ピンへの直接ビア引き出し、BGA部品の端子間格子よりXYとも半格子シフトした位置へのビア引き出しのうちのいずれかの指定を受け付ける。そしてプリント回路板設計支援装置は、指定された手法に基づいてバイパスコンデンサの配置位置を決定する。
(6)プリント回路板設計支援装置は、BGA部品からの各端子の配線性を考慮し、パスコンの搭載方向を放射状に同一方向で統一した配置を優先適用する。
(7)プリント回路板設計支援装置は、一般にBGA部品内部に設置する、配線用にビアをなるべく設置しない十字境界部への配置の可否を制御する。
(8)プリント回路板設計支援装置は、BGA部品ないしはバイパスコンデンサを選択した際に、両者のあいだに接続線を表示する。
(9)プリント回路板設計支援装置は、BGA部品を構成する電源電圧を認識し、それらの電源端子群に適正な数のパスコンが接続されていることを検査する。
(10)プリント回路板設計支援装置は、BGA部品とそれに関連付けされているパスコンの搭載条件が定義されており、搭載条件に準拠した搭載がなされているかを検証する。
これらの機能を組み合わせることで、プリント回路板へのバイパスコンデンサの配置位置の決定に関する設計作業が容易となり、かつ信頼性の高いプリント回路板を設計可能となる。
図9は、プリント回路板設計支援装置のハードウェア構成例を示す図である。プリント回路板設計支援装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
RAM102は、プリント回路板設計支援装置100の主記憶装置として使用される。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。
バス108に接続されている周辺機器としては、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、および通信インタフェース107がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、プリント回路板設計支援装置100の二次記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ71が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ71の画面に表示させる。モニタ71としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード72とマウス73とが接続されている。入力インタフェース105は、キーボード72やマウス73から送られてくる信号をCPU101に送信する。なお、マウス73は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク74に記録されたデータの読み取りを行う。光ディスク74は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク74には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース107は、ネットワーク75に接続されている。通信インタフェース107は、ネットワーク75を介して、サーバ76などの他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図10は、プリント回路板設計支援装置の機能を示すブロック図である。プリント回路板設計支援装置100は、プリント回路板DB110、ユーザインタフェース部120、部品配置演算部130、および配置結果判定部140を有する。
プリント回路板DB110には、プリント配線板の構造に関する情報、プリント配線板に実装するBGA部品に関する情報、BGA部品の端子に接続するバイパスコンデンサに関する情報などが格納されたデータベースである。またプリント回路板DB110には、BGA部品とバイパスコンデンサの関連性を明確化した情報が格納される。例えばHDD103の記憶領域の一部が、プリント回路板DB110として使用される。
ユーザインタフェース部120は、プリント回路板の設計者からの操作入力の受け付けと、プリント回路板設計用の画面表示を行うユーザインタフェースである。ユーザインタフェース部120は、バイパスコンデンサ仮配置部121と、バイパスコンデンサ手動配置部122とを有している。
バイパスコンデンサ仮配置部121は、BGA部品の端子に関連付けられたバイパスコンデンサを、電源電圧値ごとに分類したサブグループを構成する。そして、バイパスコンデンサ仮配置部121は、プリント回路板設計画面の所定の位置に、サブグループごとのバイパスコンデンサを仮配置して表示する。
バイパスコンデンサ手動配置部122は、設計者からの操作入力に応じて、バイパスコンデンサをプリント配線板の所定の位置に配置する。またバイパスコンデンサ手動配置部122は、バイパスコンデンサを選択した際に、選択したバイパスコンデンサと、そのバイパスコンデンサに関連付けられたBGA部品の端子との間に、接続線を表示する。接続線を表示させることで、関連性が視覚的に認識しやすくなる。バイパスコンデンサ手動配置部122は、配置したバイパスコンデンサの情報をプリント回路板DB110に格納する。
部品配置演算部130は、プリント回路板に搭載するバイパスコンデンサの位置や、BGA部品の端子からの引き出し配線を接続するビアの位置などを演算によって求める。そして部品配置演算部130は、演算結果をプリント回路板DB110に格納する。このような機能を実現するため、部品配置演算部130は、接続情報記憶部131、端子優先順決定部132、優先配線方向決定部133、十字境界部配置可否設定部134、および接続関係決定部135を有する。
接続情報記憶部131は、接続関係決定部135の演算処理途中の段階での、BGA部品の端子の引き出し配線の情報や、バイパスコンデンサの配置場所の情報を記憶する記憶機能である。例えば、RAM102の記憶領域の一部が接続情報記憶部131として使用される。
端子優先順決定部132は、BGA部品の端子に関連付けられたバイパスコンデンサに、配置場所決定の優先順位を設定する。例えば端子優先順決定部132は、電圧値の低い端子に関連付けられたバイパスコンデンサの優先度を高くする。また端子優先順決定部132は、アナログ系の信号端子に関連付けられたバイパスコンデンサの優先度を高くすることもできる。また端子優先順決定部132は、電源電圧値ごとに分類した端子数に応じて、端子数の少ない(または多い)電源電圧の端子に関連付けられたバイパスコンデンサの優先順を高くすることができる。本実施の形態では、低電圧の端子に関連付けられたバイパスコンデンサの優先順を高くするものとする。これは、低電圧の端子は雑音の影響を受けやすく、バイパスコンデンサを接続する必要性が高いためである。
優先配線方向決定部133は、BGA部品の端子を配線するビアの位置を検討する際の、優先的に検討対象とする位置を決定する。具体的には、優先配線方向決定部133は、端子からビアに向けて放射状に配線されるようなビアの位置ほど、検討対象の優先順を高くする。そして優先配線方向決定部133は、接続情報記憶部131内の各端子から配線するビアの位置の候補を、優先順に沿って並べ替える。
十字境界部配置可否設定部134は、BGA部品の中心を通る十字型の境界領域について、バイパスコンデンサを配置するか否かを設定する。具体的には、十字境界部配置可否設定部134は、十字境界部にバイパスコンデンサを配置しない場合、その領域のビア作成可能位置に対し、ビア作成候補として調査済みであることを示すフラグを設定する。このフラグを設定することで、該当する位置はビア作成の候補から除外される。ビアが作成されなければ、その領域にバイパスコンデンサが配置されることもなくなる。他方、十字境界部配置可否設定部134は、十字境界部にバイパスコンデンサを配置しない場合、その領域のビア作成可能位置に対し、ビア作成候補として未調査であることを示すフラグを設定する。これにより、十字境界内のビア作成可能位置がビア作成の検討対象となり、バイパスコンデンサを配置することも可能となる。
接続関係決定部135は、接続情報記憶部131内のBGA部品の端子を、優先順の高いものから順次選択する。そして接続関係決定部135は、選択した端子に関連付けられたバイパスコンデンサの配置場所を決定する。なお接続関係決定部135は、端子から配線を接続するビアの作成位置は、該当するビアの周囲の候補位置について、優先配線方向決定部133で決定された優先順に沿って配線の当否を検討する。これにより、バイパスコンデンサの搭載方向を放射状に同一方向で統一した配置を優先することができる。配線方向を可能な限り統一することで、バイパスコンデンサを秩序正しく並べることができる。バイパスコンデンサが秩序正しく並べられていれば、空きスペースが少なくなり、より多くのバイパスコンデンサが配置可能となる。
また接続関係決定部135は、ビア作成候補位置として調査済みのフラグが設定されている位置は、端子から配線するビアの作成候補位置としての検討対象から除外する。これにより、BGA搭載領域中央の十字境界部へのバイパスコンデンサの配置の可否を制御することができる。
配置結果判定部140は、プリント回路板DB110を参照し、バイパスコンデンサの配置結果を評価する。評価結果は、ユーザインタフェース部120を介してモニタ71に表示される。配置結果判定部140はバイパスコンデンサの配置結果を評価するために、充足性判定部141と接続条件検証部142とを有する。
充足性判定部141は、BGA部品とそれに必要なバイパスコンデンサをグループ化する。そして充足性判定部141は、BGA部品の電源端子の電源電圧を認識し、それらの電源端子群について、バイパスコンデンサが接続されている端子の割合を算出する。
接続条件検証部142は、BGA部品とそれに関連付けされているバイパスコンデンサの接続条件に基づいて、配置されたバイパスコンデンサが接続条件を満たしているか否かを検証する。
次に図10に示した各構成要素の内容を詳細に説明する。
図11は、プリント回路板DBのデータ構造例を示す図である。プリント回路板DB110には、部品情報111、基板情報112、層情報113、ネット情報114、および関連性情報115が格納される。
部品情報111は、プリント回路板に搭載するBGA部品やバイパスコンデンサに関する情報である。例えば部品情報111には、各部品の搭載情報、部品形状、部品端子情報、部品端子グループ情報が含まれる。
部品の搭載情報としては、プリント配線板上での部品の位置、その部品の向きなどが含まれる。部品の位置は、例えばプリント回路基板について定義されたワールド座標系における部品の基準点の座標で示される。部品の向きは、例えばワールド座標系と部品のローカル座標系との成す角度で示される。
部品の形状は、例えば部品を構成する各面の頂点が、ローカル座標系における座標で示される。各面を組み合わせた形状が、部品の形状となる。
部品端子情報は、部品に設けられた端子の端子番号、端子の位置、その端子に入出力される信号名などである。端子の位置は、例えば部品のローカル座標系における座標で示される。部品がBGA部品の場合、各端子について、電源端子か、信号端子か、グランド端子かの識別情報が、部品端子情報に含まれる。さらにBGA部品の電源端子については、電源電圧を示す情報も部品端子情報に含まれる。
部品端子グループ情報は、部品端子を電源電圧の種別に応じてグループ化したときの、各端子が属するグループに関する情報である。
基板情報112は、プリント配線板に関する情報である。基板情報112には、プリント配線板の層構成や、基板サイズなどが含まれる。またプリント配線板に形成するビアの位置、ビアの径などの情報が基板情報112に含まれる。
層情報113は、プリント配線板を構成する層に関する情報である。層情報113には、例えば層の数、各層の属性などが含まれる。
ネット情報114は、プリント配線板上の配線に関する情報である。例えばネット情報114には、各配線を流れる信号の信号名、電圧値などが含まれる。またネット情報114には、BGA端子からビアへの引き出し配線に関する情報も含まれる。
関連性情報115は、BGA部品とバイパスコンデンサとの関連性に関する情報である。関連性情報115には、BGA部品のリストと、各BGA部品に接続するバイパスコンデンサのリストとが含まれる。また関連性情報115には、BGA部品の端子の、各端子に接続するバイパスコンデンサのリストが含まれる。さらに関連性情報115には、BGA部品に接続する各バイパスコンデンサの接続条件が含まれる。
次に、プリント回路板DB110内の情報のうち、バイパスコンデンサの配置場所の決定に影響を与える情報について詳細に説明する。
図12は、部品情報内の部品端子グループ情報の例を示す図である。部品端子グループ情報111aは、部品名、電源種、グループ、および端子番号の欄が設けられたテーブル構造となっている。各欄の横方向に並べられた情報が、1つのグループに関する部品端子グループ情報である。なお図12の例では部品端子グループ情報111aがテーブル構造となっているが、他のデータ構造であってもよい。
部品名の欄には、グループ分けの対象となっているBGA部品の部品番号が設定される。電源種の欄には、グループの属する端子の電源種別が設定される。グループの欄には、グループの識別番号が設定される。端子番号には、グループに属する端子の識別番号(端子番号)が設定される。
図13は、関連性情報のデータ構造例を示す図である。関連性情報115には、条件番号と接続条件との欄が設けられている。条件番号の欄には、接続条件の識別番号(条件番号)が設定される。接続条件の欄には、各BGA部品の端子に接続するバイパスコンデンサに関する接続条件が設定される。
接続条件の欄は、条件名、BGA部品番号、端子番号、搭載面、許容距離、電圧値、バイパスコンデンサ部品番号、および個数の欄に細分化されている。条件名の欄には、接続条件の識別名が設定される。BGA部品番号の欄には、接続条件が適用されるBGA部品の部品番号が設定される。端子番号の欄には、接続条件が適用される端子の端子番号が設定される。なお特定の端子を指定せずに、バイパスコンデンサを実装する際の接続条件のみを定義する場合、端子番号の欄に「指示なし」と設定される。搭載面の欄には、バイパスコンデンサを搭載するプリント配線板の面を示す情報が設定される。許容距離の欄には、端子とバイパスコンデンサとの間に許容される最大距離が設定される。電圧値の欄には、バイパスコンデンサの電圧の許容値(耐電圧)が設定される。バイパスコンデンサ部品番号の欄には、BGA部品の端子に関連付けられたバイパスコンデンサの部品番号が設定される。個数の欄には、BGA部品の端子に接続されるバイパスコンデンサの個数が設定される。
なお図13の例では、各バイパスコンデンサの許容距離が「2.000mm」となっている。この許容距離は、BGA部品の端子間格子よりXY軸方向に半格子シフトした位置にバイパスコンデンサを配置した場合における、BGA部品の端子とバイパスコンデンサの端子との距離よりも長い。また図13の例では、すべてのバイパスコンデンサに同じ許容距離が設定されているが、許容距離はバイパスコンデンサごとに任意の値を設定できる。例えば電源電圧の高い電源端子に接続するバイパスコンデンサについては、「2.000mm」よりも長い許容距離としてもよい。
以上のような構成のプリント回路板設計支援装置100において、設計者からの操作入力に応じて、BGA端子からの配線を伴うバイパスコンデンサの自動配置、またはBGA端子からビアへの自動配線が行われる。まず、バイパスコンデンサの自動配置について詳細に説明する。
図14は、バイパスコンデンサ配置処理の手順を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。なお、この処理は、バイパスコンデンサの配置処理を指示する操作入力が行われた場合に実行される。
[ステップS11]ユーザインタフェース部120は、設計者からの配置条件を指定する操作入力を受け付ける。配置条件としては、BGA部品の端子の直下にビアを形成するのか、BGA部品の端子間格子よりXY軸方向に半格子シフトした位置にビアを形成するのかの指定がある。また、配置条件として、バイパスコンデンサの配置対象とするBGA部品が指定される。また、配置条件として、バイパスコンデンサを仮配置する際の配置場所が指定される。仮配置の場所としては、例えばBGA部品の近傍に配置するか、プリント配線基板の外に配置するのかが指定される。また、配置条件として、十字境界部への配置を許容するか否かが指定される。
[ステップS12]ユーザインタフェース部120は、バイパスコンデンサ仮配置部121に、画面上でバイパスコンデンサの仮配置を行わせる。バイパスコンデンサ仮配置部121は、バイパスコンデンサ配置対象のBGA部品に関連付けられているバイパスコンデンサを、BGA部品の電源端子に付与されたグループごとに分けて配置し、モニタ71に画面表示する。
[ステップS13]端子優先順決定部132は、バイパスコンデンサの配置位置の検討対象として端子を選択する順番を決定する。例えば端子優先順決定部132は、印可電圧の小さい端子ほど優先順を高くする。そして、端子優先順決定部132は、接続情報記憶部131に記憶されているBGA部品の端子のリストを、優先順に沿って並べ替える。
[ステップS14]優先配線方向決定部133は、BGA部品の各端子について、優先配線方向を決定する。具体的には、優先配線方向決定部133は、BGA部品の端子からビアへの配線が放射状となるように、端子の配線先とするビアの形成位置の選択順を決定する。ここで、放射状の配線とは、端子の位置からビアの位置を示すベクトルが、BGA部品の中心から遠ざかる方向を向いた配線である。このように配線方向を揃えることで、パスコンを整然と並べることができ、より多くのバイパスコンデンサの配置が可能となる。なお、配線の向きが揃っていることが重要であるため、端子の位置からビアの位置を示すベクトルが、BGA部品の中心に近づく方向を向いた配線としてもよい。
優先配線方向決定部133は優先配線方向が決定されると、接続情報記憶部131内の各端子に関連付けられたビアの形成位置の候補を、優先順に沿って並べ替える。
[ステップS15]十字境界部配置可否設定部134は、BGA部品の十字境界部にバイパスコンデンサを配置するか否かの指示を、ユーザインタフェース部120を介して受け取る。そして、十字境界部配置可否設定部134は、指示に応じて、接続情報記憶部131内の十字境界部内のビア作成可能位置に、調査済みまたは未調査のフラグを設定する。
[ステップS16]接続関係決定部135は、BGA部品の各端子に接続するバイパスコンデンサの位置を決定し、端子からビアを介してバイパスコンデンサに接続する配線を設定する。具体的には、接続関係決定部135は、接続情報記憶部131内のBGA部品の端子を、優先順に沿って選択する。次に、接続関係決定部135は、選択した端子の周囲の位置について、ビアを作成しバイパスコンデンサを配置可能かどうか、優先順が高い位置から順に調査する。その際、接続関係決定部135は、調査済みと設定されている位置は調査対象から除外する。
なお、接続関係決定部135は、ビア作成候補として調査しているビアに他の端子にバイパスコンデンサを接続する配線が設定されている場合、他の端子に接続されるバイパスコンデンサの位置をずらすことが可能かどうかを検討する。
[ステップS17]ユーザインタフェース部120は、設計者からの操作入力に応答して、関連付けられた端子とバイパスコンデンサとの関係を示す関連線を、モニタ71に表示する。
[ステップS18]バイパスコンデンサ手動配置部122は、設計者からの操作入力に応答して、バイパスコンデンサをプリント配線板上に配置する。この際、バイパスコンデンサ手動配置部122は、設計者からの操作入力に応答して、接続関係決定部135で配置されたバイパスコンデンサの位置を変更することもできる。
[ステップS19]充足性判定部141は、設計者からの充足性判定を指示する操作入力に応答して、BGA部品に関するバイパスコンデンサの充足性を判定する。充足性は、BGA部品の端子のうち、バイパスコンデンサが接続された端子の割合で表される。
[ステップS20]接続条件検証部142は、設計者からの接続条件の検証を指示する操作入力に応答して、BGA部品の端子に接続されたバイパスコンデンサが接続条件を満たしているか否かを検証する。接続条件検証部142は、接続条件を満たさないバイパスコンデンサがある場合、エラーを出力する。出力されたエラーは、ユーザインタフェース部120を介してモニタ71に表示される。
以上のようにして、BGA部品に接続するバイパスコンデンサの配置を容易に行うことができる。以下、図14に示す各処理の内容を詳細に説明する。
まず、ステップS11に示す配置条件入力受け付け処理について詳細に説明する。入力される配置条件には、まず、ビアの作成位置に関する条件がある。ビアの作成位置の条件には、端子から半格子シフトしてビアを配置する指示と、端子の直下にビアを配置する指示とがある。
図15は、端子から半格子シフトしてビアを配置する場合の端子とビアとの位置関係を示す図である。図中、端子を「B」で示し、ビアを「V」で示す(図16,図23,図24においても同様)。
図15の例では、端子80に接続するビアの位置の候補の例が示されている。図15に示されている実線は、BGA部品の端子の間隔を単位幅とした格子である。この実線で示された格子を端子用格子とする。BGA部品の各端子は、端子用格子の格子点上に位置する。
破線は、実線で示された端子用格子から、その端子用格子の単位幅の半分(半格子)の距離だけX軸方向とY軸方向とにずらした格子である。この破線で示された格子をビア用格子とする。プリント配線板のビアは、ビア用格子の格子点上に作成することができる。
端子80は、端子80から半格子だけX方向とY方向とにずれた位置のビア81〜84のいずれかに配線することができる。このように端子80からビアへの引き出し配線は、4方向の選択肢がある。図15の例では、端子80の接続先としてビア81を選択したものとする。
ビア81が選択されると、ビア81に一方の端子が接続されたバイパスコンデンサ85の配置場所が検討される。バイパスコンデンサ85は、ビア用格子の格子幅と同じ幅の2つの端子を備えている。バイパスコンデンサ85の配置場所を検討する場合、ビア81の位置を基準とした配置方向として、図15に示す4方向への配置が可能である。バイパスコンデンサ85の長辺とX軸との成す角とでバイパスコンデンサ85の方向を表すと、0度、90度、180度、および270度の方向となる。例えば、バイパスコンデンサ85を180度の方向に配置すると、ビア81とビア82とを接続する位置にバイパスコンデンサ85が配置される。また、バイパスコンデンサ85を270度の方向に配置すると、ビア81とビア84とを接続する位置にバイパスコンデンサ85が配置される。
図16は、端子の直下にビアを配置する場合の端子とビアとの位置関係を示す図である。図16の例では、端子90に接続するビアの位置の候補の例が示されている。図16に示されている実線は、BGA部品の端子の間隔を単位幅とした格子である。この実線で示された格子を端子用格子とする。BGA部品の各端子は、端子用格子の格子点上に位置する。また、プリント配線板のビアも、端子用格子の格子点上に作成することができる。図16では、端子とビアとが重なった位置を「B,V」で示す。
端子90は、その直下にビアを作成し、配線される。すると、端子90の位置に設けられたビアに一方の端子が接続されたバイパスコンデンサ93の配置場所が検討される。バイパスコンデンサ93は、端子用格子の格子幅と同じ幅の2つの端子を備えている。バイパスコンデンサ93の配置場所を検討する場合、端子90の直下のビアの位置を基準とした配置方向として、図16に示す4方向への配置が可能である。バイパスコンデンサ93の長辺とX軸との成す角とでバイパスコンデンサ93の方向を表すと、0度、90度、180度、および270度の方向となる。例えばバイパスコンデンサ93を180度の方向に配置すると、端子90と端子91とを接続する位置にバイパスコンデンサ93が配置される。また、バイパスコンデンサ93を270度の方向に配置すると、端子90と端子92とを接続する位置にバイパスコンデンサ93が配置される。
ユーザインタフェース部120は、図15に示すように端子から半格子シフトしてビアを配置するのか、図16に示すように端子の直下にビアを配置するのかを指示する操作入力を取得し、配置条件としてRAM102内に格納する。そして、ユーザインタフェース部120は、端子とビアとの位置関係に関する配置条件を、部品配置演算部130に渡す。これにより、部品配置演算部130によって配置条件に従ってビアの位置が決定される。
また、配置条件には、仮配置の配置場所指定がある。ユーザインタフェース部120は、仮配置の場所を指示する操作入力を取得し、配置条件としてRAM102内に格納する。そして、ユーザインタフェース部120は、仮配置の場所に関する配置条件を、バイパスコンデンサ仮配置部121に渡す。これにより、バイパスコンデンサ仮配置部121によって、モニタ71の画面上でバイパスコンデンサが仮配置される。
図17は、BGA部品近傍にバイパスコンデンサを仮配置した場合の表示例を示す図である。画面にはBGA部品210が表示されている。BGA部品210の上には、グループ201,202に分類されたバイパスコンデンサが表示されている。グループ201,202は、BGA部品の電源端子を電源種ごとにグループ化することで得られたものである。
各グループ201,202は、矩形の枠で囲まれている。また、各グループ201,202の上には、そのグループ内のバイパスコンデンサが関連付けられたBGA部品の部品番号、および関連する端子が属する電源種の電圧値が表示されている。
図18は、プリント配線基板の外にバイパスコンデンサを仮配置した場合の表示例を示す図である。図18の例では、プリント配線基板200上に2つのBGA部品210,220が表示されている。なお、バイパスコンデンサの配置対象として選択されているBGA部品210が強調表示されている。プリント配線基板200の上には、バイパスコンデンサの配置対象のBGA部品210に関連するバイパスコンデンサが、グループ201,202に分類して表示されている。
図19は、仮配置処理の手順を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS31]ユーザインタフェース部120は、仮配置場所を指示する配置条件の入力を受け付ける。そしてユーザインタフェース部120は、バイパスコンデンサ仮配置部121に、仮配置場所の指示を渡す。
[ステップS32]ユーザインタフェース部120は、バイパスコンデンサの配置対象とするBGA部品を選択する操作入力を受け付ける。そしてユーザインタフェース部120は、選択されたBGA部品の情報(例えば部品番号)をバイパスコンデンサ仮配置部121に渡す。
[ステップS33]バイパスコンデンサ仮配置部121は、選択されたBGA部品に関連するバイパスコンデンサをグループ化する。具体的には、バイパスコンデンサ仮配置部121は、図12に示す部品情報111内の部品端子グループ情報111aを参照することで、BGA部品の各端子の電源種を認識できる。また、バイパスコンデンサ仮配置部121は、図13に示す関連性情報115を参照することで、各端子に関連付けられたバイパスコンデンサを認識できる。これらの情報より、バイパスコンデンサ仮配置部121は、BGA部品210の端子に関連するバイパスコンデンサを、関連する端子の電源種ごとにグループ化することができる。すなわちバイパスコンデンサ仮配置部121は、同じ電圧の電源種に属する各端子に関連付けられたバイパスコンデンサを、同じグループにまとめる。
[ステップS34]バイパスコンデンサ仮配置部121は、バイパスコンデンサのオブジェクトをグループごとの枠内に表示する。具体的には、バイパスコンデンサ仮配置部121は、ステップS31で指定された配置場所に、グループごとの枠を表示する。次にバイパスコンデンサ仮配置部121は、各グループの枠内に、そのグループに属するバイパスコンデンサに対応するオブジェクトを表示する。
[ステップS35]バイパスコンデンサ仮配置部121は、各グループの枠の上に、関連するBGA部品の部品番号と電源種を表示する。
このようにして、BGA部品の電源端子に付与されたグループに従い、BGA部品とリンク関係を持つバイパスコンデンサが、グループごとに分類して仮配置して表示される。このような仮配置を行うことで、BGA部品に対し、手動でバイパスコンデンサを配置する場合に、配置指示がし易くなる。すなわち、仮配置されたバイパスコンデンサのオブジェクトは、マウスポインタで指定することで、設計者が任意に移動できる。そして、バイパスコンデンサがBGA部品上に移動されると、移動された位置がそのバイパスコンデンサの配置場所として決定される。
また部品配置演算部130によりバイパスコンデンサの配置場所を自動で決定した場合、位置が決定したバイパスコンデンサのオブジェクトは、決定された場所に移動される。これにより、自動配置によるグループごとのバイパスコンデンサの配置状況を、設計者が容易に認識できる。例えばグループの枠内にバイパスコンデンサのオブジェクトが残っていれば、未配置のバイパスコンデンサが存在していることを一目で認識できる。
このように、バイパスコンデンサの電圧値ごとの整列配置を行うことで、バイパスコンデンサの配置にかかる作業時間を短縮できる。
次に端子優先順決定処理の詳細を説明する。
図20は、端子優先順決定処理の手順を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップS41]端子優先順決定部132は、BGA端子リストを作成する。具体的には、端子優先順決定部132はプリント回路板DB110のBGA部品の部品情報111を参照し、そのBGA部品の端子識別子を取得する。そして、端子優先順決定部132は、取得した端子識別子を並べ、BGA端子リストを作成する。作成されたBGA端子リストは、接続情報記憶部131に格納される。
[ステップS42]端子優先順決定部132は、端子の電源種情報を取得する。具体的には、端子優先順決定部132は、部品情報111内の部品端子グループ情報111aを取得する。端子優先順決定部132は、部品端子グループ情報111aに示される電源種ごとの端子番号に基づいて、各端子の電源種を判別する。
[ステップS43]端子優先順決定部132は、BGA端子リストの各端子を、電源種の電圧が低い順に並べ替える。
図21は、BGA端子リストの並べ替え状況を示す図である。図21に示すように接続情報記憶部131には、BGA端子リスト131aが格納されている。BGA端子リスト131aは、バイパスコンデンサの配置対象となるBGA部品の端子識別子を並べたものである。各端子の電源種は、部品端子グループ情報111aで判別できる。そこで端子優先順決定部132によって、電圧の低い端子の識別子が上位となるように、BGA端子リスト131aがソートされる。
このように電圧の低い端子をBGA端子リスト131aの上位に設定しておけば、接続関係決定部135において、電圧の低い端子ほど優先的に選択される。その結果、電圧の低い端子には、確実にバイパスコンデンサを接続することができる。電圧の低い端子は、ノイズの影響を受けやすく、バイパスコンデンサを接続する必要性が高い。すなわち、電圧の低い端子に確実にバイパスコンデンサを接続することで、プリント回路板としての信頼性が向上する。
次に優先配線方向決定処理について説明する。優先配線方向決定処理では、BGA端子から放射状に配線を引き出す方向のビアへの配線の可否を優先的に検討する。
図22は、配線の優先引き出し方向の例を示す図である。なお本実施の形態では、完全な放射状ではなく、図22に示すようにBGA部品210の中心から四隅への方向を、優先引き出し方向とする。このように配線の引き出し方向を統一することで、バイパスコンデンサを整然とならべ、より多くのバイパスコンデンサの配置が可能となる。
図23は、放射状配線とランダム配線との比較例を示す図である。図23(A)は、放射状配線でバイパスコンデンサを配置した例である。図23(B)は、ランダム配線でバイパスコンデンサを配置した例である。なお図23(A)、図23(B)では端子を「B」で示し、ビアを「V」で示している。
放射状配線では、端子からバイパスコンデンサ231〜235が接続されたビアへの配線が、すべて左上方向に統一されている。これによりバイパスコンデンサ231〜235が整然と並び、無駄なスペースが発生していない。
ランダム配線では、端子からビアへの配線方向を統一していない。そのため、端子からバイパスコンデンサ241〜246が接続されたビアへの配線方向は、左上方向のものと、右下方向のものとがある。すると、バイパスコンデンサの搭載角度もランダムとなる。その結果、ビア247のように、バイパスコンデンサを接続できないビアが発生する。すなわち、デッドスペースが発生してしまう。デッドスペースが増える程、接続できるバイパスコンデンサの数も減ってしまう。
なお、本実施の形態では、適宜、バイパスコンデンサの再配置を行う。そのため、もし初期の段階でランダム配線が行われてデッドスペースが生じても、バイパスコンデンサの再配置によりデッドスペースは少なくなる。しかし、初期の段階からデッドスペースが少なければ、再配置処理時間を短縮することができる。すなわち、再配置処理で位置をずらすバイパスコンデンサの数が多い程、再配置処理に時間がかかる。位置をずらすべきバイパスコンデンサが少なければ、再配置が必要となった場合でも、再配置処理を短時間で終了できる。
図24は、端子の場所ごとの優先引き出し方向の違いを示す図である。図24には、BGA部品210の中心を原点とする座標系が示されている。横方向にX軸、縦方向にY軸が採られている。このような座標系を考え、各端子から配線を引き出す場合、その端子が属する象限によって、ビアへの優先引き出し方向が判定される。
端子のX座標が正、Y座標が正であれば、その端子は第1象限に属する。第1象限に属する端子は、その端子から右上方向の位置のビアに優先的に配線が引き出される。端子のX座標が負、Y座標が正であれば、その端子は第2象限に属する。第2象限に属する端子は、その端子から左上方向の位置のビアに優先的に配線が引き出される。端子のX座標が負、Y座標が負であれば、その端子は第3象限に属する。第3象限に属する端子は、その端子から左下方向の位置のビアに優先的に配線が引き出される。端子のX座標が正、Y座標が負であれば、その端子は第4象限に属する。第4象限に属する端子は、その端子から右下方向の位置のビアに優先的に配線が引き出される。
図25は、優先配線方法決定処理の手順を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
[ステップS51]優先配線方向決定部133は、BGA部品を1つ選択する。
[ステップS52]優先配線方向決定部133は、部品中央座標を算出する。具体的には、優先配線方向決定部133は、プリント回路板DB110の部品情報111における選択したBGA部品の情報を参照する。部品情報111には、部品の搭載情報と部品形状とが含まれる。部品搭載情報には、部品の所定の基準点の、プリント配線板上での位置を示す座標が示されている。優先配線方向決定部133は、部品の形状に基づいて、その部品の中心を算出する。そして、優先配線方向決定部133は、部品の基準点から中心までの差を、その部品の位置に加算することで、部品中央座標を算出する。
[ステップS53]優先配線方向決定部133は、選択されているBGA部品の引き出し対象端子を選択する。具体的には、優先配線方向決定部133は、BGA端子リスト131aの上位から順に端子を選択し、引き出し対象端子とする。
[ステップS54]優先配線方向決定部133は、最優先のビア作成候補位置を選択する。具体的には、優先配線方向決定部133は、引き出し対象端子の位置が、BGA部品の中心を原点とする座標系において、第何象限に属するのかを判別する。そして優先配線方向決定部133は、図24に示したように、引き出し対象端子が属する象限に応じて、原点から遠ざかる方向のビアの位置を、最優先のビア作成候補位置と決定する。
[ステップS55]優先配線方向決定部133は、選択したビア作成候補位置を、ビア作成候補リストの先頭に配置する。ビア作成候補リストは、BGA端子リスト131aの選択したBGA端子の端子番号に関連付けて登録される。
[ステップS56]優先配線方向決定部133は、選択されているBGA部品のすべての端子を処理したか否かを判断する。すべての端子を処理した場合、処理がステップS57に進められる。未処理の端子がある場合、処理がステップS53に進められる。
[ステップS57]優先配線方向決定部133は、すべてのBGA部品を処理したか否かを判断する。すべてのBGA部品を処理した場合、優先配線方向決定処理が終了する。未処理のBGA部品がある場合、処理がステップS51に進められる。
図26は、ビア作成候補リストの例を示す図である。ビア作成候補リスト131bは、BGA端子リスト131aの各端子番号に対応付けて設けられている。ビア作成候補リスト131bは、対応する端子の周囲のビア作成候補位置を示す情報のリストである。図中、左に示されたビア作成候補位置ほど優先順位が高い。すなわち、端子番号からポインタで指し示されたビア作成候補位置が、最優先のビア作成候補位置である。
例えば第1象限の端子であれば、その端子の右上のビア作成候補位置(右上候補地)が、最優先のビア作成候補位置となる。また、第2象限の端子であれば、その端子の左上のビア作成候補位置(左上候補地)が、最優先のビア作成候補位置となる。
このようにして、放射状の配線を優先して、端子からビアへ配線を引き出すことができる。
次に十字境界部の配置可否設定処理について説明する。十字境界部への配置の可否は、設計者からの操作入力によって指定される。
図27は、十字境界部への配置の可否の設定状況を示す図である。ユーザインタフェース部120は、配置条件設定画面250をモニタ71に表示する。配置条件設定画面250には、十字境界部211への配置を許容するか否かを指定するチェックボックス251が設けられている。設計者は、十字境界部211へのバイパスコンデンサの配置を許可する場合、チェックボックス251を選択してチェックマークを表示させる。十字境界部211への配置を許容するか否かの指定内容は、ユーザインタフェース部120から部品配置演算部130内の十字境界部配置可否設定部134に通知される。十字境界部配置可否設定部134は、十字境界部211への配置が許容されていれば、十字境界部211内のビア作成候補位置を未調査とする。また、十字境界部配置可否設定部134は、十字境界部211への配置が許容されていなければ、十字境界部211内のビア作成候補位置を調査済みとする。
BGA端子の十字境界部211は、ラインを通すためにビアを設置しないケースが多い。そこで、設計者は、十字境界部211への配線を優先する場合、十字境界部211への配置を許容しなければよい。また、十字境界部211への配線よりバイパスコンデンサの配置を優先する場合は、設計者は、十字境界部211へのビア設置を許可することができる。このように、配線よりバイパスコンデンサの配置を優先する場合はここへのビア設置を許可するユーザ指示が可能となる。
図28は、十字境界部の配置可否設定処理の手順を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。
[ステップS61]十字境界部配置可否設定部134は、十字境界部への配置可否入力を受け付ける。具体的には、十字境界部配置可否設定部134は、配置条件設定画面250における十字境界部配置可否の指示内容を、ユーザインタフェース部120を介して取得する。
[ステップS62]十字境界部配置可否設定部134は、十字境界部を検出する。具体的には、十字境界部配置可否設定部134は、BGA部品の外周から中央十字線を求める。例えばBGA部品が四角形の場合、十字境界部配置可否設定部134は、外周から4つの角の座標(頂点座標)を求める。次に十字境界部配置可否設定部134は、隣り合う頂点座標間の中点を求める。そして十字境界部配置可否設定部134は、対向する辺の中点を結ぶ2つの線分を中央十字線と認識する。
中央十字線が求まると、十字境界部配置可否設定部134はその中央十字線に最も近いビア作成候補位置列を縦横1列ずつ検出する。そして十字境界部配置可否設定部134は、検出した縦横1列ずつのビア作成候補位置列を、十字境界部と認識する。
[ステップS63]十字境界部配置可否設定部134は、ステップS61で取得した配置可否入力の内容が、配置許容の指示か、配置非許容の指示かを判断する。配置許容であれば、処理がステップS64に進められる。配置非許容であれば、処理がステップS65に進められる。
[ステップS64]十字境界部配置可否設定部134は、配置許容の場合、十字境界部のビア作成候補位置の調査済みフラグを、「未調査」に設定する。その後、処理が終了する。
[ステップS65]十字境界部配置可否設定部134は、配置非許容の場合、十字境界部のビア作成候補位置の調査済みフラグを、「調査済み」に設定する。その後、処理が終了する。
このように、十字境界部へのバイパスコンデンサの配置が許容されない場合、十字境界部内のビア作成候補位置のすべてに調査済みフラグが設定される。調査済みフラグは、端子からの引き出し配線を接続する先としてビア作成候補位置を探索する際の、ビア作成の可否判断が終了していることを示す。すなわち、調査済みフラグが設定されていると、以後、該当するビア作成候補位置が、引き出し配線の接続先として選択されることがなくなる。引き出し配線の接続先として使用されないビア作成候補位置には、バイパスコンデンサが配置されることもない。
他方、十字境界部へのバイパスコンデンサの配置が許容された場合、十字境界部内のビア作成候補位置のすべてに未調査のフラグが設定される。これにより、十字境界部内のビア作成候補位置も調査対象となり、バイパスコンデンサを配置可能となる。
このように、設計者の指示により十字境界部にもバイパスコンデンサを配置可能とすることで、より多くのバイパスコンデンサの配置が可能となる。
次に、バイパスコンデンサ配置および配線処理について説明する。
図29は、端子から半格子シフトしてビアを配置する場合のバイパスコンデンサ配置手順を示す図である。図29では、バイパスコンデンサの配置の際の状態遷移を、第1の状態から第4の状態で示している。
第1の状態は、選択されている端子80から引き出し配線を接続するビアの探索状況を示している。この例では、端子80の右上のビア81の位置が、ビア作成候補位置として選択されている。
第2の状態は、ビア作成候補位置のビア81にバイパスコンデンサ85を仮接続した状況を示している。
第3の状態は、仮接続したバイパスコンデンサ85のもう片方の端子に接続可能なビアの探索状況を示している。この例では、右側のビア86が接続先として選択されている。
第4の状態は、バイパスコンデンサ85の接続先として選択されたビアに配線を引き出し可能な端子の探索状況を示している。この例では、ビア87が選択されている。なお、最初に選択された端子80が電源端子または信号端子であれば、ビア87はグランド端子であることが要求される。
図30は、端子の直下にビアを配置する場合のバイパスコンデンサの配置手順を示す図である。図30では、バイパスコンデンサの配置の際の状態遷移を、第1の状態から第3の状態で示している。
第1の状態は、選択されている端子90の直下にビアの配置を決定した状態を示している。図30では、直下にビアが形成される端子を「B,V」の記号で示している。
第2の状態は、ビア作成候補位置のビアにバイパスコンデンサ93を仮接続した状態を示している。
第3の状態は、仮接続したバイパスコンデンサ93のもう片方の端子に接続可能なビアの探索状況を示している。この例では、右側の端子94の位置が、バイパスコンデンサ93を接続するビア作成候補位置として選択されている。
図31は、バイパスコンデンサ配置および配線処理の手順を示すフローチャートである。なおバイパスコンデンサの配置を行うBGA部品が複数ある場合、BGA部品ごとに、図31に示す処理が実行される。以下、図31に示す処理をステップ番号に沿って説明する。
[ステップS71]接続関係決定部135は、プリント回路板DB110からバイパスコンデンサ配置対象のBGA部品に関する関連性情報115を取得する。また接続関係決定部135は、接続情報記憶部131を参照して、BGA部品の端子を選択する優先順位を認識する。すなわち図21に示すBGA端子リスト131aにおける上位の端子が優先的に選択される。
[ステップS72]接続関係決定部135は、優先順に沿って端子を選択する。具体的には、接続関係決定部135は、未選択の端子のうち、BGA端子リスト131a内で最も上位にある端子を選択する。
[ステップS73]接続関係決定部135は、引き出し配線ビアを作成可能か否かを判断する。端子から半格子シフトしてビアを配置する場合、選択された端子の周囲から引き出し配線ビアの作成可能な位置が探索される。端子の直下にビアを配置する場合、選択された端子の直下にビアが作成可能か否かが判断される。なお以下の説明では、端子から半格子シフトしてビアを配置するものとする。
引き出し配線ビアが作成可能であれば、処理がステップS74に進められる。引き出し配線ビアが作成できなれば、処理がステップS80に進められる。
[ステップS74]接続関係決定部135は、バイパスコンデンサの接続が必要な端子か否かを判断する。具体的には接続関係決定部135は、関連性情報115においてバイパスコンデンサが関連づけられている端子であれば、バイパスコンデンサの接続が必要と判断する。また接続関係決定部135は、部品情報111を参照し、選択した端子が電源端子であればバイパスコンデンサの接続が必要と判断する。なお接続関係決定部135は、部品情報111を参照し、選択した端子が信号端子である場合にもバイパスコンデンサの接続が必要と判断するようにしてもよい。バイパスコンデンサの接続が必要な端子であれば、処理がステップS75に進められる。バイパスコンデンサの接続が必要な端子でなければ、処理がステップS80に進められる。
[ステップS75]接続関係決定部135は、ビア作成候補位置を選択する。具体的には、接続関係決定部135は、優先配線方向決定部133により決定された優先順で、端子周囲から配線可能なビア作成候補位置を選択する。
[ステップS76]接続関係決定部135は、選択したビア作成候補位置が未処理の候補位置か否かを判断する。未処理の候補位置であれば、処理がステップS77に進められる。すでに処理した候補位置であれば、処理がステップS80に進められる。
[ステップS77]接続関係決定部135は、選択したビア作成候補位置にビアを作成可能か否かを判断する。具体的には接続関係決定部135は、選択したビア作成候補位置に調査済みフラグが設定されていれば、配置できないと判断する。例えば十字境界部へのビアの作成が許容されていない場合、該当領域内のビア作成候補位置については、ビア作成不可能と判断される。
[ステップS78]接続関係決定部135は、選択したビア作成候補位置に作成したビアを介してバイパスコンデンサを接続し、そのバイパスコンデンサを介してグランド端子に接続できるか否かを判断する。なお、接続関係決定部135は、すでに配置されているバイパスコンデンサの再配置、および引き出し配線の再設定を行っても、選択した端子からバイパスコンデンサを介してグランド端子に接続できない場合に、接続ができないと判断する。必要に応じてバイパスコンデンサの再配置などを行い接続できる場合、処理がステップS79に進められる。接続できない場合、処理がステップS75に進められる。
[ステップS79]接続関係決定部135は、選択した端子から、バイパスコンデンサを介したグランド端子までの配線およびバイパスコンデンサの配置場所を示す情報を、接続情報記憶部131に格納する。
[ステップS80]接続関係決定部135は、未処理の端子があるか否かを判断する。未処理の端子があれば、処理がステップS72に進められる。すべての端子について処理が完了していれば、処理がステップS81に進められる。
[ステップS81]接続関係決定部135は、プリント回路板DB110における配線の情報、およびバイパスコンデンサの配置場所に関する情報を更新する。その後、処理が終了する。
このようにして、BGA部品におけるバイパスコンデンサの配置が必要なすべての端子に関して、バイパスコンデンサの配置が試みられる。そして可能な限り多くのバイパスコンデンサの配置が決定される。バイパスコンデンサの配置が自動で決定されることにより、プリント回路板の設計者の作業負担が軽減される。
次にBGA部品の端子とバイパスコンデンサとの接続関連性表示処理について詳細に説明する。
図32は、BGA部品の端子とバイパスコンデンサとの関連性表示画面の例を示す図である。ユーザインタフェース部120のバイパスコンデンサ手動配置部122は、BGA部品210の端子とバイパスコンデンサ261〜273との関連性情報に基づいて、端子とバイパスコンデンサ261〜273との間を接続する関連線を表示する。関連線は、端子の位置とバイパスコンデンサの位置とを両端とする線分である。これにより関連性が目視上で容易に理解でき、バイパスコンデンサを手動で配置する際に、間違いのない配置を支援できる。
なおバイパスコンデンサ手動配置部122は、静的な状態のみならず、バイパスコンデンサを移動している最中(ドラッグ中)にも、そのバイパスコンデンサと端子とを接続する関連線を表示する。
図33は、関連線表示処理の手順を示すフローチャートである。以下、図33に示す処理をステップ番号に沿って説明する。
[ステップS91]バイパスコンデンサ手動配置部122は、設計者からの関連線表示命令を示す操作入力を受け付ける。
[ステップS92]バイパスコンデンサ手動配置部122は、関連性情報115を参照し、BGA部品の端子と、その端子に関連づけられたバイパスコンデンサとを関連線で結ぶ。以後、バイパスコンデンサ手動配置部122は、バイパスコンデンサを移動している最中でも、関連線の端部を随時更新し、リアルタイムに関連線を生成する。
設計者は、このように表示された関連線を参考にして、バイパスコンデンサの新たな配置、および自動で配置されたバイパスコンデンサの位置の移動などを指示する操作入力を行うことができる。バイパスコンデンサ手動配置部122は、設計者からの操作入力に応じて、バイパスコンデンサを移動すると共に、関連線を表示する。バイパスコンデンサがビア作成可能な位置に移動され、確定の操作入力が行われると、バイパスコンデンサ手動配置部122はその時点のバイパスコンデンサの位置を確定し、プリント回路板DB110を更新する。
次に、充足性判定処理について詳細に説明する。バイパスコンデンサの配置作業が完了した場合、あるいはバイパスコンデンサの配置作業途中で、設計者は充足性判定指示の操作入力を行うことができる。充足性判定指示は、ユーザインタフェース部120を介して充足性判定部141に伝えられる。充足性判定部141は、充足性判定指示に応答して、BGA部品の電源種ごとのバイパスコンデンサ充足率を計算する。そして、充足率がユーザインタフェース部120を介してモニタ71に表示される。
図34は、充足率表示画面の一例を示す図である。充足率表示画面280には、充足率の演算結果が充足率情報テーブル281で示されている。充足率情報テーブル281は、充足性判定部141によって作成され、RAM102に格納された情報である。
充足率情報テーブル281には、部品名、電源電圧種、電源端子数、バイパスコンデンサ接続端子数、および充足率の欄が設けられている。部品名の欄には、BGA部品の部品番号が表示される。電源電圧種の欄には。BGA部品の電源端子の電圧種別が表示される。電源端子数の欄には、対応する電圧種の端子数が表示される。バイパスコンデンサ接続端子数の欄には、対応する電圧種の端子のうち、バイパスコンデンサが接続された端子数が表示される。充足率の欄には。対応する電圧種の端子の充足率が表示される。充足率は、バイパスコンデンサ接続端子数を電源端子数で除算し、パーセント(除算結果を100倍)で表示したものである。
図35は、充足性判定処理の手順を示すフローチャートである。以下、図35に示す処理をステップ番号に沿って説明する。
[ステップS101]充足性判定部141は、電源電圧種ごとの端子数をカウントする。例えば充足性判定部141は、部品情報111内の部品端子グループ情報111aを参照し、電源種ごとの端子番号の数をカウントする。
[ステップS102]充足性判定部141は、電源電圧種ごとの端子に接続されたバイパスコンデンサ数をカウントする。例えば充足性判定部141は、ネット情報114を参照して、端子の引き出し配線の接続先となるビアを判断し、部品情報111を参照して該当ビアへのバイパスコンデンサの配置の有無を判断する。さらに充足性判定部141は、バイパスコンデンサが接続された端子を電源種ごとに分類する。そして充足性判定部141は、バイパスコンデンサが接続された端子数を電源種ごとにカウントする。
[ステップS103]充足性判定部141は、バイパスコンデンサが接続された端子の割合を電源電圧種ごとに計算する。そして、充足性判定部141は、充足率情報テーブル281を作成し、RAM102などの記憶媒体に格納する。RAM102に格納された充足率情報テーブル281は、ユーザインタフェース部120を介してモニタ71に表示される。
このように充足率を画面表示することで、バイパスコンデンサを配置したことによるプリント回路板の信頼性の確保状況が確認できる。すなわち、近年、信号の高速化により、電源ノイズの抑制のためには、電源端子1つあたりに1つ以上のバイパスコンデンサが接続されていることが目標とされる。多ピン化しているBGA部品でこれを目視で確認することは非常に困難である。本実施の形態のようにBGA部品ごとにグループ化されている電源電圧種ごとに、端子とバイパスコンデンサとの接続の充足性を検証することで、バイパスコンデンサが接続されていない端子の存在が電源種ごとに明らかになる。バイパスコンデンサが接続されていない端子が、低電圧の電源種の端子であれば、設計者は、瞬時にバイパスコンデンサ不足による配置不良を認識できる。
次に接続条件違反検出処理について説明する。バイパスコンデンサの配置作業が完了した場合、あるいはバイパスコンデンサの配置作業途中で、設計者は接続条件違反の検出を指示する操作入力を行うことができる。
図36は、接続条件違反検出処理の手順を示すフローチャートである。以下、図36に示す処理をステップ番号に沿って説明する。
[ステップS111]接続条件検証部142は、接続条件違反の検出の指示を、ユーザインタフェース部120を介して受け取ると、プリント回路板DB110の関連性情報115(図13に示す)から、BGA部品の接続条件を読み込む。
[ステップS112]接続条件検証部142は、接続条件が設定された端子に接続されたバイパスコンデンサの有無を調査する。例えばバイパスコンデンサの配置後であれば、接続条件検証部142は、プリント回路板DB110を参照して、BGA部品の各端子にビアを介してバイパスコンデンサが接続されているか否かを判断する。またバイパスコンデンサの配置作業中であれば、接続条件検証部142は、接続情報記憶部131内の情報を参照して、現在のBGA部品の各端子へのバイパスコンデンサの配置状況を認識する。
[ステップS113]接続条件検証部142は、各端子に接続されたバイパスコンデンサと、接続条件とを比較する。具体的には、接続条件検証部142は、接続されているバイパスコンデンサの名称、搭載面、BGA部品の端子からの距離などの条件について比較する。
[ステップS114]接続条件検証部142は、端子の接続条件を満たしていないバイパスコンデンサの有無を判断する。該当するバイパスコンデンサがあれば、処理がステップS115に進められる。該当するバイパスコンデンサがなければ、処理が終了する。
[ステップS115]接続条件検証部142は、接続条件を満たさないバイパスコンデンサの部品番号や、満たされていない接続条件の内容などを含むエラーメッセージを出力する。そのエラーメッセージはユーザインタフェース部120を介してモニタ71に表示される。例えば、ユーザインタフェース部120は、接続条件のリストが画面に表示され、そのうち満たされていない接続条件については赤い文字などによる強調表示を行う。またユーザインタフェース部120は、エラー箇所をテキスト表記するなどのエラー表示をすることもできる。
このようにして、接続条件を満たさないバイパスコンデンサが搭載されていた場合、エラーメッセージを表示することができる。すなわち、BGA部品の端子へのバイパスコンデンサの接続条件通りに、バイパスコンデンサが端子に接続されているかをチェックすることで、回路図通りの物理接続がなされているかを人手を介さずに確認できる。その結果、設計者の作業負担が軽減される。
[第3の実施の形態]
第3の実施の形態は、バイパスコンデンサの配置位置の検索を2部グラフのマッチング技術を拡張することで、高速な処理を実現したものである。2部グラフとは、頂点の集合が2分割され、辺がその2つの部分集合の間を結ぶものに限られるグラフである。端子の集合とビア作成候補位置の集合とでマッチングを行うことで、端子とビア作成候補位置との組を作成できる。なお第3の実施の形態におけるプリント回路板設計支援装置に必要な要素は、図10に示した第2の実施の形態と同様である。ただし、第3の実施の形態では、接続関係決定部135が2部グラフを用いてバイパスコンデンサの配置および配線の決定処理を行う。そこで、図10に示す各要素の符号を用いて、第3の実施の形態の処理を説明する。
なお、以下の説明において、端子に、その端子から引き出し配線で接続するビア作成候補位置を関連付けることを、端子にビア作成候補位置を割り付けると呼ぶこととする。また、端子に、ビア作成候補位置を介してその端子に接続するバイパスコンデンサを関連付けることを、端子にバイパスコンデンサを割り付けると呼ぶこととする。
まず第3の実施の形態において接続情報記憶部131に格納される情報について説明する。接続情報記憶部131には、BGA端子リスト、ビア作成候補位置リスト、調査済み要素リスト、仮接続関係リスト、および割り付け解消端子リストが格納される。
まずBGA端子リストについて説明する。
図37は、BGA端子リストのデータ構造例を示す図である。BGA端子リスト310は、BGA部品の各端子に関する調査状況を示す情報の登録領域である。BGA端子リスト310は、BGA部品ごとに設けられる。各BGA端子リスト310には、BGA部品に設けられた端子数分のレコードが登録できる。各レコードは、配列P[n1]で表される。n1は、1以上端子数以下の整数の値を採るインデックスである。
BGA端子リストの各レコードには、端子属性(Pi)、調査済みフラグ(Pf)、割り付けたビア作成候補位置へのリンク(Pl)などのデータが含まれる。
なお、「リンク」とは、所定のデータへの関連付けを示す情報である。リンクにより関連付ける先のデータが配列の1要素であれば、配列の名称とインデックス値とにより、リンク先となるデータが示される。
端子属性は、電源端子か、信号端子か、グランド端子かを示す識別子である。
調査済みフラグは、端子へのバイパスコンデンサの配置可否に関する調査を行ったか否かを示すフラグ情報である。例えば未調査であれば調査済みフラグに「0」が設定され、調査済みであれば調査済みフラグに「1」が設定される。
割り付けたビア作成候補位置へのリンクには、引き出し配線の接続先として決定されたビア作成候補位置を示す情報が登録される。ビア作成候補位置を示す情報は、そのビア作成候補位置に対応するインデックス値が設定された配列Vである。なお端子に対してビア作成候補位置が未割り付けの場合、割り付けたビア作成候補位置へのリンクの情報はない。
またBGA端子リスト310の各レコードには、BGA端子周囲のビア作成候補位置へのリンクが関連付けられている。各リンクは、配列Pv[n2]で表される。n2は、1から4の整数の値を採るインデックスである。ビア作成候補位置へのリンクには、ビア作成候補を示す情報が登録される。ビア作成候補位置を示す情報は、そのビア作成候補位置に対応するインデックス値が設定された配列Vである。ビア作成候補位置へのリンクは、探索対象として選択する際のビア作成候補位置の優先順に沿って並べられている。なおBGA端子周囲のビア作成候補位置へのリンクの数は、端子ごとに異なり、最大で4個である。
次にビア作成候補位置リストについて説明する。
図38は、ビア作成候補位置リストのデータ構造例を示す図である。ビア作成候補位置リスト320は、BGA端子のビア作成候補位置に関する調査状況を示す情報の登録領域である。ビア作成候補位置リスト320は、BGA端子ごとに設けられる。各ビア作成候補位置リスト320には、プリント配線板におけるBGA端子が実装される領域内のビア作成候補位置の数分のレコードが登録できる。各レコードは、配列V[n3]で表される。n3は、1以上ビア作成候補位置数以下の整数の値を採るインデックスである。
ビア作成候補位置リスト320の各レコードには、位置情報(Vi)、調査済みフラグ(Vf)、割り付けられた端子へのリンク(Vl)、割り付けられた他のビア作成候補位置へのリンク(Vc)などのデータが含まれる。
位置情報は、プリント板上でのビア作成候補位置を示す座標である。位置情報には、ビア作成候補位置へ引き出し配線が可能な端子へのリンクが関連付けられている。各リンクは、配列Vp[n4]で表される。n4は、1以上4以下の整数の値を採るインデックスである。なおビア作成候補位置へ引き出し配線が可能な端子へのリンクの数は、ビア作成候補位置ごとに異なり、最大で4個である。
調査済みフラグは、端子の接続先として調査したか否かを示すフラグ情報である。例えば未調査であれば調査済みフラグに「0」が設定され、調査済みであれば調査済みフラグに「1」が設定される。
調査済みフラグには、バイパスコンデンサを介して接続可能な他のビアへのリンクが関連付けられている。各リンクは、配列Vv[n5]で表される。n5は、1以上4以下の整数の値を採るインデックスである。
割り付けられた端子へのリンクには、ビア作成候補位置に引き出し配線で接続する端子を示す情報が登録される。端子は、配列Pと、その端子に対応するインデックス値によって特定される。なおビア作成候補位置がいずれの端子にも割り付けられていない場合、割り付けられた端子へのリンクの情報はない。
割り付けられた他のビアへのリンクには、バイパスコンデンサを介して接続される他のビア作成候補位置を示す配列Vが設定される。
次に調査要素リストについて説明する。
図39は、調査要素リストのデータ構造例を示す図である。調査済み要素リスト330は、バイパスコンデンサの接続に関する調査を行ったBGA部品の端子、およびビア作成候補位置を示す情報の登録領域である。調査を行ったBGA部品の端子およびビア作成候補位置とは、調査済みフラグがオン(調査済みを示す値)に設定された端子およびビア作成候補位置である。
調査済み要素リスト330には、BGA部品の端子数に、プリント配線板におけるBGA端子が実装される領域内のビア作成候補位置の数分を加算した数(調査要素数)のレコードが登録できる。各レコードは、配列F[n6]で表される。n6は、1以上調査要素数以下の整数の値を採るインデックスである。
調査済み要素リスト330の各レコードには、調査済みの要素(端子またはビア作成候補位置)を示す情報が設定される。調査済みの要素が端子の場合、調査済みの端子に対応するインデックス値が設定された配列Pによって、調査済みの要素が指定される。調査済みの要素がビア作成候補位置の場合、調査済みのビア作成候補位置に対応するインデックス値が設定された配列Vによって、調査済みの要素が指定される。
次に仮接続関係リストについて説明する。
図40は、仮接続関係リストのデータ構造例を示す図である。仮接続関係リスト340は、端子とビア作成候補位置との間、および2つのビア作成候補位置間の仮接続関係を示す情報の登録領域である。仮接続関係リスト340には、全端子数に電源端子数を加算した数分のレコードが登録できる。各レコードは、配列L[n7]で表される。n7は、1以上登録可能レコード数以下の整数の値を採るインデックスである。
登録される仮接続関係は、次の3つの接続関係のいずれかである。1つ目は、電源端子(POW)とビア作成候補位置との間の配線による接続関係である。2つ目は、グランド(GND)端子とビア作成候補位置との間の配線による接続関係である。3つ目は、2つのビア作成候補位置間のバイパスコンデンサを介した接続関係である。
仮接続関係リスト340の各レコードには、接続関係における両端の位置を示すリンクの組が登録される。電源端子(POW)とビア作成候補位置との間の配線による接続関係であれば、レコード内に、端子へのリンクとビア作成候補位置へのリンクとが登録される。グランド(GND)端子とビア作成候補位置との間の配線による接続関係の場合も、レコード内に、端子へのリンクとビア作成候補位置へのリンクとが登録される。2つのビア作成候補位置間のバイパスコンデンサを介した接続関係の場合には、レコード内に、ビア作成候補位置への2つのリンクが登録される。
図41は、割り付け解消端子リストのデータ構造例を示す図である。割り付け解消端子リスト350は、端子に割り付けられていたバイパスコンデンサの割り付けを一時的に解消した場合における、解消前の割り付け関係を示す情報の登録領域である。割り付け解消端子リスト350には、電源端子数分のレコードが登録できる。各レコードは、配列M[n8]で表される。n8は、1以上登録可能レコード数以下の整数の値を採るインデックスである。
割り付け解消端子リスト350の各レコードには、4つのリンクが登録される。1つ目は、電源端子へのリンク(M1)である。2つ目は、電源端子に割り付けたビア作成候補位置へのリンク(M2)である。3つ目は、電源端子とバイパスコンデンサを介して接続されるグランド(GND)端子へのリンク(M3)である。4つ目は、グランド端子に割り付けられたビア作成候補位置へのリンク(M4)である。
以上のような各データを用いて、接続関係決定部135によりバイパスコンデンサ配置位置検索処理が行われる。なお、調査済み要素リスト330、仮接続関係リスト340、および割り付け解消端子リスト350は、バイパスコンデンサ配置位置検索処理の演算の作業領域として使用される情報であり、処理終了後にはRAM102から削除することができる。
次に、バイパスコンデンサ配置位置検索処理について詳細に説明する。
図42は、バイパスコンデンサ配置位置検索処理の手順を示すフローチャートである。以下、図42に示す処理をステップ番号に沿って説明する。なお、図42では、1つのBGA部品に対するバイパスコンデンサの配置位置検索処理を示しているが、プリント回路板に搭載されるすべてのBGA部品に対して同様の処理が実行される。
[ステップS121]接続関係決定部135は、未配線の端子を調査対象として選択する。この際、接続関係決定部135は、BGA端子リスト310の上位から順に選択する。なお、BGA端子リスト310は、予め電源電圧の低い端子が上位となるように並べ替えておくことができる。調査対象の端子を選択する場合、既にビア作成候補位置が割り付けられている端子については、選択対象から除外される。既にビア作成候補位置が割り付けられている端子は、BGA端子リスト310において、割り付けられたビア作成候補位置へのリンク(Pl)が設定されている端子である。すなわち、BGA端子リスト310は、BGA端子リスト310中の次の順番のレコードに割り付けられたビア作成候補位置へのリンク(Pl)が設定されていれば、そのレコードをスキップし、さらに次のレコードを選択する。
[ステップS122]接続関係決定部135は、BGA部品のすべての端子とすべてのビア作成候補位置との調査済みフラグ(Pf、Vf)をオフにする。また、接続関係決定部135は、配列F、配列L、配列Mのすべての要素のデータをクリアする。
[ステップS123]接続関係決定部135は、調査対象の端子へのビアとバイパスコンデンサの割り付け可否判断処理を行う。この処理の詳細は後述する。
[ステップS124]接続関係決定部135は、ビアとバイパスコンデンサとの割り付けが可能と判断した場合、処理をステップS125に進める。接続関係決定部135は、割り付け不可能と判断した場合、処理をステップS126に進める。
[ステップS125]接続関係決定部135は、割り付け情報を設定する。この処理の詳細は後述する。
[ステップS126]接続関係決定部135は、すべての端子を調査済みか否かを判断する。具体的には、接続関係決定部135は、現在調査対象となっている端子が、BGA端子リスト310の最下位のレコードで示される端子であれば、すべての端子が調査済みであると判断する。すべての端子が調査済みであれば、処理がステップS127に進められる。未調査の端子があれば、処理がステップS121に進められる。
[ステップS127]接続関係決定部135は、BGA端子リスト310、ビア作成候補位置リスト320に基づき、端子に関連付けられたビア作成候補位置へのビアの作成、端子からのライン接続、バイパスコンデンサの配置を決定する。具体的には、接続関係決定部135は、BGA端子リスト310内の各レコードの割り付けられたビア作成候補位置へのリンク(Pl)で示される位置を、ビア作成位置とする。また、接続関係決定部135は、端子からビアへの配線接続を決定する。さらに、接続関係決定部135は、ビア作成候補位置リスト320内の各レコードにおける位置情報(Vi)で示されるビアの位置と、割り付けられた他のビアへのリンク(V[n3])で示されるビアの位置とに接続されるバイパスコンデンサの配置を決定する。そして、接続関係決定部135は、決定した内容でプリント回路板DB110を更新する。
次に、調査対象の端子へのビアとバイパスコンデンサとの割り付け可否判断処理について、詳細に説明する。なお、以下の処理は、BGA部品の端子に対して縦方向と横方向に半格子分ずらした位置にビアを作成する場合の例である。
図43は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その1)である。以下、図43に示す処理をステップ番号に沿って説明する。なお、ステップS121で選択された端子に対応するBGA端子リスト310内のレコードは、配列P[a](aは、選択された端子を示すインデックス値)で表されるものとする。
[ステップS131]接続関係決定部135は、次に2つの条件のいずれかが満たされるか否かを判断する。第1の条件は、調査対象として選択している端子の配列P[a]における調査済みフラグがオフであることである。第2の条件は、選択している端子がグランド(GND)端子であり、配列P[a]のレコード内に、割り付けたビア作成候補位置へのリンクPlがあることである。いずれか一方の条件を満たした場合、処理がステップS132に進められる。いずれの条件も満たされない場合、処理がステップS186(図46参照)に進められる。
[ステップS132]接続関係決定部135は、選択された端子の配列P[a]におけるレコード内の調査済みフラグPfをオンに設定する。
[ステップS133]接続関係決定部135は、調査済み要素リスト330中の配列F[記録数+1]に配列P[a]へのリンクを記録する。
[ステップS134]接続関係決定部135は、端子の配列P[a]のレコードにおけるビア作成候補位置へのリンク(配列Pvの各データ)を、先頭から順に選択する。
[ステップS135]接続関係決定部135は、仮接続関係リスト340の配列Lへのレコードの記録数Lnを記憶する(RAM102内に格納する)。
[ステップS136]接続関係決定部135は、配列P[a]のレコード内に、割り付けたビア作成候補位置へのリンクPlがあれば、配列M[記録数+1]のレコードに、該当するリンクを介したバイパスコンデンサの割り付け関係を示す情報を格納する。格納される情報は、選択されている端子、端子に割り付けられたビア作成候補位置、端子に割り付けられたビア作成候補位置に割り付けられた他のビア作成候補位置、および他のビア作成候補位置に割り付けられた端子である。選択されている情報は、BGA端子リスト310の配列P[a]で示される。端子を接続するビア作成候補位置は、配列P[a]のレコード内のPlで示される。端子に割り付けられたビア作成候補位置に割り付けられた他のビア作成候補位置は、配列P[a]のレコード内のPlで示されるビア作成候補位置リスト320内のレコードにおけるVcである。このVcで示されるビア作成候補位置リスト320内のレコードにおけるVlが、他のビア作成候補位置に割り付けられた端子を示す。そして、接続関係決定部135は、割り付け解消端子リスト350の配列M[記録数+1]のレコードに格納した情報を、取得元からクリアする。
[ステップS137]接続関係決定部135は、割り付け解消端子リスト350の配列Mへのレコードの記録数Mnを記憶する(RAM102内に格納する)。
[ステップS138]接続関係決定部135は、ステップS134でリンク先が選択できたか否かを判断する。選択している端子のレコードに配列Pvが関連付けられており、その配列Pvに未処理のリンクが登録されている場合、そのリンクで示されるビア作成候補位置リスト320中の配列V[b](bは、選択した配列のインデックス値)が選択される。リンク先が選択されていれば、処理がステップS139に進められる。リンク先が選択されていなければ、処理がステップS186(図46に示す)に進められる。
[ステップS139]接続関係決定部135は、選択されたリンク先の配列V[b]のレコードにおける調査済みフラグVfがオフか否かを判断する。調査済みフラグがオフであれば、処理がステップS140に進められる。調査済みフラグがオンであれば、処理がステップS132に進められる。
[ステップS140]接続関係決定部135は、配列V[b]のレコードにおける調査済みフラグVfをオンにする。また接続関係決定部135は、調査済み要素リスト330の配列F[記録数+1]に、配列V[b]へのリンクを記録する。その後、処理がステップS151(図44参照)に進められる。
図44は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その2)である。以下、図44に示す処理をステップ番号に沿って説明する。
[ステップS151]接続関係決定部135は、配列V[b]のレコード内の割り付けられた端子へのリンクVlにリンク先の設定がないか、あるいはVlで示されたリンク先が、選択中の端子を示す配列P[a]であるか否かを判断する。いずれかの条件が満たされた場合、処理がステップS155に進められる。いずれの条件も満たされない場合、処理がステップS152に進められる。
[ステップS152]接続関係決定部135は、配列V[b]のレコード内の割り付けられた端子へのリンクVlに設定されている配列P[c](cは、該当する配列のインデックス値)を、ビア作成候補位置リスト320から取得する。
[ステップS153]接続関係決定部135は、取得した配列P[c]の端子に関するビアとバイパスコンデンサの割り付け可否判断処理を、再帰的に実行する。
[ステップS154]接続関係決定部135は、ステップS153の実行の結果、選択中の配列P[a]にビア作成候補位置の割り付けが可能となったか否かを判断する。割り付けが可能となった場合、処理がステップS155に進められる。割り付けが不可能な場合、処理がステップS132(図43に示す)に進められる。
[ステップS155]接続関係決定部135は、仮接続関係リスト340の配列L[記録数+1]のレコードに、配列P[a]へのリンクと、配列V[b]へのリンクとを記録する。
[ステップS156]接続関係決定部135は、配列P[a]に対応する端子が、電源端子か否かを判断する。電源端子か否かは、配列P[a]のレコードにおける端子属性Piに示されている。電源端子であれば、処理がステップS157に進められる。電源端子でなければ、処理がステップS185(図46参照)に進められる。
[ステップS157]接続関係決定部135は、配列V[b]のレコードに関連付けられた配列Vvに設定されている他のビア作成候補位置へのリンク(配列V[d]、dはビア作成候補位置のインデックス値)を、先頭から順に選択する。この際、接続関係決定部135は、調査済み要素リスト330の配列Fの記録数Fnを記憶する。
[ステップS158]接続関係決定部135は、配列V[b]のレコードに配列Vvが関連付けられており、ステップS157においてVvで示される他のビア作成候補位置へのリンクが選択できたか否かを判断する。リンクが選択できた場合、処理がステップS160に進められる。リンクが選択できなかった場合、処理がステップS159に進められる。
[ステップS159]接続関係決定部135は、仮接続関係リスト340の配列Lのレコードのうち、インデックス値が記録数Lnより大きいレコードをクリアする。その後、処理がステップS132(図43参照)に進められる。
[ステップS160]接続関係決定部135は、配列V[d]のレコードにおける調査済みフラグVfがオフか否かを判断する。調査済みフラグVfがオフであれば、処理がステップS171(図45参照)に進められる。調査済みフラグVfがオンであれば、処理がステップS157に進められる。
図45は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その3)である。以下、図45に示す処理をステップ番号に沿って説明する。
[ステップS171]接続関係決定部135は、配列V[d]のレコードにおける調査済みフラグVfをオンに設定する。また接続関係決定部135は、調査済み要素リスト330の配列F[記録数+1]に、配列V[d]へのリンクを記録する。
[ステップS172]接続関係決定部135は、次の2つの条件のいずれもが満たされるか否かを判断する。第1の条件は、配列V[d]のレコードにおける割り付けられた端子へのリンクVlとして、グランド(GND)端子へのリンクがあることである。第2の条件は、配列V[d]のレコードにおける割り付けられた他のビア作成候補位置へのリンクVcにリンクが設定されていないことである。両方の条件が満たされていれば、処理がステップS173に進められる。条件が満たされていなければ、処理がステップS174に進められる。
[ステップS173]接続関係決定部135は、仮接続関係リスト340の配列L[記録数+1]のレコードに、配列V[d]のVlに示されるリンクと、配列V[d]へのリンクとを記録する。この記録により、配列Lの記録数はカウントアップされる。さらに接続関係決定部135は、配列L[記録数+1]のレコードに、配列V[b]のへのリンクと、配列V[d]へのリンクとを記録する。その後、処理がステップS184(図46参照)に進められる。
[ステップS174]接続関係決定部135は、配列V[d]のレコードにおけるVp[1〜4]でリンクされた配列Pの端子を調査する。接続関係決定部135は、調査した端子のいずれかに、グランド(GND)接続のために割り付けられたビア作成候補位置へのリンクPlが設定されていない端子があれば、その端子を示す配列P[e](eが端子のインデックス値)を取得する。また、接続関係決定部135は、調査した端子のいずれかに、グランド(GND)の端子があれば、その端子を示す配列P[e]を取得する。そして、接続関係決定部135は、配列P[e]が取得できれば処理をステップS176に進め、配列P[e]を取得できなければ処理をステップS175に進める。
[ステップS175]接続関係決定部135は、調査済み要素リスト330の配列Fの記録数Fnより大きいインデックス値の各レコードで示されるビア作成候補位置の配列Vにアクセスする。そして接続関係決定部135は、アクセスした配列Vのレコードにおける調査済みフラグVfをクリアする(オフにする)。また接続関係決定部135は、調査済み要素リスト330の配列Fの記録数Fnより大きいインデックス値の各レコードをクリアする。その後、処理がステップS157(図44参照)に進められる。
[ステップS176]接続関係決定部135は、配列V[d]のレコードにおける割り付けられた端子へのリンクVlが設定されていないかどうかを判断する。該当するリンクが設定されていなければ、処理がステップS184(図46参照)に進められる。リンクが設定されていれば、処理がステップS177に進められる。
[ステップS177]接続関係決定部135は、配列V[d]のレコードにおける割り付けられた他のビア作成候補位置へのリンクVcに設定されたリンクの配列V[f](fは、リンク先のビア作成候補位置のインデックス値)を参照する。そして、接続関係決定部135は、配列V[f]のレコードにおける割り付けられた端子へのリンクVlで指定された配列P[g](gは、リンク先の端子のインデックス値)を取得する。これは、配列P[g]が、配列P[e]以外のグランド端子とペアにできるかどうかを調査するのが目的である。その後、処理がステップS181(図46参照)に進められる。
図46は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート(その4)である。以下、図46に示す処理をステップ番号に沿って説明する。
[ステップS181]接続関係決定部135は、ステップS177で取得した配列P[g]で示される端子について、ビアとバイパスコンデンサとの割り付け可否判断処理を再帰的に実行する。
[ステップS182]接続関係決定部135は、ステップS181の処理の結果、配列P[g]に対してビアの割り付けが可能と判断された場合、処理をステップS184に進める。ビアの割り付けが不可能であれば、処理がステップS183に進められる。
[ステップS183]接続関係決定部135は、記録数Fnより大きいインデックス値の配列Fのレコードをクリアする。その後、処理がステップS157(図44参照)に進められる。
[ステップS184]接続関係決定部135は、仮接続関係リスト340の配列L[記録数+1]のレコードに、配列P[e]へのリンクと、配列V[d]へのリンクとを記録する。この記録により、配列Lの記録数はカウントアップされる。さらに接続関係決定部135は、配列L[記録数+1]のレコードに、配列V[b]のへのリンクと、配列V[d]へのリンクとを記録する。
[ステップS185]接続関係決定部135は、ビアとバイパスコンデンサとの割り付け可否判断処理の結果として「ビア割り付け可能」を返す。その後、処理が終了する。
[ステップS186]接続関係決定部135は、インデックス値が記録数Lnより大きい配列Lのレコードをクリアする。また接続関係決定部135は、インデックス値が記録数Mnより大きい配列Mに示される配列P、配列Vのリンクを元に戻す。さらに接続関係決定部135は、インデックス値が記録数Mnより大きい配列Mのレコードをクリアする。そして接続関係決定部135は、ビアとバイパスコンデンサとの割り付け可否判断処理の結果として「ビア割り付け不可」を返す。その後、処理が終了する。
次に、割り付け情報設定処理について説明する。
図47は、割り付け情報設定処理の手順を示すフローチャートである。以下、図47に示す処理をステップ番号に沿って説明する。
[ステップS191]接続関係決定部135は、仮接続関係リスト340の配列Lで示されるバイパスコンデンサの仮接続関係を示すリンクの組を、上位から順に選択する。
[ステップS192]接続関係決定部135は、選択したリンクのリンク先に対して、他からのリンク(古いリンク)が存在する場合、その古いリンクのリンク元をクリアする。具体的には、接続関係決定部135は、仮接続関係リスト340の配列Lが割り付けられたリンクLlとリンクLcとのそれぞれのリンク先のレコードを参照する。リンク先は、BGA端子リスト310内の端子を示す配列P[j](jは、該当端子のインデックス値)、もしくはビア作成候補位置リスト320内のビア作成候補位置を示す配列V[k](kは、該当端子のインデックス値)のいずれかである。
次に接続関係決定部135は、配列P[j]のレコードにおける割り付けられたビア作成候補位置へのリンクPlのリンク先の配列V[l](lは、該当ビア作成候補位置のインデックス値)を参照する。さらに接続関係決定部135は、リンク先の配列V[l]のレコードを参照し、割り付けられた端子へのリンクVlを確認する。接続関係決定部135は、そのVlに配列P[j]が設定されている場合、配列V[l]のレコード内のVlから、配列P[j]をクリアする。
また、接続関係決定部135は、配列V[k]のレコードにおける割り付けられたビア作成候補位置へのリンクVlのリンク先の配列P[m](mは、該当端子のインデックス値)を参照する。さらに接続関係決定部135は、リンク先の配列P[m]のレコードを参照し、割り付けられた端子へのリンクPlを確認する。接続関係決定部135は、そのPlに配列V[k]が設定されている場合、配列P[m]のレコード内のPlから、配列V[k]をクリアする。
[ステップS193]接続関係決定部135は、選択したリンクを、新しいリンクとして設定する。具体的には、接続関係決定部135は、仮接続関係リスト340の配列Lが割り付けられたリンクLlとリンクLcとのそれぞれのリンク先のレコードを参照する。
リンクLlが配列P[a]なら、接続関係決定部135は、まず、BGA端子リスト310内の配列P[a]のレコードにおけるPlに、リンクLcに設定されているリンク先を設定する。次に接続関係決定部135は、リンクLcで示されるリンク先のビア作成候補位置リスト320内の配列Vの該当するレコードにアクセスし、そのレコードのVlに配列P[a]を設定する。
リンクLlが配列V[b]でLcがP[a]なら、接続関係決定部135は、まず、ビア作成候補位置リスト320内の配列V[b]のレコードにおけるVlに、配列P[a]を設定する。次に接続関係決定部135は、BGA端子リスト310内の配列P[a]のレコードにおけるPlに、配列V[b]を設定する。
リンクLlが配列V[b]でLcがV[c]なら、接続関係決定部135は、まず、ビア作成候補位置リスト320内の配列V[b]のレコードにおけるVcに、配列V[c]を設定する。次に接続関係決定部135は、BGA端子リスト310内の配列V[c]のレコードにおけるVcに、配列V[b]を設定する。
[ステップS194]接続関係決定部135は、仮接続関係リスト340の配列Lで示されるすべての仮接続関係を反映させたか否かを判断する。未反映の仮接続関係がある場合、処理がステップS191に進められる。すべての仮接続関係を反映させた場合、処理が終了する。
このようにして、ビアとバイパスコンデンサとの割り付け可否判断処理が必要に応じて再帰的に実行され、ビアの配置や配線の再編成を行った上で、端子に引き出し配線用のビアを割り付け可能かどうかが判断される。
次にバイパスコンデンサ配置位置検索処理の具体例について説明する。
まず、バイパスコンデンサが優先順でソートされる。
図48は、優先順でソート後のバイパスコンデンサテーブルの例を示す図である。バイパスコンデンサテーブル360は、部品配置演算部130により、バイパスコンデンサ配置位置検索処理を実行する際に接続情報記憶部131に格納される。図48に示すように、バイパスコンデンサテーブル360には、バイパスコンデンサ名と電圧値との欄が設けられている。バイパスコンデンサ名の欄には、バイパスコンデンサの識別名が設定される。電圧値の欄には、各バイパスコンデンサの電圧値が設定される。
事実上、電圧値の低いバイパスコンデンサは、電圧の振れのマージンが少ない箇所に使用されるものである。そのため優先度が高い。そこで接続関係決定部135は、バイパスコンデンサテーブル360内のバイパスコンデンサを電圧値の低い順に並べる。そして接続関係決定部135は、バイパスコンデンサテーブル360内の上から順に配置していく。
次に部品配置演算部130によって、BGA端子リスト310とビア作成候補位置リスト320とが接続情報記憶部131に格納される。
図49は、BGA端子リストの一例を示す図である。BGA端子リスト311には、BGA部品の端子と、その端子の周囲の引き出しビア作成候補位置へのリンクとを有するレコードが登録される。
BGA端子の情報には、座標、種別、電圧値などが含まれる。座標は、BGA部品の領域を格子状に区切り、区切られた単位領域の位置を、アルファベットと数値とで示したものである。この例では、横方向の位置がアルファベットで示され、縦方向の位置が数値で示されている。格子の間隔は、端子間の間隔の2倍であるものとする。従って、端子の座標は、横方向にアルファベットの並びにおける1つ置きの値(B,D,F,・・・)を採り、縦方向に1つ置きの数値(2,4,・・・)を採る。
電圧値は、端子の電源電圧であり、電源端子にのみ設定される。
ビア作成候補位置へのリンクには、各レコードに1〜4個のデータフィールドが設けられている。端子の位置により、ビア作成候補位置の数が1〜4のいずれかになる。例えば、BGA部品の角にある端子は、ビア作成候補位置が1箇所しかないため、ビア作成候補位置へのリンクを登録するフィールドも1つだけとなる。
ビア作成候補位置へのリンクは、調査の際の優先順が設定されている。図49の例では、左に設定されているリンク程、優先的に調査される。なおビア作成候補位置へのリンクは、BGA部品の中央から放射状方向の配線引き出しが優先されるように、優先配線方向決定部133によって並べ替えられる。すなわち、BGA部品の中央から4角へ向かう方向への配線が優先的に選択されるように、優先配線方向決定部133は、端子からみて、その端子に最も近い角へ向かう方向にあるビア作成候補位置へのリンクを、最優先(リンクの配列の先頭)に設定する。
なおBGA端子リスト311内の各レコードは、優先順に応じて並べ替えることができる。ただし、以下の説明ではレコードの並べ替えをせずに、調査対象の端子を選択する際に、電圧値を参照して電圧値が低い順に端子を選択するものとする。
また図49の例では、ビア作成候補位置へのリンクには、ビア作成候補位置の座標を示しているが、実際のRAM102内には、リンク先のビア作成候補位置のインデックス値を設定した配列Vが記録されているものとする。
図50は、ビア作成候補位置リストの一例を示す図である。ビア作成候補位置リスト321には、ビア作成候補位置へのリンク、BGA部品の端子へのリンク、バイパスコンデンサで接続可能な他のビア作成候補位置へのリンクを含むレコードが登録される。
ビア作成候補位置へのリンクには、ビア作成候補位置を示す座標が設定される。ビア作成候補位置は、端子に対して縦横方向に半格子ずれている。従って、ビア作成候補位置の座標は、横方向にアルファベットの並びにおける1つ置きの値(A,C,D,・・・)を採り、縦方向に1つ置きの数値(1,3,・・・)を採る。
端子へのリンクには、ビア作成候補位置周囲の端子の座標が設定される。なお、リンク先の端子のインデックス値を設定した配列Pを、端子へのリンクとすることもできる。
バイパスコンデンサで接続可能な他のビア作成候補位置へのリンクには、周囲のビア作成候補位置の座標が設定される。なおリンク先のビア作成候補位置のインデックス値を設定した配列Vを、他のビア作成候補位置へのリンクとすることもできる。
ビア作成候補位置リスト321では、BGA部品中央の十字部分を使用しない場合、十字部分へのリンクが、十字境界部配置可否設定部134によって排除される。図50の例では、横方向の座標が「G」のビア作成候補位置と、縦方向の座標が「7」のビア作成候補位置とが、十字部分に含まれるビア作成候補位置である。これらのビア作成候補位置は、レコードの登録対象外となる。
なお、端子へのリンクについては、左に設定されているリンクほど調査の際の優先順位が高い。すなわち、端子へのリンクの「第一」と示された列に設定された要素が、グランド端子を探す際に最初に調査される。この例では、中央方向へ向かう要素が最優先に設定されている。ビア作成候補位置から端子への配線として中央方向を優先的に選択すれば、端子から見た場合には放射状への配線が優先されたこととなる。
またバイパスコンデンサで接続可能な他のビア作成候補位置へのリンクについては、左に設定されているリンクほど調査の際の優先順位が高い。すなわち、他のビア作成候補位置へのリンクの「第一」と示された列に設定された要素が、バイパスコンデンサのもう片方の端子を接続するビア作成候補位置として最優先で調査される。本実施の形態では、バイパスコンデンサを、X軸に平行で、かつバイパスコンデンサの2つの端子のうちBGA部品の電源端子に接続される端子の方が、BGA部品の中央に近くなるように配置することを優先するものとする。その場合、他のビア作成候補位置へのリンクの「第一」と示された列には、X軸に平行な方向で、X座標値の絶対値が大きくなる方向に隣接する他のビア作成候補位置へのリンクが設定されることとなる。これにより、配線が放射状の配置となりやすくなる。なお、この例ではバイパスコンデンサを横(X軸と平行)に置くことを優先しているが、優先方向の統一性があれば、縦(Y軸と平行)に置くことを優先してもよい。
図51は、バイパスコンデンサ配置対象のBGA部品の例を示す図である。BGA部品400には、6×6の計36個の端子が設けられている。なお、図51に示した例は、処理を分かりやすくするため端子の数を少なくしているが、実際のBGA部品にはもっと多くの端子が設けられる。
この例では、BGA部品400の領域を格子で区切ったときG列と7行との中央十字部分は、配線の対象外とされる。この場合、中央十字部分で領域が4つに分断され、分断された領域は、バイパスコンデンサの配置に関してそれぞれ干渉しない。そこで、代表して、A〜F×1〜6部分(第2象限)へのバイパスコンデンサの配置例について説明することとする。
第2象限におけるBGA部品400の端子の位置は、丸付きの数字で表されている。その他の数字は、ビア作成候補位置である。第1、第3、第4象限における端子の位置は、黒丸で示されている。
第2の象限の丸付きの「14」で示された端子は、電圧「+0.75V」である。丸付きの「7」で示された端子は、電圧「+1.2V」である。丸付きの「1」で示された端子は、電圧「+1.5V」である。丸付きの「8,13,15」で示された端子は、グランド(GND)端子である。丸付きの「2,3,9」で示された端子は、信号端子である。
この場合、配線処理を実施する端子の順番は、丸付きの数字で「14,7,1,2,3,9,8,13,15」の順番となる。この順番は、低電圧の端子を優先し、同じ電圧の端子はリストの並び順に処理を行うようにしたものである。
以下、BGA部品400の第2象限にバイパスコンデンサを配置する際の、ビア作成候補位置などの調査状況を、図42〜図47に示したフローチャートを参照しながら説明する。なお、端子とビア作成候補位置については、座標値で表すものとする。
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.1(ステップS121)]低電圧が優先され、+0.75Vの端子「D6」を示すP[14]が選択され調査が開始される。その後、D6→B4→B2→信号端子の順で調査されることとなる。
[No.2(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
[No.3(ステップS123)]ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.4(ステップS131)]このステップでは「YES」と判断される。
[No.5(ステップS132〜S137)]端子「D6」の配列P[14]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[14]が設定される。配列P[14]のレコード内の配列Pv[1]から、ビア作成候補位置「C5」を示す配列V[16]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.6(ステップS138)]端子「D6」に対応する配列P[14]の配列Pv[1]から、ビア作成候補位置「C5」を示す配列V[16]が選択できたため、当該ステップでは「YES」と判定される。
[No.7(ステップS139)]このステップでは「YES」と判定される。
[No.8(ステップS140)]配列V[16]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[16]が設定される(配列F[2]=V[16])。
(以下図44参照)
[No.9(ステップS151)]このステップでは「YES」と判定される。
[No.10(ステップS155)]配列L[1]のレコード内のLlに、配列P[14]が設定される(Ll=P[14])。また、Lcには、配列V[16]が設定される(Lc=V[16])。
[No.11(ステップS156)]このステップでは「YES」と判断される。
[No.12(ステップS157)]配列V[16]のレコード内の配列Vv[1]のビア作成候補位置「A5」を示す配列V[15]が選択される。この際、配列Fのレコードの記録数Fnに2が設定される(Fn=2)。
[No.13(ステップS158)]このステップでは「YES」と判断される。
[No.14(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.15(ステップS171)]配列V[15]の調査済みフラグVfがオンに設定される。この際、配列F[3]のレコードに、配列V[15]が設定される(F[3]=V[15])。
[No.16(ステップS172)]このステップでは「NO」と判断される。
[No.17(ステップS174)]配列V[15]のレコード内のVp[1]が端子「B6」を示す配列P[13]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.18(ステップS176)]このステップでは「YES」と判断される。
(以下図46参照)
[No.19(ステップS184)]配列L[2]のレコード内のLlにP[13]が設定され(Ll=P[13])、LcにV[15]が設定される(Lc=V[15])。配列L[3]のレコード内のLlにV[16]が設定され(Ll=V[16])、配列LcにV[15]が設定される(Lc=V[15])。
[No.20(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目終了》
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.21(ステップS124)]このステップでは「YES」と判断される。
[No.22(ステップS125)]端子「D6」からビア作成候補位置「C5」への配線、ビア作成候補位置「C5」からビア作成候補位置「A5」への配線、ビア作成候補位置「A5」から端子「B6」への配線を示す情報が設定される(D6→C5→A5→B6)。
また、配列P[14]のレコード内のPlにV[16]が設定される(Pl=V[16])。配列V[16]のレコード内のVlにP[14]が設定され(Vl=P[14])、VcにV[15]が設定される(Vc=V[15])。
さらに、配列P[13]のレコード内のPlにV[15]が設定される(Pl=V[15]。配列V[15]のレコード内のVlにP[13]が設定され(Vl=P[13])、VcにV[16]が設定される(Vc=V[16])。
[No.23(ステップS126)]このステップでは「NO」と判断される。
[No.24(ステップS121)]低電圧が優先され、+1.2Vの端子「B4」を示す配列P[7]が選択される。
[No.25(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
[No.26(ステップS123)]ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.27(ステップS131)]このステップでは「YES」と判断される。
[No.28(ステップS132〜S137)]端子「B4」を示す配列P[7]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[7]が設定される。配列P[7]のレコード内の配列Pv[1]から、ビア作成候補位置「A3」を示す配列V[8]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.29(ステップS138)]このステップでは「YES」と判定される。
[No.30(ステップS139)]このステップでは「YES」と判定される。
[No.31(ステップS140)]配列V[8]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[8]が設定される(配列F[2]=V[8])。
(以下図44参照)
[No.32(ステップS151)]このステップでは「YES」と判定される。
[No.33(ステップS155)]配列L[1]のレコード内のLlに、配列P[7]が設定される(Ll=P[7])。また、Lcには、配列V[8]が設定される(Lc=V[8])。
[No.34(ステップS156)]このステップでは「YES」と判断される。
[No.35(ステップS157)]配列V[8]のレコード内の配列Vv[1]のビア作成候補位置「C3」を示す配列V[9]が選択される。この際、配列Fのレコードの記録数Fnに2が設定される(Fn=2)。
[No.36(ステップS158)]このステップでは「YES」と判断される。
[No.37(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.38(ステップS171)]配列V[9]の調査済みフラグVfがオンに設定される。この際、配列F[3]のレコードに、配列V[9]が設定される(F[3]=V[9])。
[No.39(ステップS172)]このステップでは「NO」と判断される。
[No.40(ステップS174)]配列V[9]のレコード内のVp[1]が端子「D4」を示す配列P[8]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.41(ステップS176)]このステップでは「YES」と判断される。
(以下図46参照)
[No.42(ステップS184)]配列L[2]のレコード内のLlにP[8]が設定され(Ll=P[8])、LcにV[9]が設定される(Lc=V[9])。配列L[3]のレコード内のLlにV[8]が設定され(Ll=V[8])、配列LcにV[9]が設定される(Lc=V[9])。
[No.43(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目終了》
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.44(ステップS124)]このステップでは「YES」と判断される。
[No.45(ステップS125)]端子「B4」からビア作成候補位置「A3」への配線、ビア作成候補位置「A3」からビア作成候補位置「C3」への配線、ビア作成候補位置「C3」から端子「D4」への配線を示す情報が設定される(B4→A3→C3→D4)。
また、配列P[7]のレコード内のPlにV[8]が設定される(Pl=V[8])。配列V[8]のレコード内のVlにP[7]が設定され(Vl=P[7])、VcにV[9]が設定される(Vc=V[9])。
さらに、配列P[8]のレコード内のPlにV[9]が設定される(Pl=V[9]。配列V[9]のレコード内のVlにP[8]が設定され(Vl=P[8])、VcにV[8]が設定される(Vc=V[8])。
[No.46(ステップS126)]このステップでは「NO」と判断される。
図52は、バイパスコンデンサ配置処理途中における配置状況を示す第1の図である。図52において、端子に割り付けられたビア作成候補位置が、黒塗りの四角で示されている。端子と、その端子に割り付けられたビア作成候補位置とは、長円で囲まれている。またバイパスコンデンサで接続されたビア作成候補位置の間は、格子内が網掛で示されている。図52に示すように、現在の段階では、2つのバイパスコンデンサが配置されている。
(以下図42参照)
[No.47(ステップS121)]+1.5Vの端子「B2」を示す配列P[1]が選択される。
[No.48(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.49(ステップS131)]このステップでは「YES」と判断される。
[No.50(ステップS132〜S137)]配列P[1]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[1]が設定される。配列P[1]のレコード内の配列Pv[1]から、ビア作成候補位置「A1」を示す配列V[1]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.51(ステップS138)]このステップでは「YES」と判定される。
[No.52(ステップS139)]このステップでは「YES」と判定される。
[No.53(ステップS140)]配列V[1]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[1]が設定される(配列F[2]=V[1])。
(以下図44参照)
[No.54(ステップS151)]このステップでは「YES」と判断される。
[No.55(ステップS155)]配列L[1]のレコード内のLlに、配列P[1]が設定される(Ll=P[1])。また、Lcには、配列V[1]が設定される(Lc=V[1])。
[No.56(ステップS156)]このステップでは「YES」と判断される。
[No.57(ステップS157)]配列V[1]のレコード内の配列Vv[1]のビア作成候補位置「C1」を示す配列V[2]が選択される。この際、配列Fのレコードの記録数Fnに2が設定される(Fn=2)。
[No.58(ステップS158)]このステップでは「YES」と判断される。
[No.59(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.60(ステップS171)]配列V[2]の調査済みフラグVfがオンに設定される。この際、配列F[3]のレコードに、配列V[2]が設定される(F[3]=V[2])。
[No.61(ステップS172)]このステップでは「NO」と判断される。
[No.62(ステップS174)]配列V[2]で示されるビア作成候補位置「C2」の周囲にグランド端子がない。そのため、このステップでは「NO」と判断される。
[No.63(ステップS175)]配列F[3]のレコードに格納されている配列V[2]が参照され、配列V[2]のレコード内の調査済みフラグVfがクリアされる。また配列F[3]のレコードがクリアされる。
(以下図44参照)
[No.64(ステップS157)]配列V[1]のレコード内の配列Vv[2]のビア作成候補位置「A3」を示す配列V[8]が選択される。この際、配列Fのレコードの記録数Fnに2が設定される(Fn=2)。
[No.65(ステップS158)]このステップでは「YES」と判断される。
[No.66(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.67(ステップS171)]配列V[8]の調査済みフラグVfがオンに設定される。この際、配列F[3]のレコードに、配列V[8]が設定される(F[3]=V[8])。
[No.68(ステップS172)]このステップでは「NO」と判断される。
[No.69(ステップS174)]配列V[8]で示されるビア作成候補位置「A3」の周囲にグランド端子がない。そのため、このステップでは「NO」と判断される。
[No.70(ステップS175)]配列F[3]のレコードに格納されている配列V[8]が参照され、配列V[8]のレコード内の調査済みフラグVfがクリアされる。また配列F[3]のレコードがクリアされる。
(以下図44参照)
[No.71(ステップS157)]配列Fのレコードの記録数Fnに2が設定される(Fn=2)。
[No.72(ステップS158)]未調査の他のビア作成候補位置がないため、このステップでは「NO」と判断される。
[No.73(ステップS159)]Ln(=0)より大きいインデックス値の配列Lのレコードがクリアされる。
(以下図43参照)
[No.74(ステップS132〜S137)]配列P[1]のレコード内の配列Pv[2]から、ビア作成候補位置「C1」を示す配列V[2]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.75(ステップS138)]このステップでは「YES」と判定される。
[No.76(ステップS139)]このステップでは「YES」と判定される。
[No.77(ステップS140)]配列V[2]のレコード内の調査済みフラグVfがオンに設定される。配列F[3]のレコードに、V[2]が設定される(F[3]=V[2])。
(以下図44参照)
[No.78(ステップS151)]このステップでは「YES」と判定される。
[No.79(ステップS155)]配列L[1]のレコード内のLlに、配列P[1]が設定される(Ll=P[1])。また、Lcには、配列V[2]が設定される(Lc=V[2])。
[No.80(ステップS156)]このステップでは「YES」と判断される。
[No.81(ステップS157)]配列V[2]のレコード内の配列Vv[1]のビア作成候補位置「A1」を示す配列V[1]が選択される。この際、配列Fのレコードの記録数Fnに3が設定される(Fn=3)。
[No.82(ステップS158)]このステップでは「YES」と判断される。
[No.83(ステップS160)]配列V[1]のレコード内の調査済みフラグVfがオンに設定されている。そのため、このステップでは「NO」と判断される。
[No.84(ステップS157)]配列V[2]のレコード内の配列Vv[2]のビア作成候補位置「E1」を示す配列V[3]が選択される。この際、配列Fのレコードの記録数Fnに3が設定される(Fn=3)。
[No.85(ステップS158)]このステップでは「YES」と判断される。
[No.86(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.87(ステップS171)]配列V[3]の調査済みフラグVfがオンに設定される。この際、配列F[4]のレコードに、配列V[3]が設定される(F[4]=V[3])。
[No.88(ステップS172)]このステップでは「NO」と判断される。
[No.89(ステップS174)]配列V[3]で示されるビア作成候補位置「E1」の周囲にグランド端子がない。そのため、このステップでは「NO」と判断される。
[No.90(ステップS175)]配列F[4]のレコードに格納されている配列V[3]が参照され、配列V[3]のレコード内の調査済みフラグVfがクリアされる。また配列F[4]のレコードがクリアされる。
(以下図44参照)
[No.91(ステップS157)]配列V[2]のレコード内の配列Vv[3]のビア作成候補位置「C3」を示す配列V[9]が選択される。この際、配列Fのレコードの記録数Fnに3が設定される(Fn=3)。
[No.92(ステップS158)]このステップでは「YES」と判断される。
[No.93(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.94(ステップS171)]配列V[9]の調査済みフラグVfがオンに設定される。この際、配列F[4]のレコードに、配列V[9]が設定される(F[4]=V[9])。
[No.95(ステップS172)]このステップでは「NO」と判断される。
[No.96(ステップS174)]配列V[9]のレコード内のVp[1]が端子「D4」を示す配列P[8]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.97(ステップS176)]配列V[9]のレコード内のVlにP[8]のリンクが設定されているため、このステップでは「NO」と判断される。
[No.98(ステップS177)]配列V[9]のレコード内のVcに設定されている配列V[8]のレコードが参照され、そのレコード内のVlに設定されている配列P[7]が取得される。
(以下図46参照)
[No.99(ステップS181)]配列P[7]で示される端子「B4」を調査対象としたビアとバイパスコンデンサの割り付け可否判断処理が再帰的に実行される。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目》
(以下図43参照)
[No.100(ステップS131)]このステップでは「YES」と判断される。
[No.101(ステップS132〜S137)]端子「B4」を示す配列P[7]のレコードの調査済みフラグPfがオンに設定される。配列F[5]のレコードにP[7]が設定される。配列P[7]のレコード内の配列Pv[1]から、ビア作成候補位置「A3」を示す配列V[8]が選択される。配列Lへのレコードの記録数Ln=1が設定される。配列M[1]にB4→A3→C3→D4のリンク関係が設定され、BGA端子リスト311とビア作成候補位置リスト321における該当するリンク関係がクリアされる。配列Mの記録数Mnに1が設定される(Mn=1)。
[No.102(ステップS138)]このステップでは「YES」と判定される。
[No.103(ステップS139)]このステップでは「YES」と判定される。
[No.104(ステップS140)]配列V[8]のレコード内の調査済みフラグVfがオンに設定される。配列F[6]のレコードに、V[8]が設定される(配列F[6]=V[8])。
(以下図44参照)
[No.105(ステップS151)]このステップでは「YES」と判定される。
[No.106(ステップS155)]配列L[2]のレコード内のLlに、配列P[7]が設定される(Ll=P[7])。また、Lcには、配列V[8]が設定される(Lc=V[8])。
[No.107(ステップS156)]このステップでは「YES」と判断される。
[No.108(ステップS157)]配列V[8]のレコード内の配列Vv[1]のビア作成候補位置「C3」を示す配列V[9]が選択される。この際、配列Fのレコードの記録数Fnに6が設定される(Fn=6)。
[No.109(ステップS158)]このステップでは「YES」と判断される。
[No.110(ステップS160)]配列V[9]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.111(ステップS157)]配列V[8]のレコード内の配列Vv[2]のビア作成候補位置「A1」を示す配列V[1]が選択される。この際、配列Fのレコードの記録数Fnに6が設定される(Fn=6)。
[No.112(ステップS158)]このステップでは「YES」と判断される。
[No.113(ステップS160)]配列V[1]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.114(ステップS157)]配列V[8]のレコード内の配列Vv[3]のビア作成候補位置「A5」を示す配列V[15]が選択される。この際、配列Fのレコードの記録数Fnに6が設定される(Fn=6)。
[No.115(ステップS158)]このステップでは「YES」と判断される。
[No.116(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.117(ステップS171)]配列V[15]の調査済みフラグVfがオンに設定される。この際、配列F[7]のレコードに、配列V[15]が設定される(F[7]=V[15])。
[No.118(ステップS172)]このステップでは「NO」と判断される。
[No.119(ステップS174)]配列V[15]のレコード内のVp[1]が端子「B6」を示す配列P[13]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.120(ステップS176)]配列V[15]のレコード内のVlにP[13]のリンクが設定されているため、このステップでは「NO」と判断される。
[No.121(ステップS177)]配列V[15]のレコード内のVcに設定されている配列V[16]のレコードが参照され、そのレコード内のVlに設定されている配列P[14]が取得される。
(以下図46参照)
[No.122(ステップS181)]配列P[14]で示される端子「D6」を調査対象としたビアとバイパスコンデンサの割り付け可否判断処理が再帰的に実行される。
《ビアとバイパスコンデンサの割り付け可否判断処理の3段階目》
(以下図43参照)
[No.123(ステップS131)]このステップでは「YES」と判断される。
[No.124(ステップS132〜S137)]端子「D6」を示す配列P[14]のレコードの調査済みフラグPfがオンに設定される。配列F[8]のレコードにP[14]が設定される。配列P[14]のレコード内の配列Pv[1]から、ビア作成候補位置「C5」を示す配列V[16]が選択される。配列Lへのレコードの記録数Ln=2が設定される。配列M[2]にD6→C5→A5→B6のリンク関係が設定され、BGA端子リスト311とビア作成候補位置リスト321における該当するリンク関係がクリアされる。配列Mの記録数Mnに2が設定される(Mn=2)。
[No.125(ステップS138)]このステップでは「YES」と判定される。
[No.126(ステップS139)]このステップでは「YES」と判定される。
[No.127(ステップS140)]配列V[16]のレコード内の調査済みフラグVfがオンに設定される。配列F[9]のレコードに、V[16]が設定される(配列F[9]=V[16])。
(以下図44参照)
[No.128(ステップS151)]このステップでは「YES」と判定される。
[No.129(ステップS155)]配列L[3]のレコード内のLlに、配列P[14]が設定される(Ll=P[14])。また、Lcには、配列V[16]が設定される(Lc=V[16])。
[No.130(ステップS156)]このステップでは「YES」と判断される。
[No.131(ステップS157)]配列V[16]のレコード内の配列Vv[1]のビア作成候補位置「A5」を示す配列V[15]が選択される。この際、配列Fのレコードの記録数Fnに9が設定される(Fn=9)。
[No.132(ステップS158)]このステップでは「YES」と判断される。
[No.133(ステップS160)]配列V[15]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.134(ステップS157)]配列V[16]のレコード内の配列Vv[2]のビア作成候補位置「E5」を示す配列V[17]が選択される。この際、配列Fのレコードの記録数Fnに9が設定される(Fn=9)。
[No.135(ステップS158)]このステップでは「YES」と判断される。
[No.136(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.137(ステップS171)]配列V[17]の調査済みフラグVfがオンに設定される。この際、配列F[10]のレコードに、配列V[17]が設定される(F[10]=V[17])。
[No.138(ステップS172)]このステップでは「NO」と判断される。
[No.139(ステップS174)]配列V[17]のレコード内のVp[1]が端子「F6」を示す配列P[15]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.140(ステップS176)]このステップでは「YES」と判断される。
(以下図46参照)
[No.141(ステップS184)]配列L[4]のレコード内のLlにP[15]が設定され(Ll=P[15])、LcにV[17]が設定される(Lc=V[17])。配列L[5]のレコード内のLlにV[16]が設定され(Ll=V[16])、配列LcにV[17]が設定される(Lc=V[17])。
[No.142(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の3段階目終了》
[No.143(ステップS182)]このステップでは「YES」と判断される。
[No.144(ステップS184)]配列L[6]のレコード内のLlにP[16]が設定され(Ll=P[16])、LcにV[15]が設定される(Lc=V[15])。配列L[7]のレコード内のLlにV[8]が設定され(Ll=V[8])、配列LcにV[15]が設定される(Lc=V[15])。
[No.145(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目終了》
[No.146(ステップS182)]このステップでは「YES」と判断される。
[No.147(ステップS184)]配列L[8]のレコード内のLlにP[8]が設定され(Ll=P[8])、LcにV[9]が設定される(Lc=V[9])。配列L[9]のレコード内のLlにV[2]が設定され(Ll=V[2])、配列LcにV[9]が設定される(Lc=V[9])。
[No.148(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目終了》
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.149(ステップS124)]このステップでは「YES」と判断される。
[No.150(ステップS125)]端子「B2」からビア作成候補位置「C1」への配線、ビア作成候補位置「C1」からビア作成候補位置「C3」への配線、ビア作成候補位置「C3」から端子「D4」への配線を示す情報が設定される(B2→C1→C3→D4)。
また、配列P[1]のレコード内のPlにV[2]が設定される(Pl=V[2])。配列V[2]のレコード内のVlにP[1]が設定され(Vl=P[1])、VcにV[9]が設定される(Vc=V[9])。
さらに、配列P[9]のレコード内のPlにV[9]が設定される(Pl=V[9]。配列V[9]のレコード内のVlにP[9]が設定され(Vl=P[9])、VcにV[1]が設定される(Vc=V[1])。
端子「B4」からビア作成候補位置「A3」への配線、ビア作成候補位置「A3」からビア作成候補位置「A5」への配線、ビア作成候補位置「A5」から端子「B6」への配線を示す情報が設定される(B4→A3→A5→B6)。
また、配列P[7]のレコード内のPlにV[8]が設定される(Pl=V[8])。配列V[8]のレコード内のVlにP[7]が設定され(Vl=P[7])、VcにV[15]が設定される(Vc=V[15])。
さらに、配列P[13]のレコード内のPlにV[15]が設定される(Pl=V[15]。配列V[15]のレコード内のVlにP[13]が設定され(Vl=P[13])、VcにV[7]が設定される(Vc=V[7])。
端子「D6」からビア作成候補位置「C5」への配線、ビア作成候補位置「C5」からビア作成候補位置「D5」への配線、ビア作成候補位置「D5」から端子「F6」への配線を示す情報が設定される(D6→C5→D5→F6)。
また、配列P[14]のレコード内のPlにV[16]が設定される(Pl=V[16])。配列V[16]のレコード内のVlにP[14]が設定され(Vl=P[14])、VcにV[17]が設定される(Vc=V[17])。
さらに、配列P[15]のレコード内のPlにV[17]が設定される(Pl=V[17]。配列V[17]のレコード内のVlにP[15]が設定され(Vl=P[15])、VcにV[14]が設定される(Vc=V[14])。
図53は、バイパスコンデンサ配置処理途中における配置状況を示す第2の図である。図52と比較すると分かるように、バイパスコンデンサの配置が変更され、端子「B2」に対してもバイパスコンデンサが接続可能となっている。この段階では、3つのバイパスコンデンサが配置されている。
(以下図42参照)
[N0.151(ステップS126)]このステップでは「NO」と判断される。
[No.152(ステップS121)]電源端子へのバイパスコンデンサの配置が終了したため、信号端子である端子「D2」を示す配列P[2]が選択される。
[No.153(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
[No.154(ステップS123)]ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.155(ステップS131)]このステップでは「YES」と判断される。
[No.156(ステップS132〜S137)]端子「D2」を示す配列P[2]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[2]が設定される。配列P[2]のレコード内の配列Pv[1]から、ビア作成候補位置「C1」を示す配列V[2]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.157(ステップS138)]このステップでは「YES」と判定される。
[No.158(ステップS139)]このステップでは「YES」と判定される。
[No.159(ステップS140)]配列V[2]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[2]が設定される(配列F[2]=V[2])。
(以下図44参照)
[No.160(ステップS151)]配列V[2]のレコード内のVlにP[1]が設定されており、これは調査対象のP[2]とは異なる。そのためこのステップでは「NO」と判断される。
[No.161(ステップS152)]配列V[2]のレコード内のVlに設定されているP[1]が取得される。
[No.162(ステップS153)]配列P[1]の端子が、配列V[2]のビア作成候補位置以外を使えないか調査するため、ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目》
(以下図43参照)
[No.163(ステップS131)]このステップでは「YES」と判断される。
[No.164(ステップS132〜S137)]端子「B2」の配列P[1]のレコードの調査済みフラグPfがオンに設定される。配列F[3]のレコードにP[1]が設定される。配列P[1]のレコード内の配列Pv[1]から、ビア作成候補位置「A1」を示す配列V[1]が選択される。配列Lへのレコードの記録数Ln=0が設定される。配列M[1]にB2→C1→C3→D4のリンク関係が設定され、BGA端子リスト311とビア作成候補位置リスト321における該当するリンク関係がクリアされる。配列Mの記録数Mnに1が設定される(Mn=1)。
[No.165(ステップS138)]このステップでは「YES」と判定される。
[No.166(ステップS139)]このステップでは「YES」と判定される。
[No.167(ステップS140)]配列V[1]のレコード内の調査済みフラグVfがオンに設定される。配列F[4]のレコードに、V[1]が設定される(配列F[4]=V[1])。
(以下図44参照)
[No.168(ステップS151)]このステップでは「YES」と判定される。
[No.169(ステップS155)]配列L[1]のレコード内のLlに、配列P[1]が設定される(Ll=P[1])。また、Lcには、配列V[1]が設定される(Lc=V[1])。
[No.170(ステップS156)]このステップでは「YES」と判断される。
[No.171(ステップS157)]配列V[1]のレコード内の配列Vv[1]のビア作成候補位置「C1」を示す配列V[2]が選択される。この際、配列Fのレコードの記録数Fnに4が設定される(Fn=4)。
[No.172(ステップS158)]このステップでは「YES」と判断される。
[No.173(ステップS160)]配列V[2]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.174(ステップS157)]配列V[1]のレコード内の配列Vv[2]のビア作成候補位置「A3」を示す配列V[8]が選択される。この際、配列Fのレコードの記録数Fnに4が設定される(Fn=4)。
[No.175(ステップS158)]このステップでは「YES」と判断される。
[No.176(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.177(ステップS171)]配列V[8]の調査済みフラグVfがオンに設定される。この際、配列F[5]のレコードに、配列V[8]が設定される(F[5]=V[8])。
[No.178(ステップS172)]このステップでは「NO」と判断される。
[No.179(ステップS174)]配列V[8]で示されるビア作成候補位置「A3」の周囲にグランド端子がない。そのため、このステップでは「NO」と判断される。
[No.180(ステップS175)]配列F[5]のレコードに格納されている配列V[8]が参照され、配列V[8]のレコード内の調査済みフラグVfがクリアされる。また配列F[5]のレコードがクリアされる。
(以下図44参照)
[No.181(ステップS157)]配列V[1]のレコード内の配列Vv[3]のビア作成候補位置の選択が試みられるが、該当するリンクがないため選択できない。この際、配列Fのレコードの記録数Fnに4が設定される(Fn=4)。
[No.182(ステップS158)]配列Vvが選択できないため、このステップでは「NO」と判断される。
[No.183(ステップS159)]Ln(=0)より大きいインデックス値の配列Lのレコード(L[1])がクリアされる。
(以下図43参照)
[No.184(ステップS132〜S137)]配列P[1]のレコード内の配列Pv[2]から、ビア作成候補位置「C1」を示す配列V[2]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.185(ステップS138)]このステップでは「YES」と判定される。
[No.186(ステップS139)]配列V[2]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.187(ステップS132〜S137)]配列P[1]のレコード内の配列Pv[3]から、ビア作成候補位置「A3」を示す配列V[8]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.188(ステップS138)]このステップでは「YES」と判定される。
[No.189(ステップS139)]このステップでは「YES」と判定される。
[No.190(ステップS140)]配列V[8]のレコード内の調査済みフラグVfがオンに設定される。配列F[5]のレコードに、V[8]が設定される(配列F[5]=V[8])。
(以下図44参照)
[No.191(ステップS151)]配列V[8]のレコード内のVlにP[7]が設定されており、これは調査対象のP[1]とは異なる。そのためこのステップでは「NO」と判断される。
[No.192(ステップS152)]配列V[8]のレコード内のVlに設定されているP[7]が取得される。
[No.193(ステップS123)]配列P[7]の端子が、配列V[8]のビア作成候補位置以外を使えないか調査するため、ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の3段階目》
(以下図43参照)
[No.194(ステップS131)]このステップでは「YES」と判断される。
[No.195(ステップS132〜S137)]端子「B4」の配列P[7]のレコードの調査済みフラグPfがオンに設定される。配列F[6]のレコードにP[7]が設定される。配列P[7]のレコード内の配列Pv[1]から、ビア作成候補位置「A3」を示す配列V[8]が選択される。配列Lへのレコードの記録数Ln=0が設定される。配列M[2]にB4→A3→A5→B6のリンク関係が設定され、BGA端子リスト311とビア作成候補位置リスト321における該当するリンク関係がクリアされる。配列Mの記録数Mnに2が設定される(Mn=2)。
[No.196(ステップS138)]このステップでは「YES」と判定される。
[No.197(ステップS139)]配列V[8]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.198(ステップS132〜S137)]配列P[7]のレコード内の配列Pv[2]から、ビア作成候補位置「C3」を示す配列V[9]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.199(ステップS138)]このステップでは「YES」と判定される。
[No.200(ステップS139)]このステップでは「YES」と判定される。
[No.201(ステップS140)]配列V[9]のレコード内の調査済みフラグVfがオンに設定される。配列F[7]のレコードに、V[9]が設定される(配列F[7]=V[9])。
(以下図44参照)
[No.202(ステップS151)]このステップでは「YES」と判定される。
[No.203(ステップS155)]配列L[1]のレコード内のLlに、配列P[7]が設定される(Ll=P[7])。また、Lcには、配列V[9]が設定される(Lc=V[9])。
[No.204(ステップS156)]このステップでは「YES」と判断される。
[No.205(ステップS157)]配列V[9]のレコード内の配列Vv[1]のビア作成候補位置「A3」を示す配列V[8]が選択される。この際、配列Fのレコードの記録数Fnに7が設定される(Fn=7)。
[No.206(ステップS158)]このステップでは「YES」と判断される。
[No.207(ステップS160)]配列V[8]のレコード内の調査済みフラグVfがオンであるため、このステップでは「NO」と判断される。
[No.208(ステップS157)]配列V[9]のレコード内の配列Vv[2]のビア作成候補位置「E3」を示す配列V[10]が選択される。この際、配列Fのレコードの記録数Fnに7が設定される(Fn=7)。
[No.209(ステップS158)]このステップでは「YES」と判断される。
[No.210(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.211(ステップS171)]配列V[10]の調査済みフラグVfがオンに設定される。この際、配列F[8]のレコードに、配列V[10]が設定される(F[8]=V[10])。
[No.212(ステップS172)]このステップでは「NO」と判断される。
[No.213(ステップS174)]配列V[10]のレコード内のVp[2]が端子「D4」を示す配列P[8]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.214(ステップS176)]このステップでは「YES」と判断される。
(以下図46参照)
[No.215(ステップS184)]配列L[2]のレコード内のLlにP[8]が設定され(Ll=P[8])、LcにV[10]が設定される(Lc=V[10])。配列L[3]のレコード内のLlにV[9]が設定され(Ll=V[9])、配列LcにV[10]が設定される(Lc=V[10])。
[No.216(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の3段階目終了》
(以下図44参照)
[No.217(ステップS154)]このステップでは「YES」と判断される。
[No.218(ステップS155)]配列L[4]のレコード内のLlに、配列P[1]が設定される(Ll=P[1])。また、Lcには、配列V[8]が設定される(Lc=V[8])。
[No.219(ステップS156)]このステップでは「YES」と判断される。
[No.220(ステップS157)]配列V[8]のレコード内の配列Vv[1]のビア作成候補位置「C3」を示す配列V[9]が選択される。この際、配列Fのレコードの記録数Fnに8が設定される(Fn=8)。
[No.221(ステップS158)]このステップでは「YES」と判断される。
[No.222(ステップS160)]配列V[9]のレコード内の調査済みフラグVfがオンに設定されている。そのため、このステップでは「NO」と判断される。
[No.223(ステップS157)]配列V[8]のレコード内の配列Vv[2]のビア作成候補位置「A1」を示す配列V[1]が選択される。この際、配列Fのレコードの記録数Fnに8が設定される(Fn=8)。
[No.224(ステップS158)]このステップでは「YES」と判断される。
[No.225(ステップS160)]配列V[1]のレコード内の調査済みフラグVfがオンに設定されている。そのため、このステップでは「NO」と判断される。
[No.226(ステップS157)]配列V[8]のレコード内の配列Vv[3]のビア作成候補位置「A5」を示す配列V[15]が選択される。この際、配列Fのレコードの記録数Fnに8が設定される(Fn=8)。
[No.227(ステップS158)]このステップでは「YES」と判断される。
[No.228(ステップS160)]このステップでは「YES」と判断される。
(以下図45参照)
[No.229(ステップS171)]配列V[15]の調査済みフラグVfがオンに設定される。この際、配列F[9]のレコードに、配列V[15]が設定される(F[9]=V[15])。
[No.230(ステップS172)]このステップでは「NO」と判断される。
[No.231(ステップS174)]配列V[15]のレコード内のVp[1]が端子「B6」を示す配列P[13]である。この端子はグランド端子であるため、このステップでは「YES」と判断される。
[No.232(ステップS176)]このステップでは「YES」と判断される。
(以下図46参照)
[No.233(ステップS184)]配列L[5]のレコード内のLlにP[13]が設定され(Ll=P[13])、LcにV[15]が設定される(Lc=V[15])。配列L[6]のレコード内のLlにV[8]が設定され(Ll=V[8])、配列LcにV[15]が設定される(Lc=V[15])。
[No.234(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目終了》
(以下図44参照)
[No.235(ステップS154)]このステップでは「YES」と判断される。
[No.236(ステップS155)]配列L[7]のレコード内のLlに、配列P[2]が設定される(Ll=P[2])。また、Lcには、配列V[2]が設定される(Lc=V[2])。
[No.237(ステップS156)]配列P[2]で示される端子D2は信号端子である。そのため、このステップでは「NO」と判断される。
(以下図46参照)
[No.238(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目終了》
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.239(ステップS124)]このステップでは「YES」と判断される。
[No.240(ステップS125)]端子「B2」からビア作成候補位置「A3」への配線、ビア作成候補位置「A3」からビア作成候補位置「A5」への配線、ビア作成候補位置「A5」から端子「B6」への配線を示す情報が設定される(B2→A3→A5→B6)。
また、端子「B4」からビア作成候補位置「C3」への配線、ビア作成候補位置「C3」からビア作成候補位置「E3」への配線、ビア作成候補位置「E3」から端子「D4」への配線を示す情報が設定される(B4→C3→E3→D4)。
さらに、端子「D2」からビア作成候補位置「C1」への配線が設定される(D2→C1)。
図54は、バイパスコンデンサ配置処理途中における配置状況を示す第3の図である。図53と比較すると分かるように、バイパスコンデンサの配置が変更され、新たに信号端子である端子「D2」からの放射方向の引き出し配線が設定されている。なお図54では、信号端子からの引き出し配線を接続するビア作成候補位置を二重丸で示している。
(以下図42参照)
[No.241(ステップS126)]このステップでは「NO」と判断される。
[No.242(ステップS121)]端子「F2」を示す配列P[3]が選択される。
[No.243(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.244(ステップS131)]このステップでは「YES」と判断される。
[No.245(ステップS132〜S137)]端子「F2」を示す配列P[3]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[3]が設定される。配列P[3]のレコード内の配列Pv[1]から、ビア作成候補位置「E1」を示す配列V[3]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.246(ステップS138)]このステップでは「YES」と判定される。
[No.247(ステップS139)]このステップでは「YES」と判定される。
[No.248(ステップS140)]配列V[3]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[3]が設定される(配列F[2]=V[3])。
(以下図44参照)
[No.249(ステップS151)]このステップでは「YES」と判定される。
[No.250(ステップS155)]配列L[1]のレコード内のLlに、配列P[3]が設定される(Ll=P[3])。また、Lcには、配列V[3]が設定される(Lc=V[3])。
[No.251(ステップS156)]配列P[2]で示される端子D2は信号端子である。そのため、このステップでは「NO」と判断される。
(以下図46参照)
[No.252(ステップS185)]処理結果として「ビア割り付け可能」が返される。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目終了》
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.253(ステップS124)]このステップでは「YES」と判断される。
[No.254(ステップS125)]端子「F2」からビア作成候補位置「E1」への配線が設定される(F2→E1)。
図55は、バイパスコンデンサ配置処理途中における配置状況を示す第4の図である。図54と比較すると分かるように、新たに信号端子である端子「F2」からの放射方向の引き出し配線が設定されている。
(以下図42参照)
[No.255(ステップS126)]このステップでは「NO」と判断される。
[No.256(ステップS121)]端子「D4」を示す配列P[8]のレコードには、Plにリンクが設定されている。そのため配列P[8]に対する処理はスキップされ、端子「F4」を示す配列P[9]が選択される。
[No.257(ステップS122)]配列P、配列Vの調査済みフラグがクリアされ、配列F、配列L、配列Mの内容がクリアされる。
《ビアとバイパスコンデンサの割り付け可否判断処理の1段階目》
(以下図43参照)
[No.258(ステップS131)]このステップでは「YES」と判断される。
[No.259(ステップS132〜S137)]端子「F4」を示す配列P[9]のレコードの調査済みフラグPfがオンに設定される。配列F[1]のレコードにP[9]が設定される。配列P[9]のレコード内の配列Pv[1]から、ビア作成候補位置「E3」を示す配列V[10]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.260(ステップS138)]このステップでは「YES」と判定される。
[No.261(ステップS139)]このステップでは「YES」と判定される。
[No.262(ステップS140)]配列V[10]のレコード内の調査済みフラグVfがオンに設定される。配列F[2]のレコードに、V[10]が設定される(配列F[2]=V[10])。
(以下図44参照)
[No.263(ステップS151)]配列V[10]のレコード内のVlに配列P[8]が設定されており、これは調査対象の配列P[9]とは異なる。そのためこのステップでは「NO」と判断される。
[No.264(ステップS152)]配列V[10]のレコード内のVlに設定されている配列P[8]が取得される。
[No.265(ステップS153)]ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目》
(以下図43参照)
[No.266(ステップS131)]このステップでは「NO」と判断される。
(以下図46参照)
[No.267(ステップS186)]このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目終了》
(以下図44参照)
[No.268(ステップS154)]このステップでは「NO」と判断される。
(以下図43参照)
[No.269(ステップS132〜S137)]配列P[9]のレコード内の配列Pv[2]から、ビア作成候補位置「E5」を示す配列V[17]が選択される。配列Lへのレコードの記録数Ln=0が設定される。
[No.270(ステップS138)]このステップでは「YES」と判定される。
[No.271(ステップS139)]このステップでは「YES」と判定される。
[No.272(ステップS140)]配列V[17]のレコード内の調査済みフラグVfがオンに設定される。配列F[3]のレコードに、V[17]が設定される(配列F[3]=V[17])。
(以下図44参照)
[No.273(ステップS151)]このステップでは「NO」と判定される。
[No.274(ステップS152)]配列V[17]のレコード内のVlに設定されている配列P[15]が取得される。
[No.275(ステップS153)]ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目》
(以下図43参照)
[No.276(ステップS131)]このステップでは「NO」と判断される。
(以下図46参照)
[No.277(ステップS186)]このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
《ビアとバイパスコンデンサの割り付け可否判断処理の2段階目終了》
(以下図44参照)
[No.278(ステップS154)]このステップでは「NO」と判断される。
(以下図43参照)
[No.279(ステップS132〜S137)]配列P[9]のレコード内の配列Pv[3]の選択が試みられるが、該当するリンクが無いため選択に失敗する。配列Lへのレコードの記録数Ln=0が設定される。
[No.280(ステップS138)]このステップでは「NO」と判定される。
(以下図46参照)
[No.281(ステップS186)]このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
《バイパスコンデンサ配置位置検索処理》
(以下図42参照)
[No.282(ステップS124)]このステップでは「NO」と判断される。
[No.283(ステップS126)]配列P[13]、配列P[15]は既にリンク設定済みのため処理対象ではない。従って、このステップでは「YES」と判断される。
[No.284(ステップS127)]BGA端子リスト311とビア作成候補位置リスト321で示される割り付け関係に従って、ビア作成候補位置へのビアの作成、端子からビアへのライン接続、バイパスコンデンサの配置が決定される。決定内容は、図55で示した配線状況のままとなる。すなわち、ビアが作成されるのは、E1、C1、A3、C3、E3、A5、C5、E5の位置である。引き出し配線が作成されるのは、F2−E1、D2−C1、B2−A3、B4−C3、D4−E3、B6−A5、D6−C5、F6−E5である。バイパスコンデンサが配置されるのは、A3−A5、C3−E3、C5−E5の位置である。F4の位置の信号端子は、引き出しに失敗している。
この例は、電源端子→信号端子の順に調査対象としたため、信号端子のひとつは引き出し配線の生成に失敗となるケースである。もし、信号端子→電源端子の順に調査対象とすると、今度は信号端子が邪魔をして電源端子への引き出し配線の生成に失敗する。
なお図55に示したように信号端子への引き出し配線の生成に失敗した場合でも、十字境界領域へのビア作成を許容すれば、すべての端子に引き出し配線を接続できる可能性がある。
上記のような処理は、調査済みフラグを有効に利用することで、矛盾した探索を防止し、かつ無限ループしないことが保障されている。
図56は、調査済みフラグの設定状況を示す第1の図である。本実施の形態では、調査済みフラグを設定した端子およびビア作成候補位置が、調査済み要素リスト330の配列Fで管理されている。図56の格子内の数値(丸付きの数値を除く)は、端子「D6」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Fのインデックス値である。すなわち、配列F[1]に端子「D1」へのリンクが設定され、配列F[2]にビア作成候補位置「C5」へのリンクが設定され、配列F[3]にビア作成候補位置「A5」へのリンクが設定されている。
図57は、調査済みフラグの設定状況を示す第2の図である。図57の格子内の数値(丸付きの数値を除く)は、端子「B4」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Fのインデックス値である。
図58は、調査済みフラグの設定状況を示す第3の図である。図58の格子内の数値(丸付きの数値を除く)は、端子「B2」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Fのインデックス値である。
図59は、調査済みフラグの設定状況を示す第4の図である。図59の格子内の数値(丸付きの数値を除く)は、端子「D2」からの引き出し配線探索途中の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Fのインデックス値である。
このような調査済みフラグの状態で、上記の「No.171」からの処理が行われる。すると、ビア作成候補位置「A1」(V[1])から、この位置に配置する予定のバイパスコンデンサのもう片方のグランド端子に接続するビア作成候補位置が探索される。そのときビア作成候補位置「C1」(V[2])から探索にいくが、ビア作成候補位置「C1」(V[2])はすでに端子「D2」(P[2])の引き出し先の候補として予約されており、調査済みフラグVfがオンになっている。そのため、ビア作成候補位置「C1」(V[2])は、ビア作成候補位置「A1」(V[1])のペアとはならないことがわかり、探索が断念される。
このように調査済みフラグVfを使用することで、矛盾した探索を防止し、かつ無限ループしないことを保障することができる。
図60は、調査済みフラグの設定状況を示す第5の図である。図60の格子内の数値(丸付きの数値を除く)は、端子「D2」からの引き出し配線探索終了時において調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Fのインデックス値である。
以上のようにBGA部品の端子を選択するごとに、既に配置されているバイパスコンデンサの再配置、端子からの引き出し配線の再配線を行うようにすることで、可能な限り多くのバイパスコンデンサの配置が可能となる。
図61は、バイパスコンデンサの再配置および再配線の状況を示す図である。図61では、電源端子を黒丸で示し、グランド端子を白丸で示している。バイパスコンデンサは、矩形で示されている。ビアを作成する位置は、二重丸で示されている。
図61の左側に示す状況から、さらにバイパスコンデンサの411を接続する場合、バイパスコンデンサ411を接続する電源端子付近に、空いているグランド端子がない。そこで、バイパスコンデンサの再配置および再配線を行うことで、右側に示すように、バイパスコンデンサ411を電源端子とグランド端子との間に配置可能となる。
このようなBGA部品の端子全体に渡るバイパスコンデンサの配置変更を手作業で行う場合、非常に手間がかかる。本実施の形態によれば、バイパスコンデンサの再配置と再配線が自動で行われ、作業効率が格段に向上する。
しかも、2部フラグを用いて、効率的にバイパスコンデンサの配置と、端子からの配線を効率的に決定することができる。
ここで第3の実施の形態に示す配線技術を用いれば、バイパスコンデンサの配置を伴わずに、端子からの引き出し配線の決定処理のみを実行させることができる。その場合、すべての端子からの引き出し配線を、効率的な処理が確実に実行することが可能となる。
バイパスコンデンサの配置を行わないのであれば、接続情報記憶部131に格納される情報のうち、バイパスコンデンサの配置に関する情報は不要となる。例えば、図38に示したビア作成候補位置リスト320から、割り付けられた他のビア作成候補位置へのリンクVcと、バイパスコンデンサを介して接続可能な他のビア作成候補位置へのリンクVvとの情報を取り除くことができる。
図62は、端子にビアを割り付ける処理の手順を示すフローチャートである。以下、図62に示す処理をステップ番号に沿って説明する。なおこの処理は、BGA部品ごとに実行される。
[ステップS211]接続関係決定部135は、BGA部品の未処理の端子を1つ選択する。なお、既にビア作成候補位置が割り当てられている端子は、選択せずに処理をスキップする。
[ステップS212]接続関係決定部135は、すべての端子と、すべてのビア作成候補位置の調査済みフラグをオフに初期化する。
[ステップS213]接続関係決定部135は、端子に割り付けられるビアの調査処理を行う。この処理の詳細は後述する。
[ステップS214]接続関係決定部135は、すべての端子について処理をしたか否かを判断する。すべての端子の処理が終了している場合、処理がステップS215に進められる。未処理の端子がある場合、処理が211に進められる。
[ステップS215]接続関係決定部135は、端子に割り付けられるビアの調査結果に基づいて、端子に割り付られたビア作成候補位置にビアの作成と、端子とビアとの接続配線を決定する。そして、接続関係決定部135は、決定した内容でプリント回路板DB110を更新する。
図63は、端子に割り付けられるビアの調査処理の手順を示すフローチャートである。以下、図63に示す処理をステップ番号に沿って説明する。
[ステップS221]接続関係決定部135は、選択した端子の縦横半格子分ずれた位置の周囲の4つのビア作成候補位置について、他の端子に割り付けられているか否かを調査する。なお接続関係決定部135は、選択した端子からビア作成予約がされているビア作成候補位置については調査しない。また接続関係決定部135は、調査済みフラグがオンに設定されているビア作成候補位置についても調査しない。接続関係決定部135は、調査したビア作成候補位置に対して、調査済みフラグをオンに設定する。
[ステップS222]接続関係決定部135は、ステップS221において調査対象位置があったか否かを判断する。調査対象位置があった場合、処理がステップS224に進められる。調査対象位置が無い場合、処理がステップS223に進められる。
[ステップS223]調査対象位置が無い場合、接続関係決定部135は、調査結果を「ビア割り付け不可」として処理を終了する。
[ステップS224]接続関係決定部135は、調査対象位置がある場合、調査対象位置が空いているか否かを判断する。「空いている」とは、いずれの端子からもビア作成予約が設定されていないことである。空いている場合、処理がステップS228に進められる。空いていない場合、処理がステップS225に進められる。
[ステップS225]接続関係決定部135は、調査対象位置にビア作成予約をした端子をリストアップする。
[ステップS226]接続関係決定部135は、リストアップした端子それぞれを調査対象として、端子に割り付けられるビアの調査処理を再帰的に実行する。これは、別の位置にビアを作成予約できるかどうかを調査するための処理である。
[ステップS227]接続関係決定部135は、ステップS226における調査により、調査対象となっている位置に設定されているビア作成予約を解除し、その位置のビアを割り付け可能となったか否かを判断する。割り付け可能となった場合、処理がステップS228に進められる。割り付け可能とならなかった場合、処理がステップS221に進められる。
[ステップS228]接続関係決定部135は、選択した端子への、調査したビア作成候補位置の割り付けを確定し、調査結果を「ビア割り付け可能」とする。
このようにして、BGA部品の各端子からの引き出し配線によるビアへの接続が可能となる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、プリント回路板設計支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムであって、
前記コンピュータに、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
処理を実行させることを特徴とするプリント回路板設計支援プログラム。
(付記2) 前記再探索で得られた接続経路と重複する他の既存の接続経路が検出されるごとに、前記他の既存の接続経路上の第3のバイパスコンデンサの位置を変更し、前記第3のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と前記再探索で得られた接続経路とのいずれとも重複しない前記第3のバイパスコンデンサを介した接続経路を再探索することを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記3) 前記部品情報記憶手段には、前記電源端子の電源電圧値が予め登録されており、
前記電源端子を選択する際には、電源電圧値の低い前記電源端子を優先的に選択することを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記4) 前記部品情報記憶手段には、前記電源端子の電源電圧値と、前記電源端子に接続する複数のバイパスコンデンサとが予め登録されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照して、接続先の前記電源端子の電源電圧値で前記バイパスコンデンサを分類し、前記バイパスコンデンサを表すオブジェクトを、分類されたグループごとにまとめて画面表示する処理を実行させることを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記5) 前記接続経路の探索では、前記端子から前記第1のバイパスコンデンサへの配線の優先検討方向が予め決められており、前記端子から前記優先検討方向に配線接続される位置に前記第1のバイパスコンデンサを配置する接続経路を最優先で探索することを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記6) 前記優先検討方向は、前記グリッドアレイパッケージ部品の中心から外に向かう方向であることを特徴とする付記5記載のプリント回路板設計支援プログラム。
(付記7) 前記部品情報記憶手段には、前記電源端子に接続するバイパスコンデンサが予め登録されており、
前記コンピュータに、さらに、
前記電源端子を含む前記グリッドアレイパッケージ部品を示すオブジェクトにおける前記電源端子と、前記電源端子に接続する前記バイパスコンデンサを示すオブジェクトとを線分で接続して表示する処理を実行させることを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記8) 前記コンピュータに、さらに、
前記接続経路記憶手段を参照し、前記電源端子の電源電圧ごとに、バイパスコンデンサが接続された前記電源端子の割合を計算させ、計算結果を表示させることを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記9) 前記部品情報記憶手段には、バイパスコンデンサの搭載条件が定義されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照し、前記接続経路記憶手段に格納された前記接続経路が、前記バイパスコンデンサの搭載条件を満たしているか否かを判定する処理を実行させることを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記10) 前記接続経路の探索では、前記グリッドアレイパッケージ部品が搭載された面とは反対側の面に前記第1のバイパスコンデンサを配置し、前記調査対象端子およびいずれかの前記グランド端子のそれぞれと前記第1のバイパスコンデンサとをビアを介して接続する経路を探索することを特徴とする付記1記載のプリント回路板設計支援プログラム。
(付記11) 前記接続経路の探索では、格子状に区切られた領域の格子点に前記グリッドアレイパッケージ部品の前記端子が配置され、前記格子点から縦横の2方向に格子間隔の半分距離だけ移動させた位置に前記ビアを配置することを特徴とする付記10記載のプリント回路板設計支援プログラム。
(付記12) 前記接続経路の探索では、操作入力に応じて、前記グリッドアレイパッケージ部品の中心を通る十字境界部へのビアの作成の可否を判断することを特徴とする付記10記載のプリント回路板設計支援プログラム。
(付記13) グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータで実行するプリント回路板設計支援方法であって、
前記コンピュータが、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
ことを特徴とするプリント回路板設計支援方法。
(付記14) グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するプリント回路板設計支援装置であって、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択する調査対象端子選択手段と、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索する接続経路探索手段と、
既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断する経路重複判断手段と、
接続経路の重複がある場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索する経路再探索手段と、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、接続経路の重複が検出された場合、再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する接続経路更新手段と、
を有することを特徴とするプリント回路板設計支援装置。
1 プリント回路板設計支援装置
1a 部品情報記憶手段
1b 調査対象端子選択手段
1c 接続経路探索手段
1d 接続経路記憶手段
1e 経路重複判断手段
1f 経路再探索手段
1g 接続経路更新手段

Claims (10)

  1. グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムであって、
    前記コンピュータに、
    前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択し、
    前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索し、
    既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
    接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
    接続経路の重複が検出された場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索し、
    再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
    処理を実行させることを特徴とするプリント回路板設計支援プログラム。
  2. 前記再探索で得られた接続経路と重複する他の既存の接続経路が検出されるごとに、前記他の既存の接続経路上の第3のバイパスコンデンサの位置を変更し、前記第3のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と前記再探索で得られた接続経路とのいずれとも重複しない前記第3のバイパスコンデンサを介した接続経路を再探索することを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  3. 前記部品情報記憶手段には、前記電源端子の電源電圧値が予め登録されており、
    前記電源端子を選択する際には、電源電圧値の低い前記電源端子を優先的に選択することを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  4. 前記部品情報記憶手段には、前記電源端子の電源電圧値と、前記電源端子に接続する複数のバイパスコンデンサとが予め登録されており、
    前記コンピュータに、さらに、
    前記部品情報記憶手段を参照して、接続先の前記電源端子の電源電圧値で前記バイパスコンデンサを分類し、前記バイパスコンデンサを表すオブジェクトを、分類されたグループごとにまとめて画面表示する処理を実行させることを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  5. 前記接続経路の探索では、前記端子から前記第1のバイパスコンデンサへの配線の優先検討方向が予め決められており、前記端子から前記優先検討方向に配線接続される位置に前記第1のバイパスコンデンサを配置する接続経路を最優先で探索することを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  6. 前記部品情報記憶手段には、前記電源端子に接続するバイパスコンデンサが予め登録されており、
    前記コンピュータに、さらに、
    前記電源端子を含む前記グリッドアレイパッケージ部品を示すオブジェクトにおける前記電源端子と、前記電源端子に接続する前記バイパスコンデンサを示すオブジェクトとを線分で接続して表示する処理を実行させることを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  7. 前記コンピュータに、さらに、
    前記接続経路記憶手段を参照し、前記電源端子の電源電圧ごとに、バイパスコンデンサが接続された前記電源端子の割合を計算させ、計算結果を表示させることを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  8. 前記部品情報記憶手段には、バイパスコンデンサの搭載条件が定義されており、
    前記コンピュータに、さらに、
    前記部品情報記憶手段を参照し、前記接続経路記憶手段に格納された前記接続経路が、前記バイパスコンデンサの搭載条件を満たしているか否かを判定する処理を実行させることを特徴とする請求項1記載のプリント回路板設計支援プログラム。
  9. グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータで実行するプリント回路板設計支援方法であって、
    前記コンピュータが、
    前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択し、
    前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索し、
    既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
    接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
    接続経路の重複が検出された場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索し、
    再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
    ことを特徴とするプリント回路板設計支援方法。
  10. グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するプリント回路板設計支援装置であって、
    前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を1つずつ調査対象端子として選択する調査対象端子選択手段と、
    前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第1のバイパスコンデンサを介した新規の接続経路を探索する接続経路探索手段と、
    既に配置が決定された第2のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断する経路重複判断手段と、
    接続経路の重複がある場合、前記第2のバイパスコンデンサの位置を変更し、前記第2のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第2のバイパスコンデンサを介した接続経路を再探索する経路再探索手段と、
    接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、接続経路の重複が検出された場合、再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する接続経路更新手段と、
    を有することを特徴とするプリント回路板設計支援装置。
JP2009147588A 2009-06-22 2009-06-22 プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置 Active JP5223790B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009147588A JP5223790B2 (ja) 2009-06-22 2009-06-22 プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置
US12/819,580 US8286124B2 (en) 2009-06-22 2010-06-21 Printed circuit board design assisting method, printed circuit board design assisting device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009147588A JP5223790B2 (ja) 2009-06-22 2009-06-22 プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置

Publications (2)

Publication Number Publication Date
JP2011003129A true JP2011003129A (ja) 2011-01-06
JP5223790B2 JP5223790B2 (ja) 2013-06-26

Family

ID=43355402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009147588A Active JP5223790B2 (ja) 2009-06-22 2009-06-22 プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置

Country Status (2)

Country Link
US (1) US8286124B2 (ja)
JP (1) JP5223790B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4940267B2 (ja) * 2009-06-26 2012-05-30 株式会社日立製作所 レイアウト設計支援装置、およびプログラム
JP5573509B2 (ja) * 2010-09-02 2014-08-20 富士通株式会社 設計支援装置,設計支援プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
US20150186586A1 (en) * 2013-12-30 2015-07-02 Samsung Electronics Co., Ltd. Integrated circuit layouts and methods to improve performance
US9830414B2 (en) * 2014-06-16 2017-11-28 Raytheon Company Pattern matching techniques in analog and mixed signal circuits
JP6365264B2 (ja) * 2014-11-25 2018-08-01 富士通株式会社 配線のトポロジ表示プログラム、配線のトポロジ表示方法、および情報処理装置
CN107926148B (zh) * 2015-07-15 2019-11-26 雅马哈发动机株式会社 模型数据生成装置及方法、搭载基准点决定装置及方法
JP7123692B2 (ja) * 2018-08-13 2022-08-23 株式会社日本マイクロニクス 配線基板設計支援装置、配線基板ビア配置方法及び配線基板ビア配置プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009037738A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited 引出し配線方法、引出し配線プログラムおよび引出し配線装置
JP2009151362A (ja) * 2007-12-18 2009-07-09 Ydc Corp 基板設計装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261110A (ja) 1999-03-11 2000-09-22 Fuji Xerox Co Ltd プリント配線基板およびこれを用いた半導体実装装置
JP2001053185A (ja) 1999-08-09 2001-02-23 Matsushita Electric Ind Co Ltd 半導体パッケージ
JP3745176B2 (ja) 1999-11-10 2006-02-15 キヤノン株式会社 プリント配線板
JP3838328B2 (ja) * 2000-02-28 2006-10-25 日本電気株式会社 設計支援装置および設計支援装置に含まれるコンピュータに実行させるためのプログラムを記録したコンピュータ読みとり可能な記録媒体
JP2003218540A (ja) 2002-01-28 2003-07-31 Cmk Corp 多層プリント配線板
WO2008058258A2 (en) * 2006-11-08 2008-05-15 Mentor Graphics Corporation Use of breakouts in printed circuit board designs

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009037738A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited 引出し配線方法、引出し配線プログラムおよび引出し配線装置
JP2009151362A (ja) * 2007-12-18 2009-07-09 Ydc Corp 基板設計装置

Also Published As

Publication number Publication date
US20100325594A1 (en) 2010-12-23
US8286124B2 (en) 2012-10-09
JP5223790B2 (ja) 2013-06-26

Similar Documents

Publication Publication Date Title
JP5223790B2 (ja) プリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置
TWI454956B (zh) 用於分析記憶單元庫之單元的方法及電腦可讀取媒介
US6829754B1 (en) Method and system for checking for power errors in ASIC designs
US7243327B1 (en) Method for automatically routing connections between top side conductors and bottom side conductors of an integrated circuit package
US7275229B2 (en) Auto connection assignment system and method
US8122397B2 (en) Method and system for mapping source elements to destination elements as interconnect routing assignments
US7594215B2 (en) Method and system for optimized automated IC package pin routing
CN106575649A (zh) 以其他方式用于填充单元、抽头单元、解耦电容器单元、刻线和/或虚设填充的区域中的ic测试结构和/或e‑波束目标焊盘的伺机放置,以及包含相同结构的产品ic芯片
US6584608B1 (en) Interactive designing process and system of a printed circuit board pattern
US20120131534A1 (en) Automatically Creating Vias in a Circuit Design
US6763509B2 (en) Method and apparatus for allocating decoupling capacitor cells
US6922822B2 (en) Verifying proximity of ground vias to signal vias in an integrated circuit
CN104572682B (zh) 对集成电路版图数据进行区域索引的方法
JP2005202928A (ja) レイアウト処理装置、レイアウト処理方法、及びプログラム
CN112066934B (zh) 一种检查pcb板同层过孔盘相交或重孔问题的方法
JP2016153956A (ja) 部品配置プログラム、部位品配置方法、および情報処理装置
US9275183B2 (en) Apparatus and method for aiding in designing electronic circuits
US7353479B2 (en) Method for placing probing pad and computer readable recording medium for storing program thereof
CN109542300A (zh) 一种更新web目录的方法、装置、电子设备及存储介质
JP2019046249A (ja) 設計支援装置、設計支援プログラムおよび設計支援方法
US10783308B1 (en) Method of assigning contact elements associated with an integrated circuit device
EP0654745A2 (en) Graphical display system for routing and repartitioning circuits during layout
JPH04138574A (ja) 回路情報表示装置
CN115906215A (zh) 在版图中生成图形的方法、装置、存储介质及电子设备
JPH10334132A (ja) 回路基板設計方法および回路基板設計方法を実現するコンピュータプログラムを記録した記録媒体並びに回路基板設計装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130225

R150 Certificate of patent or registration of utility model

Ref document number: 5223790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3