(57)【要約】【課題】本発明の課題は、ＩＲドロップを考慮した消費電力を算出可能とする回路設計方法及び回路設計システムを提供すことを目的とする。【解決手段】上記課題は、ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手順を実行する回路設計方法により達成される。【選択図】図２
2008084966.tif 000002
【特許請求の範囲】
【請求項１】
ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手順を実行することを特徴とする回路設計方法。
【請求項２】
セル毎に前記ＩＲドロップ後の電圧を定義する電圧定義手順を実行し、
前記消費電力算出手順では、前記電圧定義手順によって定義された前記セル毎の電圧を使用して各セルの電力を算出し、算出した各セルの電力の合計を前記消費電力として算出することを特徴とする請求項１記載の回路設計方法。
【請求項３】
前記消費電力算出手順によって算出された前記消費電力を使用して電源網を解析する電源網解析手順を更に実行することを特徴とする請求項１又は２記載の回路設計方法。
【請求項４】
前記消費電力算出手順によって算出された各セルの電力を用いて、セル毎にＩＲドロップによって降下した電圧をＩＲドロップ値として算出するＩＲドロップ値算出手順を更に実行することを特徴とする請求項２又は３記載の回路設計方法。
【請求項５】
今回のＩＲドロップ値と前回のＩＲドロップ値との差が所定値以下であるか否かを判断する判断手順を更に実行し、
今回のＩＲドロップ値と前回のＩＲドロップ値との差が所定値を超える場合、前記消費電力算出手順と、前記電圧定義手順と、前記電源網解析手順と、前記ＩＲドロップ値算出手順とを繰り返すことを特徴とする請求項４記載の回路設計方法。
【請求項６】
前記電圧定義手順は、前記ＩＲドロップ値を前記ＩＲドロップ後の電圧として定義することを特徴とする請求項５記載の回路設計方法。
【請求項７】
前記ＩＲドロップ値算出手順によって算出されたセル毎のＩＲドロップ値から最も大きくＩＲドロップが起きたときの電圧を示す最大ＩＲドロップ値を特定して該最大ＩＲドロップ値となるセルを特定するセル特定手順を更に実行し、
前記判断手順は、前記セル特定手順によって特定された前記セルの前記今回のＩＲドロップ値と前記前回のＩＲドロップ値とを用いることを特徴とする請求項５又は６記載の回路設計方法。
【請求項８】
前記判断手順によって前記今回のＩＲドロップ値と前記前回のＩＲドロップ値との差が所定値を超えると判断した場合、遅延計算及びタイミング解析を行う遅延計算・タイミング解析手順を更に実行することを特徴とする請求項５乃至７のいずれか一項記載の回路設計方法。
【請求項９】
前記遅延計算・タイミング解析手順は、セル毎のＩＲドロップ値を電圧値として用いて遅延計算及びタイミング解析を行うことを特徴とする請求項８記載の回路設計方法。
【請求項１０】
コンピュータが回路設計を行う回路設計システムにおいて、該コンピュータが、
ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手段として機能することを特徴とする回路設計システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＲドロップを考慮した消費電力を算出可能とする回路設計方法及び回路設計システムに関する。
【背景技術】
【０００２】
従来、ＬＳＩ（Large Scale Integration）の設計において、チップに電源を供給する場合、チップ上の全てのセルに同じ電源電圧が供給されるものとしてセル毎で消費される電力が計算されていた。そして、算出された電力を用いて、チップの電源の抵抗値から、対象セルでの電圧降下、すなわちＩＲドロップが算出され、また、各セルのＩＲドロップによって降下した電圧が算出されていた。その後、これら算出された電力、各セルのＩＲドロップ後の電圧などを用いて遅延計算及びタイミング解析などを含むシミュレーションが実施されていた。
【特許文献１】特開２００２−３４２４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、ＩＲドロップしない状態にてチップで消費される電力を算出し、そしてＩＲドロップ後の電圧が算出されるため、ＩＲドロップしない状態で算出した電力に対応する電圧とＩＲドロップ後の電圧との差は実際以上となり、各セルに対してより広い範囲で電圧を保障しなければならず、過剰なタイミング保障を設計段階で要求していた。従って、実際に要求される以上に広い電圧範囲を保障する結果となり、チップサイズの増加、コスト増加などを招いていた。
【０００４】
よって、本発明の目的は、ＩＲドロップを考慮した消費電力を算出可能とする回路設計方法及び回路設計システムを提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明は、ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手順を実行するように構成される。
【０００６】
このような回路設計方法では、ＩＲドロップを考慮した消費電力を算出することが可能となる。
【０００７】
上記課題を解決するための手段として、本発明は、上記手順をコンピュータに実行させるためのプログラム、そのプログラムを記憶したコンピュータ読み取り可能な記憶媒体、及び、該プログラムによって上記手順を実行する回路設計に係るシミュレーションシステムとすることもできる。
【発明の効果】
【０００８】
本願発明は、消費電力の予測をより正確にすることによって、チップサイズの増加、コスト増加を防ぐことが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
本発明に係る回路設計方法を実現するシミュレーションシステムは、コンピュータ装置であって、図１に示すようなハードウェア構成を有する。図１は、本発明の一実施例に係るシミュレーションシステムのハードウェア構成を示す図である。
【００１１】
図１において、シミュレーションシステム１００は、コンピュータによって制御される装置であって、ＣＰＵ（Central Processing Unit）１１と、メモリユニット１２と、表示ユニット１３と、出力ユニット１４と、入力ユニット１５と、通信ユニット１６と、記憶装置１７と、ドライバ１８とで構成され、システムバスＢに接続される。
【００１２】
ＣＰＵ１１は、メモリユニット１２に格納されたプログラムに従ってシミュレーションシステム１００を制御する。メモリユニット１２は、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read-Only Memory）等にて構成され、ＣＰＵ１１にて実行されるプログラム、ＣＰＵ１１での処理に必要なデータ、ＣＰＵ１１での処理にて得られたデータ等を格納する。また、メモリユニット１２の一部の領域が、ＣＰＵ１１での処理に利用されるワークエリアとして割り付けられている。
【００１３】
表示ユニット１３は、ＣＰＵ１１の制御のもとに必要な各種情報を表示する。出力ユニット１４は、プリンタ等を有し、利用者からの指示に応じて各種情報を出力するために用いられる。入力ユニット１５は、マウス、キーボード等を有し、利用者がシミュレーションシステム１００が処理を行なうための必要な各種情報を入力するために用いられる。
【００１４】
通信ユニット１６は、シミュレーションシステム１００が例えばインターネット、ＬＡＮ（Local Area Network）等のネットワークを介する通信の制御をするための装置である。
【００１５】
記憶装置１７は、例えば、ハードディスクユニットにて構成され、各種処理を実行するプログラム等のデータを格納する。
【００１６】
シミュレーションシステム１００よって行われる回路設計方法での処理を実現するプログラムは、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）等の記憶媒体１９によってシミュレーションシステム１００に提供される。即ち、プログラムが保存された記憶媒体１９がドライバ１８にセットされると、ドライバ１８が記憶媒体１９からプログラムを読み出し、その読み出されたプログラムがシステムバスＢを介して記憶装置１７にインストールされる。そして、プログラムが起動されると、記憶装置１７にインストールされたプログラムに従ってＣＰＵ１１がその処理を開始する。
【００１７】
尚、プログラムを格納する媒体としてＣＤ−ＲＯＭに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。本発明に係る処理を実現するプログラムは、通信ユニット１６によってネットワークを介してダウンロードし、記憶装置１７にインストールするようにしても良い。また、シミュレーションシステム１００が外部との接続を行うＵＳＢ（Universal Serial Bus）等のインタフェースを有する場合には、ＵＳＢ接続によって外部記憶媒体からプログラムを読み込んでもよい。
【００１８】
シミュレーションシステム１００のＣＰＵ１１によって実行されるＩＲドロップを考慮した消費電力を算出する回路設計処理について図２で説明する。図２は、ＩＲドロップを考慮した消費電力を算出する回路設計処理を説明するためのフローチャート図である。
【００１９】
図２において、ステップＳ２３からＳ２７までの処理を繰り返し処理という。ＣＰＵ１１は、配置配線の完了したレイアウトデータ３１を読み込み（ステップＳ２１）、ＩＲドロップが最大となるとして特定されたセルのセル識別情報を設定するための特定セル記憶領域３２を初期設定する（ステップＳ２２）。例えば、特定セル記憶領域３２にゼロが設定される。
【００２０】
電流値等を含む出力負荷等の情報に基づいて、各セルの電力と回路全体の消費電力とを算出して（ステップＳ２３）、各セルの消費電力と電源抵抗網を用いて電源網解析を行う（ステップＳ２４）。ステップＳ２３では、繰り返し処理が初回の場合、予め設定されている電圧が使用され、２回目以降は、後述されるステップＳ２６−４で定義される電圧が使用されて、各セルの電力と、回路全体の消費電力とが算出される。
【００２１】
次に、ＣＰＵ１１は、ステップＳ２３にて算出されて電力とステップＳ２４の電源網解析の結果から取得される電源端子からの配線の長さとに基づいて、セル毎にＩＲドロップを算出して、算出したＩＲドロップを用いてＩＲドロップによって降下した電圧をＩＲドロップ値として算出する（ステップＳ２５）。
【００２２】
そして、ＣＰＵ１１は、繰り返し処理が初回であるか否かを特定セル記憶領域の値で判断する（ステップＳ２６）。特定セル記憶領域３２が初期設定されている場合、ＣＰＵ１１は、初回であると判断し、特定セル記憶領域３２にセル識別情報が設定されている場合、初回ではないと判断する。
【００２３】
ステップＳ２６において、繰り返し処理が初回である場合、ＣＰＵ１１は、ステップＳ２５にて算出したセル毎のＩＲドロップ値から最も大きくＩＲドロップが起きたときの電圧を示す最大ＩＲドロップ値を特定してその最大ＩＲドロップ値となるセルを特定して、特定セル記憶領域３２に特定したセルのセル識別情報を設定する（ステップＳ２６−２）。
【００２４】
そして、ＣＰＵ１１は、ステップＳ２５で算出したセル毎のＩＲドロップ値を用いてセル毎にＩＲドロップ後の電圧を定義して（ステップＳ２６−４）、ステップＳ２３へ戻り、上述した処理を繰り返す。
【００２５】
一方、ステップＳ２６において、繰り返し処理が初回でない場合、ＣＰＵ１１は、特定セル記憶領域３２を参照することによってステップＳ２６−２で特定したセルの今回のＩＲドロップ値と前回のＩＲドロップ値との差が所定値以下であるか否かを判断する（ステップＳ２７）。例えば、所定値を前回のＩＲドロップ値の１％として判断する。
【００２６】
ステップＳ２７において、差が所定値を超える場合、ＣＰＵ１１は、ステップＳ２６−４へと進み、上述した処理を繰り返す。
【００２７】
一方、ステップＳ２７において、差が所定値以下である場合、ＣＰＵ１１は、セル毎にＩＲドロップ値を考慮した遅延計算及びタイミング解析を行う（ステップＳ２８）。遅延計算及びタイミング解析際に、セル毎のＩＲドロップ値を電圧値として用いる。
【００２８】
そして、その解析結果に基づいてエラーがあるか否かを判断する（ステップＳ２９）。エラーがある場合、ＣＰＵ１１は、レイアウトデータ３１を変更することによってレイアウトを修正し、ステップＳ２１へと戻り上述した処理を繰り返す。一方、エラーがない場合、ＣＰＵ１１は、回路設計処理を終了する。
【００２９】
上述した回路設計処理において、ステップＳ２５では、前回のＩＲドロップ後の消費電力で今回のＩＲドロップ値が算出されることになる。
【００３０】
ステップＳ２７の判断処理において、比較する所定値は、繰り返し処理の回数が、ＴＡＴ（Turn Around Time）を考慮した回数となるようにユーザによって設定可能としてもよい。
【００３１】
次に、繰り返し処理によって記憶領域内に展開されるデータ構成について図３で説明する。図３は、繰り返し処理によるデータ構成の例を示す図である。図３において、図２で説明した回路設計処理における繰り返し処理によって、記憶領域内にレイアウトデータ３１から読み込んだセル識別情報毎に、電圧（Ｖ）、電力（Ｗ）、消費電力（Ｗ）、ＩＲドロップ値（Ｖ）などの値が繰り返す毎に格納される。
【００３２】
例えば、全てのセルに対して電圧１（Ｖ）が初期値として定義されているとすると、１回目の図２のステップＳ２３からＳ２５の処理によって、セル識別情報「セルＡ」の電圧に１（Ｖ）、電力にＰａ１（Ｗ）、ＩＲドロップ値に１（Ｖ）が設定され、セル識別情報「セルＢ」の電圧に１（Ｖ）、電力にＰｂ１（Ｗ）、ＩＲドロップ値に０．８（Ｖ）が設定され、・・・、回路全体の消費電力はＰａ１＋Ｐｂ１＋・・・（Ｗ）の合計が設定される。
【００３３】
図２のステップＳ２６−４にて、２回目の繰り返しのために１回目のＩＲドロップ値が参照されて、２回目の繰り返し処理のために記憶領域内に、セル識別情報「セルＡ」の電圧に１（Ｖ）が設定され、セル識別情報「セルＢ」の電圧に０．８（Ｖ）が設定される。他のセルに対しても同様にＩＲドロップ後の電圧が定義される。
【００３４】
記憶領域内の２回目の繰り返し処理の結果として、セル毎に電力（Ｗ）、消費電力（Ｗ）、ＩＲドロップ値などが１回目と同様に格納される。例えば、２回目では、セル識別情報「セルＡ」の電圧は１（Ｖ）、電力はＰａ１（Ｗ）、ＩＲドロップ値は１（Ｖ）であり、セル識別情報「セルＢ」の電圧は０．８（Ｖ）、電力はＰｂ２（Ｗ）、ＩＲドロップ値は０．９（Ｖ）であり、・・・、回路全体の消費電力はＰａ１＋Ｐｂ２＋・・・（Ｗ）の合計値となる。
【００３５】
例えば、図２のステップＳ２７で比較される所定値が前記のＩＲドロップ値に対して１％であるとし、また、特定セル記憶領域３２にセル識別情報「セルＢ」が格納されている場合、セル識別情報「セルＢ」の２回目のＩＲドロップ値と１回目のＩＲドロップ値との差は「０．１」（Ｖ）であるため、ステップＳ２７での判断は、１回目のＩＲドロップ値の１％（０．０８（Ｖ））以上となり、繰り返し処理を継続することとなる。
【００３６】
図２のステップＳ２６−４にて、３回目の繰り返しのために２回目のＩＲドロップ値が参照されて、３回目の繰り返し処理のために記憶領域内に、セル識別情報「セルＡ」の電圧に１（Ｖ）が設定され、セル識別情報「セルＢ」の電圧に０．９（Ｖ）が設定される。他のセルに対しても同様にＩＲドロップ後の電圧が定義される。
【００３７】
記憶領域内の３回目の繰り返し処理の結果として、セル毎に電力（Ｗ）、消費電力（Ｗ）、ＩＲドロップ値などが１、２回目と同様に格納される。例えば、２回目では、セル識別情報「セルＡ」の電圧は１（Ｖ）、電力はＰａ１（Ｗ）、ＩＲドロップ値は１（Ｖ）であり、セル識別情報「セルＢ」の電圧は０．９（Ｖ）、電力はＰｂ３（Ｗ）、ＩＲドロップ値は０．９５（Ｖ）であり、・・・、回路全体の消費電力はＰａ１＋Ｐｂ３＋・・・（Ｗ）の合計値となる。
【００３８】
セル識別情報「セルＢ」の３回目のＩＲドロップ値と２回目のＩＲドロップ値との差は「０．０５」（Ｖ）であるため、ステップＳ２７での判断は、２回目のＩＲドロップ値の１％（０．００５（Ｖ））以下となり、繰り返し処理を行わずステップＳ２８が実行されることとなる。
【００３９】
上述したように、繰り返す毎にＩＲドロップ値を算出し、そのＩＲドロップ値を考慮した消費電力が算出されるため、実際の回路動作時の値に近いより正確な値を得ることができる。
【００４０】
図３の例では、０．９５（Ｖ）から１（Ｖ）までを確実に保障するために、例えば、０．９４（Ｖ）から１．１（Ｖ）をオーダとする回路設計を行えばよいことになる。一方、上述したような繰り返し処理を行わなかった場合、１回目で得られる値のみが考慮されるため、０．８（Ｖ）から１（Ｖ）までを確実に保障しなければならず、チップサイズの増加、コスト増加などの原因となっていた。
【００４１】
従って、本発明に係る回路設計処理では、最も大きくＩＲドロップが起こるセルを特定し、そのセルについて繰り返し処理毎にＩＲドロップの程度の収束を判断するため、より正確に保障すべき電圧の範囲を決定することができ、また、より正確な消費電力の値を得ることができる。よって、必要以上の保障をすることなく最適な回路設計を行うことができる。
【００４２】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手順を実行することを特徴とする回路設計方法。
（付記２）
セル毎に前記ＩＲドロップ後の電圧を定義する電圧定義手順を実行し、
前記消費電力算出手順では、前記電圧定義手順によって定義された前記セル毎の電圧を使用して各セルの電力を算出し、算出した各セルの電力の合計を前記消費電力として算出することを特徴とする付記１記載の回路設計方法。
（付記３）
前記消費電力算出手順によって算出された前記消費電力を使用して電源網を解析する電源網解析手順を更に実行することを特徴とする付記１又は２記載の回路設計方法。
（付記４）
前記消費電力算出手順によって算出された各セルの電力を用いて、セル毎にＩＲドロップによって降下した電圧をＩＲドロップ値として算出するＩＲドロップ値算出手順を更に実行することを特徴とする付記２又は３記載の回路設計方法。
（付記５）
今回のＩＲドロップ値と前回のＩＲドロップ値との差が所定値以下であるか否かを判断する判断手順を更に実行し、
今回のＩＲドロップ値と前回のＩＲドロップ値との差が所定値を超える場合、前記消費電力算出手順と、前記電圧定義手順と、前記電源網解析手順と、前記ＩＲドロップ値算出手順とを繰り返すことを特徴とする付記４記載の回路設計方法。
（付記６）
前記電圧定義手順は、前記ＩＲドロップ値を前記ＩＲドロップ後の電圧として定義することを特徴とする付記５記載の回路設計方法。
（付記７）
前記ＩＲドロップ値算出手順によって算出されたセル毎のＩＲドロップ値から最も大きくＩＲドロップが起きたときの電圧を示す最大ＩＲドロップ値を特定して該最大ＩＲドロップ値となるセルを特定するセル特定手順を更に実行し、
前記判断手順は、前記セル特定手順によって特定された前記セルの前記今回のＩＲドロップ値と前記前回のＩＲドロップ値とを用いることを特徴とする付記５又は６記載の回路設計方法。
（付記８）
前記判断手順によって前記今回のＩＲドロップ値と前記前回のＩＲドロップ値との差が所定値を超えると判断した場合、遅延計算及びタイミング解析を行う遅延計算・タイミング解析手順を更に実行することを特徴とする付記５乃至７のいずれか一項記載の回路設計方法。
（付記９）
前記遅延計算・タイミング解析手順は、セル毎のＩＲドロップ値を電圧値として用いて遅延計算及びタイミング解析を行うことを特徴とする付記８記載の回路設計方法。
（付記１０）
コンピュータが回路設計を行う回路設計システムにおいて、該コンピュータが、
ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手段として機能することを特徴とする回路設計システム。
（付記１１）
回路設計を行う回路設計方法での処理をコンピュータに行わせるためのプログラムであって、該コンピュータに、
ＩＲドロップ後の電圧に基づいて回路全体の消費電力を算出する消費電力算出手順を実行させることを特徴とするコンピュータ実行可能なプログラム。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施例に係るシミュレーションシステムのハードウェア構成を示す図である。
【図２】ＩＲドロップを考慮した消費電力を算出する回路設計処理を説明するためのフローチャート図である。
【図３】図３は、繰り返し処理によるデータ構成の例を示す図である。
【符号の説明】
【００４４】
１１          ＣＰＵ
１２          メモリユニット
１３          表示ユニット
１４          出力ユニット
１５          入力ユニット
１６          通信ユニット
１７          記憶装置
１８          ドライバ
１９          記憶媒体
３１          レイアウトデータ
３２          特定セル記憶領域
【図１】
2008084966.tif 000003
【図２】
2008084966.tif 000004
【図３】
2008084966.tif 000005