(57)【要約】【課題】レイアウトの詳細設計をより短時間に実施できるようにするための技術、更にはレイアウトの詳細設計をより適切に実施できるようにするための技術を提供する。【解決手段】フロアプランを行う工程Ｐ１の後、フロアプランにより半導体集積回路を分割したモジュール毎に、モジュールをより小さいサブモジュールに分割する工程Ｐ２、サブモジュール間の接続用のモジュール端子の位置を決定する工程Ｐ３、サブモジュール毎にセルの配置を決定する工程Ｐ４、セル間を結ぶ配線を決定する工程Ｐ５を経て、半導体集積回路を製造するための製造データを作成する工程Ｐ６を実施する。フロアプランにより得られたモジュールを更にサブモジュールに分割し、詳細設計として工程Ｐ４及びＰ５を実施するため、全体の処理時間は大幅に短縮される。【選択図】図４
2010073073.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割して得られる第１のモジュールを複数の第２のモジュールに分割する第１の工程と、
前記第１の工程により分割した第２のモジュール毎に、該第２のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第２の工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項２】
前記第１の工程では、前記第２のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第２のモジュールとの境界を設定する、
ことを特徴とする請求項１記載のレイアウト設計方法。
【請求項３】
前記第１の工程では、前記境界を通る配線が存在する場合、該配線によって接続される２つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
前記第２の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする請求項１記載のレイアウト設計方法。
【請求項４】
前記第１の工程では、前記境界の近傍に配置された配線上の障害物を基に、前記モジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
前記第２の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする請求項１記載のレイアウト設計方法。
【請求項５】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第１の工程と、
前記第１の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第２の工程と、
前記第２の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項６】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第１の工程と、
前記第１の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される２つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第２の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項７】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第１の工程と、
前記第１の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる２つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第２の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
【請求項８】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割して得られる第１のモジュールを複数の第２のモジュールに分割する第１の分割手段と、
前記第１の分割手段が分割した第２のモジュール毎に、該第２のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第２の分割手段と、
を具備することを特徴とするレイアウト設計支援装置。
【請求項９】
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
【請求項１０】
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される２つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計に関する。
【背景技術】
【０００２】
ＣＰＵなどのように高い周波数での動作を要求される大規模半導体集積回路（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ−ｃｉｒｃｕｉｔ）の設計には、多くの工程が存在する。近年は、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大により、ＬＳＩ全体を扱うレイアウト設計は困難な状況となっている。このためレイアウト設計は、全体を複数のモジュールに分割し、モジュール毎に並行して進める形態をとるのが普通となっている。
【０００３】
レイアウト設計の初期段階では、モジュールの詳細は決定されていない。このことから通常、回路規模、大まかな信号の流れ等を予め考慮して人手によりフロアプランが作成され、各モジュールの概略位置、及び形状が決定される。フロアプランでは他に、モジュールのインターフェースとなるモジュールの外部端子（モジュール端子）の位置が決定される。そのモジュール端子は、モジュール間の接続用、或いはチップの外部端子となる。
【０００４】
モジュールに分割してレイアウト設計を進める設計方法を採用した場合、モジュール端子の位置を最適化するために見直しが必要となる。その最適化を行う方法としては、決定した経路から算出した配線長と、モジュール端子間の距離から推定した配線長との差が大きい配線を対象に再度の最適化を実施する、予め概略経路を決定し、実際に設定する経路を概略経路内に制限する、などが知られている。
【０００５】
高速動作や加工の微細化は、信号の配線遅延の影響を深刻にさせている。また、平行する２つの配線間に生じる配線間容量であるカップリング容量の存在により、一方を流れる信号の変化が他方に起電力を誘起させることにより、クロストークノイズを発生させる。そのクロストークノイズは、遅延増や誤動作といった不具合を引き起こすことが知られている。このようなことから近年では、レイアウト設計の初期段階でも不具合の発生を考慮した設計が求められるようになっている。
【０００６】
クロストークノイズへの対策としては、配線の間隔をより広くするといったことが行われる。配線がモジュール端子と接続されている場合、モジュール端子の配置も合わせて変更するのが普通である。
【０００７】
ここで、半導体集積装置を複数のモジュールに分割してのレイアウト設計を支援する従来のレイアウト設計支援装置について、図１に示す機能構成図を参照して具体的に説明する。
【０００８】
この従来のレイアウト設計支援装置は、論理設計された半導体集積回路、例えばネットリストを入力し、フロアプラン設計により半導体集積回路を複数のモジュールに分解し、モジュール毎にセルの配置、及び配線を決定する詳細（実装）設計を支援する。このために、モジュール形状決定部１１、概略配線部１２、端子位置調整部１３、モジュール分割部１４、及び詳細設計部１５を備えている。
【０００９】
モジュール形状決定部１１は、設計者の指示に従い、半導体集積回路を分割するモジュールの形状、配置を決定するフロアプランを行う。モジュールは半導体集積回路の一部分
であり、モジュール間では論理設計によって定められた信号の授受が行われる。授受すべき信号は、モジュールへの機能の割り当てに伴って自動的に決まる。概略配線部１２は、モジュール間で信号を授受するための概略配線を決定する。端子位置調整部１３は、概略配線の決定によって配置範囲が制限されるモジュール端子の位置を調整（変更）する。モジュール分割部１４は、フロアプラン結果に従って、半導体集積回路を複数のモジュールに分割する。
【００１０】
図１では、半導体集積回路を３つのモジュールに分割したことにより、３つのモジュールデータＤ１が生成されたことを表している。そのモジュールデータＤ１は、対応するモジュール分のネットリスト、各モジュール端子の配置を示す配置情報、及びモジュールの形状や配置を示す配置情報を含んでいる。
【００１１】
詳細設計部１５は、モジュールデータＤ１毎に、データＤ１が示す各セルの配置、及び配線を決定する詳細設計を行う。各設計結果はモジュールデータＤ２として出力される。このデータＤ２は、例えばモジュールデータＤ１に、セル毎に配置を示す配置情報、配線毎に経路を示す配線情報等を加えたものである。１配線分の配線情報は、配線が接続するセルのピン、ピン間の経路、などを示すものである。
【００１２】
図２は、モジュール分割例を示す図である。この分割例は、半導体集積回路３０を４つのモジュール３１〜３４に分割した場合のものであり、図２ではモジュールは「ＢＬＯＣＫ」と表記している。
【００１３】
図２に示すモジュール３２は、配置、及び配線が決定した後のものである。「ＣＬ」を付してハッチングした矩形はセル、「ＳＴ」を付した矩形は、セルＣＬがまとめて配置された領域であるサイトをそれぞれ示している。異なるサイトＳＴに存在するセルＣＬを結ぶ実線は、配線を示している。
【００１４】
図３は、別のモジュール分割例を示す図である。この分割例は、半導体集積回路４０を２つのモジュール４１及び４２に分割した場合のものである。この図３でもモジュールは「ＢＬＯＣＫ」と表記している。モジュール４１及び４２を分ける実線は境界を示している。
【００１５】
モジュール４１では、セルはモジュール４２との境界から比較的に離れた位置に配置し、モジュール４２でも同様に、その境界から比較的に離れた位置に配置している。そのようにして、境界の直交方向上、その境界を挟む形で隣接するセルＣＬ間の距離はより大きくなるようにしている。これは、そのセル間を、互いの配線等が他のモジュールに影響させない緩衝領域とするためである。
【特許文献１】特開平８−４４７８４号公報
【特許文献２】特開２００３−３０２６６号公報
【特許文献３】特開２００２−２１５７０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
フロアプランを行うことにより、希望するチップ面積に全ての機能を実現できるか否か確認することができる。無駄な領域が生じそうな場合には、無駄な領域を削減することができる。このようなことから従来、フロアプランはチップ面積を最小化することを重視して行われている。チップ面積を最小化することにより、１枚の半導体ウェハーから採取できるチップの数が増大し、生産性が向上するからである。
【００１７】
しかし、加工技術の進歩による微細化、及びその微細化に伴う回路規模の増大は、セル
の配置や配線を決定する詳細設計の実施に大きな影響を及ぼしている。具体的には、回路規模の増大は、詳細設計の実施に要する処理時間をより長くしている。加工の微細化は、最適な配線をより困難にしている。最適な配線を行うためには、モジュール端子の配置をより適切に決定することが必要である。このようなことから、詳細設計の前段階において、詳細設計をより考慮した設計を行うべきと考えられる。
【００１８】
本発明は、レイアウトの詳細設計をより短時間に実施できるようにするための技術を提供することを第１の目的とする。
本発明は、レイアウトの詳細設計をより適切に実施できるようにするための技術を提供することを第２の目的とする。
【課題を解決するための手段】
【００１９】
本発明を適用した１システムでは、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するために、半導体集積回路を分割して得られる第１のモジュールを複数の第２のモジュールに分割し、第２のモジュール毎に、第２のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する。
【００２０】
第２のモジュールへの再分割により、配置、及び配線の対象となるセルの数はより少なくなる。このため、詳細設計をより短時間で行えるようになる。全体の工程でも、時間短縮させることができる。セルは、半導体集積回路の構成要素のことであり、過去の設計資産である機能ブロックも含まれる。
【発明の効果】
【００２１】
本発明を適用した場合には、レイアウトの詳細設計をより短時間に実施できるようになる。更に／或いは、レイアウトの詳細設計をより適切に実施できるようになる。
【発明を実施するための最良の形態】
【００２２】
以下、本実施形態について、図面を参照しながら詳細に説明する。
図４は、本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。
【００２３】
本実施形態では、図４に示すように、半導体集積回路を複数のモジュールに分割するフロアプランを行う工程Ｐ１、フロアプランにより分割されたモジュール毎に、モジュールをより小さいモジュール（以降「サブモジュール」）に分割する工程Ｐ２、サブモジュール間の接続用のモジュール端子の位置を決定する工程Ｐ３、サブモジュール毎にセルの配置を決定する工程Ｐ４、セル間を結ぶ配線を決定する工程Ｐ５を経て、半導体集積回路を製造するための製造データを作成する工程Ｐ６を実施するようになっている。実際には、工程Ｐ１〜Ｐ５は判明した不具合や設計変更等への対応のために随時、繰り返し実施される。
【００２４】
工程Ｐ４及びＰ５は、詳細設計として実施される。本実施形態では、フロアプランにより得られたモジュールを更にサブモジュールに分割し、詳細設計を実施する。配線の決定に要する処理時間はセル（セルに設けられたピン）が多くなる程、指数関数的に増大する。このため、サブモジュールに分割することにより、配線の決定はより短い処理時間で行うことができるようになる。サブモジュールへの分割、その分割に伴い実施するモジュール端子の位置決定を行っても、全体の処理時間は大幅に短縮される。ここでのセルとは、論理設計された半導体集積回路の構成要素の総称であり、過去の設計資産である機能ブロック（ＩＰ：Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）等も含んでいる。
【００２５】
図５は、本実施形態によるレイアウト設計支援装置の機能構成図である。このレイアウ
ト設計支援装置（以降「支援装置」と略記）は、フロアプラン結果、つまり論理設計された半導体集積回路（ＬＳＩ）を分割して得られるモジュールを対象にしたレイアウト設計を支援する装置として実現されている。そのレイアウト設計を支援するために、領域分割部５１、既配線端子化部５２、禁止マッピング部５３、端子辺設定部５４、配線長予測部５５、割当順決定部５６、端子割当部５７、モジュール分割部５８、サブモジュール詳細設計部５９、及びフラット化処理部６０を備えている。
【００２６】
図５中のフラットデータＤ１０は、１モジュール分のデータであり、例えば図１に示す３つのモジュールデータＤ１のうちの一つに相当する。領域分割部５１は、設計者の指示により、フラットデータＤ１０が示すモジュールを更に複数のより小さいサブモジュールに分割する。ここでは、更に分割したサブモジュールを「ブロック」とも呼ぶことにする。
【００２７】
図６は、モジュールの分割方法の説明図である。図６に示す例では、モジュール８０を２つのブロック８１及び８２に分割する様子を示している。
図７は、ブロックに分割する境界の設定方法の説明図である。図７に示す「＋」は、配置及び配線の最小ピッチ間隔を表す基本単位となるグリッド（ＧＲＩＤ）点を示している。図７の左側は、従来の境界の設定方法を示し、図７の右側は、本実施形態における境界の設定方法を示している。
【００２８】
従来は、図７の左側に示すように、境界を示す境界線ＢＬ１は隣接するグリッド点を通る直線で設定する。これに対し本実施形態では、隣接するグリッド点を通らない直線も境界線ＢＬ２として扱う。このため、横方向上の境界の位置は横方向に隣接するグリッド点間となっている。このようにグリッド点間に境界を設定するのは以下のような理由からである。
【００２９】
グリッド点は、配線の基本単位であることから、経路は隣接するグリッド点を通る直線の組み合わせとして決定される。このため、隣接するグリッド点を通る直線のみで境界を設定した場合、経路として用いることが可能なグリッド点の数が少なくなる。そのグリッド点の数の低下は、図３に示すような緩衝領域を新たに設ける、つまり緩衝領域分のグリッド点を追加すれば回避することができる。しかし、緩衝領域を新たに設けることは、フロアプラン結果をそのまま用いることができないことを意味する。従って、データの表現、或いは管理が煩雑化することになる。
【００３０】
一方、隣接するグリッド点間に境界を設定した場合、経路として用いることができなくなるグリッド点が生じること自体、回避することが可能となる。フロアプラン結果はそのまま用いることができる。このようなことから、隣接するグリッド点間に境界を設定するようにしている。
【００３１】
図７の右側では、境界線ＢＬ２の横方向に延びる部分は隣接するグリッド点間を通る直線となっている。これは、その部分を境界とする１ブロック、或いはその境界で接する２つのブロックから設計者が隣接するグリッド点間に境界を設定する必要がないと判断したためである。隣接するグリッド点間に境界を設定するか否かは、境界を複数の部分に分けて個別に決定して良いものである。以降、設定した境界を示すデータは「境界データ」、境界データをまとめたものは「フレーム情報」と総称する。
【００３２】
本実施形態では、モジュールを更にブロック（サブモジュール）に分割することによる階層化を行う。その階層化は、分割したブロックをマージすることで解消させ、フラットにする。そのようにしてフラットにしたデータを再度、領域分割部５１で階層化することができる。領域分割部５１に入力されるデータをフラットデータＤ１０としているのは、
このためである。
【００３３】
フラットデータＤ１０には普通、既に決定した配線（既配線。概略設計、或いは詳細設計により決定される）を示す配線データが含まれている。既配線端子化部５２は、既に決定した配線のなかから、ブロック分割のために設定した境界を通過する配線情報（ＮＥＴ）の区間を抽出し、その区間を端子化する。端子化は、設計者の選択に応じて行う。
【００３４】
図８は、ブロック間の接続用に配置するブロック（モジュール）端子の説明図である。Ｗ１はブロック間の境界を通る配線、ｔ１は、配線Ｗ１上の境界の位置に配置されるブロック端子である。
【００３５】
ブロック端子ｔ１の境界線と直交する方向上の幅は、２つのブロック内のそれぞれで境界線に最も近いグリッド点間の距離としている。それにより、グリッド点ベースの座標しか配線を扱えない場合であっても、境界を通過する配線による接続を確保しつつ、境界上にブロック間を接続するブロック端子を配置できるようにしている。このことから、端子化は境界線と直交する方向上でその境界線を挟んで隣接するグリッド点間を対象に行うようにしている。
【００３６】
境界線と平行な方向上の幅は、図８ではブロック端子を説明するために、端子部分を大きく表現しているが、配線Ｗ１と同一幅である。
禁止マッピング部５３は、デザインルール（設計規則）違反にかかるバイオレーション発生を回避するため、境界線に沿った方向上の配線禁止範囲を境界にマッピングする。具体的には、そのマッピングにより、配線を決定する詳細設計の段階において、ショート、スペーシング（間隔）違反などのデザインルール違反のバイオレーションが発生する可能性が比較的に高いと考えられる場所には、配線禁止範囲を示すマスクパターンの配置等によりブロック端子の配置を禁止するようにしている。このため、詳細設計はより適切に行えるようになる。これは、設計を繰り返す回数が少なくなる、設計を繰り返す段階（工程）がより後段で済むようになる、といった形で効果が現れる。
マッピングした境界上の配線禁止範囲を示す禁止範囲データをまとめたものは以降「禁止情報」と総称する。
【００３７】
図９及び図１０は、マッピングされる配置禁止範囲の説明図である。図９は、境界の直交方向上、一定範囲内に存在する障害物（オブジェクト）であるＯＢ１及びＯＢ２によりマッピングされる配置禁止範囲を示し、図１０は、ＲＡＭなどのような大規模セルＣＬ１１及びＣＬ１２が境界の直交方向上、近傍に存在することでマッピングされる配置禁止範囲を示している。図９及び図１０において、配置禁止範囲は「×」で表現している。
【００３８】
図１５は、禁止マッピング処理のフローチャートである。禁止マッピング部５３は、コンピュータがこの処理を実行することで実現される。ここで図１５を参照して、その禁止マッピング処理について詳細に説明する。
【００３９】
先ず、ステップＳ１では、境界の近傍に存在する障害物、或いはＡＮＤ（論理積）ゲート等の回路セル又はＲＡＭ等のマクロセルを含むセル（Ｃｅｌｌ）により配置禁止範囲をマッピングするセル禁止設定処理を実行する。続くステップＳ２では、境界から一定範囲内に存在する配線、或いは配線層間を接続するビアホール（Ｖｉａ  Ｈｏｌｅ）により配置禁止範囲をマッピングするワイヤ（Ｗｉｒｅ：配線）・ビア禁止設定処理を実行する。その実行後、この禁止マッピング処理を終了する。
【００４０】
図１６は、ステップＳ１として実行されるセル禁止設定処理のフローチャートである。次に図１６を参照して、禁止マッピング処理内でサブルーチン処理として実行されるセル
禁止設定処理について詳細に説明する。
【００４１】
この設定処理は、上記フレーム情報Ｄ４１の他に、境界からの距離により配置禁止範囲を設定する対象となるセルの条件を示すセル抽出範囲情報Ｄ４２、セル毎に配置（座標）、及び配線を禁止すべき層を示すセル情報Ｄ４３を参照して実行される。配置禁止範囲は、例えば座標範囲とその座標範囲が適用される層で表現される。そのように表現される配置禁止範囲、つまり禁止範囲データは、禁止情報Ｄ４４として保存される。
【００４２】
先ず、ステップＳ１１では、フレーム情報Ｄ４１を参照して、ブロックの境界を抽出する。ここで抽出する境界は、例えば１本の直線で表現される部分（境界線）である。次のステップＳ１２では、セル抽出範囲情報Ｄ４２及びセル情報Ｄ４３を参照して、抽出した境界で配置禁止範囲を設定する対象となるセルを抽出する。その抽出後はステップＳ１３に移行する。
【００４３】
ステップＳ１３では、抽出したセルは境界に沿った方向上の範囲を全面禁止、或いは部分的禁止とするものか否か判定する。その判定は、例えば境界に沿った方向上で配線を禁止すべき範囲を示す面積情報をセル毎にセル情報Ｄ４３、若しくはライブラリ等に用意することで行うことができる。抽出したセルの面積情報が配線を禁止すべき範囲を示していないような場合、判定はＮｏとなってステップＳ１６に移行する。その面積情報が配線を禁止すべき範囲を示していた場合には、判定はＹｅｓとなってステップＳ１４に移行する。
【００４４】
セルの抽出では、対象とすべきセルを抽出できない場合がある。その場合、特には図示していないが、ステップＳ１２からステップＳ１７に移行するようになっている。
ステップＳ１４では、境界とセルとの距離を算出する。この距離は、図１０に示す距離Ｌに相当する。その距離Ｌを算出した後は、ステップＳ１５に移行して、境界上の配線禁止範囲を算出する。配線禁止範囲をｈ、面積情報が示す範囲をＨとすると、その算出は
ｈ＝Ｈ−α×Ｌ  ・・・  （１）
により行う。ここでαは１未満の定数であり、算出結果が負となった場合は０とされる。それにより、配線禁止範囲ｈは、セルが境界から離れるほど狭くなるようにさせている。算出した配線禁止範囲ｈは、抽出した境界が存在する層とともに禁止情報Ｄ４４として保存される。ステップＳ１６には、その保存を行った後に移行する。
【００４５】
ステップＳ１６では、配線禁止範囲ｈを設定する対象となる他のセルが有るか否か判定する。他に対象となるセルが存在している場合、判定はＹｅｓとなって上記ステップＳ１２に戻り、次に対象とするセルを抽出する。他に対象となるセルが存在しない場合には、判定はＮｏとなってステップＳ１７に移行する。
【００４６】
ステップＳ１７では、他に対象となる境界（境界線）が有るか否か判定する。他に対象となる境界が存在している場合、判定はＹｅｓとなって上記ステップＳ１１に戻り、次に対象とする境界を抽出する。他に対象となる境界が存在しない場合には、判定はＮｏとなり、ここでセル禁止設定処理を終了する。
【００４７】
図１７は、図１５に示す禁止マッピング処理内でステップＳ２として実行されるワイヤ・ビア禁止設定処理のフローチャートである。次に図１７を参照して、ワイヤ・ビア禁止設定処理について詳細に説明する。配線、及びビアホールは、図９に示すように障害物として扱われる。障害物は、配線、及びビアホール以外のものであっても良い。
【００４８】
この設定処理は、上記フレーム情報Ｄ４１の他に、境界からの距離により配置禁止範囲を設定する対象となる障害物（ここでは配線、或いはビアホール）の条件を示す禁止抽出
範囲情報Ｄ５１、ワイヤ、或いはビアホール毎に形状、配置（座標）、及び形成された層を示すワイヤ・ビア情報Ｄ５２を参照して実行される。配置禁止範囲は、禁止情報Ｄ４４として保存される。
【００４９】
先ず、ステップＳ２１では、フレーム情報Ｄ４１を参照して、ブロックの境界を抽出する。次のステップＳ２２では、禁止抽出範囲情報Ｄ５１及びワイヤ・ビア情報Ｄ５２を参照して、抽出した境界で配置禁止範囲を設定する対象となる配線、或いはビアホールを抽出する。その抽出後はステップＳ５３に移行して、抽出した配線、或いはビアホールの境界に沿った方向上の範囲を配線禁止範囲とし、境界を抽出した層とともに禁止情報Ｄ４４として保存する。ステップＳ２４には、その保存後に移行する。
【００５０】
障害物の抽出では、セルと同様に、対象とすべき障害物を抽出できない場合がある。その場合、特には図示していないが、ステップＳ２２からステップＳ２５に移行するようになっている。
【００５１】
ステップＳ２４では、他に対象となるワイヤ、或いはビアホールが有るか否か判定する。ワイヤ・ビア情報Ｄ５２が示すワイヤ、及びビアホールのなかに他に対象となるものが存在していない場合、判定はＮｏとなってステップＳ２５に移行する。他に対象となるワイヤ、或いはビアホールが存在していた場合には、判定はＹｅｓとなって上記ステップＳ２２に戻り、次に対象とするワイヤ、或いはビアホールを抽出する。
【００５２】
ステップＳ２５では、他に対象となる境界（境界線）が有るか否か判定する。他に対象となる境界が存在している場合、判定はＹｅｓとなって上記ステップＳ２１に戻り、次に対象とする境界を抽出する。他に対象となる境界が存在しない場合には、判定はＮｏとなり、ここでワイヤ・ビア禁止設定処理を終了する。
【００５３】
このようにして、ブロック間の境界上で配線を禁止する範囲は自動的に設定され、禁止情報Ｄ４４として保存される。この禁止情報Ｄ４４を配線設計に用いることにより、より適切な配線を決定することができる。
【００５４】
端子辺設定部５４は、ブロック間を接続するブロック端子の配置、つまりセル間を接続させるために境界を通過させる配線の区間を設定する。
配線区間の設定は、注目するブロック内に信号を他のブロックのセルに出力するセルの出力ピンを抽出して行う。そのような出力ピンが存在しない場合、他のブロックのセルから出力される信号を入力するセルの入力ピンを抽出して行う。ブロック端子の配置は、配線遅延を最小化するために、そのような抽出によって得られる１つ以上のピンからなるグループ内で、配線長が短いと予測されるピンを優先して設定する。ブロック端子の目標位置は、２つのピンを結ぶ矩形を想定し、その矩形が境界と交わる部分に設定する。矩形と交わる境界部分が複数、存在する場合は、より自由度の高いほうを選択して設定を行う。配線長の予測も、その矩形を想定して行うことができる。
【００５５】
図１１は、境界を通過する配線の区間を設定する方法の説明図である。図１１に示す例は、モジュール１１００をブロック１１０１及び１１０２に分割した場合のものである。ブロック１１０１には、２つのセルＣＬ２１及び２２が配置され、ブロック１１０２には２つのセルＣＬ３１及び３２が配置されている。この図１１を参照して、上述したようにして行うブロック端子の位置設定について具体的に説明する。ここでは、セルＣＬ２１にの出力ピンＡａはブロック１１０２内のセルＣＬ３１の入力ピンＢｃと接続され、セルＣＬ２２の入力ピンＡｂはブロック１１０２内のセルＣＬ３２の入力ピンＢｄと接続されるものと想定する。つまりブロック１１０１及び１１０２間で２つの配線を行うものと想定する。各セルＣＬ２１、２２、３１及び３２は、図１１中に示す位置に配置されると想定
する。図１１中に表記の「ＬＳＧ」はレイアウト・サブグループ（Ｌａｙｏｕｔ  Ｓｕｂｇｒｏｕｐ）の略である。
【００５６】
図１１に示す２つの配線では、ピンＡａとピンＢｃ間の配線長はピンＡｂとピンＢｄ間の配線長より短くなる。このため、２つの配線ではピンＡａとピンＢｃ間を優先してブロック端子の目標位置を設定する。
【００５７】
ピンＡａとピンＢｃを結ぶ矩形は図１１の右側で示している。その矩形が示す境界部分がブロック端子の目標位置として設定される。
一方、特には図示していないが、ピンＡｂとピンＢｄを結ぶ矩形は、２本の直線で示す境界線と交わる。このため、矩形と交わる２つの境界部分のなかから自由度がより高いものを選択することになる。
【００５８】
自由度は、例えば境界部分の長さか、或いは境界部分を通る経路で使用可能なグリッド点の数に着目して判定する。それにより、境界部分がより長い方、或いはグリッド点の数がより多い方を自由度が高いと見なし、グリッド端子の目標位置を設定する。このとき、既に設定されている他のグリッド端子の目標位置が存在していることから、既存の目標位置を避けて設定を行う。
【００５９】
配線長予測部５５は、グリッド端子の目標位置の設定結果を用いて、予測される配線長を求める。その配線長の予測方法について、図１２に示す説明図を参照して具体的に説明する。
【００６０】
配線遅延をより小さくするために、配線は最短で行う、言い換えれば無駄な迂回を避けることが望まれる。クロストークノイズを考慮する場合、２つの配線が平行となっている部分の長さはより短くするか、或いはその部分が長くなるほど、配線間の距離をより大きくすることが望まれる。このようなことから本実施形態では、２つのピンを結ぶ矩形を想定し、その矩形が境界と交わっている部分の長さＬｖ、及び境界と直交する方向上の長さＬｈに着目している。長さＬｖが極端に短いケースでは、ブロック端子の目標位置の設定を優先させなければ迂回が発生する可能性が高い。逆に長さＬｖが長いケースでは、迂回が発生する可能性が低くなる。このため設定の優先度が低いことが不都合となる可能性は低い。このようなことから、長さＬｖの考慮によって最短経路の確保、つまり迂回の抑止をすることができる。
【００６１】
一方、平行する２本の配線間に生じるノイズ（クロストークノイズ）の影響は、平行する部分の長さが長くなるほど、その間隔が狭いほど大きくなる。そのノイズ、或いはノイズ起因の遅延増加はエラーを発生させる。このことから長さＬｈは、そのようなエラーが発生する可能性を示す指標として用いている。それにより配線長予測部５５は、境界を通る配線毎に、長さＬｖ及びＬｈを計算する。これらの長さＬｖ及びＬｈは以降「区間長」と総称する。
【００６２】
図１８は、上記長さＬｖ及びＬｈ、つまり区間長を計算するために実行するネット（Ｎｅｔ）区間長算出処理のフローチャートである。ここで図１８を参照して、その算出処理について詳細に説明する。
【００６３】
この算出処理は、図１８に示すネットリスト（ＮｅｔＬｉｓｔ）Ｄ６１、及びフレーム情報Ｄ４１の他に、セル情報Ｄ４３を参照して実行される。このネットリストＤ６１は、例えばブロック分割が反映されたものである。図１８には、１区間長を算出するために実行される処理を抽出して示している。
【００６４】
先ず、ステップＳ３１では、ネットリストＤ６１を参照して、全ての配線（ネット）を抽出し、例えばフレーム情報Ｄ４１を参照してブロック別にソートする。続くステップＳ３２では、配線によって接続されるセルのピン（図中「端子」と表記）を選択して、そのピンの位置を抽出する。その位置の抽出は、例えばセル情報Ｄ４３、及び各セルの物理形状に係わる情報を格納したライブラリを参照して行う。ステップＳ３３には、その位置の抽出後に移行する。
【００６５】
ステップＳ３３では、位置を抽出したピンは別のブロックとの間で接続されるか否か判定する。ネットリストＤ６１から、そのピンが別のブロック内に存在するセルのピンと接続されていることが確認できた場合、判定はＹｅｓとなってステップＳ３４に移行する。そのピンが同じブロック内のセルが持つピンと接続されることが確認できた場合には、判定はＮｏとなってステップＳ３２に戻り、別の配線を選択して、その配線によって接続されるピンの位置を抽出する。
【００６６】
ステップＳ３３からステップＳ３２に移行した場合、他に対象となる配線を選択できるとは限らない。このことから、特には図示していないが、ステップＳ３２では、他に対象となる配線が残っていなければ、ここで区間長算出処理を終了するようになっている。
【００６７】
ステップＳ３４では、配線で結ばれる他のピン（図中「端子」と表記）を選択する。次のステップＳ３５では、２つのピンを結ぶ矩形を想定し、フレーム情報Ｄ４１を参照して、その矩形から長さＬｖ及びＬｈを区間長として算出し、配線を示す配線情報と共に算出した区間長をネット区間長情報Ｄ６２として保存する。その保存により、１区間長の算出に係わる一連の処理が終了する。実際には、区間長を保存した後、他に対象となる配線が有るか否かの判定を行い、他に対象となる配線が有ることで判定がＹｅｓとなれば上記ステップＳ３２に戻る。逆に、他に対象となる配線が存在しないことで判定はＮｏとなれば、ここでネット区間長算出処理を終了する。
【００６８】
割当順決定部５６は、配線長予測部５５が区間長として算出した長さＬｖ及びＬｈから、ブロック端子の処理順を決定する。先に処理する方が優先的に目標位置を割り当てることになるため、その処理順の決定は優先順位の設定に相当する。
【００６９】
処理順は、長さＬｖが短いほど、長さＬｈが長くなるほど、早くさせる。それら２つの長さＬｖ及びＬｈは共に処理順を決定するうえで重要な指標である。このため処理順は、例えば長さＬｖ及びＬｈの組み合わせ別に優先度を定義した表、長さＬｖ及びＬｈのうちの一方を重視すべき範囲を定義した表、或いはそれら長さＬｖ及びＬｈを用いて優先度を算出する式などを用意し、表、或いは式を用いて決定するようにしている。
【００７０】
端子割当部５７は、割当順決定部５６が決定した処理順に従って、ブロックの境界上にブロック端子を配置する。本実施形態では、図１３に示すような端子位置制御表を参照して、配線長予測部５５が算出した長さＬｈの配線を行うのを目標とする層（配線層）、及び近傍の配線との目標とする間隔である割当ピッチを決め、ブロック端子を配置可能な場所を選択する。
【００７１】
端子位置制御表には、図１３に示すように、配線（ブロック端子の配置）の目標とする配線層、及び割当ピッチが配線長（の範囲）毎に定義されている。配線長の範囲、及び割当ピッチはグリッド点の数で表現された値で定義されている。配線層はＬ１〜８で表現されている。Ｌに続く数字が大きくなるほど、上側に位置する上位層である。割当ピッチは、配線長の範囲が同じ配線を想定したものである。配線長（長さＬｖ）が異なる配線間では、配線長が小さい方の割当ピッチが適用される。例えば配線長が１００１グリッドを越える配線と、５０１〜１０００までの範囲内の配線長の配線とでは、割当ピッチとして３グリッドが適用される。これは、平行する部分の長さによってノイズの影響の大きさが変化するからである。端子位置制御表は、その平行する部分の長さが長くなるほど、大きい割当ピッチとすることを要求していることから、エラーが発生しないようにブロック端子の配置位置を制御することができる。
【００７２】
端子位置制御表は、配線長が長くなるほど、より上位層での配線を要求するものとなっている。これは、一般的に上位層となるほど配線遅延は小さくなるためである。
図１４は、ブロック端子の配置例の説明図である。図１４において、ハッチングした矩形は何れも同一の配線層の配線を示している。
【００７３】
上述したように、長さＬｈが長いほど高い優先度が割り当てられる。このため、配線長がより長い配線から配置位置が割り当てられる。それにより、配線長が長い配線が大きい割当ピッチで配置され、配線長が短い配線は空いている場所に割り当てられることになる。この結果、境界を横断する配線が高い密度で配置される状況下であっても、図１４に示すように、配線遅延、平行な部分の長さを最適化した配置を得ることができる。
【００７４】
図１９は、端子位置割当処理のフローチャートである。この割当処理は、配線（ブロック端子）の処理順を決定して、ブロック端子の配置位置を割り当てるための処理である。割当順決定部５６、及び端子割当部５７は、この割当処理を実行することで実現される。次に図１９を参照して、この割当処理について詳細に説明する。
【００７５】
先ず、ステップＳ４１では、ネット区間長情報Ｄ６２を参照し、例えばブロック毎に区間長が長い順に配線情報（ブロック端子）をソートすることにより、処理順を決定する。その処理順は、区間長から優先度を求める方法に依存するが、例えば長さＬｖが所定長以下のものを最優先とし、所定長より長さＬｖが長いものは長さＬｈが長くなるほど優先度を高くすることで決定しても良い。処理順を決定した後はステップＳ４２に移行する。
【００７６】
ステップＳ４２では、処理順に従って処理する配線情報（ブロック端子）を選択し、端子位置制御表Ｄ７１を参照して、目標とする配線層、及び割当ピッチを決定する。次のステップＳ４３では、禁止情報Ｄ４４を参照しつつ、決定した配線層、及び割当ピッチでブロック端子を配置可能な場所のサーチを行う。その次に移行するステップＳ４４では、目標とする配線層に配置可能か否か判定する。その配線層に空いた場所が存在し、且つその場所で適切とされる割当ピッチを確保できるような場合、判定はＹｅｓとなってステップＳ４６に移行する。目標とする配線層に空いた場所が無い、或いは適切な割当ピッチを確保できないような場合には、判定はＮｏとなり、ステップＳ４５で目標とする配線層を変更した後、上記ステップＳ４３に戻り、変更後の配線層を対象にしたサーチを行う。
【００７７】
ステップＳ４６では、サーチした場所からブロック端子の位置を決定し、例えば配線情報と共に端子位置情報Ｄ７２として保存する。続くステップＳ４７では、他に配置位置を決定すべきブロック端子が有るか否か判定する。ステップＳ４１でソートした配線情報のなかで処理していないものが存在する場合、判定はＹｅｓとなって上記ステップＳ４２に戻り、それ以降の処理を同様に実行する。ソートした配線情報のなかで処理していないものが残っていない場合には、判定はＮｏとなり、ここで端子位置割当処理を終了する。
【００７８】
モジュール分割部５８は、フラットデータＤ１０をブロック分割に応じて分割し、フレーム情報Ｄ４１、セル情報Ｄ４３、禁止情報Ｄ４４、ワイヤ・ビア情報Ｄ５２、及び端子位置情報Ｄ７２等とまとめてサブモジュールデータＤ２０を作成する。図５では、計３つのサブモジュールデータＤ２０を作成している。
【００７９】
サブモジュール詳細設計部５９は、小モジュールデータＤ２０毎に、セルの配置、及び
配線を決定する詳細設計を行う。ブロック端子に割り当てた位置は、配線の決定に反映させる。
【００８０】
その詳細設計に用いる小モジュールデータＤ２０は、ブロック分割によりデータ量がフラットデータＤ１０より大幅に小さくなっている。配線の決定に要する時間は、配線の数に応じて指数関数的に長くなる。このため、詳細設計に必要な全体の時間は、フラットデータＤ１０を用いて行う詳細設計に必要な時間と比較してより短くなる。また、データＤ１０を分割したことにより、並列（分散）処理が可能となるため、詳細設計に必要な時間はより短くすることもできる。詳細設計の結果をサブモジュールデータＤ２０に反映させることにより、サブモジュールデータＤ３０が作成される。
【００８１】
ブロック端子への位置の割り当ては、回避すべき迂回の発生の抑制、及びバイオレーションの発生の抑制を共に考慮して行っている。このため、詳細設計はより適切に実施できるようになる。配線上の不具合の発生が抑制されることから、配線する経路の探索は迅速に行えるようになり、セルの配置変更等を行う頻度は抑えられる。これらのことから、詳細設計に要する時間も短縮できることとなる。
【００８２】
フラット化処理部６０は、サブモジュールデータＤ３０をマージして、モジュールをブロック分割することで生じた階層を消滅させるフラット化を行う。そのフラット化によって得られたフラットデータＤ１０は、何らかの修正や設計変更等を行う場合、領域分割部５１の入力データとすることができる。
【００８３】
上述したような機能構成の支援装置では、工程Ｐ２は領域分割部５１によって実施される。工程Ｐ３は、既配線端子化部５２、禁止マッピング部５３、端子辺設定部５４、配線長予測部５５、割当順決定部５６、及び端子割当部５７によって実施される。工程Ｐ４及びＰ５はサブモジュール詳細設計部５９により実施される。工程Ｐ６は、修正の必要のないフラットデータＤ１０をマージすることに相当する。
【００８４】
図２０は、本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図２０を参照して、支援装置として用いることが可能なコンピュータの構成について具体的に説明する。
【００８５】
図２０に示すコンピュータは、ＣＰＵ９１、メモリ９２、入力装置９３、出力装置９４、外部記憶装置９５、媒体駆動装置９６、及びネットワーク接続装置９７を有し、これらがバス９８によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
【００８６】
ＣＰＵ９１は、当該コンピュータ全体の制御を行う。
メモリ９２は、プログラム実行、データ更新等の際に、外部記憶装置９５（あるいは可搬型の記録媒体Ｍに記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ９１は、プログラムをメモリ９２に読み出して実行することにより、全体の制御を行う。
【００８７】
入力装置９３は、例えば、キーボード、マウス等の操作装置と接続されたインターフェースである。操作装置に対するユーザの操作を検出し、その検出結果をＣＰＵ９１に通知する。
【００８８】
出力装置９４は、例えば表示装置と接続された表示制御装置である。ネットワーク接続装置９７は、例えばイントラネットやインターネット等の通信ネットワークを介して、外部装置と通信を行うためのものである。外部記憶装置９５は、例えばハードディスク装置
である。主に各種データやプログラムの保存に用いられる。
【００８９】
媒体駆動装置９６は、光ディスクや光磁気ディスク等の可搬型の記録媒体Ｍにアクセスするものである。
フラットデータＤ１０は、例えばＣＰＵ８１がフロアプランのためのプログラムであるフロアプランナを実行することにより、外部記憶装置９５、或いは媒体駆動装置９６を介して記録媒体Ｍに格納することができる。ネットワーク接続装置９７を介して外部装置から取得することもできる。サブモジュールデータＤ２０及びＤ３０、フレーム情報Ｄ４１、セル抽出範囲情報Ｄ４２、セル情報Ｄ４３、禁止情報Ｄ４４、禁止抽出範囲情報Ｄ５２、及び端子位置制御表Ｄ７１等も外部記憶装置９５、或いは媒体駆動装置９６を介して記録媒体Ｍに格納することができる。
【００９０】
図５に示す領域分割部５１、既配線端子化部５２、禁止マッピング部５３、端子辺設定部５４、配線長予測部５５、割当順決定部５６、端子割当部５７、モジュール分割部５８、サブモジュール詳細設計部５９、及びフラット化処理部６０は、一つのプログラムをＣＰＵ９１に実行させることで実現できる。本実施形態では、詳細設計は周知技術を用いて行うようにしていることから、領域分割部５１、既配線端子化部５２、禁止マッピング部５３、端子辺設定部５４、配線長予測部５５、割当順決定部５６、端子割当部５７、及びモジュール分割部５８は１プログラム（以降「レイアウト設計支援プログラム」と呼ぶ）により実現し、サブモジュール詳細設計部５９は詳細設計用のツールの実行により実現させている。そのレイアウト設計支援プログラムは、外部記憶装置９５、或いは記録媒体Ｍに格納しても良いが、ネットワーク接続装置９７を介して外部装置から随時、取得しても良い。
【００９１】
なお、本実施形態では、グリッド点を避けた境界の設定はモジュールのブロックへの分割のために行っているが、モジュールへの分割に用いても良い。ブロック端子の位置の割当方法、配線禁止範囲の設定についても同様に、モジュールへの分割のために採用しても良い。
【００９２】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割して得られる第１のモジュールを複数の第２のモジュールに分割する第１の工程と、
前記第１の工程により分割した第２のモジュール毎に、該第２のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第２の工程と、
を含むことを特徴とするレイアウト設計方法。
（付記２）
前記第１の工程では、前記第２のモジュールへの分割は、前記配線の基本単位となるグリッド点を避けて、隣接する他の第２のモジュールとの境界を設定する、
ことを特徴とする付記１記載のレイアウト設計方法。
（付記３）
前記第１の工程では、前記境界を通る配線が存在する場合、該境界上に、該境界の直交方向上に該境界を挟んで隣接する２つのグリッド点間を結ぶ幅のモジュール端子を配置する、
ことを特徴とする付記１記載のレイアウト設計方法。
（付記４）
前記第１の工程では、前記境界を通る配線が存在する場合、該配線によって接続される２つのピン間を基に、該配線用に該境界上に配置するモジュール端子の位置を割り当てる
うえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当て、
前記第２の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記１記載のレイアウト設計方法。
（付記５）
前記優先度は、前記２つのピン間を結ぶ矩形を想定し、該矩形が前記境界と交わる幅、及び該矩形の該境界と直交する方向上の幅を基に決定する、
ことを特徴とする付記４記載のレイアウト設計方法。
（付記６）
前記第１の工程では、前記境界の近傍に配置された配線上の障害物を基に、前記モジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当て、
前記第２の工程では、前記モジュール端子に割り当てられた位置を用いて前記詳細設計を実施する、
ことを特徴とする付記１記載のレイアウト設計方法。
（付記７）
前記障害物は、前記配置が決定されているセル、既存の配線、及びビアホールを含む、
ことを特徴とする付記６記載のレイアウト設計方法。
（付記８）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する第１の工程と、
前記第１の工程により設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する第２の工程と、
前記第２の工程により分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
（付記９）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第１の工程と、
前記第１の工程で設定した境界を通る配線が存在する場合に、該配線によって接続される２つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる第２の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
（付記１０）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を実施する方法において、
前記半導体集積回路を分割する境界を設定する第１の工程と、
前記第１の工程で設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる２つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる第２の工程と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジ
ュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する第３の工程と、
を含むことを特徴とするレイアウト設計方法。
（付記１１）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割して得られる第１のモジュールを複数の第２のモジュールに分割する第１の分割手段と、
前記第１の分割手段が分割した第２のモジュール毎に、該第２のモジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する第２の分割手段と、
を具備することを特徴とするレイアウト設計支援装置。
（付記１２）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定する境界設定手段と、
前記境界設定手段が設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割する分割手段と、
前記分割手段が分割したモジュール毎に、該モジュール内のセルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
（付記１３）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界を通る配線が存在する場合に、該配線によって接続される２つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
（付記１４）
半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置において、
前記半導体集積回路を分割する境界を設定する境界設定手段と、
前記境界設定手段が設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる２つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てる位置割当手段と、
前記境界に沿った前記半導体集積回路の分割により得られるモジュール毎に、前記モジュール端子に割り当てられた位置を用いて前記セルの配置、及び配線を決定するレイアウトの詳細設計を実施する詳細設計手段と、
を具備することを特徴とするレイアウト設計支援装置。
（付記１５）
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する場合に、前記配線の基本単位となるグリッド点を避けて境界を設定するステップと、
前記設定するステップにより設定した境界に沿って、前記半導体集積回路を複数のモジュールに分割するステップと、
を実行させるためのレイアウト設計支援プログラム。
（付記１６）
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界を通る配線が存在する場合に、該配線によって接続される２つのピン間に基づいて、該配線用に該境界上に配置するモジュール端子の位置を割り当てるうえでの優先度を決定し、該優先度に従って該配線毎に該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
（付記１７）
情報処理装置にインストールすることにより、半導体集積回路を構成するセルの配置、及び配線を決定するレイアウト設計を支援するレイアウト設計支援装置を実現するレイアウト設計支援プログラムにおいて、
前記情報処理装置に、
前記半導体集積回路を分割する境界を設定するステップと、
前記設定するステップにより設定した境界の近傍に配置されている配線上の障害物を抽出し、該障害物を基に、該境界に沿った分割により得られる２つのモジュール間の接続用のモジュール端子を配置しない禁止範囲を該境界上に設定し、該禁止範囲を避けて該モジュール端子の位置を割り当てるステップと、
を実行させるためのレイアウト設計支援プログラム。
【図面の簡単な説明】
【００９３】
【図１】従来のレイアウト設計支援装置の機能構成図である。
【図２】モジュール分割例を示す図である。
【図３】別のモジュール分割例を示す図である。
【図４】本実施形態の適用により実現可能なレイアウト設計の概略フローを示す図である。
【図５】本実施形態によるレイアウト設計支援装置の機能構成図である。
【図６】モジュールの分割方法の説明図である。
【図７】ブロックに分割する境界の設定方法の説明図である。
【図８】ブロック間の接続用に配置するブロック（モジュール）端子の説明図である。
【図９】マッピングされる配置禁止範囲の説明図である（その１）。
【図１０】マッピングされる配置禁止範囲の説明図である（その２）
【図１１】境界を通過する配線の区間を設定する方法の説明図である。
【図１２】配線長の予測方法の説明図である。
【図１３】端子位置制御表の内容例を示す図である。
【図１４】ブロック端子の配置例の説明図である。
【図１５】禁止マッピング処理のフローチャートである。
【図１６】セル禁止設定処理のフローチャートである。
【図１７】ワイヤ・ビア禁止設定処理のフローチャートである。
【図１８】ネット（Ｎｅｔ）区間長算出処理のフローチャートである。
【図１９】端子位置割当処理のフローチャートである。
【図２０】本発明を適用可能なコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【００９４】
５１      領域分割部
５２      器配線端子化部
５３      禁止マッピング部
５４      端子辺設定部
５５      配線長予測部
５６      割当順決定部
５７      端子割当部
５８      モジュール分割部
５９      サブモジュール詳細設計部
６０      フラット化処理部
【図１】
2010073073.tif 000003
【図５】
2010073073.tif 000004
【図７】
2010073073.tif 000005
【図８】
2010073073.tif 000006
【図１１】
2010073073.tif 000007
【図１３】
2010073073.tif 000008
【図２０】
2010073073.tif 000009
【図２】
2010073073.tif 000010
【図３】
2010073073.tif 000011
【図４】
2010073073.tif 000012
【図６】
2010073073.tif 000013
【図９】
2010073073.tif 000014
【図１０】
2010073073.tif 000015
【図１２】
2010073073.tif 000016
【図１４】
2010073073.tif 000017
【図１５】
2010073073.tif 000018
【図１６】
2010073073.tif 000019
【図１７】
2010073073.tif 000020
【図１８】
2010073073.tif 000021
【図１９】
2010073073.tif 000022