(57)【要約】【課題】積層された複数の配線層とその層間を接続するビア層を有する半導体回路の半導体基板上に配置された複数の論理素子間の接続を行うための配線情報生成技術に関し、配線処理時に配線層−ビア層間の最小スペーシングルール違反を回避する。【解決手段】仮想図形作成部２０３は、配線層−ビア層スペーシングルールが適用されるべき配線層又はビア層上の一方の層上の端子図形、障害物図形、配線、又はビア図形に対応して、他方の層上に仮想図形を作成する。配線禁止領域作成部（その２）２０７は、当該仮想図形に対応し配線層−ビア層間スペーシング値を考慮した配線禁止領域を、当該他方の層上に配置設定する。これにより、１つの層のスペーシングルールのみを考慮して動作する配線経路探索処理をそのまま使って、配線層との間のスペーシングルールを考慮した配線情報の生成が実現される。【選択図】図２
2010079422.tif 000002
【特許請求の範囲】
【請求項１】
積層された複数の配線層と前記複数の配線層を接続するビア層を有する半導体回路の半導体基板上に配置された複数の論理素子間の接続を行う配線情報生成装置において、
前記複数の配線層のうち配線を行う配線層を示す配線層番号と前記複数の配線層を接続するビア層を表すビア層番号と配線規則に基づくスペーシング情報を入力する入力部と、
前記論理素子の端子図形を規定する端子図形テーブルと前記論理素子内部における配線禁止領域を規定する論理素子配線禁止領域テーブルと前記論理回路における配線禁止領域を規定する配線禁止領域テーブルを格納する記憶部と、
前記入力された配線層番号又はビア層番号に基づいて、前記記憶部に格納された前記端子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域を、前記配線禁止領域テーブルに追加するとともに、前記配線層番号又は前記ビア層番号に基づき、前記複数のビア層のうちいずれかのビアと前記一の配線間における第１のスペーシング情報を取得して前記配線禁止領域テーブルに追加する配線禁止領域生成部と、
入力された前記論理回路の接続情報と前記論理回路の配置情報と前記配線禁止領域テーブルが有する配線禁止領域情報に基づいて、前記複数の配線層のうち一の配線層における配線情報を生成する配線情報生成部とを有することを特徴とする配線情報生成装置。
【請求項２】
前記配線禁止領域生成部は、
前記記憶部に格納された前記端子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域に基づいて仮想図形を生成し、生成した前記仮想図形に基づいて新たな配線禁止領域を生成することにより、前記端子図形の領域及び前記論理素子配線禁止領域を、前記配線禁止領域テーブルに追加することを特徴とする請求項１記載の配線情報生成装置。
【請求項３】
前記配線情報生成装置はさらに、
前記複数の配線のうち前記一の配線と他の配線間における第２のスペーシング情報を取得し、取得した前記第２のスペーシング情報を、所定の条件に基づいて、前記配線禁止領域テーブルに追加する仮想図形生成部を有することを特徴とする請求項１に記載の配線情報生成装置。
【請求項４】
前記配線禁止領域生成部は、
前記第１のスペーシング情報が設定される前記配線層及び前記ビア層の組における一方の層上に配置される前記端子図形の領域又は前記論理素子配線禁止領域と前記第１のスペーシング情報とから、前記配線禁止領域を前記組における他方の層上に設定し、前記配線禁止領域テーブルに追加することを特徴とする請求項１乃至３のいずれか１項に記載の配線情報生成装置。
【請求項５】
前記第１のスペーシング情報は、前記半導体基板を水平面とした場合における、前記複数のビア層のうちいずれかのビアと前記一の配線間の水平距離を表し、前記第２のスペーシング情報は、前記半導体基板を水平面とした場合における、前記複数の配線のうち前記一の配線と他の配線間の水平距離を表すことを特徴とする請求項２乃至４のいずれか１項に記載の配線情報生成装置。
【請求項６】
前記記憶部は、既設の配線を規定する配線テーブルと既設のビア図形を規定するビア図形テーブルを更に格納し、
前記配線禁止領域生成部は、前記入力された配線層番号又はビア層番号に基づいて、前記記憶部に格納された前記配線テーブル及び前記ビア図形テーブルを検索して得られた配線の領域又はビア図形の領域を、前記配線禁止領域テーブルに更に追加することを特徴と
する請求項１乃至５のいずれか１項に記載の配線情報生成装置。
【請求項７】
積層された複数の配線層と前記複数の配線層を接続するビア層を有する半導体回路の半導体基板上に配置された複数の論理素子間の接続を行う配線情報生成方法において、
前記複数の配線層のうち配線を行う配線層を示す配線層番号と前記複数の配線層を接続するビア層を表すビア層番号と配線規則に基づくスペーシング情報を入力する入力ステップと、
前記論理素子の端子図形を規定する端子図形テーブルと前記論理素子内部における配線禁止領域を規定する論理素子配線禁止領域テーブルと前記論理回路における配線禁止領域を規定する配線禁止領域テーブルを格納する記憶ステップと、
前記入力された配線層番号又はビア層番号に基づいて、前記記憶部に格納された前記端子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域を、前記配線禁止領域テーブルに追加するとともに、前記配線層番号又は前記ビア層番号に基づき、前記複数のビア層のうちいずれかのビアと前記一の配線間における第１のスペーシング情報を取得して前記配線禁止領域テーブルに追加する配線禁止領域生成ステップと、
入力された前記論理回路の接続情報と前記論理回路の配置情報と前記配線禁止領域テーブルが有する配線禁止領域情報に基づいて、前記複数の配線層のうち一の配線層における配線情報を生成する配線情報生成ステップとを有することを特徴とする配線情報生成方法。
【請求項８】
前記配線禁止領域生成ステップは、
前記記憶部に格納された前記端子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域に基づいて仮想図形を生成し、生成した前記仮想図形に基づいて新たな配線禁止領域を生成することにより、前記端子図形の領域及び前記論理素子配線禁止領域を、前記配線禁止領域テーブルに追加することを特徴とする請求項７記載の配線情報生成方法。
【請求項９】
前記配線情報生成方法はさらに、
前記複数の配線のうち前記一の配線と他の配線間における第２のスペーシング情報を取得し、取得した前記第２のスペーシング情報を、所定の条件に基づいて、前記配線禁止領域テーブルに追加する仮想図形生成ステップを有することを特徴とする請求項７に記載の配線情報生成方法。
【請求項１０】
前記配線禁止領域生成ステップは、
前記第１のスペーシング情報が設定される前記配線層及び前記ビア層の組における一方の層上に配置される前記端子図形の領域又は前記論理素子配線禁止領域と前記第１のスペーシング情報とから、前記配線禁止領域を前記組における他方の層上に設定し、前記配線禁止領域テーブルに追加することを特徴とする請求項７〜９のいずれか１項に記載の配線情報生成方法。
【請求項１１】
積層された複数の配線層と前記複数の配線層を接続するビア層を有する半導体回路の半導体基板上に配置された複数の論理素子間の接続を行う情報処理装置に、
前記複数の配線層のうち配線を行う配線層を示す配線層番号と前記複数の配線層を接続するビア層を表すビア層番号と配線規則に基づくスペーシング情報を入力する入力ステップと、
前記論理素子の端子図形を規定する端子図形テーブルと前記論理素子内部における配線禁止領域を規定する論理素子配線禁止領域テーブルと前記論理回路における配線禁止領域を規定する配線禁止領域テーブルを格納する記憶ステップと、
前記入力された配線層番号又はビア層番号に基づいて、前記記憶部に格納された前記端
子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域を、前記配線禁止領域テーブルに追加するとともに、前記配線層番号又は前記ビア層番号に基づき、前記複数のビア層のうちいずれかのビアと前記一の配線間における第１のスペーシング情報を取得して前記配線禁止領域テーブルに追加する配線禁止領域生成ステップと、
入力された前記論理回路の接続情報と前記論理回路の配置情報と前記配線禁止領域テーブルが有する配線禁止領域情報に基づいて、前記複数の配線層のうち一の配線層における配線情報を生成する配線情報生成ステップとを実行させることを特徴とする配線情報生成プログラム。
【請求項１２】
前記配線禁止領域生成ステップは、
前記記憶部に格納された前記端子図形テーブル及び前記論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域に基づいて仮想図形を生成し、生成した前記仮想図形に基づいて新たな配線禁止領域を生成することにより、前記端子図形の領域及び前記論理素子配線禁止領域を、前記配線禁止領域テーブルに追加することを特徴とする請求項１１記載の配線情報生成プログラム。
【請求項１３】
前記配線情報生成方法はさらに、
前記複数の配線のうち前記一の配線と他の配線間における第２のスペーシング情報を取得し、取得した前記第２のスペーシング情報を、所定の条件に基づいて、前記配線禁止領域テーブルに追加する仮想図形生成ステップを有することを特徴とする請求項１１記載の配線情報生成プログラム。
【請求項１４】
前記配線禁止領域生成ステップは、
前記第１のスペーシング情報が設定される前記配線層及び前記ビア層の組における一方の層上に配置される前記端子図形の領域又は前記論理素子配線禁止領域と前記第１のスペーシング情報とから、前記配線禁止領域を前記組における他方の層上に設定し、前記配線禁止領域テーブルに追加することを特徴とする請求項１１〜１３のいずれか１項に記載の配線情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
積層された複数の配線層とその層間を接続するビア層を有する半導体回路の半導体基板上に配置された複数の論理素子間の接続を行うための配線情報生成技術に関する。
【背景技術】
【０００２】
近年、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ−ｃｉｒｃｕｉｔ）設計において微細化が進み、微細化による歩留まり低下を防ぐため、半導体プロセスに適用されるデザインルールは複雑なものとなっている。例えば、従来であれば配線層とその上下のビア層との間の半導体製造時におけるショートを防ぐための最小間隔値を定める最小スペーシング値に関する設計ルール（Ｄｅｓｉｇｎ  Ｒｕｌｅ）は無かったが、配線層−ビア層間の最小スペーシングルールが新たに追加される場合が出てきた。ここで、ビア層とは、上下に形成される配線層を接続することを目的とする、ビア（Ｖｉａ）と呼ばれる接続孔を形成するための層をいう。  最近の６４ビットプロセッサＬＳＩにおいて、省電力化と歩留まり改善を目的として、ボディバイアス技術と呼ばれる技術が適用されている。ボディバイアス技術とは半導体基板に印加する電圧として、通常の方向の電圧とは逆の電圧をかけることにより、プロセス技術の微細化の進展とともに問題となってきたスタンバイ時のリーク電流を抑える技術である。ボディバイアス用電源は通常の電源よりも高い電圧となる場合があるため、ボディバイアス用電源配線には高電圧素子用のデザインルールが適用される。本出願人が半導体製造において用いている半導体プロセス技術に適用される高電圧素子用のデザインルールは、通常電圧素子用のデザインルールとは異なり、配線層とビア層との間のスペーシングルールの適用が必要となってきている。
【０００３】
従来の配線ツールは、配線層同士、ビア層同士のスペーシングルールのみ考慮しており、配線層とビア層とのスペーシングルールは考慮していない。従来は、高電圧素子はＬＳＩの入出力機能を担うＩＯ（Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）マクロの内部領域にのみ存在したため、高電圧素子の周囲を配線禁止領域とすることが可能であり、配線ツールが配線層とビア層との間のスペーシングルールを考慮しなくても、そもそもスペーシングに関するデザインルールが適用されないため、スペーシングルール違反が発生することは無かった。
【０００４】
しかしながら、ボディバイアス用電源配線はチップ全面に存在するため、周囲を配線禁止領域とすると、配線に使用できる領域が大きく削られてしまうため、チップ面積が増大することになる。チップ面積の増大は、コストの増加や歩留まりの悪化につながる。配線ツールで、配線層とビア層との間のスペーシングルールを考慮できるようにすることで、ボディバイアスが適用されたチップの面積の増大、すなわち、コストの増加や歩留まりの悪化を防ぐことができる。
【０００５】
従来の配線ツールは、配線層同士、ビア層同士の最小スペーシングルールのみを考慮している。従来の配線情報生成処理における動作フローは、図１３に示されるような処理が一般的である。なお、図１９に示されるテーブルデータ群が、記憶装置に記憶されながら、以下の一連の制御処理が実行される。
【０００６】
ステップＳ１３０１とＳ１３０７の判定ステップ間の繰返し処理により、ネットテーブル（図１９（ａ）参照）が検索され、回路における配線の接続情報を示す全てのネットについて、以下の処理が実行される。
【０００７】
ステップＳ１３０２では、ネット種別（図１９（ａ）参照）が確認され、処理中のネッ
トが配線対象となるネット種別を持つ場合に、以下のステップＳ１３０３〜〜Ｓ１３０６の処理が実行される。
【０００８】
ステップＳ１３０３では、配線禁止領域の作成処理として、端子図形、障害物図形、配線、ビア図形に対して、同一層上のスペーシングルールを考慮した配線禁止領域が作成される。
【０００９】
ステップ１３０４では、経路探索アルゴリズムにより、ステップＳ１３０３にて設定された配線禁止領域を避けるようにして、処理中のネットに属する端子図形の間を接続するような配線経路が探索される。
【００１０】
ステップ１３０５では、経路探索の結果に従って、配線とビアがそれぞれ、配線テーブル（図１９（ｃ）参照）とビアテーブル（図１９（ｄ）参照）に登録される。
ステップＳ１３０６では、上記経路への配線の設定が完了した後、配線禁止領域テーブル（図１９（ｅ）参照）に登録された配線禁止領域が全て削除される。
【００１１】
ステップＳ１３０７では、未処理のネットがある場合はステップＳ１３０１へ戻る制御が実施される。
図１３の動作フローチャートで示される制御動作において、ステップＳ１３０３の配線禁止領域の作成処理の詳細は、図１４の動作フローチャートで示される。
【００１２】
ステップＳ１４０１とＳ１４０４の判定ステップ間の繰返し処理により、論理素子テーブル（図１９（ｂ）参照）が検索され、全ての論理素子について、以下のステップＳ１４０２とＳ１４０３の処理が実行される。
【００１３】
ステップＳ１４０２では、論理素子の持つ端子図形に対して、配線禁止領域が作成される。端子とは、配線を接続する回路構成要素をいう。
ステップＳ１４０３では、論理素子の持つ障害物図形に対し、配線禁止領域が作成される。障害物図形とは、論理素子の内部に構成され配線を禁止しなければいけない図形部分をいい、論理素子内部における配線禁止領域である。
【００１４】
ステップＳ１４０４では、未処理の論理素子がある場合はステップＳ１４０１へ戻る制御が実施される。
続いて、ステップＳ１４０５とＳ１４０９の判定ステップ間の繰返し処理により、ネットテーブル（図１９（ａ）参照）が検索され、全てのネットについて、以下のステップＳ１４０６〜Ｓ１４０７の処理が実行される。
【００１５】
ステップＳ１４０６では、配線処理中のネット以外のネットのみが選択される。
ステップＳ１４０７では、ネットの持つ既設の配線に対し、配線禁止領域が作成される。
【００１６】
ステップＳ１４０８では、ネットの持つ既設のビア図形に対し、配線禁止領域が作成される。
ステップＳ１４０９では、未処理のネットがある場合はステップＳ１４０５へ戻る制御が実施される。
【００１７】
図１４の動作フローチャートで示される制御動作において、ステップＳ１４０２の論理素子の持つ端子図形に対する配線禁止領域の作成の制御動作は、図１５の動作フローチャートで示される。
【００１８】
ステップＳ１５０１とＳ１５０９の判定ステップ間の繰返し処理により、端子テーブル（図１９（ｆ）参照）が検索され、全ての端子について、以下のステップＳ１５０２〜Ｓ１５０８の処理が実行される。
【００１９】
ステップＳ１５０２では、配線処理中のネット以外のネットのみが選択される。
ステップＳ１５０３とＳ１５０８の判定ステップ間の繰返し処理により、端子の持つ端子図形テーブル（図１９（ｇ）参照）が検索され、１つ端子の持つ全ての端子図形について、以下のステップＳ１５０４〜Ｓ１５０６の処理が実行される。
【００２０】
ステップＳ１５０４では、層テーブル（図１９（ｈ））が検索され、処理中の端子図形の層番号を持つ層が取得される。
ステップＳ１５０５では、処理中の端子図形の左下頂点座標と右下頂点座標（図１９（ｇ）参照）から、X軸方向サイズとY軸方向サイズが算出され、小さい方の値が幅として決定される。
【００２１】
ステップＳ１５０６では、ステップＳ１５０４で取得された層が持つスペーシングポインタ（図１９（ｈ）参照）が指すスペーシングテーブル（図１９（ｉ）参照）から、以下の条件を満たす最小幅と最大幅が登録されているエントリが検索され、そのエントリに登録されているスペーシング値が取得される。
最小幅≦ステップＳ１５０５で決定した幅≦最大幅
なお、また、スペーシング値は、半導体基板を水平面とした場合における、複数の配線のうち一の配線と他の配線間の水平距離を表す。
【００２２】
ステップＳ１５０７では、配線禁止領域テーブル（図１９（ｅ）参照）に配線禁止領域が登録される。同テーブルにおいて、層番号には、処理中の端子図形の層番号（図１９（ｇ）参照）が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の端子図形の左下頂点座標、右上頂点座標（図１９（ｇ）参照）をステップＳ１５０６で取得されたスペーシング値だけ上下左右に拡大した図形の左下頂点座標、右上頂点座標が設定される。
【００２３】
これにより、端子図形が存在する配線層内で、その端子図形とその周囲のスペーシング値に対応する範囲について、配線禁止領域が設定されることになる。
Ｓ１５０８では、未処理の端子図形がある場合はステップＳ１５０３へ戻る制御が実施される。
【００２４】
ステップＳ１５０３〜Ｓ１５０８の処理によって１つ端子の持つ全ての端子図形についての処理が終了したら、ステップＳ１５０９の判定が実行され、未処理の端子がある場合はステップ１５０１へ戻る制御が実施される。
【００２５】
図１４の動作フローチャートで示される制御動作において、ステップＳ１４０３の論理素子の持つ障害物図形に対する配線禁止領域の作成の制御動作は、図１６の動作フローチャートで示される。
【００２６】
ステップＳ１６０１とＳ１６０７の判定ステップ間の繰返し処理により、論理素子の持つ障害物図形テーブル（図１９（ｊ）参照）が検索され、全ての障害物図形について、以下のステップＳ１６０２〜Ｓ１６０６の処理が実行される。
【００２７】
ステップＳ１６０２では、層テーブル（図１９（ｈ）参照）が検索され、処理中の障害物図形の層番号（図１９（ｊ）参照）を持つ層が取得される。
ステップＳ１６０３では、ステップＳ１６０２で取得された層の層種別が配線層であった場合に、次のステップＳ１６０４の処理が実行される。
【００２８】
ステップＳ１６０４では、処理中の障害物図形の左下頂点座標と右上頂点座標（図１９（ｊ）参照）から、X軸方向サイズとY軸方向サイズが算出され、小さい方の値が幅として決定される。
【００２９】
ステップＳ１６０５では、ステップＳ１６０２で取得された層の層種別が配線層であった場合に、ステップＳ１６０２で取得された層が持つスペーシングポインタ（図１９（ｈ）参照）が指すスペーシングテーブル（図１９（ｉ）参照）から、以下の条件を満たす最小幅と最大幅が登録されているエントリが検索され、そのエントリに登録されているスペーシング値が取得される。
最小幅 ≦ステップＳ１６０４で決定した幅≦最大幅
【００３０】
ステップＳ１６０２で取得された層の層種別が配線層ではなくビア層であった場合、ステップＳ１６０２で取得された層が持つスペーシングポインタ（図１９（ｈ）参照）が指すスペーシングテーブル（図１９（ｉ）参照）中のスペーシング値が取得される。
【００３１】
ステップＳ１６０６では、配線禁止領域テーブル（図１９（ｅ）参照）に配線禁止領域が登録される。同テーブルにおいて、層番号には、処理中の障害物図形の層番号（図１９（ｊ）参照）が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の障害物図形の左下頂点座標、右上頂点座標（図１９（ｊ）参照）をステップＳ１６０５で取得されたスペーシング値だけ上下左右に拡大した図形の左下頂点座標、右上頂点座標が設定される。
【００３２】
これにより、障害物図形が存在する配線層又はビア層内で、その障害物図形とその周囲のスペーシング値に対応する範囲について、配線禁止領域が設定されることになる。
Ｓ１６０７では、未処理の障害物図形がある場合はステップＳ１６０１へ戻る制御が実施される。
【００３３】
図１４の動作フローチャートで示される制御動作において、ステップＳ１４０７のネットの持つ配線に対する配線禁止領域の作成の制御動作は、図１７の動作フローチャートで示される。
【００３４】
ステップＳ１７０１とＳ１７０６の判定ステップ間の繰返し処理により、ネットの持つ配線テーブル（図１９（ｃ）参照）が検索され、全ての配線について、以下のステップＳ１６０２〜Ｓ１６０６の処理が実行される。
【００３５】
ステップＳ１７０２では、層テーブル（図１９（ｈ）参照）が検索され、処理中の配線の層番号（図１９（ｃ）参照）を持つ層が取得される。
ステップＳ１７０３では、処理中の配線の配線幅（図１９（ｃ）参照）が取得される。
【００３６】
ステップＳ１７０４では、ステップＳ１７０２で取得された層が持つスペーシングポインタ（図１９（ｈ）参照）が指すスペーシングテーブル（図１９（ｉ）参照）から、以下の条件を満たす最小幅と最大幅が登録されているエントリが検索され、そのエントリに登録されているスペーシング値が取得される。
最小幅≦ステップＳ１７０３で取得した配線幅≦最大幅
【００３７】
ステップＳ１７０５では、配線禁止領域テーブル（図１９（ｅ）参照）に配線禁止領域が登録される。同テーブルにおいて、層番号には、処理中の配線の層番号（図１９（ｃ）参照）が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の配線の始点座標、終点座標、配線幅（図１９（ｃ）参照）から配線の包含矩形が算出され、その矩形の左下頂点座標、右上頂点座標をステップＳ１７０４で取得されたスペーシング値だけ上下左右に拡大した図形の左下頂点座標、右上頂点座標が設定される。
【００３８】
これにより、配線層内で、配線に対応する矩形領域とその周囲のスペーシング値に対応する範囲について、配線禁止領域が設定されることになる。
Ｓ１７０６では、未処理の配線がある場合はステップＳ１７０１へ戻る制御が実施される。
【００３９】
図１４の動作フローチャートで示される制御動作において、ステップＳ１４０８のネットの持つビア図形に対する配線禁止領域の作成の制御動作は、図１８の動作フローチャートで示される。
【００４０】
ステップＳ１８０１とＳ１８１０の判定ステップ間の繰返し処理により、ネットの持つビアテーブル（図１９（ｄ）参照）が検索され、全てのビアについて、以下のステップＳ１８０２〜Ｓ１８０９の処理が実行される。
【００４１】
ステップＳ１８０２では、ビア種別テーブル（図１９（ｋ）参照）が検索され、処理中のビアのビア番号（図１９（ｄ）参照）を持つビア種別が取得される。
ステップＳ１８０３とＳ１８０９の判定ステップ間の繰返し処理により、ステップＳ１８０２で取得されたビア種別の持つビア図形テーブルポインタ（図１９（ｋ）参照）でビア図形テーブル（図１９（ｌ）参照）が検索され、１つのビアの持つ全てのビア図形について、以下のステップＳ１８０４〜Ｓ１８０８の処理が実行される。
【００４２】
ステップＳ１８０４では、層テーブル（図１９（ｈ）参照）が検索され、処理中のビア図形の層番号（図１９（ｌ）参照）を持つ層が取得される。
ステップＳ１８０５では、ステップＳ１８０４で取得された層の層種別が配線層であった場合に、次のステップＳ１８０６の処理が実行される。
【００４３】
ステップＳ１８０６では、処理中のビア図形の左下頂点座標と右上頂点座標（図１９（ｌ）参照）から、X軸方向サイズとY軸方向サイズが算出され、小さい方の値が幅として決定される。
【００４４】
ステップＳ１８０７では、ステップＳ１８０４で取得された層の層種別が配線層であった場合に、ステップＳ１８０４で取得された層が持つスペーシングポインタ（図１９（ｈ）参照）が指すスペーシングテーブル（図１９（ｉ）参照）から、以下の条件を満たす最小幅と最大幅が登録されているエントリが検索される。また、そのエントリに登録されているスペーシング値が取得される。
最小幅 ≦ステップＳ１８０６で決定した幅≦最大幅
【００４５】
ステップＳ１８０４で取得された層の層種別が配線層ではなくビア層であった場合、ス
テップＳ１８０４で取得された層に対応する層テーブルのエントリ中のスペーシング値（図１９（ｈ）参照）が取得される。
【００４６】
ステップＳ１８０８では、配線禁止領域テーブル（図１９（ｅ）参照）に配線禁止領域が登録される。同テーブルにおいて、層番号には、処理中のビア図形の層番号（図１９（ｌ）参照）が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中のビア図形の左下頂点座標、右上頂点座標（図１９（ｌ）参照）をステップＳ１８０７で取得されたスペーシング値だけ上下左右に拡大した図形の左下頂点座標、右上頂点座標に、処理中のビアの原点座標（図１９（ｄ）参照）を加えた値が設定される。
【００４７】
これにより、配線層又はビア層内で、ビア図形とその周囲のスペーシング値に対応する範囲について、配線禁止領域が設定されることになる。
Ｓ１８０９では、未処理のビア図形がある場合はステップＳ１８０３へ戻る制御が実施される。
【００４８】
ステップＳ１８０３〜Ｓ１８０９の処理によって１つビアの持つ全てのビア図形についての処理が終了したら、ステップＳ１８１０の判定が実行され、未処理のビアがある場合はステップ１８０１へ戻る制御が実施される。
【００４９】
以上のようにして、回路構成要素に対応する配線禁止領域が設定され、それに基づく配線処理が行われて、配線情報の生成が実現される。
【発明の開示】
【発明が解決しようとする課題】
【００５０】
しかし、以上説明した配線情報生成処理に示されるような、同一配線層内、同一ビア層内の最小スペーシングルールのみを考慮した配線ツールでは、配線層同士、または、ビア層同士の最小スペーシング値よりも配線層−ビア層間の最小スペーシング値が大きかった場合に、配線層−ビア層スペーシングルールに違反するような配線を発生したとしても検知できない。
【００５１】
例えば、図２０に示されるように、配線層”M2”同士の最小スペーシング値が”Ｓ１”、配線層”M2”とビア層”Ｖ１”との間の最小スペーシング値が”Ｓ２”であり、”Ｓ１”が”Ｓ２”より小さかった場合が存在する。すなわち、配線層”M2”の配線を最小スペーシング値”Ｓ１”に違反しないように配線したとしても、配線層”M2”の配線とビア層”Ｖ１”のビア図形との間のスペーシング値が最小スペーシング値”Ｓ２”より小さくなる場合がある。
【００５２】
このような場合、図２１に示されるように、配線層−ビア層間スペーシングルールに違反しないように配線を移動する必要がある。
配線ツールが配線層−ビア層間スペーシングルールの違反を検知できない場合、配線処理終了後にデザインルールチェックツールを実行して違反箇所を見つけ、違反箇所の修正を人手で行う等の操作が必要であり、ＬＳＩの設計に要する時間の増加を招くことになるという問題点を有していた。これを防ぐためには、配線ツールが配線層−ビア層スペーシングルール違反を検知できるようにする必要があるが、従来技術では、そのような配線ツールはなかった。
【課題を解決するための手段】
【００５３】
本発明の課題は、配線処理時に配線層−ビア層間の最小スペーシングルール違反を回避することにある。
以下に示す態様は、積層された複数の配線層と複数の配線層を接続するビア層を有する
半導体回路の半導体基板上に配置された複数の論理素子間の接続を行う配線情報生成装置、又はそれと同等の動作を実現する方法、プログラムを前提とする。
【００５４】
入力部（１０４、２０２）は、複数の配線層のうち配線を行う配線層を示す配線層番号と複数の配線層を接続するビア層を表すビア層番号と配線規則に基づくスペーシング情報を入力する。
【００５５】
記憶部（１０２、１０３、２１０）は、論理素子の端子図形を規定する端子図形テーブルと論理素子内部における配線禁止領域を規定する論理素子配線禁止領域テーブル（障害物図形テーブル）と論理回路における配線禁止領域を規定する配線禁止領域テーブルを格納する。
【００５６】
配線禁止領域生成部（２０６、２０７）は、入力された配線層番号又はビア層番号に基づいて、記憶部に格納された端子図形テーブル及び論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域を、配線禁止領域テーブルに追加するとともに、配線層番号又はビア層番号に基づき、複数のビア層のうちいずれかのビアと一の配線間における第１のスペーシング情報を取得して配線禁止領域テーブルに追加する。この配線禁止領域生成部は例えば、記憶部に格納された端子図形テーブル及び論理素子配線禁止領域テーブルを検索して得られた端子図形の領域及び論理素子配線禁止領域に基づいて仮想図形を生成し、生成した仮想図形に基づいて新たな配線禁止領域を生成することにより、端子図形の領域及び論理素子配線禁止領域を、配線禁止領域テーブルに追加する。また、配線禁止領域生成部は例えば、第１のスペーシング情報が設定される配線層及びビア層の組における一方の層上に配置される端子図形の領域又は論理素子配線禁止領域と第１のスペーシング情報とから、配線禁止領域（仮想図形の配線禁止領域）をその組における他方の層上に設定し、配線禁止領域テーブルに追加する。  配線情報生成部（２０８）は、入力された論理回路の接続情報と論理回路の配置情報と配線禁止領域テーブルが有する配線禁止領域情報に基づいて、複数の配線層のうち一の配線層における配線情報を生成する。
【００５７】
上述の態様の構成において、第１のスペーシング情報は例えば、半導体基板を水平面とした場合における、複数のビア層のうちいずれかのビアと一の配線間の水平距離を表し、第２のスペーシング情報は例えば、半導体基板を水平面とした場合における、複数の配線のうち一の配線と他の配線間の水平距離を表す。
【００５８】
上述の態様の構成において、配線情報生成装置は更に、複数の配線のうち一の配線と他の配線間における第２のスペーシング情報を取得し、取得した第２のスペーシング情報を、所定の条件により、配線禁止領域テーブルに追加する仮想図形生成部を有する。
【００５９】
また、上述の態様の構成において、記憶部は例えば、既設の配線を規定する配線テーブルと既設のビア図形を規定するビア図形テーブルを更に格納し、配線禁止領域生成部は、入力された配線層番号又はビア層番号に基づいて、記憶部に格納された配線テーブル及びビア図形テーブルを検索して得られた配線の領域又はビア図形の領域を、配線禁止領域テーブルに更に追加するように構成することができる。
【発明の効果】
【００６０】
配線処理時に配線層−ビア層間の最小スペーシングルール違反を回避でき、配線処理終了後にエラー箇所を人手により修正するなどの作業が不要となるため、ＬＳＩの設計に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００６１】
以下、図面を参照しながら、最良の実施形態について詳細に説明する。
前述したように、ボディバイアス電源用の素子、配線に対して、配線層−ビア層間スペーシングルールの適用が必要となってきている。ボディバイアス電源用の素子は、セル設計時に他の素子と区別するための情報が付加されているため、端子図形、障害物図形に変換する際に、ボディバイアス電源用の素子であるかどうかを表す情報を追加することが可能である。すなわち、配線層−ビア層間スペーシングルールが適用されるかどうかを表す情報を追加することが可能である。また、ボディバイアス電源用のネットかどうかは、ネット種別により判定可能である。本実施形態では、これらの事実を利用する。
【００６２】
なお、電源配線は本特許の対象となる配線ツール(いわゆるラウタ（ｒｏｕｔｅｒ）)を実行する前に専用の配線ツールにより配線済みである。
図１は、本実施形態のソフトウェアシステムが動作するコンピュータ（情報処理装置）を有するコンピュータシステムの構成図である。当該コンピュータシステムは、ＣＰＵ（中央演算処理装置）１０１、メモリ１０２、磁気ディスク記憶装置１０３、キーボードやマウス等の入力装置１０４、ディスプレイ等の表示装置１０５等がバス１０６等によって接続された、一般的な構成を有するものでよい。
【００６３】
図２は、本実施形態のソフトウェアシステムの機能構成図である。同システムは、配置・配線データベース２１０に記憶される配置・配線データに基づいて、配線処理を実行する配線ツール２０１として実現される。配線ツール２０１は、入力処理部２０２、仮想図形作成部２０３、配線処理部２０４、及び出力処理部２０５等を含む。配線処理部２０４は更に、配線禁止領域作成部（その１）２０６、配線禁止領域作成部（その２）２０７、経路探索部２０８、配線登録部２０９等を含む。
【００６４】
図２の配置・配線データベース２１０は、図１の磁気ディスク記憶装置１０３に記憶される。また、図２の配線ツール２０１は、図１のＣＰＵ１０１が、磁気ディスク１０３に記憶されている配線ツールプログラムをメモリ１０２に読み出して実行する処理として実現される。そして、その処理は、以下の図３〜図１０に示される動作フローチャートと、図１１及び図１９のデータ構成によって表すことができる。
【００６５】
仮想図形作成部２０３が追加されていることが、本実施形態の処理の特徴である。また、処理に必要となるテーブル構造については、図１１に示されるように、図１９の従来のテーブルに対して、配線層−ビア層スペーシングルールテーブル（図１１（ａ））と仮想図形テーブル（図１１（ｂ））が追加されている。そして、図１９（ｇ）及び（ｊ）にそれぞれ対応する端子図形テーブル（図１１（ｃ））と障害物図形テーブル（図１１（ｄ）に、配線層−ビア層スペーシングフラグが追加されている。当該配線層−ビア層スペーシングフラグには、配線層−ビア層スペーシングルールが適用される端子図形と障害物図形についてはオンが、その他の端子図形と障害物図形についてはオフが、予め設定されている。
【００６６】
図３は、図２の配線ツール２０１の全体処理を示す動作フローチャートである。
まず、ステップＳ３０１では、図２の入力処理部２０２の動作として、配置・配線データベース２１０（図２）に登録された情報から、配線処理に必要な図１１（ａ）〜（ｄ）及び図１９（ａ）〜（ｆ）、（ｈ）、（ｉ）、（ｋ）、（ｌ）に示される各テーブルが作成される。
【００６７】
ステップＳ３０２では、図２の仮想図形作成部２０３の動作として、端子図形、障害物図形、配線、ビア図形に対して、仮想図形が作成される。
ステップＳ３０３では、図２の配線処理部２０４の動作として、ネットの接続情報に基づいて配線処理が行われる。
【００６８】
ステップＳ３０４では、図２の出力部２０５の動作として、配線処理の結果が配置・配線データベース２１０に反映される。
図４は、図３のステップＳ３０２の仮想図形作成処理を示す動作フローチャートである。
【００６９】
ステップＳ４０１とＳ４０４の判定ステップ間の繰返し処理により、論理素子テーブル（図１９（ｂ）参照）が検索され、全ての論理素子について、以下のステップＳ４０２とＳ４０３の処理が実行される。
【００７０】
ステップＳ４０２では、論理素子の持つ端子図形に対して、仮想図形が作成される。端子とは、配線を接続する回路構成要素をいう。
ステップＳ４０３では、論理素子の持つ障害物図形に対して、仮想図形が作成される。障害物図形とは、論理素子内部における配線禁止領域をいう。
【００７１】
ステップＳ４０４では、未処理の論理素子がある場合はステップＳ４０１へ戻る制御が実施される。
続いて、ステップＳ４０５とＳ４０９の判定ステップ間の繰返し処理により、ネットテーブル（図１９（ａ）参照）が検索され、全てのネットについて、以下のステップＳ４０６〜Ｓ４０８の処理が実行される。
【００７２】
ステップＳ４０６では、仮想図形の作成対象となるネットのみが選択される。
ステップＳ４０７では、ネットの持つ既設の配線に対し、仮想図形が作成される。
ステップＳ４０８では、ネットの持つ既設のビア図形に対し、仮想図形が作成される。
【００７３】
ステップＳ４０９では、未処理のネットがある場合はステップＳ４０５へ戻る制御が実施される。
図４の動作フローチャートで示される制御動作において、ステップＳ４０２の論理素子の持つ端子図形に対する仮想図形の作成の制御動作は、図５の動作フローチャートで示される。
【００７４】
ステップＳ５０１とＳ５１０の判定ステップ間の繰返し処理により、端子テーブル（図１９（ｆ）参照）が検索され、全ての端子について、以下のステップＳ５０２〜Ｓ５０９の処理が実行される。
【００７５】
ステップＳ５０２とＳ５０９の判定ステップ間の繰返し処理により、端子の持つ端子図形テーブル（図１１（ｃ）参照）が検索され、１つ端子の持つ全ての端子図形について、以下のステップＳ５０３〜Ｓ５０８の処理が実行される。
【００７６】
ステップＳ５０３では、端子図形テーブル内の配線層−ビア層スペーシングフラグ（図１１（ｃ）参照）が確認されることにより、処理中の端子図形の配線層−ビア層スペーシングフラグがオンである場合に、ステップＳ５０４〜Ｓ５０８の処理が実行される。
【００７７】
ステップＳ５０４とＳ５０８の判定ステップ間の繰返し処理により、配線層−ビア層スペーシングルールテーブル（図１１（ａ）参照）が検索されながら、全ての配線層−ビア層スペーシングルールについて、以下のステップＳ５０５〜Ｓ５０７の処理が実行される。
【００７８】
ステップＳ５０５では、配線層−ビア層スペーシングルールテーブルから検索された１つの配線層−ビア層スペーシングルールについて、その配線層番号（図１１（ａ）参照）
が、処理中の端子図形の層番号（図１１（ｃ）参照）と一致した場合に、以下のステップＳ５０６とＳ５０７の処理が実行される。
【００７９】
ステップＳ５０６では、処理中の配線層−ビア層スペーシングルールのビア層番号（図１１（ａ）参照）が、層番号として取得される。
ステップＳ５０７では、仮想図形テーブル（図１１（ｂ）参照）に仮想図形が登録される。層番号には、ステップＳ５０６で取得された層番号が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の端子図形の左下頂点座標、右上頂点座標（図１１（ｃ）参照）が設定される。同テーブルにおいて、スペーシング値には、配線層−ビア層スペーシングルールテーブルから検索されている配線層−ビア層スペーシングルール中のスペーシング値（図１１（ａ）参照）が設定される。
【００８０】
ステップＳ５０８では、未処理の配線層−ビア層スペーシングルールがある場合はステップＳ５０４へ戻る制御が実施される。
ステップＳ５０４〜Ｓ５０８の処理によって１つ端子の持つ１つの端子図形について全てのスペーシングルールの処理が終了したら、ステップＳ５０９の判定が実行され、未処理の端子図形がある場合はステップ５０２へ戻る制御が実施される。
【００８１】
ステップＳ５０２〜Ｓ５０９の処理によって１つ端子の持つ全ての端子図形についての処理が終了したら、ステップＳ５１０の判定が実行され、未処理の端子がある場合はステップ５０１へ戻る制御が実施される。
【００８２】
以上の制御処理により、配線層−ビア層スペーシングルールが適用されるべき配線層上に端子図形が存在する場合には、仮想図形が、配線層−ビア層スペーシングルールが適用されるべきビア層上に配置される。その場合における仮想図形は、その端子図形と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を有する。そして、その仮想図形により、後述する図９のステップＳ９０１の配線禁止領域の作成処理（その２）において、対象となるビア層上に、配線層−ビア層スペーシングルールを考慮した端子図形に対応する配線禁止領域を設定することが可能となる。
【００８３】
なお、この場合におけるスペーシング値は、半導体基板を水平面とした場合における、複数のビア層のうちいずれかのビアと一の配線間の水平距離を表す。
図４の動作フローチャートで示される制御動作において、ステップＳ４０３の論理素子の持つ障害物図形に対する仮想図形の作成の制御動作は、図６の動作フローチャートで示される。
【００８４】
ステップＳ６０１とＳ６０８の判定ステップ間の繰返し処理により、障害物図形テーブル（図１１（ｄ）参照）が検索され、全ての障害物図形について、以下のステップＳ６０２〜Ｓ６０７の処理が実行される。
【００８５】
ステップＳ６０２では、障害物図形テーブル内の配線層−ビア層スペーシングフラグ（図１１（ｄ）参照）が確認されることにより、処理中の障害物図形の配線層−ビア層スペーシングフラグがオンである場合に、ステップＳ６０３〜Ｓ６０７の処理が実行される。
【００８６】
ステップＳ６０３とＳ６０７の判定ステップ間の繰返し処理により、配線層−ビア層スペーシングルールテーブル（図１１（ａ）参照）が検索されながら、全ての配線層−ビア層スペーシングルールについて、以下のステップＳ６０４〜Ｓ６０６の処理が実行される。
【００８７】
ステップＳ６０４では、配線層−ビア層スペーシングルールテーブルから検索された１つの配線層−ビア層スペーシングルールについて、その配線層番号又はビア層番号（図１１（ａ）参照）が、処理中の障害物図形の層番号（図１１（ｄ）参照）と一致した場合に、以下のステップＳ６０５とＳ６０６の処理が実行される。
【００８８】
ステップＳ６０５では、ステップＳ６０４にて配線層−ビア層スペーシングルール中の配線層番号が処理中の障害物図形の層番号と一致した場合には、当該配線層−ビア層スペーシングルール中のビア層番号が、層番号として取得される。逆に、ステップＳ６０４にて配線層−ビア層スペーシングルール中のビア層番号が処理中の障害物図形の層番号と一致した場合には、当該配線層−ビア層スペーシングルール中の配線層番号が、層番号として取得される。
【００８９】
ステップＳ６０６では、仮想図形テーブル（図１１（ｂ）参照）に仮想図形が登録される。層番号には、ステップＳ６０５で取得された層番号が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の障害物図形の左下頂点座標、右上頂点座標（図１１（ｄ）参照）が設定される。同テーブルにおいて、スペーシング値には、配線層−ビア層スペーシングルールテーブルから検索されている配線層−ビア層スペーシングルール中のスペーシング値（図１１（ａ）参照）が設定される。
【００９０】
ステップＳ６０７では、未処理の配線層−ビア層スペーシングルールがある場合はステップＳ６０３へ戻る制御が実施される。
ステップＳ６０３〜Ｓ６０７の処理によって１つ障害物図形について全てのスペーシングルールの処理が終了したら、ステップＳ６０８の判定が実行され、未処理の障害物図形がある場合はステップ６０１へ戻る制御が実施される。
【００９１】
以上の制御処理により、配線層−ビア層スペーシングルールが適用されるべき配線層上に障害物図形が存在する場合には、仮想図形が、配線層−ビア層スペーシングルールが適用されるべきビア層上に配置される。その場合における仮想図形は、その障害物図形と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を有する。逆に、配線層−ビア層スペーシングルールが適用されるべきビア層上に障害物図形が存在する場合においても、仮想図形が配置される。その場合における仮想図形は、その障害物図形と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を持つ仮想図形が、配線層−ビア層スペーシングルールが適用されるべき配線層上に配置されることにより、後述する図９のステップＳ９０１の配線禁止領域の作成処理（その２）において、対象となるビア層又は配線層上に、配線層−ビア層スペーシングルールを考慮した障害物図形に対応する配線禁止領域を設定することが可能となる。
【００９２】
図４の動作フローチャートで示される制御動作において、ステップＳ４０７のネットの持つ配線に対する仮想図形の作成の制御動作は、図７の動作フローチャートで示される。
ステップＳ７０１とＳ７０７の判定ステップ間の繰返し処理により、ネットの持つ配線テーブル（図１９（ｃ）参照）が検索され、全ての配線について、以下のステップＳ７０２〜Ｓ７０６の処理が実行される。
【００９３】
ステップＳ７０２とＳ７０６の判定ステップ間の繰返し処理により、配線層−ビア層スペーシングルールテーブル（図１１（ａ）参照）が検索されながら、全ての配線層−ビア層スペーシングルールについて、以下のステップＳ７０３〜Ｓ７０５の処理が実行される。
【００９４】
ステップＳ７０３では、配線層−ビア層スペーシングルールテーブルから検索された１
つの配線層−ビア層スペーシングルールについて、その配線層番号（図１１（ａ）参照）が、処理中の配線の層番号（図１９（ｃ）参照）と一致した場合に、以下のステップＳ７０４とＳ７０５の処理が実行される。
【００９５】
ステップＳ７０４では、処理中の配線層−ビア層スペーシングルールのビア層番号（図１１（ａ）参照）が、層番号として取得される。
ステップＳ７０５では、仮想図形テーブル（図１１（ｂ）参照）に仮想図形が登録される。層番号には、ステップＳ７０４で取得された層番号が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中の配線の始点座標、終点座標、配線幅（図１９（ｃ）参照）から配線の包含矩形が算出され、その矩形の左下頂点座標、右上頂点座標が設定される。同テーブルにおいて、スペーシング値には、配線層−ビア層スペーシングルールテーブルから検索されている配線層−ビア層スペーシングルール中のスペーシング値（図１１（ａ）参照）が設定される。
【００９６】
ステップＳ７０６では、未処理の配線層−ビア層スペーシングルールがある場合はステップＳ７０２へ戻る制御が実施される。
ステップＳ７０２〜Ｓ７０６の処理によって１つ配線について全てのスペーシングルールの処理が終了したら、ステップＳ７０７の判定が実行され、未処理の配線がある場合はステップ７０１へ戻る制御が実施される。
【００９７】
以上の制御処理により、配線層−ビア層スペーシングルールが適用されるべき配線層上に配線が存在する場合には、仮想図形が配線層−ビア層スペーシングルールが適用されるべきビア層上に配置される。その場合における仮想図形は、その配線が存在する矩形範囲と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を有する。この仮想図形により後述する図９のステップＳ９０１の配線禁止領域の作成処理（その２）において、対象となるビア層上に、配線層−ビア層スペーシングルールを考慮した配線に対応する配線禁止領域を設定することが可能となる。
【００９８】
図４の動作フローチャートで示される制御動作において、ステップＳ４０８のネットの持つビア図形に対する仮想図形の作成の制御動作は、図８の動作フローチャートで示される。
【００９９】
ステップＳ８０１とＳ８１０の判定ステップ間の繰返し処理により、ネットの持つビアテーブル（図１９（ｄ）参照）が検索され、全てのビアについて、以下のステップＳ８０２〜Ｓ８０９の処理が実行される。
【０１００】
ステップＳ８０２では、ビア種別テーブル（図１９（ｋ）参照）が検索され、処理中のビアのビア番号（図１９（ｄ）参照）を持つビア種別が取得される。
ステップＳ８０３とＳ８０９の判定ステップ間の繰返し処理により、ステップＳ８０２で取得されたビア種別の持つビア図形テーブルポインタ（図１９（ｋ）参照）でビア図形テーブル（図１９（ｌ）参照）が検索され、１つのビアの持つ全てのビア図形について、以下のステップＳ８０４〜Ｓ８０８の処理が実行される。
【０１０１】
ステップＳ８０４とＳ８０８の判定ステップ間の繰返し処理により、配線層−ビア層スペーシングルールテーブル（図１１（ａ）参照）が検索されながら、全ての配線層−ビア層スペーシングルールについて、以下のステップＳ８０５〜Ｓ８０７の処理が実行される。
【０１０２】
ステップＳ８０５では、配線層−ビア層スペーシングルールテーブルから検索された１つの配線層−ビア層スペーシングルールについて、その配線層番号又はビア層番号（図１
１（ａ）参照）が、処理中のビアの層番号（図１９（ｄ）参照）と一致した場合に、以下のステップＳ８０６とＳ８０７の処理が実行される。
【０１０３】
ステップＳ８０６では、配線層−ビア層スペーシングルール中の配線層番号が処理中のビアの層番号と一致した場合には、配線層−ビア層スペーシングルール中のビア層番号が、層番号として取得される。逆に、配線層−ビア層スペーシングルール中のビア層番号が処理中のビアの層番号と一致した場合には、配線層−ビア層スペーシングルール中の配線層番号が、層番号として取得される。
【０１０４】
ステップＳ８０７では、仮想図形テーブル（図１１（ｂ）参照）に仮想図形が登録される。層番号には、ステップＳ８０６で取得された層番号が設定される。同テーブルにおいて、左下頂点座標、右上頂点座標には、処理中のビア図形の左下頂点座標、右上頂点座標（図１９（ｌ）参照）が設定される。同テーブルにおいて、スペーシング値には、配線層−ビア層スペーシングルールテーブルから検索されている配線層−ビア層スペーシングルール中のスペーシング値（図１１（ａ）参照）が設定される。
【０１０５】
ステップＳ８０８では、未処理の配線層−ビア層スペーシングルールがある場合はステップＳ８０４へ戻る制御が実施される。
ステップＳ８０４〜Ｓ８０８の処理によって１つビアの持つ１つのビア図形について全てのスペーシングルールの処理が終了したら、ステップＳ８０９の判定が実行され、未処理のビア図形がある場合はステップ８０３へ戻る制御が実施される。
【０１０６】
ステップＳ８０２〜Ｓ８０９の処理によって１つビアの持つ全てのビア図形についての処理が終了したら、ステップＳ８１０の判定が実行され、未処理のビアがある場合はステップ８０１へ戻る制御が実施される。
【０１０７】
以上の制御処理により、配線層−ビア層スペーシングルールが適用されるべき配線層上にビア図形が存在する場合には、仮想図形が配置される。その場合における仮想図形は、そのビア図形と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を持つ仮想図形が、配線層−ビア層スペーシングルールが適用されるべきビア層上に配置される。逆に、配線層−ビア層スペーシングルールが適用されるべきビア層上にビア図形が存在する場合においても、仮想図形が配置される。その場合における仮想図形は、その障害物図形と同じ形状を持ち、当該配線層−ビア層スペーシングルールにおけるスペーシング値が設定され得るという情報を持つ。そして当該仮想図形が、配線層−ビア層スペーシングルールが適用されるべき配線層上に配置される。従って、後述する図９のステップＳ９０１の配線禁止領域の作成処理（その２）において、対象となるビア層又は配線層上に、配線層−ビア層スペーシングルールを考慮した配線禁止領域を設定することが可能となる。
【０１０８】
図３の動作フローチャートで示される制御動作において、以上説明した仮想図形の作成という準備処理（図３のステップＳ３０２）の後、ステップＳ３０３の配線処理の制御動作が実行される。この制御動作は、図９の動作フローチャートで示される。
【０１０９】
図９において、図１３の従来技術の場合の動作フローチャートと同じステップ番号が付されたステップは、図１３の場合と同じ処理を実行する。図９の動作フローチャートが図１３の動作フローチャートと異なる点は、ステップＳ９０１において、仮想図形に対する配線禁止領域の作成処理が追加されている点である。
【０１１０】
図９においてまず、ステップＳ１３０１とＳ１３０７の判定ステップ間の繰返し処理により、ネットテーブル（図１９（ａ）参照）が検索され、全てのネットについて、以下の
処理が実行される。
【０１１１】
ステップＳ１３０２では、ネット種別（図１９（ａ）参照）が確認され、処理中のネットが配線対象となるネット種別を持つ場合に、以下のステップＳ１３０３〜〜Ｓ１３０６の処理が実行される。
【０１１２】
ステップＳ１３０３では、図２の配線禁止領域作成部（その１）２０６による配線禁止領域の作成処理（その１）として、端子図形、障害物図形、配線、ビア図形に対して、同一層上のスペーシングルールのみを考慮した配線禁止領域が作成される。この処理は、図１３のステップＳ１３０３に対応しており、その詳細は、前述した図１４〜図１８の動作フローチャートによって示される。
【０１１３】
ステップＳ１３０３に続くステップＳ９０１では、図２の配線禁止領域作成部（その２）２０７による配線禁止領域の作成処理（その２）として、図３のステップＳ３０２に対応する図４〜図８の動作フローチャートに対応する制御処理によって作成された仮想図形に対して配線禁止領域が作成される。この処理は、後述する図１０の動作フローチャートによって示される。
【０１１４】
ステップ１３０４では、図２の経路探索部２０８処理として、経路探索アルゴリズムにより、ステップＳ１３０３にて設定された配線禁止領域を避けるようにして、処理中のネットに属する端子図形の間を接続するような配線経路が探索される。
【０１１５】
ステップ１３０５では、図２の配線登録部２０９の処理として、経路探索の結果に従って、配線とビアがそれぞれ、配線テーブル（図１９（ｃ）参照）とビアテーブル（図１９（ｄ）参照）に登録される。
【０１１６】
ステップＳ１３０６では、上記経路への配線の設定が完了した後、配線禁止領域テーブル（図１９（ｅ）参照）に登録された配線禁止領域が全て削除される。
ステップＳ１３０７では、未処理のネットがある場合はステップＳ１３０１へ戻る制御が実施される。
【０１１７】
図９のステップＳ９０１の仮想図形に対する配線禁止領域の作成処理（その２）の制御動作は、図１０の動作フローチャートで示される。
ステップＳ１００１とＳ１００３の判定ステップ間の繰返し処理により、仮想図形テーブル（図１１（ｂ）参照）が検索され、全ての仮想図形について、ステップＳ１００２の処理が実行される。
【０１１８】
ステップＳ１００２では、配線禁止領域テーブルに配線禁止領域を登録する。層番号には処理中の仮想図形の層番号を設定する。左下頂点座標、右下頂点座標には処理中の仮想図形を仮想図形の持つスペーシング値だけ上下左右に拡大した図形の左下頂点座標、右下頂点座標を設定する。
【０１１９】
ステップＳ１００３では、未処理の仮想図形がある場合はステップＳ１００１へ戻る制御が実施される。
ここで、図４のステップＳ４０２（詳細は図５）、Ｓ４０３（詳細は図６）、Ｓ４０７（詳細は図７）、又はＳ４０８（詳細は図８）の各処理における仮想図形について説明する。上記の各ステップの各処理により生成される仮想図形は、配線層−ビア層スペーシングルールが適用されるべき配線層上の端子図形、障害物図形、配線、又はビア図形にそれぞれ対応して作成されるものである。そして、作成された仮想図形について、上述の制御処理により配線禁止領域が登録された場合には、当該配線禁止領域も当該ビア層上に配置
され、かつ配線層−ビア層スペーシングルールを考慮した領域が設定される。前述したように配線層−ビア層スペーシングルールが適用されるべきビア層上に、その仮想図形が配置されているためである。これにより、当該ビア層に対する配線経路の探索処理を実行するだけで（これは従来技術の場合と同じ処理でよい）、配線層との間のスペーシングルールを考慮した配線情報の生成が実現される。
【０１２０】
逆に、図４のステップＳ４０３（詳細は図６）又はＳ４０８（詳細は図８）の各処理により、配線層−ビア層スペーシングルールが適用されるべきビア層上の障害物図形又はビア図形にそれぞれ対応して作成された仮想図形について、上述の制御処理により配線禁止領域が登録された場合には、次のようになる。すなわち、その仮想図形が前述したように配線層−ビア層スペーシングルールが適用されるべき配線層上に配置されているため、当該配線禁止領域も当該配線層上に配置され、かつ配線層−ビア層スペーシングルールを考慮した領域が設定される。これにより、当該配線層に対する配線経路の探索処理を実行するだけで（これは従来技術の場合と同じ処理でよい）、ビア層との間のスペーシングルールを考慮した配線情報の生成が実現される。
【０１２１】
以上のように、配線層−ビア層間の最小スペーシング値を設定した仮想図形について配線禁止領域を設定し最小スペーシングルール違反を回避するように経路探索を行うことは、その仮想図形を発生する起源となった配線又はビアとの間で配線層−ビア層間の最小スペーシングルール違反を回避することと等価である。従って、上述の本実施形態の制御動作で示される配線情報生成処理によって、配線層−ビア層間の最小スペーシングルール違反を回避できるようになる。
【０１２２】
最後に、例として、図１２に示されるような端子図形、障害物図形、配線、ビア図形の具体例に対して、図１１（ａ）〜（ｄ）及び図１９（ａ）〜（ｆ）、（ｈ）、（ｉ）、（ｋ）、（ｌ）に示される各テーブルに登録されるデータは以下のようになる。
【０１２３】
下記表１は、層テーブル（図１９（ｈ）参照）の内容例である。
【表１】
2010079422.tif 000003
【０１２４】
下記表２は、スペーシングテーブル（図１９（ｉ）参照）の内容例である。
【表２】
2010079422.tif 000004
【０１２５】
下記表３は、配線層−ビア層スペーシングルールテーブル（図１１（ａ）参照）の内容例
である。
【表３】
2010079422.tif 000005
【０１２６】
下記表４は、論理素子テーブル（図１９（ｂ）参照）の内容例である。
【表４】
2010079422.tif 000006
【０１２７】
下記表５は、端子テーブル（図１９（ｆ）参照）の内容例である。
【表５】
2010079422.tif 000007
【０１２８】
下記表６は、端子図形テーブル（図１１（ｃ）参照）の内容例である。
【表６】
2010079422.tif 000008
【０１２９】
下記表７は、障害物図形テーブル（図１１（ｄ）参照）の内容例である。
【表７】
2010079422.tif 000009
【０１３０】
下記表８は、ネットテーブル（図１９（ａ）参照）の内容例である。
【表８】
2010079422.tif 000010
【０１３１】
下記表９は、配線テーブル（図１９（ｃ）参照）の内容例である。
【表９】
2010079422.tif 000011
【０１３２】
下記表１０は、ビアテーブル（図１９（ｄ）参照）の内容例である。
【表１０】
2010079422.tif 000012
【０１３３】
下記表１１は、ビア種別テーブル（図１９（ｋ）参照）の内容例である。
【表１１】
2010079422.tif 000013
【０１３４】
下記表１２は、ビア図形テーブル（図１９（ｌ）参照）の内容例である。
【表１２】
2010079422.tif 000014
【０１３５】
上記各テーブル内容に対する本実施形態による配線情報生成処理による結果として、仮想図形テーブルに登録されるデータは以下のようになる（図１１（ｂ）参照）。
【表１３】
2010079422.tif 000015
【０１３６】
例えば、表６の＃１の端子図形に対しては、層番号が“３”であることから、表3の＃２の配線層−ビア層スペーシングルールに基づき、表１３の＃１の仮想図形が作成される。また、表３の＃３の配線層−ビア層スペーシングルールに基づき、表13の＃２の仮想図形が作成される。さらに、表7の＃３の障害物図形に対しては、層番号が“２”であることから、表３の＃１の配線層−ビア層スペーシングルールに基づき、表13の＃４の仮想図形が作成される。次いで、表３の＃２の配線層−ビア層スペーシングルールに基づき、表１３の＃５の仮想図形が作成される。
【図面の簡単な説明】
【０１３７】
【図１】実施形態のソフトウェアシステムが動作するコンピュータシステムの構成図である。
【図２】本実施形態のソフトウェアシステムの機能構成図である。
【図３】図２の配線ツール２０１の全体処理を示す動作フローチャートである。
【図４】図３のステップＳ３０２の仮想図形作成処理を示す動作フローチャートである。
【図５】図４のステップＳ４０２の論理素子の持つ端子図形に対する仮想図形作成処理を示す動作フローチャートである。
【図６】図４のステップＳ４０３の論理素子の持つ障害物図形に対する仮想図形作成処理を示す動作フローチャートである。
【図７】図４のステップＳ４０７のネットの持つ配線に対する仮想図形作成処理を示す動作フローチャートである。
【図８】図４のステップＳ４０８のネットの持つビア図形に対する仮想図形作成処理を示す動作フローチャートである。
【図９】図３のステップＳ３０３の配線処理を示す動作フローチャートである。
【図１０】図９のステップＳ９０１の配線禁止領域作成処理（その２）を示す動作フローチャートである。
【図１１】実施形態の配線情報生成処理のためのテーブル構成図である。
【図１２】実施形態における端子図形、障害物図形、配線、ビア図形の具体例を示す図である。
【図１３】従来の配線情報生成処理を示す動作フローチャートである。
【図１４】図１３のステップＳ１３０３の配線禁止領域作成処理を示す動作フローチャートである。
【図１５】図１４のステップＳ１４０２の端子図形に対する配線禁止領域の作成処理を示す動作フローチャートである。
【図１６】図１４のステップＳ１４０３の障害物図形に対する配線禁止領域の作成処理を示す動作フローチャートである。
【図１７】図１４のステップＳ１４０７の配線に対する配線禁止領域の作成処理を示す動作フローチャートである。
【図１８】図１４のステップＳ１４０８のビア図形に対する配線禁止領域の作成処理を示す動作フローチャートである。
【図１９】従来の配線情報生成処理のためのテーブル構成図である。
【図２０】従来技術の問題点の説明図（その１）である。
【図２１】従来技術の問題点の説明図（その２）である。
【符号の説明】
【０１３８】
１０１  ＣＰＵ
１０２  メモリ
１０３  磁気ディスク
１０４  入力装置
１０５  表示装置
２０１  配線ツール
２０２  入力処理部
２０３  仮想図形作成部
２０４  配線処理部
２０５  出力処理部
２０６  配線禁止領域作成部（その１）
２０７  配線禁止領域作成部（その２）
２０８  経路探索部
２０９  配線登録部
【図１】
2010079422.tif 000016
【図２】
2010079422.tif 000017
【図３】
2010079422.tif 000018
【図４】
2010079422.tif 000019
【図５】
2010079422.tif 000020
【図６】
2010079422.tif 000021
【図７】
2010079422.tif 000022
【図８】
2010079422.tif 000023
【図９】
2010079422.tif 000024
【図１０】
2010079422.tif 000025
【図１１】
2010079422.tif 000026
【図１３】
2010079422.tif 000027
【図１４】
2010079422.tif 000028
【図１５】
2010079422.tif 000029
【図１６】
2010079422.tif 000030
【図１７】
2010079422.tif 000031
【図１８】
2010079422.tif 000032
【図１９】
2010079422.tif 000033
【図１２】
2010079422.tif 000034
【図２０】
2010079422.tif 000035
【図２１】
2010079422.tif 000036