(57)【要約】【課題】検証対象マイコンの基準クロックの停止を識別でき、かつその基準クロックの停止期間を測定できるようにする。【解決手段】検証対象のマイコン２０から出力される出力データを取得し、出力データとともにマイコン２０から出力される基準クロックを用いて、取得した出力データをデータバンク部１２に保存するとともに、クロック動作判別部１５が出力データのサンプリング間隔で基準クロックの停止を判別し、その判別結果をレジスタ制御部１６によりクロック情報レジスタ部１７に書き込み保存するようにして、クロック情報レジスタ部１７に書き込まれた情報に基づいて、基準クロックの停止位置及び停止期間を測定できるようにする。【選択図】図１
2008033568.tif 000002
【特許請求の範囲】
【請求項１】
検証対象の処理回路から出力される出力データを取得し、当該出力データとともに上記処理回路から出力される基準クロックを用いて、取得した出力データをデータバンクに保存するデータ取得部と、
上記出力データのサンプリング間隔で上記基準クロックの停止を判別する動作判別部と、
上記動作判別部での判別結果を保存するクロック情報レジスタとを備えることを特徴とする検証支援装置。
【請求項２】
上記処理回路から出力される出力データの取得を指示する信号であって、上記出力データのサンプリング間隔が経過するたびにアサートされ、上記データバンクへの出力データの保存に伴ってネゲートされるサンプリング要求信号を生成するサンプリングタイマを備えることを特徴とする請求項１記載の検証支援装置。
【請求項３】
上記動作判別部は、上記サンプリング要求信号に基づいて、上記基準クロックが停止したか否かを判別することを特徴とする請求項２記載の検証支援装置。
【請求項４】
上記データバンクと上記クロック情報レジスタは対応して設けられ、上記データバンクと上記クロック情報レジスタの組を複数備えることを特徴とする請求項１記載の検証支援装置。
【請求項５】
上記データバンクに保存可能な出力データの数と、上記クロック情報レジスタに保存する上記動作判別部での判別結果の数が同じであることを特徴とする請求項４記載の検証支援装置。
【請求項６】
上記データバンクと上記クロック情報レジスタの組を２組備え、一方の上記クロック情報レジスタへの上記動作判別部での判別結果の保存がすべて完了した後に、他方の上記クロック情報レジスタに上記動作判別部での判別結果を保存するように切り替えることを特徴とする請求項４記載の検証支援装置。
【請求項７】
測定対象アドレスを設定するアドレスレジスタを備え、
上記データ取得部は、上記処理回路から出力される出力データのうち、上記アドレスレジスタに設定されたアドレスへのアクセスに係る出力データを取得することを特徴とする請求項１記載の検証支援装置。
【請求項８】
検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定することを特徴とする検証支援方法。
【請求項９】
検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定する判定ステップと、
上記判定ステップでの判定結果に基づいて、上記基準クロックの停止位置及び回復位置を算出する解析ステップとをコンピュータに実行させるためのプログラム。
【請求項１０】
上記解析ステップでは、上記基準クロックの停止期間をさらに算出することを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証支援装置、検証支援方法、及びプログラムに関し、特に、マイクロコンピュータを用いたシステムの検証を行うデバッグシステムに用いて好適なものである。
【背景技術】
【０００２】
マイクロコンピュータ（以下、「マイコン」とも称す。）を用いたシステムのデバッグを行う際、マイコンの動作状況を確認するためにマイコンから出力される各種データをモニタ装置によりモニタする。例えば、マイコンが特定アドレスに対してデータアクセスを行うプログラムの実行状況を確認するためには、モニタ装置がマイコンのデータバスにおけるデータやマイコンから出力されるトレースデータなどにより特定アドレスへのアクセス状況をモニタし、プログラムの意図するデータアクセスを実際に行っているか否かを確認する。
【０００３】
特に、非常に低い頻度で発生するような不具合を検出するために、長時間にわたってプログラムを実行し、その間、絶えずデータをモニタするといったデバッグの手法が多用されている。この場合、取得するモニタデータのデータ量が測定時間に比例して大きくなるので、適当なサンプリング間隔でモニタデータを取得することによりデータ量を抑える処理も行われている。
【０００４】
しかしながら、マイコンは、内部の基準クロックに基づいて、演算やデータアクセスを行う。したがって、マイコン内部の基準クロックが停止するような状態（例えば、リセット状態、ストップ状態、電源オフ状態等）となった場合には、マイコンからのデータ出力が行われないためにモニタする情報を得ることができない。
【０００５】
そのため、従来のモニタ装置では、マイコンの基準クロックが停止するような状態を跨いだプログラム実行についてデータのモニタを行おうとする場合には、基準クロックの停止期間の前後にマイコンより得たモニタデータだけでは、クロック停止中のモニタデータが存在しないために実際の測定時間分のデータが得られないという問題があった。また、マイコンの基準クロックが停止するような状態を想定していないモニタ装置では、マイコンの基準クロックの停止をモニタデータとして保存していないために、得られたモニタデータを解析しても基準クロックが停止したポイントを特定できないという問題があった。
【０００６】
また、下記特許文献１には、インサーキット・エミュレータにおいて、エミュレーション対象であるターゲットプログラムの実行時間を測定し、測定された実行時間をトレースデータに対応して保持させるようにした時間測定回路及び時間測定方法が開示されている。
【０００７】
【特許文献１】特開２００１−９２６９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、マイコンを用いたシステムのデバッグにて、マイコンの基準クロックの停止を識別できるようにするとともに、基準クロックの停止期間を測定できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の検証支援装置は、検証対象の処理回路から出力される出力データを取得してデータバンクに保存するデータ取得部と、上記処理回路から出力される基準クロックの停止を判別する動作判別部と、クロック情報レジスタとを備える。動作判別部により出力データのサンプリング間隔で基準クロックの停止を判別し、その判別結果がクロック情報レジスタに保存される。
【発明の効果】
【００１０】
本発明によれば、検査対象の処理回路からの基準クロックの動作状況を出力データのサンプリング間隔で判別して、判別結果をレジスタに保存するので、当該レジスタに保存されている情報に基づいて、基準クロックの停止位置及び停止期間を容易に測定することできる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
【００１２】
図１は、本発明の一実施形態による検証支援装置を適用したデバッグシステムの一構成例を示すブロック図である。
図１において、１０はモニタ装置であり、２０は検証（デバッグ）対象のマイクロコンピュータ（マイコン）であり、３０はホストコンピュータ（ホストＰＣ）である。モニタ装置１０は、データバンク制御部１１、データバンク部１２、サンプリングタイマ１３、タイマクロック１４、クロック動作判別部１５、レジスタ制御部１６、クロック情報レジスタ部１７、及びモニタＭＣＵ（マイクロコンピュータユニット）１８を備える。マイコン２０は、デバッグに係るプログラムを実行する。
【００１３】
モニタ装置１０は、検証対象のマイコン２０からデータバスＢＵＳを介して出力される各種データを、適当なサンプリング間隔で取得してデータバンク部１２に保存する。具体的には、データバンク制御部１１が、サンプリングタイマ１３から出力されるサンプリング要求信号を受け、マイコン２０から出力されるデータをサンプリング要求信号に応じて取得し、取得したデータをデータバンク部１２に保存する。サンプリングタイマ１３は、タイマクロック１４からのクロックを用いて所定のサンプリング間隔でサンプリング要求信号を出力（アサート）し、データの保存が完了するとサンプリング要求信号の出力を停止（ネゲート）する。
【００１４】
そして、データバンク部１２に保存したデータ量が所定のデータ量に達すると（本実施形態では後述するクロック情報レジスタ部１７への書き込みが終了すると）、モニタＭＣＵ１８は、データバンク部１２からデータを読み出して、ホストＰＣ３０にデータを出力する。ホストＰＣ３０は、モニタ装置１０から供給されたデータをホストＰＣ３０内部のハードディスクなどの保存領域に保存する。上述した一連の動作を繰り返し行うことにより、マイコン２０から出力されるデータのモニタを行っている。
【００１５】
ここで、マイコン２０は、データ出力の際に、基準クロックをデータにあわせて出力する。モニタ装置１０は、マイコン２０から出力される基準クロックに従って、取得したデータをデータバンク部１２に保存する動作などを行う。
【００１６】
クロック動作判別部１５は、マイコン２０の基準クロックの動作状況を判別する。すなわち、クロック動作判別部１５は、マイコン２０の基準クロックの停止を判別する。レジスタ制御部１６は、クロック動作判別部１５での判別結果を受けて、判別結果に応じた値をクロック情報レジスタ部１７に書き込む。クロック動作判別部１５による基準クロックの停止判断は、データのサンプリング間隔に基づいて行われ、クロック情報レジスタ部１７にはサンプリング間隔と同じ間隔でデータ（クロックの動作状況を示す値）の書き込みが行われる。なお、クロック情報レジスタ部１７は、データバンク部１２に対応した構成となっており、データバンク部１２に格納可能なワード数に等しいビット数を有している。
【００１７】
上述したように、モニタ装置１０は、マイコン２０から出力される基準クロックに従って、取得したデータを保存する動作を行っている。そのため、マイコン２０がリセット状態やストップ状態となりマイコン２０の内部クロックが停止すると、マイコン２０からの基準クロックの出力も停止する。その結果、サンプリングタイマ１３からサンプリング要求信号が出力されても、データバンク部１２へのデータ保存が行われない。
【００１８】
そこで本実施形態においては、このサンプリング要求信号を利用して、クロック動作判別部１５がマイコン２０の基準クロックの停止を検出する。具体的には、図２に示すように、マイコン２０からの基準クロックの出力が停止した場合、サンプリング要求信号が出力されてもデータバンク部１２へのデータ保存が行われないためにサンプリング要求信号は出力されたままとなる（図２の破線部２１参照）。クロック動作判別部１５は、サンプリング要求信号が一定時間出力され続けた場合には、マイコン２０の基準クロックが停止したと判断し、クロック停止信号をレジスタ制御部１６に出力する。クロック停止信号を受けたレジスタ制御部１６は、マイコン２０の基準クロックが停止したことを示す値（本実施形態においては“１”）をクロック情報レジスタ部１７に書き込む。一方、マイコン２０から基準クロックが出力されている場合には、レジスタ制御部１６は、マイコン２０の基準クロックが停止していないことを示す値（本実施形態においては“０”）をクロック情報レジスタ部１７に書き込む。
【００１９】
なお、図２の破線部２２に示すように、マイコン２０からの基準クロックの出力停止後、基準クロックが再び出力された場合には、サンプリング要求信号がネゲートされることで、クロック動作判別部１５は、マイコン２０から基準クロックが出力されていると判断する。したがって、レジスタ制御部１６は、値“０”をクロック情報レジスタ部１７に書き込む。
【００２０】
そして、レジスタ制御部１６がクロック情報レジスタ部１７にすべての値を書き込んだら、すなわちクロック情報レジスタ部１７への書き込みが終了したら、モニタＭＣＵ１８は、データバンク部１２からデータを読み出すとともに、クロック情報レジスタ部１７のレジスタ値を読み出して、ホストＰＣ３０に出力する。ホストＰＣ３０は、モニタ装置１０から供給されたデータ及びレジスタ値をホストＰＣ３０内部のハードディスクなどの保存領域に保存する。
【００２１】
次に、クロック情報レジスタ部１７とデータバンク部１２との対応について、図３を参照し説明する。図３（Ａ）は、解析前の、すなわち測定時に保存された状態でのクロック情報レジスタ部１７とデータバンク部１２の対応を示しており、図３（Ｂ）は、解析後のクロック情報レジスタ部１７とデータバンク部１２の対応を示している。
【００２２】
なお、図３（Ａ）、（Ｂ）においては、クロック情報レジスタ部１７は１６ビットで構成され、データバンク部１２は１６ワードのデータを格納可能であるとする（説明の便宜上、１６進表記で示している）。また、上述したように、クロック情報レジスタ部１７への書き込みタイミングは、データのサンプリング間隔と同じであり、各ビットについては、対応するサンプリング期間においてマイコン２０の基準クロックの停止を検出した場合には“１”が書き込まれ、基準クロックの停止を検出しなかった場合には“０”が書き込まれるものとする。また、ＮＤが新しく書き込まれたデータを示し、ＯＤはすでにモニタＭＣＵにより読み出されたサンプリング済みの古いデータであることを示す。
【００２３】
図３（Ａ）に示すように、クロック動作判別部１５によりマイコン２０の基準クロックが停止していると判断された期間Ｔ１においては、その期間Ｔ１に対応するクロック情報レジスタ部１７の０ビット目〜５ビット目の各ビットに“１”が書き込まれ、データバンク部１２へのデータ書き込みは行われない。続く、期間Ｔ２において、クロック動作判別部１５によりマイコン２０の基準クロックが出力されている（停止していない）と判断されると、期間Ｔ２に対応するクロック情報レジスタ部１７の６ビット目〜８ビット目の各ビットに“０”が書き込まれ、データバンク部１２の０ワード目〜２ワード目に取得したマイコン２０からの出力データＮＤが書き込まれる。
【００２４】
期間Ｔ３において、クロック動作判別部１５によりマイコン２０の基準クロックが停止していると判断されると、期間Ｔ３に対応するクロック情報レジスタ部１７の９ビット目及びＡビット目の各ビットに“１”が書き込まれ、データバンク部１２へのデータ書き込みは行われない。その後、期間Ｔ４において、クロック動作判別部１５によりマイコン２０の基準クロックが出力されていると判断されると、期間Ｔ４に対応するクロック情報レジスタ部１７のＢビット目〜Ｆビット目の各ビットに“０”が書き込まれ、データバンク部１２の３ワード目〜７ワード目に、取得したマイコン２０からの出力データＮＤが書き込まれる。
【００２５】
以上のように、クロック情報レジスタ部１７に対しては、データのサンプリング間隔毎に必ず書き込みを行い、データバンク部１２に対しては、サンプリング間隔毎にマイコン２０の基準クロックが出力されているときのみ書き込みを行う。すなわち、図３（Ａ）に示すように、データバンク部１２の２ワード目にデータを書き込んだ後、マイコン２０の基準クロックが停止するとデータバンク部１２におけるライトポインタを停止し、再びマイコン２０の基準クロックが出力されると、データバンク部１２では２ワード目に続く３ワード目にデータが書き込まれる。
【００２６】
クロック情報レジスタ部１７へのデータ書き込みが終了した後に、クロック情報レジスタ部１７及びデータバンク部１２の値を読み出し解析することで、図３（Ｂ）に示すように、マイコン２０からの基準クロックが６サンプリング期間（期間Ｔ１）の間において停止し、その後クロックが動作して３サンプリング期間（期間Ｔ２）の間においてデータを取得し、その後２サンプリング期間（期間Ｔ３）の間において再び基準クロックが停止し、その後クロックが動作して５サンプリング期間（期間Ｔ４）の間においてデータのサンプリングが行われたことがわかる。なお、クロック情報レジスタ部１７のビット構成と、データバンク部１２のワード構成は、対応し同じ数であるので、図３（Ａ）に示すデータバンク部１２の８ワード目以降はすでにサンプリング済みの古いデータであることがわかる。
【００２７】
以上のように、クロック情報レジスタ１７に書き込まれた値を参照して解析を行うことにより、マイコン２０の基準クロックの停止ポイント及び基準クロックの停止期間を容易に判別することができる。
【００２８】
図４は、本発明の一実施形態におけるデバッグシステムの具体的な構成例を示すブロック図である。
【００２９】
図４において、４０はインサーキットエミュレータ（ＩＣＥ）であり、図１に示したモニタ装置１０に相当するモニタ装置を含み構成されている。また、５２はデバッグに係るプログラムを実行可能な評価対象マイコン、５３はホストＰＣであり、図１に示したマイコン２０、ホストＰＣ３０にそれぞれ対応する。図４に示したデバッグシステムは、評価対象マイコン５２から出力される外部トレースバスＢＵＳの信号をモニタすることにより、特定のデータアドレスへのアクセス状況をモニタする。評価対象マイコン５２の外部トレースバスＢＵＳを介して出力されるデータをトレースデータとし、評価対象マイコン５２の各種データアクセスに合わせてアクセス先のアドレスと、リードデータ又はライトデータとがトレースデータとして出力されるものとする。
【００３０】
ＩＣＥ４０は、アドレス比較部４１、アドレスレジスタ４２、データバンク制御部４３、データバンク部４４、サンプリングタイマ４５、タイマクロック４６、クロック動作判別部４７、レジスタ制御部４８、クロック情報レジスタ部４９、及びモニタＭＣＵ５０を有する。アドレス比較部４１、アドレスレジスタ４２、データバンク制御部４３、データバンク部４４、サンプリングタイマ４５、クロック動作判別部４７、レジスタ制御部４８、及びクロック情報レジスタ部４９は、例えばＦＰＧＡ等のプログラマブル素子５１により構成可能である。
【００３１】
データバンク制御部４３、データバンク部４４、サンプリングタイマ４５、タイマクロック４６、クロック動作判別部４７、レジスタ制御部４８、クロック情報レジスタ部４９、及びモニタＭＣＵ５０は、図１に示したデータバンク制御部１１、データバンク部１２、サンプリングタイマ１３、タイマクロック１４、クロック動作判別部１５、レジスタ制御部１６、クロック情報レジスタ部１７、及びモニタＭＣＵ１８にそれぞれ対応する。
【００３２】
ただし、図４に示す例では、データバンク部４４は、２つのデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂを備え、クロック情報レジスタ部４９は、２つのクロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂを備える。データバンクＤＴＢ−Ａとクロック情報レジスタＲＥＧ−Ａを１組とし、データバンクＤＴＢ−Ｂとクロック情報レジスタＲＥＧ−Ｂを１組として構成している。以下の説明では、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂはそれぞれ１６ビットで構成され、データバンクＤＴＢ−Ａ、ＤＴＢ−Ｂはそれぞれ１６ワードのデータを格納可能なリングバッファであるとする。
【００３３】
アドレス比較部４１は、アドレスレジスタ４２に設定されている測定対象のアドレス値と、マイコン５２からトレースバスＢＵＳを介して出力されるトレースデータに係るアドレスを比較して、測定対象アドレスへのアクセスに係るトレースデータを抽出する。なお、アドレスレジスタ４２への測定対象データアドレスの設定は、ホストＰＣ５３からモニタＭＣＵ５０を経由して設定可能である。
【００３４】
データバンク制御部４３は、アドレス比較部４１にて測定対象アドレスへのアクセスに係るトレースデータを抽出した場合には、リードデータ又はライトデータを保持して、サンプリングタイマ４５からのサンプリング要求信号に応じてデータバンク部４４内のデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂに書き込む。なお、サンプリング要求信号が出力されるまでにアドレスレジスタ４２に設定された測定対象アドレスへのアクセスに係るトレースデータを複数回抽出した場合には、データバンク制御部４３は、最後に抽出したトレースデータのリードデータ又はライトデータをデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂに書き込む。また、後述するが、データバンク制御部４３がデータを書き込むデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂの切り替えは、レジスタ制御部４８の制御に基づいて行われる。
【００３５】
サンプリングタイマ４５は、タイマクロック４６からのクロックを用いてサンプルリング間隔に係るカウント動作を行い、所定のサンプリング間隔に達したらデータバンク制御部４３にサンプリング要求信号を出力する。データバンク制御部４３は、リードデータ又はライトデータをデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂに書き込みが終了すると、サンプリング要求信号の出力を停止（ネゲート）する。ここで、サンプリング間隔は、ハードウェアの構成上どのような値も実現可能で、また、ハードウェア構成によってはホストＰＣ５３からモニタＭＣＵ５０を介して任意の値に設定可能なようにしても良い。
【００３６】
サンプリングタイマ４５からのサンプリング要求信号は、クロック動作判別部４７にも出力されている。クロック動作判別部４７は、サンプリング要求信号が出力された後、出力が停止されるまで（アサートされてからネゲートされるまで）の時間を測定する。その結果、サンプリング要求信号が一定期間ネゲートされなければ、クロック動作判別部４７はマイコン５２の基準クロックが停止したと判断し、例えばクロック停止信号を出力するなどしてレジスタ制御部４８に基準クロック停止を通知する。
【００３７】
レジスタ制御部４８は、サンプリングタイマ４５から出力されるサンプリング要求信号に応じて、クロック動作判別部４７からの通知に基づきクロックの動作状況を示す情報をクロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに書き込む。例えば、レジスタ制御部４８は、クロック動作判別部４７から基準クロックが停止した旨の通知を受けた場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに“１”を書き込み、基準クロックが停止した旨の通知を受けていない（基準クロックが出力されている）場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに“０”を書き込む。つまり、レジスタ制御部４８は、タイマクロック４６を基準のクロックとして動作し、サンプリング期間が経過するたびに、クロックの動作状況に応じて、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂに“０”もしくは“１”のデータを必ず書き込む。
【００３８】
クロック情報レジスタ部４９は、マイコン５２の基準クロックの動作状況を示すためのものであり、上述したように２つのクロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂを有する。クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂは、データバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに対応しており、例えば各データバンクに格納可能なリードライトデータのワード数をｎワードとした場合、各クロック情報レジスタはｎビットで構成される（ｎは任意の整数であり、本実施形態では上述したようにｎ＝１６）。
【００３９】
クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂへのデータ書き込みは、一方のクロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂへの全データの書き込みが終了したら、他方のクロック情報レジスタＲＥＧ−Ｂ、ＲＥＧ−Ａにデータの書き込みを行う。また、レジスタ制御部４８は、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータを書き込んだらモニタＭＣＵ５０に割り込み要求信号を出力する。また、同時にレジスタ制御部４８は、データバンク制御部４３にサンプリングしたデータを書き込むデータバンクを、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂから、データバンクＤＴＢ−ＢもしくはＤＴＢ−Ａに切り替えるよう信号を出力する。クロック情報レジスタＲＥＧ−Ａにデータの書き込みを行う場合には、データバンクＤＴＢ−Ａにサンプリングしたデータを書き込むように制御し、クロック情報レジスタＲＥＧ−Ｂにデータの書き込みを行う場合には、データバンクＤＴＢ−Ｂにサンプリングしたデータを書き込むように制御する。
【００４０】
モニタＭＣＵ５０は、レジスタ制御部４８からの割り込み要求信号を受けて、クロック情報レジスタＲＥＧ−Ａ及びデータバンクＤＴＢ−Ａ、もしくはクロック情報レジスタＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ｂの何れか１組のデータをすべて読み出して、ホストＰＣ５３にアップロードする。なお、レジスタ制御部４８がクロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂへのデータ書き込み終了を割り込み要求信号によるモニタＭＣＵ５０に通知するようにしているが、これに限定されず、モニタＭＣＵ５０のポーリング処理でも制御可能である。
【００４１】
ホストＰＣ５３は、モニタＭＣＵ５０によりアップロードされるデータをホストＰＣ５３内のストレージ領域、例えばホストＰＣ５３内部のハードディスクに保存する。このように、ホストＰＣ５３内部のハードディスクをデータの保存領域として用いる場合には、システムでの測定可能時間はハードディスクの空き容量に応じて決定される。ホストＰＣ５３内に格納されたモニタデータは所定の解析処理が行われて、その解析により基準クロックの停止ポイント、及び基準クロックの停止期間が算出される。
【００４２】
ここで、データバンク制御部４３は、マイコン５２からの基準クロックを用いて、サンプリングタイマ４５からのサンプリング要求信号に従ってデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂへのデータ書き込みを行っている。したがって、マイコン５２の基準クロックが停止した場合には、図５に示すようにマイコン５２からはトレースデータ及び基準クロックが出力されず、サンプリングタイマ４５からサンプリング要求信号が出力されたとしてもデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂへのデータ書き込みは行わない。
【００４３】
また、マイコン５２からの基準クロックの出力が再開された場合、データバンク制御部４３は、基準クロックの停止前にサンプリングしたデータに続けてデータの書き込みを行う。そのため、基準クロックの停止ポイントを示すデータがなければ、データバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータにおいて、どのデータまでが基準クロック停止前に書き込まれたデータであり、どのデータからが基準クロックが回復してから書き込まれたデータであるか判別することができない。そこで、本実施形態では、詳細は後述するがクロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂの値に基づいて、基準クロックの停止ポイント及び基準クロックの停止期間の算出を行う。
【００４４】
以下に、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータに基づく、基準クロックの停止ポイント及び基準クロックの停止期間の測定方法について、図６を参照して説明する。なお、以下では、事象Ａ〜Ｄの４つの事象でのデータ書き込みを一例として説明する。事象Ａは、マイコン５２の基準クロックが停止しなかった場合に対応し、事象Ｂは、出力されていたマイコン５２の基準クロックが停止した場合に対応する。事象Ｃは、マイコン５２の基準クロックが停止し続けた場合に対応し、事象Ｄは、停止していたマイコン５２の基準クロックが動作を再開した場合に対応する。
【００４５】
（事象Ａ）クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータを書き込む間、基準クロックが停止しなかった場合（図６（Ａ）参照）。
クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにて、０ビット目〜Ｆビット目に対応する時刻Ｔ６１〜Ｔ６２の期間において、マイコン５２の基準クロックが停止しなかった場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの各ビットの値は、すべて“０”である。したがって、対応するデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂには、すべて新しいデータＮＤが書き込まれていることが判別できる。また、サンプリング間隔は、常に一定としているため、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべての値が書き込まれている場合には、（サンプリング期間×１６）を測定時間として得られる。
【００４６】
（事象Ｂ）クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータの書き込みが終了する前に基準クロックが停止した場合（図６（Ｂ）参照）。
クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに対するすべてのデータの書き込みが終了する前にマイコン５２の基準クロックが停止した場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの先頭（０ビット目）から途中までの各ビットに値“０”が書き込まれ、その後の各ビットに値“１”が書き込まれている。
【００４７】
図６（Ｂ）に示した例の場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに切り替えられた時刻Ｔ６３から１０サンプリング期間が経過した時刻Ｔ６４でマイコン５２の基準クロックが停止し、基準クロックが停止した状態のままクロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータの書き込みが終了する時刻Ｔ６５に至っていることがわかる。マイコン５２の基準クロックが停止したため、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂに書き込まれているデータをすべて読み出した場合、０ワード目〜９ワード目の値は新たにサンプリングした新しいデータＮＤであり、Ａワード目〜Ｆワード目の値は新たにサンプリングしたデータではない古いデータＯＤであることが判別できる。なお、古いデータＯＤは、すでに読み出し済みであるので破棄可能である。
【００４８】
図６（Ｂ）に示した例では、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−ＢのＡビット目〜Ｆビット目の６ビットに“１”が書き込まれているので、（サンプリング期間×６）として基準クロックの停止期間が算出できる。
【００４９】
（事象Ｃ）クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータを書き込む間、基準クロックの停止が継続していた場合（図６（Ｃ）参照）。
クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにて、０ビット目〜Ｆビット目に対応する時刻Ｔ６６〜Ｔ６７の期間において、マイコン５２の基準クロックの停止が継続していた場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの各ビットにはすべて値“１”が書き込まれている。したがって、対応するデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂのデータは、一度も更新されておらず、すべて古いデータＯＤであることがわかる。この古いデータＯＤも破棄可能である。
【００５０】
この場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの各ビットに値“１”が書き込まれているので、（サンプリング期間×１６）として基準クロックの停止期間が算出できる。
【００５１】
（事象Ｄ）クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータの書き込みが終了する前に停止していた基準クロックが動作を再開した場合（図６（Ｃ）参照）。
クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに対するすべてのデータの書き込みが終了する前に、停止していたマイコン５２の基準クロックが回復した場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの先頭（０ビット目）から途中までの各ビットに値“１”が書き込まれ、その後の各ビットに値“０”が書き込まれている。これにより、基準クロックの動作が回復したことが判別できる。
【００５２】
図６（Ｄ）に示した例の場合には、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂに切り替えられた時刻Ｔ６８から５サンプリング期間が経過した時刻Ｔ６９でマイコン５２の基準クロックが回復し、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにすべてのデータの書き込みが終了する時刻Ｔ７０に至っている。したがって、１１回のデータサンプリングが行われていることがわかる。また、基準クロックの回復後にデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂの先頭からサンプリングしたデータ書き込みが行われるので、図６（Ｄ）に示した例の場合には、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂの０ワード目〜Ａワード目の値が新たに書き込まれた新しいデータＮＤであることが判別できる。図６（Ｄ）に示した例では、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの０ビット目〜４ビット目の５ビットに“１”が書き込まれているので、（サンプリング期間×５）として基準クロックの停止期間が算出できる。
【００５３】
なお、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにおいてすべてのデータを書き込む前に、基準クロックの出力と出力停止が複数回繰り返されても、データバンクにおいて、基準クロックの停止前のデータに続けて再開後のデータの書き込みを行い同様の動作を行う。
【００５４】
本実施形態では、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂにデータのサンプリング間隔毎に基準クロックの動作状況を書き込み、書き込んだデータを読み出して上述した解析方法を用いることで、基準クロックの停止ポイントの特定、及び基準クロックの停止期間の算出を行うことができる。
【００５５】
次に、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータを用いた解析処理動作について説明する。なお、以下に説明する解析処理動作は、モニタＭＣＵ５０や、ホストＰＣ５３のＣＰＵ等（説明の便宜上、これらを「解析処理制御部」と称す。）により実行される。
【００５６】
図７は、本実施形態における第１の解析処理動作の流れを示すフローチャートである。図７に示す第１の解析処理では、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して表示する。
【００５７】
まず、ステップＳ１０１にて、解析処理制御部は、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂのリードポインタｎ、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂのリードポインタｍ、及び基準クロック停止時間値ｔの値をそれぞれ“０”に初期化する。次に、ステップＳ１０２にて、解析処理制御部は、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂのｎビット目の値が“０”であるか“１”であるか判定する。
【００５８】
その判定の結果、ｎビット目の値が“０”である場合、すなわちマイコンの基準クロックが出力されている（動作している）場合には、解析処理制御部は、ステップＳ１０３にて、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂのｍワード目を表示するよう制御を行い、続くステップＳ１０４にて、そのときの基準クロック停止時間値ｔをクロック停止期間として表示するよう制御を行う。そして、ステップＳ１０５にて、解析処理制御部は、基準クロック停止時間値ｔを“０”に初期化するとともに、リードポインタｍの値を１だけインクリメントし、ステップＳ１０８に進む。
【００５９】
一方、ステップＳ１０２での判定の結果、ｎビット目の値が“１”である場合、すなわちマイコンの基準クロックが停止している場合には、解析処理制御部は、ステップＳ１０６にて、基準クロックが停止していることを表示するよう制御を行う。そして、ステップＳ１０７にて、解析処理制御部は、基準クロック停止時間値ｔを１だけインクリメントし、ステップＳ１０８に進む。
【００６０】
ステップＳ１０８にて、解析処理制御部は、リードポインタｎの値がクロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの最終ビットを示す値と同じであるか否かを判断する。その結果、リードポインタｎの値が最終ビットを示す値と異なる場合には、解析処理制御部は、ステップＳ１０９にて、リードポインタｎの値を１だけインクリメントし、ステップＳ１０２に戻る。
【００６１】
一方、ステップＳ１０８での判断の結果、リードポインタｎの値が最終ビットを示す値と同じ場合には、解析処理制御部は、ステップＳ１１０にて、基準クロック停止時間値ｔが“０”であるか否かを判断する。その結果、基準クロック停止時間値ｔが“０”でない場合には、ステップＳ１１１にて、解析処理制御部は、基準クロック停止時間値ｔをクロック停止期間として表示するよう制御を行った後、処理を終了する。また、ステップＳ１１０での判断の結果、基準クロック停止時間値ｔが“０”である場合には、処理を終了する。
【００６２】
例えば、図８（Ａ）に示すように、クロック情報レジスタが４ビットを有し、その０ビット目及び１ビット目に値“１”が書き込まれ、２ビット目及び３ビット目に値“０”が書き込まれているとする。また、そのクロック情報レジスタに対応するデータバンクの０ワード目に値Ａ、１ワード目に値Ｂ、２ワード目に値Ｃ、３ワード目に値Ｄが書き込まれているとする。
【００６３】
この図８（Ａ）に示したクロック情報レジスタ及びデータバンクのデータを用いて、図７に示した解析処理を行った場合には、図８（Ｂ）に示すような表示が行われる。すなわち、始めの２サンプリング期間は、クロック情報レジスタの値が“１”であるので、「クロック停止」表示が行われる。その後の２サンプリング期間については、クロック情報レジスタの値が“０”であるので、そのサンプリング期間にサンプリングされたデータ値Ａ、Ｂが表示されるとともに、基準クロックの停止期間が合わせて表示される。図８（Ｂ）に示したように表示することで、２サンプリング期間の基準クロックの停止が発生したこと、及び基準クロックの停止ポイントを容易に認識することができる。
【００６４】
図９は、本実施形態における第２の解析処理動作の流れを示すフローチャートである。図９に示す第２の解析処理では、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して基準クロックの停止ポイントを明示する。
【００６５】
まず、ステップＳ２０１にて、解析処理制御部は、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂのリードポインタｎ、及びデータバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂのリードポインタｍを“０”に初期化する。次に、ステップＳ２０２にて、解析処理制御部は、クロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂのｎビット目の値が“０”であるか“１”であるか判定する。
【００６６】
その判定の結果、ｎビット目の値が“０”である場合には、ステップＳ２０３にて、解析処理制御部は、データバンクＤＴＢ−ＡもしくはＤＴＢ−Ｂのｍワード目を表示するよう制御を行う。そして、ステップＳ２０４にて、解析処理制御部は、リードポインタｍの値を１だけインクリメントし、ステップＳ２０６に進む。一方、ステップＳ２０２での判定の結果、ｎビット目の値が“１”である場合には、ステップＳ２０５にて、解析処理制御部は、基準クロックが停止していることを表示するよう制御を行い、ステップＳ２０６に進む。
【００６７】
ステップＳ２０６にて、解析処理制御部は、リードポインタｎの値がクロック情報レジスタＲＥＧ−ＡもしくはＲＥＧ−Ｂの最終ビットを示す値と同じであるか否かを判断する。その結果、リードポインタｎの値が最終ビットを示す値と異なる場合には、解析処理制御部は、ステップＳ２０７にて、リードポインタｎの値を１だけインクリメントし、ステップＳ２０２に戻る。一方、リードポインタｎの値が最終ビットを示す値と同じ場合には、処理を終了する。
【００６８】
上述した図８（Ａ）に示したクロック情報レジスタ及びデータバンクのデータを用いて、図９に示した解析処理を行った場合には、図１０に示すような表示が行われる。すなわち、「クロック停止」又はサンプリングされたデータ値が表示される。これにより、基準クロックの停止期間を結果として取得してないため、解析結果に係るデータ量を低減できるとともに、基準クロックの停止ポイントを容易に認識することができる。なお、基準クロックの停止期間については、表示される「クロック停止」の個数から得ることが可能である。
【００６９】
図１１は、本実施形態における第３の解析処理動作の流れを示すフローチャートである。図１１に示す第３の解析処理では、クロック情報レジスタＲＥＧ−Ａ、ＲＥＧ−Ｂ及びデータバンクＤＴＢ−Ａ、ＤＴＢ−Ｂに書き込まれたデータに基づいて、基準クロックの停止ポイント及び停止期間を解析して基準クロックの停止期間を明示する。
【００７０】
なお、図１１に示す第３の解析処理は、図７に示した第１の解析処理とはクロックが停止した場合にその旨の表示を行わないことが相違し、他の各ステップでの処理は同様であるので説明は省略する。なお、図１１に示す第３の解析処理のステップＳ３０１〜Ｓ３０５、ステップＳ３０６〜Ｓ３１０は、図７に示した第１の解析処理のステップＳ１０１〜Ｓ１０５、Ｓ１０７〜Ｓ１１１にそれぞれ対応する。
【００７１】
上述した図８（Ａ）に示したクロック情報レジスタ及びデータバンクのデータを用いて、図１１に示した第３の解析処理を行った場合には、図１２に示すような表示が行われ、データ値Ａが取得される直前までの２サンプリング期間において、基準クロックの停止が発生したことを認識することができる。また、基準クロックが停止したか否かの情報をサンプリング期間毎に保持することなく、基準クロックが停止した期間の値を結果として保持すれば良いので、解析結果に係るデータ量をさらに低減することができる。
【００７２】
なお、上述した第１〜第３の解析処理は、例えばコンピュータのＣＰＵ又はＭＰＵ、ＲＡＭ、ＲＯＭなどで構成できるものであり、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現でき、上記プログラムは本発明の実施形態に含まれる。また、コンピュータが上記機能を果たすように動作させるプログラムを、例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものであり、上記プログラムを記録した記録媒体は本発明の実施形態に含まれる。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、不揮発性メモリカード等を用いることができる。
また、コンピュータがプログラムを実行し処理を行うことにより、上記実施形態の機能が実現されるプログラムプロダクトは、本発明の実施形態に含まれる。上記プログラムプロダクトとしては、上記実施形態の機能を実現するプログラム自体、上記プログラムが読み込まれたコンピュータ、ネットワークを介して通信可能に接続されたコンピュータに上記プログラムを提供可能な送信装置、及び当該送信装置を備えるネットワークシステム等がある。
また、コンピュータが供給されたプログラムを実行することにより上記実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）又は他のアプリケーションソフト等と共同して上記実施形態の機能が実現される場合や、供給されたプログラムの処理の全て又は一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上記実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。また、本発明をネットワーク環境で利用するべく、全部又は一部のプログラムが他のコンピュータで実行されるようになっていても良い。
【００７３】
例えば、上述した第１〜第３の解析処理は、ホストＰＣの一構成例である図１３に示すようなコンピュータ機能６０により実現でき、そのＣＰＵ６１により上記実施形態での動作が実施される。
コンピュータ機能６０は、図１３に示すように、ＣＰＵ６１と、ＲＯＭ６２と、ＲＡＭ６３と、操作部（ＣＯＮＳ）６９のコントローラ（ＣＯＮＳＣ）６５と、表示部としてのディスプレイ（ＤＩＳＰ）７０のディスプレイコントローラ（ＤＣＯＮＴ）６６と、ハードディスク（ＨＤ）７１及びフレキシブルディスク等の記憶デバイス（ＳＴＤ）７２のコントローラ（ＤＣＯＮＴ）６７と、ネットワークインタフェースカード（ＮＩＣ）６８とが、システムバス６４を介して互いに通信可能に接続された構成としている。
ＣＰＵ６１は、ＲＯＭ６２又はＨＤ７１に記憶されたソフトウェア（プログラム）、又はＳＴＤ７２より供給されるソフトウェア（プログラム）を実行することで、システムバス６４に接続された各構成部を総括的に制御する。すなわち、ＣＰＵ６１は、上述したような動作を行うための処理プログラムを、ＲＯＭ６２、ＨＤ７１、又はＳＴＤ７２から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。ＲＡＭ６３は、ＣＰＵ６１の主メモリ又はワークエリア等として機能する。
ＣＯＮＳＣ６５は、ＣＯＮＳ６９や図示していないポインティングデバイス等からの指示入力を制御する。ＤＩＳＰＣ６６は、ＤＩＳＰ７０の表示を制御する。ＤＣＯＮＴ６７は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、及び上記実施形態における上記処理プログラム等を記憶するＨＤ７１及びＳＴＤ７２とのアクセスを制御する。ＮＩＣ６８はネットワーク７３上の他の装置と双方向にデータをやりとりする。
【００７４】
なお、上述した解析処理は、ホストＰＣに限らず、モニタＭＣＵでも実行可能である。また、解析処理を行う解析処理部をモニタ装置等に新たに設けて実行するようにしても良い。
【００７５】
以上、本実施形態によれば、検証対象のマイコンからの基準クロックが停止しても、クロック情報レジスタに書き込まれたデータに基づいて、基準クロックの停止ポイント、回復ポイント及び停止期間を容易に測定することができる。例えば、検証対象のマイコンにて実行するターゲットプログラムが、スリープモードやストップモードなどの基準クロックが停止するような状態を含むものであっても、基準クロックの停止期間を跨いでデータをモニタし、デバッグ支援を行うことが可能になる。
【００７６】
なお、上述した実施形態において示したクロック情報レジスタのビット構成及びデータバンクの構成は一例であり、これに限定されることなく、任意に変更可能である。また、クロック情報レジスタに書き込むデータの値についても、基準クロックが停止したか否かを認識可能であれば良く、値と基準クロックの状態の対応は任意である。
【００７７】
また、上記図４に示したデバッグシステムでは、クロック情報レジスタとデータバンクの組を２組有する場合を一例として示しているが、クロック情報レジスタとデータバンクの組を３組以上備えていても良く、組数が増大するのに伴って回路の負荷を低減することができる。また、クロック情報レジスタとデータバンクの組を複数設けずに、１組のみ設けて複数の領域に分割し、データ等の書き込み及び読み出しを行うようにしても良い。
【００７８】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の諸態様を付記として以下に示す。
【００７９】
（付記１）検証対象の処理回路から出力される出力データを取得し、当該出力データとともに上記処理回路から出力される基準クロックを用いて、取得した出力データをデータバンクに保存するデータ取得部と、
上記出力データのサンプリング間隔で上記基準クロックの停止を判別する動作判別部と、
上記動作判別部での判別結果を保存するクロック情報レジスタとを備えることを特徴とする検証支援装置。
（付記２）上記処理回路から出力される出力データの取得を指示する信号であって、上記出力データのサンプリング間隔が経過するたびにアサートされ、上記データバンクへの出力データの保存に伴ってネゲートされるサンプリング要求信号を生成するサンプリングタイマを備えることを特徴とする付記１記載の検証支援装置。
（付記３）上記動作判別部は、上記サンプリング要求信号に基づいて、上記基準クロックが停止したか否かを判別することを特徴とする付記２記載の検証支援装置。
（付記４）上記動作判別部は、上記サンプリング要求信号がアサートされてから一定時間が経過した後に上記サンプリング要求信号がネゲートされていない場合には、上記基準クロックが停止したと判別することを特徴とする付記３記載の検証支援装置。
（付記５）上記データバンクと上記クロック情報レジスタは対応して設けられ、上記データバンクと上記クロック情報レジスタの組を複数備えることを特徴とする付記１記載の検証支援装置。
（付記６）上記データバンクに保存可能な出力データの数と、上記クロック情報レジスタに保存する上記動作判別部での判別結果の数が同じであることを特徴とする付記５記載の検証支援装置。
（付記７）上記複数組のデータバンクと上記クロック情報レジスタの組を、排他的に切り替えて用いることを特徴とする付記５記載の検証支援装置。
（付記８）上記データバンクと上記クロック情報レジスタの組を２組備え、一方の上記クロック情報レジスタへの上記動作判別部での判別結果の保存がすべて完了した後に、他方の上記クロック情報レジスタに上記動作判別部での判別結果を保存するように切り替えることを特徴とする付記５記載の検証支援装置。
（付記９）測定対象アドレスを設定するアドレスレジスタを備え、
上記データ取得部は、上記処理回路から出力される出力データのうち、上記アドレスレジスタに設定されたアドレスへのアクセスに係る出力データを取得することを特徴とする付記１記載の検証支援装置。
（付記１０）上記基準クロックとは異なるクロックを生成するクロック生成部を備え、
上記クロック情報レジスタへの上記動作判別部での判別結果の保存は、上記クロック生成部で生成されるクロックを用いて行うことを特徴とする付記１記載の検証支援装置。
（付記１１）上記クロック情報レジスタに保存された情報に基づいて、上記基準クロックの停止位置及び停止期間を取得する解析処理部を備えることを特徴とする付記１記載の検証支援装置。
（付記１２）検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定することを特徴とする検証支援方法。
（付記１３）上記クロック情報レジスタに保存されている情報による上記基準クロックの停止判定の結果に基づいて、上記基準クロックの停止位置及び回復位置を出力することを特徴とする付記１２記載の検証支援方法。
（付記１４）検証対象の処理回路から出力される出力データを取得してデータバンクに保存する検証支援装置により上記処理回路から出力される基準クロックの動作状況に係る情報が上記出力データのサンプリング間隔で保存されるクロック情報レジスタから、保存されている情報を順次取得して上記基準クロックが停止していたか否かを判定する判定ステップと、
上記判定ステップでの判定結果に基づいて、上記基準クロックの停止位置及び回復位置を算出する解析ステップとをコンピュータに実行させるためのプログラム。
（付記１５）上記解析ステップでは、上記基準クロックの停止期間をさらに算出することを特徴とする付記１４記載のプログラム。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施形態におけるデバッグシステムの構成例を示す図である。
【図２】クロック情報レジスタ部への書き込み動作を説明するための図である。
【図３】クロック情報レジスタ部とデータバンク部との対応を示す図である。
【図４】本発明の実施形態におけるデバッグシステムの具体的な構成例を示す図である。
【図５】図４に示すデバッグシステムにて基準クロックが停止した状態を示す図である。
【図６】クロック情報レジスタ及びデータバンクを用いた基準クロックの停止ポイント及び基準クロックの停止期間の測定方法を説明するための図である。
【図７】本実施形態における第１の解析処理動作の流れを示すフローチャートである。
【図８】第１の解析処理での結果表示例を示す図である。
【図９】本実施形態における第２の解析処理動作の流れを示すフローチャートである。
【図１０】第２の解析処理での結果表示例を示す図である。
【図１１】本実施形態における第３の解析処理動作の流れを示すフローチャートである。
【図１２】第３の解析処理での結果表示例を示す図である。
【図１３】解析処理動作を実行可能なコンピュータの構成例を示す図である。
【符号の説明】
【００８１】
１０  モニタ装置
１１、４３  データバンク制御部
１２、４４  データバンク部
１３、４５  サンプリングタイマ
１４、４６  タイマクロック
１５、４７  クロック動作判別部
１６、４８  レジスタ制御部
１７、４９  レジスタ部
１８、５０  モニタＭＣＵ
２０、５２  マイクロコンピュータ
３０、５３  ホストＰＣ
４１  アドレス比較部
４２  アドレスレジスタ
【図１】
2008033568.tif 000003
【図２】
2008033568.tif 000004
【図３】
2008033568.tif 000005
【図４】
2008033568.tif 000006
【図５】
2008033568.tif 000007
【図６】
2008033568.tif 000008
【図７】
2008033568.tif 000009
【図８】
2008033568.tif 000010
【図９】
2008033568.tif 000011
【図１０】
2008033568.tif 000012
【図１１】
2008033568.tif 000013
【図１２】
2008033568.tif 000014
【図１３】
2008033568.tif 000015