(57)【特許請求の範囲】
【請求項１】
設計装置による半導体集積回路のコアサイズ見積もり方法であって、
前記設計装置の実行する処理は、
前記設計装置の備える中央処理装置が、記憶装置に記憶された回路情報とレイアウト条件とに基づいて、前記半導体集積回路の内部回路に形成される配線の総配線長を総ネット長として算出する処理と、
前記中央処理装置が、前記記憶装置に記憶された前記回路情報と前記レイアウト条件とに基づいて使用可能チャネル長を算出する処理と、
前記中央処理装置が、
前記総ネット長が前記使用可能チャネル長以下、
且つ、前記内部回路の配線層に沿う水平方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、
且つ、前記内部回路の配線層に沿う方向であって前記水平方向と直交する垂直方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、となるときの前記内部回路の面積を算出し、当該面積をコアサイズとして見積もる処理と、
を有することを特徴とするコアサイズ見積もり方法。
【請求項２】
前記総ネット長を算出する処理は、
前記中央処理装置が、各ネットにおけるパス長の平均値を平均パス長として求める第１の処理と、
前記中央処理装置が、前記平均パス長及び各ネットのファンアウトに基づいて総ネット長を算出し、該算出した総ネット長の総和を求める第２の処理と、
を有し、
前記水平方向及び前記垂直方向の配線方向における総ネット長は、
前記第２の処理の算出結果と回路ブロックの縦横比に応じた係数とに基づいて算出されることを特徴とする請求項１記載のコアサイズ見積もり方法。
【請求項３】
前記使用可能チャネル長を算出する処理は、
前記中央処理装置が、前記内部回路の面積を仮見積もりする第１の処理と、
前記中央処理装置が、前記仮見積もりした内部回路の面積に対し、各配線層での使用可能チャネル長を配線禁止チャネル長と最大チャネル使用率とに基づいて算出し、該算出した各配線層毎の使用可能チャネル長の総和を求める第２の処理と、
を有し、
前記水平方向及び前記垂直方向の配線方向における使用可能チャネル長は、
それぞれ配線方向が同一方向となる配線層の使用可能チャネル長を合算して求められることを特徴とする請求項１記載のコアサイズ見積もり方法。
【請求項４】
設計装置による半導体集積回路のチップサイズ見積もり方法であって、
前記設計装置の備える中央処理装置が、請求項１乃至３の何れか一項記載のコアサイズ見積もり方法でコアサイズを算出し、当該コアサイズに基づいてチップサイズを見積もる処理を有することを特徴としたチップサイズ見積もり方法。
【請求項５】
半導体集積回路のコアサイズを見積もる設計装置であって、
記憶装置に記憶された回路情報とレイアウト条件とに基づいて、前記半導体集積回路に設けられるデバイスの内部回路に形成される総配線長を総ネット長として算出する総ネット長算出処理部と、
前記記憶装置に記憶された前記回路情報と前記レイアウト条件とに基づいて使用可能チャネル長を算出する使用可能チャネル長算出処理部と、
前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う水平方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う方向であって前記水平方向と直交する垂直方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、となるときの前記内部回路の面積を算出し、当該面積をコアサイズとして見積もるコアサイズ見積もり処理部と、
を備えることを特徴とする設計装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計を効率よく行うためのコアサイズ見積もり方法、チップサイズ見積もり方法及び設計装置に関するものである。
近年、半導体集積回路（ＬＳＩ）は、大規模化、大消費電力化及び多ピン化が進んでおり、それに伴って設計期間も益々増大している。設計期間の短縮を図るには、設計フローでの手戻り工程を如何に少なくするかが重要であり、それにはレイアウト設計に入る前の初期段階で最適な設計を行うことが要求される。
【背景技術】
【０００２】
ＬＳＩの設計では、論理合成により得られたネットリストに基づいてフロアプランを行い、それに基づいてセルの配置／配線（レイアウト）を行った後、そのレイアウトに対する回路シミュレーションを行って動作の検証を行う。この検証により、そのチップレイアウトが信号や電源の信頼性（ＳＩ：Signal Integrity／ＰＩ：Power Integrity ）を保証できる程度であるか否かを判断する。
【０００３】
ＳＩやＰＩを保証できるか否かの判断は、デバイスの内部回路（以下「コア部」という）におけるＩＲドロップ値が許容値を超えていないかどうか、あるいは入出力バッファ（以下「ＩＯバッファ」という）に流れる電流値が許容値を超えていないかどうか、を判断することによって行う。これらの判断の結果、ＮＧとなる場合には、そのレイアウトについての再設計が必要となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２９７８４０号公報
【特許文献２】特開平１０−２９４３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のような再設計による設計フローの手戻りは、設計期間を長くし、設計コストを上昇させる要因となる。従って、レイアウト前における初期段階の設計を最適化し、設計フローの手戻り工程を少なくすることが重要となっている。
【０００６】
上記ＩＲドロップ値が許容値（以下「許容ＩＲドロップ値」という）を超える原因、あるいはＩＯバッファに流れる電流値が許容値（以下「許容電流値」という）を超える原因として、電源パッドの数及び位置が精度良く見積もられていないという問題がある。
【０００７】
従来、こうした電源パッドの数及び位置の見積もりは、例えば以下のような手法を用いて行われてきた。
（１）電源パッドの数を見積もる手法として、出力バッファの同時スイッチングノイズを低減するのに必要な電源パッドの数を過去の経験からあらかじめルール化して求めておき、そのルールに従って電源パッドの数を決定する。
【０００８】
（２）電源パッドの位置を見積もる手法として、クロックバッファにおける電源ノイズを低減すべく、同クロックバッファに接続される信号パッドの両端に電源パッドを配置する。
【０００９】
従来では、このように電源パッドの数及び位置を主としてノイズ対策の観点から過去の経験により見積もるようにしている。しかしながら、こうした見積もり方法では、上述したＳＩやＰＩを保証し得るＩＲドロップ値やＩＯバッファの電流値を一回のレイアウトでは満足できず、その結果、再設計が必要となることが多々あった。
【００１０】
このように電源パッドの数及び位置が適切に見積もられないままレイアウトが行われ、その後の検証でそれらの変更が必要となる場合は、単にパッド数の追加や配置変更のみによっては解決できないこともあり、パッケージの再選択やチップサイズの変更が必要となることもあった。
【００１１】
また、設計フローの手戻りを発生させるその他の要因として、レイアウト前にチップサイズ（具体的にはコアサイズ）が精度良く見積もられていないという問題がある。従来より、こうしたコアサイズを見積もる面積予想方法としては、例えば特許文献１や特許文献２に開示された技術がある。
【００１２】
しかしながら、特許文献１に開示された方法では、コア部の配線長を見積もる過程において、配線長の値に影響のあるネットリストの要因が考慮されないため、コアサイズを正確に見積もることができないという問題がある。
【００１３】
また、特許文献２に開示された方法では、回路ブロックの周辺に必要となる配線領域を回路ブロックの配置に基づいて導出するため、回路ブロックが多数の場合には、各回路ブロックのそれぞれについて最適な配置を決定する必要がある。従って、コアサイズを正確に予想することは困難であった。
【００１４】
本発明は、上記のような問題に鑑みてなされたものであり、その目的は、設計フローにおける手戻り工程を少なくし、設計期間の短縮、延いては設計コストの削減を図ることのできる、コアサイズ見積もり方法、チップサイズ見積もり方法及び設計装置を提供することにある。
【課題を解決するための手段】
【００１５】
本発明によれば、設計装置による半導体集積回路のコアサイズ見積もり方法であって、前記設計装置の実行する処理は、前記設計装置の備える中央処理装置が、記憶装置に記憶された回路情報とレイアウト条件とに基づいて、前記半導体集積回路の内部回路に形成される配線の総配線長を総ネット長として算出する処理と、前記中央処理装置が、前記記憶装置に記憶された前記回路情報と前記レイアウト条件とに基づいて使用可能チャネル長を算出する処理と、前記中央処理装置が、前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う水平方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う方向であって前記水平方向と直交する垂直方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、となるときの前記内部回路の面積を算出し、当該面積をコアサイズとして見積もる処理とを有するようにした。この方法によれば、内部回路の総ネット長と使用可能チャネル長との比較を、それらの水平方向と垂直方向の配線方向の成分についても考慮しながら行うことにより、レイアウト前に、コアサイズを正確に且つ最小の面積で見積もることができる。
【００１６】
本発明によれば、前記総ネット長を算出する処理は、前記中央処理装置が、各ネットにおけるパス長の平均値を平均パス長として求める第１の処理と、前記中央処理装置が、前記平均パス長及び各ネットのファンアウトに基づいて総ネット長を算出し、該算出した総ネット長の総和を求める第２の処理と、を有し、前記水平方向及び前記垂直方向の配線方向における総ネット長は、前記第２の処理の算出結果と回路ブロックの縦横比に応じた係数とに基づいて算出される。この方法によれば、コア部に形成される各ネットのファンアウトを考慮して、レイアウト前に、コアサイズを正確に且つ最小の面積で見積もることができる。
【００１７】
本発明によれば、前記使用可能チャネル長を算出する処理は、前記中央処理装置が、前記内部回路の面積を仮見積もりする第１の処理と、前記中央処理装置が、前記仮見積もりした内部回路の面積に対し、各配線層での使用可能チャネル長を配線禁止チャネル長と最大チャネル使用率とに基づいて算出し、該算出した各配線層毎の使用可能チャネル長の総和を求める第２の処理と、を有し、前記水平方向及び前記垂直方向の配線方向における使用可能チャネル長は、それぞれ配線方向が同一方向となる配線層の使用可能チャネル長を合算して求められる。この方法によれば、仮見積もりしたコア部の面積に対して、各配線層毎の使用可能チャネル長をそれぞれ配線禁止チャネル長と最大チャネル使用率とに基づいて算出することにより、全配線層での使用可能チャネル長を正確に見積もることができる。この結果、コアサイズを正確に且つ最小の面積で見積もることが可能となる。
【００２０】
本発明によれば、設計装置による半導体集積回路のチップサイズ見積もり方法であって、前記設計装置の備える中央処理装置が、請求項１乃至３の何れか一項記載のコアサイズ見積もり方法でコアサイズを算出し、当該コアサイズに基づいてチップサイズを見積もる処理を有するようにした。この方法によれば、レイアウト前に、チップサイズを精度良く見積もることができる。
【００２１】
本発明によれば、半導体集積回路のコアサイズを見積もる設計装置であって、記憶装置に記憶された回路情報とレイアウト条件とに基づいて、前記半導体集積回路に設けられるデバイスの内部回路に形成される総配線長を総ネット長として算出する総ネット長算出処理部と、前記記憶装置に記憶された前記回路情報と前記レイアウト条件とに基づいて使用可能チャネル長を算出する使用可能チャネル長算出処理部と、前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う水平方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、且つ、前記内部回路の配線層に沿う方向であって前記水平方向と直交する垂直方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、となるときの前記内部回路の面積を算出し、当該面積をコアサイズとして見積もるコアサイズ見積もり処理部と、を備える。この設計装置によれば、レイアウト前に、コアサイズを精度良く見積もることができるとともに、チップサイズを精度良く見積もることができるため、設計フローの手戻りの回数を少なくすることができる。
【発明の効果】
【００２２】
したがって、本発明によれば、設計フローにおける手戻り工程を少なくし、設計期間の短縮、延いては設計コストの削減を図ることのできる、コアサイズ見積もり方法、仮配線容量見積もり方法、チップサイズ見積もり方法及び設計装置を提供することができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施の形態のチップサイズ見積もり方法を示す処理フローチャートである。
【図２】設計装置の概略構成図である。
【図３】第１の実施の形態の電源パッドの数及び位置見積もり方法を示す処理フローチャートである。
【図４】図３の見積もり方法の詳細を示す処理フローチャートである。
【図５】間引き処理の概念を示す説明図であり、（ａ）は初期状態、（ｂ）は間引き処理後の状態を示す。
【図６】電源パッドに流れる電流量計算に用いるモデル回路図である。
【図７】間引き処理の概念を示す説明図である。
【図８】電源配線の偏りを例示する説明図である。
【図９】高速動作モジュールの配置例を示す説明図である。
【図１０】電源パッドに流れる電流量の偏りを例示する説明図である。
【図１１】第１の実施の形態のコアサイズ見積もり方法を示す処理フローチャートである。
【図１２】第２の実施の形態のコアサイズ見積もり方法を示す処理フローチャートである。
【図１３】レイアウトブロックの説明図である。
【図１４】端子の引き出しに必要な配線数を示す説明図である。
【図１５】レイアウトブロックを通過する配線の説明図である。
【図１６】回路ブロックを迂回する配線数の算出手順を示す処理フローチャートである。
【発明を実施するための形態】
【００２４】
（第１の実施の形態）
以下、本発明を、半導体集積回路（ＬＳＩ）の設計フローのうち、レイアウト設計前の初期段階の設計（以下「初期設計」という）における処理について具体化した第１の実施の形態を図１〜図１１に従って説明する。
【００２５】
図１は、本実施の形態のチップサイズ見積もり方法の概略を示す処理フローチャートである。このチップサイズ見積もり処理は、本実施の形態においては、消費電力算出手段１１、電源物量算出手段１２、コアサイズ算出手段１３、電源パッド数・位置算出手段１４及びチップサイズ算出手段１５として機能する設計装置の中央処理装置（以下「ＣＰＵ」という）により実現される。
【００２６】
ステップ１において、消費電力算出手段１１は、論理合成の結果得られたネットリストファイルＦ１、配線容量ファイルＦ２及びトランジスタ（Ｔｒ）活性化率ファイルＦ３に基づいてコア部の消費電力を算出し、消費電力ファイルＦ４を作成する。
【００２７】
ステップ２において、電源物量算出手段１２は、ステップ１で得られた消費電力ファイルＦ４に基づいて、コア部のＩＲドロップ値が許容ＩＲドロップ値を満足する電源物量を算出し、電源物量ファイルＦ５を作成する。電源物量は、単位面積当りの電源配線量を表す値である。
【００２８】
ステップ３において、コアサイズ算出手段１３は、ステップ２で得られた電源物量ファイルＦ５と、上記ネットリストファイルＦ１に基づいて作成される回路情報ファイルＦ６と、レイアウト条件ファイルＦ７とに基づいて、コア部に形成すべき信号配線チャネルの領域を確保し得るコアサイズを見積もる。なお、このコアサイズの見積もり方法の詳細については後述する。
【００２９】
ステップ４において、電源パッド数・位置算出手段１４は、ステップ１で得られた消費電力ファイルＦ４と、上記ネットリストファイルＦ１に基づいて作成される電源配線抵抗網ファイルＦ８とに基づいて、電源パッドの数及び位置を見積もる。この際、電源パッドの配置に制約があるものについては、その配置数や配置位置等を記憶したパッド制約情報ファイルＦ９に基づいて電源パッドの数及び位置を見積もる。なお、この電源パッドの数及び位置の見積もり方法の詳細については後述する。
【００３０】
ステップ５において、チップサイズ算出手段１５は、ステップ３で見積もられたコアサイズが、ステップ４で見積もられた電源パッドを配置することが可能なサイズかどうかを判断する。このとき、配置が可能である場合には、そのコアサイズに対し、電源パッドを配置するために必要な面積（詳しくはＩＯバッファを含むＩＯ領域の面積）と、その後のプロセスで必要となる面積の増分とを加え、それをチップサイズとして見積もる。一方、配置ができない場合には、ステップ４で求めた電源パッドが配置可能となるサイズまでステップ３で求めたコアサイズを拡張する。
【００３１】
図２は、本実施の形態の設計装置の概略構成図である。
この設計装置２１は、一般的なＣＡＤ（Computer Aided Design ）装置によって構成されている。設計装置２１は、ＣＰＵ２２、メモリ２３、記憶装置２４、表示装置２５、入力装置２６及びドライブ装置２７を備え、それらはバス２８を介して相互に接続されている。
【００３２】
ＣＰＵ２２は、メモリ２３を利用してプログラムを実行し、上述したチップサイズ見積もり処理（図１参照）を実現する。このメモリ２３としては、通常、キャッシュ・メモリ、システム・メモリ及びディスプレイ・メモリ等を含む。表示装置２５は、処理の結果を示す画面、パラメータ入力画面等の表示に用いられ、これには通常、ＣＲＴ、ＬＣＤ、ＰＤＰ等が用いられる。入力装置２６は、ユーザからの要求や指示、パラメータの入力に用いられ、これにはキーボード及びマウス装置等が用いられる。
【００３３】
記憶装置２４は、通常、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等を含む。この記憶装置２４には、各種の処理を実現するためのプログラムや同プログラムの実行に必要なデータを格納した各種のファイルが記憶される。ＣＰＵ２２は、入力装置２６による指示に応答してプログラムや各種ファイルに格納されるデータを適宜メモリ２３へ転送し、それを逐次実行する。なお、記憶装置２４は、データベースとしても使用される。
【００３４】
ＣＰＵ２２が実行するプログラムは、記録媒体２９にて提供される。ドライブ装置２７は、記録媒体２９を駆動し、その記憶内容にアクセスする。ＣＰＵ２２は、ドライブ装置２７を介して記録媒体２９からプログラムを読み出し、それを記憶装置２４にインストールする。
【００３５】
記録媒体２９としては、光ディスク（CD-ROM,DVD-ROM,… ）、光磁気ディスク（MO,MD,…）等、任意の記録媒体を使用することができる。なお、記録媒体２９には、通信媒体を介してアップロード又はダウンロードされたプログラムを記録した媒体、ディスク装置を含む。
【００３６】
次に、本実施の形態における電源パッドの数及び位置の見積もり方法（図１において、電源パッド数・位置算出手段１４により実行されるステップ４の処理）を、図３〜図１０に基づいて説明する。
【００３７】
図３は、電源パッドの数及び位置見積もり処理の概要を示すフローチャートである。
まず、ステップ１１において、消費電力ファイルＦ４と電源配線抵抗網ファイルＦ８とに基づいてコア部の電源網解析を行い、各ノードの電圧値を求める。なお、このステップ１１での電源網解析の結果、各ノード間のＩＲドロップ値が許容ＩＲドロップ値を超えている場合には、その時点で処理を中止する。
【００３８】
次に、ステップ１２において、ステップ１１で求められた各ノードの電圧値と電源配線抵抗網ファイルＦ８に格納されている各ノード間の抵抗値とに基づいて各ノード間に流れる電流値を算出し、該算出結果に基づいて電源パッドに流れる電流値を求める。
【００３９】
次に、ステップ１３において、ステップ１２で求められた電源パッドに流れる電流値と同電源パッドに接続される入出力バッファ（ＩＯバッファ）の許容電流値とに基づいて、電源パッドの数及び位置を見積もる。具体的には、電源パッドに流れる電流値とＩＯバッファの許容電流値とを比較し、電源パッドに流れる電流値が許容電流値を超えている場合にはその電源パッドの近傍に電源パッドを追加する。一方、電源パッドに流れる電流値が許容電流値以内であれば、後述するように、その電源パッドを削除（間引き）することが可能となる。
【００４０】
図４は、この図３の見積もり処理の詳細を示すフローチャートである。
まず、ステップ２０において、電源パッドの初期化処理を行う。この処理は、上述したコア部の電源網解析に先立って行われる。詳しくは、設計対象のデバイス（半導体集積回路）に備えられている各パッド（電源パッド（互いに電位の異なる電源パッドを含む）及び信号パッド）を全て同電位の電源パッドＰｖとして扱い、この状態を初期状態とする（図５（ａ）参照）。以下、この初期化処理で同電位に設定された電源パッドＰｖを「初期電源パッドＰｖ」という。
【００４１】
次に、ステップ２１において、消費電力ファイルＦ４と電源配線抵抗網ファイルＦ８とに基づいてコアの電源網解析を行い、各ノードの電圧値を求める。上記したように、この電源網解析の結果、各ノード間のＩＲドロップ値が許容ＩＲドロップ値を超えている場合には、その時点で処理を中止する。
【００４２】
なお、本実施の形態においては、この電源網解析の処理を簡略化すべく、コア部をそれぞれ均一の抵抗と電流源とで近似される電気的に等価な複数の等価回路（「パワーユニット」以下ＰＵという）によって分割し、各ＰＵ間の接続点をそれぞれノードとして、それら各ノードの電圧値を求めるようになっている。
【００４３】
次に、ステップ２２において、ステップ２１で得られた各ノードの電圧値と、電源配線抵抗網ファイルＦ８に格納されている各ノード間の抵抗値（なお本実施の形態においては各ＰＵを接続する抵抗の値）とに基づいて、初期電源パッドＰｖに流れる電流値を算出する。
【００４４】
詳しくは、図６に示すように、チップ周辺に設けられる電源パッドＰｖには、ＩＯバッファＢｕｆが接続されている。ここで、電源パッドＰｖをノードＮ１とし、ＩＯバッファＢｕｆのコア部側の接続点をノードＮ２とし、各ノードＮ１，Ｎ２間の抵抗値を抵抗値Ｒとして近似して表すと、各ノードＮ１，Ｎ２間に流れる電流値Ｉｐは、Ｉｐ＝｜Ｖ１−Ｖ２｜／Ｒで求められる。なお、Ｖ１，Ｖ２はそれぞれノードＮ１，Ｎ２の電圧値を示す。すなわち、この電流値Ｉｐが、初期電源パッドＰｖに流れる電流値として算出される。
【００４５】
次に、ステップ２３において、ステップ２２で得られた電流値ＩｐとＩＯバッファＢｕｆの許容電流値Ｉｃとに基づいて、初期電源パッドＰｖの間引き処理を行う。
この間引き処理について詳述すると、図７に示すように、同処理では、まず、初期電源パッドＰｖの中から、基準となるパッド（以下「基準パッド」という）Ｐｓを決定する。
【００４６】
なお、この基準パッドＰｓは、上述したパッド制約情報ファイルＦ９に基づいて、チップ周辺に設けられる電源パッドのうち、あらかじめ配置に制約のあるものが決定される。本実施の形態においては、以下の条件のいずれかに該当するものが基準パッドＰｓとして決定されるようになっている。
【００４７】
・出力バッファの同時スイッチングノイズ対策やその他のノイズ対策として配置が制約されるもの。
・パッケージピンの仕様により配置が制約されるもの。
【００４８】
・電源パッドに流れる電流値がその両隣の電源パッドより多いもの。
・電流の集中が起こっている（電流値が所定以上となる）もの。
・その他設計する各デバイスごとに定められた制約により配置が固定されるもの。
【００４９】
基準パッドＰｓを決定した後、次いで、その基準パッドＰｓを除く他の初期電源パッドＰｖについてそれぞれ間引きが可能かどうか、すなわち、その位置において電源パッドを削除する（他のパッドとして使用する）ことができるかどうかを判断する。
【００５０】
この間引き処理は、各基準パッドＰｓの両隣の初期電源パッドＰｖから順次なされ、具体的には以下のように行われる。
図７に示すように、まず、間引き処理の対象となるパッド（以下「間引き対象パッド」という）Ｐｄに流れる電流値Ａを、基準パッドＰｓと、その基準パッドＰｓに対し反対側に位置する間引き対象パッドＰｄの隣接パッドＰｓｏとに、それぞれ所定の比率で分配する。
【００５１】
この際、電流値Ａの分配比率は、各パッドＰｓ，Ｐｓｏに流れる電流値及び各パッドＰｓ，Ｐｓｏと間引き対象パッドＰｄとの間の各距離に応じて決定される。具体的には、両パッドＰｓ，Ｐｓｏのうち電流値の大きなパッド及び間引き対象パッドＰｄからの距離が近いパッドに対し、より多くの電流が分配されるようになっている。すなわち、基準パッドＰｓに流れる電流値をＢ、パッドＰｓｏに流れる電流値をＣ、間引き対象パッドＰｄとパッドＰｓｏ間の距離をＬ１、間引き対象パッドＰｄと基準パッドＰｓ間の距離をＬ２とすると、各パッドＰｓｏ，Ｐｓに対する電流値Ａの分配量Ｘ１，Ｘ２は、
【００５２】
【数１】
0004824785.tif 000002
となる。ただし、距離に対する電流量の比重は等価なものとする。
【００５３】
この結果、電流分配後の基準パッドＰｓに流れる電流値は（Ｂ＋Ｘ２）として表される。本実施の形態においては、この電流分配後の基準パッドＰｓに流れる電流値（Ｂ＋Ｘ２）と、同基準パッドＰｓに接続されるＩＯバッファＢｕｆの許容電流値Ｉｃとを比較することで、間引き対象パッドＰｄの間引きが可能であるか否かを判断する。
【００５４】
ここで、電流値（Ｂ＋Ｘ２）が許容電流値Ｉｃを超えていない場合（Ｉｃ≧（Ｂ＋Ｘ２））には間引き対象パッドＰｄの間引きを行う。すなわち、当該間引き対象パッドＰｄとなっている初期電源パッドＰｖを、上記ステップ２０で初期化処理する前のパッド（信号パッド、若しくは異電位の電源パッド）に戻す。一方、電流値（Ｂ＋Ｘ２）が許容電流値Ｉｃを超えている場合（Ｉｃ＜（Ｂ＋Ｘ２））には間引きを行わない。この場合は、当該間引き対象パッドＰｄとなっている初期電源パッドＰｖの配置を決定する。
【００５５】
以後、同様にして、基準パッドＰｓを除く全ての初期電源パッドＰｖについてこのような間引き処理を順次行う。そして、図５（ｂ）に示すように、基準パッドＰｓ及び間引き処理によって間引きされなかったパッド（初期電源パッドＰｖ）をそれぞれ電源パッドとして決定する。
【００５６】
次に、ステップ２４において、収束条件を満たしているか否かを判定する。ここで、収束条件とは、ステップ２３の間引き処理によって間引きしたパッドが有るか無いかを示しており、このとき間引きしたパッドが無い場合には「収束」したと判断して、処理（見積もり処理）を終了する。
【００５７】
一方、間引きしたパッドが有る場合には「未収束」であると判断して、ステップ２１に戻り電源網解析を再度行う。そして、ステップ２２の電流量計算を行った後、ステップ２３の間引き処理を再度行う。なお、この２回目の間引き処理の際には、上記１回目の間引き処理で基準パッドＰｓとならなかった初期電源パッドＰｖのうち、電流値が最も大きいパッドを新たな基準パッドＰｓと定めて処理を行う。そして、ステップ２４で収束判定を行い、上記収束条件を満たす場合に処理を終了する。
【００５８】
なお、パッケージピンの仕様等により電源パッドの配置数が制約される場合には、以下の方法を用いて電源パッドの位置を変更（移動）することで、見積もり後の電源パッドの配置を最適化することが可能である。
【００５９】
この方法は、上述した見積もり処理によって電源パッドの数及び位置を見積もった後、配置を変更したい電源パッドとそれに隣接する電源パッド（ここでは、各電源パッド間に信号パッドがあっても隣接とみなす）の各電流値を比較し、それらのうち電流値の小さい電源パッドを電流値の大きい電源パッドに近づく方向に移動させる。ここで、両電源パッド間の距離をＬとし、両電源パッドの電流値をそれぞれＩａ，Ｉｂ（Ｉａ＞Ｉｂ）とすると、その移動量Ｄは、
【００６０】
【数２】
0004824785.tif 000003
により求められる。
【００６１】
また、本実施の形態においては、以下の事項を考慮することで、レイアウト前における電源パッドの数及び位置をより精度良く見積もることが可能となるとともに、レイアウト中あるいはレイアウト後に電源パッドの数及び位置の最適化を図ることが可能となる。
【００６２】
［１．コア部の電源配線の偏りを考慮する。］
コア部Ｃにおける電源配線のレイアウトにおいては、図８に示すように、例えばマクロＭ１，Ｍ２の配置に伴う電源配線の切断（図中、一点鎖線）や回り込み（図中、二点鎖線）に起因して、レイアウト内で電源配線に偏りが生じる。こうした電源配線の偏りをレイアウトデータより抽出して電源配線抵抗網ファイルＦ８に記憶しておき、上述した電源網解析を電源配線の偏りを考慮しながら行うことにより、電源パッドの数及び位置の最適化を図ることができる。
【００６３】
［２．コア部の消費電力の偏りを考慮する。］
コア部Ｃの消費電力は、図９に示すように、同領域内における例えば高速動作モジュールＭ３，Ｍ４の配置に起因して偏りが生じる。このような消費電力の偏りを、設計のインスタンス毎、あるいは各モジュール毎に消費電力ファイルＦ４に記憶しておき、上述した電源網解析を消費電力の偏りを考慮しながら行うことにより、電源パッドの数及び位置の見積もり精度をさらに向上させることができる。
【００６４】
［３．電源パッドに流れる電流量の偏りを考慮する。］
電源パッドに流れる電流は、図１０に示すように、電源パッドの配置によって電流量に偏りが生じる。具体的には、電源パッドが配置されるチップ各辺において中心部ほど電流が集中し、周辺部ほど電流が流れにくくなる。また、互いに異なる電位の電源を供給する電源パッドが隣接して配置される場合、それら隣接配置される電源パッドには電流集中が生じ易くなる。このような電源パッドにおける電流量の偏りをあらかじめ算出しておき、上述した電源網解析を電源パッドに流れる電流量の偏りを考慮しながら行うことにより、電源パッドの数及び位置の見積もり精度をさらに向上させることができる。
【００６５】
次に、本実施の形態におけるコアサイズの見積もり方法（上述した図１において、コアサイズ算出手段１３により実行されるステップ３の処理）を、図１１〜図１６に基づいて説明する。
【００６６】
図１１は、コアサイズ見積もり方法を示す処理フローチャートである。
上記したように、このコアサイズ見積もり処理に際しては、回路情報ファイルＦ６とレイアウト条件ファイルＦ７とが準備される。ここで、回路情報ファイルＦ６には、上記ネットリストファイルＦ１より導出された各種の入力パラメータ、本実施の形態においてはセル数Ｎcell，総ネット数Ｊ，平均ファンアウトｍavg ，平均セル面積Ａcell，及び使用されるマクロ面積の合計（以下「総マクロ面積」という）Ａmacro 等が回路情報として記憶されている。また、レイアウト条件ファイルＦ７には、レイアウト設計に係る各種の条件パラメータ、本実施の形態においてはセル使用率ρ，配線層数Ｋ，回路ブロックの縦横比に応じた係数（以下「アスペクト比」という）ｚA 等がレイアウト条件として記憶されている。なお、セル使用率は、コア部に搭載される総セル面積を、そのコア部においてセルの配置が可能である領域の面積で除算して求められる。
【００６７】
まず、回路情報ファイルＦ６とレイアウト条件ファイルＦ７とに基づいて、コア部の総ネット長と使用可能チャネル長とがそれぞれ個別の処理フローによって算出される（ステップ３１ａ，ステップ３１ｂ）。
【００６８】
総ネット長の算出処理は、平均パス長の算出処理（ステップ３１１ａ）と総ネット長の算出処理（ステップ３１２ａ）とからなる。一方、使用可能チャネル長の算出処理は、面積の仮見積もり処理（ステップ３１１ｂ）と使用可能チャネル長の算出処理（ステップ３１２ｂ）とからなる。
【００６９】
まず、ステップ３１ａにおける総ネット長の算出処理について説明する。
［ステップ３１１ａ：平均パス長の算出処理］
この処理は、コア部の各ネットに形成されるパス長（出力と入力の関係が１対１の関係となる配線の長さ）の平均を算出する処理である。この平均パス長Ｌpath-idf.avgは、セル数Ｎcell，平均セル面積Ａcell，セル使用率ρ，レンツ指数ｐを用いて、
【００７０】
【数３】
0004824785.tif 000004
により求められる（参考文献: J.A. Davis, V.K. De, J.D. Meindl "A Stochastic Wire-Length Distribution for Gigascale Integration (GSI)- Part II : Applications to Clock Frequency, Power Dissipation, and Chip Size Estimation", IEEE Transaction on Electron Devices, Vol.45, No.3, March 1998）。
【００７１】
なお、この平均パス長Ｌpath-idf.avgは、マンハッタン長（入出力間を水平方向あるいは垂直方向のみで配線したときの最短距離）で求められる長さである。レンツ指数ｐは、回路のアーキテクチャに依存して決定される値であり、セル数Ｎcell，総ネット数Ｊ，平均ファンアウトｍavg を用いて、
【００７２】
【数４】
0004824785.tif 000005
で表される。
【００７３】
ここで、ａ，ｂは、過去のレイアウト情報より得られた経験的な値である。なお、回路情報のパラメータ（平均ファンアウトｍavg 等）が求まっていない場合には、レンツ指数ｐの値をデフォルト値としてあらかじめ定めたものを使用するようにしてもよい。また、セル数Ｎcellの代わりにゲート数を用いてレンツ指数ｐを求めるようにしてもよい。この場合は、１セル当りの平均ゲート数をあらかじめ計算しておき、この平均ゲート数をセル数Ｎcellに代えてレンツ指数ｐを算出する。
【００７４】
［ステップ３１２ａ：総ネット長の算出処理］
この処理は、上記ステップ３１１ａで求めた平均パス長Ｌpath-idf.avgと、各ネットのファンアウトに基づいて、コア部に形成される全ネットの長さの合計（総ネット長）を算出する処理である。
【００７５】
全ネットのうち、ファンアウトｍのネットの総数をＪFO=mとすると、このファンアウトｍのネットの総ネット長Ｌnet.FO=mは、上記平均パス長Ｌpath-idf.avgを用いて、
【００７６】
【数５】
0004824785.tif 000006
により求められる。ｔ(ｍ)は、ファンアウトｍと、そのファンアウトｍのネットの配線の迂回の影響とについて相関を持つ関数であり、
【００７７】
【数６】
0004824785.tif 000007
で表される。
【００７８】
ここで、ａFO=mは、上記平均パス長Ｌpath-idf.avgからファンアウトｍのネットの平均パス長を求めるための関数である。また、ｂFO=mは、そのファンアウトｍのネットの平均パス長を平均ネット長に変換するための関数である。したがって、上記した数５において、「Ｌpath-idf.avg×ｔ(ｍ)」は、ファンアウトｍのネットの平均ネット長Ｌnet-avg.FO=mとして表される。なお、上記した各関数ａFO=m，ｂFO=mは、それぞれファンアウトｍを用いて表される。
【００７９】
この関数ｔ(ｍ)を用いて表される数５を用いて、各ネットのファンアウトに応じた総ネット長を算出し、それら各ファンアウトごとの総ネット長を総和した値がコア部に形成される総ネット長Ｌnet-total として求められる。すなわち、総ネット長Ｌnet-total は、
【００８０】
【数７】
0004824785.tif 000008
となる。
【００８１】
また、この総ネット長Ｌnet-total より、水平方向の配線における総ネット長Ｌnet-total.X と垂直方向の配線（水平方向の配線に対し垂直な配線）における総ネット長Ｌnet-total.Y を求めると、
【００８２】
【数８】
0004824785.tif 000009
となる。ここで、ｚA はアスペクト比（０＜ｚA ＜１）である。
【００８３】
次に、ステップ３１ｂにおける使用可能チャネル長の算出処理について説明する。
［ステップ３１１ｂ：面積の仮見積もり処理］
この処理では、セル数Ｎcell，平均セル面積Ａcell，セル使用率ρ，及び総マクロ面積Ａmacro を用いてコア部の仮面積Ａtemp-area を算出する。このコア部の仮面積Ａtemp-area は、コア部に配置されるセルの総面積と総マクロ面積Ａmacro との和として求められ、
【００８４】
【数９】
0004824785.tif 000010
となる。
【００８５】
［ステップ３１２ｂ：使用可能チャネル長の算出処理］
この処理は、上記ステップ３１１ｂで求めたコア部の仮面積Ａtemp-area に対し、各配線層での使用可能チャネル長を算出する処理である。
【００８６】
ある配線層ｎにおける使用可能チャネル長Ｌusable.nは、その配線層ｎの全面が配線可能であるとしたときの理想的な使用可能チャネル長をＬall.n 、その配線層ｎにおける配線禁止チャネル長をＬprohibit.n、及びその配線層ｎにおける最大チャネル使用率をｒn とすると、
【００８７】
【数１０】
0004824785.tif 000011
により求められる。
【００８８】
ここで、配線層ｎにおける理想的な使用可能チャネル長Ｌall.n は、仮面積Ａtemp-area の値とアスペクト比ｚA とによって求められる。また、配線禁止チャネル長Ｌprohibit.nは、電源配線で使用されるチャネル長、ハードマクロの配置によって消失するチャネル長、配線上位層から配線下位層へ接続するときに発生するスタックヴィアによって、配線中間層で実質的に配線チャネルが消失する場合のチャネル長、あらかじめ分かっている使用できないチャネル長、等を合計したチャネル長として求められる。
【００８９】
この数１０を用いて、同様に他の配線層における使用可能チャネル長を算出し、それらを総和した値が全配線層での使用可能チャネル長Ｌusable-totalとして求められる。すなわち、全配線層での使用可能チャネル長Ｌusable-totalは、
【００９０】
【数１１】
0004824785.tif 000012
となる。
【００９１】
また、各配線層の配線方向は、一般には配線層ごとに決められており、水平方向の配線における使用可能チャネル長Ｌusable-total.Xと垂直方向の配線における使用可能チャネル長Ｌusable-total.Yは、それぞれ配線方向が同一方向となる配線層の使用可能チャネル長を合算することで求められる。すなわち、水平方向の使用可能チャネル長Ｌusable-total.Xは、配線方向が水平方向の配線層の使用可能チャネル長を合算して求められ、垂直方向の使用可能チャネル長Ｌusable-total.Yは、配線方向が垂直方向の配線層の使用可能チャネル長を合算して求められる。
【００９２】
次に、ステップ３２において、ステップ３１ａで求めた総ネット長Ｌnet-total ，Ｌnet-total.Y ，Ｌnet-total.Y と、ステップ３１ｂで求めた使用可能チャネル長Ｌusable-total，Ｌusable-total.X，Ｌusable-total.Yとをそれぞれ比較し、
【００９３】
【数１２】
0004824785.tif 000013
の条件を満たすかどうかを判定する。
【００９４】
ここで、条件を満たす場合には、ステップ３１１ｂで仮見積もりしたコアサイズ（仮面積Ａtemp-area ）での配線レイアウトが可能となる。従って、その仮面積Ａtemp-area の値をコアサイズとして決定する（ステップ３３）。一方、条件を満たさない場合には、レイアウト条件を変更してステップ３１１ｂの面積の仮見積もり処理を再度やり直す。この場合、具体的にはセル使用率ρを下げる、あるいは配線層数Ｋを増加させることにより、仮面積の見積もり値を上記数１２の条件を満足する最小の面積値まで大きくする。
【００９５】
ちなみに、コアサイズはセル使用率ρが大きいほど小さくなり、セル使用率ρを１００％にしたとき、コアサイズ（仮面積Ａtemp-area ）は最も小さくなる（換言すれば、このときセルはコア部に隙間なく敷き詰められた状態となる）。しかしながら、一般には、セル使用率ρが１００％でレイアウト可能となる場合はほとんどなく、セル使用率ρの上限値は、レイアウトツール、配線の混雑度、レイアウトＴＡＴ等に依存して、１００％よりも小さな値で設定される。このような設計の環境に応じてセルの上限値をあらかじめ設定しておくことで、コア部の仮面積Ａtemp-area を効率よく見積もることが可能となる。
【００９６】
本実施の形態では、このように平均パス長Ｌpath-idf.avgから各ネットのファンアウトを考慮して総ネット長Ｌnet-total を算出し、この総ネット長Ｌnet-total に基づいてコアサイズを見積もる手法としたため、結果的にコア部に形成される総配線長を精度良く見積もりながらコアサイズを見積もることができる。これにより、本実施の形態では、各ネットのファンアウト、及びそのときのコア部の面積（コアサイズ）に応じて、各ネットの仮配線容量値を正確に見積もることも可能となる。
【００９７】
例えば、ファンアウトｍのネットの仮配線容量値は、ファンアウトｍの平均ネット長Ｌnet-avg.FO=mと単位長さ当りの配線容量値との積によって求められる。ここで、ファンアウトｍの平均ネット長Ｌnet-avg.FO=mは、上記したように「Ｌpath-idf.avg×ｔ(ｍ)」（数５参照）で求められる。また、この平均ネット長Ｌnet-avg.FO=mは、コア部に含まれるセル数Ｎcellに比例した値となる。従って、ファンアウトｍのネットにおける仮配線容量値を、各ネットのファンアウトｍ及びコアサイズに応じて正確に見積もることが可能である。
【００９８】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）電源網解析により求めた各ノードの電圧値から電源パッドに流れる電流値を算出し、その電流値とＩＯバッファの許容電流値との比較に基づいて電源パッドの数及び位置を見積もるようにした。この方法では、ＩＯバッファの許容電流値を考慮して、ＳＩやＰＩを保証し得る電源パッドの数及び位置をレイアウト前に精度良く見積もることができる。これにより、設計フローの手戻りを少なくして、設計期間の短縮、延いては設計コストの削減を図ることが可能である。
【００９９】
（２）電源網解析の結果、各ノード間のＩＲドロップ値が許容ＩＲドロップ値を超えている場合には処理を中止するようにした。従って、コア部における許容ＩＲドロップ値を考慮して電源パッドの数及び位置を精度良く見積もることができる。
【０１００】
（３）本実施の形態では、コア部を電気的に等価な複数の等価回路（ＰＵ）により分割したモデル回路を用いて電源網解析を行うようにした。このように電源網解析を簡略化することで電源パッドの数及び位置の見積もりを容易に行うことが可能となる。
【０１０１】
（４）本実施の形態では、あらかじめ配置が制約される電源パッドを基準パッドＰｓとして定め、この基準パッドＰｓを除く電源パッド（初期電源パッドＰｖ）について間引き処理を行うようにした。この方法では、配置制約を考慮しながら電源パッドの数及び位置を正確に見積もることができる。
【０１０２】
（５）本実施の形態では、コア部の消費電力の偏りを考慮して電源網解析を行うことにより、電源パッドの数及び位置をより精度良く見積もることができる。
（６）本実施の形態では、電源パッドに流れる電流量の偏りを考慮して電源網解析を行うことにより、電源パッドの数及び位置をより精度良く見積もることができる。
【０１０３】
（７）本実施の形態では、コア部の電源配線の偏りを考慮して電源網解析を行うことにより、レイアウト後の電源パッドの数及び位置の最適化を図ることも可能である。
（８）コアサイズの見積もり方法において、平均パス長Ｌpath-idf.avgから各ネットのファンアウトを考慮して総ネット長Ｌnet-total を算出し、この総ネット長Ｌnet-total と全配線層での使用可能チャネル長Ｌusable-totalとを比較した結果に基づいて、コアサイズを見積もるようにした。この方法では、コアサイズを各ネットのファンアウトを考慮して見積もるため、実際にレイアウトを行うことなく、コアサイズを正確に、且つ最小の面積で見積もることが可能となる。
【０１０４】
（９）本実施の形態では、総ネット長Ｌnet-total と使用可能チャネル長Ｌusable-totalとの比較において、それらの水平方向と垂直方向の配線方向の成分についてもそれぞれ比較を行うようにした。この方法では、コアサイズの見積もりをより正確に行うことが可能となる。
【０１０５】
（１０）本実施の形態では、電源パッドの数及び位置、コアサイズを正確に見積もることができる。この結果、レイアウト前に、チップサイズを正確に見積もることが可能である。
【０１０６】
（１１）本実施の形態のコアサイズ見積もり方法では、各ネットのファンアウトに応じた平均ネット長Ｌnet-avg.FO=mを精度良く求めることができるため、各ネットの仮配線容量値を正確に見積もることができる。従って、レイアウト前に、回路の性能をより高精度に評価することができるようになる。
【０１０７】
（第２の実施の形態）
以下、本発明を具体化した第２の実施の形態を上記第１の実施の形態との相違点を中心に図１２〜図１６に従って説明する。この第２の実施の形態は、上述した図１のチップサイズ見積もり処理において、ステップ１３におけるコアサイズ見積もり処理が第１の実施の形態と異なる。すなわち、本実施の形態は、コア部が複数の回路ブロックにより構成される場合に適用して好適なコアサイズ見積もり方法について説明するものである。
【０１０８】
図１２は、本実施の形態のコアサイズ見積もり方法を示す処理フローチャートである。
まず、ステップ４１において、コア部に形成される各回路ブロックの面積を求め、それらの合計を求める。この際、回路ブロックの面積の算出方法としては、その回路ブロックが過去において既にレイアウト済みのものであればその面積を用い、まだレイアウト前のものであれば、上記第１の実施の形態におけるコアサイズ見積もり方法を用いて面積を予想してもよい。
【０１０９】
次に、ステップ４２において、各回路ブロックの周辺に必要となる配線領域を求め、それら各配線領域の合計を求める。なお、本実施の形態においては、図１３に示すように、回路ブロック３２とその周辺に必要な配線領域３３とを１つのレイアウト面（図においてレイアウトブロック３１）として捉え、このレイアウトブロック３１の面積の合計を求めることとする。なお、このステップ４２の処理の詳細については後述する。
【０１１０】
次に、ステップ４３において、各回路ブロック３２間の接続に使用するリピータセルの面積の合計を求める。なお、このステップ４３の処理については後述するが、リピータセルとは、回路ブロック間を接続する配線が長い場合に、パス遅延を小さくするために結線の途中に挿入される所謂バッファ回路である。
【０１１１】
次に、ステップ４４において、配線領域３３を加えた回路ブロック３２（つまりレイアウトブロック３１）の面積の合計値とリピータセルの面積の合計値とを合計する。これにより、コアサイズの面積を見積もる。
【０１１２】
以下、配線領域３３の算出手順について図１４〜図１６を参照しながら説明する。説明の便宜上、ここでは回路ブロック３２の左辺及び右辺（垂直方向の配線方向（図１４において紙面の縦方向）と平行な辺）に対し必要な配線領域を算出する手順について説明するが、上辺及び下辺（水平方向の配線方向（図１４において紙面の横方向）と平行な辺）に対し必要な配線領域を算出する手順についても同様にして求めることができる。
【０１１３】
［処理１］  回路ブロック３２の端子の引き出しに必要な配線数を求める。
図１４に示すように、回路ブロック３２の端子の引き出しに必要な配線数は、回路ブロック３２の左辺，右辺に配置されている端子数をそれぞれＴL，ＴRとし、左辺，右辺から引き出される配線数をそれぞれＩL，ＩRとすると、
配線数ＩL＝端子数ＴL（左辺）
配線数ＩR＝端子数ＴR（右辺）
となる。
【０１１４】
［処理２］  各回路ブロック間の結線に伴い、回路ブロック３２の周り（ここでは左辺及び右辺の周り）を迂回する配線数Ｉdetourを求める。
各回路ブロック間の結線において、該ブロック間に他の回路ブロック（ここでは回路ブロック３２がそれに該当する場合について考える。）が存在する場合、配線はレイアウトブロック３１を通過する。この際、レイアウトブロック３１を通過する配線には、回路ブロック３２上を通過する配線と、その回路ブロック３２の周りを迂回する配線とが含まれる。処理２では、このレイアウトブロック３１を通過する配線のうち、回路ブロック３２の周りを迂回する配線数Ｉdetourを求める。
【０１１５】
図１６は、この配線数Ｉdetourの算出手順を示す処理フローチャートである。
まず、ステップ５１において、レイアウトブロック３１を通過する配線数Ｉthru（予想値）を求めておく。この配線数Ｉthruは、コア部に含まれる回路ブロック数をＮblock 、回路ブロック間の総ネット数をＪB 、平均ファンアウトをｍavg 、レンツ指数をｐ、隣同士の回路ブロック間の結線に用いられない配線のうち比率ｃ（ただし、０≦ｃ≦１）の配線がレイアウトブロック３１を通過すると仮定すると、
【０１１６】
【数１３】
0004824785.tif 000014
により求められる。
【０１１７】
次に、ステップ５２において、レイアウトブロック３１を通過する配線が回路ブロック３２上を通過できるか否か（換言すれば回路ブロック３２上に配線できるか否か）を判断する。これは、具体的には、回路ブロック３２上で配線可能な配線チャネル数Ｉch.usable を求めることにより判断し、このとき求めた配線チャネル数が「０」である場合には回路ブロック３２上の配線が不可であると判断する。なお、この配線チャネル数Ｉch.usable には、電源配線などにより配線不可となるチャネル数は含まれない。
【０１１８】
ここで、回路ブロック３２上の配線が不可である場合（ステップ５２で「ＮＯ」の場合）、レイアウトブロック３１を通過する配線は、全て回路ブロック３２の周りを迂回する配線となる。すなわち、Ｉdetour＝Ｉthruとなる。なお、図１５には、Ｉdetour＝Ｉthruとなる場合において、レイアウトブロック３１を通過する配線が例えば回路ブロック３２の左右辺をＩthru／２ずつ通過するときの模式図を示す。
【０１１９】
回路ブロック３２上の配線が可能である場合（ステップ５２で「ＹＥＳ」の場合）、ステップ５３に移行する。このステップ５３では、各回路ブロック間の結線に用いられるリピータセルの挿入間隔ｄr と、当該配線方向に平行な回路ブロック３２の辺の長さＬblock とを比較する。
【０１２０】
ここで、ｄr ＜Ｌblock の場合（ステップ５３で「ＮＯ」の場合）、回路ブロック間の配線を回路ブロック３２上で行うことはできず、前記と同様、レイアウトブロック３１を通過する配線は、全て回路ブロック３２の周りを迂回する配線（すなわちＩdetour＝Ｉthru）となる。
【０１２１】
一方、ｄr ＞Ｌblock の場合（ステップ５３で「ＹＥＳ」の場合）、回路ブロック間の配線をリピータセルを介して回路ブロック３２上で行うことが可能となる。この場合は、次のステップ５４に移行して、レイアウトブロック３１を通過する配線数Ｉthruと回路ブロック３２上の配線チャネル数Ｉch.usable とを比較し、該配線チャネル数Ｉch.usable が上記配線数Ｉthruよりも多いか否かを判断する。
【０１２２】
ここで、Ｉthru＜Ｉch.usable の場合（ステップ５４で「ＹＥＳ」の場合）、レイアウトブロック３１を通過する配線は、全て回路ブロック３２上を通過する配線となる。すなわち、Ｉdetour＝０となる。
【０１２３】
一方、Ｉthru＞Ｉch.usable の場合（ステップ５４で「ＮＯ」の場合）、レイアウトブロック３１を通過する配線数Ｉthruと配線チャネル数Ｉch.usable との差が、回路ブロック３２上を通過する配線数となる。すなわち、この場合、Ｉdetour＝Ｉthru−Ｉch.usable となる。
【０１２４】
［処理３］  処理１で求めた回路ブロック３２の端子の引き出しに必要な配線数ＩL，
ＩRと、処理２で求めた回路ブロック３２の周りを迂回する配線数Ｉdetourとの和Ｉohを
求める。
【０１２５】
この配線数の和Ｉohは、回路ブロック３２の周り（ここでは左右辺についてのみ）を通る総配線数として見積もられる値であり、
【０１２６】
【数１４】
0004824785.tif 000015
となる。
【０１２７】
［処理４］  処理３で求めた配線数の和Ｉohを満たす最小の配線領域を求める。
この最小の配線領域は、各配線層において配線ピッチ（ここでは垂直方向の配線ピッチ）と配線チャネル数との積が等しくなり、且つ全配線層での配線チャネル数の総和が上記配線数の和Ｉohと等しくなるときの面積値として求められる。ちなみに、各配線層で使用可能となる配線チャネル数は配線層数が多いほど多くなり、したがって配線領域は小さくなる。なお、この配線チャネル数には、上述した回路ブロック３２上における配線チャネル数と同様、電源配線などにより配線不可となるチャネル数は含まれない。
【０１２８】
以上のような処理１〜処理４を行うことで、回路ブロック３２の左右辺に対し必要となる配線領域を求めることができる。また、回路ブロック３２の上下辺に対し必要となる配線領域についても、同様な処理１〜処理４によって求めることができる。
【０１２９】
ここで、回路ブロック３２の上下辺及び左右辺の長さをそれぞれＬblock.X ，Ｌblock.Y とし、上記処理１〜処理４によって求めたレイアウトブロック３１の各辺に対し必要な配線領域の長さを上辺、下辺、左辺、右辺の順にそれぞれＬT，ＬB，ＬL，ＬRとすると、配線領域３３を加えた回路ブロック３２（つまりレイアウトブロック３１）の面積Ａblock-add は、
【０１３０】
【数１５】
0004824785.tif 000016
となる。
【０１３１】
従って、コア部に形成される全回路ブロックについてそれぞれ必要な配線領域を含めたレイアウトブロックの面積の合計値Ａblock-add-all は、
【０１３２】
【数１６】
0004824785.tif 000017
となる。
【０１３３】
次に、上記各回路ブロック間の接続に用いるリピータセルの面積（合計値）の算出手順について説明する。
リピータセルの面積の合計値は、コア部に形成されるリピータセル数Ｎbufferと、想定する１個当りのリピータセル面積Ａbufferとの積により求められる。
【０１３４】
コア部に形成されるリピータセル数Ｎbufferは、
【０１３５】
【数１７】
0004824785.tif 000018
により求められる。
【０１３６】
ここで、ｌr は、上記レイアウトブロックの面積の合計値Ａblock-add-all より算出される平均レイアウトブロック面積Ablock-add-avgから求められるゲートピッチであり、
【０１３７】
【数１８】
0004824785.tif 000019
により求められる。
【０１３８】
従って、リピータセルの面積の合計値Ａbuffer-totalは、
【０１３９】
【数１９】
0004824785.tif 000020
となる。
【０１４０】
よって、コア部の予想面積Ａcoreは、数１６で求めたレイアウトブロックの面積の合計値Ａblock-add-all と、数１９で求めたリピータセルの面積の合計値Ａbuffer-totalとの和により求められ、
【０１４１】
【数２０】
0004824785.tif 000021
となる。
【０１４２】
本実施の形態では、このようなコアサイズ見積もり方法によって、複数の回路ブロックからなるコア部の面積（コアサイズ）を、そのレイアウト前に、正確にかつ最小の面積値で見積もることができる。
【０１４３】
以上記述したように、本実施の形態によれば、以下の効果を奏する。
（１）コア部が複数の回路ブロックからなる場合において、各回路ブロックの面積と、各回路ブロック間の結線に伴い必要となる配線領域と、各回路ブロック間の接続に用いられるリピータセルの面積とを総和して求めた面積値をコアサイズとして見積もるようにした。この方法では、複数の回路ブロックからなるコア部の面積を、実際にレイアウトを行うことなく、正確に且つ最小の面積値で見積もることが可能となる。
【０１４４】
尚、上記各実施の形態は、以下の態様で実施してもよい。
・第１の実施の形態の電源パッドの数及び位置見積もり方法（図４）では、チップ各辺に電源パッドが１つずつ（但し全て同電位に設定する）備えられる状態を初期状態として処理を開始し、その後、各パッドに流れる電流値とＩＯバッファの許容電流値との比較結果に基づいて電源パッドを追加していく方法としてもよい。
【０１４５】
・第１の実施の形態において、基準パッドＰｓとして定める電源パッドは同実施の形態にて例示したものに限らない。
・第２の実施の形態のコアサイズ見積もり方法は、コア部が複数の回路ブロックからなる場合のみならず、コア部が一つの回路ブロックからなる場合においても勿論適用可能である。
【０１４６】
上記各実施の形態から把握できる技術的思想を以下に記載する。
（付記１）  半導体集積回路の電源パッドの数及び位置見積もり方法であって、
消費電力と電源配線抵抗網とに基づいてコア部の電源網解析を行い、各ノードの電圧値を求める第１の処理と、
前記各ノードの電圧値と各ノード間の抵抗値に基づいて各ノード間の電流値を算出し、前記各ノード間の電流値から電源パッドに流れる電流値を求める第２の処理と、
前記電源パッドに流れる電流値がＩＯバッファの許容電流値を満たすか否かを判断し、その判断結果に基づいて前記電源パッドの間引き又は追加を行う第３の処理と
を有することを特徴とする電源パッドの数及び位置見積もり方法。
（付記２）  前記各ノードの電圧値に基づいて各ノード間のＩＲドロップ値を算出し、該ＩＲドロップ値が許容ＩＲドロップ値を満足しない場合はその後の処理を中止することを特徴とする付記１記載の電源パッドの数及び位置見積もり方法。
（付記３）  それぞれ均一の抵抗値と電流源とで表される電気的に等価な複数の等価回路により前記コア部をモデル化した回路を用いて前記電源網解析を行うことを特徴とする付記１又は２記載の電源パッドの数及び位置見積もり方法。
（付記４）  前記電源網解析を前記コア部の電源配線の偏りを考慮して行うことを特徴とする付記１又は２記載の電源パッドの数及び位置見積もり方法。
（付記５）  前記電源網解析を前記コア部の消費電力の偏りを考慮して行うことを特徴とする付記１，２又は４記載の電源パッドの数及び位置見積もり方法。
（付記６）  前記電源網解析を前記電源パッドに流れる電流値の偏りを考慮して行うことを特徴とする付記１，２，４又は５記載の電源パッドの数及び位置見積もり方法。
（付記７）  前記電源網解析に先立って、前記半導体集積回路に備えられるパッドを全て同電位の電源パッドとして設定する初期化処理を有し、
前記第３の処理では、前記電源パッドに流れる電流値が前記許容電流値を満たす場合に前記電源パッドの間引き処理を行うようにしたことを特徴とする付記１乃至６の何れか一記載の電源パッドの数及び位置見積もり方法。
（付記８）  前記電源パッドの間引き処理後に収束条件を満たしているか否かを判定し、前記収束条件を満たす場合に見積もり処理を終了し、前記収束条件を満たさない場合に前記電源網解析を再度行う、ことを特徴とする付記７記載の電源パッドの数及び位置見積もり方法。
（付記９）  前記初期化処理した電源パッドのうち配置が制約される電源パッドを基準パッドとして定め、該基準パッドを除く電源パッドを対象として前記間引き処理を行うことを特徴とする付記７又は８記載の電源パッドの数及び位置見積もり方法。
（付記１０）  前記間引き処理は、当該処理の対象とする電源パッドに流れる電流値を所定の比率で前記基準パッドに分配し、その分配後の基準パッドに流れる電流値と前記許容電流値との比較結果に基づいて行うことを特徴とする付記７乃至９の何れか一記載の電源パッドの数及び位置見積もり方法。
（付記１１）  半導体集積回路のコアサイズ見積もり方法であって、
回路情報とレイアウト条件とに基づいてコア部に形成される総ネット長と使用可能チャネル長とを算出し、
前記総ネット長が前記使用可能チャネル長以下、
且つ、水平方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、
且つ、垂直方向の配線方向に関して、前記総ネット長が前記使用可能チャネル長以下、となるときのコアサイズを見積もることを特徴とするコアサイズ見積もり方法。
（付記１２）  前記総ネット長は、
各ネットに形成されるパス長を平均化して平均パス長を求める第１の処理と、
前記平均パス長から各ネットのファンアウトに応じた総ネット長を算出し、該算出した各ファンアウト毎の総ネット長の総和を求める第２の処理と、
により算出され、
前記水平方向及び前記垂直方向の配線方向における総ネット長は、
前記第２の処理の算出結果と回路ブロックの縦横比に応じた係数とに基づいて算出されることを特徴とする付記１１記載のコアサイズ見積もり方法。
（付記１３）  前記使用可能チャネル長は、
コア部の面積を仮見積もりする第１の処理と、
前記仮見積もりしたコア部の面積に対し、各配線層での使用可能チャネル長を配線禁止チャネル長と最大チャネル使用率とに基づいて算出し、該算出した各配線層毎の使用可能チャネル長の総和を求める第２の処理と、
により算出され、
前記水平方向及び前記垂直方向の配線方向における使用可能チャネル長は、
それぞれ配線方向が同一方向となる配線層の使用可能チャネル長を合算して求められることを特徴とする付記１１記載のコアサイズ見積もり方法。
（付記１４）  複数の回路ブロックよりなる半導体集積回路のコアサイズ見積もり方法であって、
各回路ブロックの面積の総和を求める第１の処理と、
前記各回路ブロックの周辺に必要となる配線領域を算出し、各配線領域の総和を求める第２の処理と、
各回路ブロック間の接続に用いるリピータセルの面積の総和を求める第３の処理と、
を有し、
前記第１の処理、前記第２の処理及び前記第３の処理の算出結果を総和して求められる面積をコアサイズとして見積もることを特徴とするコアサイズ見積もり方法。
（付記１５）  前記配線領域は、
前記回路ブロックの端子数に応じた配線数と前記回路ブロックの周りを迂回する配線数との総和が各配線層にて使用可能な配線チャネル数の総和と等しくなり、且つ、各配線層で配線ピッチと配線チャネル数との積が等しくなるときの面積値として求められることを特徴とする付記１４記載のコアサイズ見積もり方法。
（付記１６）  前記リピータセルの面積の総和は、
前記配線領域を加えた回路ブロックの面積の平均と、リピータセルの挿入間隔と、回路ブロック数と、平均ファンアウトと、レンツ指数とに基づいて算出されるリピータセルの個数と、リピータセルの１個当りの面積との積により求められることを特徴とする付記１４記載のコアサイズ見積もり方法。
（付記１７）  半導体集積回路の仮配線容量見積もり方法であって、
付記１１記載の平均パス長に基づいて各ネットのファンアウトに応じた平均ネット長を算出し、前記平均ネット長と単位長さ当りの容量値とに基づいて仮配線容量を見積もることを特徴とする仮配線容量見積もり方法。
（付記１８）  半導体集積回路のチップサイズ見積もり方法であって、
付記１１乃至１６の何れか一記載のコアサイズ見積もり方法を用いて求めたコアサイズと、付記１乃至１０の何れか一記載の電源パッドの数及び位置見積もり方法を用いて求めた電源パッドの数及び位置に応じたＩＯ領域とに基づいてチップサイズを見積もることを特徴としたチップサイズ見積もり方法。
（付記１９）  半導体集積回路の設計装置であって、
付記１乃至１０の何れか一記載の電源パッドの数及び位置見積もり方法を用いて電源パッドの数及び位置を見積もる電源パッド数・位置算出手段を備える、
ことを特徴とする設計装置。
（付記２０）  半導体集積回路の設計装置であって、
付記１１乃至１６の何れか一記載のコアサイズ見積もり方法を用いてコアサイズを見積もるコアサイズ算出手段を備える、
ことを特徴とする設計装置。
（付記２１）  半導体集積回路の設計装置であって、
付記１１乃至１６の何れか一記載のコアサイズ見積もり方法を用いてコアサイズを見積もるコアサイズ算出手段と、
付記１乃至１０の何れか一記載の電源パッドの数及び位置見積もり方法を用いて電源パッドの数及び位置を見積もる電源パッド数・位置算出手段と
を備えることを特徴とする設計装置。
（付記２２）  付記１乃至１０の何れか一記載の電源パッドの数及び位置見積もり方法に従った処理を実行するプログラムが記録された記録媒体。
（付記２３）  付記１１乃至１６の何れか一記載のコアサイズ見積もり方法に従った処理を実行するプログラムが記録された記録媒体。
【符号の説明】
【０１４７】
Ｃ  コア部
Ｆ４  消費電力ファイル
Ｆ６  回路情報ファイル
Ｆ７  レイアウト条件ファイル
Ｆ８  電源配線抵抗網ファイル
Ｉｃ  許容電流値
Ｐｓ  基準パッド
Ｐｖ  電源パッド（初期電源パッド）
Ｐｄ  間引き処理の対象とする電源パッド（間引き対象パッド）
Ｌpath-idf.avg  平均パス長
Ｌnet-total   総ネット長
Ｌnet-total.X   水平方向の配線方向における総ネット長
Ｌnet-total.Y   垂直方向の配線方向における総ネット長
Ｌusable-total  使用可能チャネル長
Ｌusable-total.X  水平方向の配線方向における使用可能チャネル長
Ｌusable-total.Y  垂直方向の配線方向における使用可能チャネル長
Ｌnet-avg.FO=m  ファンアウトｍのときの平均ネット長
Ｌprohibit.n  配線層ｎのときの配線禁止チャネル長
Ａtemp-area   仮見積もりしたコア部の面積（仮面積）
ｍ  ファンアウト
ｒn   最大チャネル使用率
ｚA   回路ブロックの縦横比に応じた係数（アスペクト比）
１３  コアサイズ算出手段
１４  電源パッド数・位置算出手段
２１  設計装置
３２  回路ブロック
３３  配線領域
【図１】
0004824785.tif 000022
【図２】
0004824785.tif 000023
【図３】
0004824785.tif 000024
【図４】
0004824785.tif 000025
【図５】
0004824785.tif 000026
【図６】
0004824785.tif 000027
【図７】
0004824785.tif 000028
【図８】
0004824785.tif 000029
【図９】
0004824785.tif 000030
【図１０】
0004824785.tif 000031
【図１１】
0004824785.tif 000032
【図１２】
0004824785.tif 000033
【図１３】
0004824785.tif 000034
【図１４】
0004824785.tif 000035
【図１５】
0004824785.tif 000036
【図１６】
0004824785.tif 000037