(57)【特許請求の範囲】
【請求項１】
エミュレータを備え、エミュレータを用いてエミュレーション対象の回路の消費電力を測定する論理設計装置において、
エミュレータに電力を供給するメイン電源と、
上記メイン電源とは分離したサブ電源とを備え、
上記エミュレータは、
電気的に書き換え可能であって、エミュレーション対象の回路をマッピングする論理素子と、
上記サブ電源によって上記論理素子へ供給する電力を制御する制御回路と、
上記サブ電源によって上記論理素子へ供給された電力のうち、上記論理素子において消費される電力を消費電力として測定する電圧／電流計と
を備えたことを特徴とする論理設計装置。
【請求項２】
上記論理素子は、複数の論理素子を備え、
上記サブ電源は、上記複数の論理素子それぞれに対応する複数のサブ電源を備え、
上記電圧／電流計は、上記複数の論理素子それぞれに対応する複数の電圧／電流計を備えたことを特徴とする請求項１記載の論理設計装置。
【請求項３】
上記エミュレーション対象の回路は、複数の回路に分割され、分割された複数の回路それぞれが上記複数の論理素子のいずれかへマッピングされ、
上記複数の電圧／電流計は、上記複数の回路がマッピングされた上記複数の論理素子毎に消費電力を測定することを特徴とする請求項２記載の論理設計装置。
【請求項４】
上記論理設計装置は、さらに、複数の命令を実行するマイクロプロセッサと、
上記マイクロプロセッサによって実行される複数の命令から構成されるソフトウェアをエミュレータへ提供するインサーキットエミュレータとを備え、
上記制御回路は、上記ソフトウェアを構成する複数の命令それぞれの実行と同期をとり、一の命令の実行毎に消費電力を測定することを制御する測定回路制御部を備え、
上記複数の電圧／電流計は、上記測定回路制御部からの制御に基づいて、一の命令の実行毎に消費電力を測定することを特徴とする請求項２または３記載の論理設計装置。
【請求項５】
上記論理設計装置は、さらに、上記測定回路制御部からの制御に基づいて、上記複数の電圧／電流計で測定された消費電力を収集し、収集した消費電力を所定の規則に基づいて計算する消費電力集計部を備えたことを特徴とする請求項４記載の論理設計装置。
【請求項６】
上記消費電力集計部は、上記複数の命令からなる処理単位毎に消費電力を計算することを特徴とする請求項５記載の論理設計装置。
【請求項７】
上記消費電力集計部は、命令が実行される時に使用するメモリ領域毎に消費電力を集計することを特徴とする請求項５記載の論理設計装置。
【請求項８】
上記消費電力集計部は、実行される命令毎に消費電力を集計し、実行される命令毎の消費電力に関して、最小消費電力、最大消費電力、平均消費電力とを求めることを特徴とする請求項５記載の論理設計装置。
【請求項９】
上記論理設計装置は、さらに、論理設計装置で予測される消費電力をエミュレーション対象の回路を実装するデバイスの消費電力へ換算するための消費電力換算表を記憶する換算表記憶部を備え、
上記消費電力集計部は、上記換算表記憶部に記憶された消費電力換算表と、上記複数の電圧／電流計で測定された消費電力とに基づいて、測定された消費電力からデバイスの消費電力を換算して求め、デバイスの消費電力を予測することを特徴とする請求項５から８いずれかに記載の論理設計装置。
【請求項１０】
上記論理設計装置は、さらに、上記複数の電圧／電流計によって測定された消費電力を表示する表示部を備えたことを特徴とする請求項２から４いずれかに記載の論理設計装置。
【請求項１１】
上記論理素子は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）であることを特徴とする請求項１記載の論理設計装置。
【請求項１２】
エミュレータと、電気的に書き換え可能な論理素子とを備えた論理設計装置が、エミュレーション対象の回路の消費電力を測定する消費電力測定方法において、
論理設計装置の制御回路が、上記エミュレータを制御する制御工程と、
論理設計装置のメイン電源が、上記エミュレータに電力を供給するメイン電力供給工程と、
論理設計装置のパーソナルコンピュータが、エミュレーション対象の回路を上記論理素子へマッピングするマッピング工程と、
論理設計装置の制御回路の制御により上記メイン電源とは異なる電源であるサブ電源が、上記論理素子に電力を供給するサブ電力供給工程と、
論理設計装置の電圧／電流計が、上記サブ電力供給工程によって上記論理素子へ供給された電力のうち、上記論理素子において消費される電力を消費電力として測定する測定工程と
を備えたことを特徴とする消費電力測定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、回路の消費電力測定方法とそれを支援する論理設計装置に関するものである。
【０００２】
【従来の技術】
従来、消費電力を予測する手法として、設計仕様書から回路の動作率を見積もり、人手で計算したり、或いは、論理シミュレータを用いて単位時間に変化する回路内のセルの入出力端子で発生するイベントの変化から動作率を求め、消費電力を計算する方法などが一般的であった。
【０００３】
しかしながら、設計仕様書から回路の動作率を見積もり、人手で計算する方法では、回路の動作率の予測が困難で、誤差が大きいという問題があった。
また、論理シミュレータを用いて、セルの入出力端子で発生するイベントの変化から動作率を求め、消費電力を計算する方式では、回路が大規模になると発生するイベントが増加するために、論理シミュレータの速度が遅くなるという問題があり、実際の設計開発においては、消費電力を計算する際に使用するテストデータを絞り、実際のシステム動作のある一部の動作を用いて消費電力を算出している。そのための誤差が含まれてくるという問題があった。
【０００４】
ここで、論理シミュレータを用いた消費電力の計算方式の従来技術の例を２つ示す。
まず、論理シミュレータを用いた消費電力計算方式の１番目の従来技術の例として、「消費電力計算方式」（特開平８−３１４９９２）がある。図４に示すように、この従来技術は、論理シミュレーション結果を入力として、イベントの識別部１０２及び変化信号の識別部１０３から変化信号を識別し、この信号が接続されている全ての部品を計算対象とする。
出力値により計算できる消費エネルギー計算部１０６と、入力値変化により計算できる部品内部のエネルギー計算部１０７及び部品共通動作部の消費エネルギー計算部１０８で消費エネルギーを計算する。消費エネルギー集計部１０９で全イベント、全部品に対して集計した後、消費電力集計部１１０において、平均消費電力、ピーク電力、平均及び時間毎のチップ電力分布等を計算する。
【０００５】
このような方式により、論理シミュレーションを行って得られる各部品の入出力端子の論理変化をもとに識別した部品内のゲート動作状態と、レイアウト設計で求めた実配線容量を基に消費エネルギーを計算し集計することで消費電力を求めることができる。
【０００６】
次に、２番目の従来技術の例として、「電子回路の消費電力計算方法および装置」（特開平１０−１８６００１）がある。この従来技術に示された内容は、図５のように、対象ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）にて使用可能な全論理素子について、論理素子内での動作を考慮して取り得る全ての状態を入出力信号の信号値の組み合わせに基づいて定義し、各々の状態遷移の消費電力を回路シミュレーションによって予め算出して設計データベース１２４に保持する。
【０００７】
同様に、回路シミュレーションによって、無動作時の消費電力、出力信号の変化などの消費電力を算出して設計データベース１２４に保持する。
消費電力計算部１２１は、設計データベース１２４のデータに基づいて、対象ＬＳＩの全論理素子の消費電力を、消費電力が発生する全ての状態遷移に対して計算する。
負荷容量計算部１２２は、論理素子の負荷容量を計算し、出力変化等の消費電力計算に反映させる。このような消費電力計算により、ＬＳＩ等の電子回路における実動作に近い消費電力値の算出を可能にする。
【０００８】
上記とは、別の従来技術として、エミュレータに電流測定機能を実装した「電流値測定機能付きエミュレータ」（特開平７−４４４１６）がある。この従来技術は、ＬＳＩ等のターゲットデバイスの消費電力を予測することを目的とするのではなく、エミュレータに電流測定機能をつけ、ハードウエアの設計不良以外のアナログ的な不良解析の効果の向上を目指したものである。
【０００９】
この従来技術に記載された内容は、図６に示すように、ユーザシステムの開発におけるデバッグや詳細な評価を行う為のエミュレータ１４０であって、従来のターゲット・マイクロコンピュータの機能を代行するスレーブ・マイクロコンピュータ１３１、プログラムの実行やトレースを停止させるブレーク制御部１３３、各種データやステータス信号等を実時間でサンプリングして格納するトレースメモリ部１３４、それらの制御を司るためのマスタ・コンピュータ１３０などの構成に、入力端子１４１に取り込まれる信号の電流値を測定する測定回路１３６、この測定値をデイジタルデータに変換する変換回路１３５、選択出力するマルチプレクサ１３２が追加された構成となっている。
【００１０】
この電流値測定機能付きエミュレータにより、信号線での電流値をデバイスなどの端子の部分で実際に測定し、論理的なハードウエアの設計不良以外のアナログ的な不良解析に効果を上げることができる。
この従来技術は、電流値を測定する機能を持ったエミュレータに関するものであるが、ＬＳＩ等のターゲットデバイスの消費電力を予測するための機能を有していない。
【００１１】
【発明が解決しようとする課題】
本発明は、上述の問題を解決する為になされたもので、特に、マイクロプロセッサを含む大規模な回路に対して、最終製品のＬＳＩ等のターゲットデバイスで消費される電力を予測するための手法と論理設計装置及び消費電力測定方法を提供することを目的とする。
また、従来の論理シミュレーションによる速度の問題を解決し、更に、マイクロプロセッサを含む大規模な回路に対して、実行される命令単位に消費される電力と実行される命令に対応した消費電力の動的な分布傾向を設計の上流段階で大まかに予測することを目的とする。
【００１２】
【課題を解決するための手段】
この発明に係る論理設計装置は、エミュレータを備え、エミュレータを用いてエミュレーション対象の回路の消費電力を測定する論理設計装置において、
エミュレータに電力を供給するメイン電源と、
上記メイン電源とは分離したサブ電源とを備え、
上記エミュレータは、
電気的に書き換え可能であって、エミュレーション対象の回路をマッピングする論理素子と、
上記サブ電源によって上記論理素子へ供給する電力を制御する制御回路と、
上記サブ電源によって上記論理素子へ供給された電力のうち、上記論理素子において消費される電力を消費電力として測定する電圧／電流計と
を備えたことを特徴とする。
【００１３】
上記論理素子は、複数の論理素子を備え、
上記サブ電源は、上記複数の論理素子それぞれに対応する複数のサブ電源を備え、
上記電圧／電流計は、上記複数の論理素子それぞれに対応する複数の電圧／電流計を備えたことを特徴とする。
【００１４】
上記エミュレーション対象の回路は、複数の回路に分割され、分割された複数の回路それぞれが上記複数の論理素子のいずれかへマッピングされ、
上記複数の電圧／電流計は、上記複数の回路がマッピングされた上記複数の論理素子毎に消費電力を測定することを特徴とする。
【００１５】
上記論理設計装置は、さらに、複数の命令を実行するマイクロプロセッサと、
上記マイクロプロセッサによって実行される複数の命令から構成されるソフトウェアをエミュレータへ提供するインサーキットエミュレータとを備え、
上記制御回路は、上記ソフトウェアを構成する複数の命令それぞれの実行と同期をとり、一の命令の実行毎に消費電力を測定することを制御する測定回路制御部を備え、
上記複数の電圧／電流計は、上記測定回路制御部からの制御に基づいて、一の命令の実行毎に消費電力を測定することを特徴とする。
【００１６】
上記論理設計装置は、さらに、上記測定回路制御部からの制御に基づいて、上記複数の電圧／電流計で測定された消費電力を収集し、収集した消費電力を所定の規則に基づいて計算する消費電力集計部を備えたことを特徴とする。
【００１７】
上記消費電力集計部は、上記複数の命令のからなる処理単位毎に消費電力を計算することを特徴とする。
【００１８】
上記消費電力集計部は、命令が実行される時に使用するメモリ領域毎に消費電力を集計することを特徴とする。
【００１９】
上記消費電力集計部は、実行される命令毎に消費電力を集計し、実行される命令毎の消費電力に関して、最小消費電力、最大消費電力、平均消費電力とを求めることを特徴とする。
【００２０】
上記論理設計装置は、さらに、論理設計装置で予測される消費電力をエミュレーション対象の回路を実装するデバイスの消費電力へ換算するための消費電力換算表を記憶する換算表記憶部を備え、
上記消費電力集計部は、上記換算表記憶部に記憶された消費電力換算表と、上記複数の電圧／電流計で測定された消費電力とに基づいて、測定された消費電力からデバイスの消費電力を換算して求め、デバイスの消費電力を予測することを特徴とする。
【００２１】
上記消費電力集計部は、上記エミュレーション対象の回路が複数の回路に分割され、分割された複数の回路それぞれが上記複数の論理素子のいずれかへマッピングされることによって増加する消費電力を予測された消費電力から差し引くことを特徴とする。
【００２２】
上記論理設計装置は、さらに、上記複数の電圧／電流計によって測定された消費電力を表示する表示部を備えたことを特徴とする。
【００２３】
上記論理素子は、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）であることを特徴とする。
【００２４】
この発明に係る消費電力測定方法は、エミュレータと、電気的に書き換え可能な論理素子とを備え、エミュレーション対象の回路の消費電力を測定する消費電力測定方法において、
エミュレータを制御する制御工程と、
上記制御工程に電力を供給するメイン電力供給工程と、
エミュレーション対象の回路を上記論理素子へマッピングするマッピング工程と、
上記メイン電力供給工程とは分離され、上記論理素子に電力を供給するサブ電力供給工程と、
上記サブ電力供給工程によって上記論理素子へ供給された電力のうち、上記論理素子において消費される電力を消費電力として測定する測定工程と
を備えたことを特徴とする。
【００２５】
【発明の実施の形態】
実施の形態１．
本発明に関する第１の実施形態の機能構成要素の一例を図１に示す。
この図は、本発明が提供する消費電力予測用の論理設計装置の一例である。
図１では、論理設計装置は、パーソナル・コンピュータ１、メイン電源２、サブ電源８、インサーキットエミュレータ（ＩＣＥ：Ｉｎ−Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ）用電源１１、インサーキットエミュレータ（ＩＣＥ）１２、エミュレータ２０から構成される例を示している。
【００２６】
パーソナル・コンピュータ（ＰＣ）１は、ユーザとエミュレータ２０とのインタフェースを司る計算機であり、この例では、ＰＣを使用する場合を示している。しかし、この他の計算機であっても構わない。
ＰＣ１は、後述する論理素子２２のデータや、インサーキットエミュレータ（ＩＣＥ）１２のソフトウエアデバッガ等をインストールしたものを使用する。
メイン電源２は、エミュレータ２０の制御回路２１（制御回路２１については後述する）に電源を供給する。
サブ電源８は、エミュレータ２０内の論理素子２２へ電源を供給する。サブ電源８は、メイン電源２とは分離している。
図１の例では、サブ電源８は、複数のサブ電源0 〜サブ電源n を備えている例を示している。
ＩＣＥ用電源１１は、ＩＣＥ専用の電源である。
ＩＣＥ１２は、インサーキットエミュレータとして機能する。
エミュレータ２０は、エミュレーション対象の回路の消費電力を測定する。
【００２７】
論理設計装置は、このエミュレータ２０を用いて、エミュレーション対象の回路の消費電力を予測する。
エミュレーション対象の回路は、試験対象となる回路であり、ユーザが作成する。以下の説明では、エミュレーション対象の回路を「ユーザ論理」ともいう。
また、ソフトウェアは、実行する命令から構成されるプログラムのロードモジュールを指す。ソフトウェアは、マイクロプロセッサによって、それぞれの命令が実行される。ソフトウェアも、ユーザが作成する。
【００２８】
エミュレータ２０は、論理素子２２とサブ電源８と制御回路２１とを含む構成である。
論理素子２２は、電気的に書き換え可能であって、エミュレーション対象の回路をマッピングする。
図１では、複数のＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍａｂｌｅ  ＧａｔｅＡｒｒａｙ）0 〜ＦＰＧＡn から構成されている例を示している。しかし、論理素子は、一のＦＰＧＡであってもよい。更に、ＦＰＧＡに限られることなく、電気的に書き換え可能な論理素子であれば、その他のものであっても構わない。
【００２９】
この実施の形態では、ＦＰＧＡ0 ３は、マイクロプロセッサ（ＭＰＵ：Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）をマッピングした例を示している。ＦＰＧＡ0 ３は、ＭＰＵそのものであっも構わない。
また、ＦＰＧＡ0 ３へマイクロプロセッサとインサーキットエミュレータとをマッピングする場合もある。
また、この実施の形態では、ＦＰＧＡ1 ６ａ〜ＦＰＧＡn ６ｎは、エミュレーション対象の回路としてユーザ論理をマッピングする例を示している。以下の説明において、ＦＰＧＡ６とした場合は、ＦＰＧＡ1 ６ａ〜ＦＰＧＡn ６ｎを示す。
【００３０】
電圧／電流計７は、各々のＦＰＧＡで消費される消費電力を測定する。
図１の例では、電圧／電流計７は、上記複数の論理素子２２それぞれに対応した電圧／電流計0 〜電圧／電流計n を備えている例を示している。
【００３１】
制御回路２１は、エミュレータを制御する回路である。
制御回路２１は、シリアルＩ／Ｆ４、エミュレータ制御部５、測定回路制御部９、サブ電源制御部１０とを含む。
シリアルＩ／Ｆ４は、パーソナルコンピュータ１と論理設計装置間でデータをやり取りする。
エミュレータ制御部５は、エミュレータ２０に含まれる各構成要素を制御する。
【００３２】
測定回路制御部９は、論理素子２２の消費電力を測定する装置として電圧／電流計７を制御する。
図１では、測定回路制御部１０は、電圧／電流計0 〜電圧／電流計n を制御する例を示している。
【００３３】
サブ電源制御部１０は、エミュレータ制御部５の制御のもとで、論理素子２２へ電力を供給する。
図１では、サブ電源制御部１０は、サブ電源0 〜サブ電源n を制御する例を示している。
サブ電源８は、制御回路２１の制御に基づいて、各論理素子２２へ電力を供給する。
【００３４】
次に、電力の供給経路について説明する。メイン電源２は、エミュレータ２０に電力を供給する。
ＩＣＥ用電源１１は、ＩＣＥ１２に電力を供給する。
サブ電源８は、論理素子２２へ電力を供給する。具体的には、サブ電源0 〜サブ電源n は、ユーザ論理が実装されるＦＰＧＡ0 ３、ＦＰＧＡ６に電力を供給する。
電圧／電流計７は、ＦＰＧＡ0 ３、ＦＰＧＡ６で消費される電力を測定する。
このような構成にすることにより、エミュレータ２０で消費される電力とは別に、ユーザ論理で消費される電力を各々測定することができるようになる。
【００３５】
ユーザが作成したユーザ論理は、一のＦＰＡＧにマッピングすることも可能である。この場合は、一のＦＰＧＡの消費電力を測定すればよいことになる。
また、ユーザ論理を複数の回路に分割し、分割された複数の回路を複数のＦＰＧＡ６のいずれかにマッピングすることもできる。
この場合は、各々のＦＰＧＡ1 〜ＦＰＧＡn で消費される電力を測定することができるので、ユーザが分割された複数の回路で消費される電力も細かく測定することができる。
【００３６】
次に、ソフトウェアを用いて、ユーザが作成したユーザ論理を消費電力を測定する場合について説明する。
ソフトウェアは、マイクロプロセッサによって、ソフトウェアを構成する命令を実行する。
図１の例では、ＦＰＧＡ0 へマイクロプロセッサを実装（マッピング）している。
【００３７】
次に、ソフトウェアは、パーソナル・コンピュータ１によって制御されるＩＣＥ１２を介して、ＦＰＧＡ0 に内蔵するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）へマッピングする。
このようにして、ソフトウェアの実行を可能にする。
【００３８】
エミュレータ２０では、エミュレータ制御部５の制御に基づいて、ユーザ論理の実行（命令の実行）に合わせて、各々のＦＰＧＡ0 〜ＦＰＧＡn で消費される電力を収集する。
電圧／電流計７で測定された消費電力は、測定回路制御部９によって制御され、収集される。
収集された消費電力は、シリアルＩ／Ｆ４経由でパーソナル・コンピュータ１に送信する。この機能により、ソフトウエアが実行された命令単位にユーザが作成した論理で消費される消費電力を知ることができる。
【００３９】
また、マイクロプロセッサに加え、インサーキットエミュレータをＦＰＧＡ0 へマッピングしてインサーキットエミュレータの機能を利用して、消費電力を測定することもできる。
また、この場合は、ソフトウェアを、エミュレータ２０内のインサーキットエミュレータ用に備えられたメモリ内にマッピングすることも可能である。
このようにして、ユーザ論理としてマイクロプロセッサのエミュレーション機能、トレース機能、ブレーク機能などの各種デバッグ機能を付加したインサーキットエミュレータの機能をＦＰＧＡに実装することにより、パーソナルコンピュータから、インサーキットエミュレータの機能を利用することができる。
つまり、マイクロプロセッサ及びインサーキットエミュレータの機能を論理素子２２へマッピングすることにより、ユーザ論理に使用されているマイクロプロセッサが変更された場合に、インサーキットエミュレータの機能を実現する論理も変更することが容易にできる。従って、システムに柔軟性を持たせることができるようになる。
【００４０】
このように、この発明に係る論理設計装置は、電気的に書き換え可能な論理素子（ＦＰＧＡ等）を用いて構成されるエミュレータ装置において、エミュレータを制御する回路とエミュレーション対象の回路に対して、各々のブロックに電力を供給することができる手段と各々のブロックで消費される電力（電圧と電流）を測定することができる装置を備えることを特徴とする。
【００４１】
更に、この発明に係る論理設計装置は、エミュレーション対象の回路を複数の回路に分割し、それぞれの回路をエミュレータ上の電気的に書き換え可能な複数の論理素子（ＦＰＧＡ等）のいずれかにマッピングする。マッピングしたＦＰＧＡ毎に、電力を供給することができる手段と個々のＦＰＧＡで消費された電力（電圧と電流）を測定することができる装置を備えることを特徴とする。
【００４２】
実施の形態２．
図２は、この実施の形態の論理設計装置の一例を表わしている。
図２の論理設計装置は、図１の論理設計装置に、消費電力集計部３１、換算表記憶部３２、及び、表示部３３とを追加した構成である。
消費電力集計部３１は、複数の電圧／電流計７で測定された消費電力を収集し、収集した消費電力を所定の規則に基づいて計算する。
表示部３３は、上記複数の電圧／電流計７によって測定された消費電力を表示する。
【００４３】
換算表記憶部３２は、論理設計装置で予測される消費電力をエミュレーション対象の回路を実装するデバイスの消費電力へ換算するための消費電力換算表を記憶する。
消費電力換算表は、予め論理設計装置で測定された消費電力を、実際の半導体集積回路などのターゲットデバイスの消費電力に換算する為の消費電力換算表を事前に理論値、ならびに、評価回路等を用いた実測値から作成しておく。
また、図２では、ＰＣ１に上記追加する構成要素を備えている例を示しているが、これに限られるわけではない。
【００４４】
また、消費電力集計部３１が計算する場合の所定の規則として、以下のような場合が一例としてあげられる。
（１）命令毎に消費電力を計算する、複数の命令のからなる処理単位毎に消費電力を計算する。
（２）命令が実行される時に使用するメモリ領域毎に消費電力を集計する。
（３）実行される命令毎に消費電力を集計し、実行される命令毎の消費電力に関して、最小消費電力、最大消費電力、平均消費電力とを求める。
（４）消費電力換算表と、上記複数の電圧／電流計で測定された消費電力とに基づいて、測定された消費電力からデバイス（最終製品のＬＳＩ等のターゲットデバイス）の消費電力を換算して求め、デバイスの消費電力を予測する。
（５）消費電力換算表と実システムの動作周波数とエミュレータ動作周波数の差分情報や実システムの電圧値とエミュレータの電圧値の差分情報から半導体集積回路などのターゲットデバイスの消費電力を予測する。
【００４５】
図３は、この実施の形態の処理の流れの一例を表わした図である。
まず、ユーザは、エミュレータのメイン電源をＯＮにする（Ｓ２０）。
次に、ユーザ論理をＦＰＧＡに実装できるように、複数の論理回路に分割する。分割する論理回路は、極力意味のある論理回路のブロックにするようにする。エミュレータ２０上に複数備えられたＦＰＧＡの中で、ユーザが作成したユーザ論理を実装するＦＰＧＡを選択する（Ｓ２１）。
選択したＦＰＧＡに電源が供給されるようにサブ電源をＯＮにし、インサーキットエミュレータ（ＩＣＥ）用電源もＯＮにする（Ｓ２２）。
【００４６】
ユーザが作成した論理をＦＰＧＡにダウンロードする（Ｓ２３）。次に、インサーキットエミュレータとマイクロプロセッサとの機能を実現する論理をＦＰＧＡにダウンロードする（Ｓ２４）。この実施の形態では、ＦＰＧＡ0 にダウンロードしている。
次に、ユーザ論理上で実行するソフトウエアをマイクロプロセッサ内のＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、または、ＩＣＥを使用している場合には、エミュレーション用に用意されたメモリへダウンロードする（Ｓ２５）。
【００４７】
ＦＰＧＡの電圧と電流の測定を開始し（Ｓ２６）、ユーザ論理を実行するソフトウエアを実行する（Ｓ２７）。
ソフトウエア実行中、電圧／電流計７は、命令が実行される度に、消費電力を測定し、測定結果をパーソナル・コンピュータ１の消費電力集計部３１に転送する。
ソフトウエアの実行終了後、消費電力集計部３１は、実行された命令と命令実行中に消費された電力から、最大消費電力、最小消費電力、平均消費電力を求める。更に、事前に、最終製品とエミュレータに実装したＦＰＧＡで消費される消費電力を理論値および評価回路で測定した結果から作成した消費電力換算表に基づいて、最終製品で消費される消費電力を計算する統計処理を行う（Ｓ２８）。
【００４８】
表示部３３は、インサーキットエミュレータのソースコードデバッガーの画面上に、統計処理の結果と、命令単位で消費される電力値、或いは、高級言語の場合には、１ライン分のソースコードを実行するのに要した消費電力（電圧や電流）と実行した命令がアクセスしたメモリ領域毎に、消費電力の最大値、最小値、平均値を表示する（Ｓ２９）。
このようにして、実行される命令に対応して、ＦＰＧＡにマッピングした論理で消費される電力の傾向が設計上流段階で分かる。
【００４９】
実施の形態３．
上記実施の形態では、マイクロプロセッサ、または、マイクロプロセッサとインサーキットエミュレータとを論理素子２２へマッピングする例を示した。
しかし、ユーザ論理をソフトウェアを利用しないで、消費電力を測定する場合は、論理素子２２へユーザ論理をマッピングすれば充分であり、マイクロプロセッサとインサーキットエミュレータを論理素子２２へマッピングしていなくてもよい。
【００５０】
【発明の効果】
以上、説明したように、本発明に係る論理設計装置及び論理設計方法によれば従来、設計上流段階で見積もりが困難であった大規模回路、特に、マイクロプロセッサを含む回路に対して、エミュレータとインサーキットエミュレータを組み合わせた論理設計装置とエミュレータ上に実装されるＦＰＧＡと最終製品のターゲットデバイス（例えば、ＬＳＩ）との消費電力換算によって、消費電力を予測することができる。
【００５１】
また、この発明によれば、実行される命令毎に消費電力を測定することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１を説明するための論理設計装置の一例を示す図である。
【図２】  本発明の実施の形態２を説明するための論理設計装置の一例を示す図である。
【図３】  本発明の実施の形態２を説明するためのフローチャート図である。
【図４】  従来技術の消費電力計算方式の一例を表す図である。
【図５】  従来技術の電子回路の消費電力計算方法および装置の一例を表す図である。
【図６】  従来技術の電流値測定機能付きエミュレータの一例を表す図である。
【符号の説明】
１  パーソナル・コンピュータ（ＰＣ）、２  メイン電源、３  ＦＰＧＡ0 、４  シリアルＩ／Ｆ、５  エミュレータ制御部、６  ＦＰＧＡ1 〜ＦＰＧＡn 、７  電圧／電流計、８  サブ電源、９  測定回路制御部、１０  サブ電源制御部、１１  ＩＣＥ用電源、１２  ＩＣＥ（インサーキットエミュレータ）、２０  エミュレータ、２１  制御回路、２２  論理素子、３１  消費電力集計部、３２換算表記憶部、３３  表示部、１００  消費電力計算部、１０１  変化信号の配線容量抽出部、１０２  イベントの識別部、１０３  変化信号の識別部、１０４  変化部品の識別部、１０５  部品種別消費エネルギー収集部、１０６  出力値変化による消費エネルギーの計算部、１０７  入力値変化による消費エネルギーの計算部、１０８  部品内共通動作部の消費エネルギー計算部、１０９  変化部品消費エネルギー集計部、１１０  消費電力集計部、１１１  配線容量、１１２  シミュレーション結果、１１３  論理回路、１２０  消費電力処理装置、１２１  消費電力計算部、１２２  負荷容量計算部、１２３  メモリ装置、１２４設計データベース（設計ＤＢ）、１３０  マスタ・マイクロコンピュータ、１３１  スレーブ・マイクロコンピュータ、１３２  マルチプレクサ、１３３  ブレーク制御部（比較手段、保持手段）、１３４  トレースメモリ部（記憶手段）、１３５  変換回路、１３６  測定回路、１３７  ユーザシステム、１３８  マスタ・バス、１３９  スレーブ・バス、１４０  エミュレータ、１４１  入力端子。
【図１】
0004275282.tif 000002
【図２】
0004275282.tif 000003
【図３】
0004275282.tif 000004
【図４】
0004275282.tif 000005
【図５】
0004275282.tif 000006
【図６】
0004275282.tif 000007