(57)【要約】【課題】配線上の単位となる小領域の数の増大を抑えつつ、配線領域を単一の配線ルールが適用される小領域への分割を行い、自動配線を実施するための技術を提供する。【解決手段】最初に生成された１次Ｇセル（第１分割領域）１２０３は、内部にある特殊ルール領域１２０２の頂点により２次Ｇセルに分割する（Ｓ１１〜１５）。同じ配線ルールが適用される２次Ｇセルは、横方向のマージ、続く縦方向のマージにより１つにする（Ｓ１６〜１８）。それにより、単一の配線ルールが適用されるようにしつつ、２次Ｇセルの数を抑える。マージ終了後の２次Ｇセルが第２分割領域に相当する。【選択図】図１７
2010097468.tif 000002
【特許請求の範囲】
【請求項１】
配線領域データが示す配線領域を分割して複数の第１分割領域を生成する第１生成ステップと、
配線ルールが適用される部分領域を示す配線ルール領域データが複数、前記配線領域に存在する場合に、前記第１分割領域に基づいて、単一の前記配線ルール領域データが適用される第２分割領域を生成する第２生成ステップとをコンピュータに実行させることを特徴とする配線方法。
【請求項２】
各配線ルール領域データが示す部分領域は矩形であり、
前記第２生成ステップでは、前記配線ルール領域データの示す部分領域の頂点の位置を基に前記第２分割領域を生成することを特徴とする請求項１記載の配線方法。
【請求項３】
前記第２生成ステップでは、前記配線ルール領域データの示す部分領域の頂点の位置を基に、前記頂点が存在する前記第１分割領域を複数の第３分割領域に分割し、同一の配線ルールが適用される前記配線ルール領域データの示す部分領域と重なり、且つ前記第１分割領域内で隣接する複数の前記第３分割領域を結合して前記第２分割領域を生成することを特徴とする請求項２記載の配線方法。
【請求項４】
前記配線ルールが示す配線幅および配線との最小限必要な間隔を基に、前記第１分割領域、及び前記第２分割領域で収容可能な配線量を示す配線リソースを算出する算出ステップを更に前記コンピュータに実行させることを特徴とする請求項１乃至３いずれか一項に記載の配線方法。
【請求項５】
前記配線ルールが示す前記間隔は、前記配線の間で最小限必要な第１間隔および半導体部品と導通する導通部と前記配線の間で最小限必要な第２間隔を含み、
前記算出ステップでは、前記第１分割領域、及び前記第２分割領域のなかで前記半導体部品と導通する前記導通部を複数、有する分割領域は、前記配線ルールが示す配線幅、前記第１間隔および前記第２間隔、並びに前記導通部間の距離を基に、最大となる前記配線リソースを算出することを特徴とする請求項４記載の配線方法。
【請求項６】
前記第１分割領域および前記第２分割領域のなかに存在するソース分割領域とターゲット分割領域を結ぶ配線の経路を生成するときに、
前記配線に適用すべきでない前記配線ルールと、前記第１分割領域および前記第２分割領域にそれぞれ適用される前記配線ルールを基に、前記経路を生成することを特徴とする請求項１乃至５いずれか一項に記載の配線方法。
【請求項７】
配線領域データが示す配線領域を分割して複数の第１分割領域を生成する第１生成手段と、
配線ルールが適用される部分領域を示す配線ルール領域データが複数、前記配線領域に存在する場合に、前記第１分割領域に基づいて、単一の前記配線ルール領域データが適用される第２分割領域を生成する第２生成手段とを具備することを特徴とする自動配線装置。
【請求項８】
前記配線ルールが示す配線幅および配線との最小限必要な間隔を基に、前記第１分割領域、及び前記第２分割領域で収容可能な配線量を示す配線リソースを算出する算出手段を更に具備することを特徴とする請求項７記載の自動配線装置。
【請求項９】
配線領域データが示す配線領域に存在する配線の経路を自動的に生成する自動配線装置として用いられるコンピュータに、
配線領域データが示す配線領域を分割して複数の第１分割領域を生成する第１生成機能と、
配線ルールが適用される部分領域を示す配線ルール領域データが複数、前記配線領域に存在する場合に、前記第１分割領域に基づいて、単一の前記配線ルール領域データが適用される第２分割領域を生成する第２生成機能とを実現させるためのプログラム。
【請求項１０】
前記配線ルールが示す配線幅および配線との最小限必要な間隔を基に、前記第１分割領域、及び前記第２分割領域で収容可能な配線量を示す配線リソースを算出する算出機能を更に実現させることを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配線領域データが示す配線領域に、異なる配線ルールが適用される部分領域を示す配線ルール領域データが複数、存在する場合に配線を行う技術に関する。
【背景技術】
【０００２】
半導体集積回路（ＬＳＩ）や大規模のプリント基板（Printed Circuit Board）では、自動配線により配線経路を決定するのが普通である。近年、半導体集積回路を構成するセルの数、及びプリント基板に搭載する部品の数は共に非常に多くなる傾向にある。このことから、半導体集積回路や大規模なプリント基板の自動配線では、殆どの場合、その自動配線を行う前に、配線を配置する配線領域を一定のルールに従って複数の小領域（ここでは「Ｇセル（Ｇ−ｃｅｌｌ）」と呼ぶ）に分割することが行われるようになっている（特許文献１）。そのようにＧセルに分割することにより、各ネットの配線経路は経由させるＧセル、及びその順序を決定する形で設定される。
【０００３】
各Ｇセルで可能な配線量は有限である。このことから各Ｇセルでは、自身が収容可能な配線量を示すデータが配線リソースとして計算される。そのリソースとして計算されるデータは、例えば本数、或いはグリッド（ＧＲＩＤ）点数である。各Ｇセルには、そのリソースを越えない範囲内で配線経路が割り当てられる。
【０００４】
周知のようにグリッド点は、配線の基本単位となる点のことである。その点は、直交する２つの方向上、所定のピッチ間隔で配置される線の交点に相当する。配線経路は、２つの方向の何れかに平行に隣り合うグリッド点間の組み合わせとして決定される。リソースとして計算される本数は、例えば方向毎に計算した、配線経路として割当可能なＧセル全体に渡る直線（配線トラック）の数である。
【特許文献１】特許第３０６３８２８号公報
【特許文献２】特開昭６３−２３７５４４号公報
【特許文献３】特許第３０１７２１４号公報
【特許文献４】特開２００７−２６１７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
Ｇセルに分割しての自動配線では、各配線経路が経由するＧセルを決定した後、Ｇセル毎に内部の配線経路を決定する形となる。このため、割り当てられた配線経路を収納可能なだけの配線リソースが存在しないＧセルでは、全ての配線経路を決定することができない。このことから、各Ｇセルのリソースを正確に見積もることが重要となっている。
【０００６】
今日、例えばプリント基板では、高密度、且つ多端子の部品（例えばＢＧＡ：Ball Grid Array）の搭載や、クロストーク対策等により、配線ルール、つまり線幅、対物との間隔的余裕であるクリアランス、配線間、或いは配線−ピン間の最小間隔等がプリント配線板平面内の場所に依存して異ならせるケースが増えている。
【０００７】
配線領域内に適用される配線ルールが異なる部分領域が複数、存在する場合、内部に配線ルールが異なる領域が複数、存在するＧセルが生じるのが普通である。配線リソースは、適用される配線ルールを用いて計算される。このため、配線ルールの混在はリソースの管理を複雑化させる。その複雑化は、リソースを割り当てる形で行われる自動配線を煩雑化させる。このことが、自動配線をより面倒なものとする。
【０００８】
図２９は、Ｇセルに配線ルールが混在することで生じる問題を説明する図である。図２９（ａ）は配線ルールが混在するＧセル例を示し、図２９（ｂ）はリソースの管理上、生じる問題点を示している。ここで図２９を参照して、Ｇセルに配線ルールが混在することで生じる問題について具体的に説明する。
【０００９】
図２９（ａ）において、２９０１はＧセル、２９０２は配線ルールが他と異なる部分領域である。図２９（ｂ）の２９０３は、配線が禁止された部分領域（配線禁止領域）である。ここでは混乱を避けるため、配線ルールは部分領域２９０２に適用されるもの、配線禁止領域２９０３に適用されるもの（配線を禁止するという配線ルール）、及びそれら以外の部分に適用されるもの、の３種類のみを想定する。
【００１０】
部分領域２９０２内に縦横に引いた線は、配線を配置可能な場所を示しており、縦横の線が交わる交点がグリッド点である。部分領域２９０２以外の部分でも同様に、縦横の線が交わる交点はグリッド点である。縦横に引いた線の間隔は、部分領域２９０２はそれ以外の部分の１／２と狭くなっている。このことから、部分領域２９０２に適用される配線ルールは「挟ピッチ領域ルール」、部分領域２９０２及び配線禁止領域２９０３以外の部分に適用される配線ルールは「標準ルール」とそれぞれ呼ぶことにする。また図２９において、横方向はＨ方向、縦方向はＶ方向と呼ぶことにする。
【００１１】
部分領域２９０２は、例えば多数のピンを備えたＢＧＡ等の部品が搭載される領域であり、狭ピッチ領域ルールは、そのような部品を搭載する領域内での配線を可能とするために設定されている。部分領域２９０２中、搭載された際の部品のピンは２９０４を付した点で表している。配線禁止領域２９０３は、例えば予め定めた配線、或いは部品等が配置されることにより確保されたものである。
【００１２】
部分領域２９０２、及び配線禁止領域２９０３が存在することにより、ＶＨの各方向上の配線トラック（Ｇセル２９０１全体に渡る直線）数は、着目する配線ルールによって変化する。図２９（ｂ）中に「○」で示すように、例えばＨ方向では、挟ピッチ領域ルールを採用すれば配線トラック数は５となり、標準ルールを採用すれば配線トラック数は２となる。同様にＶ方向では、挟ピッチ領域ルールを採用すれば配線トラック数は３となり、標準ルールを採用すれば配線トラック数は１となる。
【００１３】
このように、配線リソースとして計算される配線トラック数は着目する配線ルールによって変化する。その配線トラック数の相違は、計算される配線リソースが配線ルールによって異なるということの他に、適用される配線ルールが異なる領域間を通る配線は各配線ルールにより制限されることを意味する。その結果、例えば標準ルールと挟ピッチ領域ルールが混在するＧセル２９０１では、図２９（ｂ）に示すように、グリッド点間のピッチが異なるため、標準ルールを採用すると部分領域２９０２の境界を通る配線に使用できないグリッド点が部分領域２９０２内に生じる。
【００１４】
部分領域２９０２内で使用できないグリッド点は、狭ピッチ領域ルールを部分領域２９０２以外に適用することで使用可能となる。しかし、違反となるバイオレーションは、配線ルールによって異なる。このことから、本来、適用すべき配線ルール以外の配線ルールを適用した領域では、不適切な配線を行ってしまう可能性がある。そのような可能性があることもあり、小領域への分割は、単一の配線ルールのみが適用されるように行うことが重要と考えられる。
【００１５】
単一の配線ルールのみを適用させる小領域への分割は、例えば配線ルールが適用される部分領域毎の小領域への分割、或いはより小さい小領域への分割により行うことが可能である。しかし、それらは何れも、大きさがより小さい小領域を多数、発生させるか、その
可能性がある。例えば図２９（ｂ）に示す例では、部分領域毎の小領域への分割を行う場合、部分領域２９０２の周辺に標準ルールが適用される、より小さいＧセルを多数、発生させる。配線上の単位となる小領域の数が多くなるほど、自動配線に必要な計算時間は指数関数的に増大するから、これは望ましくない。単一の配線ルールのみが適用されるようにする小領域への分割では、このことも考慮すべきと考えられる。
【００１６】
本発明は、配線上の単位となる小領域の数の増大を抑えつつ、配線領域を単一の配線ルールが適用される小領域への分割を行い、自動配線を実施するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明を適用した１システムでは、配線領域データが示す配線領域を分割して複数の第１分割領域を生成し、配線ルールが適用される部分領域を示す配線ルール領域データが複数、配線領域に存在する場合に、生成した第１分割領域に基づいて、単一の配線ルール領域データが適用される第２分割領域を生成する。
【００１８】
このようにして第１分割領域、更には第２分割領域を生成することにより、最終的に残った第１分割領域および第２分割領域は共に単一の配線ルールが適用される。このため、配線ルールの混在による不適切な配線リソースの見積りや、不適切な配線を行ってしまう可能性が回避される。
【００１９】
第２分割領域は、生成済みの第１分割領域を基に、その第１分割領域を用いて生成する。つまり、第１分割領域を操作する形で生成する。このため、単一の配線ルールが適用されるように配線領域を分割することを考慮しなくとも済む。また、最終的に得られる第１分割領域および第２分割領域の総数も抑えられる。配線領域を分割して複数の第１分割領域を生成し、配線ルールが適用される部分領域を示す配線ルール領域データが複数、配線領域に存在する場合に、生成した第１分割領域に基づいて、単一の配線ルール領域データが適用される第２分割領域を生成する。
【００２０】
このようにして第１分割領域、更には第２分割領域を生成することにより、最終的に残った第１分割領域および第２分割領域は共に単一の配線ルールが適用される。このため、配線ルールの混在による不適切な配線リソースの見積りや、不適切な配線を行ってしまう可能性が回避される。これらの結果、設計者にとって作業が煩雑になるのは回避され、自動配線に要する計算時間が長くなるのは抑制される。
【発明の効果】
【００２１】
本発明を適用した場合には、配線上の単位となる小領域の数の増大を抑えつつ、配線領域を単一の配線ルールが適用される小領域への分割を行い、自動配線を実施することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による自動配線装置のシステム構成を示す図、図２は、その自動配線装置の構築方法を示す図である。
【００２３】
この自動配線装置は、図１に示すように、コンピュータ１０と、そのコンピュータ１０がアクセス可能なハードディスク装置、フラッシュメモリ、媒体駆動装置（例えば光ディスク装置）、或いは不図示の通信ネットワークを介して接続された外部装置（例えばデータベース（ＤＢ）サーバ）であるデータ記憶装置２０と、を備えた構成となっている。この自動配線装置は、図２に示すように、例えば後述する機能を搭載したコンピュータプロ
グラム３１を記録した記録媒体３０から媒体読取装置４０を介して読み出してコンピュータ１０が実行することにより実現される。このプログラム（以降「自動配線プログラム」と呼ぶ）３１は、通信ネットワーク、或いはハードディスク装置等の記憶装置により配布しても良い。
【００２４】
自動配線装置は、レイアウト設計によりセルの配置が決定したチップ、或いは部品の配置が決定したプリント基板を対象に自動配線を行う。自動配線を行う方法は、対象によって大きく異ならないことから、ここでは便宜的に、対象としてはプリント基板のみを想定する。
【００２５】
自動配線装置を構成するコンピュータ１０は、特には図示しないが、例えば一つ以上のＣＰＵ、半導体メモリ、外部記憶装置、媒体読取装置４０にアクセスするためのインターフェース、データ記憶装置２０にアクセスするためのインターフェース、及び通信ネットワークを介した通信を行う通信制御装置を備えたものである。記録媒体３０、或いは外部記憶装置に記録された自動配線プログラム３１は、最終的に半導体メモリに読み出され、ＣＰＵにより実行される。その自動配線プログラム３１をＣＰＵが実行することにより、自動配線装置が実現される。図１中に表記のＧセル（Ｇ−ｃｅｌｌ）生成部１１、Ｇセルリソース計算部１２、経路決定部１５、及び部品付属領域リソース計算部１６は、ＣＰＵが自動配線プログラム３１を実行することにより実現される構成要素である。
【００２６】
図２８は、本発明が適用可能なコンピュータシステムを示す斜視図である。ここで図２８を参照して、この自動配線装置を実現可能なコンピュータシステムについて具体的に説明する。
【００２７】
図２８に示すコンピュータシステム１００は、ＣＰＵや半導体メモリ、媒体駆動装置１０６及び外部記憶装置等を内蔵した本体部１０１、本体部１０１からの指示により画像を表示するディスプレイ１０２、コンピュータシステム１００に種々の情報を入力するためのキーボード１０３、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するマウス１０４、及び通信ネットワークを介して外部のデータベース等にアクセスし、他のコンピュータシステムに記憶されているプログラム等をダウンロード可能な通信装置１０５を有する。通信装置１０５は、例えばネットワーク通信カード、或いはモデムなどである。ディスク１１０等の可搬型記録媒体から媒体駆動装置１０６により読み出されるか、或いは通信装置１０５を使って他のコンピュータシステムの記録媒体１２０からダウンロードされる、コンピュータシステム１００に少なくともＣＡＤ機能を実現させるプログラム（ＣＡＤソフトウェア）は、例えばコンピュータシステム１００に入力されてコンパイルされる。自動配線プログラム３１は、そのプログラムの一つ、或いはそのプログラムを構成する一部として入力される。
【００２８】
コンパイルされたプログラムは、本体部１０１に搭載されたＣＰＵによって実行される。そのプログラムの実行によって、半導体集積回路やプリント基板の設計を支援する設計支援機能を有する設計支援システムとしてコンピュータシステム１００は動作する。プログラムは、例えばディスク１１０等のコンピュータ読み取り可能な記録媒体に格納されていても良い。コンピュータ読み取り可能な記録媒体は、ディスク１１０、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の可搬型記録媒体に限定されるものではなく、通信装置１０５や他の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。自動配線プログラム３１を含むプログラムは、コンパイル後のものであっても良い。
【００２９】
図２に示す構築方法を図２８に示すコンピュータシステム１００に適用する場合、ディスク１００は自動配線プログラム３１が格納されている記録媒体３０に、媒体読取装置４
０は媒体駆動装置１０６にそれぞれ相当する。コンピュータ１０は、例えばコンピュータシステム１００が相当する。データ記録装置２０は、例えば本体部１０１に搭載された外部記憶装置が相当する。これらの対応関係は一例であり、システム構成によって対応関係は変化する。
【００３０】
図１の説明に戻る。
Ｇセル生成部１１は、データ記憶装置２０からデータ群Ｄ１０を入力し、配線領域をＧセルに分割する。その分割結果はＧセル情報としてＧセルリソース計算部１２に出力する。
【００３１】
データ群Ｄ１０には、配線領域情報Ｄ１１、Ｇセル生成ルール情報Ｄ１２、部品配置情報Ｄ１３、部品情報Ｄ１４、ピン情報Ｄ１５、配線禁止情報Ｄ１６、配線ルール情報Ｄ１７、特殊ルール領域情報Ｄ１８、ネット情報Ｄ１９、及び線分情報Ｄ２０が含まれている。各情報Ｄ１１〜Ｄ１９、及びＧセル情報は、それぞれ以下のようなものである。図３〜図１４を参照して具体的に説明する。
【００３２】
配線領域情報Ｄ１１は、自動配線の対象となる範囲を示すものである。その形状は矩形としていることから、その範囲は対向する２つの頂点で管理している。２つの頂点の座標は一方を開始座標、他方を終了座標としている。座標はＸＹ座標を採用している。
【００３３】
Ｇセル生成ルール情報Ｄ１２は、配線領域をＧセルに分割するルールを定義したものである。そのルールは、ＸＹ軸上のＧセルの幅を少なくとも含むものである。
部品配置情報Ｄ１３は、配線領域に配置される部品毎に、その位置を示すものである。
【００３４】
図３は、配線禁止領域情報Ｄ１６のデータ構成を説明する図である。この配線禁止領域情報Ｄ１６は、配線領域情報Ｄ１１が示す配線領域内で配線を禁止する配線禁止領域の範囲を配線禁止領域毎に表したものである。各配線禁止領域には識別用のＩＤが割り当てられている。このことから配線禁止領域情報Ｄ１６は、ＩＤ、開始座標、終了座標、及び層の各項目のデータを備えた構成となっている。
【００３５】
配線禁止領域は、矩形形状としている。このことから開始座標、及び終了座標は、ＸＹ平面上、対向する２つの頂点の座標としている。それにより例えば配線禁止領域ＩＤが０の配線禁止領域では、その範囲はＸＹ座標値が共に０〜２０の部分であることを表している。配線禁止領域以外の領域の範囲も矩形形状とすることにより、その範囲は開始座標、及び終了座標で表している。ここではＸ軸に平行な方向をＨ方向、Ｙ軸に平行な方向をＶ方向と呼ぶことにする。
【００３６】
図１２は、配線領域内に設定された部分領域の例を示す図である。
配線領域内には、配線禁止領域の他に、通常の配線ルール（以降「標準ルール」）とは異なる配線ルール（以降「特殊ルール」と総称）が適用される部分領域が設定可能となっている。図１２中に表記の１２０１は配線禁止領域、１２０２は特殊ルールが適用される部分領域（以降「特殊ルール領域」）である。図１２中、左下に位置する配線禁止領域１２０１は、第１層の場合、配線禁止領域ＩＤが０の配線禁止領域に相当する。
【００３７】
図４は、特殊ルール領域情報Ｄ１８のデータ構成を説明する図である。この領域情報Ｄ１８は、特殊ルールが適用される領域の範囲、その領域に配置される部品、及び配線リソースを管理するためのものである。そのために、特殊ルール領域の識別用のＩＤ（特殊ルール領域ＩＤ）、適用される配線ルール（特殊ルール）を示すＩＤ（配線ルールＩＤ）、開始座標、終了座標、層、配置される部品のＩＤ（部品ＩＤ）、空き配線トラック数、及び空きグリッド数の各項目のデータを備えた構成となっている。図４中の「ｎｉｌ」は、未定義であることを表している。これは他の図でも同じである。
【００３８】
図５は、ピン情報Ｄ１５のデータ構成を説明する図である。このピン情報Ｄ１５は、部品等のピン毎に、そのピンの形状や位置等の詳細を示すものである。図５に示すように、ピン識別用のＩＤ（ピンＩＤ）、ピンの中心座標、ピンの形、ピンが存在する層、Ｘ方向の寸法、Ｙ方向の寸法、及び未結線か否かを示す孤立情報、の各項目のデータを備えた構成となっている。ピンの形は、形毎に割り当てた数値で表すようになっており、例えば円には０、矩形には１がそれぞれ割り当てられている。層は、ピンが存在する範囲を２つの数値で表すようになっている。それにより例えば「（１，６）」は、第１層から第６層までピンが存在していることを示している。孤立情報では、孤立（未結線）は１、結線は０でそれぞれ表すようになっている。半導体部品と接続、つまり導通するピンが導通部に相当する。
【００３９】
図６は、配線ルール情報Ｄ１７のデータ構成を説明する図である。この配線ルール情報Ｄ１７は、配線ルール毎に、配線が満たすべき条件を定義したものである。図６に示すように、配線ルールＩＤ、適用される層、配線幅、満たすべき最小の間隙（クリアランス）の各項目のデータを備えた構成となっている。間隙は、隣り合う物の組み合わせ毎に定義している。図６には、その組み合わせとして、ピンと配線、配線と配線の２つを示している。
【００４０】
図１４は、部分領域に適用される配線ルールの相違を説明する図である。図１４に示す部分領域１２０２ａ及び１２０２ｂの詳細で縦横に延びる線は、配線経路として選択可能な部分を示している。このことから、縦横の線が交差する交点がグリッド点に相当する。部分領域１２０２ａ及び１２０２ｂでそれぞれ示すＷ１及びＷ０は、配線（ワイヤ）幅と配線間の間隙を加算したピッチを表している。
【００４１】
図７は、ネット情報Ｄ１９のデータ構成を説明する図である。このネット情報Ｄ１９は、自動配線の対象となる配線識別用のネットＩＤ、適用すべき配線ルールＩＤ、通してはいけない領域の配線ルールＩＤ、配線が結ぶピンの間を示すピンＩＤ、配線を構成する部分である線分を示す線分ＩＤ、線分ＩＤが示す線分のなかで違反、或いは未配線となっているものの数を示す違反・未配線数、の各項目のデータを備えた構成となっている。通してはいけない領域の配線ルールは以降「許容外配線ルール」と呼ぶことにする。
【００４２】
図６に示すように、例えば配線ルールＩＤが０と１の配線ルールでは、間隙（クリアランス）が異なっている。このため、ＩＤが０の配線ルールを適用させた配線は、ＩＤが１の配線ルールを適用される領域を通すとバイオレーション（違反）となる可能性がある。このようなことから許容外配線ルールを定義している。許容外配線ルールの定義は、最終的に各Ｇセルには単一の配線ルールのみを適用させることにより可能となっている。
【００４３】
図１３は、配線を決定する２つのＧセル間に存在する特殊ルール領域により決定される配線経路の例を示す図である。２つのＧセルはＧセル１２０３Ｓ及び１２０３Ｔであり、その間には部分領域１２０２が存在している。Ｇセル１２０３Ｓ及び１２０３Ｔを接続する配線経路は図１３中、点線で表している。１２０３に付した「Ｓ」は配線経路の始点、１２０３に付した「Ｔ」は配線経路の終点を表している。このことから、単にＧセルを指す場合には符号として「１２０３」を用いる。
【００４４】
部分領域１２０２に許容外配線ルールが適用されていない場合、図１３（ａ）に示すように、Ｇセル１２０３Ｓ及び１２０３Ｔ間の配線経路は部分領域１２０２を通るように決定されるのが普通である。しかし、部分領域１２０２に許容外配線ルールが適用されている場合には、図１３（ｂ）に示すように、Ｇセル１２０３Ｓ及び１２０３Ｔ間の配線経路
は部分領域１２０２を避ける形で決定される。
【００４５】
図８は、線分情報Ｄ２０のデータ構成を説明する図である。ピン間を接続する配線は、複数層を通ることがある。そのような配線は、層毎に配線経路が決定される。この線分情報Ｄ２０は、配線経路をそのような層別に分けた部分（線分）で管理するための情報である。図８に示すように、線分識別用の線分ＩＤ、対応する配線経路のネットＩＤ、層、線分の始点、及び線分の終点の各項目のデータを備えた構成となっている。
【００４６】
図９は、部品情報Ｄ１４のデータ構成を説明する図である。この部品情報Ｄ１４は、部品毎に配線に係わる情報をまとめたものである。図９に示すように、部品ＩＤ、ＨＶの各方向上のピン数、ＨＶの各方向上に並ぶピンの間隔、及びＨＶの各方向上のピンサイズの各項目のデータを備えた構成となっている。
【００４７】
図１０は、Ｇセル情報Ｄ１のデータ構成を説明する図である。このＧセル情報Ｄ１４は、Ｇセル１２０３毎に、その範囲や配線に係わる情報をまとめたものである。図１０に示すように、Ｇセル１２０３識別用のＩＤ、領域を示す開始座標、及び終了座標、層、特殊ルール領域ＩＤ、配線リソースとして見積もったＨ方向、及びＶ方向の配線トラック数、配線リソースとして見積もったグリッド数、消費済みリソースグリッド数、ラベル伝搬元のＧセルＩＤ、ラベル値、当該Ｇセル１２０３が配線経路を探索するうえでソース（Ｓ）及びターゲット（Ｔ）の何れであるかを示すフラグ（ｆｌａｇ）、当該Ｇセル１２０３の４辺毎の消費済み配線トラック数（グリッド数）を備えた構成となっている。
消費済みリソースグリッド数、消費済み配線トラック数、ラベル伝搬元のＧセルＩＤ、ラベル値、及びフラグは、経路決定部１５によって更新される。
【００４８】
図１１は、各情報Ｄ１、及びＤ１４〜Ｄ２０間の関係を説明する図である。図１１に示すように、各情報Ｄ１、及びＤ１４〜Ｄ２０には、配線禁止情報Ｄ１６を除き、他の情報を参照可能とする項目データが存在する。このため図１１に示すように、或る情報から他の情報を順次、参照することができるようになっている。
【００４９】
Ｇセル生成部１１は、Ｇセル生成ルール情報Ｄ１２を参照し、配線領域１２００をＧセルに分割する。しかし、その分割では、配線領域１２００に特殊ルール領域が存在する場合、配線ルールが混在するＧセル１２０３が生成される可能性がある。このことから、配線ルールが混在するＧセル１２０３は、配線ルールが適用される領域の境界により複数の小領域に分割し、予め定めた条件を満たす、同じ配線ルールが適用される小領域をマージするようにしている。そのようにして、単一の配線ルールが適用されるように配線領域１２００を小領域に分割しつつ、小領域の数が増大するのを抑えるようにしている。ここでは原義的に、Ｇセル生成ルール情報Ｄ１２が示す生成ルールに従って生成するＧセルを「１次Ｇセル」、その１次Ｇセルを分割することで生成するＧセルの１部分を「２次Ｇセル」とそれぞれ呼ぶことにする。
【００５０】
このＧセル生成部１１を実現させるために実行される処理について、図１５〜図１７、図２１及び図２２を参照して詳細に説明する。
図２１は、Ｇセル生成部１１を実現させるＧセル生成処理のフローチャートである。図２１を参照して、そのＧセル生成処理について詳細に説明する。
【００５１】
先ず、ステップＳ１では、Ｇセル生成ルール情報Ｄ１２が示すＧセル生成ルールに従い、配線領域１２００に１次Ｇセルの境界線を発生し、その境界線で区切られる矩形を１次Ｇセルとする。それにより、１次セルはＧセル生成ルールが示すＸ、Ｙ方向の標準寸法（幅）の矩形として生成される。
【００５２】
ステップＳ１に続くステップＳ２では、１次セルのなかで特殊ルール領域に包含されるものの配線ルールＩＤとして、その特殊ルール領域に適用される特殊ルールの配線ルールＩＤを採用（転写）する。その後、ステップＳ３に移行する。
【００５３】
図１５は、１次セルの生成方法、及び１次セルのなかで単一の特殊ルールが適用される１次セルを説明する図である。
図１５において、縦横に引いた線は境界線を示している。それにより、図１５（ａ）に示すように１次Ｇセル１２０３が生成される。
【００５４】
特殊ルール領域１２０２内には、図１５（ｂ）に示すように、全てが包含される１次Ｇセル１２０３が存在する。その１次Ｇセル１２０３は、単一の特殊ルールが適用されるＧセル１２０３として扱われ、２次Ｇセルへの分割対象から除外される。
【００５５】
１次Ｇセル１２０３を包含する特殊ルール領域１２０２、及び他の特殊ルール領域１２０２では、１次Ｇセル１２０３に配線ルールを混在させる形となっている。このことからステップＳ３では、そのように配線ルールが混在する１次Ｇセル１２０３を２次Ｇセルに分割し、マージすべき２次Ｇセルをマージするマージ処理を実行する。その実行後は、ステップＳ４に移行して、２次Ｇセルに分割していない１次Ｇセル１２０３、２次Ｇセル、及びマージした２次ＧセルをＧセル情報Ｄ１に登録する。その登録を行った後、このＧセル生成処理を終了する。
【００５６】
図１６は、２次Ｇセルへの分割方法、及び２次Ｇセルのマージ方法を説明する図である。図１６（ａ）は、その分割方法、図１６（ｂ）はそのマージ方法を示している。
図１６（ａ）に示すように、２次Ｇセルへの分割は、特殊ルール領域１２０２の頂点のなかで１次Ｇセルの頂点と座標が一致していないものを抽出し、抽出した頂点を通る縦横の線をステップＳ１で生成した境界線と接するまで引くことで行う。図１５から追加された線は、抽出した頂点により生成されたものである。図１６（ａ）では、特殊ルール領域１２０２の頂点は点で示している。抽出した頂点を通る縦横の線のなかで境界線と一致するものは無視される。
【００５７】
抽出した頂点を通る縦横の線により、１次Ｇセル１２０３ｃは４つの２次Ｇセルに分割される。その１次Ｇセル１２０３ｃでは、先ず、横（Ｈ）方向上で隣り合い、且つ同じ配線ルールが適用されるという条件を満たす２次Ｇセルをマージして一つにする。このマージにより図１６（ｂ）に示すように、１次Ｇセル１２０３ｃには２つの２次Ｇセルが存在することになる。
【００５８】
次に、縦（Ｖ）方向上で隣り合い、且つ同じ配線ルールが適用されるという条件を満たす２次Ｇセルをマージして一つにする。このとき、１次Ｇセル１２０３ｃに存在する２つの２次Ｇセルは適用される配線ルールが異なっている。このため、２つの２次Ｇセルのマージは行われない。
【００５９】
図２２は、上記ステップＳ３として実行されるマージ処理のフローチャートである。ここで図２２及び図１７を参照して、そのマージ処理について更に詳細に説明する。その図１７は、マージ処理の主要なステップで実行される処理内容を説明する図である。対応するステップの処理は符号で示してある。
【００６０】
先ず、ステップＳ１１では、１次Ｇセル１２０３のなかで未処理のものを１つ選択する。続くステップＳ１２では、選択した１次Ｇセル１２０３内に存在する、特殊ルール領域の頂点を抽出してその座標を記憶する。このとき、上記したように、１次Ｇセル１２０３の頂点と座標が一致するものは抽出の対象から除外する。その後はステップＳ１３に移行する。
【００６１】
ステップＳ１３では、選択した１次Ｇセル１２０３内に抽出すべき特殊ルール領域の頂点があったか否か判定する。抽出すべき頂点が存在しなかった場合、判定はＮＯとなって上記ステップＳ１１に戻る。抽出すべき頂点が存在した場合、判定はＹＥＳとなってステップＳ１４に移行する。
【００６２】
ステップＳ１４では、抽出した頂点を通る縦横の線（２次分割線）を発生させる。次に移行するステップＳ１５では、１次Ｇセル１２０３の境界線（辺）と２次分割線によりその１次Ｇセル１２０３を複数の２次Ｇセルに分割する。その次に移行するステップＳ１６では、２次Ｇセルのなかで特殊ルール領域に包含されるものにそのＩＤを転写（設定）する。その転写により、各２次Ｇセルに適用される特殊ルールを判別可能とさせる。図１７に示す例では、特殊ルール領域ＩＤが転写された２次Ｇセルは１〜９の数字で示している。その転写を行った後はステップＳ１７に移行する。
【００６３】
ステップＳ１７では、横（Ｈ）方向上で隣り合い、且つ特殊ルール領域ＩＤが同じという条件を満たす２次Ｇセルをマージして一つにする。次のステップＳ１８では、縦（Ｖ）方向上で隣り合い、且つ特殊ルール領域ＩＤが同じという条件を満たす２次Ｇセルをマージして一つにする。
【００６４】
そのマージにより、図１７に示す例では、２次Ｇセルは１〜９の数字で示す計９つとなっている。このことから、２次Ｇセルのマージにより、Ｇセルの増加を大幅に抑制していることがわかる。
【００６５】
マージは、図１７に示すように、同じ幅の２次Ｇセルで行う。その幅は、１次Ｇセル１２０３、特殊ルール領域１２０２の形状が共に矩形であることから、特殊ルール領域１２０２内の２次Ｇセルでは縦横ともに一致する。この結果、隣接する２次Ｇセルは１つにマージされることとなる。
【００６６】
ステップＳ１８の処理を実行することにより、配線ルールが混在する１つの１次Ｇセル１２０３への操作が終了し、その操作によって最終的に得られた２次Ｇセルは全て１つのＧセル１２０３としてＧセル情報Ｄ１に登録される。
【００６７】
１つの１次Ｇセル１２０３の操作が終了しても、他に操作すべき１次Ｇセルが存在している可能性がある。このことから図２２には特には図示していないが、ステップＳ１８の処理を終了した後、未処理の１次Ｇセル１２０３が存在するか否かの判定を行うことにより、未処理の１次Ｇセル１２０３が存在していればステップＳ１１に戻り、未処理の１次Ｇセルが存在していなければ、ここでマージ処理を終了するようになっている。このようなことから図２２に示すマージ処理は、配線ルールが混在する１つの１次Ｇセルに対して実行される処理に着目したものとなっている。
【００６８】
Ｇセル生成部１１を実現させるために、上述した処理がコンピュータ１０で実行される。その実行結果はＧセルリソース計算部１２に渡される。
Ｇセルリソース計算部１２は、Ｇセルリソース計算部Ａ１３、及びＧセルリソース計算部Ｂ１４を備えた構成である。Ｇセルリソース計算部Ｂ１４は部品との関係から特殊ルールが適用されているＧセル１２０３を対象に配線リソースを計算し、Ｇセルリソース計算部Ａ１３はそのような関係を考慮せずに配線ルールが適用されているＧセル１２０３を対象に配線リソースを計算する。Ｇセルリソース計算部Ａ１３、及びＧセルリソース計算部Ｂ１４はそれぞれ、以下の処理を実行することで実現される。図２３及び図２４を参照して、詳細に説明する。
【００６９】
部品との関係から特殊ルールが適用されたか否かは、例えば特殊ルール領域情報Ｄ１８に、部品ＩＤとして０以外の値が格納されているか否かにより判定するようにしている。これは、０以外の値は何らかの部品が搭載されることを示しており、その部品の搭載によって特殊ルールが適用された可能性が考えられるからである。
【００７０】
図２３は、Ｇセルリソース計算部Ａ１３を実現するために実行されるＧセルリソース計算Ａ処理のフローチャートである。始めに図２３を参照して、その計算Ａ処理について詳細に説明する。その図２３には、１つのＧセル１２０３の配線リソースを計算するために実行する処理を抜粋して示している。
【００７１】
先ず、ステップＳ２１では、未処理の１つのＧセル１２０３を選択し、選択したＧセル１２０３に適用された配線ルールのＩＤから、配線ルール情報Ｄ１７を参照して配線幅と間隙（配線間と配線：ピン間の少なくとも２つが存在）を取得する。次のステップＳ２２では、配線幅と配線間間隙から配線１本当たりの占有幅を計算し、その占有幅でＧセル１２０３内の配線トラック（縦横の線）とグリッド点を生成する。その生成後はステップＳ２３に移行して、グリッド点のうち、Ｇセル１２０３内に存在するピン、或いは配線禁止領域が占有する範囲内にないものの数を計算してＧセル情報Ｄ１に記録する。ステップＳ２４にはその後に移行する。
【００７２】
ステップＳ２４では、横（Ｈ）方向の配線トラックのうち、Ｇセル１２０３内に存在するピン、或いは配線禁止領域が占有する範囲と交差しないものの数を計算してＧセル情報Ｄ１に記録する。続くステップＳ２５では、縦（Ｖ）方向の配線トラックのうち、Ｇセル１２０３内に存在するピン、或いは配線禁止領域が占有する範囲と交差しないものの数を計算してＧセル情報Ｄ１に記録する。その記録により、１Ｇセル１２０３への処理が終了し、他に未処理のＧセル１２０３が存在していれば、ステップＳ２１に戻る。他に未処理のＧセル１２０３が存在していなければ、ここでＧセルリソース計算Ａ処理を終了する。
【００７３】
図１４に示す特殊ルール領域１２０２ａ及び１２０２ｂをそれぞれ標準ルールが適用されるＧセル１２０３と見なす場合、特殊ルール領域１２０２ａでは、ピン、及び配線禁止領域が存在していないことから、縦横（ＨＶ）方向共に、配線トラック数は３と計算され、グリッド数は９と計算されることになる。特殊ルール領域１２０２ｂでは、ピン、及び配線禁止領域が存在していないことから、縦横方向共に、配線トラック数は４と計算され、グリッド数は１６と計算されることになる。
【００７４】
Ｇセルリソース計算部Ｂ１４は、部品との関係から特殊ルールが適用されるＧセル１２０３を対象に配線リソースを計算する。その計算は、部品付属領域のリソース計算部１６から渡される、特殊ルール領域１２０２の配線リソースを用いて行う。このことからＧセルリソース計算部Ｂ１４の実現のために実行される処理を説明する前に、このリソース計算部１６を実現させるために実行される部品付属領域のリソース計算処理について、図２７に示すそのフローチャートを参照して詳細に説明する。その図２７には、１つの特殊ルール領域１２０２の配線リソースを計算するために実行する処理を抜粋して示している。リソース計算部１６は、部品情報Ｄ１４、ピン情報Ｄ１５、配線ルール情報Ｄ１７及び特殊ルール領域情報Ｄ１８を含むデータ群Ｄ３０を参照して、配線リソースの計算を行う。
【００７５】
先ず、ステップＳ７１では、特殊ルール領域情報Ｄ１８を参照し、部品情報Ｄ１４を参照しているもの、つまり部品ＩＤとして０以外の値が格納されている特殊ルール領域１２０２を一つ選択する。続くステップＳ７２では、部品ＩＤが割り当てられた部品のピン間隔（ピン間距離）、ピンサイズ、及び配線ルールＩＤが割り当てられた配線ルールにより、ピン間の配線通過可能な本数を計算する。その後はステップＳ７３に移行する。
【００７６】
ステップＳ７３では、特殊ルール領域１２０２内のＨ方向、Ｖ方向で配線を収容可能な配線トラック数を計算し、その計算結果を空き配線トラック数として特殊ルール領域情報Ｄ１８に格納する。次のステップＳ７４では、特殊ルール領域１２０２内で未使用のグリッド点の数を計算し、その計算結果を特殊ルール領域情報Ｄ１８に格納する。その格納により、１特殊ルール領域１２０２への処理が終了し、他に未処理の特殊ルール領域１２０２が存在していれば、ステップＳ７１に戻る。他に未処理の特殊ルール領域１２０２が存在していなければ、ここで部品付属領域のリソース計算処理を終了する。このようなことから、部品付属領域のリソース計算部１６の計算結果は、特殊ルール領域情報Ｄ１８としてＧセルリソース計算部Ｂ１４に渡される。
【００７７】
図２４は、Ｇセルリソース計算部Ｂ１４を実現するために実行されるＧセルリソース計算Ｂ処理のフローチャートである。次に図２４を参照して、その計算Ｂ処理について詳細に説明する。その図２４には、１つの特殊ルール領域１２０２に包含されるＧセル１２０３の配線リソースを計算するために実行する処理を抜粋して示している。
【００７８】
先ず、ステップＳ３１では、特殊ルール領域情報Ｄ１８を参照して、未処理の特殊ルール領域１２０２を１つ選択し、選択した特殊ルール領域１２０２で配線リソースとして格納されているＨ方向の空き配線トラック数、Ｖ方向の空き配線トラック数、空きグリッド数、更には開始座標、及び終了座標（図中「Ｈ方向寸法、Ｖ方向寸法」と表記）を取得し、開始座標、及び終了座標が示す特殊ルール領域１２０２内に包含されるＧセル１２０３を特定する。その後はステップＳ３２に移行する。
【００７９】
ステップＳ３２では、特殊ルール領域１２０２の配線トラック数を、特定した各Ｇセル１２０３のＨ方向、及びＶ方向の寸法に応じて比例配分し、その結果をＧセル情報Ｄ１に格納する。次のステップＳ３３では、特殊ルール領域１２０２の空きグリッド数を、特定した各Ｇセル１２０３の面積に応じて比例配分し、その結果をＧセル情報Ｄ１に格納する。その格納により、１特殊ルール領域１２０２への処理が終了し、他に未処理の対象となる特殊ルール領域１２０２が存在していれば、ステップＳ３１に戻る。他に未処理の対象となる特殊ルール領域１２０２が存在していなければ、ここでＧセルリソース計算Ｂ処理を終了する。
【００８０】
図１８は、特殊ルール領域１２０２の配線リソースの各Ｇセル１２０３への配分方法を説明する図である。図１８において、Ｈ方向、及びＶ方向に延びる線は配線トラックを示し、１８０１を付した丸はピンを示している。図１８の上側に示すような特殊ルール領域１２０２では、Ｈ方向、Ｖ方向ともに、空き配線トラック数は４、空きグリッド数は４０と計算される。
【００８１】
この特殊ルール領域１２０２に４つのＧセルＧｃ１〜４が包含され、各ＧセルＧｃ１〜４のＨ方向上の寸法（幅）は、図中、点線で示す線で分割される矩形の数で表現すると、ＧセルＧｃ１及びＧｃ３では１１、ＧセルＧｃ２及びＧｃ４では５となる。同様にＶ方向の寸法は、ＧセルＧｃ１及びＧｃ２では１１、ＧセルＧｃ３及びＧｃ４では５となる。ＧセルＧｃ１〜４の各面積は、それらＨ方向、及びＶ方向の寸法を乗算して得られるものとなる。
【００８２】
このことから、比例配分されるＨ方向の配線トラック数は、ＧセルＧｃ１及びＧｃ２では３、ＧセルＧｃ３及びＧｃ４では１となる。Ｖ方向の配線トラック数は、ＧセルＧｃ１及びＧｃ３では３、ＧセルＧｃ２及びＧｃ４では１となる。グリッド数は、ＧセルＧｃ１では２２、ＧセルＧｃ２では６、ＧセルＧｃ３では１０、ＧセルＧｃ４では２となる。消費される配線リソースは、Ｈ方向の１本の配線トラックに配置された配線では、ＧセルＧ
ｃ１及びＧｃ３は３グリッド、ＧセルＧｃ２及びＧｃ４は１グリッドとなる。Ｖ方向の１本の配線トラックに配置された配線では、ＧセルＧｃ１及びＧｃ２は３グリッド、ＧセルＧｃ３及びＧｃ４は１グリッドとなる。Ｈ方向から入ってＶ方向、或いはＶ方向から入ってＨ方向にぬける配線では、ＧセルＧｃ１は６グリッド、ＧセルＧｃ２及びＧｃ３は４グリッド、ＧセルＧｃ４は２グリッドとなる。この消費グリッド数は、ピン１８０１の存在を考慮して計算したものである。
【００８３】
このようにして、Ｇセルリソース計算部１２により、各Ｇセル１２０３の配線リソースが計算され、その計算結果がＧセル情報Ｄ１に格納される。経路決定部１５は、その配線リソースの範囲内に、ネット情報Ｄ１９に登録された配線の経路をＧセル１２０３単位で決定する。
【００８４】
ところで、ピン等の配線の障害物が存在する領域では、配線トラックと障害物との間の位置関係によって、配線リソースが変化する場合がある。このことについて、図１９を参照して具体的に説明する。その図１９は、配線トラックと障害物であるピンとの間の位置関係によって変化する配線リソースを説明する図である。
【００８５】
図１９（ａ）は、ピン１８０１と配線トラックの位置関係が最適なケースを示し、図１９（ｂ）はその位置関係が最適でないケースを示している。図１９（ａ）及び（ｂ）において、縦と横の線は配線トラックを示している。ピン１８０１の断面形状は矩形である。
【００８６】
図１９（ａ）に示す最適なケースでは、グリッド数は１２となるのに対し、図１９（ｂ）に示す最適でないケースではグリッド数は７となる。Ｈ方向、及びＶ方向の空き配線トラック数は、図１９（ａ）に示す最適なケースでは共に２となるのに対し、図１９（ｂ）に示す最適でないケースでは共に１となる。このように位置関係によって配線リソースが変化することから本実施形態では、ピン（障害物）１８０１間の間隔、ピンサイズ、及び配線ルールを参照して、その位置関係を調整することにより、配線リソースが最大となるようにしている。
【００８７】
図２０は、障害物間に通すことが可能な配線の最大数の算出方法を説明する図である。障害物としてはピン２００１を想定している。
隣り合うピン２００１間のピン間隔をＤ、ピン２００１の半径をｒ、ピン２００１と配線間の間隙（クリアランス）をＣｐ、配線幅を２ｗ、配線間の間隙（クリアランス）をＣｌとすると、ピン２００１間で配線用に残された距離Ｌは
Ｌ＝Ｄ−２（ｒ＋Ｃｐ）
により算出される。このとき、Ｌ≧２ｗの関係が成立していれば配線は少なくとも１つ配置することができ、（Ｌ−２ｗ）／（２ｗ＋Ｃｌ）≧１の関係が成立すれば配線は２つ以上、配置することができる。このことから、最大、配置可能な配線数ｔは
ｔ＝１＋ｆｌｏｏｒ（（Ｌ−２ｗ）／（２ｗ＋Ｃｌ））
により算出される。ｆｌｏｏｒは、（）内の数値で最大となる整数値を求める演算子を表している。
【００８８】
部品（ＢＧＡ等）のピン配列がｈ×ｖと想定した場合、その部品が配置される領域で見積もられる空き配線トラック数は、Ｈ方向のものをＴｈ、Ｖ方向のものをＴｖとすると
Ｔｈ＝ｔ（ｈ−１）
Ｔｖ＝ｔ（ｖ−１）
により求めることができる。空きグリッド数Ｇは
Ｇ＝（Ｔｈ＋ｈ）（Ｔｖ＋ｖ）−ｈｖ
により求めることができる。
【００８９】
コンピュータ１０は、この経路決定部１５を実現するために図２５及び図２６にフローチャートを示す処理を実行する。図２５及び図２６を参照して、経路決定部１５を実現するために実行される処理について詳細に説明する。
【００９０】
図２５は、経路決定部１５を実現させる経路決定処理のフローチャートである。始めに図２５を参照して、その経路決定処理について詳細に説明する。図２５には、１つの配線の経路を決定するために実行する処理を抜粋して示している。
【００９１】
Ｇセル１２０３単位での配線経路の決定では、配線経路を順次、決定していくことになる。このため、最初から他の配線経路を考慮した決定を行うことはできない。このことから、配線経路の決定を繰り返し行い、前に行った決定を次の決定に反映させることにより、最終的に適切な配線経路を決定するようになっている。
【００９２】
先ず、ステップＳ４１では、ネット情報Ｄ１９に登録されている順序に従って、配線対象とする配線（ネット）を１つ選択する。次のステップＳ４２では、現在対象にしている配線は今回以前に持つ決定結果（既存経路）を持つなら一旦、棄却し、その棄却に合わせて、その既存経路に含まれるＧセル１２０３のＧセル情報Ｄ１中の消費済みリソースグリッド数、及びピン情報Ｄ１５中のその既存経路によって接続されるピンの孤立情報を更新する。その後、ステップＳ４３に移行する。既存経路を持っていなければ、このような更新を行うことなく、ステップＳ４３に移行する。
【００９３】
ステップＳ４３では、棄却した既存経路の代わりとする配線経路を探索する概略経路探索処理を実行する。続くステップＳ４４では、その探索によって得られた結果を、ネット情報Ｄ１９、線分情報Ｄ２０に格納する。その次のステップＳ４５では、探索結果である配線経路に含まれるＧセル１２０３のＧセル情報Ｄ１中の消費済みリソースグリッド数を更新する。その更新を行った後はステップＳ４６に移行する。
【００９４】
ステップＳ４６では、ネット情報Ｄ１９に登録された配線の経路を一通り決定したか否か判定する。他に経路を決定すべき配線が残っている場合、判定はＮＯとなって上記ステップＳ４１に戻り、次に対象とする配線を１つ選択する。他に経路を決定すべき配線が残っていない場合には、判定はＹＥＳとなってステップＳ４７に移行する。
【００９５】
ステップＳ４７では、一通り配線経路を決定した回数である再配線回数の記録をインクリメントする。次のステップＳ４８では、インクリメント後の再配線回数が所定値に達したか否か判定する。その再配線回数が所定値と一致した場合、判定はＹＥＳとなり、ここで経路決定処理を終了する。再配線回数が所定値未満であった場合には、判定はＮＯとなり、ステップＳ４９で次に対象とする配線をネット情報Ｄ１９の先頭に登録されているものとした後、上記ステップＳ４２に移行する。
【００９６】
図２６は、上記ステップＳ４３として実行される概略経路探索処理のフローチャートである。次に図２６を参照して、概略経路探索処理について詳細に説明する。この概略経路探索処理は、上述したように、図２５のステップＳ４１で選択した配線の経路を探索により決定するために実行される。
【００９７】
先ず、ステップＳ６１では、上記ステップＳ４１で選択した配線が結ぶピンのなかの一つが配置されるＧセル１２０３をソース（Ｓ）、それ以外のピンが配置されるＧセル１２０３、及びそれ以外のピンが配置されるＧセル１２０３までの仮決定した配線経路（図中「同ネット仮決定経路」と表記）が通るＧセル１２０３をターゲット（Ｔ）とする。ＳとしたＧセル１２０３のラベル値は初期値の０とし、ＴとしたＧセル１２０３のラベル値は初期値として設定可能な最大値（図中「∞」と表記）とする。ＳとしたＧセル１２０３はそのＩＤを例えば半導体メモリ上に確保した作業領域であるラベルフロントに登録する。これらのことを行った後、ステップＳ６２に移行する。ここでは、配線が結ぶピンが配置されたＧセル１２０３と配線経路が通るＧセル１２０３とを区別するために、そのピンが配置されたＧセル１２０３のＴは「最終Ｔ」と呼ぶことにする。Ｓ或いはＴの設定、ラベル値の設定はＧセル情報Ｄ１を対象に行う。
【００９８】
ステップＳ６２では、ラベルフロントに登録したＳのＧセル１２０３毎に、そのＧセル１２０３から一つずつＧセル１２０３を伝搬させていくことにより最終ＴのＧセル１２０３に至る経路の探索を行う。
【００９９】
その探索では、伝搬元となるＧセル１２０３の伝搬先とするＧセル１２０３にラベリング、つまり伝搬先Ｇセル１２０３のラベル値の更新を必要に応じて行う。これは以下のような理由からである。
【０１００】
ＳとするＧセル１２０３から最終ＴとするＧセル１２０３までの配線経路として考えられるものが複数、存在するのが普通である。探索は、ＳとするＧセル１２０３から最終ＴとするＧセル１２０３まで１つずつＧセル１２０３を伝搬させていくことにより、考えられる配線経路の全てを対象にする形で行う。ラベリングは、伝搬元Ｇセル１２０３のラベル値に所定値を加算した値を伝搬先Ｇセル１２０３のラベル値とする形で行う。このため、前に伝搬していることがある伝搬先Ｇセル１２０３では既に最大値以外のラベル値が設定されている。ラベル値はその値が大きくなるほど、配線経路が長くなることを示している。配線経路はより短いほうが望ましい。このようなことから、伝搬先Ｇセル１２０３に既に更新されたラベル値がラベリングによる値より小さければ、その伝搬先Ｇセル１２０３までの経路としてより短い経路が探し出せていることになる。より長くなる経路を探索する必要はない。伝搬先Ｇセル１２０３のラベル値の更新を必要に応じて行うのはこのようなことからである。それにより、不要な探索はそれが判明した時点で終了するようにしている。その結果、Ｇセル情報Ｄ１のラベル値としては最小値が格納され、伝搬元ＧセルＩＤとしては最小値のラベル値が得られたＧセル１２０３のＩＤが格納される。
【０１０１】
伝搬先Ｇセル１２０３に必要な配線リソースが残っていない場合がある。その場合、ラベリングでは、その伝搬先Ｇセル１２０３を通る配線経路を抽出しないように、予め定めた値（ペナルティ値）を加算するようにしている。
【０１０２】
また、ネット情報Ｄ１９には、配線を通してはいけない許容外配線ルールが必要に応じて格納されている。このことから伝搬は、対象としている配線にとって配線ルール上、通してはいけないことになっているＧセル１２０３を除外して行う。それにより、図１３に示すような配線経路の決定が実現される。
【０１０３】
伝搬先Ｇセル１２０３が最終ＴとするＧセル１２０３であった場合、既にラベル値が更新されていればそのラベル値を今回のラベリングによるラベル値と比較し、ラベリングによるラベル値のほうが小さことを条件に、ラベリングによるラベル値を保存することにより更新する。ラベル値が未更新であれば、ラベリングによるラベル値を保存し、最終ＴのＧセル１２０３をラベルフロントに登録する。
【０１０４】
ステップＳ６２では、上述したようなことを行い、最終ＴとするＧセル１２０３毎に、ＳとするＧセル１２０３から最終ＴとするＧセル１２０３までの経路のなかでラベル値が最小となる経路を抽出する。その抽出を行った後にステップＳ６３に移行する。
【０１０５】
ステップＳ６３では、最終ＴとするＧセル１２０３毎に、そのＧセル１２０３から伝搬元Ｇセル１２０３を順次バックトレースして、最小レベル値で到達した経路線分を作成し
、それを仮決定経路（概略経路）として概略経路情報Ｄ４０に追加する。ラベリングによる探索で使用した伝搬元情報とラベル値は初期化し、仮決定経路を作成したピンのピン情報Ｄ１５中の孤立情報を更新して０にする。そのようなことを行った後、ステップＳ６４に移行する。ここで伝搬元情報とラベル値は、探索した経路毎に有する、その経路を通るＧセル１２０３のＩＤ群、及び各Ｇセル１２０３のラベル値のことである。概略経路情報Ｄ４０に追加（登録）される仮決定経路は、バックトレースによって得られたＧセル１２０３のＩＤの順序を含む組み合わせである。この仮決定経路の他に、その仮決定経路により接続されるピンのＩＤ等も併せて概略経路情報Ｄ４０に登録される。
【０１０６】
ステップＳ６４では、図２５のステップＳ４１で選択した配線が結ぶピンのなかで仮決定経路が作成されていないピンがあるか否か判定する。ラベルフロントに登録したＳのＧセル１２０３、或いは最終ＴとするＧセル１２０３のなかで仮決定経路がないものが存在する場合、判定はＹＥＳとなって上記ステップＳ６１に戻り、決定すべき仮決定経路を探索するための初期設定を行う。それらのなかで仮決定経路がないものが存在しない場合には、判定はＮＯとなり、ここで概略経路探索処理を終了する。
【０１０７】
なお、本実施形態では、２次Ｇセルを含むＧセルは全て矩形とすることにより、隣接するＧセル間の対応関係の特定を容易としているが、矩形以外の形状としても良い。このこともあり、単一の配線ルールが適用される領域の生成方法自体は特に限定されるものではない。また、自動配線装置は、専用の装置として説明しているが、自動レイアウト処理を実行する自動レイアウト装置等に搭載させる形で実現させても良い。
【図面の簡単な説明】
【０１０８】
【図１】本実施形態による自動配線装置のシステム構成を示す図である。
【図２】本実施形態による自動配線装置の構築方法を示す図である。
【図３】配線禁止領域情報Ｄ１６のデータ構成を説明する図である。
【図４】特殊ルール領域情報Ｄ１８のデータ構成を説明する図である。
【図５】ピン情報Ｄ１５のデータ構成を説明する図である。
【図６】配線ルール情報Ｄ１７のデータ構成を説明する図である。
【図７】ネット情報Ｄ１９のデータ構成を説明する図である。
【図８】線分情報Ｄ２０のデータ構成を説明する図である。
【図９】部品情報Ｄ１４のデータ構成を説明する図である。
【図１０】Ｇセル情報Ｄ１のデータ構成を説明する図である。
【図１１】各情報Ｄ１、及びＤ１４〜Ｄ２０間の関係を説明する図である。
【図１２】配線領域内に設定された部分領域の例を示す図である。
【図１３】配線を決定する２つのＧセル間に存在する特殊ルール領域により決定される配線経路の例を示す図である。
【図１４】部分領域に適用される配線ルールの相違を説明する図である。
【図１５】１次セルの生成方法、及び１次セルのなかで単一の特殊ルールが適用される１次セルを説明する図である。
【図１６】２次Ｇセルへの分割方法、及び２次Ｇセルのマージ方法を説明する図である。
【図１７】マージ処理の主要なステップで実行される処理内容を説明する図である。
【図１８】特殊ルール領域１２０２の配線リソースの各Ｇセル１２０３への配分方法を説明する図である。
【図１９】配線トラックと障害物であるピンとの間の位置関係によって変化する配線リソースを説明する図である。
【図２０】障害物間に通すことが可能な配線の最大数の算出方法を説明する図である。
【図２１】Ｇセル生成処理のフローチャートである。
【図２２】マージ処理のフローチャートである。
【図２３】Ｇセルリソース計算Ａ処理のフローチャートである。
【図２４】Ｇセルリソース計算Ｂ処理のフローチャートである。
【図２５】経路決定処理のフローチャートである。
【図２６】概略経路探索処理のフローチャートである。
【図２７】部品付属領域のリソース計算処理のフローチャートである。
【図２８】本発明が適用可能なコンピュータシステムを示す斜視図である。
【図２９】Ｇセルに配線ルールが混在することで生じる問題を説明する図である。
【符号の説明】
【０１０９】
１０      コンピュータ
１１      Ｇセル生成部
１２      Ｇセルリソース計算部
１３      Ｇセルリソース計算部Ａ
１４      Ｇセルリソース計算部Ｂ
１５      経路決定部
１６      部品付属領域のリソース計算部
２０      データ記憶装置
３０      記録媒体
３１      コンピュータプログラム
４０      媒体読取装置
１２００      配線領域
１２０２      特殊ルール領域
１２０３      Ｇセル
Ｄ１１      配線領域情報
Ｄ１２      Ｇセル生成ルール情報
Ｄ１３      部品配置情報
Ｄ１４      部品情報
Ｄ１５      ピン情報
Ｄ１６      配線禁止情報
Ｄ１７      配線ルール情報
Ｄ１８      特殊ルール領域情報
Ｄ１９      ネット情報
Ｄ２０      線分情報
【図１】
2010097468.tif 000003
【図２】
2010097468.tif 000004
【図３】
2010097468.tif 000005
【図４】
2010097468.tif 000006
【図５】
2010097468.tif 000007
【図７】
2010097468.tif 000008
【図８】
2010097468.tif 000009
【図９】
2010097468.tif 000010
【図１０】
2010097468.tif 000011
【図１１】
2010097468.tif 000012
【図２１】
2010097468.tif 000013
【図２２】
2010097468.tif 000014
【図２３】
2010097468.tif 000015
【図２４】
2010097468.tif 000016
【図２５】
2010097468.tif 000017
【図２６】
2010097468.tif 000018
【図２７】
2010097468.tif 000019
【図２８】
2010097468.tif 000020
【図６】
2010097468.tif 000021
【図１２】
2010097468.tif 000022
【図１３】
2010097468.tif 000023
【図１４】
2010097468.tif 000024
【図１５】
2010097468.tif 000025
【図１６】
2010097468.tif 000026
【図１７】
2010097468.tif 000027
【図１８】
2010097468.tif 000028
【図１９】
2010097468.tif 000029
【図２０】
2010097468.tif 000030
【図２９】
2010097468.tif 000031