JP2007328745A - フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 - Google Patents
フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2007328745A JP2007328745A JP2006161638A JP2006161638A JP2007328745A JP 2007328745 A JP2007328745 A JP 2007328745A JP 2006161638 A JP2006161638 A JP 2006161638A JP 2006161638 A JP2006161638 A JP 2006161638A JP 2007328745 A JP2007328745 A JP 2007328745A
- Authority
- JP
- Japan
- Prior art keywords
- floor plan
- area
- semiconductor integrated
- power supply
- integrated circuit
- 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
【課題】 所与の条件に応じて半導体リソースを適切に配置したフロアプランを、迅速かつ容易に作成することを可能にする技術を提供する。
【解決手段】 半導体集積回路のフロアプランを生成するフロアプラン生成装置は、前記半導体集積回路の接続情報を入力する入力手段と、前記接続情報に基づいてフロアプランの編集領域を決定する決定手段と、前記決定手段において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換手段と、前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成手段と、前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成手段と、を備える。
【選択図】 図2
【解決手段】 半導体集積回路のフロアプランを生成するフロアプラン生成装置は、前記半導体集積回路の接続情報を入力する入力手段と、前記接続情報に基づいてフロアプランの編集領域を決定する決定手段と、前記決定手段において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換手段と、前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成手段と、前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成手段と、を備える。
【選択図】 図2
Description
本発明は、半導体集積回路に係る、フロアプラン生成装置及びその制御方法、プログラム、記憶媒体に関する。
半導体集積回路のフロアプラン生成においては、配線混雑度を緩和することが重要である。このため、従来より、機能ブロック、ハードマクロを配置して配線混雑度の高い部分を見積もり、機能ブロック内の配置密度を制御したり、機能ブロック間、あるいはハードマクロ間の相対位置を変更する手法が採られてきた。
しかし、これらの手法では配線混雑度が高くなった部分に対し、局所的な問題対処を繰り返し行うことになる。このため、ある部分において配線混雑度を低くする対処を行った場合に、他の部分で別の問題が発生する可能性が高く、フロアプランの収束性が良くなかった。また、従来は、電源配線やマクロブロックによる一般信号配線への影響は、機能ブロック、ハードマクロの配置配線後に検討されていた。このため、一般信号配線の配線性を見積もりながらフロアプランを作成することが難しかった。
近年では半導体プロセスの微細化に伴い、1チップに搭載される半導体集積回路は大規模化しており、半導体集積回路のレイアウト設計に要する期間は増大する傾向にある。特に、半導体集積回路のレイアウト設計におけるタイミング収束や配置に関して問題が発生した場合には、半導体集積回路全体を再設計しなければならないため、レイアウト設計を含めたチップ開発の長期化を招いてしまう。そのような状況を避けるため、半導体集積回路を設計する場合には設計の初期段階から機能ブロック、マクロブロックの配置、電源配線、クロックツリーを見積もった半導体集積回路のフロアプラン設計が重要となってきている。
半導体集積回路のフロアプランを行う場合には、サブモジュールを含む機能ブロックを一つの単位として、半導体集積回路配置可能領域に複数の機能ブロックを仮配置し、半導体集積回路上の配置位置を決定する手法が採られることがある。配置した機能ブロックでは、機能ブロックを構成するサブモジュール配置を行い、機能ブロックと機能ブロック、あるいは機能ブロックとRAM等に代表されるマクロブロック間の配線を行う。
一般に、機能ブロックやマクロブロックを配置した後に半導体集積回路のフロアプランの可否判断を測る一つの指標として混雑度がある。混雑度は、半導体集積回路の半導体集積回路配置可能領域に機能ブロックを配置した後、所定の領域に機能ブロック間、マクロブロック間の配線がどの位必要かといった情報から算出する。
回路設計者は、半導体集積回路のフロアプランの信頼度を高めるため、上記混雑度の分布情報から半導体集積回路の混雑度の高い部分を把握する。機能ブロック間の混雑度が高い部分では、機能ブロック間の混雑部を迂回する配線が増加し、配線が長くなるためタイミングを満たすことが難しくなる。そこで、混雑度の高い部分では配線が迂回しないように混雑部周辺の配線領域をより広く確保するか、機能ブロックの配置位置を変更して混雑部が分散するように対処する。一方、機能ブロック内に混雑度の高い部分があれば、フロアプランで該当する機能ブロックの占有面積を広げて、ブロック内部に配置されるセル領域を拡大して、フロアプランの信頼性を向上させるといった手法が採られる。
特開平08−106478号公報
しかしながら、従来は回路設計者が上記のような混雑度の問題に対して、半導体集積回路のリソースをチップ全体のダイイメージのまま扱っていた。このため、垂直方向、水平方向のリソースが均一であるか否かに関わらず、同じチップ全体のダイイメージでフロアプランを作成しなければならなかった。従って、回路設計者は、条件に応じて適切にフロアプラン生成することが困難だった。特に、フロアプラン生成の初期段階では、空いているリソースの算出に電源配線領域が正確に見積もられていないため、生成されたフロアプランの信頼性が低かった。
更に回路設計者は、半導体集積回路を構成する各機能ブロック及び、マクロブロックの仮配置を一度行ってから混雑度を算出し、半導体集積回路を構成する機能ブロック内、及び機能ブロック間、マクロブロック間の混雑度の高い部分を把握していた。従って、混雑度の高い場合は、回路設計者が個別にフロアプランの最適化を繰り返すため、混雑度が低くなるようなフロアプランの生成に時間がかかっていた。
本発明は上記問題に鑑みなされたものであり、所与の条件に応じて半導体リソースを適切に配置したフロアプランを、迅速かつ容易に作成することを可能にする技術を提供することを目的とする。
上記目的を達成するため、本発明によるフロアプラン生成装置は以下の構成を備える。即ち、
半導体集積回路のフロアプランを生成するフロアプラン生成装置であって、
前記半導体集積回路の接続情報を入力する入力手段と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定手段と、
前記決定手段において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換手段と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成手段と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成手段と、
を備える。
半導体集積回路のフロアプランを生成するフロアプラン生成装置であって、
前記半導体集積回路の接続情報を入力する入力手段と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定手段と、
前記決定手段において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換手段と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成手段と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成手段と、
を備える。
また、本発明によるフロアプラン生成装置の制御方法は以下の構成を備える。即ち、
半導体集積回路のフロアプランを生成するフロアプラン生成装置の制御方法であって、
前記半導体集積回路の接続情報を入力する入力工程と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定工程と、
前記決定工程において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換工程と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成工程と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成工程と、
を備える。
半導体集積回路のフロアプランを生成するフロアプラン生成装置の制御方法であって、
前記半導体集積回路の接続情報を入力する入力工程と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定工程と、
前記決定工程において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換工程と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成工程と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成工程と、
を備える。
本発明によれば、所与の条件に応じて半導体リソースを適切に配置したフロアプランを、迅速かつ容易に作成することを可能にする技術を提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
(ハードウェア構成)
まず、本実施形態に係るフロアプラン生成装置のハードウェア構成について、図12を参照して説明する。図12は、本実施形態に係るフロアプラン生成装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係るフロアプラン生成装置は、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)等で実現される。
まず、本実施形態に係るフロアプラン生成装置のハードウェア構成について、図12を参照して説明する。図12は、本実施形態に係るフロアプラン生成装置のハードウェア構成を模式的に示したブロック図である。尚、本実施形態に係るフロアプラン生成装置は、例えば、パーソナルコンピュータ(PC)やワークステーション(WS)等で実現される。
図12において、990はCPUである。CPU990は、後述するハードディスク装置995に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM992にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
991はROMであり、内部には基本I/Oプログラム等のプログラム、基本処理において使用するフォントデータ、テンプレート用データ等の各種データを記憶する。992は各種データを一時記憶するためのRAMであり、CPU990の主メモリ、ワークエリア等として機能する。
993は記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)994に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア994には、例えば、フレキシブルディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等が含まれる。
995は外部記憶装置であり、本実施形態では大容量メモリとして機能するハードディスク装置(以下、HDと呼ぶ)を用いている。HD995には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。
996は指示入力装置であり、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。指示入力装置996を用いて、ユーザは、本実施形態に係るフロアプラン生成装置に対して、装置を制御するコマンド等を入力指示する。
997はディスプレイであり、指示入力装置996から入力されたコマンドや、それに対するフロアプラン生成装置の応答出力等を表示したりするものである。
999はシステムバスであり、フロアプラン生成装置内のデータの流れを司るものである。998はインターフェイス(以下、I/Fという)であり、このI/F998を介して外部装置とのデータのやり取りを行う。
尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。
本実施形態では、メディア994から本実施形態に係るプログラム及び関連データを直接RAM992にロードして実行させる例を示すが、これに限られない。例えば、本実施形態に係るプログラムを動作させる度に、既にプログラムがインストールされているHD995からRAM992にロードするようにしてもよい。また、本実施形態に係るプログラムをROM991に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU990で実行することも可能である。
また、本実施形態では、説明の便宜のため、本実施形態に係るフロアプラン生成装置を1つの装置で実現した構成について述べるが、複数の装置に計算機資源を分散した構成によって実現してもよい。例えば、記憶や演算の計算機資源を複数の装置に分散した形に構成してもよい。或いは、フロアプラン生成装置上で仮想的に実現される構成要素毎に計算機資源を分散し、並列処理を行うようにしてもよい。
(機能構成)
次に、本実施形態に係るフロアプラン生成装置の機能構成について、図1を参照して説明する。図1は、フロアプラン生成装置の機能構成を示すブロック図である。
次に、本実施形態に係るフロアプラン生成装置の機能構成について、図1を参照して説明する。図1は、フロアプラン生成装置の機能構成を示すブロック図である。
図1に示される各機能ブロックは、図12を参照して上述したCPU990がRAM992にロードされたプログラムを実行し、図12に示される各ハードウェアと協働することによって実現される。もちろん機能要素の一部或いは全てが専用のハードウェアで実現されてもよい。
図1のように、半導体集積回路のフロアプラン生成装置は以下の機能要素を備える。
・外部データ入力部101。
・記憶部102。
・電源配線領域生成部103。
・ルートグリッド生成部104。
・リソースグリッド生成部105。
・ルートグリッド表示部106。
・リソースグリッド表示部107。
・ルート領域生成部108。
・フロアプラン生成部109。
これらの機能要素は共通バスで接続されている。ただし、共通バスは、各機能要素101〜109を接続する論理的なバスであり、物理的なバスに対応するとは必ずしも限られない。
・外部データ入力部101。
・記憶部102。
・電源配線領域生成部103。
・ルートグリッド生成部104。
・リソースグリッド生成部105。
・ルートグリッド表示部106。
・リソースグリッド表示部107。
・ルート領域生成部108。
・フロアプラン生成部109。
これらの機能要素は共通バスで接続されている。ただし、共通バスは、各機能要素101〜109を接続する論理的なバスであり、物理的なバスに対応するとは必ずしも限られない。
外部データ入力部101は、半導体集積回路の接続情報からなるネットリストデータを入力する機能要素である。ネットリストデータには、半導体集積回路の接続情報として、配置可能領域のサイズ(垂直方向、水平方向)、リソース数、半導体要素(例えば、機能ブロック、マクロブロック、セル領域、電源配線等)の配置等の情報が含まれる。ネットリストデータは、例えば、Verilog、EDIF、SPICE、DEF等のフォーマットにより記述される。ただし、EDIFはelectronic design interchange formatの略称であり、DEFはdesign exchange formatの略称である。外部データ入力部101は、例えば、HD995、I/F998、外部記憶ドライブ993、RAM992等により実現することができるが、これに限られない。
記憶部102は、入力されたネットリストデータを記憶する機能要素である。記憶部102は、例えば、RAM992、HD995、メディア994等により実現できるが、これに限られない。
電源配線領域生成部103は、後述する配線層情報に基づいてフロアプランに含まれる電源配線領域を示す情報を生成する機能要素である。ただし、配線層情報は、半導体集積回路の配置可能領域における電源配線を示す情報であり、例えば、1以上の配線層を構成する各配線について、配線層毎に、配線の位置や方向、幅等を示す情報が含まれる。本実施形態では、配線層情報は、ネットリストデータに含まれるものとするが、ネットリストデータとは別のデータとして、例えば、HD995、メディア994、RAM992、ROM991等の記憶装置、或いは、外部装置に記憶されていてもよい。
ルート領域生成部108は、ネットリストデータ等に基づいてルート領域情報を生成する機能要素である。ただし、ルート領域情報は、半導体集積回路の配置可能領域から電源配線領域を除いたフロアプランを示す情報である。
リソースグリッド生成部105は、ルート領域情報に基づいてリソースグリッド(正規化領域)を定義・生成する機能要素である。ただし、リソースグリッドは、半導体集積回路の配置可能領域から電源配線領域を除いた部分に対応する、格子状の複数の基準領域に区分された領域であり、各基準領域についてリソース数が垂直方向と水平方向とで同一になるように正規化されている。また、リソース数は、設置可能な半導体要素の数に対応する量(例えば、設置可能な配線数に比例する量)である。リソースグリッドの具体例については後述する。
ルートグリッド生成部104は、リソースグリッド上で生成されたフロアプランシードに基づいて、ルートグリッドを生成する機能要素である。ルートグリッドは、半導体集積回路の配置可能領域に対応する、格子状の複数の基準領域に区分された領域である。ただし、ルートグリッドは、リソース数に基づく正規化がなされておらず、各基準領域についての垂直方向と水平方向の長さの比が実際の配置可能領域における比に対応している。例えば、各基準領域についての垂直方向と水平方向の長さの比が実際の配置可能領域における比と同じになるようにすることができる。また、ルートグリッドには電源配線領域の部分が含まれうる。
ルートグリッド表示部106は、ルートグリッド生成部104において生成されたルートグリッドを表示する機能要素である。また、リソースグリッド表示部107は、リソースグリッド生成部105において生成されたリソースグリッドを表示する機能要素である。ルートグリッド表示部106とリソースグリッド表示部107は、それぞれ、例えば、ディスプレイ997により実現することができるが、これに限られない。ルートグリッド表示部106とリソースグリッド表示部107は、例えば、物理的に同一のディスプレイ上に実現することもできるし、それぞれ別のディスプレイに実現することもできる。
フロアプラン生成部109は、フロアプランシード情報の修正がなされた電源配線領域を含むルートグリッドに基づいて、実際のチップ全体のダイイメージに対応するフロアプランを生成する機能要素である。
(フロアプラン生成処理)
次に、本実施形態に係るフロアプラン生成装置が実行するフロアプラン生成処理について、図2を参照して説明する。図2は、フロアプラン生成処理の流れを示すフローチャートである。
次に、本実施形態に係るフロアプラン生成装置が実行するフロアプラン生成処理について、図2を参照して説明する。図2は、フロアプラン生成処理の流れを示すフローチャートである。
まず、ステップS201(外部データ入力)において、外部データ入力部101から、半導体集積回路の接続情報からなるネットリストデータを入力する。入力したネットリストデータは、記憶部103に記憶する。
次に、ステップS202(電源配線領域の生成)において、半導体集積回路の配置可能領域での垂直方向、水平方向の電源配線領域を示す情報を電源配線領域生成部103で生成する。上述のように、電源配線領域を示す情報は、ネットリストデータに含まれる配線層情報に基づいて生成される。ただし、配線層情報が別データとして記憶されている場合は、必要に応じて、例えば、HD995等の記憶装置を読み出したり、外部装置とI/F998を介して通信することにより取得される。電源配線領域の生成(見積もり)の具体例については後述する。
次に、ステップS203(ルート領域の生成)において、ルート領域生成部108により、ステップS202(電源配線領域の生成)で生成した電源配線領域の情報と前記のネットリストデータに基づいて、ルート領域情報を新たに生成する。具体的には、例えば、ネットリストデータから、電源配線領域に対応する情報を削除することにより、ルート領域情報を生成することができる。ルート領域(編集領域)とその生成の具体例については後述する。
次に、ステップS204(リソースグリッドの生成)において、リソースグリッド生成部105により、前記のルート領域情報に基づいてリソースグリッドを定義・生成する。具体的には、例えば、ルート領域を、所定の大きさを有する複数の矩形の基準領域に分割し、各基準領域について、垂直方向及び水平方向のリソース数が同じになるように正規化することにより、リソースグリッドを生成することができる。ただし、ここでの正規化は、矩形の基準領域の、垂直方向の長さと水平方向の長さとの比率を修正する変換を意味する。
ステップS204(リソースグリッドの生成)でリソースグリッドを生成すると、ステップS208(リソースグリッド領域表示)において、生成したリソースグリッド情報をリソースグリッド表示部107に表示する。
さらに、ステップS205(フロアプランシードの生成)において、半導体集積回路を構成する機能ブロックの相対位置を示すフロアプランシード情報をネットリストデータに基づいて生成する。また、リソースグリッド表示部107が、生成したフロアプランシードをリソースグリッド上に重畳して表示するように制御する。このフロアプランシード情報は、最終的に生成するチップ全体のダイイメージのフロアプランの元データになる。また、リソースグリッド上で扱う情報であるため、電源配線領域が含まれていない情報になる。
また、CPU990は、生成するフロアプランシード情報の修正作業を回路設計者が行えるようにするために、指示入力装置996に対する入力に基づいて、フロアプランシード情報を更新する。また、フロアプランシード情報の更新に基づいて、リソースグリッド表示部107上のフロアプランシードの表示を更新する。これにより、ユーザは、リソースグリッド表示部107を見ながら指示入力装置996を操作することで、フロアプランシード情報を編集することができる。
次に、ステップS206(ルートグリッドの生成)において、前記フロアプランシード情報と、電源配線領域生成部103で既に見積もられている電源配線領域の情報に基づき、電源配線領域を含むルートグリッド情報をルートグリッド生成部104で生成する。ただし、ステップS206では、リソース数に係る正規化と逆の変換処理を実行して編集済みのルート領域(編集済み領域)を取得する。これにより、ルートグリッド情報に係る配置可能領域の垂直方向及び水平方向の長さの比が、実際の配置可能領域に対応するようにする。さらに、編集済みのルート領域に電源配線領域を加えて電源配線領域を含むルートグリッド情報を生成する。
また、ステップS209(ルートグリッド領域表示)において、ステップS206(ルートグリッドの生成)で生成したルートグリッド情報をルートグリッド表示部107に表示する。これにより、回路設計者は、最終的に生成するフロアプランの前段階で電源配線領域を含んだ検証をすることが可能となる。
なお、指示入力装置996に対する設計者の指示入力に基づいて、CPU990がフローチャートを構成する任意のステップに処理を戻すように、構成することができる。この場合、ユーザは、フロアプランを生成する前に、その内容をリソースグリッド表示部107、ルートグリッド表示部106で確認して、所望とするフロアプランを生成することができる。
次に、ステップS207(フロアプランの生成)において、前記の電源配線領域を含むルートグリッド情報をフロアプラン生成部109で実際のチップ全体のダイイメージに変換してフロアプランを生成する。
上記の処理を全て実行すると、フロアプラン生成処理を終了する。
(電源配線領域の生成)
次に、図3、9を参照して、上記のステップS202で実行する、電源配線領域の生成(見積もり)の具体的な処理を説明する。図3は、見積もられた電源配線領域が半導体集積回路の配置可能領域301に設けられた様子を例示した模式図である。図9は、配線層情報を例示した図である。
次に、図3、9を参照して、上記のステップS202で実行する、電源配線領域の生成(見積もり)の具体的な処理を説明する。図3は、見積もられた電源配線領域が半導体集積回路の配置可能領域301に設けられた様子を例示した模式図である。図9は、配線層情報を例示した図である。
上述のように、電源配線領域の見積もりは、配線層情報に基づいて行われる。図9には、6層配線使用時の各配線層情報が例示されている。図9の例では、垂直方向の配線層として、第1配線層、第3配線層、第5配線層が使用され、水平方向の配線層として、第2配線層、第4配線層を使用する。また、第6配線層は電源配線専用として使用する。この場合、第1配線層、第2配線層はセルの配線に多くのリソースを使用し、セル間の接続、ブロック間の接続には、第3配線層、第4配線層、第5配線層のリソースを使用する。
ルート領域の算出は、第6配線層の電源配線領域、及びそれ以外の電源配線領域の総和に基づいて行う。具体的には、例えば、垂直方向に延びる電源配線の幅(太さ)の総和と水平方向に延びる電源配線の幅の総和をそれぞれ算出する。なお、第5配線層には太幅配線が使用されているため、電源配線領域を削除した残りのリソースでは、太幅配線を1/2の大きさのリソースとして見積もる必要がある。
図3は、半導体集積回路の配置可能領域301に、水平方向の電源配線領域302、垂直方向の電源配線領域303が構成されていることを示し、水平方向の電源配線領域の幅が“a”、垂直方向の電源配線領域の幅が“b”であることを示す。この電源配線領域の幅は、特定の配線層の電源配線領域だけではなく全配線層の電源配線領域を合わせた領域として表示する。つまり、“a”は、水平方向の電源配線領域の幅の総和を示し、“b”は、垂直方向の電源配線領域の幅の総和を示している。
(ルート領域の生成)
次に、図4を参照して、上記のステップS203で実行する、ルート領域の生成の具体的な処理を説明する。図4は、ルート領域の生成を説明する図である。
次に、図4を参照して、上記のステップS203で実行する、ルート領域の生成の具体的な処理を説明する。図4は、ルート領域の生成を説明する図である。
図4において、頂点404〜407で囲まれた矩形領域は、半導体集積回路の配置可能領域301を示している。402は、電源配線領域を示しており、図3の電源配線領域見積もりで生成された水平方向の電源配線領域302を、頂点406及び頂点407を結ぶ直線に接するようにシフトしたものである。同様に、403も電源配線領域を示しており、垂直方向の電源配線領域303を、頂点405及び頂点406を結ぶ直線に接するようにシフトしたものである。
配置可能領域301から、この水平方向の電源配線領域402及び垂直方向の電源配線領域403との重複部分を除いて形成される、頂点408〜410及び頂点404で囲まれた矩形領域411が、ルート領域と定義される。
(基準領域)
次に、基準領域について図5〜7を参照して説明する。図5は、ルートグリッドを模式的に表した図である。上述のように、ルートグリッドは、電源配線領域を配置可能領域から削除し、太幅配線も見積もって水平方向のリソース数と、垂直方向のリソース数が等しくなるように分割して生成される。図5において、ルートグリッドでの基準領域501は、水平方向の距離X、垂直方向の距離Yを有している。
次に、基準領域について図5〜7を参照して説明する。図5は、ルートグリッドを模式的に表した図である。上述のように、ルートグリッドは、電源配線領域を配置可能領域から削除し、太幅配線も見積もって水平方向のリソース数と、垂直方向のリソース数が等しくなるように分割して生成される。図5において、ルートグリッドでの基準領域501は、水平方向の距離X、垂直方向の距離Yを有している。
図6は、図5に例示したルートグリッドでの基準領域501を切り出して表示した図である。図6のルートグリッドでの基準領域501において、上辺に○で囲まれた数値“10”は垂直方向のリソース601を表し、右辺に○で囲まれた数値“10”は水平方向のリソース602を表す。このように、ルートグリッドでの基準領域は、水平方向のリソース数と垂直方向のリソース数が等しい領域として切り出された、矩形の領域となる。
図7は、図5のルートグリッドでの基準領域に対応する、リソースグリッドでの基準領域を示した模式図である。リソースグリッドでの基準領域は、水平方向のリソース数と垂直方向のリソース数とが等しくなるように区分され、かつ、基準領域の垂直方向及び水平方向に含まれるリソース数に応じて、垂直方向及び水平方向の長さが決定される。このため、その形状は正方形として表示される。図6の場合と同様に、図7のリソースグリッドでの基準領域703では、上辺に○で囲まれた数値“10”は垂直方向のリソース701を表し、右辺に○で囲まれた数値“10”は水平方向のリソース702を表す。
図8は、電源配線領域を削除したルート領域411に対応するリソースグリッドを例示した図である。図8のように、リソースグリッドは複数の正方形の基準領域から構成される。図8の領域01(801)〜領域09(809)について、各領域の水平方向、垂直方向には同じリソースが割り当てられており、その表示形状は正方形が並んだ格子状の領域となる。回路設計者は、図8のような、半導体集積回路のチップ全体のリソースに基づいて正規化されたリソースグリッド上で、フロアプランの元データとなるフロアプランシードをチップ全体にリソースを配分して生成する操作を行うことになる。
(フロアプランの設計)
次に、フロアプランの設計について、図10、11を参照して説明する。図10は、リソースグリッドでのフロアプランシードの一例を示す図である。図11は、チップのダイサイズをイメージした、図10に対応するルートグリッドでのフロアプランの一例を示す図である。
次に、フロアプランの設計について、図10、11を参照して説明する。図10は、リソースグリッドでのフロアプランシードの一例を示す図である。図11は、チップのダイサイズをイメージした、図10に対応するルートグリッドでのフロアプランの一例を示す図である。
図10において、領域01(1001)〜領域09(1009)は、リソースグリッドの分割された各領域を表している。A1010、B1011は、両方ともフロアプランの情報となるフロアプランブロックであり、図2のフローチャートのステップS205においてネットリストデータに基づいて生成され、必要に応じて回路設計者の指示入力に基づいて修正される。
図11においても同様に、領域01(1101)〜領域09(1109)は、ルートグリッドの分割した各領域を表し、フロアプランの情報となるフロアプランブロックA1110、フロアプランブロックB1111で構成される。また、図2のステップS202(電源配線領域の生成)で見積もられた水平方向電源配線領域1112、垂直方向電源配線領域1113を含んでいる。
図10のリソースグリッドでのフロアプランシードは、水平方向のリソースと、垂直方向のリソースが等しくなるように正規化されている。このため、フロアプランブロックA1010や、フロアプランブロックB1011は、実際のチップイメージとは異なり、水平方向、垂直方向に所定の係数で伸縮された状態で表示される。
例えば、実際のチップのリソースが粗に分布する領域については、ルートグリッドは大きな領域として表示され、逆にリソースが密に分布する領域については、ルートグリッドは小さな領域として表示される。言い換えれば、実際のチップのリソースが粗に分布する領域については、リソースグリッドは相対的に縮小して表示され、逆にリソースが密に分布する領域については、ルートグリッドは相対的に伸張して表示される。
従って、図10のリソースグリッドでのフロアプランシードのフロアプランブロックA1010は、垂直方向のリソースが粗であるので、図11のルートグリッドでのフロアプランでフロアプランブロックA1110のように横長に伸張して表示される。同様に、図10のリソースグリッドでのフロアプランシードのフロアプランブロックB1011は、図11のルートグリッドでのフロアプランでフロアプランブロックB1111のように横長に伸張して表示される。
これと同時に、図11のルートグリッドでのフロアプランでは電源配線領域が多く含まれる1106の領域に、水平方向の電源配線領域1112、及び垂直方向の電源配線領域1113を含んでいるため拡大した領域として表示される。つまり、図10のリソースグリッドでは、領域01(1001)〜領域09(1009)は同一の大きさであるが、図11のルートグリッドでは、領域01(1101)、領域04(1104)、領域06(1106)のように、領域により表示の大きさが異なる。これに合わせて、図10のリソースグリッドでのフロアプランシードの配置情報も変換して表示される。
図2のステップS207(フロアプランの生成)において、回路設計者は、フロアプラン生成部109により、図11のルートグリッド上で生成したフロアプランに対して、格子領域の削除や、フロアプランとしてのルールチェック等の作業を行う。このようにして、回路設計者は、本実施形態に係るフロアプラン生成装置を用いてフロアプランを生成することができる。
以上のように、本実施形態に係る構成では、フロアプランは、水平方向のリソースと垂直方向のリソースが等しくなるようなリソースグリッド上で生成される。このため、回路設計者は、水平方向、垂直方向のリソースの配分をイメージし易くフロアプランの元となるフロアプランシードを適切かつ容易に生成することができる。また、本実施形態に係る構成では、最初に編集を行わない領域(例えば、電源配線領域等)をあらかじめ見積もり、配置可能領域から電源配線領域を削除してフロアプランを生成する。このため、回路設計者は電源配線領域を気にせずリソースの配分を考慮した適切なフロアプランを生成することが可能となる。
つまり、本実施形態に係る構成においては、フロアプランの対象となる半導体集積回路の半導体集積回路配置可能領域から水平方向の電源配線領域、垂直方向の電源配線領域を見積もることによって、ルート領域を生成する。そして、ルート領域の水平方向、垂直方向のリソースを正規化したリソースグリッドを生成する。半導体集積回路の回路設計者は、リソースグリッド上で水平方向、垂直方向のリソースの配分を把握しながらフロアプランを生成することが出来るので、チップ全体のリソースを有効に使用したフロアプランが生成可能となる。
また、リソースグリッド上で生成されたフロアプランシードは、最初の段階で見積もられた電源配線領域情報が付加され、全体のフロアプランへと変換される。このため、生成されたフロアプランに基づいて、最終的には、チップ全体のダイイメージのフロアプランを生成することが可能である。
また、リソースグリッドで生成したフロアプランシードをルートグリッドに変換することで、電源配線領域を含んだチップ全体のダイイメージのフロアプランが生成でき、使用する配線層数を変更した場合等のフロアプランへの影響を容易に比較できる。このため、半導体集積回路のチップ全体に最適なフロアプランを得ることが可能となる。
なお、上記の説明では、電源配線領域を削除したルート領域が3×3の領域に区分された場合について説明したが、ルート領域は任意の数に区分することができる。このため、回路設計の初期段階では分割数を少なくして概略の配置作業を高速で実行し、設計作業を進めるに伴って、ルート領域の分割数を増加させてより小さい領域でフロアプランを作り直し、フロアプランの精度を高めるといった手法が実行可能となる。このような設計手法を採用することで、適切なフロアプランを迅速かつ容易に設計することが可能である。
更に、特定のブロック周辺でリソースが不足するような場合には、問題発生個所のルート領域のみをさらに細かく分割して、より詳細な領域でのリソース分布を見積もることによって、問題収束を可能にすることが出来る。
なお、本実施形態では、理解の容易のために、半導体集積回路の配置可能領域全体に水平方向の電源配線領域、垂直方向の電源配線領域のみを配置した状態について説明を行った。つまり、編集を行わない領域として電源配線領域のみを想定した。しかし、編集を行わない領域はこれに限られない。例えば、電源配線領域以外にも、あらかじめ決定されているPLLやDLL等の周辺回路を編集を行わない特別な領域として設定してもよい。これにより、本実施形態に係る構成の特色である、リソースを正規化したリソースグリッドでフロアプランの生成しチップ全体のリソースを最適化する効果を得ることができる。
(その他の実施形態)
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能である。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、次のものが含まれる。即ち、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)等が含まれる。
その他、プログラムの供給形態としては、次のようなものも考えられる。即ち、クライアント装置のブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明に係るコンピュータプログラム、或いは、圧縮され自動インストール機能を含むファイルをHD等の記録媒体にダウンロードする形態も考えられる。また、本発明に係るプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、次のような供給形態も考えられる。即ち、まず、本発明に係るプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報の使用により暗号化されたプログラムを実行してコンピュータにインストールさせて本発明に係る構成を実現する。このような供給形態も可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、次のような実現形態も想定される。即ち、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づいても前述した実施形態の機能が実現される。即ち、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
Claims (10)
- 半導体集積回路のフロアプランを生成するフロアプラン生成装置であって、
前記半導体集積回路の接続情報を入力する入力手段と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定手段と、
前記決定手段において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換手段と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成手段と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成手段と、
を備えることを特徴とするフロアプラン生成装置。 - 前記変換手段は、前記編集領域を、垂直方向及び水平方向のリソース数がそれぞれ等しい複数の基準領域に区分し、該複数の基準領域をそれぞれ正方形になるように伸縮することにより、前記変換を行う
ことを特徴とする請求項1に記載のフロアプラン生成装置。 - 前記決定手段は、前記接続情報に基づいてフロアプランの編集を行わない非編集領域を見積もり、当該見積もりに基づいて前記決定を行う
ことを特徴とする請求項1又は2に記載のフロアプラン生成装置。 - 前記非編集領域には、電源配線領域と、PLL回路領域と、DLL回路領域との少なくともいずれかが含まれることを特徴とする請求項3に記載のフロアプラン生成装置。
- 前記生成手段は、前記編集済み領域と、前記見積もられた非編集領域とに基づいて、前記生成を行うことを特徴とする請求項3又は4に記載のフロアプラン生成装置。
- 前記正規化領域を表示する正規化領域表示手段を更に備え、
前記形成手段は、更に、ユーザからの指示に基づいて、前記フロアプランシード情報を形成する
ことを特徴とする請求項1乃至5のいずれか1項に記載のフロアプラン生成装置。 - 前記生成手段により生成された前記フロアプランを表示するフロアプラン表示手段を更に備えることを特徴とする請求項1乃至6のいずれか1項に記載のフロアプラン生成装置。
- 半導体集積回路のフロアプランを生成するフロアプラン生成装置の制御方法であって、
前記半導体集積回路の接続情報を入力する入力工程と、
前記接続情報に基づいてフロアプランの編集領域を決定する決定工程と、
前記決定工程において決定された前記編集領域を、リソース数に基づいて正規化された正規化領域に変換する変換工程と、
前記正規化領域において、前記接続情報に基づきフロアプランシード情報を形成する形成工程と、
前記フロアプランシード情報が形成された前記正規化領域を逆変換して編集済み領域を取得し、当該編集済み領域に基づいてフロアプランを生成する生成工程と、
を備えることを特徴とするフロアプラン生成装置の制御方法。 - コンピュータを請求項1乃至7のいずれかに記載のフロアプラン生成装置として機能させるためのプログラム。
- 請求項9に記載のプログラムを格納したコンピュータで読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006161638A JP2007328745A (ja) | 2006-06-09 | 2006-06-09 | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006161638A JP2007328745A (ja) | 2006-06-09 | 2006-06-09 | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007328745A true JP2007328745A (ja) | 2007-12-20 |
Family
ID=38929141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006161638A Withdrawn JP2007328745A (ja) | 2006-06-09 | 2006-06-09 | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007328745A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016503922A (ja) * | 2012-12-26 | 2016-02-08 | シノプシス, インコーポレイテッドSyn0Psys, Inc. | パワーグリッド(pg)アライメントのためにパワーネットワーク合成(pns)と一体化されたシェーピング |
-
2006
- 2006-06-09 JP JP2006161638A patent/JP2007328745A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016503922A (ja) * | 2012-12-26 | 2016-02-08 | シノプシス, インコーポレイテッドSyn0Psys, Inc. | パワーグリッド(pg)アライメントのためにパワーネットワーク合成(pns)と一体化されたシェーピング |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239803B2 (en) | Layout method and layout apparatus for semiconductor integrated circuit | |
JP2954894B2 (ja) | 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置 | |
US8893070B2 (en) | Method for repeated block modification for chip routing | |
JP2002134619A (ja) | 集積回路の設計方法、その設計装置、および記録媒体 | |
JPH10313058A (ja) | 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法 | |
JP4368641B2 (ja) | 電源パッドの数及び位置見積もり方法、チップサイズ見積もり方法及び設計装置 | |
US9213793B1 (en) | Methods, systems, and articles of manufacture for implementing electronic designs using flexible routing tracks | |
JP2006277668A (ja) | レイアウト設計方法及びレイアウト設計装置 | |
WO2006137119A1 (ja) | フロアプラン装置,フロアプランプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
US10558781B2 (en) | Support apparatus, design support method, and design support program | |
JP2007328745A (ja) | フロアプラン生成装置及びその制御方法、プログラム、記憶媒体 | |
JP4053767B2 (ja) | 電源配線設計方法、電源配線設計装置、記録媒体、及びプログラム | |
JP2009238129A (ja) | 半導体集積回路配置プログラム及び方法 | |
JP6316311B2 (ja) | パターンベースの電源グランド(pg)ルーティングおよびビア生成 | |
JP2009134439A (ja) | ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法 | |
JP4668974B2 (ja) | 半導体装置の設計方法、半導体装置設計システム及びコンピュータプログラム | |
JP4733059B2 (ja) | 集積回路設計装置、集積回路設計方法及び集積回路設計プログラム | |
JP5402430B2 (ja) | 設計方法 | |
JP4824785B2 (ja) | コアサイズ見積もり方法、チップサイズ見積もり方法及び設計装置 | |
JP2012118913A (ja) | フロアプラン設計装置およびフロアプラン設計方法 | |
JP4509703B2 (ja) | 配線容量算出装置、配線容量算出方法および配線容量算出プログラム | |
JP2821419B2 (ja) | 論理シミュレータ | |
JP2007156711A (ja) | フロアプラン設計装置、フロアプラン設計方法およびプログラム | |
JP2010097972A (ja) | 半導体集積回路のレイアウト装置及びレイアウト方法 | |
JP2014112331A (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: 20090901 |