(57)【要約】【課題】  半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とする。【解決手段】  半導体集積回路のフロアプラン設計装置において、半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、半導体集積回路を複数の格子領域に分割する領域分割手段と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力手段とを有する。【選択図】図１
2007156711.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のフロアプラン設計装置であって、
前記半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、
前記半導体集積回路を複数の格子領域に分割する領域分割手段と、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力手段と、
を有することを特徴とするフロアプラン設計装置。
【請求項２】
前記表示出力手段は、前記空きリソースの情報を該空きリソースの量に基づいた色彩として表示することを特徴とする請求項１に記載のフロアプラン設計装置。
【請求項３】
前記表示出力手段は、前記空きリソースの情報を該空きリソースの量に基づいた大きさの図形として表示することを特徴とする請求項１に記載のフロアプラン設計装置。
【請求項４】
前記空きリソースは前記格子領域の縦横方向それぞれについて導出され、
前記図形は、縦横方向それぞれの前記空きリソースの量に対応させた辺の長さを有する矩形であることを特徴とする請求項３に記載のフロアプラン設計装置。
【請求項５】
前記半導体集積回路は複数の配線層から構成されており、
前記表示出力手段は、前記格子領域内の前記複数の配線層を合算した空きリソースを導出し表示出力することを特徴とする請求項１乃至４何れか１項に記載のフロアプラン設計装置。
【請求項６】
前記格子領域内には電源配線が配置されており、
前記表示出力手段は、前記電源配線により変化する前記収容可能リソースに基づいて前記空きリソースを導出し表示出力することを特徴とする請求項１乃至５何れか１項に記載のフロアプラン設計装置。
【請求項７】
前記格子領域内にはクロック配線が配置されており、
前記表示出力手段は、予め設定されたクリアランスを含む前記クロック配線により変化する前記収容可能リソースに基づいて前記空きリソースを導出し表示出力することを特徴とする請求項１乃至５何れか１項に記載のフロアプラン設計装置。
【請求項８】
前記表示出力手段は、前記位置指定手段による論理ブロックの配置位置の更新に基づいて、表示出力の更新を行うことを特徴とする請求項１乃至７何れか１項に記載のフロアプラン設計装置。
【請求項９】
半導体集積回路のフロアプラン設計装置の制御方法であって、
前記半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程と、
前記半導体集積回路を複数の格子領域に分割する領域分割工程と、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程と、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力工程と、
を有することを特徴とする制御方法。
【請求項１０】
半導体集積回路のフロアプラン設計装置の制御プログラムであって、
前記半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程を実行するためのプログラムコードと、
前記半導体集積回路を複数の格子領域に分割する領域分割工程を実行するためのプログラムコードと、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程を実行するためのプログラムコードと、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力工程を実行するためのプログラムコードと、
を有することを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のフロアプラン設計技術に関するものである。
【背景技術】
【０００２】
近年、半導体プロセスの微細化に伴い、半導体集積回路１チップあたりの回路規模は大規模化しており、半導体集積回路のレイアウト設計に要する期間は増大する傾向にある。特に、半導体集積回路のレイアウト設計時点での、タイミング収束や配置等の問題の発生は、半導体集積回路全体の再設計を余儀なくされチップ開発の長期化を招いてしまう。このような状況を避けるため、半導体集積回路における設計においては、初期段階から機能ブロック、マクロブロックの配置、電源配線、クロック配線などを見積もった半導体集積回路のフロアプラン設計が重要である。
【０００３】
ところで、半導体集積回路のフロアプラン設計においては、半導体集積回路上の配置可能領域に機能ブロックやマクロブロックを重ならないように仮配置を繰り返し、半導体集積回路上の配置位置を決定する手法が採られることがある。その際、半導体集積回路のフロアプランの実装の可否判断を測る一つの指標として配線混雑度というものがある。配線混雑度は、半導体集積回路上の配置可能領域にブロックを配置した後、ブロック間の配線情報等から算出される。特許文献１には、この配線混雑度をもとにフロアプラン内の混雑状況を画面表示する技術が開示されている。
【０００４】
設計したフロアプランにおいて配線混雑度の高い部分が存在する場合においては、設計者は、半導体集積回路上の配線時の問題発生を回避するよう修正を行う。たとえば、設計者は配線混雑度を分散させるよう各ブロックの配置を変更する。
【０００５】
また、配線混雑度が高い部分では、配線混雑部を迂回する配線が増加する傾向がある。その結果、配線長が長くなり動作タイミングの条件を満たすことが難しくなる場合がある。そこで、設計者は配線混雑度の高い部分の周辺において配線領域をより広く確保するか、各ブロックの配置位置を変更して配線混雑度が減るような対処を行う。一方、各ブロック内に配線混雑度の高い部分があれば、当該ブロックの占有面積を広げることによりブロック内部の配線混雑度を緩和させている。
【特許文献１】特開平０８−１０６４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した配線混雑度を用いる設計手法においては、半導体集積回路上の空きリソースのイメージを正しく掴むことは困難であった。なお、ここで”リソース”とは半導体集積回路上での配線可能本数などの量を示している。また、配線混雑度は各ブロックを仮配置し配線情報を入力して後に得られる値であるため、設計者は、半導体集積回路を構成する各ブロック間で発生する配線混雑度に対して、個別の最適化を繰り返して対処する必要があった。そのため、フロアプランの実装の可否判断を効率良く行えないという問題点があった。
【０００７】
本発明は、上記のような問題を解決するためになされたものであり、半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とすることを目的としている。
【課題を解決するための手段】
【０００８】
半導体集積回路のフロアプラン設計装置において、半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、半導体集積回路を複数の格子領域に分割する領域分割手段と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力手段とを有する。
【０００９】
半導体集積回路のフロアプラン設計装置の制御方法において、半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程と、半導体集積回路を複数の格子領域に分割する領域分割工程と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力工程とを有する。
【００１０】
半導体集積回路のフロアプラン設計装置の制御プログラムにおいて、半導体集積回路に配置される１以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程を実行するためのプログラムコードと、半導体集積回路を複数の格子領域に分割する領域分割工程を実行するためのプログラムコードと、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程を実行するためのプログラムコードと、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力工程を実行するためのプログラムコードとを有する。
【発明の効果】
【００１１】
本発明によれば、半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
（第１実施形態）
＜概要＞
フロアプラン設計装置において、半導体集積回路上を複数の格子領域に分割し、格子領域内の空きリソース量に対応させた矩形をそれぞれの格子領域内に表示する。そうすることにより、設計者は、半導体集積回路上の空きリソースの状態を直感的に把握することが可能となる。
【００１４】
＜装置構成＞
図１は、第１実施形態に係るフロアプラン設計装置１００の構成を示す図である。
【００１５】
フロアプラン設計装置１００は、入力部１０１、記憶部１０２、領域分割部１０３、空きリソース導出部１０４、表示画面生成部１０５、表示部１０６、およびこれら各部を制御する制御部１０７から構成されている。
【００１６】
入力部１０１はキーボードやポインティングデバイス（マウス等）などからなり、設計者によるフロアプラン設計情報の入力を受け付ける。入力部１０１において受け付けた入力は後述する記憶部１０２に記憶される。なお、各種記憶媒体やネットワーク（不図示）等を経由して、フロアプラン設計情報の入力を受け付けてもよい。なお、フロアプラン設計情報としては以下のようなものがあるが、詳細については後述する。
【００１７】
（ａ）土台となる半導体集積回路の情報
（ｂ）半導体集積回路上に配置される部品（ブロック）の情報
（ｃ）ブロックの配置・配線情報
（ｄ）半導体集積回路上の領域分割情報
記憶部１０２は、入力部１０１により受け付けたフロアプラン設計情報を記憶する。領域分割部１０３は、半導体集積回路上の領域分割情報に基づき、土台となる半導体集積回路の領域を複数の格子領域に分割する。空きリソース導出部１０４は、領域分割部１０３により分割された格子領域それぞれに対し、空きリソースを導出する。表示画面生成部１０５は、空きリソース導出部１０４により導出された空きリソースに基づいて、後述する表示部１０６に表示される空きリソース画面を生成する。ＬＣＤなどから構成される表示部１０６は、フロアプラン設計に必要な各種の情報が表示される。
【００１８】
図２は、フロアプラン設計装置１００の表示部１０６に表示される画面の一例を示す図である。２０１は半導体集積回路上に複数のブロックを仮配置したフロアプランが表示される。一方、２０２はフロアプラン２０１に対応する空きリソースの状態が表示される領域であり、前述した表示画面生成部１０５により生成される画面が表示される。また、２０３はフロアプラン２０１上に配置される部品（ブロック）が表示されており、例えばカーソル２１０を入力部１０１であるマウスのドラッグ・ドロップ操作により、フロアプラン２０１に配置することが出来る。なお、”リソース”とは背景技術でも述べたように、半導体集積回路上での配線可能本数などの量を示している。
【００１９】
＜装置の動作＞
以下、上述したフロアプラン設計装置１００の各部の詳細動作および動作フローについて説明する。
【００２０】
図３は、フロアプラン設計装置１００の動作フローチャートである。
【００２１】
ステップＳ３０１では、入力部１０１によりフロアプラン設計の基本となる情報の入力を受け付ける。例えば、前述した（ａ）土台となる半導体集積回路の情報、（ｂ）半導体集積回路上に配置される部品（ブロック）の情報などがある。ここで、（ａ）は、配線層数、各配線層数の配線幅、配置可能領域サイズが含まれる。一方、（ｂ）は機能ブロックやマクロブロックなどの情報であり、各ブロック内で使用するリソース、他のブロックとの接続に必要なリソースが含まれる。なお、マクロブロックとはＣＰＵ、ＰＬＬ、ＲＡＭ等のブロックを示し、機能ブロックとは論理回路で構成されるブロックを示している。これらの情報は、記憶部１０２に記憶される。
【００２２】
ステップＳ３０２では、前述の（ｄ）半導体集積回路上の領域分割情報を入力部１０１により受け付ける。領域分割部１０３は設計対象となる半導体集積回路の配置可能領域、つまり、フロアプラン２０１に対応する領域を領域分割情報に基づき複数の格子領域に分割する。
【００２３】
図４は、格子領域への分割の一例を示す図である。なお、図４では、配置可能領域４０１を縦横それぞれ８分割する６４（＝８×８）個の格子領域４１０を設定した例４０２を示しているが、操作者による入力に応じて自由に設定可能である。例えば、図４のように配置可能領域の分割数により指定しても良いし、入力された格子サイズに基づいて分割しても良い。
【００２４】
ステップＳ３０３では、ブロックの仮配置、つまり、前述した（ｃ）ブロックの配置・配線情報の入力を入力部１０１により受け付ける。これは、前述したように、操作者によるマウスのドラッグ・ドロップ操作等により、フロアプラン２０１に対し１以上のブロックの配置を受け付ける。また、配置された各ブロック間の配線接続を含むネットリストの入力を受け付ける。
【００２５】
ステップＳ３０４では、空きリソース導出部１０４はステップＳ３０２で設定されたそれぞれの格子領域に対し縦方向および横方向の空きリソースを導出する。つまり、格子領域毎にステップＳ３０１およびステップＳ３０３で受け付けた情報に基づき、それぞれの格子領域における空きリソースを導出するのである。空きリソース導出の詳細については後述する。
【００２６】
ステップＳ３０５では、表示画面生成部１０５は各格子領域についてステップＳ３０４で導出した縦方向および横方向の利用リソースに基づいた、空きリソース表示図形を生成する。空きリソース表示図形の生成の詳細については後述する。
【００２７】
ステップＳ３０６では、ステップＳ３０５で生成した空きリソース表示図形を、表示部１０６の表示画面に表示する。
【００２８】
ステップＳ３０７では、設計者によるブロック配置決定の有無を受け付ける。つまり、設計者はステップＳ３０６で表示された空きリソース表示を見ることにより、設計したフロアプランの質を判断する。そして、さらに修正が必要であれば、ステップＳ３０３に戻りブロックの再配置などを行う。一方、十分な質のフロアプランが得られ、現在の配置に決定すると判断した場合は、フローを終了する。
【００２９】
＜空きリソースの導出＞
次に、ステップＳ３０４に相当する空きリソース導出の詳細について述べる。なおここでは例として、土台となる半導体集積回路が７層配線の半導体集積回路であるとして説明する。
【００３０】
図５は、７層配線の半導体集積回路における各配線層の利用の一例を示す図である。
【００３１】
ここでは、第１〜第６配線層は、フロアプラン３０１において配置されたブロック内の回路およびブロック間を接続する配線に利用され、第７配線層は電源配線専用として利用される。さらに、第１、第３、第５配線層は主にフロアプラン３０１の縦方向の配線として使用され、第２、第４、第６配線層は主にフロアプラン３０１の横方向の配線として利用される配線層であることを想定する。また、第７配線層は、前述したフロアプラン３０１において配置されたブロック内の回路およびブロック間を接続する配線には利用されないものとする。
【００３２】
図６は、格子領域の空きリソースの導出のフローチャートである。図３におけるステップＳ３０４に対応する。なお、以下の工程は、前述のステップＳ３０２で設定された複数の格子領域それぞれに対し、各配線層について実行される。ここでは説明を簡単にするために１つの注目格子領域について説明を行う。
【００３３】
ステップＳ６０１では、注目格子領域において、半導体集積回路における各配線層の情報に基づき収容可能なリソースを縦方向・横方向それぞれについて導出する。
【００３４】
例えば、第１、第３、第５配線層の収容可能リソースは、それぞれ以下のように導出される。
【００３５】
縦方向：  （格子の横方向の長さに対応する半導体上の長さ）／（配線幅）
横方向：  ０（ゼロ）
同様に、第２、第４、第６配線層の収容可能リソースは、それぞれ以下のように導出される。
【００３６】
縦方向：  ０（ゼロ）
横方向：  （格子の縦方向の長さに対応する半導体上の長さ）／（配線幅）
また、第７配線層を通常の配線に用いることは出来ないので縦方向・横方向共に収容可能リソースは０（ゼロ）である。
【００３７】
ステップＳ６０２では、注目格子領域において、ステップＳ３０３で仮配置されたブロックにより使用されるリソースを縦方向・横方向それぞれについて導出する。これは、例えば、ブロック内で使用する配線情報、および、注目格子領域内に当該ブロック面積の割合などから導出される。もちろん、注目格子領域内にブロックが配置されていない場合にはゼロとなる。
【００３８】
ステップＳ６０３では、注目格子領域において、ステップＳ３０３で仮配置された複数のブロック間の接続に使用されるリソースを縦方向・横方向それぞれについて導出する。これは、例えば、前述のネットリストの情報から、注目格子領域内を通過する配線数を導出し、配線幅との積を取ることにより導出される。
【００３９】
ステップＳ６０４では、注目格子領域において、特殊配線に使用されるリソースを縦方向・横方向それぞれについて導出する。なお、”特殊配線”とは、電源配線・太幅配線・クロック配線など通常の配線とは異なるリソースを消費する配線のことである。電源配線・太幅配線・クロック配線についての、詳細なリソースの導出については後述する。
【００４０】
ステップＳ６０５では、注目格子領域において、空きリソースを縦方向・横方向それぞれについて導出する。これは、ステップＳ６０１で導出した”収容可能なリソース”から、ステップＳ６０２〜ステップＳ６０４で導出した各リソースを減ずることにより導出する。
【００４１】
＜空きリソースの表示＞
さらに、以下では、上述した工程により導出した各格子領域・各配線層における空きリソースの表示部１０６への表示方法について説明する。
【００４２】
図７は、各格子内に表示される空きリソース表示用図形を説明するための図である。
【００４３】
各格子内に表示される空きリソース表示図形７０３は、格子領域毎に生成され、格子領域７０１の中心７０２を中心とした矩形として表示される。空きリソース表示図形７０３である矩形の縦方向・横方向それぞれの辺の長さは、ステップＳ６０５で導出した空きリソースの量に対応した長さとなっている。
【００４４】
図８は、各格子領域における空きリソース表示図形の例を示したものである。上述したように、矩形の縦方向・横方向それぞれの辺の長さは、空きリソースの量に対応した長さとなっている。ここでは、以下の式のように矩形の辺の長さを導出しており、それぞれの辺が短いほど空きリソースが潤沢にあることを示している。
【００４５】
（矩形の縦方向の長さ）＝（格子領域の縦方向の長さ）−（縦方向の空きリソース）
（矩形の横方向の長さ）＝（格子領域の横方向の長さ）−（横方向の空きリソース）
つまり、図８（ａ）のように横方向に長い矩形が表示されている格子領域は、縦方向の空きリソースが多く、横方向のリソースが少ない状態を表している。一方、図８（ｂ）は、縦方向の空きリソースが少なく、横方向のリソースが多い状態を表している。また、上下方向とも同程度の空きリソースが存在する場合には、図８（ｃ）に示されるように矩形は正方形として表示されることになる。なお、格子領域内に空きリソースが無ければ、矩形は格子領域そのものと同じ面積として表示される。
【００４６】
なお、ここでは空きリソースの絶対量に対応させ矩形の辺を導出するようにしたが、収容可能リソースに対応する使用可能リソースのような比に対応した辺の長さとしても良い。また、空きリソースが多いほど矩形の辺の長さを長くするように構成しても良い。
【００４７】
＜配線種別による空きリソースの算出＞
図９は、空きリソースの導出を例示的に示した図である。図９（ａ）は、ステップＳ３０２で設定された１つの格子領域を示している。図９（ｂ）では、配線方向に制限が無く、ブロックが配置されていない領域を示しており、格子領域内全てがリソースとして利用可能な領域９０２となる例を示している。図９（ｃ）では、９０２に示される収容可能なリソースを基準として、空きリソース量に対応する矩９０３が表示される。
【００４８】
ところで、各配線層においては、各ブロック間の接続などに利用される通常配線以外の特殊配線（電源配線・太幅配線・クロック配線）が適宜配置される。例えば、本実施形態の半導体集積回路においては、主に第７配線層を電源配線に使用しているが、実際には各配線層においても電源配線が配置される。つまり、第７配線層を直結する他、第１配線層〜第６配線層の各配線層を利用して、電源の供給がなされる。
【００４９】
しかしながら、前述したように、特殊配線（電源配線・太幅配線・クロック配線）では通常の配線とは異なる量のリソースを消費するため、空きリソースはこれらの配線により影響を受ける。そこで、以下では、電源配線・太幅配線・クロック配線が存在する際の空きリソースの導出について説明する。
【００５０】
・電源配線
図１０は、電源配線存在時の空きリソースの導出を例示的に示した図である。図１０（ａ）は、ステップＳ３０２で設定された１つの格子領域を示している。図１０（ｂ）では、配線方向に制限が無く、ブロックが配置されていない領域１００１において、縦方向の電源配線１０１０が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域１００２は電源配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
【００５１】
さらに、図１０（ｃ）では、空きリソース表示図形６０３である矩形１００３の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向の電源配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形６０３である矩形１００３の縦方向の長さはより長くなっている。これは、領域１００２を基準として縦方向のリソースも制限されたことを示している。
【００５２】
・太幅配線
図１１は、太幅配線存在時の空きリソースの導出を例示的に示した図である。図１１（ａ）は、ステップＳ３０２で設定された１つの格子領域を示している。図１１（ｂ）では、配線方向に制限が無く、ブロックが配置されていない領域１１０１において、縦方向の太幅配線１１１０が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域１１０２は太幅配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
【００５３】
さらに、図１１（ｃ）では、空きリソース表示図形６０３である矩形１１０３の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向の太幅配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形６０３である矩形１１０３の縦方向の長さはより長くなっている。これは、領域１１０２を基準として縦方向のリソースも制限されたことを示している。
【００５４】
・クロック配線
クロック配線は、配線の周辺に所定の余裕（以降、クリアランスと呼ぶ）を設けることにより、フロアプランの信頼性を高めることが出来る。例えば、高クロックになるほど、外部（隣接配線）からのノイズの影響を受けやすくなることから、より多くのクリアランスを確保することが望ましい。
【００５５】
図１２は、クロック配線とクリアランス領域の一例を示す図である。クロック配線１２０１に対してクリアランス１２０２、１２０３を見積もっている。前述したように、必要なクリアランスの幅はクロック周波数などによって異なった幅が設定される。
【００５６】
図１３は、クロック配線存在時の空きリソースの導出を例示的に示した図である。図１３（ａ）は、ステップＳ３０２で設定された１つの格子領域を示している。図１３（ｂ）では、配線方向に制限が無く、ブロックが配置されていない領域１３０１において、縦方向のクロック配線１３１０が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域１３０２はクリアランスを考慮したクロック配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
【００５７】
さらに、図１３（ｃ）では、空きリソース表示図形６０３である矩形１３０３の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向のクロック配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形６０３である矩形１３０３の縦方向の長さはより長くなっている。これは、領域１３０２を基準として縦方向のリソースも制限されたことを示している。
【００５８】
＜各配線層における表示例＞
上述した、空きリソース表示図形６０３を、ステップＳ３０２で分割した格子領域それぞれについて表示することにより、フロアプラン３０１上の空きリソースの分布を表現することが出来る。
【００５９】
図１４は、各配線層における空きリソース表示の一例を示す図である。
【００６０】
なお、ここでは説明を簡単にするために配置可能領域を１６（＝４ｘ４）の格子領域に分割し、各格子領域の空きリソースを表示させた例を示している。また、図１４（ａ）〜（ｇ）はそれぞれ図５に示したそれぞれの配線層に対応する図である。
【００６１】
つまり、１４０１は第１配線層、１４０２は第２配線層、１４０３は第３配線層、１４０４は第４配線層、１４０５は第５配線層、１４０６は第６配線層、１４０７は第７配線層に対応する空きリソースの分布を示している。
【００６２】
図５を用い説明したように、第１、第３、第５配線層は主にフロアプラン３０１の縦方向の配線として利用されるため、空きリソース表示図形６０３である矩形の横方向の長さは格子領域の長さと等しくなっている。同様に、第２、第４、第６配線層は主にフロアプラン３０１の横方向の配線として利用されるため、空きリソース表示図形６０３である矩形の縦方向の長さは格子領域の長さと等しくなっている。さらに、第７配線層は電源配線専用であるため、空きリソース表示図形６０３である矩形は格子領域と同じ大きさで表示されている。
【００６３】
設計者は、図１４（ａ）〜（ｇ）の表示が、表示部１０６の３０２の画面に表示されることにより、以下の状況を直感的に把握可能となる。
【００６４】
・第１配線層および第２配線層では、ほとんど空きリソースが存在しない。
【００６５】
・第３配線層〜第６配線層では、左下部分に空きリソースが少ない部分があるものの、全体的に空きリソースが存在する。
【００６６】
・第７配線層は空きリソースが存在しない。
【００６７】
このように、各配線層の空きリソースを導出し、空きリソースに対応する図形を表示することで、設計者は縦方向・横方向の空きリソースの分布状況を直感的に把握しやすくなる。その結果、空きリソースの再配分等の最適化処理をより容易に行うことが出来る。
【００６８】
＜空きリソース統合表示＞
ところで、図１４に示したように配線層など各層で独立して空きリソースを表示するのではなく、各層での空きリソースを統合して、１つの表示画面に表示することも好適である。その場合、設計者はより容易にフロアプラン全体の空きリソースの分布を把握することが出来る。
【００６９】
図１５は、半導体集積回路の全配線層における空きリソースを統合表示した例を示す図である。なお、本実施形態における第７層のように、通常の配線に使用不可能な配線層がある場合は除外して導出しても良い。空きリソース表示図形６０３である矩形の縦方向・横方向のそれぞれの長さは、例えば以下の方法を用いて導出される。
【００７０】
（矩形の縦方向の長さ）＝（第１層、第３層、第５層の空きリソース表示図形の縦方向の長さの平均）
（矩形の横方向の長さ）＝（第２層、第４層、第６層の空きリソース表示図形の縦方向の長さの平均）
統合表示の結果、図１５（ａ）に表示された場合は、各格子領域に空きリソースが全格子領域に対して存在していることが把握できる。一方、図１５（ｂ）や図１５（ｃ）のように表示された場合は、配線不可能な格子領域が存在しているため、配線の変更・追加は著しく制限されることが把握できる。
【００７１】
ただし、図１５（ｃ）のように、空きリソースの分布に偏りがある場合には、ブロック配置の見直しにより、配線の変更・追加が可能となることが期待されることも分かる。
【００７２】
＜ブロックの追加・配置変更＞
図１６は、フロアプランと空きリソース分布表示の一例を示す図である。図１６（ａ）は、フロアプランの例であり各種ブロック（機能ブロック、マクロブロック）が配置されている。一方、図１６（ｂ）は、フロアプラン１６０１に対応する空きリソースの分布を示している。
【００７３】
図１５の場合と同様に、破線により囲まれた１６１１、１６１４、１６１６の各領域の空きリソースは比較的多いことを示している。一方、１６１２、１６１３、１６１５の各領域の空きリソースは少ないことを示している。
【００７４】
ところで、一般的には半導体集積回路全体の空きリソースの分布がチップ全体で均一であるほど質の良いフロアプランであることが知られている。そのため、設計者は、より良いフロアプランとするために、１６１２、１６１３、１６１５の各領域に対応するフロアプラン１６０１上の各ブロック間の間隔を広げるように配置位置を微調整すればよいことが直感的に分かる。
【００７５】
以上説明したように、第１実施形態によれば、フロアプラン設計者は設計対象のフロアプランの空きリソースの分布を直感的に把握することが可能となる。その結果、フロアプラン設計における有益な情報として利用することが出来る。
【００７６】
特に、半導体集積回路が使用する配線層数やダイサイズを変更した複数のフロアプランに対して、空きリソース表示用図形を比較することが出来るので、半導体集積回路のチップ全体での最適解を得ることが可能となる。更に、当該半導体集積回路開発の際の、配線層を増やして半導体集積回路のサイズを小さくするか、配線層を減らして半導体集積回路のサイズを大きくするかといった問題に対するヒントとなる情報を提供することが出来る。
【００７７】
なお、本実施形態においては、空きリソースが少ない場合ほど図形を大きく表示するような構成とした。しかし、逆に、空きりソースが多い場合ほど図形を大きく表示するよう構成しても良い。また、空きリソースに応じた色彩として表示しても良い。要は、空きリソースの分布の状態を、設計者が直感的に把握できるように表示することにある。
【００７８】
また、全てのブロック（機能ブロック、マクロブロック）を仮配置する前の途中段階においても本実施形態に示した表示を先行的に適用することも可能である。
【００７９】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８０】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００８１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８２】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００８３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００８４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００８７】
【図１】第１実施形態に係るフロアプラン設計装置の構成を示す図である。
【図２】フロアプラン設計装置の表示部に表示される画面の一例を示す図である。
【図３】フロアプラン設計装置の動作フローチャートである。
【図４】格子領域への分割の一例を示す図である。
【図５】７層配線の半導体集積回路における各配線層の利用の一例を示す図である。
【図６】格子領域の空きリソース導出のフローチャートである。
【図７】各格子内に表示される空きリソース表示用図形を説明するための図である。
【図８】各格子領域における空きリソース表示図形の例を示したものである。
【図９】空きリソースの導出を例示的に示した図である。
【図１０】電源配線存在時の空きリソースの導出を例示的に示した図である。
【図１１】太幅配線存在時の空きリソースの導出を例示的に示した図である。
【図１２】クロック配線とクリアランス領域の一例を示す図である。
【図１３】クロック配線存在時の空きリソースの導出を例示的に示した図である。
【図１４】各配線層における空きリソース表示の一例を示す図である。
【図１５】半導体集積回路の全配線層における空きリソースを統合表示した例を示す図である。
【図１６】フロアプランおよび対応する空きリソース分布を示す図である。
【図１】
2007156711.tif 000003
【図２】
2007156711.tif 000004
【図３】
2007156711.tif 000005
【図４】
2007156711.tif 000006
【図５】
2007156711.tif 000007
【図６】
2007156711.tif 000008
【図７】
2007156711.tif 000009
【図８】
2007156711.tif 000010
【図９】
2007156711.tif 000011
【図１０】
2007156711.tif 000012
【図１１】
2007156711.tif 000013
【図１２】
2007156711.tif 000014
【図１３】
2007156711.tif 000015
【図１４】
2007156711.tif 000016
【図１５】
2007156711.tif 000017
【図１６】
2007156711.tif 000018