(57)【要約】【課題】回路設計早期での半導体集積回路の消費電力の見積りを精度良く、かつ短時間で行えるようにする。【解決手段】論理素子のサイズが未確定の半導体集積回路の回路情報と遅延情報とを用いてタイミング解析を行い、回路中のパス毎のタイミング余裕度を求め、そのタイミング余裕度をパス中に含まれる各論理素子に分割して割り当てるとともに、半導体集積回路の回路情報と回路動作情報とを用いて消費電力解析を行い、回路中の各論理素子での消費電力を求め、割り当てられたタイミング余裕度に対する電力補正値を電力補正情報から取得して消費電力解析により得られた論理素子の消費電力を補正する処理を各論理素子について行い消費電力を見積るようにして、サイズの変更を考慮した補正を行い、かつ１回だけのタイミング解析で消費電力の見積りを行うことができるようにする。【選択図】図４
2009301505.tif 000002
【特許請求の範囲】
【請求項１】
論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行うタイミング解析ステップと、
前記タイミング解析の結果に基づいて、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てる余裕度割り当てステップと、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析ステップと、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記余裕度割り当てステップで割り当てられた前記タイミング余裕度に応じて、前記電力解析ステップで得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正ステップとをコンピュータに実行させるためのプログラム。
【請求項２】
前記余裕度割り当てステップでは、前記パス中に含まれる論理素子数で当該パスのタイミング余裕度を等分して各論理素子に割り当てることを特徴とする請求項１記載のプログラム。
【請求項３】
前記電力補正情報は、論理素子のサイズを変更した際の遅延と消費電力との特性に基づく前記タイミング余裕度に対する電力補正値を折れ線近似した複数の座標情報であることを特徴とする請求項１又は２記載のプログラム。
【請求項４】
論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行うタイミング解析工程と、
前記タイミング解析の結果に基づいて、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てる余裕度割り当て工程と、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析工程と、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記余裕度割り当て工程で割り当てられた前記タイミング余裕度に応じて、前記電力解析工程で得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正工程とを有することを特徴とする半導体集積回路の消費電力見積り方法。
【請求項５】
論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行い、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てるタイミング解析処理部と、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析処理部と、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記タイミング解析処理部により割り当てた前記タイミング余裕度に応じて、前記電力解析処理部により得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正処理部とを備えることを特徴とする半導体集積回路の消費電力見積り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の消費電力見積り装置、消費電力見積り方法及びプログラムに関し、詳しくは、遅延最適化処理前などの設計早期に行うことが可能な消費電力見積り技術に関する。
【背景技術】
【０００２】
半導体集積回路において、消費電力の削減が重要な技術課題になっている。回路設計の早い段階ほど大きな効果を期待できる消費電力対策が行えるといったことから、設計早期における消費電力の見積りや削減検討の重要性が増している。
【０００３】
しかし、回路設計の早い段階では、例えば、回路の一部もしくは全体について記述レベルがＲＴＬ（Register Transfer Level）などでセル（回路の構成部品として提供される論理素子）にマッピングされていない。また、例えば、回路がセルにマッピングされていても、遅延最適化処理が行われていないためにセルのサイズが不適当であったり、未配線であるために配線容量が未確定であったりする。したがって、通常、最終的な設計結果に対して回路設計の早い段階での消費電力見積りに係る情報の確度が低く、このため設計早期における消費電力の解析精度が低いという問題がある。
【０００４】
セルベースの半導体集積回路設計において、動作レベル記述のようなセルを用いない抽象度の高い論理記述に対して論理的に等価になるように簡易にセルにマッピングし、セルの電力ライブラリの情報を用いて消費電力を見積る技術が提案されている。また、配線容量をネットのファンアウト数やブロック規模などからモデル化して見積って、消費電力の見積りを行うツールが提供されている。
【０００５】
【特許文献１】米国特許第６５９８２０９号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ここで、セルベースの半導体集積回路設計では、通常、セルのライブラリとしてはインバータや２入力ＮＡＮＤ（否定論理積）演算等の基本論理に対してトランジスタサイズの異なる複数のセルが提供されている。トランジスタサイズの異なる同一論理の複数のセルのうち、どのセルが回路中で使用されるかは、主に回路に要求される速度性能に応じて決定される。
【０００７】
したがって、上述のようにセルを用いない抽象度の高い論理記述に対し論理的に等価になるように簡易にセルにマッピングした場合には（手法Ａ）、マッピングされたセルのトランジスタサイズは、その回路の遅延制約（タイミング制約）に必ずしもあっていない。また、セルを用いた回路記述であっても遅延最適化処理前や別の回路の設計データを流用した場合には（手法Ｂ）、そのデータに組み込まれているセルのトランジスタサイズは、回路の遅延制約に必ずしもあっていない。手法Ａや手法Ｂを用いて設計早期での消費電力の見積りを行うと、使用されているセルのトランジスタサイズが回路の遅延制約にあっていないために、セルのサイズが最終的な設計結果とかけ離れ、消費電力の見積り誤差が大きくなってしまうという問題がある。
【０００８】
消費電力の見積り精度の向上を図るために、マッピングされるセルのトランジスタサイズに係る精度を向上させる方法としては、実際に論理合成等の遅延最適化処理を行ってから消費電力の解析を行う方法が考えられる。しかし、遅延最適化処理を行う場合には、回路変更→遅延解析→回路変更→遅延解析→・・・のように回路変更と遅延解析との処理が繰り返し実行されるために多大な時間を要し、全体の処理時間が増大してしまう。
【０００９】
本発明は、回路設計早期での半導体集積回路の消費電力の見積りを精度良く、かつ短時間で行えるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一観点によれば、論理素子のサイズが未確定の半導体集積回路の回路情報と遅延情報とを用いたタイミング解析により求めた回路中のパス毎のタイミング余裕度を当該パス中に含まれる各論理素子に分割して割り当て、半導体集積回路の回路情報と回路動作情報とを用いた消費電力解析により求めた回路中の各論理素子での消費電力を、割り当てられたタイミング余裕度に応じて補正する処理を回路中の各論理素子について行い半導体集積回路の消費電力を見積る。
【発明の効果】
【００１１】
本発明によれば、設計早期のサイズが不確定な段階であっても、サイズの変更を考慮した補正を行って半導体集積回路の消費電力の見積りを行うことができ、見積り精度を向上させることができる。また、回路のタイミング解析は１回行うだけで良いので、短い処理時間で消費電力の見積りを行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
以下の説明では、ライブラリ等により半導体集積回路の構成部品として提供される論理素子を「セル」と称す。また、実際に回路のデータに組み込まれたセル（論理素子）を「インスタンス」とも称す。
【００１３】
また、「パス」とは、同期式回路での順序セル（回路）から順序セルに至るまでの回路部分、入力信号（入力端）及び順序セル間の回路部分、順序セル及び出力信号（出力端）間の回路部分等のようにクロックサイクル等と遅延比較しタイミングチェックを行う単位部分回路とする。具体例としては、半導体集積回路中の順序回路及び当該順序回路の出力を受ける順序回路間、半導体集積回路の入力端及び当該入力端からの入力を受ける順序回路間、順序回路及び当該順序回路の出力を出力する半導体集積回路の出力端間の部分回路のそれぞれを「パス」と称す。
【００１４】
図１は、本発明の一実施形態に係る半導体集積回路の消費電力見積り装置のハードウェア構成例を示すブロック図である。
【００１５】
本実施形態における消費電力見積り装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ハードディスク（ＨＤ）１０５のハードディスクドライブ（ＨＤＤ）１０４と、フレキシブルディスク（ＦＤ）１０７のフレキシブルディスクドライブ（ＦＤＤ）１０６と、出力部としてのディスプレイ１０８と、インタフェース１０９と、入力部としてのキーボード１１０及びマウス１１１とを有する。ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、ＨＤＤ１０４、ＦＤＤ１０６、ディスプレイ１０８、インタフェース１０９、キーボード１１０、及びマウス１１１は、バス１００を介して互いに通信可能に接続されている。
【００１６】
ＣＰＵ１０１は、ＲＯＭ１０２又はＨＤ１０５に記憶されたソフトウェア、又はＦＤ１０７より供給されるソフトウェアを実行することで、消費電力見積り装置の全体の制御を司る。すなわち、ＣＰＵ１０１は、ＲＯＭ１０２、ＨＤ１０５、又はＦＤ１０７から処理プログラムを読み出して実行することで、バス１００に接続された各構成部を統括的に制御し、例えば後述する消費電力見積りに係る動作を実現するための制御を行う。ＲＯＭ１０２は、例えばブートプログラム等のプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ又はワークエリア等として機能する。
【００１７】
ＨＤＤ１０４は、ＣＰＵ１０１の制御に従ってＨＤ１０５に対するデータのリード（読み出し）／ライト（書き込み）を制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶したり、記憶しているデータを供給したりする。
【００１８】
ＦＤＤ１０６は、ＣＰＵ１０１の制御に従ってＦＤ１０７に対するデータのリード（読み出し）／ライト（書き込み）を制御する。ＦＤ１０７は、着脱可能な記録媒体であり、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、記憶しているデータを供給したりする。なお、消費電力見積り装置に着脱可能な記録媒体として、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ等の光磁気ディスク、ＤＶＤ、メモリカード等を用いても良い。
【００１９】
ディスプレイ１０８は、カーソル、アイコン、或いはツールボックスをはじめ、文書、画像、機能情報等のデータを表示する。ディスプレイ１０８は、例えばＣＲＴや液晶ディスプレイ（ＬＣＤ）等である。
【００２０】
インタフェース１０９は、通信回線を通じてインターネット等のネットワーク１１４に接続され、このネットワーク１１４を介して他の装置（外部装置）に通信可能に接続される。インタフェース１０９は、ネットワーク１１４と内部のインタフェースを司り、外部装置からのデータの入出力を制御する。インタフェース１０９は、例えばモデムやＬＡＮアダプタ等である。
【００２１】
キーボード１１０は、データの入力を行うためのものであり、文字、数字、各種指示等を入力するためのキーを有する。マウス１１１は、カーソルの移動や範囲選択、或いはウィンドウの移動やサイズの変更等を行うためのものである。
【００２２】
次に、本実施形態に係る半導体集積回路の消費電力見積り装置の機能的な構成について説明する。図２は、本実施形態における消費電力見積り装置の機能構成例を示すブロック図である。
【００２３】
図２において、２００は処理部であり、２１０は記憶部である。処理部２００は、タイミング解析処理部２０１、初期電力解析処理部２０２、及び電力補正処理部２０３を有し、記憶部２１０に記憶されている実行プログラム２１１を読み出し実行することで、消費電力見積りに係る処理を行う。記憶部２１０には、実行プログラム２１１を含む各種情報等が記憶される。処理部２００は、図１に示したＣＰＵ１０１等により実現され、記憶部２１０は、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７等により実現される。
【００２４】
タイミング解析処理部２０１は、記憶部２１０から読み出された遅延制約２１２、遅延ライブラリ２１３、及び回路記述２１４が入力される。タイミング解析処理部２０１は、これらの情報２１２、２１３、２１４を用いて回路のタイミング解析を行い、回路中のパス毎のタイミング余裕度（タイミング解析により得られた実際のパスの遅延値をパスが満たすべき最大遅延値から減算した値）を求める。さらに、タイミング解析処理部２０１は、求めたパスのタイミング余裕度を分割して当該パスに含まれる各インスタンスに割り当て、割り当てた結果をインスタンス毎のタイミング余裕度２１７として記憶部２１０に出力し記憶させる。
【００２５】
ここで、遅延制約２１２は、回路中のパスが満たすべきタイミング的制約であり、パスにおける許容可能な遅延値（最大遅延値）が規定されている。遅延ライブラリ２１３は、各セルの遅延値に係る情報である。回路記述２１４は、セルへのマッピングは済んでいるが、遅延最適化を行っていない回路情報、すなわち実際に使用されるセルのトランジスタサイズが不確定な段階の回路構成に係る情報である。
【００２６】
初期電力解析処理部２０２は、記憶部２１０から読み出された回路記述２１４、電力ライブラリ２１５、及び回路動作情報２１６が入力され、これらの情報２１４、２１５、２１６を用いて初期電力解析を行う。初期電力解析処理部２０２は、初期電力解析としてセルベースの消費電力解析を行う。さらに、初期電力解析処理部２０２は、初期電力解析により得られた回路中の各インスタンスの消費電力値を初期解析結果（インスタンス毎の消費電力）２１８として記憶部２１０に出力し記憶させる。
【００２７】
ここで、電力ライブラリ２１５は、各セルでの消費電力に係る情報である。また、回路動作情報２１６は、例えば回路中の各インスタンスの動作周波数等の回路動作に係る情報である。
【００２８】
電力補正処理部２０３は、記憶部２１０から読み出されたインスタンス毎のタイミング余裕度２１７、初期解析結果（インスタンス毎の消費電力）２１８、及びセル電力補正情報２１９が入力される。電力補正処理部２０３は、これらの情報２１７、２１８、２１９を用いて各インスタンスについて消費電力の補正処理を行い、回路中の全インスタンスの補正後の消費電力値の総和を最終の消費電力見積り結果２２０として記憶部２１０に出力し記憶させる。この最終の消費電力見積り結果２２０が、半導体集積回路の消費電力見積り結果として外部等に出力される。
【００２９】
ここで、電力補正情報２１９は、各セルについてのタイミング余裕度等に応じた電力補正値（電力変動値）に係る情報である。
【００３０】
次に、本実施形態における半導体集積回路の消費電力見積りに係る動作について説明する。
本実施形態における消費電力見積りでは、図３に一例を示すように、使用するセルのサイズ（トランジスタサイズ）を選択する際のセルの遅延とセルの消費電力の間に負の相関があることを利用して、各インスタンスについて消費電力の補正を行う。
【００３１】
図３は、セルのトランジスタサイズの変化に対するセルの遅延及びセルの消費電力のそれぞれの変化の一例を示す図である。図３において、Ｌ１はセルの遅延時間（ｄｅｌａｙ）を示し、Ｌ２はセルのリーク電力（Ｐｌｅａｋ）を示し、Ｌ３はセルのスイッチング電力（Ｐｓｗ）を示している。
【００３２】
グラフの右側ほどトランジスタサイズが大きいものである。図３に示されるように、セルのトランジスタサイズを大きくするにつれて、セルの遅延は小さくなる。一方、セルのトランジスタサイズを大きくするにつれて、セルの消費電力（リーク電力及びスイッチング電力）は大きくなる。したがって、回路設計において、遅延を小さくするためにセルのトランジスタサイズを上げると、回路の消費電力は増加することになる。
【００３３】
そこで、本実施形態における消費電力見積りでは、インスタンスに割り当てられたタイミング余裕度が負である場合、遅延最適化処理を行うと遅延値を小さくするためにトランジスタサイズのより大きなセルに置き換えられて消費電力が増加すると仮定する。一方、インスタンスに割り当てられたタイミング余裕度が正である場合、遅延最適化処理を行うと消費電力を低減するためにトランジスタサイズのより小さなセルに置き換えられて消費電力が減少すると仮定する。このような半導体集積回路の最適化を仮定して、各インスタンスに割り当てられたタイミング余裕度を基に消費電力値を補正する。
【００３４】
図４は、本実施形態における消費電力見積りの処理の流れを示す図である。この図４において、図２に示した構成要素と同一の構成要素には同一の符号を付している。
【００３５】
まず、半導体集積回路のタイミング解析処理及び初期電力解析処理を行う。
【００３６】
（タイミング解析処理）
タイミング解析処理では、タイミング解析処理部２０１は、遅延制約２１２、遅延ライブラリ２１３、及び遅延最適化実施前の回路記述２１４に基づいて、与えられた回路に対するタイミング解析を行う（４０２）。このタイミング解析により回路中の各パスについてパス毎のタイミング余裕度２１７Ａを求める。
【００３７】
次に、タイミング解析処理部２０１は、求めたパスのタイミング余裕度２１７Ａを分割して、当該パスに含まれる各インスタンスに割り当てる（４０３）。ここで、複数のパスが部分的に共通なインスタンスを持つ、すなわち、ある１つのインスタンスが複数のパスで共有される場合がある。この場合には、複数のパスに含まれるインスタンスについては、そのインスタンスに対してそれぞれのパスで割り当てられるタイミング余裕度のうち、値が最も小さい余裕度（遅延に係る条件が最も厳しいもの）が選択され割り当てられる。
【００３８】
図５は、各インスタンスに対してタイミング余裕度を割り当てる処理の流れを示す図である。
まず、タイミング解析処理部２０１に対して、タイミング解析済みの回路設計データが入力される（Ｓ１１）。次に、タイミング解析処理部２０１は、回路中のパスの中からインスタンスに対するタイミング余裕度の割り当て処理が実行されていないパスを選択する（Ｓ１２）。ここでは、選択したパスのタイミング余裕度をＳとする。
【００３９】
次に、タイミング解析処理部２０１は、ステップＳ１２で選択したパスのタイミング余裕度Ｓを分割し、パス中に含まれる各インスタンスＩ１、Ｉ２、…、Ｉｋ（ｋは自然数）に割り当てるタイミング余裕度の値Ｓ１、Ｓ２、…、Ｓｋを決定する（Ｓ１３）。
【００４０】
続いて、タイミング解析処理部２０１は、ステップＳ１２で選択したパスに含まれるインスタンスの中から、当該パスに係るタイミング余裕度の割り当て処理を実行していないインスタンスＩｊを選択する（Ｓ１４）。
【００４１】
次に、タイミング解析処理部２０１は、ステップＳ１４で選択したインスタンスＩｊが他のパスに係る処理によって既にタイミング余裕度が割り当てられたインスタンスであるか否かを判断する（Ｓ１５）。さらに、タイミング解析処理部２０１は、インスタンスＩｊがタイミング余裕度の割り当てられたインスタンスである場合には、タイミング余裕度の値Ｓｊが既に割り当てられているタイミング余裕度の値Ｐ以上であるか否かを判断する（Ｓ１５）。なお、タイミング余裕度の値Ｓｊは、ステップＳ１３で決定されたインスタンスＩｊに割り当てるタイミング余裕度の値である。
【００４２】
判断の結果、インスタンスＩｊが既にタイミング余裕度が割り当てられたインスタンスでない場合には（Ｓ１５のＮ）、タイミング解析処理部２０１は、インスタンスＩｊにステップＳ１３で決定したタイミング余裕度の値Ｓｊを割り当てる（Ｓ１６）。また、ステップＳ１３で決定したタイミング余裕度の値Ｓｊが既に割り当てられているタイミング余裕度の値Ｐより小さい場合にも（Ｓ１５のＮ）、タイミング解析処理部２０１は、インスタンスＩｊに割り当てるタイミング余裕度の値をＳｊに変更する（Ｓ１６）。
【００４３】
一方、ステップＳ１５での判断の結果、ステップＳ１３で決定したタイミング余裕度の値Ｓｊが既に割り当てられている値Ｐ以上である場合には（Ｓ１５のＹ）、タイミング解析処理部２０１は、インスタンスＩｊに係るタイミング余裕度の変更を行わない。すなわち、インスタンスＩｊに割り当てられたタイミング余裕度の値はＰに維持される。
【００４４】
次に、タイミング解析処理部２０１は、ステップＳ１２で選択したパスに含まれるすべてのインスタンスについて、当該パスに係るタイミング余裕度の割り当て処理が完了したか否かを判断する（Ｓ１７）。その結果、ステップＳ１２で選択したパスに係るタイミング余裕度の割り当て処理を実行していないインスタンスがある場合には（Ｓ１７のＮ）、ステップＳ１４に戻る。
【００４５】
一方、ステップＳ１７での判断の結果、パスに含まれるすべてのインスタンスについてタイミング余裕度の割り当て処理を完了したと判断した場合には（Ｓ１７のＹ）、ステップＳ１８に進む。そして、タイミング解析処理部２０１は、回路中のすべてのパスについて、インスタンスに対するタイミング余裕度の割り当て処理が完了したか否かを判断する（Ｓ１８）。
【００４６】
ステップＳ１８での判断の結果、インスタンスに対するタイミング余裕度の割り当て処理を実行していないパスがある場合には（Ｓ１８のＮ）、ステップＳ１２に戻る。一方、回路中のすべてのパスについて、インスタンスに対するタイミング余裕度の割り当て処理を完了したと判断した場合には（Ｓ１８のＹ）、図５に示す処理を終了する。
以上のようにして、タイミング解析処理部２０１が、回路中のパス毎のタイミング余裕度２１７Ａを分割して各インスタンスに割り当てることにより、インスタンス毎のタイミング余裕度２１７が求められる。
【００４７】
（初期電力解析処理）
初期電力解析処理では、初期電力解析処理部２０２は、遅延最適化実施前の回路記述２１４、電力ライブラリ２１５、及び回路動作情報２１６に基づいて、初期電力解析としてのセルベースの消費電力解析を行う（４０１）。この初期電力解析により回路中のインスタンス毎の消費電力値を含む消費電力解析結果２１８が求められる。
【００４８】
上述したタイミング解析処理により回路中のインスタンス毎のタイミング余裕度２１７が得られ、初期電力解析処理により回路中のインスタンス毎の消費電力値を含む消費電力解析結果２１８が得られると、続いて消費電力補正処理を行う。
【００４９】
（消費電力補正処理）
消費電力補正処理では、電力補正処理部２０３は、インスタンス毎のタイミング余裕度２１７、インスタンス毎の消費電力値を含む消費電力解析結果２１８、及びセル電力補正情報２１９に基づいて、各インスタンスについて消費電力の補正処理を行う（４０４）。具体的には、電力補正処理部２０３は、インスタンスに割り当てられたタイミング余裕度に基づいて、当該インスタンスに対応するセルの電力補正情報から消費電力の補正値を取得する。そして、電力補正処理部２０３は、取得した消費電力の補正値を用いて、初期電力解析処理で得られたインスタンスの消費電力値を補正する。この消費電力値の補正を回路中のすべてのインスタンスについて行い、補正後の消費電力値の総和を最終の消費電力見積り結果２２０とする。
【００５０】
図６は、セル電力補正情報２１９の実装例を示す図である。
セルのタイミング余裕度に対する消費電力の変動量（補正値）はセル毎に異なるため、セル電力補正情報は個々のセル毎に設ける。図６に示した例では、セル名をインデックスとするテーブルとして各セルの電力補正情報を持つ。セル電力補正情報は、例えば図１に示したＨＤ１０５に記憶されている。
【００５１】
なお、図６において、例えばセル名ＮＡＮＤＸ１、ＮＡＮＤＸ２、ＮＡＮＤＸ４、…の各セルは、ＮＡＮＤ演算に係る同一論理のセルであるがトランジスタサイズ等が異なる。このように同一論理ではあるがサイズ等が異なる複数のセルについてのセル電力補正情報を備えることにより、他の回路の設計データを一部流用したような場合でも本実施形態における消費電力の補正処理を行うことができる。
【００５２】
セル毎に設けるセル電力補正情報の一例を図７に示す。
個々のセルのセル電力補正情報は、標準的な負荷条件において、そのセルのトランジスタサイズを変更した際の図３に示したような遅延と消費電力との特性に基づいて生成される。すなわち、個々のセルの消費電力の補正値（変動量）は、その遅延−消費電力特性に基づいて設定される。例えば、遅延−消費電力特性に基づくタイミング余裕度に対する消費電力の補正値を、図７（Ｂ）に示すように折れ線近似し、その座標情報を図７（Ａ）に示すようなテーブルとして保持してセル電力補正情報とする。このようにタイミング余裕度に対する消費電力の補正値を折れ線近似することにより、セル電力補正情報のデータ量を低減することができる。なお、座標情報として保持されていないタイミング余裕度に対する消費電力の補正値については、例えば線形補完等により求めれば良い。
【００５３】
ここで、図７に示した例では、標準的な負荷条件でのタイミング余裕度に対する消費電力の補正値をセル電力補正情報としているが、実際にはセルの出力負荷によっても遅延−消費電力特性が変化する。例えば、セルの出力負荷が大きい方がトランジスタサイズを変更した際の遅延の変動が大きい。そこで、図８に示すように、タイミング余裕度及びセルの出力負荷（出力容量）に対する消費電力の補正値をセル電力補正情報とするようにしても良い。例えば、遅延−消費電力特性に基づくタイミング余裕度に対する消費電力の補正値を、図８（Ｂ）に示すように出力負荷毎に折れ線近似し、その座標情報を図８（Ａ）に示すようなタイミング余裕度と出力負荷とをインデックスとする２次元テーブルとして保持してセル電力補正情報としても良い。このようにタイミング余裕度に加えて出力負荷に応じて消費電力の補正値を設定することで、より精度良く各インスタンスに係る消費電力の補正を行うことができる。
【００５４】
また、同様にして、入力トランジション（入力される信号の立ち上がり時間等）を考慮し、タイミング余裕度と入力トランジションとをインデックスとするテーブルとして、或いはタイミング余裕度、出力負荷、及び入力トランジションをインデックスとするテーブルとしてセル電力補正情報を形成し保持するようにしても良い。
【００５５】
以上、説明したように本実施形態によれば、半導体集積回路のタイミング解析の結果として得られたパスのタイミング余裕度を分割して当該パスに含まれる各インスタンスに割り当てる。そして、インスタンスに割り当てられたタイミング余裕度に基づいて当該インスタンスに係る消費電力の補正値を取得して、初期電力解析で得られたインスタンスの消費電力値を補正する。回路中のすべてのインスタンスについて補正を行い、補正後の消費電力値の総和を求めることで半導体集積回路の消費電力を見積る。
【００５６】
これにより、遅延最適化処理を行う前などの設計早期のトランジスタサイズが不確定な段階であっても、トランジスタサイズの変更を考慮した半導体集積回路の消費電力の見積りを行うことができ、見積り精度を向上させることができる。また、遅延最適化処理を行ってから消費電力の解析を行う場合と比較して、遅延最適化処理等を行う必要がなく、回路のタイミング解析は１回だけ行えば良いので、短時間で精度良く消費電力の見積りを行うことができる。
【００５７】
ここで、図５に示したステップＳ１３において、各インスタンスＩ１、Ｉ２、…、Ｉｋに割り当てるタイミング余裕度の値Ｓ１、Ｓ２、…、Ｓｋを求める方法については、以下のような方法がある。
【００５８】
第１の方法としては、パスのタイミング余裕度Ｓをパス中に含まれるインスタンス数ｋで等分して各インスタンスＩ１、Ｉ２、…、Ｉｋに対して均等にタイミング余裕度（Ｓ／ｋ）を割り当てる方法がある。例えば、パス中に含まれるインスタンスとして、インバータ、２入力ＮＡＮＤ演算、及び３入力ＮＡＮＤ演算がそれぞれ１つあり、パスのタイミング余裕度が３００ｐｓであった場合には、各インスタンスに割り当てるタイミング余裕度を１００ｐｓとする。この場合には、パスのタイミング余裕度をインスタンス数で等分するだけで良いので、簡単な処理でインスタンスに割り当てるタイミング余裕度を求めることができる。
【００５９】
また、第２の方法としては、パス中に含まれるインスタンスの遅延値や論理の複雑さ等に応じて重み付けを行い、重みに従ってパスのタイミング余裕度Ｓを分割し各インスタンスＩ１、Ｉ２、…、Ｉｋに割り当てる方法がある。例えば、入力信号数に応じて重み付けを行う場合には、パス中に含まれるインスタンスとして、インバータ、２入力ＮＡＮＤ演算、及び３入力ＮＡＮＤ演算がそれぞれ１つあり、パスのタイミング余裕度が３００ｐｓであれば、インバータに５０ｐｓ、２入力ＮＡＮＤ演算に１００ｐｓ、３入力ＮＡＮＤ演算に１５０ｐｓのタイミング余裕度を割り当てる。また、例えば、インスタンスの遅延値に応じて重み付けを行う場合には、遅延値が大きいインスタンスほど遅延の変動量も大きいと考え重み付けを行うようにすれば良い。また、インスタンスの出力負荷に応じて重み付けを行うようにしても良い。このようにインスタンスに対して重み付けを行い、その重みに従ってパスのタイミング余裕度を分割し各インスタンスに割り当てる場合には、回路の構成等に応じたタイミング余裕度の割り当て行うことができ、見積もり精度の向上を図ることができる。
【００６０】
なお、上述したように本実施形態に係る半導体集積回路の消費電力見積り装置は、コンピュータのＣＰＵ、ＲＡＭ、ＲＯＭ等で構成可能であり、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現でき、前記プログラムは本発明の実施形態に含まれる。また、コンピュータが前記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、前記プログラムを記録した記録媒体は本発明の実施形態に含まれる。前記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
【００６１】
また、コンピュータがプログラムを実行し処理を行うことにより、上述の実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。前記プログラムプロダクトとしては、上述の実施形態の機能を実現するプログラム自体、及び前記プログラムが読み込まれたコンピュータがある。また、前記プログラムプロダクトとしては、ネットワークを介して通信可能に接続されたコンピュータに前記プログラムを提供可能な送信装置、及び当該送信装置を備えるネットワークシステム等がある。
【００６２】
また、供給されたプログラムがコンピュータにおいて稼動しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、供給されたプログラムの処理のすべてあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
また、本発明をネットワーク環境で利用するべく、全部あるいは一部のプログラムが他のコンピュータで実行されるようになっていても良い。
【００６３】
また、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００６４】
（付記１）論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行うタイミング解析ステップと、
前記タイミング解析の結果に基づいて、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てる余裕度割り当てステップと、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析ステップと、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記余裕度割り当てステップで割り当てられた前記タイミング余裕度に応じて、前記電力解析ステップで得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正ステップとをコンピュータに実行させるためのプログラム。
（付記２）前記余裕度割り当てステップでは、前記パス中に含まれる論理素子数で当該パスのタイミング余裕度を等分して各論理素子に割り当てることを特徴とする付記１記載のプログラム。
（付記３）前記余裕度割り当てステップでは、前記パス中に含まれる論理素子に対して重み付けを行い、重みに従って当該パスのタイミング余裕度を分割し各論理素子に割り当てることを特徴とする付記１記載のプログラム。
（付記４）前記電力補正情報は、論理素子のサイズを変更した際の遅延と消費電力との特性に基づいて生成された情報であることを特徴とする付記１〜３の何れか１項に記載のプログラム。
（付記５）前記電力補正情報は、論理素子のサイズを変更した際の遅延と消費電力との特性に基づく前記タイミング余裕度に対する電力補正値を折れ線近似した複数の座標情報であることを特徴とする付記１〜３の何れか１項に記載のプログラム。
（付記６）前記電力補正情報は、異なる複数の出力負荷条件において、論理素子のサイズを変更した際の遅延と消費電力との特性に基づく前記タイミング余裕度に対する電力補正値を前記出力負荷条件毎に折れ線近似した情報であり、
前記電力補正ステップでは、前記論理素子の出力負荷及び前記割り当てられたタイミング余裕度に応じて各論理素子の消費電力を補正することを特徴とする付記１〜３の何れか１項に記載のプログラム。
（付記７）論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行うタイミング解析工程と、
前記タイミング解析の結果に基づいて、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てる余裕度割り当て工程と、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析工程と、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記余裕度割り当て工程で割り当てられた前記タイミング余裕度に応じて、前記電力解析工程で得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正工程とを有することを特徴とする半導体集積回路の消費電力見積り方法。
（付記８）論理素子のサイズが未確定の半導体集積回路に係る回路情報と前記半導体集積回路の遅延に係る遅延情報とを用いて回路のタイミング解析を行い、前記半導体集積回路中のパス毎のタイミング余裕度を求め、前記パス中に含まれる各論理素子に当該パスのタイミング余裕度を分割して割り当てるタイミング解析処理部と、
前記半導体集積回路に係る前記回路情報と前記半導体集積回路の動作に係る回路動作情報とを用いて消費電力解析を行い、前記半導体集積回路中の各前記論理素子での消費電力を求める電力解析処理部と、
前記タイミング余裕度に対する電力補正値を算出するための電力補正情報を参照し、前記タイミング解析処理部により割り当てた前記タイミング余裕度に応じて、前記電力解析処理部により得られた各前記論理素子の消費電力を補正する処理を前記半導体集積回路中の各前記論理素子について行う電力補正処理部とを備えることを特徴とする半導体集積回路の消費電力見積り装置。
【図面の簡単な説明】
【００６５】
【図１】本発明の実施形態に係る半導体集積回路の消費電力見積り装置のハードウェア構成例を示す図である。
【図２】本実施形態に係る半導体集積回路の消費電力見積り装置の機能構成例を示す図である。
【図３】セルのトランジスタサイズの変化に対するセルの遅延及びセルの消費電力の変化の一例を示す図である。
【図４】本実施形態における消費電力見積り処理の流れを示す図である。
【図５】本実施形態における各インスタンスに対するタイミング余裕度の割り当て処理の流れを示す図である。
【図６】セル電力補正情報の実装例を示す図である。
【図７】セル電力補正情報の一例を示す図である。
【図８】セル電力補正情報の他の例を示す図である。
【符号の説明】
【００６６】
２００  処理部
２０１  タイミング解析処理部
２０２  初期電力解析処理部
２０３  電力補正処理部
２１０  記憶部
２１１  実行プログラム
２１２  遅延制約
２１３  遅延ライブラリ
２１４  回路記述
２１５  電力ライブラリ
２１６  回路動作情報
２１７  インスタンス毎のタイミング余裕度
２１８  初期解析結果（インスタンス毎の消費電力）
２１９  セル電力補正情報
２２０  消費電力見積り結果
【図１】
2009301505.tif 000003
【図２】
2009301505.tif 000004
【図３】
2009301505.tif 000005
【図４】
2009301505.tif 000006
【図５】
2009301505.tif 000007
【図６】
2009301505.tif 000008
【図７】
2009301505.tif 000009
【図８】
2009301505.tif 000010