(57)【要約】【課題】グリッドアレイパッケージに対応したバイパスコンデンサの配置作業負担を軽減する。【解決手段】調査対象端子選択手段１ｂにより、グリッドアレイパッケージ部品の電源端子が１つずつ調査対象端子として選択される。次に、接続経路探索手段１ｃにより、選択された調査対象端子といずれかのグランド端子との間の第１のバイパスコンデンサを介した新規の接続経路が探索される。すると、経路重複判断手段１ｅにより、新規の接続経路と既存の接続経路との間の経路の重複の有無が判断される。接続経路の重複が検出された場合、経路再探索手段１ｆにより、第２のバイパスコンデンサの位置が変更され、第２のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第２のバイパスコンデンサを介した接続経路が再探索される。そして接続経路更新手段１ｇにより、接続経路記憶手段１ｄの内容が更新される。【選択図】図１
2011003129.tif 000002
【特許請求の範囲】
【請求項１】
グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムであって、
前記コンピュータに、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
処理を実行させることを特徴とするプリント回路板設計支援プログラム。
【請求項２】
前記再探索で得られた接続経路と重複する他の既存の接続経路が検出されるごとに、前記他の既存の接続経路上の第３のバイパスコンデンサの位置を変更し、前記第３のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と前記再探索で得られた接続経路とのいずれとも重複しない前記第３のバイパスコンデンサを介した接続経路を再探索することを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項３】
前記部品情報記憶手段には、前記電源端子の電源電圧値が予め登録されており、
前記電源端子を選択する際には、電源電圧値の低い前記電源端子を優先的に選択することを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項４】
前記部品情報記憶手段には、前記電源端子の電源電圧値と、前記電源端子に接続する複数のバイパスコンデンサとが予め登録されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照して、接続先の前記電源端子の電源電圧値で前記バイパスコンデンサを分類し、前記バイパスコンデンサを表すオブジェクトを、分類されたグループごとにまとめて画面表示する処理を実行させることを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項５】
前記接続経路の探索では、前記端子から前記第１のバイパスコンデンサへの配線の優先検討方向が予め決められており、前記端子から前記優先検討方向に配線接続される位置に前記第１のバイパスコンデンサを配置する接続経路を最優先で探索することを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項６】
前記部品情報記憶手段には、前記電源端子に接続するバイパスコンデンサが予め登録されており、
前記コンピュータに、さらに、
前記電源端子を含む前記グリッドアレイパッケージ部品を示すオブジェクトにおける前記電源端子と、前記電源端子に接続する前記バイパスコンデンサを示すオブジェクトとを線分で接続して表示する処理を実行させることを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項７】
前記コンピュータに、さらに、
前記接続経路記憶手段を参照し、前記電源端子の電源電圧ごとに、バイパスコンデンサが接続された前記電源端子の割合を計算させ、計算結果を表示させることを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項８】
前記部品情報記憶手段には、バイパスコンデンサの搭載条件が定義されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照し、前記接続経路記憶手段に格納された前記接続経路が、前記バイパスコンデンサの搭載条件を満たしているか否かを判定する処理を実行させることを特徴とする請求項１記載のプリント回路板設計支援プログラム。
【請求項９】
グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータで実行するプリント回路板設計支援方法であって、
前記コンピュータが、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
ことを特徴とするプリント回路板設計支援方法。
【請求項１０】
グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するプリント回路板設計支援装置であって、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択する調査対象端子選択手段と、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索する接続経路探索手段と、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断する経路重複判断手段と、
接続経路の重複がある場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索する経路再探索手段と、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、接続経路の重複が検出された場合、再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する接続経路更新手段と、
を有することを特徴とするプリント回路板設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント回路板に搭載する部品配置の設計を支援するプリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Large Scale Integration）の多ピン化によりパッケージとしてＢＧＡ（Ball Grid Array）と呼ばれるパッケージが適用されることが多くなっている。ＢＧＡでは、はんだによるボール状の電極が格子状に並べられている。なお、ＢＧＡのはんだボールに代えて平面電極パッドを格子状に並べたパッケージは、ＬＧＡ（Land Grid Array）と呼ばれる。ＢＧＡやＬＧＡのようなグリッドアレイパッケージは、四方に端子を出すＱＦＰ（Quad Flat Package）に比べて多数の電極を設けることができる。
【０００３】
グリッドアレイパッケージは多数の電極が密に配置されている。そのため、グリッドアレイパッケージを搭載するプリント配線板側の配線設計が難しくなる。そこで、グリッドアレイパッケージを実装するプリント配線板の配線に関して、様々な工夫が成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７４５１７６号公報
【特許文献２】特開２０００−２６１１１０号公報
【特許文献３】特開２００３−２１８５４０号公報
【特許文献４】特開２００１−５３１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、信号の伝送速度、立ち上がり時間が高速になっている。そのため、同時スイッチングノイズ（simultaneous switching output noise）防止用のバイパスコンデンサの、グリッドアレイパッケージ１つ当たりの必要数も急激に増加している。例えば、１５００ピンクラスのグリッドアレイパッケージ１つ当たりで３５０以上のバイパスコンデンサが必要とされる場合がある。このようなグリッドアレイパッケージを作動させるためのバイパスコンデンサは、グリッドアレイパッケージの電極の接続端子の直近に配置される。すなわち、グリッドアレイパッケージのサイズに応じた狭い範囲に、多数のバイパスコンデンサを配置することとなる。
【０００６】
しかし、従来のプリント回路板の設計では、バイパスコンデンサの配置をＣＡＤ（Computer Aided Design）を用いて設計者が手作業で行っており、非常に手間がかかっていた。特に最近のバイパスコンデンサの必要数の増加が、プリント回路板設計の部品配置工数を著しく増加させる要因となっている。
【０００７】
本発明はこのような点に鑑みてなされたものであり、グリッドアレイパッケージに対応したバイパスコンデンサの配置作業負担を軽減できるプリント回路板設計支援プログラム、プリント回路板設計支援方法、およびプリント回路板設計支援装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムが提供される。このプリント回路板設計支援プログラムは、コンピュータに、以下の処理を実行させる。
【０００９】
まず、プリント回路板設計支援プログラムは、コンピュータに、グリッドアレイパッケージ部品の複数の端子の位置、および端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、グリッドアレイパッケージ部品の電源端子を１つずつ調査対象端子として選択させる。次にプリント回路板設計支援プログラムは、コンピュータに、部品情報記憶手段を参照し、選択された調査対象端子といずれかのグランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索させる。次にプリント回路板設計支援プログラムは、コンピュータに、既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、新規の接続経路と既存の接続経路との間の経路の重複の有無を判断させる。次にプリント回路板設計支援プログラムは、コンピュータに、接続経路の重複が検出されなかった場合、新規の接続経路を接続経路記憶手段に格納させる。次にプリント回路板設計支援プログラムは、コンピュータに、接続経路の重複が検出された場合、第２のバイパスコンデンサの位置を変更し、第２のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第２のバイパスコンデンサを介した接続経路を再探索させる。そしてプリント回路板設計支援プログラムは、コンピュータに、再探索の対象となった既存の接続経路を接続経路記憶手段から削除し、再探索で得られた接続経路と新規の接続経路とを接続経路記憶手段に格納させる。
【００１０】
また上記課題を解決するために、上記プリント回路板設計支援プログラムがコンピュータに実行させる処理と同様の処理を行うプリント回路板設計支援方法が提供される。
さらに上記課題を解決するために、上記プリント回路板設計支援プログラムを実行するコンピュータが有する機能と同様の機能を有するプリント回路板設計支援装置が提供される。
【発明の効果】
【００１１】
上記プリント回路板設計支援プログラムを実行するコンピュータは、複数の電源端子に関し、バイパスコンデンサを介したグランド端子への重複のない接続経路を、自動で決定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係るプリント回路板設計支援装置の機能を示すブロック図である。
【図２】ＢＧＡ部品を実装したプリント回路板の断面図である。
【図３】バイパスコンデンサの配置処理状況を示す第１の図である。
【図４】バイパスコンデンサの配置処理状況を示す第２の図である。
【図５】バイパスコンデンサの配置処理状況を示す第３の図である。
【図６】端子を配線するビアの確保処理状況を示す第１の図である。
【図７】端子を配線するビアの確保処理状況を示す第２の図である。
【図８】端子を配線するビアの確保処理状況を示す第３の図である。
【図９】プリント回路板設計支援装置のハードウェア構成例を示す図である。
【図１０】プリント回路板設計支援装置の機能を示すブロック図である。
【図１１】プリント回路板ＤＢのデータ構造例を示す図である。
【図１２】部品情報内の部品端子グループ情報の例を示す図である。
【図１３】関連性情報のデータ構造例を示す図である。
【図１４】バイパスコンデンサ配置処理の手順を示すフローチャートである。
【図１５】端子から半格子シフトしてビアを配置する場合の端子とビアとの位置関係を示す図である。
【図１６】端子の直下にビアを配置する場合の端子とビアとの位置関係を示す図である。
【図１７】ＢＧＡ部品近傍にバイパスコンデンサを仮配置した場合の表示例を示す図である。
【図１８】プリント配線基板の外にバイパスコンデンサを仮配置した場合の表示例を示す図である。
【図１９】仮配置処理の手順を示すフローチャートである。
【図２０】端子優先順決定処理の手順を示すフローチャートである。
【図２１】ＢＧＡ端子リストの並べ替え状況を示す図である。
【図２２】配線の優先引き出し方向の例を示す図である。
【図２３】放射状配線とランダム配線との比較例を示す図である。
【図２４】端子の場所ごとの優先引き出し方向の違いを示す図である。
【図２５】優先配線方法決定処理の手順を示すフローチャートである。
【図２６】ビア作成候補リストの例を示す図である。
【図２７】十字境界部への配置の可否の設定状況を示す図である。
【図２８】十字境界部の配置可否設定処理の手順を示すフローチャートである。
【図２９】端子から半格子シフトしてビアを配置する場合のバイパスコンデンサ配置手順を示す図である。
【図３０】端子の直下にビアを配置する場合のバイパスコンデンサの配置手順を示す図である。
【図３１】バイパスコンデンサ配置および配線処理の手順を示すフローチャートである。
【図３２】ＢＧＡ部品の端子とバイパスコンデンサとの関連性表示画面の例を示す図である。
【図３３】関連線表示処理の手順を示すフローチャートである。
【図３４】充足率表示画面の一例を示す図である。
【図３５】充足性判定処理の手順を示すフローチャートである。
【図３６】接続条件違反検出処理の手順を示すフローチャートである。
【図３７】ＢＧＡ端子リストのデータ構造例を示す図である。
【図３８】ビア作成候補位置リストのデータ構造例を示す図である。
【図３９】調査要素リストのデータ構造例を示す図である。
【図４０】仮接続関係リストのデータ構造例を示す図である。
【図４１】割り付け解消端子リストのデータ構造例を示す図である。
【図４２】バイパスコンデンサ配置位置検索処理の手順を示すフローチャートである。
【図４３】ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その１）である。
【図４４】ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その２）である。
【図４５】ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その３）である。
【図４６】ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その４）である。
【図４７】割り付け情報設定処理の手順を示すフローチャートである。
【図４８】優先順でソート後のバイパスコンデンサテーブルの例を示す図である。
【図４９】ＢＧＡ端子リストの一例を示す図である。
【図５０】ビア作成候補位置リストの一例を示す図である。
【図５１】バイパスコンデンサ配置対象のＢＧＡ部品の例を示す図である。
【図５２】バイパスコンデンサ配置処理途中における配置状況を示す第１の図である。
【図５３】バイパスコンデンサ配置処理途中における配置状況を示す第２の図である。
【図５４】バイパスコンデンサ配置処理途中における配置状況を示す第３の図である。
【図５５】バイパスコンデンサ配置処理途中における配置状況を示す第４の図である。
【図５６】調査済みフラグの設定状況を示す第１の図である。
【図５７】調査済みフラグの設定状況を示す第２の図である。
【図５８】調査済みフラグの設定状況を示す第３の図である。
【図５９】調査済みフラグの設定状況を示す第４の図である。
【図６０】調査済みフラグの設定状況を示す第５の図である。
【図６１】バイパスコンデンサの再配置および再配線の状況を示す図である。
【図６２】端子にビアを割り付ける処理の手順を示すフローチャートである。
【図６３】端子に割り付けられるビアの調査処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態に係るプリント回路板設計支援装置の機能を示すブロック図である。プリント回路板設計支援装置１は、グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するものである。プリント回路板設計支援装置１は、部品情報記憶手段１ａ、調査対象端子選択手段１ｂ、接続経路探索手段１ｃ、接続経路記憶手段１ｄ、経路重複判断手段１ｅ、経路再探索手段１ｆ、および接続経路更新手段１ｇを有する。
【００１４】
部品情報記憶手段１ａは、グリッドアレイパッケージ部品の複数の端子の位置、および端子が電源端子かグランド端子かを示す属性を含むグリッドアレイパッケージ部品情報を記憶する。
【００１５】
調査対象端子選択手段１ｂは、部品情報記憶手段１ａを参照し、グリッドアレイパッケージ部品の電源端子を１つずつ調査対象端子として選択する。
接続経路探索手段１ｃは、部品情報記憶手段１ａを参照し、選択された調査対象端子といずれかのグランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索する。
【００１６】
接続経路記憶手段１ｄは、既に配置が決定された第２のバイパスコンデンサを介して接続される端子間の既存の接続経路を記憶する。接続経路は、例えば端子配線情報と、バイパスコンデンサ配置情報とで示される。端子配線情報には、グリッドアレイパッケージ部品と接続先となるビアの位置との対応関係が登録される。バイパスコンデンサ配置情報には、バイパスコンデンサの２つの端子の接続先となるビアの位置が登録される。これにより、電源端子から引き出し配線を行う第１のビアの位置が分かり、第１のビアの位置からバイパスコンデンサで接続される第２のビアの位置が分かり、第２のビアの位置へ引き出し配線で接続されるグランド端子が分かる。すなわち、端子配線情報とバイパスコンデンサ配置情報とにより、電源端子からグランド端子までのバイパスコンデンサを介した接続経路が示されている。
【００１７】
経路重複判断手段１ｅは、接続経路記憶手段１ｄを参照し、新規の接続経路と既存の接続経路との間の経路の重複の有無を判断する。
経路再探索手段１ｆは、接続経路の重複がある場合、第２のバイパスコンデンサの位置を変更し、第２のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第２のバイパスコンデンサを介した接続経路を再探索する。
【００１８】
接続経路更新手段１ｇは、接続経路の重複が検出されなかった場合、新規の接続経路を接続経路記憶手段１ｄに格納する。また接続経路更新手段１ｇは、接続経路の重複が検出された場合、再探索の対象となった既存の接続経路を接続経路記憶手段１ｄから削除し、再探索で得られた接続経路と新規の接続経路とを接続経路記憶手段１ｄに格納する。
【００１９】
このようなプリント回路板設計支援装置によれば、まず調査対象端子選択手段１ｂにより、グリッドアレイパッケージ部品の電源端子が１つずつ調査対象端子として選択される。次に、接続経路探索手段１ｃにより、選択された調査対象端子といずれかのグランド端子との間の第１のバイパスコンデンサを介した新規の接続経路が探索される。すると、経路重複判断手段１ｅにより、新規の接続経路と既存の接続経路との間の経路の重複の有無が判断される。接続経路の重複が検出されなかった場合、接続経路更新手段１ｇにより、新規の接続経路が接続経路記憶手段１ｄに格納される。
【００２０】
接続経路の重複が検出された場合、経路再探索手段１ｆにより、第２のバイパスコンデンサの位置が変更され、第２のバイパスコンデンサで接続された端子間の、新規の接続経路と重複しない第２のバイパスコンデンサを介した接続経路が再探索される。そして接続経路更新手段１ｇにより、再探索の対象となった既存の接続経路が接続経路記憶手段１ｄから削除され、再探索で得られた接続経路と新規の接続経路とが接続経路記憶手段１ｄに格納される。
【００２１】
このようにして、電源端子とグランド端子との間に配置するバイパスコンデンサの位置と、バイパスコンデンサから各端子への配線とを自動で決定することができる。
なお、グリッドアレイパッケージ部品には、ＢＧＡ部品やＬＧＡ部品がある。以下、ＢＧＡ部品の例を用い、端子に接続するバイパスコンデンサの配置状況を説明する。
【００２２】
図２は、ＢＧＡ部品を実装したプリント回路板の断面図である。図２にはＢＧＡ部品２０を実装したプリント配線板１０の例が示されている。プリント配線板１０の上面には、ＢＧＡ部品２０の端子と合致する位置に、複数の実装パッド１１が設けられている。図２の例では、複数のビア１２から実装パッド１１へのラインが形成されている。なおビア１２は内部が導電性部材で埋められており、ビア１２を形成した場所上に部品を搭載できる。このようなビア１２の位置に実装パッド１１を形成する構成は、ＣＯＨ（Chip on Hole）と呼ばれる。
【００２３】
ＢＧＡ部品２０は、下面に設けられた各端子に複数のハンダバンプ２１が設けられている。ハンダバンプ２１がプリント配線板１０の実装パッド１１に接合される。具体的には、ハンダバンプ２１をプリント配線板１０の実装パッド１１に接触させた状態で、ＢＧＡ部品２０を載せたプリント配線板１０をリフロー炉に通すことで、リフロー方式によるハンダ付けが行われる。
【００２４】
ビア１２は、プリント配線板１０を上下に貫通している。ビア１２の内部は、銅などの導電性部材が充填されている。ビア１２は、プリント配線板１０の下面や内部のライン１３に接続されている。
【００２５】
プリント配線板１０の下面に形成されたライン１３には、バイパスコンデンサ３１，３２が実装されている。バイパスコンデンサ３１，３２の両端の端子は、ＢＧＡ部品２０の電源端子に接続されたビアと、グランド（ＧＮＤ）端子に接続されたビアとに接続されている。これによりＢＧＡ部品２０の電源端子に発生したノイズが、バイパスコンデンサ３１，３２によって取り除かれる。
【００２６】
このようなバイパスコンデンサは、ＢＧＡ部品２０の電源端子の近くに設けられる。そのため、プリント配線板１０のＢＧＡ部品２０が搭載された領域の反対側の面には、多数のバイパスコンデンサを配置することとなる。このようなバイパスコンデンサの配置場所の決定を、図１に示したプリント回路板設計支援装置を用いれば容易に行うことができる。
【００２７】
すなわち、プリント回路板設計支援装置は、電源端子に配線可能なビアの候補を検出し、その候補となったビアに接続可能なバイパスコンデンサの配置場所を検出する。その際、プリント回路板設計支援装置は、バイパスコンデンサの配置場所に、すでに他のバイパスコンデンサがある場合、他のバイパスコンデンサの位置をずらす。プリント回路板設計支援装置は、ずらした先にさらに他のバイパスコンデンサがあれば、そのバイパスコンデンサの位置をずらす。このように、新たなバイパスコンデンサを配置することで影響がおよぶ他のバイパスコンデンサの位置を少しずつずらすことで、少しでも多くのバイパスコンデンサの配置が可能となる。
【００２８】
以下、図３〜図５を用いて、既に配置されているバイパスコンデンサをずらして、新たなバイパスコンデンサの配置場所を確保する処理を説明する。
図３は、バイパスコンデンサの配置処理状況を示す第１の図である。図３には、プリント配線板の上面および下面と平行な平面（Ｘ−Ｙ平面）に、ＢＧＡ部品の端子、ビア、バイパスコンデンサ、および配線のラインを投影した図が示されている（図４，図５も同様）。
【００２９】
第１の状態（ＳＴ１）は、ＢＧＡ部品の各端子に接続するバイパスコンデンサ配置途中の状態である。この状態では、バイパスコンデンサ４１が既に配置されている。バイパスコンデンサ４１は、２つのビア４２，４３に接続されている。ビア４２は、ＢＧＡ部品の端子４４に配線で接続されている。ビア４３は、ＢＧＡ部品の端子４５に配線で接続されている。このような状態で、端子４６に接続するバイパスコンデンサの配置場所を検出するものとする。
【００３０】
第２の状態（ＳＴ２）は、ＢＧＡ部品の端子４６に接続するビアの候補を選択した状態を示す図である。この例では、端子４６に接続するビアの候補として、ビア４２が選択されている。そこで、ビア４２からラインを辿って、ビア４２に既に接続されている端子が探索される。
【００３１】
第３の状態（ＳＴ３）は、ビア４２の接続先の探索状況を示している。探索により、ビア４２は既に端子４４に接続されていることが判明する。そこで端子４６をビア４２に接続するために、端子４４を接続するための他のビアの探索が行われる。
【００３２】
図４は、バイパスコンデンサの配置処理状況を示す第２の図である。第４の状態（ＳＴ４）は、端子４４の別の接続先の候補となるビアの探索状況を示している。この例では、端子４４の右下に、ビア４７の候補が検出されている。端子４４には、既にバイパスコンデンサ４１が接続されているため、端子４４の接続先となるビアが変更されれば、バイパスコンデンサ４１の位置も同時に変更される。
【００３３】
第５の状態（ＳＴ５）は、バイパスコンデンサ４１の移動先の探索状況を示している。この例では、ビア４７の右に新たなビア４８を設け、ビア４７とビア４８とに接続される位置が、バイパスコンデンサ４１の移動先の候補となっている。バイパスコンデンサ４１を移動させる場合、バイパスコンデンサ４１に接続された他方の端子４５の接続先となるビアも変更することとなる。
【００３４】
第６の状態（ＳＴ６）は、ビア４８へ接続する端子として、端子４５を選択した状況を示している。これにより、バイパスコンデンサ４１の位置の移動が可能であることが判明している。バイパスコンデンサ４１を移動させれば、端子４６をビア４２に接続することが可能となる。次に、ビア４２に対して、端子４６に接続するためのバイパスコンデンサを接続するための、バイパスコンデンサの配置場所が探索される。
【００３５】
図５は、バイパスコンデンサの配置処理状況を示す第３の図である。第７の状態（ＳＴ
７）は、端子４６に接続するためのバイパスコンデンサの配置場所の探索状況を示している。この例では、ビア４２の下に新たなビア４９を設け、ビア４２とビア４９とに接続される位置が、バイパスコンデンサの配置場所の候補となっている。
【００３６】
バイパスコンデンサを配置する場合、一方が電源端子に接続されていれば、他方はグランド端子に接続される。そこで、新たなバイパスコンデンサの候補となった配置場所から、接続可能なグランド端子が探索される。
【００３７】
第８の状態（ＳＴ８）は、新たなバイパスコンデンサから接続可能なグランド端子の探索状況を示している。この例では、グランド端子として端子５０が検出されている。端子５０が検出されたことで、候補となった場所にバイパスコンデンサを配置可能であることが判明する。そこで、バイパスコンデンサ４１の移動と、新たなバイパスコンデンサの配置とが確定する。
【００３８】
第９の状態（ＳＴ９）は、新たなバイパスコンデンサ５１の配置状況を示している。バイパスコンデンサ４１が移動され、端子４６をビア４２に接続し、ビア４２の位置に端子４６用のバイパスコンデンサ５１が配置されている。
【００３９】
図３〜図５の例では、１つのバイパスコンデンサ４１の位置をずらすだけで、バイパスコンデンサ５１の配置場所を確保できる場合である。その場合とは異なり、バイパスコンデンサ４１の移動先に別のバイパスコンデンサが既に配置されている場合もある。この場合、バイパスコンデンサ４１の移動先にあるバイパスコンデンサの位置もずらすこととなる。このように既に配置されているバイパスコンデンサの移動の障害となる他のバイパスコンデンサが順次ずらされる。これにより、新たに配置するバイパスコンデンサ５１の配置場所を確実に空けることが可能となる。
【００４０】
なお、バイパスコンデンサの配置に限らず、ＢＧＡ部品２０の端子から配線するビアの位置を決定する処理においても、必要に応じて、既に決定されているビアと端子間の接続関係の再構成が行われる。以下、図６〜図８を用いて、設定されている配線をずらして、端子からの新たな配置先となるビアを確保する処理を説明する。
【００４１】
図６は、端子を配線するビアの確保処理状況を示す第１の図である。図６には、プリント配線板の上面および下面と平行な平面に、ＢＧＡ部品の端子、ビア、および配線のラインを投影した図が示されている（図７，図８も同様）。
【００４２】
第１１の状態（ＳＴ１１）は、ＢＧＡ部品の各端子から配線を接続するビアの位置の決定途中の状態である。この状態では、すでに２つのビア６１，６３の形成が決定されている。ビア６１には端子６２が接続されている。ビア６３には、端子６４が接続されている。
【００４３】
第１２の状態（ＳＴ１２）は、ＢＧＡ部品の端子６５に接続するビアの候補を選択した状態を示す図である。この例では、端子６５に接続するビアの候補として、ビア６１が選択されている。そこで、ビア６１からラインを辿って、ビア６１に既に接続されている端子が探索される。
【００４４】
第１３の状態（ＳＴ１３）は、ビア６１の接続先の探索状況を示している。探索により、ビア６１は既に端子６２に接続されていることが判明する。そこで端子６５をビア６１に接続するために、端子６２を接続するための他のビアの探索が行われる。
【００４５】
図７は、端子を配線するビアの確保処理状況を示す第２の図である。第１４の状態（ＳＴ１４）は、端子６２の別の接続先の候補となるビアの探索状況を示している。この例では、端子６２の右上のビア６３が、接続先の候補として選択されている。そこで、ビア６３からラインを辿って、ビア６３に既に接続されている端子が探索される。
【００４６】
第１５の状態（ＳＴ１５）は、ビア６３の接続先の探索状況を示している。探索により、ビア６３は既に端子６４に接続されていることが判明する。そこで端子６２をビア６３に接続するために、端子６４を接続するための他のビアの探索が行われる。
【００４７】
第１６の状態（ＳＴ１６）は、端子６４の別の接続先の候補となるビアの探索状況を示している。この例では端子６４の右上の位置に形成される新たなビア６６が、接続先の候補として選択されている。ビア６６は新たに形成されるため、いずれの端子にも接続されていない。従って、他の端子とビアとの接続関係を変更せずに、端子６４をビア６６に接続できることが判明する。
【００４８】
図８は、端子を配線するビアの確保処理状況を示す第３の図である。第１７の状態（ＳＴ１７）は、端子６４の接続先となるビアの確定状況を示している。端子６４をビア６６に接続することが確定している。それに伴い、端子６４とビア６３との接続関係は解消される。
【００４９】
第１８の状態（ＳＴ１８）は、端子６２の接続先となるビアの確定状況を示している。端子６４とビア６３との接続関係が解消したことで、端子６２をビア６３に接続することが確定する。それに伴い、端子６２とビア６１との接続関係は解消される。
【００５０】
第１９の状態（ＳＴ１９）は、端子６５の接続先となるビアの確定状況を示している。端子６２とビア６１との接続関係が解消したことで、端子６５をビア６１に接続することが確定する。
【００５１】
このようにして、端子６５の接続先となるビア６１が確保される。
以上のようなバイパスコンデンサの位置の移動や、配線の接続関係の変更操作を、手作業で行う場合、非常に手間がかかる。本実施の形態では、バイパスコンデンサの位置の移動や配線の接続関係の変更がプリント回路板設計支援装置によって自動で実行される。そのため、バイパスコンデンサの配置およびＢＧＡ部品の端子に接続するビアの形成位置の決定作業が容易となる。
【００５２】
［第２の実施の形態］
第２の実施の形態は、第１の実施の形態に示した機能に対して、バイパスコンデンサの配置に有用な機能を追加したプリント回路板設計支援装置である。第２の実施の形態に係るプリント回路板設計支援装置は、例えばコンピュータにプリント回路板設計支援プログラムを実行させることで実現できる。
【００５３】
第２の実施の形態に係るプリント回路板設計支援装置には、以下の機能が実装されている。
（１）プリント回路板設計支援装置は、ＢＧＡ部品とパスコンの関連性を明確化するデータ構造のデータベースを有する。このデータベースには、ＢＧＡ部品とバイパスコンデンサは、部品間の関連性に加え、ＢＧＡ部品の端子とバイパスコンデンサとの関連性が登録される。
【００５４】
（２）プリント回路板設計支援装置は、所定の条件でバイパスコンデンサをグループ化する。グループ化されたバイパスコンデンサには優先順位が与えられ、より重要なバイパスコンデンサが優先して多く配置される。優先順位の種類は、アナログ系優先、電圧値順、電源電圧値ごとに分類したピン数順などがある。本実施の形態では、低い電源電圧に接続されるバイパスコンデンサほど優先するものとする。低い電源電圧に接続されるバイパスコンデンサは、ノイズに対するマージンが少ない。そのため、バイパスコンデンサを確実に接続することで、プリント回路板の信頼性を向上させることができる。
【００５５】
（３）プリント回路板設計支援装置は、ＢＧＡ部品に対し、バイパスコンデンサの配置と同時にＢＧＡ部品の端子からバイパスコンデンサへの引き出し配線を実施する。
（４）プリント回路板設計支援装置は、ＢＧＡ部品ごとにグループ化されたパスコンを、さらに電源電圧値ごとに分類したサブグループを構成する。そして、サブグループごとのバイパスコンデンサを表すオブジェクトを、ＢＧＡ部品の周囲に仮配置して表示する。
【００５６】
（５）プリント回路板設計支援装置は、ＢＧＡ部品の端子からの配線の引き出し手法として、ピンへの直接ビア引き出し、ＢＧＡ部品の端子間格子よりＸＹとも半格子シフトした位置へのビア引き出しのうちのいずれかの指定を受け付ける。そしてプリント回路板設計支援装置は、指定された手法に基づいてバイパスコンデンサの配置位置を決定する。
【００５７】
（６）プリント回路板設計支援装置は、ＢＧＡ部品からの各端子の配線性を考慮し、パスコンの搭載方向を放射状に同一方向で統一した配置を優先適用する。
（７）プリント回路板設計支援装置は、一般にＢＧＡ部品内部に設置する、配線用にビアをなるべく設置しない十字境界部への配置の可否を制御する。
【００５８】
（８）プリント回路板設計支援装置は、ＢＧＡ部品ないしはバイパスコンデンサを選択した際に、両者のあいだに接続線を表示する。
（９）プリント回路板設計支援装置は、ＢＧＡ部品を構成する電源電圧を認識し、それらの電源端子群に適正な数のパスコンが接続されていることを検査する。
【００５９】
（１０）プリント回路板設計支援装置は、ＢＧＡ部品とそれに関連付けされているパスコンの搭載条件が定義されており、搭載条件に準拠した搭載がなされているかを検証する。
【００６０】
これらの機能を組み合わせることで、プリント回路板へのバイパスコンデンサの配置位置の決定に関する設計作業が容易となり、かつ信頼性の高いプリント回路板を設計可能となる。
【００６１】
図９は、プリント回路板設計支援装置のハードウェア構成例を示す図である。プリント回路板設計支援装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。
【００６２】
ＲＡＭ１０２は、プリント回路板設計支援装置１００の主記憶装置として使用される。ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００６３】
バス１０８に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、および通信インタフェース１０７がある。
【００６４】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、プリント回路板設計支援装置１００の二次記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００６５】
グラフィック処理装置１０４には、モニタ７１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ７１の画面に表示させる。モニタ７１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００６６】
入力インタフェース１０５には、キーボード７２とマウス７３とが接続されている。入力インタフェース１０５は、キーボード７２やマウス７３から送られてくる信号をＣＰＵ１０１に送信する。なお、マウス７３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００６７】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク７４に記録されたデータの読み取りを行う。光ディスク７４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク７４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００６８】
通信インタフェース１０７は、ネットワーク７５に接続されている。通信インタフェース１０７は、ネットワーク７５を介して、サーバ７６などの他のコンピュータとの間でデータの送受信を行う。
【００６９】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図１０は、プリント回路板設計支援装置の機能を示すブロック図である。プリント回路板設計支援装置１００は、プリント回路板ＤＢ１１０、ユーザインタフェース部１２０、部品配置演算部１３０、および配置結果判定部１４０を有する。
【００７０】
プリント回路板ＤＢ１１０には、プリント配線板の構造に関する情報、プリント配線板に実装するＢＧＡ部品に関する情報、ＢＧＡ部品の端子に接続するバイパスコンデンサに関する情報などが格納されたデータベースである。またプリント回路板ＤＢ１１０には、ＢＧＡ部品とバイパスコンデンサの関連性を明確化した情報が格納される。例えばＨＤＤ１０３の記憶領域の一部が、プリント回路板ＤＢ１１０として使用される。
【００７１】
ユーザインタフェース部１２０は、プリント回路板の設計者からの操作入力の受け付けと、プリント回路板設計用の画面表示を行うユーザインタフェースである。ユーザインタフェース部１２０は、バイパスコンデンサ仮配置部１２１と、バイパスコンデンサ手動配置部１２２とを有している。
【００７２】
バイパスコンデンサ仮配置部１２１は、ＢＧＡ部品の端子に関連付けられたバイパスコンデンサを、電源電圧値ごとに分類したサブグループを構成する。そして、バイパスコンデンサ仮配置部１２１は、プリント回路板設計画面の所定の位置に、サブグループごとのバイパスコンデンサを仮配置して表示する。
【００７３】
バイパスコンデンサ手動配置部１２２は、設計者からの操作入力に応じて、バイパスコンデンサをプリント配線板の所定の位置に配置する。またバイパスコンデンサ手動配置部１２２は、バイパスコンデンサを選択した際に、選択したバイパスコンデンサと、そのバイパスコンデンサに関連付けられたＢＧＡ部品の端子との間に、接続線を表示する。接続線を表示させることで、関連性が視覚的に認識しやすくなる。バイパスコンデンサ手動配置部１２２は、配置したバイパスコンデンサの情報をプリント回路板ＤＢ１１０に格納する。
【００７４】
部品配置演算部１３０は、プリント回路板に搭載するバイパスコンデンサの位置や、ＢＧＡ部品の端子からの引き出し配線を接続するビアの位置などを演算によって求める。そして部品配置演算部１３０は、演算結果をプリント回路板ＤＢ１１０に格納する。このような機能を実現するため、部品配置演算部１３０は、接続情報記憶部１３１、端子優先順決定部１３２、優先配線方向決定部１３３、十字境界部配置可否設定部１３４、および接続関係決定部１３５を有する。
【００７５】
接続情報記憶部１３１は、接続関係決定部１３５の演算処理途中の段階での、ＢＧＡ部品の端子の引き出し配線の情報や、バイパスコンデンサの配置場所の情報を記憶する記憶機能である。例えば、ＲＡＭ１０２の記憶領域の一部が接続情報記憶部１３１として使用される。
【００７６】
端子優先順決定部１３２は、ＢＧＡ部品の端子に関連付けられたバイパスコンデンサに、配置場所決定の優先順位を設定する。例えば端子優先順決定部１３２は、電圧値の低い端子に関連付けられたバイパスコンデンサの優先度を高くする。また端子優先順決定部１３２は、アナログ系の信号端子に関連付けられたバイパスコンデンサの優先度を高くすることもできる。また端子優先順決定部１３２は、電源電圧値ごとに分類した端子数に応じて、端子数の少ない（または多い）電源電圧の端子に関連付けられたバイパスコンデンサの優先順を高くすることができる。本実施の形態では、低電圧の端子に関連付けられたバイパスコンデンサの優先順を高くするものとする。これは、低電圧の端子は雑音の影響を受けやすく、バイパスコンデンサを接続する必要性が高いためである。
【００７７】
優先配線方向決定部１３３は、ＢＧＡ部品の端子を配線するビアの位置を検討する際の、優先的に検討対象とする位置を決定する。具体的には、優先配線方向決定部１３３は、端子からビアに向けて放射状に配線されるようなビアの位置ほど、検討対象の優先順を高くする。そして優先配線方向決定部１３３は、接続情報記憶部１３１内の各端子から配線するビアの位置の候補を、優先順に沿って並べ替える。
【００７８】
十字境界部配置可否設定部１３４は、ＢＧＡ部品の中心を通る十字型の境界領域について、バイパスコンデンサを配置するか否かを設定する。具体的には、十字境界部配置可否設定部１３４は、十字境界部にバイパスコンデンサを配置しない場合、その領域のビア作成可能位置に対し、ビア作成候補として調査済みであることを示すフラグを設定する。このフラグを設定することで、該当する位置はビア作成の候補から除外される。ビアが作成されなければ、その領域にバイパスコンデンサが配置されることもなくなる。他方、十字境界部配置可否設定部１３４は、十字境界部にバイパスコンデンサを配置しない場合、その領域のビア作成可能位置に対し、ビア作成候補として未調査であることを示すフラグを設定する。これにより、十字境界内のビア作成可能位置がビア作成の検討対象となり、バイパスコンデンサを配置することも可能となる。
【００７９】
接続関係決定部１３５は、接続情報記憶部１３１内のＢＧＡ部品の端子を、優先順の高いものから順次選択する。そして接続関係決定部１３５は、選択した端子に関連付けられたバイパスコンデンサの配置場所を決定する。なお接続関係決定部１３５は、端子から配線を接続するビアの作成位置は、該当するビアの周囲の候補位置について、優先配線方向決定部１３３で決定された優先順に沿って配線の当否を検討する。これにより、バイパスコンデンサの搭載方向を放射状に同一方向で統一した配置を優先することができる。配線方向を可能な限り統一することで、バイパスコンデンサを秩序正しく並べることができる。バイパスコンデンサが秩序正しく並べられていれば、空きスペースが少なくなり、より多くのバイパスコンデンサが配置可能となる。
【００８０】
また接続関係決定部１３５は、ビア作成候補位置として調査済みのフラグが設定されている位置は、端子から配線するビアの作成候補位置としての検討対象から除外する。これにより、ＢＧＡ搭載領域中央の十字境界部へのバイパスコンデンサの配置の可否を制御することができる。
【００８１】
配置結果判定部１４０は、プリント回路板ＤＢ１１０を参照し、バイパスコンデンサの配置結果を評価する。評価結果は、ユーザインタフェース部１２０を介してモニタ７１に表示される。配置結果判定部１４０はバイパスコンデンサの配置結果を評価するために、充足性判定部１４１と接続条件検証部１４２とを有する。
【００８２】
充足性判定部１４１は、ＢＧＡ部品とそれに必要なバイパスコンデンサをグループ化する。そして充足性判定部１４１は、ＢＧＡ部品の電源端子の電源電圧を認識し、それらの電源端子群について、バイパスコンデンサが接続されている端子の割合を算出する。
【００８３】
接続条件検証部１４２は、ＢＧＡ部品とそれに関連付けされているバイパスコンデンサの接続条件に基づいて、配置されたバイパスコンデンサが接続条件を満たしているか否かを検証する。
【００８４】
次に図１０に示した各構成要素の内容を詳細に説明する。
図１１は、プリント回路板ＤＢのデータ構造例を示す図である。プリント回路板ＤＢ１１０には、部品情報１１１、基板情報１１２、層情報１１３、ネット情報１１４、および関連性情報１１５が格納される。
【００８５】
部品情報１１１は、プリント回路板に搭載するＢＧＡ部品やバイパスコンデンサに関する情報である。例えば部品情報１１１には、各部品の搭載情報、部品形状、部品端子情報、部品端子グループ情報が含まれる。
【００８６】
部品の搭載情報としては、プリント配線板上での部品の位置、その部品の向きなどが含まれる。部品の位置は、例えばプリント回路基板について定義されたワールド座標系における部品の基準点の座標で示される。部品の向きは、例えばワールド座標系と部品のローカル座標系との成す角度で示される。
【００８７】
部品の形状は、例えば部品を構成する各面の頂点が、ローカル座標系における座標で示される。各面を組み合わせた形状が、部品の形状となる。
部品端子情報は、部品に設けられた端子の端子番号、端子の位置、その端子に入出力される信号名などである。端子の位置は、例えば部品のローカル座標系における座標で示される。部品がＢＧＡ部品の場合、各端子について、電源端子か、信号端子か、グランド端子かの識別情報が、部品端子情報に含まれる。さらにＢＧＡ部品の電源端子については、電源電圧を示す情報も部品端子情報に含まれる。
【００８８】
部品端子グループ情報は、部品端子を電源電圧の種別に応じてグループ化したときの、各端子が属するグループに関する情報である。
基板情報１１２は、プリント配線板に関する情報である。基板情報１１２には、プリント配線板の層構成や、基板サイズなどが含まれる。またプリント配線板に形成するビアの位置、ビアの径などの情報が基板情報１１２に含まれる。
【００８９】
層情報１１３は、プリント配線板を構成する層に関する情報である。層情報１１３には、例えば層の数、各層の属性などが含まれる。
ネット情報１１４は、プリント配線板上の配線に関する情報である。例えばネット情報１１４には、各配線を流れる信号の信号名、電圧値などが含まれる。またネット情報１１４には、ＢＧＡ端子からビアへの引き出し配線に関する情報も含まれる。
【００９０】
関連性情報１１５は、ＢＧＡ部品とバイパスコンデンサとの関連性に関する情報である。関連性情報１１５には、ＢＧＡ部品のリストと、各ＢＧＡ部品に接続するバイパスコンデンサのリストとが含まれる。また関連性情報１１５には、ＢＧＡ部品の端子の、各端子に接続するバイパスコンデンサのリストが含まれる。さらに関連性情報１１５には、ＢＧＡ部品に接続する各バイパスコンデンサの接続条件が含まれる。
【００９１】
次に、プリント回路板ＤＢ１１０内の情報のうち、バイパスコンデンサの配置場所の決定に影響を与える情報について詳細に説明する。
図１２は、部品情報内の部品端子グループ情報の例を示す図である。部品端子グループ情報１１１ａは、部品名、電源種、グループ、および端子番号の欄が設けられたテーブル構造となっている。各欄の横方向に並べられた情報が、１つのグループに関する部品端子グループ情報である。なお図１２の例では部品端子グループ情報１１１ａがテーブル構造となっているが、他のデータ構造であってもよい。
【００９２】
部品名の欄には、グループ分けの対象となっているＢＧＡ部品の部品番号が設定される。電源種の欄には、グループの属する端子の電源種別が設定される。グループの欄には、グループの識別番号が設定される。端子番号には、グループに属する端子の識別番号（端子番号）が設定される。
【００９３】
図１３は、関連性情報のデータ構造例を示す図である。関連性情報１１５には、条件番号と接続条件との欄が設けられている。条件番号の欄には、接続条件の識別番号（条件番号）が設定される。接続条件の欄には、各ＢＧＡ部品の端子に接続するバイパスコンデンサに関する接続条件が設定される。
【００９４】
接続条件の欄は、条件名、ＢＧＡ部品番号、端子番号、搭載面、許容距離、電圧値、バイパスコンデンサ部品番号、および個数の欄に細分化されている。条件名の欄には、接続条件の識別名が設定される。ＢＧＡ部品番号の欄には、接続条件が適用されるＢＧＡ部品の部品番号が設定される。端子番号の欄には、接続条件が適用される端子の端子番号が設定される。なお特定の端子を指定せずに、バイパスコンデンサを実装する際の接続条件のみを定義する場合、端子番号の欄に「指示なし」と設定される。搭載面の欄には、バイパスコンデンサを搭載するプリント配線板の面を示す情報が設定される。許容距離の欄には、端子とバイパスコンデンサとの間に許容される最大距離が設定される。電圧値の欄には、バイパスコンデンサの電圧の許容値（耐電圧）が設定される。バイパスコンデンサ部品番号の欄には、ＢＧＡ部品の端子に関連付けられたバイパスコンデンサの部品番号が設定される。個数の欄には、ＢＧＡ部品の端子に接続されるバイパスコンデンサの個数が設定される。
【００９５】
なお図１３の例では、各バイパスコンデンサの許容距離が「２．０００ｍｍ」となっている。この許容距離は、ＢＧＡ部品の端子間格子よりＸＹ軸方向に半格子シフトした位置にバイパスコンデンサを配置した場合における、ＢＧＡ部品の端子とバイパスコンデンサの端子との距離よりも長い。また図１３の例では、すべてのバイパスコンデンサに同じ許容距離が設定されているが、許容距離はバイパスコンデンサごとに任意の値を設定できる。例えば電源電圧の高い電源端子に接続するバイパスコンデンサについては、「２．０００ｍｍ」よりも長い許容距離としてもよい。
【００９６】
以上のような構成のプリント回路板設計支援装置１００において、設計者からの操作入力に応じて、ＢＧＡ端子からの配線を伴うバイパスコンデンサの自動配置、またはＢＧＡ端子からビアへの自動配線が行われる。まず、バイパスコンデンサの自動配置について詳細に説明する。
【００９７】
図１４は、バイパスコンデンサ配置処理の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。なお、この処理は、バイパスコンデンサの配置処理を指示する操作入力が行われた場合に実行される。
【００９８】
［ステップＳ１１］ユーザインタフェース部１２０は、設計者からの配置条件を指定する操作入力を受け付ける。配置条件としては、ＢＧＡ部品の端子の直下にビアを形成するのか、ＢＧＡ部品の端子間格子よりＸＹ軸方向に半格子シフトした位置にビアを形成するのかの指定がある。また、配置条件として、バイパスコンデンサの配置対象とするＢＧＡ部品が指定される。また、配置条件として、バイパスコンデンサを仮配置する際の配置場所が指定される。仮配置の場所としては、例えばＢＧＡ部品の近傍に配置するか、プリント配線基板の外に配置するのかが指定される。また、配置条件として、十字境界部への配置を許容するか否かが指定される。
【００９９】
［ステップＳ１２］ユーザインタフェース部１２０は、バイパスコンデンサ仮配置部１２１に、画面上でバイパスコンデンサの仮配置を行わせる。バイパスコンデンサ仮配置部１２１は、バイパスコンデンサ配置対象のＢＧＡ部品に関連付けられているバイパスコンデンサを、ＢＧＡ部品の電源端子に付与されたグループごとに分けて配置し、モニタ７１に画面表示する。
【０１００】
［ステップＳ１３］端子優先順決定部１３２は、バイパスコンデンサの配置位置の検討対象として端子を選択する順番を決定する。例えば端子優先順決定部１３２は、印可電圧の小さい端子ほど優先順を高くする。そして、端子優先順決定部１３２は、接続情報記憶部１３１に記憶されているＢＧＡ部品の端子のリストを、優先順に沿って並べ替える。
【０１０１】
［ステップＳ１４］優先配線方向決定部１３３は、ＢＧＡ部品の各端子について、優先配線方向を決定する。具体的には、優先配線方向決定部１３３は、ＢＧＡ部品の端子からビアへの配線が放射状となるように、端子の配線先とするビアの形成位置の選択順を決定する。ここで、放射状の配線とは、端子の位置からビアの位置を示すベクトルが、ＢＧＡ部品の中心から遠ざかる方向を向いた配線である。このように配線方向を揃えることで、パスコンを整然と並べることができ、より多くのバイパスコンデンサの配置が可能となる。なお、配線の向きが揃っていることが重要であるため、端子の位置からビアの位置を示すベクトルが、ＢＧＡ部品の中心に近づく方向を向いた配線としてもよい。
【０１０２】
優先配線方向決定部１３３は優先配線方向が決定されると、接続情報記憶部１３１内の各端子に関連付けられたビアの形成位置の候補を、優先順に沿って並べ替える。
［ステップＳ１５］十字境界部配置可否設定部１３４は、ＢＧＡ部品の十字境界部にバイパスコンデンサを配置するか否かの指示を、ユーザインタフェース部１２０を介して受け取る。そして、十字境界部配置可否設定部１３４は、指示に応じて、接続情報記憶部１３１内の十字境界部内のビア作成可能位置に、調査済みまたは未調査のフラグを設定する。
【０１０３】
［ステップＳ１６］接続関係決定部１３５は、ＢＧＡ部品の各端子に接続するバイパスコンデンサの位置を決定し、端子からビアを介してバイパスコンデンサに接続する配線を設定する。具体的には、接続関係決定部１３５は、接続情報記憶部１３１内のＢＧＡ部品の端子を、優先順に沿って選択する。次に、接続関係決定部１３５は、選択した端子の周囲の位置について、ビアを作成しバイパスコンデンサを配置可能かどうか、優先順が高い位置から順に調査する。その際、接続関係決定部１３５は、調査済みと設定されている位置は調査対象から除外する。
【０１０４】
なお、接続関係決定部１３５は、ビア作成候補として調査しているビアに他の端子にバイパスコンデンサを接続する配線が設定されている場合、他の端子に接続されるバイパスコンデンサの位置をずらすことが可能かどうかを検討する。
【０１０５】
［ステップＳ１７］ユーザインタフェース部１２０は、設計者からの操作入力に応答して、関連付けられた端子とバイパスコンデンサとの関係を示す関連線を、モニタ７１に表示する。
【０１０６】
［ステップＳ１８］バイパスコンデンサ手動配置部１２２は、設計者からの操作入力に応答して、バイパスコンデンサをプリント配線板上に配置する。この際、バイパスコンデンサ手動配置部１２２は、設計者からの操作入力に応答して、接続関係決定部１３５で配置されたバイパスコンデンサの位置を変更することもできる。
【０１０７】
［ステップＳ１９］充足性判定部１４１は、設計者からの充足性判定を指示する操作入力に応答して、ＢＧＡ部品に関するバイパスコンデンサの充足性を判定する。充足性は、ＢＧＡ部品の端子のうち、バイパスコンデンサが接続された端子の割合で表される。
【０１０８】
［ステップＳ２０］接続条件検証部１４２は、設計者からの接続条件の検証を指示する操作入力に応答して、ＢＧＡ部品の端子に接続されたバイパスコンデンサが接続条件を満たしているか否かを検証する。接続条件検証部１４２は、接続条件を満たさないバイパスコンデンサがある場合、エラーを出力する。出力されたエラーは、ユーザインタフェース部１２０を介してモニタ７１に表示される。
【０１０９】
以上のようにして、ＢＧＡ部品に接続するバイパスコンデンサの配置を容易に行うことができる。以下、図１４に示す各処理の内容を詳細に説明する。
まず、ステップＳ１１に示す配置条件入力受け付け処理について詳細に説明する。入力される配置条件には、まず、ビアの作成位置に関する条件がある。ビアの作成位置の条件には、端子から半格子シフトしてビアを配置する指示と、端子の直下にビアを配置する指示とがある。
【０１１０】
図１５は、端子から半格子シフトしてビアを配置する場合の端子とビアとの位置関係を示す図である。図中、端子を「Ｂ」で示し、ビアを「Ｖ」で示す（図１６，図２３，図２４においても同様）。
【０１１１】
図１５の例では、端子８０に接続するビアの位置の候補の例が示されている。図１５に示されている実線は、ＢＧＡ部品の端子の間隔を単位幅とした格子である。この実線で示された格子を端子用格子とする。ＢＧＡ部品の各端子は、端子用格子の格子点上に位置する。
【０１１２】
破線は、実線で示された端子用格子から、その端子用格子の単位幅の半分（半格子）の距離だけＸ軸方向とＹ軸方向とにずらした格子である。この破線で示された格子をビア用格子とする。プリント配線板のビアは、ビア用格子の格子点上に作成することができる。
【０１１３】
端子８０は、端子８０から半格子だけＸ方向とＹ方向とにずれた位置のビア８１〜８４のいずれかに配線することができる。このように端子８０からビアへの引き出し配線は、４方向の選択肢がある。図１５の例では、端子８０の接続先としてビア８１を選択したものとする。
【０１１４】
ビア８１が選択されると、ビア８１に一方の端子が接続されたバイパスコンデンサ８５の配置場所が検討される。バイパスコンデンサ８５は、ビア用格子の格子幅と同じ幅の２つの端子を備えている。バイパスコンデンサ８５の配置場所を検討する場合、ビア８１の位置を基準とした配置方向として、図１５に示す４方向への配置が可能である。バイパスコンデンサ８５の長辺とＸ軸との成す角とでバイパスコンデンサ８５の方向を表すと、０度、９０度、１８０度、および２７０度の方向となる。例えば、バイパスコンデンサ８５を１８０度の方向に配置すると、ビア８１とビア８２とを接続する位置にバイパスコンデンサ８５が配置される。また、バイパスコンデンサ８５を２７０度の方向に配置すると、ビア８１とビア８４とを接続する位置にバイパスコンデンサ８５が配置される。
【０１１５】
図１６は、端子の直下にビアを配置する場合の端子とビアとの位置関係を示す図である。図１６の例では、端子９０に接続するビアの位置の候補の例が示されている。図１６に示されている実線は、ＢＧＡ部品の端子の間隔を単位幅とした格子である。この実線で示された格子を端子用格子とする。ＢＧＡ部品の各端子は、端子用格子の格子点上に位置する。また、プリント配線板のビアも、端子用格子の格子点上に作成することができる。図１６では、端子とビアとが重なった位置を「Ｂ，Ｖ」で示す。
【０１１６】
端子９０は、その直下にビアを作成し、配線される。すると、端子９０の位置に設けられたビアに一方の端子が接続されたバイパスコンデンサ９３の配置場所が検討される。バイパスコンデンサ９３は、端子用格子の格子幅と同じ幅の２つの端子を備えている。バイパスコンデンサ９３の配置場所を検討する場合、端子９０の直下のビアの位置を基準とした配置方向として、図１６に示す４方向への配置が可能である。バイパスコンデンサ９３の長辺とＸ軸との成す角とでバイパスコンデンサ９３の方向を表すと、０度、９０度、１８０度、および２７０度の方向となる。例えばバイパスコンデンサ９３を１８０度の方向に配置すると、端子９０と端子９１とを接続する位置にバイパスコンデンサ９３が配置される。また、バイパスコンデンサ９３を２７０度の方向に配置すると、端子９０と端子９２とを接続する位置にバイパスコンデンサ９３が配置される。
【０１１７】
ユーザインタフェース部１２０は、図１５に示すように端子から半格子シフトしてビアを配置するのか、図１６に示すように端子の直下にビアを配置するのかを指示する操作入力を取得し、配置条件としてＲＡＭ１０２内に格納する。そして、ユーザインタフェース部１２０は、端子とビアとの位置関係に関する配置条件を、部品配置演算部１３０に渡す。これにより、部品配置演算部１３０によって配置条件に従ってビアの位置が決定される。
【０１１８】
また、配置条件には、仮配置の配置場所指定がある。ユーザインタフェース部１２０は、仮配置の場所を指示する操作入力を取得し、配置条件としてＲＡＭ１０２内に格納する。そして、ユーザインタフェース部１２０は、仮配置の場所に関する配置条件を、バイパスコンデンサ仮配置部１２１に渡す。これにより、バイパスコンデンサ仮配置部１２１によって、モニタ７１の画面上でバイパスコンデンサが仮配置される。
【０１１９】
図１７は、ＢＧＡ部品近傍にバイパスコンデンサを仮配置した場合の表示例を示す図である。画面にはＢＧＡ部品２１０が表示されている。ＢＧＡ部品２１０の上には、グループ２０１，２０２に分類されたバイパスコンデンサが表示されている。グループ２０１，２０２は、ＢＧＡ部品の電源端子を電源種ごとにグループ化することで得られたものである。
【０１２０】
各グループ２０１，２０２は、矩形の枠で囲まれている。また、各グループ２０１，２０２の上には、そのグループ内のバイパスコンデンサが関連付けられたＢＧＡ部品の部品番号、および関連する端子が属する電源種の電圧値が表示されている。
【０１２１】
図１８は、プリント配線基板の外にバイパスコンデンサを仮配置した場合の表示例を示す図である。図１８の例では、プリント配線基板２００上に２つのＢＧＡ部品２１０，２２０が表示されている。なお、バイパスコンデンサの配置対象として選択されているＢＧＡ部品２１０が強調表示されている。プリント配線基板２００の上には、バイパスコンデンサの配置対象のＢＧＡ部品２１０に関連するバイパスコンデンサが、グループ２０１，２０２に分類して表示されている。
【０１２２】
図１９は、仮配置処理の手順を示すフローチャートである。以下、図１９に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］ユーザインタフェース部１２０は、仮配置場所を指示する配置条件の入力を受け付ける。そしてユーザインタフェース部１２０は、バイパスコンデンサ仮配置部１２１に、仮配置場所の指示を渡す。
【０１２３】
［ステップＳ３２］ユーザインタフェース部１２０は、バイパスコンデンサの配置対象とするＢＧＡ部品を選択する操作入力を受け付ける。そしてユーザインタフェース部１２０は、選択されたＢＧＡ部品の情報（例えば部品番号）をバイパスコンデンサ仮配置部１２１に渡す。
【０１２４】
［ステップＳ３３］バイパスコンデンサ仮配置部１２１は、選択されたＢＧＡ部品に関連するバイパスコンデンサをグループ化する。具体的には、バイパスコンデンサ仮配置部１２１は、図１２に示す部品情報１１１内の部品端子グループ情報１１１ａを参照することで、ＢＧＡ部品の各端子の電源種を認識できる。また、バイパスコンデンサ仮配置部１２１は、図１３に示す関連性情報１１５を参照することで、各端子に関連付けられたバイパスコンデンサを認識できる。これらの情報より、バイパスコンデンサ仮配置部１２１は、ＢＧＡ部品２１０の端子に関連するバイパスコンデンサを、関連する端子の電源種ごとにグループ化することができる。すなわちバイパスコンデンサ仮配置部１２１は、同じ電圧の電源種に属する各端子に関連付けられたバイパスコンデンサを、同じグループにまとめる。
【０１２５】
［ステップＳ３４］バイパスコンデンサ仮配置部１２１は、バイパスコンデンサのオブジェクトをグループごとの枠内に表示する。具体的には、バイパスコンデンサ仮配置部１２１は、ステップＳ３１で指定された配置場所に、グループごとの枠を表示する。次にバイパスコンデンサ仮配置部１２１は、各グループの枠内に、そのグループに属するバイパスコンデンサに対応するオブジェクトを表示する。
【０１２６】
［ステップＳ３５］バイパスコンデンサ仮配置部１２１は、各グループの枠の上に、関連するＢＧＡ部品の部品番号と電源種を表示する。
このようにして、ＢＧＡ部品の電源端子に付与されたグループに従い、ＢＧＡ部品とリンク関係を持つバイパスコンデンサが、グループごとに分類して仮配置して表示される。このような仮配置を行うことで、ＢＧＡ部品に対し、手動でバイパスコンデンサを配置する場合に、配置指示がし易くなる。すなわち、仮配置されたバイパスコンデンサのオブジェクトは、マウスポインタで指定することで、設計者が任意に移動できる。そして、バイパスコンデンサがＢＧＡ部品上に移動されると、移動された位置がそのバイパスコンデンサの配置場所として決定される。
【０１２７】
また部品配置演算部１３０によりバイパスコンデンサの配置場所を自動で決定した場合、位置が決定したバイパスコンデンサのオブジェクトは、決定された場所に移動される。これにより、自動配置によるグループごとのバイパスコンデンサの配置状況を、設計者が容易に認識できる。例えばグループの枠内にバイパスコンデンサのオブジェクトが残っていれば、未配置のバイパスコンデンサが存在していることを一目で認識できる。
【０１２８】
このように、バイパスコンデンサの電圧値ごとの整列配置を行うことで、バイパスコンデンサの配置にかかる作業時間を短縮できる。
次に端子優先順決定処理の詳細を説明する。
【０１２９】
図２０は、端子優先順決定処理の手順を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。
［ステップＳ４１］端子優先順決定部１３２は、ＢＧＡ端子リストを作成する。具体的には、端子優先順決定部１３２はプリント回路板ＤＢ１１０のＢＧＡ部品の部品情報１１１を参照し、そのＢＧＡ部品の端子識別子を取得する。そして、端子優先順決定部１３２は、取得した端子識別子を並べ、ＢＧＡ端子リストを作成する。作成されたＢＧＡ端子リストは、接続情報記憶部１３１に格納される。
【０１３０】
［ステップＳ４２］端子優先順決定部１３２は、端子の電源種情報を取得する。具体的には、端子優先順決定部１３２は、部品情報１１１内の部品端子グループ情報１１１ａを取得する。端子優先順決定部１３２は、部品端子グループ情報１１１ａに示される電源種ごとの端子番号に基づいて、各端子の電源種を判別する。
【０１３１】
［ステップＳ４３］端子優先順決定部１３２は、ＢＧＡ端子リストの各端子を、電源種の電圧が低い順に並べ替える。
図２１は、ＢＧＡ端子リストの並べ替え状況を示す図である。図２１に示すように接続情報記憶部１３１には、ＢＧＡ端子リスト１３１ａが格納されている。ＢＧＡ端子リスト１３１ａは、バイパスコンデンサの配置対象となるＢＧＡ部品の端子識別子を並べたものである。各端子の電源種は、部品端子グループ情報１１１ａで判別できる。そこで端子優先順決定部１３２によって、電圧の低い端子の識別子が上位となるように、ＢＧＡ端子リスト１３１ａがソートされる。
【０１３２】
このように電圧の低い端子をＢＧＡ端子リスト１３１ａの上位に設定しておけば、接続関係決定部１３５において、電圧の低い端子ほど優先的に選択される。その結果、電圧の低い端子には、確実にバイパスコンデンサを接続することができる。電圧の低い端子は、ノイズの影響を受けやすく、バイパスコンデンサを接続する必要性が高い。すなわち、電圧の低い端子に確実にバイパスコンデンサを接続することで、プリント回路板としての信頼性が向上する。
【０１３３】
次に優先配線方向決定処理について説明する。優先配線方向決定処理では、ＢＧＡ端子から放射状に配線を引き出す方向のビアへの配線の可否を優先的に検討する。
図２２は、配線の優先引き出し方向の例を示す図である。なお本実施の形態では、完全な放射状ではなく、図２２に示すようにＢＧＡ部品２１０の中心から四隅への方向を、優先引き出し方向とする。このように配線の引き出し方向を統一することで、バイパスコンデンサを整然とならべ、より多くのバイパスコンデンサの配置が可能となる。
【０１３４】
図２３は、放射状配線とランダム配線との比較例を示す図である。図２３（Ａ）は、放射状配線でバイパスコンデンサを配置した例である。図２３（Ｂ）は、ランダム配線でバイパスコンデンサを配置した例である。なお図２３（Ａ）、図２３（Ｂ）では端子を「Ｂ」で示し、ビアを「Ｖ」で示している。
【０１３５】
放射状配線では、端子からバイパスコンデンサ２３１〜２３５が接続されたビアへの配線が、すべて左上方向に統一されている。これによりバイパスコンデンサ２３１〜２３５が整然と並び、無駄なスペースが発生していない。
【０１３６】
ランダム配線では、端子からビアへの配線方向を統一していない。そのため、端子からバイパスコンデンサ２４１〜２４６が接続されたビアへの配線方向は、左上方向のものと、右下方向のものとがある。すると、バイパスコンデンサの搭載角度もランダムとなる。その結果、ビア２４７のように、バイパスコンデンサを接続できないビアが発生する。すなわち、デッドスペースが発生してしまう。デッドスペースが増える程、接続できるバイパスコンデンサの数も減ってしまう。
【０１３７】
なお、本実施の形態では、適宜、バイパスコンデンサの再配置を行う。そのため、もし初期の段階でランダム配線が行われてデッドスペースが生じても、バイパスコンデンサの再配置によりデッドスペースは少なくなる。しかし、初期の段階からデッドスペースが少なければ、再配置処理時間を短縮することができる。すなわち、再配置処理で位置をずらすバイパスコンデンサの数が多い程、再配置処理に時間がかかる。位置をずらすべきバイパスコンデンサが少なければ、再配置が必要となった場合でも、再配置処理を短時間で終了できる。
【０１３８】
図２４は、端子の場所ごとの優先引き出し方向の違いを示す図である。図２４には、ＢＧＡ部品２１０の中心を原点とする座標系が示されている。横方向にＸ軸、縦方向にＹ軸が採られている。このような座標系を考え、各端子から配線を引き出す場合、その端子が属する象限によって、ビアへの優先引き出し方向が判定される。
【０１３９】
端子のＸ座標が正、Ｙ座標が正であれば、その端子は第１象限に属する。第１象限に属する端子は、その端子から右上方向の位置のビアに優先的に配線が引き出される。端子のＸ座標が負、Ｙ座標が正であれば、その端子は第２象限に属する。第２象限に属する端子は、その端子から左上方向の位置のビアに優先的に配線が引き出される。端子のＸ座標が負、Ｙ座標が負であれば、その端子は第３象限に属する。第３象限に属する端子は、その端子から左下方向の位置のビアに優先的に配線が引き出される。端子のＸ座標が正、Ｙ座標が負であれば、その端子は第４象限に属する。第４象限に属する端子は、その端子から右下方向の位置のビアに優先的に配線が引き出される。
【０１４０】
図２５は、優先配線方法決定処理の手順を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。
［ステップＳ５１］優先配線方向決定部１３３は、ＢＧＡ部品を１つ選択する。
【０１４１】
［ステップＳ５２］優先配線方向決定部１３３は、部品中央座標を算出する。具体的には、優先配線方向決定部１３３は、プリント回路板ＤＢ１１０の部品情報１１１における選択したＢＧＡ部品の情報を参照する。部品情報１１１には、部品の搭載情報と部品形状とが含まれる。部品搭載情報には、部品の所定の基準点の、プリント配線板上での位置を示す座標が示されている。優先配線方向決定部１３３は、部品の形状に基づいて、その部品の中心を算出する。そして、優先配線方向決定部１３３は、部品の基準点から中心までの差を、その部品の位置に加算することで、部品中央座標を算出する。
【０１４２】
［ステップＳ５３］優先配線方向決定部１３３は、選択されているＢＧＡ部品の引き出し対象端子を選択する。具体的には、優先配線方向決定部１３３は、ＢＧＡ端子リスト１３１ａの上位から順に端子を選択し、引き出し対象端子とする。
【０１４３】
［ステップＳ５４］優先配線方向決定部１３３は、最優先のビア作成候補位置を選択する。具体的には、優先配線方向決定部１３３は、引き出し対象端子の位置が、ＢＧＡ部品の中心を原点とする座標系において、第何象限に属するのかを判別する。そして優先配線方向決定部１３３は、図２４に示したように、引き出し対象端子が属する象限に応じて、原点から遠ざかる方向のビアの位置を、最優先のビア作成候補位置と決定する。
【０１４４】
［ステップＳ５５］優先配線方向決定部１３３は、選択したビア作成候補位置を、ビア作成候補リストの先頭に配置する。ビア作成候補リストは、ＢＧＡ端子リスト１３１ａの選択したＢＧＡ端子の端子番号に関連付けて登録される。
【０１４５】
［ステップＳ５６］優先配線方向決定部１３３は、選択されているＢＧＡ部品のすべての端子を処理したか否かを判断する。すべての端子を処理した場合、処理がステップＳ５７に進められる。未処理の端子がある場合、処理がステップＳ５３に進められる。
【０１４６】
［ステップＳ５７］優先配線方向決定部１３３は、すべてのＢＧＡ部品を処理したか否かを判断する。すべてのＢＧＡ部品を処理した場合、優先配線方向決定処理が終了する。未処理のＢＧＡ部品がある場合、処理がステップＳ５１に進められる。
【０１４７】
図２６は、ビア作成候補リストの例を示す図である。ビア作成候補リスト１３１ｂは、ＢＧＡ端子リスト１３１ａの各端子番号に対応付けて設けられている。ビア作成候補リスト１３１ｂは、対応する端子の周囲のビア作成候補位置を示す情報のリストである。図中、左に示されたビア作成候補位置ほど優先順位が高い。すなわち、端子番号からポインタで指し示されたビア作成候補位置が、最優先のビア作成候補位置である。
【０１４８】
例えば第１象限の端子であれば、その端子の右上のビア作成候補位置（右上候補地）が、最優先のビア作成候補位置となる。また、第２象限の端子であれば、その端子の左上のビア作成候補位置（左上候補地）が、最優先のビア作成候補位置となる。
【０１４９】
このようにして、放射状の配線を優先して、端子からビアへ配線を引き出すことができる。
次に十字境界部の配置可否設定処理について説明する。十字境界部への配置の可否は、設計者からの操作入力によって指定される。
【０１５０】
図２７は、十字境界部への配置の可否の設定状況を示す図である。ユーザインタフェース部１２０は、配置条件設定画面２５０をモニタ７１に表示する。配置条件設定画面２５０には、十字境界部２１１への配置を許容するか否かを指定するチェックボックス２５１が設けられている。設計者は、十字境界部２１１へのバイパスコンデンサの配置を許可する場合、チェックボックス２５１を選択してチェックマークを表示させる。十字境界部２１１への配置を許容するか否かの指定内容は、ユーザインタフェース部１２０から部品配置演算部１３０内の十字境界部配置可否設定部１３４に通知される。十字境界部配置可否設定部１３４は、十字境界部２１１への配置が許容されていれば、十字境界部２１１内のビア作成候補位置を未調査とする。また、十字境界部配置可否設定部１３４は、十字境界部２１１への配置が許容されていなければ、十字境界部２１１内のビア作成候補位置を調査済みとする。
【０１５１】
ＢＧＡ端子の十字境界部２１１は、ラインを通すためにビアを設置しないケースが多い。そこで、設計者は、十字境界部２１１への配線を優先する場合、十字境界部２１１への配置を許容しなければよい。また、十字境界部２１１への配線よりバイパスコンデンサの配置を優先する場合は、設計者は、十字境界部２１１へのビア設置を許可することができる。このように、配線よりバイパスコンデンサの配置を優先する場合はここへのビア設置を許可するユーザ指示が可能となる。
【０１５２】
図２８は、十字境界部の配置可否設定処理の手順を示すフローチャートである。以下、図２８に示す処理をステップ番号に沿って説明する。
［ステップＳ６１］十字境界部配置可否設定部１３４は、十字境界部への配置可否入力を受け付ける。具体的には、十字境界部配置可否設定部１３４は、配置条件設定画面２５０における十字境界部配置可否の指示内容を、ユーザインタフェース部１２０を介して取得する。
【０１５３】
［ステップＳ６２］十字境界部配置可否設定部１３４は、十字境界部を検出する。具体的には、十字境界部配置可否設定部１３４は、ＢＧＡ部品の外周から中央十字線を求める。例えばＢＧＡ部品が四角形の場合、十字境界部配置可否設定部１３４は、外周から４つの角の座標（頂点座標）を求める。次に十字境界部配置可否設定部１３４は、隣り合う頂点座標間の中点を求める。そして十字境界部配置可否設定部１３４は、対向する辺の中点を結ぶ２つの線分を中央十字線と認識する。
【０１５４】
中央十字線が求まると、十字境界部配置可否設定部１３４はその中央十字線に最も近いビア作成候補位置列を縦横１列ずつ検出する。そして十字境界部配置可否設定部１３４は、検出した縦横１列ずつのビア作成候補位置列を、十字境界部と認識する。
【０１５５】
［ステップＳ６３］十字境界部配置可否設定部１３４は、ステップＳ６１で取得した配置可否入力の内容が、配置許容の指示か、配置非許容の指示かを判断する。配置許容であれば、処理がステップＳ６４に進められる。配置非許容であれば、処理がステップＳ６５に進められる。
【０１５６】
［ステップＳ６４］十字境界部配置可否設定部１３４は、配置許容の場合、十字境界部のビア作成候補位置の調査済みフラグを、「未調査」に設定する。その後、処理が終了する。
【０１５７】
［ステップＳ６５］十字境界部配置可否設定部１３４は、配置非許容の場合、十字境界部のビア作成候補位置の調査済みフラグを、「調査済み」に設定する。その後、処理が終了する。
【０１５８】
このように、十字境界部へのバイパスコンデンサの配置が許容されない場合、十字境界部内のビア作成候補位置のすべてに調査済みフラグが設定される。調査済みフラグは、端子からの引き出し配線を接続する先としてビア作成候補位置を探索する際の、ビア作成の可否判断が終了していることを示す。すなわち、調査済みフラグが設定されていると、以後、該当するビア作成候補位置が、引き出し配線の接続先として選択されることがなくなる。引き出し配線の接続先として使用されないビア作成候補位置には、バイパスコンデンサが配置されることもない。
【０１５９】
他方、十字境界部へのバイパスコンデンサの配置が許容された場合、十字境界部内のビア作成候補位置のすべてに未調査のフラグが設定される。これにより、十字境界部内のビア作成候補位置も調査対象となり、バイパスコンデンサを配置可能となる。
【０１６０】
このように、設計者の指示により十字境界部にもバイパスコンデンサを配置可能とすることで、より多くのバイパスコンデンサの配置が可能となる。
次に、バイパスコンデンサ配置および配線処理について説明する。
【０１６１】
図２９は、端子から半格子シフトしてビアを配置する場合のバイパスコンデンサ配置手順を示す図である。図２９では、バイパスコンデンサの配置の際の状態遷移を、第１の状態から第４の状態で示している。
【０１６２】
第１の状態は、選択されている端子８０から引き出し配線を接続するビアの探索状況を示している。この例では、端子８０の右上のビア８１の位置が、ビア作成候補位置として選択されている。
【０１６３】
第２の状態は、ビア作成候補位置のビア８１にバイパスコンデンサ８５を仮接続した状況を示している。
第３の状態は、仮接続したバイパスコンデンサ８５のもう片方の端子に接続可能なビアの探索状況を示している。この例では、右側のビア８６が接続先として選択されている。
【０１６４】
第４の状態は、バイパスコンデンサ８５の接続先として選択されたビアに配線を引き出し可能な端子の探索状況を示している。この例では、ビア８７が選択されている。なお、最初に選択された端子８０が電源端子または信号端子であれば、ビア８７はグランド端子であることが要求される。
【０１６５】
図３０は、端子の直下にビアを配置する場合のバイパスコンデンサの配置手順を示す図である。図３０では、バイパスコンデンサの配置の際の状態遷移を、第１の状態から第３の状態で示している。
【０１６６】
第１の状態は、選択されている端子９０の直下にビアの配置を決定した状態を示している。図３０では、直下にビアが形成される端子を「Ｂ，Ｖ」の記号で示している。
第２の状態は、ビア作成候補位置のビアにバイパスコンデンサ９３を仮接続した状態を示している。
【０１６７】
第３の状態は、仮接続したバイパスコンデンサ９３のもう片方の端子に接続可能なビアの探索状況を示している。この例では、右側の端子９４の位置が、バイパスコンデンサ９３を接続するビア作成候補位置として選択されている。
【０１６８】
図３１は、バイパスコンデンサ配置および配線処理の手順を示すフローチャートである。なおバイパスコンデンサの配置を行うＢＧＡ部品が複数ある場合、ＢＧＡ部品ごとに、図３１に示す処理が実行される。以下、図３１に示す処理をステップ番号に沿って説明する。
【０１６９】
［ステップＳ７１］接続関係決定部１３５は、プリント回路板ＤＢ１１０からバイパスコンデンサ配置対象のＢＧＡ部品に関する関連性情報１１５を取得する。また接続関係決定部１３５は、接続情報記憶部１３１を参照して、ＢＧＡ部品の端子を選択する優先順位を認識する。すなわち図２１に示すＢＧＡ端子リスト１３１ａにおける上位の端子が優先的に選択される。
【０１７０】
［ステップＳ７２］接続関係決定部１３５は、優先順に沿って端子を選択する。具体的には、接続関係決定部１３５は、未選択の端子のうち、ＢＧＡ端子リスト１３１ａ内で最も上位にある端子を選択する。
【０１７１】
［ステップＳ７３］接続関係決定部１３５は、引き出し配線ビアを作成可能か否かを判断する。端子から半格子シフトしてビアを配置する場合、選択された端子の周囲から引き出し配線ビアの作成可能な位置が探索される。端子の直下にビアを配置する場合、選択された端子の直下にビアが作成可能か否かが判断される。なお以下の説明では、端子から半格子シフトしてビアを配置するものとする。
【０１７２】
引き出し配線ビアが作成可能であれば、処理がステップＳ７４に進められる。引き出し配線ビアが作成できなれば、処理がステップＳ８０に進められる。
［ステップＳ７４］接続関係決定部１３５は、バイパスコンデンサの接続が必要な端子か否かを判断する。具体的には接続関係決定部１３５は、関連性情報１１５においてバイパスコンデンサが関連づけられている端子であれば、バイパスコンデンサの接続が必要と判断する。また接続関係決定部１３５は、部品情報１１１を参照し、選択した端子が電源端子であればバイパスコンデンサの接続が必要と判断する。なお接続関係決定部１３５は、部品情報１１１を参照し、選択した端子が信号端子である場合にもバイパスコンデンサの接続が必要と判断するようにしてもよい。バイパスコンデンサの接続が必要な端子であれば、処理がステップＳ７５に進められる。バイパスコンデンサの接続が必要な端子でなければ、処理がステップＳ８０に進められる。
【０１７３】
［ステップＳ７５］接続関係決定部１３５は、ビア作成候補位置を選択する。具体的には、接続関係決定部１３５は、優先配線方向決定部１３３により決定された優先順で、端子周囲から配線可能なビア作成候補位置を選択する。
【０１７４】
［ステップＳ７６］接続関係決定部１３５は、選択したビア作成候補位置が未処理の候補位置か否かを判断する。未処理の候補位置であれば、処理がステップＳ７７に進められる。すでに処理した候補位置であれば、処理がステップＳ８０に進められる。
【０１７５】
［ステップＳ７７］接続関係決定部１３５は、選択したビア作成候補位置にビアを作成可能か否かを判断する。具体的には接続関係決定部１３５は、選択したビア作成候補位置に調査済みフラグが設定されていれば、配置できないと判断する。例えば十字境界部へのビアの作成が許容されていない場合、該当領域内のビア作成候補位置については、ビア作成不可能と判断される。
【０１７６】
［ステップＳ７８］接続関係決定部１３５は、選択したビア作成候補位置に作成したビアを介してバイパスコンデンサを接続し、そのバイパスコンデンサを介してグランド端子に接続できるか否かを判断する。なお、接続関係決定部１３５は、すでに配置されているバイパスコンデンサの再配置、および引き出し配線の再設定を行っても、選択した端子からバイパスコンデンサを介してグランド端子に接続できない場合に、接続ができないと判断する。必要に応じてバイパスコンデンサの再配置などを行い接続できる場合、処理がステップＳ７９に進められる。接続できない場合、処理がステップＳ７５に進められる。
【０１７７】
［ステップＳ７９］接続関係決定部１３５は、選択した端子から、バイパスコンデンサを介したグランド端子までの配線およびバイパスコンデンサの配置場所を示す情報を、接続情報記憶部１３１に格納する。
【０１７８】
［ステップＳ８０］接続関係決定部１３５は、未処理の端子があるか否かを判断する。未処理の端子があれば、処理がステップＳ７２に進められる。すべての端子について処理が完了していれば、処理がステップＳ８１に進められる。
【０１７９】
［ステップＳ８１］接続関係決定部１３５は、プリント回路板ＤＢ１１０における配線の情報、およびバイパスコンデンサの配置場所に関する情報を更新する。その後、処理が終了する。
【０１８０】
このようにして、ＢＧＡ部品におけるバイパスコンデンサの配置が必要なすべての端子に関して、バイパスコンデンサの配置が試みられる。そして可能な限り多くのバイパスコンデンサの配置が決定される。バイパスコンデンサの配置が自動で決定されることにより、プリント回路板の設計者の作業負担が軽減される。
【０１８１】
次にＢＧＡ部品の端子とバイパスコンデンサとの接続関連性表示処理について詳細に説明する。
図３２は、ＢＧＡ部品の端子とバイパスコンデンサとの関連性表示画面の例を示す図である。ユーザインタフェース部１２０のバイパスコンデンサ手動配置部１２２は、ＢＧＡ部品２１０の端子とバイパスコンデンサ２６１〜２７３との関連性情報に基づいて、端子とバイパスコンデンサ２６１〜２７３との間を接続する関連線を表示する。関連線は、端子の位置とバイパスコンデンサの位置とを両端とする線分である。これにより関連性が目視上で容易に理解でき、バイパスコンデンサを手動で配置する際に、間違いのない配置を支援できる。
【０１８２】
なおバイパスコンデンサ手動配置部１２２は、静的な状態のみならず、バイパスコンデンサを移動している最中(ドラッグ中)にも、そのバイパスコンデンサと端子とを接続する関連線を表示する。
【０１８３】
図３３は、関連線表示処理の手順を示すフローチャートである。以下、図３３に示す処理をステップ番号に沿って説明する。
［ステップＳ９１］バイパスコンデンサ手動配置部１２２は、設計者からの関連線表示命令を示す操作入力を受け付ける。
【０１８４】
［ステップＳ９２］バイパスコンデンサ手動配置部１２２は、関連性情報１１５を参照し、ＢＧＡ部品の端子と、その端子に関連づけられたバイパスコンデンサとを関連線で結ぶ。以後、バイパスコンデンサ手動配置部１２２は、バイパスコンデンサを移動している最中でも、関連線の端部を随時更新し、リアルタイムに関連線を生成する。
【０１８５】
設計者は、このように表示された関連線を参考にして、バイパスコンデンサの新たな配置、および自動で配置されたバイパスコンデンサの位置の移動などを指示する操作入力を行うことができる。バイパスコンデンサ手動配置部１２２は、設計者からの操作入力に応じて、バイパスコンデンサを移動すると共に、関連線を表示する。バイパスコンデンサがビア作成可能な位置に移動され、確定の操作入力が行われると、バイパスコンデンサ手動配置部１２２はその時点のバイパスコンデンサの位置を確定し、プリント回路板ＤＢ１１０を更新する。
【０１８６】
次に、充足性判定処理について詳細に説明する。バイパスコンデンサの配置作業が完了した場合、あるいはバイパスコンデンサの配置作業途中で、設計者は充足性判定指示の操作入力を行うことができる。充足性判定指示は、ユーザインタフェース部１２０を介して充足性判定部１４１に伝えられる。充足性判定部１４１は、充足性判定指示に応答して、ＢＧＡ部品の電源種ごとのバイパスコンデンサ充足率を計算する。そして、充足率がユーザインタフェース部１２０を介してモニタ７１に表示される。
【０１８７】
図３４は、充足率表示画面の一例を示す図である。充足率表示画面２８０には、充足率の演算結果が充足率情報テーブル２８１で示されている。充足率情報テーブル２８１は、充足性判定部１４１によって作成され、ＲＡＭ１０２に格納された情報である。
【０１８８】
充足率情報テーブル２８１には、部品名、電源電圧種、電源端子数、バイパスコンデンサ接続端子数、および充足率の欄が設けられている。部品名の欄には、ＢＧＡ部品の部品番号が表示される。電源電圧種の欄には。ＢＧＡ部品の電源端子の電圧種別が表示される。電源端子数の欄には、対応する電圧種の端子数が表示される。バイパスコンデンサ接続端子数の欄には、対応する電圧種の端子のうち、バイパスコンデンサが接続された端子数が表示される。充足率の欄には。対応する電圧種の端子の充足率が表示される。充足率は、バイパスコンデンサ接続端子数を電源端子数で除算し、パーセント（除算結果を１００倍）で表示したものである。
【０１８９】
図３５は、充足性判定処理の手順を示すフローチャートである。以下、図３５に示す処理をステップ番号に沿って説明する。
［ステップＳ１０１］充足性判定部１４１は、電源電圧種ごとの端子数をカウントする。例えば充足性判定部１４１は、部品情報１１１内の部品端子グループ情報１１１ａを参照し、電源種ごとの端子番号の数をカウントする。
【０１９０】
［ステップＳ１０２］充足性判定部１４１は、電源電圧種ごとの端子に接続されたバイパスコンデンサ数をカウントする。例えば充足性判定部１４１は、ネット情報１１４を参照して、端子の引き出し配線の接続先となるビアを判断し、部品情報１１１を参照して該当ビアへのバイパスコンデンサの配置の有無を判断する。さらに充足性判定部１４１は、バイパスコンデンサが接続された端子を電源種ごとに分類する。そして充足性判定部１４１は、バイパスコンデンサが接続された端子数を電源種ごとにカウントする。
【０１９１】
［ステップＳ１０３］充足性判定部１４１は、バイパスコンデンサが接続された端子の割合を電源電圧種ごとに計算する。そして、充足性判定部１４１は、充足率情報テーブル２８１を作成し、ＲＡＭ１０２などの記憶媒体に格納する。ＲＡＭ１０２に格納された充足率情報テーブル２８１は、ユーザインタフェース部１２０を介してモニタ７１に表示される。
【０１９２】
このように充足率を画面表示することで、バイパスコンデンサを配置したことによるプリント回路板の信頼性の確保状況が確認できる。すなわち、近年、信号の高速化により、電源ノイズの抑制のためには、電源端子１つあたりに１つ以上のバイパスコンデンサが接続されていることが目標とされる。多ピン化しているＢＧＡ部品でこれを目視で確認することは非常に困難である。本実施の形態のようにＢＧＡ部品ごとにグループ化されている電源電圧種ごとに、端子とバイパスコンデンサとの接続の充足性を検証することで、バイパスコンデンサが接続されていない端子の存在が電源種ごとに明らかになる。バイパスコンデンサが接続されていない端子が、低電圧の電源種の端子であれば、設計者は、瞬時にバイパスコンデンサ不足による配置不良を認識できる。
【０１９３】
次に接続条件違反検出処理について説明する。バイパスコンデンサの配置作業が完了した場合、あるいはバイパスコンデンサの配置作業途中で、設計者は接続条件違反の検出を指示する操作入力を行うことができる。
【０１９４】
図３６は、接続条件違反検出処理の手順を示すフローチャートである。以下、図３６に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］接続条件検証部１４２は、接続条件違反の検出の指示を、ユーザインタフェース部１２０を介して受け取ると、プリント回路板ＤＢ１１０の関連性情報１１５（図１３に示す）から、ＢＧＡ部品の接続条件を読み込む。
【０１９５】
［ステップＳ１１２］接続条件検証部１４２は、接続条件が設定された端子に接続されたバイパスコンデンサの有無を調査する。例えばバイパスコンデンサの配置後であれば、接続条件検証部１４２は、プリント回路板ＤＢ１１０を参照して、ＢＧＡ部品の各端子にビアを介してバイパスコンデンサが接続されているか否かを判断する。またバイパスコンデンサの配置作業中であれば、接続条件検証部１４２は、接続情報記憶部１３１内の情報を参照して、現在のＢＧＡ部品の各端子へのバイパスコンデンサの配置状況を認識する。
【０１９６】
［ステップＳ１１３］接続条件検証部１４２は、各端子に接続されたバイパスコンデンサと、接続条件とを比較する。具体的には、接続条件検証部１４２は、接続されているバイパスコンデンサの名称、搭載面、ＢＧＡ部品の端子からの距離などの条件について比較する。
【０１９７】
［ステップＳ１１４］接続条件検証部１４２は、端子の接続条件を満たしていないバイパスコンデンサの有無を判断する。該当するバイパスコンデンサがあれば、処理がステップＳ１１５に進められる。該当するバイパスコンデンサがなければ、処理が終了する。
【０１９８】
［ステップＳ１１５］接続条件検証部１４２は、接続条件を満たさないバイパスコンデンサの部品番号や、満たされていない接続条件の内容などを含むエラーメッセージを出力する。そのエラーメッセージはユーザインタフェース部１２０を介してモニタ７１に表示される。例えば、ユーザインタフェース部１２０は、接続条件のリストが画面に表示され、そのうち満たされていない接続条件については赤い文字などによる強調表示を行う。またユーザインタフェース部１２０は、エラー箇所をテキスト表記するなどのエラー表示をすることもできる。
【０１９９】
このようにして、接続条件を満たさないバイパスコンデンサが搭載されていた場合、エラーメッセージを表示することができる。すなわち、ＢＧＡ部品の端子へのバイパスコンデンサの接続条件通りに、バイパスコンデンサが端子に接続されているかをチェックすることで、回路図通りの物理接続がなされているかを人手を介さずに確認できる。その結果、設計者の作業負担が軽減される。
【０２００】
［第３の実施の形態］
第３の実施の形態は、バイパスコンデンサの配置位置の検索を２部グラフのマッチング技術を拡張することで、高速な処理を実現したものである。２部グラフとは、頂点の集合が２分割され、辺がその２つの部分集合の間を結ぶものに限られるグラフである。端子の集合とビア作成候補位置の集合とでマッチングを行うことで、端子とビア作成候補位置との組を作成できる。なお第３の実施の形態におけるプリント回路板設計支援装置に必要な要素は、図１０に示した第２の実施の形態と同様である。ただし、第３の実施の形態では、接続関係決定部１３５が２部グラフを用いてバイパスコンデンサの配置および配線の決定処理を行う。そこで、図１０に示す各要素の符号を用いて、第３の実施の形態の処理を説明する。
【０２０１】
なお、以下の説明において、端子に、その端子から引き出し配線で接続するビア作成候補位置を関連付けることを、端子にビア作成候補位置を割り付けると呼ぶこととする。また、端子に、ビア作成候補位置を介してその端子に接続するバイパスコンデンサを関連付けることを、端子にバイパスコンデンサを割り付けると呼ぶこととする。
【０２０２】
まず第３の実施の形態において接続情報記憶部１３１に格納される情報について説明する。接続情報記憶部１３１には、ＢＧＡ端子リスト、ビア作成候補位置リスト、調査済み要素リスト、仮接続関係リスト、および割り付け解消端子リストが格納される。
【０２０３】
まずＢＧＡ端子リストについて説明する。
図３７は、ＢＧＡ端子リストのデータ構造例を示す図である。ＢＧＡ端子リスト３１０は、ＢＧＡ部品の各端子に関する調査状況を示す情報の登録領域である。ＢＧＡ端子リスト３１０は、ＢＧＡ部品ごとに設けられる。各ＢＧＡ端子リスト３１０には、ＢＧＡ部品に設けられた端子数分のレコードが登録できる。各レコードは、配列Ｐ［ｎ1］で表される。ｎ1は、１以上端子数以下の整数の値を採るインデックスである。
【０２０４】
ＢＧＡ端子リストの各レコードには、端子属性（Ｐｉ）、調査済みフラグ（Ｐｆ）、割り付けたビア作成候補位置へのリンク（Ｐｌ）などのデータが含まれる。
なお、「リンク」とは、所定のデータへの関連付けを示す情報である。リンクにより関連付ける先のデータが配列の１要素であれば、配列の名称とインデックス値とにより、リンク先となるデータが示される。
【０２０５】
端子属性は、電源端子か、信号端子か、グランド端子かを示す識別子である。
調査済みフラグは、端子へのバイパスコンデンサの配置可否に関する調査を行ったか否かを示すフラグ情報である。例えば未調査であれば調査済みフラグに「０」が設定され、調査済みであれば調査済みフラグに「１」が設定される。
【０２０６】
割り付けたビア作成候補位置へのリンクには、引き出し配線の接続先として決定されたビア作成候補位置を示す情報が登録される。ビア作成候補位置を示す情報は、そのビア作成候補位置に対応するインデックス値が設定された配列Ｖである。なお端子に対してビア作成候補位置が未割り付けの場合、割り付けたビア作成候補位置へのリンクの情報はない。
【０２０７】
またＢＧＡ端子リスト３１０の各レコードには、ＢＧＡ端子周囲のビア作成候補位置へのリンクが関連付けられている。各リンクは、配列Ｐｖ［ｎ2］で表される。ｎ2は、１から４の整数の値を採るインデックスである。ビア作成候補位置へのリンクには、ビア作成候補を示す情報が登録される。ビア作成候補位置を示す情報は、そのビア作成候補位置に対応するインデックス値が設定された配列Ｖである。ビア作成候補位置へのリンクは、探索対象として選択する際のビア作成候補位置の優先順に沿って並べられている。なおＢＧＡ端子周囲のビア作成候補位置へのリンクの数は、端子ごとに異なり、最大で４個である。
【０２０８】
次にビア作成候補位置リストについて説明する。
図３８は、ビア作成候補位置リストのデータ構造例を示す図である。ビア作成候補位置リスト３２０は、ＢＧＡ端子のビア作成候補位置に関する調査状況を示す情報の登録領域である。ビア作成候補位置リスト３２０は、ＢＧＡ端子ごとに設けられる。各ビア作成候補位置リスト３２０には、プリント配線板におけるＢＧＡ端子が実装される領域内のビア作成候補位置の数分のレコードが登録できる。各レコードは、配列Ｖ［ｎ3］で表される。ｎ3は、１以上ビア作成候補位置数以下の整数の値を採るインデックスである。
【０２０９】
ビア作成候補位置リスト３２０の各レコードには、位置情報（Ｖｉ）、調査済みフラグ（Ｖｆ）、割り付けられた端子へのリンク（Ｖｌ）、割り付けられた他のビア作成候補位置へのリンク（Ｖｃ）などのデータが含まれる。
【０２１０】
位置情報は、プリント板上でのビア作成候補位置を示す座標である。位置情報には、ビア作成候補位置へ引き出し配線が可能な端子へのリンクが関連付けられている。各リンクは、配列Ｖｐ［ｎ4］で表される。ｎ4は、１以上４以下の整数の値を採るインデックスである。なおビア作成候補位置へ引き出し配線が可能な端子へのリンクの数は、ビア作成候補位置ごとに異なり、最大で４個である。
【０２１１】
調査済みフラグは、端子の接続先として調査したか否かを示すフラグ情報である。例えば未調査であれば調査済みフラグに「０」が設定され、調査済みであれば調査済みフラグに「１」が設定される。
【０２１２】
調査済みフラグには、バイパスコンデンサを介して接続可能な他のビアへのリンクが関連付けられている。各リンクは、配列Ｖｖ［ｎ5］で表される。ｎ5は、１以上４以下の整数の値を採るインデックスである。
【０２１３】
割り付けられた端子へのリンクには、ビア作成候補位置に引き出し配線で接続する端子を示す情報が登録される。端子は、配列Ｐと、その端子に対応するインデックス値によって特定される。なおビア作成候補位置がいずれの端子にも割り付けられていない場合、割り付けられた端子へのリンクの情報はない。
【０２１４】
割り付けられた他のビアへのリンクには、バイパスコンデンサを介して接続される他のビア作成候補位置を示す配列Ｖが設定される。
次に調査要素リストについて説明する。
【０２１５】
図３９は、調査要素リストのデータ構造例を示す図である。調査済み要素リスト３３０は、バイパスコンデンサの接続に関する調査を行ったＢＧＡ部品の端子、およびビア作成候補位置を示す情報の登録領域である。調査を行ったＢＧＡ部品の端子およびビア作成候補位置とは、調査済みフラグがオン（調査済みを示す値）に設定された端子およびビア作成候補位置である。
【０２１６】
調査済み要素リスト３３０には、ＢＧＡ部品の端子数に、プリント配線板におけるＢＧＡ端子が実装される領域内のビア作成候補位置の数分を加算した数（調査要素数）のレコードが登録できる。各レコードは、配列Ｆ［ｎ6］で表される。ｎ6は、１以上調査要素数以下の整数の値を採るインデックスである。
【０２１７】
調査済み要素リスト３３０の各レコードには、調査済みの要素（端子またはビア作成候補位置）を示す情報が設定される。調査済みの要素が端子の場合、調査済みの端子に対応するインデックス値が設定された配列Ｐによって、調査済みの要素が指定される。調査済みの要素がビア作成候補位置の場合、調査済みのビア作成候補位置に対応するインデックス値が設定された配列Ｖによって、調査済みの要素が指定される。
【０２１８】
次に仮接続関係リストについて説明する。
図４０は、仮接続関係リストのデータ構造例を示す図である。仮接続関係リスト３４０は、端子とビア作成候補位置との間、および２つのビア作成候補位置間の仮接続関係を示す情報の登録領域である。仮接続関係リスト３４０には、全端子数に電源端子数を加算した数分のレコードが登録できる。各レコードは、配列Ｌ［ｎ7］で表される。ｎ7は、１以上登録可能レコード数以下の整数の値を採るインデックスである。
【０２１９】
登録される仮接続関係は、次の３つの接続関係のいずれかである。１つ目は、電源端子（ＰＯＷ）とビア作成候補位置との間の配線による接続関係である。２つ目は、グランド（ＧＮＤ）端子とビア作成候補位置との間の配線による接続関係である。３つ目は、２つのビア作成候補位置間のバイパスコンデンサを介した接続関係である。
【０２２０】
仮接続関係リスト３４０の各レコードには、接続関係における両端の位置を示すリンクの組が登録される。電源端子（ＰＯＷ）とビア作成候補位置との間の配線による接続関係であれば、レコード内に、端子へのリンクとビア作成候補位置へのリンクとが登録される。グランド（ＧＮＤ）端子とビア作成候補位置との間の配線による接続関係の場合も、レコード内に、端子へのリンクとビア作成候補位置へのリンクとが登録される。２つのビア作成候補位置間のバイパスコンデンサを介した接続関係の場合には、レコード内に、ビア作成候補位置への２つのリンクが登録される。
【０２２１】
図４１は、割り付け解消端子リストのデータ構造例を示す図である。割り付け解消端子リスト３５０は、端子に割り付けられていたバイパスコンデンサの割り付けを一時的に解消した場合における、解消前の割り付け関係を示す情報の登録領域である。割り付け解消端子リスト３５０には、電源端子数分のレコードが登録できる。各レコードは、配列Ｍ［ｎ8］で表される。ｎ8は、１以上登録可能レコード数以下の整数の値を採るインデックスである。
【０２２２】
割り付け解消端子リスト３５０の各レコードには、４つのリンクが登録される。１つ目は、電源端子へのリンク（Ｍ１）である。２つ目は、電源端子に割り付けたビア作成候補位置へのリンク（Ｍ２）である。３つ目は、電源端子とバイパスコンデンサを介して接続されるグランド（ＧＮＤ）端子へのリンク（Ｍ３）である。４つ目は、グランド端子に割り付けられたビア作成候補位置へのリンク（Ｍ４）である。
【０２２３】
以上のような各データを用いて、接続関係決定部１３５によりバイパスコンデンサ配置位置検索処理が行われる。なお、調査済み要素リスト３３０、仮接続関係リスト３４０、および割り付け解消端子リスト３５０は、バイパスコンデンサ配置位置検索処理の演算の作業領域として使用される情報であり、処理終了後にはＲＡＭ１０２から削除することができる。
【０２２４】
次に、バイパスコンデンサ配置位置検索処理について詳細に説明する。
図４２は、バイパスコンデンサ配置位置検索処理の手順を示すフローチャートである。以下、図４２に示す処理をステップ番号に沿って説明する。なお、図４２では、１つのＢＧＡ部品に対するバイパスコンデンサの配置位置検索処理を示しているが、プリント回路板に搭載されるすべてのＢＧＡ部品に対して同様の処理が実行される。
【０２２５】
［ステップＳ１２１］接続関係決定部１３５は、未配線の端子を調査対象として選択する。この際、接続関係決定部１３５は、ＢＧＡ端子リスト３１０の上位から順に選択する。なお、ＢＧＡ端子リスト３１０は、予め電源電圧の低い端子が上位となるように並べ替えておくことができる。調査対象の端子を選択する場合、既にビア作成候補位置が割り付けられている端子については、選択対象から除外される。既にビア作成候補位置が割り付けられている端子は、ＢＧＡ端子リスト３１０において、割り付けられたビア作成候補位置へのリンク（Ｐｌ）が設定されている端子である。すなわち、ＢＧＡ端子リスト３１０は、ＢＧＡ端子リスト３１０中の次の順番のレコードに割り付けられたビア作成候補位置へのリンク（Ｐｌ）が設定されていれば、そのレコードをスキップし、さらに次のレコードを選択する。
【０２２６】
［ステップＳ１２２］接続関係決定部１３５は、ＢＧＡ部品のすべての端子とすべてのビア作成候補位置との調査済みフラグ（Ｐｆ、Ｖｆ）をオフにする。また、接続関係決定部１３５は、配列Ｆ、配列Ｌ、配列Ｍのすべての要素のデータをクリアする。
【０２２７】
［ステップＳ１２３］接続関係決定部１３５は、調査対象の端子へのビアとバイパスコンデンサの割り付け可否判断処理を行う。この処理の詳細は後述する。
［ステップＳ１２４］接続関係決定部１３５は、ビアとバイパスコンデンサとの割り付けが可能と判断した場合、処理をステップＳ１２５に進める。接続関係決定部１３５は、割り付け不可能と判断した場合、処理をステップＳ１２６に進める。
【０２２８】
［ステップＳ１２５］接続関係決定部１３５は、割り付け情報を設定する。この処理の詳細は後述する。
［ステップＳ１２６］接続関係決定部１３５は、すべての端子を調査済みか否かを判断する。具体的には、接続関係決定部１３５は、現在調査対象となっている端子が、ＢＧＡ端子リスト３１０の最下位のレコードで示される端子であれば、すべての端子が調査済みであると判断する。すべての端子が調査済みであれば、処理がステップＳ１２７に進められる。未調査の端子があれば、処理がステップＳ１２１に進められる。
【０２２９】
［ステップＳ１２７］接続関係決定部１３５は、ＢＧＡ端子リスト３１０、ビア作成候補位置リスト３２０に基づき、端子に関連付けられたビア作成候補位置へのビアの作成、端子からのライン接続、バイパスコンデンサの配置を決定する。具体的には、接続関係決定部１３５は、ＢＧＡ端子リスト３１０内の各レコードの割り付けられたビア作成候補位置へのリンク（Ｐｌ）で示される位置を、ビア作成位置とする。また、接続関係決定部１３５は、端子からビアへの配線接続を決定する。さらに、接続関係決定部１３５は、ビア作成候補位置リスト３２０内の各レコードにおける位置情報（Ｖｉ）で示されるビアの位置と、割り付けられた他のビアへのリンク（Ｖ［ｎ3］）で示されるビアの位置とに接続されるバイパスコンデンサの配置を決定する。そして、接続関係決定部１３５は、決定した内容でプリント回路板ＤＢ１１０を更新する。
【０２３０】
次に、調査対象の端子へのビアとバイパスコンデンサとの割り付け可否判断処理について、詳細に説明する。なお、以下の処理は、ＢＧＡ部品の端子に対して縦方向と横方向に半格子分ずらした位置にビアを作成する場合の例である。
【０２３１】
図４３は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その１）である。以下、図４３に示す処理をステップ番号に沿って説明する。なお、ステップＳ１２１で選択された端子に対応するＢＧＡ端子リスト３１０内のレコードは、配列Ｐ［ａ］（ａは、選択された端子を示すインデックス値）で表されるものとする。
【０２３２】
［ステップＳ１３１］接続関係決定部１３５は、次に２つの条件のいずれかが満たされるか否かを判断する。第１の条件は、調査対象として選択している端子の配列Ｐ［ａ］における調査済みフラグがオフであることである。第２の条件は、選択している端子がグランド（ＧＮＤ）端子であり、配列Ｐ［ａ］のレコード内に、割り付けたビア作成候補位置へのリンクＰｌがあることである。いずれか一方の条件を満たした場合、処理がステップＳ１３２に進められる。いずれの条件も満たされない場合、処理がステップＳ１８６（図４６参照）に進められる。
【０２３３】
［ステップＳ１３２］接続関係決定部１３５は、選択された端子の配列Ｐ［ａ］におけるレコード内の調査済みフラグＰｆをオンに設定する。
［ステップＳ１３３］接続関係決定部１３５は、調査済み要素リスト３３０中の配列Ｆ［記録数＋１］に配列Ｐ［ａ］へのリンクを記録する。
【０２３４】
［ステップＳ１３４］接続関係決定部１３５は、端子の配列Ｐ［ａ］のレコードにおけるビア作成候補位置へのリンク（配列Ｐｖの各データ）を、先頭から順に選択する。
［ステップＳ１３５］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌへのレコードの記録数Ｌｎを記憶する（ＲＡＭ１０２内に格納する）。
【０２３５】
［ステップＳ１３６］接続関係決定部１３５は、配列Ｐ［ａ］のレコード内に、割り付けたビア作成候補位置へのリンクＰｌがあれば、配列Ｍ［記録数＋１］のレコードに、該当するリンクを介したバイパスコンデンサの割り付け関係を示す情報を格納する。格納される情報は、選択されている端子、端子に割り付けられたビア作成候補位置、端子に割り付けられたビア作成候補位置に割り付けられた他のビア作成候補位置、および他のビア作成候補位置に割り付けられた端子である。選択されている情報は、ＢＧＡ端子リスト３１０の配列Ｐ［ａ］で示される。端子を接続するビア作成候補位置は、配列Ｐ［ａ］のレコード内のＰｌで示される。端子に割り付けられたビア作成候補位置に割り付けられた他のビア作成候補位置は、配列Ｐ［ａ］のレコード内のＰｌで示されるビア作成候補位置リスト３２０内のレコードにおけるＶｃである。このＶｃで示されるビア作成候補位置リスト３２０内のレコードにおけるＶｌが、他のビア作成候補位置に割り付けられた端子を示す。そして、接続関係決定部１３５は、割り付け解消端子リスト３５０の配列Ｍ［記録数＋１］のレコードに格納した情報を、取得元からクリアする。
【０２３６】
［ステップＳ１３７］接続関係決定部１３５は、割り付け解消端子リスト３５０の配列Ｍへのレコードの記録数Ｍｎを記憶する（ＲＡＭ１０２内に格納する）。
［ステップＳ１３８］接続関係決定部１３５は、ステップＳ１３４でリンク先が選択できたか否かを判断する。選択している端子のレコードに配列Ｐｖが関連付けられており、その配列Ｐｖに未処理のリンクが登録されている場合、そのリンクで示されるビア作成候補位置リスト３２０中の配列Ｖ［ｂ］（ｂは、選択した配列のインデックス値）が選択される。リンク先が選択されていれば、処理がステップＳ１３９に進められる。リンク先が選択されていなければ、処理がステップＳ１８６（図４６に示す）に進められる。
【０２３７】
［ステップＳ１３９］接続関係決定部１３５は、選択されたリンク先の配列Ｖ［ｂ］のレコードにおける調査済みフラグＶｆがオフか否かを判断する。調査済みフラグがオフであれば、処理がステップＳ１４０に進められる。調査済みフラグがオンであれば、処理がステップＳ１３２に進められる。
【０２３８】
［ステップＳ１４０］接続関係決定部１３５は、配列Ｖ［ｂ］のレコードにおける調査済みフラグＶｆをオンにする。また接続関係決定部１３５は、調査済み要素リスト３３０の配列Ｆ［記録数＋１］に、配列Ｖ［ｂ］へのリンクを記録する。その後、処理がステップＳ１５１（図４４参照）に進められる。
【０２３９】
図４４は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その２）である。以下、図４４に示す処理をステップ番号に沿って説明する。
［ステップＳ１５１］接続関係決定部１３５は、配列Ｖ［ｂ］のレコード内の割り付けられた端子へのリンクＶｌにリンク先の設定がないか、あるいはＶｌで示されたリンク先が、選択中の端子を示す配列Ｐ［ａ］であるか否かを判断する。いずれかの条件が満たされた場合、処理がステップＳ１５５に進められる。いずれの条件も満たされない場合、処理がステップＳ１５２に進められる。
【０２４０】
［ステップＳ１５２］接続関係決定部１３５は、配列Ｖ［ｂ］のレコード内の割り付けられた端子へのリンクＶｌに設定されている配列Ｐ［ｃ］（ｃは、該当する配列のインデックス値）を、ビア作成候補位置リスト３２０から取得する。
【０２４１】
［ステップＳ１５３］接続関係決定部１３５は、取得した配列Ｐ［ｃ］の端子に関するビアとバイパスコンデンサの割り付け可否判断処理を、再帰的に実行する。
［ステップＳ１５４］接続関係決定部１３５は、ステップＳ１５３の実行の結果、選択中の配列Ｐ［ａ］にビア作成候補位置の割り付けが可能となったか否かを判断する。割り付けが可能となった場合、処理がステップＳ１５５に進められる。割り付けが不可能な場合、処理がステップＳ１３２（図４３に示す）に進められる。
【０２４２】
［ステップＳ１５５］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌ［記録数＋１］のレコードに、配列Ｐ［ａ］へのリンクと、配列Ｖ［ｂ］へのリンクとを記録する。
【０２４３】
［ステップＳ１５６］接続関係決定部１３５は、配列Ｐ［ａ］に対応する端子が、電源端子か否かを判断する。電源端子か否かは、配列Ｐ［ａ］のレコードにおける端子属性Ｐｉに示されている。電源端子であれば、処理がステップＳ１５７に進められる。電源端子でなければ、処理がステップＳ１８５（図４６参照）に進められる。
【０２４４】
［ステップＳ１５７］接続関係決定部１３５は、配列Ｖ［ｂ］のレコードに関連付けられた配列Ｖｖに設定されている他のビア作成候補位置へのリンク（配列Ｖ［ｄ］、ｄはビア作成候補位置のインデックス値）を、先頭から順に選択する。この際、接続関係決定部１３５は、調査済み要素リスト３３０の配列Ｆの記録数Ｆｎを記憶する。
【０２４５】
［ステップＳ１５８］接続関係決定部１３５は、配列Ｖ［ｂ］のレコードに配列Ｖｖが関連付けられており、ステップＳ１５７においてＶｖで示される他のビア作成候補位置へのリンクが選択できたか否かを判断する。リンクが選択できた場合、処理がステップＳ１６０に進められる。リンクが選択できなかった場合、処理がステップＳ１５９に進められる。
【０２４６】
［ステップＳ１５９］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌのレコードのうち、インデックス値が記録数Ｌｎより大きいレコードをクリアする。その後、処理がステップＳ１３２（図４３参照）に進められる。
【０２４７】
［ステップＳ１６０］接続関係決定部１３５は、配列Ｖ［ｄ］のレコードにおける調査済みフラグＶｆがオフか否かを判断する。調査済みフラグＶｆがオフであれば、処理がステップＳ１７１（図４５参照）に進められる。調査済みフラグＶｆがオンであれば、処理がステップＳ１５７に進められる。
【０２４８】
図４５は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その３）である。以下、図４５に示す処理をステップ番号に沿って説明する。
［ステップＳ１７１］接続関係決定部１３５は、配列Ｖ［ｄ］のレコードにおける調査済みフラグＶｆをオンに設定する。また接続関係決定部１３５は、調査済み要素リスト３３０の配列Ｆ［記録数＋１］に、配列Ｖ［ｄ］へのリンクを記録する。
【０２４９】
［ステップＳ１７２］接続関係決定部１３５は、次の２つの条件のいずれもが満たされるか否かを判断する。第１の条件は、配列Ｖ［ｄ］のレコードにおける割り付けられた端子へのリンクＶｌとして、グランド（ＧＮＤ）端子へのリンクがあることである。第２の条件は、配列Ｖ［ｄ］のレコードにおける割り付けられた他のビア作成候補位置へのリンクＶｃにリンクが設定されていないことである。両方の条件が満たされていれば、処理がステップＳ１７３に進められる。条件が満たされていなければ、処理がステップＳ１７４に進められる。
【０２５０】
［ステップＳ１７３］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌ［記録数＋１］のレコードに、配列Ｖ［ｄ］のＶｌに示されるリンクと、配列Ｖ［ｄ］へのリンクとを記録する。この記録により、配列Ｌの記録数はカウントアップされる。さらに接続関係決定部１３５は、配列Ｌ［記録数＋１］のレコードに、配列Ｖ［ｂ］のへのリンクと、配列Ｖ［ｄ］へのリンクとを記録する。その後、処理がステップＳ１８４（図４６参照）に進められる。
【０２５１】
［ステップＳ１７４］接続関係決定部１３５は、配列Ｖ［ｄ］のレコードにおけるＶｐ［１〜４］でリンクされた配列Ｐの端子を調査する。接続関係決定部１３５は、調査した端子のいずれかに、グランド（ＧＮＤ）接続のために割り付けられたビア作成候補位置へのリンクＰｌが設定されていない端子があれば、その端子を示す配列Ｐ［ｅ］（ｅが端子のインデックス値）を取得する。また、接続関係決定部１３５は、調査した端子のいずれかに、グランド（ＧＮＤ）の端子があれば、その端子を示す配列Ｐ［ｅ］を取得する。そして、接続関係決定部１３５は、配列Ｐ［ｅ］が取得できれば処理をステップＳ１７６に進め、配列Ｐ［ｅ］を取得できなければ処理をステップＳ１７５に進める。
【０２５２】
［ステップＳ１７５］接続関係決定部１３５は、調査済み要素リスト３３０の配列Ｆの記録数Ｆｎより大きいインデックス値の各レコードで示されるビア作成候補位置の配列Ｖにアクセスする。そして接続関係決定部１３５は、アクセスした配列Ｖのレコードにおける調査済みフラグＶｆをクリアする（オフにする）。また接続関係決定部１３５は、調査済み要素リスト３３０の配列Ｆの記録数Ｆｎより大きいインデックス値の各レコードをクリアする。その後、処理がステップＳ１５７（図４４参照）に進められる。
【０２５３】
［ステップＳ１７６］接続関係決定部１３５は、配列Ｖ［ｄ］のレコードにおける割り付けられた端子へのリンクＶｌが設定されていないかどうかを判断する。該当するリンクが設定されていなければ、処理がステップＳ１８４（図４６参照）に進められる。リンクが設定されていれば、処理がステップＳ１７７に進められる。
【０２５４】
［ステップＳ１７７］接続関係決定部１３５は、配列Ｖ［ｄ］のレコードにおける割り付けられた他のビア作成候補位置へのリンクＶｃに設定されたリンクの配列Ｖ［ｆ］（ｆは、リンク先のビア作成候補位置のインデックス値）を参照する。そして、接続関係決定部１３５は、配列Ｖ［ｆ］のレコードにおける割り付けられた端子へのリンクＶｌで指定された配列Ｐ［ｇ］（ｇは、リンク先の端子のインデックス値）を取得する。これは、配列Ｐ［ｇ］が、配列Ｐ［ｅ］以外のグランド端子とペアにできるかどうかを調査するのが目的である。その後、処理がステップＳ１８１（図４６参照）に進められる。
【０２５５】
図４６は、ビアとバイパスコンデンサとの割り付け可否判断処理の手順を示すフローチャート（その４）である。以下、図４６に示す処理をステップ番号に沿って説明する。
［ステップＳ１８１］接続関係決定部１３５は、ステップＳ１７７で取得した配列Ｐ［ｇ］で示される端子について、ビアとバイパスコンデンサとの割り付け可否判断処理を再帰的に実行する。
【０２５６】
［ステップＳ１８２］接続関係決定部１３５は、ステップＳ１８１の処理の結果、配列Ｐ［ｇ］に対してビアの割り付けが可能と判断された場合、処理をステップＳ１８４に進める。ビアの割り付けが不可能であれば、処理がステップＳ１８３に進められる。
【０２５７】
［ステップＳ１８３］接続関係決定部１３５は、記録数Ｆｎより大きいインデックス値の配列Ｆのレコードをクリアする。その後、処理がステップＳ１５７（図４４参照）に進められる。
【０２５８】
［ステップＳ１８４］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌ［記録数＋１］のレコードに、配列Ｐ［ｅ］へのリンクと、配列Ｖ［ｄ］へのリンクとを記録する。この記録により、配列Ｌの記録数はカウントアップされる。さらに接続関係決定部１３５は、配列Ｌ［記録数＋１］のレコードに、配列Ｖ［ｂ］のへのリンクと、配列Ｖ［ｄ］へのリンクとを記録する。
【０２５９】
［ステップＳ１８５］接続関係決定部１３５は、ビアとバイパスコンデンサとの割り付け可否判断処理の結果として「ビア割り付け可能」を返す。その後、処理が終了する。
［ステップＳ１８６］接続関係決定部１３５は、インデックス値が記録数Ｌｎより大きい配列Ｌのレコードをクリアする。また接続関係決定部１３５は、インデックス値が記録数Ｍｎより大きい配列Ｍに示される配列Ｐ、配列Ｖのリンクを元に戻す。さらに接続関係決定部１３５は、インデックス値が記録数Ｍｎより大きい配列Ｍのレコードをクリアする。そして接続関係決定部１３５は、ビアとバイパスコンデンサとの割り付け可否判断処理の結果として「ビア割り付け不可」を返す。その後、処理が終了する。
【０２６０】
次に、割り付け情報設定処理について説明する。
図４７は、割り付け情報設定処理の手順を示すフローチャートである。以下、図４７に示す処理をステップ番号に沿って説明する。
【０２６１】
［ステップＳ１９１］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌで示されるバイパスコンデンサの仮接続関係を示すリンクの組を、上位から順に選択する。
［ステップＳ１９２］接続関係決定部１３５は、選択したリンクのリンク先に対して、他からのリンク（古いリンク）が存在する場合、その古いリンクのリンク元をクリアする。具体的には、接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌが割り付けられたリンクＬｌとリンクＬｃとのそれぞれのリンク先のレコードを参照する。リンク先は、ＢＧＡ端子リスト３１０内の端子を示す配列Ｐ［ｊ］（ｊは、該当端子のインデックス値）、もしくはビア作成候補位置リスト３２０内のビア作成候補位置を示す配列Ｖ［ｋ］（ｋは、該当端子のインデックス値）のいずれかである。
【０２６２】
次に接続関係決定部１３５は、配列Ｐ［ｊ］のレコードにおける割り付けられたビア作成候補位置へのリンクＰｌのリンク先の配列Ｖ［ｌ］（ｌは、該当ビア作成候補位置のインデックス値）を参照する。さらに接続関係決定部１３５は、リンク先の配列Ｖ［ｌ］のレコードを参照し、割り付けられた端子へのリンクＶｌを確認する。接続関係決定部１３５は、そのＶｌに配列Ｐ［ｊ］が設定されている場合、配列Ｖ［ｌ］のレコード内のＶｌから、配列Ｐ［ｊ］をクリアする。
【０２６３】
また、接続関係決定部１３５は、配列Ｖ［ｋ］のレコードにおける割り付けられたビア作成候補位置へのリンクＶｌのリンク先の配列Ｐ［ｍ］（ｍは、該当端子のインデックス値）を参照する。さらに接続関係決定部１３５は、リンク先の配列Ｐ［ｍ］のレコードを参照し、割り付けられた端子へのリンクＰｌを確認する。接続関係決定部１３５は、そのＰｌに配列Ｖ［ｋ］が設定されている場合、配列Ｐ［ｍ］のレコード内のＰｌから、配列Ｖ［ｋ］をクリアする。
【０２６４】
［ステップＳ１９３］接続関係決定部１３５は、選択したリンクを、新しいリンクとして設定する。具体的には、接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌが割り付けられたリンクＬｌとリンクＬｃとのそれぞれのリンク先のレコードを参照する。
【０２６５】
リンクＬｌが配列Ｐ［ａ］なら、接続関係決定部１３５は、まず、ＢＧＡ端子リスト３１０内の配列Ｐ［ａ］のレコードにおけるＰｌに、リンクＬｃに設定されているリンク先を設定する。次に接続関係決定部１３５は、リンクＬｃで示されるリンク先のビア作成候補位置リスト３２０内の配列Ｖの該当するレコードにアクセスし、そのレコードのＶｌに配列Ｐ［ａ］を設定する。
【０２６６】
リンクＬｌが配列Ｖ［ｂ］でＬｃがＰ［ａ］なら、接続関係決定部１３５は、まず、ビア作成候補位置リスト３２０内の配列Ｖ［ｂ］のレコードにおけるＶｌに、配列Ｐ［ａ］を設定する。次に接続関係決定部１３５は、ＢＧＡ端子リスト３１０内の配列Ｐ［ａ］のレコードにおけるＰｌに、配列Ｖ［ｂ］を設定する。
【０２６７】
リンクＬｌが配列Ｖ［ｂ］でＬｃがＶ［ｃ］なら、接続関係決定部１３５は、まず、ビア作成候補位置リスト３２０内の配列Ｖ［ｂ］のレコードにおけるＶｃに、配列Ｖ［ｃ］を設定する。次に接続関係決定部１３５は、ＢＧＡ端子リスト３１０内の配列Ｖ［ｃ］のレコードにおけるＶｃに、配列Ｖ［ｂ］を設定する。
【０２６８】
［ステップＳ１９４］接続関係決定部１３５は、仮接続関係リスト３４０の配列Ｌで示されるすべての仮接続関係を反映させたか否かを判断する。未反映の仮接続関係がある場合、処理がステップＳ１９１に進められる。すべての仮接続関係を反映させた場合、処理が終了する。
【０２６９】
このようにして、ビアとバイパスコンデンサとの割り付け可否判断処理が必要に応じて再帰的に実行され、ビアの配置や配線の再編成を行った上で、端子に引き出し配線用のビアを割り付け可能かどうかが判断される。
【０２７０】
次にバイパスコンデンサ配置位置検索処理の具体例について説明する。
まず、バイパスコンデンサが優先順でソートされる。
図４８は、優先順でソート後のバイパスコンデンサテーブルの例を示す図である。バイパスコンデンサテーブル３６０は、部品配置演算部１３０により、バイパスコンデンサ配置位置検索処理を実行する際に接続情報記憶部１３１に格納される。図４８に示すように、バイパスコンデンサテーブル３６０には、バイパスコンデンサ名と電圧値との欄が設けられている。バイパスコンデンサ名の欄には、バイパスコンデンサの識別名が設定される。電圧値の欄には、各バイパスコンデンサの電圧値が設定される。
【０２７１】
事実上、電圧値の低いバイパスコンデンサは、電圧の振れのマージンが少ない箇所に使用されるものである。そのため優先度が高い。そこで接続関係決定部１３５は、バイパスコンデンサテーブル３６０内のバイパスコンデンサを電圧値の低い順に並べる。そして接続関係決定部１３５は、バイパスコンデンサテーブル３６０内の上から順に配置していく。
【０２７２】
次に部品配置演算部１３０によって、ＢＧＡ端子リスト３１０とビア作成候補位置リスト３２０とが接続情報記憶部１３１に格納される。
図４９は、ＢＧＡ端子リストの一例を示す図である。ＢＧＡ端子リスト３１１には、ＢＧＡ部品の端子と、その端子の周囲の引き出しビア作成候補位置へのリンクとを有するレコードが登録される。
【０２７３】
ＢＧＡ端子の情報には、座標、種別、電圧値などが含まれる。座標は、ＢＧＡ部品の領域を格子状に区切り、区切られた単位領域の位置を、アルファベットと数値とで示したものである。この例では、横方向の位置がアルファベットで示され、縦方向の位置が数値で示されている。格子の間隔は、端子間の間隔の２倍であるものとする。従って、端子の座標は、横方向にアルファベットの並びにおける１つ置きの値（Ｂ，Ｄ，Ｆ，・・・）を採り、縦方向に１つ置きの数値（２，４，・・・）を採る。
【０２７４】
電圧値は、端子の電源電圧であり、電源端子にのみ設定される。
ビア作成候補位置へのリンクには、各レコードに１〜４個のデータフィールドが設けられている。端子の位置により、ビア作成候補位置の数が１〜４のいずれかになる。例えば、ＢＧＡ部品の角にある端子は、ビア作成候補位置が１箇所しかないため、ビア作成候補位置へのリンクを登録するフィールドも１つだけとなる。
【０２７５】
ビア作成候補位置へのリンクは、調査の際の優先順が設定されている。図４９の例では、左に設定されているリンク程、優先的に調査される。なおビア作成候補位置へのリンクは、ＢＧＡ部品の中央から放射状方向の配線引き出しが優先されるように、優先配線方向決定部１３３によって並べ替えられる。すなわち、ＢＧＡ部品の中央から４角へ向かう方向への配線が優先的に選択されるように、優先配線方向決定部１３３は、端子からみて、その端子に最も近い角へ向かう方向にあるビア作成候補位置へのリンクを、最優先（リンクの配列の先頭）に設定する。
【０２７６】
なおＢＧＡ端子リスト３１１内の各レコードは、優先順に応じて並べ替えることができる。ただし、以下の説明ではレコードの並べ替えをせずに、調査対象の端子を選択する際に、電圧値を参照して電圧値が低い順に端子を選択するものとする。
【０２７７】
また図４９の例では、ビア作成候補位置へのリンクには、ビア作成候補位置の座標を示しているが、実際のＲＡＭ１０２内には、リンク先のビア作成候補位置のインデックス値を設定した配列Ｖが記録されているものとする。
【０２７８】
図５０は、ビア作成候補位置リストの一例を示す図である。ビア作成候補位置リスト３２１には、ビア作成候補位置へのリンク、ＢＧＡ部品の端子へのリンク、バイパスコンデンサで接続可能な他のビア作成候補位置へのリンクを含むレコードが登録される。
【０２７９】
ビア作成候補位置へのリンクには、ビア作成候補位置を示す座標が設定される。ビア作成候補位置は、端子に対して縦横方向に半格子ずれている。従って、ビア作成候補位置の座標は、横方向にアルファベットの並びにおける１つ置きの値（Ａ，Ｃ，Ｄ，・・・）を採り、縦方向に１つ置きの数値（１，３，・・・）を採る。
【０２８０】
端子へのリンクには、ビア作成候補位置周囲の端子の座標が設定される。なお、リンク先の端子のインデックス値を設定した配列Ｐを、端子へのリンクとすることもできる。
バイパスコンデンサで接続可能な他のビア作成候補位置へのリンクには、周囲のビア作成候補位置の座標が設定される。なおリンク先のビア作成候補位置のインデックス値を設定した配列Ｖを、他のビア作成候補位置へのリンクとすることもできる。
【０２８１】
ビア作成候補位置リスト３２１では、ＢＧＡ部品中央の十字部分を使用しない場合、十字部分へのリンクが、十字境界部配置可否設定部１３４によって排除される。図５０の例では、横方向の座標が「Ｇ」のビア作成候補位置と、縦方向の座標が「７」のビア作成候補位置とが、十字部分に含まれるビア作成候補位置である。これらのビア作成候補位置は、レコードの登録対象外となる。
【０２８２】
なお、端子へのリンクについては、左に設定されているリンクほど調査の際の優先順位が高い。すなわち、端子へのリンクの「第一」と示された列に設定された要素が、グランド端子を探す際に最初に調査される。この例では、中央方向へ向かう要素が最優先に設定されている。ビア作成候補位置から端子への配線として中央方向を優先的に選択すれば、端子から見た場合には放射状への配線が優先されたこととなる。
【０２８３】
またバイパスコンデンサで接続可能な他のビア作成候補位置へのリンクについては、左に設定されているリンクほど調査の際の優先順位が高い。すなわち、他のビア作成候補位置へのリンクの「第一」と示された列に設定された要素が、バイパスコンデンサのもう片方の端子を接続するビア作成候補位置として最優先で調査される。本実施の形態では、バイパスコンデンサを、Ｘ軸に平行で、かつバイパスコンデンサの２つの端子のうちＢＧＡ部品の電源端子に接続される端子の方が、ＢＧＡ部品の中央に近くなるように配置することを優先するものとする。その場合、他のビア作成候補位置へのリンクの「第一」と示された列には、Ｘ軸に平行な方向で、Ｘ座標値の絶対値が大きくなる方向に隣接する他のビア作成候補位置へのリンクが設定されることとなる。これにより、配線が放射状の配置となりやすくなる。なお、この例ではバイパスコンデンサを横（Ｘ軸と平行）に置くことを優先しているが、優先方向の統一性があれば、縦（Ｙ軸と平行）に置くことを優先してもよい。
【０２８４】
図５１は、バイパスコンデンサ配置対象のＢＧＡ部品の例を示す図である。ＢＧＡ部品４００には、６×６の計３６個の端子が設けられている。なお、図５１に示した例は、処理を分かりやすくするため端子の数を少なくしているが、実際のＢＧＡ部品にはもっと多くの端子が設けられる。
【０２８５】
この例では、ＢＧＡ部品４００の領域を格子で区切ったときＧ列と７行との中央十字部分は、配線の対象外とされる。この場合、中央十字部分で領域が４つに分断され、分断された領域は、バイパスコンデンサの配置に関してそれぞれ干渉しない。そこで、代表して、Ａ〜Ｆ×１〜６部分（第２象限）へのバイパスコンデンサの配置例について説明することとする。
【０２８６】
第２象限におけるＢＧＡ部品４００の端子の位置は、丸付きの数字で表されている。その他の数字は、ビア作成候補位置である。第１、第３、第４象限における端子の位置は、黒丸で示されている。
【０２８７】
第２の象限の丸付きの「１４」で示された端子は、電圧「＋０．７５Ｖ」である。丸付きの「７」で示された端子は、電圧「＋１．２Ｖ」である。丸付きの「１」で示された端子は、電圧「＋１．５Ｖ」である。丸付きの「８，１３，１５」で示された端子は、グランド（ＧＮＤ）端子である。丸付きの「２，３，９」で示された端子は、信号端子である。
【０２８８】
この場合、配線処理を実施する端子の順番は、丸付きの数字で「１４，７，１，２，３，９，８，１３，１５」の順番となる。この順番は、低電圧の端子を優先し、同じ電圧の端子はリストの並び順に処理を行うようにしたものである。
【０２８９】
以下、ＢＧＡ部品４００の第２象限にバイパスコンデンサを配置する際の、ビア作成候補位置などの調査状況を、図４２〜図４７に示したフローチャートを参照しながら説明する。なお、端子とビア作成候補位置については、座標値で表すものとする。
【０２９０】
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．１（ステップＳ１２１）］低電圧が優先され、＋０．７５Ｖの端子「Ｄ６」を示すＰ［１４］が選択され調査が開始される。その後、Ｄ６→Ｂ４→Ｂ２→信号端子の順で調査されることとなる。
［Ｎｏ．２（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
［Ｎｏ．３（ステップＳ１２３）］ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０２９１】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．４（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．５（ステップＳ１３２〜Ｓ１３７）］端子「Ｄ６」の配列Ｐ［１４］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［１４］が設定される。配列Ｐ［１４］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ｃ５」を示す配列Ｖ［１６］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．６（ステップＳ１３８）］端子「Ｄ６」に対応する配列Ｐ［１４］の配列Ｐｖ［１］から、ビア作成候補位置「Ｃ５」を示す配列Ｖ［１６］が選択できたため、当該ステップでは「ＹＥＳ」と判定される。
［Ｎｏ．７（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．８（ステップＳ１４０）］配列Ｖ［１６］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［１６］が設定される（配列Ｆ［２］＝Ｖ［１６］）。
【０２９２】
（以下図４４参照）
［Ｎｏ．９（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１０（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［１４］が設定される（Ｌｌ＝Ｐ［１４］）。また、Ｌｃには、配列Ｖ［１６］が設定される（Ｌｃ＝Ｖ［１６］）。
［Ｎｏ．１１（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１２（ステップＳ１５７）］配列Ｖ［１６］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ａ５」を示す配列Ｖ［１５］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに２が設定される（Ｆｎ＝２）。
［Ｎｏ．１３（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１４（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０２９３】
（以下図４５参照）
［Ｎｏ．１５（ステップＳ１７１）］配列Ｖ［１５］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［３］のレコードに、配列Ｖ［１５］が設定される（Ｆ［３］＝Ｖ［１５］）。
［Ｎｏ．１６（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．１７（ステップＳ１７４）］配列Ｖ［１５］のレコード内のＶｐ［１］が端子「Ｂ６」を示す配列Ｐ［１３］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１８（ステップＳ１７６）］このステップでは「ＹＥＳ」と判断される。
【０２９４】
（以下図４６参照）
［Ｎｏ．１９（ステップＳ１８４）］配列Ｌ［２］のレコード内のＬｌにＰ［１３］が設定され（Ｌｌ＝Ｐ［１３］）、ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。配列Ｌ［３］のレコード内のＬｌにＶ［１６］が設定され（Ｌｌ＝Ｖ［１６］）、配列ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。
［Ｎｏ．２０（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０２９５】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目終了》
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．２１（ステップＳ１２４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２２（ステップＳ１２５）］端子「Ｄ６」からビア作成候補位置「Ｃ５」への配線、ビア作成候補位置「Ｃ５」からビア作成候補位置「Ａ５」への配線、ビア作成候補位置「Ａ５」から端子「Ｂ６」への配線を示す情報が設定される（Ｄ６→Ｃ５→Ａ５→Ｂ６）。
【０２９６】
また、配列Ｐ［１４］のレコード内のＰｌにＶ［１６］が設定される（Ｐｌ＝Ｖ［１６］）。配列Ｖ［１６］のレコード内のＶｌにＰ［１４］が設定され（Ｖｌ＝Ｐ［１４］）、ＶｃにＶ［１５］が設定される（Ｖｃ＝Ｖ［１５］）。
【０２９７】
さらに、配列Ｐ［１３］のレコード内のＰｌにＶ［１５］が設定される（Ｐｌ＝Ｖ［１５］。配列Ｖ［１５］のレコード内のＶｌにＰ［１３］が設定され（Ｖｌ＝Ｐ［１３］）、ＶｃにＶ［１６］が設定される（Ｖｃ＝Ｖ［１６］）。
［Ｎｏ．２３（ステップＳ１２６）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２４（ステップＳ１２１）］低電圧が優先され、＋１．２Ｖの端子「Ｂ４」を示す配列Ｐ［７］が選択される。
［Ｎｏ．２５（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
［Ｎｏ．２６（ステップＳ１２３）］ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０２９８】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．２７（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２８（ステップＳ１３２〜Ｓ１３７）］端子「Ｂ４」を示す配列Ｐ［７］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［７］が設定される。配列Ｐ［７］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．２９（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．３０（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．３１（ステップＳ１４０）］配列Ｖ［８］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［８］が設定される（配列Ｆ［２］＝Ｖ［８］）。
【０２９９】
（以下図４４参照）
［Ｎｏ．３２（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．３３（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［７］が設定される（Ｌｌ＝Ｐ［７］）。また、Ｌｃには、配列Ｖ［８］が設定される（Ｌｃ＝Ｖ［８］）。
［Ｎｏ．３４（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．３５（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ｃ３」を示す配列Ｖ［９］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに２が設定される（Ｆｎ＝２）。
［Ｎｏ．３６（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．３７（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３００】
（以下図４５参照）
［Ｎｏ．３８（ステップＳ１７１）］配列Ｖ［９］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［３］のレコードに、配列Ｖ［９］が設定される（Ｆ［３］＝Ｖ［９］）。
［Ｎｏ．３９（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．４０（ステップＳ１７４）］配列Ｖ［９］のレコード内のＶｐ［１］が端子「Ｄ４」を示す配列Ｐ［８］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．４１（ステップＳ１７６）］このステップでは「ＹＥＳ」と判断される。
【０３０１】
（以下図４６参照）
［Ｎｏ．４２（ステップＳ１８４）］配列Ｌ［２］のレコード内のＬｌにＰ［８］が設定され（Ｌｌ＝Ｐ［８］）、ＬｃにＶ［９］が設定される（Ｌｃ＝Ｖ［９］）。配列Ｌ［３］のレコード内のＬｌにＶ［８］が設定され（Ｌｌ＝Ｖ［８］）、配列ＬｃにＶ［９］が設定される（Ｌｃ＝Ｖ［９］）。
［Ｎｏ．４３（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３０２】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目終了》
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．４４（ステップＳ１２４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．４５（ステップＳ１２５）］端子「Ｂ４」からビア作成候補位置「Ａ３」への配線、ビア作成候補位置「Ａ３」からビア作成候補位置「Ｃ３」への配線、ビア作成候補位置「Ｃ３」から端子「Ｄ４」への配線を示す情報が設定される（Ｂ４→Ａ３→Ｃ３→Ｄ４）。
【０３０３】
また、配列Ｐ［７］のレコード内のＰｌにＶ［８］が設定される（Ｐｌ＝Ｖ［８］）。配列Ｖ［８］のレコード内のＶｌにＰ［７］が設定され（Ｖｌ＝Ｐ［７］）、ＶｃにＶ［９］が設定される（Ｖｃ＝Ｖ［９］）。
【０３０４】
さらに、配列Ｐ［８］のレコード内のＰｌにＶ［９］が設定される（Ｐｌ＝Ｖ［９］。配列Ｖ［９］のレコード内のＶｌにＰ［８］が設定され（Ｖｌ＝Ｐ［８］）、ＶｃにＶ［８］が設定される（Ｖｃ＝Ｖ［８］）。
［Ｎｏ．４６（ステップＳ１２６）］このステップでは「ＮＯ」と判断される。
【０３０５】
図５２は、バイパスコンデンサ配置処理途中における配置状況を示す第１の図である。図５２において、端子に割り付けられたビア作成候補位置が、黒塗りの四角で示されている。端子と、その端子に割り付けられたビア作成候補位置とは、長円で囲まれている。またバイパスコンデンサで接続されたビア作成候補位置の間は、格子内が網掛で示されている。図５２に示すように、現在の段階では、２つのバイパスコンデンサが配置されている。
【０３０６】
（以下図４２参照）
［Ｎｏ．４７（ステップＳ１２１）］＋１．５Ｖの端子「Ｂ２」を示す配列Ｐ［１］が選択される。
［Ｎｏ．４８（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
【０３０７】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．４９（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．５０（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［１］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［１］が設定される。配列Ｐ［１］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ａ１」を示す配列Ｖ［１］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．５１（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．５２（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．５３（ステップＳ１４０）］配列Ｖ［１］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［１］が設定される（配列Ｆ［２］＝Ｖ［１］）。
【０３０８】
（以下図４４参照）
［Ｎｏ．５４（ステップＳ１５１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．５５（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［１］が設定される（Ｌｌ＝Ｐ［１］）。また、Ｌｃには、配列Ｖ［１］が設定される（Ｌｃ＝Ｖ［１］）。
［Ｎｏ．５６（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．５７（ステップＳ１５７）］配列Ｖ［１］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ｃ１」を示す配列Ｖ［２］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに２が設定される（Ｆｎ＝２）。
［Ｎｏ．５８（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．５９（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３０９】
（以下図４５参照）
［Ｎｏ．６０（ステップＳ１７１）］配列Ｖ［２］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［３］のレコードに、配列Ｖ［２］が設定される（Ｆ［３］＝Ｖ［２］）。
［Ｎｏ．６１（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．６２（ステップＳ１７４）］配列Ｖ［２］で示されるビア作成候補位置「Ｃ２」の周囲にグランド端子がない。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．６３（ステップＳ１７５）］配列Ｆ［３］のレコードに格納されている配列Ｖ［２］が参照され、配列Ｖ［２］のレコード内の調査済みフラグＶｆがクリアされる。また配列Ｆ［３］のレコードがクリアされる。
【０３１０】
（以下図４４参照）
［Ｎｏ．６４（ステップＳ１５７）］配列Ｖ［１］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに２が設定される（Ｆｎ＝２）。
［Ｎｏ．６５（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．６６（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３１１】
（以下図４５参照）
［Ｎｏ．６７（ステップＳ１７１）］配列Ｖ［８］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［３］のレコードに、配列Ｖ［８］が設定される（Ｆ［３］＝Ｖ［８］）。
［Ｎｏ．６８（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．６９（ステップＳ１７４）］配列Ｖ［８］で示されるビア作成候補位置「Ａ３」の周囲にグランド端子がない。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．７０（ステップＳ１７５）］配列Ｆ［３］のレコードに格納されている配列Ｖ［８］が参照され、配列Ｖ［８］のレコード内の調査済みフラグＶｆがクリアされる。また配列Ｆ［３］のレコードがクリアされる。
【０３１２】
（以下図４４参照）
［Ｎｏ．７１（ステップＳ１５７）］配列Ｆのレコードの記録数Ｆｎに２が設定される（Ｆｎ＝２）。
［Ｎｏ．７２（ステップＳ１５８）］未調査の他のビア作成候補位置がないため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．７３（ステップＳ１５９）］Ｌｎ（＝０）より大きいインデックス値の配列Ｌのレコードがクリアされる。
【０３１３】
（以下図４３参照）
［Ｎｏ．７４（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［１］のレコード内の配列Ｐｖ［２］から、ビア作成候補位置「Ｃ１」を示す配列Ｖ［２］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．７５（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．７６（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．７７（ステップＳ１４０）］配列Ｖ［２］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［３］のレコードに、Ｖ［２］が設定される（Ｆ［３］＝Ｖ［２］）。
【０３１４】
（以下図４４参照）
［Ｎｏ．７８（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．７９（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［１］が設定される（Ｌｌ＝Ｐ［１］）。また、Ｌｃには、配列Ｖ［２］が設定される（Ｌｃ＝Ｖ［２］）。
［Ｎｏ．８０（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．８１（ステップＳ１５７）］配列Ｖ［２］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ａ１」を示す配列Ｖ［１］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに３が設定される（Ｆｎ＝３）。
［Ｎｏ．８２（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．８３（ステップＳ１６０）］配列Ｖ［１］のレコード内の調査済みフラグＶｆがオンに設定されている。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．８４（ステップＳ１５７）］配列Ｖ［２］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ｅ１」を示す配列Ｖ［３］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに３が設定される（Ｆｎ＝３）。
［Ｎｏ．８５（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．８６（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３１５】
（以下図４５参照）
［Ｎｏ．８７（ステップＳ１７１）］配列Ｖ［３］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［４］のレコードに、配列Ｖ［３］が設定される（Ｆ［４］＝Ｖ［３］）。
［Ｎｏ．８８（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．８９（ステップＳ１７４）］配列Ｖ［３］で示されるビア作成候補位置「Ｅ１」の周囲にグランド端子がない。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．９０（ステップＳ１７５）］配列Ｆ［４］のレコードに格納されている配列Ｖ［３］が参照され、配列Ｖ［３］のレコード内の調査済みフラグＶｆがクリアされる。また配列Ｆ［４］のレコードがクリアされる。
【０３１６】
（以下図４４参照）
［Ｎｏ．９１（ステップＳ１５７）］配列Ｖ［２］のレコード内の配列Ｖｖ［３］のビア作成候補位置「Ｃ３」を示す配列Ｖ［９］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに３が設定される（Ｆｎ＝３）。
［Ｎｏ．９２（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．９３（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３１７】
（以下図４５参照）
［Ｎｏ．９４（ステップＳ１７１）］配列Ｖ［９］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［４］のレコードに、配列Ｖ［９］が設定される（Ｆ［４］＝Ｖ［９］）。
［Ｎｏ．９５（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．９６（ステップＳ１７４）］配列Ｖ［９］のレコード内のＶｐ［１］が端子「Ｄ４」を示す配列Ｐ［８］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．９７（ステップＳ１７６）］配列Ｖ［９］のレコード内のＶｌにＰ［８］のリンクが設定されているため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．９８（ステップＳ１７７）］配列Ｖ［９］のレコード内のＶｃに設定されている配列Ｖ［８］のレコードが参照され、そのレコード内のＶｌに設定されている配列Ｐ［７］が取得される。
【０３１８】
（以下図４６参照）
［Ｎｏ．９９（ステップＳ１８１）］配列Ｐ［７］で示される端子「Ｂ４」を調査対象としたビアとバイパスコンデンサの割り付け可否判断処理が再帰的に実行される。
【０３１９】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目》
（以下図４３参照）
［Ｎｏ．１００（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１０１（ステップＳ１３２〜Ｓ１３７）］端子「Ｂ４」を示す配列Ｐ［７］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［５］のレコードにＰ［７］が設定される。配列Ｐ［７］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝１が設定される。配列Ｍ［１］にＢ４→Ａ３→Ｃ３→Ｄ４のリンク関係が設定され、ＢＧＡ端子リスト３１１とビア作成候補位置リスト３２１における該当するリンク関係がクリアされる。配列Ｍの記録数Ｍｎに１が設定される（Ｍｎ＝１）。
［Ｎｏ．１０２（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１０３（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１０４（ステップＳ１４０）］配列Ｖ［８］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［６］のレコードに、Ｖ［８］が設定される（配列Ｆ［６］＝Ｖ［８］）。
【０３２０】
（以下図４４参照）
［Ｎｏ．１０５（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１０６（ステップＳ１５５）］配列Ｌ［２］のレコード内のＬｌに、配列Ｐ［７］が設定される（Ｌｌ＝Ｐ［７］）。また、Ｌｃには、配列Ｖ［８］が設定される（Ｌｃ＝Ｖ［８］）。
［Ｎｏ．１０７（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１０８（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ｃ３」を示す配列Ｖ［９］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに６が設定される（Ｆｎ＝６）。
［Ｎｏ．１０９（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１１０（ステップＳ１６０）］配列Ｖ［９］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１１１（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ａ１」を示す配列Ｖ［１］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに６が設定される（Ｆｎ＝６）。
［Ｎｏ．１１２（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１１３（ステップＳ１６０）］配列Ｖ［１］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１１４（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［３］のビア作成候補位置「Ａ５」を示す配列Ｖ［１５］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに６が設定される（Ｆｎ＝６）。
［Ｎｏ．１１５（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１１６（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３２１】
（以下図４５参照）
［Ｎｏ．１１７（ステップＳ１７１）］配列Ｖ［１５］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［７］のレコードに、配列Ｖ［１５］が設定される（Ｆ［７］＝Ｖ［１５］）。
［Ｎｏ．１１８（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．１１９（ステップＳ１７４）］配列Ｖ［１５］のレコード内のＶｐ［１］が端子「Ｂ６」を示す配列Ｐ［１３］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１２０（ステップＳ１７６）］配列Ｖ［１５］のレコード内のＶｌにＰ［１３］のリンクが設定されているため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１２１（ステップＳ１７７）］配列Ｖ［１５］のレコード内のＶｃに設定されている配列Ｖ［１６］のレコードが参照され、そのレコード内のＶｌに設定されている配列Ｐ［１４］が取得される。
【０３２２】
（以下図４６参照）
［Ｎｏ．１２２（ステップＳ１８１）］配列Ｐ［１４］で示される端子「Ｄ６」を調査対象としたビアとバイパスコンデンサの割り付け可否判断処理が再帰的に実行される。
【０３２３】
《ビアとバイパスコンデンサの割り付け可否判断処理の３段階目》
（以下図４３参照）
［Ｎｏ．１２３（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１２４（ステップＳ１３２〜Ｓ１３７）］端子「Ｄ６」を示す配列Ｐ［１４］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［８］のレコードにＰ［１４］が設定される。配列Ｐ［１４］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ｃ５」を示す配列Ｖ［１６］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝２が設定される。配列Ｍ［２］にＤ６→Ｃ５→Ａ５→Ｂ６のリンク関係が設定され、ＢＧＡ端子リスト３１１とビア作成候補位置リスト３２１における該当するリンク関係がクリアされる。配列Ｍの記録数Ｍｎに２が設定される（Ｍｎ＝２）。
［Ｎｏ．１２５（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１２６（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１２７（ステップＳ１４０）］配列Ｖ［１６］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［９］のレコードに、Ｖ［１６］が設定される（配列Ｆ［９］＝Ｖ［１６］）。
【０３２４】
（以下図４４参照）
［Ｎｏ．１２８（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１２９（ステップＳ１５５）］配列Ｌ［３］のレコード内のＬｌに、配列Ｐ［１４］が設定される（Ｌｌ＝Ｐ［１４］）。また、Ｌｃには、配列Ｖ［１６］が設定される（Ｌｃ＝Ｖ［１６］）。
［Ｎｏ．１３０（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１３１（ステップＳ１５７）］配列Ｖ［１６］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ａ５」を示す配列Ｖ［１５］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに９が設定される（Ｆｎ＝９）。
［Ｎｏ．１３２（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１３３（ステップＳ１６０）］配列Ｖ［１５］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１３４（ステップＳ１５７）］配列Ｖ［１６］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ｅ５」を示す配列Ｖ［１７］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに９が設定される（Ｆｎ＝９）。
［Ｎｏ．１３５（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１３６（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３２５】
（以下図４５参照）
［Ｎｏ．１３７（ステップＳ１７１）］配列Ｖ［１７］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［１０］のレコードに、配列Ｖ［１７］が設定される（Ｆ［１０］＝Ｖ［１７］）。
［Ｎｏ．１３８（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．１３９（ステップＳ１７４）］配列Ｖ［１７］のレコード内のＶｐ［１］が端子「Ｆ６」を示す配列Ｐ［１５］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１４０（ステップＳ１７６）］このステップでは「ＹＥＳ」と判断される。
【０３２６】
（以下図４６参照）
［Ｎｏ．１４１（ステップＳ１８４）］配列Ｌ［４］のレコード内のＬｌにＰ［１５］が設定され（Ｌｌ＝Ｐ［１５］）、ＬｃにＶ［１７］が設定される（Ｌｃ＝Ｖ［１７］）。配列Ｌ［５］のレコード内のＬｌにＶ［１６］が設定され（Ｌｌ＝Ｖ［１６］）、配列ＬｃにＶ［１７］が設定される（Ｌｃ＝Ｖ［１７］）。
［Ｎｏ．１４２（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３２７】
《ビアとバイパスコンデンサの割り付け可否判断処理の３段階目終了》
［Ｎｏ．１４３（ステップＳ１８２）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１４４（ステップＳ１８４）］配列Ｌ［６］のレコード内のＬｌにＰ［１６］が設定され（Ｌｌ＝Ｐ［１６］）、ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。配列Ｌ［７］のレコード内のＬｌにＶ［８］が設定され（Ｌｌ＝Ｖ［８］）、配列ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。
［Ｎｏ．１４５（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３２８】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目終了》
［Ｎｏ．１４６（ステップＳ１８２）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１４７（ステップＳ１８４）］配列Ｌ［８］のレコード内のＬｌにＰ［８］が設定され（Ｌｌ＝Ｐ［８］）、ＬｃにＶ［９］が設定される（Ｌｃ＝Ｖ［９］）。配列Ｌ［９］のレコード内のＬｌにＶ［２］が設定され（Ｌｌ＝Ｖ［２］）、配列ＬｃにＶ［９］が設定される（Ｌｃ＝Ｖ［９］）。
［Ｎｏ．１４８（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３２９】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目終了》
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．１４９（ステップＳ１２４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１５０（ステップＳ１２５）］端子「Ｂ２」からビア作成候補位置「Ｃ１」への配線、ビア作成候補位置「Ｃ１」からビア作成候補位置「Ｃ３」への配線、ビア作成候補位置「Ｃ３」から端子「Ｄ４」への配線を示す情報が設定される（Ｂ２→Ｃ１→Ｃ３→Ｄ４）。
【０３３０】
また、配列Ｐ［１］のレコード内のＰｌにＶ［２］が設定される（Ｐｌ＝Ｖ［２］）。配列Ｖ［２］のレコード内のＶｌにＰ［１］が設定され（Ｖｌ＝Ｐ［１］）、ＶｃにＶ［９］が設定される（Ｖｃ＝Ｖ［９］）。
【０３３１】
さらに、配列Ｐ［９］のレコード内のＰｌにＶ［９］が設定される（Ｐｌ＝Ｖ［９］。配列Ｖ［９］のレコード内のＶｌにＰ［９］が設定され（Ｖｌ＝Ｐ［９］）、ＶｃにＶ［１］が設定される（Ｖｃ＝Ｖ［１］）。
【０３３２】
端子「Ｂ４」からビア作成候補位置「Ａ３」への配線、ビア作成候補位置「Ａ３」からビア作成候補位置「Ａ５」への配線、ビア作成候補位置「Ａ５」から端子「Ｂ６」への配線を示す情報が設定される（Ｂ４→Ａ３→Ａ５→Ｂ６）。
【０３３３】
また、配列Ｐ［７］のレコード内のＰｌにＶ［８］が設定される（Ｐｌ＝Ｖ［８］）。配列Ｖ［８］のレコード内のＶｌにＰ［７］が設定され（Ｖｌ＝Ｐ［７］）、ＶｃにＶ［１５］が設定される（Ｖｃ＝Ｖ［１５］）。
【０３３４】
さらに、配列Ｐ［１３］のレコード内のＰｌにＶ［１５］が設定される（Ｐｌ＝Ｖ［１５］。配列Ｖ［１５］のレコード内のＶｌにＰ［１３］が設定され（Ｖｌ＝Ｐ［１３］）、ＶｃにＶ［７］が設定される（Ｖｃ＝Ｖ［７］）。
【０３３５】
端子「Ｄ６」からビア作成候補位置「Ｃ５」への配線、ビア作成候補位置「Ｃ５」からビア作成候補位置「Ｄ５」への配線、ビア作成候補位置「Ｄ５」から端子「Ｆ６」への配線を示す情報が設定される（Ｄ６→Ｃ５→Ｄ５→Ｆ６）。
【０３３６】
また、配列Ｐ［１４］のレコード内のＰｌにＶ［１６］が設定される（Ｐｌ＝Ｖ［１６］）。配列Ｖ［１６］のレコード内のＶｌにＰ［１４］が設定され（Ｖｌ＝Ｐ［１４］）、ＶｃにＶ［１７］が設定される（Ｖｃ＝Ｖ［１７］）。
【０３３７】
さらに、配列Ｐ［１５］のレコード内のＰｌにＶ［１７］が設定される（Ｐｌ＝Ｖ［１７］。配列Ｖ［１７］のレコード内のＶｌにＰ［１５］が設定され（Ｖｌ＝Ｐ［１５］）、ＶｃにＶ［１４］が設定される（Ｖｃ＝Ｖ［１４］）。
【０３３８】
図５３は、バイパスコンデンサ配置処理途中における配置状況を示す第２の図である。図５２と比較すると分かるように、バイパスコンデンサの配置が変更され、端子「Ｂ２」に対してもバイパスコンデンサが接続可能となっている。この段階では、３つのバイパスコンデンサが配置されている。
【０３３９】
（以下図４２参照）
［Ｎ０．１５１（ステップＳ１２６）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．１５２（ステップＳ１２１）］電源端子へのバイパスコンデンサの配置が終了したため、信号端子である端子「Ｄ２」を示す配列Ｐ［２］が選択される。
［Ｎｏ．１５３（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
［Ｎｏ．１５４（ステップＳ１２３）］ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０３４０】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．１５５（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１５６（ステップＳ１３２〜Ｓ１３７）］端子「Ｄ２」を示す配列Ｐ［２］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［２］が設定される。配列Ｐ［２］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ｃ１」を示す配列Ｖ［２］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．１５７（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１５８（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１５９（ステップＳ１４０）］配列Ｖ［２］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［２］が設定される（配列Ｆ［２］＝Ｖ［２］）。
【０３４１】
（以下図４４参照）
［Ｎｏ．１６０（ステップＳ１５１）］配列Ｖ［２］のレコード内のＶｌにＰ［１］が設定されており、これは調査対象のＰ［２］とは異なる。そのためこのステップでは「ＮＯ」と判断される。
［Ｎｏ．１６１（ステップＳ１５２）］配列Ｖ［２］のレコード内のＶｌに設定されているＰ［１］が取得される。
［Ｎｏ．１６２（ステップＳ１５３）］配列Ｐ［１］の端子が、配列Ｖ［２］のビア作成候補位置以外を使えないか調査するため、ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０３４２】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目》
（以下図４３参照）
［Ｎｏ．１６３（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１６４（ステップＳ１３２〜Ｓ１３７）］端子「Ｂ２」の配列Ｐ［１］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［３］のレコードにＰ［１］が設定される。配列Ｐ［１］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ａ１」を示す配列Ｖ［１］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。配列Ｍ［１］にＢ２→Ｃ１→Ｃ３→Ｄ４のリンク関係が設定され、ＢＧＡ端子リスト３１１とビア作成候補位置リスト３２１における該当するリンク関係がクリアされる。配列Ｍの記録数Ｍｎに１が設定される（Ｍｎ＝１）。
［Ｎｏ．１６５（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１６６（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１６７（ステップＳ１４０）］配列Ｖ［１］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［４］のレコードに、Ｖ［１］が設定される（配列Ｆ［４］＝Ｖ［１］）。
【０３４３】
（以下図４４参照）
［Ｎｏ．１６８（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１６９（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［１］が設定される（Ｌｌ＝Ｐ［１］）。また、Ｌｃには、配列Ｖ［１］が設定される（Ｌｃ＝Ｖ［１］）。
［Ｎｏ．１７０（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１７１（ステップＳ１５７）］配列Ｖ［１］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ｃ１」を示す配列Ｖ［２］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに４が設定される（Ｆｎ＝４）。
［Ｎｏ．１７２（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１７３（ステップＳ１６０）］配列Ｖ［２］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１７４（ステップＳ１５７）］配列Ｖ［１］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに４が設定される（Ｆｎ＝４）。
［Ｎｏ．１７５（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１７６（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３４４】
（以下図４５参照）
［Ｎｏ．１７７（ステップＳ１７１）］配列Ｖ［８］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［５］のレコードに、配列Ｖ［８］が設定される（Ｆ［５］＝Ｖ［８］）。
［Ｎｏ．１７８（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．１７９（ステップＳ１７４）］配列Ｖ［８］で示されるビア作成候補位置「Ａ３」の周囲にグランド端子がない。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１８０（ステップＳ１７５）］配列Ｆ［５］のレコードに格納されている配列Ｖ［８］が参照され、配列Ｖ［８］のレコード内の調査済みフラグＶｆがクリアされる。また配列Ｆ［５］のレコードがクリアされる。
【０３４５】
（以下図４４参照）
［Ｎｏ．１８１（ステップＳ１５７）］配列Ｖ［１］のレコード内の配列Ｖｖ［３］のビア作成候補位置の選択が試みられるが、該当するリンクがないため選択できない。この際、配列Ｆのレコードの記録数Ｆｎに４が設定される（Ｆｎ＝４）。
［Ｎｏ．１８２（ステップＳ１５８）］配列Ｖｖが選択できないため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１８３（ステップＳ１５９）］Ｌｎ（＝０）より大きいインデックス値の配列Ｌのレコード（Ｌ［１］）がクリアされる。
【０３４６】
（以下図４３参照）
［Ｎｏ．１８４（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［１］のレコード内の配列Ｐｖ［２］から、ビア作成候補位置「Ｃ１」を示す配列Ｖ［２］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．１８５（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１８６（ステップＳ１３９）］配列Ｖ［２］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１８７（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［１］のレコード内の配列Ｐｖ［３］から、ビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．１８８（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１８９（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１９０（ステップＳ１４０）］配列Ｖ［８］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［５］のレコードに、Ｖ［８］が設定される（配列Ｆ［５］＝Ｖ［８］）。
【０３４７】
（以下図４４参照）
［Ｎｏ．１９１（ステップＳ１５１）］配列Ｖ［８］のレコード内のＶｌにＰ［７］が設定されており、これは調査対象のＰ［１］とは異なる。そのためこのステップでは「ＮＯ」と判断される。
［Ｎｏ．１９２（ステップＳ１５２）］配列Ｖ［８］のレコード内のＶｌに設定されているＰ［７］が取得される。
［Ｎｏ．１９３（ステップＳ１２３）］配列Ｐ［７］の端子が、配列Ｖ［８］のビア作成候補位置以外を使えないか調査するため、ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０３４８】
《ビアとバイパスコンデンサの割り付け可否判断処理の３段階目》
（以下図４３参照）
［Ｎｏ．１９４（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．１９５（ステップＳ１３２〜Ｓ１３７）］端子「Ｂ４」の配列Ｐ［７］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［６］のレコードにＰ［７］が設定される。配列Ｐ［７］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。配列Ｍ［２］にＢ４→Ａ３→Ａ５→Ｂ６のリンク関係が設定され、ＢＧＡ端子リスト３１１とビア作成候補位置リスト３２１における該当するリンク関係がクリアされる。配列Ｍの記録数Ｍｎに２が設定される（Ｍｎ＝２）。
［Ｎｏ．１９６（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．１９７（ステップＳ１３９）］配列Ｖ［８］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．１９８（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［７］のレコード内の配列Ｐｖ［２］から、ビア作成候補位置「Ｃ３」を示す配列Ｖ［９］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．１９９（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２００（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２０１（ステップＳ１４０）］配列Ｖ［９］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［７］のレコードに、Ｖ［９］が設定される（配列Ｆ［７］＝Ｖ［９］）。
【０３４９】
（以下図４４参照）
［Ｎｏ．２０２（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２０３（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［７］が設定される（Ｌｌ＝Ｐ［７］）。また、Ｌｃには、配列Ｖ［９］が設定される（Ｌｃ＝Ｖ［９］）。
［Ｎｏ．２０４（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２０５（ステップＳ１５７）］配列Ｖ［９］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ａ３」を示す配列Ｖ［８］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに７が設定される（Ｆｎ＝７）。
［Ｎｏ．２０６（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２０７（ステップＳ１６０）］配列Ｖ［８］のレコード内の調査済みフラグＶｆがオンであるため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．２０８（ステップＳ１５７）］配列Ｖ［９］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ｅ３」を示す配列Ｖ［１０］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに７が設定される（Ｆｎ＝７）。
［Ｎｏ．２０９（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２１０（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３５０】
（以下図４５参照）
［Ｎｏ．２１１（ステップＳ１７１）］配列Ｖ［１０］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［８］のレコードに、配列Ｖ［１０］が設定される（Ｆ［８］＝Ｖ［１０］）。
［Ｎｏ．２１２（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２１３（ステップＳ１７４）］配列Ｖ［１０］のレコード内のＶｐ［２］が端子「Ｄ４」を示す配列Ｐ［８］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２１４（ステップＳ１７６）］このステップでは「ＹＥＳ」と判断される。
【０３５１】
（以下図４６参照）
［Ｎｏ．２１５（ステップＳ１８４）］配列Ｌ［２］のレコード内のＬｌにＰ［８］が設定され（Ｌｌ＝Ｐ［８］）、ＬｃにＶ［１０］が設定される（Ｌｃ＝Ｖ［１０］）。配列Ｌ［３］のレコード内のＬｌにＶ［９］が設定され（Ｌｌ＝Ｖ［９］）、配列ＬｃにＶ［１０］が設定される（Ｌｃ＝Ｖ［１０］）。
［Ｎｏ．２１６（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３５２】
《ビアとバイパスコンデンサの割り付け可否判断処理の３段階目終了》
（以下図４４参照）
［Ｎｏ．２１７（ステップＳ１５４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２１８（ステップＳ１５５）］配列Ｌ［４］のレコード内のＬｌに、配列Ｐ［１］が設定される（Ｌｌ＝Ｐ［１］）。また、Ｌｃには、配列Ｖ［８］が設定される（Ｌｃ＝Ｖ［８］）。
［Ｎｏ．２１９（ステップＳ１５６）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２２０（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［１］のビア作成候補位置「Ｃ３」を示す配列Ｖ［９］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに８が設定される（Ｆｎ＝８）。
［Ｎｏ．２２１（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２２２（ステップＳ１６０）］配列Ｖ［９］のレコード内の調査済みフラグＶｆがオンに設定されている。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．２２３（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［２］のビア作成候補位置「Ａ１」を示す配列Ｖ［１］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに８が設定される（Ｆｎ＝８）。
［Ｎｏ．２２４（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２２５（ステップＳ１６０）］配列Ｖ［１］のレコード内の調査済みフラグＶｆがオンに設定されている。そのため、このステップでは「ＮＯ」と判断される。
［Ｎｏ．２２６（ステップＳ１５７）］配列Ｖ［８］のレコード内の配列Ｖｖ［３］のビア作成候補位置「Ａ５」を示す配列Ｖ［１５］が選択される。この際、配列Ｆのレコードの記録数Ｆｎに８が設定される（Ｆｎ＝８）。
［Ｎｏ．２２７（ステップＳ１５８）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２２８（ステップＳ１６０）］このステップでは「ＹＥＳ」と判断される。
【０３５３】
（以下図４５参照）
［Ｎｏ．２２９（ステップＳ１７１）］配列Ｖ［１５］の調査済みフラグＶｆがオンに設定される。この際、配列Ｆ［９］のレコードに、配列Ｖ［１５］が設定される（Ｆ［９］＝Ｖ［１５］）。
［Ｎｏ．２３０（ステップＳ１７２）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２３１（ステップＳ１７４）］配列Ｖ［１５］のレコード内のＶｐ［１］が端子「Ｂ６」を示す配列Ｐ［１３］である。この端子はグランド端子であるため、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２３２（ステップＳ１７６）］このステップでは「ＹＥＳ」と判断される。
【０３５４】
（以下図４６参照）
［Ｎｏ．２３３（ステップＳ１８４）］配列Ｌ［５］のレコード内のＬｌにＰ［１３］が設定され（Ｌｌ＝Ｐ［１３］）、ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。配列Ｌ［６］のレコード内のＬｌにＶ［８］が設定され（Ｌｌ＝Ｖ［８］）、配列ＬｃにＶ［１５］が設定される（Ｌｃ＝Ｖ［１５］）。
［Ｎｏ．２３４（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３５５】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目終了》
（以下図４４参照）
［Ｎｏ．２３５（ステップＳ１５４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２３６（ステップＳ１５５）］配列Ｌ［７］のレコード内のＬｌに、配列Ｐ［２］が設定される（Ｌｌ＝Ｐ［２］）。また、Ｌｃには、配列Ｖ［２］が設定される（Ｌｃ＝Ｖ［２］）。
［Ｎｏ．２３７（ステップＳ１５６）］配列Ｐ［２］で示される端子Ｄ２は信号端子である。そのため、このステップでは「ＮＯ」と判断される。
【０３５６】
（以下図４６参照）
［Ｎｏ．２３８（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３５７】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目終了》
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．２３９（ステップＳ１２４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２４０（ステップＳ１２５）］端子「Ｂ２」からビア作成候補位置「Ａ３」への配線、ビア作成候補位置「Ａ３」からビア作成候補位置「Ａ５」への配線、ビア作成候補位置「Ａ５」から端子「Ｂ６」への配線を示す情報が設定される（Ｂ２→Ａ３→Ａ５→Ｂ６）。
【０３５８】
また、端子「Ｂ４」からビア作成候補位置「Ｃ３」への配線、ビア作成候補位置「Ｃ３」からビア作成候補位置「Ｅ３」への配線、ビア作成候補位置「Ｅ３」から端子「Ｄ４」への配線を示す情報が設定される（Ｂ４→Ｃ３→Ｅ３→Ｄ４）。
【０３５９】
さらに、端子「Ｄ２」からビア作成候補位置「Ｃ１」への配線が設定される（Ｄ２→Ｃ１）。
図５４は、バイパスコンデンサ配置処理途中における配置状況を示す第３の図である。図５３と比較すると分かるように、バイパスコンデンサの配置が変更され、新たに信号端子である端子「Ｄ２」からの放射方向の引き出し配線が設定されている。なお図５４では、信号端子からの引き出し配線を接続するビア作成候補位置を二重丸で示している。
【０３６０】
（以下図４２参照）
［Ｎｏ．２４１（ステップＳ１２６）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２４２（ステップＳ１２１）］端子「Ｆ２」を示す配列Ｐ［３］が選択される。
［Ｎｏ．２４３（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
【０３６１】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．２４４（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２４５（ステップＳ１３２〜Ｓ１３７）］端子「Ｆ２」を示す配列Ｐ［３］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［３］が設定される。配列Ｐ［３］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ｅ１」を示す配列Ｖ［３］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．２４６（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２４７（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２４８（ステップＳ１４０）］配列Ｖ［３］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［３］が設定される（配列Ｆ［２］＝Ｖ［３］）。
【０３６２】
（以下図４４参照）
［Ｎｏ．２４９（ステップＳ１５１）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２５０（ステップＳ１５５）］配列Ｌ［１］のレコード内のＬｌに、配列Ｐ［３］が設定される（Ｌｌ＝Ｐ［３］）。また、Ｌｃには、配列Ｖ［３］が設定される（Ｌｃ＝Ｖ［３］）。
［Ｎｏ．２５１（ステップＳ１５６）］配列Ｐ［２］で示される端子Ｄ２は信号端子である。そのため、このステップでは「ＮＯ」と判断される。
【０３６３】
（以下図４６参照）
［Ｎｏ．２５２（ステップＳ１８５）］処理結果として「ビア割り付け可能」が返される。
【０３６４】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目終了》
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．２５３（ステップＳ１２４）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２５４（ステップＳ１２５）］端子「Ｆ２」からビア作成候補位置「Ｅ１」への配線が設定される（Ｆ２→Ｅ１）。
【０３６５】
図５５は、バイパスコンデンサ配置処理途中における配置状況を示す第４の図である。図５４と比較すると分かるように、新たに信号端子である端子「Ｆ２」からの放射方向の引き出し配線が設定されている。
【０３６６】
（以下図４２参照）
［Ｎｏ．２５５（ステップＳ１２６）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２５６（ステップＳ１２１）］端子「Ｄ４」を示す配列Ｐ［８］のレコードには、Ｐｌにリンクが設定されている。そのため配列Ｐ［８］に対する処理はスキップされ、端子「Ｆ４」を示す配列Ｐ［９］が選択される。
［Ｎｏ．２５７（ステップＳ１２２）］配列Ｐ、配列Ｖの調査済みフラグがクリアされ、配列Ｆ、配列Ｌ、配列Ｍの内容がクリアされる。
【０３６７】
《ビアとバイパスコンデンサの割り付け可否判断処理の１段階目》
（以下図４３参照）
［Ｎｏ．２５８（ステップＳ１３１）］このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２５９（ステップＳ１３２〜Ｓ１３７）］端子「Ｆ４」を示す配列Ｐ［９］のレコードの調査済みフラグＰｆがオンに設定される。配列Ｆ［１］のレコードにＰ［９］が設定される。配列Ｐ［９］のレコード内の配列Ｐｖ［１］から、ビア作成候補位置「Ｅ３」を示す配列Ｖ［１０］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．２６０（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２６１（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２６２（ステップＳ１４０）］配列Ｖ［１０］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［２］のレコードに、Ｖ［１０］が設定される（配列Ｆ［２］＝Ｖ［１０］）。
【０３６８】
（以下図４４参照）
［Ｎｏ．２６３（ステップＳ１５１）］配列Ｖ［１０］のレコード内のＶｌに配列Ｐ［８］が設定されており、これは調査対象の配列Ｐ［９］とは異なる。そのためこのステップでは「ＮＯ」と判断される。
［Ｎｏ．２６４（ステップＳ１５２）］配列Ｖ［１０］のレコード内のＶｌに設定されている配列Ｐ［８］が取得される。
［Ｎｏ．２６５（ステップＳ１５３）］ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０３６９】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目》
（以下図４３参照）
［Ｎｏ．２６６（ステップＳ１３１）］このステップでは「ＮＯ」と判断される。
【０３７０】
（以下図４６参照）
［Ｎｏ．２６７（ステップＳ１８６）］このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
【０３７１】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目終了》
（以下図４４参照）
［Ｎｏ．２６８（ステップＳ１５４）］このステップでは「ＮＯ」と判断される。
【０３７２】
（以下図４３参照）
［Ｎｏ．２６９（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［９］のレコード内の配列Ｐｖ［２］から、ビア作成候補位置「Ｅ５」を示す配列Ｖ［１７］が選択される。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．２７０（ステップＳ１３８）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２７１（ステップＳ１３９）］このステップでは「ＹＥＳ」と判定される。
［Ｎｏ．２７２（ステップＳ１４０）］配列Ｖ［１７］のレコード内の調査済みフラグＶｆがオンに設定される。配列Ｆ［３］のレコードに、Ｖ［１７］が設定される（配列Ｆ［３］＝Ｖ［１７］）。
【０３７３】
（以下図４４参照）
［Ｎｏ．２７３（ステップＳ１５１）］このステップでは「ＮＯ」と判定される。
［Ｎｏ．２７４（ステップＳ１５２）］配列Ｖ［１７］のレコード内のＶｌに設定されている配列Ｐ［１５］が取得される。
［Ｎｏ．２７５（ステップＳ１５３）］ビアとバイパスコンデンサの割り付け可否判断処理が行われる。
【０３７４】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目》
（以下図４３参照）
［Ｎｏ．２７６（ステップＳ１３１）］このステップでは「ＮＯ」と判断される。
【０３７５】
（以下図４６参照）
［Ｎｏ．２７７（ステップＳ１８６）］このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
【０３７６】
《ビアとバイパスコンデンサの割り付け可否判断処理の２段階目終了》
（以下図４４参照）
［Ｎｏ．２７８（ステップＳ１５４）］このステップでは「ＮＯ」と判断される。
【０３７７】
（以下図４３参照）
［Ｎｏ．２７９（ステップＳ１３２〜Ｓ１３７）］配列Ｐ［９］のレコード内の配列Ｐｖ［３］の選択が試みられるが、該当するリンクが無いため選択に失敗する。配列Ｌへのレコードの記録数Ｌｎ＝０が設定される。
［Ｎｏ．２８０（ステップＳ１３８）］このステップでは「ＮＯ」と判定される。
【０３７８】
（以下図４６参照）
［Ｎｏ．２８１（ステップＳ１８６）］このステップでの処理対象となる情報がまだ設定されておらず、このステップはスキップされる。
【０３７９】
《バイパスコンデンサ配置位置検索処理》
（以下図４２参照）
［Ｎｏ．２８２（ステップＳ１２４）］このステップでは「ＮＯ」と判断される。
［Ｎｏ．２８３（ステップＳ１２６）］配列Ｐ［１３］、配列Ｐ［１５］は既にリンク設定済みのため処理対象ではない。従って、このステップでは「ＹＥＳ」と判断される。
［Ｎｏ．２８４（ステップＳ１２７）］ＢＧＡ端子リスト３１１とビア作成候補位置リスト３２１で示される割り付け関係に従って、ビア作成候補位置へのビアの作成、端子からビアへのライン接続、バイパスコンデンサの配置が決定される。決定内容は、図５５で示した配線状況のままとなる。すなわち、ビアが作成されるのは、Ｅ１、Ｃ１、Ａ３、Ｃ３、Ｅ３、Ａ５、Ｃ５、Ｅ５の位置である。引き出し配線が作成されるのは、Ｆ２−Ｅ１、Ｄ２−Ｃ１、Ｂ２−Ａ３、Ｂ４−Ｃ３、Ｄ４−Ｅ３、Ｂ６−Ａ５、Ｄ６−Ｃ５、Ｆ６−Ｅ５である。バイパスコンデンサが配置されるのは、Ａ３−Ａ５、Ｃ３−Ｅ３、Ｃ５−Ｅ５の位置である。Ｆ４の位置の信号端子は、引き出しに失敗している。
【０３８０】
この例は、電源端子→信号端子の順に調査対象としたため、信号端子のひとつは引き出し配線の生成に失敗となるケースである。もし、信号端子→電源端子の順に調査対象とすると、今度は信号端子が邪魔をして電源端子への引き出し配線の生成に失敗する。
【０３８１】
なお図５５に示したように信号端子への引き出し配線の生成に失敗した場合でも、十字境界領域へのビア作成を許容すれば、すべての端子に引き出し配線を接続できる可能性がある。
【０３８２】
上記のような処理は、調査済みフラグを有効に利用することで、矛盾した探索を防止し、かつ無限ループしないことが保障されている。
図５６は、調査済みフラグの設定状況を示す第１の図である。本実施の形態では、調査済みフラグを設定した端子およびビア作成候補位置が、調査済み要素リスト３３０の配列Ｆで管理されている。図５６の格子内の数値（丸付きの数値を除く）は、端子「Ｄ６」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Ｆのインデックス値である。すなわち、配列Ｆ［１］に端子「Ｄ１」へのリンクが設定され、配列Ｆ［２］にビア作成候補位置「Ｃ５」へのリンクが設定され、配列Ｆ［３］にビア作成候補位置「Ａ５」へのリンクが設定されている。
【０３８３】
図５７は、調査済みフラグの設定状況を示す第２の図である。図５７の格子内の数値（丸付きの数値を除く）は、端子「Ｂ４」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Ｆのインデックス値である。
【０３８４】
図５８は、調査済みフラグの設定状況を示す第３の図である。図５８の格子内の数値（丸付きの数値を除く）は、端子「Ｂ２」にバイパスコンデンサの配置を決定した直後の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Ｆのインデックス値である。
【０３８５】
図５９は、調査済みフラグの設定状況を示す第４の図である。図５９の格子内の数値（丸付きの数値を除く）は、端子「Ｄ２」からの引き出し配線探索途中の調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Ｆのインデックス値である。
【０３８６】
このような調査済みフラグの状態で、上記の「Ｎｏ．１７１」からの処理が行われる。すると、ビア作成候補位置「Ａ１」（Ｖ［１］）から、この位置に配置する予定のバイパスコンデンサのもう片方のグランド端子に接続するビア作成候補位置が探索される。そのときビア作成候補位置「Ｃ１」（Ｖ［２］）から探索にいくが、ビア作成候補位置「Ｃ１」（Ｖ［２］）はすでに端子「Ｄ２」（Ｐ［２］）の引き出し先の候補として予約されており、調査済みフラグＶｆがオンになっている。そのため、ビア作成候補位置「Ｃ１」（Ｖ［２］）は、ビア作成候補位置「Ａ１」（Ｖ［１］）のペアとはならないことがわかり、探索が断念される。
【０３８７】
このように調査済みフラグＶｆを使用することで、矛盾した探索を防止し、かつ無限ループしないことを保障することができる。
図６０は、調査済みフラグの設定状況を示す第５の図である。図６０の格子内の数値（丸付きの数値を除く）は、端子「Ｄ２」からの引き出し配線探索終了時において調査済みフラグが設定された端子およびビア作成候補位置を示している。各数値は、その位置を示す配列Ｆのインデックス値である。
【０３８８】
以上のようにＢＧＡ部品の端子を選択するごとに、既に配置されているバイパスコンデンサの再配置、端子からの引き出し配線の再配線を行うようにすることで、可能な限り多くのバイパスコンデンサの配置が可能となる。
【０３８９】
図６１は、バイパスコンデンサの再配置および再配線の状況を示す図である。図６１では、電源端子を黒丸で示し、グランド端子を白丸で示している。バイパスコンデンサは、矩形で示されている。ビアを作成する位置は、二重丸で示されている。
【０３９０】
図６１の左側に示す状況から、さらにバイパスコンデンサの４１１を接続する場合、バイパスコンデンサ４１１を接続する電源端子付近に、空いているグランド端子がない。そこで、バイパスコンデンサの再配置および再配線を行うことで、右側に示すように、バイパスコンデンサ４１１を電源端子とグランド端子との間に配置可能となる。
【０３９１】
このようなＢＧＡ部品の端子全体に渡るバイパスコンデンサの配置変更を手作業で行う場合、非常に手間がかかる。本実施の形態によれば、バイパスコンデンサの再配置と再配線が自動で行われ、作業効率が格段に向上する。
【０３９２】
しかも、２部フラグを用いて、効率的にバイパスコンデンサの配置と、端子からの配線を効率的に決定することができる。
ここで第３の実施の形態に示す配線技術を用いれば、バイパスコンデンサの配置を伴わずに、端子からの引き出し配線の決定処理のみを実行させることができる。その場合、すべての端子からの引き出し配線を、効率的な処理が確実に実行することが可能となる。
【０３９３】
バイパスコンデンサの配置を行わないのであれば、接続情報記憶部１３１に格納される情報のうち、バイパスコンデンサの配置に関する情報は不要となる。例えば、図３８に示したビア作成候補位置リスト３２０から、割り付けられた他のビア作成候補位置へのリンクＶｃと、バイパスコンデンサを介して接続可能な他のビア作成候補位置へのリンクＶｖとの情報を取り除くことができる。
【０３９４】
図６２は、端子にビアを割り付ける処理の手順を示すフローチャートである。以下、図６２に示す処理をステップ番号に沿って説明する。なおこの処理は、ＢＧＡ部品ごとに実行される。
【０３９５】
［ステップＳ２１１］接続関係決定部１３５は、ＢＧＡ部品の未処理の端子を１つ選択する。なお、既にビア作成候補位置が割り当てられている端子は、選択せずに処理をスキップする。
【０３９６】
［ステップＳ２１２］接続関係決定部１３５は、すべての端子と、すべてのビア作成候補位置の調査済みフラグをオフに初期化する。
［ステップＳ２１３］接続関係決定部１３５は、端子に割り付けられるビアの調査処理を行う。この処理の詳細は後述する。
【０３９７】
［ステップＳ２１４］接続関係決定部１３５は、すべての端子について処理をしたか否かを判断する。すべての端子の処理が終了している場合、処理がステップＳ２１５に進められる。未処理の端子がある場合、処理が２１１に進められる。
【０３９８】
［ステップＳ２１５］接続関係決定部１３５は、端子に割り付けられるビアの調査結果に基づいて、端子に割り付られたビア作成候補位置にビアの作成と、端子とビアとの接続配線を決定する。そして、接続関係決定部１３５は、決定した内容でプリント回路板ＤＢ１１０を更新する。
【０３９９】
図６３は、端子に割り付けられるビアの調査処理の手順を示すフローチャートである。以下、図６３に示す処理をステップ番号に沿って説明する。
［ステップＳ２２１］接続関係決定部１３５は、選択した端子の縦横半格子分ずれた位置の周囲の４つのビア作成候補位置について、他の端子に割り付けられているか否かを調査する。なお接続関係決定部１３５は、選択した端子からビア作成予約がされているビア作成候補位置については調査しない。また接続関係決定部１３５は、調査済みフラグがオンに設定されているビア作成候補位置についても調査しない。接続関係決定部１３５は、調査したビア作成候補位置に対して、調査済みフラグをオンに設定する。
【０４００】
［ステップＳ２２２］接続関係決定部１３５は、ステップＳ２２１において調査対象位置があったか否かを判断する。調査対象位置があった場合、処理がステップＳ２２４に進められる。調査対象位置が無い場合、処理がステップＳ２２３に進められる。
【０４０１】
［ステップＳ２２３］調査対象位置が無い場合、接続関係決定部１３５は、調査結果を「ビア割り付け不可」として処理を終了する。
［ステップＳ２２４］接続関係決定部１３５は、調査対象位置がある場合、調査対象位置が空いているか否かを判断する。「空いている」とは、いずれの端子からもビア作成予約が設定されていないことである。空いている場合、処理がステップＳ２２８に進められる。空いていない場合、処理がステップＳ２２５に進められる。
【０４０２】
［ステップＳ２２５］接続関係決定部１３５は、調査対象位置にビア作成予約をした端子をリストアップする。
［ステップＳ２２６］接続関係決定部１３５は、リストアップした端子それぞれを調査対象として、端子に割り付けられるビアの調査処理を再帰的に実行する。これは、別の位置にビアを作成予約できるかどうかを調査するための処理である。
【０４０３】
［ステップＳ２２７］接続関係決定部１３５は、ステップＳ２２６における調査により、調査対象となっている位置に設定されているビア作成予約を解除し、その位置のビアを割り付け可能となったか否かを判断する。割り付け可能となった場合、処理がステップＳ２２８に進められる。割り付け可能とならなかった場合、処理がステップＳ２２１に進められる。
【０４０４】
［ステップＳ２２８］接続関係決定部１３５は、選択した端子への、調査したビア作成候補位置の割り付けを確定し、調査結果を「ビア割り付け可能」とする。
このようにして、ＢＧＡ部品の各端子からの引き出し配線によるビアへの接続が可能となる。
【０４０５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、プリント回路板設計支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０４０６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０４０７】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０４０８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０４０９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０４１０】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータに実行させるプリント回路板設計支援プログラムであって、
前記コンピュータに、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
処理を実行させることを特徴とするプリント回路板設計支援プログラム。
【０４１１】
（付記２）  前記再探索で得られた接続経路と重複する他の既存の接続経路が検出されるごとに、前記他の既存の接続経路上の第３のバイパスコンデンサの位置を変更し、前記第３のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と前記再探索で得られた接続経路とのいずれとも重複しない前記第３のバイパスコンデンサを介した接続経路を再探索することを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１２】
（付記３）  前記部品情報記憶手段には、前記電源端子の電源電圧値が予め登録されており、
前記電源端子を選択する際には、電源電圧値の低い前記電源端子を優先的に選択することを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１３】
（付記４）  前記部品情報記憶手段には、前記電源端子の電源電圧値と、前記電源端子に接続する複数のバイパスコンデンサとが予め登録されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照して、接続先の前記電源端子の電源電圧値で前記バイパスコンデンサを分類し、前記バイパスコンデンサを表すオブジェクトを、分類されたグループごとにまとめて画面表示する処理を実行させることを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１４】
（付記５）  前記接続経路の探索では、前記端子から前記第１のバイパスコンデンサへの配線の優先検討方向が予め決められており、前記端子から前記優先検討方向に配線接続される位置に前記第１のバイパスコンデンサを配置する接続経路を最優先で探索することを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１５】
（付記６）  前記優先検討方向は、前記グリッドアレイパッケージ部品の中心から外に向かう方向であることを特徴とする付記５記載のプリント回路板設計支援プログラム。
（付記７）  前記部品情報記憶手段には、前記電源端子に接続するバイパスコンデンサが予め登録されており、
前記コンピュータに、さらに、
前記電源端子を含む前記グリッドアレイパッケージ部品を示すオブジェクトにおける前記電源端子と、前記電源端子に接続する前記バイパスコンデンサを示すオブジェクトとを線分で接続して表示する処理を実行させることを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１６】
（付記８）  前記コンピュータに、さらに、
前記接続経路記憶手段を参照し、前記電源端子の電源電圧ごとに、バイパスコンデンサが接続された前記電源端子の割合を計算させ、計算結果を表示させることを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１７】
（付記９）  前記部品情報記憶手段には、バイパスコンデンサの搭載条件が定義されており、
前記コンピュータに、さらに、
前記部品情報記憶手段を参照し、前記接続経路記憶手段に格納された前記接続経路が、前記バイパスコンデンサの搭載条件を満たしているか否かを判定する処理を実行させることを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１８】
（付記１０）  前記接続経路の探索では、前記グリッドアレイパッケージ部品が搭載された面とは反対側の面に前記第１のバイパスコンデンサを配置し、前記調査対象端子およびいずれかの前記グランド端子のそれぞれと前記第１のバイパスコンデンサとをビアを介して接続する経路を探索することを特徴とする付記１記載のプリント回路板設計支援プログラム。
【０４１９】
（付記１１）  前記接続経路の探索では、格子状に区切られた領域の格子点に前記グリッドアレイパッケージ部品の前記端子が配置され、前記格子点から縦横の２方向に格子間隔の半分距離だけ移動させた位置に前記ビアを配置することを特徴とする付記１０記載のプリント回路板設計支援プログラム。
【０４２０】
（付記１２）  前記接続経路の探索では、操作入力に応じて、前記グリッドアレイパッケージ部品の中心を通る十字境界部へのビアの作成の可否を判断することを特徴とする付記１０記載のプリント回路板設計支援プログラム。
【０４２１】
（付記１３）  グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理をコンピュータで実行するプリント回路板設計支援方法であって、
前記コンピュータが、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択し、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索し、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断し、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、
接続経路の重複が検出された場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索し、
再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する、
ことを特徴とするプリント回路板設計支援方法。
【０４２２】
（付記１４）  グリッドアレイパッケージ部品を搭載するプリント回路板の設計支援処理を実行するプリント回路板設計支援装置であって、
前記グリッドアレイパッケージ部品の複数の端子の位置、および前記端子が電源端子かグランド端子かを示す属性が格納された部品情報記憶手段を参照し、前記グリッドアレイパッケージ部品の前記電源端子を１つずつ調査対象端子として選択する調査対象端子選択手段と、
前記部品情報記憶手段を参照し、選択された前記調査対象端子といずれかの前記グランド端子との間の第１のバイパスコンデンサを介した新規の接続経路を探索する接続経路探索手段と、
既に配置が決定された第２のバイパスコンデンサを介して接続される前記端子間の既存の接続経路を記憶する接続経路記憶手段を参照し、前記新規の接続経路と前記既存の接続経路との間の経路の重複の有無を判断する経路重複判断手段と、
接続経路の重複がある場合、前記第２のバイパスコンデンサの位置を変更し、前記第２のバイパスコンデンサで接続された前記端子間の、前記新規の接続経路と重複しない前記第２のバイパスコンデンサを介した接続経路を再探索する経路再探索手段と、
接続経路の重複が検出されなかった場合、前記新規の接続経路を前記接続経路記憶手段に格納し、接続経路の重複が検出された場合、再探索の対象となった前記既存の接続経路を前記接続経路記憶手段から削除し、再探索で得られた接続経路と前記新規の接続経路とを前記接続経路記憶手段に格納する接続経路更新手段と、
を有することを特徴とするプリント回路板設計支援装置。
【符号の説明】
【０４２３】
１  プリント回路板設計支援装置
１ａ  部品情報記憶手段
１ｂ  調査対象端子選択手段
１ｃ  接続経路探索手段
１ｄ  接続経路記憶手段
１ｅ  経路重複判断手段
１ｆ  経路再探索手段
１ｇ  接続経路更新手段
【図１】
2011003129.tif 000003
【図２】
2011003129.tif 000004
【図３】
2011003129.tif 000005
【図４】
2011003129.tif 000006
【図５】
2011003129.tif 000007
【図６】
2011003129.tif 000008
【図７】
2011003129.tif 000009
【図８】
2011003129.tif 000010
【図９】
2011003129.tif 000011
【図１０】
2011003129.tif 000012
【図１１】
2011003129.tif 000013
【図１２】
2011003129.tif 000014
【図１３】
2011003129.tif 000015
【図１４】
2011003129.tif 000016
【図１５】
2011003129.tif 000017
【図１６】
2011003129.tif 000018
【図１７】
2011003129.tif 000019
【図１８】
2011003129.tif 000020
【図１９】
2011003129.tif 000021
【図２０】
2011003129.tif 000022
【図２１】
2011003129.tif 000023
【図２２】
2011003129.tif 000024
【図２３】
2011003129.tif 000025
【図２４】
2011003129.tif 000026
【図２５】
2011003129.tif 000027
【図２６】
2011003129.tif 000028
【図２７】
2011003129.tif 000029
【図２８】
2011003129.tif 000030
【図２９】
2011003129.tif 000031
【図３０】
2011003129.tif 000032
【図３１】
2011003129.tif 000033
【図３２】
2011003129.tif 000034
【図３３】
2011003129.tif 000035
【図３４】
2011003129.tif 000036
【図３５】
2011003129.tif 000037
【図３６】
2011003129.tif 000038
【図３７】
2011003129.tif 000039
【図３８】
2011003129.tif 000040
【図３９】
2011003129.tif 000041
【図４０】
2011003129.tif 000042
【図４１】
2011003129.tif 000043
【図４２】
2011003129.tif 000044
【図４３】
2011003129.tif 000045
【図４４】
2011003129.tif 000046
【図４５】
2011003129.tif 000047
【図４６】
2011003129.tif 000048
【図４７】
2011003129.tif 000049
【図４８】
2011003129.tif 000050
【図４９】
2011003129.tif 000051
【図５０】
2011003129.tif 000052
【図５１】
2011003129.tif 000053
【図５２】
2011003129.tif 000054
【図５３】
2011003129.tif 000055
【図５４】
2011003129.tif 000056
【図５５】
2011003129.tif 000057
【図５６】
2011003129.tif 000058
【図５７】
2011003129.tif 000059
【図５８】
2011003129.tif 000060
【図５９】
2011003129.tif 000061
【図６０】
2011003129.tif 000062
【図６１】
2011003129.tif 000063
【図６２】
2011003129.tif 000064
【図６３】
2011003129.tif 000065