(57)【要約】  本発明の信号選択装置は、回路１０１の動作パラメータを求めるための信号選択装置１００であって、回路１０１の情報が入力されると、動作パラメータの測定対象となる回路内の信号を列挙する回路解析手段１１０と、推定誤差の幅および信頼度ならびに列挙された信号の数から動作パラメータを求めるために必要な観測信号の数を統計学的に求める観測信号数決定手段１１１と、観測信号の数に対応する信号を列挙された信号から観測信号として選択する観測信号選択手段１１２とを有する。
2008038617.tif 000002
【特許請求の範囲】
【請求項１】
回路の動作パラメータを求めるための信号選択装置であって、
前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析手段と、
推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を統計学的に求める観測信号数決定手段と、
前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する観測信号選択手段と、
を有する信号選択装置。
【請求項２】
前記動作パラメータはトグル率または消費電力であり、
前記観測信号数決定手段は、前記動作パラメータの確率分布を正規分布であると仮定して、前記観測信号の数を求める請求の範囲１記載の信号選択装置。
【請求項３】
前記観測信号数決定手段は、前記トグル率が所定の値以上のとき、統計学的に値を保証するように前記観測信号の数を求める請求の範囲２記載の信号選択装置。
【請求項４】
前記観測信号選択手段は、変化しないと予め認識した信号以外の信号を選択する請求の範囲１から３のいずれか１項記載の信号選択装置。
【請求項５】
前記観測信号選択手段は、変化すると予め認識した信号以外の信号を選択する請求の範囲１から３のいずれか１項記載の信号選択装置。
【請求項６】
前記回路解析手段は、列挙した各信号の依存関係を解析し、
前記観測信号選択手段は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択する請求の範囲１から５のいずれか１項記載の信号選択装置。
【請求項７】
前記回路は複数のサブブロックから構成され、
前記回路解析手段は、予め指定されたサブブロック毎に信号を列挙し、
前記観測信号数決定手段は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を統計学的に求め、
前記観測信号選択手段は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択する請求の範囲１から６のいずれか１項記載の信号選択装置。
【請求項８】
前記観測信号数決定手段は、
前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を統計学的に求め、求めた観測信号の数から該サブブロックに包含される指定された１つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とする請求の範囲７記載の信号選択装置。
【請求項９】
請求の範囲１から８のいずれか１項記載の信号選択装置によって選択された観測信号に対して、
前記観測信号の変化を検出する変化検出回路および該変化検出回路により検出された変化を読み出す読出回路を前記回路に挿入する回路挿入手段を有する回路修正装置。
【請求項１０】
前記変化検出回路は前記観測信号の変化の回数を検出し、
前記読出回路は前記観測信号の変化の回数を読み出す請求の範囲９記載の回路修正装置。
【請求項１１】
前記変化検出回路は、
前記観測信号の変化を検出するか否かを決定する手段を有する請求の範囲９または１０記載の回路修正装置。
【請求項１２】
請求の範囲１から８のいずれか１項記載の信号選択装置によって選択された観測信号に対して、
前記観測信号の変化を検出する検出手段と、
検出した変化から回路全体のトグル率を推定する推定手段と、
を有する回路シミュレータ。
【請求項１３】
前記検出手段は前記観測信号の変化の回数を数え、
前記推定手段は前記回数から回路全体の消費電力を推定する請求の範囲１２記載の回路シミュレータ。
【請求項１４】
請求の範囲９記載の回路修正装置によって修正された回路をエミュレートするエミュレータ手段と、
変化した前記観測信号の数を前記読出回路より読み出し、変化した前記観測信号の数から回路全体のトグル率を推定する推定手段と、
を有する回路エミュレータ。
【請求項１５】
請求の範囲１０記載の回路修正装置によって修正された回路をエミュレートするエミュレータ手段と、
前記読出回路によって読み出した変化の回数から回路全体の消費電力を推定する推定手段と、
を有する回路エミュレータ。
【請求項１６】
回路の動作パラメータを求めるための、情報処理装置による信号選択方法であって、
前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析を行い、
推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を統計学的に求める信号数決定を行い、
前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する信号選択を行う、信号選択方法。
【請求項１７】
前記動作パラメータはトグル率または消費電力であり、
前記信号数決定は、前記動作パラメータの確率分布を正規分布であると仮定して、前記観測信号の数を求めるものである請求の範囲１６記載の信号選択方法。
【請求項１８】
前記信号数決定は、前記トグル率が所定の値以上のとき、統計学的に値を保証するように前記観測信号の数を求めるものである請求の範囲１７記載の信号選択方法。
【請求項１９】
前記信号選択は、変化しないと予め認識した信号以外の信号を選択するものである請求の範囲１６から１８のいずれか１項記載の信号選択方法。
【請求項２０】
前記信号選択は、変化すると予め認識した信号以外の信号を選択するものである請求の範囲１６から１８のいずれか１項記載の信号選択方法。
【請求項２１】
前記回路解析は、列挙した各信号の依存関係を解析するものであり、
前記信号選択は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択するものである請求の範囲１６から２０のいずれか１項記載の信号選択方法。
【請求項２２】
前記回路は複数のサブブロックから構成され、
前記回路解析は、予め指定されたサブブロック毎に信号を列挙するものであり、
前記信号数決定は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を統計学的に求めるものであり、
前記信号選択は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択するものである請求の範囲１６から２１のいずれか１項記載の信号選択方法。
【請求項２３】
前記信号数決定は、
前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を統計学的に求め、求めた観測信号の数から該サブブロックに包含される指定された１つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とするものである請求の範囲２２記載の信号選択方法。
【請求項２４】
回路の動作パラメータを求めるための信号選択をコンピュータに実行させるためのプログラムであって、
前記回路の情報が入力されると、前記動作パラメータの測定対象となる回路内の信号を列挙する回路解析を行い、
推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記動作パラメータを求めるために必要な観測信号の数を統計学的に求める信号数決定を行い、
前記観測信号の数に対応する信号を列挙された前記信号から観測信号として選択する信号選択を行う処理を前記コンピュータに実行させるためのプログラム。
【請求項２５】
前記動作パラメータはトグル率または消費電力であり、
前記信号数決定は、前記動作パラメータの確率分布を正規分布であると仮定して、前記観測信号の数を求めるものである請求の範囲２４記載のプログラム。
【請求項２６】
前記信号数決定は、前記トグル率が所定の値以上のとき、統計学的に値を保証するように前記観測信号の数を求めるものである請求の範囲２５記載のプログラム。
【請求項２７】
前記信号選択は、変化しないと予め認識した信号以外の信号を選択するものである請求の範囲２４から２６のいずれか１項記載のプログラム。
【請求項２８】
前記信号選択は、変化すると予め認識した信号以外の信号を選択するものである請求の範囲２４から２６のいずれか１項記載のプログラム。
【請求項２９】
前記回路解析は、列挙した各信号の依存関係を解析するものであり、
前記信号選択は、選択した信号間で前記依存関係から該信号間で依存がない信号を観測信号として選択するものである請求の範囲２４から２８のいずれか１項記載のプログラム。
【請求項３０】
前記回路は複数のサブブロックから構成され、
前記回路解析は、予め指定されたサブブロック毎に信号を列挙するものであり、
前記信号数決定は、前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から、前記指定されたサブブロック毎に観測信号の数を統計学的に求めるものであり、
前記信号選択は、前記指定されたサブブロック毎の前記観測信号の数に対応する信号を、前記指定されたサブブロック毎に列挙された前記信号から選択するものである請求の範囲２４から２９のいずれか１項記載のプログラム。
【請求項３１】
前記信号数決定は、
前記指定されたサブブロック毎の前記推定誤差の幅および信頼度ならびに列挙された前記信号の数から前記指定されたサブブロック毎の観測信号の数を統計学的に求め、求めた観測信号の数から該サブブロックに包含される指定された１つまたは複数のサブブロックの観測信号の数を引いた数を、前記指定されたサブブロック毎の前記観測信号の数とするものである請求の範囲３０記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理回路の機能検証に関し、回路の動作パラメータを効率的に測定するための信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法およびプログラムに関するものである。
【背景技術】
【０００２】
ディジタルLSIにおいて、再製造等を避けるために、LSIが有する全ての機能を事前に検証することはとても重要である。そのためには、ディジタルLSIが有する全ての機能を列挙し、その各機能について検証することが必要である。【０００３】
しかしながら現在のLSIの設計手法では、そのLSIが有する全ての機能を列挙する手段が人手であり、その列挙漏れを防ぐことができないという問題がある。【０００４】
そのため、現在のLSI設計では全ての機能を列挙し検証する以外に、別の指標を使って検証の良さを測定しており、その１つとしてトグル率がある。その一例が文献（D.  Drako  and  P.Cohen,  “HDL  Verification  Coverage,”  Integrated  System  Design  Magazine,  pp.46-52,  June  1998.）に開示されている。【０００５】
トグル率は、回路動作が終了したときの信号の変化度合いであり、より具体的には(L+H)/2Nで求められる。このとき、Lは論理1から論理0に一度でも変化した信号の数であり、Hは論理0から論理1に一度でも変化した信号の数であり、Nは回路に存在する全ての信号の数である。【０００６】
したがって、トグル率を求めるためには、LSI内にある全ての信号の情報(変化)が必要である。そのため、現在のLSI設計では、トグル率はRTLシミュレータで求めている。【０００７】
しかしながら、近年のディジタルLSIの多機能化はすさまじく、シミュレーション速度は低下の一途をたどっている。その結果、トグル率をRTLシミュレータで求めることが困難になってきている。この問題を解決するための手法として、ハードウェアエミュレータでトグル率を求める手法がある。その手法の一例が、特開平０１−０２６２４３号公報に開示されている。
【発明の開示】
【０００８】
従来の方法では、動作パラメータのトグル率や消費電力を求めるために回路内の全ての信号の情報（信号変化の情報）が必要となる。そのため、RTLシミュレータの動作速度が遅くなってしまう問題点がある。なぜならば、全ての信号に対して、信号の変化を検出し、検出結果を記録しておく必要があるからである。
【０００９】
一方、ハードウェアエミュレータや実際のディジタルLSIでは、トグル率を求めるために必要な回路規模が大きくなってしまう問題点がある。なぜならば、全ての信号に対して、信号の変化を検出するための回路や、その結果を保存する記憶素子、そして、その記憶素子の値を読出すための手段が必要となるためである。
【００１０】
本発明は上述したような技術が有する問題点を解決するためになされたものであり、回路の動作パラメータを求める際に回路内の全ての信号変化の情報を必要としない信号選択装置、回路修正装置、回路シミュレータ、回路エミュレータ、信号選択方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【００１１】
本発明の信号選択装置は、回路の動作パラメータを求めるための信号選択装置であって、回路の情報が入力されると、動作パラメータの測定対象となる回路内の信号を列挙する回路解析手段と、推定誤差の幅および信頼度ならびに列挙された信号の数から、動作パラメータを求めるために必要な観測信号の数を統計学的に求める観測信号数決定手段と、観測信号の数に対応する信号を列挙された信号から観測信号として選択する観測信号選択手段と、を有する構成である。
【００１２】
本発明では、動作パラメータを求める際に必要な信号の数を統計学的に算出して、計算に必要な数を従来よりも少なくしている。そのため、回路の機能検証に対する信頼性を維持したまま、動作パラメータを従来よりも効率よく求めることが可能となる。
【００１３】
本発明によれば、動作パラメータに必要な信号の数を統計学的に求めて、従来よりも信号数を減らしているため、ＲＴＬシミュレータでトグル率や消費電力を求めるときに起きる速度低下を低減できる。
【００１４】
また、回路全体のトグル率や消費電力を求める際、回路内の全ての信号を利用するのではなく、無作為に抽出されたサンプル信号のみを用いるため、ハードウェアエミュレータや実際のディジタルLSIでトグル率や消費電力を求めるための回路規模が従来よりも小さくてすむ。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の第１の実施形態の構成例を示すブロック図である。
【図２】図２は本発明の第１の実施形態の動作の流れを表すフローチャートである。
【図３】図３は本発明の第９の実施形態を説明するための回路のブロック図である。
【図４】図４は本発明の第１０の実施形態の構成例を示すブロック図である。
【図５】図５は本発明の第１０の実施形態の回路挿入手段により修正された回路の一例を示す回路図である。
【図６】図６は本発明の第１０の実施形態の変化検出回路の一構成例を示すブロック図である。
【図７】図７は本発明の第１０の実施形態の動作の流れを表すフローチャートである。
【図８】図８は本発明の第１１の実施形態の変化検出回路の一構成例を示すブロック図である。
【図９】図９は本発明の第１２の実施形態の構成例を示すブロック図である。
【図１０】図１０は本発明の第１２の実施形態の動作の流れを表すフローチャートである。
【図１１】図１１は本発明の第１３の実施形態の構成例を示すブロック図である。
【図１２】図１２は本発明の第１３の実施形態の動作の流れを表すフローチャートである。
【図１３】図１３は本発明の第１４の実施形態の動作の流れを表すフローチャートである。
【図１４】図１４は実施例１を説明するための回路の記述例である。
【符号の説明】
【００１６】
１００    信号選択装置
１０１    回路
１０２    観測信号リスト
１１０    回路解析手段
１１１    観測信号数決定手段
１１２    観測信号選択手段
４００    回路修正装置
４０１    回路挿入手段
４０２    修正された回路
５０１、５０１．１、…、５０１．ｘ    観測信号
５０２、５０２．１、…、５０２．ｘ    変化検出回路
５０３    読出回路
６０１、６０４、６０５    D型フリップフロップ
６０２、６０３    信号線
８０１、８０２    カウンタ
９０１    シミュレータ
９０２    イベント保持手段
９０３    イベント処理手段
９０４    観測信号判断手段
９０５    変化検出手段
９０６    記憶部
９０７    表示手段
９５０    制御部
１１０１    実装手段
１１０２    ハードウェアエミュレータ
１１０３    推定手段
１１０４    表示手段
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
本実施形態の信号選択装置の構成を説明する。図１は本実施形態の信号選択装置の一構成例を示すブロック図である。【００１８】
図１に示すように、本実施形態の信号選択装置１００は、トグル率の計測対象であるVerilog-  HDL  (Hardware  Description  Language)やVHDLなどで記述された回路１０１を示す情報である回路情報が入力されると、回路情報から観測信号リスト１０２を求めて出力する。なお、回路情報は図に示さない記憶装置に予め格納しておいてもよい。【００１９】
観測信号リスト１０２は、回路１０１の動作パラメータを求めるために観測が必要な信号である観測信号のリストである。記憶部１０１に格納された回路情報は、Verilog-  HDLやVHDLなどのハードウェア記述言語で記述された回路１０１を示す情報である。回路情報には、回路内の論理ゲートの種類および数ならびにこれらの論理ゲートの接続の仕方の情報が含まれている。なお、回路１０１を記述するためのハードウェア記述言語はVerilog-  HDLやVHDLに限らず、別のハードウェア記述言語であってもかまわない。また、回路情報は、回路図によって表された情報であってもよい。【００２０】
信号選択装置１００は、回路１０１に存在する全ての信号を列挙する回路解析手段１１０と、推定誤差の幅および信頼度ならびに回路解析手段１１０が列挙した信号の数とから観測信号の数を統計学的に求める観測信号数決定手段１１１と、観測信号数決定手段１１１が決定した観測信号の数の分だけ回路解析手段１１０が列挙した信号から無作為に選択する観測信号選択手段１１２とを有する。【００２１】
また、信号選択装置１００には、プログラムにしたがって所定の処理を実行するＣＰＵ（Central  Processing  Unit）と、プログラムを格納するためのメモリとを有する。ＣＰＵがプログラムを実行することで回路解析手段１１０、観測信号数決定手段１１１および観測信号選択手段１１２が仮想的に信号選択装置１００内に構成される。以下に、各手段について詳細に説明する。【００２２】
回路解析手段１１０は、回路１０１に存在する全ての信号を列挙し、その信号の情報をまとめた信号一覧を作成する。本実施形態では、その信号の特性に限らず、全て列挙する。【００２３】
観測信号数決定手段１１１は、推定誤差の幅をe、信頼度をq、回路解析手段１１０が列挙した信号の数をNとしたとき、観測信号の数を式（１）
【数１】
2008038617.tif 000003
により求める。ただし、関数Q-1((1-q)/2)は標準正規分布の上側確率関数の逆関数である。式（１）は、トグル率の確率分布を正規分布と仮定した式である。なお、推定誤差の幅および信頼度は操作者により外部から入力されてもよく、予め記憶部１０１に登録されていてもよい。【００２４】
例えば、Nを100000、推定誤差の幅を5%(0.05)、信頼度を95%(0.95)とすると、標準正規分布の上側確率関数の定義からQ-1((1-0.95)/2)≒1.96より、観測信号の数は約1513となる。より具体的には、1513本を観測して求めたトグル率が70%の場合、真のトグル率は区間[67.5,  72.5]の間に95%の確率で存在することが統計学的に保証される。【００２５】
観測信号選択手段１１２は、観測信号数決定手段１１１が決定した観測信号の数を回路解析手段１１０が列挙した信号から無作為に選択する。【００２６】
なお、動作パラメータの測定対象となる回路は、回路１０１全体の場合に限らず、回路１０１内のサブブロックの場合もある。この場合、サブブロックの数は１つとは限らない。回路解析手段１１０、観測信号数決定手段１１１および観測信号選択手段１１２は、測定対象となる回路に対応してそれぞれ上述の動作を行う。本実施形態では、回路１０１全体に対して実行する場合で説明している。【００２７】
次に、本実施形態の信号選択装置の全体の動作について詳細に説明する。図２は本実施形態の信号選択装置の動作手順を示すフローチャートである。【００２８】
回路１０１の情報が信号選択装置１００に入力されると、回路解析手段１１０は、回路１０１にあるトグル率の測定対象となる信号を解析し、その信号の情報をまとめた信号一覧を作成する（ステップＳ２０１）。【００２９】
続いて、観測信号数決定手段１１１が、ステップＳ２０１で作成された信号一覧を参照して信号の数を求める。そして、その信号の数と、入力された推定誤差の幅および信頼度とから、これら推定誤差の幅と信頼度を統計学的に保証できるような観測信号の数を式（１）を用いて求める（ステップＳ２０２）。【００３０】
その後、観測信号選択手段１１２が、ステップＳ２０２で決定された観測信号の数だけ、ステップＳ２０１で作成された信号一覧から信号を無作為に選択し、観測信号リスト１０２を作成する。そして、観測信号リスト１０２を出力する。【００３１】
なお、本実施形態では動作パラメータをトグル率としたが、消費電力であってもよい。また、回路情報が格納された記憶部と信号選択装置１００の機能を備えた制御部とを有するコンピュータ等の情報処理装置に本実施形態の信号選択方法の動作を実行させてもよい。【００３２】
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、動作パラメータとしてトグル率や消費電力を求めるための観測信号の数を従来よりも劇的に削減することができる。これにより、回路の機能検証に対する信頼性を維持したまま、回路シミュレータでトグル率や消費電力を求めるときに起きる速度低下を従来よりも劇的に低減できる。【００３３】
さらには、回路全体のトグル率や消費電力を求める際、回路内の全ての信号を利用するのではなく、無作為に抽出されたサンプル信号のみを用いるため、ハードウェアエミュレータや実際のディジタルLSIで従来よりも小規模な面積増加でトグル率を求めるシステムを提供できる。【００３４】
（第２の実施形態）
本発明の第２の実施形態について説明する。ただし、本実施形態の全体の動作は第１の実施形態と同様であるため、ここでは、第１の実施形態と異なる部分を中心に説明する。【００３５】
第１の実施形態では、観測信号数決定手段１１１は、回路１０１のトグル率がどのような値でも統計学的に保証できるように観測信号の数を決定している。本実施形態は、どのような値でも保証するのではなく、真のトグル率が所定の値以上になったときのみ保証できるように観測信号の数を決定するものである。【００３６】
具体的には、式（１）中の0.25をu(1-u)で計算される値に置き換えたものである。ただし、uは真のトグル率である。例えば、真のトグル率が80%以上のときのみ統計学的に保証する場合は、式（１）の0.25を0.8＊0.2=0.16に置き換え、90%以上のときのみ統計学的に保証する場合は、式（１）の0.25を0.9＊0.1=0.09に置き換える。【００３７】
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第１の実施形態と比較して、観測信号の数をさらに減らすことが可能となる。【００３８】
例えば、Nを100000、推定誤差の幅を5%(0.05)、信頼度を95%(0.95)とすると、第１の実施形態では観測信号の数が1513本であったが、真のトグル率が80%以上のときのみ保証する場合は、973本、90％以上のときのみ保証する場合は550本となり、それぞれ36％、64％の観測信号の数を削減できる。【００３９】
（第３の実施形態）
本発明の第３の実施形態について説明する。ただし、本実施形態の全体の動作は第１の実施形態と同様であるため、ここでは、第１の実施形態と異なる部分を中心に説明する。【００４０】
第１の実施形態と異なる部分は回路解析手段１１０の動作である。本実施形態の回路解析手段１１０は、“変化しない”と認識した信号を回路解析手段１１０から受け取る信号一覧に出力しないようにする。ここで、信号が“変化しない”とは、回路１０１の動作において信号線の電位が変化しないことを意味する。【００４１】
変化しないと回路解析手段１１０が認識する信号として、電源やグラウンドに接続された固定値の信号や、スペアの出力信号などがある。これらの信号は、ユーザが信号選択装置１００を操作して予め指定してもよく、認識方法をプログラムに予め記述しておくことで回路解析手段１１０に判断させてもよい。また、実行するテストベクタによっては、絶対に動作しない回路ブロックも存在するため、それらを解析して、信号一覧に出力しないようにする。【００４２】
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第１の実施形態と比較して、トグル率を意図せず下げてしまう要因を事前に削減することが可能となる。【００４３】
（第４の実施形態）
本発明の第４の実施形態について説明する。本実施形態の目的は、第３の実施形態と同様である。しかし、第３の実施形態とは次のように異なる。第３の実施形態では、信号解析手段１１０が、“変化しない”と認識した信号を信号一覧に出力しないこととした。本実施形態では、観測信号選択手段１１２が、“変化しない”と認識した信号を選択しないように動作する。所定の信号の観測信号選択手段１１２への認識のさせ方は、ユーザが信号選択装置１００を操作して予め指定してもよく、認識方法をプログラムに予め記述しておいてもよい。【００４４】
なお、本実施形態の全体の動作は第１の実施形態と同様であるため、その詳細な説明を省略する。また、本実施形態の効果についても第３の実施形態と同様であるため、その詳細な説明を省略する。【００４５】
（第５の実施形態）
本発明の第５の実施形態について説明する。ただし、本実施形態の全体の動作は第１の実施形態と同様であるため、ここでは、第１の実施形態と異なる部分を中心に説明する。【００４６】
第１の実施形態と異なる部分は回路解析手段１１０の動作である。本実施形態の回路解析手段１１０は、“変化する”と認識した信号を回路解析手段１１０から受け取る信号一覧に出力しないようにする。ここで、信号が“変化する”とは、回路１０１の動作において信号線の電位が変化して、電位の意味する値が１→０、または０→１のように変化することを意味する。【００４７】
変化すると回路解析手段１１０が認識する信号としては、クロック信号やリセット信号、回路１０１の入出力端子などがある。これらの信号はユーザが信号選択装置１００を操作して指定してもよく、認識方法をプログラムに予め記述しておくことで回路解析手段１１０に判断させてもよい。【００４８】
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、第１の実施形態と比較して、トグル率を意図せず上げてしまう要因を事前に削減することが可能となる。【００４９】
（第６の実施形態）
本発明の第６の実施形態について説明する。本実施形態の目的は、第５の実施形態と同様である。しかし、第５の実施形態とは次のように異なる。第５の実施形態では、信号解析手段１１０が、“変化する”と認識した信号を信号一覧に出力しないこととした。本実施形態では、観測信号選択手段１１２が、“変化する”と認識した信号を選択しないように動作する。所定の信号の観測信号選択手段１１２への認識のさせ方は、ユーザが信号選択装置１００を操作して予め指定してもよく、認識方法をプログラムに予め記述しておいてもよい。【００５０】
なお、本実施形態の全体の動作は第１の実施形態と同様であるため、その詳細な説明を省略する。また、本実施形態の効果についても第５の実施形態と同様であるため、その詳細な説明を省略する。【００５１】
（第７の実施形態）
本発明の第７の実施形態について説明する。ただし、本実施形態の全体の動作は第１の実施形態と同様であるため、ここでは、第１の実施形態と異なる部分を中心に説明する。【００５２】
第１の実施形態と異なる部分は回路解析手段１１０と観測信号選択手段１１２の動作である。本実施形態の回路解析手段１１０は、第１の実施形態で説明した動作の他に、信号間の依存関係を解析し、依存関係を出力する。そして、観測信号選択手段１１２は、信号を選択する際、信号間に依存関係のないものを選択する。【００５３】
依存関係とは、例えば、トグル率の対象となっている回路に信号Ａと信号Ｂがあり、それがインバータで接続されている場合などである。この場合、信号Ａが変化すれば必ず信号Ｂが変化する。そのため、トグル率は、依存関係のなしで低い場合はより低くなり、依存関係のなしで高い場合はより高くなる。依存関係は、トグル率をより強調する方向に変化させる原因になる。【００５４】
他の依存関係の例としては、例えば、信号Ａの値が変化したときに、その変化によって値が変わり得る信号は依存関係があるとし、その他の信号は依存関係がないとする例もある。【００５５】
また、他の依存関係の例としては、回路の階層が同じ場合は依存関係があるとし、その他の階層では依存関係がないとする例もある。【００５６】
次に、本実施形態の効果について説明する。本実施形態で説明した操作は、統計学的に許されないが、トグル率を低くする（機能検証漏れが少なくなる）ように働く。したがって、トグル率の値が実際よりも高くなる確率を減らすことができる。【００５７】
（第８の実施形態）
本発明の第８の実施形態について説明する。ただし、本実施形態の全体の動作は第１の実施形態と同様であるため、ここでは、第１の実施形態と異なる部分を中心に説明する。【００５８】
第１の実施形態と異なる部分は、回路解析手段１１０、観測信号数決定手段１１１および観測信号選択手段１１２の動作であり、回路１０１は複数のサブブロックに分割されていることである。【００５９】
回路解析手段１１０は、指定されたサブブロック毎に回路を解析し、その中にある信号をまとめた信号一覧を指定されたサブブロック毎に出力する。【００６０】
観測信号数決定手段１１１は、指定されたサブブロック毎の推定誤差の幅と信頼度と回路解析手段１１０が解析した結果による信号数から、指定されたサブブロック毎に観測信号の数を決定する。【００６１】
観測信号選択手段１１２は、指定されたサブブロック毎に、観測信号数決定手段１１１が決定したそのサブブロックに対する観測信号数の信号を、回路解析手段１１０が出力したそのサブブロックに対する信号一覧から選択する。【００６２】
次に、本実施形態の効果について説明する。本実施形態は、指定されたサブブロック毎に統計学的に保証可能なトグル率を求めることができる。これにより一度の動作で複数のトグル率を一括して求めることができ、測定に必要な時間を短縮することが可能となる。【００６３】
（第９の実施形態）
本発明の第９の実施形態について説明する。ただし、本実施形態の全体の動作は第８の実施形態と同様であるため、ここでは、第８の実施形態と異なる部分を中心に説明する。【００６４】
第８の実施形態と異なる部分は、観測信号数決定手段１１１の動作と、指定されたサブブロックに包含関係があることである。図３は本実施形態を説明するためのサブブロックの構成例を示す模式図である。図３では、サブブロックＡの中にサブブロックＢおよびサブブロックＣがあり、サブブロックＢの中にサブブロックＤがある。そして、指定されたサブブロックがサブブロックＡとサブブロックＤとする。【００６５】
観測信号数決定手段１１１は、最初に、指定されたサブブロック毎の推定誤差の幅と信頼度と列挙された信号の数から、指定されたサブブロック毎に観測信号数を仮に統計学的に求める。求める方法は第８の実施形態と同様である。次に、観測信号数決定手段１１１は、仮に決定した観測信号数から、そのサブブロックが包含する指定された１つまたは複数のサブブロックの仮の観測信号数を引いた数を、サブブロックの観測信号数とする。【００６６】
具体的な動作を、図３を用いて説明する。例えば、サブブロックＤでは仮の観測信号数が100個必要で、サブブロックＡでは仮の観測信号数が300個必要な場合、本実施形態の観測信号数決定手段１１１は、サブブロックＤは今までどおり観測信号数を100個とするが、サブブロックＡでは300-100の200個とする。【００６７】
次に、本実施形態の効果について説明する。本実施形態の信号選択装置および信号選択方法は、指定されたサブブロックが重なっている場合でも統計学的に値を保証しつつ、測定に必要な観測信号数を削減できる。【００６８】
（第１０の実施形態）
本発明の第１０の実施形態について図面を参照して詳細に説明する。本実施形態は、観測信号の変化を検出するための構成を回路１０１に挿入する回路修正装置である。【００６９】
図４は本実施形態の回路修正装置の一構成例を示すブロック図である。図５は本実施形態の回路修正装置により修正された回路の一例を示す図である。【００７０】
図４に示すように、本実施形態の回路修正装置４００は、トグル率の計測対象である回路１０１が入力されると観測信号リスト１０２を出力する信号選択装置１００と、観測信号リスト１０２を参照して回路１０１を修正する回路挿入手段４０１とを有する。なお、図に示さないＣＰＵがプログラムを実行することで回路挿入手段４０１が回路修正装置内に仮想的に構成される。【００７１】
回路挿入手段４０１は、観測信号リスト１０２にある各観測信号５０１．１、…、５０１．ｘに対して、信号の変化を検出する変化検出回路５０２．１、…、５０２．ｘと変化検出回路５０２．１、…、５０２．ｘが検出した変化の有無を読み出す読出回路５０３とを回路１０１に挿入し、この挿入により修正された回路４０２を出力する。ｘは１以上の任意の整数である。【００７２】
なお、信号選択装置１００、回路１０１および観測信号リスト１０２は第１の実施形態から第９の実施形態のいずれかと同様であるため、その詳細な説明を省略する。また、回路挿入手段４０１の動作を信号選択装置１００内のＣＰＵが実行するようにしてもよい。また、回路１０１の情報が格納された記憶装置を設けてもよい。【００７３】
次に、回路挿入手段４０１について図５を参照して詳細に説明する。【００７４】
回路挿入手段４０１は、回路１０１に対して、観測信号リスト１０２にあるｘ個の観測信号５０１．１、…、５０１．ｘのそれぞれに変化検出回路５０２．１、…、５０２．ｘのそれぞれを設け、読出回路５０３を設けた図５に示す回路を作成する。【００７５】
図５に示す回路では、回路１０１の機能的動作を変更しない意味で回路１０１の外に変化検出回路５０２．１、…、５０２．ｘと読出回路５０３を追加しているが、実際には観測信号付近に変化検出回路５０２．１、…、５０２．ｘを挿入してもよい。つまり、回路挿入手段４０１は、回路１０１の機能的な動作を変更せず、観測信号５０１．１、…、５０１．ｘを変化検出回路５０２．１、…、５０２．ｘに接続し、変化検出回路５０２．１、…、５０２．ｘを読出回路５０３に接続する。【００７６】
ｘ個の変化検出回路５０２．１、…、５０２．ｘは機能的に同一であり、変化検出回路５０２．１、…、５０２．ｘの具体例を、次に説明する。図６は本実施形態の変化検出回路の一構成例を示すブロック図である。図６では、観測信号５０１．１、…、５０１．ｘを代表して符号５０１で示し、変化検出回路５０２．１、…、５０２．ｘを代表して符号５０２で示す。【００７７】
図６に示すように、変化検出回路５０２．１、…、５０２．ｘは、観測信号５０１の１サイクル前の値を出力するDFF（D型フリップフロップ）６０１と、観測信号５０１の値が１で１サイクル前の値が０のときに出力が１になるANDゲート６２０と、観測信号５０１の値が０で１サイクル前の値が１のときに出力が１になるANDゲート６３０と、観測信号５０１が一度でも０から１に変化したときに値１を記憶するDFF６０４と、観測信号５０１が一度でも１から０に変化したときに値１を記憶するDFF６０５とを有する構成である。【００７８】
この構成において、論理伝播中に信号がばたつくジッタ以外の観測信号５０１の変化を検出可能にするため、DFF６０１、DFF６０４およびDFF６０５のクロック信号には、観測信号５０１やその信号に論理的に依存するデータ信号をラッチする全てのフリップフロップのクロック信号のうち、もっとも高速なクロック信号を利用する。【００７９】
図６に示した構成例では、値を記憶する手段としてD型フリップフロップを利用しているが、値を記憶できる手段であればその他の構成であってもよい。【００８０】
さらに、必要なテスト期間中だけトグル率を測定できるように、DFF６０４やDFF６０５に、リセット信号やクロックイネーブル信号を用意しておいてもよい。【００８１】
読出回路５０３は、ｘ個ある変化検出手段５０２．１、…、５０２．ｘ内部のDFF６０４とDFF６０５の値を読み出す手段である。本発明の回路修正装置における読出回路は、本実施形態の構成に限定されず、全てのDFF６０４とDFF６０５の値が読み出しできればどのような回路構成でもかまわない。例えば、回路規模を抑えるためにシリアル接続してもよいし、読出時間を短縮するために、複数の値を平行して読み出せるようにパラレル接続してもよい。【００８２】
次に、本実施形態の回路修正装置の全体の動作について詳細に説明する。図７は本実施形態の回路修正装置の動作手順を示すフローチャートである。【００８３】
本実施形態の回路修正装置による動作は、第１の実施形態で説明した図２の動作手順にステップＳ７０１の処理を追加したものである。ステップＳ７０１では、回路挿入手段４０１により、回路１０１に変化検出手段５０２．１、…、５０２．ｘと読出回路５０３を挿入し、回路１０１を修正する。【００８４】
次に、本実施形態の効果について説明する。本実施形態の回路修正装置では、推定誤差の幅や信頼度によっては数万となる観測信号の各々に、変換検出回路を付加し、それを読出手段に接続する煩雑を削減できる。また、回路修正を自動で行うことにより人手で発生する修正ミスを防ぐことができる。【００８５】
また、変化を検出するか否かを決定する手段として、変換検出回路のDFF６０４やDFF６０５にリセット信号やクロックイネーブル信号を追加する構成を設けてもよい。この場合、必要なテスト期間中だけトグル率を測定できるようにすることが可能となる。【００８６】
また、変換検出回路のDFF６０４やDFF６０５に対してさらに書き込み手段を設けることで、複数のテストベンチを実行させたときの結果がマージしやすくなる利点がある。【００８７】
（第１１の実施形態）
本発明の第１１の実施形態を、図面を用いて詳細に説明する。【００８８】
本実施形態の変化検出回路は、第１０の実施形態の変化検出回路５０２と同様に観測信号の変化の有無を検出するだけでなく、その回数も記憶できるようにしたものである。それにしたがって、本実施形態の読出手段は、観測信号の変化の回数を読み出せるようにしたものである。なお、本実施形態の全体の動作は第１０の実施形態と同様であるため、ここでは第１０の実施形態と異なる動作について中心に説明する。【００８９】
本実施形態におけるx個の変化検出回路５０２．１、…、５０２．ｘは機能的に同じであり、変化検出回路５０２．１、…、５０２．ｘの具体例を、次に説明する。図８は本実施形態の変化検出回路の一構成例を示すブロック図である。図８では、観測信号５０１．１、…、５０１．ｘを代表して符号５０１で示し、変化検出回路５０２．１、…、５０２．ｘを代表して符号５０２で示す。【００９０】
変化検出回路５０２．１、…、５０２．ｘは、第１０の実施形態のDFF６０４の構成が信号線６０２の信号の値が１になる回数を数えるカウンタ８０１に置き換えられ、第１０の実施形態のDFF６０５の構成が信号線６０３の信号の値が１になる回数を数えるカウンタ８０２に置き換えられている。【００９１】
この構成において、論理伝播中に信号がばたつくジッタ以外の観測信号６０１の変化を検出可能にするため、カウンタ８０１、８０２のクロック信号には、観測信号５０１やその信号に論理的に依存するデータ信号をラッチする全てのフリップフロップのクロック信号のうち、もっとも高速なクロック信号を利用する。【００９２】
さらに、必要なテスト期間中だけトグル率や消費電力を測定できるように、変化を検出するか否かを決定する手段として、カウンタ８０１、８０２にリセット信号やクロックイネーブル信号を入力する構成を設けてもよい。【００９３】
読出回路５０３は、ｘ個ある変化検出手段５０２．１、…、５０２．ｘ内部のカウンタ８０１，８０２の値を読み出す手段である。本発明の回路修正装置では全てのカウンタ８０１、８０２の値が読み出しできれば、読出回路はどのような回路構成でもかまわない。例えば、回路規模を抑えるためにシリアル接続してもよいし、読出時間を短縮するために、複数の値を平行して読み出せるようにパラレル接続してもよい。【００９４】
次に、本実施形態の効果について説明する。本実施形態の回路修正装置は、観測信号の変化の回数から消費電力をトグル率と同様に推定することができる。【００９５】
（第１２の実施形態）
本発明の第１２の実施形態について図面を参照して詳細に説明する。本実施形態は、プロセッサによって動作する回路シミュレーション装置である。【００９６】
図９は本実施形態のシミュレータの一構成例を示すブロック図である。【００９７】
本実施形態のシミュレータ９０１は、記憶部９０６と、制御部９５０とを有する構成である。制御部９５０は、結果を出力するための表示手段９０７および第１の実施形態で説明した信号選択装置１００のそれぞれと信号線で接続されている。なお、回路１０１、信号選択装置１００および観測信号リスト１０２は第１の実施形態から第９の実施形態のいずれかと同様であるため、詳細な説明を省略する。【００９８】
記憶部９０６は、シミュレーション実行により、全ての観測信号について変化の履歴を記憶するための手段である。各観測信号について、情報０から１に変化したか否かを示す値、および情報１から０に変化したか否かを示す値を記憶する。【００９９】
制御部９５０は、イベント保持手段９０２、イベント処理手段９０３、観測信号判断手段９０４、および変化検出手段９０５を有する。【０１００】
また、制御部９５０には、プログラムにしたがって所定の処理を実行するＣＰＵと、プログラムを格納するためのメモリとを有する。ＣＰＵがプログラムを実行することでイベント保持手段９０２、イベント処理手段９０３、観測信号判断手段９０４、および変化検出手段９０５が仮想的にシミュレータ９０１内に構成される。イベント保持手段９０２はデータを保存するためのメモリに相当する。【０１０１】
シミュレータ９０１は、イベント保持手段９０２とイベント処理手段９０３によって一般的なイベントドリブン型の回路シミュレータ（RTLシミュレータ）を構成する。ここで、一般的なイベントドリブン型の回路シミュレータの動作を簡単に説明する。イベント処理手段９０３が、信号の変化というイベントを発生させ、その信号に接続されている論理の値を算出する処理を行う。その算出結果によりさらにイベントが発生すると、イベント保持手段９０２に、発生したイベントの情報を登録する。さらに、そのイベントの発生に対して、イベント処理手段９０３が論理の値を算出する処理を行う。これを繰り返して回路をシミュレーションする。【０１０２】
本実施形態では、上述した一般的なイベントドリブン型の論理シミュレータに対して、観測信号判断手段９０４および変化検出手段９０５を制御部９５０に追加し、記憶部９０６を追加したものである。【０１０３】
観測信号判断手段９０４は、信号選択装置１００から観測信号リスト１０２を受け取ると、観測信号リスト１０２を記憶部９０６に格納するとともに、イベント処理手段９０３が処理したイベントに対する信号が観測信号リスト１０２に存在するか否かを判断する。その信号が観測信号リスト１０２に存在しない場合、イベント処理手段９０３の処理による新たなイベントが発生しているか否かを判定し、イベントが発生していれば、イベント保持手段９０２にその情報を登録する。【０１０４】
一方、イベントに対する信号の変化が観測信号リスト１０２に存在する場合、その信号名、現在の時刻、および現在の値の情報を含む観測信号情報を変化検出手段９０５に渡す。そして、イベント処理手段９０３の処理により新たなイベントが発生していれば、観測信号判断手段９０４は、そのイベントの情報をイベント保持手段９０２に登録する。【０１０５】
変化検出手段９０５は、観測信号判断手段９０４から観測信号情報を受け取ると、イベント処理手段９０３が現在処理した観測信号についてこの処理前の値を記憶部９０６から読み出し、現在の値と違う場合は、その変化を記憶部９０６に記憶する。例えば、ある観測信号の値が、現在の処理以前が０で、現在の処理による結果が１の場合、変化検出手段９０５は、記憶部９０６内のその観測信号の履歴について、０から１に変化したか否かを示す値を「変化した」ことを示す値にして記憶部９０６に記憶させる。【０１０６】
制御部９５０は、観測信号が情報０から１に変化したか否かを示す値と、情報１から０に変化したか否かを示す値とを全ての観測信号に対して記憶部９０６から読み出し、トグル率を計算して、表示手段９０７にその結果を表示させる。このとき、制御部９５０は、検出した変化から回路全体のトグル率を推定する推定手段として動作する。【０１０７】
なお、本実施形態では、イベントドリブン型のシミュレータについて説明したが、別型のシミュレータでもよい。また、イベント保持手段９０２が登録するイベントの情報を記憶部９０６に格納してもよい。【０１０８】
次に、本実施形態のシミュレータ９０１の動作手順を説明する。図１０は本実施形態のシミュレータの動作手順を示すフローチャートである。【０１０９】
第１の実施形態から第９の実施形態のいずれかの信号選択装置１００で観測信号リスト１０２が生成されると、観測信号リスト１０２が入力され（ステップＳ１００１）、回路１０１の情報がシミュレータ９０１に入力されると（ステップＳ１００２）、シミュレーションを実行する（ステップＳ１００３）。このステップにおける動作は一般的な論理シミュレータと同様である。本実施形態では、このステップにおいて、観測信号判断手段９０４が、イベント毎に信号の変化が観測信号リスト１０２にあるか否かを調べ、イベントが観測信号リスト１０２に存在する信号であれば、変化検出手段９０５がその信号の変化を記憶手段９０６に記録する。【０１１０】
シミュレーションが終了すると、制御部９５０は、全ての観測信号について、情報０から１に変化したか否かを示す値と、情報１から０に変化したか否かを示す値を記憶部９０６から読み出す（ステップＳ１００４）。続いて、ステップＳ１００４で読み出した値からトグル率を算出し（ステップＳ１００５）、その結果を表示手段９０７に表示させる。【０１１１】
次に、本実施形態の効果について説明する。本実施形態の回路シミュレータでは、第１の実施形態で説明したように、トグル率を計測するときにシミュレータが観測する信号の数を一般的なシミュレータと比較して劇的に減らすことができる。なぜならば、一般的なシミュレータであれば全ての信号に対して変化検出を行うためである。本発明の回路シミュレータでは、より多くの処理を省くことができ、シミュレータの動作を高速にすることが可能となる。【０１１２】
なお、変化検出手段９０５が各観測信号について情報０から１への変化および情報１から０への変化のそれぞれの回数を記憶部９０６に記録し、制御部９５０がその結果から回路全体の消費電力を計算するようにしてもよい。この場合、記録した情報を消費電力の推定に利用することが可能となる。【０１１３】
（第１３の実施形態）
本発明の第１３の実施形態について図面を参照して詳細に説明する。本実施形態は、トグル率や消費電力をハードウェアエミュレータによって測定するための装置である。【０１１４】
図１１は本実施形態の回路エミュレータを説明するためのブロック図である。【０１１５】
図１１に示すように、本実施形態の回路エミュレータに相当するハードウェアエミュレータ１１０２は、回路修正装置４００と実装手段１１０１を介して接続されている。また、ハードウェアエミュレータ１１０２には、エミュレータの動作後の結果を出力するための表示手段１１０４が推定手段１１０３を介して接続されている。【０１１６】
なお、本実施形態の回路修正装置４００は第１０の実施形態または第１１の実施形態のいずれかの回路修正装置と同様であるため、ここでは詳細な説明を省略する。【０１１７】
実装手段１１０１は、回路修正装置４００から修正された回路４０２を受け取ると、そのデータをハードウェアエミュレータ１１０２に実装する。ハードウェアエミュレータ１１０２がFPGA（Field  Programmable  Gate  Array）であれば、実装手段１１０１は、Verilog-  HDLやVHDLで記述されている修正された回路４０２からネットリストを生成する合成ツールと、作成されたネットリストをFPGAに実装するためのツールから構成される。【０１１８】
ハードウェアエミュレータ１１０２は、一般的なハードウェアエミュレータとしての機能を有するエミュレータ手段と、推定手段１１０３とを有する。図１１では、説明のために推定手段１１０３を分けて示している。修正された回路４０２の動作をエミュレータ手段がエミュレートし、推定手段１１０３は、修正された回路４０２に設けられた読出回路から、変化した信号の数を読み出す。そして、その数から回路全体のトグル率を算出し、その結果を表示手段１１０４に渡す。また、推定手段１１０３は、読出回路から信号変化の回数を読み出す場合には、その回数から回路全体の消費電力を算出し、その結果を表示手段１１０４に渡す。【０１１９】
表示手段１１０４は、推定手段１１０３によって算出されたトグル率または消費電力を表示する。【０１２０】
次に、回路修正装置により修正された回路４０２からハードウェアエミュレータがトグル率を算出するまでの動作手順を説明する。図１２はその動作手順を示すフローチャートである。【０１２１】
修正された回路４０２が生成されるまでのステップＳ２０１からＳ７０１までは、第１０の実施形態で説明したものと同様であるため、ここでは、その詳細な説明を省略する。実装手段１１０１は、修正された回路４０２を受け取ると、そのデータをハードウェアエミュレータ１１０２に実装する（ステップＳ１２０１）。【０１２２】
続いて、ハードウェアエミュレータ１１０２が修正された回路４０２をエミュレートし（ステップＳ１２０２）、その動作中に、修正された回路４０２の変化検出回路５０２．１、…、５０２．ｘ（図５を参照）は各観測信号５０１．１、…、５０１．ｘの値が変化したかを検出する。【０１２３】
エミュレータの動作が終了すると、推定手段１１０３は、読出回路５０３を介して、ｘ個の変化検出回路５０２．１、…、５０２．ｘが検出した変化を読み出し、トグル率を算出する（ステップＳ１２０３）。そして、その結果を表示手段１１０４に表示させる。以下に、具体例を説明する。【０１２４】
例えば、100個の信号のうち、ハードウェアエミュレータ１１０２の動作中、情報0から１へ一度でも変化した信号が40個、情報1から0へ一度でも変化した信号が60個の場合、トグル率は(40＋60)/  (2＊100)=  0.5と算出されるので、表示手段１１０４には50%と表示される。【０１２５】
なお、実装手段１１０１、推定手段１１０３および表示手段１１０４を含む構成を、パーソナルコンピュータやワークステーション等の情報処理装置に置き換えてもよい。この場合、ＣＰＵがプログラムを実行することで、実装手段１１０１および推定手段１１０３が情報処理装置内に仮想的に構成される。【０１２６】
次に、本実施形態の効果について説明する。本実施形態では、第１の実施形態で説明したように、トグル率を計算するときにハードウェアエミュレータが観測する信号数を一般的なハードウェアエミュレータと比較して劇的に減らすことができる。なぜならば、一般的なハードウェアエミュレータであれば全ての信号に対して変化検出を行うためである。本発明により多くの処理を省くことでき、ハードウェアエミュレータへの実装面積を削減することが可能となる。【０１２７】
（第１４の実施形態）
本発明の第１４の実施形態は、回路１０１に対して複数のテストベンチをハードウェアエミュレータで動作させたときに、複数のテストベンチを実行させたときの全体のトグル率を測定可能としたものである。本実施形態では、構成のブロックは第１３の実施形態と同様であり、全体の動作のみが異なる。【０１２８】
同様の目的を達成するためには、複数のテストベンチを事前に１つに結合し、第１３の実施形態でトグル率を測定する方法が考えられる。また、その他の方法として、変化検出回路５０２．１、…、５０２．ｘのDFF６０５，６０６の値を書き換える手段を用意し、次のテストベンチを行う前に、直前のテストベンチの結果の値をDFF６０５，６０６に書き込んでからハードウェアエミュレータを繰り返し動作させる方法などが考えられる。さらに、同様のことがシミュレータにも適用可能である。【０１２９】
次に、本実施形態の全体の動作を説明する。図１３は本実施形態の動作手順を示すフローチャートである。【０１３０】
ステップＳ１３０１の処理以外は第１３の実施形態と同様であるため、ここではステップＳ１３０１について説明する。ステップＳ１３０１では、ハードウェアエミュレータ１１０２は、１つのテストベンチが終了する度に終了していないテストベンチがあるか否かを判定し、全てのテストベンチが終了するまでエミュレータの動作を繰り返し実行する。そして、全てのテストベンチが終了すると、推定手段１１０３は、第１３の実施形態と同様に、トグル率を算出し、その結果を表示手段１１０４に表示させる。【０１３１】
次に、本実施形態の効果について説明する。通常のディジタルLSIの設計では、複数のテストベンチを利用してトグル率を１００％に近い値を実現することが多い。第１２の実施形態や第１３の実施形態では、テストベンチが１つであることを仮定していたため、複数のテストベンチの結果を結合することが困難であった。しかしながら、本実施形態では、複数のテストベンチの結果をそれぞれ統合して表示するため、テストベンチを複数から構成してもよいという効果がある。
【実施例１】
【０１３２】
次に、回路１０１がVerilog-  HDLで記述された場合で第１の実施形態の動作の具体例を説明する。図１４は、Verilog-  HDLで記述された回路の一例を示す図である。【０１３３】
図２のステップＳ２０１では、回路解析手段１１０が、入力された回路（図１４）を解析する。この場合、clk,  count[9999:0],  hit,  enableという信号があると解析する。【０１３４】
次のステップＳ２０２では、観測信号数決定手段１１１は、入力された推定誤差の幅と信頼度と回路に存在する信号の数から、統計学的に観測信号数を決定する。例えば、推定誤差の幅10%、信頼度95%とした場合、回路に存在する信号の数が10003本なので、観測信号数は約370になる。この意味は、「370本の信号を無作為に抽出し、トグル率を測定したときに0.33(33%)という値を得た場合、真のトグル率uは0.2≦u≦0.38に確率９５％で存在する」ということになる。【０１３５】
最後のステップＳ２０３では、観測信号選択手段１１２は３７０本の信号を回路から無作為に抽出して、その信号を記述した観測信号リスト１０２を作成する。【０１３６】
なお、本発明は上記実施例に限定されることなく、発明の範囲内で種々の変形が可能であり、それらも本発明の範囲内に含まれることはいうまでもない。【０１３７】
また、本発明の信号選択方法を実行させるためのプログラムを、コンピュータが読み取り可能な記録媒体に記録してもよい。【０１３８】
この出願は、２００６年９月２９日に出願された日本出願の特願２００６−２６８１４２の内容が全て取り込まれており、この日本出願を基礎として優先権を主張するものである。
【図１】
2008038617.tif 000004
【図２】
2008038617.tif 000005
【図３】
2008038617.tif 000006
【図４】
2008038617.tif 000007
【図５】
2008038617.tif 000008
【図６】
2008038617.tif 000009
【図７】
2008038617.tif 000010
【図８】
2008038617.tif 000011
【図９】
2008038617.tif 000012
【図１０】
2008038617.tif 000013
【図１１】
2008038617.tif 000014
【図１２】
2008038617.tif 000015
【図１３】
2008038617.tif 000016
【図１４】
2008038617.tif 000017
【国際調査報告】
2008038617.tif 000018
2008038617.tif 000019
2008038617.tif 000020