JP2007156711A - フロアプラン設計装置、フロアプラン設計方法およびプログラム - Google Patents
フロアプラン設計装置、フロアプラン設計方法およびプログラム Download PDFInfo
- Publication number
- JP2007156711A JP2007156711A JP2005349446A JP2005349446A JP2007156711A JP 2007156711 A JP2007156711 A JP 2007156711A JP 2005349446 A JP2005349446 A JP 2005349446A JP 2005349446 A JP2005349446 A JP 2005349446A JP 2007156711 A JP2007156711 A JP 2007156711A
- Authority
- JP
- Japan
- Prior art keywords
- integrated circuit
- semiconductor integrated
- resources
- floor plan
- wiring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】 半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とする。
【解決手段】 半導体集積回路のフロアプラン設計装置において、半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、半導体集積回路を複数の格子領域に分割する領域分割手段と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力手段とを有する。
【選択図】図1
【解決手段】 半導体集積回路のフロアプラン設計装置において、半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、半導体集積回路を複数の格子領域に分割する領域分割手段と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力手段とを有する。
【選択図】図1
Description
本発明は、半導体集積回路のフロアプラン設計技術に関するものである。
近年、半導体プロセスの微細化に伴い、半導体集積回路1チップあたりの回路規模は大規模化しており、半導体集積回路のレイアウト設計に要する期間は増大する傾向にある。特に、半導体集積回路のレイアウト設計時点での、タイミング収束や配置等の問題の発生は、半導体集積回路全体の再設計を余儀なくされチップ開発の長期化を招いてしまう。このような状況を避けるため、半導体集積回路における設計においては、初期段階から機能ブロック、マクロブロックの配置、電源配線、クロック配線などを見積もった半導体集積回路のフロアプラン設計が重要である。
ところで、半導体集積回路のフロアプラン設計においては、半導体集積回路上の配置可能領域に機能ブロックやマクロブロックを重ならないように仮配置を繰り返し、半導体集積回路上の配置位置を決定する手法が採られることがある。その際、半導体集積回路のフロアプランの実装の可否判断を測る一つの指標として配線混雑度というものがある。配線混雑度は、半導体集積回路上の配置可能領域にブロックを配置した後、ブロック間の配線情報等から算出される。特許文献1には、この配線混雑度をもとにフロアプラン内の混雑状況を画面表示する技術が開示されている。
設計したフロアプランにおいて配線混雑度の高い部分が存在する場合においては、設計者は、半導体集積回路上の配線時の問題発生を回避するよう修正を行う。たとえば、設計者は配線混雑度を分散させるよう各ブロックの配置を変更する。
また、配線混雑度が高い部分では、配線混雑部を迂回する配線が増加する傾向がある。その結果、配線長が長くなり動作タイミングの条件を満たすことが難しくなる場合がある。そこで、設計者は配線混雑度の高い部分の周辺において配線領域をより広く確保するか、各ブロックの配置位置を変更して配線混雑度が減るような対処を行う。一方、各ブロック内に配線混雑度の高い部分があれば、当該ブロックの占有面積を広げることによりブロック内部の配線混雑度を緩和させている。
特開平08−106478号公報
しかしながら、上述した配線混雑度を用いる設計手法においては、半導体集積回路上の空きリソースのイメージを正しく掴むことは困難であった。なお、ここで”リソース”とは半導体集積回路上での配線可能本数などの量を示している。また、配線混雑度は各ブロックを仮配置し配線情報を入力して後に得られる値であるため、設計者は、半導体集積回路を構成する各ブロック間で発生する配線混雑度に対して、個別の最適化を繰り返して対処する必要があった。そのため、フロアプランの実装の可否判断を効率良く行えないという問題点があった。
本発明は、上記のような問題を解決するためになされたものであり、半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とすることを目的としている。
半導体集積回路のフロアプラン設計装置において、半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、半導体集積回路を複数の格子領域に分割する領域分割手段と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力手段とを有する。
半導体集積回路のフロアプラン設計装置の制御方法において、半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程と、半導体集積回路を複数の格子領域に分割する領域分割工程と、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程と、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力工程とを有する。
半導体集積回路のフロアプラン設計装置の制御プログラムにおいて、半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程を実行するためのプログラムコードと、半導体集積回路を複数の格子領域に分割する領域分割工程を実行するためのプログラムコードと、半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程を実行するためのプログラムコードと、格子領域内における収容可能リソースおよび格子領域内における論理ブロックによる必要リソースに基づいて格子領域内における空きリソースを導出し空きリソースの情報を表示出力する表示出力工程を実行するためのプログラムコードとを有する。
本発明によれば、半導体集積回路のフロアプラン設計において、設計者が半導体集積回路上の空きリソースをより容易に把握可能とする技術を提供することができる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
(第1実施形態)
<概要>
フロアプラン設計装置において、半導体集積回路上を複数の格子領域に分割し、格子領域内の空きリソース量に対応させた矩形をそれぞれの格子領域内に表示する。そうすることにより、設計者は、半導体集積回路上の空きリソースの状態を直感的に把握することが可能となる。
<概要>
フロアプラン設計装置において、半導体集積回路上を複数の格子領域に分割し、格子領域内の空きリソース量に対応させた矩形をそれぞれの格子領域内に表示する。そうすることにより、設計者は、半導体集積回路上の空きリソースの状態を直感的に把握することが可能となる。
<装置構成>
図1は、第1実施形態に係るフロアプラン設計装置100の構成を示す図である。
図1は、第1実施形態に係るフロアプラン設計装置100の構成を示す図である。
フロアプラン設計装置100は、入力部101、記憶部102、領域分割部103、空きリソース導出部104、表示画面生成部105、表示部106、およびこれら各部を制御する制御部107から構成されている。
入力部101はキーボードやポインティングデバイス(マウス等)などからなり、設計者によるフロアプラン設計情報の入力を受け付ける。入力部101において受け付けた入力は後述する記憶部102に記憶される。なお、各種記憶媒体やネットワーク(不図示)等を経由して、フロアプラン設計情報の入力を受け付けてもよい。なお、フロアプラン設計情報としては以下のようなものがあるが、詳細については後述する。
(a)土台となる半導体集積回路の情報
(b)半導体集積回路上に配置される部品(ブロック)の情報
(c)ブロックの配置・配線情報
(d)半導体集積回路上の領域分割情報
記憶部102は、入力部101により受け付けたフロアプラン設計情報を記憶する。領域分割部103は、半導体集積回路上の領域分割情報に基づき、土台となる半導体集積回路の領域を複数の格子領域に分割する。空きリソース導出部104は、領域分割部103により分割された格子領域それぞれに対し、空きリソースを導出する。表示画面生成部105は、空きリソース導出部104により導出された空きリソースに基づいて、後述する表示部106に表示される空きリソース画面を生成する。LCDなどから構成される表示部106は、フロアプラン設計に必要な各種の情報が表示される。
(b)半導体集積回路上に配置される部品(ブロック)の情報
(c)ブロックの配置・配線情報
(d)半導体集積回路上の領域分割情報
記憶部102は、入力部101により受け付けたフロアプラン設計情報を記憶する。領域分割部103は、半導体集積回路上の領域分割情報に基づき、土台となる半導体集積回路の領域を複数の格子領域に分割する。空きリソース導出部104は、領域分割部103により分割された格子領域それぞれに対し、空きリソースを導出する。表示画面生成部105は、空きリソース導出部104により導出された空きリソースに基づいて、後述する表示部106に表示される空きリソース画面を生成する。LCDなどから構成される表示部106は、フロアプラン設計に必要な各種の情報が表示される。
図2は、フロアプラン設計装置100の表示部106に表示される画面の一例を示す図である。201は半導体集積回路上に複数のブロックを仮配置したフロアプランが表示される。一方、202はフロアプラン201に対応する空きリソースの状態が表示される領域であり、前述した表示画面生成部105により生成される画面が表示される。また、203はフロアプラン201上に配置される部品(ブロック)が表示されており、例えばカーソル210を入力部101であるマウスのドラッグ・ドロップ操作により、フロアプラン201に配置することが出来る。なお、”リソース”とは背景技術でも述べたように、半導体集積回路上での配線可能本数などの量を示している。
<装置の動作>
以下、上述したフロアプラン設計装置100の各部の詳細動作および動作フローについて説明する。
以下、上述したフロアプラン設計装置100の各部の詳細動作および動作フローについて説明する。
図3は、フロアプラン設計装置100の動作フローチャートである。
ステップS301では、入力部101によりフロアプラン設計の基本となる情報の入力を受け付ける。例えば、前述した(a)土台となる半導体集積回路の情報、(b)半導体集積回路上に配置される部品(ブロック)の情報などがある。ここで、(a)は、配線層数、各配線層数の配線幅、配置可能領域サイズが含まれる。一方、(b)は機能ブロックやマクロブロックなどの情報であり、各ブロック内で使用するリソース、他のブロックとの接続に必要なリソースが含まれる。なお、マクロブロックとはCPU、PLL、RAM等のブロックを示し、機能ブロックとは論理回路で構成されるブロックを示している。これらの情報は、記憶部102に記憶される。
ステップS302では、前述の(d)半導体集積回路上の領域分割情報を入力部101により受け付ける。領域分割部103は設計対象となる半導体集積回路の配置可能領域、つまり、フロアプラン201に対応する領域を領域分割情報に基づき複数の格子領域に分割する。
図4は、格子領域への分割の一例を示す図である。なお、図4では、配置可能領域401を縦横それぞれ8分割する64(=8×8)個の格子領域410を設定した例402を示しているが、操作者による入力に応じて自由に設定可能である。例えば、図4のように配置可能領域の分割数により指定しても良いし、入力された格子サイズに基づいて分割しても良い。
ステップS303では、ブロックの仮配置、つまり、前述した(c)ブロックの配置・配線情報の入力を入力部101により受け付ける。これは、前述したように、操作者によるマウスのドラッグ・ドロップ操作等により、フロアプラン201に対し1以上のブロックの配置を受け付ける。また、配置された各ブロック間の配線接続を含むネットリストの入力を受け付ける。
ステップS304では、空きリソース導出部104はステップS302で設定されたそれぞれの格子領域に対し縦方向および横方向の空きリソースを導出する。つまり、格子領域毎にステップS301およびステップS303で受け付けた情報に基づき、それぞれの格子領域における空きリソースを導出するのである。空きリソース導出の詳細については後述する。
ステップS305では、表示画面生成部105は各格子領域についてステップS304で導出した縦方向および横方向の利用リソースに基づいた、空きリソース表示図形を生成する。空きリソース表示図形の生成の詳細については後述する。
ステップS306では、ステップS305で生成した空きリソース表示図形を、表示部106の表示画面に表示する。
ステップS307では、設計者によるブロック配置決定の有無を受け付ける。つまり、設計者はステップS306で表示された空きリソース表示を見ることにより、設計したフロアプランの質を判断する。そして、さらに修正が必要であれば、ステップS303に戻りブロックの再配置などを行う。一方、十分な質のフロアプランが得られ、現在の配置に決定すると判断した場合は、フローを終了する。
<空きリソースの導出>
次に、ステップS304に相当する空きリソース導出の詳細について述べる。なおここでは例として、土台となる半導体集積回路が7層配線の半導体集積回路であるとして説明する。
次に、ステップS304に相当する空きリソース導出の詳細について述べる。なおここでは例として、土台となる半導体集積回路が7層配線の半導体集積回路であるとして説明する。
図5は、7層配線の半導体集積回路における各配線層の利用の一例を示す図である。
ここでは、第1〜第6配線層は、フロアプラン301において配置されたブロック内の回路およびブロック間を接続する配線に利用され、第7配線層は電源配線専用として利用される。さらに、第1、第3、第5配線層は主にフロアプラン301の縦方向の配線として使用され、第2、第4、第6配線層は主にフロアプラン301の横方向の配線として利用される配線層であることを想定する。また、第7配線層は、前述したフロアプラン301において配置されたブロック内の回路およびブロック間を接続する配線には利用されないものとする。
図6は、格子領域の空きリソースの導出のフローチャートである。図3におけるステップS304に対応する。なお、以下の工程は、前述のステップS302で設定された複数の格子領域それぞれに対し、各配線層について実行される。ここでは説明を簡単にするために1つの注目格子領域について説明を行う。
ステップS601では、注目格子領域において、半導体集積回路における各配線層の情報に基づき収容可能なリソースを縦方向・横方向それぞれについて導出する。
例えば、第1、第3、第5配線層の収容可能リソースは、それぞれ以下のように導出される。
縦方向: (格子の横方向の長さに対応する半導体上の長さ)/(配線幅)
横方向: 0(ゼロ)
同様に、第2、第4、第6配線層の収容可能リソースは、それぞれ以下のように導出される。
横方向: 0(ゼロ)
同様に、第2、第4、第6配線層の収容可能リソースは、それぞれ以下のように導出される。
縦方向: 0(ゼロ)
横方向: (格子の縦方向の長さに対応する半導体上の長さ)/(配線幅)
また、第7配線層を通常の配線に用いることは出来ないので縦方向・横方向共に収容可能リソースは0(ゼロ)である。
横方向: (格子の縦方向の長さに対応する半導体上の長さ)/(配線幅)
また、第7配線層を通常の配線に用いることは出来ないので縦方向・横方向共に収容可能リソースは0(ゼロ)である。
ステップS602では、注目格子領域において、ステップS303で仮配置されたブロックにより使用されるリソースを縦方向・横方向それぞれについて導出する。これは、例えば、ブロック内で使用する配線情報、および、注目格子領域内に当該ブロック面積の割合などから導出される。もちろん、注目格子領域内にブロックが配置されていない場合にはゼロとなる。
ステップS603では、注目格子領域において、ステップS303で仮配置された複数のブロック間の接続に使用されるリソースを縦方向・横方向それぞれについて導出する。これは、例えば、前述のネットリストの情報から、注目格子領域内を通過する配線数を導出し、配線幅との積を取ることにより導出される。
ステップS604では、注目格子領域において、特殊配線に使用されるリソースを縦方向・横方向それぞれについて導出する。なお、”特殊配線”とは、電源配線・太幅配線・クロック配線など通常の配線とは異なるリソースを消費する配線のことである。電源配線・太幅配線・クロック配線についての、詳細なリソースの導出については後述する。
ステップS605では、注目格子領域において、空きリソースを縦方向・横方向それぞれについて導出する。これは、ステップS601で導出した”収容可能なリソース”から、ステップS602〜ステップS604で導出した各リソースを減ずることにより導出する。
<空きリソースの表示>
さらに、以下では、上述した工程により導出した各格子領域・各配線層における空きリソースの表示部106への表示方法について説明する。
さらに、以下では、上述した工程により導出した各格子領域・各配線層における空きリソースの表示部106への表示方法について説明する。
図7は、各格子内に表示される空きリソース表示用図形を説明するための図である。
各格子内に表示される空きリソース表示図形703は、格子領域毎に生成され、格子領域701の中心702を中心とした矩形として表示される。空きリソース表示図形703である矩形の縦方向・横方向それぞれの辺の長さは、ステップS605で導出した空きリソースの量に対応した長さとなっている。
図8は、各格子領域における空きリソース表示図形の例を示したものである。上述したように、矩形の縦方向・横方向それぞれの辺の長さは、空きリソースの量に対応した長さとなっている。ここでは、以下の式のように矩形の辺の長さを導出しており、それぞれの辺が短いほど空きリソースが潤沢にあることを示している。
(矩形の縦方向の長さ)=(格子領域の縦方向の長さ)−(縦方向の空きリソース)
(矩形の横方向の長さ)=(格子領域の横方向の長さ)−(横方向の空きリソース)
つまり、図8(a)のように横方向に長い矩形が表示されている格子領域は、縦方向の空きリソースが多く、横方向のリソースが少ない状態を表している。一方、図8(b)は、縦方向の空きリソースが少なく、横方向のリソースが多い状態を表している。また、上下方向とも同程度の空きリソースが存在する場合には、図8(c)に示されるように矩形は正方形として表示されることになる。なお、格子領域内に空きリソースが無ければ、矩形は格子領域そのものと同じ面積として表示される。
(矩形の横方向の長さ)=(格子領域の横方向の長さ)−(横方向の空きリソース)
つまり、図8(a)のように横方向に長い矩形が表示されている格子領域は、縦方向の空きリソースが多く、横方向のリソースが少ない状態を表している。一方、図8(b)は、縦方向の空きリソースが少なく、横方向のリソースが多い状態を表している。また、上下方向とも同程度の空きリソースが存在する場合には、図8(c)に示されるように矩形は正方形として表示されることになる。なお、格子領域内に空きリソースが無ければ、矩形は格子領域そのものと同じ面積として表示される。
なお、ここでは空きリソースの絶対量に対応させ矩形の辺を導出するようにしたが、収容可能リソースに対応する使用可能リソースのような比に対応した辺の長さとしても良い。また、空きリソースが多いほど矩形の辺の長さを長くするように構成しても良い。
<配線種別による空きリソースの算出>
図9は、空きリソースの導出を例示的に示した図である。図9(a)は、ステップS302で設定された1つの格子領域を示している。図9(b)では、配線方向に制限が無く、ブロックが配置されていない領域を示しており、格子領域内全てがリソースとして利用可能な領域902となる例を示している。図9(c)では、902に示される収容可能なリソースを基準として、空きリソース量に対応する矩903が表示される。
図9は、空きリソースの導出を例示的に示した図である。図9(a)は、ステップS302で設定された1つの格子領域を示している。図9(b)では、配線方向に制限が無く、ブロックが配置されていない領域を示しており、格子領域内全てがリソースとして利用可能な領域902となる例を示している。図9(c)では、902に示される収容可能なリソースを基準として、空きリソース量に対応する矩903が表示される。
ところで、各配線層においては、各ブロック間の接続などに利用される通常配線以外の特殊配線(電源配線・太幅配線・クロック配線)が適宜配置される。例えば、本実施形態の半導体集積回路においては、主に第7配線層を電源配線に使用しているが、実際には各配線層においても電源配線が配置される。つまり、第7配線層を直結する他、第1配線層〜第6配線層の各配線層を利用して、電源の供給がなされる。
しかしながら、前述したように、特殊配線(電源配線・太幅配線・クロック配線)では通常の配線とは異なる量のリソースを消費するため、空きリソースはこれらの配線により影響を受ける。そこで、以下では、電源配線・太幅配線・クロック配線が存在する際の空きリソースの導出について説明する。
・電源配線
図10は、電源配線存在時の空きリソースの導出を例示的に示した図である。図10(a)は、ステップS302で設定された1つの格子領域を示している。図10(b)では、配線方向に制限が無く、ブロックが配置されていない領域1001において、縦方向の電源配線1010が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域1002は電源配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
図10は、電源配線存在時の空きリソースの導出を例示的に示した図である。図10(a)は、ステップS302で設定された1つの格子領域を示している。図10(b)では、配線方向に制限が無く、ブロックが配置されていない領域1001において、縦方向の電源配線1010が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域1002は電源配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
さらに、図10(c)では、空きリソース表示図形603である矩形1003の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向の電源配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形603である矩形1003の縦方向の長さはより長くなっている。これは、領域1002を基準として縦方向のリソースも制限されたことを示している。
・太幅配線
図11は、太幅配線存在時の空きリソースの導出を例示的に示した図である。図11(a)は、ステップS302で設定された1つの格子領域を示している。図11(b)では、配線方向に制限が無く、ブロックが配置されていない領域1101において、縦方向の太幅配線1110が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域1102は太幅配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
図11は、太幅配線存在時の空きリソースの導出を例示的に示した図である。図11(a)は、ステップS302で設定された1つの格子領域を示している。図11(b)では、配線方向に制限が無く、ブロックが配置されていない領域1101において、縦方向の太幅配線1110が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域1102は太幅配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
さらに、図11(c)では、空きリソース表示図形603である矩形1103の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向の太幅配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形603である矩形1103の縦方向の長さはより長くなっている。これは、領域1102を基準として縦方向のリソースも制限されたことを示している。
・クロック配線
クロック配線は、配線の周辺に所定の余裕(以降、クリアランスと呼ぶ)を設けることにより、フロアプランの信頼性を高めることが出来る。例えば、高クロックになるほど、外部(隣接配線)からのノイズの影響を受けやすくなることから、より多くのクリアランスを確保することが望ましい。
クロック配線は、配線の周辺に所定の余裕(以降、クリアランスと呼ぶ)を設けることにより、フロアプランの信頼性を高めることが出来る。例えば、高クロックになるほど、外部(隣接配線)からのノイズの影響を受けやすくなることから、より多くのクリアランスを確保することが望ましい。
図12は、クロック配線とクリアランス領域の一例を示す図である。クロック配線1201に対してクリアランス1202、1203を見積もっている。前述したように、必要なクリアランスの幅はクロック周波数などによって異なった幅が設定される。
図13は、クロック配線存在時の空きリソースの導出を例示的に示した図である。図13(a)は、ステップS302で設定された1つの格子領域を示している。図13(b)では、配線方向に制限が無く、ブロックが配置されていない領域1301において、縦方向のクロック配線1310が存在する場合の収容可能なリソースの例を示している。収容可能リソースに対応する領域1302はクリアランスを考慮したクロック配線の配線数および配線幅による影響により横方向が狭くなっていることが分かる。
さらに、図13(c)では、空きリソース表示図形603である矩形1303の横方向の長さは格子領域の横方向の長さと等しくなっている。これは、縦方向のクロック配線の存在により、横方向配線が配置不可能であることを示している。また、空きリソース表示図形603である矩形1303の縦方向の長さはより長くなっている。これは、領域1302を基準として縦方向のリソースも制限されたことを示している。
<各配線層における表示例>
上述した、空きリソース表示図形603を、ステップS302で分割した格子領域それぞれについて表示することにより、フロアプラン301上の空きリソースの分布を表現することが出来る。
上述した、空きリソース表示図形603を、ステップS302で分割した格子領域それぞれについて表示することにより、フロアプラン301上の空きリソースの分布を表現することが出来る。
図14は、各配線層における空きリソース表示の一例を示す図である。
なお、ここでは説明を簡単にするために配置可能領域を16(=4x4)の格子領域に分割し、各格子領域の空きリソースを表示させた例を示している。また、図14(a)〜(g)はそれぞれ図5に示したそれぞれの配線層に対応する図である。
つまり、1401は第1配線層、1402は第2配線層、1403は第3配線層、1404は第4配線層、1405は第5配線層、1406は第6配線層、1407は第7配線層に対応する空きリソースの分布を示している。
図5を用い説明したように、第1、第3、第5配線層は主にフロアプラン301の縦方向の配線として利用されるため、空きリソース表示図形603である矩形の横方向の長さは格子領域の長さと等しくなっている。同様に、第2、第4、第6配線層は主にフロアプラン301の横方向の配線として利用されるため、空きリソース表示図形603である矩形の縦方向の長さは格子領域の長さと等しくなっている。さらに、第7配線層は電源配線専用であるため、空きリソース表示図形603である矩形は格子領域と同じ大きさで表示されている。
設計者は、図14(a)〜(g)の表示が、表示部106の302の画面に表示されることにより、以下の状況を直感的に把握可能となる。
・第1配線層および第2配線層では、ほとんど空きリソースが存在しない。
・第3配線層〜第6配線層では、左下部分に空きリソースが少ない部分があるものの、全体的に空きリソースが存在する。
・第7配線層は空きリソースが存在しない。
このように、各配線層の空きリソースを導出し、空きリソースに対応する図形を表示することで、設計者は縦方向・横方向の空きリソースの分布状況を直感的に把握しやすくなる。その結果、空きリソースの再配分等の最適化処理をより容易に行うことが出来る。
<空きリソース統合表示>
ところで、図14に示したように配線層など各層で独立して空きリソースを表示するのではなく、各層での空きリソースを統合して、1つの表示画面に表示することも好適である。その場合、設計者はより容易にフロアプラン全体の空きリソースの分布を把握することが出来る。
ところで、図14に示したように配線層など各層で独立して空きリソースを表示するのではなく、各層での空きリソースを統合して、1つの表示画面に表示することも好適である。その場合、設計者はより容易にフロアプラン全体の空きリソースの分布を把握することが出来る。
図15は、半導体集積回路の全配線層における空きリソースを統合表示した例を示す図である。なお、本実施形態における第7層のように、通常の配線に使用不可能な配線層がある場合は除外して導出しても良い。空きリソース表示図形603である矩形の縦方向・横方向のそれぞれの長さは、例えば以下の方法を用いて導出される。
(矩形の縦方向の長さ)=(第1層、第3層、第5層の空きリソース表示図形の縦方向の長さの平均)
(矩形の横方向の長さ)=(第2層、第4層、第6層の空きリソース表示図形の縦方向の長さの平均)
統合表示の結果、図15(a)に表示された場合は、各格子領域に空きリソースが全格子領域に対して存在していることが把握できる。一方、図15(b)や図15(c)のように表示された場合は、配線不可能な格子領域が存在しているため、配線の変更・追加は著しく制限されることが把握できる。
(矩形の横方向の長さ)=(第2層、第4層、第6層の空きリソース表示図形の縦方向の長さの平均)
統合表示の結果、図15(a)に表示された場合は、各格子領域に空きリソースが全格子領域に対して存在していることが把握できる。一方、図15(b)や図15(c)のように表示された場合は、配線不可能な格子領域が存在しているため、配線の変更・追加は著しく制限されることが把握できる。
ただし、図15(c)のように、空きリソースの分布に偏りがある場合には、ブロック配置の見直しにより、配線の変更・追加が可能となることが期待されることも分かる。
<ブロックの追加・配置変更>
図16は、フロアプランと空きリソース分布表示の一例を示す図である。図16(a)は、フロアプランの例であり各種ブロック(機能ブロック、マクロブロック)が配置されている。一方、図16(b)は、フロアプラン1601に対応する空きリソースの分布を示している。
図16は、フロアプランと空きリソース分布表示の一例を示す図である。図16(a)は、フロアプランの例であり各種ブロック(機能ブロック、マクロブロック)が配置されている。一方、図16(b)は、フロアプラン1601に対応する空きリソースの分布を示している。
図15の場合と同様に、破線により囲まれた1611、1614、1616の各領域の空きリソースは比較的多いことを示している。一方、1612、1613、1615の各領域の空きリソースは少ないことを示している。
ところで、一般的には半導体集積回路全体の空きリソースの分布がチップ全体で均一であるほど質の良いフロアプランであることが知られている。そのため、設計者は、より良いフロアプランとするために、1612、1613、1615の各領域に対応するフロアプラン1601上の各ブロック間の間隔を広げるように配置位置を微調整すればよいことが直感的に分かる。
以上説明したように、第1実施形態によれば、フロアプラン設計者は設計対象のフロアプランの空きリソースの分布を直感的に把握することが可能となる。その結果、フロアプラン設計における有益な情報として利用することが出来る。
特に、半導体集積回路が使用する配線層数やダイサイズを変更した複数のフロアプランに対して、空きリソース表示用図形を比較することが出来るので、半導体集積回路のチップ全体での最適解を得ることが可能となる。更に、当該半導体集積回路開発の際の、配線層を増やして半導体集積回路のサイズを小さくするか、配線層を減らして半導体集積回路のサイズを大きくするかといった問題に対するヒントとなる情報を提供することが出来る。
なお、本実施形態においては、空きリソースが少ない場合ほど図形を大きく表示するような構成とした。しかし、逆に、空きりソースが多い場合ほど図形を大きく表示するよう構成しても良い。また、空きリソースに応じた色彩として表示しても良い。要は、空きリソースの分布の状態を、設計者が直感的に把握できるように表示することにある。
また、全てのブロック(機能ブロック、マクロブロック)を仮配置する前の途中段階においても本実施形態に示した表示を先行的に適用することも可能である。
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
Claims (10)
- 半導体集積回路のフロアプラン設計装置であって、
前記半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力手段と、
前記半導体集積回路を複数の格子領域に分割する領域分割手段と、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定手段と、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力手段と、
を有することを特徴とするフロアプラン設計装置。 - 前記表示出力手段は、前記空きリソースの情報を該空きリソースの量に基づいた色彩として表示することを特徴とする請求項1に記載のフロアプラン設計装置。
- 前記表示出力手段は、前記空きリソースの情報を該空きリソースの量に基づいた大きさの図形として表示することを特徴とする請求項1に記載のフロアプラン設計装置。
- 前記空きリソースは前記格子領域の縦横方向それぞれについて導出され、
前記図形は、縦横方向それぞれの前記空きリソースの量に対応させた辺の長さを有する矩形であることを特徴とする請求項3に記載のフロアプラン設計装置。 - 前記半導体集積回路は複数の配線層から構成されており、
前記表示出力手段は、前記格子領域内の前記複数の配線層を合算した空きリソースを導出し表示出力することを特徴とする請求項1乃至4何れか1項に記載のフロアプラン設計装置。 - 前記格子領域内には電源配線が配置されており、
前記表示出力手段は、前記電源配線により変化する前記収容可能リソースに基づいて前記空きリソースを導出し表示出力することを特徴とする請求項1乃至5何れか1項に記載のフロアプラン設計装置。 - 前記格子領域内にはクロック配線が配置されており、
前記表示出力手段は、予め設定されたクリアランスを含む前記クロック配線により変化する前記収容可能リソースに基づいて前記空きリソースを導出し表示出力することを特徴とする請求項1乃至5何れか1項に記載のフロアプラン設計装置。 - 前記表示出力手段は、前記位置指定手段による論理ブロックの配置位置の更新に基づいて、表示出力の更新を行うことを特徴とする請求項1乃至7何れか1項に記載のフロアプラン設計装置。
- 半導体集積回路のフロアプラン設計装置の制御方法であって、
前記半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程と、
前記半導体集積回路を複数の格子領域に分割する領域分割工程と、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程と、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力工程と、
を有することを特徴とする制御方法。 - 半導体集積回路のフロアプラン設計装置の制御プログラムであって、
前記半導体集積回路に配置される1以上の論理ブロック情報をそれぞれの必要リソースと共に入力する入力工程を実行するためのプログラムコードと、
前記半導体集積回路を複数の格子領域に分割する領域分割工程を実行するためのプログラムコードと、
前記半導体集積回路における各論理ブロックの配置位置を指定する配置位置指定工程を実行するためのプログラムコードと、
格子領域内における収容可能リソースおよび該格子領域内における論理ブロックによる必要リソースに基づいて該格子領域内における空きリソースを導出し、該空きリソースの情報を表示出力する表示出力工程を実行するためのプログラムコードと、
を有することを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005349446A JP2007156711A (ja) | 2005-12-02 | 2005-12-02 | フロアプラン設計装置、フロアプラン設計方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005349446A JP2007156711A (ja) | 2005-12-02 | 2005-12-02 | フロアプラン設計装置、フロアプラン設計方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007156711A true JP2007156711A (ja) | 2007-06-21 |
Family
ID=38241013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005349446A Withdrawn JP2007156711A (ja) | 2005-12-02 | 2005-12-02 | フロアプラン設計装置、フロアプラン設計方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007156711A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011519455A (ja) * | 2008-04-23 | 2011-07-07 | シノプシス, インコーポレイテッド | 詳細なルーティング可能性推定を計算するための方法および装置 |
-
2005
- 2005-12-02 JP JP2005349446A patent/JP2007156711A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011519455A (ja) * | 2008-04-23 | 2011-07-07 | シノプシス, インコーポレイテッド | 詳細なルーティング可能性推定を計算するための方法および装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6598206B2 (en) | Method and system of modifying integrated circuit power rails | |
US8028266B2 (en) | System and method for automated placement in custom VLSI circuit design with schematic-driven placement | |
US20160154924A1 (en) | Semiconductor design method and computer-readable recording medium | |
JP2007027290A (ja) | 半導体集積回路のレイアウト設計方法 | |
JP2006277668A (ja) | レイアウト設計方法及びレイアウト設計装置 | |
US8028265B2 (en) | System and method for improved placement in custom VLSI circuit design with schematic-driven placement | |
JP2004252717A (ja) | 半導体集積回路の設計方法、設計装置、セルライブラリのデータ構造および自動レイアウトプログラム | |
US7962884B2 (en) | Floorplanning apparatus and computer readable recording medium storing floorplanning program | |
JP2003330987A (ja) | 半導体集積回路のレイアウト方法及び半導体集積回路 | |
JP2007156711A (ja) | フロアプラン設計装置、フロアプラン設計方法およびプログラム | |
JP5373304B2 (ja) | 半導体集積回路配置プログラム及び方法 | |
JP5515255B2 (ja) | 自動配線装置、自動配線方法および自動配線プログラム | |
JP6040982B2 (ja) | 電源系統ツリー設計支援システム及び電源系統ツリー設計方法 | |
JP2013054567A (ja) | 半導体集積回路のレイアウト方法、レイアウト装置およびプログラム | |
US10242144B1 (en) | Methods for minimizing logic overlap on integrated circuits | |
JP4248925B2 (ja) | 自動フロアプラン決定方法 | |
JP2007328745A (ja) | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 | |
JP2006268350A (ja) | フロアプラン設計装置、フロアプラン設計方法およびプログラム | |
JP2008186229A (ja) | 半導体集積回路の設計装置 | |
JP2007042990A (ja) | 半導体装置の設計方法、その設計プログラムおよびその設計装置 | |
JP2000322462A (ja) | 自動レイアウト装置および半導体集積回路設計方法 | |
JP2006278370A (ja) | 半導体装置の設計方法および半導体装置 | |
JP2011145971A (ja) | 半導体集積回路の設計方法 | |
US20080141197A1 (en) | Semiconductor device design method, semiconductor device design system, and computer program | |
JP2005129869A (ja) | 半導体集積回路設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090203 |