プリント基板設計支援プログラム、プリント基板設計支援方法及びプリント基板設計支援装置
【課題】プリント基板上に所定の条件を満たすようにビアを自動で配置することを目的とする。
【解決手段】複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、抽出ステップにより抽出された重複導電領域内に複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップとをコンピュータに実行させるためのプリント基板設計支援プログラムであって、第1の配置ステップは、抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、ブロック分割ステップにより分割されたブロック内に層間接続部材を配置する第2の配置ステップと、を有する。
【解決手段】複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、抽出ステップにより抽出された重複導電領域内に複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップとをコンピュータに実行させるためのプリント基板設計支援プログラムであって、第1の配置ステップは、抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、ブロック分割ステップにより分割されたブロック内に層間接続部材を配置する第2の配置ステップと、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリント基板設計支援プログラム、プリント基板設計支援方法及びプリント基板設計支援装置に関するものである。特に、絶縁層を介して積層された複数の導電層間を電気的に接続する層間接続部材(ビアホール、以下、「ビア」という)を適切に配置するためのものである。
【背景技術】
【0002】
近年、情報機器等の電子機器内に伝送される信号の高速化に伴い、該電子機器から放射される不要電磁波(以下、放射ノイズ)が問題となっている。この問題を解決するために、該電子機器内のプリント基板上の配線及び該配線に接続されたワイヤーハーネスや該電子機器の筐体に対し、様々な放射ノイズの抑制設計が行われている。
【0003】
その放射ノイズ抑制設計手法の一つとして、プリント基板内の複数の導電層間を電気的に接続するビアの配置を工夫する技術が提案されている(例えば、特許文献1、特許文献2参照)。
特許文献1のプリント配線基板設計支援装置では、プリント基板上の所定範囲内のビアの配置数を算出し、該ビアの配置数が所定数より少ないことを報知する技術が開示されている。また、このプリント配線基板設計支援装置では、所定間隔でビアが配置されているか否かを検出し、所定間隔で配置されていない場合に報知する技術が開示されている。
特許文献2の基板設計支援装置では、信号のリターン電流ルートの層変更の必要性を判断すべき箇所(以下、チェックポイント)を検出し、チェックポイントから指定距離の範囲内で、かつビアの配置されていない領域の合成領域を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−163467号公報
【特許文献2】特開2007−272342号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように特許文献1のプリント配線基板設計支援装置では、所定範囲内のビアの配置数が少ない、あるいはビアが所定間隔で配置されていないことを報知する。
また、特許文献2の基板設計支援装置では、信号線の層変更箇所等リターン電流ルートの層変更の必要性を判断すべき場所近傍で、かつ電源又はGNDのビアの存在しない箇所の合成領域を算出する。そして、その上でリターン電流ルートの層変更の必要性を判断し、層変更が必要であれば合成領域を可視化する。
【0006】
しかしながら、ユーザが特許文献1の条件を満たすように、又は特許文献2においてリターン電流ルートの層変更の必要な合成領域にビアの追加配置を試みる際に、どの位置にビアを追加することが可能かを目視で判定する必要がある。したがって、ユーザはビアを追加配置することが可能な位置であることを判断するのに多大な時間を必要とし、さらに該判断のミスや追加配置可能な位置の見落としが生じる可能性がある。
【0007】
本発明は上述したような問題点に鑑みてなされたものであり、プリント基板上に所定の条件を満たすようにビアを自動で配置することを目的とする。すなわち、複数の導電層が絶縁層を介して積層されたプリント基板において、複数の導電層の電源又はグラウンド導電領域が重複する導電領域(以下、重複導電領域)上に、電源又はグラウンドのビアを所定の間隔以内で自動配置できるようにする。
【課題を解決するための手段】
【0008】
本発明のプリント基板設計支援プログラムは、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップとをコンピュータに実行させるためのプリント基板設計支援プログラムであって、前記第1の配置ステップは、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、プリント基板上で電源又はグラウンド(以下、GND)のビアを自動で配置することにより、プリント基板設計段階で電源又はGNDのビアを短時間で、かつミスなく配置することができる。
【0010】
また、例えば第1の発明によれば、重複導電領域にビアを所定の間隔以内に自動で配置することにより、ユーザの電源又はGNDのビアを配置する手間を省くことができ、さらにミスや洩れがなく電源又はGNDのビアを配置することができる。
【0011】
また、例えば第1の発明によれば、重複導電領域を分割したブロック内に電源又はGNDのビアを配置することで、電源又はGNDのビアを過度に多く配置することを防止することができる。
【0012】
また、例えば第2の発明によれば、重複導電領域の周縁部及び内縁部から所定の距離の範囲内に所定の間隔以内で電源又はGNDのビアを自動で配置する。したがって、ユーザは複数の導電層を見ながら重複導電領域の形状を確認する手間を省くことができ、かつ重複導電領域の周縁及び内縁付近にミス、洩れなく電源又はGNDのビアを配置することができる。
【0013】
また、例えば第3の発明によれば、配線変更により重複導電領域の形状が変更された場合にも、重複導電領域の形状変更に基づいた電源又はGNDのビアを自動で再配置する。これにより、ユーザは配線変更する際に不必要なビアを排除して、必要なビアを追加配置する手間を省くことができ、さらにミスや洩れがなく電源又はGNDのビアを再配置することができる。
【0014】
また、例えば第4の発明によれば、変更された重複導電領域外の電源又はGNDのビアを自動で排除する。これにより、第3の発明の効果に加え、必要最小限の電源又はGNDのビアを排除し、電源又はGNDのビアの再配置時に不必要な追加配置をする時間を省くことができる。
【0015】
また、例えば第5の発明によれば、変更された配線に応じてその周囲の電源又はGNDのビアを排除する。これにより、第4の発明の効果に加え、ユーザが配線を変更したい位置に電源又はGNDのビアが存在する場合に、該電源又はGNDのビアを排除する手間を省くことができる。さらに、ユーザはGNDのビアの存在を意識することなく、配線を変更することができる。
【0016】
また、例えば第6の発明によれば、変更された重複導電領域内で電源又はGNDビアを自動修正配置する。これにより、変更された重複導電領域内に電源又はGNDビアを整列して配置することができ、ユーザが容易にビアの配置状況を認識することができる。
【0017】
また、例えば第7の発明によれば、変更された重複導電領域外の電源又はGNDビアを該重複導電領域内に修正配置する。これにより、第6の発明の効果に加え、該重複導電領域外の電源又はGNDビアを排除する手間を省くことができる。
【0018】
また、例えば第8の発明によれば、プリント基板に部品や配線を変更した場合であっても、配置禁止領域に配置されているGNDビアを自動に排除する。これにより、電源又はGNDビアを排除する手間を省くことができる。
【図面の簡単な説明】
【0019】
【図1】プリント基板設計支援装置の構成を示す図である。
【図2】プリント基板設計支援装置の機能構成を示す図である。
【図3】プリント基板設計支援装置の動作処理を示すフローチャートである。
【図4】第1の実施形態に係る処理動作の一例を示すフローチャートである。
【図5】第1の実施形態に係る処理動作の一例を示すフローチャートである。
【図6】第1の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図7】第1の実施形態に係るビア自動配置条件の設定方法を説明するための図である。
【図8】第1の実施形態に係るGND属性情報を用いてGND導電領域を特定した場合における処理動作の一例を示すフローチャートである。
【図9】第1の実施形態に係るステップS404の処理後の状態を示す図である。
【図10】第1の実施形態に係るステップS405の処理後の状態を示す図である。
【図11】第1の実施形態に係るステップS408を説明するための図である。
【図12】第1の実施形態に係るステップS410の処理後の状態を示す図である。
【図13】第1の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図14】第1の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図15】第1の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図16】第1の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図17】第2の実施形態に係る処理動作の一例を示すフローチャートである。
【図18】第2の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図19】第2の実施形態に係るステップS405の処理後の状態を示す図である。
【図20】第2の実施形態に係るステップS1600からステップS1602の処理を説明するための図である。
【図21】第2の実施形態に係るステップS408の処理後の状態を示す図である。
【図22】第2の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図23】第3の実施形態に係る処理動作の一例を示すフローチャートである。
【図24】第3の実施形態に係る処理動作の一例を示すフローチャートである。
【図25】第3の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図26】第3の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図27】第3の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図28】第4の実施形態に係る処理動作の一例を示すフローチャートである。
【図29】第4の実施形態に係るステップS2600からステップS2604の処理を説明するための図である。
【図30】第4の実施形態に係るステップS2600からステップS2604の処理を説明するための図である。
【図31】第4の実施形態に係るステップS2606の処理後の状態を示す図である。
【図32】第4の実施形態に係るステップS2608及びステップS2609の処理を説明するための図である。
【図33】第4の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図34】第5の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図35】第5の実施形態に係る処理動作の一例を示すフローチャートである。
【図36】第5の実施形態に係る処理動作の一例を示すフローチャートである。
【図37】第5の実施形態に係るステップS405の処理後の状態を示す図である。
【図38】第5の実施形態に係るステップS405の処理後の状態を示す図である。
【図39】第5の実施形態に係るステップS3300の処理後の状態を示す図である。
【図40】第5の実施形態に係るステップS3301からステップS3303の処理を説明するための図である。
【図41】第5の実施形態に係るステップS409からステップS410の処理を説明するための図である。
【図42】第5の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図43】第5の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図44】第5の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図45】第6の実施形態に係る処理動作の一例を示すフローチャートである。
【図46】第6の実施形態に係るステップS4301の処理を説明するための図である。
【図47】第6の実施形態に係るステップS4302の処理後の状態を示す図である。
【図48】第6の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図49】第7の実施形態に係る処理動作の一例を示すフローチャートである。
【図50】第7の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図51】第7の実施形態に係るステップS4703の処理後の状態を示す図である。
【図52】第7の実施形態に係るステップS4704の処理を説明するための図である。
【図53】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図54】第7の実施形態に係るステップS4706の処理を説明するための図である。
【図55】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図56】第7の実施形態に係るステップS4706の処理を説明するための図である。
【図57】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図58】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図59】第7の実施形態に係るステップS4709の処理後の状態を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明に係るプリント基板設計支援装置、プリント基板設計支援方法及びプリント基板設計支援プログラムの好適な実施形態の一例について詳細に説明する。なお、本発明は以下の説明及び実施形態に限定されるものではなく、本発明の主旨の範囲において適宜変形、組み合わせが可能であることは言うまでもない。
以下に示す実施形態では、ビアを配置する導電領域の対象をGND導電領域にのみ言及するが、必要な場合には電源領域を配置対象とすることができる。さらに、添付の図面において、実施形態及び図面が異なる場合でも、同一のものを示す場合は、同一符号で表す。
【0021】
(第1の実施形態)
図1は、本実施形態に係るプリント基板設計支援装置を含むコンピュータ装置の概略構成の一例を示す図である。図1に示すように、プリント基板設計支援装置100は中央処理装置(CPU)10、主記憶装置11、表示装置12、入力装置13、外部記憶装置14、出力装置15を含んで構成される。
CPU10は装置全体を制御する。主記憶装置11は読み出し専用記憶装置(ROM)やCPU10が計算処理時に一時的な読み書きを行う記憶装置(RAM)等である。表示装置12はブラウン管や液晶ディスプレイ等である。入力装置13はマウスやキーボード等である。外部記憶装置14はハードディスク、フロッピー(登録商標)ディスク、CD、DVD、MD等の記録媒体に対してデータの読み書きを行うものである。出力装置15は表示装置12に出力された計算結果等を印刷するためのプリンタ等である。これらの各装置間はアドレスバス、データバス、制御バス等の情報を伝達するためのバス16を介して互いに接続されている。CPU10の制御によりバス16を介して各装置間で制御情報やデータ情報等、必要な情報の授受を行うことができるように構成されている。
また、外部記憶装置14には、処理プログラム141、レイアウト情報142が予め格納されている。処理プログラム141は、本発明に係るプログラムであって、CPU10が実行できるように外部記憶装置14にインストールされている。
レイアウト情報142はプリント基板に関わる情報である。すなわち、レイアウト情報とはプリント基板の外形や層構成に関する情報、プリント基板に実装される部品の位置座標や端子が接続される導電体部分の形状及び大きさ等の部品情報、部品間配線の配線名、配線図形を構成する各点の位置座標等の配線情報を含んでいる。
【0022】
図2は、本実施形態に係るプリント基板設計支援装置の機構構成の一例を示す図である。
図2に示す機能構成はCPU10が処理プログラム141を実行することにより実現される。プリント基板設計支援装置100は、入力部20、外部記憶情報抽出部21、図形演算部22、ビア自動配置部23を含んで構成される。
入力部20はユーザが入力装置13を介して入力したレイアウト情報の読み出しや、処理プログラム141の実行等の指示情報、処理プログラム141等の実行に使用される条件に関する情報をプリント基板設計支援装置内に入力する機能を有する。以下では、処理プログラム141等の実行に使用される条件をビア自動配置条件という。なお、入力された情報はCPU10が必要に応じて処理したり、制御したりして主記憶装置11に記憶する。
外部記憶情報抽出部21は入力部20から処理プログラムの実行が入力されると、その入力に従って外部記憶装置14中に格納されている処理プログラム141を抽出し、抽出したプログラムを主記憶装置11内に記憶する。また、外部記憶情報抽出部21は、入力部20からレイアウト情報の読み出しの指示を受け取ると、外部記憶装置14中に記憶されているレイアウト情報142を抽出し、抽出したレイアウト情報を主記憶装置11内に記憶する。
図形演算部22は主記憶装置11の一部記憶領域を利用しながら、複数層にわたる図形が2次元的に重複する領域を抽出する等の図形演算処理を行う。図形演算部22は主記憶装置11に記憶されているビア自動配置条件、処理プログラム141及びレイアウト情報142に基づいて図形演算処理を行う。
ビア自動配置部23は主記憶装置11の一部記憶領域を利用しながら、ビアの配置位置及び配置するかどうかを判定するための計算処理を行い、ビアを配置する。
【0023】
図3は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理手順の一例を示すフローチャートである。図4及び図5は図3に示すフローチャートの各ステップの動作を詳細に示したフローチャートである。
まず、図3を参照して本実施形態に係るプリント基板設計支援装置の動作について説明する。ステップS101では、入力部20から処理プログラム実行指示が入力されると、外部記憶情報抽出部21は主記憶装置11に処理プログラム141を転送する。次に、図形演算部22及びビア自動配置部23が処理プログラム141を実行することで、図3に示すフローチャートの処理が開始する。
【0024】
ステップS102では、入力部20が入力された情報を主記憶装置11に転送したり、外部記憶情報抽出部21がレイアウト情報142を抽出して主記憶装置11へ転送したりする。すなわち、入力部20や外部記憶情報抽出部21では後述するビア自動配置に必要な情報の取得及び設定を行う。
【0025】
ステップS103では、図形演算部22は後述するGND重複導電領域を抽出する。
ステップS104では、ビア自動配置部23はGND重複導電領域の周縁部及び内縁部に所定の間隔以内の間隔で後述するGNDビアを自動で配置する。
ステップS105では、ビア自動配置部23はGND重複導電領域の周縁部及び内縁部を除いた領域(以下、中央部)に所定の間隔以内の間隔でGNDビアを自動で配置する。
ステップ106では、処理プログラムを終了する。
【0026】
次に、本実施形態に係るプリント基板設計支援装置の動作を図4及び図5に示す詳細なフローチャートに基づき、図6及び図9から図16に示す模式図を参照して説明する。なお、以下の説明では発明の理解を容易にするため、プリント基板として図6に示す概略的な図を用いる。実際のプリント基板は配線が高密度化し、複雑化しているが以下の概略的説明はそれを排除するものではないことは言うまでもない。
ここで、図6に示すプリント基板の模式図について説明する。図6に示すプリント基板は、4層の導電層がそれぞれ絶縁層を介して積層された構造となっている。具体的には、図6(e)の断面図に示すように、導電層60、61、62、63がそれぞれ絶縁層64を介して積層された構造である。図6(a)、(b)、(c)、(d)は、それぞれ導電層60、61、62、63の導電層側から絶縁層側を見たときの平面図である。各平面図において、グレー部分、黒丸及び黒線の部分が導電性を有する部分である。また、白抜きの部分が導電性を有さない部分(絶縁層上に積層された場合、絶縁体が露出する部分)である。
【0027】
図6(a)、(d)に示す部品600、630はプリント基板上に配置された能動部品である。また、図6(a)、(c)、(d)に示す黒色の実線部分601、621、631はGNDと電位の異なる信号配線の導電領域である。また、図6(a)、(c)、(d)に示す黒丸602、622、632はGNDと電位の異なる信号配線のビアである。また、図6(a)〜(d)に示すグレー部分603、613、623、633はそれぞれGNDの電位を有する配線、すなわちGND導電領域である。なお、図6(a)〜(d)では、図を見易くするために一部の信号配線の導電領域及びビアのみに符号を付している。
【0028】
次に、図4及び図5のフローチャートについて詳細に説明する。
まず、ステップS400では入力部20から処理プログラム実行指示が入力されると、外部記憶情報抽出部21は主記憶装置11に処理プログラム141を転送し、図形演算部22及びビア自動配置部23が処理プログラム141を実行する。
次に、ステップS401では入力部20は入力されたビア自動配置条件を設定する。ここで、ビア自動配置条件とは許容最大値L1、許容最大値L2及び許容最大値L3等である。許容最大値L1(以下、所定の間隔L1)は各層のGND導電領域が2次元的に重複している領域(以下、GND重複導電領域)の周縁からGNDビアまでの間隔の許容最大値である。また、許容最大値L2(以下、所定の間隔L2)はGND重複導電領域の周縁部及び内縁部におけるGNDビアの間隔の許容最大値である。また、許容最大値L3(以下、所定の間隔L3)はGND重複導電領域の中央部におけるGNDビアの間隔の許容最大値である。
【0029】
ここで、所定の間隔L2、L3にはプリント基板の導電領域を流れる最も大きい周波数を有する信号電流の波長(λ)の2分の1(λ/2)より小さくすることが好ましい。これは、プリント基板のGND導電領域上を流れるリターン電流とその反射した電流が共振することを防ぐためである。実際には、1つのGNDビアから見てあらゆる方向のλ/2の距離の範囲内にGND又は電源ビアが配置されることが好ましい。一方で、現実的には、λ/10以下の間隔で配置すれば放射ノイズを十分に抑制することが可能である。したがって、L2=L3=λ/10とすれば十分である。
また、GND重複導電領域の周縁部及び内縁部を中央部に比べて小さい間隔でGNDビアを配置するような場合には、L2=λ/10、L3=λ/4のように設定してもよい。例えば、プリント基板上の最も高速な信号電流の周波数が1GHzの場合、プリント基板上での、その信号の波長は約15cmである。したがって、L2=1.5cm、L3=3.75cmのように設定するとよい。また、より厳密には、周波数がf、誘電率がεr、
透磁率がμr、光速がcの場合、プリント基板上での信号の波長λpは、λp=c/(f×
√(εrμr))で計算することが可能である。したがって、この計算式により計算された波長を用いてもよい。
【0030】
次に、ステップS401でのビア自動配置条件の設定方法の一例について図7を参照して説明する。図7(a)はビア自動配置条件を入力することができる入力画面の一例を示す図である。ユーザは入力装置13を介して入力画面70の入力欄71〜73に上述した所定の間隔L1〜L3を入力することができる。入力部20は入力されたビア自動配置条件を読み込んで主記憶装置11に記憶する。なお、ビア自動配置条件の設定方法は図7(a)に示す入力画面に入力させるようなものに限られない。例えば、図7(b)に示すようなビア自動配置条件を記述したファイル74を予め外部記憶装置14に記憶させておき、CPU10が該ファイルを読み出してビア自動配置条件を主記憶装置11に記憶させる等、自動で設定してもよい。この場合、ビア自動配置条件を記述するファイルの構成は、図7(b)に示すものに限られず、ビア自動配置条件を読み出せればどのような構成であってもよい。また、ビア自動配置条件をプリント基板によらず一定にする場合には、処理プログラム141内にビア自動配置条件を記述しておいてもよい。
上述したようにビア自動配置条件は、信号電流の波長λにより計算することが可能である。したがって、入力画面に信号電流の周波数をユーザが入力し、その周波数をもとに波長λを算出し、例えばL2=λ/10、L3=λ/4として、L2およびL3を算出する方法も考えられる。
【0031】
図4に示すフローチャートに戻り、ステップS402以降について説明する。なお、ステップS402からステップS406までの動作処理は、図形演算部22が主記憶装置11に記憶されたレイアウト情報142に基づいて行う処理である。
ステップS402では、図形演算部22はレイアウト情報142からGND配線名を抽出する。
次に、ステップS403では、図形演算部22は抽出した複数のGND配線名から検証対象とするGND配線名を1つ選択する。
次に、ステップS404では、図形演算部22は選択したGND配線名に関連する各層のGND導電領域を特定する。この処理はグラウンド導電領域特定ステップの一例に対応する。
次に、ステップS405では、図形演算部22は特定した各層のGND導電領域が高さ方向に2次元的に重複する領域をGND重複導電領域Aとして抽出する。この処理は重複導電領域抽出ステップの一例に対応する。
次に、ステップS406では、図形演算部22はまだGND重複導電領域を抽出していないGND配線名が存在するか否かを判定する。GND重複導電領域を抽出していないGND配線名が存在する場合、ステップS403に処理を戻す。存在しない場合、ステップS407に処理を進める。
【0032】
次のステップS407からステップS419までの動作処理は、ビア自動配置部23が主記憶装置11に記憶されたレイアウト情報142に基づいて行う処理である。
ステップS407では、ビア自動配置部23はGND重複導電領域Aが全てのGND配線名で抽出されると、レイアウト情報142からGND重複導電領域Aの位置情報及び形状情報を取得する。
次に、ステップS408では、ビア自動配置部23はGND重複導電領域Aを形成する各構成点から所定の間隔L1以内のGND重複導電領域A内にGNDと同電位の1個のビア(以下、GNDビア)を配置する。
次に、ステップS409では、ビア自動配置部23はステップS408で配置した各ビアのうち、GND重複導電領域Aの周縁を構成するライン(以下、構成ライン)に沿って隣り合うGNDビア間の距離D1を算出する。ビア自動配置部23はD1を所定の間隔L2で割った商の整数部分に1を加えた値N1を算出する。さらに、ビア自動配置部23はGNDビア間の距離D1をN1で割った値C1(=D1/N1)を算出し、ステップS408で配置したビアのGND重複導電領域Aに沿って隣り合うGNDビア間を所定の間隔以内の距離C1に分割する。
次に、ステップS410では、ビア自動配置部23はステップS409で分割した各分割位置にGNDビアを配置する。このようにステップS408からステップS410において、ビア自動配置部23は複数の所定位置にGNDビアを配置する。この処理は所定層間接続部材配置ステップの一例に対応する。
【0033】
次に、図4に示すステップAから図5に示すステップAに続き、ステップS411では、ビア自動配置部23はレイアウト情報142からGND重複導電領域A内に既に配置されているGNDビアのうちの一つを選択する。この処理は層間接続部材選択ステップの一例に対応する。
ステップS412では、ビア自動配置部23は選択したGNDビアからx方向及びy方向の各正負の方向にGND重複導電領域の中央部におけるGNDビアの間隔の許容最大値L3の半分の値(L3/2)だけ移動(離間)した4点を算出する。この処理は位置座標算出ステップの一例に対応する。以下、上述のように移動(離間)した点をスライド位置という。
ステップS413では、ビア自動配置部23はステップS412で算出したスライド位置から1点P1を選択する。
ステップS414では、ビア自動配置部23はステップS413で選択したスライド位置P1から所定の間隔L3の半分の値(L3/2)の距離の範囲内にGNDビアが存在するか否かを判定する。GNDビアが存在する場合、ステップS417に処理を進める。GNDビアが存在しない場合、ステップS415に処理を進める。
【0034】
ステップS415では、ビア自動配置部23は点P1がGND重複導電領域A内であるか否か判定する。点P1がGND重複導電領域A内である場合、ステップS416に処理を進める。点P1がGND重複導電領域A内ではない場合、ステップS417に処理を進める。
ステップS416ではビア自動配置部23は点P1にGNDビアを配置する。この処理は他層間接続部材配置ステップの一例に対応する。
次に、ステップS417では、ビア自動配置部23はステップS412で算出した4点のうち、ステップS414の判定を行っていないスライド位置(点P1以外のスライド位置)が存在するか否かを判定する。ステップS414の処理を行っていないスライド位置が存在する場合、ステップS413に処理を戻す。また、ステップS414の処理を行っていないスライド位置が存在しない場合、ステップS418に処理を進める。
ステップS418では、ビア自動配置部23はGND重複導電領域A内にステップS412の処理を行っていない他のGNDビアが存在するか否かを判定する。ここで、ステップS415で配置されたGNDビアもステップS412の処理を行っていないかどうかを判定するGNDビアの対象とする。ステップS412の処理を行っていないGNDビアが存在する場合、ステップS411の処理に戻る。ステップS412の処理を行っていないGNDビアが存在しない場合、ステップS419で処理プログラム141を終了する。
【0035】
ここで、本実施形態ではステップS402からステップS406までの処理において、GND重複導電領域を各GND配線名を持つGND導電領域から抽出するような構成としている。一方、ここに示した各GND配線名を持つGND導電領域にGND配線名以外の各GNDの属性情報を持たせておくことで、ステップS402からステップS406までの処理と同様に各GND配線名に対するGND重複導電領域を抽出することができる。
また、全てのGND導電領域にGNDの属性情報を持たせておき、全てのGND導電領域に対して、GND重複導電領域を抽出することも可能である。
【0036】
ここで、図8は全てのGND導電領域にGNDの属性情報を持たせた場合、本実施形態と同様の動作処理を示すフローチャートの一例である。図8に示すフローチャートでは、ステップS5804において、図形演算部22は各GNDの属性情報を持つ各層の導電領域を抽出し、属性情報の同じ領域に対してステップS405で2次元的に重複している領域を抽出する。ここで、GNDの属性情報が複数存在する場合にも、GNDの属性情報の同異に関わらず、各層の2次元的に重複している領域を抽出することも可能である。なお、図8に示すステップAは、図5に示すステップAに続いている。
【0037】
次に、上述した図6に示すプリント基板の模式図を参照して、上述した図4及び図5に示すフローチャートの処理動作について、ステップS404以降から具体的に説明する。
ステップS404では、図形演算部22は図6(a)〜(d)に示す各層の導電領域からステップS403で選択したGND配線名を持つ導電領域、すなわちGND導電領域603、613、623、633を特定する。図9はステップS404で特定されたGND導電領域を模式平面図で示した図である。図9(a)〜(d)に示すプリント基板はそれぞれ、図6(a)〜(d)に示すプリント基板に対応する。
ステップS405では、図形演算部22は図9(a)〜(d)に示される各層のGND導電領域603、613、623、633を投影し、全ての層においてGND導電領域が2次元的に重複している領域(以下、GND重複導電領域)を抽出する。図10はステップS405で抽出されたGND重複導電領域を示す図である。すなわち、図10に示すグレー部分の領域80、81、82、83、84がGND重複導電領域である。
【0038】
以下、GNDビアを自動で配置する処理の説明を容易にするために、図10に示すGND重複導電領域のうちGND重複導電領域81に着目してGNDビアを自動で配置する処理について説明する。
ステップS407では、ビア自動配置部23はGND重複導電領域81の位置情報及び形状情報を取得する。具体的には、まず、ビア自動配置部23はGND重複導電領域81を構成する図11に示す構成点900、901、902、903、904、905の座標と順番とを取得する。次に、ビア自動配置部23はGND重複導電領域81を構成する図11に示す構成ライン910、911、912、913、914、915の始点及び終点の座標を構成点の座標と順番とから算出する。以下、GND重複導電領域81の位置情報及び形状情報に基づいて、ステップS408からステップS410で実行する周縁部にGNDビアを所定間隔以内に自動で配置する処理について説明する。
【0039】
ステップS408では、ビア自動配置部23は構成点900、901、902、903、904、905の座標情報からGND重複導電領域81の内部に図11に示すようにGNDビア930、931、932、933、934、935を配置する。ここで、ステップS408で配置するGNDビアの配置位置の計算方法について説明する。ここでは、GNDビアのうちGNDビア930に着目して説明する。
まず、ビア自動配置部23はGND重複導電領域81を構成する構成ライン915及び910の構成点900のx軸の正方向に平行な成分から見た角920の角度θ1及び角921の角度θ2を算出する。次に、ビア自動配置部23は角920と角921との中間の角922の角度θ3(=(θ1+θ2)/2)を算出する。さらに、ビア自動配置部23は構成点900から見て角922の方向、すなわち点線923の線上で、かつ構成点900から所定の間隔L1の距離だけ離れた位置を算出し、GNDビア930を配置する。この方法により、GNDビアがGND重複導電領域の内部となり、かつGND重複導電領域の周縁からGNDビアまでの間隔が所定の間隔L1よりも大きくなることはない。
【0040】
また、他の方法としては、ビア自動配置部23は構成点900から所定の複数の角度の方向に所定の間隔L1だけ離れた複数の位置を算出し、その中からGND重複導電領域81内に入っている位置を選択する方法であってもよい。さらに、ビア自動配置部23は角度θ1の算出後、構成ライン915から時計回りに所定の角度ずつ回転し、初めてGND
重複導電領域81内へと向いた線上で、かつ構成点900から所定の間隔L1の距離だけ離れた位置を算出する方法であってもよい。なお、ここで挙げたGNDビアを配置する位置を算出する方法は構成点900から距離L1だけ離れた位置を算出したが、ビア自動配置部23はL1/2やL1/3等、L1より短い値を採用してもよい。
【0041】
ステップS408では、ビア自動配置部23はその他の構成点901、902、903、904、905に対しても同様の処理を行って、GNDビア931、932、933、934、935を配置する。
ステップS409では、ビア自動配置部23はステップS408で配置したGNDビア931、932、933、934、935のGNDビア間を所定の間隔L2以下の距離で分割し、図12に示すようにGNDビア1000を配置する。なお、図12では図を見易くするために、配置した一部のGNDビア1000のみに符合を付している。ここで、ステップS408及びステップS409において、GNDビアを配置する配置方法について説明する。ここでは、GNDビア930とGNDビア931との間に着目して説明する。
まず、ビア自動配置部23はGNDビア930とGNDビア931との間の直線距離D1を算出する。次に、ビア自動配置部23はD1を所定の間隔L2で割った商(D1/L2)を求め、その整数部分に1を加えた値をN1とする。最後に、ビア自動配置部23はD1をN1で割った商C1(=D1/N1)を算出する。次に、ビア自動配置部23はGNDビア930からGNDビア931に向かって距離C1毎の位置にGNDビア1000を配置する。これにより、GNDビア1000の間隔はL2よりも必ず小さくなる。さらに、GNDビア930及び931がGND重複導電領域81の周縁から所定の間隔L1以内に存在するために、GNDビア1000もGND重複導電領域81の周縁から所定の間隔L1以内の範囲に配置される。
【0042】
ここでは、内縁部を有しないGND重複導電領域81に着目して説明したが、内縁部を有する場合でも、位置情報及び形状情報を取得することができるので、周縁部にGNDビアを配置する方法と同様の方法により、内縁部にもGNDビアを配置することができる。
また、上述ではGND重複導電領域内に初めに配置するGNDビアの位置をGND重複導電領域の構成点の付近として説明した。しかし、例えばGND重複導電領域の構成ラインの中点をGND重複導電領域の内側へ所定の間隔のL1の半分の値(L1/2)だけ構成ラインに垂直に移動した位置に配置してもよい。
さらに、必ずしも構成点の付近にGNDビアを配置しなくてもよい。例えば、構成ライン915、911上でかつ構成ライン910から距離L1内の点をそれぞれ算出し、その2点間を上述と同様にL2より小さい間隔に分割し、分割した点にGNDビアを配置してもよい。
【0043】
次に、ステップS411からステップS417までの、GND重複導電領域81の中央部に自動でGNDビアを所定の間隔L3以内で配置する処理動作について具体的に説明する。
ステップS411では、ビア自動配置部23はGND重複導電領域81内に既に配置されている複数のGNDビアから一つを選択する。ここで、例えば、ビア自動配置部23は図13に示すGNDビア1100を選択したのものとする。
ステップS412では、ビア自動配置部23はGNDビア1100から所定の方向に所定の距離だけ移動した複数のスライド位置を算出する。ここで、スライド位置の算出方法について説明する。まず、ビア自動配置部23はx軸方向及びy軸方向の各正負方向に所定の間隔L3の半分の距離(L3/2)だけ移動した位置をスライド位置とする。具体的には、図13に示すようにx軸方向の正方向、x軸方向の負方向、y軸方向の正方向及びy軸方向の負方向に移動した位置はそれぞれスライド位置1101、1102、1103、1104である。また、他の方法としては、ビア自動配置部23はx軸の正方向やy軸の正方向等のGNDビア1100から引いた半直線から時計回りに例えば角度30°ずつ回転させた方向にL3/2やL3/3等、L3よりも小さい値だけ移動した位置をスライド位置としてもよい。
【0044】
ステップS413では、ビア自動配置部23はスライド位置1101、1102、1103、1104から一つを選択する。例えば、スライド位置1101を選択した場合、ステップS414では、ビア自動配置部23はスライド位置1101から所定の間隔L3の半分の距離(L3/2)の範囲内、すなわち図13に示す円1111内に他のGNDビアが存在しないと判定する。
次に、ステップS415では、ビア自動配置部23はスライド位置1101がGND重複導電領域81内にあると判定する。
したがって、ステップS416では、ビア自動配置部23はスライド位置1101にGNDビア1101を配置する。
次に、ステップS417では、ビア自動配置部23は残りのスライド位置1102、1103、1104については所定の範囲内に他のGNDビアが存在するか否かを判定していないので、ステップS413の処理に戻る。
【0045】
また、ステップS413において、ビア自動配置部23がスライド位置1102を選択した場合、ステップS414ではスライド位置1102からL3/2の距離の範囲内、すなわち図13に示す円1112内に他のGNDビアが存在しないと判定する。次に、ステップS415では、ビア自動配置部23はスライド位置1102がGND重複導電領域81外と判定するので、ステップS417に処理を進める。ステップS417では、ビア自動配置部23は残りのスライド位置1103、1104については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0046】
また、ステップS413において、ビア自動配置部23がスライド位置1103を選択した場合、ステップS414ではスライド位置1103からL3/2の距離の範囲内、すなわち図13に示す円1113内にGNDビア1123が存在すると判定する。したがって、ステップS417の処理に進む。
ステップS417において、ビア自動配置部23は残りのスライド位置1104については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0047】
また、ステップS413において、ビア自動配置部23はスライド位置1104を選択する。ステップS414ではビア自動配置部23は位置1103を判定した場合と同様に、円1114内にGNDビア1124が存在すると判定する。したがって、ステップS417に処理を進める。ステップS417ではビア自動配置部23は判定するスライド位置は存在しないので、ステップS418に処理を進める。
【0048】
ステップS418では、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在すると判定して、ステップS411に処理を戻す。ステップS411では、ビア自動配置部23はステップS412の処理を行っていない複数のGNDビアから一つを選択する。以下、ステップS411からステップS418までの処理を繰り返し実行することで、GND重複導電領域81の中央部にはGNDビアが自動で配置される。
【0049】
次に、ステップS411において、ビア自動配置部23が複数のGNDビアから図14に示すGNDビア1200を選択した場合について説明する。この場合、ステップS412では、ビア自動配置部23は図14に示すようにスライド位置1201、1202、1203、1204を算出する。そして、スライド位置1201、1202、1203については、ステップS414において、ビア自動配置部23はそれぞれL3/2の距離の範囲内(図14に示す円1211、1212、1213内)にGNDビアが存在しないと判定する。さらに、ステップS415ではビア自動配置部23はGND重複導電領域81内であると判定する。したがって、ステップS416では、ビア自動配置部23はGNDビア1201、1202、1203を配置する。
【0050】
一方、スライド位置1204については、スライド位置1204の同位置に既にGNDビアが配置されているので、ステップS414において、ビア自動配置部23はL3/2の範囲内(図14に示す円1214内)にGNDビアが存在すると判定する。したがって、ビア自動配置部23はGNDビアを配置しない。以下、同様にステップS411からステップS418までの処理をステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。
ステップS418において、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在しないと判定した場合、ステップS419でプログラムを終了する。
【0051】
図15はステップS419でプログラムを終了した時点での、GND重複導電領域81内のGNDビアの配置状態を示す図である。図15に示すように、GND重複導電領域81の周縁部及び中央部にそれぞれGNDビアが所定の間隔以内で配置されている。
図16はステップS419でプログラムを終了した時点での、GND重複導電領域80、81、82、83、84上のGNDビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにGNDビアを配置したスライド位置と配置されたGNDビアとの符合を同一にした。
【0052】
上述では、GND重複導電領域の中央部へのGNDビアの配置において、確実にGNDビアを所定の間隔L3以内に配置するために、ステップS412の移動距離をL3/2とし、ステップS414のスライド位置の周囲のGNDビアの検索範囲をL3/2とした。しかし、コストを考慮する場合、できるだけGNDビアを少なく配置したいことがある。このような場合、例えばステップS412の移動距離をL3として、ステップS414の他のGNDビアの検索範囲をユーザが設定可能なL3に対する所定の割合の距離としてもよい。このようにすることで、GNDビアが必ずしも所定の間隔L3以内に配置されないが、GNDビアを比較的少なく配置することができるため、コスト面を考慮したGNDビアの配置を行うことができる。
また、上述では、GND重複導電領域内にすべてのGNDビアを自動で配置するために、ステップS408でGND重複導電領域の各角付近に1個ずつのビアを配置する例を示した。しかしながら、このステップS408と同様の処理をユーザが行うことも可能である。すなわち、表示装置12を用いてGND重複導電領域とその各角付近に1個または複数のビアを配置するような指示画面を表示することにより、ユーザにGND重複導電領域の各角付近にGNDビアを配置させることができる。
【0053】
また、上述では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することができる。したがって、上述した本実施形態と同様の処理を行うことができる。
【0054】
このように、本実施形態では、図16に示すようにプリント基板のGND重複導電領域の周縁部及び内縁部の周縁から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で配置することができる。また、GND重複導電領域の中央部に所定の間隔(L3)以内の間隔でGNDビアを自動で配置することができる。
なお、上述した所定の間隔L1、L2、L3は実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値及びL3以内の値で変動させることができる。ただし、L1、L2、L3の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0055】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部(例えば、2層)の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0056】
(第2の実施形態)
第1の実施形態では、図4に示すフローチャートのステップS408に示すように、GNDビアを自動で配置する基準となるGNDビアを、GND重複導電領域の各構成点付近に配置する場合について説明した。一方で、高速信号のリターン電流を短くするには、高速信号配線のビアの近傍にGNDビアを配置することが好ましい。本実施形態では、GNDビアを自動で配置する基準となるGNDビアを高速信号線のビアの近傍に配置する場合について説明する。
【0057】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートと同様である。図17は図3に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図17に示すステップAは図5に示すステップAに続いている。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図17及び図5に示すフローチャートと図18から図22に示す模式図を参照して説明する。
【0058】
図17に示すフローチャートにおいて、ステップS400からステップS407までの処理及びステップS408からステップS410までの処理は、上述した図4に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。本実施形態では、図4に示すフローチャートのステップS407とステップS408との間にステップS1600からステップS1602までの処理が追加されている。
ステップS1600では、図形演算部22は高速配線のビアを選択する。この処理は高速信号層間接続部材選択ステップの一例に対応する。ここで、高速配線のビア選択方法の一例について説明する。例えば入力部20が高速配線属性を各配線に対して設定できる入力画面を表示装置12に表示する。ユーザは入力装置13を介して入力画面の入力欄に高速配線属性を入力することで、入力部20は入力された情報を読み込んで主記憶装置11に記憶する。図形演算部22は記憶された情報に基づいて高速配線属性を持つ配線のビアを選択する。高速配線属性を入力する方法は、各配線に対して高速配線であることを示す情報を入力する方法であってもよい。また、高速配線リストを用いて、ユーザがリストに配線名を入力したり、リストに追加する配線を選択したりすることで、図形演算部22はリストに入力された配線のビアを選択するようにしてもよい。
【0059】
また、高速配線のビアを選択する方法は以下のようなものであってもよい。すなわち、予め回路設計者が回路図設計システム上で、各配線に高速配線属性を入力しておくことで、各配線に属性情報を持つ回路図情報が主記憶装置11又は外部記憶装置14に記憶される。したがって、入力部20が主記憶装置11又は外部記憶装置14から回路図情報を読み出すことにより、各配線が高速配線属性を持つか否かを判定して、高速配線属性を持つ配線のビアを選択することができる。ここで、配線に高速配線属性を入力する方法は、上述と同様の方法をプリント基板設計システム上で行ってもよい。また、回路設計者が回路図設計システム上で各配線に流れる電流の周波数を入力しておき、その周波数と所定の閾値とを比較して、所定の閾値よりも大きい配線を高速配線属性を持つ配線と判定してもよい。
【0060】
ステップS1601では、図形演算部22はステップS405で抽出した各GND重複導電領域上で、ステップS1600で選択した高速配線のビアから最短間隔にある点(最短ポイント)を算出する。
ステップS1602では、ビア自動配置部23は最短ポイントの近傍にGNDビアを配置する。この処理は高速信号近傍層間接続部材配置ステップの一例に対応する。ここで、最短ポイントがGND重複導電領域の構成ライン上の場合、ビア自動配置部23は高速配線のビアから最短ポイントを結ぶ線分の延長上で、かつ最短ポイントから所定の間隔L1の距離の範囲内にGNDビアを配置する。最短ポイントがGND重複導電領域の構成点上の場合、第1の実施形態のステップS408と同様の処理により、ビア自動配置部23はGNDビアを配置する。
【0061】
なお、上述ではステップS1601において、図形演算部22は各高速配線のビアから各GND重複導電領域までの最短ポイントを算出する場合について説明した。しかしながら、高速配線のビアから最短ポイントまでの間隔が所定の値L3よりも大きい場合には、ステップS1602の処理を行わなくてもよい。所定の値L3には、例えば所定の間隔L2等を用いる。また、高速配線のビアから最短ポイントまでの距離が所定の値L3以下になる最短ポイントが見つからない高速配線のビアをエラーとしてユーザに報知したり、可視化したりする処理を追加してもよい。
【0062】
次に、図18に示すプリント基板の模式図を参照して、上述した図17に示すフローチャートの処理動作について説明する。図18は、GNDビアを自動配置する前のプリント基板の模式図である。なお、図18に示す部品配置位置や配線状況のうち、図6と同様のものについては、同一符号を付して、その説明は省略する。ここで、図18(c)に示す信号配線15210、15211及び信号配線ビア15220、15221は高速配線属性を有している。また、図18(d)に示す信号配線15310、15311、15312、15313及び信号配線ビア15320、15321、15322、15323は高速配線属性を有している。
【0063】
図17に示すフローチャートのステップS406の処理までに、図形演算部22は図18(a)〜(d)に示される各層のGND導電領域を投影し、全ての層においてGND導電領域が2次元的に重複しているGND重複導電領域を抽出する。図19は抽出されたGND導電領域を示す図である。すなわち、図19に示すグレー部分の領域80、82、83、1700、1701がGND重複導電領域である。
【0064】
以下、GNDビアを自動で配置する処理の説明を容易にするために、図19に示すGND重複導電領域のうちGND重複導電領域1700に着目してGNDビアを自動で配置する処理について説明する。なお、GND重複導電領域80、82、83、1701にも同様にGNDビアを自動配置することは言うまでもない。
ステップS407では、ビア自動配置部23はGND重複導電領域1700の位置情報及び形状情報を取得する。
次に、ステップS1600では、図形演算部22は図20に示すように高速配線の属性を持つビア(以下、高速配線ビア)1800、1801、1802、1803を選択する。ここで、高速配線ビアと図18に示す信号配線ビアとを対応させると、高速配線ビア1800は信号配線ビア15221、15322と一致する。また、高速配線ビア1802は信号配線ビア15221、15323と一致する。また、高速配線ビア1801は信号配線ビア15220、15320と一致する。また、高速配線ビア1803は信号配線ビア15220、15321と一致する。
【0065】
次に、ステップS1601では、図形演算部22は各高速配線ビア1800、1801、1802、1803からそれぞれGND重複導電領域1700に対して、図20に示すような最短ポイント1810、1811、1812を算出する。具体的には、各高速配線ビアからGND重複導電領域の各構成ラインに対してGND重複導電領域の外側から下ろす垂線を算出する。次に、図形演算部22は高速配線ビアから各垂線と構成ラインとの交点までの距離と、高速配線ビアから各構成点までの距離と、を比較し、最も小さい距離となる交点又は構成点を最短ポイントとする。例えば、高速配線ビア1800の場合、高速配線ビア1800からGND重複導電領域1700の構成ライン1840までの距離で、最も短くなるのは、高速配線ビア1800から構成ライン1840に引いた垂線1830によって算出される。すなわち、最も短い距離は高速配線ビア1800から垂線1830と構成ライン1840との交点1810までの距離である。また、高速配線ビア1800から最も近い構成点は構成点1831である。ここで、図形演算部22は高速配線ビア1800から交点1810までの距離と高速配線ビア1800から構成点1831までの距離とを比較すると、高速配線ビア1800から交点1810までの距離の方が小さい。したがって、最短ポイントとして交点1810(最短ポイント1810)を算出する。なお、上述では高速配線ビア1800から交点1810までの距離と高速配線ビア1800から構成点1831までの距離とをのみ比較したが、実際には高速配線ビアから全ての構成ラインに対して垂線を引くことができるかを判定する。また、高速配線ビアから全ての構成点に対して距離を算出する。
【0066】
同様にして、図形演算部22は高速配線ビア1801に対する最短ポイントとして、最短ポイント1811を算出する。また、高速配線ビア1802、1803の場合、最短ポイントは同一となる。したがって、図形演算部22は最短ポイントとして最短ポイント1812を算出する。
【0067】
ステップS1602では、ビア自動配置部23は最短ポイントの近傍にGNDビアを配置する。ここでは、最短ポイントがGND重複導電領域1700の構成ライン上にある場合と、構成点にある場合とで処理が異なる。まず、最短ポイントが最短ポイント1810のように構成ライン上にある場合、ビア自動配置部23は垂線1830の延長上で、かつ最短ポイント1810から所定の間隔L1の半分の値(L1/2)の距離の位置にGNDビア1820を配置する。ここでは、最短ポイントからL1/2の距離の位置にGNDビアを配置したが、実際には所定の間隔L1の距離以内であればよい。同様に、ビア自動配置部23は最短ポイント1811に対して、GNDビア1821を配置する。
次に、最短ポイントが最短ポイント1812のように構成点である場合、ビア自動配置部23は第1の実施形態の図4に示すフローチャートのステップS408と同様の方法によりGNDビア1822を配置する。
【0068】
なお、GNDビア1820、1821又は1822から所定の間隔L2の距離の範囲内で、かつGND重複導電領域1700の構成ラインから所定の間隔L1の距離の範囲内に既にGNDビアが配置されている場合は、該GNDビアを排除する処理を加えてもよい。また、ここでは、GNDビアの検索範囲を所定の間隔L2の範囲に限定したが、L2以下の値の範囲であればどの値を用いてもよい。さらに、GNDビアの検索範囲を、近傍のGNDビアの周囲に形成する導電領域がGNDビア1820の周囲に形成する導電領域と一部が重なる範囲としてもよい。
【0069】
次に、ステップS408以降の処理は、第1の実施形態の図4に示すフローチャートに示すステップS408以降及び図5に示すフローチャートの処理と同一なので、簡潔に説明する。
ステップS408では、ビア自動配置部23はGND重複導電領域1700の各角の近傍にGNDビアを配置する。ここで、図21を参照して、ステップS408の処理後にGND重複導電領域内に配置されるGNDビアについて説明する。図21に示すように、GND重複導電領域1700内にはGNDビア1900、1901、1902、1903、1904、1905が配置されている。構成点1812については、ステップS1602において、既にGNDビア1822を配置しているので、ステップS408ではGNDビアの配置処理を行う必要はない。ここで、ステップS408において、配置しようとするGNDビアがステップS1601において配置した高速配線近傍のGNDビアと非常に近接している場合、ステップS408ではビア自動配置部23は、GNDビアを配置しなくてもよい。なお、非常に近接している場合とは、ステップS1601で排除する対象となるGNDビアの検索範囲と同等の検索範囲内に既に高速配線近傍のGNDビアが存在する場合と同様である。
次に、ステップS409以降の処理を第1の実施形態で説明した処理と同様に行うことにより、図22に示すように、GND重複導電領域1700にGNDビアを所定の間隔以内で配置する。
上述では、すべてのGNDビアを自動で配置するために、ステップS1600からステップS1602において高速信号線のビア付近にGNDビアを自動で配置する例を示した。しかしながら、これらの一連の処理と同等の処理をユーザが行うことも可能である。すなわち、表示装置12を用いてGND重複導電領域と高速信号線のビアまたは全体と各高速信号線のビア付近に1個または複数のビアを配置するような指示画面を表示することにより、ユーザにGND重複導電領域で、かつ各校則信号線のビア付近にGNDビアを配置させることができる。
【0070】
また、上述では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と同様の処理を行うことができる。
【0071】
このように本実施形態では、第1の実施形態による効果に加えて、高速配線のリターン電流の経路がより短くなるようにGNDビアを自動配置することができる。また、本実施形態は第1の実施形態の一部変形例であって、第1の実施形態に記載されている適用範囲と同等の適用範囲を有する。
【0072】
(第3の実施形態)
第1の実施形態では、GND重複導電領域を周縁部及び内縁部と中央部に分け、段階的にGNDビアを配置する場合について説明した。本実施形態では、GND重複導電領域全体に段階を分けずにGNDビアを自動で配置する場合について説明する。
実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートのうちステップS103を省略したフローチャートと同様である。なお、第1の実施形態で説明したプリント基板設計支援装置では、GND重複導電領域の周縁部及び内縁部にGNDビアを配置するため、放射ノイズ対策の効果がより大きい。
【0073】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図23及び図24に示すフローチャートと図25〜図27に示す模式図を参照して説明する。なお、説明を容易にするため、図25〜図27では図10に示すGND重複導電領域81のみを示している。しかしながら、実際にはGND重複導電領域80、82、83、84にも同様にGNDビアを配置することは言うまでもない。
【0074】
図23及び図24に示すフローチャートではステップS400からステップS407、ステップS408、ステップS411からステップS419までの動作処理は、図4及び図5に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。ただし、本実施形態のビア自動追加条件はGNDビアの間隔の許容最大値L5(以下、所定の間隔L5)である。本実施形態では、第1の実施形態と異なり、ステップS407とステップS408との間にステップS2200が追加されている。
【0075】
ここで、ステップS2200では、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を参照しながら、ステップS405で抽出された各GND重複導電領域A内にGNDビアが既に存在するか否かを判定する。GND重複導電領域A内にGNDビアが存在する場合、ステップS411に処理を進める。GNDビアが存在しない場合、ステップS408に処理を進める。このステップS2200により、GND重複導電領域A内にGNDビアが既に存在する場合、既存のGNDビアを基準としてGNDビアを自動配置するため、ステップS408の処理を行う必要はない。ただし、第1の実施形態と同様に、ステップS2200を省略し、GND重複導電領域A内にGNDビアが既に存在するか否かにかかわらず、ステップS408で基準となるGNDビアを配置してもよい。
【0076】
また、本実施形態では、第1の実施形態と異なり、ステップS409及びステップS410を省略している。第1の実施形態のステップS409及びステップS410は、ビア自動配置部23がGND重複導電領域Aの周縁部及び内縁部における所定間隔内にGNDビアを自動配置するステップである。したがって、本実施形態では不必要な処理である。なお、第2の実施形態と同様に、高速配線ビアの近傍にGNDビアを優先的に配置するには、図23に示すフローチャートのステップS407及びステップBの間に、図17に示すフローチャートのステップS1600からステップS1602を加えればよい。
【0077】
次に、図23及び図24に示すフローチャートと図25〜図27に示す模式図を参照して説明する。まず、GND重複導電領域内に既存のGNDビアがない場合、すなわちステップS2200において、GND重複導電領域内に既存のビアが存在しないので、ステップS408の処理に進む場合について説明する。
ステップS408では、ビア自動配置部23は、図25に示すようにGND重複導電領域81の各角である構成点900、901、902、904、905の付近にそれぞれGNDビア930、931、932、933、934、935を配置する。なお、ここではGND重複導電領域81の各角付近に基準とするGNDビアをそれぞれ配置したが、例えば、構成点900付近のみや、構成点900及び構成点901等の全てではない複数の角付近にGNDビアを配置してもよい。さらに、基準となるGNDビアは必ずしも角付近である必要はない。例えば、図25に示す構成ライン910の中点を構成ライン910に垂直で、かつGND重複導電領域81の内部へ向かう方向に所定の間隔L5以内の値だけ移動した点に基準となるGNDビアを配置してもよい。その他にも、GND重複導電領域81内であれば、任意の点に基準のGNDビアを配置することができる。
【0078】
次に、ステップS411では、ビア自動配置部23はステップS408において配置したGNDビアから一つを選択する。ここで、ビア自動配置部23は例えば、図25に示すGNDビア930を選択したものとする。
ステップS412では、ビア自動配置部23はGNDビア930からx軸方向及びy軸方向の各正負方向に所定の間隔L5の半分の距離(L5/2)だけ移動したスライド位置を算出する。具体的には、ビア自動配置部23はx軸方向の正方向、x軸方向の負方向、y軸方向の正方向及びy軸方向の負方向にそれぞれ移動した位置として、スライド位置2301、2302、2303、2304を算出する。
【0079】
ステップS413では、ビア自動配置部23はスライド位置2301、2302、2303、2304のうち一つを選択する。例えば、スライド位置2301を選択した場合、ステップS414では、ビア自動配置部23はスライド位置2301から所定の間隔L5の半分の距離(L5/2)の範囲内、すなわち図25に示す円2311内に他のGNDビアが存在しないと判定する。
次に、ステップS415では、ビア自動配置部23はスライド位置2301がGND重複導電領域81内にあると判定する。
したがって、ステップS416では、ビア自動配置部23はスライド位置2301にGNDビア2301を配置する。
次に、ステップS417では、ビア自動配置部23は残りのスライド位置2302、2303、2304については所定範囲内に他のGNDビアが存在するか否かを判定していないので、ステップS413の処理に戻る。
【0080】
次に、ステップS413において、ビア自動配置部23はスライド位置2302を選択した場合、ステップS414ではスライド位置2302からL5/2の範囲内、すなわち図25に示す円2312内に他のGNDビアが存在しないと判定する。次に、ステップS415では、ビア自動配置部23はスライド位置2302がGND重複導電領域81外と判定するので、ステップS417の処理に進める。ステップS417では、ビア自動配置部23は残りのスライド位置2303、2304については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0081】
以後、同様にビア自動配置部23はステップS413からステップS417までの一連の処理を繰り返し実行し、スライド位置2303にはGNDビアを配置せず、スライド位置2304にはGNDビア2304を配置して、ステップS417に処理を進める。
ステップS417ではビア自動配置部23は判定するスライド位置は存在しないので、ステップS418に処理を進める。
【0082】
次に、ビア自動配置部23は新しく追加配置したGNDビア2301、2304及びGNDビア931、932、933、934、935については、ステップS412の処理を行っていない。したがって、ステップS418では、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在すると判定して、ステップS411に処理を戻す。以下、ステップS411からステップS418まで処理を繰り返し実行することで、GND重複導電領域81内にはGNDビアが自動で配置される。
【0083】
ここで、図26を参照して、ステップS411においてGNDビア2400を選択した場合について説明する。
ステップS412では、ビア自動配置部23はスライド位置2401、2402、2403、2404を算出する。
ステップS413では、ビア自動配置部23は順次スライド位置のうちの一つを選択する。スライド位置2401、2404については、ビア自動配置部23はステップS414でL5/2の範囲内(それぞれ円2411、2414内)に他のGNDビアが存在しないと判定し、ステップS415でGND重複導電領域81内であると判定する。したがって、ステップS416では、ビア自動配置部23はGNDビア2401及びGNDビア2404を配置する。
一方、スライド位置2402、2403には、それぞれスライド位置2402、2403と同位置にGNDビアが既に存在する、すなわちL5/2の範囲内(それぞれ円2412、2413内)に他のGNDビアが存在する。したがって、ステップS414では、ビア自動配置部23はスライド位置2402、2403に他のGNDビアが存在すると判定する。したがって、ビア自動配置部23はGNDビアを配置しない。
【0084】
以後、同様にビア自動配置部23はステップS411からステップS418の処理をステップS418において、ステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。そして、ステップS418において、ステップS412の処理を行っていないGNDビアが存在しなくなった場合、ビア自動配置部23はステップS419でプログラムを終了する。
図27はステップS419でプログラムを終了した時点での、GND重複導電領域81上のGNDビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにGNDビアを配置したスライド位置と配置されたGNDビアとの符合を同一にした。
【0085】
なお、本実施形態において、第1の実施形態と同様に、ステップS412の移動距離及びステップS414のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のGNDビア配置状況を実現することができる。このようにすることで、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくして、コスト面を考慮したGNDビアの配置を行うことができる。さらにGND重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもGNDビアの自動配置を行うことができる。
【0086】
このように本実施形態では、図27に示すようにプリント基板のGND重複導電領域内に所定の間隔L5以内にGNDビアを自動で配置することができる。
上述では、GND重複導電領域内にすべてのGNDビアを自動で配置するために、ステップS2200およびステップS408でGND重複導電領域内に1個ずつのビアを配置する例を示した。しかしながら、このステップS2200およびステップS408と同様の処理をユーザが行うことも可能である。すなわち、ステップS2200でGND重複導電領域内にGNDビアがないと判定された場合に、表示装置12を用いてGNDビアが配置されていないGND重複導電領域と1個または複数のビアを配置するような指示画面を表示する。これにより、ユーザにGND重複導電領域の各角付近にGNDビアを配置させることができる。
また、上述した所定の間隔L5は実際にGNDビアを配置するときには、1つの基板の中で、状況によりL5以内の値で変動させてもよい。ただし、L5の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL5の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0087】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の複数の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0088】
(第4の実施形態)
第1の実施形態では、GNDビアの配置位置の算出方法として、GND重複導電領域内に既に配置された又は新規に配置されたGNDビアを基準に所定の方向に所定の距離だけ位置を移動させる方法について説明した。本実施形態では、GNDビアの配置位置の算出方法として、GNDビアを配置可能な領域を所定の大きさの領域(以下、ブロック)に分割し、区分した領域内の一点を配置位置とする場合について説明する。
【0089】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートと同様である。図28は図3に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図28に示すステップBは図23に示すステップBから続いている。なお、図23に示すステップBまでの処理については、第1の実施形態及び第3の実施形態と同様なので、その説明を省略する。また、本実施形態において、第2の実施形態と同様に高速配線ビアの近傍にGNDビアを優先的に配置するには、図23に示すステップS407とステップBとの間に、図17に示すステップS1600からステップS1602を加えればよい。
【0090】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図28に示すフローチャートと図29〜図33に示す模式図を参照して説明する。なお、図28に示すステップS2600からステップS419までの処理は、ビア自動配置部23が主記憶装置11に記憶されているレイアウト情報142に基づいて行う処理である。また、説明を容易にするため、図29〜図33では図10に示すGND重複導電領域81のみを示している。しかしながら、実際にはGND重複導電領域80、82、83、84にも同様にGNDビアを配置することは言うまでもない。また、本実施形態では、第1の実施形態と同様、周縁部及び内縁部と中央部とを分割し、段階的にGNDビアを自動配置する方法について説明する。したがって、ステップS401のビア自動配置条件は、第1の実施形態における所定の間隔L1、所定の間隔L2、所定の間隔L3と同じである。
【0091】
以下、図28に示すフローチャートについて詳細に説明する。
ステップS2600では、ビア自動配置部23は図23に示すステップS407でGND重複導電領域Aの位置情報及び形状情報を取得すると、GND重複導電領域Aの構成ラインを一つ選択する。ビア自動配置部23は選択した構成ラインの長さD2を算出し、算出した長さD2を所定の間隔L2で割った商(D2/L2)の整数部分に1を加えた値N2を算出する。さらに、ビア自動配置部23はD2をN2で割った長さC2(=D2/N2)を算出する。
【0092】
ステップS2601では、ビア自動配置部23は構成ラインに垂直な辺の長さを所定の間隔L1、構成ラインに沿った方向の辺の長さをC2とするブロックをステップS2600で選択した構成ラインに沿って作成する。ここで、GND重複導電領域Aの構成点の付近等、前記大きさの矩形のブロックをGND重複導電領域A内に作成できない場合、ビア自動配置部23は前記大きさの矩形からGND重複導電領域Aの外側の部分を排除した形状をブロックの形状とする。
ステップS2602では、ビア自動配置部23はブロック分割後、分割したブロックから一つ(ブロックB1)を選択する。
ステップS2603では、ビア自動配置部23はブロックB1内に既にGNDビアが配置されているか否かを判定する。ブロックB1内に既にGNDビアが配置されている場合、ステップS2605に処理を進める。GNDビアが未だ配置されていない場合、ステップS2604に処理を進める。
【0093】
ステップS2604では、ビア自動配置部23はブロックB1内にGNDビアを配置する。
次に、ステップS2605では、ビア自動配置部23はステップS2603の処理を実行していない、すなわちブロック内のGNDビアの有無を判定していないブロック(ブロックB1以外のブロック)が存在するか否かを判定する。ステップS2603の処理を実行していないブロックが存在する場合、ステップS2602の処理に戻る。ステップS2603の処理を実行していないブロックが存在しない場合、ステップS2606の処理に進める。
【0094】
ステップS2606では、ビア自動配置部23はステップS2601の処理を実行していない構成ラインが存在するか否かを判定する。ステップS2601の処理を実行していない構成ラインが存在する場合、ステップS2600に処理を戻す。ステップS2601の処理を実行していない構成ラインが存在しない場合、ステップS2607に処理を進める。
ステップS2607では、ビア自動配置部23はGND重複導電領域Aの中央部の位置情報及び形状情報を取得する。ここでの中央部とは、GND重複導電領域AからステップS2601で分割した全てのブロックを排除した領域(以下、中央領域B)である。
ステップS2608では、ビア自動配置部23は中央領域Bの位置情報及び形状情報を取得した後、中央領域Bを所定の距離L3の半分の距離(L3/2)を一辺とする正方形のブロックに分割する。この処理はブロック分割ステップの一例に対応する。ここで、中央領域Bの構成ラインや構成点付近のL3/2を一辺とする正方形のブロックを中央領域B内に作成できない場合は、ビア自動配置部23は正方形のブロックから中央領域Bの外側の部分を排除した形状をブロックの形状とする。
【0095】
ステップS2609では、ビア自動配置部23は中央領域Bをブロック分割後、各ブロック内に未だGNDビアが配置されていないブロックにGNDビアを配置する。この処理はブロック内層間接続部材配置ステップの一例に対応する。ステップS2609の処理は、ステップS2602からステップS2605の一連の処理と同処理である。
ステップS419では、ビア自動配置部23は中央領域B内にGNDビア配置後、処理プログラム141を終了する。
次に、図28に示すフローチャートと図29〜図33に示す模式図とを参照して具体的に説明する。まず、ステップS2600ではビア自動配置部23は図23に示すステップS407において取得した位置情報及び形状情報の構成ライン910、911、912、913、914、915から一つを選択する。例えば、ビア自動配置部23は構成ライン910を選択したものとする。
【0096】
ステップS2601では、ビア自動配置部23は図29に示すように構成ライン910に沿ったGND重複導電領域81の周縁部をブロック分割する。ステップS2601におけるブロック分割方法としては、まずビア自動配置部23は構成ライン910の長さD2を算出する。次に、ビア自動配置部23は長さD2を所定の間隔L2で割った商の整数部分に1を加えた値N2を算出し、続けて長さD2をN2で割った値C2(=D2/N2)を算出する。次に、ビア自動配置部23は構成ライン910に垂直な方向の一辺を所定の間隔L1とし、構成ライン910に沿った方向の一辺を値C2として図29に示すブロック2700からブロック2711を構成ライン910の端から構成ライン910に沿って作成する。図29に示す構成ライン910の場合、構成点900及び901の角が直角であるため、全て矩形のブロックにより分割することができる。しかしながら、実際のプリント基板では、必ずしもGND重複導電領域の角が直角とは限らない。分割した矩形のブロックがGND重複導電領域からはみ出る場合には、分割した矩形からGND重複導電領域の外部領域を排除した図形をブロックの形状として適用すればよい。
また、構成ライン910の端点付近で分割した矩形に対してGND重複導電領域の周縁部が余る場合、余りの図形を構成ラインの端のブロックに追加した形状をブロックとして適用することができる。
【0097】
ステップS2602では、ビア自動配置部23はステップS2601で作成したブロックから一つを選択する。例えば、ビア自動配置部23はブロック2700を選択したものとする。
ステップS2603では、ビア自動配置部23はブロック2700内には未だGNDビアが配置されていないと判定するために、ステップS2604に処理を進める。
ステップS2604では、ビア自動配置部23はGNDビア2720を配置する。ここで、ステップS2604におけるGNDビアの配置位置はブロック2700の中心が好ましい。その他の位置としては、ブロック2700の重心や隣接するブロック2701との境界付近の位置等、ブロック2700の内部のあらゆる位置が考えられる。
次に、ステップS2605では、ビア自動配置部23はブロック2701からブロック2711については未だステップS2603の判定を行っていないブロックが存在すると判定するために、ステップS2602の処理に戻る。
【0098】
以後、同様にビア自動配置部23はステップS2602からステップS2605までの処理を繰り返し実行することにより、図29に示すように構成ライン910に沿った周縁部にGNDビア2720を順次配置する。ステップS2605では、ビア自動配置部23は未だステップS2603の判定を行っていないブロックが存在しないと判定すると、ステップS2606に処理を進める。そして、次にステップS2606において、ビア自動配置部23は構成ライン911から構成ライン915についてはブロックを作成していない構成ラインが存在すると判定し、ステップS2600に処理を進める。
【0099】
ステップS2600では、ビア自動配置部23は再び構成ラインを選択する。例えば、ビア自動配置部23が構成ライン911を選択するものとすると、図30に示すように、ステップS2601においてブロック2800からブロック2806を作成する。
ステップS2602では、ビア自動配置部23はブロック2800からブロック2806のうちからブロックを一つ選択する。例えば、ビア自動配置部23がブロック2800を選択した場合、ステップS2603において、ビア自動配置部23はブロック2800内にGNDビア2840が存在すると判定するために、ステップS2605の処理に進める。
【0100】
ステップS2605では、ビア自動配置部23はステップS2603の判定を行っていないブロック(ブロック2801からブロック2806まで)が存在すると判定し、ステップS2602の処理に戻り、再びブロックを一つ選択する。例えば、ビア自動配置部23はブロック2801を選択したものとすると、ステップS2603では、ブロック2801内には未だGNDビアが配置されていないと判定するために、ステップS2604に処理を進める。ステップS2604では、ビア自動配置部23はブロック2801内にGNDビア2820を配置して、ステップS2605の処理に進める。
【0101】
以後、同様にビア自動配置部23はステップS2602からステップS2605までの処理を繰り返し実行し、GNDビア2820を順次配置する。そして、ビア自動配置部23は、同様にステップS2600からステップS2606までの処理をステップS2606でブロック分割していない構成ラインが存在しなくなるまで繰り返し実行する。これにより、GND重複導電領域81の構成ラインから所定の間隔L1以内の周縁部に、GNDビアを所定の間隔L2以内で配置することができる。図31はGND重複導電領域81の周縁部にGNDビアを配置した後の状態を示す図である。ここで、GND重複導電領域81には内縁部は存在しなかったが、内縁部が存在する場合、ステップS407で内縁の位置情報及び形状情報を取得することで、ビア自動配置部23はGNDビアを内縁部に配置することができる。すなわち、ビア自動配置部23は内縁の位置情報及び形状情報に基づいて、ステップS2600からステップS2606の処理を繰り返し実行することにより、内縁から所定の間隔L1以内の領域にGNDビアを所定の間隔L2以内で配置する。
【0102】
次に、GND重複導電領域81の中央部にGNDビアを自動で配置する処理動作について詳細に説明する。
ステップS2607では、ビア自動配置部23はGND重複導電領域81のうち、ステップS2601で作成したブロックを全て排除した領域、すなわち図32に示すグレー部分の領域である中央部3000の位置情報及び形状情報を取得する。ステップS2608では、ビア自動配置部23は中央部3000をブロック分割する。ここで、ブロック分割の方法としては、まず、ビア自動配置部23は中央部3000の構成点のうち、一つを選択する。ここでは、ビア自動配置部23は図32に示す構成点3001を選択したものとする。ビア自動配置部23は構成点3001を1つの頂点とし、所定の間隔L3を一辺の長さとし、かつ一辺がx軸に平行な図32に示す正方形のブロック3010を中央部3000の内部に作成する。ここで、正方形のブロックの一辺の長さは必ずしもL3である必要はない。例えば、L3/2、L3/3等L3以下の値であってもよい。そして、ブロック3010と一辺を共有し、かつ中央部3000と一部領域を共有する正方形のブロック3011を作成する。ビア自動配置部23は作成した正方形のブロックからそれと一辺を共有し、かつ中央部3000と一部領域を共有する正方形のブロック3012を順次作成する。ここで、作成した正方形のブロック3012が中央部3000からはみ出る場合は、ビア自動配置部23は正方形のブロック3012から中央部3000からはみ出た領域を排除した形状をブロックの形状として適用する。
【0103】
次に、ステップS2609では、ビア自動配置部23は作成したブロック3010、3011、3012のそれぞれの内部にGNDビアが既に存在するか否かを判定し、GNDビアが存在しない場合にGNDビア3020を配置する処理を実行する。ステップS2609では、上述したステップS2602からステップS2606までの処理をブロック3012に対して適用すればよい。ステップS419において、ビア自動配置部23はプログラムを終了する。
【0104】
本実施形態では所定の間隔L2又はL3にユーザの設定した割合を乗算した値を採用する等の処理によって分割するブロックの大きさを調整することにより、ユーザが所望するGNDビア配置状況を実現することができる。これにより、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくすることを重視した、すなわちコスト面を考慮したGNDビアを配置できる。なお、図32では、GNDビア2720、2820、3020、ブロック3012の全てには符合を付していない。
また、必ずしも全てのブロック内にGNDビアを配置する必要はない。すなわち、所定の面積以下のブロックにはGNDビアを配置しない等の処理を追加することにより、ユーザにとって不要なGNDビアを配置しない、すなわち前記と同様にコスト面を考慮したGNDビアの配置が可能となる。
さらに、第1の実施形態と同様にGND重複導電領域の位置情報及び形状情報が座標平面及び空間上の不等式で表現されている場合であっても適用することができる。
【0105】
本実施形態によれば図33に示すようにプリント基板のGND重複導電領域の周縁部及び内縁部の周縁から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で配置することができる。さらに、GND重複導電領域の中央部に所定の間隔L3以内の間隔でGNDビアを自動で配置することができる。なお、本実施形態においてブロックの大きさ及び形状を決定する所定の間隔L1、L2、L3は、実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値、L3以内の値で変動させてもよい。ただし、L1、L2、L3の値を変動させない、すなわち等間隔にブロックを分割するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる効果を得ることができる。
また、本実施形態では、プリント基板のGND重複導電領域の周縁部および内縁部と中央部を段階的に分けてGNDビアを自動で配置する一例を示した。一方で、プリント基板全体にGNDビアを自動で配置することも可能である。この場合、図28のステップS2607で中央部をブロックに分割した方法を、そのままGND重複導電領域全体に適用することで、GND重複導電領域全体に一括でGNDビアを所定の間隔以内で自動配置することが可能である。
【0106】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0107】
(第5の実施形態)
第1の実施形態から第4の実施形態ではプリント基板のGND重複導電領域に対してGNDビアを自動で配置する場合について説明した。本実施形態では、信号等の配線変更等に伴い、GND重複導電領域が変化した際に、GNDビアを所定の間隔以内で再配置する場合について説明する。
本実施形態では、配線変更前のプリント基板の模式図として図6に示すプリント基板を参照する。また、配線変更後のプリント基板の模式図として、図34に示すプリント基板を参照する。ここで、本実施形態におけるプリント基板の配線変更点について説明する。本実施形態では、図6(c)に示す内層の信号配線6210及び信号配線ビア6220が図34(c)に示す内層の信号配線3210及び信号配線ビア3220に変更されている。また、図6(d)に示す表層の信号配線6310及び信号配線ビア6320が図34(d)に示す表層の信号配線3211及び信号配線ビア3221に変更されている。この配線変更に伴い、図6(c)(d)に示すGND導電領域623、633の形状が、それぞれ図34(c)(d)に示すGND導電領域3230、3231に変更されている。
【0108】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図35及び図36に示すフローチャートと図34及び図37から図44に示す模式図を参照して説明する。図35に示すステップS400からステップS407、ステップS409及びS410の動作処理は、第1の実施形態の図4に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。また、図36に示すフローチャートは図5に示すフローチャートと同様であり、その説明は省略する。
【0109】
ここで、図35に示すフローチャートの一部の処理について説明する。
ステップS404では、図形演算部22はステップS403において選択したGND配線名に関連する各層のGND導電領域を再度特定する。この処理はグラウンド導電領域再特定ステップの一例に対応する。
次に、ステップS405では、図形演算部22は特定した各層のGND導電領域が高さ方向に2次元的に重複する領域をGND重複導電領域Cとして再度抽出する。この処理は重複導電領域再抽出ステップの一例に対応する。
次に、ステップS3300からステップS3304までの処理について説明する。ここで、ステップS3300からステップS3304までの処理は、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う。
【0110】
ステップS3300では、ビア自動配置部23はステップS407において、配線変更後のGND重複導電領域Cの位置情報及び形状情報を取得した後、GNDビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。具体的にはビア自動配置部23はGND重複導電領域C外に配置されているGNDビアを排除する。この処理は重複導電領域外排除ステップの一例に対応する。
ステップS3301では、ビア自動配置部23はGND重複導電領域Cの各角付近のビア配置位置を算出する。
ステップS3302では、ビア自動配置部23はステップS3301で算出したビア配置位置から所定の間隔L2以内の範囲のGNDビアを排除する。
ステップS3303では、ビア自動配置部23はステップS3301で算出したビア配置位置にGNDビアを配置する。
【0111】
ステップS409では、ビア自動配置部23はステップS3303で配置したGNDビアのうち、GND重複導電領域Cの構成ラインに沿って隣り合う2つのGNDビア間を所定の間隔L2以内の距離で分割する。
ステップS3304では、ビア自動配置部23は分割した位置から所定の間隔L2の範囲内に既に配置されているGNDビアを排除する。
ステップS410では、ビア自動配置部23はステップS409で分割した各位置にGNDビアを配置する。この処理は自動再配置ステップの一例に対応する。ここで、高速配線の変更に対する場合は、ステップS3300とステップS3301との間に図17に示すステップS1600からステップS1602までの処理を付加する。この場合、ステップS1600で選択される高速配線ビアは変更された高速配線のビアのみでよい。
【0112】
次に、図34及び図37から図44の模式図を参照して本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。
まず、ステップS401からステップS406で、ビア自動配置部23はGND重複導電領域を抽出する。これらの処理は第1の実施形態と同一である。図37は抽出されたGND導電領域を示す図である。すなわち、図37に示すグレー部分の領域80、82、83、3581、3584がGND重複導電領域である。なお、GND重複導電領域80、82、83は図10に示す同一符号のGND重複導電領域と一致する。すなわち、GND重複導電領域3581、3584が変化したGND重複導電領域である。
【0113】
図38はステップS406が終了した時点でのGND重複導電領域とGNDビアの配置状態とを示す図である。ステップS407では、ビア自動配置部23はGND重複導電領域の位置情報及び形状情報を取得した後、ステップS3300でGND重複導電領域外の図38に示すGNDビア3600を排除する。図39はGND重複導電領域外のGNDビアを排除した後のGNDビアの配置状態を示す図である。図39に示すようにGND重複導電領域外のGNDビアが排除されている。
【0114】
次に、GND重複導電領域にGNDビアを再配置する処理動作について具体的に説明する。ここでは、説明を容易にするために、図38に示す変化したGND重複導電領域3584にGNDビアを再配置する処理動作について説明する。実際には、その他のGND重複導電領域80、82、83、3581にも同様に再配置の処理を行うことは言うまでもない。また、変化したGND重複導電領域を判別するフローを追加することで、変化したGND重複導電領域のみに対してGNDビアの再配置を実行することも可能である。
【0115】
ここでは、第1の実施形態と同様にGND重複導電領域の周縁部及び内縁部と中央部とを段階的に分けて、各部分にGNDビアを再配置する場合について説明する。したがって、ステップS401で設定されるビア自動配置条件は、所定の間隔L1、L2、L3である。まず、GND重複導電領域3584の周縁部及び内縁部にGNDビアを再配置する動作を具体的に説明する。ここで、図40に示すグレー部分の領域はGND重複導電領域3584を拡大した図である。
【0116】
ステップS3301では、ビア自動配置部23はステップS407で取得したGND重複導電領域3584の位置情報及び形状情報に基づいて各構成点を抽出し、各構成点付近のビア配置位置3800を算出する。各構成点付近のビア配置位置算出方法は、第1の実施形態の図4に示すフローチャート内のステップS408と同じ方法(図11参照)を用いればよい。
ステップS3302では、ビア自動配置部23はビア配置位置3800から所定の間隔L2の範囲内、すなわち図40に示す円3810の内部にあるGNDビア3801を排除する。
次に、ステップS3303では、ビア自動配置部23は各ビア配置位置3800にGNDビア3800を配置する。
【0117】
次に、ステップS409では、ビア自動配置部23はステップS3303で配置したGNDビアのうち、GND重複導電領域3584の構成ラインに沿って隣り合うGNDビア間を所定の間隔L2以内の間隔で分割する。ここで、分割方法は第1の実施形態の図4に示すフローチャート内のステップS409で説明した方法を用いればよい。ここで、図41に示す黒丸3900はステップS409で分割した各位置を示している。
ステップS3304では、ビア自動配置部23はステップS409で分割した各位置から所定の間隔L2の範囲内、すなわち図41に示す円3910の内部に既に配置されているGNDビア3901を排除する。ここで、図41では、GND重複導電領域84とGND重複導電領域3584との間で変化していない構成ラインに沿って位置3900と完全に重なっているGNDビア3901が存在し、ビア自動配置部23はそれらのGNDビア3901も排除している。
【0118】
ステップS410では、ビア自動配置部23はステップS409で分割した各位置にGNDビア3900を配置する。ここでは、図を見易くするためにステップS409で分割した位置3900とステップS410で配置したGNDビア3900とに同一符号を付した。
【0119】
次に、GND重複導電領域3584の中央部にGNDビアを配置する動作について具体的に説明する。図42はGND重複導電領域3584の中央部にGNDビアを配置状態を示す図である。
ステップS411では、ビア自動配置部23はGND重複導電領域3584内に存在するGNDビアを一つ選択する。ここで例えば、ビア自動配置部23は図42に示すGNDビア4000を選択したものとする。
ステップS412では、ビア自動配置部23はGNDビア4000から第1の実施形態の図5に示すフローチャートのステップS412において、説明した同様の方法でスライド位置を算出する。すなわち、ビア自動配置部23はx軸方向及びy軸方向の各正負方向に所定の間隔L3の半分の距離(L3/2)だけ移動した位置を算出する。具体的には、x軸方向の正方向、x軸方向の負方向、y軸方向の正方向、y軸方向の負方向に移動した位置はそれぞれ図42に示すスライド位置4001、4002、4003、4004である。
【0120】
ステップS413では、ビア自動配置部23はスライド位置4001、4002、4003、4004から一つを選択する。ここでは例えば、ビア自動配置部23はスライド位置4001を選択する。
ステップS414では、ビア自動配置部23はスライド位置4001から所定の間隔L3の半分の距離(L3/2)の範囲内、すなわち図42に示す円4011の内部に他のGNDビアが配置されていないと判定し、ステップS415の処理に進める。
ステップS415では、ビア自動配置部23はスライド位置4001がGND重複導電領域3584内であると判定し、ステップS416に処理を進める。
したがって、ステップS416では、ビア自動配置部23はスライド位置4001にGNDビア4001を配置する。この処理は自動再配置ステップの一例に対応する。
【0121】
ステップS417では、ビア自動配置部23は未だステップS414の判定を行っていないスライド位置4002、4003、4004が存在すると判定するので、ステップS413の処理に戻る。
ステップS413では、ビア自動配置部23はスライド位置4002、4003、4004から一つを選択する。ここで例えば、ビア自動配置部23はスライド位置4002を選択する。この場合、ステップS414では、ビア自動配置部23はスライド位置4002から距離L3/2の範囲内、すなわち図42に示す円4012の内部に既にGNDビア4022が配置されていると判定するので、ステップS417に処理を進める。ステップS417では、ビア自動配置部23は未だステップS414の判定を行っていないスライド位置4003、4004が存在すると判定するので、ステップS413に処理を戻す。
【0122】
以後、ビア自動配置部23は同様にステップS413からステップS417の処理をステップS417で残りのスライド位置が存在しなくなるまで繰り返し実行する。そして、ビア自動配置部23はスライド位置4003にはGNDビアを配置せず、スライド位置4004にはGNDビア4004を配置する。ステップS417において残りのスライド位置が存在しなくなると、ステップS418に処理を進める。
ステップS418では、ビア自動配置部23は未だステップS412の処理を行っていないGNDビアが存在すると判定するので、ステップS411の処理に戻る。
【0123】
以後、ビア自動配置部23は同様にステップS411からステップS418までの処理をステップS418でステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。ステップS418でステップS412の処理を行っていないGNDビアが存在しなくなると、ステップS419でプログラムを終了する。
【0124】
図43はGND重複導電領域3584内のGNDビアの配置状態を示している。また、図44はプログラムを終了した後のプリント基板全体のGND重複導電領域とGNDビアの配置状態を示している。なお、図を見易くするために、図40のGNDビア3800、円3810、図41のGNDビア3900、円3910、GNDビア3901の全てには符合を付していない。
【0125】
このように、本実施形態ではGND重複導電領域の周縁部及び内縁部にGNDビアを再配置するときに、GNDビアを全て新規に配置し直す場合について説明した。しかしながら、配線変更に伴い、GND重複導電領域の周縁部及び内縁部でGNDビアが配置されていない場所を検索したり、変化した構成ラインを判別し、その周縁部及び内縁部にのみ配置したりしてもよい。
また、GND重複導電領域外のGNDビアを、配置を必要とするにもかかわらず配置されていない位置へ1個ずつ、又は複数個ずつ修正して移動させてもよい。この処理は自動修正配置ステップの一例に対応する。このとき、配置を必要とする位置の算出方法は、本実施形態の図35に示すフローチャートのステップS3301又は図36に示すフローチャートのステップS412で説明した方法を適用すればよい。
また、本実施形態では、GND重複導電領域を周縁部及び内縁部と中央部とに分けて、段階的にGNDビアを再配置する場合について説明したが、第3の実施形態のGNDビア配置方法を適用することで、GNDビアを段階的に分けずに配置することもできる。
【0126】
本実施形態は第1の実施形態と同様、ステップS412の移動距離及びステップS414のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のGNDビア配置状況を実現することができる。このようにすることで、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくして、コスト面を考慮したGNDビアの配置を行うことができる。さらにGND重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもGNDビアの自動配置を行うことができる。
【0127】
このように本実施形態では、図44に示すようにGND重複導電領域が変化した場合であっても、GND重複導電領域の周縁部及び内縁部の端から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で再配置することができる。さらに、GND重複導電領域の中央部に所定の間隔L3以内の間隔でGNDビアを自動で再配置することができる。なお、本実施形態における所定の間隔L1、L2、L3は、実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値、L3以内の値で変動させてもよい。ただし、L1、L2、L3の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0128】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動追加配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層にのみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0129】
(第6の実施形態)
第5の実施形態では、配線変更に伴うGND重複導電領域の変化に対して、自動でGNDビアを再配置する場合について説明した。このとき、GNDビアを再配置する方法は配線変更後のGND重複導電領域の位置情報及び形状情報のみからGNDビアを排除し、追加配置する方法であった。本実施形態では、配線変更に伴う信号配線の形状の変化からGNDビアの排除を行い、その後、GND重複導電領域内にGNDビアを追加配置する場合について説明する。
図45は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。図45に示すステップCは第5の実施形態の図36に示すステップCのフローチャートに続く。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図45に示すフローチャートと図46から図48に示す模式図を参照して説明する。なお、配線変更前及び配線変更後の図は第5の実施形態と同様、それぞれ図6と図34との模式図を参照する。
【0130】
まず、図45に示すフローチャートについて詳細に説明する。ここで、図45に示すフローチャートは第5の実施形態の図35に示すフローチャートの開始後にステップS4300、ステップS4301及びステップS4302を追加したものである。したがって、ステップS4300、ステップS4301及びステップS4302についてのみ詳細に説明する。
ステップS4300では、外部記憶情報抽出部21はプリント基板上に配置されている各部品及び配線に対するビア配置禁止領域情報を取得する。この処理は禁止領域情報取得ステップの一例に対応する。ビア配置禁止領域情報の取得方法としては、レイアウト情報142の中にビア配置禁止領域情報を含めておき、外部記憶情報抽出部21が主記憶装置11にあるレイアウト情報142から取得する方法が好ましい。なお、次のような方法も考えられる。信号配線や部品の型の属性情報をレイアウト情報142に含めておき、外部記憶情報抽出部21が主記憶装置11にあるレイアウト情報142から信号配線や部品の型の属性情報を抽出する。次に、各信号配線や部品の型の属性情報とビア配置禁止領域情報との対応関係データDを予め外部記憶装置14の中に蓄積しておき、外部記憶情報抽出部21が外部記憶装置14から主記憶装置11に対応関係データDを格納する。そして、外部記憶情報抽出部21は信号配線や部品の型の属性情報と対応関係データDを照合させ、対応関係Dから該当する信号配線や部品の型の属性情報に与えられるビア配置禁止領域情報を取得する。
【0131】
次に、ステップS4301では、図形演算部22は主記憶装置11にあるレイアウト情報142及びビア配置禁止領域情報を参照しながら、変更のあった各配線や部品に対してビア配置禁止領域を算出する。この処理は禁止領域算出ステップの一例に対応する。例えば、信号配線Eが変更され、信号配線Eに対するビア配置禁止領域情報が信号配線Eの導電領域から距離L6Aの範囲であった場合は、変更後の信号配線Eの導電領域から距離L6A以内の範囲をビア配置禁止領域として算出する。また、例えば部品Fの配置位置が変更されたとする。部品Fのビア配置禁止領域情報が部品Fの外形から距離L6Bの範囲以内であった場合は、変更後の位置にある部品Fの外形から距離L6B以内の範囲をビア配置禁止領域として算出する。
一方で、部品Fのビア配置禁止領域情報が部品Fの各ピンをプリント基板の導電領域に電気的に接続させるための導電領域(以下、ピンパッド)から距離L6Cの範囲であるとする。この場合、変更後の部品Fの各ピンのピンパッドから距離L6C以内の範囲をビア配置禁止領域として算出する。
【0132】
さらに、部品Fのビア配置禁止領域情報が部品Fの部品配置位置を基準として算出可能な構成点で構成される図形情報F5の場合、部品Fの配置位置と図形情報F5とからビア配置禁止領域を算出する。
また、例えば信号配線ビアGの位置が変更され、信号配線ビアGのビア配置禁止領域が信号配線ビアGの電気的接続を良好にするために設けられた導電領域(以下、ビアパッド)から距離L6Dの範囲であるとする。その場合、変更後の信号配線ビアGのビアパッドから距離L6D以内の範囲をビア配置禁止領域として算出する。
ステップS4302では、ステップS4301において各変更後の配線や部品等に対するビア配置禁止領域を算出すると、ビア自動配置部23は主記憶装置11にあるレイアウト情報142を参照し、ビア配置禁止領域に含まれるGNDビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。
以上が、本実施形態に係るプリント基板設計支援装置の一部の処理手順の一例である。
【0133】
なお、図45に示すフローチャートでは、ステップS4300からステップS4302までの処理をフローチャート開始直後、すなわちステップS400直後で実行するようにした。しかしながら、ステップS4300からステップS4302までの処理をステップS406の直後で実行するようにしても同様の結果を得ることができる。
また、高速配線の変更に対する対応としては、ステップS3300とステップS3301との間に、図17に示すステップS1600からステップS1602までの処理を付加すればよい。この場合、ステップS1600で選択される高速配線ビアは変更された高速配線ビアのみでよい。
【0134】
次に、図46から図48までの模式図を参照して、本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。ここでは説明の理解を容易にするために、開始後にステップS401からステップS406までの処理を実行し、次にステップS4300からステップS4302までの処理を実行し、その後ステップS407からプログラム終了までを実行する。
ステップS400から開始し、ステップS406までの一連のステップ群を繰り返して実行されると、図形演算部22は第5の実施形態において説明した図38に示すGND重複導電領域80、82、83、3581、3584を抽出する。図46では、図38に加えて、変更された信号配線3210、3211、変更された信号配線ビア3220を示している。
【0135】
ステップS4300では、外部記憶情報抽出部21は信号配線3210、3211、信号配線ビア3220のビア配置禁止領域情報を取得する。ここで、例えば、信号配線3210及び信号配線3211のビア配置禁止領域情報が信号配線の導電領域から距離L6Aの範囲であり、信号配線ビア3220のビア配置禁止領域情報がビアパッドから距離L6Dの範囲であるとする。
ステップS4301では、図形演算部22は信号配線3210及び信号配線3211の各ラインの導電領域から距離L6Aの範囲、すなわちそれぞれ図46に示す点線で示した矩形4400及び矩形4401を算出する。また、信号配線ビア3220のビアパッドから距離L6Dの範囲、すなわち図46に示す点線で示した円4402を算出する。
【0136】
ステップS4302では、ビア自動配置部23は矩形4400、4401及び円4402に含まれるGNDビア、すなわち矩形4400に含まれるGNDビア4420及び矩形4401に含まれるGNDビア4421を排除する。なお、図を見易くするためにGNDビア4420、4421の全てには符合を付していない。図47はビア配置禁止領域内のGNDビア4420及びGNDビア4421を排除した後のGND重複導電領域とGNDビアの配置状態とを示す図である。なお、ステップS407からステップS419までの処理は第5の実施形態の説明と同様であり、その説明は省略する。図48はプログラムを終了した後のGND重複導電領域とGNDビアの配置状態とを示す図である。
【0137】
本実施形態によれば、第5の実施形態と同様、プリント基板の配線変更に伴ってGND重複導電領域の形状が変化した場合にあっても、GNDビアを自動で再配置することができる。なお、本実施形態では配線変更が一通り終了してから、ビア配置禁止領域内に入ったGNDビアを排除する場合について説明した。しかしながら、配線や部品を配置するごとに、ビア配置禁止領域の算出、ビア配置禁止領域内のGNDビアの排除及びGND重複導電領域内のGNDビアの再配置を行ってもよい。これにより、ユーザは配線を変更しながら、GNDビアの再配置状況を確認することができる。ただし、配線変更ごとにGNDビアの再配置を実行する場合、配線の位置及び方向を変更するたびに図形計算処理を必要とし、ユーザの円滑な作業を妨害することもある。したがって、ここでは配線変更が一通り終了した後にビア配置禁止領域内に入ったGNDビアを排除する一例を示した。
【0138】
また、本実施形態ではラインに対するビア配置禁止領域を矩形とする場合について説明したが、ラインに対するビア配置禁止領域の角を丸くしたり、ラインの始点及び終点の周囲は円状にしたりしてもよい。また、ビアパッドに対するビア配置禁止領域を円としたが、楕円や矩形で代用してもよい。このように、各配線や部品に対するビア配置禁止領域情報の形状は様々な形状とすることができる。
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動修正及び追加配置する場合について説明した。しかし、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0139】
(第7の実施形態)
第1の実施形態から第3の実施形態ではGND重複導電領域に対してGNDビアを自動配置する場合について説明した。第5の実施形態及び第6の実施形態では配線変更等に伴うGND重複導電領域の形状の変更があった場合にGNDビアを自動で再配置する場合について説明した。
本実施形態では、部品の配置及び配線が行われる前にGNDビアを自動配置し、部品の配置及び配線に伴って排除すべきGNDビアを排除するプリント基板設計装置について説明する。
【0140】
図49は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図49に示すフローチャートと図50から図59に示す模式図を参照して説明する。図50は本実施形態によりプリント基板を設計した設計後のプリント基板の状態を示す図である。ここで、図50に示す部品配置及び配線状況について説明する。図50に示すプリント基板の模式図の部品配置及び配線状況は図34に示す層62内の太実線の配線を除いた配置及び配線状況と一致する。ここでは、図50に示す図を見易くするため、該太実線を排除している。また、図50に示すグレー領域はGND重複導電領域を示す。
【0141】
次に、図49に示すフローチャートについて詳細に説明する。
まず、ステップS4700及びステップS4701の処理は、それぞれ第1の実施形態で説明した図4に示すフローチャートのステップS400及びステップS401と同様であり、その説明は省略する。ただし、本実施形態でのビア自動配置条件は、第1の実施形態で説明した所定の間隔L1、L2、L3と同じであり、これらの条件をGND重複導電領域を基板外形に置き換えて適用するものとする。また、ビア自動追加条件には、前記所定の間隔L1、L2、L3に加え、GND重複導電領域の周縁からのビア配置禁止距離L7(以下、禁止距離L7)が含まれる。以下、ステップS4702からステップS4708までに行う処理は、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う処理である。
【0142】
ステップS4702では、ビア自動配置部23はプリント基板の外形の位置情報及び形状情報を取得する。
ステップS4703では、ビア自動配置部23は基板外形内に所定の間隔以内でGNDビアを配置する。ステップS4703において所定の間隔以内でGNDビアを配置する方法としては、第1の実施形態又は第4の実施形態に説明した第1の実施形態又は第4の実施形態におけるGND重複導電領域を本実施形態における基板の外形内部に置き換えて適用すればよい。
【0143】
ステップS4704では、ビア自動配置部23はステップS4703でGNDビアを配置した後、ユーザにより部品や配線が追加又は変更される、すなわちレイアウト情報142が変更されるたびに、ビア配置禁止領域を作成する必要があるか否かを判定する。ビア配置禁止領域を作成する必要がある場合、ステップS4705、ステップS4706及びステップS4707の処理を実行し、再びステップS4704の処理に戻る。ビア配置禁止領域を作成する必要がない場合、ステップS4708の処理に進める。ここで、ステップS4705、ステップS4706及びステップS4707では、それぞれ第6の実施形態で説明した図45に示すステップS4300、ステップS4301及びステップS4302と同様の処理を実行する。したがって、ステップS4705、ステップS4706及びステップS4707の処理についての詳細な説明は省略する。
【0144】
ステップS4708では、図形演算部22はGND導電領域の面図形が挿入されたか(面入れがされたか)否かを判定する。GND導電領域の面入れがされた場合、ステップS4709の処理に進める。面入れがされずに部品配置又は配線の変更がなされた場合、ステップS4704の処理に戻る。
ステップS4709では、図形演算部22は主記憶装置11にあるレイアウト情報142を読み出して、GND重複導電領域を抽出する。ステップS4709でGND重複導電領域を抽出する方法としては、第1の実施形態の図4に示すフローチャートのステップS402からステップS406までの方法を適用すればよい。
【0145】
以下、ステップS4710からステップS4712までの処理はビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う処理である。
ステップS4710では、ビア自動配置部23は抽出されたGND重複複導電領域の位置情報及び形状情報を取得する。
次に、ステップS4711では、ビア自動配置部23はGND重複導電領域外又はGND重複導電領域の周縁及び内縁から所定の距離L7以内の範囲に配置されているGNDビアを排除する。ステップS4712では、処理プログラム141を終了する。
以上が、本実施形態に係る図49に示すフローチャートの詳細な説明である。本実施形態では、プリント基板のGND重複導電領域全体に等間隔以内でGNDビアを配置する場合について説明した。しかしながら、GND重複導電領域の周縁部分及び内縁部分と中央部分を分けて配置してもよい。その場合、図49に示すフローチャートのステップS4711以降に第5の実施形態で説明した図35に示すフローチャートのステップS3301からステップS410を追加し、GND重複導電領域内にGNDビアを再配置すればよい。
【0146】
また、第2の実施形態と同様に高速配線ビアの近傍にGNDビアを配置する場合、ステップS4710とステップS4711との間に図17に示すフローチャートのステップS1600からステップS1602までの処理を加えればよい。
さらに、ステップS4708のGNDの面入れ後にも配線等が変更されることがある。この場合、第6の実施形態と同様に配線等が変更されるたびにそれに応じたビア配置禁止領域を作成し、GNDビアを排除する処理を行えばよい。
【0147】
以下、図50から図59の模式図を参照して、本実施形態に係る処理動作について具体的に説明する。ステップS4700からステップS4703までの処理を実行すると、基板外形の周縁部及び内縁部と中央部とにそれぞれ所定の間隔以内でGNDビアが配置される。この具体的な動作は、第1の実施形態で説明した図4及び図5に示すフローチャートのステップS407からステップS418までの処理について、GND重複導電領域を基板外形に置き換えることで実現できる。また、第4の実施形態で説明した図28に示すフローチャートのステップS2600からステップS2609までの処理について、GND重複導電領域を基板外形に置き換えて実現できる。
なお、周縁部及び内縁部と中央部とを分けずに基板外形全体にGNDビアを所定の間隔以内で配置する場合、第3の実施形態の図23及び図24に示すステップS407からステップS418までの処理を、GND重複導電領域を基板外形に置き換えて実現できる。ここで、図51は基板外形内にGNDビアを配置した後のプリント基板のGNDビアの配置状態を示す図である。図51に示すように、基板外形4800内の周縁部にGNDビア4801が所定の間隔(L2)以内に配置され、中央部にはGNDビア4802が所定の間隔(L3)以内で配置されている。
【0148】
ステップS4704以降の処理は、ユーザによるプリント基板に部品や配線等を配置することにより実行される。例えば、図52(a)に示すように部品4900(ビア配置禁止領域を持つ部品)を配置した場合、ステップS4704では、ビア自動配置部23はビア配置禁止領域を作成しなければならない追加配置があったと判定する。そして、ステップS4705及びステップS4706を実行することで、図52(a)に示す点線で囲まれたビア配置禁止領域4910を算出する。ここでは、部品4900のビア配置禁止領域情報が、部品4900の配置位置の座標を基準として算出可能な構成点で構成される図形形状で表される場合について説明した。
ステップS4707では、ビア自動配置部23はビア配置禁止領域4910に含まれるGNDビア4920を排除する。同様に、部品4901、4902、4903が配置されるたびにステップS4705からステップS4707までの処理を実行し、それぞれ算出したビア配置禁止領域4911、4912、4913に含まれるGNDビア4921、4922、4923を排除する。
【0149】
図53(a)は部品4900、4901、4902、4304が配置された後のプリント基板の状態を示す図である。ここで、部品4900、4901は図53(b)に示す層60上に配置され、部品4902、4903は層63上に配置されている。次に、図54(a)に示すように、層60に信号配線5100を配置した場合、信号配線の周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップS4705及びステップS4706の処理を実行することで、ビア自動配置部23は図54(a)に示す点線のビア配置禁止領域5110を算出し、ステップS4707ではビア配置禁止領域5110に含まれるGNDビア5120を排除する。図55(a)は信号配線5100を配置した後のプリント基板の状態を示す図である。
【0150】
次に、図56(a)に示すように信号配線と信号配線ビアとが配置されている場合について説明する。図56(a)では、層60、62、63にそれぞれ信号配線5300、5301、5302が配置され、信号配線5300と5301とを接続する信号配線ビア5303及び信号配線5301と5302とを接続する信号配線ビア5304が配置されている。ここで、信号配線及び信号配線ビアの周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップS4705及びステップS4706の処理を実行することで、ビア自動配置部23は信号配線5300、5301、5302に対してビア配置禁止領域5310、5311、5312を算出する。また、ビア自動配置部23は信号配線ビア5303、5304に対してビア配置禁止領域5313、5314を算出する。次に、ステップS4707では、ビア自動配置部23はビア配置禁止領域5310、5311、5312、5313、5314に含まれるGNDビア5320を排除する。
図57(a)は信号配線5300、5301、5302が配置された後のプリント基板の状態を示す図である。
【0151】
以下、同様にユーザがプリント基板に部品や配線等を配置するたびに、ビア自動配置部23はステップS4705からステップS4707までの処理をGND導電領域の面入れが行われるまで実行する。
図58(a)は全ての配線を終えた状態のプリント基板を示す図である。図58(a)では層60、62、63にそれぞれ信号配線5500、5501、5502が配置され、それらを接続する信号配線ビア5520が配置されている。また、図58(a)に示すように、信号配線及び信号配線ビアの周囲のGNDビアが排除されている。
【0152】
次に、ユーザによりGNDの面入れが行われると、ステップS4709では、図形演算部22はGND重複導電領域を抽出する。ここで、図59(a)に示すグレーの領域がGND重複導電領域5600である。
ステップS4710では、ビア自動配置部23はGND重複導電領域5600の位置情報及び形状情報を取得する。
ステップS4711では、ビア自動配置部23はGND重複導電領域5600の周縁及び内縁から禁止距離L7の範囲内に含まれるGNDビア5601を排除する。ステップS4712でプログラムを終了する。
【0153】
図50(a)はGNDビアを排除した後のプリント基板の状態を示す図である。ただし、図50(a)では、図を見易くするため、図51に示すGNDビア4801、図52(a)に示すGNDビア4920、4921、4922、4923、図54(a)に示すGNDビア5120、図56(a)に示すGNDビア5320の符号を付していない。また、図58(a)に示す信号配線ビア5420、図59(a)に示すGNDビア5601の符号を付していない。
以上が、本実施形態に係るプリント基板設計支援装置による処理動作である。本実施形態によれば、図50(a)に示すようにプリント基板の周縁部及び内縁部に所定の間隔以内でGNDビアを自動で配置することができる。また、プリント基板の中央部で、かつGND重複導電領域全体に所定の間隔以内でGNDビアを自動で配置することができる。
【0154】
なお、本実施形態では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と、同等の処理を行うことができる。
【0155】
また、本実施形態では、GND重複導電領域全体にGNDビアを所定の間隔以内で配置する場合について説明した。しかしながら、GND重複導電領域の周縁部及び内縁部にGNDビアを所定の間隔以内で配置することもできる。この場合、ステップS4710とステップS4711との間に図35に示すフローチャートのステップS3300からステップS3304の処理を追加すればよい。また、第2の実施形態と同様に、高速配線ビアの近傍にGNDビアを配置する場合は、ステップS4710とステップS4711との間に図17に示すステップS1600からステップS1602までの処理を追加すればよい。
【0156】
上述したように、本発明の実施形態におけるプリント基板設計支援装置を構成する各手段及びプリント基板設計支援方法の各ステップは外部記憶装置14に格納されたプリント基板設計支援プログラムを実行することによって実現できる。このプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【符号の説明】
【0157】
10:中央処理装置(CPU) 11:主記憶装置 12:表示装置 13:入力装置 14:外部記憶装置 15:出力装置 16:バス 141:処理プログラム 142:レイアウト情報 20:入力部 21:外部記憶情報抽出部 22:図形演算部 23:ビア自動配置部
【技術分野】
【0001】
本発明は、プリント基板設計支援プログラム、プリント基板設計支援方法及びプリント基板設計支援装置に関するものである。特に、絶縁層を介して積層された複数の導電層間を電気的に接続する層間接続部材(ビアホール、以下、「ビア」という)を適切に配置するためのものである。
【背景技術】
【0002】
近年、情報機器等の電子機器内に伝送される信号の高速化に伴い、該電子機器から放射される不要電磁波(以下、放射ノイズ)が問題となっている。この問題を解決するために、該電子機器内のプリント基板上の配線及び該配線に接続されたワイヤーハーネスや該電子機器の筐体に対し、様々な放射ノイズの抑制設計が行われている。
【0003】
その放射ノイズ抑制設計手法の一つとして、プリント基板内の複数の導電層間を電気的に接続するビアの配置を工夫する技術が提案されている(例えば、特許文献1、特許文献2参照)。
特許文献1のプリント配線基板設計支援装置では、プリント基板上の所定範囲内のビアの配置数を算出し、該ビアの配置数が所定数より少ないことを報知する技術が開示されている。また、このプリント配線基板設計支援装置では、所定間隔でビアが配置されているか否かを検出し、所定間隔で配置されていない場合に報知する技術が開示されている。
特許文献2の基板設計支援装置では、信号のリターン電流ルートの層変更の必要性を判断すべき箇所(以下、チェックポイント)を検出し、チェックポイントから指定距離の範囲内で、かつビアの配置されていない領域の合成領域を表示する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−163467号公報
【特許文献2】特開2007−272342号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように特許文献1のプリント配線基板設計支援装置では、所定範囲内のビアの配置数が少ない、あるいはビアが所定間隔で配置されていないことを報知する。
また、特許文献2の基板設計支援装置では、信号線の層変更箇所等リターン電流ルートの層変更の必要性を判断すべき場所近傍で、かつ電源又はGNDのビアの存在しない箇所の合成領域を算出する。そして、その上でリターン電流ルートの層変更の必要性を判断し、層変更が必要であれば合成領域を可視化する。
【0006】
しかしながら、ユーザが特許文献1の条件を満たすように、又は特許文献2においてリターン電流ルートの層変更の必要な合成領域にビアの追加配置を試みる際に、どの位置にビアを追加することが可能かを目視で判定する必要がある。したがって、ユーザはビアを追加配置することが可能な位置であることを判断するのに多大な時間を必要とし、さらに該判断のミスや追加配置可能な位置の見落としが生じる可能性がある。
【0007】
本発明は上述したような問題点に鑑みてなされたものであり、プリント基板上に所定の条件を満たすようにビアを自動で配置することを目的とする。すなわち、複数の導電層が絶縁層を介して積層されたプリント基板において、複数の導電層の電源又はグラウンド導電領域が重複する導電領域(以下、重複導電領域)上に、電源又はグラウンドのビアを所定の間隔以内で自動配置できるようにする。
【課題を解決するための手段】
【0008】
本発明のプリント基板設計支援プログラムは、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップとをコンピュータに実行させるためのプリント基板設計支援プログラムであって、前記第1の配置ステップは、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とする。
【発明の効果】
【0009】
本発明によれば、プリント基板上で電源又はグラウンド(以下、GND)のビアを自動で配置することにより、プリント基板設計段階で電源又はGNDのビアを短時間で、かつミスなく配置することができる。
【0010】
また、例えば第1の発明によれば、重複導電領域にビアを所定の間隔以内に自動で配置することにより、ユーザの電源又はGNDのビアを配置する手間を省くことができ、さらにミスや洩れがなく電源又はGNDのビアを配置することができる。
【0011】
また、例えば第1の発明によれば、重複導電領域を分割したブロック内に電源又はGNDのビアを配置することで、電源又はGNDのビアを過度に多く配置することを防止することができる。
【0012】
また、例えば第2の発明によれば、重複導電領域の周縁部及び内縁部から所定の距離の範囲内に所定の間隔以内で電源又はGNDのビアを自動で配置する。したがって、ユーザは複数の導電層を見ながら重複導電領域の形状を確認する手間を省くことができ、かつ重複導電領域の周縁及び内縁付近にミス、洩れなく電源又はGNDのビアを配置することができる。
【0013】
また、例えば第3の発明によれば、配線変更により重複導電領域の形状が変更された場合にも、重複導電領域の形状変更に基づいた電源又はGNDのビアを自動で再配置する。これにより、ユーザは配線変更する際に不必要なビアを排除して、必要なビアを追加配置する手間を省くことができ、さらにミスや洩れがなく電源又はGNDのビアを再配置することができる。
【0014】
また、例えば第4の発明によれば、変更された重複導電領域外の電源又はGNDのビアを自動で排除する。これにより、第3の発明の効果に加え、必要最小限の電源又はGNDのビアを排除し、電源又はGNDのビアの再配置時に不必要な追加配置をする時間を省くことができる。
【0015】
また、例えば第5の発明によれば、変更された配線に応じてその周囲の電源又はGNDのビアを排除する。これにより、第4の発明の効果に加え、ユーザが配線を変更したい位置に電源又はGNDのビアが存在する場合に、該電源又はGNDのビアを排除する手間を省くことができる。さらに、ユーザはGNDのビアの存在を意識することなく、配線を変更することができる。
【0016】
また、例えば第6の発明によれば、変更された重複導電領域内で電源又はGNDビアを自動修正配置する。これにより、変更された重複導電領域内に電源又はGNDビアを整列して配置することができ、ユーザが容易にビアの配置状況を認識することができる。
【0017】
また、例えば第7の発明によれば、変更された重複導電領域外の電源又はGNDビアを該重複導電領域内に修正配置する。これにより、第6の発明の効果に加え、該重複導電領域外の電源又はGNDビアを排除する手間を省くことができる。
【0018】
また、例えば第8の発明によれば、プリント基板に部品や配線を変更した場合であっても、配置禁止領域に配置されているGNDビアを自動に排除する。これにより、電源又はGNDビアを排除する手間を省くことができる。
【図面の簡単な説明】
【0019】
【図1】プリント基板設計支援装置の構成を示す図である。
【図2】プリント基板設計支援装置の機能構成を示す図である。
【図3】プリント基板設計支援装置の動作処理を示すフローチャートである。
【図4】第1の実施形態に係る処理動作の一例を示すフローチャートである。
【図5】第1の実施形態に係る処理動作の一例を示すフローチャートである。
【図6】第1の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図7】第1の実施形態に係るビア自動配置条件の設定方法を説明するための図である。
【図8】第1の実施形態に係るGND属性情報を用いてGND導電領域を特定した場合における処理動作の一例を示すフローチャートである。
【図9】第1の実施形態に係るステップS404の処理後の状態を示す図である。
【図10】第1の実施形態に係るステップS405の処理後の状態を示す図である。
【図11】第1の実施形態に係るステップS408を説明するための図である。
【図12】第1の実施形態に係るステップS410の処理後の状態を示す図である。
【図13】第1の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図14】第1の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図15】第1の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図16】第1の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図17】第2の実施形態に係る処理動作の一例を示すフローチャートである。
【図18】第2の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図19】第2の実施形態に係るステップS405の処理後の状態を示す図である。
【図20】第2の実施形態に係るステップS1600からステップS1602の処理を説明するための図である。
【図21】第2の実施形態に係るステップS408の処理後の状態を示す図である。
【図22】第2の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図23】第3の実施形態に係る処理動作の一例を示すフローチャートである。
【図24】第3の実施形態に係る処理動作の一例を示すフローチャートである。
【図25】第3の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図26】第3の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図27】第3の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図28】第4の実施形態に係る処理動作の一例を示すフローチャートである。
【図29】第4の実施形態に係るステップS2600からステップS2604の処理を説明するための図である。
【図30】第4の実施形態に係るステップS2600からステップS2604の処理を説明するための図である。
【図31】第4の実施形態に係るステップS2606の処理後の状態を示す図である。
【図32】第4の実施形態に係るステップS2608及びステップS2609の処理を説明するための図である。
【図33】第4の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図34】第5の実施形態に係る動作処理を説明するためのプリント基板の模式図である。
【図35】第5の実施形態に係る処理動作の一例を示すフローチャートである。
【図36】第5の実施形態に係る処理動作の一例を示すフローチャートである。
【図37】第5の実施形態に係るステップS405の処理後の状態を示す図である。
【図38】第5の実施形態に係るステップS405の処理後の状態を示す図である。
【図39】第5の実施形態に係るステップS3300の処理後の状態を示す図である。
【図40】第5の実施形態に係るステップS3301からステップS3303の処理を説明するための図である。
【図41】第5の実施形態に係るステップS409からステップS410の処理を説明するための図である。
【図42】第5の実施形態に係るステップS411からステップS416の処理を説明するための図である。
【図43】第5の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図44】第5の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図45】第6の実施形態に係る処理動作の一例を示すフローチャートである。
【図46】第6の実施形態に係るステップS4301の処理を説明するための図である。
【図47】第6の実施形態に係るステップS4302の処理後の状態を示す図である。
【図48】第6の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図49】第7の実施形態に係る処理動作の一例を示すフローチャートである。
【図50】第7の実施形態に係る処理後のGNDビアの配置状態を示す図である。
【図51】第7の実施形態に係るステップS4703の処理後の状態を示す図である。
【図52】第7の実施形態に係るステップS4704の処理を説明するための図である。
【図53】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図54】第7の実施形態に係るステップS4706の処理を説明するための図である。
【図55】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図56】第7の実施形態に係るステップS4706の処理を説明するための図である。
【図57】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図58】第7の実施形態に係るステップS4707の処理後の状態を示す図である。
【図59】第7の実施形態に係るステップS4709の処理後の状態を示す図である。
【発明を実施するための形態】
【0020】
以下、図面を参照して、本発明に係るプリント基板設計支援装置、プリント基板設計支援方法及びプリント基板設計支援プログラムの好適な実施形態の一例について詳細に説明する。なお、本発明は以下の説明及び実施形態に限定されるものではなく、本発明の主旨の範囲において適宜変形、組み合わせが可能であることは言うまでもない。
以下に示す実施形態では、ビアを配置する導電領域の対象をGND導電領域にのみ言及するが、必要な場合には電源領域を配置対象とすることができる。さらに、添付の図面において、実施形態及び図面が異なる場合でも、同一のものを示す場合は、同一符号で表す。
【0021】
(第1の実施形態)
図1は、本実施形態に係るプリント基板設計支援装置を含むコンピュータ装置の概略構成の一例を示す図である。図1に示すように、プリント基板設計支援装置100は中央処理装置(CPU)10、主記憶装置11、表示装置12、入力装置13、外部記憶装置14、出力装置15を含んで構成される。
CPU10は装置全体を制御する。主記憶装置11は読み出し専用記憶装置(ROM)やCPU10が計算処理時に一時的な読み書きを行う記憶装置(RAM)等である。表示装置12はブラウン管や液晶ディスプレイ等である。入力装置13はマウスやキーボード等である。外部記憶装置14はハードディスク、フロッピー(登録商標)ディスク、CD、DVD、MD等の記録媒体に対してデータの読み書きを行うものである。出力装置15は表示装置12に出力された計算結果等を印刷するためのプリンタ等である。これらの各装置間はアドレスバス、データバス、制御バス等の情報を伝達するためのバス16を介して互いに接続されている。CPU10の制御によりバス16を介して各装置間で制御情報やデータ情報等、必要な情報の授受を行うことができるように構成されている。
また、外部記憶装置14には、処理プログラム141、レイアウト情報142が予め格納されている。処理プログラム141は、本発明に係るプログラムであって、CPU10が実行できるように外部記憶装置14にインストールされている。
レイアウト情報142はプリント基板に関わる情報である。すなわち、レイアウト情報とはプリント基板の外形や層構成に関する情報、プリント基板に実装される部品の位置座標や端子が接続される導電体部分の形状及び大きさ等の部品情報、部品間配線の配線名、配線図形を構成する各点の位置座標等の配線情報を含んでいる。
【0022】
図2は、本実施形態に係るプリント基板設計支援装置の機構構成の一例を示す図である。
図2に示す機能構成はCPU10が処理プログラム141を実行することにより実現される。プリント基板設計支援装置100は、入力部20、外部記憶情報抽出部21、図形演算部22、ビア自動配置部23を含んで構成される。
入力部20はユーザが入力装置13を介して入力したレイアウト情報の読み出しや、処理プログラム141の実行等の指示情報、処理プログラム141等の実行に使用される条件に関する情報をプリント基板設計支援装置内に入力する機能を有する。以下では、処理プログラム141等の実行に使用される条件をビア自動配置条件という。なお、入力された情報はCPU10が必要に応じて処理したり、制御したりして主記憶装置11に記憶する。
外部記憶情報抽出部21は入力部20から処理プログラムの実行が入力されると、その入力に従って外部記憶装置14中に格納されている処理プログラム141を抽出し、抽出したプログラムを主記憶装置11内に記憶する。また、外部記憶情報抽出部21は、入力部20からレイアウト情報の読み出しの指示を受け取ると、外部記憶装置14中に記憶されているレイアウト情報142を抽出し、抽出したレイアウト情報を主記憶装置11内に記憶する。
図形演算部22は主記憶装置11の一部記憶領域を利用しながら、複数層にわたる図形が2次元的に重複する領域を抽出する等の図形演算処理を行う。図形演算部22は主記憶装置11に記憶されているビア自動配置条件、処理プログラム141及びレイアウト情報142に基づいて図形演算処理を行う。
ビア自動配置部23は主記憶装置11の一部記憶領域を利用しながら、ビアの配置位置及び配置するかどうかを判定するための計算処理を行い、ビアを配置する。
【0023】
図3は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理手順の一例を示すフローチャートである。図4及び図5は図3に示すフローチャートの各ステップの動作を詳細に示したフローチャートである。
まず、図3を参照して本実施形態に係るプリント基板設計支援装置の動作について説明する。ステップS101では、入力部20から処理プログラム実行指示が入力されると、外部記憶情報抽出部21は主記憶装置11に処理プログラム141を転送する。次に、図形演算部22及びビア自動配置部23が処理プログラム141を実行することで、図3に示すフローチャートの処理が開始する。
【0024】
ステップS102では、入力部20が入力された情報を主記憶装置11に転送したり、外部記憶情報抽出部21がレイアウト情報142を抽出して主記憶装置11へ転送したりする。すなわち、入力部20や外部記憶情報抽出部21では後述するビア自動配置に必要な情報の取得及び設定を行う。
【0025】
ステップS103では、図形演算部22は後述するGND重複導電領域を抽出する。
ステップS104では、ビア自動配置部23はGND重複導電領域の周縁部及び内縁部に所定の間隔以内の間隔で後述するGNDビアを自動で配置する。
ステップS105では、ビア自動配置部23はGND重複導電領域の周縁部及び内縁部を除いた領域(以下、中央部)に所定の間隔以内の間隔でGNDビアを自動で配置する。
ステップ106では、処理プログラムを終了する。
【0026】
次に、本実施形態に係るプリント基板設計支援装置の動作を図4及び図5に示す詳細なフローチャートに基づき、図6及び図9から図16に示す模式図を参照して説明する。なお、以下の説明では発明の理解を容易にするため、プリント基板として図6に示す概略的な図を用いる。実際のプリント基板は配線が高密度化し、複雑化しているが以下の概略的説明はそれを排除するものではないことは言うまでもない。
ここで、図6に示すプリント基板の模式図について説明する。図6に示すプリント基板は、4層の導電層がそれぞれ絶縁層を介して積層された構造となっている。具体的には、図6(e)の断面図に示すように、導電層60、61、62、63がそれぞれ絶縁層64を介して積層された構造である。図6(a)、(b)、(c)、(d)は、それぞれ導電層60、61、62、63の導電層側から絶縁層側を見たときの平面図である。各平面図において、グレー部分、黒丸及び黒線の部分が導電性を有する部分である。また、白抜きの部分が導電性を有さない部分(絶縁層上に積層された場合、絶縁体が露出する部分)である。
【0027】
図6(a)、(d)に示す部品600、630はプリント基板上に配置された能動部品である。また、図6(a)、(c)、(d)に示す黒色の実線部分601、621、631はGNDと電位の異なる信号配線の導電領域である。また、図6(a)、(c)、(d)に示す黒丸602、622、632はGNDと電位の異なる信号配線のビアである。また、図6(a)〜(d)に示すグレー部分603、613、623、633はそれぞれGNDの電位を有する配線、すなわちGND導電領域である。なお、図6(a)〜(d)では、図を見易くするために一部の信号配線の導電領域及びビアのみに符号を付している。
【0028】
次に、図4及び図5のフローチャートについて詳細に説明する。
まず、ステップS400では入力部20から処理プログラム実行指示が入力されると、外部記憶情報抽出部21は主記憶装置11に処理プログラム141を転送し、図形演算部22及びビア自動配置部23が処理プログラム141を実行する。
次に、ステップS401では入力部20は入力されたビア自動配置条件を設定する。ここで、ビア自動配置条件とは許容最大値L1、許容最大値L2及び許容最大値L3等である。許容最大値L1(以下、所定の間隔L1)は各層のGND導電領域が2次元的に重複している領域(以下、GND重複導電領域)の周縁からGNDビアまでの間隔の許容最大値である。また、許容最大値L2(以下、所定の間隔L2)はGND重複導電領域の周縁部及び内縁部におけるGNDビアの間隔の許容最大値である。また、許容最大値L3(以下、所定の間隔L3)はGND重複導電領域の中央部におけるGNDビアの間隔の許容最大値である。
【0029】
ここで、所定の間隔L2、L3にはプリント基板の導電領域を流れる最も大きい周波数を有する信号電流の波長(λ)の2分の1(λ/2)より小さくすることが好ましい。これは、プリント基板のGND導電領域上を流れるリターン電流とその反射した電流が共振することを防ぐためである。実際には、1つのGNDビアから見てあらゆる方向のλ/2の距離の範囲内にGND又は電源ビアが配置されることが好ましい。一方で、現実的には、λ/10以下の間隔で配置すれば放射ノイズを十分に抑制することが可能である。したがって、L2=L3=λ/10とすれば十分である。
また、GND重複導電領域の周縁部及び内縁部を中央部に比べて小さい間隔でGNDビアを配置するような場合には、L2=λ/10、L3=λ/4のように設定してもよい。例えば、プリント基板上の最も高速な信号電流の周波数が1GHzの場合、プリント基板上での、その信号の波長は約15cmである。したがって、L2=1.5cm、L3=3.75cmのように設定するとよい。また、より厳密には、周波数がf、誘電率がεr、
透磁率がμr、光速がcの場合、プリント基板上での信号の波長λpは、λp=c/(f×
√(εrμr))で計算することが可能である。したがって、この計算式により計算された波長を用いてもよい。
【0030】
次に、ステップS401でのビア自動配置条件の設定方法の一例について図7を参照して説明する。図7(a)はビア自動配置条件を入力することができる入力画面の一例を示す図である。ユーザは入力装置13を介して入力画面70の入力欄71〜73に上述した所定の間隔L1〜L3を入力することができる。入力部20は入力されたビア自動配置条件を読み込んで主記憶装置11に記憶する。なお、ビア自動配置条件の設定方法は図7(a)に示す入力画面に入力させるようなものに限られない。例えば、図7(b)に示すようなビア自動配置条件を記述したファイル74を予め外部記憶装置14に記憶させておき、CPU10が該ファイルを読み出してビア自動配置条件を主記憶装置11に記憶させる等、自動で設定してもよい。この場合、ビア自動配置条件を記述するファイルの構成は、図7(b)に示すものに限られず、ビア自動配置条件を読み出せればどのような構成であってもよい。また、ビア自動配置条件をプリント基板によらず一定にする場合には、処理プログラム141内にビア自動配置条件を記述しておいてもよい。
上述したようにビア自動配置条件は、信号電流の波長λにより計算することが可能である。したがって、入力画面に信号電流の周波数をユーザが入力し、その周波数をもとに波長λを算出し、例えばL2=λ/10、L3=λ/4として、L2およびL3を算出する方法も考えられる。
【0031】
図4に示すフローチャートに戻り、ステップS402以降について説明する。なお、ステップS402からステップS406までの動作処理は、図形演算部22が主記憶装置11に記憶されたレイアウト情報142に基づいて行う処理である。
ステップS402では、図形演算部22はレイアウト情報142からGND配線名を抽出する。
次に、ステップS403では、図形演算部22は抽出した複数のGND配線名から検証対象とするGND配線名を1つ選択する。
次に、ステップS404では、図形演算部22は選択したGND配線名に関連する各層のGND導電領域を特定する。この処理はグラウンド導電領域特定ステップの一例に対応する。
次に、ステップS405では、図形演算部22は特定した各層のGND導電領域が高さ方向に2次元的に重複する領域をGND重複導電領域Aとして抽出する。この処理は重複導電領域抽出ステップの一例に対応する。
次に、ステップS406では、図形演算部22はまだGND重複導電領域を抽出していないGND配線名が存在するか否かを判定する。GND重複導電領域を抽出していないGND配線名が存在する場合、ステップS403に処理を戻す。存在しない場合、ステップS407に処理を進める。
【0032】
次のステップS407からステップS419までの動作処理は、ビア自動配置部23が主記憶装置11に記憶されたレイアウト情報142に基づいて行う処理である。
ステップS407では、ビア自動配置部23はGND重複導電領域Aが全てのGND配線名で抽出されると、レイアウト情報142からGND重複導電領域Aの位置情報及び形状情報を取得する。
次に、ステップS408では、ビア自動配置部23はGND重複導電領域Aを形成する各構成点から所定の間隔L1以内のGND重複導電領域A内にGNDと同電位の1個のビア(以下、GNDビア)を配置する。
次に、ステップS409では、ビア自動配置部23はステップS408で配置した各ビアのうち、GND重複導電領域Aの周縁を構成するライン(以下、構成ライン)に沿って隣り合うGNDビア間の距離D1を算出する。ビア自動配置部23はD1を所定の間隔L2で割った商の整数部分に1を加えた値N1を算出する。さらに、ビア自動配置部23はGNDビア間の距離D1をN1で割った値C1(=D1/N1)を算出し、ステップS408で配置したビアのGND重複導電領域Aに沿って隣り合うGNDビア間を所定の間隔以内の距離C1に分割する。
次に、ステップS410では、ビア自動配置部23はステップS409で分割した各分割位置にGNDビアを配置する。このようにステップS408からステップS410において、ビア自動配置部23は複数の所定位置にGNDビアを配置する。この処理は所定層間接続部材配置ステップの一例に対応する。
【0033】
次に、図4に示すステップAから図5に示すステップAに続き、ステップS411では、ビア自動配置部23はレイアウト情報142からGND重複導電領域A内に既に配置されているGNDビアのうちの一つを選択する。この処理は層間接続部材選択ステップの一例に対応する。
ステップS412では、ビア自動配置部23は選択したGNDビアからx方向及びy方向の各正負の方向にGND重複導電領域の中央部におけるGNDビアの間隔の許容最大値L3の半分の値(L3/2)だけ移動(離間)した4点を算出する。この処理は位置座標算出ステップの一例に対応する。以下、上述のように移動(離間)した点をスライド位置という。
ステップS413では、ビア自動配置部23はステップS412で算出したスライド位置から1点P1を選択する。
ステップS414では、ビア自動配置部23はステップS413で選択したスライド位置P1から所定の間隔L3の半分の値(L3/2)の距離の範囲内にGNDビアが存在するか否かを判定する。GNDビアが存在する場合、ステップS417に処理を進める。GNDビアが存在しない場合、ステップS415に処理を進める。
【0034】
ステップS415では、ビア自動配置部23は点P1がGND重複導電領域A内であるか否か判定する。点P1がGND重複導電領域A内である場合、ステップS416に処理を進める。点P1がGND重複導電領域A内ではない場合、ステップS417に処理を進める。
ステップS416ではビア自動配置部23は点P1にGNDビアを配置する。この処理は他層間接続部材配置ステップの一例に対応する。
次に、ステップS417では、ビア自動配置部23はステップS412で算出した4点のうち、ステップS414の判定を行っていないスライド位置(点P1以外のスライド位置)が存在するか否かを判定する。ステップS414の処理を行っていないスライド位置が存在する場合、ステップS413に処理を戻す。また、ステップS414の処理を行っていないスライド位置が存在しない場合、ステップS418に処理を進める。
ステップS418では、ビア自動配置部23はGND重複導電領域A内にステップS412の処理を行っていない他のGNDビアが存在するか否かを判定する。ここで、ステップS415で配置されたGNDビアもステップS412の処理を行っていないかどうかを判定するGNDビアの対象とする。ステップS412の処理を行っていないGNDビアが存在する場合、ステップS411の処理に戻る。ステップS412の処理を行っていないGNDビアが存在しない場合、ステップS419で処理プログラム141を終了する。
【0035】
ここで、本実施形態ではステップS402からステップS406までの処理において、GND重複導電領域を各GND配線名を持つGND導電領域から抽出するような構成としている。一方、ここに示した各GND配線名を持つGND導電領域にGND配線名以外の各GNDの属性情報を持たせておくことで、ステップS402からステップS406までの処理と同様に各GND配線名に対するGND重複導電領域を抽出することができる。
また、全てのGND導電領域にGNDの属性情報を持たせておき、全てのGND導電領域に対して、GND重複導電領域を抽出することも可能である。
【0036】
ここで、図8は全てのGND導電領域にGNDの属性情報を持たせた場合、本実施形態と同様の動作処理を示すフローチャートの一例である。図8に示すフローチャートでは、ステップS5804において、図形演算部22は各GNDの属性情報を持つ各層の導電領域を抽出し、属性情報の同じ領域に対してステップS405で2次元的に重複している領域を抽出する。ここで、GNDの属性情報が複数存在する場合にも、GNDの属性情報の同異に関わらず、各層の2次元的に重複している領域を抽出することも可能である。なお、図8に示すステップAは、図5に示すステップAに続いている。
【0037】
次に、上述した図6に示すプリント基板の模式図を参照して、上述した図4及び図5に示すフローチャートの処理動作について、ステップS404以降から具体的に説明する。
ステップS404では、図形演算部22は図6(a)〜(d)に示す各層の導電領域からステップS403で選択したGND配線名を持つ導電領域、すなわちGND導電領域603、613、623、633を特定する。図9はステップS404で特定されたGND導電領域を模式平面図で示した図である。図9(a)〜(d)に示すプリント基板はそれぞれ、図6(a)〜(d)に示すプリント基板に対応する。
ステップS405では、図形演算部22は図9(a)〜(d)に示される各層のGND導電領域603、613、623、633を投影し、全ての層においてGND導電領域が2次元的に重複している領域(以下、GND重複導電領域)を抽出する。図10はステップS405で抽出されたGND重複導電領域を示す図である。すなわち、図10に示すグレー部分の領域80、81、82、83、84がGND重複導電領域である。
【0038】
以下、GNDビアを自動で配置する処理の説明を容易にするために、図10に示すGND重複導電領域のうちGND重複導電領域81に着目してGNDビアを自動で配置する処理について説明する。
ステップS407では、ビア自動配置部23はGND重複導電領域81の位置情報及び形状情報を取得する。具体的には、まず、ビア自動配置部23はGND重複導電領域81を構成する図11に示す構成点900、901、902、903、904、905の座標と順番とを取得する。次に、ビア自動配置部23はGND重複導電領域81を構成する図11に示す構成ライン910、911、912、913、914、915の始点及び終点の座標を構成点の座標と順番とから算出する。以下、GND重複導電領域81の位置情報及び形状情報に基づいて、ステップS408からステップS410で実行する周縁部にGNDビアを所定間隔以内に自動で配置する処理について説明する。
【0039】
ステップS408では、ビア自動配置部23は構成点900、901、902、903、904、905の座標情報からGND重複導電領域81の内部に図11に示すようにGNDビア930、931、932、933、934、935を配置する。ここで、ステップS408で配置するGNDビアの配置位置の計算方法について説明する。ここでは、GNDビアのうちGNDビア930に着目して説明する。
まず、ビア自動配置部23はGND重複導電領域81を構成する構成ライン915及び910の構成点900のx軸の正方向に平行な成分から見た角920の角度θ1及び角921の角度θ2を算出する。次に、ビア自動配置部23は角920と角921との中間の角922の角度θ3(=(θ1+θ2)/2)を算出する。さらに、ビア自動配置部23は構成点900から見て角922の方向、すなわち点線923の線上で、かつ構成点900から所定の間隔L1の距離だけ離れた位置を算出し、GNDビア930を配置する。この方法により、GNDビアがGND重複導電領域の内部となり、かつGND重複導電領域の周縁からGNDビアまでの間隔が所定の間隔L1よりも大きくなることはない。
【0040】
また、他の方法としては、ビア自動配置部23は構成点900から所定の複数の角度の方向に所定の間隔L1だけ離れた複数の位置を算出し、その中からGND重複導電領域81内に入っている位置を選択する方法であってもよい。さらに、ビア自動配置部23は角度θ1の算出後、構成ライン915から時計回りに所定の角度ずつ回転し、初めてGND
重複導電領域81内へと向いた線上で、かつ構成点900から所定の間隔L1の距離だけ離れた位置を算出する方法であってもよい。なお、ここで挙げたGNDビアを配置する位置を算出する方法は構成点900から距離L1だけ離れた位置を算出したが、ビア自動配置部23はL1/2やL1/3等、L1より短い値を採用してもよい。
【0041】
ステップS408では、ビア自動配置部23はその他の構成点901、902、903、904、905に対しても同様の処理を行って、GNDビア931、932、933、934、935を配置する。
ステップS409では、ビア自動配置部23はステップS408で配置したGNDビア931、932、933、934、935のGNDビア間を所定の間隔L2以下の距離で分割し、図12に示すようにGNDビア1000を配置する。なお、図12では図を見易くするために、配置した一部のGNDビア1000のみに符合を付している。ここで、ステップS408及びステップS409において、GNDビアを配置する配置方法について説明する。ここでは、GNDビア930とGNDビア931との間に着目して説明する。
まず、ビア自動配置部23はGNDビア930とGNDビア931との間の直線距離D1を算出する。次に、ビア自動配置部23はD1を所定の間隔L2で割った商(D1/L2)を求め、その整数部分に1を加えた値をN1とする。最後に、ビア自動配置部23はD1をN1で割った商C1(=D1/N1)を算出する。次に、ビア自動配置部23はGNDビア930からGNDビア931に向かって距離C1毎の位置にGNDビア1000を配置する。これにより、GNDビア1000の間隔はL2よりも必ず小さくなる。さらに、GNDビア930及び931がGND重複導電領域81の周縁から所定の間隔L1以内に存在するために、GNDビア1000もGND重複導電領域81の周縁から所定の間隔L1以内の範囲に配置される。
【0042】
ここでは、内縁部を有しないGND重複導電領域81に着目して説明したが、内縁部を有する場合でも、位置情報及び形状情報を取得することができるので、周縁部にGNDビアを配置する方法と同様の方法により、内縁部にもGNDビアを配置することができる。
また、上述ではGND重複導電領域内に初めに配置するGNDビアの位置をGND重複導電領域の構成点の付近として説明した。しかし、例えばGND重複導電領域の構成ラインの中点をGND重複導電領域の内側へ所定の間隔のL1の半分の値(L1/2)だけ構成ラインに垂直に移動した位置に配置してもよい。
さらに、必ずしも構成点の付近にGNDビアを配置しなくてもよい。例えば、構成ライン915、911上でかつ構成ライン910から距離L1内の点をそれぞれ算出し、その2点間を上述と同様にL2より小さい間隔に分割し、分割した点にGNDビアを配置してもよい。
【0043】
次に、ステップS411からステップS417までの、GND重複導電領域81の中央部に自動でGNDビアを所定の間隔L3以内で配置する処理動作について具体的に説明する。
ステップS411では、ビア自動配置部23はGND重複導電領域81内に既に配置されている複数のGNDビアから一つを選択する。ここで、例えば、ビア自動配置部23は図13に示すGNDビア1100を選択したのものとする。
ステップS412では、ビア自動配置部23はGNDビア1100から所定の方向に所定の距離だけ移動した複数のスライド位置を算出する。ここで、スライド位置の算出方法について説明する。まず、ビア自動配置部23はx軸方向及びy軸方向の各正負方向に所定の間隔L3の半分の距離(L3/2)だけ移動した位置をスライド位置とする。具体的には、図13に示すようにx軸方向の正方向、x軸方向の負方向、y軸方向の正方向及びy軸方向の負方向に移動した位置はそれぞれスライド位置1101、1102、1103、1104である。また、他の方法としては、ビア自動配置部23はx軸の正方向やy軸の正方向等のGNDビア1100から引いた半直線から時計回りに例えば角度30°ずつ回転させた方向にL3/2やL3/3等、L3よりも小さい値だけ移動した位置をスライド位置としてもよい。
【0044】
ステップS413では、ビア自動配置部23はスライド位置1101、1102、1103、1104から一つを選択する。例えば、スライド位置1101を選択した場合、ステップS414では、ビア自動配置部23はスライド位置1101から所定の間隔L3の半分の距離(L3/2)の範囲内、すなわち図13に示す円1111内に他のGNDビアが存在しないと判定する。
次に、ステップS415では、ビア自動配置部23はスライド位置1101がGND重複導電領域81内にあると判定する。
したがって、ステップS416では、ビア自動配置部23はスライド位置1101にGNDビア1101を配置する。
次に、ステップS417では、ビア自動配置部23は残りのスライド位置1102、1103、1104については所定の範囲内に他のGNDビアが存在するか否かを判定していないので、ステップS413の処理に戻る。
【0045】
また、ステップS413において、ビア自動配置部23がスライド位置1102を選択した場合、ステップS414ではスライド位置1102からL3/2の距離の範囲内、すなわち図13に示す円1112内に他のGNDビアが存在しないと判定する。次に、ステップS415では、ビア自動配置部23はスライド位置1102がGND重複導電領域81外と判定するので、ステップS417に処理を進める。ステップS417では、ビア自動配置部23は残りのスライド位置1103、1104については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0046】
また、ステップS413において、ビア自動配置部23がスライド位置1103を選択した場合、ステップS414ではスライド位置1103からL3/2の距離の範囲内、すなわち図13に示す円1113内にGNDビア1123が存在すると判定する。したがって、ステップS417の処理に進む。
ステップS417において、ビア自動配置部23は残りのスライド位置1104については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0047】
また、ステップS413において、ビア自動配置部23はスライド位置1104を選択する。ステップS414ではビア自動配置部23は位置1103を判定した場合と同様に、円1114内にGNDビア1124が存在すると判定する。したがって、ステップS417に処理を進める。ステップS417ではビア自動配置部23は判定するスライド位置は存在しないので、ステップS418に処理を進める。
【0048】
ステップS418では、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在すると判定して、ステップS411に処理を戻す。ステップS411では、ビア自動配置部23はステップS412の処理を行っていない複数のGNDビアから一つを選択する。以下、ステップS411からステップS418までの処理を繰り返し実行することで、GND重複導電領域81の中央部にはGNDビアが自動で配置される。
【0049】
次に、ステップS411において、ビア自動配置部23が複数のGNDビアから図14に示すGNDビア1200を選択した場合について説明する。この場合、ステップS412では、ビア自動配置部23は図14に示すようにスライド位置1201、1202、1203、1204を算出する。そして、スライド位置1201、1202、1203については、ステップS414において、ビア自動配置部23はそれぞれL3/2の距離の範囲内(図14に示す円1211、1212、1213内)にGNDビアが存在しないと判定する。さらに、ステップS415ではビア自動配置部23はGND重複導電領域81内であると判定する。したがって、ステップS416では、ビア自動配置部23はGNDビア1201、1202、1203を配置する。
【0050】
一方、スライド位置1204については、スライド位置1204の同位置に既にGNDビアが配置されているので、ステップS414において、ビア自動配置部23はL3/2の範囲内(図14に示す円1214内)にGNDビアが存在すると判定する。したがって、ビア自動配置部23はGNDビアを配置しない。以下、同様にステップS411からステップS418までの処理をステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。
ステップS418において、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在しないと判定した場合、ステップS419でプログラムを終了する。
【0051】
図15はステップS419でプログラムを終了した時点での、GND重複導電領域81内のGNDビアの配置状態を示す図である。図15に示すように、GND重複導電領域81の周縁部及び中央部にそれぞれGNDビアが所定の間隔以内で配置されている。
図16はステップS419でプログラムを終了した時点での、GND重複導電領域80、81、82、83、84上のGNDビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにGNDビアを配置したスライド位置と配置されたGNDビアとの符合を同一にした。
【0052】
上述では、GND重複導電領域の中央部へのGNDビアの配置において、確実にGNDビアを所定の間隔L3以内に配置するために、ステップS412の移動距離をL3/2とし、ステップS414のスライド位置の周囲のGNDビアの検索範囲をL3/2とした。しかし、コストを考慮する場合、できるだけGNDビアを少なく配置したいことがある。このような場合、例えばステップS412の移動距離をL3として、ステップS414の他のGNDビアの検索範囲をユーザが設定可能なL3に対する所定の割合の距離としてもよい。このようにすることで、GNDビアが必ずしも所定の間隔L3以内に配置されないが、GNDビアを比較的少なく配置することができるため、コスト面を考慮したGNDビアの配置を行うことができる。
また、上述では、GND重複導電領域内にすべてのGNDビアを自動で配置するために、ステップS408でGND重複導電領域の各角付近に1個ずつのビアを配置する例を示した。しかしながら、このステップS408と同様の処理をユーザが行うことも可能である。すなわち、表示装置12を用いてGND重複導電領域とその各角付近に1個または複数のビアを配置するような指示画面を表示することにより、ユーザにGND重複導電領域の各角付近にGNDビアを配置させることができる。
【0053】
また、上述では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することができる。したがって、上述した本実施形態と同様の処理を行うことができる。
【0054】
このように、本実施形態では、図16に示すようにプリント基板のGND重複導電領域の周縁部及び内縁部の周縁から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で配置することができる。また、GND重複導電領域の中央部に所定の間隔(L3)以内の間隔でGNDビアを自動で配置することができる。
なお、上述した所定の間隔L1、L2、L3は実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値及びL3以内の値で変動させることができる。ただし、L1、L2、L3の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0055】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部(例えば、2層)の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0056】
(第2の実施形態)
第1の実施形態では、図4に示すフローチャートのステップS408に示すように、GNDビアを自動で配置する基準となるGNDビアを、GND重複導電領域の各構成点付近に配置する場合について説明した。一方で、高速信号のリターン電流を短くするには、高速信号配線のビアの近傍にGNDビアを配置することが好ましい。本実施形態では、GNDビアを自動で配置する基準となるGNDビアを高速信号線のビアの近傍に配置する場合について説明する。
【0057】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートと同様である。図17は図3に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図17に示すステップAは図5に示すステップAに続いている。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図17及び図5に示すフローチャートと図18から図22に示す模式図を参照して説明する。
【0058】
図17に示すフローチャートにおいて、ステップS400からステップS407までの処理及びステップS408からステップS410までの処理は、上述した図4に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。本実施形態では、図4に示すフローチャートのステップS407とステップS408との間にステップS1600からステップS1602までの処理が追加されている。
ステップS1600では、図形演算部22は高速配線のビアを選択する。この処理は高速信号層間接続部材選択ステップの一例に対応する。ここで、高速配線のビア選択方法の一例について説明する。例えば入力部20が高速配線属性を各配線に対して設定できる入力画面を表示装置12に表示する。ユーザは入力装置13を介して入力画面の入力欄に高速配線属性を入力することで、入力部20は入力された情報を読み込んで主記憶装置11に記憶する。図形演算部22は記憶された情報に基づいて高速配線属性を持つ配線のビアを選択する。高速配線属性を入力する方法は、各配線に対して高速配線であることを示す情報を入力する方法であってもよい。また、高速配線リストを用いて、ユーザがリストに配線名を入力したり、リストに追加する配線を選択したりすることで、図形演算部22はリストに入力された配線のビアを選択するようにしてもよい。
【0059】
また、高速配線のビアを選択する方法は以下のようなものであってもよい。すなわち、予め回路設計者が回路図設計システム上で、各配線に高速配線属性を入力しておくことで、各配線に属性情報を持つ回路図情報が主記憶装置11又は外部記憶装置14に記憶される。したがって、入力部20が主記憶装置11又は外部記憶装置14から回路図情報を読み出すことにより、各配線が高速配線属性を持つか否かを判定して、高速配線属性を持つ配線のビアを選択することができる。ここで、配線に高速配線属性を入力する方法は、上述と同様の方法をプリント基板設計システム上で行ってもよい。また、回路設計者が回路図設計システム上で各配線に流れる電流の周波数を入力しておき、その周波数と所定の閾値とを比較して、所定の閾値よりも大きい配線を高速配線属性を持つ配線と判定してもよい。
【0060】
ステップS1601では、図形演算部22はステップS405で抽出した各GND重複導電領域上で、ステップS1600で選択した高速配線のビアから最短間隔にある点(最短ポイント)を算出する。
ステップS1602では、ビア自動配置部23は最短ポイントの近傍にGNDビアを配置する。この処理は高速信号近傍層間接続部材配置ステップの一例に対応する。ここで、最短ポイントがGND重複導電領域の構成ライン上の場合、ビア自動配置部23は高速配線のビアから最短ポイントを結ぶ線分の延長上で、かつ最短ポイントから所定の間隔L1の距離の範囲内にGNDビアを配置する。最短ポイントがGND重複導電領域の構成点上の場合、第1の実施形態のステップS408と同様の処理により、ビア自動配置部23はGNDビアを配置する。
【0061】
なお、上述ではステップS1601において、図形演算部22は各高速配線のビアから各GND重複導電領域までの最短ポイントを算出する場合について説明した。しかしながら、高速配線のビアから最短ポイントまでの間隔が所定の値L3よりも大きい場合には、ステップS1602の処理を行わなくてもよい。所定の値L3には、例えば所定の間隔L2等を用いる。また、高速配線のビアから最短ポイントまでの距離が所定の値L3以下になる最短ポイントが見つからない高速配線のビアをエラーとしてユーザに報知したり、可視化したりする処理を追加してもよい。
【0062】
次に、図18に示すプリント基板の模式図を参照して、上述した図17に示すフローチャートの処理動作について説明する。図18は、GNDビアを自動配置する前のプリント基板の模式図である。なお、図18に示す部品配置位置や配線状況のうち、図6と同様のものについては、同一符号を付して、その説明は省略する。ここで、図18(c)に示す信号配線15210、15211及び信号配線ビア15220、15221は高速配線属性を有している。また、図18(d)に示す信号配線15310、15311、15312、15313及び信号配線ビア15320、15321、15322、15323は高速配線属性を有している。
【0063】
図17に示すフローチャートのステップS406の処理までに、図形演算部22は図18(a)〜(d)に示される各層のGND導電領域を投影し、全ての層においてGND導電領域が2次元的に重複しているGND重複導電領域を抽出する。図19は抽出されたGND導電領域を示す図である。すなわち、図19に示すグレー部分の領域80、82、83、1700、1701がGND重複導電領域である。
【0064】
以下、GNDビアを自動で配置する処理の説明を容易にするために、図19に示すGND重複導電領域のうちGND重複導電領域1700に着目してGNDビアを自動で配置する処理について説明する。なお、GND重複導電領域80、82、83、1701にも同様にGNDビアを自動配置することは言うまでもない。
ステップS407では、ビア自動配置部23はGND重複導電領域1700の位置情報及び形状情報を取得する。
次に、ステップS1600では、図形演算部22は図20に示すように高速配線の属性を持つビア(以下、高速配線ビア)1800、1801、1802、1803を選択する。ここで、高速配線ビアと図18に示す信号配線ビアとを対応させると、高速配線ビア1800は信号配線ビア15221、15322と一致する。また、高速配線ビア1802は信号配線ビア15221、15323と一致する。また、高速配線ビア1801は信号配線ビア15220、15320と一致する。また、高速配線ビア1803は信号配線ビア15220、15321と一致する。
【0065】
次に、ステップS1601では、図形演算部22は各高速配線ビア1800、1801、1802、1803からそれぞれGND重複導電領域1700に対して、図20に示すような最短ポイント1810、1811、1812を算出する。具体的には、各高速配線ビアからGND重複導電領域の各構成ラインに対してGND重複導電領域の外側から下ろす垂線を算出する。次に、図形演算部22は高速配線ビアから各垂線と構成ラインとの交点までの距離と、高速配線ビアから各構成点までの距離と、を比較し、最も小さい距離となる交点又は構成点を最短ポイントとする。例えば、高速配線ビア1800の場合、高速配線ビア1800からGND重複導電領域1700の構成ライン1840までの距離で、最も短くなるのは、高速配線ビア1800から構成ライン1840に引いた垂線1830によって算出される。すなわち、最も短い距離は高速配線ビア1800から垂線1830と構成ライン1840との交点1810までの距離である。また、高速配線ビア1800から最も近い構成点は構成点1831である。ここで、図形演算部22は高速配線ビア1800から交点1810までの距離と高速配線ビア1800から構成点1831までの距離とを比較すると、高速配線ビア1800から交点1810までの距離の方が小さい。したがって、最短ポイントとして交点1810(最短ポイント1810)を算出する。なお、上述では高速配線ビア1800から交点1810までの距離と高速配線ビア1800から構成点1831までの距離とをのみ比較したが、実際には高速配線ビアから全ての構成ラインに対して垂線を引くことができるかを判定する。また、高速配線ビアから全ての構成点に対して距離を算出する。
【0066】
同様にして、図形演算部22は高速配線ビア1801に対する最短ポイントとして、最短ポイント1811を算出する。また、高速配線ビア1802、1803の場合、最短ポイントは同一となる。したがって、図形演算部22は最短ポイントとして最短ポイント1812を算出する。
【0067】
ステップS1602では、ビア自動配置部23は最短ポイントの近傍にGNDビアを配置する。ここでは、最短ポイントがGND重複導電領域1700の構成ライン上にある場合と、構成点にある場合とで処理が異なる。まず、最短ポイントが最短ポイント1810のように構成ライン上にある場合、ビア自動配置部23は垂線1830の延長上で、かつ最短ポイント1810から所定の間隔L1の半分の値(L1/2)の距離の位置にGNDビア1820を配置する。ここでは、最短ポイントからL1/2の距離の位置にGNDビアを配置したが、実際には所定の間隔L1の距離以内であればよい。同様に、ビア自動配置部23は最短ポイント1811に対して、GNDビア1821を配置する。
次に、最短ポイントが最短ポイント1812のように構成点である場合、ビア自動配置部23は第1の実施形態の図4に示すフローチャートのステップS408と同様の方法によりGNDビア1822を配置する。
【0068】
なお、GNDビア1820、1821又は1822から所定の間隔L2の距離の範囲内で、かつGND重複導電領域1700の構成ラインから所定の間隔L1の距離の範囲内に既にGNDビアが配置されている場合は、該GNDビアを排除する処理を加えてもよい。また、ここでは、GNDビアの検索範囲を所定の間隔L2の範囲に限定したが、L2以下の値の範囲であればどの値を用いてもよい。さらに、GNDビアの検索範囲を、近傍のGNDビアの周囲に形成する導電領域がGNDビア1820の周囲に形成する導電領域と一部が重なる範囲としてもよい。
【0069】
次に、ステップS408以降の処理は、第1の実施形態の図4に示すフローチャートに示すステップS408以降及び図5に示すフローチャートの処理と同一なので、簡潔に説明する。
ステップS408では、ビア自動配置部23はGND重複導電領域1700の各角の近傍にGNDビアを配置する。ここで、図21を参照して、ステップS408の処理後にGND重複導電領域内に配置されるGNDビアについて説明する。図21に示すように、GND重複導電領域1700内にはGNDビア1900、1901、1902、1903、1904、1905が配置されている。構成点1812については、ステップS1602において、既にGNDビア1822を配置しているので、ステップS408ではGNDビアの配置処理を行う必要はない。ここで、ステップS408において、配置しようとするGNDビアがステップS1601において配置した高速配線近傍のGNDビアと非常に近接している場合、ステップS408ではビア自動配置部23は、GNDビアを配置しなくてもよい。なお、非常に近接している場合とは、ステップS1601で排除する対象となるGNDビアの検索範囲と同等の検索範囲内に既に高速配線近傍のGNDビアが存在する場合と同様である。
次に、ステップS409以降の処理を第1の実施形態で説明した処理と同様に行うことにより、図22に示すように、GND重複導電領域1700にGNDビアを所定の間隔以内で配置する。
上述では、すべてのGNDビアを自動で配置するために、ステップS1600からステップS1602において高速信号線のビア付近にGNDビアを自動で配置する例を示した。しかしながら、これらの一連の処理と同等の処理をユーザが行うことも可能である。すなわち、表示装置12を用いてGND重複導電領域と高速信号線のビアまたは全体と各高速信号線のビア付近に1個または複数のビアを配置するような指示画面を表示することにより、ユーザにGND重複導電領域で、かつ各校則信号線のビア付近にGNDビアを配置させることができる。
【0070】
また、上述では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と同様の処理を行うことができる。
【0071】
このように本実施形態では、第1の実施形態による効果に加えて、高速配線のリターン電流の経路がより短くなるようにGNDビアを自動配置することができる。また、本実施形態は第1の実施形態の一部変形例であって、第1の実施形態に記載されている適用範囲と同等の適用範囲を有する。
【0072】
(第3の実施形態)
第1の実施形態では、GND重複導電領域を周縁部及び内縁部と中央部に分け、段階的にGNDビアを配置する場合について説明した。本実施形態では、GND重複導電領域全体に段階を分けずにGNDビアを自動で配置する場合について説明する。
実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートのうちステップS103を省略したフローチャートと同様である。なお、第1の実施形態で説明したプリント基板設計支援装置では、GND重複導電領域の周縁部及び内縁部にGNDビアを配置するため、放射ノイズ対策の効果がより大きい。
【0073】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図23及び図24に示すフローチャートと図25〜図27に示す模式図を参照して説明する。なお、説明を容易にするため、図25〜図27では図10に示すGND重複導電領域81のみを示している。しかしながら、実際にはGND重複導電領域80、82、83、84にも同様にGNDビアを配置することは言うまでもない。
【0074】
図23及び図24に示すフローチャートではステップS400からステップS407、ステップS408、ステップS411からステップS419までの動作処理は、図4及び図5に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。ただし、本実施形態のビア自動追加条件はGNDビアの間隔の許容最大値L5(以下、所定の間隔L5)である。本実施形態では、第1の実施形態と異なり、ステップS407とステップS408との間にステップS2200が追加されている。
【0075】
ここで、ステップS2200では、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を参照しながら、ステップS405で抽出された各GND重複導電領域A内にGNDビアが既に存在するか否かを判定する。GND重複導電領域A内にGNDビアが存在する場合、ステップS411に処理を進める。GNDビアが存在しない場合、ステップS408に処理を進める。このステップS2200により、GND重複導電領域A内にGNDビアが既に存在する場合、既存のGNDビアを基準としてGNDビアを自動配置するため、ステップS408の処理を行う必要はない。ただし、第1の実施形態と同様に、ステップS2200を省略し、GND重複導電領域A内にGNDビアが既に存在するか否かにかかわらず、ステップS408で基準となるGNDビアを配置してもよい。
【0076】
また、本実施形態では、第1の実施形態と異なり、ステップS409及びステップS410を省略している。第1の実施形態のステップS409及びステップS410は、ビア自動配置部23がGND重複導電領域Aの周縁部及び内縁部における所定間隔内にGNDビアを自動配置するステップである。したがって、本実施形態では不必要な処理である。なお、第2の実施形態と同様に、高速配線ビアの近傍にGNDビアを優先的に配置するには、図23に示すフローチャートのステップS407及びステップBの間に、図17に示すフローチャートのステップS1600からステップS1602を加えればよい。
【0077】
次に、図23及び図24に示すフローチャートと図25〜図27に示す模式図を参照して説明する。まず、GND重複導電領域内に既存のGNDビアがない場合、すなわちステップS2200において、GND重複導電領域内に既存のビアが存在しないので、ステップS408の処理に進む場合について説明する。
ステップS408では、ビア自動配置部23は、図25に示すようにGND重複導電領域81の各角である構成点900、901、902、904、905の付近にそれぞれGNDビア930、931、932、933、934、935を配置する。なお、ここではGND重複導電領域81の各角付近に基準とするGNDビアをそれぞれ配置したが、例えば、構成点900付近のみや、構成点900及び構成点901等の全てではない複数の角付近にGNDビアを配置してもよい。さらに、基準となるGNDビアは必ずしも角付近である必要はない。例えば、図25に示す構成ライン910の中点を構成ライン910に垂直で、かつGND重複導電領域81の内部へ向かう方向に所定の間隔L5以内の値だけ移動した点に基準となるGNDビアを配置してもよい。その他にも、GND重複導電領域81内であれば、任意の点に基準のGNDビアを配置することができる。
【0078】
次に、ステップS411では、ビア自動配置部23はステップS408において配置したGNDビアから一つを選択する。ここで、ビア自動配置部23は例えば、図25に示すGNDビア930を選択したものとする。
ステップS412では、ビア自動配置部23はGNDビア930からx軸方向及びy軸方向の各正負方向に所定の間隔L5の半分の距離(L5/2)だけ移動したスライド位置を算出する。具体的には、ビア自動配置部23はx軸方向の正方向、x軸方向の負方向、y軸方向の正方向及びy軸方向の負方向にそれぞれ移動した位置として、スライド位置2301、2302、2303、2304を算出する。
【0079】
ステップS413では、ビア自動配置部23はスライド位置2301、2302、2303、2304のうち一つを選択する。例えば、スライド位置2301を選択した場合、ステップS414では、ビア自動配置部23はスライド位置2301から所定の間隔L5の半分の距離(L5/2)の範囲内、すなわち図25に示す円2311内に他のGNDビアが存在しないと判定する。
次に、ステップS415では、ビア自動配置部23はスライド位置2301がGND重複導電領域81内にあると判定する。
したがって、ステップS416では、ビア自動配置部23はスライド位置2301にGNDビア2301を配置する。
次に、ステップS417では、ビア自動配置部23は残りのスライド位置2302、2303、2304については所定範囲内に他のGNDビアが存在するか否かを判定していないので、ステップS413の処理に戻る。
【0080】
次に、ステップS413において、ビア自動配置部23はスライド位置2302を選択した場合、ステップS414ではスライド位置2302からL5/2の範囲内、すなわち図25に示す円2312内に他のGNDビアが存在しないと判定する。次に、ステップS415では、ビア自動配置部23はスライド位置2302がGND重複導電領域81外と判定するので、ステップS417の処理に進める。ステップS417では、ビア自動配置部23は残りのスライド位置2303、2304については所定の範囲内に他のGNDビアが存在するか否か判定していないので、ステップS413の処理に戻る。
【0081】
以後、同様にビア自動配置部23はステップS413からステップS417までの一連の処理を繰り返し実行し、スライド位置2303にはGNDビアを配置せず、スライド位置2304にはGNDビア2304を配置して、ステップS417に処理を進める。
ステップS417ではビア自動配置部23は判定するスライド位置は存在しないので、ステップS418に処理を進める。
【0082】
次に、ビア自動配置部23は新しく追加配置したGNDビア2301、2304及びGNDビア931、932、933、934、935については、ステップS412の処理を行っていない。したがって、ステップS418では、ビア自動配置部23はステップS412の処理を行っていないGNDビアが存在すると判定して、ステップS411に処理を戻す。以下、ステップS411からステップS418まで処理を繰り返し実行することで、GND重複導電領域81内にはGNDビアが自動で配置される。
【0083】
ここで、図26を参照して、ステップS411においてGNDビア2400を選択した場合について説明する。
ステップS412では、ビア自動配置部23はスライド位置2401、2402、2403、2404を算出する。
ステップS413では、ビア自動配置部23は順次スライド位置のうちの一つを選択する。スライド位置2401、2404については、ビア自動配置部23はステップS414でL5/2の範囲内(それぞれ円2411、2414内)に他のGNDビアが存在しないと判定し、ステップS415でGND重複導電領域81内であると判定する。したがって、ステップS416では、ビア自動配置部23はGNDビア2401及びGNDビア2404を配置する。
一方、スライド位置2402、2403には、それぞれスライド位置2402、2403と同位置にGNDビアが既に存在する、すなわちL5/2の範囲内(それぞれ円2412、2413内)に他のGNDビアが存在する。したがって、ステップS414では、ビア自動配置部23はスライド位置2402、2403に他のGNDビアが存在すると判定する。したがって、ビア自動配置部23はGNDビアを配置しない。
【0084】
以後、同様にビア自動配置部23はステップS411からステップS418の処理をステップS418において、ステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。そして、ステップS418において、ステップS412の処理を行っていないGNDビアが存在しなくなった場合、ビア自動配置部23はステップS419でプログラムを終了する。
図27はステップS419でプログラムを終了した時点での、GND重複導電領域81上のGNDビアの配置状態を示す図である。ここで、これまでの説明では図を見易くするためにGNDビアを配置したスライド位置と配置されたGNDビアとの符合を同一にした。
【0085】
なお、本実施形態において、第1の実施形態と同様に、ステップS412の移動距離及びステップS414のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のGNDビア配置状況を実現することができる。このようにすることで、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくして、コスト面を考慮したGNDビアの配置を行うことができる。さらにGND重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもGNDビアの自動配置を行うことができる。
【0086】
このように本実施形態では、図27に示すようにプリント基板のGND重複導電領域内に所定の間隔L5以内にGNDビアを自動で配置することができる。
上述では、GND重複導電領域内にすべてのGNDビアを自動で配置するために、ステップS2200およびステップS408でGND重複導電領域内に1個ずつのビアを配置する例を示した。しかしながら、このステップS2200およびステップS408と同様の処理をユーザが行うことも可能である。すなわち、ステップS2200でGND重複導電領域内にGNDビアがないと判定された場合に、表示装置12を用いてGNDビアが配置されていないGND重複導電領域と1個または複数のビアを配置するような指示画面を表示する。これにより、ユーザにGND重複導電領域の各角付近にGNDビアを配置させることができる。
また、上述した所定の間隔L5は実際にGNDビアを配置するときには、1つの基板の中で、状況によりL5以内の値で変動させてもよい。ただし、L5の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL5の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0087】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の複数の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0088】
(第4の実施形態)
第1の実施形態では、GNDビアの配置位置の算出方法として、GND重複導電領域内に既に配置された又は新規に配置されたGNDビアを基準に所定の方向に所定の距離だけ位置を移動させる方法について説明した。本実施形態では、GNDビアの配置位置の算出方法として、GNDビアを配置可能な領域を所定の大きさの領域(以下、ブロック)に分割し、区分した領域内の一点を配置位置とする場合について説明する。
【0089】
本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラム(処理プログラム)に基づいて行う処理動作は、上述した図3に示すフローチャートと同様である。図28は図3に示すフローチャートの一部のステップの動作を詳細に示したフローチャートである。ここで、図28に示すステップBは図23に示すステップBから続いている。なお、図23に示すステップBまでの処理については、第1の実施形態及び第3の実施形態と同様なので、その説明を省略する。また、本実施形態において、第2の実施形態と同様に高速配線ビアの近傍にGNDビアを優先的に配置するには、図23に示すステップS407とステップBとの間に、図17に示すステップS1600からステップS1602を加えればよい。
【0090】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図28に示すフローチャートと図29〜図33に示す模式図を参照して説明する。なお、図28に示すステップS2600からステップS419までの処理は、ビア自動配置部23が主記憶装置11に記憶されているレイアウト情報142に基づいて行う処理である。また、説明を容易にするため、図29〜図33では図10に示すGND重複導電領域81のみを示している。しかしながら、実際にはGND重複導電領域80、82、83、84にも同様にGNDビアを配置することは言うまでもない。また、本実施形態では、第1の実施形態と同様、周縁部及び内縁部と中央部とを分割し、段階的にGNDビアを自動配置する方法について説明する。したがって、ステップS401のビア自動配置条件は、第1の実施形態における所定の間隔L1、所定の間隔L2、所定の間隔L3と同じである。
【0091】
以下、図28に示すフローチャートについて詳細に説明する。
ステップS2600では、ビア自動配置部23は図23に示すステップS407でGND重複導電領域Aの位置情報及び形状情報を取得すると、GND重複導電領域Aの構成ラインを一つ選択する。ビア自動配置部23は選択した構成ラインの長さD2を算出し、算出した長さD2を所定の間隔L2で割った商(D2/L2)の整数部分に1を加えた値N2を算出する。さらに、ビア自動配置部23はD2をN2で割った長さC2(=D2/N2)を算出する。
【0092】
ステップS2601では、ビア自動配置部23は構成ラインに垂直な辺の長さを所定の間隔L1、構成ラインに沿った方向の辺の長さをC2とするブロックをステップS2600で選択した構成ラインに沿って作成する。ここで、GND重複導電領域Aの構成点の付近等、前記大きさの矩形のブロックをGND重複導電領域A内に作成できない場合、ビア自動配置部23は前記大きさの矩形からGND重複導電領域Aの外側の部分を排除した形状をブロックの形状とする。
ステップS2602では、ビア自動配置部23はブロック分割後、分割したブロックから一つ(ブロックB1)を選択する。
ステップS2603では、ビア自動配置部23はブロックB1内に既にGNDビアが配置されているか否かを判定する。ブロックB1内に既にGNDビアが配置されている場合、ステップS2605に処理を進める。GNDビアが未だ配置されていない場合、ステップS2604に処理を進める。
【0093】
ステップS2604では、ビア自動配置部23はブロックB1内にGNDビアを配置する。
次に、ステップS2605では、ビア自動配置部23はステップS2603の処理を実行していない、すなわちブロック内のGNDビアの有無を判定していないブロック(ブロックB1以外のブロック)が存在するか否かを判定する。ステップS2603の処理を実行していないブロックが存在する場合、ステップS2602の処理に戻る。ステップS2603の処理を実行していないブロックが存在しない場合、ステップS2606の処理に進める。
【0094】
ステップS2606では、ビア自動配置部23はステップS2601の処理を実行していない構成ラインが存在するか否かを判定する。ステップS2601の処理を実行していない構成ラインが存在する場合、ステップS2600に処理を戻す。ステップS2601の処理を実行していない構成ラインが存在しない場合、ステップS2607に処理を進める。
ステップS2607では、ビア自動配置部23はGND重複導電領域Aの中央部の位置情報及び形状情報を取得する。ここでの中央部とは、GND重複導電領域AからステップS2601で分割した全てのブロックを排除した領域(以下、中央領域B)である。
ステップS2608では、ビア自動配置部23は中央領域Bの位置情報及び形状情報を取得した後、中央領域Bを所定の距離L3の半分の距離(L3/2)を一辺とする正方形のブロックに分割する。この処理はブロック分割ステップの一例に対応する。ここで、中央領域Bの構成ラインや構成点付近のL3/2を一辺とする正方形のブロックを中央領域B内に作成できない場合は、ビア自動配置部23は正方形のブロックから中央領域Bの外側の部分を排除した形状をブロックの形状とする。
【0095】
ステップS2609では、ビア自動配置部23は中央領域Bをブロック分割後、各ブロック内に未だGNDビアが配置されていないブロックにGNDビアを配置する。この処理はブロック内層間接続部材配置ステップの一例に対応する。ステップS2609の処理は、ステップS2602からステップS2605の一連の処理と同処理である。
ステップS419では、ビア自動配置部23は中央領域B内にGNDビア配置後、処理プログラム141を終了する。
次に、図28に示すフローチャートと図29〜図33に示す模式図とを参照して具体的に説明する。まず、ステップS2600ではビア自動配置部23は図23に示すステップS407において取得した位置情報及び形状情報の構成ライン910、911、912、913、914、915から一つを選択する。例えば、ビア自動配置部23は構成ライン910を選択したものとする。
【0096】
ステップS2601では、ビア自動配置部23は図29に示すように構成ライン910に沿ったGND重複導電領域81の周縁部をブロック分割する。ステップS2601におけるブロック分割方法としては、まずビア自動配置部23は構成ライン910の長さD2を算出する。次に、ビア自動配置部23は長さD2を所定の間隔L2で割った商の整数部分に1を加えた値N2を算出し、続けて長さD2をN2で割った値C2(=D2/N2)を算出する。次に、ビア自動配置部23は構成ライン910に垂直な方向の一辺を所定の間隔L1とし、構成ライン910に沿った方向の一辺を値C2として図29に示すブロック2700からブロック2711を構成ライン910の端から構成ライン910に沿って作成する。図29に示す構成ライン910の場合、構成点900及び901の角が直角であるため、全て矩形のブロックにより分割することができる。しかしながら、実際のプリント基板では、必ずしもGND重複導電領域の角が直角とは限らない。分割した矩形のブロックがGND重複導電領域からはみ出る場合には、分割した矩形からGND重複導電領域の外部領域を排除した図形をブロックの形状として適用すればよい。
また、構成ライン910の端点付近で分割した矩形に対してGND重複導電領域の周縁部が余る場合、余りの図形を構成ラインの端のブロックに追加した形状をブロックとして適用することができる。
【0097】
ステップS2602では、ビア自動配置部23はステップS2601で作成したブロックから一つを選択する。例えば、ビア自動配置部23はブロック2700を選択したものとする。
ステップS2603では、ビア自動配置部23はブロック2700内には未だGNDビアが配置されていないと判定するために、ステップS2604に処理を進める。
ステップS2604では、ビア自動配置部23はGNDビア2720を配置する。ここで、ステップS2604におけるGNDビアの配置位置はブロック2700の中心が好ましい。その他の位置としては、ブロック2700の重心や隣接するブロック2701との境界付近の位置等、ブロック2700の内部のあらゆる位置が考えられる。
次に、ステップS2605では、ビア自動配置部23はブロック2701からブロック2711については未だステップS2603の判定を行っていないブロックが存在すると判定するために、ステップS2602の処理に戻る。
【0098】
以後、同様にビア自動配置部23はステップS2602からステップS2605までの処理を繰り返し実行することにより、図29に示すように構成ライン910に沿った周縁部にGNDビア2720を順次配置する。ステップS2605では、ビア自動配置部23は未だステップS2603の判定を行っていないブロックが存在しないと判定すると、ステップS2606に処理を進める。そして、次にステップS2606において、ビア自動配置部23は構成ライン911から構成ライン915についてはブロックを作成していない構成ラインが存在すると判定し、ステップS2600に処理を進める。
【0099】
ステップS2600では、ビア自動配置部23は再び構成ラインを選択する。例えば、ビア自動配置部23が構成ライン911を選択するものとすると、図30に示すように、ステップS2601においてブロック2800からブロック2806を作成する。
ステップS2602では、ビア自動配置部23はブロック2800からブロック2806のうちからブロックを一つ選択する。例えば、ビア自動配置部23がブロック2800を選択した場合、ステップS2603において、ビア自動配置部23はブロック2800内にGNDビア2840が存在すると判定するために、ステップS2605の処理に進める。
【0100】
ステップS2605では、ビア自動配置部23はステップS2603の判定を行っていないブロック(ブロック2801からブロック2806まで)が存在すると判定し、ステップS2602の処理に戻り、再びブロックを一つ選択する。例えば、ビア自動配置部23はブロック2801を選択したものとすると、ステップS2603では、ブロック2801内には未だGNDビアが配置されていないと判定するために、ステップS2604に処理を進める。ステップS2604では、ビア自動配置部23はブロック2801内にGNDビア2820を配置して、ステップS2605の処理に進める。
【0101】
以後、同様にビア自動配置部23はステップS2602からステップS2605までの処理を繰り返し実行し、GNDビア2820を順次配置する。そして、ビア自動配置部23は、同様にステップS2600からステップS2606までの処理をステップS2606でブロック分割していない構成ラインが存在しなくなるまで繰り返し実行する。これにより、GND重複導電領域81の構成ラインから所定の間隔L1以内の周縁部に、GNDビアを所定の間隔L2以内で配置することができる。図31はGND重複導電領域81の周縁部にGNDビアを配置した後の状態を示す図である。ここで、GND重複導電領域81には内縁部は存在しなかったが、内縁部が存在する場合、ステップS407で内縁の位置情報及び形状情報を取得することで、ビア自動配置部23はGNDビアを内縁部に配置することができる。すなわち、ビア自動配置部23は内縁の位置情報及び形状情報に基づいて、ステップS2600からステップS2606の処理を繰り返し実行することにより、内縁から所定の間隔L1以内の領域にGNDビアを所定の間隔L2以内で配置する。
【0102】
次に、GND重複導電領域81の中央部にGNDビアを自動で配置する処理動作について詳細に説明する。
ステップS2607では、ビア自動配置部23はGND重複導電領域81のうち、ステップS2601で作成したブロックを全て排除した領域、すなわち図32に示すグレー部分の領域である中央部3000の位置情報及び形状情報を取得する。ステップS2608では、ビア自動配置部23は中央部3000をブロック分割する。ここで、ブロック分割の方法としては、まず、ビア自動配置部23は中央部3000の構成点のうち、一つを選択する。ここでは、ビア自動配置部23は図32に示す構成点3001を選択したものとする。ビア自動配置部23は構成点3001を1つの頂点とし、所定の間隔L3を一辺の長さとし、かつ一辺がx軸に平行な図32に示す正方形のブロック3010を中央部3000の内部に作成する。ここで、正方形のブロックの一辺の長さは必ずしもL3である必要はない。例えば、L3/2、L3/3等L3以下の値であってもよい。そして、ブロック3010と一辺を共有し、かつ中央部3000と一部領域を共有する正方形のブロック3011を作成する。ビア自動配置部23は作成した正方形のブロックからそれと一辺を共有し、かつ中央部3000と一部領域を共有する正方形のブロック3012を順次作成する。ここで、作成した正方形のブロック3012が中央部3000からはみ出る場合は、ビア自動配置部23は正方形のブロック3012から中央部3000からはみ出た領域を排除した形状をブロックの形状として適用する。
【0103】
次に、ステップS2609では、ビア自動配置部23は作成したブロック3010、3011、3012のそれぞれの内部にGNDビアが既に存在するか否かを判定し、GNDビアが存在しない場合にGNDビア3020を配置する処理を実行する。ステップS2609では、上述したステップS2602からステップS2606までの処理をブロック3012に対して適用すればよい。ステップS419において、ビア自動配置部23はプログラムを終了する。
【0104】
本実施形態では所定の間隔L2又はL3にユーザの設定した割合を乗算した値を採用する等の処理によって分割するブロックの大きさを調整することにより、ユーザが所望するGNDビア配置状況を実現することができる。これにより、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくすることを重視した、すなわちコスト面を考慮したGNDビアを配置できる。なお、図32では、GNDビア2720、2820、3020、ブロック3012の全てには符合を付していない。
また、必ずしも全てのブロック内にGNDビアを配置する必要はない。すなわち、所定の面積以下のブロックにはGNDビアを配置しない等の処理を追加することにより、ユーザにとって不要なGNDビアを配置しない、すなわち前記と同様にコスト面を考慮したGNDビアの配置が可能となる。
さらに、第1の実施形態と同様にGND重複導電領域の位置情報及び形状情報が座標平面及び空間上の不等式で表現されている場合であっても適用することができる。
【0105】
本実施形態によれば図33に示すようにプリント基板のGND重複導電領域の周縁部及び内縁部の周縁から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で配置することができる。さらに、GND重複導電領域の中央部に所定の間隔L3以内の間隔でGNDビアを自動で配置することができる。なお、本実施形態においてブロックの大きさ及び形状を決定する所定の間隔L1、L2、L3は、実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値、L3以内の値で変動させてもよい。ただし、L1、L2、L3の値を変動させない、すなわち等間隔にブロックを分割するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる効果を得ることができる。
また、本実施形態では、プリント基板のGND重複導電領域の周縁部および内縁部と中央部を段階的に分けてGNDビアを自動で配置する一例を示した。一方で、プリント基板全体にGNDビアを自動で配置することも可能である。この場合、図28のステップS2607で中央部をブロックに分割した方法を、そのままGND重複導電領域全体に適用することで、GND重複導電領域全体に一括でGNDビアを所定の間隔以内で自動配置することが可能である。
【0106】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0107】
(第5の実施形態)
第1の実施形態から第4の実施形態ではプリント基板のGND重複導電領域に対してGNDビアを自動で配置する場合について説明した。本実施形態では、信号等の配線変更等に伴い、GND重複導電領域が変化した際に、GNDビアを所定の間隔以内で再配置する場合について説明する。
本実施形態では、配線変更前のプリント基板の模式図として図6に示すプリント基板を参照する。また、配線変更後のプリント基板の模式図として、図34に示すプリント基板を参照する。ここで、本実施形態におけるプリント基板の配線変更点について説明する。本実施形態では、図6(c)に示す内層の信号配線6210及び信号配線ビア6220が図34(c)に示す内層の信号配線3210及び信号配線ビア3220に変更されている。また、図6(d)に示す表層の信号配線6310及び信号配線ビア6320が図34(d)に示す表層の信号配線3211及び信号配線ビア3221に変更されている。この配線変更に伴い、図6(c)(d)に示すGND導電領域623、633の形状が、それぞれ図34(c)(d)に示すGND導電領域3230、3231に変更されている。
【0108】
以下、本実施形態に係るプリント基板設計支援装置の処理動作を図35及び図36に示すフローチャートと図34及び図37から図44に示す模式図を参照して説明する。図35に示すステップS400からステップS407、ステップS409及びS410の動作処理は、第1の実施形態の図4に示す同一のステップ番号と同一の処理を行うので、詳細な説明は省略する。また、図36に示すフローチャートは図5に示すフローチャートと同様であり、その説明は省略する。
【0109】
ここで、図35に示すフローチャートの一部の処理について説明する。
ステップS404では、図形演算部22はステップS403において選択したGND配線名に関連する各層のGND導電領域を再度特定する。この処理はグラウンド導電領域再特定ステップの一例に対応する。
次に、ステップS405では、図形演算部22は特定した各層のGND導電領域が高さ方向に2次元的に重複する領域をGND重複導電領域Cとして再度抽出する。この処理は重複導電領域再抽出ステップの一例に対応する。
次に、ステップS3300からステップS3304までの処理について説明する。ここで、ステップS3300からステップS3304までの処理は、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う。
【0110】
ステップS3300では、ビア自動配置部23はステップS407において、配線変更後のGND重複導電領域Cの位置情報及び形状情報を取得した後、GNDビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。具体的にはビア自動配置部23はGND重複導電領域C外に配置されているGNDビアを排除する。この処理は重複導電領域外排除ステップの一例に対応する。
ステップS3301では、ビア自動配置部23はGND重複導電領域Cの各角付近のビア配置位置を算出する。
ステップS3302では、ビア自動配置部23はステップS3301で算出したビア配置位置から所定の間隔L2以内の範囲のGNDビアを排除する。
ステップS3303では、ビア自動配置部23はステップS3301で算出したビア配置位置にGNDビアを配置する。
【0111】
ステップS409では、ビア自動配置部23はステップS3303で配置したGNDビアのうち、GND重複導電領域Cの構成ラインに沿って隣り合う2つのGNDビア間を所定の間隔L2以内の距離で分割する。
ステップS3304では、ビア自動配置部23は分割した位置から所定の間隔L2の範囲内に既に配置されているGNDビアを排除する。
ステップS410では、ビア自動配置部23はステップS409で分割した各位置にGNDビアを配置する。この処理は自動再配置ステップの一例に対応する。ここで、高速配線の変更に対する場合は、ステップS3300とステップS3301との間に図17に示すステップS1600からステップS1602までの処理を付加する。この場合、ステップS1600で選択される高速配線ビアは変更された高速配線のビアのみでよい。
【0112】
次に、図34及び図37から図44の模式図を参照して本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。
まず、ステップS401からステップS406で、ビア自動配置部23はGND重複導電領域を抽出する。これらの処理は第1の実施形態と同一である。図37は抽出されたGND導電領域を示す図である。すなわち、図37に示すグレー部分の領域80、82、83、3581、3584がGND重複導電領域である。なお、GND重複導電領域80、82、83は図10に示す同一符号のGND重複導電領域と一致する。すなわち、GND重複導電領域3581、3584が変化したGND重複導電領域である。
【0113】
図38はステップS406が終了した時点でのGND重複導電領域とGNDビアの配置状態とを示す図である。ステップS407では、ビア自動配置部23はGND重複導電領域の位置情報及び形状情報を取得した後、ステップS3300でGND重複導電領域外の図38に示すGNDビア3600を排除する。図39はGND重複導電領域外のGNDビアを排除した後のGNDビアの配置状態を示す図である。図39に示すようにGND重複導電領域外のGNDビアが排除されている。
【0114】
次に、GND重複導電領域にGNDビアを再配置する処理動作について具体的に説明する。ここでは、説明を容易にするために、図38に示す変化したGND重複導電領域3584にGNDビアを再配置する処理動作について説明する。実際には、その他のGND重複導電領域80、82、83、3581にも同様に再配置の処理を行うことは言うまでもない。また、変化したGND重複導電領域を判別するフローを追加することで、変化したGND重複導電領域のみに対してGNDビアの再配置を実行することも可能である。
【0115】
ここでは、第1の実施形態と同様にGND重複導電領域の周縁部及び内縁部と中央部とを段階的に分けて、各部分にGNDビアを再配置する場合について説明する。したがって、ステップS401で設定されるビア自動配置条件は、所定の間隔L1、L2、L3である。まず、GND重複導電領域3584の周縁部及び内縁部にGNDビアを再配置する動作を具体的に説明する。ここで、図40に示すグレー部分の領域はGND重複導電領域3584を拡大した図である。
【0116】
ステップS3301では、ビア自動配置部23はステップS407で取得したGND重複導電領域3584の位置情報及び形状情報に基づいて各構成点を抽出し、各構成点付近のビア配置位置3800を算出する。各構成点付近のビア配置位置算出方法は、第1の実施形態の図4に示すフローチャート内のステップS408と同じ方法(図11参照)を用いればよい。
ステップS3302では、ビア自動配置部23はビア配置位置3800から所定の間隔L2の範囲内、すなわち図40に示す円3810の内部にあるGNDビア3801を排除する。
次に、ステップS3303では、ビア自動配置部23は各ビア配置位置3800にGNDビア3800を配置する。
【0117】
次に、ステップS409では、ビア自動配置部23はステップS3303で配置したGNDビアのうち、GND重複導電領域3584の構成ラインに沿って隣り合うGNDビア間を所定の間隔L2以内の間隔で分割する。ここで、分割方法は第1の実施形態の図4に示すフローチャート内のステップS409で説明した方法を用いればよい。ここで、図41に示す黒丸3900はステップS409で分割した各位置を示している。
ステップS3304では、ビア自動配置部23はステップS409で分割した各位置から所定の間隔L2の範囲内、すなわち図41に示す円3910の内部に既に配置されているGNDビア3901を排除する。ここで、図41では、GND重複導電領域84とGND重複導電領域3584との間で変化していない構成ラインに沿って位置3900と完全に重なっているGNDビア3901が存在し、ビア自動配置部23はそれらのGNDビア3901も排除している。
【0118】
ステップS410では、ビア自動配置部23はステップS409で分割した各位置にGNDビア3900を配置する。ここでは、図を見易くするためにステップS409で分割した位置3900とステップS410で配置したGNDビア3900とに同一符号を付した。
【0119】
次に、GND重複導電領域3584の中央部にGNDビアを配置する動作について具体的に説明する。図42はGND重複導電領域3584の中央部にGNDビアを配置状態を示す図である。
ステップS411では、ビア自動配置部23はGND重複導電領域3584内に存在するGNDビアを一つ選択する。ここで例えば、ビア自動配置部23は図42に示すGNDビア4000を選択したものとする。
ステップS412では、ビア自動配置部23はGNDビア4000から第1の実施形態の図5に示すフローチャートのステップS412において、説明した同様の方法でスライド位置を算出する。すなわち、ビア自動配置部23はx軸方向及びy軸方向の各正負方向に所定の間隔L3の半分の距離(L3/2)だけ移動した位置を算出する。具体的には、x軸方向の正方向、x軸方向の負方向、y軸方向の正方向、y軸方向の負方向に移動した位置はそれぞれ図42に示すスライド位置4001、4002、4003、4004である。
【0120】
ステップS413では、ビア自動配置部23はスライド位置4001、4002、4003、4004から一つを選択する。ここでは例えば、ビア自動配置部23はスライド位置4001を選択する。
ステップS414では、ビア自動配置部23はスライド位置4001から所定の間隔L3の半分の距離(L3/2)の範囲内、すなわち図42に示す円4011の内部に他のGNDビアが配置されていないと判定し、ステップS415の処理に進める。
ステップS415では、ビア自動配置部23はスライド位置4001がGND重複導電領域3584内であると判定し、ステップS416に処理を進める。
したがって、ステップS416では、ビア自動配置部23はスライド位置4001にGNDビア4001を配置する。この処理は自動再配置ステップの一例に対応する。
【0121】
ステップS417では、ビア自動配置部23は未だステップS414の判定を行っていないスライド位置4002、4003、4004が存在すると判定するので、ステップS413の処理に戻る。
ステップS413では、ビア自動配置部23はスライド位置4002、4003、4004から一つを選択する。ここで例えば、ビア自動配置部23はスライド位置4002を選択する。この場合、ステップS414では、ビア自動配置部23はスライド位置4002から距離L3/2の範囲内、すなわち図42に示す円4012の内部に既にGNDビア4022が配置されていると判定するので、ステップS417に処理を進める。ステップS417では、ビア自動配置部23は未だステップS414の判定を行っていないスライド位置4003、4004が存在すると判定するので、ステップS413に処理を戻す。
【0122】
以後、ビア自動配置部23は同様にステップS413からステップS417の処理をステップS417で残りのスライド位置が存在しなくなるまで繰り返し実行する。そして、ビア自動配置部23はスライド位置4003にはGNDビアを配置せず、スライド位置4004にはGNDビア4004を配置する。ステップS417において残りのスライド位置が存在しなくなると、ステップS418に処理を進める。
ステップS418では、ビア自動配置部23は未だステップS412の処理を行っていないGNDビアが存在すると判定するので、ステップS411の処理に戻る。
【0123】
以後、ビア自動配置部23は同様にステップS411からステップS418までの処理をステップS418でステップS412の処理を行っていないGNDビアが存在しなくなるまで繰り返し実行する。ステップS418でステップS412の処理を行っていないGNDビアが存在しなくなると、ステップS419でプログラムを終了する。
【0124】
図43はGND重複導電領域3584内のGNDビアの配置状態を示している。また、図44はプログラムを終了した後のプリント基板全体のGND重複導電領域とGNDビアの配置状態を示している。なお、図を見易くするために、図40のGNDビア3800、円3810、図41のGNDビア3900、円3910、GNDビア3901の全てには符合を付していない。
【0125】
このように、本実施形態ではGND重複導電領域の周縁部及び内縁部にGNDビアを再配置するときに、GNDビアを全て新規に配置し直す場合について説明した。しかしながら、配線変更に伴い、GND重複導電領域の周縁部及び内縁部でGNDビアが配置されていない場所を検索したり、変化した構成ラインを判別し、その周縁部及び内縁部にのみ配置したりしてもよい。
また、GND重複導電領域外のGNDビアを、配置を必要とするにもかかわらず配置されていない位置へ1個ずつ、又は複数個ずつ修正して移動させてもよい。この処理は自動修正配置ステップの一例に対応する。このとき、配置を必要とする位置の算出方法は、本実施形態の図35に示すフローチャートのステップS3301又は図36に示すフローチャートのステップS412で説明した方法を適用すればよい。
また、本実施形態では、GND重複導電領域を周縁部及び内縁部と中央部とに分けて、段階的にGNDビアを再配置する場合について説明したが、第3の実施形態のGNDビア配置方法を適用することで、GNDビアを段階的に分けずに配置することもできる。
【0126】
本実施形態は第1の実施形態と同様、ステップS412の移動距離及びステップS414のスライド位置の周囲の検索範囲をユーザにより設定できるようにすることで、ユーザの所望のGNDビア配置状況を実現することができる。このようにすることで、所定の間隔以内にGNDビアを配置することよりも、GNDビアの配置数を少なくして、コスト面を考慮したGNDビアの配置を行うことができる。さらにGND重複導電領域の位置情報及び形状情報が座標平面又は空間上の不等式で表している場合であってもGNDビアの自動配置を行うことができる。
【0127】
このように本実施形態では、図44に示すようにGND重複導電領域が変化した場合であっても、GND重複導電領域の周縁部及び内縁部の端から所定の間隔L1以内の距離に所定の間隔L2以内の間隔でGNDビアを自動で再配置することができる。さらに、GND重複導電領域の中央部に所定の間隔L3以内の間隔でGNDビアを自動で再配置することができる。なお、本実施形態における所定の間隔L1、L2、L3は、実際にGNDビアを配置するときには、1つの基板の中で、状況によりそれぞれL1以内の値、L2以内の値、L3以内の値で変動させてもよい。ただし、L1、L2、L3の値を変動させない、すなわち等間隔に配置するように設定することにより、状況によるL1、L2、L3の値の変動の計算が不要となり、プログラムの動作が速くなる利点がある。
【0128】
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動追加配置する場合について説明したが、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層にのみに対する重複導電領域を抽出し、上述した実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0129】
(第6の実施形態)
第5の実施形態では、配線変更に伴うGND重複導電領域の変化に対して、自動でGNDビアを再配置する場合について説明した。このとき、GNDビアを再配置する方法は配線変更後のGND重複導電領域の位置情報及び形状情報のみからGNDビアを排除し、追加配置する方法であった。本実施形態では、配線変更に伴う信号配線の形状の変化からGNDビアの排除を行い、その後、GND重複導電領域内にGNDビアを追加配置する場合について説明する。
図45は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。図45に示すステップCは第5の実施形態の図36に示すステップCのフローチャートに続く。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図45に示すフローチャートと図46から図48に示す模式図を参照して説明する。なお、配線変更前及び配線変更後の図は第5の実施形態と同様、それぞれ図6と図34との模式図を参照する。
【0130】
まず、図45に示すフローチャートについて詳細に説明する。ここで、図45に示すフローチャートは第5の実施形態の図35に示すフローチャートの開始後にステップS4300、ステップS4301及びステップS4302を追加したものである。したがって、ステップS4300、ステップS4301及びステップS4302についてのみ詳細に説明する。
ステップS4300では、外部記憶情報抽出部21はプリント基板上に配置されている各部品及び配線に対するビア配置禁止領域情報を取得する。この処理は禁止領域情報取得ステップの一例に対応する。ビア配置禁止領域情報の取得方法としては、レイアウト情報142の中にビア配置禁止領域情報を含めておき、外部記憶情報抽出部21が主記憶装置11にあるレイアウト情報142から取得する方法が好ましい。なお、次のような方法も考えられる。信号配線や部品の型の属性情報をレイアウト情報142に含めておき、外部記憶情報抽出部21が主記憶装置11にあるレイアウト情報142から信号配線や部品の型の属性情報を抽出する。次に、各信号配線や部品の型の属性情報とビア配置禁止領域情報との対応関係データDを予め外部記憶装置14の中に蓄積しておき、外部記憶情報抽出部21が外部記憶装置14から主記憶装置11に対応関係データDを格納する。そして、外部記憶情報抽出部21は信号配線や部品の型の属性情報と対応関係データDを照合させ、対応関係Dから該当する信号配線や部品の型の属性情報に与えられるビア配置禁止領域情報を取得する。
【0131】
次に、ステップS4301では、図形演算部22は主記憶装置11にあるレイアウト情報142及びビア配置禁止領域情報を参照しながら、変更のあった各配線や部品に対してビア配置禁止領域を算出する。この処理は禁止領域算出ステップの一例に対応する。例えば、信号配線Eが変更され、信号配線Eに対するビア配置禁止領域情報が信号配線Eの導電領域から距離L6Aの範囲であった場合は、変更後の信号配線Eの導電領域から距離L6A以内の範囲をビア配置禁止領域として算出する。また、例えば部品Fの配置位置が変更されたとする。部品Fのビア配置禁止領域情報が部品Fの外形から距離L6Bの範囲以内であった場合は、変更後の位置にある部品Fの外形から距離L6B以内の範囲をビア配置禁止領域として算出する。
一方で、部品Fのビア配置禁止領域情報が部品Fの各ピンをプリント基板の導電領域に電気的に接続させるための導電領域(以下、ピンパッド)から距離L6Cの範囲であるとする。この場合、変更後の部品Fの各ピンのピンパッドから距離L6C以内の範囲をビア配置禁止領域として算出する。
【0132】
さらに、部品Fのビア配置禁止領域情報が部品Fの部品配置位置を基準として算出可能な構成点で構成される図形情報F5の場合、部品Fの配置位置と図形情報F5とからビア配置禁止領域を算出する。
また、例えば信号配線ビアGの位置が変更され、信号配線ビアGのビア配置禁止領域が信号配線ビアGの電気的接続を良好にするために設けられた導電領域(以下、ビアパッド)から距離L6Dの範囲であるとする。その場合、変更後の信号配線ビアGのビアパッドから距離L6D以内の範囲をビア配置禁止領域として算出する。
ステップS4302では、ステップS4301において各変更後の配線や部品等に対するビア配置禁止領域を算出すると、ビア自動配置部23は主記憶装置11にあるレイアウト情報142を参照し、ビア配置禁止領域に含まれるGNDビアを排除する。この処理は層間接続部材排除ステップの一例に対応する。
以上が、本実施形態に係るプリント基板設計支援装置の一部の処理手順の一例である。
【0133】
なお、図45に示すフローチャートでは、ステップS4300からステップS4302までの処理をフローチャート開始直後、すなわちステップS400直後で実行するようにした。しかしながら、ステップS4300からステップS4302までの処理をステップS406の直後で実行するようにしても同様の結果を得ることができる。
また、高速配線の変更に対する対応としては、ステップS3300とステップS3301との間に、図17に示すステップS1600からステップS1602までの処理を付加すればよい。この場合、ステップS1600で選択される高速配線ビアは変更された高速配線ビアのみでよい。
【0134】
次に、図46から図48までの模式図を参照して、本実施形態に係るプリント基板設計支援装置の処理動作について具体的に説明する。ここでは説明の理解を容易にするために、開始後にステップS401からステップS406までの処理を実行し、次にステップS4300からステップS4302までの処理を実行し、その後ステップS407からプログラム終了までを実行する。
ステップS400から開始し、ステップS406までの一連のステップ群を繰り返して実行されると、図形演算部22は第5の実施形態において説明した図38に示すGND重複導電領域80、82、83、3581、3584を抽出する。図46では、図38に加えて、変更された信号配線3210、3211、変更された信号配線ビア3220を示している。
【0135】
ステップS4300では、外部記憶情報抽出部21は信号配線3210、3211、信号配線ビア3220のビア配置禁止領域情報を取得する。ここで、例えば、信号配線3210及び信号配線3211のビア配置禁止領域情報が信号配線の導電領域から距離L6Aの範囲であり、信号配線ビア3220のビア配置禁止領域情報がビアパッドから距離L6Dの範囲であるとする。
ステップS4301では、図形演算部22は信号配線3210及び信号配線3211の各ラインの導電領域から距離L6Aの範囲、すなわちそれぞれ図46に示す点線で示した矩形4400及び矩形4401を算出する。また、信号配線ビア3220のビアパッドから距離L6Dの範囲、すなわち図46に示す点線で示した円4402を算出する。
【0136】
ステップS4302では、ビア自動配置部23は矩形4400、4401及び円4402に含まれるGNDビア、すなわち矩形4400に含まれるGNDビア4420及び矩形4401に含まれるGNDビア4421を排除する。なお、図を見易くするためにGNDビア4420、4421の全てには符合を付していない。図47はビア配置禁止領域内のGNDビア4420及びGNDビア4421を排除した後のGND重複導電領域とGNDビアの配置状態とを示す図である。なお、ステップS407からステップS419までの処理は第5の実施形態の説明と同様であり、その説明は省略する。図48はプログラムを終了した後のGND重複導電領域とGNDビアの配置状態とを示す図である。
【0137】
本実施形態によれば、第5の実施形態と同様、プリント基板の配線変更に伴ってGND重複導電領域の形状が変化した場合にあっても、GNDビアを自動で再配置することができる。なお、本実施形態では配線変更が一通り終了してから、ビア配置禁止領域内に入ったGNDビアを排除する場合について説明した。しかしながら、配線や部品を配置するごとに、ビア配置禁止領域の算出、ビア配置禁止領域内のGNDビアの排除及びGND重複導電領域内のGNDビアの再配置を行ってもよい。これにより、ユーザは配線を変更しながら、GNDビアの再配置状況を確認することができる。ただし、配線変更ごとにGNDビアの再配置を実行する場合、配線の位置及び方向を変更するたびに図形計算処理を必要とし、ユーザの円滑な作業を妨害することもある。したがって、ここでは配線変更が一通り終了した後にビア配置禁止領域内に入ったGNDビアを排除する一例を示した。
【0138】
また、本実施形態ではラインに対するビア配置禁止領域を矩形とする場合について説明したが、ラインに対するビア配置禁止領域の角を丸くしたり、ラインの始点及び終点の周囲は円状にしたりしてもよい。また、ビアパッドに対するビア配置禁止領域を円としたが、楕円や矩形で代用してもよい。このように、各配線や部品に対するビア配置禁止領域情報の形状は様々な形状とすることができる。
また、本実施形態では、プリント基板の全導電層を介するGNDビアを自動修正及び追加配置する場合について説明した。しかし、プリント基板を構成する導電層のうちの一部の導電層を介するGNDビアを自動配置することもできる。その場合、GNDビアの介する導電層のみに対する重複導電領域を抽出し、本実施形態と同様に該重複導電領域にGNDビアを配置すればよい。そのとき、該当する一部の導電層を含めた複数層を介するGNDビアを、既に配置されたGNDビアとして取り扱うことで効率的にGNDビアを配置することができる。
【0139】
(第7の実施形態)
第1の実施形態から第3の実施形態ではGND重複導電領域に対してGNDビアを自動配置する場合について説明した。第5の実施形態及び第6の実施形態では配線変更等に伴うGND重複導電領域の形状の変更があった場合にGNDビアを自動で再配置する場合について説明した。
本実施形態では、部品の配置及び配線が行われる前にGNDビアを自動配置し、部品の配置及び配線に伴って排除すべきGNDビアを排除するプリント基板設計装置について説明する。
【0140】
図49は本実施形態に係るプリント基板設計支援装置がプリント基板設計支援プログラムに基づいて行う処理手順の一例を示すフローチャートである。以下、本実施形態に係るプリント基板設計支援装置の処理動作を図49に示すフローチャートと図50から図59に示す模式図を参照して説明する。図50は本実施形態によりプリント基板を設計した設計後のプリント基板の状態を示す図である。ここで、図50に示す部品配置及び配線状況について説明する。図50に示すプリント基板の模式図の部品配置及び配線状況は図34に示す層62内の太実線の配線を除いた配置及び配線状況と一致する。ここでは、図50に示す図を見易くするため、該太実線を排除している。また、図50に示すグレー領域はGND重複導電領域を示す。
【0141】
次に、図49に示すフローチャートについて詳細に説明する。
まず、ステップS4700及びステップS4701の処理は、それぞれ第1の実施形態で説明した図4に示すフローチャートのステップS400及びステップS401と同様であり、その説明は省略する。ただし、本実施形態でのビア自動配置条件は、第1の実施形態で説明した所定の間隔L1、L2、L3と同じであり、これらの条件をGND重複導電領域を基板外形に置き換えて適用するものとする。また、ビア自動追加条件には、前記所定の間隔L1、L2、L3に加え、GND重複導電領域の周縁からのビア配置禁止距離L7(以下、禁止距離L7)が含まれる。以下、ステップS4702からステップS4708までに行う処理は、ビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う処理である。
【0142】
ステップS4702では、ビア自動配置部23はプリント基板の外形の位置情報及び形状情報を取得する。
ステップS4703では、ビア自動配置部23は基板外形内に所定の間隔以内でGNDビアを配置する。ステップS4703において所定の間隔以内でGNDビアを配置する方法としては、第1の実施形態又は第4の実施形態に説明した第1の実施形態又は第4の実施形態におけるGND重複導電領域を本実施形態における基板の外形内部に置き換えて適用すればよい。
【0143】
ステップS4704では、ビア自動配置部23はステップS4703でGNDビアを配置した後、ユーザにより部品や配線が追加又は変更される、すなわちレイアウト情報142が変更されるたびに、ビア配置禁止領域を作成する必要があるか否かを判定する。ビア配置禁止領域を作成する必要がある場合、ステップS4705、ステップS4706及びステップS4707の処理を実行し、再びステップS4704の処理に戻る。ビア配置禁止領域を作成する必要がない場合、ステップS4708の処理に進める。ここで、ステップS4705、ステップS4706及びステップS4707では、それぞれ第6の実施形態で説明した図45に示すステップS4300、ステップS4301及びステップS4302と同様の処理を実行する。したがって、ステップS4705、ステップS4706及びステップS4707の処理についての詳細な説明は省略する。
【0144】
ステップS4708では、図形演算部22はGND導電領域の面図形が挿入されたか(面入れがされたか)否かを判定する。GND導電領域の面入れがされた場合、ステップS4709の処理に進める。面入れがされずに部品配置又は配線の変更がなされた場合、ステップS4704の処理に戻る。
ステップS4709では、図形演算部22は主記憶装置11にあるレイアウト情報142を読み出して、GND重複導電領域を抽出する。ステップS4709でGND重複導電領域を抽出する方法としては、第1の実施形態の図4に示すフローチャートのステップS402からステップS406までの方法を適用すればよい。
【0145】
以下、ステップS4710からステップS4712までの処理はビア自動配置部23が主記憶装置11にあるレイアウト情報142を読み出して行う処理である。
ステップS4710では、ビア自動配置部23は抽出されたGND重複複導電領域の位置情報及び形状情報を取得する。
次に、ステップS4711では、ビア自動配置部23はGND重複導電領域外又はGND重複導電領域の周縁及び内縁から所定の距離L7以内の範囲に配置されているGNDビアを排除する。ステップS4712では、処理プログラム141を終了する。
以上が、本実施形態に係る図49に示すフローチャートの詳細な説明である。本実施形態では、プリント基板のGND重複導電領域全体に等間隔以内でGNDビアを配置する場合について説明した。しかしながら、GND重複導電領域の周縁部分及び内縁部分と中央部分を分けて配置してもよい。その場合、図49に示すフローチャートのステップS4711以降に第5の実施形態で説明した図35に示すフローチャートのステップS3301からステップS410を追加し、GND重複導電領域内にGNDビアを再配置すればよい。
【0146】
また、第2の実施形態と同様に高速配線ビアの近傍にGNDビアを配置する場合、ステップS4710とステップS4711との間に図17に示すフローチャートのステップS1600からステップS1602までの処理を加えればよい。
さらに、ステップS4708のGNDの面入れ後にも配線等が変更されることがある。この場合、第6の実施形態と同様に配線等が変更されるたびにそれに応じたビア配置禁止領域を作成し、GNDビアを排除する処理を行えばよい。
【0147】
以下、図50から図59の模式図を参照して、本実施形態に係る処理動作について具体的に説明する。ステップS4700からステップS4703までの処理を実行すると、基板外形の周縁部及び内縁部と中央部とにそれぞれ所定の間隔以内でGNDビアが配置される。この具体的な動作は、第1の実施形態で説明した図4及び図5に示すフローチャートのステップS407からステップS418までの処理について、GND重複導電領域を基板外形に置き換えることで実現できる。また、第4の実施形態で説明した図28に示すフローチャートのステップS2600からステップS2609までの処理について、GND重複導電領域を基板外形に置き換えて実現できる。
なお、周縁部及び内縁部と中央部とを分けずに基板外形全体にGNDビアを所定の間隔以内で配置する場合、第3の実施形態の図23及び図24に示すステップS407からステップS418までの処理を、GND重複導電領域を基板外形に置き換えて実現できる。ここで、図51は基板外形内にGNDビアを配置した後のプリント基板のGNDビアの配置状態を示す図である。図51に示すように、基板外形4800内の周縁部にGNDビア4801が所定の間隔(L2)以内に配置され、中央部にはGNDビア4802が所定の間隔(L3)以内で配置されている。
【0148】
ステップS4704以降の処理は、ユーザによるプリント基板に部品や配線等を配置することにより実行される。例えば、図52(a)に示すように部品4900(ビア配置禁止領域を持つ部品)を配置した場合、ステップS4704では、ビア自動配置部23はビア配置禁止領域を作成しなければならない追加配置があったと判定する。そして、ステップS4705及びステップS4706を実行することで、図52(a)に示す点線で囲まれたビア配置禁止領域4910を算出する。ここでは、部品4900のビア配置禁止領域情報が、部品4900の配置位置の座標を基準として算出可能な構成点で構成される図形形状で表される場合について説明した。
ステップS4707では、ビア自動配置部23はビア配置禁止領域4910に含まれるGNDビア4920を排除する。同様に、部品4901、4902、4903が配置されるたびにステップS4705からステップS4707までの処理を実行し、それぞれ算出したビア配置禁止領域4911、4912、4913に含まれるGNDビア4921、4922、4923を排除する。
【0149】
図53(a)は部品4900、4901、4902、4304が配置された後のプリント基板の状態を示す図である。ここで、部品4900、4901は図53(b)に示す層60上に配置され、部品4902、4903は層63上に配置されている。次に、図54(a)に示すように、層60に信号配線5100を配置した場合、信号配線の周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップS4705及びステップS4706の処理を実行することで、ビア自動配置部23は図54(a)に示す点線のビア配置禁止領域5110を算出し、ステップS4707ではビア配置禁止領域5110に含まれるGNDビア5120を排除する。図55(a)は信号配線5100を配置した後のプリント基板の状態を示す図である。
【0150】
次に、図56(a)に示すように信号配線と信号配線ビアとが配置されている場合について説明する。図56(a)では、層60、62、63にそれぞれ信号配線5300、5301、5302が配置され、信号配線5300と5301とを接続する信号配線ビア5303及び信号配線5301と5302とを接続する信号配線ビア5304が配置されている。ここで、信号配線及び信号配線ビアの周囲にはビア配置禁止領域を設定する必要がある。したがって、ステップS4705及びステップS4706の処理を実行することで、ビア自動配置部23は信号配線5300、5301、5302に対してビア配置禁止領域5310、5311、5312を算出する。また、ビア自動配置部23は信号配線ビア5303、5304に対してビア配置禁止領域5313、5314を算出する。次に、ステップS4707では、ビア自動配置部23はビア配置禁止領域5310、5311、5312、5313、5314に含まれるGNDビア5320を排除する。
図57(a)は信号配線5300、5301、5302が配置された後のプリント基板の状態を示す図である。
【0151】
以下、同様にユーザがプリント基板に部品や配線等を配置するたびに、ビア自動配置部23はステップS4705からステップS4707までの処理をGND導電領域の面入れが行われるまで実行する。
図58(a)は全ての配線を終えた状態のプリント基板を示す図である。図58(a)では層60、62、63にそれぞれ信号配線5500、5501、5502が配置され、それらを接続する信号配線ビア5520が配置されている。また、図58(a)に示すように、信号配線及び信号配線ビアの周囲のGNDビアが排除されている。
【0152】
次に、ユーザによりGNDの面入れが行われると、ステップS4709では、図形演算部22はGND重複導電領域を抽出する。ここで、図59(a)に示すグレーの領域がGND重複導電領域5600である。
ステップS4710では、ビア自動配置部23はGND重複導電領域5600の位置情報及び形状情報を取得する。
ステップS4711では、ビア自動配置部23はGND重複導電領域5600の周縁及び内縁から禁止距離L7の範囲内に含まれるGNDビア5601を排除する。ステップS4712でプログラムを終了する。
【0153】
図50(a)はGNDビアを排除した後のプリント基板の状態を示す図である。ただし、図50(a)では、図を見易くするため、図51に示すGNDビア4801、図52(a)に示すGNDビア4920、4921、4922、4923、図54(a)に示すGNDビア5120、図56(a)に示すGNDビア5320の符号を付していない。また、図58(a)に示す信号配線ビア5420、図59(a)に示すGNDビア5601の符号を付していない。
以上が、本実施形態に係るプリント基板設計支援装置による処理動作である。本実施形態によれば、図50(a)に示すようにプリント基板の周縁部及び内縁部に所定の間隔以内でGNDビアを自動で配置することができる。また、プリント基板の中央部で、かつGND重複導電領域全体に所定の間隔以内でGNDビアを自動で配置することができる。
【0154】
なお、本実施形態では、GND重複導電領域の位置情報及び形状情報を主として座標で示す場合について説明したが、例えばxy平面上の不等式等、平面又は空間上の方程式・不等式で領域を表している場合であってもGNDビアの自動配置を行うことができる。例えば、xy平面上の不等式の場合、GND重複導電領域の各構成点の位置座標は不等式の不等号を等号で表現した等式の交点の座標で求めることができる。また、特定の点に対するGND重複導電領域の内部か外部かの判定は座標を不等式に当てはめるだけで判定することが可能である。したがって、上述した本実施形態と、同等の処理を行うことができる。
【0155】
また、本実施形態では、GND重複導電領域全体にGNDビアを所定の間隔以内で配置する場合について説明した。しかしながら、GND重複導電領域の周縁部及び内縁部にGNDビアを所定の間隔以内で配置することもできる。この場合、ステップS4710とステップS4711との間に図35に示すフローチャートのステップS3300からステップS3304の処理を追加すればよい。また、第2の実施形態と同様に、高速配線ビアの近傍にGNDビアを配置する場合は、ステップS4710とステップS4711との間に図17に示すステップS1600からステップS1602までの処理を追加すればよい。
【0156】
上述したように、本発明の実施形態におけるプリント基板設計支援装置を構成する各手段及びプリント基板設計支援方法の各ステップは外部記憶装置14に格納されたプリント基板設計支援プログラムを実行することによって実現できる。このプログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【符号の説明】
【0157】
10:中央処理装置(CPU) 11:主記憶装置 12:表示装置 13:入力装置 14:外部記憶装置 15:出力装置 16:バス 141:処理プログラム 142:レイアウト情報 20:入力部 21:外部記憶情報抽出部 22:図形演算部 23:ビア自動配置部
【特許請求の範囲】
【請求項1】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、
前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップと
をコンピュータに実行させるためのプリント基板設計支援プログラムであって、
前記第1の配置ステップは、
前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とするプリント基板設計支援プログラム。
【請求項2】
前記第1の配置ステップは、
前記抽出ステップにより抽出された重複導電領域の周縁又は内縁から所定の距離の範囲内に前記層間接続部材を所定の距離以内の間隔で配置することを特徴とする請求項1に記載のプリント基板設計支援プログラム。
【請求項3】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
1つ又は複数の前記層間接続部材を排除する層間接続部材排除ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を再配置する自動再配置ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項4】
前記層間接続部材排除ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外の層間接続部材を排除する重複導電領域外排除ステップを有することを特徴とする請求項3に記載のプリント基板設計支援プログラム。
【請求項5】
前記層間接続部材排除ステップは、
グラウンドとは異なる電位の変更された配線から所定の距離の範囲内の層間接続部材を排除することを特徴とする請求項4に記載のプリント基板設計支援プログラム。
【請求項6】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を修正して配置する自動修正配置ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項7】
前記自動修正配置ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外に配置されている層間接続部材を前記再抽出ステップにより再度抽出された重複導電領域の内部へと移動させることを特徴とする請求項6に記載のプリント基板設計支援プログラム。
【請求項8】
部品又は配線の変更が行われた場合に、
変更が行われた部品又は配線のビア配置禁止領域情報を取得する禁止領域情報取得ステップと、
前記禁止領域情報取得ステップにより取得されたビア配置禁止領域情報に基づいて、ビア配置禁止領域を算出する禁止領域算出ステップと、
前記禁止領域算出ステップにより算出されたビア配置禁止領域に配置されている層間接続部材を排除する層間接続部材排除ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項9】
グラウンド導電領域特定手段が、記憶装置に記憶されているプリント基板のレイアウト情報に基づいて、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
抽出手段が、前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、
第1の配置手段が、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップと
を有するプリント基板設計支援方法であって、
前記第1の配置ステップは、
ブロック分割手段が、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
第2の配置手段が、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とするプリント基板設計支援方法。
【請求項10】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定手段と、
前記グラウンド導電領域特定手段により特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出手段と、
前記抽出手段により抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置手段と
を有するプリント基板設計支援装置であって、
前記第1の配置手段は、
前記抽出手段により抽出された重複導電領域をブロック分割するブロック分割手段と、
前記ブロック分割手段により分割されたブロック内に前記層間接続部材を配置する第2の配置手段と、を有することを特徴とするプリント基板設計支援装置。
【請求項1】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、
前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップと
をコンピュータに実行させるためのプリント基板設計支援プログラムであって、
前記第1の配置ステップは、
前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とするプリント基板設計支援プログラム。
【請求項2】
前記第1の配置ステップは、
前記抽出ステップにより抽出された重複導電領域の周縁又は内縁から所定の距離の範囲内に前記層間接続部材を所定の距離以内の間隔で配置することを特徴とする請求項1に記載のプリント基板設計支援プログラム。
【請求項3】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
1つ又は複数の前記層間接続部材を排除する層間接続部材排除ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を再配置する自動再配置ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項4】
前記層間接続部材排除ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外の層間接続部材を排除する重複導電領域外排除ステップを有することを特徴とする請求項3に記載のプリント基板設計支援プログラム。
【請求項5】
前記層間接続部材排除ステップは、
グラウンドとは異なる電位の変更された配線から所定の距離の範囲内の層間接続部材を排除することを特徴とする請求項4に記載のプリント基板設計支援プログラム。
【請求項6】
配線の変更が行われた場合に、
前記グラウンドとして利用できる導電領域を再度特定するグラウンド導電領域再特定ステップと、
前記グラウンド導電領域再特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を再度抽出する再抽出ステップと、
前記再抽出ステップにより再度抽出された重複導電領域内に層間接続部材を修正して配置する自動修正配置ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項7】
前記自動修正配置ステップは、
前記再抽出ステップにより再度抽出された重複導電領域外に配置されている層間接続部材を前記再抽出ステップにより再度抽出された重複導電領域の内部へと移動させることを特徴とする請求項6に記載のプリント基板設計支援プログラム。
【請求項8】
部品又は配線の変更が行われた場合に、
変更が行われた部品又は配線のビア配置禁止領域情報を取得する禁止領域情報取得ステップと、
前記禁止領域情報取得ステップにより取得されたビア配置禁止領域情報に基づいて、ビア配置禁止領域を算出する禁止領域算出ステップと、
前記禁止領域算出ステップにより算出されたビア配置禁止領域に配置されている層間接続部材を排除する層間接続部材排除ステップと
をさらにコンピュータに実行させるための請求項1に記載のプリント基板設計支援プログラム。
【請求項9】
グラウンド導電領域特定手段が、記憶装置に記憶されているプリント基板のレイアウト情報に基づいて、複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定ステップと、
抽出手段が、前記グラウンド導電領域特定ステップにより特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出ステップと、
第1の配置手段が、前記抽出ステップにより抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置ステップと
を有するプリント基板設計支援方法であって、
前記第1の配置ステップは、
ブロック分割手段が、前記抽出ステップにより抽出された重複導電領域をブロック分割するブロック分割ステップと、
第2の配置手段が、前記ブロック分割ステップにより分割されたブロック内に前記層間接続部材を配置する第2の配置ステップと、を有することを特徴とするプリント基板設計支援方法。
【請求項10】
複数の導電層を有するプリント基板のグラウンドとして利用できる導電領域を特定するグラウンド導電領域特定手段と、
前記グラウンド導電領域特定手段により特定された導電領域が2次元的に重複している重複導電領域を抽出する抽出手段と、
前記抽出手段により抽出された重複導電領域内に前記複数の導電層のうちの少なくとも2層を電気的に接続する層間接続部材を所定の距離以内の間隔で配置する第1の配置手段と
を有するプリント基板設計支援装置であって、
前記第1の配置手段は、
前記抽出手段により抽出された重複導電領域をブロック分割するブロック分割手段と、
前記ブロック分割手段により分割されたブロック内に前記層間接続部材を配置する第2の配置手段と、を有することを特徴とするプリント基板設計支援装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図42】
【図43】
【図44】
【図45】
【図46】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図55】
【図56】
【図57】
【図58】
【図59】
【公開番号】特開2013−101635(P2013−101635A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2012−273404(P2012−273404)
【出願日】平成24年12月14日(2012.12.14)
【分割の表示】特願2008−182043(P2008−182043)の分割
【原出願日】平成20年7月11日(2008.7.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願日】平成24年12月14日(2012.12.14)
【分割の表示】特願2008−182043(P2008−182043)の分割
【原出願日】平成20年7月11日(2008.7.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]