(57)【要約】【課題】  メガセルを含む集積回路の消費電力見積りが行える集積回路の消費電力見積り装置を提供する。【解決手段】  シミュレーション手段３と、前記シミュレーション手段３による論理シミュレーション結果と、各基本セルの入出力端子の状態に対して予め基本セルの消費電流定義データ格納部４に用意されている消費電力データとに基づいて各基本セルが消費する電力を見積もる消費電流Ｉａ見積り手段７と、前記シミュレーション手段３による論理シミュレーション結果と、各メガセルの入出力端子の状態、機能記述における変数、及び動作周波数に対して予めメガセルの消費電流定義データ格納部６に用意されている消費電力データとに基づいて各メガセルが消費する電力を見積もる消費電流Ｉｂ見積り手段８と、両見積り結果を加算して回路全体の消費電力を見積もる加算手段９とを備えた。【選択図】    図１
2005317036.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語を用いて機能記述されているメガセル、及び基本セルにより構成される回路データを論理シミュレーションするシミュレーション手段と、前記シミュレーション手段による論理シミュレーション結果と、各基本セルの入出力端子の状態に対して予め用意されている消費電力データとに基づいて各基本セルが消費する電力を見積もる第１消費電力見積り手段と、  前記シミュレーション手段による論理シミュレーション結果と、各メガセルの入出力端子の状態、機能記述における変数を使った論理式での記述、及び動作周波数に対して予め用意されている消費電力データとに基づいて各メガセルが消費する電力を見積もる第２消費電力見積り手段と、前記第１消費電力見積り手段にて見積もられた消費電力値と第２消費電力見積り手段にて見積もられた消費電力値とを加算して回路全体の消費電力値を見積もる加算手段と、を備えたことを特徴とする集積回路の消費電力見積り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の消費電力見積り装置に関する。
【背景技術】
【０００２】
従来より、集積回路を実際に作製する前の設計の段階で予め当該集積回路が消費するであろう電力を見積もることが行われている。そして、この種の技術として、特開平２−１３６７７５号公報には、集積回路の論理シミュレーション結果から各基本セル（例えば、ＡＮＤ、ＯＲ、ＮＯＴ等）の出力端子のイベント数を求め、このイベント数と予め用意された各基本セルの消費電流情報とから回路全体の消費電流を見積もる消費電流見積り方法が開示されている。また、特許文献１には、出力信号電圧の時間的変化と、消費電力データと、外部設定条件データとに基づいて、論理回路の所定時間における消費電力を算出する半導体集積回路の消費電力見積り方法が知られている。
【特許文献１】特開平４−１３０６６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記いずれの従来技術も、前記の基本セルにて構成される回路を対象とするものであり、メガセルを含む回路に対して消費電力の見積りを行うことが困難であった。ここで、メガセルとは、論理シミュレーション時には、ハードウェア記述言語で機能記述されており、基本セルによってどのように構成されるかが示されていない機能ブロックをいい、ＣＰＵ、ＲＯＭ、或いはＲＡＭなどが含まれる。
【０００４】
この発明は、上記の事情に鑑み、メガセルを含む集積回路の消費電力見積りが行える集積回路の消費電力見積り装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の集積回路の消費電力見積り装置は、上記の課題を解決するために、ハードウェア記述言語を用いて機能記述されているメガセル、及び基本セルにより構成される回路データを論理シミュレーションするシミュレーション手段と、前記シミュレーション手段による論理シミュレーション結果と、各基本セルの入出力端子の状態に対して予め用意されている消費電力データとに基づいて各基本セルが消費する電力を見積もる第１消費電力見積り手段と、前記シミュレーション手段による論理シミュレーション結果と、各メガセルの入出力端子の状態、機能記述における変数を使った論理式での記述、及び動作周波数に対して予め用意されている消費電力データとに基づいて各メガセルが消費する電力を見積もる第２消費電力見積り手段と、前記第１消費電力見積り手段にて見積もられた消費電力値と第２消費電力見積り手段にて見積もられた消費電力値とを加算して回路全体の消費電力値を見積もる加算手段と、を備えたことを特徴とする。
【０００６】
これによれば、前記シミュレーション手段による論理シミュレーション結果と、各基本セルの入出力端子の状態に対して予め用意されている消費電力データとに基づいて各基本セルが消費する電力を見積もるようにしているので、メガセルを含む集積回路の消費電力見積りを行うことが可能となる。
【発明の効果】
【０００７】
この発明の集積回路の消費電力見積り装置によれば、メガセルを含む集積回路の消費電力見積りが行えるという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施の形態を図に基づいて説明する。
【０００９】
図１は、この発明の実施の形態の消費電力見積り装置を示した概略の機能ブロック図である。また、図２は、当該消費電力見積り装置となるマイクロコンピュータの概略構成を示したブロック図である。このマイクロコンピュータは、ＣＰＵ１１と、メモリ１２と、ハードディスク１３と、ディスプレイ１４と、キーボード１５とを備えて構成される。図２に示されたハードディスク１３には、図１における回路接続情報格納部１、論理シミュレーション用ライブラリ２、各基本セルの消費電流定義データ格納部４、及び各メガセルの消費電流定義データ格納部６が設けられている。また、図２のＣＰＵ１１とメモリ１２に格納されているプログラムとにより、図１の論理シミュレーション手段３、基本セルの消費電流Ｉａ見積り手段７、及びメガセルの消費電流Ｉｂ見積り手段８、及び加算手段９
が構成されるとともに、前記メモリ１２にてシミュレーション結果格納部５が構成されている。
【００１０】
各基本セルの消費電流定義データ格納部４には、各基本セルの入出力端子の状態に対して予め用意されている消費電力データが格納されている。また、各メガセルの消費電流定義データ格納部６には、各メガセルの入出力端子の状態、機能記述における変数、及び動作周波数に対して予め用意されている消費電力データが格納されている。
【００１１】
回路接続情報格納部１には、消費電力の見積り対象となる回路の接続情報が格納されている。この回路の接続情報の中には、基本セルに対する接続情報およびメガセルに対する接続情報が含まれるとともに、メガセルについてはハードウェア記述言語を用いて機能記述されている。論理シミュレーション用ライブラリ２には、論理シミュレーションに必要な各種情報が格納されている。論理シミュレーション手段３は、前記の回路接続情報格納部１から回路接続情報等を取り込むとともに、前記論理シミュレーション用ライブラリ２から各種情報を取り込み、これらの情報に基づいて論理シミュレーションを実行する。そして、この論理シミュレーションの結果を、シミュレーション結果格納部５に格納する。
【００１２】
基本セルの消費電流Ｉａ見積り手段７は、前記のシミュレーション結果と、各基本セルの消費電流定義データ格納部４に格納されているデータとに基づき、消費電流見積りの対象となる回路のうち、基本セルの全体が消費する電流Ｉａを見積もる。なお、電流Ｉａは、ｎ個の基本セルにおける各消費電流をｉａ１  ，ｉａ２  ，…，ｉａｎとすると、Ｉａ＝ｉａ１  ＋ｉａ２  ＋…＋ｉａｎで表される。また、基本セルの電流見積りの方法としては、従来技術を用いることができる。
【００１３】
メガセルの消費電流Ｉｂ見積り手段８は、前記のシミュレーション結果と、各メガセルの消費電流定義データ格納部６に格納されているデータとに基づき、消費電流見積りの対象となる回路のうち、メガセルの全体が消費する電流Ｉｂを見積もる。なお、電流Ｉｂは、ｍ個のメガセルにおける各消費電流をｉｂ１  ，ｉｂ２  ，…，ｉｂｍとすると、Ｉｂ＝ｉｂ１  ＋ｉｂ２  ＋…＋ｉｂｍで表される。このメガセルの電流見積りの方法については、後述する。
【００１４】
加算手段９は、上記の消費電流ＩａとＩｂとを加算する。これにより、消費電流見積りの対象となる回路の全体の消費電流を見積もることができる。
【００１５】
次に、前記メガセルの消費電流Ｉｂ見積り手段８による消費電流見積りの具体的な説明を行う。
【００１６】
図３は、メガセルの一例を示した図であり、図中のＢＯＸと表記された部分がメガセルである。このメガセルには、入力端子として、Ａ０，Ａ１，ＣＥＢ、ＷＥＢ、及びＣＫがあり、出力端子としてＤ０がある。また、このメガセルＢＯＸの消費電流データ（各メガセルの消費電流定義データ格納部６に格納される）の一例を図４及び図５に示す。
【００１７】
図４のデータは、セル名、タイプ（同期式と非同期式の区別）、周波数決定信号、及び状態リストの表題について、それぞれ具体的内容を記述したデータである。この例では、セル名がＲＡＭであり、タイプは同期式であり、周波数決定信号はＣＫ（前記メガセルＢＯＸの入力端子であるＣＫ）であり、状態リストとしてｓｔａｎｄｂｙ、ｒｅａｄ、及びｗｒｉｔｅの３状態が表記されている。ここで、周波数決定信号は、メガセルの動作周波数を求めるときに参照される信号である。この信号は、この実施の形態のごとく、メガセルの外部端子を表してもよいし、或いは、機能記述内の変数としてもよいものである。また、状態リストを用意しているのは、各状態によって消費電流が異なるからである。
【００１８】
図５のデータは、前記ｓｔａｎｄｂｙ、ｒｅａｄ、及びｗｒｉｔｅの各状態における状態決定条件、ＡＣ電流（成分）、及びＤＣ電流（成分）を示している。状態決定条件は、その状態になるための条件を論理式で記述したものである。論理式で出てくる信号（ＣＥＢやＷＥＢ等）は、この実施の形態のごとく、メガセルの外部端子で表してもよいし、或いは、機能記述内の変数にて表記してもよいものである。この図５では、例えば、ＣＥＢ＝１（Ｈｉｇｈ）のときにｓｔａｎｄｂｙ状態になることが示されている。また、前記ＡＣ電流（成分）とは、メガセルの消費電流のうち、動作周波数（ｆ）に依存する電流（成分）をいう。この図５では、ＡＣ電流は、動作周波数（ｆ）の一次式で記述しているが、これに限らず他の複雑や式や、或いはテーブルデータとして記述されるものであってもよ
い。また、前記ＤＣ電流（成分）とは、メガセルの消費電流のうち動作周波数（ｆ）に依存しない電流（成分）をいう。この図５では、例えば、ｒｅａｄ状態において、Ｄ０の論理値が“１”（Ｈｉｇｈ）のとき、電流Ｚが流れることを示している。この電流Ｚの値は、実測値から予め抽出されているものである。
【００１９】
図６は、前記図３のメガセルＢＯＸにおける各端子の論理値の変化を示したタイミングチャートである。この論理値の変化は、論理シミュレーションの結果として得られ、シミュレーション結果格納部５から読み出すことができる。
【００２０】
図７は、メガセルの消費電流見積り処理内容を示したフローチャートである。この図７、及び前記の図６、図５、図４に基づいて、メガセルの消費電流Ｉｂ見積り手段８による消費電流見積りの処理内容を説明する。まず、前記の論理シミュレーション結果から、各時刻におけるメガセルの状態を調べる。ｔ０  からｔ１の期間においては、シミュレーション結果である図６において、ＣＥＢが“０”（Ｌｏｗ）でＷＥＢが“１”（Ｈｉｇｈ）であるから、図５の状態決定条件に基づき、ｒｅａｄ状態であることが分かる。また、ｔ１  からｔ２  の期間においては、シミュレーション結果である図６において、ＣＥＢが“１”（Ｈｉｇｈ）であるから、図５の状態決定条件に基づき、ｓｔａｎｄｂｙ状態であることが分かる。このように、まず各イベントの状態分けを行う（ステップ１）。
【００２１】
次に、各状態における平均動作周波数（ｆ）を求める。図４により、メガセルＢＯＸは、同期式で動作周波数を決定する端子はＣＫであることが分かる。そして、図６により、ｒｅａｄの期間（ｔ０  からｔ１  ）において、ＣＫは４つのパルスを発生させていることがわかる。平均動作周波数（ｆ）は、下記の第１式により、前記パルス数“４”と時間（ｔ１  −ｔ０  ）とから求める（ステップ２）。
【００２２】
ｆ＝４／（ｔ１  −ｔ０  ）                    ……第１式
次に、各状態での消費電流のうち、ＡＣ電流およびＤＣ電流を求める。例えば、ｒｅａｄ状態のＡＣ電流Ｉｒａは、下記の第２式から求める。一方、ｒｅａｄ状態のＤＣ電流Ｉｒｄは、下記の第３式から求める（ステップ３）。
【００２３】
Ｉｒａ＝Ｘ×ｆ                            ……第２式
Ｉｒｄ＝Ｚ（Ｗ１＋Ｗ２）／（ｔ１  −ｔ０  ）  ……第３式
ここで、上記第２式のＸは、図５のデータとして記述されている値である。また、図５において、ｒｅａｄ状態のときには端子Ｄ０に流れるＤＣ電流はＺであり、端子Ｄ０の論理値が“１”のときのみ流れるということが分かる。従って、期間ｔ０  からｔ１  での平均ＤＣ電流は、上記第３式にて求めることができる。なお、第３式中のＷ１、Ｗ２は、図６に示されるＤ０が“１”の期間である。
【００２４】
また、期間ｔ１  からｔ２  までは、ｓｔａｎｄｂｙ状態なので、この期間のＤＣ電流Ｉｓｄは、下記の第４式から求める（ステップ３）。
【００２５】
Ｉｓｄ＝Ｓ                                  ……第４式
ここで、上記第４式のＳは、図５のデータとして記述されている値である。
【００２６】
次に、時刻ｔ０  からｔ２  までのメガセルＢＯＸの平均消費電力ＩＡ  を下記の第５式により求める（ステップ４）。
【００２７】
ＩＡ  ＝〔Ｉｒａ（ｔ１  −ｔ０  ）＋Ｉｒｄ（ｔ１  −ｔ０  ）＋
Ｉｓｄ（ｔ２  −ｔ１  ）〕／（ｔ２  −ｔ０  ）……第５式
以上の消費電流計算は、回路中に含まれている全てのメガセルに対して行う。
そして、加算手段９によって、回路中に含まれている全てのメガセルの合計消費電流と、回路中に含まれている全ての基本セルの合計消費電流とを加算することにより、回路全体の消費電流を求めることができる。
【００２８】
次に、この発明の集積回路の消費電力見積り装置の他の実施の形態について説明する。
【００２９】
図８は、この実施の形態の消費電力見積り装置の概略構成を示した機能ブロック図である。当該消費電力見積り装置は、論理シミュレーションを実行する論理シミュレーション部２１と、メガセルの消費電力を見積もる消費電力解析部２２と、回路全体の消費電力見積り値を算出する回路消費電力加算部２３と、見積もった回路全体の消費電力値をディスプレイ表示する消費電力表示部２４と、論理シミュレーションに必要な回路データ（メガセルについては機能記述データが格納されている）を格納する回路データ格納部３０と、論理シミュレーションのためのテストパターンを格納するテストパターン格納部３１と、メガセルの命令ごとの消費電力値に関する情報を格納している消費電力情報テーブル３２と、により構成されている。
【００３０】
そして、前記の消費電力解析部２２は、論理シミュレーションに際してメガセルに与えられる命令を読み込む命令読み込み部２５と、この読み込んだ命令を記憶する命令記憶部２６と、前記命令がシミュレーション実行されるときに前記消費電力情報テーブル３２から消費電力値を読み出す消費電力テーブル参照部２７と、各メガセルについて得られた消費電力値を加算していくメガセル消費電力加算部２８と、加算したメガセル消費電力値を記憶する消費電力記憶部２９とを備えて構成されている。
【００３１】
図９は、当該消費電力見積り装置の処理手順を示したフローチャートである。この図９及び前記図８に基づいて各機能部の処理内容および処理手順の説明を行う。論理シミュレーション部２１は、ハードウェア記述言語を用いて機能記述されたメガセルおよび当該メガセルに対するテストパターンを読み込み（ステップ１１）、論理シミュレーションを行う（ステップ１２）。そして、この機能記述されたメガセルが論理シミュレーションにおいて、命令をフェッチすると、消費電力解析部２２の命令読み込み部２５がその命令を読み込む。
【００３２】
ここで、消費電力見積りの対象となるメガセルには、予めメガセルの機能記述を行った開発者が、メガセルが命令をフェッチしたことを命令読み込み部２５に知らせるための関数を記述しておく。この関数については後述する。
【００３３】
次に、命令記憶部２６が前記命令を記憶する。そして、消費電力テーブル参照部２７は、消費電力情報テーブル３２を参照する（ステップ１４）。消費電力情報テーブル３２は、メガセルの開発者が予め作成したものであり、図１０に示しているように、メガセルの命令と、各命令の実行時に消費される消費電力値との対応関係を表したデータ群から成る。
【００３４】
消費電力テーブル参照部２７は、前記の記憶された命令に対応する消費電力値を消費電力情報テーブル３２から読み出す（ステップ１５）。そして、メガセル消費電力加算部２８にて前記テーブルから読み出したメガセルの消費電力値を加算し（ステップ１６）、消費電力記憶部２９に格納する。
【００３５】
次に、論理シミュレーションが終了したか否かを判断し（ステップ１７）、終了していないならステップ１２に進む。一方、終了したなら、即ち、全てのメガセルについて上記処理を行ったなら、回路消費電力加算部２３にて当該全メガセルの合計消費電力値にメガセル以外の合計消費電力値を加算し、回路全体の消費電力値を得る（ステップ１８）。そして、消費出力表示部２４にて前記回路全体の消費電力値をディスプレイ表示する（ステップ１９）。
【００３６】
図１１は、メガセルとしてのＣＰＵ或いはＤＳＰのモデル記述例を示した図である。この図を用いて上述した処理における命令や関数を具体化して以下に説明する。ＣＰＵやＤＳＰが論理シミュレーション中に“ＬＤＡ”命令をフェッチすると、関数＄ＰｏｗｅｒＡｎａｌｙｓｉｓによって、命令読み込み部２５が“ＬＤＡ”読み込む。そして、命令記憶部６が、“ＬＤＡ”を記憶する。関数＄ＰｏｗｅｒＡｎａｌｙｓｉｓは、ＣＰＵやＤＳＰが命令をフェッチすると必ず呼び出されるように記述され、フェッチした命令を命令読み込み部２５に伝える働きをする。消費電力テーブル参照部２７は、“ＬＤＡ”命令に対して格納されている消費電力値（Ｗａ）を消費電力情報テーブル３２から読み出す（図１０参照）。そして、この消費電力値（Ｗａ）が消費電力記憶部２９に格納される。
【００３７】
同様に、ＣＰＵやＤＳＰが論理シミュレーション中に“ＳＴＡ”命令をフェッチすると、関数＄ＰｏｗｅｒＡｎａｌｙｓｉｓによって、命令読み込み部２５が“ＳＴＡ”命令を読み込む。そして、命令記憶部６には、“ＳＴＡ”が記憶される。消費電力テーブル参照部２７は、“ＬＤＡ”命令に対して格納されている消費電力値（Ｗａ）を消費電力情報テーブル３２から読み出す（図１０参照）。そして、この消費電力値（Ｗｂ）が消費電力記憶部２９に格納される。
【００３８】
かかる処理は論理シミュレーションが終了するまで繰り返され、論理シミュレーションが終了すると、全メガセルの合計消費電力値と、メガセル以外の回路部分である基本セルの合計消費電力値とが消費電力加算部２３で加算されたて回路全体の消費電力値が見積もられ、これが消費電力表示部２４にて表示される。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態の集積回路の消費電力見積り装置を示す機能ブロック図である。
【図２】この発明の実施の形態の集積回路の消費電力見積り装置を成すコンピュータを示すブロック図である。
【図３】この発明の実施の形態のメガセルの一例を示した図である。
【図４】図３のメガセルの消費電流データの一例を示す説明図である。
【図５】図３のメガセルの消費電流データの一例を示す説明図である。
【図６】図３のメガセルにおける各端子の論理値の変化を示したタイミングチャートである。
【図７】図１の集積回路の消費電力見積り装置による消費電流見積り処理内容を示したフローチャートである。
【図８】この発明の他の実施の形態の集積回路の消費電力見積り装置を示す機能ブロック図である。
【図９】図８の集積回路の消費電力見積り装置の消費電流見積り処理内容を示したフローチャートである。
【図１０】図８の消費電力テーブルの内容を示す説明図である。
【図１１】図８の回路データ格納部におけるメガセルの機能記述データを示す説明図である。
【符号の説明】
【００４０】
１    回路接続情報格納部
２    論理シミュレーション用ライブラリ
３    論理シミュレーション手段
４    基本セルの消費電流定義データ格納部
５    シミュレーション結果格納部
６    メガセルの消費電流定義データ格納部
７    基本セルの消費電流Ｉａ見積り手段
８    メガセルの消費電流Ｉｂ見積り手段
９    加算手段
１１  ＣＰＵ
１２  メモリ
１３  ハードディスク
１４  ディスプレイ
１５  キーボード
２１  論理シミュレーション部
２２  消費電力解析部
２３  回路消費電力加算部
２４  消費電力表示部
２５  命令読み込み部
２６  命令記憶部
２７  消費電力テーブル参照部
２８  メガセル消費電力加算部
２９  消費電力記憶部
３０  回路データ格納部
３１  テストパターン格納部
３２  消費電力情報テーブル３２
【図１】
2005317036.tif 000003
【図２】
2005317036.tif 000004
【図３】
2005317036.tif 000005
【図４】
2005317036.tif 000006
【図５】
2005317036.tif 000007
【図６】
2005317036.tif 000008
【図７】
2005317036.tif 000009
【図８】
2005317036.tif 000010
【図９】
2005317036.tif 000011
【図１０】
2005317036.tif 000012
【図１１】
2005317036.tif 000013