(57)【要約】【課題】対象階層マクロブロックから他の階層マクロブロックへの配線間容量を更に抑制すること。【解決手段】本発明では、チップ全体を階層的に分割した複数の階層マクロブロックを生成する（Ｓ２）。階層マクロブロック３０に対する回路図データから、初段、最終段のセルを表す境界セル群４０〜４３、４４〜４７と、上位の階層マクロブロック６０のセル７１、７２及び境界セル群４０〜４３、４４〜４７を接続する境界パス群５３、５４とを抽出する（Ｓ３）。階層マクロブロック３０において、境界３１の一部分３２から内部に延びる境界回路領域６１と、境界回路領域６１を囲う境界セル領域６２と、それ以外の領域６３とを決定し（Ｓ４）、境界セル群４０〜４３、４４〜４７を境界セル領域６２に配置する（Ｓ５）。階層マクロブロック６０にセル７１、７２を配置すると同時に、境界回路領域６１に境界パス群５３、５４を配置する（Ｓ９）。【選択図】図３
2011232920.tif 000002
【特許請求の範囲】
【請求項１】
制御部を備えたコンピュータが実行する方法であって、
前記制御部が、チップ全体を階層的に分割したレイアウト領域である複数の階層マクロブロックを生成する工程と、
前記制御部が、前記複数の階層マクロブロックのうちの対象階層マクロブロックに対する回路図データが表す回路の中から、初段、最終段のセルを表す境界セル群と、前記対象階層マクロブロックの上位の階層マクロブロックのセルと前記境界セル群とをそれぞれ接続するための境界パス群とを抽出する工程と、
前記制御部が、前記対象階層マクロブロックの境界の一部分から前記対象階層マクロブロックの内部の方向に延びる境界回路領域と、前記対象階層マクロブロック内で前記境界回路領域を囲う境界セル領域と、前記対象階層マクロブロックの前記境界回路領域、前記境界セル領域以外の領域である階層マクロ内部領域とを決定する工程と、
前記制御部が、前記境界セル群を前記境界セル領域に配置する工程と、
前記制御部が、前記上位の階層マクロブロックにセルを配置すると同時に、前記境界回路領域に前記境界パス群を配置する工程と
を具備する半導体集積回路階層設計方法。
【請求項２】
更に、
前記制御部が、前記境界回路領域に配置する工程の前に、前記境界セル領域と前記階層マクロ内部領域とに対してセル及びパスの配置を禁止するレイアウト禁止領域を設定する工程
を具備し、
前記境界回路領域はレイアウト禁止領域以外の領域として、前記境界回路領域に配置する工程が実行される
請求項１に記載の半導体集積回路階層設計方法。
【請求項３】
前記抽出する工程は、
前記制御部が、前記対象階層マクロブロックに対する回路図データが表す回路の中から、前記対象階層マクロブロックの境界で前記境界パス群上に設けられる端子群を更に抽出し、
前記境界回路領域に配置する工程は、
前記制御部が、前記境界回路領域に前記端子群を更に配置する
請求項１又は２に記載の半導体集積回路階層設計方法。
【請求項４】
前記境界セル群、前記上位の階層マクロブロックのセルは、フリップフロップ又はマクロを表す
請求項１〜３のいずれかに記載の半導体集積回路階層設計方法。
【請求項５】
前記境界パス群は、配線と、その配線上に設けられる論理ゲートとを含む
請求項１〜４のいずれかに記載の半導体集積回路階層設計方法。
【請求項６】
前記抽出する工程は、
前記制御部が、初段、最終段以外のセルを表す内部セル群と、前記内部セル群に接続される内部パスと、前記境界セル群のうちの少なくとも１つのセルと前記内部セル群のうちの少なくとも１つのセルとを接続するための中継パスとを更に抽出し、
更に、
前記制御部が、前記階層マクロ内部領域に前記内部セル群と前記内部パスと前記中継パスとを配置する工程
を具備する請求項１〜５のいずれかに記載の半導体集積回路階層設計方法。
【請求項７】
更に、
前記制御部が、前記階層マクロ内部領域に配置する工程の前に、前記境界回路領域と前記境界セル領域とに対してセル及びパスの配置を禁止するレイアウト禁止領域を設定する工程
を具備し、
前記階層マクロ内部領域はレイアウト禁止領域以外の領域として、前記階層マクロ内部領域に配置する工程が実行される
請求項６に記載の半導体集積回路階層設計方法。
【請求項８】
前記内部セル群は、フリップフロップ又はマクロを表す
請求項６又は７に記載の半導体集積回路階層設計方法。
【請求項９】
前記内部パス、前記中継パスは、配線と、その配線上に設けられる論理ゲートとを含む
請求項６〜８のいずれかに記載の半導体集積回路階層設計方法。
【請求項１０】
更に、
前記制御部が、半導体集積回路を機能毎に階層化した回路を表す複数の回路図データを生成する工程
を具備し、
前記複数の階層マクロブロックは、前記複数の回路図データのそれぞれに対して、前記チップ全体を階層的に分割したレイアウト領域として生成される
請求項１〜９のいずれかに記載の半導体集積回路階層設計方法。
【請求項１１】
更に、
動作シミュレーションにより、前記対象階層マクロブロックに発生する抵抗値及び容量値に基づいて遅延値を算出する工程と、
前記遅延値が所望の値であるか否かを検証する工程と
を具備する請求項１〜１０のいずれかに記載の半導体集積回路階層設計方法。
【請求項１２】
更に、
前記制御部が、前記境界回路領域と前記境界セル領域との間にシールド配線を設ける工程
を具備する請求項１〜１１のいずれかに記載の半導体集積回路階層設計方法。
【請求項１３】
チップ全体が階層的に分割されたレイアウト領域である複数の階層マクロブロックと、
前記複数の階層マクロブロックのうちの対象階層マクロブロックの境界の一部分から前記対象階層マクロブロックの内部の方向に延びる境界回路領域と、
前記対象階層マクロブロック内で前記境界回路領域を囲う境界セル領域と、
前記対象階層マクロブロックの前記境界回路領域、前記境界セル領域以外の領域である階層マクロ内部領域と、
前記境界セル領域に配置され、初段、最終段のセルを表す境界セル群と、
前記境界回路領域に配置され、前記対象階層マクロブロックの上位の階層マクロブロックのセルと前記境界セル群とをそれぞれ接続するための境界パス群と
を具備する半導体集積回路。
【請求項１４】
チップ全体を階層的に分割したレイアウト領域である複数の階層マクロブロックを生成する階層マクロブロック生成部と、
前記複数の階層マクロブロックのうちの対象階層マクロブロックに対する回路図データが表す回路の中から、初段、最終段のセルを表す境界セル群と、前記対象階層マクロブロックの上位の階層マクロブロックのセルと前記境界セル群とをそれぞれ接続するための境界パス群とを抽出する回路情報抽出部と、
前記対象階層マクロブロックの境界の一部分から前記対象階層マクロブロックの内部の方向に延びる境界回路領域と、前記対象階層マクロブロック内で前記境界回路領域を囲う境界セル領域と、前記対象階層マクロブロックの前記境界回路領域、前記境界セル領域以外の領域である階層マクロ内部領域とを決定する領域決定部と、
前記境界セル群を前記境界セル領域に配置する境界セルレイアウト部と、
前記上位の階層マクロブロックにセルを配置すると同時に、前記境界回路領域に前記境界パス群を配置する上位階層レイアウト部と
を具備する半導体集積回路階層設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の階層設計を行う半導体集積回路階層設計方法に関する。
【背景技術】
【０００２】
近年の半導体集積回路の大規模化に伴い、半導体集積回路全体を一度にレイアウトする手法では、データ規模が設計ツール（コンピュータ、コンピュータプログラム等）の処理限界を超えるようになってきている。そこで、半導体集積回路を機能毎に階層化した回路を表す複数の回路図データを生成し、複数の回路図データのそれぞれに対して、チップ全体を階層的に分割したレイアウト領域である複数の階層マクロブロック（フィジカルブロックともいう）を生成し、階層マクロブロック毎に設計する階層設計方法が行われている。
【０００３】
この階層設計方法では、複数の階層マクロブロックのうちの対象階層マクロブロックに注目した場合、動作シミュレーションにより、対象階層マクロブロックに発生する抵抗値及び容量値に基づいて遅延値を算出し、遅延値が所望の値であるか否かを検証する。
【０００４】
しかし、対象階層マクロブロックの内部に配置された配線（内部配線）と、対象階層マクロブロックの上位の階層マクロブロックに配置された配線（外部配線）との間に発生する容量（配線間容量）により、クロストークが生じる場合がある。このクロストークの影響により、対象階層マクロブロック単体で動作シミュレーションを行ったときの遅延値と、チップ全体で対象階層マクロブロックの動作シミュレーションを行ったときの遅延値とに差が生じてしまう。その差により、チップに不具合が発生する。
【０００５】
そこで、従来の半導体集積回路階層設計方法として、特開２００４−２５９９６７号公報には、内部配線と外部配線との配置を考慮した半導体集積回路階層設計方法が記載されている。
【０００６】
図１に示されるように、従来の半導体集積回路階層設計方法では、対象階層マクロブロック１３０の境界１３１にシールド配線１００を設けている。例えば、境界１３１付近で隣接するように、対象階層マクロブロック１３０の内部に配線（内部配線）１１１が配置され、対象階層マクロブロック１３０の上位の階層マクロブロック１７０に配線（外部配線）１２１が配置される場合、それらの間に配線間容量が発生しないようにシールド配線１００が配置される。これにより、内部配線１１１と外部配線１２１との間のクロストークを防いでいる。
【０００７】
また、従来の半導体集積回路階層設計方法では、対象階層マクロブロック１３０を、上位の階層マクロブロック１７０へ配線が行われる配線抑制領域１６１と、内部領域１６２とに分けている。配線抑制領域１６１は、境界１３１と、対象階層マクロブロック１３０の境界１３２とに接している。この配線抑制領域１６１では境界１３２に平行する配線を禁止している。このため、配線抑制領域１６１には、境界１３２に平行しない配線である内部配線１１２が配置される。例えば、内部配線１１２は、境界１３２に対して垂直の方向に、配線抑制領域１６１から対象階層マクロブロック１３０の境界１３２を介して上位の階層マクロブロック１７０に配置される。又は、内部配線１１２は、内部領域１６２から配線抑制領域１６１、境界１３２を介して上位の階層マクロブロック１７０に配置される。これにより、内部配線１１２と外部配線１２２との間のクロストークを防いでいる。
【０００８】
また、従来の半導体集積回路階層設計方法では、配線抑制領域１６１において、内部領域１６２に配置される内部配線１１３と、外部配線１２２との間には、配線間容量が発生しない距離が設けられている。これにより、内部配線１１３と外部配線１２２との間のクロストークを防いでいる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−２５９９６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来の半導体集積回路階層設計方法では、配線抑制領域１６１において境界１３２に平行する配線を禁止しているが、対象階層マクロブロック１３０を単に配線抑制領域１６１と内部領域１６２とに２分割している。このため、図２に示されるように、内部配線１１２は、内部領域１６２から配線抑制領域１６１、境界１３２を介して上位の階層マクロブロック１７０に配置される場合や、配線抑制領域１６１から境界１３２を介して上位の階層マクロブロック１７０に配置される場合や、内部領域１６２から配線抑制領域１６１に配置される場合等、配線抑制領域１６１には、多くの内部配線１１２が配置されることになる。
【００１１】
このように、従来の半導体集積回路階層設計方法では、対象階層マクロブロック１３０から上位の階層マクロブロック１７０に配置される内部配線１１２以外にも、対象階層マクロブロック１３０内で内部領域１６２から配線抑制領域１６１に配置される内部配線１１２に対しても隣接するため、これらの内部配線１１２間で配線間容量が発生してしまい、クロストークが生じる可能性がある。このクロストークの影響により、対象階層マクロブロック１３０単体で動作シミュレーションを行ったときの遅延値と、チップ全体で対象階層マクロブロック１３０の動作シミュレーションを行ったときの遅延値とに差が生じ、チップに不具合が発生する可能性がある。
【００１２】
従って、対象階層マクロブロックから他の階層マクロブロックへのパス（配線を含む）に対する配線間容量を更に抑制することが望まれる。
【課題を解決するための手段】
【００１３】
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１４】
本発明の半導体集積回路階層設計方法では、工程として階層マクロブロック生成処理（Ｓ２）、回路情報抽出処理（Ｓ３）、領域決定処理（Ｓ４）、境界セルレイアウト処理（Ｓ５）、上位階層レイアウト処理（Ｓ９）をコンピュータ（１０）が実行する。コンピュータ（１０）は、コンピュータプログラム（１３）が格納された記憶部（１２）と、コンピュータプログラム（１３）を実行する制御部（１１）とを備えている。階層マクロブロック生成処理（Ｓ２）では、制御部（１１）が、チップ全体を階層的に分割したレイアウト領域である複数の階層マクロブロックを生成する。回路情報抽出処理（Ｓ３）では、制御部（１１）が、複数の階層マクロブロックのうちの対象階層マクロブロック（３０）に対する回路図データが表す回路の中から、初段、最終段のセルを表す境界セル群（４０〜４３、４４〜４７）と、対象階層マクロブロック（３０）の上位の階層マクロブロック（６０）のセル（７１、７２）と境界セル群（４０〜４３、４４〜４７）とをそれぞれ接続するための境界パス群（５３、５４）とを抽出する。領域決定処理（Ｓ４）では、制御部（１１）が、対象階層マクロブロック（３０）の境界（３１）の一部分（３２）から対象階層マクロブロック（３０）の内部の方向に延びる境界回路領域（６１）と、対象階層マクロブロック（３０）内で境界回路領域（６１）を囲う境界セル領域（６２）と、対象階層マクロブロック（３０）の境界回路領域（６１）、境界セル領域（６２）以外の領域である階層マクロ内部領域（６３）とを決定する。境界セルレイアウト処理（Ｓ５）では、制御部（１１）が、境界セル群（４０〜４３、４４〜４７）を境界セル領域（６２）に配置する。上位階層レイアウト処理（Ｓ９）では、制御部（１１）が、上位の階層マクロブロック（６０）にセル（７１、７２）を配置すると同時に、境界回路領域（６１）に境界パス群（５３、５４）を配置する。
【発明の効果】
【００１５】
本発明の半導体集積回路階層設計方法によれば、第１の効果として、対象階層マクロブロック（３０）から他の階層マクロブロック（上位の階層マクロブロック（７０））へのパス（第１、２境界パス（５３、５４））に対する配線間容量を従来に比べて抑制することができる。
【００１６】
その理由として、対象階層マクロブロック（３０）には境界回路領域（６１）と境界セル領域（６２）とが設けられ、境界回路領域６１は境界セル領域（６２）に囲まれている。従って、対象階層マクロブロック（３０）から上位の階層マクロブロック（７０）への第１、２境界パス（５３、５４）は境界回路領域（６１）に限定される。このため、境界回路領域（６１）で発生する配線間容量は、従来における配線抑制領域（１６１）で発生する配線間容量に比べて小さくなる。
【００１７】
また、これを実現するために、境界セル領域（６２）は、境界回路領域（６１）と階層マクロ内部領域（６３）とを分離する領域として設けられ、その境界セル領域（６２）には、初段、最終段のセルを表す第１、２境界セル群（４０〜４３、４４〜４７）が配置される。従って、境界回路領域（６１）には、対象階層マクロブロック（３０）から上位の階層マクロブロック（７０）への第１、２境界パス（５３、５４）が配置され、対象階層マクロブロック（３０）から上位の階層マクロブロック（７０）に接続されないパスは配置されない。このため、第１、２境界パス（５３、５４）間で発生する配線間容量に関しても、当該境界パス（５３、５４）を上位の階層マクロブロック（７０）の一部としてみなすことにより、正確に見積もることができる。
【００１８】
このように、本発明の半導体集積回路階層設計方法によれば、対象階層マクロブロック（３０）から他の階層マクロブロックへのパスに対する配線間容量を更に抑制することができる。
【００１９】
本発明の半導体集積回路階層設計方法によれば、第１の効果により配線間容量を正確に得られるため、第２の効果として、チップ全体で対象階層マクロブロック（３０）の動作シミュレーションを行ったときと変わらない状態で、対象階層マクロブロック（３０）単体で動作シミュレーションを行うことができる。
【００２０】
本発明の半導体集積回路階層設計方法によれば、第３の効果として、上位の階層マクロブロック（７０）に対象階層マクロブロック（３０）の境界回路領域（６１）を加えたものと階層マクロ内部領域（６３）とを同時にレイアウトするため、設計時間を短縮できる。
【００２１】
その理由として、通常の階層設計方法では、回路規模の大きい対象階層マクロブロックのレイアウトが完了してから、同じく回路規模の大きい上位の階層マクロブロックのレイアウトに移行する。一方、本発明の半導体集積回路階層設計方法によれば、対象階層マクロブロック（３０）において、その内部と境界配線とが干渉しないように、回路規模の小さい境界回路領域（６１）、境界セル領域（６２）、階層マクロ内部領域（６３）を決定し、階層マクロ内部領域（６３）のレイアウトと、上位の階層マクロブロック（７０）及び回路規模の小さい境界回路領域（６１）のレイアウトとを並行に行うことができる。これにより、本発明では、境界配線の配線間容量を上位の階層マクロブロック（７０）と同時に見積もることができるため、階層マクロ内部領域（６３）のレイアウト完了を待たずして、上位の階層マクロブロック（７０）のレイアウト・シミュレーションを行うことができる。
【図面の簡単な説明】
【００２２】
【図１】図１は、従来の半導体集積回路階層設計方法を説明するための図である。
【図２】図２は、従来の半導体集積回路階層設計方法を説明するための図である。
【図３】図３は、本発明の実施形態による半導体集積回路階層設計方法により設計される半導体集積回路の構成を示している。
【図４】図４は、本発明の実施形態による半導体集積回路階層設計方法に適用されるコンピュータ１０の構成を示すブロック図である。
【図５】図５は、本発明の実施形態による半導体集積回路階層設計方法を示すフローチャートである。
【図６】図６は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図７】図７は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図８】図８は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図９】図９は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図１０】図１０は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図１１】図１１は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図１２】図１２は、本発明の実施形態による半導体集積回路階層設計方法を説明するための図である。
【図１３】図１３は、本発明の他の実施形態による半導体集積回路階層設計方法を説明するための図である。
【発明を実施するための形態】
【００２３】
以下に添付図面を参照して、本発明の実施形態による半導体集積回路階層設計方法について詳細に説明する。
【００２４】
図３は、本発明の実施形態による半導体集積回路階層設計方法により設計される半導体集積回路の構成を示している。
【００２５】
この半導体集積回路は、チップ全体が階層的に分割されたレイアウト領域である複数の階層マクロブロックと、境界セル群４０〜４３、４４〜４７と、内部セル群４８、４９と、端子群５１、５２と、境界パス群５３、５４と、内部パス５５と、中継パス５６と、境界回路領域６１と、境界セル領域６２と、階層マクロ内部領域６３とを具備している。
【００２６】
説明の都合上、複数の階層マクロブロックのうちの１つの階層マクロブロックである対象階層マクロブロック３０に注目する。
【００２７】
境界回路領域６１は、対象階層マクロブロック３０の境界３１の一部分３２から対象階層マクロブロック３０の内部の方向に延びる領域である。境界３１は、対象階層マクロブロック３０の四辺のうちの一辺を表している。
【００２８】
境界セル領域６２は、対象階層マクロブロック３０内で境界回路領域６１を囲う領域である。
【００２９】
階層マクロ内部領域６３は、対象階層マクロブロック３０の境界回路領域６１、境界セル領域６２以外の領域である。
【００３０】
境界セル群４０〜４３、４４〜４７は、境界セル領域６２に配置される。この境界セル群４０〜４３、４４〜４７は、初段、最終段のセル（フリップフロップ又はマクロ）を表している。境界セル群は、例えば、第１境界セル群４０〜４３と、境界回路領域６１を介して第１境界セル群４０〜４３に対向する第２境界セル群４４〜４７とに分けられる。
【００３１】
境界パス群５３、５４は、境界回路領域６１に配置される。この境界パス群５３、５４は、配線と配線上に設けられる論理ゲートとを含んでいる。境界パス群５３、５４は、例えば、第１境界パス５３と、第２境界パス５４とに分けられる。第１、２境界パス５３、５４は、対象階層マクロブロック３０の上位の階層マクロブロック７０のセル７１、７２（フリップフロップ又はマクロ）と第１、２境界セル群４０〜４３、４４〜４７とをそれぞれ接続するためのパスである。
【００３２】
端子群５１、５２は、例えば、第１端子５１と、第２端子５２とに分けられる。第１、２端子５１、５２は、対象階層マクロブロック３０の境界３１で第１、２境界パス５３、５４上にそれぞれ設けられる端子である。
【００３３】
内部セル群４８、４９は、階層マクロ内部領域６３に配置される。この内部セル群４８、４９は、初段、最終段以外のセル（フリップフロップ又はマクロ）を表している。
【００３４】
内部パス５５は、階層マクロ内部領域６３に配置される。この内部パス５５は、配線と配線上に設けられる論理ゲートとを含んでいる。内部パス５５は、内部セル群４８、４９に接続されるパスである。
【００３５】
中継パス５６は、階層マクロ内部領域６３に配置される。この中継パス５６は、配線と配線上に設けられる論理ゲートとを含んでいる。中継パス５６は、内部パス５５と、第１、２境界セル群４０〜４３、４４〜４７のうちの少なくとも１つのセル（例えばセル４７とする）と内部セル群４８、４９のうちの少なくとも１つのセル（例えばセル４９とする）とを接続するためのパスである。
【００３６】
図４は、本発明の実施形態による半導体集積回路階層設計方法に適用されるコンピュータ１０の構成を示すブロック図である。そのコンピュータ１０は、制御部１１と、記憶部１２と、表示部を具備している。
【００３７】
制御部１１としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が例示され、記憶部１２としては、記録媒体であるメモリが例示される。記憶部１２には、コンピュータに実行させるためのコンピュータプログラム１３が記憶されている。制御部１１は、起動時などに記憶部１２からコンピュータプログラム１３を読み取って実行し、その実行結果を表示部に表示する。
【００３８】
制御部１１は、回路図データ生成部２１と、階層マクロブロック生成部２２と、回路情報抽出部２３と、領域決定部２４と、境界セルレイアウト部２５と、階層マクロ内レイアウト部２６と、上位階層レイアウト部２７と、シミュレーション部２８とを備えている。記憶部１２は、セル、配線、端子を含む配線要素に関する情報（パラメータ）が格納されたライブラリ１４を備えている。そのパラメータは、例えば、配線要素（配線、セル）の面積を含んでいる。
【００３９】
図５は、本発明の実施形態による半導体集積回路階層設計方法を示すフローチャートである。
【００４０】
（Ｓ１；回路図データ生成処理）
回路図データ生成部２１は、半導体集積回路を機能毎に階層化した回路を表す複数の回路図データを生成する。
【００４１】
（Ｓ２；階層マクロブロック生成処理）
図６に示されるように、階層マクロブロック生成部２２は、複数の回路図データのそれぞれに対して、チップ全体を階層的に分割したレイアウト領域である複数の階層マクロブロックを生成する。
【００４２】
（Ｓ３；回路情報抽出処理）
回路情報抽出部２３は、複数の階層マクロブロックのうちの対象階層マクロブロック３０に対する回路図データが表す回路の中から、前述の第１、２境界セル群４０〜４３、４４〜４７、第１、２境界パス５３、５４、第１、２端子５１、５２、内部セル群４８、４９、内部パス５５、中継パス５６（図３参照）を回路情報として抽出する。同時に、対象階層マクロブロック３０の上位の階層マクロブロック７０に対する回路図データが表す回路の中から、セル７１、７２を回路情報として抽出する。
【００４３】
（Ｓ４；領域決定処理）
図７に示されるように、領域決定部２４は、境界回路領域６１と、対象階層マクロブロック３０内で境界回路領域６１を囲う境界セル領域６２と、階層マクロ内部領域６３とを決定する。
【００４４】
ここで、境界回路領域６１、境界セル領域６２、階層マクロ内部領域６３の決定方法について説明する。
【００４５】
領域決定部２４は、対象階層マクロブロック３０に対する回路図データから、境界回路領域６１に配置される第１配線要素（第１、２端子５１、５２、第１、２境界パス５３、５４）の数を取得し、ライブラリ１４に格納されたパラメータから、その第１配線要素の面積を取得する。領域決定部２４は、境界セル領域６２に配置される第２配線要素（第１、２境界セル群４０〜４３、４４〜４７）の数を取得し、ライブラリ１４に格納されたパラメータから、その第２配線要素の面積を取得する。領域決定部２４は、階層マクロ内部領域６３に配置される第３配線要素（内部セル群４８、４９、内部パス５５、中継パス５６）の数を取得し、ライブラリ１４に格納されたパラメータから、その第３配線要素の面積を取得する。領域決定部２４は、境界回路領域６１、境界セル領域６２、階層マクロ内部領域６３のそれぞれ対して、第１〜３配線要素の数に応じた面積を加算し、配置に必要な合計面積を割り出す。
【００４６】
領域決定部２４は、上位の階層マクロブロック７０のセル７１、７２の位置と、境界回路領域６１に対する合計面積とを考慮して、上位の階層マクロブロック７０のセル７１、７２の近辺であり、且つ、対象階層マクロブロック３０の境界３１の一部分３２から対象階層マクロブロック３０の内部の方向に延びる境界回路領域６１を決定する。次に、領域決定部２４は、境界セル領域６２に対する合計面積を考慮して、対象階層マクロブロック３０内で境界回路領域６１を囲う境界セル領域６２を決定する。次に、領域決定部２４は、対象階層マクロブロック３０の境界回路領域６１、境界セル領域６２以外の領域である階層マクロ内部領域６３を決定する。
【００４７】
（Ｓ５；境界セルレイアウト処理）
境界セルレイアウト部２５は、境界回路領域６１、境界セル領域６２、階層マクロ内部領域６３にそれぞれ第１〜３配線要素を仮配置する。この場合、予め決められたタイミング制約及び遅延条件を考慮して、境界回路領域６１、境界セル領域６２、階層マクロ内部領域６３のそれぞれに対して、第１〜３配線要素が配置される配置場所（座標）を決定し、その配置場所に関する情報を記憶部１２に格納しておく。
【００４８】
図８に示されるように、境界セルレイアウト部２５は、境界セル領域６２の配置場所に関する情報に従って、第１、２境界セル群４０〜４３、４４〜４７を境界セル領域６２に配置する。例えば、境界回路領域６１を介して第１境界セル群４０〜４３と第２境界セル群４４〜４７とが対向するように、第１、２境界セル群４０〜４３、４４〜４７を境界セル領域６２に配置する。
【００４９】
（Ｓ６；第１レイアウト禁止領域設定処理）
図９に示されるように、階層マクロ内レイアウト部２６は、境界回路領域６１と境界セル領域６２とに対してセル及びパスの配置を禁止する第１のレイアウト禁止領域（図９の斜線部分参照）を設定する。
【００５０】
（Ｓ７；階層マクロ内レイアウト処理）
図１０に示されるように、階層マクロ内レイアウト部２６は、記憶部１２に格納された階層マクロ内部領域６３の配置場所に関する情報に従って、第１のレイアウト禁止領域以外の領域である階層マクロ内部領域６３に、内部セル群４８、４９と内部パス５５と中継パス５６とを配置する。
【００５１】
（Ｓ８；第２レイアウト禁止領域設定処理）
図１１に示されるように、上位階層レイアウト部２７は、境界セル領域６２と階層マクロ内部領域６３とに対してセル及びパスの配置を禁止する第２のレイアウト禁止領域（図１１の斜線部分参照）を設定する。
【００５２】
（Ｓ９；上位階層レイアウト処理）
図１２に示されるように、上位階層レイアウト部２７は、対象階層マクロブロック３０の上位の階層マクロブロック７０にセル７１、７２を配置する同時に、記憶部１２に格納された境界回路領域６１の配置場所に関する情報に従って、第２のレイアウト禁止領域以外の領域である境界回路領域６１に、第１、２端子５１、５２と第１、２境界パス５３、５４とを配置する。ここで、上位階層レイアウト部２７は、記憶部１２に格納された第１〜３配線要素の配置場所に関する情報を削除する。
【００５３】
（Ｓ１０；動作シミュレーション）
シミュレーション部２８は、ライブラリ１４に格納された情報やパラメータに基づいて動作シミュレーションを実行する。この動作シミュレーションにより、対象階層マクロブロック３０に発生する抵抗値及び容量値に基づいて遅延値を算出する。
【００５４】
（Ｓ１１；検証処理）
シミュレーション部２８は、遅延値が所望の値であるか否かを検証し、その結果を表示部に表示する。
【００５５】
本発明の実施形態による半導体集積回路階層設計方法によれば、第１の効果として、対象階層マクロブロック３０から他の階層マクロブロック（上位の階層マクロブロック７０）へのパス（第１、２境界パス５３、５４）に対する配線間容量を従来に比べて抑制することができる。
【００５６】
その理由として、対象階層マクロブロック３０には境界回路領域６１と境界セル領域６２とが設けられ、境界回路領域６１は境界セル領域６２に囲まれている。従って、対象階層マクロブロック３０から上位の階層マクロブロック７０への第１、２境界パス５３、５４は境界回路領域６１に限定される。このため、境界回路領域６１で発生する配線間容量は、従来における配線抑制領域１６１で発生する配線間容量に比べて小さくなる。
【００５７】
また、これを実現するために、境界セル領域６２は、境界回路領域６１と階層マクロ内部領域６３とを分離する領域として設けられ、その境界セル領域６２には、初段、最終段のセルを表す第１、２境界セル群４０〜４３、４４〜４７が配置される。従って、境界回路領域６１には、対象階層マクロブロック３０から上位の階層マクロブロック７０への第１、２境界パス５３、５４が配置され、対象階層マクロブロック３０から上位の階層マクロブロック７０に接続されないパスは配置されない。このため、第１、２境界パス５３、５４間で発生する配線間容量に関しても、当該境界パス５３、５４を上位の階層マクロブロック７０の一部としてみなすことにより、正確に見積もることができる。
【００５８】
このように、本発明の実施形態による半導体集積回路階層設計方法によれば、対象階層マクロブロック３０から他の階層マクロブロックへのパスに対する配線間容量を更に抑制することができる。
【００５９】
本発明の実施形態による半導体集積回路階層設計方法によれば、第１の効果により配線間容量を正確に得られるため、第２の効果として、チップ全体で対象階層マクロブロック３０の動作シミュレーションを行ったときと変わらない状態で、対象階層マクロブロック３０単体で動作シミュレーションを行うことができる。
【００６０】
本発明の実施形態による半導体集積回路階層設計方法によれば、第３の効果として、上位の階層マクロブロック７０に対象階層マクロブロック３０の境界回路領域６１を加えたものと階層マクロ内部領域６３とを同時にレイアウトするため、設計時間を短縮できる。
【００６１】
その理由として、通常の階層設計方法では、回路規模の大きい対象階層マクロブロックのレイアウトが完了してから、同じく回路規模の大きい上位の階層マクロブロックのレイアウトに移行する。一方、本発明の実施形態による半導体集積回路階層設計方法によれば、対象階層マクロブロック３０において、その内部と境界配線とが干渉しないように、回路規模の小さい境界回路領域６１、境界セル領域６２、階層マクロ内部領域６３を決定し、階層マクロ内部領域６３のレイアウトと、上位の階層マクロブロック７０及び回路規模の小さい境界回路領域６１のレイアウトとを並行に行うことができる。これにより、本発明では、境界配線の配線間容量を上位の階層マクロブロック７０と同時に見積もることができるため、階層マクロ内部領域６３のレイアウト完了を待たずして、上位の階層マクロブロック７０のレイアウト・シミュレーションを行うことができる。
【００６２】
なお、本発明の実施形態による半導体集積回路階層設計方法において、境界セル領域６２が非常に小さい場合、境界回路領域６１内の第１、２境界パス５３、５４と階層マクロ内部領域６３内のパス（内部パス５５、中継パス５６）との間のクロストークの発生が防ぎきれない可能性がある。この場合、他の実施形態として、図１３に示されるように、検証処理（Ｓ１１）の後に、制御部１１は、境界セル領域４２上にシールド配線８０を設ける工程を実施してもよい。この場合、境界セル領域４２の一部又は全部が覆われる。
【００６３】
また、本発明の実施形態による半導体集積回路階層設計方法において、従来の半導体集積回路階層設計方法と同様に、対象階層マクロブロック３０の境界３１（第１の境界３１とする）に交わる境界（第２の境界とする）にシールド配線（図示しない）を設けてもよい。例えば、第２の境界付近で隣接するように、対象階層マクロブロック３０の階層マクロ内部領域６３に配線（内部配線）が配置され、対象階層マクロブロック３０の上位の階層マクロブロック７０に配線（外部配線）が配置される場合、それらの間に配線間容量が発生しないようにシールド配線が配置される。これにより、内部配線と外部配線との間のクロストークを防ぐことができる。
【符号の説明】
【００６４】
１０    コンピュータ、
１１    制御部、
１２    記憶部、
１３    コンピュータプログラム、
１４    ライブラリ、
２１    回路図データ生成部、
２２    階層マクロブロック生成部、
２３    回路情報抽出部、
２４    領域決定部、
２５    境界セルレイアウト部、
２６    階層マクロ内レイアウト部、
２７    上位階層レイアウト部、
２８    シミュレーション部、
３０    対象階層マクロブロック、
３１    境界、
３２    一部分、
４０〜４３    第１境界セル群、
４４〜４７    第２境界セル群、
４８、４９    内部セル群、
５１    第１端子、
５２    第２端子、
５３    第１境界パス、
５４    第２境界パス、
５５    内部パス、
５６    中継パス、
６１    境界回路領域、
６２    境界セル領域、
６３    階層マクロ内部領域、
７０    上位の階層マクロブロック、
７１、７２    セル、
８０    シールド配線、
１００    シールド配線、
１１１〜１１３    内部配線、
１２１、１２２    外部配線、
１３０    対象階層マクロブロック、
１３１、１３２    境界、
１６１    配線抑制領域、
１６２    内部領域、
１７０    上位の階層マクロブロック
【図１】
2011232920.tif 000003
【図２】
2011232920.tif 000004
【図３】
2011232920.tif 000005
【図４】
2011232920.tif 000006
【図５】
2011232920.tif 000007
【図６】
2011232920.tif 000008
【図７】
2011232920.tif 000009
【図８】
2011232920.tif 000010
【図９】
2011232920.tif 000011
【図１０】
2011232920.tif 000012
【図１１】
2011232920.tif 000013
【図１２】
2011232920.tif 000014
【図１３】
2011232920.tif 000015