(57)【特許請求の範囲】
【請求項１】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
前記グラウンド導電領域特定ステップにより特定された導電領域が２次元的に重複している重複導電領域を抽出する抽出ステップと、
前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも２層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第１の配置ステップと
をコンピュータに実行させるためのプリント基板設計支援プログラムであって、
前記第１の配置ステップは、
前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を１つ配置する第２の配置ステップと、を有し、
前記ブロック分割ステップは、前記重複導電領域の長さと、前記層間接続部材の間隔の許容値とを用いて、前記重複導電領域をブロック分割することを特徴とするプリント基板設計支援プログラム。
【請求項２】
前記第１の配置ステップは、
前記抽出ステップにより抽出された重複導電領域の周縁又は内縁から所定の距離の範囲内に前記層間接続部材を所定の距離以内の間隔で配置することを特徴とする請求項１に記載のプリント基板設計支援プログラム。
【請求項３】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が２次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
１つ又は複数の前記層間接続部材を排除する層間接続部材排除ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を再配置する自動再配置ステップと
をさらにコンピュータに実行させるための請求項１に記載のプリント基板設計支援プログラム。
【請求項４】
前記層間接続部材排除ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外の層間接続部材を排除する重複導電領域外排除ステップを有することを特徴とする請求項３に記載のプリント基板設計支援プログラム。
【請求項５】
前記層間接続部材排除ステップは、
グラウンドとは異なる電位の変更された配線から所定の距離の範囲内の層間接続部材を排除することを特徴とする請求項４に記載のプリント基板設計支援プログラム。
【請求項６】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が２次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を修正して配置する自動修正配置ステップと
をさらにコンピュータに実行させるための請求項１に記載のプリント基板設計支援プログラム。
【請求項７】
前記自動修正配置ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外に配置されている層間接続部材を前記再抽出ステップにより再度抽出された重複導電領域の内部へと移動させることを特徴とする請求項６に記載のプリント基板設計支援プログラム。
【請求項８】
部品又は配線の変更が行われた場合に、
変更が行われた部品又は配線のビア配置禁止領域情報を取得する禁止領域情報取得ステップと、
前記禁止領域情報取得ステップにより取得されたビア配置禁止領域情報に基づいて、ビア配置禁止領域を算出する禁止領域算出ステップと、
前記禁止領域算出ステップにより算出されたビア配置禁止領域に配置されている層間接続部材を排除する層間接続部材排除ステップと
をさらにコンピュータに実行させるための請求項１に記載のプリント基板設計支援プログラム。
【請求項９】
前記ブロック分割ステップは、前記重複導電領域の長さを前記層間接続部材の間隔の許容値で割った商の整数部分に１を加えた値を算出し、前記重複導電領域の長さを前記算出した値で割った長さを、前記重複導電領域の長さ方向のブロックの長さとなるよう、前記重複導電領域をブロック分割することを特徴とする請求項１に記載のプリント基板設計支援プログラム。
【請求項１０】
グラウンド導電領域特定手段が、記憶装置に記憶されているプリント基板のレイアウト情報に基づいて、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
抽出手段が、前記グラウンド導電領域特定ステップにより特定された導電領域が２次元的に重複している重複導電領域を抽出する抽出ステップと、
第１の配置手段が、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも２層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第１の配置ステップと
を有するプリント基板設計支援方法であって、
前記第１の配置ステップは、
ブロック分割手段が、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
第２の配置手段が、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第２の配置ステップと、を有し、
前記ブロック分割ステップは、前記重複導電領域の長さと、前記層間接続部材の間隔の許容値とを用いて、前記重複導電領域をブロック分割することを特徴とするプリント基板設計支援方法。
【請求項１１】
前記ブロック分割ステップは、前記重複導電領域の長さを前記層間接続部材の間隔の許容値で割った商の整数部分に１を加えた値を算出し、前記重複導電領域の長さを前記算出した値で割った長さを、前記重複導電領域の長さ方向のブロックの長さとなるよう、前記重複導電領域をブロック分割することを特徴とする請求項１０に記載のプリント基板設計支援方法。
【請求項１２】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定手段と、
前記グラウンド導電領域特定手段により特定された導電領域が２次元的に重複している重複導電領域を抽出する抽出手段と、
前記抽出手段により抽出された重複導電領域内に前記複数の導電層のうちの少なくとも２層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第１の配置手段と
を有するプリント基板設計支援装置であって、
前記第１の配置手段は、
前記抽出手段により抽出された重複導電領域をブロック分割するブロック分割手段と、
前記ブロック分割手段により分割されたブロック内に前記層間接続部材を配置する第２の配置手段と、を有し、
前記ブロック分割手段は、前記重複導電領域の長さと、前記層間接続部材の間隔の許容値とを用いて、前記重複導電領域をブロック分割することを特徴とするプリント基板設計支援装置。
【請求項１３】
前記ブロック分割手段は、前記重複導電領域の長さを前記層間接続部材の間隔の許容値で割った商の整数部分に１を加えた値を算出し、前記重複導電領域の長さを前記算出した値で割った長さを、前記重複導電領域の長さ方向のブロックの長さとなるよう、前記重複導電領域をブロック分割することを特徴とする請求項１２に記載のプリント基板設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリント基板設計支援プログラム、プリント基板設計支援方法及びプリント基板設計支援装置に関するものである。特に、絶縁層を介して積層された複数の導電層間を電気的に接続する層間接続部材（ビアホール、以下、「ビア」という）を適切に配置するためのものである。
【背景技術】
【０００２】
近年、情報機器等の電子機器内に伝送される信号の高速化に伴い、該電子機器から放射される不要電磁波（以下、放射ノイズ）が問題となっている。この問題を解決するために、該電子機器内のプリント基板上の配線及び該配線に接続されたワイヤーハーネスや該電子機器の筐体に対し、様々な放射ノイズの抑制設計が行われている。
【０００３】
その放射ノイズ抑制設計手法の一つとして、プリント基板内の複数の導電層間を電気的に接続するビアの配置を工夫する技術が提案されている（例えば、特許文献１、特許文献２参照）。
特許文献１のプリント配線基板設計支援装置では、プリント基板上の所定範囲内のビアの配置数を算出し、該ビアの配置数が所定数より少ないことを報知する技術が開示されている。また、このプリント配線基板設計支援装置では、所定間隔でビアが配置されているか否かを検出し、所定間隔で配置されていない場合に報知する技術が開示されている。
特許文献２の基板設計支援装置では、信号のリターン電流ルートの層変更の必要性を判断すべき箇所（以下、チェックポイント）を検出し、チェックポイントから指定距離の範囲内で、かつビアの配置されていない領域の合成領域を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１６３４６７号公報
【特許文献２】特開２００７−２７２３４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように特許文献１のプリント配線基板設計支援装置では、所定範囲内のビアの配置数が少ない、あるいはビアが所定間隔で配置されていないことを報知する。
また、特許文献２の基板設計支援装置では、信号線の層変更箇所等リターン電流ルートの層変更の必要性を判断すべき場所近傍で、かつ電源又はＧＮＤのビアの存在しない箇所の合成領域を算出する。そして、その上でリターン電流ルートの層変更の必要性を判断し、層変更が必要であれば合成領域を可視化する。
【０００６】
しかしながら、ユーザが特許文献１の条件を満たすように、又は特許文献２においてリターン電流ルートの層変更の必要な合成領域にビアの追加配置を試みる際に、どの位置にビアを追加することが可能かを目視で判定する必要がある。したがって、ユーザはビアを追加配置することが可能な位置であることを判断するのに多大な時間を必要とし、さらに該判断のミスや追加配置可能な位置の見落としが生じる可能性がある。
【０００７】
本発明は上述したような問題点に鑑みてなされたものであり、プリント基板上に所定の条件を満たすようにビアを自動で配置することを目的とする。すなわち、複数の導電層が絶縁層を介して積層されたプリント基板において、複数の導電層の電源又はグラウンド導電領域が重複する導電領域（以下、重複導電領域）上に、電源又はグラウンドのビアを所定の間隔以内で自動配置できるようにする。
【課題を解決するための手段】
【０００８】
本発明のプリント基板設計支援プログラムは、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、前記グラウンド導電領域特定ステップにより特定された導電領域が２次元的に重複している重複導電領域を抽出する抽出ステップと、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも２層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第１の配置ステップとをコンピュータに実行させるためのプリント基板設計支援プログラムであって、前記第１の配置ステップは、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第２の配置ステップと、を有し、前記ブロック分割ステップは、前記重複導電領域の長さと、前記層間接続部材の間隔の許容値とを用いて、前記重複導電領域をブロック分割することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、プリント基板上で電源又はグラウンド（以下、ＧＮＤ）のビアを自動で配置することにより、プリント基板設計段階で電源又はＧＮＤのビアを短時間で、かつミスなく配置することができる。
【００１０】
また、例えば第１の発明によれば、重複導電領域にビアを所定の間隔以内に自動で配置することにより、ユーザの電源又はＧＮＤのビアを配置する手間を省くことができ、さらにミスや洩れがなく電源又はＧＮＤのビアを配置することができる。
【００１１】
また、例えば第１の発明によれば、重複導電領域を分割したブロック内に電源又はＧＮＤのビアを配置することで、電源又はＧＮＤのビアを過度に多く配置することを防止することができる。
【００１２】
また、例えば第２の発明によれば、重複導電領域の周縁部及び内縁部から所定の距離の範囲内に所定の間隔以内で電源又はＧＮＤのビアを自動で配置する。したがって、ユーザは複数の導電層を見ながら重複導電領域の形状を確認する手間を省くことができ、かつ重複導電領域の周縁及び内縁付近にミス、洩れなく電源又はＧＮＤのビアを配置することができる。
【００１３】
また、例えば第３の発明によれば、配線変更により重複導電領域の形状が変更された場合にも、重複導電領域の形状変更に基づいた電源又はＧＮＤのビアを自動で再配置する。これにより、ユーザは配線変更する際に不必要なビアを排除して、必要なビアを追加配置する手間を省くことができ、さらにミスや洩れがなく電源又はＧＮＤのビアを再配置することができる。
【００１４】
また、例えば第４の発明によれば、変更された重複導電領域外の電源又はＧＮＤのビアを自動で排除する。これにより、第３の発明の効果に加え、必要最小限の電源又はＧＮＤのビアを排除し、電源又はＧＮＤのビアの再配置時に不必要な追加配置をする時間を省くことができる。
【００１５】
また、例えば第５の発明によれば、変更された配線に応じてその周囲の電源又はＧＮＤのビアを排除する。これにより、第４の発明の効果に加え、ユーザが配線を変更したい位置に電源又はＧＮＤのビアが存在する場合に、該電源又はＧＮＤのビアを排除する手間を省くことができる。さらに、ユーザはＧＮＤのビアの存在を意識することなく、配線を変更することができる。
【００１６】
また、例えば第６の発明によれば、変更された重複導電領域内で電源又はＧＮＤビアを自動修正配置する。これにより、変更された重複導電領域内に電源又はＧＮＤビアを整列して配置することができ、ユーザが容易にビアの配置状況を認識することができる。
【００１７】
また、例えば第７の発明によれば、変更された重複導電領域外の電源又はＧＮＤビアを該重複導電領域内に修正配置する。これにより、第６の発明の効果に加え、該重複導電領域外の電源又はＧＮＤビアを排除する手間を省くことができる。
【００１８】
また、例えば第８の発明によれば、プリント基板に部品や配線を変更した場合であっても、配置禁止領域に配置されているＧＮＤビアを自動に排除する。これにより、電源又はＧＮＤビアを排除する手間を省くことができる。
【図面の簡単な説明】
【００１９】
【図１】プリント基板設計支援装置の構成を示す図である。
【図２】プリント基板設計支援装置の機能構成を示す図である。
【図３】プリント基板設計支援装置の動作処理を示すフローチャートである。
【図４】第１の実施形態に係る処理動作の一例を示すフローチャートである。
【図５】第１の実施形態に係る処理動作の一例を示すフローチャートである。
【図６】第１の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図７】第１の実施形態に係るビア自動配置条件の設定方法を説明するための図である。
【図８】第１の実施形態に係るＧＮＤ属性情報を用いてＧＮＤ導電領域を特定した場合における処理動作の一例を示すフローチャートである。
【図９】第１の実施形態に係るステップＳ４０４の処理後の状態を示す図である。
【図１０】第１の実施形態に係るステップＳ４０５の処理後の状態を示す図である。
【図１１】第１の実施形態に係るステップＳ４０８を説明するための図である。
【図１２】第１の実施形態に係るステップＳ４１０の処理後の状態を示す図である。
【図１３】第１の実施形態に係るステップＳ４１１からステップＳ４１６の処理を説明するための図である。
【図１４】第１の実施形態に係るステップＳ４１１からステップＳ４１６の処理を説明するための図である。
【図１５】第１の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図１６】第１の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図１７】第２の実施形態に係る処理動作の一例を示すフローチャートである。
【図１８】第２の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図１９】第２の実施形態に係るステップＳ４０５の処理後の状態を示す図である。
【図２０】第２の実施形態に係るステップＳ１６００からステップＳ１６０２の処理を説明するための図である。
【図２１】第２の実施形態に係るステップＳ４０８の処理後の状態を示す図である。
【図２２】第２の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図２３】第３の実施形態に係る処理動作の一例を示すフローチャートである。
【図２４】第３の実施形態に係る処理動作の一例を示すフローチャートである。
【図２５】第３の実施形態に係るステップＳ４１１からステップＳ４１６の処理を説明するための図である。
【図２６】第３の実施形態に係るステップＳ４１１からステップＳ４１６の処理を説明するための図である。
【図２７】第３の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図２８】第４の実施形態に係る処理動作の一例を示すフローチャートである。
【図２９】第４の実施形態に係るステップＳ２６００からステップＳ２６０４の処理を説明するための図である。
【図３０】第４の実施形態に係るステップＳ２６００からステップＳ２６０４の処理を説明するための図である。
【図３１】第４の実施形態に係るステップＳ２６０６の処理後の状態を示す図である。
【図３２】第４の実施形態に係るステップＳ２６０８及びステップＳ２６０９の処理を説明するための図である。
【図３３】第４の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図３４】第５の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図３５】第５の実施形態に係る処理動作の一例を示すフローチャートである。
【図３６】第５の実施形態に係る処理動作の一例を示すフローチャートである。
【図３７】第５の実施形態に係るステップＳ４０５の処理後の状態を示す図である。
【図３８】第５の実施形態に係るステップＳ４０５の処理後の状態を示す図である。
【図３９】第５の実施形態に係るステップＳ３３００の処理後の状態を示す図である。
【図４０】第５の実施形態に係るステップＳ３３０１からステップＳ３３０３の処理を説明するための図である。
【図４１】第５の実施形態に係るステップＳ４０９からステップＳ４１０の処理を説明するための図である。
【図４２】第５の実施形態に係るステップＳ４１１からステップＳ４１６の処理を説明するための図である。
【図４３】第５の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図４４】第５の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図４５】第６の実施形態に係る処理動作の一例を示すフローチャートである。
【図４６】第６の実施形態に係るステップＳ４３０１の処理を説明するための図である。
【図４７】第６の実施形態に係るステップＳ４３０２の処理後の状態を示す図である。
【図４８】第６の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図４９】第７の実施形態に係る処理動作の一例を示すフローチャートである。
【図５０】第７の実施形態に係る処理後のＧＮＤビアの配置状態を示す図である。
【図５１】第７の実施形態に係るステップＳ４７０３の処理後の状態を示す図である。
【図５２】第７の実施形態に係るステップＳ４７０４の処理を説明するための図である。
【図５３】第７の実施形態に係るステップＳ４７０７の処理後の状態を示す図である。
【図５４】第７の実施形態に係るステップＳ４７０６の処理を説明するための図である。
【図５５】第７の実施形態に係るステップＳ４７０７の処理後の状態を示す図である。
【図５６】第７の実施形態に係るステップＳ４７０６の処理を説明するための図である。
【図５７】第７の実施形態に係るステップＳ４７０７の処理後の状態を示す図である。
【図５８】第７の実施形態に係るステップＳ４７０７の処理後の状態を示す図である。
【図５９】第７の実施形態に係るステップＳ４７０９の処理後の状態を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明に係るプリント基板設計支援装置、プリント基板設計支援方法及びプリント基板設計支援プログラムの好適な実施形態の一例について詳細に説明する。なお、本発明は以下の説明及び実施形態に限定されるものではなく、本発明の主旨の範囲において適宜変形、組み合わせが可能であることは言うまでもない。
以下に示す実施形態では、ビアを配置する導電領域の対象をＧＮＤ導電領域にのみ言及するが、必要な場合には電源領域を配置対象とすることができる。さらに、添付の図面において、実施形態及び図面が異なる場合でも、同一のものを示す場合は、同一符号で表す。
【００２１】
（第１の実施形態）
図１は、本実施形態に係るプリント基板設計支援装置を含むコンピュータ装置の概略構成の一例を示す図である。図１に示すように、プリント基板設計支援装置１００は中央処理装置（ＣＰＵ）１０、主記憶装置１１、表示装置１２、入力装置１３、外部記憶装置１４、出力装置１５を含んで構成される。
ＣＰＵ１０は装置全体を制御する。主記憶装置１１は読み出し専用記憶装置（ＲＯＭ）やＣＰＵ１０が計算処理時に一時的な読み書きを行う記憶装置（ＲＡＭ）等である。表示装置１２はブラウン管や液晶ディスプレイ等である。入力装置１３はマウスやキーボード等である。外部記憶装置１４はハードディスク、フロッピー（登録商標）ディスク、ＣＤ、ＤＶＤ、ＭＤ等の記録媒体に対してデータの読み書きを行うものである。出力装置１５は表示装置１２に出力された計算結果等を印刷するためのプリンタ等である。これらの各装置間はアドレスバス、データバス、制御バス等の情報を伝達するためのバス１６を介して互いに接続されている。ＣＰＵ１０の制御によりバス１６を介して各装置間で制御情報やデータ情報等、必要な情報の授受を行うことができるように構成されている。
また、外部記憶装置１４には、処理プログラム１４１、レイアウト情報１４２が予め格納されている。処理プログラム１４１は、本発明に係るプログラムであって、ＣＰＵ１０が実行できるように外部記憶装置１４にインストールされている。
レイアウト情報１４２はプリント基板に関わる情報である。すなわち、レイアウト情報とはプリント基板の外形や層構成に関する情報、プリント基板に実装される部品の位置座標や端子が接続される導電体部分の形状及び大きさ等の部品情報、部品間配線の配線名、配線図形を構成する各点の位置座標等の配線情報を含んでいる。
【００２２】
図２は、本実施形態に係るプリント基板設計支援装置の機構構成の一例を示す図である。
図２に示す機能構成はＣＰＵ１０が処理プログラム１４１を実行することにより実現される。プリント基板設計支援装置１００は、入力部２０、外部記憶情報抽出部２１、図形演算部２２、ビア自動配置部２３を含んで構成される。
入力部２０はユーザが入力装置１３を介して入力したレイアウト情報の読み出しや、処理プログラム１４１の実行等の指示情報、処理プログラム１４１等の実行に使用される条件に関する情報をプリント基板設計支援装置内に入力する機能を有する。以下では、処理プログラム１４１等の実行に使用される条件をビア自動配置条件という。なお、入力された情報はＣＰＵ１０が必要に応じて処理したり、制御したりして主記憶装置１１に記憶する。
外部記憶情報抽出部２１は入力部２０から処理プログラムの実行が入力されると、その入力に従って外部記憶装置１４中に格納されている処理プログラム１４１を抽出し、抽出したプログラムを主記憶装置１１内に記憶する。また、外部記憶情報抽出部２１は、入力部２０からレイアウト情報の読み出しの指示を受け取ると、外部記憶装置１４中に記憶されているレイアウト情報１４２を抽出し、抽出したレイアウト情報を主記憶装置１１内に記憶する。
図形演算部２２は主記憶装置１１の一部記憶領域を利用しながら、複数層にわたる図形が２次元的に重複する領域を抽出する等の図形演算処理を行う。図形演算部２２は主記憶装置１１に記憶されているビア自動配置条件、処理プログラム１４１及びレイアウト情報１４２に基づいて図形演算処理を行う。
ビア自動配置部２３は主記憶装置１１の一部記憶領域を利用しながら、ビアの配置位置及び配置するかどうかを判定するための計算処理を行い、ビアを配置する。
【００２３】
図３は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム（処理プログラム）に基づいて行う処理手順の一例を示すフローチャートである。図４及び図５は図３に示すフローチャートの各ステップの動作を詳細に示したフローチャートである。
まず、図３を参照して本実施形態に係るプリント基板設計支援装置の動作について説明する。ステップＳ１０１では、入力部２０から処理プログラム実行指示が入力されると、外部記憶情報抽出部２１は主記憶装置１１に処理プログラム１４１を転送する。次に、図形演算部２２及びビア自動配置部２３が処理プログラム１４１を実行することで、図３に示すフローチャートの処理が開始する。
【００２４】
ステップＳ１０２では、入力部２０が入力された情報を主記憶装置１１に転送したり、外部記憶情報抽出部２１がレイアウト情報１４２を抽出して主記憶装置１１へ転送したりする。すなわち、入力部２０や外部記憶情報抽出部２１では後述するビア自動配置に必要な情報の取得及び設定を行う。
【００２５】
ステップＳ１０３では、図形演算部２２は後述するＧＮＤ重複導電領域を抽出する。
ステップＳ１０４では、ビア自動配置部２３はＧＮＤ重複導電領域の周縁部及び内縁部に所定の間隔以内の間隔で後述するＧＮＤビアを自動で配置する。
ステップＳ１０５では、ビア自動配置部２３はＧＮＤ重複導電領域の周縁部及び内縁部を除いた領域（以下、中央部）に所定の間隔以内の間隔でＧＮＤビアを自動で配置する。
ステップ１０６では、処理プログラムを終了する。
【００２６】
次に、本実施形態に係るプリント基板設計支援装置の動作を図４及び図５に示す詳細なフローチャートに基づき、図６及び図９から図１６に示す模式図を参照して説明する。なお、以下の説明では発明の理解を容易にするため、プリント基板として図６に示す概略的な図を用いる。実際のプリント基板は配線が高密度化し、複雑化しているが以下の概略的説明はそれを排除するものではないことは言うまでもない。
ここで、図６に示すプリント基板の模式図について説明する。図６に示すプリント基板は、４層の導電層がそれぞれ絶縁層を介して積層された構造となっている。具体的には、図６（ｅ）の断面図に示すように、導電層６０、６１、６２、６３がそれぞれ絶縁層６４を介して積層された構造である。図６（ａ）、（ｂ）、（ｃ）、（ｄ）は、それぞれ導電層６０、６１、６２、６３の導電層側から絶縁層側を見たときの平面図である。各平面図において、グレー部分、黒丸及び黒線の部分が導電性を有する部分である。また、白抜きの部分が導電性を有さない部分（絶縁層上に積層された場合、絶縁体が露出する部分）である。
【００２７】
図６（ａ）、（ｄ）に示す部品６００、６３０はプリント基板上に配置された能動部品である。また、図６（ａ）、（ｃ）、（ｄ）に示す黒色の実線部分６０１、６２１、６３１はＧＮＤと電位の異なる信号配線の導電領域である。また、図６（ａ）、（ｃ）、（ｄ）に示す黒丸６０２、６２２、６３２はＧＮＤと電位の異なる信号配線のビアである。また、図６（ａ）〜（ｄ）に示すグレー部分６０３、６１３、６２３、６３３はそれぞれＧＮＤの電位を有する配線、すなわちＧＮＤ導電領域である。なお、図６（ａ）〜（ｄ）では、図を見易くするために一部の信号配線の導電領域及びビアのみに符号を付している。
【００２８】
次に、図４及び図５のフローチャートについて詳細に説明する。
まず、ステップＳ４００では入力部２０から処理プログラム実行指示が入力されると、外部記憶情報抽出部２１は主記憶装置１１に処理プログラム１４１を転送し、図形演算部２２及びビア自動配置部２３が処理プログラム１４１を実行する。
次に、ステップＳ４０１では入力部２０は入力されたビア自動配置条件を設定する。ここで、ビア自動配置条件とは許容最大値Ｌ１、許容最大値Ｌ２及び許容最大値Ｌ３等である。許容最大値Ｌ１（以下、所定の間隔Ｌ１）は各層のＧＮＤ導電領域が２次元的に重複している領域（以下、ＧＮＤ重複導電領域）の周縁からＧＮＤビアまでの間隔の許容最大値である。また、許容最大値Ｌ２（以下、所定の間隔Ｌ２）はＧＮＤ重複導電領域の周縁部及び内縁部におけるＧＮＤビアの間隔の許容最大値である。また、許容最大値Ｌ３（以下、所定の間隔Ｌ３）はＧＮＤ重複導電領域の中央部におけるＧＮＤビアの間隔の許容最大値である。
【００２９】
ここで、所定の間隔Ｌ２、Ｌ３にはプリント基板の導電領域を流れる最も大きい周波数を有する信号電流の波長（λ）の２分の１（λ／２）より小さくすることが好ましい。これは、プリント基板のＧＮＤ導電領域上を流れるリターン電流とその反射した電流が共振することを防ぐためである。実際には、１つのＧＮＤビアから見てあらゆる方向のλ／２の距離の範囲内にＧＮＤ又は電源ビアが配置されることが好ましい。一方で、現実的には、λ／１０以下の間隔で配置すれば放射ノイズを十分に抑制することが可能である。したがって、Ｌ２＝Ｌ３＝λ／１０とすれば十分である。
また、ＧＮＤ重複導電領域の周縁部及び内縁部を中央部に比べて小さい間隔でＧＮＤビアを配置するような場合には、Ｌ２＝λ／１０、Ｌ３＝λ／４のように設定してもよい。例えば、プリント基板上の最も高速な信号電流の周波数が１ＧＨｚの場合、プリント基板上での、その信号の波長は約１５ｃｍである。したがって、Ｌ２＝１．５ｃｍ、Ｌ３＝３．７５ｃｍのように設定するとよい。また、より厳密には、周波数がｆ、誘電率がεr、
透磁率がμr、光速がｃの場合、プリント基板上での信号の波長λpは、λp＝ｃ／（ｆ×
√（εrμr））で計算することが可能である。したがって、この計算式により計算された波長を用いてもよい。
【００３０】
次に、ステップＳ４０１でのビア自動配置条件の設定方法の一例について図７を参照して説明する。図７（ａ）はビア自動配置条件を入力することができる入力画面の一例を示す図である。ユーザは入力装置１３を介して入力画面７０の入力欄７１〜７３に上述した所定の間隔Ｌ１〜Ｌ３を入力することができる。入力部２０は入力されたビア自動配置条件を読み込んで主記憶装置１１に記憶する。なお、ビア自動配置条件の設定方法は図７（ａ）に示す入力画面に入力させるようなものに限られない。例えば、図７（ｂ）に示すようなビア自動配置条件を記述したファイル７４を予め外部記憶装置１４に記憶させておき、ＣＰＵ１０が該ファイルを読み出してビア自動配置条件を主記憶装置１１に記憶させる等、自動で設定してもよい。この場合、ビア自動配置条件を記述するファイルの構成は、図７（ｂ）に示すものに限られず、ビア自動配置条件を読み出せればどのような構成であってもよい。また、ビア自動配置条件をプリント基板によらず一定にする場合には、処理プログラム１４１内にビア自動配置条件を記述しておいてもよい。
上述したようにビア自動配置条件は、信号電流の波長λにより計算することが可能である。したがって、入力画面に信号電流の周波数をユーザが入力し、その周波数をもとに波長λを算出し、例えばＬ２＝λ／１０、Ｌ３＝λ／４として、Ｌ２およびＬ３を算出する方法も考えられる。
【００３１】
図４に示すフローチャートに戻り、ステップＳ４０２以降について説明する。なお、ステップＳ４０２からステップＳ４０６までの動作処理は、図形演算部２２が主記憶装置１１に記憶されたレイアウト情報１４２に基づいて行う処理である。
ステップＳ４０２では、図形演算部２２はレイアウト情報１４２からＧＮＤ配線名を抽出する。
次に、ステップＳ４０３では、図形演算部２２は抽出した複数のＧＮＤ配線名から検証対象とするＧＮＤ配線名を１つ選択する。
次に、ステップＳ４０４では、図形演算部２２は選択したＧＮＤ配線名に関連する各層のＧＮＤ導電領域を特定する。この処理はグラウンド導電領域特定ステップの一例に対応する。
次に、ステップＳ４０５では、図形演算部２２は特定した各層のＧＮＤ導電領域が高さ方向に２次元的に重複する領域をＧＮＤ重複導電領域Ａとして抽出する。この処理は重複導電領域抽出ステップの一例に対応する。
次に、ステップＳ４０６では、図形演算部２２はまだＧＮＤ重複導電領域を抽出していないＧＮＤ配線名が存在するか否かを判定する。ＧＮＤ重複導電領域を抽出していないＧＮＤ配線名が存在する場合、ステップＳ４０３に処理を戻す。存在しない場合、ステップＳ４０７に処理を進める。
【００３２】
次のステップＳ４０７からステップＳ４１９までの動作処理は、ビア自動配置部２３が主記憶装置１１に記憶されたレイアウト情報１４２に基づいて行う処理である。
ステップＳ４０７では、ビア自動配置部２３はＧＮＤ重複導電領域Ａが全てのＧＮＤ配線名で抽出されると、レイアウト情報１４２からＧＮＤ重複導電領域Ａの位置情報及び形状情報を取得する。
次に、ステップＳ４０８では、ビア自動配置部２３はＧＮＤ重複導電領域Ａを形成する各構成点から所定の間隔Ｌ１以内のＧＮＤ重複導電領域Ａ内にＧＮＤと同電位の１個のビア（以下、ＧＮＤビア）を配置する。
次に、ステップＳ４０９では、ビア自動配置部２３はステップＳ４０８で配置した各ビアのうち、ＧＮＤ重複導電領域Ａの周縁を構成するライン（以下、構成ライン）に沿って隣り合うＧＮＤビア間の距離Ｄ１を算出する。ビア自動配置部２３はＤ１を所定の間隔Ｌ２で割った商の整数部分に１を加えた値Ｎ１を算出する。さらに、ビア自動配置部２３はＧＮＤビア間の距離Ｄ１をＮ１で割った値Ｃ１（＝Ｄ１／Ｎ１）を算出し、ステップＳ４０８で配置したビアのＧＮＤ重複導電領域Ａに沿って隣り合うＧＮＤビア間を所定の間隔以内の距離Ｃ１に分割する。
次に、ステップＳ４１０では、ビア自動配置部２３はステップＳ４０９で分割した各分割位置にＧＮＤビアを配置する。このようにステップＳ４０８からステップＳ４１０において、ビア自動配置部２３は複数の所定位置にＧＮＤビアを配置する。この処理は所定層間接続部材配置ステップの一例に対応する。
【００３３】
次に、図４に示すステップＡから図５に示すステップＡに続き、ステップＳ４１１では、ビア自動配置部２３はレイアウト情報１４２からＧＮＤ重複導電領域Ａ内に既に配置されているＧＮＤビアのうちの一つを選択する。この処理は層間接続部材選択ステップの一例に対応する。
ステップＳ４１２では、ビア自動配置部２３は選択したＧＮＤビアからｘ方向及びｙ方向の各正負の方向にＧＮＤ重複導電領域の中央部におけるＧＮＤビアの間隔の許容最大値Ｌ３の半分の値（Ｌ３／２）だけ移動（離間）した４点を算出する。この処理は位置座標算出ステップの一例に対応する。以下、上述のように移動（離間）した点をスライド位置という。
ステップＳ４１３では、ビア自動配置部２３はステップＳ４１２で算出したスライド位置から１点Ｐ１を選択する。
ステップＳ４１４では、ビア自動配置部２３はステップＳ４１３で選択したスライド位置Ｐ１から所定の間隔Ｌ３の半分の値（Ｌ３／２）の距離の範囲内にＧＮＤビアが存在するか否かを判定する。ＧＮＤビアが存在する場合、ステップＳ４１７に処理を進める。ＧＮＤビアが存在しない場合、ステップＳ４１５に処理を進める。
【００３４】
ステップＳ４１５では、ビア自動配置部２３は点Ｐ１がＧＮＤ重複導電領域Ａ内であるか否か判定する。点Ｐ１がＧＮＤ重複導電領域Ａ内である場合、ステップＳ４１６に処理を進める。点Ｐ１がＧＮＤ重複導電領域Ａ内ではない場合、ステップＳ４１７に処理を進める。
ステップＳ４１６ではビア自動配置部２３は点Ｐ１にＧＮＤビアを配置する。この処理は他層間接続部材配置ステップの一例に対応する。
次に、ステップＳ４１７では、ビア自動配置部２３はステップＳ４１２で算出した４点のうち、ステップＳ４１４の判定を行っていないスライド位置（点Ｐ１以外のスライド位置）が存在するか否かを判定する。ステップＳ４１４の処理を行っていないスライド位置が存在する場合、ステップＳ４１３に処理を戻す。また、ステップＳ４１４の処理を行っていないスライド位置が存在しない場合、ステップＳ４１８に処理を進める。
ステップＳ４１８では、ビア自動配置部２３はＧＮＤ重複導電領域Ａ内にステップＳ４１２の処理を行っていない他のＧＮＤビアが存在するか否かを判定する。ここで、ステップＳ４１５で配置されたＧＮＤビアもステップＳ４１２の処理を行っていないかどうかを判定するＧＮＤビアの対象とする。ステップＳ４１２の処理を行っていないＧＮＤビアが存在する場合、ステップＳ４１１の処理に戻る。ステップＳ４１２の処理を行っていないＧＮＤビアが存在しない場合、ステップＳ４１９で処理プログラム１４１を終了する。
【００３５】
ここで、本実施形態ではステップＳ４０２からステップＳ４０６までの処理において、ＧＮＤ重複導電領域を各ＧＮＤ配線名を持つＧＮＤ導電領域から抽出するような構成としている。一方、ここに示した各ＧＮＤ配線名を持つＧＮＤ導電領域にＧＮＤ配線名以外の各ＧＮＤの属性情報を持たせておくことで、ステップＳ４０２からステップＳ４０６までの処理と同様に各ＧＮＤ配線名に対するＧＮＤ重複導電領域を抽出することができる。
また、全てのＧＮＤ導電領域にＧＮＤの属性情報を持たせておき、全てのＧＮＤ導電領域に対して、ＧＮＤ重複導電領域を抽出することも可能である。
【００３６】
ここで、図８は全てのＧＮＤ導電領域にＧＮＤの属性情報を持たせた場合、本実施形態と同様の動作処理を示すフローチャートの一例である。図８に示すフローチャートでは、ステップＳ５８０４において、図形演算部２２は各ＧＮＤの属性情報を持つ各層の導電領域を抽出し、属性情報の同じ領域に対してステップＳ４０５で２次元的に重複している領域を抽出する。ここで、ＧＮＤの属性情報が複数存在する場合にも、ＧＮＤの属性情報の同異に関わらず、各層の２次元的に重複している領域を抽出することも可能である。なお、図８に示すステップＡは、図５に示すステップＡに続いている。
【００３７】
次に、上述した図６に示すプリント基板の模式図を参照して、上述した図４及び図５に示すフローチャートの処理動作について、ステップＳ４０４以降から具体的に説明する。
ステップＳ４０４では、図形演算部２２は図６（ａ）〜（ｄ）に示す各層の導電領域からステップＳ４０３で選択したＧＮＤ配線名を持つ導電領域、すなわちＧＮＤ導電領域６０３、６１３、６２３、６３３を特定する。図９はステップＳ４０４で特定されたＧＮＤ導電領域を模式平面図で示した図である。図９（ａ）〜（ｄ）に示すプリント基板はそれぞれ、図６（ａ）〜（ｄ）に示すプリント基板に対応する。
ステップＳ４０５では、図形演算部２２は図９（ａ）〜（ｄ）に示される各層のＧＮＤ導電領域６０３、６１３、６２３、６３３を投影し、全ての層においてＧＮＤ導電領域が２次元的に重複している領域（以下、ＧＮＤ重複導電領域）を抽出する。図１０はステップＳ４０５で抽出されたＧＮＤ重複導電領域を示す図である。すなわち、図１０に示すグレー部分の領域８０、８１、８２、８３、８４がＧＮＤ重複導電領域である。
【００３８】
以下、ＧＮＤビアを自動で配置する処理の説明を容易にするために、図１０に示すＧＮＤ重複導電領域のうちＧＮＤ重複導電領域８１に着目してＧＮＤビアを自動で配置する処理について説明する。
ステップＳ４０７では、ビア自動配置部２３はＧＮＤ重複導電領域８１の位置情報及び形状情報を取得する。具体的には、まず、ビア自動配置部２３はＧＮＤ重複導電領域８１を構成する図１１に示す構成点９００、９０１、９０２、９０３、９０４、９０５の座標と順番とを取得する。次に、ビア自動配置部２３はＧＮＤ重複導電領域８１を構成する図１１に示す構成ライン９１０、９１１、９１２、９１３、９１４、９１５の始点及び終点の座標を構成点の座標と順番とから算出する。以下、ＧＮＤ重複導電領域８１の位置情報及び形状情報に基づいて、ステップＳ４０８からステップＳ４１０で実行する周縁部にＧＮＤビアを所定間隔以内に自動で配置する処理について説明する。
【００３９】
ステップＳ４０８では、ビア自動配置部２３は構成点９００、９０１、９０２、９０３、９０４、９０５の座標情報からＧＮＤ重複導電領域８１の内部に図１１に示すようにＧＮＤビア９３０、９３１、９３２、９３３、９３４、９３５を配置する。ここで、ステップＳ４０８で配置するＧＮＤビアの配置位置の計算方法について説明する。ここでは、ＧＮＤビアのうちＧＮＤビア９３０に着目して説明する。
まず、ビア自動配置部２３はＧＮＤ重複導電領域８１を構成する構成ライン９１５及び９１０の構成点９００のｘ軸の正方向に平行な成分から見た角９２０の角度θ1及び角９２１の角度θ2を算出する。次に、ビア自動配置部２３は角９２０と角９２１との中間の角９２２の角度θ3（＝（θ1＋θ2）／２）を算出する。さらに、ビア自動配置部２３は構成点９００から見て角９２２の方向、すなわち点線９２３の線上で、かつ構成点９００から所定の間隔Ｌ１の距離だけ離れた位置を算出し、ＧＮＤビア９３０を配置する。この方法により、ＧＮＤビアがＧＮＤ重複導電領域の内部となり、かつＧＮＤ重複導電領域の周縁からＧＮＤビアまでの間隔が所定の間隔Ｌ１よりも大きくなることはない。
【００４０】
また、他の方法としては、ビア自動配置部２３は構成点９００から所定の複数の角度の方向に所定の間隔Ｌ１だけ離れた複数の位置を算出し、その中からＧＮＤ重複導電領域８１内に入っている位置を選択する方法であってもよい。さらに、ビア自動配置部２３は角度θ1の算出後、構成ライン９１５から時計回りに所定の角度ずつ回転し、初めてＧＮＤ
重複導電領域８１内へと向いた線上で、かつ構成点９００から所定の間隔Ｌ１の距離だけ離れた位置を算出する方法であってもよい。なお、ここで挙げたＧＮＤビアを配置する位置を算出する方法は構成点９００から距離Ｌ１だけ離れた位置を算出したが、ビア自動配置部２３はＬ１／２やＬ１／３等、Ｌ１より短い値を採用してもよい。
【００４１】
ステップＳ４０８では、ビア自動配置部２３はその他の構成点９０１、９０２、９０３、９０４、９０５に対しても同様の処理を行って、ＧＮＤビア９３１、９３２、９３３、９３４、９３５を配置する。
ステップＳ４０９では、ビア自動配置部２３はステップＳ４０８で配置したＧＮＤビア９３１、９３２、９３３、９３４、９３５のＧＮＤビア間を所定の間隔Ｌ２以下の距離で分割し、図１２に示すようにＧＮＤビア１０００を配置する。なお、図１２では図を見易くするために、配置した一部のＧＮＤビア１０００のみに符合を付している。ここで、ステップＳ４０８及びステップＳ４０９において、ＧＮＤビアを配置する配置方法について説明する。ここでは、ＧＮＤビア９３０とＧＮＤビア９３１との間に着目して説明する。
まず、ビア自動配置部２３はＧＮＤビア９３０とＧＮＤビア９３１との間の直線距離Ｄ１を算出する。次に、ビア自動配置部２３はＤ１を所定の間隔Ｌ２で割った商（Ｄ１／Ｌ２）を求め、その整数部分に１を加えた値をＮ１とする。最後に、ビア自動配置部２３はＤ１をＮ１で割った商Ｃ１（＝Ｄ１／Ｎ１）を算出する。次に、ビア自動配置部２３はＧＮＤビア９３０からＧＮＤビア９３１に向かって距離Ｃ１毎の位置にＧＮＤビア１０００を配置する。これにより、ＧＮＤビア１０００の間隔はＬ２よりも必ず小さくなる。さらに、ＧＮＤビア９３０及び９３１がＧＮＤ重複導電領域８１の周縁から所定の間隔Ｌ１以内に存在するために、ＧＮＤビア１０００もＧＮＤ重複導電領域８１の周縁から所定の間隔Ｌ１以内の範囲に配置される。
【００４２】
ここでは、内縁部を有しないＧＮＤ重複導電領域８１に着目して説明したが、内縁部を有する場合でも、位置情報及び形状情報を取得することができるので、周縁部にＧＮＤビアを配置する方法と同様の方法により、内縁部にもＧＮＤビアを配置することができる。
また、上述ではＧＮＤ重複導電領域内に初めに配置するＧＮＤビアの位置をＧＮＤ重複導電領域の構成点の付近として説明した。しかし、例えばＧＮＤ重複導電領域の構成ラインの中点をＧＮＤ重複導電領域の内側へ所定の間隔のＬ１の半分の値（Ｌ１／２）だけ構成ラインに垂直に移動した位置に配置してもよい。
さらに、必ずしも構成点の付近にＧＮＤビアを配置しなくてもよい。例えば、構成ライン９１５、９１１上でかつ構成ライン９１０から距離Ｌ１内の点をそれぞれ算出し、その２点間を上述と同様にＬ２より小さい間隔に分割し、分割した点にＧＮＤビアを配置してもよい。
【００４３】
次に、ステップＳ４１１からステップＳ４１７までの、ＧＮＤ重複導電領域８１の中央部に自動でＧＮＤビアを所定の間隔Ｌ３以内で配置する処理動作について具体的に説明する。
ステップＳ４１１では、ビア自動配置部２３はＧＮＤ重複導電領域８１内に既に配置されている複数のＧＮＤビアから一つを選択する。ここで、例えば、ビア自動配置部２３は図１３に示すＧＮＤビア１１００を選択したのものとする。
ステップＳ４１２では、ビア自動配置部２３はＧＮＤビア１１００から所定の方向に所定の距離だけ移動した複数のスライド位置を算出する。ここで、スライド位置の算出方法について説明する。まず、ビア自動配置部２３はｘ軸方向及びｙ軸方向の各正負方向に所定の間隔Ｌ３の半分の距離（Ｌ３／２）だけ移動した位置をスライド位置とする。具体的には、図１３に示すようにｘ軸方向の正方向、ｘ軸方向の負方向、ｙ軸方向の正方向及びｙ軸方向の負方向に移動した位置はそれぞれスライド位置１１０１、１１０２、１１０３、１１０４である。また、他の方法としては、ビア自動配置部２３はｘ軸の正方向やｙ軸の正方向等のＧＮＤビア１１００から引いた半直線から時計回りに例えば角度３０°ずつ回転させた方向にＬ３／２やＬ３／３等、Ｌ３よりも小さい値だけ移動した位置をスライド位置としてもよい。
【００４４】
ステップＳ４１３では、ビア自動配置部２３はスライド位置１１０１、１１０２、１１０３、１１０４から一つを選択する。例えば、スライド位置１１０１を選択した場合、ステップＳ４１４では、ビア自動配置部２３はスライド位置１１０１から所定の間隔Ｌ３の半分の距離（Ｌ３／２）の範囲内、すなわち図１３に示す円１１１１内に他のＧＮＤビアが存在しないと判定する。
次に、ステップＳ４１５では、ビア自動配置部２３はスライド位置１１０１がＧＮＤ重複導電領域８１内にあると判定する。
したがって、ステップＳ４１６では、ビア自動配置部２３はスライド位置１１０１にＧＮＤビア１１０１を配置する。
次に、ステップＳ４１７では、ビア自動配置部２３は残りのスライド位置１１０２、１１０３、１１０４については所定の範囲内に他のＧＮＤビアが存在するか否かを判定していないので、ステップＳ４１３の処理に戻る。
【００４５】
また、ステップＳ４１３において、ビア自動配置部２３がスライド位置１１０２を選択した場合、ステップＳ４１４ではスライド位置１１０２からＬ３／２の距離の範囲内、すなわち図１３に示す円１１１２内に他のＧＮＤビアが存在しないと判定する。次に、ステップＳ４１５では、ビア自動配置部２３はスライド位置１１０２がＧＮＤ重複導電領域８１外と判定するので、ステップＳ４１７に処理を進める。ステップＳ４１７では、ビア自動配置部２３は残りのスライド位置１１０３、１１０４については所定の範囲内に他のＧＮＤビアが存在するか否か判定していないので、ステップＳ４１３の処理に戻る。
【００４６】
また、ステップＳ４１３において、ビア自動配置部２３がスライド位置１１０３を選択した場合、ステップＳ４１４ではスライド位置１１０３からＬ３／２の距離の範囲内、すなわち図１３に示す円１１１３内にＧＮＤビア１１２３が存在すると判定する。したがって、ステップＳ４１７の処理に進む。
ステップＳ４１７において、ビア自動配置部２３は残りのスライド位置１１０４については所定の範囲内に他のＧＮＤビアが存在するか否か判定していないので、ステップＳ４１３の処理に戻る。
【００４７】
また、ステップＳ４１３において、ビア自動配置部２３はスライド位置１１０４を選択する。ステップＳ４１４ではビア自動配置部２３は位置１１０３を判定した場合と同様に、円１１１４内にＧＮＤビア１１２４が存在すると判定する。したがって、ステップＳ４１７に処理を進める。ステップＳ４１７ではビア自動配置部２３は判定するスライド位置は存在しないので、ステップＳ４１８に処理を進める。
【００４８】
ステップＳ４１８では、ビア自動配置部２３はステップＳ４１２の処理を行っていないＧＮＤビアが存在すると判定して、ステップＳ４１１に処理を戻す。ステップＳ４１１では、ビア自動配置部２３はステップＳ４１２の処理を行っていない複数のＧＮＤビアから一つを選択する。以下、ステップＳ４１１からステップＳ４１８までの処理を繰り返し実行することで、ＧＮＤ重複導電領域８１の中央部にはＧＮＤビアが自動で配置される。
【００４９】
次に、ステップＳ４１１において、ビア自動配置部２３が複数のＧＮＤビアから図１４に示すＧＮＤビア１２００を選択した場合について説明する。この場合、ステップＳ４１２では、ビア自動配置部２３は図１４に示すようにスライド位置１２０１、１２０２、１２０３、１２０４を算出する。そして、スライド位置１２０１、１２０２、１２０３については、ステップＳ４１４において、ビア自動配置部２３はそれぞれＬ３／２の距離の範囲内（図１４に示す円１２１１、１２１２、１２１３内）にＧＮＤビアが存在しないと判定する。さらに、ステップＳ４１５ではビア自動配置部２３はＧＮＤ重複導電領域８１内であると判定する。したがって、ステップＳ４１６では、ビア自動配置部２３はＧＮＤビア１２０１、１２０２、１２０３を配置する。
【００５０】
一方、スライド位置１２０４については、スライド位置１２０４の同位置に既にＧＮＤビアが配置されているので、ステップＳ４１４において、ビア自動配置部２３はＬ３／２の範囲内（図１４に示す円１２１４内）にＧＮＤビアが存在すると判定する。したがって、ビア自動配置部２３はＧＮＤビアを配置しない。以下、同様にステップＳ４１１からステップＳ４１８までの処理をステップＳ４１２の処理を行っていないＧＮＤビアが存在しなくなるまで繰り返し実行する。
ステップＳ４１８において、ビア自動配置部２３はステップＳ４１２の処理を行っていないＧＮＤビアが存在しないと判定した場合、ステップＳ４１９でプログラムを終了する。
【００５１】
図１５はステップＳ４１９でプログラムを終了した時点での、ＧＮＤ重複導電領域８１内のＧＮＤビアの配置状態を示す図である。図１５に示すように、ＧＮＤ重複導電領域８１の周縁部及び中央部にそれぞれＧＮＤビアが所定の間隔以内で配置されている。
図１６はステップＳ４１９でプログラムを終了した時点での、ＧＮＤ重複導電領域８０、８１、８２、８３、８４上のＧＮＤビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにＧＮＤビアを配置したスライド位置と配置されたＧＮＤビアとの符合を同一にした。
【００５２】
上述では、ＧＮＤ重複導電領域の中央部へのＧＮＤビアの配置において、確実にＧＮＤビアを所定の間隔Ｌ３以内に配置するために、ステップＳ４１２の移動距離をＬ３／２とし、ステップＳ４１４のスライド位置の周囲のＧＮＤビアの検索範囲をＬ３／２とした。しかし、コストを考慮する場合、できるだけＧＮＤビアを少なく配置したいことがある。このような場合、例えばステップＳ４１２の移動距離をＬ３として、ステップＳ４１４の他のＧＮＤビアの検索範囲をユーザが設定可能なＬ３に対する所定の割合の距離としてもよい。このようにすることで、ＧＮＤビアが必ずしも所定の間隔Ｌ３以内に配置されないが、ＧＮＤビアを比較的少なく配置することができるため、コスト面を考慮したＧＮＤビアの配置を行うことができる。
また、上述では、ＧＮＤ重複導電領域内にすべてのＧＮＤビアを自動で配置するために、ステップＳ４０８でＧＮＤ重複導電領域の各角付近に１個ずつのビアを配置する例を示した。しかしながら、このステップＳ４０８と同様の処理をユーザが行うことも可能である。すなわち、表示装置１２を用いてＧＮＤ重複導電領域とその各角付近に１個または複数のビアを配置するような指示画面を表示することにより、ユーザにＧＮＤ重複導電領域の各角付近にＧＮＤビアを配置させることができる。
【００５３】
また、上述では、ＧＮＤ重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばｘｙ平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもＧＮＤビアの自動配置を行うことができる。例えば、ｘｙ平面上の不等式の場合、ＧＮＤ重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するＧＮＤ重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することができる。したがって、上述した本実施形態と同様の処理を行うことができる。
【００５４】
このように、本実施形態では、図１６に示すようにプリント基板のＧＮＤ重複導電領域の周縁部及び内縁部の周縁から所定の間隔Ｌ１以内の距離に所定の間隔Ｌ２以内の間隔でＧＮＤビアを自動で配置することができる。また、ＧＮＤ重複導電領域の中央部に所定の間隔（Ｌ３）以内の間隔でＧＮＤビアを自動で配置することができる。
なお、上述した所定の間隔Ｌ１、Ｌ２、Ｌ３は実際にＧＮＤビアを配置するときには、１つの基板の中で、状況によりそれぞれＬ１以内の値、Ｌ２以内の値及びＬ３以内の値で変動させることができる。ただし、Ｌ１、Ｌ２、Ｌ３の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるＬ１、Ｌ２、Ｌ３の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【００５５】
また、本実施形態では、プリント基板の全導電層を介するＧＮＤビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部（例えば、２層）の導電層を介するＧＮＤビアを自動配置することもできる。その場合、ＧＮＤビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にＧＮＤビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するＧＮＤビアを、既に配置されたＧＮＤビアとして取り扱うことで効率的にＧＮＤビアを配置することができる。
【００５６】
（第２の実施形態）
第１の実施形態では、図４に示すフローチャートのステップＳ４０８に示すように、ＧＮＤビアを自動で配置する基準となるＧＮＤビアを、ＧＮＤ重複導電領域の各構成点付近に配置する場合について説明した。一方で、高速信号のリターン電流を短くするには、高速信号配線のビアの近傍にＧＮＤビアを配置することが好ましい。本実施形態では、ＧＮＤビアを自動で配置する基準となるＧＮＤビアを高速信号線のビアの近傍に配置する場合について説明する。
【００５７】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム（処理プログラム）に基づいて行う処理動作は、上述した図３に示すフローチャートと同様である。図１７は図３に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図１７に示すステップＡは図５に示すステップＡに続いている。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図１７及び図５に示すフローチャートと図１８から図２２に示す模式図を参照して説明する。
【００５８】
図１７に示すフローチャートにおいて、ステップＳ４００からステップＳ４０７までの処理及びステップＳ４０８からステップＳ４１０までの処理は、上述した図４に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。本実施形態では、図４に示すフローチャートのステップＳ４０７とステップＳ４０８との間にステップＳ１６００からステップＳ１６０２までの処理が追加されている。
ステップＳ１６００では、図形演算部２２は高速配線のビアを選択する。この処理は高速信号層間接続部材選択ステップの一例に対応する。ここで、高速配線のビア選択方法の一例について説明する。例えば入力部２０が高速配線属性を各配線に対して設定できる入力画面を表示装置１２に表示する。ユーザは入力装置１３を介して入力画面の入力欄に高速配線属性を入力することで、入力部２０は入力された情報を読み込んで主記憶装置１１に記憶する。図形演算部２２は記憶された情報に基づいて高速配線属性を持つ配線のビアを選択する。高速配線属性を入力する方法は、各配線に対して高速配線であることを示す情報を入力する方法であってもよい。また、高速配線リストを用いて、ユーザがリストに配線名を入力したり、リストに追加する配線を選択したりすることで、図形演算部２２はリストに入力された配線のビアを選択するようにしてもよい。
【００５９】
また、高速配線のビアを選択する方法は以下のようなものであってもよい。すなわち、予め回路設計者が回路図設計システム上で、各配線に高速配線属性を入力しておくことで、各配線に属性情報を持つ回路図情報が主記憶装置１１又は外部記憶装置１４に記憶される。したがって、入力部２０が主記憶装置１１又は外部記憶装置１４から回路図情報を読み出すことにより、各配線が高速配線属性を持つか否かを判定して、高速配線属性を持つ配線のビアを選択することができる。ここで、配線に高速配線属性を入力する方法は、上述と同様の方法をプリント基板設計システム上で行ってもよい。また、回路設計者が回路図設計システム上で各配線に流れる電流の周波数を入力しておき、その周波数と所定の閾値とを比較して、所定の閾値よりも大きい配線を高速配線属性を持つ配線と判定してもよい。
【００６０】
ステップＳ１６０１では、図形演算部２２はステップＳ４０５で抽出した各ＧＮＤ重複導電領域上で、ステップＳ１６００で選択した高速配線のビアから最短間隔にある点（最短ポイント）を算出する。
ステップＳ１６０２では、ビア自動配置部２３は最短ポイントの近傍にＧＮＤビアを配置する。この処理は高速信号近傍層間接続部材配置ステップの一例に対応する。ここで、最短ポイントがＧＮＤ重複導電領域の構成ライン上の場合、ビア自動配置部２３は高速配線のビアから最短ポイントを結ぶ線分の延長上で、かつ最短ポイントから所定の間隔Ｌ１の距離の範囲内にＧＮＤビアを配置する。最短ポイントがＧＮＤ重複導電領域の構成点上の場合、第１の実施形態のステップＳ４０８と同様の処理により、ビア自動配置部２３はＧＮＤビアを配置する。
【００６１】
なお、上述ではステップＳ１６０１において、図形演算部２２は各高速配線のビアから各ＧＮＤ重複導電領域までの最短ポイントを算出する場合について説明した。しかしながら、高速配線のビアから最短ポイントまでの間隔が所定の値Ｌ３よりも大きい場合には、ステップＳ１６０２の処理を行わなくてもよい。所定の値Ｌ３には、例えば所定の間隔Ｌ２等を用いる。また、高速配線のビアから最短ポイントまでの距離が所定の値Ｌ３以下になる最短ポイントが見つからない高速配線のビアをエラーとしてユーザに報知したり、可視化したりする処理を追加してもよい。
【００６２】
次に、図１８に示すプリント基板の模式図を参照して、上述した図１７に示すフローチャートの処理動作について説明する。図１８は、ＧＮＤビアを自動配置する前のプリント基板の模式図である。なお、図１８に示す部品配置位置や配線状況のうち、図６と同様のものについては、同一符号を付して、その説明は省略する。ここで、図１８（ｃ）に示す信号配線１５２１０、１５２１１及び信号配線ビア１５２２０、１５２２１は高速配線属性を有している。また、図１８（ｄ）に示す信号配線１５３１０、１５３１１、１５３１２、１５３１３及び信号配線ビア１５３２０、１５３２１、１５３２２、１５３２３は高速配線属性を有している。
【００６３】
図１７に示すフローチャートのステップＳ４０６の処理までに、図形演算部２２は図１８（ａ）〜（ｄ）に示される各層のＧＮＤ導電領域を投影し、全ての層においてＧＮＤ導電領域が２次元的に重複しているＧＮＤ重複導電領域を抽出する。図１９は抽出されたＧＮＤ導電領域を示す図である。すなわち、図１９に示すグレー部分の領域８０、８２、８３、１７００、１７０１がＧＮＤ重複導電領域である。
【００６４】
以下、ＧＮＤビアを自動で配置する処理の説明を容易にするために、図１９に示すＧＮＤ重複導電領域のうちＧＮＤ重複導電領域１７００に着目してＧＮＤビアを自動で配置する処理について説明する。なお、ＧＮＤ重複導電領域８０、８２、８３、１７０１にも同様にＧＮＤビアを自動配置することは言うまでもない。
ステップＳ４０７では、ビア自動配置部２３はＧＮＤ重複導電領域１７００の位置情報及び形状情報を取得する。
次に、ステップＳ１６００では、図形演算部２２は図２０に示すように高速配線の属性を持つビア（以下、高速配線ビア）１８００、１８０１、１８０２、１８０３を選択する。ここで、高速配線ビアと図１８に示す信号配線ビアとを対応させると、高速配線ビア１８００は信号配線ビア１５２２１、１５３２２と一致する。また、高速配線ビア１８０２は信号配線ビア１５２２１、１５３２３と一致する。また、高速配線ビア１８０１は信号配線ビア１５２２０、１５３２０と一致する。また、高速配線ビア１８０３は信号配線ビア１５２２０、１５３２１と一致する。
【００６５】
次に、ステップＳ１６０１では、図形演算部２２は各高速配線ビア１８００、１８０１、１８０２、１８０３からそれぞれＧＮＤ重複導電領域１７００に対して、図２０に示すような最短ポイント１８１０、１８１１、１８１２を算出する。具体的には、各高速配線ビアからＧＮＤ重複導電領域の各構成ラインに対してＧＮＤ重複導電領域の外側から下ろす垂線を算出する。次に、図形演算部２２は高速配線ビアから各垂線と構成ラインとの交点までの距離と、高速配線ビアから各構成点までの距離と、を比較し、最も小さい距離となる交点又は構成点を最短ポイントとする。例えば、高速配線ビア１８００の場合、高速配線ビア１８００からＧＮＤ重複導電領域１７００の構成ライン１８４０までの距離で、最も短くなるのは、高速配線ビア１８００から構成ライン１８４０に引いた垂線１８３０によって算出される。すなわち、最も短い距離は高速配線ビア１８００から垂線１８３０と構成ライン１８４０との交点１８１０までの距離である。また、高速配線ビア１８００から最も近い構成点は構成点１８３１である。ここで、図形演算部２２は高速配線ビア１８００から交点１８１０までの距離と高速配線ビア１８００から構成点１８３１までの距離とを比較すると、高速配線ビア１８００から交点１８１０までの距離の方が小さい。したがって、最短ポイントとして交点１８１０（最短ポイント１８１０）を算出する。なお、上述では高速配線ビア１８００から交点１８１０までの距離と高速配線ビア１８００から構成点１８３１までの距離とをのみ比較したが、実際には高速配線ビアから全ての構成ラインに対して垂線を引くことができるかを判定する。また、高速配線ビアから全ての構成点に対して距離を算出する。
【００６６】
同様にして、図形演算部２２は高速配線ビア１８０１に対する最短ポイントとして、最短ポイント１８１１を算出する。また、高速配線ビア１８０２、１８０３の場合、最短ポイントは同一となる。したがって、図形演算部２２は最短ポイントとして最短ポイント１８１２を算出する。
【００６７】
ステップＳ１６０２では、ビア自動配置部２３は最短ポイントの近傍にＧＮＤビアを配置する。ここでは、最短ポイントがＧＮＤ重複導電領域１７００の構成ライン上にある場合と、構成点にある場合とで処理が異なる。まず、最短ポイントが最短ポイント１８１０のように構成ライン上にある場合、ビア自動配置部２３は垂線１８３０の延長上で、かつ最短ポイント１８１０から所定の間隔Ｌ１の半分の値（Ｌ１／２）の距離の位置にＧＮＤビア１８２０を配置する。ここでは、最短ポイントからＬ１／２の距離の位置にＧＮＤビアを配置したが、実際には所定の間隔Ｌ１の距離以内であればよい。同様に、ビア自動配置部２３は最短ポイント１８１１に対して、ＧＮＤビア１８２１を配置する。
次に、最短ポイントが最短ポイント１８１２のように構成点である場合、ビア自動配置部２３は第１の実施形態の図４に示すフローチャートのステップＳ４０８と同様の方法によりＧＮＤビア１８２２を配置する。
【００６８】
なお、ＧＮＤビア１８２０、１８２１又は１８２２から所定の間隔Ｌ２の距離の範囲内で、かつＧＮＤ重複導電領域１７００の構成ラインから所定の間隔Ｌ１の距離の範囲内に既にＧＮＤビアが配置されている場合は、該ＧＮＤビアを排除する処理を加えてもよい。また、ここでは、ＧＮＤビアの検索範囲を所定の間隔Ｌ２の範囲に限定したが、Ｌ２以下の値の範囲であればどの値を用いてもよい。さらに、ＧＮＤビアの検索範囲を、近傍のＧＮＤビアの周囲に形成する導電領域がＧＮＤビア１８２０の周囲に形成する導電領域と一部が重なる範囲としてもよい。
【００６９】
次に、ステップＳ４０８以降の処理は、第１の実施形態の図４に示すフローチャートに示すステップＳ４０８以降及び図５に示すフローチャートの処理と同一なので、簡潔に説明する。
ステップＳ４０８では、ビア自動配置部２３はＧＮＤ重複導電領域１７００の各角の近傍にＧＮＤビアを配置する。ここで、図２１を参照して、ステップＳ４０８の処理後にＧＮＤ重複導電領域内に配置されるＧＮＤビアについて説明する。図２１に示すように、ＧＮＤ重複導電領域１７００内にはＧＮＤビア１９００、１９０１、１９０２、１９０３、１９０４、１９０５が配置されている。構成点１８１２については、ステップＳ１６０２において、既にＧＮＤビア１８２２を配置しているので、ステップＳ４０８ではＧＮＤビアの配置処理を行う必要はない。ここで、ステップＳ４０８において、配置しようとするＧＮＤビアがステップＳ１６０１において配置した高速配線近傍のＧＮＤビアと非常に近接している場合、ステップＳ４０８ではビア自動配置部２３は、ＧＮＤビアを配置しなくてもよい。なお、非常に近接している場合とは、ステップＳ１６０１で排除する対象となるＧＮＤビアの検索範囲と同等の検索範囲内に既に高速配線近傍のＧＮＤビアが存在する場合と同様である。
次に、ステップＳ４０９以降の処理を第１の実施形態で説明した処理と同様に行うことにより、図２２に示すように、ＧＮＤ重複導電領域１７００にＧＮＤビアを所定の間隔以内で配置する。
上述では、すべてのＧＮＤビアを自動で配置するために、ステップＳ１６００からステップＳ１６０２において高速信号線のビア付近にＧＮＤビアを自動で配置する例を示した。しかしながら、これらの一連の処理と同等の処理をユーザが行うことも可能である。すなわち、表示装置１２を用いてＧＮＤ重複導電領域と高速信号線のビアまたは全体と各高速信号線のビア付近に１個または複数のビアを配置するような指示画面を表示することにより、ユーザにＧＮＤ重複導電領域で、かつ各校則信号線のビア付近にＧＮＤビアを配置させることができる。
【００７０】
また、上述では、ＧＮＤ重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばｘｙ平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもＧＮＤビアの自動配置を行うことができる。例えば、ｘｙ平面上の不等式の場合、ＧＮＤ重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するＧＮＤ重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と同様の処理を行うことができる。
【００７１】
このように本実施形態では、第１の実施形態による効果に加えて、高速配線のリターン電流の経路がより短くなるようにＧＮＤビアを自動配置することができる。また、本実施形態は第１の実施形態の一部変形例であって、第１の実施形態に記載されている適用範囲と同等の適用範囲を有する。
【００７２】
（第３の実施形態）
第１の実施形態では、ＧＮＤ重複導電領域を周縁部及び内縁部と中央部に分け、段階的にＧＮＤビアを配置する場合について説明した。本実施形態では、ＧＮＤ重複導電領域全体に段階を分けずにＧＮＤビアを自動で配置する場合について説明する。
実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム（処理プログラム）に基づいて行う処理動作は、上述した図３に示すフローチャートのうちステップＳ１０３を省略したフローチャートと同様である。なお、第１の実施形態で説明したプリント基板設計支援装置では、ＧＮＤ重複導電領域の周縁部及び内縁部にＧＮＤビアを配置するため、放射ノイズ対策の効果がより大きい。
【００７３】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図２３及び図２４に示すフローチャートと図２５〜図２７に示す模式図を参照して説明する。なお、説明を容易にするため、図２５〜図２７では図１０に示すＧＮＤ重複導電領域８１のみを示している。しかしながら、実際にはＧＮＤ重複導電領域８０、８２、８３、８４にも同様にＧＮＤビアを配置することは言うまでもない。
【００７４】
図２３及び図２４に示すフローチャートではステップＳ４００からステップＳ４０７、ステップＳ４０８、ステップＳ４１１からステップＳ４１９までの動作処理は、図４及び図５に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。ただし、本実施形態のビア自動追加条件はＧＮＤビアの間隔の許容最大値Ｌ５（以下、所定の間隔Ｌ５）である。本実施形態では、第１の実施形態と異なり、ステップＳ４０７とステップＳ４０８との間にステップＳ２２００が追加されている。
【００７５】
ここで、ステップＳ２２００では、ビア自動配置部２３が主記憶装置１１にあるレイアウト情報１４２を参照しながら、ステップＳ４０５で抽出された各ＧＮＤ重複導電領域Ａ内にＧＮＤビアが既に存在するか否かを判定する。ＧＮＤ重複導電領域Ａ内にＧＮＤビアが存在する場合、ステップＳ４１１に処理を進める。ＧＮＤビアが存在しない場合、ステップＳ４０８に処理を進める。このステップＳ２２００により、ＧＮＤ重複導電領域Ａ内にＧＮＤビアが既に存在する場合、既存のＧＮＤビアを基準としてＧＮＤビアを自動配置するため、ステップＳ４０８の処理を行う必要はない。ただし、第１の実施形態と同様に、ステップＳ２２００を省略し、ＧＮＤ重複導電領域Ａ内にＧＮＤビアが既に存在するか否かにかかわらず、ステップＳ４０８で基準となるＧＮＤビアを配置してもよい。
【００７６】
また、本実施形態では、第１の実施形態と異なり、ステップＳ４０９及びステップＳ４１０を省略している。第１の実施形態のステップＳ４０９及びステップＳ４１０は、ビア自動配置部２３がＧＮＤ重複導電領域Ａの周縁部及び内縁部における所定間隔内にＧＮＤビアを自動配置するステップである。したがって、本実施形態では不必要な処理である。なお、第２の実施形態と同様に、高速配線ビアの近傍にＧＮＤビアを優先的に配置するには、図２３に示すフローチャートのステップＳ４０７及びステップＢの間に、図１７に示すフローチャートのステップＳ１６００からステップＳ１６０２を加えればよい。
【００７７】
次に、図２３及び図２４に示すフローチャートと図２５〜図２７に示す模式図を参照して説明する。まず、ＧＮＤ重複導電領域内に既存のＧＮＤビアがない場合、すなわちステップＳ２２００において、ＧＮＤ重複導電領域内に既存のビアが存在しないので、ステップＳ４０８の処理に進む場合について説明する。
ステップＳ４０８では、ビア自動配置部２３は、図２５に示すようにＧＮＤ重複導電領域８１の各角である構成点９００、９０１、９０２、９０４、９０５の付近にそれぞれＧＮＤビア９３０、９３１、９３２、９３３、９３４、９３５を配置する。なお、ここではＧＮＤ重複導電領域８１の各角付近に基準とするＧＮＤビアをそれぞれ配置したが、例えば、構成点９００付近のみや、構成点９００及び構成点９０１等の全てではない複数の角付近にＧＮＤビアを配置してもよい。さらに、基準となるＧＮＤビアは必ずしも角付近である必要はない。例えば、図２５に示す構成ライン９１０の中点を構成ライン９１０に垂直で、かつＧＮＤ重複導電領域８１の内部へ向かう方向に所定の間隔Ｌ５以内の値だけ移動した点に基準となるＧＮＤビアを配置してもよい。その他にも、ＧＮＤ重複導電領域８１内であれば、任意の点に基準のＧＮＤビアを配置することができる。
【００７８】
次に、ステップＳ４１１では、ビア自動配置部２３はステップＳ４０８において配置したＧＮＤビアから一つを選択する。ここで、ビア自動配置部２３は例えば、図２５に示すＧＮＤビア９３０を選択したものとする。
ステップＳ４１２では、ビア自動配置部２３はＧＮＤビア９３０からｘ軸方向及びｙ軸方向の各正負方向に所定の間隔Ｌ５の半分の距離（Ｌ５／２）だけ移動したスライド位置を算出する。具体的には、ビア自動配置部２３はｘ軸方向の正方向、ｘ軸方向の負方向、ｙ軸方向の正方向及びｙ軸方向の負方向にそれぞれ移動した位置として、スライド位置２３０１、２３０２、２３０３、２３０４を算出する。
【００７９】
ステップＳ４１３では、ビア自動配置部２３はスライド位置２３０１、２３０２、２３０３、２３０４のうち一つを選択する。例えば、スライド位置２３０１を選択した場合、ステップＳ４１４では、ビア自動配置部２３はスライド位置２３０１から所定の間隔Ｌ５の半分の距離（Ｌ５／２）の範囲内、すなわち図２５に示す円２３１１内に他のＧＮＤビアが存在しないと判定する。
次に、ステップＳ４１５では、ビア自動配置部２３はスライド位置２３０１がＧＮＤ重複導電領域８１内にあると判定する。
したがって、ステップＳ４１６では、ビア自動配置部２３はスライド位置２３０１にＧＮＤビア２３０１を配置する。
次に、ステップＳ４１７では、ビア自動配置部２３は残りのスライド位置２３０２、２３０３、２３０４については所定範囲内に他のＧＮＤビアが存在するか否かを判定していないので、ステップＳ４１３の処理に戻る。
【００８０】
次に、ステップＳ４１３において、ビア自動配置部２３はスライド位置２３０２を選択した場合、ステップＳ４１４ではスライド位置２３０２からＬ５／２の範囲内、すなわち図２５に示す円２３１２内に他のＧＮＤビアが存在しないと判定する。次に、ステップＳ４１５では、ビア自動配置部２３はスライド位置２３０２がＧＮＤ重複導電領域８１外と判定するので、ステップＳ４１７の処理に進める。ステップＳ４１７では、ビア自動配置部２３は残りのスライド位置２３０３、２３０４については所定の範囲内に他のＧＮＤビアが存在するか否か判定していないので、ステップＳ４１３の処理に戻る。
【００８１】
以後、同様にビア自動配置部２３はステップＳ４１３からステップＳ４１７までの一連の処理を繰り返し実行し、スライド位置２３０３にはＧＮＤビアを配置せず、スライド位置２３０４にはＧＮＤビア２３０４を配置して、ステップＳ４１７に処理を進める。
ステップＳ４１７ではビア自動配置部２３は判定するスライド位置は存在しないので、ステップＳ４１８に処理を進める。
【００８２】
次に、ビア自動配置部２３は新しく追加配置したＧＮＤビア２３０１、２３０４及びＧＮＤビア９３１、９３２、９３３、９３４、９３５については、ステップＳ４１２の処理を行っていない。したがって、ステップＳ４１８では、ビア自動配置部２３はステップＳ４１２の処理を行っていないＧＮＤビアが存在すると判定して、ステップＳ４１１に処理を戻す。以下、ステップＳ４１１からステップＳ４１８まで処理を繰り返し実行することで、ＧＮＤ重複導電領域８１内にはＧＮＤビアが自動で配置される。
【００８３】
ここで、図２６を参照して、ステップＳ４１１においてＧＮＤビア２４００を選択した場合について説明する。
ステップＳ４１２では、ビア自動配置部２３はスライド位置２４０１、２４０２、２４０３、２４０４を算出する。
ステップＳ４１３では、ビア自動配置部２３は順次スライド位置のうちの一つを選択する。スライド位置２４０１、２４０４については、ビア自動配置部２３はステップＳ４１４でＬ５／２の範囲内（それぞれ円２４１１、２４１４内）に他のＧＮＤビアが存在しないと判定し、ステップＳ４１５でＧＮＤ重複導電領域８１内であると判定する。したがって、ステップＳ４１６では、ビア自動配置部２３はＧＮＤビア２４０１及びＧＮＤビア２４０４を配置する。
一方、スライド位置２４０２、２４０３には、それぞれスライド位置２４０２、２４０３と同位置にＧＮＤビアが既に存在する、すなわちＬ５／２の範囲内（それぞれ円２４１２、２４１３内）に他のＧＮＤビアが存在する。したがって、ステップＳ４１４では、ビア自動配置部２３はスライド位置２４０２、２４０３に他のＧＮＤビアが存在すると判定する。したがって、ビア自動配置部２３はＧＮＤビアを配置しない。
【００８４】
以後、同様にビア自動配置部２３はステップＳ４１１からステップＳ４１８の処理をステップＳ４１８において、ステップＳ４１２の処理を行っていないＧＮＤビアが存在しなくなるまで繰り返し実行する。そして、ステップＳ４１８において、ステップＳ４１２の処理を行っていないＧＮＤビアが存在しなくなった場合、ビア自動配置部２３はステップＳ４１９でプログラムを終了する。
図２７はステップＳ４１９でプログラムを終了した時点での、ＧＮＤ重複導電領域８１上のＧＮＤビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにＧＮＤビアを配置したスライド位置と配置されたＧＮＤビアとの符合を同一にした。
【００８５】
なお、本実施形態において、第１の実施形態と同様に、ステップＳ４１２の移動距離及びステップＳ４１４のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のＧＮＤビア配置状況を実現することができる。このようにすることで、所定の間隔以内にＧＮＤビアを配置することよりも、ＧＮＤビアの配置数を少なくして、コスト面を考慮したＧＮＤビアの配置を行うことができる。さらにＧＮＤ重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもＧＮＤビアの自動配置を行うことができる。
【００８６】
このように本実施形態では、図２７に示すようにプリント基板のＧＮＤ重複導電領域内に所定の間隔Ｌ５以内にＧＮＤビアを自動で配置することができる。
上述では、ＧＮＤ重複導電領域内にすべてのＧＮＤビアを自動で配置するために、ステップＳ２２００およびステップＳ４０８でＧＮＤ重複導電領域内に１個ずつのビアを配置する例を示した。しかしながら、このステップＳ２２００およびステップＳ４０８と同様の処理をユーザが行うことも可能である。すなわち、ステップＳ２２００でＧＮＤ重複導電領域内にＧＮＤビアがないと判定された場合に、表示装置１２を用いてＧＮＤビアが配置されていないＧＮＤ重複導電領域と１個または複数のビアを配置するような指示画面を表示する。これにより、ユーザにＧＮＤ重複導電領域の各角付近にＧＮＤビアを配置させることができる。
また、上述した所定の間隔Ｌ５は実際にＧＮＤビアを配置するときには、１つの基板の中で、状況によりＬ５以内の値で変動させてもよい。ただし、Ｌ５の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるＬ５の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【００８７】
また、本実施形態では、プリント基板の全導電層を介するＧＮＤビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の複数の導電層を介するＧＮＤビアを自動配置することもできる。その場合、ＧＮＤビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にＧＮＤビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するＧＮＤビアを、既に配置されたＧＮＤビアとして取り扱うことで効率的にＧＮＤビアを配置することができる。
【００８８】
（第４の実施形態）
第１の実施形態では、ＧＮＤビアの配置位置の算出方法として、ＧＮＤ重複導電領域内に既に配置された又は新規に配置されたＧＮＤビアを基準に所定の方向に所定の距離だけ位置を移動させる方法について説明した。本実施形態では、ＧＮＤビアの配置位置の算出方法として、ＧＮＤビアを配置可能な領域を所定の大きさの領域（以下、ブロック）に分割し、区分した領域内の一点を配置位置とする場合について説明する。
【００８９】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム（処理プログラム）に基づいて行う処理動作は、上述した図３に示すフローチャートと同様である。図２８は図３に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図２８に示すステップＢは図２３に示すステップＢから続いている。なお、図２３に示すステップＢまでの処理については、第１の実施形態及び第３の実施形態と同様なので、その説明を省略する。また、本実施形態において、第２の実施形態と同様に高速配線ビアの近傍にＧＮＤビアを優先的に配置するには、図２３に示すステップＳ４０７とステップＢとの間に、図１７に示すステップＳ１６００からステップＳ１６０２を加えればよい。
【００９０】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図２８に示すフローチャートと図２９〜図３３に示す模式図を参照して説明する。なお、図２８に示すステップＳ２６００からステップＳ４１９までの処理は、ビア自動配置部２３が主記憶装置１１に記憶されているレイアウト情報１４２に基づいて行う処理である。また、説明を容易にするため、図２９〜図３３では図１０に示すＧＮＤ重複導電領域８１のみを示している。しかしながら、実際にはＧＮＤ重複導電領域８０、８２、８３、８４にも同様にＧＮＤビアを配置することは言うまでもない。また、本実施形態では、第１の実施形態と同様、周縁部及び内縁部と中央部とを分割し、段階的にＧＮＤビアを自動配置する方法について説明する。したがって、ステップＳ４０１のビア自動配置条件は、第１の実施形態における所定の間隔Ｌ１、所定の間隔Ｌ２、所定の間隔Ｌ３と同じである。
【００９１】
以下、図２８に示すフローチャートについて詳細に説明する。
ステップＳ２６００では、ビア自動配置部２３は図２３に示すステップＳ４０７でＧＮＤ重複導電領域Ａの位置情報及び形状情報を取得すると、ＧＮＤ重複導電領域Ａの構成ラインを一つ選択する。ビア自動配置部２３は選択した構成ラインの長さＤ２を算出し、算出した長さＤ２を所定の間隔Ｌ２で割った商（Ｄ２／Ｌ２）の整数部分に１を加えた値Ｎ２を算出する。さらに、ビア自動配置部２３はＤ２をＮ２で割った長さＣ２（＝Ｄ２／Ｎ２）を算出する。
【００９２】
ステップＳ２６０１では、ビア自動配置部２３は構成ラインに垂直な辺の長さを所定の間隔Ｌ１、構成ラインに沿った方向の辺の長さをＣ２とするブロックをステップＳ２６００で選択した構成ラインに沿って作成する。ここで、ＧＮＤ重複導電領域Ａの構成点の付近等、前記大きさの矩形のブロックをＧＮＤ重複導電領域Ａ内に作成できない場合、ビア自動配置部２３は前記大きさの矩形からＧＮＤ重複導電領域Ａの外側の部分を排除した形状をブロックの形状とする。
ステップＳ２６０２では、ビア自動配置部２３はブロック分割後、分割したブロックから一つ（ブロックＢ１）を選択する。
ステップＳ２６０３では、ビア自動配置部２３はブロックＢ１内に既にＧＮＤビアが配置されているか否かを判定する。ブロックＢ１内に既にＧＮＤビアが配置されている場合、ステップＳ２６０５に処理を進める。ＧＮＤビアが未だ配置されていない場合、ステップＳ２６０４に処理を進める。
【００９３】
ステップＳ２６０４では、ビア自動配置部２３はブロックＢ１内にＧＮＤビアを配置する。
次に、ステップＳ２６０５では、ビア自動配置部２３はステップＳ２６０３の処理を実行していない、すなわちブロック内のＧＮＤビアの有無を判定していないブロック（ブロックＢ１以外のブロック）が存在するか否かを判定する。ステップＳ２６０３の処理を実行していないブロックが存在する場合、ステップＳ２６０２の処理に戻る。ステップＳ２６０３の処理を実行していないブロックが存在しない場合、ステップＳ２６０６の処理に進める。
【００９４】
ステップＳ２６０６では、ビア自動配置部２３はステップＳ２６０１の処理を実行していない構成ラインが存在するか否かを判定する。ステップＳ２６０１の処理を実行していない構成ラインが存在する場合、ステップＳ２６００に処理を戻す。ステップＳ２６０１の処理を実行していない構成ラインが存在しない場合、ステップＳ２６０７に処理を進める。
ステップＳ２６０７では、ビア自動配置部２３はＧＮＤ重複導電領域Ａの中央部の位置情報及び形状情報を取得する。ここでの中央部とは、ＧＮＤ重複導電領域ＡからステップＳ２６０１で分割した全てのブロックを排除した領域（以下、中央領域Ｂ）である。
ステップＳ２６０８では、ビア自動配置部２３は中央領域Ｂの位置情報及び形状情報を取得した後、中央領域Ｂを所定の距離Ｌ３の半分の距離（Ｌ３／２）を一辺とする正方形のブロックに分割する。この処理はブロック分割ステップの一例に対応する。ここで、中央領域Ｂの構成ラインや構成点付近のＬ３／２を一辺とする正方形のブロックを中央領域Ｂ内に作成できない場合は、ビア自動配置部２３は正方形のブロックから中央領域Ｂの外側の部分を排除した形状をブロックの形状とする。
【００９５】
ステップＳ２６０９では、ビア自動配置部２３は中央領域Ｂをブロック分割後、各ブロック内に未だＧＮＤビアが配置されていないブロックにＧＮＤビアを配置する。この処理はブロック内層間接続部材配置ステップの一例に対応する。ステップＳ２６０９の処理は、ステップＳ２６０２からステップＳ２６０５の一連の処理と同処理である。
ステップＳ４１９では、ビア自動配置部２３は中央領域Ｂ内にＧＮＤビア配置後、処理プログラム１４１を終了する。
次に、図２８に示すフローチャートと図２９〜図３３に示す模式図とを参照して具体的に説明する。まず、ステップＳ２６００ではビア自動配置部２３は図２３に示すステップＳ４０７において取得した位置情報及び形状情報の構成ライン９１０、９１１、９１２、９１３、９１４、９１５から一つを選択する。例えば、ビア自動配置部２３は構成ライン９１０を選択したものとする。
【００９６】
ステップＳ２６０１では、ビア自動配置部２３は図２９に示すように構成ライン９１０に沿ったＧＮＤ重複導電領域８１の周縁部をブロック分割する。ステップＳ２６０１におけるブロック分割方法としては、まずビア自動配置部２３は構成ライン９１０の長さＤ２を算出する。次に、ビア自動配置部２３は長さＤ２を所定の間隔Ｌ２で割った商の整数部分に１を加えた値Ｎ２を算出し、続けて長さＤ２をＮ２で割った値Ｃ２（＝Ｄ２／Ｎ２）を算出する。次に、ビア自動配置部２３は構成ライン９１０に垂直な方向の一辺を所定の間隔Ｌ１とし、構成ライン９１０に沿った方向の一辺を値Ｃ２として図２９に示すブロック２７００からブロック２７１１を構成ライン９１０の端から構成ライン９１０に沿って作成する。図２９に示す構成ライン９１０の場合、構成点９００及び９０１の角が直角であるため、全て矩形のブロックにより分割することができる。しかしながら、実際のプリント基板では、必ずしもＧＮＤ重複導電領域の角が直角とは限らない。分割した矩形のブロックがＧＮＤ重複導電領域からはみ出る場合には、分割した矩形からＧＮＤ重複導電領域の外部領域を排除した図形をブロックの形状として適用すればよい。
また、構成ライン９１０の端点付近で分割した矩形に対してＧＮＤ重複導電領域の周縁部が余る場合、余りの図形を構成ラインの端のブロックに追加した形状をブロックとして適用することができる。
【００９７】
ステップＳ２６０２では、ビア自動配置部２３はステップＳ２６０１で作成したブロックから一つを選択する。例えば、ビア自動配置部２３はブロック２７００を選択したものとする。
ステップＳ２６０３では、ビア自動配置部２３はブロック２７００内には未だＧＮＤビアが配置されていないと判定するために、ステップＳ２６０４に処理を進める。
ステップＳ２６０４では、ビア自動配置部２３はＧＮＤビア２７２０を配置する。ここで、ステップＳ２６０４におけるＧＮＤビアの配置位置はブロック２７００の中心が好ましい。その他の位置としては、ブロック２７００の重心や隣接するブロック２７０１との境界付近の位置等、ブロック２７００の内部のあらゆる位置が考えられる。
次に、ステップＳ２６０５では、ビア自動配置部２３はブロック２７０１からブロック２７１１については未だステップＳ２６０３の判定を行っていないブロックが存在すると判定するために、ステップＳ２６０２の処理に戻る。
【００９８】
以後、同様にビア自動配置部２３はステップＳ２６０２からステップＳ２６０５までの処理を繰り返し実行することにより、図２９に示すように構成ライン９１０に沿った周縁部にＧＮＤビア２７２０を順次配置する。ステップＳ２６０５では、ビア自動配置部２３は未だステップＳ２６０３の判定を行っていないブロックが存在しないと判定すると、ステップＳ２６０６に処理を進める。そして、次にステップＳ２６０６において、ビア自動配置部２３は構成ライン９１１から構成ライン９１５についてはブロックを作成していない構成ラインが存在すると判定し、ステップＳ２６００に処理を進める。
【００９９】
ステップＳ２６００では、ビア自動配置部２３は再び構成ラインを選択する。例えば、ビア自動配置部２３が構成ライン９１１を選択するものとすると、図３０に示すように、ステップＳ２６０１においてブロック２８００からブロック２８０６を作成する。
ステップＳ２６０２では、ビア自動配置部２３はブロック２８００からブロック２８０６のうちからブロックを一つ選択する。例えば、ビア自動配置部２３がブロック２８００を選択した場合、ステップＳ２６０３において、ビア自動配置部２３はブロック２８００内にＧＮＤビア２８４０が存在すると判定するために、ステップＳ２６０５の処理に進める。
【０１００】
ステップＳ２６０５では、ビア自動配置部２３はステップＳ２６０３の判定を行っていないブロック（ブロック２８０１からブロック２８０６まで）が存在すると判定し、ステップＳ２６０２の処理に戻り、再びブロックを一つ選択する。例えば、ビア自動配置部２３はブロック２８０１を選択したものとすると、ステップＳ２６０３では、ブロック２８０１内には未だＧＮＤビアが配置されていないと判定するために、ステップＳ２６０４に処理を進める。ステップＳ２６０４では、ビア自動配置部２３はブロック２８０１内にＧＮＤビア２８２０を配置して、ステップＳ２６０５の処理に進める。
【０１０１】
以後、同様にビア自動配置部２３はステップＳ２６０２からステップＳ２６０５までの処理を繰り返し実行し、ＧＮＤビア２８２０を順次配置する。そして、ビア自動配置部２３は、同様にステップＳ２６００からステップＳ２６０６までの処理をステップＳ２６０６でブロック分割していない構成ラインが存在しなくなるまで繰り返し実行する。これにより、ＧＮＤ重複導電領域８１の構成ラインから所定の間隔Ｌ１以内の周縁部に、ＧＮＤビアを所定の間隔Ｌ２以内で配置することができる。図３１はＧＮＤ重複導電領域８１の周縁部にＧＮＤビアを配置した後の状態を示す図である。ここで、ＧＮＤ重複導電領域８１には内縁部は存在しなかったが、内縁部が存在する場合、ステップＳ４０７で内縁の位置情報及び形状情報を取得することで、ビア自動配置部２３はＧＮＤビアを内縁部に配置することができる。すなわち、ビア自動配置部２３は内縁の位置情報及び形状情報に基づいて、ステップＳ２６００からステップＳ２６０６の処理を繰り返し実行することにより、内縁から所定の間隔Ｌ１以内の領域にＧＮＤビアを所定の間隔Ｌ２以内で配置する。
【０１０２】
次に、ＧＮＤ重複導電領域８１の中央部にＧＮＤビアを自動で配置する処理動作について詳細に説明する。
ステップＳ２６０７では、ビア自動配置部２３はＧＮＤ重複導電領域８１のうち、ステップＳ２６０１で作成したブロックを全て排除した領域、すなわち図３２に示すグレー部分の領域である中央部３０００の位置情報及び形状情報を取得する。ステップＳ２６０８では、ビア自動配置部２３は中央部３０００をブロック分割する。ここで、ブロック分割の方法としては、まず、ビア自動配置部２３は中央部３０００の構成点のうち、一つを選択する。ここでは、ビア自動配置部２３は図３２に示す構成点３００１を選択したものとする。ビア自動配置部２３は構成点３００１を１つの頂点とし、所定の間隔Ｌ３を一辺の長さとし、かつ一辺がｘ軸に平行な図３２に示す正方形のブロック３０１０を中央部３０００の内部に作成する。ここで、正方形のブロックの一辺の長さは必ずしもＬ３である必要はない。例えば、Ｌ３／２、Ｌ３／３等Ｌ３以下の値であってもよい。そして、ブロック３０１０と一辺を共有し、かつ中央部３０００と一部領域を共有する正方形のブロック３０１１を作成する。ビア自動配置部２３は作成した正方形のブロックからそれと一辺を共有し、かつ中央部３０００と一部領域を共有する正方形のブロック３０１２を順次作成する。ここで、作成した正方形のブロック３０１２が中央部３０００からはみ出る場合は、ビア自動配置部２３は正方形のブロック３０１２から中央部３０００からはみ出た領域を排除した形状をブロックの形状として適用する。
【０１０３】
次に、ステップＳ２６０９では、ビア自動配置部２３は作成したブロック３０１０、３０１１、３０１２のそれぞれの内部にＧＮＤビアが既に存在するか否かを判定し、ＧＮＤビアが存在しない場合にＧＮＤビア３０２０を配置する処理を実行する。ステップＳ２６０９では、上述したステップＳ２６０２からステップＳ２６０６までの処理をブロック３０１２に対して適用すればよい。ステップＳ４１９において、ビア自動配置部２３はプログラムを終了する。
【０１０４】
本実施形態では所定の間隔Ｌ２又はＬ３にユーザの設定した割合を乗算した値を採用する等の処理によって分割するブロックの大きさを調整することにより、ユーザが所望するＧＮＤビア配置状況を実現することができる。これにより、所定の間隔以内にＧＮＤビアを配置することよりも、ＧＮＤビアの配置数を少なくすることを重視した、すなわちコスト面を考慮したＧＮＤビアを配置できる。なお、図３２では、ＧＮＤビア２７２０、２８２０、３０２０、ブロック３０１２の全てには符合を付していない。
また、必ずしも全てのブロック内にＧＮＤビアを配置する必要はない。すなわち、所定の面積以下のブロックにはＧＮＤビアを配置しない等の処理を追加することにより、ユーザにとって不要なＧＮＤビアを配置しない、すなわち前記と同様にコスト面を考慮したＧＮＤビアの配置が可能となる。
さらに、第１の実施形態と同様にＧＮＤ重複導電領域の位置情報及び形状情報が座標平面及び空間上の不等式で表現されている場合であっても適用することができる。
【０１０５】
本実施形態によれば図３３に示すようにプリント基板のＧＮＤ重複導電領域の周縁部及び内縁部の周縁から所定の間隔Ｌ１以内の距離に所定の間隔Ｌ２以内の間隔でＧＮＤビアを自動で配置することができる。さらに、ＧＮＤ重複導電領域の中央部に所定の間隔Ｌ３以内の間隔でＧＮＤビアを自動で配置することができる。なお、本実施形態においてブロックの大きさ及び形状を決定する所定の間隔Ｌ１、Ｌ２、Ｌ３は、実際にＧＮＤビアを配置するときには、１つの基板の中で、状況によりそれぞれＬ１以内の値、Ｌ２以内の値、Ｌ３以内の値で変動させてもよい。ただし、Ｌ１、Ｌ２、Ｌ３の値を変動させない、すなわち等間隔にブロックを分割するように設定することにより、状況によるＬ１、Ｌ２、Ｌ３の値の変動の計算が不要となり、プログラムの動作が速くなる効果を得ることができる。
また、本実施形態では、プリント基板のＧＮＤ重複導電領域の周縁部および内縁部と中央部を段階的に分けてＧＮＤビアを自動で配置する一例を示した。一方で、プリント基板全体にＧＮＤビアを自動で配置することも可能である。この場合、図２８のステップＳ２６０７で中央部をブロックに分割した方法を、そのままＧＮＤ重複導電領域全体に適用することで、ＧＮＤ重複導電領域全体に一括でＧＮＤビアを所定の間隔以内で自動配置することが可能である。
【０１０６】
また、本実施形態では、プリント基板の全導電層を介するＧＮＤビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するＧＮＤビアを自動配置することもできる。その場合、ＧＮＤビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にＧＮＤビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するＧＮＤビアを、既に配置されたＧＮＤビアとして取り扱うことで効率的にＧＮＤビアを配置することができる。
【０１０７】
（第５の実施形態）
第１の実施形態から第４の実施形態ではプリント基板のＧＮＤ重複導電領域に対してＧＮＤビアを自動で配置する場合について説明した。本実施形態では、信号等の配線変更等に伴い、ＧＮＤ重複導電領域が変化した際に、ＧＮＤビアを所定の間隔以内で再配置する場合について説明する。
本実施形態では、配線変更前のプリント基板の模式図として図６に示すプリント基板を参照する。また、配線変更後のプリント基板の模式図として、図３４に示すプリント基板を参照する。ここで、本実施形態におけるプリント基板の配線変更点について説明する。本実施形態では、図６（ｃ）に示す内層の信号配線６２１０及び信号配線ビア６２２０が図３４（ｃ）に示す内層の信号配線３２１０及び信号配線ビア３２２０に変更されている。また、図６（ｄ）に示す表層の信号配線６３１０及び信号配線ビア６３２０が図３４（ｄ）に示す表層の信号配線３２１１及び信号配線ビア３２２１に変更されている。この配線変更に伴い、図６（ｃ）（ｄ）に示すＧＮＤ導電領域６２３、６３３の形状が、それぞれ図３４（ｃ）（ｄ）に示すＧＮＤ導電領域３２３０、３２３１に変更されている。
【０１０８】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図３５及び図３６に示すフローチャートと図３４及び図３７から図４４に示す模式図を参照して説明する。図３５に示すステップＳ４００からステップＳ４０７、ステップＳ４０９及びＳ４１０の動作処理は、第１の実施形態の図４に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。また、図３６に示すフローチャートは図５に示すフローチャートと同様であり、その説明は省略する。
【０１０９】
ここで、図３５に示すフローチャートの一部の処理について説明する。
ステップＳ４０４では、図形演算部２２はステップＳ４０３において選択したＧＮＤ配線名に関連する各層のＧＮＤ導電領域を再度特定する。この処理はグラウンド導電領域再特定ステップの一例に対応する。
次に、ステップＳ４０５では、図形演算部２２は特定した各層のＧＮＤ導電領域が高さ方向に２次元的に重複する領域をＧＮＤ重複導電領域Ｃとして再度抽出する。この処理は重複導電領域再抽出ステップの一例に対応する。
次に、ステップＳ３３００からステップＳ３３０４までの処理について説明する。ここで、ステップＳ３３００からステップＳ３３０４までの処理は、ビア自動配置部２３が主記憶装置１１にあるレイアウト情報１４２を読み出して行う。
【０１１０】
ステップＳ３３００では、ビア自動配置部２３はステップＳ４０７において、配線変更後のＧＮＤ重複導電領域Ｃの位置情報及び形状情報を取得した後、ＧＮＤビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。具体的にはビア自動配置部２３はＧＮＤ重複導電領域Ｃ外に配置されているＧＮＤビアを排除する。この処理は重複導電領域外排除ステップの一例に対応する。
ステップＳ３３０１では、ビア自動配置部２３はＧＮＤ重複導電領域Ｃの各角付近のビア配置位置を算出する。
ステップＳ３３０２では、ビア自動配置部２３はステップＳ３３０１で算出したビア配置位置から所定の間隔Ｌ２以内の範囲のＧＮＤビアを排除する。
ステップＳ３３０３では、ビア自動配置部２３はステップＳ３３０１で算出したビア配置位置にＧＮＤビアを配置する。
【０１１１】
ステップＳ４０９では、ビア自動配置部２３はステップＳ３３０３で配置したＧＮＤビアのうち、ＧＮＤ重複導電領域Ｃの構成ラインに沿って隣り合う２つのＧＮＤビア間を所定の間隔Ｌ２以内の距離で分割する。
ステップＳ３３０４では、ビア自動配置部２３は分割した位置から所定の間隔Ｌ２の範囲内に既に配置されているＧＮＤビアを排除する。
ステップＳ４１０では、ビア自動配置部２３はステップＳ４０９で分割した各位置にＧＮＤビアを配置する。この処理は自動再配置ステップの一例に対応する。ここで、高速配線の変更に対する場合は、ステップＳ３３００とステップＳ３３０１との間に図１７に示すステップＳ１６００からステップＳ１６０２までの処理を付加する。この場合、ステップＳ１６００で選択される高速配線ビアは変更された高速配線のビアのみでよい。
【０１１２】
次に、図３４及び図３７から図４４の模式図を参照して本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。
まず、ステップＳ４０１からステップＳ４０６で、ビア自動配置部２３はＧＮＤ重複導電領域を抽出する。これらの処理は第１の実施形態と同一である。図３７は抽出されたＧＮＤ導電領域を示す図である。すなわち、図３７に示すグレー部分の領域８０、８２、８３、３５８１、３５８４がＧＮＤ重複導電領域である。なお、ＧＮＤ重複導電領域８０、８２、８３は図１０に示す同一符号のＧＮＤ重複導電領域と一致する。すなわち、ＧＮＤ重複導電領域３５８１、３５８４が変化したＧＮＤ重複導電領域である。
【０１１３】
図３８はステップＳ４０６が終了した時点でのＧＮＤ重複導電領域とＧＮＤビアの配置状態とを示す図である。ステップＳ４０７では、ビア自動配置部２３はＧＮＤ重複導電領域の位置情報及び形状情報を取得した後、ステップＳ３３００でＧＮＤ重複導電領域外の図３８に示すＧＮＤビア３６００を排除する。図３９はＧＮＤ重複導電領域外のＧＮＤビアを排除した後のＧＮＤビアの配置状態を示す図である。図３９に示すようにＧＮＤ重複導電領域外のＧＮＤビアが排除されている。
【０１１４】
次に、ＧＮＤ重複導電領域にＧＮＤビアを再配置する処理動作について具体的に説明する。ここでは、説明を容易にするために、図３８に示す変化したＧＮＤ重複導電領域３５８４にＧＮＤビアを再配置する処理動作について説明する。実際には、その他のＧＮＤ重複導電領域８０、８２、８３、３５８１にも同様に再配置の処理を行うことは言うまでもない。また、変化したＧＮＤ重複導電領域を判別するフローを追加することで、変化したＧＮＤ重複導電領域のみに対してＧＮＤビアの再配置を実行することも可能である。
【０１１５】
ここでは、第１の実施形態と同様にＧＮＤ重複導電領域の周縁部及び内縁部と中央部とを段階的に分けて、各部分にＧＮＤビアを再配置する場合について説明する。したがって、ステップＳ４０１で設定されるビア自動配置条件は、所定の間隔Ｌ１、Ｌ２、Ｌ３である。まず、ＧＮＤ重複導電領域３５８４の周縁部及び内縁部にＧＮＤビアを再配置する動作を具体的に説明する。ここで、図４０に示すグレー部分の領域はＧＮＤ重複導電領域３５８４を拡大した図である。
【０１１６】
ステップＳ３３０１では、ビア自動配置部２３はステップＳ４０７で取得したＧＮＤ重複導電領域３５８４の位置情報及び形状情報に基づいて各構成点を抽出し、各構成点付近のビア配置位置３８００を算出する。各構成点付近のビア配置位置算出方法は、第１の実施形態の図４に示すフローチャート内のステップＳ４０８と同じ方法（図１１参照）を用いればよい。
ステップＳ３３０２では、ビア自動配置部２３はビア配置位置３８００から所定の間隔Ｌ２の範囲内、すなわち図４０に示す円３８１０の内部にあるＧＮＤビア３８０１を排除する。
次に、ステップＳ３３０３では、ビア自動配置部２３は各ビア配置位置３８００にＧＮＤビア３８００を配置する。
【０１１７】
次に、ステップＳ４０９では、ビア自動配置部２３はステップＳ３３０３で配置したＧＮＤビアのうち、ＧＮＤ重複導電領域３５８４の構成ラインに沿って隣り合うＧＮＤビア間を所定の間隔Ｌ２以内の間隔で分割する。ここで、分割方法は第１の実施形態の図４に示すフローチャート内のステップＳ４０９で説明した方法を用いればよい。ここで、図４１に示す黒丸３９００はステップＳ４０９で分割した各位置を示している。
ステップＳ３３０４では、ビア自動配置部２３はステップＳ４０９で分割した各位置から所定の間隔Ｌ２の範囲内、すなわち図４１に示す円３９１０の内部に既に配置されているＧＮＤビア３９０１を排除する。ここで、図４１では、ＧＮＤ重複導電領域８４とＧＮＤ重複導電領域３５８４との間で変化していない構成ラインに沿って位置３９００と完全に重なっているＧＮＤビア３９０１が存在し、ビア自動配置部２３はそれらのＧＮＤビア３９０１も排除している。
【０１１８】
ステップＳ４１０では、ビア自動配置部２３はステップＳ４０９で分割した各位置にＧＮＤビア３９００を配置する。ここでは、図を見易くするためにステップＳ４０９で分割した位置３９００とステップＳ４１０で配置したＧＮＤビア３９００とに同一符号を付した。
【０１１９】
次に、ＧＮＤ重複導電領域３５８４の中央部にＧＮＤビアを配置する動作について具体的に説明する。図４２はＧＮＤ重複導電領域３５８４の中央部にＧＮＤビアを配置状態を示す図である。
ステップＳ４１１では、ビア自動配置部２３はＧＮＤ重複導電領域３５８４内に存在するＧＮＤビアを一つ選択する。ここで例えば、ビア自動配置部２３は図４２に示すＧＮＤビア４０００を選択したものとする。
ステップＳ４１２では、ビア自動配置部２３はＧＮＤビア４０００から第１の実施形態の図５に示すフローチャートのステップＳ４１２において、説明した同様の方法でスライド位置を算出する。すなわち、ビア自動配置部２３はｘ軸方向及びｙ軸方向の各正負方向に所定の間隔Ｌ３の半分の距離（Ｌ３／２）だけ移動した位置を算出する。具体的には、ｘ軸方向の正方向、ｘ軸方向の負方向、ｙ軸方向の正方向、ｙ軸方向の負方向に移動した位置はそれぞれ図４２に示すスライド位置４００１、４００２、４００３、４００４である。
【０１２０】
ステップＳ４１３では、ビア自動配置部２３はスライド位置４００１、４００２、４００３、４００４から一つを選択する。ここでは例えば、ビア自動配置部２３はスライド位置４００１を選択する。
ステップＳ４１４では、ビア自動配置部２３はスライド位置４００１から所定の間隔Ｌ３の半分の距離（Ｌ３／２）の範囲内、すなわち図４２に示す円４０１１の内部に他のＧＮＤビアが配置されていないと判定し、ステップＳ４１５の処理に進める。
ステップＳ４１５では、ビア自動配置部２３はスライド位置４００１がＧＮＤ重複導電領域３５８４内であると判定し、ステップＳ４１６に処理を進める。
したがって、ステップＳ４１６では、ビア自動配置部２３はスライド位置４００１にＧＮＤビア４００１を配置する。この処理は自動再配置ステップの一例に対応する。
【０１２１】
ステップＳ４１７では、ビア自動配置部２３は未だステップＳ４１４の判定を行っていないスライド位置４００２、４００３、４００４が存在すると判定するので、ステップＳ４１３の処理に戻る。
ステップＳ４１３では、ビア自動配置部２３はスライド位置４００２、４００３、４００４から一つを選択する。ここで例えば、ビア自動配置部２３はスライド位置４００２を選択する。この場合、ステップＳ４１４では、ビア自動配置部２３はスライド位置４００２から距離Ｌ３／２の範囲内、すなわち図４２に示す円４０１２の内部に既にＧＮＤビア４０２２が配置されていると判定するので、ステップＳ４１７に処理を進める。ステップＳ４１７では、ビア自動配置部２３は未だステップＳ４１４の判定を行っていないスライド位置４００３、４００４が存在すると判定するので、ステップＳ４１３に処理を戻す。
【０１２２】
以後、ビア自動配置部２３は同様にステップＳ４１３からステップＳ４１７の処理をステップＳ４１７で残りのスライド位置が存在しなくなるまで繰り返し実行する。そして、ビア自動配置部２３はスライド位置４００３にはＧＮＤビアを配置せず、スライド位置４００４にはＧＮＤビア４００４を配置する。ステップＳ４１７において残りのスライド位置が存在しなくなると、ステップＳ４１８に処理を進める。
ステップＳ４１８では、ビア自動配置部２３は未だステップＳ４１２の処理を行っていないＧＮＤビアが存在すると判定するので、ステップＳ４１１の処理に戻る。
【０１２３】
以後、ビア自動配置部２３は同様にステップＳ４１１からステップＳ４１８までの処理をステップＳ４１８でステップＳ４１２の処理を行っていないＧＮＤビアが存在しなくなるまで繰り返し実行する。ステップＳ４１８でステップＳ４１２の処理を行っていないＧＮＤビアが存在しなくなると、ステップＳ４１９でプログラムを終了する。
【０１２４】
図４３はＧＮＤ重複導電領域３５８４内のＧＮＤビアの配置状態を示している。また、図４４はプログラムを終了した後のプリント基板全体のＧＮＤ重複導電領域とＧＮＤビアの配置状態を示している。なお、図を見易くするために、図４０のＧＮＤビア３８００、円３８１０、図４１のＧＮＤビア３９００、円３９１０、ＧＮＤビア３９０１の全てには符合を付していない。
【０１２５】
このように、本実施形態ではＧＮＤ重複導電領域の周縁部及び内縁部にＧＮＤビアを再配置するときに、ＧＮＤビアを全て新規に配置し直す場合について説明した。しかしながら、配線変更に伴い、ＧＮＤ重複導電領域の周縁部及び内縁部でＧＮＤビアが配置されていない場所を検索したり、変化した構成ラインを判別し、その周縁部及び内縁部にのみ配置したりしてもよい。
また、ＧＮＤ重複導電領域外のＧＮＤビアを、配置を必要とするにもかかわらず配置されていない位置へ１個ずつ、又は複数個ずつ修正して移動させてもよい。この処理は自動修正配置ステップの一例に対応する。このとき、配置を必要とする位置の算出方法は、本実施形態の図３５に示すフローチャートのステップＳ３３０１又は図３６に示すフローチャートのステップＳ４１２で説明した方法を適用すればよい。
また、本実施形態では、ＧＮＤ重複導電領域を周縁部及び内縁部と中央部とに分けて、段階的にＧＮＤビアを再配置する場合について説明したが、第３の実施形態のＧＮＤビア配置方法を適用することで、ＧＮＤビアを段階的に分けずに配置することもできる。
【０１２６】
本実施形態は第１の実施形態と同様、ステップＳ４１２の移動距離及びステップＳ４１４のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のＧＮＤビア配置状況を実現することができる。このようにすることで、所定の間隔以内にＧＮＤビアを配置することよりも、ＧＮＤビアの配置数を少なくして、コスト面を考慮したＧＮＤビアの配置を行うことができる。さらにＧＮＤ重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもＧＮＤビアの自動配置を行うことができる。
【０１２７】
このように本実施形態では、図４４に示すようにＧＮＤ重複導電領域が変化した場合であっても、ＧＮＤ重複導電領域の周縁部及び内縁部の端から所定の間隔Ｌ１以内の距離に所定の間隔Ｌ２以内の間隔でＧＮＤビアを自動で再配置することができる。さらに、ＧＮＤ重複導電領域の中央部に所定の間隔Ｌ３以内の間隔でＧＮＤビアを自動で再配置することができる。なお、本実施形態における所定の間隔Ｌ１、Ｌ２、Ｌ３は、実際にＧＮＤビアを配置するときには、１つの基板の中で、状況によりそれぞれＬ１以内の値、Ｌ２以内の値、Ｌ３以内の値で変動させてもよい。ただし、Ｌ１、Ｌ２、Ｌ３の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるＬ１、Ｌ２、Ｌ３の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【０１２８】
また、本実施形態では、プリント基板の全導電層を介するＧＮＤビアを自動追加配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するＧＮＤビアを自動配置することもできる。その場合、ＧＮＤビアの介する導電層にのみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にＧＮＤビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するＧＮＤビアを、既に配置されたＧＮＤビアとして取り扱うことで効率的にＧＮＤビアを配置することができる。
【０１２９】
（第６の実施形態）
第５の実施形態では、配線変更に伴うＧＮＤ重複導電領域の変化に対して、自動でＧＮＤビアを再配置する場合について説明した。このとき、ＧＮＤビアを再配置する方法は配線変更後のＧＮＤ重複導電領域の位置情報及び形状情報のみからＧＮＤビアを排除し、追加配置する方法であった。本実施形態では、配線変更に伴う信号配線の形状の変化からＧＮＤビアの排除を行い、その後、ＧＮＤ重複導電領域内にＧＮＤビアを追加配置する場合について説明する。
図４５は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。図４５に示すステップＣは第５の実施形態の図３６に示すステップＣのフローチャートに続く。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図４５に示すフローチャートと図４６から図４８に示す模式図を参照して説明する。なお、配線変更前及び配線変更後の図は第５の実施形態と同様、それぞれ図６と図３４との模式図を参照する。
【０１３０】
まず、図４５に示すフローチャートについて詳細に説明する。ここで、図４５に示すフローチャートは第５の実施形態の図３５に示すフローチャートの開始後にステップＳ４３００、ステップＳ４３０１及びステップＳ４３０２を追加したものである。したがって、ステップＳ４３００、ステップＳ４３０１及びステップＳ４３０２についてのみ詳細に説明する。
ステップＳ４３００では、外部記憶情報抽出部２１はプリント基板上に配置されている各部品及び配線に対するビア配置禁止領域情報を取得する。この処理は禁止領域情報取得ステップの一例に対応する。ビア配置禁止領域情報の取得方法としては、レイアウト情報１４２の中にビア配置禁止領域情報を含めておき、外部記憶情報抽出部２１が主記憶装置１１にあるレイアウト情報１４２から取得する方法が好ましい。なお、次のような方法も考えられる。信号配線や部品の型の属性情報をレイアウト情報１４２に含めておき、外部記憶情報抽出部２１が主記憶装置１１にあるレイアウト情報１４２から信号配線や部品の型の属性情報を抽出する。次に、各信号配線や部品の型の属性情報とビア配置禁止領域情報との対応関係データＤを予め外部記憶装置１４の中に蓄積しておき、外部記憶情報抽出部２１が外部記憶装置１４から主記憶装置１１に対応関係データＤを格納する。そして、外部記憶情報抽出部２１は信号配線や部品の型の属性情報と対応関係データＤを照合させ、対応関係Ｄから該当する信号配線や部品の型の属性情報に与えられるビア配置禁止領域情報を取得する。
【０１３１】
次に、ステップＳ４３０１では、図形演算部２２は主記憶装置１１にあるレイアウト情報１４２及びビア配置禁止領域情報を参照しながら、変更のあった各配線や部品に対してビア配置禁止領域を算出する。この処理は禁止領域算出ステップの一例に対応する。例えば、信号配線Ｅが変更され、信号配線Ｅに対するビア配置禁止領域情報が信号配線Ｅの導電領域から距離Ｌ６Ａの範囲であった場合は、変更後の信号配線Ｅの導電領域から距離Ｌ６Ａ以内の範囲をビア配置禁止領域として算出する。また、例えば部品Ｆの配置位置が変更されたとする。部品Ｆのビア配置禁止領域情報が部品Ｆの外形から距離Ｌ６Ｂの範囲以内であった場合は、変更後の位置にある部品Ｆの外形から距離Ｌ６Ｂ以内の範囲をビア配置禁止領域として算出する。
一方で、部品Ｆのビア配置禁止領域情報が部品Ｆの各ピンをプリント基板の導電領域に電気的に接続させるための導電領域（以下、ピンパッド）から距離Ｌ６Ｃの範囲であるとする。この場合、変更後の部品Ｆの各ピンのピンパッドから距離Ｌ６Ｃ以内の範囲をビア配置禁止領域として算出する。
【０１３２】
さらに、部品Ｆのビア配置禁止領域情報が部品Ｆの部品配置位置を基準として算出可能な構成点で構成される図形情報Ｆ５の場合、部品Ｆの配置位置と図形情報Ｆ５とからビア配置禁止領域を算出する。
また、例えば信号配線ビアＧの位置が変更され、信号配線ビアＧのビア配置禁止領域が信号配線ビアＧの電気的接続を良好にするために設けられた導電領域（以下、ビアパッド）から距離Ｌ６Ｄの範囲であるとする。その場合、変更後の信号配線ビアＧのビアパッドから距離Ｌ６Ｄ以内の範囲をビア配置禁止領域として算出する。
ステップＳ４３０２では、ステップＳ４３０１において各変更後の配線や部品等に対するビア配置禁止領域を算出すると、ビア自動配置部２３は主記憶装置１１にあるレイアウト情報１４２を参照し、ビア配置禁止領域に含まれるＧＮＤビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。
以上が、本実施形態に係るプリント基板設計支援装置の一部の処理手順の一例である。
【０１３３】
なお、図４５に示すフローチャートでは、ステップＳ４３００からステップＳ４３０２までの処理をフローチャート開始直後、すなわちステップＳ４００直後で実行するようにした。しかしながら、ステップＳ４３００からステップＳ４３０２までの処理をステップＳ４０６の直後で実行するようにしても同様の結果を得ることができる。
また、高速配線の変更に対する対応としては、ステップＳ３３００とステップＳ３３０１との間に、図１７に示すステップＳ１６００からステップＳ１６０２までの処理を付加すればよい。この場合、ステップＳ１６００で選択される高速配線ビアは変更された高速配線ビアのみでよい。
【０１３４】
次に、図４６から図４８までの模式図を参照して、本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。ここでは説明の理解を容易にするために、開始後にステップＳ４０１からステップＳ４０６までの処理を実行し、次にステップＳ４３００からステップＳ４３０２までの処理を実行し、その後ステップＳ４０７からプログラム終了までを実行する。
ステップＳ４００から開始し、ステップＳ４０６までの一連のステップ群を繰り返して実行されると、図形演算部２２は第５の実施形態において説明した図３８に示すＧＮＤ重複導電領域８０、８２、８３、３５８１、３５８４を抽出する。図４６では、図３８に加えて、変更された信号配線３２１０、３２１１、変更された信号配線ビア３２２０を示している。
【０１３５】
ステップＳ４３００では、外部記憶情報抽出部２１は信号配線３２１０、３２１１、信号配線ビア３２２０のビア配置禁止領域情報を取得する。ここで、例えば、信号配線３２１０及び信号配線３２１１のビア配置禁止領域情報が信号配線の導電領域から距離Ｌ６Ａの範囲であり、信号配線ビア３２２０のビア配置禁止領域情報がビアパッドから距離Ｌ６Ｄの範囲であるとする。
ステップＳ４３０１では、図形演算部２２は信号配線３２１０及び信号配線３２１１の各ラインの導電領域から距離Ｌ６Ａの範囲、すなわちそれぞれ図４６に示す点線で示した矩形４４００及び矩形４４０１を算出する。また、信号配線ビア３２２０のビアパッドから距離Ｌ６Ｄの範囲、すなわち図４６に示す点線で示した円４４０２を算出する。
【０１３６】
ステップＳ４３０２では、ビア自動配置部２３は矩形４４００、４４０１及び円４４０２に含まれるＧＮＤビア、すなわち矩形４４００に含まれるＧＮＤビア４４２０及び矩形４４０１に含まれるＧＮＤビア４４２１を排除する。なお、図を見易くするためにＧＮＤビア４４２０、４４２１の全てには符合を付していない。図４７はビア配置禁止領域内のＧＮＤビア４４２０及びＧＮＤビア４４２１を排除した後のＧＮＤ重複導電領域とＧＮＤビアの配置状態とを示す図である。なお、ステップＳ４０７からステップＳ４１９までの処理は第５の実施形態の説明と同様であり、その説明は省略する。図４８はプログラムを終了した後のＧＮＤ重複導電領域とＧＮＤビアの配置状態とを示す図である。
【０１３７】
本実施形態によれば、第５の実施形態と同様、プリント基板の配線変更に伴ってＧＮＤ重複導電領域の形状が変化した場合にあっても、ＧＮＤビアを自動で再配置することができる。なお、本実施形態では配線変更が一通り終了してから、ビア配置禁止領域内に入ったＧＮＤビアを排除する場合について説明した。しかしながら、配線や部品を配置するごとに、ビア配置禁止領域の算出、ビア配置禁止領域内のＧＮＤビアの排除及びＧＮＤ重複導電領域内のＧＮＤビアの再配置を行ってもよい。これにより、ユーザは配線を変更しながら、ＧＮＤビアの再配置状況を確認することができる。ただし、配線変更ごとにＧＮＤビアの再配置を実行する場合、配線の位置及び方向を変更するたびに図形計算処理を必要とし、ユーザの円滑な作業を妨害することもある。したがって、ここでは配線変更が一通り終了した後にビア配置禁止領域内に入ったＧＮＤビアを排除する一例を示した。
【０１３８】
また、本実施形態ではラインに対するビア配置禁止領域を矩形とする場合について説明したが、ラインに対するビア配置禁止領域の角を丸くしたり、ラインの始点及び終点の周囲は円状にしたりしてもよい。また、ビアパッドに対するビア配置禁止領域を円としたが、楕円や矩形で代用してもよい。このように、各配線や部品に対するビア配置禁止領域情報の形状は様々な形状とすることができる。
また、本実施形態では、プリント基板の全導電層を介するＧＮＤビアを自動修正及び追加配置する場合について説明した。しかし、プリント基板を構成する導電層のうちの一部の導電層を介するＧＮＤビアを自動配置することもできる。その場合、ＧＮＤビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にＧＮＤビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するＧＮＤビアを、既に配置されたＧＮＤビアとして取り扱うことで効率的にＧＮＤビアを配置することができる。
【０１３９】
（第７の実施形態）
第１の実施形態から第３の実施形態ではＧＮＤ重複導電領域に対してＧＮＤビアを自動配置する場合について説明した。第５の実施形態及び第６の実施形態では配線変更等に伴うＧＮＤ重複導電領域の形状の変更があった場合にＧＮＤビアを自動で再配置する場合について説明した。
本実施形態では、部品の配置及び配線が行われる前にＧＮＤビアを自動配置し、部品の配置及び配線に伴って排除すべきＧＮＤビアを排除するプリント基板設計装置について説明する。
【０１４０】
図４９は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図４９に示すフローチャートと図５０から図５９に示す模式図を参照して説明する。図５０は本実施形態によりプリント基板を設計した設計後のプリント基板の状態を示す図である。ここで、図５０に示す部品配置及び配線状況について説明する。図５０に示すプリント基板の模式図の部品配置及び配線状況は図３４に示す層６２内の太実線の配線を除いた配置及び配線状況と一致する。ここでは、図５０に示す図を見易くするため、該太実線を排除している。また、図５０に示すグレー領域はＧＮＤ重複導電領域を示す。
【０１４１】
次に、図４９に示すフローチャートについて詳細に説明する。
まず、ステップＳ４７００及びステップＳ４７０１の処理は、それぞれ第１の実施形態で説明した図４に示すフローチャートのステップＳ４００及びステップＳ４０１と同様であり、その説明は省略する。ただし、本実施形態でのビア自動配置条件は、第１の実施形態で説明した所定の間隔Ｌ１、Ｌ２、Ｌ３と同じであり、これらの条件をＧＮＤ重複導電領域を基板外形に置き換えて適用するものとする。また、ビア自動追加条件には、前記所定の間隔Ｌ１、Ｌ２、Ｌ３に加え、ＧＮＤ重複導電領域の周縁からのビア配置禁止距離Ｌ７（以下、禁止距離Ｌ７）が含まれる。以下、ステップＳ４７０２からステップＳ４７０８までに行う処理は、ビア自動配置部２３が主記憶装置１１にあるレイアウト情報１４２を読み出して行う処理である。
【０１４２】
ステップＳ４７０２では、ビア自動配置部２３はプリント基板の外形の位置情報及び形状情報を取得する。
ステップＳ４７０３では、ビア自動配置部２３は基板外形内に所定の間隔以内でＧＮＤビアを配置する。ステップＳ４７０３において所定の間隔以内でＧＮＤビアを配置する方法としては、第１の実施形態又は第４の実施形態に説明した第１の実施形態又は第４の実施形態におけるＧＮＤ重複導電領域を本実施形態における基板の外形内部に置き換えて適用すればよい。
【０１４３】
ステップＳ４７０４では、ビア自動配置部２３はステップＳ４７０３でＧＮＤビアを配置した後、ユーザにより部品や配線が追加又は変更される、すなわちレイアウト情報１４２が変更されるたびに、ビア配置禁止領域を作成する必要があるか否かを判定する。ビア配置禁止領域を作成する必要がある場合、ステップＳ４７０５、ステップＳ４７０６及びステップＳ４７０７の処理を実行し、再びステップＳ４７０４の処理に戻る。ビア配置禁止領域を作成する必要がない場合、ステップＳ４７０８の処理に進める。ここで、ステップＳ４７０５、ステップＳ４７０６及びステップＳ４７０７では、それぞれ第６の実施形態で説明した図４５に示すステップＳ４３００、ステップＳ４３０１及びステップＳ４３０２と同様の処理を実行する。したがって、ステップＳ４７０５、ステップＳ４７０６及びステップＳ４７０７の処理についての詳細な説明は省略する。
【０１４４】
ステップＳ４７０８では、図形演算部２２はＧＮＤ導電領域の面図形が挿入されたか（面入れがされたか）否かを判定する。ＧＮＤ導電領域の面入れがされた場合、ステップＳ４７０９の処理に進める。面入れがされずに部品配置又は配線の変更がなされた場合、ステップＳ４７０４の処理に戻る。
ステップＳ４７０９では、図形演算部２２は主記憶装置１１にあるレイアウト情報１４２を読み出して、ＧＮＤ重複導電領域を抽出する。ステップＳ４７０９でＧＮＤ重複導電領域を抽出する方法としては、第１の実施形態の図４に示すフローチャートのステップＳ４０２からステップＳ４０６までの方法を適用すればよい。
【０１４５】
以下、ステップＳ４７１０からステップＳ４７１２までの処理はビア自動配置部２３が主記憶装置１１にあるレイアウト情報１４２を読み出して行う処理である。
ステップＳ４７１０では、ビア自動配置部２３は抽出されたＧＮＤ重複複導電領域の位置情報及び形状情報を取得する。
次に、ステップＳ４７１１では、ビア自動配置部２３はＧＮＤ重複導電領域外又はＧＮＤ重複導電領域の周縁及び内縁から所定の距離Ｌ７以内の範囲に配置されているＧＮＤビアを排除する。ステップＳ４７１２では、処理プログラム１４１を終了する。
以上が、本実施形態に係る図４９に示すフローチャートの詳細な説明である。本実施形態では、プリント基板のＧＮＤ重複導電領域全体に等間隔以内でＧＮＤビアを配置する場合について説明した。しかしながら、ＧＮＤ重複導電領域の周縁部分及び内縁部分と中央部分を分けて配置してもよい。その場合、図４９に示すフローチャートのステップＳ４７１１以降に第５の実施形態で説明した図３５に示すフローチャートのステップＳ３３０１からステップＳ４１０を追加し、ＧＮＤ重複導電領域内にＧＮＤビアを再配置すればよい。
【０１４６】
また、第２の実施形態と同様に高速配線ビアの近傍にＧＮＤビアを配置する場合、ステップＳ４７１０とステップＳ４７１１との間に図１７に示すフローチャートのステップＳ１６００からステップＳ１６０２までの処理を加えればよい。
さらに、ステップＳ４７０８のＧＮＤの面入れ後にも配線等が変更されることがある。この場合、第６の実施形態と同様に配線等が変更されるたびにそれに応じたビア配置禁止領域を作成し、ＧＮＤビアを排除する処理を行えばよい。
【０１４７】
以下、図５０から図５９の模式図を参照して、本実施形態に係る処理動作について具体的に説明する。ステップＳ４７００からステップＳ４７０３までの処理を実行すると、基板外形の周縁部及び内縁部と中央部とにそれぞれ所定の間隔以内でＧＮＤビアが配置される。この具体的な動作は、第１の実施形態で説明した図４及び図５に示すフローチャートのステップＳ４０７からステップＳ４１８までの処理について、ＧＮＤ重複導電領域を基板外形に置き換えることで実現できる。また、第４の実施形態で説明した図２８に示すフローチャートのステップＳ２６００からステップＳ２６０９までの処理について、ＧＮＤ重複導電領域を基板外形に置き換えて実現できる。
なお、周縁部及び内縁部と中央部とを分けずに基板外形全体にＧＮＤビアを所定の間隔以内で配置する場合、第３の実施形態の図２３及び図２４に示すステップＳ４０７からステップＳ４１８までの処理を、ＧＮＤ重複導電領域を基板外形に置き換えて実現できる。ここで、図５１は基板外形内にＧＮＤビアを配置した後のプリント基板のＧＮＤビアの配置状態を示す図である。図５１に示すように、基板外形４８００内の周縁部にＧＮＤビア４８０１が所定の間隔（Ｌ２）以内に配置され、中央部にはＧＮＤビア４８０２が所定の間隔（Ｌ３）以内で配置されている。
【０１４８】
ステップＳ４７０４以降の処理は、ユーザによるプリント基板に部品や配線等を配置することにより実行される。例えば、図５２（ａ）に示すように部品４９００（ビア配置禁止領域を持つ部品）を配置した場合、ステップＳ４７０４では、ビア自動配置部２３はビア配置禁止領域を作成しなければならない追加配置があったと判定する。そして、ステップＳ４７０５及びステップＳ４７０６を実行することで、図５２（ａ）に示す点線で囲まれたビア配置禁止領域４９１０を算出する。ここでは、部品４９００のビア配置禁止領域情報が、部品４９００の配置位置の座標を基準として算出可能な構成点で構成される図形形状で表される場合について説明した。
ステップＳ４７０７では、ビア自動配置部２３はビア配置禁止領域４９１０に含まれるＧＮＤビア４９２０を排除する。同様に、部品４９０１、４９０２、４９０３が配置されるたびにステップＳ４７０５からステップＳ４７０７までの処理を実行し、それぞれ算出したビア配置禁止領域４９１１、４９１２、４９１３に含まれるＧＮＤビア４９２１、４９２２、４９２３を排除する。
【０１４９】
図５３（ａ）は部品４９００、４９０１、４９０２、４３０４が配置された後のプリント基板の状態を示す図である。ここで、部品４９００、４９０１は図５３（ｂ）に示す層６０上に配置され、部品４９０２、４９０３は層６３上に配置されている。次に、図５４（ａ）に示すように、層６０に信号配線５１００を配置した場合、信号配線の周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップＳ４７０５及びステップＳ４７０６の処理を実行することで、ビア自動配置部２３は図５４（ａ）に示す点線のビア配置禁止領域５１１０を算出し、ステップＳ４７０７ではビア配置禁止領域５１１０に含まれるＧＮＤビア５１２０を排除する。図５５（ａ）は信号配線５１００を配置した後のプリント基板の状態を示す図である。
【０１５０】
次に、図５６（ａ）に示すように信号配線と信号配線ビアとが配置されている場合について説明する。図５６（ａ）では、層６０、６２、６３にそれぞれ信号配線５３００、５３０１、５３０２が配置され、信号配線５３００と５３０１とを接続する信号配線ビア５３０３及び信号配線５３０１と５３０２とを接続する信号配線ビア５３０４が配置されている。ここで、信号配線及び信号配線ビアの周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップＳ４７０５及びステップＳ４７０６の処理を実行することで、ビア自動配置部２３は信号配線５３００、５３０１、５３０２に対してビア配置禁止領域５３１０、５３１１、５３１２を算出する。また、ビア自動配置部２３は信号配線ビア５３０３、５３０４に対してビア配置禁止領域５３１３、５３１４を算出する。次に、ステップＳ４７０７では、ビア自動配置部２３はビア配置禁止領域５３１０、５３１１、５３１２、５３１３、５３１４に含まれるＧＮＤビア５３２０を排除する。
図５７（ａ）は信号配線５３００、５３０１、５３０２が配置された後のプリント基板の状態を示す図である。
【０１５１】
以下、同様にユーザがプリント基板に部品や配線等を配置するたびに、ビア自動配置部２３はステップＳ４７０５からステップＳ４７０７までの処理をＧＮＤ導電領域の面入れが行われるまで実行する。
図５８（ａ）は全ての配線を終えた状態のプリント基板を示す図である。図５８（ａ）では層６０、６２、６３にそれぞれ信号配線５５００、５５０１、５５０２が配置され、それらを接続する信号配線ビア５５２０が配置されている。また、図５８（ａ）に示すように、信号配線及び信号配線ビアの周囲のＧＮＤビアが排除されている。
【０１５２】
次に、ユーザによりＧＮＤの面入れが行われると、ステップＳ４７０９では、図形演算部２２はＧＮＤ重複導電領域を抽出する。ここで、図５９（ａ）に示すグレーの領域がＧＮＤ重複導電領域５６００である。
ステップＳ４７１０では、ビア自動配置部２３はＧＮＤ重複導電領域５６００の位置情報及び形状情報を取得する。
ステップＳ４７１１では、ビア自動配置部２３はＧＮＤ重複導電領域５６００の周縁及び内縁から禁止距離Ｌ７の範囲内に含まれるＧＮＤビア５６０１を排除する。ステップＳ４７１２でプログラムを終了する。
【０１５３】
図５０（ａ）はＧＮＤビアを排除した後のプリント基板の状態を示す図である。ただし、図５０（ａ）では、図を見易くするため、図５１に示すＧＮＤビア４８０１、図５２（ａ）に示すＧＮＤビア４９２０、４９２１、４９２２、４９２３、図５４（ａ）に示すＧＮＤビア５１２０、図５６（ａ）に示すＧＮＤビア５３２０の符号を付していない。また、図５８（ａ）に示す信号配線ビア５４２０、図５９（ａ）に示すＧＮＤビア５６０１の符号を付していない。
以上が、本実施形態に係るプリント基板設計支援装置による処理動作である。本実施形態によれば、図５０（ａ）に示すようにプリント基板の周縁部及び内縁部に所定の間隔以内でＧＮＤビアを自動で配置することができる。また、プリント基板の中央部で、かつＧＮＤ重複導電領域全体に所定の間隔以内でＧＮＤビアを自動で配置することができる。
【０１５４】
なお、本実施形態では、ＧＮＤ重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばｘｙ平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもＧＮＤビアの自動配置を行うことができる。例えば、ｘｙ平面上の不等式の場合、ＧＮＤ重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するＧＮＤ重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と、同等の処理を行うことができる。
【０１５５】
また、本実施形態では、ＧＮＤ重複導電領域全体にＧＮＤビアを所定の間隔以内で配置する場合について説明した。しかしながら、ＧＮＤ重複導電領域の周縁部及び内縁部にＧＮＤビアを所定の間隔以内で配置することもできる。この場合、ステップＳ４７１０とステップＳ４７１１との間に図３５に示すフローチャートのステップＳ３３００からステップＳ３３０４の処理を追加すればよい。また、第２の実施形態と同様に、高速配線ビアの近傍にＧＮＤビアを配置する場合は、ステップＳ４７１０とステップＳ４７１１との間に図１７に示すステップＳ１６００からステップＳ１６０２までの処理を追加すればよい。
【０１５６】
上述したように、本発明の実施形態におけるプリント基板設計支援装置を構成する各手段及びプリント基板設計支援方法の各ステップは外部記憶装置１４に格納されたプリント基板設計支援プログラムを実行することによって実現できる。このプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【符号の説明】
【０１５７】
１０：中央処理装置（ＣＰＵ）  １１：主記憶装置  １２：表示装置  １３：入力装置  １４：外部記憶装置  １５：出力装置  １６：バス  １４１：処理プログラム  １４２：レイアウト情報  ２０：入力部  ２１：外部記憶情報抽出部  ２２：図形演算部  ２３：ビア自動配置部
【図１】
0005535301.tif 000002
【図２】
0005535301.tif 000003
【図３】
0005535301.tif 000004
【図４】
0005535301.tif 000005
【図５】
0005535301.tif 000006
【図６】
0005535301.tif 000007
【図７】
0005535301.tif 000008
【図８】
0005535301.tif 000009
【図９】
0005535301.tif 000010
【図１０】
0005535301.tif 000011
【図１１】
0005535301.tif 000012
【図１２】
0005535301.tif 000013
【図１３】
0005535301.tif 000014
【図１４】
0005535301.tif 000015
【図１５】
0005535301.tif 000016
【図１６】
0005535301.tif 000017
【図１７】
0005535301.tif 000018
【図１８】
0005535301.tif 000019
【図１９】
0005535301.tif 000020
【図２０】
0005535301.tif 000021
【図２１】
0005535301.tif 000022
【図２２】
0005535301.tif 000023
【図２３】
0005535301.tif 000024
【図２４】
0005535301.tif 000025
【図２５】
0005535301.tif 000026
【図２６】
0005535301.tif 000027
【図２７】
0005535301.tif 000028
【図２８】
0005535301.tif 000029
【図２９】
0005535301.tif 000030
【図３０】
0005535301.tif 000031
【図３１】
0005535301.tif 000032
【図３２】
0005535301.tif 000033
【図３３】
0005535301.tif 000034
【図３４】
0005535301.tif 000035
【図３５】
0005535301.tif 000036
【図３６】
0005535301.tif 000037
【図３７】
0005535301.tif 000038
【図３８】
0005535301.tif 000039
【図３９】
0005535301.tif 000040
【図４０】
0005535301.tif 000041
【図４１】
0005535301.tif 000042
【図４２】
0005535301.tif 000043
【図４３】
0005535301.tif 000044
【図４４】
0005535301.tif 000045
【図４５】
0005535301.tif 000046
【図４６】
0005535301.tif 000047
【図４７】
0005535301.tif 000048
【図４８】
0005535301.tif 000049
【図４９】
0005535301.tif 000050
【図５０】
0005535301.tif 000051
【図５１】
0005535301.tif 000052
【図５２】
0005535301.tif 000053
【図５３】
0005535301.tif 000054
【図５４】
0005535301.tif 000055
【図５５】
0005535301.tif 000056
【図５６】
0005535301.tif 000057
【図５７】
0005535301.tif 000058
【図５８】
0005535301.tif 000059
【図５９】
0005535301.tif 000060