(57)【要約】【課題】チップサイズを縮小する。【解決手段】レイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域３と階層ブロック用のユニットセル配置領域４とを含む階層ブロック配置領域２を、チップ領域１に設定し、チップ領域１における階層ブロック配置領域２を包囲する周辺領域５のユニットセル配置領域、および、階層ブロック配置領域２内の空きユニットセル配置領域３を用いて、配置配線を行う。【選択図】図１
2012227376.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【請求項２】
前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に配置された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする請求項１記載のレイアウト設計方法。
【請求項３】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする請求項１または２記載のレイアウト設計方法。
【請求項４】
前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする請求項１〜３のいずれか１項に記載のレイアウト設計方法。
【請求項５】
コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、半導体集積回路のレイアウト設計方法、および、レイアウト設計プログラムに関する。
【背景技術】
【０００２】
半導体集積回路のレイアウト設計の手法の１つとして、半導体集積回路を機能毎に複数のブロックに分けて設計を行う階層レイアウト設計が存在する。この複数のブロックは、それぞれ、階層ブロックと称される。
【０００３】
この手法によれば、一度に設計する回路の規模を小さくすることができるため、回路情報の量を小さくできる。これにより、設計に用いられるコンピュータへの負荷（例えば、使用メモリ容量の増大や、ＣＰＵ（Central Processing Unit）への負荷等）を低減することが可能となる。また、この手法によれば、階層ブロック毎に並行して設計作業を進めることができるため、設計期間を短縮することが可能となる。
【０００４】
また、階層レイアウト設計では、設計が階層別に行われ、上位階層では、階層ブロックが配置される階層ブロック配置領域を配置禁止領域としてチップ領域に設定した状態で、配置配線が行われる。ここで、上位階層における配置配線は、階層ブロック配置領域を避けて行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−３３３２６０号公報
【特許文献２】特開平５−１５１３１３号公報
【特許文献３】特開２０００−１５６４１４号公報
【特許文献４】特開２００５−２３５８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、階層レイアウト設計では、上述したように、上位階層における配置配線は、階層ブロック配置領域を避けて行われるため、階層ブロックの規模が大きい場合には、配線を大きく迂回させる必要がある。
【０００７】
配線を大きく迂回させると、配線距離が長くなり、また、これに伴い配線に設けられるバッファ素子等の回路素子の数が多くなる。これにより、配線、および、バッファ素子等の回路素子に用いられるユニットセルによって占有されるチップ領域の面積が増大し、チップサイズが大きくなってしまう可能性がある。
【課題を解決するための手段】
【０００８】
発明の一観点によれば、以下のようなレイアウト設計方法が提供される。
このレイアウト設計方法は、レイアウト設計装置が、半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、チップ領域における階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、階層ブロック配置領域内の空きユニットセル配置領域を用いて、配置配線を行う。
【発明の効果】
【０００９】
開示のレイアウト設計方法、および、レイアウト設計プログラムによれば、チップサイズを縮小することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係るレイアウト設計手順の一例を示す図である。
【図２】第２の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【図３】第２の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
【図４】第２の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。
【図５】第２の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。
【図６】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図７】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図８】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図９】第２の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。
【図１０】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図１１】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図１２】第２の実施の形態に係るチップレイアウトの一例を示す図である。
【図１３】上位階層において設計される回路の参考例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態は、階層レイアウト設計に関するものである。階層レイアウト設計では、半導体集積回路を機能毎に複数のブロックに分けて設計を行う。この複数のブロックは、それぞれ、階層ブロックと称される。また、階層レイアウト設計では、設計が階層別に行われる。
【００１２】
上位階層では、階層ブロックが配置される階層ブロック配置領域を、チップ領域に設定した状態で、配置配線が行われる。階層ブロックの配置配線は、上位階層の下の階層で行われる。なお、上位階層のうち最も上位の階層を、最上位階層（トップ階層）と称する。第１の実施の形態は、上位階層におけるレイアウト設計方法に関するものである。
【００１３】
図１は、第１の実施の形態に係るレイアウト設計手順の一例を示す図である。
まず、図１（Ａ）に示すように、階層ブロックが配置される階層ブロック配置領域２を、チップ領域１に設定する。階層ブロック配置領域２には、空きユニットセル配置領域３と階層ブロック用のユニットセル配置領域４とが含まれている。なお、チップ領域１における階層ブロック配置領域２を包囲する領域は、周辺領域５とされる。周辺領域５には、複数のユニットセル配置領域が設定されている。
【００１４】
次に、図１（Ｂ）に示すように、周辺領域５のユニットセル配置領域、および、階層ブロック配置領域２内の空きユニットセル配置領域３を用いて、配置配線を行う。ここで、階層ブロック用のユニットセル配置領域４は、配置禁止領域に設定されている。なお、図１（Ｂ）では、上位階層において配置されたユニットセル６、および、上位階層において引かれた配線７が図示されている。
【００１５】
このように、第１の実施の形態によれば、上位階層においてチップ領域１に設定された階層ブロック配置領域２が空きユニットセル配置領域３を含み、この空きユニットセル配置領域３を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域３に配置させることが可能となる。
【００１６】
これにより、配線を階層ブロック配置領域２上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域１の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【００１７】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【００１８】
［第２の実施の形態］
次に、第１の実施の形態のレイアウト設計方法をより具体的にした実施の形態を、第２の実施の形態として説明する。
【００１９】
第２の実施の形態のレイアウト設計は、レイアウト設計装置によって行われる。
図２は、第２の実施の形態に係るレイアウト設計装置のハードウェアの一例を示す図である。
【００２０】
レイアウト設計装置１０は、ＣＰＵ１１によって装置全体が制御されている。ＣＰＵ１１には、バス１８を介してＲＡＭ（Random Access Memory）１２と複数の周辺機器が接続されている。
【００２１】
ＲＡＭ１２は、レイアウト設計装置１０の主記憶装置として使用される。ＲＡＭ１２には、ＣＰＵ１１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１２には、ＣＰＵ１１による処理に必要な各種データが格納される。
【００２２】
バス１８に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１３、グラフィック処理装置１４、入力インタフェース１５、光学ドライブ装置１６、および通信インタフェース１７がある。
【００２３】
ＨＤＤ１３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１３は、レイアウト設計装置１０の二次記憶装置として使用される。ＨＤＤ１３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【００２４】
グラフィック処理装置１４には、モニタ１４ａが接続されている。グラフィック処理装置１４は、ＣＰＵ１１からの命令に従って、画像をモニタ１４ａの画面に表示させる。モニタ１４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００２５】
入力インタフェース１５には、キーボード１５ａとマウス１５ｂとが接続されている。入力インタフェース１５は、キーボード１５ａやマウス１５ｂから送られてくる信号をＣＰＵ１１に送信する。なお、マウス１５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００２６】
光学ドライブ装置１６は、レーザ光などを利用して、光ディスク１６ａに記録されたデータの読み取りを行う。光ディスク１６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００２７】
通信インタフェース１７は、ネットワーク１９に接続されている。通信インタフェース１７は、ネットワーク１９を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００２８】
以上のようなハードウェアによって、第２の実施の形態の処理機能を実現することができる。
次に、第２の実施の形態のレイアウト設計の手順について説明する。
【００２９】
図３は、第２の実施の形態に係るレイアウト設計手順の一例を示すフローチャートである。
［ステップＳ１０］レイアウト設計装置１０が、上位階層における配置配線を行う。
【００３０】
［ステップＳ２０］レイアウト設計装置１０が、階層ブロックの配置配線を行う。
［ステップＳ３０］レイアウト設計装置１０が、階層ブロックに対して、タイミング解析や物理検証等の検証を行う。
【００３１】
［ステップＳ４０］レイアウト設計装置１０が、上位階層に対して、タイミング解析や物理検証等の検証を行う。なお、ステップＳ４０は、ステップＳ３０と並行して行われる。
【００３２】
［ステップＳ５０］レイアウト設計装置１０が、階層ブロックと上位階層とを合成した状態で、最終検証を行って処理を終了する。
なお、上記のステップＳ１０〜Ｓ５０は、それぞれ、異なるレイアウト設計装置によって行うこととしてもよい。すなわち、レイアウト設計装置１０の処理機能を、複数のレイアウト設計装置によって実現するようにしてもよい。
【００３３】
次に、上記ステップＳ１０に示される上位階層における配線配置の詳細について説明する。まず、上位階層において設計される回路の概要について説明する。
図４は、第２の実施の形態に係る上位階層において設計される回路の一例を示すブロック図である。チップ領域２１には、階層ブロック配置領域２２が設定されている。この状態で、フリップフロップ（ＦＦ：Flip Flop）回路２３，２４の配置配線が行われ、さらに、フリップフロップ回路２３とフリップフロップ回路２４との間を接続する配線２５が引かれる。
【００３４】
配線２５には、一定間隔毎にバッファ素子２６が設けられる。ここで、配線２５は、階層ブロック配置領域２２上を通って引かれる。また、バッファ素子２６は、階層ブロック配置領域２２内にも配置される。なお、配線２５には、バッファ素子２６の他に、抵抗素子やキャパシタ素子等の他の回路素子が設けられる場合もある。
【００３５】
次に、上位階層における配線配置の手順について図５〜図８を用いて説明する。
図５は、第２の実施の形態に係る上位階層における配線配置の手順の一例を示すフローチャートである。図６〜図８は、第２の実施の形態に係るチップレイアウトの一例を示す図である。以下、図５のフローチャートに沿って、図６〜図８を参照しながら説明を行う。
【００３６】
［ステップＳ１１］図６に示すように、レイアウト設計装置１０が、チップ領域２１に階層ブロック配置領域２２を設定する。このステップは、例えば、チップのフロアプランと称される。階層ブロック配置領域２２は、Ｘ方向の辺と、Ｘ方向と交差するＹ方向の辺とで囲まれた矩形を備える。
【００３７】
階層ブロック配置領域２２には、複数の空きユニットセル配置領域と、階層ブロック用の複数のユニットセル配置領域とが含まれている。空きユニットセル配置領域は、Ｘ方向およびＹ方向において、一定間隔毎に配置されている。すなわち、空きユニットセル配置領域は、階層ブロック配置領域２２内において格子状に設定される。
【００３８】
また、空きユニットセル配置領域は、階層ブロック配置領域２２の一端から対向する他端まで、一定間隔を空けて設定されている。図６に示す例では、空きユニットセル配置領域は、間に１つの階層ブロック用のユニットセル配置領域を挟んで設定されている。階層ブロック配置領域２２における空きユニットセル配置領域の割合は、例えば、２５％程度である。この割合は、例えば、設計する半導体集積回路の規模等に応じて適宜設定することができる。
【００３９】
なお、図６に示す例では、チップ領域２１に設定される階層ブロック配置領域は１つであるが、他の複数の階層ブロック配置領域を設定してもよい。また、チップ領域２１における階層ブロック配置領域２２を包囲する領域は、周辺領域２１ａとされる。周辺領域２１ａには、複数のユニットセル配置領域が設定されている。
【００４０】
［ステップＳ１２］図７に示すように、レイアウト設計装置１０が、階層ブロック配置領域２２内の階層ブロック用のユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域２２内の空きユニットセル配置領域と、周辺領域２１ａのユニットセル配置領域とが、配置許可領域とされる。
【００４１】
［ステップＳ１３］図８に示すように、レイアウト設計装置１０が、周辺領域２１ａのユニットセル配置領域、および、階層ブロック配置領域２２内の空きユニットセル配置領域を用いて、上位階層におけるユニットセルの配置を行う。ここで、ユニットセルの配置は固定される。
【００４２】
［ステップＳ１４］図８に示すように、レイアウト設計装置１０が、上位階層における配線を行って処理を終了する。これにより、上位階層において配置されたユニットセル間が結線される。ここで、配線の配置は固定される。
【００４３】
以上のようにして、上位階層における配置配線が行われる。
次に、図３のステップＳ２０に示される階層ブロックの配線配置の詳細な手順について図９〜図１２を用いて説明する。
【００４４】
図９は、第２の実施の形態に係る階層ブロックの配線配置の手順の一例を示すフローチャートである。図１０〜図１２は、第２の実施の形態に係るチップレイアウトの一例を示す図である。以下、図９のフローチャートに沿って、図１０〜図１２を参照しながら説明を行う。
【００４５】
［ステップＳ２１］図１０に示すように、レイアウト設計装置１０が、上記ステップＳ１２で設定された、階層ブロック用のユニットセル配置領域に対する配置禁止領域の設定を解除する。
【００４６】
［ステップＳ２２］図１０に示すように、レイアウト設計装置１０が、階層ブロック配置領域２２内の空きユニットセル配置領域を、配置禁止領域に設定する。すなわち、階層ブロック配置領域２２内の階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【００４７】
［ステップＳ２３］図１１に示すように、レイアウト設計装置１０が、階層ブロック配置領域２２内の階層ブロック用のユニットセル配置領域を用いて、階層ブロックのユニットセルの配置を行う。ここで、上記ステップＳ１３において上位階層において階層ブロック配置領域２２内に配置されたユニットセルは、階層ブロックのユニットセルとして同じ位置に再配置される。
【００４８】
［ステップＳ２４］図１１に示すように、レイアウト設計装置１０が、階層ブロック配置領域２２内において階層ブロックの配線を行う。ここで、上記ステップＳ１４において上位階層において階層ブロック配置領域２２内に引かれた配線は、階層ブロックの配線として同じ位置に再配置される。
【００４９】
［ステップＳ２５］図１２に示すように、レイアウト設計装置１０が、空きユニットセル配置領域に対する配置禁止領域の設定を解除する。すなわち、階層ブロック配置領域２２内の空きユニットセル配置領域、および、階層ブロック用のユニットセル配置領域が配置許可領域とされる。
【００５０】
［ステップＳ２６］レイアウト設計装置１０が、階層ブロック配置領域２２内に配置されたユニットセルおよび配線の最適化を行って処理を終了する。
以上のようにして、階層ブロックの配置配線が行われる。
【００５１】
なお、以上の手順に基づいて設計され、生成された半導体集積回路では、半導体基板上に、階層ブロックにより実現される機能モジュールが配置された機能モジュール配置領域と、機能モジュール配置領域上を横切る配線と、この配線に設けられたバッファ素子等の回路素子とが配置される。
【００５２】
そして、機能モジュール配置領域には、使用されていないユニットセル配置領域、および、バッファ素子等の回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に配置される。そして、機能モジュール配置領域のうち、その他のユニットセル配置領域に、機能モジュールの機能を実現するためのユニットセルが配置される。
【００５３】
以上、説明してきたように、第２の実施の形態によれば、上位階層においてチップ領域２１に設定された階層ブロック配置領域２２が空きユニットセル配置領域を含み、この空きユニットセル配置領域を用いて上位階層における配置配線が行われる。この構成によれば、配線に設けられるバッファ素子等の回路素子に用いられるユニットセルを、空きユニットセル配置領域に配置させることが可能となる。
【００５４】
これにより、配線を階層ブロック配置領域２２上に通すことができ、配線距離を短くすることができる。このため、配線、および、バッファ素子等の回路素子に用いられるユニットセルが占有するチップ領域２１の面積を小さくすることができ、チップサイズを縮小することが可能となる。
【００５５】
また、配線距離を短くできることで、配線遅延の影響が低減されるため、タイミング収束を容易にすることが可能となる。また、配線距離を短くでき、バッファ素子等の回路素子に用いられるユニットセルを少なくできることで、半導体集積回路の消費電力を低減することも可能となる。
【００５６】
なお、ここで、配線を階層ブロック配置領域２２を迂回するように配置した場合について、図４に示した例を用いて説明する。
図１３は、上位階層において設計される回路の参考例を示すブロック図である。
【００５７】
フリップフロップ回路２３とフリップフロップ回路２４とを接続する配線２５を、階層ブロック配置領域２２を迂回するように配置した場合、図１３に示すように、配線２５の配線距離が長くなり、バッファ素子２６の数も増大する。
【００５８】
これに対して、第２の実施の形態では、図４に示すように、配線２５を、階層ブロック配置領域２２上を通して引くことができるため、配線距離を短くでき、さらに、バッファ素子２６の数を少なくすることができる。
【００５９】
さらに、第２の実施の形態によれば、チップ領域２１に設定された階層ブロック配置領域２２内の空きユニットセル配置領域を、配置禁止領域に設定して、階層ブロックの配置配線を行う。すなわち、階層ブロックの配置配線において、階層ブロック配置領域２２内の空きユニットセル配置領域は使用されない。
【００６０】
このため、上位階層に設計変更があり、ユニットセルが配置される空きユニットセル配置領域の位置が変更したとしても、階層ブロックのユニットセルの配置位置（上位階層において配置されたユニットセルを再配置したものは除く）は変更する必要がない。これにより、階層ブロックの設計を容易にすることが可能となる。
【００６１】
さらに、第２の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域２２内において格子状に設定されている。このため、上位階層において配置されるユニットセルを、階層ブロック配置領域２２内において分散させることが可能となる。これにより、階層ブロックの配線が一部に密集することを抑制でき、配線が複雑化することを抑制できる。これにより、例えば、配線層の数を抑制したり、配線間容量に起因する信号ノイズの影響を抑制することができる。
【００６２】
さらに、第２の実施の形態によれば、空きユニットセル配置領域は、階層ブロック配置領域２２の一端から対向する他端まで、一定間隔を空けて設定されている。この構成によれば、上位階層において、バッファ素子等の回路素子用のユニットセルを階層ブロック配置領域２２を横切るようにして一定間隔で配置することが可能となる。
【００６３】
これにより、上位階層において引かれる階層ブロック配置領域２２を横切る配線に、一定間隔でバッファ素子等の回路素子を設けることができる。このため、階層ブロック配置領域２２の規模が大きい場合であっても、上位階層において階層ブロック配置領域２２を横切るように配線を引くことが可能となる。
【００６４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、レイアウト設計装置１０が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【００６５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００６６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００６７】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【００６８】
以上説明した第１および第２の実施の形態を含む実施の形態に関し、さらに以下の付記を開示する。
（付記１）  レイアウト設計装置が、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
ことを特徴とするレイアウト設計方法。
【００６９】
（付記２）  前記レイアウト設計装置が、
前記上位階層の下の階層において、
前記チップ領域に設定された前記階層ブロック配置領域内の前記空きユニットセル配置領域を、配置禁止領域に設定して、前記階層ブロックの配置配線を行う、
ことを特徴とする付記１記載のレイアウト設計方法。
【００７０】
（付記３）  前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域内において格子状に設定されている、
ことを特徴とする付記１または２記載のレイアウト設計方法。
【００７１】
（付記４）  前記階層ブロック配置領域は、複数の空きユニットセル配置領域を含み、前記複数の空きユニットセル配置領域は、前記階層ブロック配置領域の一端から対向する他端まで、一定間隔を空けて設定されている、
ことを特徴とする付記１〜３のいずれか１つに記載のレイアウト設計方法。
【００７２】
（付記５）  レイアウト設計装置が、
前記空きユニットセル配置領域に対する配置禁止領域の設定を解除して、配置配線が行われた階層ブロック内の最適化を行う、
ことを特徴とする付記２記載のレイアウト設計方法。
【００７３】
（付記６）  コンピュータに、
半導体集積回路のレイアウト設計を階層別に行う階層レイアウト設計における上位階層において、
前記上位階層の下の階層で配置配線が行われる所定の機能を備えた階層ブロックが配置される領域であって、空きユニットセル配置領域と前記階層ブロック用のユニットセル配置領域とを含む階層ブロック配置領域を、チップ領域に設定し、
前記チップ領域における前記階層ブロック配置領域を包囲する周辺領域のユニットセル配置領域、および、前記階層ブロック配置領域内の前記空きユニットセル配置領域を用いて、配置配線を行う、
処理を実行させることを特徴とするレイアウト設計プログラム。
【００７４】
（付記７）  半導体基板上に、所定の機能を備えた機能モジュールが配置された機能モジュール配置領域と、前記機能モジュール配置領域上を横切る配線と、前記配線に設けられた回路素子とが配置され、
前記機能モジュール配置領域には、使用されていないユニットセル配置領域、および、前記回路素子用のユニットセルが配置されるユニットセル配置領域が、格子状に設定されていること、
を特徴とする半導体集積回路。
【符号の説明】
【００７５】
１，２１  チップ領域
２，２２  階層ブロック配置領域
３  空きユニットセル配置領域
４  階層ブロック用のユニットセル配置領域
５，２１ａ  周辺領域
６  上位階層で配置されたユニットセル
７  上位階層で引かれた配線
２３，２４  フリップフロップ回路
２５  配線
２６  バッファ素子
【図１】
2012227376.tif 000003
【図２】
2012227376.tif 000004
【図３】
2012227376.tif 000005
【図４】
2012227376.tif 000006
【図５】
2012227376.tif 000007
【図６】
2012227376.tif 000008
【図７】
2012227376.tif 000009
【図８】
2012227376.tif 000010
【図９】
2012227376.tif 000011
【図１０】
2012227376.tif 000012
【図１１】
2012227376.tif 000013
【図１２】
2012227376.tif 000014
【図１３】
2012227376.tif 000015