(57)【特許請求の範囲】
【請求項１】
基板上における配線について、該基板上における他の配線と交差せずかつ他の配線との間におけるクリアランスが確保される最適ルートを、コンピュータ演算処理により自動的に決定する自動配線決定方法であって、
配線の始点および終点となる２点間を結ぶ検査直線が、他の配線と交差するか否かを検査する交差検査ステップと、
前記検査直線が前記他の配線と交差する場合、前記始点に最も近い位置に存在する当該他の配線の各端点のうちのいずれかの端点と、前記始点とを結ぶ直線部分を、前記最適ルートの候補を構成するセグメントとして確定する候補生成ステップであって、前記検査直線が前記他の配線と交差する場合、前記始点に最も近い位置に存在する当該他の配線の端点と該端点の周囲に存在する配線との間におけるクリアランスを検査するクリアランス検査ステップと、当該他の配線の各端点のうち前記始点からの距離が短い方の端点についての前記クリアランスが確保できる場合、当該端点と前記始点とを結ぶ直線部分を、前記セグメントとして確定する確定ステップと、を有する候補生成ステップと、
前記検査直線が前記他の配線と交差する場合の前記候補生成ステップにおいて前記候補の確定に用いた当該端点を、新たな始点として再設定する再設定ステップと、
を備え、
当該新たな始点と前記終点との間に新たに結んだ検査直線に基づいて、前記交差検査ステップ、前記候補生成ステップ、および前記再設定ステップにおける前記の各処理をさらに実行し、前記セグメントから構成される前記候補を生成することを特徴とする自動配線決定方法。
【請求項２】
前記新たな始点として再設定された当該端点と前記終点との間に新たに結んだ検査直線が、前記交差検査ステップにおいて既に交差検査済の他の配線と再度交差することになる場合、
前記候補生成ステップは、当該新たな始点を有していた配線上におけるもう一方の端点と、前記始点とを結ぶ直線部分を、前記セグメントとして確定し直し、
前記再設定ステップは、当該新たな始点を有していた配線上におけるもう一方の端点を、新たな始点として再設定し直す請求項１に記載の自動配線決定方法。
【請求項３】
生成された前記候補から前記最適ルートを確定する最適ルート決定ステップをさらに備える請求項１または２に記載の自動配線決定方法。
【請求項４】
最適ルートを決定すべき配線についての演算処理開始の始点と終点とを入れ替えて演算処理開始点を設定した上で、前記交差検査ステップ、前記候補生成ステップ、および前記再設定ステップにおける前記の各処理を実行し、前記候補を生成する請求項１または２に記載の自動配線決定方法。
【請求項５】
最適ルートを決定すべき配線の始点および終点となる２点間を結ぶ検査直線が交差する他の配線上の各端点のうち、前記配線の始点もしくは終点との間の距離が短い方の端点を演算処理開始点として設定した上で、前記交差検査ステップ、前記候補生成ステップ、および前記再設定ステップにおける前記の各処理を前記演算処理開始点から配線の始点方向および終点方向に向けてそれぞれ実行し、前記候補を生成する請求項１または２に記載の自動配線決定方法。
【請求項６】
生成された複数の前記候補のうち、前記始点から前記終点までの間の距離が最短となる候補を、前記最適ルートとして確定する最適ルート決定ステップをさらに備える請求項４または５に記載の自動配線決定方法。
【請求項７】
決定した前記最適ルートと前記他の配線との間のクリアランスを確保するよう、該最適ルートを補正するルート補正ステップをさらに備える請求項３または６に記載の自動配線決定方法。
【請求項８】
最適ルートを決定すべき配線および該配線以外の他の配線を、所定のクリアランス分だけ予め太らせた上で、前記交差検査ステップ、前記候補生成ステップ、および前記再設定ステップを実行する請求項１〜６のいずれか一項に記載の自動配線決定方法。
【請求項９】
前記候補生成ステップは、
前記検査直線が前記他の配線と交差する場合、前記始点に最も近い位置に存在する当該他の配線の各端点のうち前記始点からの距離が短い方の端点と、前記始点とを結ぶ直線部分を、前記セグメントとして確定する請求項１に記載の自動配線決定方法。
【請求項１０】
前記クリアランス検査ステップは、
前記検査直線が交差する前記他の配線の各端点のうち前記始点からの距離が短い方の端点についての前記クリアランスが確保できない場合、当該クリアランス障害の原因となる配線上の各端点のうち当該クリアランス障害を生じさせない方の端点、および、当該他の配線の各端点のうち前記始点からの距離が長い方の端点についても、該端点の周囲に存在する配線との間におけるクリアランスをさらに検査し、
前記クリアランス検査ステップのさらなるクリアランス検査に係る端点のいずれかについての前記クリアランスが確保できると判定された場合、前記確定ステップは、前記クリアランスの確保できる端点のうち、前記始点からの距離が最短となる端点と前記始点とを結ぶ直線部分を前記セグメントとして確定し直し、前記再設定ステップは、当該端点を新たな始点として再設定し直す請求項１に記載の自動配線決定方法。
【請求項１１】
前記クリアランス検査ステップおよび前記確定ステップによる前記の各処理を、前記クリアランス検査ステップにおいてクリアランスが確保できる端点が見つかるまで繰り返す請求項１０に記載の自動配線決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基板上の配線のルートを、基板上における他の配線と交差しないよう、コンピュータ演算処理により自動的に決定する自動配線決定方法、およびこの自動配線決定処理をコンピュータに実行させるためのコンピュータプログラムに関する。
【背景技術】
【０００２】
例えばＬＳＩやＰＣＢなどの半導体集積回路について、基板上に存在する障害物と交差することなく自動的に配線する自動配線方法の代表的なものとして、迷路探索法と呼ばれる方法がある（例えば、特許文献１〜４参照）。この迷路探索法では、基板上において、配線のルートを、障害物とのクリアランスを保つように、かつ、障害物に対しては９０度の方向に、場合によっては４５度の方向に迂回させることで当該障害物と交差しないように設定する。このような設定手法を実現できるのは、ＬＳＩやＰＣＢなどにおいては障害物の配置位置や形状がある程度の規則性を有しているという、ＬＳＩやＰＣＢに特有の配線的特徴に起因するものである。
【０００３】
【特許文献１】特開平１１−１６１６９４号公報
【特許文献２】特開２００１−３５０８１３号公報
【特許文献３】特開２００１−０４４２８８号公報
【特許文献４】特開平１０−２０９２８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＰＢＧＡやＥＢＧＡなどの半導体パッケージの基板上には、プレーン（Ｐｌａｎｅ）、ゲート（Ｇａｔｅ）、マーク（Ｍａｒｋ）、パッケージ内部品もしくは他の配線などといったような、配線にとっては障害物となり得るものが多数存在し、その障害物の形状、配置位置あるいは配置角度も多種多様である。また、配線の始点もしくは終点となるべきビア（Ｖｉａ）、ボール（ｂａｌｌ）、ボンディングパッド（Ｂ／Ｐ）、あるいはフリップチップパッド（Ｆ／Ｃ）などの位置も様々である。このため、半導体パッケージの配線設計においては、基板上において、障害物を回避する際には９０度や４５度に限られない任意の角度方向に配線のルートを迂回させる必要がある。つまり、従来からＬＳＩやＰＣＢなどにおける自動配線に用いられてきた迷路探索法では、半導体パッケージの場合には対応できない。
【０００５】
このような事情から、半導体パッケージの配線設計においては、設計者自身が、例えばＣＡＤシステムを用いて仮想平面上で半導体パッケージの配線ルートを自らの技量や経験や勘を頼りに試行錯誤しながら設計するのが一般的である。試行錯誤しながらの手動による配線設計では、要求される配線の内容が複雑になるほど、最適な配線を実現するには多大なる労力および時間を要し、難易度も増す。さらに、完成品の品質のバラツキも大きくなる。実際のところ、試行錯誤しながらの手動による配線設計では数日程度を要し、それ以上の時間を配線設計作業に割り当てることは非経済的であることから、ある程度の設計結果が得られれば「大体この程度で良いだろう」と妥協しているのが現状である。半導体パッケージの一層の小型化・高集積化が進む中で、半導体パッケージについての配線設計の自動化は今後の１つの重要課題であるといえる。
【０００６】
特に、最適ルートを決定すべき配線の障害物が他の配線であるような場合は、配線設計の自動化には困難が伴う。例えば、最適な配線ルートを実現するために、障害となる他の配線との間のクリアランスを確保するために、処理対象の配線の位置は維持して他の配線の方の位置をずらす措置がとられる場合がある。このような場合は、基板全体に亘って配線位置の大幅な設計変更につながる問題がある。
【０００７】
また、従来の自動配線方法では、基板上の全ての配線についての最適ルートを一度に決定することはできるが、一部の配線に対して例えば配線幅やクリアランスなどの配線条件を設計変更するといったようなことが困難であった。
【０００８】
従って本発明の目的は、上記問題に鑑み、基板上における配線の最適ルートを、基板上における他の配線と交差しないよう、短時間で自動的に決定できる自動配線決定方法、およびこの自動配線決定処理をコンピュータに実行させるためのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を実現するために、本発明においては、配線の始点および終点となる２点間を検査直線で結び、この検査直線が他の配線と交差する場合には、始点に最も近い位置に存在する当該他の配線の各端点のうちのいずれかの端点と上記始点とを結ぶ直線部分を、最適ルートの候補を構成するセグメントとして確定する。そしてこのとき、上記候補の確定に用いた当該端点を、新たな始点として再設定する。さらに、当該新たな始点と終点との間に新たに結んだ検査直線に基づいて、上記の各処理を繰り返し実行し、セグメントから構成されるルート候補を生成する。最終的には、このように生成されたルート候補から最適ルートを確定する。
【００１０】
図１は、本発明による自動配線決定方法のフローチャートである。
【００１１】
基板上における配線の最適ルートを、該基板上における他の配線と交差しないよう、演算処理により自動的に決定する、本発明による自動配線決定方法は、次のように実行される。
【００１２】
まず、交差検査ステップＳ１０１において、配線の始点および終点となる２点間を結ぶ検査直線が、他の配線と交差するか否かを検査する。
【００１３】
検査直線が他の配線と交差する場合は、候補生成ステップＳ１０２において、始点に最も近い位置に存在する当該他の配線の各端点のうちのいずれかの端点と、始点とを結ぶ直線部分を、最適ルートの候補を構成するセグメントとして確定する。
【００１４】
次いで、再設定ステップＳ１０３において、検査直線が他の配線と交差する場合の候補生成ステップＳ１０２において候補の確定に用いた当該端点を、新たな始点として再設定する。
【００１５】
なお、再設定ステップＳ１０３において新たな始点として再設定された当該端点と上記終点との間に新たに結んだ検査直線が、交差検査ステップＳ１０１において既に交差検査済の他の配線と再度交差することになる場合は、候補生成ステップＳ１０２は、当該新たな始点を有していた配線上におけるもう一方の端点と、上記始点とを結ぶ直線部分を、セグメントとして確定し直し、再設定ステップＳ１０３は、当該新たな始点を有していた配線上におけるもう一方の端点を、新たな始点として再設定し直す。
【００１６】
そして、再設定ステップＳ１０３において再設定された当該新たな始点と上記終点との間に新たに結んだ検査直線に基づいて、交差検査ステップＳ１０１、候補生成ステップＳ１０２、および再設定ステップＳ１０３における各処理を繰り返し実行し、上記セグメントから構成される候補を生成する。すなわち、最適ルートの候補は、複数のセグメントをつなぎ合わせて構成されるものであり、したがって、候補を構成するセグメントが全て確定するまで、ステップＳ１０４を介して、交差検査ステップＳ１０１、候補生成ステップＳ１０２、および再設定ステップＳ１０３における各処理は、繰り返し実行される。
【００１７】
最適ルート決定ステップＳ１０５では、このようにして生成された候補から最適ルートを確定する。
【００１８】
なお、自動配線決定処理における上記各処理Ｓ１０１〜Ｓ１０５は、コンピュータ等の演算処理装置が実行することができるソフトウェアプログラム形式で実現できる。以上の処理を実施する装置や、以上の処理をコンピュータに実行させるプログラムを作成することは、以下の説明を理解した当業者には容易に実施できる事項である。また、以上の処理をコンピュータにより実行させるプログラムを記録媒体に格納するという事項も当業者には自明である。
【発明の効果】
【００１９】
本発明によれば、基板上に存在する他の配線と交差しない配線のルートの最適な位置を、コンピュータ演算処理により短時間で自動的に決定することができる。
【００２０】
特に本発明は、基板上に存在する配線の形状、配置位置および配置角度などに制限されない、クリアランス要件を満足しつつ他の配線との不必要な交差を回避することができる配線設計を、コンピュータによる演算処理が可能となるようにルール化したものである。すなわち、本発明によれば、複数の配線が存在する基板上において、配線の形状、配置位置および配置角度に制限されず、また、配線したい方向、配線したい角度および配線の開始終了位置がどのようなものであっても、クリアランス要件を満足した配線の最適ルートを、コンピュータ演算処理により、短時間で自動的に探し出すことができる。本発明によれば、ＬＳＩやＰＣＢなどの半導体集積回路はもちろん、ＰＢＧＡやＥＢＧＡなどの半導体パッケージ、あるいはＭＣＭ／Ｓｉｐなどの配線基板において、基板上に存在する他の配線と交差することなく自動的に配線のルートを決定することができる。
【００２１】
また、本発明では、従来のように基板上の全ての配線についての最適ルートを一度に決定するものではなく、最適ルートの候補を１本ずつ順々に生成していくので、一部の配線に対して例えば配線幅やクリアランスなどの配線条件を手動で設計変更したり、あるいは、ある特定の箇所だけユーザ所望の通りに手動で設計変更することも容易である。
【００２２】
特に、半導体パッケージの配線設計に本発明を適用すれば、従来のように設計者自らの技量、経験、勘などに左右されることなく、なおかつ、基板上に存在する障害物の形状、配置位置および配置角度などに制限されずに、配線の最適ルートを短時間で容易に設計することができる。例えば、従来、試行錯誤しながらの手動による配線設計では数日程度を要していたところが、本発明によれば、数時間程度以下で配線の最適ルートを自動的に設計することができる。このような設計時間の短縮および設計者の負担の軽減の結果、製品の製造コストも低減できる。最適な配線ルートは、配線距離が短いので経済的であり、製造容易であり、そして製造時における製品不良の発生率も低い。また、電気的にも安定した特性を示す。
【発明を実施するための最良の形態】
【００２３】
図２は、本発明の実施例による自動配線決定方法のフローチャートである。
【００２４】
本発明の実施例による自動配線決定における各処理Ｓ２０２〜Ｓ２２０は、コンピュータ等の演算処理装置により実行される。ステップＳ２０１では、自動配線決定処理の実行を開始する前に、最適ルートを決定すべき配線の始点および終点に関する座標情報、配線の始点もしくは終点となるべきビア（Ｖｉａ）、ボール（ｂａｌｌ）、ボンディングパッド（Ｂ／Ｐ）に関する情報、プレーン（Ｐｌａｎｅ）、ゲート（Ｇａｔｅ）、マーク（Ｍａｒｋ）、パッケージ内部品などに関する情報（例えば、形状、配置位置あるいは配置角度に関する情報）、および、クリアランスに関するルールなど関する種々のデータを、コンピュータに入力する。
【００２５】
ステップＳ２０２では、配線の始点および終点となる２点間を結ぶ検査直線が、他の配線と交差するか否かを検査する。ステップＳ２０２において検査直線が他の配線と交差すると判定された場合は、ステップＳ２０３へ進む。ステップＳ２０２において検査直線が他の配線と交差しないと判定された場合は、ステップＳ２１４へ進む。
【００２６】
ステップＳ２０３では、検査直線が交差する他の配線のうち、始点に最も近い位置に存在する当該他の配線の端点と該端点の周囲に存在する配線との間におけるクリアランスを検査する。より詳しく言えば、当該他の配線の各端点のうち前記始点からの距離が短い方の端点についてのクリアランスが確保できるかを検査する。当該クリアランスが確保できる場合はステップＳ２０４へ進み、当該クリアランスが確保できない場合はステップＳ２０８へ進む。
【００２７】
当該他の配線の各端点のうち始点からの距離が短い方の端点についてのクリアランスが確保できる場合、ステップＳ２０４では、当該距離が短い方の端点と、始点とを結ぶ直線部分を、セグメントとして確定する。このセグメントは、最適ルートの候補を構成するものであり、すなわち、詳細については後述するが、複数のセグメントをつなぎ合わせることで、最適ルートの候補が生成されることになる。次いで、ステップＳ２０５において、当該距離が短い方の端点を、新たな始点として再設定する。そして、ステップＳ２０６において、終点と当該新たな始点との間に新たな検査直線を設定する。なお、ステップＳ２０４と、ステップＳ２０５およびＳ２０６とは、実行の順番を入れ替えてもよく、またあるいは、これらの処理を同時に実行するようにしてもよい。
【００２８】
一方、当該他の配線の各端点のうち始点からの距離が短い方の端点についてのクリアランスが確保できない場合は、ステップＳ２０８において、当該クリアランスが確保できない端点とは異なる端点についても、この端点の周囲に存在する配線との間におけるクリアランスをさらに検査する。具体的には、ステップＳ２０９の処理を介して、当該クリアランス障害の原因となる配線上の各端点のうち当該クリアランス障害を生じさせない方の端点、および、当該他の配線の各端点のうち始点からの距離が長い方の端点についても、該端点の周囲に存在する配線との間におけるクリアランスをさらに検査する。ステップＳ２０９の処理は、既に確定済みのルートを再度検査する無駄を省き、また処理が無限ループに陥ることを除くために実行される。
【００２９】
ステップＳ２０８におけるさらなるクリアランス検査に係る端点のいずれかについてのクリアランスが確保できると判定された場合、ステップＳ２０４へ進む。ステップＳ２０４では、当該クリアランスの確保できる端点のうち、始点からの距離が最短となる端点と、始点とを結ぶ直線部分を、セグメントとして確定する。次いで、ステップＳ２０５において、当該始点からの距離が最短となる端点を、新たな始点として再設定する。そして、ステップＳ２０６において、終点と当該新たな始点との間に新たな検査直線を設定する。
【００３０】
ステップＳ２０７では、ステップＳ２０６において設定した新たな検査直線が、既に交差検査済の他の配線と再度交差するか否かを検査する。当該新たな検査直線が、既に交差検査済の他の配線と再度交差することのない場合はステップＳ２０２へ戻り、再度交差することになる場合はステップＳ２１０へ進む。
【００３１】
ステップＳ２１０では、当該新たな始点（すなわち、ステップＳ２０５で設定した新たな始点）を有していた配線上におけるもう一方の端点と、始点とを結ぶ直線を、セグメントとして確定する。次いで、ステップＳ２１１において、当該新たな始点を有していた配線上におけるもう一方の端点を、新たな始点（すなわち、ステップＳ２０５で設定した新たな始点とは異なる、さらなる新たな始点）として設定し直す。そして、ステップＳ２１２において、終点と当該新たな始点（すなわち、ステップＳ２１１で設定した新たな始点）との間に新たな検査直線を設定する。
【００３２】
一方、ステップＳ２０２において検査直線が他の配線と交差しないと判定された場合は、ステップＳ２１４へ進む。
【００３３】
ステップＳ２１４では、当該検査直線を、最適ルートの候補もしくは該候補を構成するセグメントとして確定する。
【００３４】
本実施例では、当初設定した演算処理開始の始点と終点とを入れ替えて演算処理開始点を設定し直した場合、および、最適ルートを決定すべき配線の始点および終点となる２点間を結ぶ検査直線が交差する他の配線上の各端点のうち、配線の始点もしくは終点との間の距離が短い方の端点を演算処理開始点として設定し直した場合、についても、上記各処理を実行し、それぞれの場合においても、最適ルートの候補を生成する。特に、後者の場合においては、設定した演算処理開始点から配線の始点方向および終点方向に向けて各処理それぞれ実行し、候補を生成する。
【００３５】
そこで、ステップＳ２１５では、設定した演算処理開始の始点の場合における、最適ルートの候補の生成処理が終了したか否かを検査する。終了していない場合はステップＳ２０２へ戻り、終了している場合はステップＳ２１６へ進む。
【００３６】
また、ステップＳ２１６では、演算処理開始の始点の全ての場合について、最適ルートの候補を生成処理が終了したか否かを検査する。終了していない場合はステップＳ２１７へ戻り、終了している場合はステップＳ２１８へ進む。ステップＳ２１７では、演算処理開始の始点を変更する。
【００３７】
ステップＳ２１８では、生成された最適ルートの候補について、各候補ルートに沿った距離を計算する。そして、ステップＳ２１９において、生成された複数の候補のうち、始点から終点までの間の距離が最短となる候補を、最適ルートとして最終的に確定する。
【００３８】
上述のようにして生成された最適ルートは、他の配線の端点上を通過していくように設定されているので、ステップＳ２２０では、ステップＳ２１９において決定した最適ルートと他の配線との間のクリアランスを確保するよう、当該最適ルートを補正する。この変形例として、ステップＳ２０２を実行する前に、確保すべきクリアランスを予め考慮してから、上記処理を実行するようにしてもよい。この場合は、最適ルートを決定すべき配線および該配線以外の他の配線を、所定のクリアランス分だけ予め太らせて設定した上で、上述した各処理における配線に関するデータを、クリアランス分を予め考慮したデータに置き換えて、各処理を実行すればよい。
【００３９】
上述の実施例の変形例として、当初設定した演算処理開始の始点と終点の場合についてのみ自動配線決定処理を実行し、生成された１つの候補を、そのまま最適ルートとして確定してもよく、この場合、ステップＳ２１５〜２１８の処理は不要である。
【００４０】
以下に、いくつかの具体例を挙げて、本発明の実施例による自動配線処理について説明する。
【００４１】
図３〜１３は、本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図である。図中、検査直線を一点鎖線で示し、確定されたセグメントは細線の実線で示す。
【００４２】
第１の具体例では、図３に示すように、基板上における最適ルートを決定すべき配線の始点となるべき点Ｐから終点となるべき点Ｑとの間に、この配線とは異なる他の配線ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈおよびｉ（図中、太線の実線で示す。）が複数存在する場合を考える。なお、各配線ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、およびｉの端点を、それぞれ、Ａ１およびＡ２、Ｂ１およびＢ２、Ｃ１およびＣ２、Ｄ１およびＤ２、Ｅ１およびＥ２、Ｆ１およびＦ２、Ｇ１およびＧ２、Ｈ１およびＨ２、ならびにＩ１およびＩ２とする（図中、丸印で示す。）。
【００４３】
まず、図３に示すように、最適ルートを決定すべき配線の始点Ｐと終点Ｑとの間に、検査直線α１を結ぶ。このとき、検査直線α１は、配線ａ、ｃ、ｄ、ｅおよびｆと交差する。検査直線α１が交差するこれら配線ａ、ｃ、ｄ、ｅおよびｆのうち、始点Ｐに最も近い位置に存在する配線はｆである。したがって、配線ｆの端点Ｆ１およびＦ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｆ１の方が端点Ｆ２よりも始点Ｐからの距離は短い。また、配線ｆと端点Ｉ２との間には十分なクリアランスを確保できない。したがって、図４に示すように、配線ｆの端点Ｆ１およびＦ２のうち、始点Ｐからの距離が短い方の端点であるＦ１と、始点Ｐとを結ぶ直線部分ｘ１を、セグメントとして確定する。そして、端点Ｆ１を、始点Ｐに替えて、新たな始点として再設定する。
【００４４】
次に、図４に示すように、新たな始点Ｆ１と終点Ｑとの間に、検査直線α２を結ぶ。このとき、検査直線α２は、配線ａ、ｄおよびｅと交差する。検査直線α２が交差するこれら配線ａ、ｄおよびｅのうち、始点Ｆ１に最も近い位置に存在する配線はｅである。したがって、配線ｅの端点Ｅ１およびＥ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｅ１およびＥ２のどちらについてもクリアランスが確保でき、また、端点Ｅ２の方が端点Ｅ１よりも始点Ｆ１からの距離は短い。したがって、図５に示すように、配線ｅの端点Ｅ１およびＥ２のうち、始点Ｆ１からの距離が短い方の端点であるＥ２と、始点Ｆ１とを結ぶ直線部分ｘ２を、セグメントとして確定する。そして、端点Ｅ２を、始点Ｆ１に替えて、新たな始点として再設定する。
【００４５】
次に、図５に示すように、新たな始点Ｅ２と終点Ｑとの間に、検査直線α３を結ぶ。このとき、検査直線α３は、配線ａ、ｃおよびｄと交差する。検査直線α３が交差するこれら配線ａ、ｃおよびｄのうち、始点Ｅ２に最も近い位置に存在する配線はｄである。したがって、配線ｄの端点Ｄ１およびＤ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｄ２の方が端点Ｄ１よりも始点Ｅ２からの距離は短く、また、端点Ｄ２の周囲のクリアランスも確保できる。したがって、図６に示すように、端点Ｄ２と始点Ｅ２とを結ぶ直線部分ｘ３を、セグメントとして確定する。そして、端点Ｄ２を、始点Ｅ２に替えて、新たな始点として再設定する。
【００４６】
次に、図６に示すように、新たな始点Ｄ２と終点Ｑとの間に、検査直線α４を結ぶ。このとき、検査直線α４は、配線ａおよびｃと交差する。検査直線α４が交差するこれら配線ａおよびｃのうち、始点Ｅ２に最も近い位置に存在する配線はｃである。したがって、配線ｃの端点Ｃ１およびＣ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｃ１の方が端点Ｃ２よりも始点Ｄ２からの距離は短いが、端点Ｃ１の周囲のクリアランスは確保できない。したがって、図７に示すように、端点Ｃ２と始点Ｄ２とを結ぶ直線部分ｘ４を、セグメントとして確定する。そして、端点Ｃ２を、始点Ｄ２に替えて、新たな始点として再設定する。
【００４７】
次に、図７に示すように、新たな始点Ｃ２と終点Ｑとの間に、検査直線α５を結ぶ。このとき、検査直線α５は、配線ｂと交差する。したがって、配線ｂの端点Ｂ１およびＢ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、始点Ｃ２からの距離が短い方の端点であるＢ１については、配線ａの端点Ａ２との間におけるクリアランスを確保することができない。そこで、当該クリアランスが確保できない端点Ｂ１とは異なる端点についても、該端点の周囲に存在する配線との間におけるクリアランスをさらに検査する。具体的には、当該クリアランス障害の原因となる配線ａ上の各端点Ａ１およびＡ２のうち当該クリアランス障害を生じさせない方の端点Ａ１、ならびに、配線ｂの各端点Ｂ１およびＢ２のうち始点Ｃ２からの距離が長い方の端点Ｂ２についても、これら端点Ａ１およびＢ２の各周囲に存在する他の配線との間におけるクリアランスをさらに検査する。図示の例では、端点Ａ１およびＢ２のいずれの場合についてもクリアランスを確保できる。したがって、図８に示すように、これら端点Ａ１およびＢ２のうち始点Ｃ２からの距離が最短となる端点Ｂ２と、始点Ｃ２とを結ぶ直線部分ｘ５を、セグメントとして確定する。そして、端点Ｂ２を、始点Ｃ２に替えて、新たな始点として再設定する。
【００４８】
図８に示すように、新たな始点Ｂ２と終点Ｑとの間に、検査直線α６を結ぶ。このとき、検査直線α６は、どの配線とも交差しない。したがって、図９に示すように、検査直線α６をそのままセグメントｘ６として確定する。
【００４９】
以上説明したように演算処理開始点をＰとして自動配線決定処理した場合は、図９に示すようなセグメントｘ１、ｘ２、ｘ３、ｘ４、ｘ５およびｘ６からなる最適ルートの候補が生成されることになる。
【００５０】
次に、当初設定した演算処理開始の始点Ｐと終点Ｑとを入れ替えて演算処理開始点を設定し直した場合について、すなわち、点Ｑを演算処理開始点に設定した場合について、自動配線決定処理を実行する。この場合、基本的には上述したような処理と同様であるので、結果のみを図１０に示すと、セグメントｙ１、ｙ２、ｙ３、ｙ４およびｙ５からなる最適ルートの候補が生成される。
【００５１】
次に、最適ルートを決定すべき配線の始点および終点となる２点間を結ぶ検査直線が交差する他の配線上の各端点のうち、配線の始点もしくは終点との間の距離が短い方の端点を演算処理開始点として設定し直した場合についても、自動配線決定処理を実行する。例えば、図１１に示すように、配線の始点Ｐと終点Ｑとを結ぶ検査直線α１は、配線ａ、ｃ、ｄ、ｅおよびｆの、合計５本の配線と交差する。検査直線が交差する配線の本数が奇数の場合、中間部分に位置する配線を、演算処理開始点を有する配線として設定するのが好ましい。図１１に示す例では、配線ｄが当該配線に相当するが、この配線ｄ上の、始点Ｐもしくは終点Ｑとの間の直線距離が短い方の端点Ｄ２を演算処理開始点として設定する。なお、検査直線が交差する配線の本数が偶数の場合、中間部分に位置する配線は２本となるが、このうちのいずれかの配線を、演算処理開始点を有する配線として設定すればよい。この変形例として、演算処理開始点をさらに複数設定してもよい。
【００５２】
図１１に示す例では、配線ｄの端点Ｄ２を演算処理開始点とし、この端点Ｄ２から配線の始点Ｐの方向および終点Ｑの方向に向けて自動配線決定処理をそれぞれ実行する。基本的には上述したような処理と同様であるので結果のみを示すと、端点Ｄ２から配線の始点Ｐの方向に向けての自動配線決定処理によりセグメントｚ１、ｚ２およびｚ３が確定し、端点Ｄ２から配線の終点Ｑの方向に向けての自動配線決定処理によりセグメントｚ４、ｚ５およびｚ６が確定する。したがって、図１１に示すようなセグメントｚ３、ｚ２、ｚ１、ｚ４、ｚ５およびｚ６からなる最適ルートの候補が生成されることになる。
【００５３】
以上説明したように、図９、１０および１１に示すような最適ルートの３つの候補が生成される。最後に、これら各候補ルートに沿った距離を計算し、当該距離が最短となる候補を、最適ルートとして最終的に確定する。図示の例では、図９もしくは１１が最適ルートとなり、これを図１２に細線の実線βとして改めて示す。
【００５４】
上述のようにして生成された、図１２に示す最適ルートは、他の配線の端点上を通過していくように設定されているので、この最適ルートと他の配線との間のクリアランスを確保するよう、図１３に示すように当該最適ルートを補正し、これをβ’（細線の実線）とする。
【００５５】
図１４〜１９は、本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図である。図中、検査直線を一点鎖線で示し、確定されたセグメントは細線の実線で示す。
【００５６】
第２の具体例では、図１４に示すように、最適ルートを決定すべき配線の始点となるべき点Ｐから終点となるべき点Ｑとの間に、この配線とは異なる他の配線ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈおよびｉ（図中、太線の実線で示す。）が複数存在する場合を考える。なお、各配線ａ、ｂ、ｃ、ｄ、ｅ、ｆ、ｇ、ｈ、およびｉの端点を、それぞれ、Ａ１およびＡ２、Ｂ１およびＢ２、Ｃ１およびＣ２、Ｄ１およびＤ２、Ｅ１およびＥ２、Ｆ１およびＦ２、Ｇ１およびＧ２、Ｈ１およびＨ２、ならびにＩ１およびＩ２（図中、丸印で示す。）とする。特に、この第２の具体例は、端点Ｆ１と端点Ｈ１との間が狭くて十分なクリアランスを確保することができず、この端点Ｆ１と端点Ｈ１との間に配線を通すことができないような場合である。
【００５７】
まず、図１４に示すように、最適ルートを決定すべき配線の始点Ｐと終点Ｑとの間に、検査直線α１を結ぶ。このとき、検査直線α１は、配線ａ、ｃ、ｄ、ｅおよびｆと交差する。検査直線α１が交差するこれら配線ａ、ｃ、ｄ、ｅおよびｆのうち、始点Ｐに最も近い位置に存在する配線はｆである。したがって、図１５に示すように、配線ｆの端点Ｆ１およびＦ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｆ１と端点Ｈ１との間および配線ｆと端点Ｉ２との間のいずれについても十分なクリアランスを確保できない。そこで、当該クリアランスが確保できない端点Ｆ１とは異なる端点についても、該端点の周囲に存在する配線との間におけるクリアランスをさらに検査する。具体的には、当該クリアランス障害の原因となる配線ｈ上の各端点Ｈ１およびＨ２のうち当該クリアランス障害を生じさせない方の端点Ｈ２についても、周囲に存在する他の配線との間におけるクリアランスをさらに検査する。図示の例では、端点Ｈ２についてはクリアランスを確保できる。したがって、図１６に示すように、端点Ｈ２と始点Ｐとを結ぶ直線部分ｘ１を、セグメントとして確定する。そして、端点Ｈ２を、始点Ｐに替えて、新たな始点として再設定する。
【００５８】
次に、図１６に示すように、新たな始点Ｈ２と終点Ｑとの間に、検査直線α２を結ぶ。このとき、検査直線α２は、配線ａ、ｄ、ｅおよびｆと交差する。特に、検査直線α２は、既に交差検査済（図１５）の配線ｆと再度交差することになる。そこで、図１７に示すように、既に設定していた始点Ｈ２を有していた配線ｈ上におけるもう一方の端点Ｈ１と、始点Ｈ２とを結ぶ線分ｘ２を、セグメントとして確定する。そして、端点Ｈ１を、始点Ｈ２に替えて、新たな始点として再設定する。
【００５９】
次に、図１７に示すように、新たな始点Ｈ１と終点Ｑとの間に、検査直線α３を結ぶ。このとき、検査直線α３は、配線ａ、ｄおよびｅと交差する。検査直線α３が交差するこれら配線ａ、ｄおよびｅのうち、始点Ｈ１に最も近い位置に存在する配線はｅである。したがって、配線ｅの端点Ｅ１およびＥ２について、これら端点とその周囲に存在する配線とのクリアランスを検査する。この場合、端点Ｅ１およびＥ２ともにクリアランスを確保できる。端点Ｅ２は、端点Ｅ１と比べて始点Ｈ１からの距離が短いので、本来であれば、端点Ｅ２と始点Ｈ１とを結ぶセグメントを確定するところである。しかしながら、図示のように、端点Ｅ２と始点Ｈ１とを結ぶセグメントでは、配線ｆの端点Ｆ１付近で交差してしまう。これを回避するために、同じくクリアランスを確保できる端点Ｅ１と始点Ｈ１とを結ぶセグメントを確定することも考えられるが、端点Ｅ１と始点Ｈ１との間の距離は、端点Ｅ２と始点Ｈ１との間の距離よりも十分に長いので、あまり好ましいとはいえない。そこで、図１８に示すように、端点Ｆ１と始点Ｈ１とを結ぶセグメントｘ３を確定するとともに、端点Ｆ１を、始点Ｈ１に替えて、新たな始点として再設定する。このように、本発明による自動配線決定処理では、最適ルートの候補を１本ずつ順々に生成していくことから、一部の配線に対して例えば配線幅やクリアランスなどの配線条件を設計変更したり、ある特定の箇所だけユーザ所望の通りに手動で設計変更することも容易である。そして、図１８に示すように、新たな始点Ｆ１と終点Ｑとの間に、検査直線α４を結び、以後、既に説明したような手順で処理を進めていくことになるが、基本的には上述したような処理と同様であるので、結果のみを図１９に示すと、セグメントｘ１、ｘ２、ｘ３、ｘ４、ｘ５、ｘ６、ｘ７およびｘ８からなる最適ルートの候補が生成されることになる。なお、上述のようにして生成された最適ルートの候補は、他の配線の端点上を通過していくように設定されているので、この最適ルートと他の配線との間のクリアランスを確保するよう補正するのは第１の具体例でも説明した通りである。この変形例として、自動配線決定処理を実行する前に、確保すべきクリアランスを予め考慮してから、上記処理を実行するようにしてもよい。この場合は、最適ルートを決定すべき配線および該配線以外の他の配線を、所定のクリアランス分だけ予め太らせて設定した上で、上述した各処理における配線に関するデータを、クリアランス分を予め考慮したデータに置き換えて、各処理を実行すればよい。
【００６０】
なお、本発明の実施例により生成された最適ルートは、複数のセグメント（線分）が連なるものであるが、実際に当該最適ルートを用いて配線する際は、セグメントが直線的に折れ曲がる部分を、曲線的に滑らかに折れ曲がるようにする方が、電気的特性および配線の耐久性の観点から好ましいといえる。
【００６１】
上述した本実施例による自動配線決定装置は、コンピュータを用いて実現される。図２０は、記録媒体に格納されたプログラムにより動作する本発明の実施例の自動配線決定装置の構成を示すブロック図である。
【００６２】
本発明による自動配線決定をコンピュータに実行させるプログラムは、図２０に示すように、記憶媒体（フレキシブルディスク、ＣＤ−ＲＯＭ等の外部記憶媒体）１１０に格納されており、例えば、次に説明するような構成によるコンピュータにインストールされて自動配線決定装置として動作する。
【００６３】
ＣＰＵ１１１は、自動配線決定装置全体を制御する。このＣＰＵ１１１に、バス１１２を介してＲＯＭ１１３、ＲＡＭ１１４、ＨＤ（ハードディスク装置）１１５、マウスやキーボード等の入力装置１１６、外部記憶媒体ドライブ装置１１７およびＬＣＤ、ＣＲＴ等の表示装置１１８が接続されている。ＣＰＵ１１１の制御プログラムはＲＯＭ１１３に格納されている。
【００６４】
本発明による自動配線決定処理を実行するプログラム（自動配線決定処理プログラム）は、記憶媒体１１０からＨＤ１１５にインストール（記憶）される。また、ＲＡＭ１１４には、自動配線決定処理をＣＰＵ１１１が実行する際の作業領域や、自動配線決定処理を実行するプログラムの一部が記憶される領域が確保されている。また、ＨＤ１１５には、入力データ、最終データ、さらにＯＳ（オペレーティングシステム）等が予め記憶される。
【００６５】
まず、コンピュータの電源を投入すると、ＣＰＵ１１１がＲＯＭ１１０から制御プログラムを読み出し、さらにＨＤ１１５からＯＳを読み込み、ＯＳを起動させる。これによりコンピュータは自動配線決定処理プログラムを記憶媒体１１０からインストール可能な状態となる。
【００６６】
次に、記憶媒体１１０を外部記憶媒体ドライブ装置１１７に装着し、入力装置１１６から制御コマンドをＣＰＵ１１１に入力し、記憶媒体１１０に格納された自動配線決定処理プログラムを読み取ってＨＤ１１５等に記憶する。つまり自動配線決定処理プログラムがコンピュータにインストールされる。
【００６７】
その後は、自動配線決定処理プログラムを起動させると、コンピュータは自動配線決定装置として動作する。オペレータは、表示装置１１８に表示される対話形式による作業内容と手順に従って、入力装置１１６を操作することで、上述した自動配線決定処理を実行することができる。処理の結果得られた「配線の最適ルートに関するデータ」は、例えば、ＨＤ１１５に記憶しておいて後日利用できるようにしたり、あるいは、処理結果を表示装置１１８に視覚的に表示するのに用いてもよい。
【００６８】
なお、図２０のコンピュータでは、記憶媒体１１０に記憶されたプログラムをＨＤ１１５にインストールするようにしたが、これに限らず、ＬＡＮ等の情報伝送媒体を介して、コンピュータにインストールされてもよいし、コンピュータに内蔵のＨＤ１１５に予めインストールされておいてもよい。
【産業上の利用可能性】
【００６９】
本発明によれば、基板上において、他の配線と交差しない配線のルートの最適な位置を、コンピュータ演算処理により短時間で自動的に決定することができる。
【００７０】
本発明によれば、複数の配線が存在する基板上において、配線の形状、配置位置および配置角度に制限されず、また、配線したい方向、配線したい角度および配線の開始終了位置がどのようなものであっても、クリアランス要件を満足した配線の最適ルートを、コンピュータ演算処理により、短時間で自動的に探し出すことができる。したがって、本発明は、ＬＳＩやＰＣＢなどの半導体集積回路はもちろん、ＰＢＧＡやＥＢＧＡなどの半導体パッケージ、あるいはＭＣＭ、ＳＩＰなど、様々な種類の配線基板において、他の配線と交差することのない配線の最適ルートを自動的に決定することができる。
【図面の簡単な説明】
【００７１】
【図１】本発明による自動配線決定方法のフローチャートである。
【図２】本発明の実施例による自動配線決定方法のフローチャートである。
【図３】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その１）である。
【図４】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その２）である。
【図５】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その３）である。
【図６】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その４）である。
【図７】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その５）である。
【図８】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その６）である。
【図９】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その７）である。
【図１０】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その８）である。
【図１１】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その９）である。
【図１２】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その１０）である。
【図１３】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第１の具体例を説明する図（その１１）である。
【図１４】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その１）である。
【図１５】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その２）である。
【図１６】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その３）である。
【図１７】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その４）である。
【図１８】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その５）である。
【図１９】本発明の実施例における自動配線決定処理による配線の最適ルートの生成の第２の具体例を説明する図（その６）である。
【図２０】記録媒体に格納されたプログラムにより動作する本発明の実施例の自動配線決定装置の構成を示すブロック図である。
【符号の説明】
【００７２】
１    自動配線決定装置
１１０    記録媒体
１１１    ＣＰＵ
１１２    バス
１１３    ＲＯＭ
１１４    ＲＡＭ
１１５    ハードディスク装置
１１６    入力装置
１１７    外部記録媒体ドライブ装置
１１８    表示装置
【図１】
0004562625.tif 000002
【図２】
0004562625.tif 000003
【図３】
0004562625.tif 000004
【図４】
0004562625.tif 000005
【図５】
0004562625.tif 000006
【図６】
0004562625.tif 000007
【図７】
0004562625.tif 000008
【図８】
0004562625.tif 000009
【図９】
0004562625.tif 000010
【図１０】
0004562625.tif 000011
【図１１】
0004562625.tif 000012
【図１２】
0004562625.tif 000013
【図１３】
0004562625.tif 000014
【図１４】
0004562625.tif 000015
【図１５】
0004562625.tif 000016
【図１６】
0004562625.tif 000017
【図１７】
0004562625.tif 000018
【図１８】
0004562625.tif 000019
【図１９】
0004562625.tif 000020
【図２０】
0004562625.tif 000021