説明

プリント板配線処理装置、プリント板配線処理プログラム、プリント板配線処理方法

【課題】プリント板上の配線処理をする際、互いに交差しない並列実行可能な配線ブロックに対する自動配線処理を並列に実行することができ、TATの削減に寄与できるプリント板配線処理装置を提供する。
【解決手段】 プリント板配線処理装置であって、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得部101と、第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得部102と、第1配線ブロックと第2配線ブロックに対する自動配線処理を並列に実行する並列処理部と、を備えた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリント板の自動配線を並列実行するプリント板配線処理装置、プリント板配線処理プログラム、プリント板配線処理方法に関する。
【背景技術】
【0002】
近年、回路機器で取り扱う情報量は増加の一途をたどり、それに同期してプリント回路板も大規模化している。プリント回路板が大規模化することで部品ピン間の配線量も増大し、設計作業量も膨大となっている。
【0003】
プリント板の配線を自動配線する手法は多く提案されているが、それを並列実行するのは分割されたタスク間の干渉を考慮すると困難であったため、これまではシーケンスな直列処理に依存していた。
【0004】
なお、本発明の関連ある従来技術として、処理の収束性を低下させることなくしかも配線長の不本意な増大を招くことなく、複数のプロセッサによる並列配線設計処理を高速かつ効率良く行いうる自動並列配線設計システムが開示されている。また、複数のコンピュータを使用して配線処理をおこなうためにそのパターンの配線処理を並列にかつ高速に行うことができる並列配線方式、および配線処理を高速にし、かつ配線の性能を向上する自動配線処理方法が開示されている。さらに、設計作業の進捗や、設計ツールによる処理の進捗に応じ、設計ツールを起動、終了し、設計者の該設計支援処理完了待ちや、設計ツールを起動するための手間を削減し、同時に設計ツールのリソース利用条件を改善してその動作速度の向上などを図ることができるCAD装置が開示されている。
【特許文献1】特開平06−266804号公報
【特許文献2】特開昭62−115574号公報
【特許文献3】特開平05−067178号公報
【特許文献4】特開2000−259685号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
プリント板の自動配線処理をシーケンスな直列処理で行うことは、各自動配線処理の処理時間の合算値がTAT(Turn Around Time)となるため、可能な限り並列実行する方が望ましい。
【0006】
本発明は上述した問題点を解決するためになされたものであり、プリント板の配線を局所的な問題(タスク)に落とし込み、タスク間で干渉しない手法を採用することで並列に自動配線処理を実現するプリント板配線処理装置、プリント板配線処理プログラム、プリント板配線処理方法を提供することを目的とする。
【0007】
これにより、並列可能な作業単位に該当する数のコンピュータを用意することで、一つの作業の最大値が全体の処理時間となり、プリント板設計の配線に関するTATを大幅に短縮し、設計期間の効率化が期待される。
【課題を解決するための手段】
【0008】
プリント板配線処理装置は、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得部と、前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得部と、前記第1の配線ブロックと前記第2の配線ブロックに対する自動配線処理を並列に実行する並列処理部と、を備える。
【0009】
プリント板配線処理プログラムは、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、前記第1の配線ブロックと前記第2の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、をコンピュータに実行させることを特徴とする。
【0010】
プリント板配線処理方法は、プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、前記第1の配線ブロックと前記第2の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、を実行することを特徴とする。
【発明の効果】
【0011】
プリント板上の配線処理をする際、互いに交差しない並列実行可能な配線ブロックに対する自動配線処理を並列に実行することができ、TATの削減に寄与できる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施の形態を、図を参照しつつ説明する。本実施の形態では、並列処理について基本的な並列処理手法と、それをベースにすべてのタスクを自動的に最適に並列化して実行する自動手法の2つを主内容とする。
【0013】
(実施の形態1)
まず、シーケンス処理と、実施の形態1における並列処理との対比を示した概要図を図1に示す。図1の概要図は、横軸を処理時間をとして示している。シーケンス処理では、各JOBの処理時間の合算値がTATとなる(図1(a)参照)。一方、実施の形態1においては、並列実行可能なJOBをグループ化する。グループ内のJOBは並列処理として実行され、各グループ間ではシーケンス処理として実行される(図1(b)参照)。このような並列処理がなされることで、各グループ内で最も処理時間のかかるJOBの実行時間の総和がTATとなる。
【0014】
実施の形態1におけるJOBは、配線処理の対象である基板内を論理的に区分けした配線ブロックそれぞれに対する処理のことを指す。
【0015】
配線ブロックとは、座標情報として示されるプリント板上の領域であってプリント板上に配線される端子間の配線情報を少なくとも一つ包含した領域として定義されたものであり、配線対象ネット、配線層、配線エリアから定義されるものである。配線対象ネットは配線ブロックの領域内で配線しなければならない。実施の形態1では、配線ブロックの単位を自動配線実行のJOBの単位とし、並列実行を可能にする。また、実施の形態1では、自動配線を並列実行するため、配線ブロック間の干渉を抑えることで、各配線ブロックの配線処理を独立したJOBとして実行することが可能となり、つまり並列実行が実現可能となる。
【0016】
図2、図3、図4は、配線対象のプリント板における配線ブロックの概念図を示すものである。図2の例においては、配線対象基板のL1層ではブロック11からブロック16までが定義され、Ln層ではブロック62からブロック66までが定義されている。このように、自動配線対象の基板の各層ごとに配線ブロックが定義される。
【0017】
配線ブロックの属性情報について図3の配線ブロック概念図、および図4の配線ブロックのデータ構造例を参照しつつ説明する。
【0018】
配線ブロックは、配線ブロック名、層番号、ブロック形状、包含ネットの4つの属性情報によって構成される。この配線ブロックの属性情報について説明すると、配線ブロック名は、配線ブロックを一意に決定する識別名であり、層番号は、配線ブロックがいずれの層にあるのかを示すものである。
【0019】
また、ブロック形状は、配線ブロックの領域を基板上の座標値で示すものであり、各座標値で囲まれた閉区間が配線ブロックの領域である。包含ネットは、いずれのネットが配線ブロックに包含されているかを示すものであり、端子間の配線情報であるネットを一意に識別できる識別情報が配線ブロックのデータ構造の中に保持されている。
【0020】
この配線ブロックの配線ブロック名、層番号、ブロック形状の各属性情報は、プリント基板データベース内の配線戦略情報テーブル内に保持されており、配線トポロジ名(包含ネット)を介してネット情報の情報が参照される。
【0021】
次に、自動配線の並列処理を実現する自動配線処理システムの概要を図5に示す。
【0022】
自動配線処理システム900は、実行指示環境1、および並列実行環境2を備える。実行指示環境1は、並列実行環境2に対し自動配線の並列実行指示、依頼JOBの取り消し、強制終了指示を行う。また実行指示環境1は、自動配線処理の結果(ルータ結果)や処理状況のステータス、メッセージを並列実行環境2から取得する。
【0023】
実行指示環境1は、作成すべきLSIに関する情報を保持したプリント基板データベース50を保持している。プリント基板データベース50には、図4で示したように、部品情報、基板情報、層情報、ネット情報、配線制約情報、配線戦略情報の各種情報が保持されている。
【0024】
並列実行環境2は、実行指示環境1からの自動配線の並列実行指示を取得し、複数の自動配線処理マシンから成る自動配線エンジン22によって自動配線の並列処理を行う。また、並列実行環境2は、処理中のメッセージやステータス、および自動配線処理結果を実行指示環境1に送信する。さらに、並列実行環境2は、実行指示環境1からJOBの取り消し、強制終了の指示を取得した場合、当該JOBを取り消し、または強制終了する。
【0025】
次に、実行指示環境1と並列実行環境2との間で送受信を行うインタフェースファイルに着目した自動配線処理システム900の概要を図6に示す。自動配線処理システム900は、実行指示環境1と並列実行環境2とでネットワークを介してファイルで連携し、並列実行環境を活用した自動配線の並列稼動を実現する。尚、ファイルに関する詳細は後述する。
【0026】
実行指示環境1によってJOB実行手順ファイルが並列実行環境2に送信されることで、並列実行環境2は、当該JOB実行手順ファイルの実行をJOBエントリ制御部21のジョブキューに登録する。また、実行指示環境1は、JOB実行手順ファイルとともに配線処理に使用される自動配線手順ファイル、および部分基板DBを並列実行環境2に送信し、並列実行環境2は、送信されたこれらファイルを自己の共有フォルダに保存する。
【0027】
並列実行環境2は、登録されたジョブキューを順次自動配線エンジン22に対し実行指示を行う。自動配線エンジン22は、現在の処理の進捗状況をステータスファイルに逐次出力する。また、自動配線エンジン22は、処理が完了次第、ルータ結果ファイル、およびメッセージファイルを共有フォルダに出力する。実行指示環境1は、必要に応じ、ルータ結果ファイル、ステータスファイル、およびメッセージファイルを並列実行環境2から取得する。
【0028】
尚、並列実行環境2では、ジョブキュー単位に独立したJOBとして処理するため、自動配線ジョブの依頼元、基板が異なって混載された状態であっても問題ない。
【0029】
ここで、自動配線の並列実行環境2で実行に必要なファイルについて説明する。尚、使用ファイルを一意に決定するため、本実施の形態では以下の命名規則に則りファイル名が決定される。
ファイル識別子.ユーザ名@IPアドレス−プロセスID−固有ID−リクエストID−モデル名−モデル版数
【0030】
部分基板DBは、自動配線プログラム用のプリント回路板データファイルであり、プリント基板データベース50内の情報から、当該配線処理を行う配線ブロックに関する情報のみを切り出したものである。上述命名規則におけるファイル識別子は「rPTDB」と定義される。
【0031】
JOB実行手順ファイルは、並列実行マシンで動作可能なバッチファイル、シェルファイルであり、上述命名規則におけるファイル識別子は「rExecute」と定義される。
【0032】
自動配線手順ファイルは、自動配線をどのように制御して実行するかが記述されたファイルであり、上述命名規則におけるファイル識別子は「rCf」と定義される。
【0033】
ルータ結果ファイルは、自動配線実行による配線結果が格納されたファイルであり、実行指示環境1で復元可能な(表示可能な)ログ形式に準ずるファイルである。ルータ結果ファイルの上述命名規則におけるファイル識別子は「rResult」と定義される。
【0034】
メッセージファイルは、自動配線処理を行った結果のレポートをファイルとして格納したものであり、上述命名規則におけるファイル識別子は「rMessage」と定義される。
【0035】
ステータスファイルは、並列実行環境2上で動作している自動配線の稼動状況を反映するファイルであり、上述命名規則におけるファイル識別子は「rStatus」と定義される。
【0036】
尚、部分基板DB、JOB実行手順ファイル、および自動配線手順ファイルは、JOBのリクエスト時に実行指示環境1から並列実行環境2に送信され、またルータ結果ファイル、メッセージファイル、ステータスファイルは並列実行環境2が処理を終えた場合、または実行指示環境1から終了確認依頼があった場合に実行指示環境1へ送信される。尚、ステータスファイルはさらに、実行指示環境1からJOB状況の確認依頼があった場合に並列実行環境2から実行指示環境1へ送信される。
【0037】
次に、自動配線処理システム900の機能ブロックおよび処理の動作を図7に示しつつ、自動配線処理システム900の動作について説明する。
【0038】
上述のとおり、自動配線処理システム900は実行指示環境1および並列実行環境2を備えるが、実行指示環境1は、処理依頼部11、結果取得部12、コントロール部13を備える。他方、並列実行環境2は、JOBエントリ制御部21、自動配線エンジン22を備える。
【0039】
自動配線処理システム900の動作について説明する。動作の前提として、ユーザまたは他のシステムによって処理対象であるプリント基板内の配線ブロックが予め定義されるものとする(ステップS1)。処理依頼部11は、自動配線の対象となる配線ブロックをプリント基板データベース50から選択し(以下、選択された配線ブロックを指定配線ブロックと称す)(S2)、指定配線ブロック間の干渉度をチェックし、干渉度が一定以上の場合は処理を中止する(S3)。次に、処理依頼部11は、並列実行環境2に対し、指定配線ブロックの配線処理の実行を依頼する(S4)。
【0040】
並列実行環境2のJOBエントリ制御部21は、実行依頼をジョブキューに登録し、順次自動配線エンジン22にジョブを実行させる。
【0041】
自動配線エンジン22は、ジョブ実行中はステータスファイルにジョブの進捗状況を出力し、ジョブが終了した場合はジョブの自動配線結果(ルータ結果)、ステータスファイル、メッセージを出力する。
【0042】
結果取得部12は、並列実行環境2から自動配線処理のステータスファイル、メッセージファイルを取得し、これら取得したファイルに基づきユーザにステータスおよびメッセージを表示する(S5)。
【0043】
また、結果取得部12は、依頼した自動配線処理が完了している場合、並列実行環境2から自動配線結果を取得し、プリント基板データベース50に登録する(S6)。尚、ユーザから自動配線結果のプレビュー指示がある場合は、プリント基板データベース50に登録する前にプレビューし、ユーザの登録指示を待つ。
【0044】
コントロール部13は、ユーザから処理の取り消し、または強制終了指示を受けた場合(S7)、並列実行環境2のJOBエントリ制御部21に対し当該指示を発行する(S8)。尚、指示を受けたJOBエントリ制御部21は、当該ジョブがキュー内に有る場合はキューの登録を抹消し、また既に自動配線エンジン22が当該ジョブの処理を実行している場合、強制終了指示を自動配線エンジン22に出力することで、強制終了がなされる。
【0045】
次に、上述のステップS3についての詳細内容を図8に示す。処理依頼部11は、指定配線ブロック間で、層番号が一致するものについて、形状が重なり合い、干渉しているかを全てのブロック間の組み合わせを対象にチェックし、干渉しているブロック間の組み合わせを抽出する(S11)。
【0046】
ここで、干渉している指定配線ブロックの組み合わせが存在する場合(S12、YES)、処理依頼部11は、当該配線ブロック間の干渉度が一定値以上であるかを判定する(S13)。尚、干渉度とは、配線ブロック間の形状全体の領域の面積と、重なり合う部分の領域の面積との比率である。
【0047】
当該配線ブロック間の干渉度が一定値以上である場合(S13、YES)、処理は中止され、一定値未満である場合(S13、NO)、処理依頼部11は、S12に処理を戻し、干渉している指定配線ブロックの組み合わせが無くなるまでS12、S13の処理を繰り返す。尚、S12で干渉している配線ブロックの組み合わせが存在しない場合(S12、NO)、処理は次のフェーズへ進む。
【0048】
次に、上述のステップS4の詳細内容を図9のフローチャートに基づき説明する。
【0049】
処理依頼部11は、プリント基板データベース50から処理対象となる情報を部分基板DBとして切り出し、部分基板DBを別名で保存し、並列実行環境2への依頼対象情報として自己の送付用フォルダに格納する(S21)。次に、処理依頼部11は、JOB実行手順ファイルを生成し、並列実行環境2への依頼情報として送付用フォルダに格納する(S22)。
【0050】
処理依頼部11は、自動配線手順ファイルを生成し、並列実行環境2への依頼情報として送付用フォルダに格納する(S23)。また、処理依頼部11は、並列実行環境2でのライセンス認証に必要なアカウント、パスワードを所定ルールで暗号化したファイルを、並列実行環境2へ依頼情報として送付用フォルダに格納する(S24)。
【0051】
処理依頼部11は、上述のステップS21からS24の処理で送付用フォルダにそれぞれ格納したファイル群をネットワークで接続されている並列実行環境2の所定のフォルダに一括で送付し、一つの配線ブロックの処理依頼とする(S25)。尚、処理依頼部11は、配線ブロック間の排他性を保つため、送付フォルダ名は配線ブロックごとにユニークな名称となるようランダムに生成する。
【0052】
次に、並列実行環境2内のJOBエントリ制御部21の動作を図10のフローチャートに基づき説明する。
【0053】
JOBエントリ制御部21は、送付されたライセンス認証用のアカウント、パスワード情報のファイルを開き、暗号化を復号し、並列実行環境2に予め備えられたアカウントリストと照らし合わせることで認証可能かを判定する(ステップS31)。
【0054】
認証が成功した場合(S31、認証成功)、JOBエントリ制御部21は、認証されたアカウントが優先順位の高いハイランクアカウントの場合、当該JOBの実行優先度を最上位のアカウントレベル(レベル1)に設定する(S32)。
【0055】
JOBエントリ制御部21は、自動配線エンジン22の処理マシンの台数と、JOBキューにあるJOBの数を比較判定する(S33)。ここで、処理マシンの台数がJOBキュー内のJOB数に対し著しく下回らない場合(S33、!(リソース<<JOBキュー数))、JOBエントリ制御部21は実行指示環境1からの依頼を受付け、順次配線ブロックに対する配線処理単位でJOBキューに登録する(S34)。
【0056】
JOBエントリ制御部21は、現在処理対象としているJOBのアカウントレベルを判定する(S35)。アカウントレベルがレベル1である場合(S35、YES)、JOBエントリ制御部21は、JOBキューの待ち行列の最上位に当該JOBを高め(S36)、JOBエントリ制御部21の処理は終了する。
【0057】
尚、S31で認証が失敗した場合(S31、認証失敗)、またS33で処理マシンの台数がJOBキュー内のJOB数に対し著しく下回っている場合(S33、リソース<<JOBキュー数)、共に処理は中止され、アカウントレベルがレベル1でない場合(S35、NO)、JOBエントリ制御部21の処理は終了する。
【0058】
尚、JOBエントリ制御部21は、自動配線エンジン22の各処理マシンのプロセス稼動状態を常に監視しており、リソースに空きのある処理マシンがある場合は随時ジョブキューに登録されているJOBを投入する。
【0059】
次に、図7におけるステップS6の詳細内容を図11のフローチャートに基づき説明する。
【0060】
結果取得部12は、依頼した配線ブロックのステータスを並列実行環境2から取得し、配線完了している場合はその配線ブロックの配線結果ログ(ステータスファイル、メッセージファイル、ルータ結果ファイル)を取得する(S41)。
【0061】
ここで、ステータスの確認画面を図12に示す。結果取得部12は、依頼した配線ブロック(図12においては配線ルート名)に関するリクエスト情報、ジョブの「完了」、「実行中」、ジョブキューに待機状態の「実行待ちキュー」等のステータス、および処理マシン(図12においては実行マシン)、および付加情報(図12においてはその他情報)をユーザに対し表示するとともに、実行済みのジョブ数である実行ジョブ数も表示する。尚、ジョブのステータスが「完了」である場合、結果取得部12はユーザがルータ結果を取得したか否かの情報を表示する。またジョブのステータスが「実行中」である場合、結果取得部12は処理経過時間を表示する。さらに、ステータスが「実行待ちキュー」である場合、結果取得部12は待ちキューの待機順番を表示する。
【0062】
さらに、結果取得部12は、画面上の「最新の情報に更新」ボタンが押下されることでステータスファイルを並列実行環境2から取得し、表示情報を更新する。また、結果取得部12は、ステータスが「完了」でルータ結果が「未取得」であるジョブがユーザによって選択された後(選択されたリストは反転表示される)、「選択行の配線結果を取得」ボタンが押下された場合、配線結果が取得される。尚、配線結果の取得時の動作は後述する。
【0063】
図11のフローチャートに説明を戻す。ここで、ユーザから配線結果のプレビュー指示がある場合(S42、YES)、結果取得部12は、配線結果ログをもとに画面上に重ね合わせるように配線結果をプレビューする(S43)。次に、ユーザによって配線結果のプレビューが確認された後、結果取得部12は所定のダイアログを表示することで、配線結果をプリント基板データベース50に取り込むか否かをユーザに促す(S44)。ここで、ユーザがプリント基板データベース50に取り込むと判断し、ダイアログ上の所定ボタンが押下された場合(S44、取込みする)、結果取得部12は、自動配線結果のログをプリント基板データベース50に仮登録する(S45)。
【0064】
ここで、S42からS44までの処理における画面イメージを図13に示す。結果取得部12は、上述図12で示した画面イメージ上の「選択行の配線結果を取得」ボタンが押下された場合、図13(a)にて示すダイアログを表示する。結果取得部12は、本ダイアログ上で「プレビューを見てから取り込み有無を判断する」ボタンが押下された場合、図13(b)で示すプレビューを表示する。その後、結果取得部12は、取得した配線結果をプリント基板データベース50に取り込むか否かをユーザに問うダイアログを表示する(図13(c)参照)。
【0065】
ユーザによって「プリント基板DBに取得する」ボタンが押下された場合、配線結果がプリント基板データベース50に反映される。他方、「この自動配線結果は破棄する」ボタンが押下された場合、配線結果はそのまま破棄される。
【0066】
図11のフローチャートに説明を戻す。結果取得部12は、当該配線ブロックの配線結果が他の配線ブロック(既に配線結果がプリント基板データベース50に反映された配線ブロック)の配線結果と衝突しているか否かを判定する(S46)。ここで、衝突している場合(S46、衝突している)、ユーザにその旨通知し、ユーザは衝突している配線ブロック間の重複部を解消した後、新たな配線ブロックで再度並列実行環境2に処理依頼を行う(S2からの処理が再度実行される)(S47)。他方、S46で結果取得部12が衝突していないと判定した場合(S46、衝突していない)、結果取得部12は、仮登録した配線結果をプリント基板データベース50に本登録する(S48)。
【0067】
尚、S42で配線結果のプレビュー指示がない場合(S42、NO)、処理はS45へ進み、S44でユーザがプリント基板データベース50に取り込まないと判断し、所定ボタンが押下された場合(S44、取込みしない)、処理は中止する。
【0068】
(実施の形態2)
配線ブロック間で交差している領域(干渉度、重複部)がある場合、交差領域は複数回配線処理が実行され、配線処理後のLSIはショート箇所を伴うものとなってしまう。実施の形態1の実行指示環境1においては、配線ブロック間が交差している領域(干渉度)が一定以上である場合は処理を中止し(図7のS3参照)、また重複部がある場合、ユーザまたは他のシステムによって重複部が解消された後に再度処理を行った(図11のS46、S47参照)。実施の形態2では、交差している領域(重複部)があっても停止させることなく処理可能な実行指示環境を提供する。
【0069】
実施の形態2における実行指示環境の構成を図14に示す。実行指示環境100(プリント板配線処理装置)は、第1取得部101、第2取得部102、グループ化部103、グループ生成部104、配線実行依頼部105、テーブル作成部106、ソート部107を備える。
【0070】
ここで、実行指示環境100内の各ユニットについて説明する。第1取得部101は、プリント基板データベース50内で保持されておりかつグループ化部103によってグループ化されていない複数の配線ブロックのうちから、領域が他の配線ブロックの領域と交差している数が最多の配線ブロック(第1配線ブロック)をプリント基板データベース50から取得する。
【0071】
第2取得部102は、グループ化されていない配線ブロックであって、第1取得部101によって取得された第1配線ブロックと領域が交差していない配線ブロック(第2配線ブロック)を一つまたは複数プリント基板データベース50から取得する。
【0072】
グループ化部103は、第1取得部101、第2取得部102によって取得された配線ブロックを一つの並列実行グループとしてグループ化する。
【0073】
グループ生成部104は、第1取得部101、第2取得部102、およびグループ化部103が繰り返し稼動するよう制御することで、複数の並列実行グループを生成する。
【0074】
配線実行依頼部105は、グループ生成部104によって生成された並列実行グループ内の配線ブロックに対する配線処理が、並列実行環境2によって並列実行されるよう、並列実行グループ単位で順次並列実行環境2(配線実行処理部)に依頼する。また配線実行依頼部105は、依頼した配線処理が終了した場合、次の並列実行グループ内の配線ブロックの配線処理が並列実行されるよう並列実行環境2に依頼するとともに、次の並列実行グループ内の配線ブロックに、既に配線処理が終了している領域がある場合(次に配線処理される配線ブロックに交差している領域があり、かかる交差領域が既に処理済みである場合)、その領域は配線処理しないよう並列実行環境2に依頼する。
【0075】
テーブル作成部106は、配線ブロックと、その配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成し、これらをまとめることで交差ブロックテーブルを作成する。ソート部107は、交差ブロックテーブル内のリストを、交差数の多い順にソートする。グループ生成部104は、第1取得部101、第2取得部102、およびグループ化部103がソート部107によってソートされた順の配線ブロックに対し処理するよう、ソート順で繰り返し稼動するよう制御する。
【0076】
尚、実施の形態2の配線ブロックも実施の形態1と同様の定義である。すなわち、配線ブロックは、座標情報として示されるプリント基板上の領域であって、プリント基板上に配線される端子間の配線情報を少なくとも一つ包含した領域として定義される。
【0077】
配線ブロックの交差が発生する事例を図15に示す。図15で示したように、例えばBGA(Ball Grid Array)のように多ピン素子を配線ブロックn、配線ブロックmそれぞれが使用するものとして配線ブロックが定義されている場合、配線ブロックの分断が困難となる。このように、配線ブロック間が交差する事例は定常的に発生する。
【0078】
ここで、実施の形態2における並列実行グループの概念および並列実行環境2に対する処理依頼の方法について、図16に基づき説明する。図16において、1−A、2−A、・・・、n−A、1−B、2−B、・・・、n−B等で表記されているものが配線ブロックであり、これらが第1取得部101、第2取得部102、グループ化部103、グループ生成部104によってAグループ、Bグループ、・・xグループまで並列実行グループとしてグループ化される(グループ化の方法については後述)。このように配線ブロックの交差や配線層をキーに、グループごとのマトリックスが作成される。配線実行依頼部105は、マトリックスに基づき、並列実行環境2に対し、並列実行グループ内の配線ブロックが並列実行で配線処理がなされるよう依頼するとともに、Aグループ、Bグループの順に、並列実行グループに関してはシーケンスに実行依頼を行う。尚、配線層間でビアが使用されている配線ブロックは、当該グループをさらにサブグループに分割して処理される。
【0079】
次に、並列実行グループ内の配線ブロックに対する配線処理が終了した場合の動作について図17を参照しつつ説明する。
【0080】
例えば並列実行グループA内の配線ブロックに対する配線処理が終了した場合、その配線処理結果がプリント基板データベース50に反映される。配線実行依頼部105は、並列実行グループAの配線ブロックの配線処理結果が反映されたプリント基板データベース50から次に処理依頼する並列実行グループBの配線ブロックに関するデータを取得し、処理依頼を行う。このように、配線実行依頼部105は、並列実行グループB内の配線ブロックと並列実行グループA内の配線ブロックとで交差している領域がある場合、並列実行グループAの配線結果がプリント基板データベース50に反映された後、かかる交差領域は障害物とみなすフラグを設ける等を行うことで今後配線処理しないようにし、次の並列実行グループBに対する処理依頼を行う。並列実行グループが3つ以上ある場合でも同様である。
【0081】
次に、並列実行グループの生成方法について図18から図20を参照しつつ説明する。
【0082】
まず、プリント基板上に、配線ブロックA〜Gが図18に示すように定義されているとする。尚、図18では、印xの箇所が交差箇所に該当する。
【0083】
図18で示した配線ブロックの定義における配線ブロック間の交差関係を示すグラフを図19(a)に示す。図18の配線ブロック間の交差関係は、図19(a)では実線として示されている。すなわち、配線ブロックAは配線ブロックBと交差し、配線ブロックBは配線ブロックA、Dと交差し、配線ブロックCは配線ブロックDと交差している。さらに配線ブロックDは配線ブロックB、C、Eと交差し、配線ブロックEは配線ブロックDと交差している。また、配線ブロックG、Fはいずれの配線ブロックとも交差していない。
【0084】
このように定義された配線ブロックに対し、テーブル作成部106は図19(b)に示す交差ブロックテーブルを作成する。交差ブロックテーブルは、配線ブロックごとに、当該配線ブロックと交差している配線ブロック(以下、交差ブロックと表記)と、その交差している数(以下、交差数と表記)との対応関係のリストが配線ブロックごとに保持されたテーブルである。尚、図19(b)では配線ブロックのアルファベット順であるが、以降の処理を容易にするため、ソート部107によって交差数が昇順にソートされたテーブルが保持されてもよい。
【0085】
次に、図19(a)、図19(b)で示した例に則した具体的な並列実行グループの生成方法について、図19(c)に示す。
【0086】
まず、第1取得部101は、交差ブロックテーブルの交差数のソート順で、並列実行グループ化されていない配線ブロックであって、交差数が最多の配線ブロックをプリント基板データベース50から取得する。すなわち、処理の初回はいずれの配線ブロックも並列実行グループ化されていないため、交差数3である配線ブロックDが取得される。
【0087】
次に、第2取得部102は、配線ブロックDと領域が交差していない配線ブロックを交差ブロックテーブルから一つまたは複数検索し、取得する。すなわち、配線ブロックDと交差していない配線ブロックAが取得される。尚、ここで配線ブロックG、Fが取得されてもよいが、配線ブロックG、Fに関しては後ほど言及する。
【0088】
次に、グループ化部103は、取得された配線ブロックを一つの並列実行グループにグループ化する(本例ではAグループ)(ステップS101)。
【0089】
グループ生成部104は、以降、交差ブロックテーブルで交差数の大きい順にS101と同様処理を第1取得部101、第2取得部102、グループ化部103に行わせ、並列実行グループを生成する(S102)。
【0090】
すなわち、現在グループ化されていない配線ブロックのうちで、交差数が最多のものは交差数2の配線ブロックBとなるため配線ブロックBが取得され、配線ブロックBと交差していない配線ブロックであり、かつグループ化されていない配線ブロックであるC、Eが取得される。これら配線ブロックB、C、Eがグループ化部103によって並列実行グループBとしてグループ化される。
【0091】
最後に、交差数が0である配線ブロックF、Gが、生成された並列実行グループA,Bのいずれかに追加されることで(S103)、グループ化の処理は終了する。
【0092】
次に、交差ブロックテーブルの作成処理を図20のフローチャートを参照しつつ説明する。
【0093】
テーブル作成部106は、配線ブロックをプリント基板データベース50から一つ選定する(ステップS111)。テーブル作成部106は、選定した配線ブロックと交差する全ての配線ブロックをプリント基板データベース50から検索し、選定された配線ブロック、交差する配線ブロック、および交差数の対応を一つのリストとして作成する(S112)。テーブル作成部106は、S111、S112の処理を繰り返し実行することで、交差ブロックテーブルを作成する。
【0094】
最後に、ソート部107は、交差数の多い順にリストをソートする(S113)。
【0095】
次に、配線実行依頼部105による依頼処理について、図21のフローチャートを参照しつつ説明する。
【0096】
上述の各処理にて、配線ブロックの並列実行グループが構築された後(ステップS131)、配線実行依頼部105は、並列実行環境2に対し一つの並列実行グループの処理を依頼する(S132)。配線実行依頼部105は、所定時間待機後(S133)、依頼した並列実行グループの依頼結果を確認する(S134)。ここで、依頼結果が未完了である場合(S134、未完了)、処理はステップS133に戻り再度待機処理がなされる。依頼結果が完了または第1回目の処理である場合(S134、完了)、配線実行依頼部105は並列実行環境2から配線結果を取得し(S135)、プリント基板データベース50に依頼結果を反映する(S136)。依頼結果の反映後、配線実行依頼部105は、次の並列実行グループの処理依頼を行う(S136からS132へのループ)。
【0097】
配線実行依頼部105は、上述S132からS136までの処理を全ての並列実行グループに対して行う。
【0098】
尚、配線実行依頼部105の処理中に「中断」指示があった場合には処理を中断するため、図21で示したフローチャート中に中断判定のステップを入れてもよい。また、配線実行依頼部105は、並列実行グループの実行状況をプログレスバーとしてユーザに表示してもよい。
【0099】
実施の形態2によって、並列に配線処理が可能な単位である並列実行グループを作成することができる。
【0100】
(実施の形態3)
図22に、実施の形態2の実行指示環境100では対応できない配線ブロックの交差関係を示したグラフ(図22(a))および交差ブロックテーブル(図22(b))を示す。本例の配線ブロックの交差関係は、実施の形態2でも示した配線ブロックAにさらに配線ブロックIが交差し、配線ブロックIにはさらに配線ブロックHが交差しているものとする(比較対照として図19も参照)。
【0101】
かかる交差関係において、実施の形態2で示した実行指示環境100の場合、まず第1取得部101は交差数が最多である配線ブロックDを取得し、第2取得部102は配線ブロックDと交差していない配線ブロックA、H、Iを取得する。その後、グループ化部103がこれら配線ブロックD、A、H、Iを一つの並列実行グループにグループ化する。しかし、配線ブロックA、H、Iは互いに交差しているブロックであるため、同一の並列実行グループであるとこれら配線ブロックに対し同時に並列に配線処理がなされてしまい、その配線結果は交差領域の配線箇所でショートするものとなってしまう。
【0102】
実施の形態3では、上述の問題も対処可能な実行指示環境を提示する。
【0103】
まず、実施の形態3における実行指示環境の構成を図23に示す。実行指示環境200は、実施の形態2のグループ化部103に替え、さらに同列テーブル作成部110、同列グループ化部111、同列グループ生成部112を備えるグループ化部103Aを採用する。尚、グループ化部103A内の同列テーブル作成部110、同列グループ化部111、同列グループ生成部112以外は実施の形態2と同様であるためここでの説明を割愛する。
【0104】
同列テーブル作成部110は、第2取得部102によって取得された配線ブロックが複数である場合、これら配線ブロックを配線ブロック群とし、配線ブロック群内における、配線ブロックと、配線ブロックと領域が交差する少なくとも一つの配線ブロックと、配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブル(以下、同列内交差ブロックテーブルと称す)を作成する。すなわち、テーブル作成部106によって作成される交差ブロックテーブルは配線ブロック全体に対するものであるが、同列テーブル作成部110が作成する同列内交差ブロックテーブルは、第2取得部102で取得された配置ブロックのみを対象範囲としたテーブルである。
【0105】
同列グループ化部111は、同列テーブル作成部110によって作成された同列内交差ブロックテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する。
【0106】
同列グループ生成部112は、作成された同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、同列グループ化部111によってグループ化されていない複数の配線ブロックを配線ブロック群として、同列テーブル作成部110、同列グループ化部111が再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する。
【0107】
グループ化部103Aは、同列グループ生成部112によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックと、第1取得部101によって取得された配線ブロックとを一つの並列実行グループとしてグループ化する。
【0108】
次に、尚、図22にて示した交差関係に対する実行指示環境200の並列実行グループの生成方法について、図24を参照しつつ説明する。
【0109】
まず、図24(a)で初回時の説明をする。第1取得部101によって、交差数が最多である配線ブロックD(交差数3)が取得され、その後第2取得部102によって配線ブロックA、H、Iが取得される。
【0110】
その後、同列テーブル作成部110は、配線ブロックA、I、Hを対象とした同列内交差ブロックテーブルを作成する(図24(a‐1)参照)。ここで、同列グループ化部111は、交差数が単数(1)である配線ブロックを同列グループとしてグループ化する。すなわち、ここでは交差数が1である配線ブロックA、Hが同列グループとしてグループ化される。
【0111】
次に、同列グループ生成部112の制御に基づき、同列テーブル作成部110は交差数が2の配線ブロックIに関する同列内交差ブロックテーブルを作成する(図24(a‐2)参照)。同列グループ化部111は、交差数が単数(1)となるため配線ブロックIを同列グループとしてグループ化する。このように、同列グループ生成部112は、同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、同列テーブル作成部110、同列グループ生成部112を制御する。
【0112】
グループ化部103Aは、このように生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロック(すなわち、2つ配線ブロックが登録されている同列グループの配線ブロックA、H)と、第1取得部101にて取得された配線ブロックDとを並列実行グループAとしてグループ化する。
【0113】
次の段階である並列実行グループBの生成方法を図24(b)にて示す。第1取得部101によって、並列実行グループ化されていない配線ブロックのうちで、最多の交差数を有する配線ブロックB(交差数2)が取得され、第2取得部102によって、配線ブロックBと交差しない配線ブロックC、E、Iが取得される。
【0114】
同列テーブル作成部110は、上述同様配線ブロックC、E、Iを範囲として同列内交差ブロックテーブルを作成する。配線ブロックC、E、Iは互いに交差せず、全て独立した配線ブロックであるため、同列グループ化部111は、配線ブロックC、E、Iを一つの同列グループとしてまとめる。よって、配線ブロックB、C、E、Iが並列実行グループBとなる。
【0115】
最後に、交差数が0である配線ブロックF、Gが生成された並列実行グループのいずれかに追加されることで(S103)、グループ化の処理は終了する。
【0116】
実施の形態3における並列実行グループの生成方法を図25のフローチャートに示す。
【0117】
第1取得部101は、交差数が最多の配線ブロックを取得し、その後、第2取得部102が当該配線ブロックと交差していない非交差ブロックを取得する(ステップS121)。同列テーブル作成部110は、取得された非交差ブロック群を対象とした同列内交差ブロックテーブルを作成する(S122)。
【0118】
同列グループ化部111は、作成された同列内交差ブロックテーブルで、交差数が単数(1)になっている配線ブロックを同列グループとしてグループ化する(S123)。ここで、同列グループ生成部112は、作成された同列内交差ブロックテーブルで交差数が全て単数(1)になっているかを判定する(S124)。
【0119】
交差数が全て単数(1)になっていない場合(S124、NO)、同列グループ生成部112は、処理をステップS122に戻す。同列テーブル作成部110は、同列グループ化部111によって同列グループ化されていない複数の配線ブロックを非交差ブロック群として同列内交差ブロックテーブルを作成する(S122)。同列グループ化部111は、作成された同列内交差ブロックテーブルで、交差数が単数(1)になっている配線ブロックを同列グループとしてグループ化する(S123)。このように、同列グループ生成部112は、同列内交差ブロックテーブル内のリストの交差数が全て単数になるまで、ステップS122、S123の処理を再帰的に実行させることで、同列グループを生成する。
【0120】
他方、交差数が全て単数(1)である場合(S124、YES)、グループ化部103Aは、同列グループ生成部112によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックと、第1取得部101によって取得された配線ブロックとを一つの並列実行グループとしてグループ化する。
【0121】
グループ生成部104の制御により、ステップS121からS125までの処理が交差ブロックテーブル内の配線ブロック全てに実施されるまで繰り返される。
【0122】
なお、本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図26は、本発明が適用されるコンピュータシステムの一例を示す図である。図26に示すコンピュータシステム920は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム920に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
【0123】
上述したような、プリント板配線処理装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、プリント板配線処理プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、プリント板配線処理装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム920に少なくともプリント板配線処理機能を持たせるプリント板配線処理プログラム(プリント板配線処理ソフトウェア)は、コンピュータシステム920に入力されてコンパイルされる。このプログラムは、コンピュータシステム920をプリント板配線処理機能を有するプリント板配線処理システムとして動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム920により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク110やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置105のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【0124】
図27は、コンピュータシステム920における本体部901のハードウェア構成の一例を示す図である。本体部901は、CPU(Central Processing Unit)951、メモリ952、ディスク910等の可搬型記録媒体からデータを読み書きするディスクドライブ953、および不揮発性な記憶手段であるHDD(Hard disk drive)954を備える。上述の各ユニットは、例えばHDD954やディスク910等の不揮発性な記憶手段内に予め保持されたプログラムが、CPU951、メモリ952等のハードウェア資源と協働することで実現される。
【0125】
尚、実施の形態における実行指示環境1、100、200および並列実行環境2内の各機能を一つのコンピュータに備えさせ、プリント板配線処理装置として提供することも可能である。
【0126】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得部と、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得部と、
前記第1配線ブロックと前記第2配線ブロックに対する自動配線処理を並列に実行する並列処理部と、
を備えるプリント板配線処理装置。
(付記2) 付記1に記載のプリント板配線処理装置において、さらに、
前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化するグループ化部を備え、
前記第1取得部、前記第2取得部、および前記グループ化部が繰り返し稼動するよう制御することで、複数のグループを生成するグループ生成部を備えることを特徴とするプリント板配線処理装置。
(付記3) 付記2に記載のプリント板配線処理装置において、さらに、
前記グループ生成部によって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理部に依頼する配線実行依頼部を備えることを特徴とするプリント板配線処理装置。
(付記4) 付記3に記載のプリント板配線処理装置において、
前記配線実行依頼部は、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理部に依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理装置。
(付記5) 付記2に記載のプリント板配線処理装置において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
前記テーブル内のリストを、交差数の多い順にソートするソート部と、
を備え、
前記グループ生成部は、前記第1取得部、前記第2取得部、および前記グループ化部が前記ソート部によってソートされた順の配線ブロックに対し繰り返し稼動するよう制御することを特徴とするプリント板配線処理装置。
(付記6) 付記2に記載のプリント板配線処理装置において、
前記グループ化部は、さらに、
前記第2取得部によって取得された第2配線ブロックが複数である場合、
該複数の第2配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化部と、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化部によってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成部と前記同列グループ化部とが再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する同列グループ生成部と、を備え、
前記同列グループ生成部によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第2配線ブロックとし、前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理装置。
(付記7) プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、
前記第1の配線ブロックと前記第2の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
をコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
(付記8) 付記7に記載のプリント板配線処理プログラムにおいて、さらに、
前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化するグループ化ステップをコンピュータに実行させ、
前記第1取得ステップ、前記第2取得ステップ、および前記グループ化ステップを繰り返しコンピュータに実行させることで、複数のグループを生成するグループ生成ステップをコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
(付記9) 付記8に記載のプリント板配線処理プログラムにおいて、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップをコンピュータに実行させるプリント板配線処理プログラム。
(付記10) 付記9に記載のプリント板配線処理プログラムにおいて、
前記配線実行依頼ステップは、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理ステップに依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理プログラム。
(付記11) 付記8に記載のプリント板配線処理プログラムにおいて、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
前記テーブル内のリストを、交差数の多い順にソートするソートステップと、
を備え、
前記グループ生成ステップは、前記第1取得ステップ、前記第2取得ステップ、および前記グループ化ステップが前記ソートステップによってソートされた順の配線ブロックに対し繰り返しコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
(付記12) 付記8に記載のプリント板配線処理プログラムにおいて、
前記グループ化ステップは、さらに、
前記第2取得ステップによって取得された第2配線ブロックが複数である場合、
該複数の第2配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化ステップと、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化ステップによってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成ステップと前記同列グループ化とを繰り返しコンピュータに実行させることで、少なくとも一つの同列グループを生成する同列グループ生成ステップと、をコンピュータに実行させ、
前記同列グループ生成ステップによって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第2配線ブロックとし、前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理プログラム。
(付記13) プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、
前記第1の配線ブロックと前記第2の配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
を実行することを特徴とするプリント板配線処理方法。
(付記14) 付記13に記載のプリント板配線処理方法において、さらに、
前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化するグループ化ステップを実行し、
前記第1取得ステップ、前記第2取得ステップ、および前記グループ化ステップを繰り返し実行することで、複数のグループを生成するグループ生成ステップを実行することを特徴とするプリント板配線処理方法。
(付記15) 付記14に記載のプリント板配線処理方法において、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップを実行するプリント板配線処理方法。
(付記16) 付記15に記載のプリント板配線処理方法において、
前記配線実行依頼ステップは、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理ステップに依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理方法。
(付記17) 付記14に記載のプリント板配線処理方法において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
前記テーブル内のリストを、交差数の多い順にソートするソートステップと、
を備え、
前記グループ生成ステップは、前記第1取得ステップ、前記第2取得ステップ、および前記グループ化ステップが前記ソートステップによってソートされた順の配線ブロックに対し繰り返し実行することを特徴とするプリント板配線処理方法。
(付記18) 付記14に記載のプリント板配線処理プログラムにおいて、
前記グループ化ステップは、さらに、
前記第2取得ステップによって取得された第2配線ブロックが複数である場合、
該複数の第2配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成ステップと、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化ステップと、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化ステップによってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成ステップと前記同列グループ化とを繰り返し実行することで、少なくとも一つの同列グループを生成する同列グループ生成ステップと、を実行し、
前記同列グループ生成ステップによって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第2配線ブロックとし、前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理方法。
【図面の簡単な説明】
【0127】
【図1】従来のシーケンス処理と、実施の形態1における並列処理との対比を示した概要図である。
【図2】実施の形態1における配線対象のプリント板における配線ブロックの概念の一例を示す図である。
【図3】実施の形態1における配線ブロックの属性情報の一例について示す図である。
【図4】実施の形態1における配線ブロックのデータ構造の一例を示す図である。
【図5】実施の形態1における自動配線処理システムの構成の概要の一例を示す図である。
【図6】実施の形態1のインタフェースファイルに着目した自動配線処理システムの概要の一例を示す図である。
【図7】実施の形態1に係る自動配線処理システムの機能ブロックおよび処理の動作の一例を示す図である。
【図8】実施の形態1に係るステップS3の詳細内容の一例を示すフローチャートである。
【図9】実施の形態1に係るステップS4の詳細内容の一例を示すフローチャートである。
【図10】JOBエントリ制御部の動作の一例を示すフローチャートである。
【図11】実施の形態1に係るステップS6の詳細内容の一例を示すフローチャートである。
【図12】実施の形態1に係るステータスの確認画面の一例を示す図である。
【図13】実施の形態1に係るステップS42からS44までの処理における画面イメージの一例を示す図である。
【図14】実施の形態2における実行指示環境の構成の一例を示す図である。
【図15】配線ブロックの交差が発生する事例を示す図である。
【図16】実施の形態2における並列実行グループの概念の一例および並列実行環境に対する処理依頼の方法の一例について示す図である。
【図17】実施の形態2における並列実行グループ内の配線ブロックに対する配線処理が終了した場合の動作の一例について示す図である。
【図18】実施の形態2におけるプリント板上の配線ブロックの配置例を示す図である。
【図19】実施の形態2における配線ブロック間の交差関係を示すグラフの一例、交差ブロックテーブルの一例、および並列実行グループの生成方法の一例を示す図である。
【図20】実施の形態2における交差ブロックテーブルの作成処理の一例を示すフローチャートである。
【図21】実施の形態2における配線実行依頼部による依頼処理の一例について示すフローチャートである。
【図22】実施の形態3における配線ブロックの交差関係を示したグラフの一例および交差ブロックテーブルの一例を示す図である。
【図23】実施の形態3における実行指示環境の構成の一例を示す図である。
【図24】実施の形態3における並列実行グループの生成方法の一例について示す図である。
【図25】実施の形態3における並列実行グループの生成方法の一例を示すフローチャートである。
【図26】本実施の形態に適用されるコンピュータシステムの一例を示す図である。
【図27】本実施の形態に適用されるコンピュータシステムにおける本体部のハードウェア構成の一例を示す図である。
【符号の説明】
【0128】
1、100、200 実行指示環境、2 並列実行環境、11 処理依頼部、12 結果取得部、13 コントロール部、21 JOBエントリ制御部、22 自動配線エンジン、50 プリント基板データベース、101 第1取得部、102 第2取得部、103、103A グループ化部、104 グループ生成部、105 配線実行依頼部、106 テーブル作成部、107 ソート部、110 同列テーブル作成部、111 同列グループ化部、112 同列グループ生成部、700 CPU、701 メモリ、900 自動配線処理システム。

【特許請求の範囲】
【請求項1】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得部と、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得部と、
前記第1配線ブロックと前記第2配線ブロックに対する自動配線処理を並列に実行する並列処理部と、
を備えるプリント板配線処理装置。
【請求項2】
請求項1に記載のプリント板配線処理装置において、さらに、
前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化するグループ化部を備え、
前記第1取得部、前記第2取得部、および前記グループ化部が繰り返し稼動するよう制御することで、複数のグループを生成するグループ生成部を備えることを特徴とするプリント板配線処理装置。
【請求項3】
請求項2に記載のプリント板配線処理装置において、さらに、
前記グループ生成部によって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理部に依頼する配線実行依頼部を備えることを特徴とするプリント板配線処理装置。
【請求項4】
請求項3に記載のプリント板配線処理装置において、
前記配線実行依頼部は、依頼した配線処理が終了した場合、次のグループ内の配線ブロックの配線処理が並列実行されるよう前記並列処理部に依頼するとともに、前記次のグループ内の配線ブロックに既に配線処理が終了している領域がある場合、該領域は配線処理しないよう依頼することを特徴とするプリント板配線処理装置。
【請求項5】
請求項2に記載のプリント板配線処理装置において、さらに、
配線ブロックと、該配線ブロックと領域が交差する少なくとも一つの配線ブロックと、領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
前記テーブル内のリストを、交差数の多い順にソートするソート部と、
を備え、
前記グループ生成部は、前記第1取得部、前記第2取得部、および前記グループ化部が前記ソート部によってソートされた順の配線ブロックに対し繰り返し稼動するよう制御することを特徴とするプリント板配線処理装置。
【請求項6】
請求項2に記載のプリント板配線処理装置において、
前記グループ化部は、さらに、
前記第2取得部によって取得された第2配線ブロックが複数である場合、
該複数の第2配線ブロックを配線ブロック群とし、該配線ブロック群内における、配線ブロックと該配線ブロックと領域が交差する少なくとも一つの配線ブロックと前記配線ブロックの領域の交差数とを対応付けたリストを配線ブロックごとに作成することでテーブルを作成するテーブル作成部と、
作成されたテーブル内のリストのうち、交差数が単数である配線ブロックを同列グループとしてグループ化する同列グループ化部と、
作成されたテーブル内のリストの交差数が全て単数になるまで、前記同列グループ化部によってグループ化されていない複数の配線ブロックを前記配線ブロック群として、前記テーブル作成部と前記同列グループ化部とが再帰的に稼動するよう制御することで、少なくとも一つの同列グループを生成する同列グループ生成部と、を備え、
前記同列グループ生成部によって生成された同列グループのうちで最多の配線ブロックを有する同列グループの配線ブロックを第2配線ブロックとし、前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化することを特徴とするプリント板配線処理装置。
【請求項7】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、
前記第1配線ブロックと前記第2配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
をコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
【請求項8】
請求項7に記載のプリント板配線処理プログラムにおいて、さらに、
前記第1配線ブロックと前記第2配線ブロックとを一つのグループにグループ化するグループ化ステップをコンピュータに実行させ、
前記第1取得ステップ、前記第2取得ステップ、および前記グループ化ステップを繰り返しコンピュータに実行させることで、複数のグループを生成するグループ生成ステップをコンピュータに実行させることを特徴とするプリント板配線処理プログラム。
【請求項9】
請求項8に記載のプリント板配線処理プログラムにおいて、さらに、
前記グループ生成ステップによって生成されたグループ内の配線ブロックに対する配線処理が並列実行されるよう、グループ単位で順次前記並列処理ステップに依頼する配線実行依頼ステップをコンピュータに実行させるプリント板配線処理プログラム。
【請求項10】
プリンタ板の配線層上に特定の領域を有する配線ブロックを複数有するプリンタ板データから、領域が他の配線ブロックの領域と交差している数が最多の第1配線ブロックを取得する第1取得ステップと、
前記第1配線ブロックと領域が交差していない第2配線ブロックを取得する第2取得ステップと、
前記第1配線ブロックと前記第2配線ブロックに対する自動配線処理を並列に実行する並列処理ステップと、
を実行することを特徴とするプリント板配線処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate