(57)【要約】【課題】被評価回路の信号を計測する回路の規模や、計測結果を転送する回路の規模を小さくすること。【解決手段】カウント区間では、被評価回路２の被評価信号８，９を計測回路６，７で計測し、その計測結果をＲＡＭ１０に格納する。カウント区間よりも長い評価区間では、ＲＡＭ１０から前回のカウント区間での計測結果を読み出す。加算器１３により、ＲＡＭ１０から読み出された、前回のカウント区間での計測結果に、計測回路６，７から転送されてきた今回のカウント区間での計測結果を加算する。その加算結果をＲＡＭ１０の元の場所に書き戻すことによって、ＲＡＭ１０に、評価区間における被評価信号８，９の計測結果の累積加算値を格納する。【選択図】図１
2010182241.tif 000002
【特許請求の範囲】
【請求項１】
第１区間における被評価信号を第１のカウンタで計測する計測ステップと、
前記第１区間よりも長い第２区間における前記被評価信号の計測結果として、前記第１のカウンタの計測結果を第２のカウンタで累積加算し、該累積加算の結果を前記第２のカウンタで保持する累積加算ステップと、
を含むことを特徴とする評価方法。
【請求項２】
前記第２のカウンタとしてメモリを用いることを特徴とする請求項１に記載の評価方法。
【請求項３】
前記累積加算ステップでは、前記メモリから前記第１区間の計測結果を読み出し、該読み出された計測結果の値に、前記第１のカウンタから転送されてきた前記第１区間の計測結果の値を加算し、該加算された値を前記メモリの元の格納場所に書き戻すことを特徴とする請求項２に記載の評価方法。
【請求項４】
前記第１のカウンタおよび前記第２のカウンタを、回路データを展開してエミュレーション装置上に実装することを特徴とする請求項１〜３のいずれか一つに記載の評価方法。
【請求項５】
第１区間における被評価信号を計測する第１のカウンタと、
前記第１区間よりも長い第２区間における前記被評価信号の計測結果として、前記第１のカウンタの計測結果を累積加算し、該累積加算の結果を保持する第２のカウンタと、
前記第１のカウンタの計測結果を前記第２のカウンタへ転送する転送部と、
を備えることを特徴とする評価装置。
【請求項６】
前記第２のカウンタは、前記被評価信号の計測結果を記憶するメモリ、該メモリに格納されている計測結果を読み出す読み出し部、該読み出し部により前記メモリから読み出された前記第１区間の計測結果の値に、前記転送部を介して前記第１のカウンタから転送されてきた前記第１区間の計測結果の値を加算する加算部、該加算部による加算結果を前記メモリの元の格納場所に書き戻す書き込み部、並びに前記読み出し部に対する読み出しアドレスおよび前記書き込み部に対する書き込みアドレスを生成する制御部、を備えることを特徴とする請求項５に記載の評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、評価方法および評価装置に関する。評価方法および評価装置として、例えば集積回路の特性を評価する評価方法および評価装置が挙げられる。
【背景技術】
【０００２】
従来、集積回路の性能の一つに消費電力がある。この消費電力を評価する方法として、次のような方法が知られている。ハードウェアシミュレータ内の被評価回路に設けられた計測回路から収集されるトグル回数等の評価結果を、外部バスのバス幅に詰め込むように転送回路を設計し、データ構造情報に記録するパッキング工程と、被評価回路に、計測回路、転送回路、等の回路データ（ネットリスト）を付加する計測回路挿入工程と、ハードウェアシミュレータに回路データを用いて構築された被評価回路等を実際に動作させて評価結果を収集し、計測値ログに格納するエミュレーション工程と、データ構造情報に基づき、目的に応じて必要なデータを計測値ログから抽出する抽出工程と、抽出されたデータを用いて被評価回路の消費電力評価を行う電力解析工程とを含む（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１０２３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の評価方法では、被評価回路の規模に対して、被評価回路の信号を計測する回路の規模や、計測結果を転送する回路の規模が大きいという問題点がある。計測する信号の数が多くなると、計測や転送に要する回路の規模が被評価回路の規模よりも大きくなってしまうという問題点がある。
【０００５】
被評価回路の信号を計測する回路の規模や、計測結果を転送する回路の規模を小さくすることができる評価方法および評価装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
この評価方法および評価装置は、第１区間において、被評価信号を第１のカウンタで計測する。第１区間よりも長い第２区間において、第１のカウンタの計測結果を第２のカウンタで累積加算する。その累積加算の結果を第２のカウンタで保持することによって、第２区間における被評価信号の計測結果を得る。
【発明の効果】
【０００７】
この評価方法および評価装置によれば、第１のカウンタの規模を小さくすることができる。第１のカウンタから第２のカウンタへ計測結果を転送する回路の規模を小さくすることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１の評価装置の構成を示す説明図である。
【図２】ＲＡＭの動作を示す説明図である。
【図３】実施の形態１の評価装置を用いた評価システムの構成を示す説明図である。
【図４】実施の形態２の評価装置の構成を示す説明図である。
【図５】計測回路の構成の一例を示す説明図である。
【図６】制御部の構成の一例を示す説明図である。
【図７】下位アドレス生成部の構成の一例を示す説明図である。
【図８】評価区間検出部の構成の一例を示す説明図である。
【図９】ＷＥ生成部の構成の一例を示す説明図である。
【図１０】評価区間番号生成部の構成の一例を示す説明図である。
【図１１】実施の形態２の評価装置の動作を示す説明図である。
【図１２】制御部の内部の動作を示す説明図である。
【図１３】図１２の続きを示す説明図である。
【図１４】制御部の動作を示す説明図である。
【図１５】図１４の続きを示す説明図である。
【図１６】データパスの動作を示す説明図である。
【図１７】図１６の続きを示す説明図である。
【図１８】図１７の続きを示す説明図である。
【図１９】図１８の続きを示す説明図である。
【図２０】ＲＡＭのデータ格納状態を示す説明図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この評価方法および評価装置の好適な実施の形態を詳細に説明する。
【００１０】
（実施の形態１）
図１は、実施の形態１の評価装置の構成を示す説明図である。図１に示すように、評価装置１は、被評価回路２、一つ以上の計測回路を有する計測回路群３、転送バス４および第２のカウンタ５を備えている。これらの回路ブロックは、例えばエミュレーション装置に対して回路データを展開することによって、エミュレーション装置上に実装される。計測回路６，７は、被評価回路２の被評価信号（ＡＣＬＫやＮＣＬＫなど）８，９に対応して設けられている。計測回路６，７は、例えば被評価回路２の被評価信号８，９の立ち上がりエッジの数もしくは立ち下がりエッジの数、または信号レベルがハイである期間の数を数える。第２のカウンタ５は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０（このＲＡＭ１０はリードポート１１、ライトポート１２をもつ）、加算器１３および制御部１４を備えている。計測回路６，７は、第１のカウンタとして動作する。また、転送バス４、リードポート１１、ライトポート１２および加算器１３は、それぞれ転送部、読み出し部、書き込み部および加算部として動作する。
【００１１】
制御部１４は、ＲＡＭ１０に対して読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１および書き込みアドレスＡＤＤＲを出力する。加算器１３は、ＲＡＭ１０の、読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１で指定された番地から読み出されたデータと、計測回路６，７から転送バス４を経由して送られてきたデータとを加算する。加算器１３の出力データは、ＲＡＭ１０の、書き込みアドレスＡＤＤＲで指定された番地に書き込まれる。また、制御部１４は、転送バス４に対してＳＡＭＰＬＥ＿ＩＤ信号を出力する。転送バス４は、ＳＡＭＰＬＥ＿ＩＤ信号によって選択された計測回路６，７の出力を加算器１３へ出力する。転送バス４は、計測回路６，７の出力データのビット数に応じたバス幅を有する。
【００１２】
図２は、ＲＡＭの動作を示す説明図である。図２に示すように、ＲＡＭ１０からは、リードポート１１に読み出しアドレスが供給されたサイクルの次のサイクルでデータが読み出される。ＲＡＭ１０には、書き込みアドレスＡＤＤＲとして、読み出しアドレスの値が１サイクル遅れて与えられる。従って、加算器１３の出力データは、ＲＡＭ１０の、加算器１３で加算される前のデータが格納されていた番地、すなわち元の格納場所に格納される。これを繰り返すことによって、ＲＡＭ１０はカウンタとして動作し、ＲＡＭ１０には、計測回路６，７による計測結果を累積加算した値が格納される。
【００１３】
計測すべき全区間は、所定サイクルごとにカウント区間と呼ばれる第１区間に分割される。さらに、計測すべき全区間は、複数の評価区間と呼ばれる第２区間に分割される。評価区間は、所定数の連続するカウント区間を束ねた区間であり、カウント区間よりも長い。カウント区間では、被評価信号８，９は、計測回路６，７により計測される。評価区間では、計測回路６，７の計測結果、すなわちカウント区間での計測結果がＲＡＭ１０および加算器１３により累積加算される。全区間の計測が終了すると被評価回路２に対する評価の終了となる。評価終了時には、ＲＡＭ１０には、評価結果として、カウント区間の累積加算値が評価区間ごとに格納される。
【００１４】
図３は、実施の形態１の評価装置を用いた評価システムの構成を示す説明図である。図３に示すように、実施の形態１の評価装置が実装されるエミュレーション装置２１は、制御用コンピュータ２２に例えば通信ケーブル２３を介して接続される。制御用コンピュータ２２は、エミュレーション装置２１に回路データをアップロードしたり、エミュレーション装置２１に展開された各回路ブロックのレジスタに対して所定の値をフォースする。レジスタは、リリースされるまで、フォースされた値を保持する。被評価回路２に対する評価終了時には、エミュレーション装置２１から制御用コンピュータ２２へ評価結果が転送される。
【００１５】
実施の形態１によれば、ＲＡＭ１０を被評価信号８，９を計測するカウンタの一部として用いることができる。従って、計測回路６，７のカウンタのみで被評価信号８，９を計測する構成と比べて、計測回路６，７のカウンタの規模を小さくすることができる。また、計測回路６，７の出力データのビット数が少なくなるので、転送バス４の規模を小さくすることができる。
【００１６】
なお、上述した例では、複数の計測回路６，７に対して第２のカウンタ５が一つ設けられているが、一つまたは二つ以上の計測回路ごとに第２のカウンタ５が設けられていてもよい。また、複数の第２のカウンタ５が設けられた構成において、複数のＲＡＭ１０に対して制御部１４を共通にしてもよい。
【００１７】
（実施の形態２）
実施の形態２では、簡単のため、被評価信号の数が二つであり、被評価信号ごとに一つずつ計測回路が設けられている場合について説明する。また、第２のカウンタ（ＲＡＭ、リードポート、ライトポート、加算器および制御部）が第１計測回路および第２計測回路に対して共通に設けられているとする。
【００１８】
・評価装置の構成
図４は、実施の形態２の評価装置の構成を示す説明図である。図４に示すように、評価装置３１は、ＲＳＴレジスタ３２、ＯＲ回路３３、制御部３４、ＲＡＭ３５（このＲＡＭ３５はリードポート３６、ライトポート３７をもつ）、加算器３８、転送バス３９、第１計測回路４０、第２計測回路４１および被評価回路４２を備えている。これらの回路は、例えばエミュレーション装置に対して回路データを展開することによって、エミュレーション装置上に実装される。
【００１９】
第１計測回路４０は、被評価回路４２の第１被評価信号４３の立ち上がりエッジ数（立ち下がりエッジ数やハイレベル期間の数でもよい）を数える。第２計測回路４１は、被評価回路４２の第２被評価信号４４に対して同様の計測を行う。第１計測回路４０および第２計測回路４１は、ＯＲ回路３３により、ＲＳＴレジスタ３２から出力されるＲＳＴ信号または制御部３４から出力されるＣＬＲ信号がアサートされるとリセットされ、ＲＳＴ信号およびＣＬＲ信号のいずれもデアサートされると動作を開始する。
【００２０】
制御部３４は、リードポート３６に対して読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１を出力し、ライトポート３７に対して書き込みアドレスＡＤＤＲおよびＷＥ（Ｗｒｉｔｅ  Ｅｎａｂｌｅ）信号を出力する。制御部３４は、ＲＳＴ信号がアサートされるとリセットされ、ＲＳＴ信号がデアサートされると動作を開始する。また、制御部３４は、転送バス３９に対してＳＡＭＰＬＥ＿ＩＤ信号を出力する。
【００２１】
転送バス３９は、ＳＡＭＰＬＥ＿ＩＤ信号の値に基づいて、第１計測回路４０の出力データＲｅｓｕｌｔまたは第２計測回路４１の出力データＲｅｓｕｌｔのいずれかを選択して加算器３８へ出力する。転送バス３９は、第１計測回路４０の出力データＲｅｓｕｌｔのビット数または第２計測回路４１の出力データＲｅｓｕｌｔのビット数と同じビット数のバス幅を有する。加算器３８は、読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１に基づいて、リードポート３６を介してＲＡＭ３５から読み出されたデータと、第１計測回路４０または第２計測回路４１から転送バス３９を経由して送られてきたデータとを加算する。ライトポート３７は、書き込みアドレスＡＤＤＲに基づいて、ＲＡＭ３５に加算器３８の出力データを書き込む。ＲＡＭ３５は、例えばＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）である。ＲＡＭ３５からは、読み出しアドレスの入力の次のサイクルでデータが読み出される（図２参照）。
【００２２】
・計測回路の構成
図５は、計測回路の構成の一例を示す説明図である。第１計測回路４０と第２計測回路４１は同様の構成であるので、第１計測回路４０について説明する。図５に示すように、第１計測回路４０は、前データ用レジスタ５１、レジスタ５２、加算器５３、ＡＮＤ回路５４、ＮＯＴ回路５５およびＤフリップフロップ回路５６を備えている。ＡＮＤ回路５４、ＮＯＴ回路５５およびＤフリップフロップ回路５６は、第１被評価信号４３の例えば立ち上がりエッジを検出する。レジスタ５２および加算器５３は、カウンタとして動作し、検出された立ち上がりエッジの数を数える。このカウンタは、前記ＯＲ回路３３から供給される信号（図５において、第１計測回路４０のＲＳＴ端子に入力する信号）がアサートされたときに例えば０にクリアされる。
【００２３】
前データ用レジスタ５１は、前記ＯＲ回路３３から供給される信号がアサートされたサイクルにおける前記カウンタの出力値を保持する。前記ＯＲ回路３３から供給される信号を、計測開始前にデアサートし、計測する区間の最終サイクルごとにアサートすることによって、Ｎ＋１番目の計測する区間において、Ｎ番目の計測する区間の計測結果が第１計測回路４０の出力データＲｅｓｕｌｔとして出力される。第２計測回路４１についても同様であり、Ｎ番目の計測する区間の計測結果は、Ｎ＋１番目の計測する区間において出力データＲｅｓｕｌｔとして出力される。
【００２４】
・制御部の構成
図６は、制御部の構成の一例を示す説明図である。図６に示すように、制御部３４は、ＩＳ＿ＥＮＤレジスタ６１、ＣＬＲレジスタ６２、ＷＥレジスタ６３、連接器６４，６５、第１上位レジスタ６６、第１下位レジスタ６７、評価区間番号生成部（上位アドレス生成部）６８、下位アドレス生成部（ＳＡＭＰＬＥ＿ＩＤ生成部）６９、ＷＥ生成部７０、一致検出器７１、評価区間検出部７２、計測回路数レジスタ７３、カウント区間サイクル数レジスタ７４およびカウント区間回数レジスタ７５を備えている。各レジスタ（６８，６９，７０，７２中のレジスタを含む）には、前記ＲＳＴレジスタ３２からＲＳＴ信号が供給される。制御部３４の各レジスタの値は、ＲＳＴ信号がアサートされると、例えば０にクリアされる。ただし、値がフォースされたレジスタは、リリースされるまで、その値を保持する。
【００２５】
計測回路数レジスタ７３、カウント区間サイクル数レジスタ７４およびカウント区間回数レジスタ７５には、それぞれ、計測回路の数、１カウント区間のサイクル数および１評価区間におけるカウント区間の回数の各パラメータ値がフォースされる。評価区間検出部７２は、カウント区間の数を数えて、評価区間の切れ目を検出する。評価区間検出部７２には、カウント区間回数レジスタ７５の値およびｉｓ＿ｕｐｄａｔｅ信号が供給される。評価区間検出部７２は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号を出力する。
【００２６】
評価区間番号生成部６８は、ＲＡＭ３５に対する上位アドレスの値を生成する。上位アドレスの値は、評価区間番号としても用いられる。評価区間番号生成部６８には、ｉｓ＿ｕｐｄａｔｅ信号およびｉｓ＿ｃａｒｒｙ＿ｕｐ信号が供給される。評価区間番号生成部６８は、上位アドレスの値を出力する。下位アドレス生成部６９は、ＲＡＭ３５に対する下位アドレスの値およびＳＡＭＰＬＥ＿ＩＤ信号を生成する。下位アドレス生成部６９には、ｉｓ＿ｕｐｄａｔｅ信号が供給される。下位アドレス生成部６９は、下位アドレスの値およびｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号を出力する。連接器６５は、評価区間番号生成部６８から出力された上位アドレスの値と下位アドレス生成部６９から出力された下位アドレスの値とをつなげて、ＲＡＭ３５に対する読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１を出力する。
【００２７】
第１上位レジスタ６６は、評価区間番号生成部６８から出力された上位アドレスを１サイクル遅らせて出力する。第１下位レジスタ６７は、下位アドレス生成部６９から出力された下位アドレスを１サイクル遅らせて出力する。また、第１下位レジスタ６７は、ＳＡＭＰＬＥ＿ＩＤ信号を出力する。連接器６４は、第１上位レジスタ６６から出力された上位アドレスの値と第１下位レジスタ６７から出力された下位アドレスの値とをつなげて、ＲＡＭ３５に対する書き込みアドレスＡＤＤＲを出力する。
【００２８】
ＷＥ生成部７０は、ＷＥ信号を生成する。ＷＥ生成部７０には、計測回路数レジスタ７３の値、ｉｓ＿ｕｐｄａｔｅ信号およびｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号が供給される。ＷＥレジスタ６３は、ＷＥ生成部７０の出力値を保持し、ＷＥ信号として出力する。一致検出器７１は、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値とカウント区間サイクル数レジスタ７４の値との一致を検出し、両者の値が一致したときにｉｓ＿ｕｐｄａｔｅ信号をアサートする。ｉｓ＿ｕｐｄａｔｅ信号は、カウント区間の切れ目を示す信号である。
【００２９】
ＣＬＲレジスタ６２は、ｉｓ＿ｕｐｄａｔｅ信号の値を保持し、その値をＣＬＲ信号として出力する。ＣＬＲレジスタ６２は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされたタイミングから１サイクル遅れてＣＬＲ信号をアサートする。ＣＬＲ信号は、各カウント区間の最後のサイクルにおいてアサートされる。ＩＳ＿ＥＮＤレジスタ６１は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号の値を保持し、その値をＩＳ＿ＥＮＤ信号として出力する。ＩＳ＿ＥＮＤレジスタ６１は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされたタイミングから１サイクル遅れてＩＳ＿ＥＮＤ信号をアサートする。ＩＳ＿ＥＮＤ信号は、各評価区間の最後のサイクルにおいてアサートされる。
【００３０】
・下位アドレス生成部の構成
図７は、下位アドレス生成部の構成の一例を示す説明図である。図７に示すように、下位アドレス生成部６９は、第２下位レジスタ８１および＋１加算器８２を備えている。＋１加算器８２は、第２下位レジスタ８１の出力値に１を加算したｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号を出力する。ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号は、第２下位レジスタ８１へ戻され、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が第２下位レジスタ８１に格納される。また、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号は、前記一致検出器７１および前記ＷＥ生成部７０へ供給される。第２下位レジスタ８１の値は、ＲＳＴ信号がアサートされたとき、またはｉｓ＿ｕｐｄａｔｅ信号がアサートされたときに例えば０となり、これ以外のときには、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値となる。第２下位レジスタ８１の出力値は、前記第１下位レジスタ６７および前記連接器６５へ送られる。
【００３１】
・評価区間検出部の構成
図８は、評価区間検出部の構成の一例を示す説明図である。図８に示すように、評価区間検出部７２は、区間回数レジスタ９１、＋１加算器９２、一致検出器９３およびＡＮＤ回路９４を備えている。＋１加算器９２は、区間回数レジスタ９１の出力値に１を加算したｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号を出力する。ｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号は、区間回数レジスタ９１へ戻される。ｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされているときに区間回数レジスタ９１に格納される。つまり、区間回数レジスタ９１は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされた回数を数えることによって、カウント区間の回数を数える。
【００３２】
一致検出器９３は、ｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値と前記カウント区間回数レジスタ７５の値との一致を検出し、両者の値が一致したときに出力信号をアサートする。ＡＮＤ回路９４は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされ、かつ一致検出器９３の出力信号がアサートされたときに、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号をアサートする。区間回数レジスタ９１の値は、ＲＳＴ信号がアサートされたとき、またはｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされたときに例えば０にクリアされる。ｉｓ＿ｃａｒｒｙ＿ｕｐ信号は、評価区間の切れ目を示す信号である。
【００３３】
・ＷＥ生成部の構成
図９は、ＷＥ生成部の構成の一例を示す説明図である。図９に示すように、ＷＥ生成部７０は、ｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒレジスタ１０１、判定回路１０２およびＡＮＤ回路１０３を備えている。ｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒレジスタ１０１は、ＲＳＴ信号がアサートされると例えば０にクリアされ、ｉｓ＿ｕｐｄａｔｅ信号がアサートされると例えば１を保持する。従って、ｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒレジスタ１０１は、最初（０番目）のカウント区間を除くカウント区間でｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒ信号をアサートする。
【００３４】
判定回路１０２は、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が計測回路数レジスタ７３の値以下であるか否かを判定する。ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が計測回路数レジスタ７３の値以下であるときに、判定回路１０２の出力信号がアサートされる。その際、判定回路１０２の出力信号は、１サイクル遅延してＡＮＤ回路１０３に供給される。ＡＮＤ回路１０３は、ｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒ信号がアサートされ、かつ判定回路１０２の出力信号がアサートされたときに、ＷＥ生成部７０の出力信号をアサートする。ＷＥ生成部７０の出力信号は、ＲＡＭ３５に対するデータの書き込みタイミングを制御する。
【００３５】
図１０は、評価区間番号生成部の構成の一例を示す説明図である。図１０に示すように、評価区間番号生成部６８は、第２上位レジスタ１１１、第３上位レジスタ１１２および＋１加算器１１３を備えている。＋１加算器１１３は、第３上位レジスタ１１２の出力値に１を加算したｕｐｐｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号を出力する。第３上位レジスタ１１２は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされるとｕｐｐｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値を格納する。つまり、第３上位レジスタ１１２は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされた回数を数えることによって、評価区間の回数を数える。第２上位レジスタ１１１は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされると第３上位レジスタ１１２の値を格納する。第２上位レジスタ１１１の出力値は、前記第１上位レジスタ６６および前記連接器６５へ送られる。
【００３６】
・評価装置の動作
簡単のため、評価装置３１により、被評価回路４２の第１被評価信号４３の立ち上がりエッジおよび第２被評価信号４４の立ち上がりエッジを計測する場合を例にして説明する。ＲＡＭ３５のアドレスのビット数を８ビットとし、下位４ビットに第１および第２の計測回路４０，４１のＩＤを割り当て、上位４ビットに評価区間番号を割り当てるとする。なお、被評価信号の数が二つであるので、本来、ＲＡＭ３５の下位アドレスのビット数は、１ビットで十分である。第１の計測回路４０および第２の計測回路４１のＩＤをそれぞれ０および１とする。評価区間を１６サイクルとする。カウント区間のサイクル数を、２のｃｅｉｌ（ｌｏｇ2（計測回路数＋１））乗以上で、かつ評価区間の最小の約数とする。ｃｅｉｌ関数は、指定された式より得られる数値以上の最小の整数を返す関数である。ここでは、計測回路数および評価区間のサイクル数をそれぞれ２および１６とするので、カウント区間は４サイクルとなる。また、１評価区間におけるカウント区間の数は４となる。なお、本発明は、これらの設定条件に限らない。
【００３７】
図１１は、実施の形態２の評価装置の動作を示す説明図である。図１１に示すように、まず、制御用コンピュータからエミュレーション装置の制御部に回路データがアップロードされる。エミュレーション装置の制御部は、回路データを展開し、評価装置３１を実装する。次いで、制御用コンピュータからエミュレーション装置の制御部に、ＲＡＭ３５を例えば０にクリアする命令が出力される。エミュレーション装置の制御部は、ＲＡＭ３５の全アドレスの記憶領域を例えば０にクリアする。次いで、制御用コンピュータからエミュレーション装置の制御部に、ＲＳＴレジスタ３２に例えば１をフォースする命令が出力される。エミュレーション装置の制御部は、ＲＳＴレジスタ３２に例えば１をフォースする。
【００３８】
次いで、制御用コンピュータからエミュレーション装置の制御部に、計測回路数レジスタ７３に例えば２をフォースする命令が出力される。エミュレーション装置の制御部は、計測回路数レジスタ７３に例えば２をフォースする。次いで、制御用コンピュータからエミュレーション装置の制御部に、カウント区間サイクル数レジスタ７４に例えば４をフォースする命令が出力される。エミュレーション装置の制御部は、カウント区間サイクル数レジスタ７４に例えば４をフォースする。次いで、制御用コンピュータからエミュレーション装置の制御部に、カウント区間回数レジスタ７５に例えば４をフォースする命令が出力される。エミュレーション装置の制御部は、カウント区間回数レジスタ７５２に例えば４をフォースする。
【００３９】
次いで、制御用コンピュータからエミュレーション装置の制御部に、クロックを１サイクル進める命令が出力される。エミュレーション装置の制御部は、クロックを１サイクル進める。ＲＳＴ信号がアサートされ、制御部３４、第１計測回路４０および第２計測回路４１がリセットされる。次いで、制御用コンピュータからエミュレーション装置の制御部に、ＲＳＴレジスタ３２に例えば０をフォースする命令が出力される。エミュレーション装置の制御部は、ＲＳＴレジスタ３２に例えば０をフォースする。これにより、ＲＳＴ信号がデアサートされ、制御部３４、第１計測回路４０および第２計測回路４１が動作を開始する。
【００４０】
次いで、制御用コンピュータからエミュレーション装置の制御部に、所定サイクル、特に限定しないが、図示例では１７０サイクルの計測を行うことを指示するｒｕｎ命令が出力される。これによって、評価装置３１において、所定サイクル数の計測が実行される。所定サイクル数の計測が終了すると、制御用コンピュータからエミュレーション装置の制御部に、ＲＡＭ３５のデータを読み出す命令が出力される。エミュレーション装置の制御部は、ＲＡＭ３５からデータを読み出し、読み出されたデータを制御用コンピュータへ転送し、一連の動作が終了する。
【００４１】
・制御部の内部の動作
図１２は、制御部の内部の動作を示す説明図であり、図１３は、図１２の続きを示す説明図である。これらの図に示すように、ＲＳＴ信号がデアサートされると、制御部３４は、動作を開始する。ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値がカウント区間サイクル数レジスタ７４の値と同じ４になると、ｉｓ＿ｕｐｄａｔｅ信号がアサートされ、次のサイクルでｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が１に戻る。ＣＬＲ信号は、ｉｓ＿ｕｐｄａｔｅ信号のアサートのタイミングから１サイクル遅れてアサートされる。
【００４２】
ｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値がカウント区間回数レジスタ７５の値と同じ４になり、かつｉｓ＿ｕｐｄａｔｅ信号がアサートされたタイミングで、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされ、次のサイクルでｔｉｍｅｓ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が１に戻る。ＩＳ＿ＥＮＤ信号は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号のアサートのタイミングから１サイクル遅れてアサートされる。
【００４３】
ＳＡＭＰＬＥ＿ＩＤ信号の値および第１下位レジスタ６７の値は、ＣＬＲ信号がアサートされた次のサイクルで０に戻る。第１上位レジスタ６６の値は、ＩＳ＿ＥＮＤ信号がアサートされた直後にＣＬＲ信号がアサートされたタイミングの次のサイクル（図１３の第２１サイクル目）でインクリメントされる。従って、書き込みアドレスＡＤＤＲの値は、２０サイクル目までは０、１、２、３の繰り返しとなり、２１サイクル目から３７サイクル目までは１６、１７、１８、１９の繰り返しとなる、以後、１６サイクル目ごとに、１６が加算される。
【００４４】
第２下位レジスタ８１の値は、ｉｓ＿ｕｐｄａｔｅ信号がアサートされた次のサイクルで０に戻る。第２上位レジスタ１１１の値は、ｉｓ＿ｃａｒｒｙ＿ｕｐ信号がアサートされた直後にｉｓ＿ｕｐｄａｔｅ信号がアサートされたタイミングの次のサイクル（図１３の第２０サイクル目）でインクリメントされる。従って、読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１の値は、１９サイクル目までは０、１、２、３の繰り返しとなり、２０サイクル目から３６サイクル目までは１６、１７、１８、１９の繰り返しとなる、以後、１６サイクル目ごとに、１６が加算される。
【００４５】
ＷＥ信号は、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が計測回路数レジスタ７３の値以下であるとき、すなわちｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が１または２であるときにアサートされる。ＷＥ信号は、ｌｏｗｅｒ＿ｃｏｕｎｔｅｒ＿ｎｅｘｔ信号の値が３または４であるときにデアサートされる。ただし、ｉｓ＿２ｎｄ＿ｏｒ＿ｌａｔｅｒ信号は、動作開始後初めてｉｓ＿ｕｐｄａｔｅ信号がアサートされるまではデアサートされており、その後アサートされるので、動作開始後、最初のカウント区間が終わるまでは、ＷＥ信号はアサートされない。
【００４６】
・制御部の動作
図１４は、制御部の動作を示す説明図であり、図１５は、図１４の続きを示す説明図である。これらの図に示すように、ＣＬＲ信号の立ち下がりエッジから次の立ち下がりエッジまでの区間が１カウント区間である。ＩＳ＿ＥＮＤ信号の立ち下がりエッジから次の立ち下がりエッジまでの区間が１評価区間である。最初（０番目）のカウント区間では、第１計測回路４０および第２計測回路４１に計測結果がない、すなわちＲＡＭ３５へ転送するデータがないので、上述したようにＷＥ信号はアサートされない。
【００４７】
次（１番目以降）のカウント区間では、第１計測回路４０および第２計測回路４１に１回前のカウント区間での計測結果が保持されている。従って、１番目以降のカウント区間では、ＷＥ信号が計測回路数と同じサイクル分（ここでは、２サイクル）アサートされ、第１計測回路４０および第２計測回路４１からＲＡＭ３５へ１回前のカウント区間での計測結果が転送される。ＷＥ信号がアサートされている状態で、ＳＡＭＰＬＥ＿ＩＤ信号の値が０であるときに第１計測回路４０から計測結果が転送され、ＳＡＭＰＬＥ＿ＩＤ信号の値が１であるときに第２計測回路４１から計測結果が転送される。
【００４８】
上述したように、書き込みアドレスＡＤＤＲの上位アドレスの値は、次の評価区間が始まってから１カウント区間が過ぎた時点でインクリメントされる。書き込みアドレスＡＤＤＲの下位アドレスの値は、クロック信号ＣＬＫに同期してインクリメントされ、ＣＬＲ信号がアサートされたタイミングの次のサイクルで０にクリアされる。読み出しアドレスＡＤＤＲ＿ＰＬＵＳ＿１の値は、書き込みアドレスＡＤＤＲよりも１サイクル早く変化する。
【００４９】
・データパスの動作
図１６は、データパスの動作を示す説明図であり、図１７〜図１９は、図１６の続きを示す説明図である。一例として、これらの図に示すように、第１被評価信号４３の立ち上がりエッジ回数が、０番目、２番目、４番目、６番目および８番目のカウント区間で１回ずつであり、それ以外のカウント区間では０回であるとする。従って、０番目の評価区間（０〜３番目のカウント区間）および１番目の評価区間（４〜７番目のカウント区間）での第１被評価信号４３の立ち上がりエッジ回数は、いずれも２回である。一方、第２被評価信号４４の立ち上がりエッジ回数は、０番目、２番目、３番目、６番目および８番目のカウント区間でそれぞれ１回、２回、１回、１回および２回であり、それ以外のカウント区間では０回であるとする。従って、０番目の評価区間（０〜３番目のカウント区間）および１番目の評価区間（４〜７番目のカウント区間）での第２被評価信号４４の立ち上がりエッジ回数は、それぞれ４回および１回である。
【００５０】
図１７に示すように、書き込みアドレスＡＤＤＲの値が最後に０となるのは、１８サイクル目であり、１となるのは１９サイクル目である。従って、１８サイクル目および１９サイクル目のライトポートデータ（２および４）が、０番目の評価区間の計測結果としてＲＡＭ３５の１番地および２番地にそれぞれ格納される。また、図１９に示すように、書き込みアドレスＡＤＤＲの値が最後に０ｘ１０となるのは、３４サイクル目であり、０ｘ１１となるのは３５サイクル目である。従って、３４サイクル目および３５サイクル目のライトポートデータ（２および１）が、１番目の評価区間の計測結果としてＲＡＭ３５の０ｘ１０番地および０ｘ１１番地にそれぞれに格納される。図２０に、ＲＡＭ３５のデータ格納状態を示す。図２０は、ＲＡＭのデータ格納状態を示す説明図である。
【００５１】
以上説明したように、実施の形態２によれば、ＲＡＭ３５を被評価信号４３，４４を計測するカウンタの一部として用いることができる。従って、計測回路４０，４１のカウンタのみで被評価信号４３，４４を計測する構成と比べて、計測回路４０，４１のカウンタの規模を小さくすることができる。また、計測回路４０，４１の出力データのビット数が少なくなるので、転送バス３９の規模を小さくすることができる。実施の形態１または実施の形態２の評価装置を、特に限定しないが、例えば集積回路の消費電力を見積もる際のエミュレーション装置として用いることにより、集積回路の消費電力を見積もることができる。
【符号の説明】
【００５２】
４  転送部
５  第２のカウンタ
６，７  第１のカウンタ
８，９  被評価信号
１０  メモリ
１１  読み出し部
１２  書き込み部
１３  加算部
１４  制御部
２１  エミュレーション装置
【図１】
2010182241.tif 000003
【図２】
2010182241.tif 000004
【図３】
2010182241.tif 000005
【図４】
2010182241.tif 000006
【図５】
2010182241.tif 000007
【図６】
2010182241.tif 000008
【図７】
2010182241.tif 000009
【図８】
2010182241.tif 000010
【図９】
2010182241.tif 000011
【図１０】
2010182241.tif 000012
【図１１】
2010182241.tif 000013
【図１２】
2010182241.tif 000014
【図１３】
2010182241.tif 000015
【図１４】
2010182241.tif 000016
【図１５】
2010182241.tif 000017
【図１６】
2010182241.tif 000018
【図１７】
2010182241.tif 000019
【図１８】
2010182241.tif 000020
【図１９】
2010182241.tif 000021
【図２０】
2010182241.tif 000022