(57)【要約】  信号収集方法は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する方法であって、第１期間毎に内部状態を取得して細粒度データ記憶部（１２）に格納する格納ステップ（図４ＢのＳ２０〜Ｓ２３）と、第１期間よりも大きい第２期間毎に、バスで転送されるデータの量である第１データ転送量を粗粒度データ記憶部（１３）を介して取得する第１データ転送量取得ステップ（図４ＡのＳ１０）と、事前に算出された第２データ転送量を周期パターン生成部（１４）から取得し、取得した第２データ転送量と第１データ転送量取得ステップで取得された第１データ転送量との差分を算出する差分算出ステップ（図４ＡのＳ１１）と、算出された差分が所定範囲内か否かを判定し（図４ＡのＳ１２〜Ｓ１３）、差分が所定範囲内でないと判定した場合に、格納ステップでの格納を中止させる判定ステップ（図４ＡのＳ１４）とを含む。
2020012612.tif 000002
【特許請求の範囲】
【請求項１】
バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集方法であって、
第１期間毎に前記内部状態を取得して記憶部に格納する格納ステップと、
前記第１期間よりも大きい第２期間毎に、
前記バスで転送されるデータの量である第１データ転送量を取得する第１データ転送量取得ステップと、
事前に算出された第２データ転送量を取得し、取得した前記第２データ転送量と前記第１データ転送量取得ステップで取得された前記第１データ転送量との差分を算出する差分算出ステップと、
前記差分算出ステップで算出された前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記格納ステップでの格納を中止させる判定ステップと
を含む信号収集方法。
【請求項２】
前記判定ステップでは、前記差分が所定範囲内でないと判定した場合に、前記差分を算出してから第３期間が経過した後に、前記格納ステップでの格納を中止させ、
前記第３期間は、可変である
請求項１記載の信号収集方法。
【請求項３】
前記記憶部は、所定量の前記内部状態を記憶する容量を有し、
前記格納ステップでは、前記記憶部が前記所定量の前記内部状態を記憶している場合に、前記記憶部に記憶された最も古い前記内部状態に、最新の前記内部状態を上書きすることで、前記内部状態を前記記憶部に格納する
請求項１又は２記載の信号収集方法。
【請求項４】
前記所定範囲は、可変である
請求項１〜３のいずれか１項に記載の信号収集方法。
【請求項５】
前記第２データ転送量は、前記第１データ転送量取得ステップによって過去に取得された一つ以上の前記第１データ転送量を用いて算出される
請求項１〜４のいずれか１項に記載の信号収集方法。
【請求項６】
前記第２データ転送量は、前記電子回路デバイスの外におけるシミュレーションによって算出される
請求項１〜４のいずれか１項に記載の信号収集方法。
【請求項７】
前記判定ステップでは、Ｎを２以上の整数とした場合に、Ｎ個の前記第２期間のそれぞれについて、前記差分算出ステップで算出された前記差分が前記所定範囲内か否かを示すＮ個の判断情報を生成し、生成した前記Ｎ個の判断情報に基づいて、前記第１データ転送量の時間変化において周期崩れが発生したか否かを判定し、前記周期崩れが発生したと判定した場合に、前記格納ステップでの格納を中止させる
請求項１〜６のいずれか１項に記載の信号収集方法。
【請求項８】
前記判定ステップでは、前記Ｎ個の判断情報のうちの一つだけが、前記差分が前記所定範囲内でないことを示す場合に、前記周期崩れが発生したと判定する
請求項７記載の信号収集方法。
【請求項９】
前記判定ステップでは、前記Ｎ個の判断情報の全てが、前記差分が所定範囲内であることを示す場合には、前記周期崩れが発生したと判定しない
請求項７記載の信号収集方法。
【請求項１０】
前記判定ステップでは、Ｍを１以上Ｎ−１未満の整数とした場合に、前記Ｎ個の判断情報のうち１以上Ｍ個以下の判断情報が、前記差分が所定範囲内でないことを示すときに、前記周期崩れが発生したと判定する
請求項７記載の信号収集方法。
【請求項１１】
前記Ｍは、可変である
請求項１０記載の信号収集方法。
【請求項１２】
前記判定ステップでは、前記Ｎ個の判断情報のそれぞれに対して対応する重み付けをした後に総和を算出し、算出した総和と閾値とを比較することで、前記周期崩れが発生したと判定する
請求項７記載の信号収集方法。
【請求項１３】
前記内部状態は、前記バスで転送されるデータの量である
請求項１〜１２のいずれか１項に記載の信号収集方法。
【請求項１４】
前記電子回路デバイスは、１チップの半導体デバイスである
請求項１〜１３のいずれか１項に記載の信号収集方法。
【請求項１５】
バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集装置であって、
第１期間毎に前記内部状態を取得して記憶する細粒度データ記憶部と、
前記第１期間よりも大きい第２期間毎に前記バスで転送されるデータの量である第１データ転送量を記憶する粗粒度データ記憶部と、
事前に算出された第２データ転送量を記憶するパターン生成部と、
前記粗粒度データ記憶部から前記第１データ転送量を取得し、前記パターン生成部から前記第２データ転送量を取得し、取得した前記第１データ転送量と取得した前記第２データ転送量との差分を算出し、算出した前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記細粒度データ記憶部への前記内部状態の格納を中止させる判定部と
を備える信号収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号収集方法及び信号収集装置に関し、特に、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集方法に関する。
【背景技術】
【０００２】
半導体の集積度の向上に伴い、システム全体が一つのＬＳＩ上で実現されるＳｏＣ（Ｓｙｓｔｅｍ  Ｏｎ  Ｃｈｉｐ）のようにＬＳＩ内の動作内容が複雑化してくると、ＬＳＩが意図した性能を発揮できない場合、もしくは意図した動作をしない場合、何をどのように調べて原因を突き止めるかが大変難しくなる。通常、動作異常がある場合を再現し、その時のＬＳＩの各種の内部状態を分析することで原因を解析する。【０００３】
一般に、動作異常が生じていることと、システム内のバス上のデータ転送量の変化が通常と違うこととは強い相関があるので、何らかの方法でバス上の状態を監視し、その結果からＬＳＩの内部状態を収集することで、原因の解析のための情報が得られる。【０００４】
そのために、従来、測定対象システムにおけるバス上のデータ転送量を観測する技術が提案されている（例えば、特許文献１参照）。【０００５】
特許文献１では、測定対象システムからプローブを介して取得した信号を使ってトリガを生成し、生成したトリガを用いて所望の信号をサンプリングするデジタル信号測定装置が開示されている。これにより、測定対象システムにおけるバス上の信号トラフィックに対し、長時間の観測を可能とし、かつ測定対象システムの動作に応じてリアルタイムでの観測を可能とするというものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２１８８７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、プロービングのための専用ピンが必要となり、解析コストが高くなるという問題がある。また、特許文献１の技術では、サンプリングした情報を観測するだけなので、異常が発生したタイミング付近での詳細な情報を得るためには、広いタイミング範囲で膨大なデータを蓄積する必要があり、そのために、大きな記憶容量のメモリを必要とする。また、このようなデジタル信号測定装置を測定対象システムのチップに組み込む場合には、専用ピン及び大記憶容量のメモリをチップに組み込む必要があり、チップ面積の増大をもたらし、チップコストを高くしてしまう。【０００８】
そこで、本発明は、上記問題に鑑みてなされたものであり、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集方法及び信号収集装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の一形態に係る信号収集方法は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する方法であって、第１期間毎に前記内部状態を取得して記憶部に格納する格納ステップと、前記第１期間よりも大きい第２期間毎に、前記バスで転送されるデータの量である第１データ転送量を取得する第１データ転送量取得ステップと、事前に算出された第２データ転送量を取得し、取得した前記第２データ転送量と前記第１データ転送量取得ステップで取得された前記第１データ転送量との差分を算出する差分算出ステップと、前記差分算出ステップで算出された前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記格納ステップでの格納を中止させる判定ステップとを含む。【００１０】
上記目的を達成するために、本発明の一形態に係る信号収集装置は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する装置であって、第１期間毎に前記内部状態を取得して記憶する細粒度データ記憶部と、前記第１期間よりも大きい第２期間毎に前記バスで転送されるデータの量である第１データ転送量を記憶する粗粒度データ記憶部と、事前に算出された第２データ転送量を記憶するパターン生成部と、前記粗粒度データ記憶部から前記第１データ転送量を取得し、前記パターン生成部から前記第２データ転送量を取得し、取得した前記第１データ転送量と取得した前記第２データ転送量との差分を算出し、算出した前記差分が所定範囲内か否かを判定し、前記差分が前記所定範囲内でないと判定した場合に、前記細粒度データ記憶部への前記内部状態の格納を中止させる判定部とを備える。
【発明の効果】
【００１１】
本発明により、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集方法及び信号収集装置が実現される。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施の形態に係る信号収集装置の構成を示すブロック図である。
【図２】図２は、図１に示された周期性判定部の詳細な構成を示すブロック図である。
【図３Ａ】図３Ａは、実施の形態に係る信号収集装置の基本動作を説明するためのデータ転送量の変化例を示す図である。
【図３Ｂ】図３Ｂは、実施の形態に係る信号収集装置の周期パターン生成部の動作を説明する図である。
【図３Ｃ】図３Ｃは、実施の形態に係る信号収集装置の周期性判定部の基本動作を示す図である。
【図３Ｄ】図３Ｄは、実施の形態に係る信号収集装置の周期性判定部の詳細な動作例を示す図である。
【図４Ａ】図４Ａは、実施の形態に係る信号収集装置の粗粒度データ記憶部及び周期性判定部の動作を示すフローチャートである。
【図４Ｂ】図４Ｂは、実施の形態に係る信号収集装置の細粒度データ記憶部の動作を示すフローチャートである。
【図４Ｃ】図４Ｃは、図４ＡのステップＳ１３の詳細（第一の例）を示すフローチャートである。
【図４Ｄ】図４Ｄは、図４ＡのステップＳ１３の詳細（第二の例）を示すフローチャートである。
【図４Ｅ】図４Ｅは、図４ＡのステップＳ１３の詳細（第三の例）を示すフローチャートである。
【図５】図５は、過去に取得された第１データ転送量を用いて周期パターンを生成する周期パターン生成部を備える、実施の形態の第１変形例に係る信号収集装置の構成を示すブロック図である。
【図６】図６は、測定対象の電子回路デバイス以外の環境で生成された周期パターンを保持する周期パターン生成部を備える、実施の形態の第２変形例に係る信号収集装置の構成を示すブロック図である。
【図７】図７は、実施の形態の第３変形例に係る周期性判定部の構成を示すブロック図である。
【図８Ａ】図８Ａは、実施の形態の第４変形例に係る周期性判定部の構成を示すブロック図である。
【図８Ｂ】図８Ｂは、実施の形態の第４変形例に係る周期性判定部の動作を示すフローチャートである。
【図８Ｃ】図８Ｃは、実施の形態の第４変形例に係る周期性判定部の動作例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、回路、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
【００１４】
図１は、実施の形態に係る信号収集装置１０の構成を示すブロック図である。信号収集装置１０は、バスを備える電子回路デバイス（図示せず）における信号が示す内部状態を収集（つまり、観測）する回路である。ここで、「バスを備える電子回路デバイス」とは、データ転送用のバスを備える測定対象システムであり、ＳｏＣのように１チップのＬＳＩで実現されていてもよいし、プリント基板上の回路で実現されていてもよい。信号収集装置１０は、測定対象の電子回路デバイスと電気的に接続されていればよく、具体的には、測定対象の電子回路デバイスに組み込まれて実装されてもよいし、測定対象の電子回路デバイスとは別個の回路で実現されてもよい。
【００１５】
図１に示されるように、信号収集装置１０は、コマンド解析部１１、細粒度データ記憶部１２、粗粒度データ記憶部１３、周期パターン生成部１４、及び、周期性判定部１５で構成される。
【００１６】
コマンド解析部１１は、測定対象の電子回路デバイスが備えるバスを介したデータ転送に関するコマンドを収集して解析する回路であり、少なくともバスを介して転送される全てのデータ（ただし、Ｒｅａｄのみ、Ｗｒｉｔｅのみ、あるいは、Ｒｅａｄ＆Ｗｒｉｔｅを対象とするデータ）について、データ転送量を特定して出力する。
【００１７】
より詳しくは、コマンド解析部１１は、電子回路デバイスが備えるバス上の箇所でコマンドを収集して解析する。ここで、「バス上の箇所」とは、具体的には、電子回路デバイスが外部メモリとやりとりする箇所であり、例えば、電子回路デバイスが備えるメモリコントローラ内である。コマンド解析部１１は、データ転送を引き起こすコマンドに含まれるデータ転送量に関するパラメータ（例えば、データ転送に用いられるデータ幅（ビット数）及びバースト長等）を抽出したり、データ転送を引き起こすコマンドの個数等を計数したりすることで、対象となるデータ転送が生じる度に、データ転送量を特定し、特定したデータ転送量を細粒度データ記憶部１２、粗粒度データ記憶部１３及び周期パターン生成部１４に出力する。
【００１８】
細粒度データ記憶部１２は、第１期間（細粒度、例えば、１０μｓｅｃ）毎に内部状態を取得して記憶する記憶部の一例であり、例えば、制御回路及びメモリ（例として、シフトレジスタ）で構成される。「内部状態」は、測定対象の電子回路デバイスにおける一つ以上の信号の組み合わせであり、本実施の形態では、第１期間内に生じたデータ転送量（以下、「細粒度のデータ転送量」ともいう）である。
【００１９】
より詳しくは、細粒度データ記憶部１２は、第１期間を通知する信号（図中の細粒度データ記憶部１２に入力される「集計区間」）が入力される度に、直前の第１期間においてコマンド解析部１１から入力されたデータ転送量の全てを合計した値を算出して内部のメモリに保持する（シフトインする）という処理を繰り返す。つまり、第１期間毎のデータ転送量（つまり、内部状態）を記憶するという処理を繰り返す。
【００２０】
なお、細粒度データ記憶部１２は、所定量の内部状態を記憶する容量を有し、常に最新の所定量の内部状態を保持している。そのために、細粒度データ記憶部１２は、既に所定量の内部状態を記憶している（つまり、空き容量がない）場合に、記憶している最も古い内部状態を破棄して最新の内部状態を格納する、あるいは、記憶している最も古い内部状態に最新の内部状態を上書きする。
【００２１】
ここで、細粒度データ記憶部１２は、周期性判定部１５から出力されるデータ更新停止トリガの信号を受けた場合には、新たな内部状態を内部のメモリに格納する処理を中止する。また、細粒度データ記憶部１２は、外部からの要求に従って、内部のメモリに記憶している全ての内部状態を外部に出力する。
【００２２】
粗粒度データ記憶部１３は、第１期間よりも大きい第２期間（粗粒度、例えば、１ｍｓｅｃ）毎にバスで転送されるデータの量である第１データ転送量（以下、「粗粒度のデータ転送量」ともいう）を記憶する回路であり、例えば、制御回路及びメモリ（例として、シフトレジスタ）で構成される。
【００２３】
より詳しくは、粗粒度データ記憶部１３は、第２期間を通知する信号（図中の粗粒度データ記憶部１３に入力される「集計区間」）が入力される度に、直前の第２期間においてコマンド解析部１１から入力されたデータ転送量の全てを合計した値を算出して内部のメモリに保持する（シフトインする）という処理を繰り返す。つまり、第２期間毎のデータ転送量（つまり、第１データ転送量）を記憶するという処理を繰り返す。
【００２４】
本実施の形態では、粗粒度データ記憶部１３は、Ｎ（Ｎは１以上の整数、好ましくは２以上の整数、例えば、７）個の第１データ転送量を記憶する容量を有し、常に最新の連続するＮ個の第１データ転送量を保持している。そのために、粗粒度データ記憶部１３は、既にＮ個の第１データ転送量を記憶している（つまり、空き容量がない）場合に、記憶している最も古い第１データ転送量を破棄して最新の第１データ転送量を格納する、あるいは、記憶している最も古い第１データ転送量に最新の第１データ転送量を上書きする。
【００２５】
ここで、粗粒度データ記憶部１３は、周期性判定部１５から出力されるデータ更新停止トリガの信号を受けた場合には、新たな第１データ転送量を内部のメモリに格納する処理を中止する。また、粗粒度データ記憶部１３は、外部からの要求に従って、内部のメモリに記憶している全ての第１データ転送量を外部に出力する。
【００２６】
周期パターン生成部１４は、事前に算出された第２データ転送量を記憶するパターン生成部の一例であり、本実施の形態では、Ｎ個の第２データ転送量（以下、Ｎ個の第２データ転送量を「周期パターン」ともいう）を内部のレジスタ群に保持しており、周期性判定部１５に出力する。「第２データ転送量」とは、第２期間において測定対象の電子回路デバイスが備えるバスで転送される、正常と考えられるデータの量（つまり、第１データ転送量の期待値）である。Ｎ個の第２データ転送量によって、第１データ転送量の時間変化における１周期あるいは１周期以上のパターンの期待値（つまり、「周期パターン」）が表現されている。
【００２７】
本実施の形態では、周期パターン生成部１４は、コマンド解析部１１から送られてきたデータ転送量を第２期間毎に集計することで第２データ転送量を算出し、信号収集装置１０が観測し始めたときに得られる第２データ転送量の時間変化における最初の一周期分（つまり、Ｎ個の第２データ転送量）を、Ｎ個の第１データ転送量の期待値として、保持する。
【００２８】
周期性判定部１５は、第２期間毎に、粗粒度データ記憶部１３から第１データ転送量を取得し、周期パターン生成部１４から第２データ転送量を取得し、取得した第１データ転送量と取得した第２データ転送量との差分を算出し、算出した差分が所定範囲（つまり、マージン）内か否かを判定し、差分が所定範囲内でないと判定した場合に、細粒度データ記憶部１２への内部状態の格納を中止させる判定部の一例である。
【００２９】
本実施の形態では、周期性判定部１５は、粗粒度データ記憶部１３に新たな第１データ転送量が格納される毎に、粗粒度データ記憶部１３からＮ個の第１データ転送量を取得すると共に周期パターン生成部１４からＮ個の第２データ転送量を取得し、取得したＮ個の第１データ転送量と取得したＮ個の第２データ転送量とについて対応する集計区間の値どうしの差分を算出し、算出したＮ個の差分が所定範囲内か否かを判定し、判定結果に基づいて（基本的には、差分が所定範囲内でないと判定した場合に）、第１データ転送量の時間変化において周期崩れが発生したと認定し、その認定から予め設定された可変の第３期間（つまり、内部のレジスタに書き込まれた値）が経過した後に、データ更新停止トリガを細粒度データ記憶部１２及び粗粒度データ記憶部１３に出力することで、細粒度データ記憶部１２及び粗粒度データ記憶部１３への新たなデータ転送量の格納を中止させる。
【００３０】
なお、周期性判定部１５が周期性の判定に用いる第１データ転送量及び第２データ転送量の個数は、必ずしもＮ個（つまり、粗粒度データ記憶部１３及び周期パターン生成部１４の物理的な記憶容量）に限られない。Ｎ個以下の任意の個数であってもよい。その場合には、周期性判定部１５は、比較に用いるデータ転送量の個数を記憶するレジスタを有し、そのレジスタに格納された値に対応する個数の第１データ転送量及び第２データ転送量を取得して比較する。
【００３１】
図２は、図１に示された周期性判定部１５の詳細な構成を示すブロック図である。周期性判定部１５は、Ｎ個の比較器１６ａ〜１６ｄ、及び、トリガ生成部１７を備える。
【００３２】
比較器１６ａは、粗粒度データ記憶部１３から取得したＮ個の第１データ転送量の１番目（図２における「粗粒度データ  区間１」）と周期パターン生成部１４から取得したＮ個の第２データ転送量の１番目（図２における「周期パターン  区間１」）とを比較し、「粗粒度データ  区間１」が「周期パターン  区間１」を基準とするマージンの範囲内である場合に、「一致（例えば、１）」を示す判断情報を生成し、一方、そうでない場合に、「不一致（例えば、０）」を示す判断情報を生成し、生成した判断情報をトリガ生成部１７に出力する。
【００３３】
比較器１６ｂは、粗粒度データ記憶部１３から取得したＮ個の第１データ転送量の２番目（図２における「粗粒度データ  区間２」）と周期パターン生成部１４から取得したＮ個の第２データ転送量の２番目（図２における「周期パターン  区間２」）とを比較し、「粗粒度データ  区間２」が「周期パターン  区間２」を基準とするマージンの範囲内である場合に、「一致（例えば、１）」を示す判断情報を生成し、一方、そうでない場合に、「不一致（例えば、０）」を示す判断情報を生成し、生成した判断情報をトリガ生成部１７に出力する。
【００３４】
同様にして、比較器１６ｃ〜１６ｄは、対応する集計区間の第１データ転送量と第２データ転送量とを比較し、比較結果を示す判断情報を生成し、生成した判断情報をトリガ生成部１７に出力する。
【００３５】
トリガ生成部１７は、Ｎ個の比較器１６ａ〜１６ｄから出力された判断情報に基づいて、第１データ転送量（つまり、「粗粒度データ」）の時間変化において周期崩れが発生したか否かを判定し、周期崩れが発生したと判定した場合に、データ更新停止トリガを細粒度データ記憶部１２及び粗粒度データ記憶部１３に出力する。
【００３６】
次に、以上のように構成された本実施の形態に係る信号収集装置１０の動作について、図３Ａ〜図３Ｃに示されるデータ転送量の変化例を示す図、及び、図４Ａ〜図４Ｅに示される信号収集装置１０の動作（つまり、信号収集方法）を示すフローチャートを用いて説明する。
【００３７】
図３Ａは、実施の形態に係る信号収集装置１０の基本動作を説明するためのデータ転送量の変化例を示す図である。図３Ａの（ａ）は、信号収集装置１０によって観測される粗粒度のデータ転送量２７（つまり、第１データ転送量）の時間変化例を示す図である。図３Ａの（ｂ）は、図３Ａの（ａ）に示される観測と並行して信号収集装置１０によって観測される細粒度のデータ転送量（つまり、内部状態）２８の時間変化例を示す図である。
【００３８】
本実施の形態に係る信号収集装置１０によれば、同一の測定対象（つまり、電子回路デバイスのバス）におけるデータ転送量の時間変化が、粗粒度データ記憶部１３によって粗粒度で（つまり、第２期間毎に）観測されるのと並行して（図３Ａの（ａ））、細粒度データ記憶部１２によって細粒度で（つまり、第１期間（＜第２期間）毎に）観測される（図３Ａの（ｂ））。
【００３９】
そして、周期性判定部１５によって、粗粒度のデータ転送量２７の時間変化について周期性（図３Ａの（ａ）におけるＮ個の集計区間（つまり、第２期間）２０ａで構成される比較期間２０ｂでのパターン）が判定され、周期崩れ２０ｃが発生したと判定された場合に、その判定から第３期間が経過した後に、データ更新停止トリガが発生され、これにより、細粒度データ記憶部１２への細粒度のデータ転送量２８の格納が中止される（図３Ａの（ｂ））。
【００４０】
その結果、粗粒度のデータ転送量２７の時間変化において周期崩れが発生したタイミングの前後（あるいは、前のみ、あるいは、後のみ）における細粒度でのデータ転送量２８の時間変化が観測され（図３Ａの（ｂ）の格納データ２１ｅ）、周期崩れの原因の詳細な解析に利用される。
【００４１】
一般に、バス上のデータ転送量の時間変化は、個々にはランダムに変化するように見えるが、適切な粒度（ここでは、粗粒度）の単位時間毎にデータ転送量の変化を見た場合に、ＳｏＣ等の電子回路デバイスで実行されるアプリケーションが安定して動作しているときには、バス上のデータ転送量はある一定周期で遷移しており、その周期性が崩れたときに、何かしらの不具合が発生しているケースが多い。よって、本実施の形態に係る信号収集装置１０は、粗粒度のデータ転送量２７の時間変化において周期性が崩れたときに、そのタイミングの前後における詳細なデータ（つまり、内部状態）を観察できるようにしている。
【００４２】
図４Ａは、実施の形態に係る信号収集装置１０の粗粒度データ記憶部１３及び周期性判定部１５の動作を示すフローチャートである。ここでは、信号収集装置１０による信号収集方法のうち、粗粒度（つまり、一つの第２期間）で行われる処理が示されている。
【００４３】
なお、信号収集装置１０の観測が開始されると、測定対象の電子回路デバイスのバスにおいてデータ転送が行われる度に、コマンド解析部１１により、そのデータ転送量が特定され、細粒度データ記憶部１２及び粗粒度データ記憶部１３に出力される。また、周期パターン生成部１４は、信号収集装置１０が観測し始めたときに得られるデータ転送量を用いて、Ｎ個の第１データ転送量の期待値、つまり、Ｎ個の第２データ転送量を保持する。
【００４４】
まず、粗粒度データ記憶部１３は、第２期間において（つまり、粗粒度で）、コマンド解析部１１から送られてきたデータ転送量を集計することによって第１データ転送量を取得し、取得した第１データ転送量を内部のメモリに格納する（第１データ転送量取得ステップＳ１０）。
【００４５】
なお、粗粒度データ記憶部１３は、Ｎ個の第１データ転送量を記憶する容量を有し、既にＮ個の第１データ転送量を記憶している（つまり、空き容量がない）場合には、記憶している最も古い第１データ転送量を破棄して最新の第１データ転送量を格納する、あるいは、記憶している最も古い第１データ転送量に最新の第１データ転送量を上書きすることで、常に最新の連続するＮ個の第１データ転送量を保持する。
【００４６】
次に、周期性判定部１５（より具体的には、周期性判定部１５のＮ個の比較器１６ａ〜１６ｄ）は、粗粒度データ記憶部１３からＮ個の第１データ転送量を取得し、周期パターン生成部１４からＮ個の第２データ転送量を取得し、取得したＮ個の第１データ転送量と取得したＮ個の第２データ転送量とについて対応する集計区間の値どうしの差分を算出し（差分算出ステップＳ１１）、算出したＮ個の差分のそれぞれが所定範囲内か否かを示すＮ個の判断情報を生成する（Ｓ１２）。
【００４７】
そして、周期性判定部１５（より具体的には、周期性判定部１５のトリガ生成部１７）は、生成したＮ個の判断情報に基づいて、第１データ転送量の時間変化において周期崩れが発生したか否かを判定する（Ｓ１３）。
【００４８】
その結果、周期崩れが発生していると判定した場合には（Ｓ１３でＹｅｓ）、周期性判定部１５（より具体的には、周期性判定部１５のトリガ生成部１７）は、その判定から予め設定された可変の第３期間が経過した後に、データ更新停止トリガを細粒度データ記憶部１２及び粗粒度データ記憶部１３に出力する（Ｓ１４）。
【００４９】
一方、周期崩れが発生していないと周期性判定部１５が判定した場合には（Ｓ１３でＮｏ）、再び、次の第２期間において、同様の処理（Ｓ１０〜Ｓ１４）が繰り返される。
【００５０】
なお、ステップＳ１２〜Ｓ１４は、差分算出ステップＳ１１で算出された差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、図４Ｂに示される格納ステップでの格納を中止させる判定ステップに相当する。
【００５１】
以上の処理により、図３Ａの（ａ）に示されるように、粗粒度のデータ転送量の時間変化について、Ｎ個の集計区間２０ａで構成される比較期間２０ｂ毎に同様のパターンが繰り返されること（周期性）が判定され、周期崩れ２０ｃが発生したと判定された場合に、周期性判定部１５から細粒度データ記憶部１２及び粗粒度データ記憶部１３にデータ更新停止トリガが出力される。
【００５２】
図４Ｂは、実施の形態に係る信号収集装置１０の細粒度データ記憶部１２の動作を示すフローチャートである。ここでは、信号収集装置１０による信号収集方法のうち、細粒度（つまり、一つの第１期間）で行われる処理（つまり、格納ステップ）が示されている。
【００５３】
まず、細粒度データ記憶部１２は、第１期間において（つまり、細粒度で）、コマンド解析部１１から送られてきたデータ転送量を集計することによって内部状態を取得し（Ｓ２０）、取得した内部状態を内部のメモリに格納する（Ｓ２１）。なお、細粒度データ記憶部１２は、所定量の内部状態を記憶する容量を有し、既に所定量の内部状態を記憶している（つまり、空き容量がない）場合に、記憶している最も古い内部状態を破棄して最新の内部状態を格納する、あるいは、記憶している最も古い内部状態に最新の内部状態を上書きすることで、常に最新の所定量の内部状態を保持する。
【００５４】
そして、細粒度データ記憶部１２は、周期性判定部１５から出力されるデータ更新停止トリガの信号を受信したか否かを判定する（Ｓ２２）。
【００５５】
その結果、データ更新停止トリガの信号を受信したと判定した場合には（Ｓ２２でＹｅｓ）、細粒度データ記憶部１２は、新たな内部状態を内部のメモリに格納する処理を中止する（Ｓ２３）。
【００５６】
一方、データ更新停止トリガの信号を受信していないと判定した場合には（Ｓ２２でＮｏ）、細粒度データ記憶部１２は、再び、次の第１期間において、同様の処理（Ｓ２０〜Ｓ２３）を繰り返す。
【００５７】
これにより、図３Ａの（ｂ）に示される細粒度のデータ転送量の時間変化のように、細粒度データ記憶部１２は、内部状態の取得及び破棄を繰り返し（つまり、内部のメモリの状態は、格納データ２１ａから、格納データ２１ｂ、格納データ２１ｃ、格納データ２１ｄへと変化し）、その後、粗粒度のデータ転送について周期崩れが発生してから第３期間が経過したときに発せられるデータ更新停止トリガの信号を受信し、受信したタイミングで格納処理を中止する。その結果、細粒度データ記憶部１２には、粗粒度のデータ転送について周期崩れが発生してから第３期間が経過したタイミングで取得した内部状態を最後のデータとする格納データ２１ｅが保持された状態で、格納処理が停止され、外部への読み出しが可能な状態となる。
【００５８】
図３Ｂは、実施の形態に係る信号収集装置１０の周期パターン生成部１４の動作を説明する図である。周期パターン生成部１４は、信号収集装置１０が観測し始めると、コマンド解析部１１から送られてきたデータ転送量を第２期間毎に（つまり、粗粒度で）集計することで第２データ転送量２５ａ及び２５ｂを算出し、順に、内部のＮ個のレジスタ（ｒｅｇＡ、ｒｅｇＢ、・・、ｒｅｇＧ）に保持する。その結果、周期パターン生成部１４には、粗粒度のデータ転送についての周期パターン２４、つまり、Ｎ個の第１データ転送量の期待値（つまり、Ｎ個の第２データ転送量）が保持される。
【００５９】
なお、各集計区間（Ｎ個の第２データ転送量のそれぞれ）について、第１データ転送量との一致性を判断するのに用いられるマージン２６を任意に設定することができる。この場合には、例えば、Ｎ個のレジスタ（ｒｅｇＡ、ｒｅｇＢ、・・、ｒｅｇＧ）のそれぞれには、当該集計区間での第２データ転送量の下限値と上限値とが保持される。その結果、周期性判定部１５における対応する集計区間の第１データ転送量と第２データ転送量との比較においては、第１データ転送量が第２データ転送量の下限値以上で上限値以下である場合に、「一致」を示す判断情報が生成される。
【００６０】
図３Ｃは、実施の形態に係る信号収集装置１０の周期性判定部１５の基本動作（つまり、図４ＡのステップＳ１１及びＳ１２の詳細）を示す図である。図３Ｃの（ａ）は、周期パターン生成部１４から取得されたＮ個の第２データ転送量（つまり、周期パターン２４）の例を示す。図３Ｃの（ｂ）は、粗粒度データ記憶部１３に格納される粗粒度のデータ転送量（つまり、第１データ転送量）２７の例を示す。
【００６１】
周期性判定部１５は、Ｎ個の粗粒度のデータ転送量２７を単位として周期パターン２４との集計区間の値どうしの差分を算出し（図４ＡのＳ１１）、算出したＮ個の差分のそれぞれが所定範囲内（周期パターン生成部１４に設定されたマージンの範囲内）か否かを示す（範囲内である場合には、「１（一致）」を示し、範囲内でない場合には、「０（不一致）」を示す）Ｎ個の判断情報を生成する（図４ＡのＳ１２）。
【００６２】
図４Ｃは、図４ＡのステップＳ１３（「周期崩れ」の判定）の詳細（第一の例）を示すフローチャートである。ここでは、「周期崩れ」と判定されるケースの一例が示されている。
【００６３】
まず、周期性判定部１５において、トリガ生成部１７は、Ｎ個の第１データ転送量とＮ個の第２データ転送量（つまり、周期パターン）とについて対応する集計区間の値どうしのそれぞれが一致する（つまり、差分が所定範囲内）か否かを示すＮ個の判断情報を、Ｎ個の比較器１６ａ〜１６ｄから、取得する（Ｓ３０）。
【００６４】
そして、トリガ生成部１７は、取得したＮ個の判断情報のうちの一つだけが「０（不一致）」（つまり、差分が所定範囲内でないこと）を示すか否かを判断する（Ｓ３１）。
【００６５】
その結果、Ｎ個の判断情報のうちの一つだけが「０（不一致）」を示すと判断した場合にだけ（Ｓ３１でＹｅｓ）、トリガ生成部１７は、周期崩れが発生したと判定する（Ｓ３２）。
【００６６】
図４Ｄは、図４ＡのステップＳ１３（「周期崩れ」の判定）の詳細（第二の例）を示すフローチャートである。ここでは、「周期崩れ」と判定しないケースの一例が示されている。
【００６７】
まず、周期性判定部１５において、トリガ生成部１７は、Ｎ個の第１データ転送量とＮ個の第２データ転送量（つまり、周期パターン）とについて対応する集計区間の値どうしのそれぞれが一致する（つまり、差分が所定範囲内）か否かを示すＮ個の判断情報を、Ｎ個の比較器１６ａ〜１６ｄから、取得する（Ｓ３０）。
【００６８】
そして、トリガ生成部１７は、取得したＮ個の判断情報の全てが「１（一致）」（つまり、差分が所定範囲内である）を示すか否かを判断する（Ｓ３１ａ）。
【００６９】
その結果、Ｎ個の判断情報の全てが「１（一致）」を示すと判断した場合にだけ（Ｓ３１ａでＹｅｓ）、トリガ生成部１７は、周期崩れが発生したと判定しない（つまり、正常な周期であると判定する）（Ｓ３２ａ）。
【００７０】
図４Ｅは、図４ＡのステップＳ１３（「周期崩れ」の判定）の詳細（第三の例）を示すフローチャートである。ここでは、「周期崩れ」と判定されるケースの一例が示されている。
【００７１】
まず、周期性判定部１５において、トリガ生成部１７は、Ｎ個の第１データ転送量とＮ個の第２データ転送量（つまり、周期パターン）とについて対応する集計区間の値どうしのそれぞれが一致する（つまり、差分が所定範囲内）か否かを示すＮ個の判断情報を、Ｎ個の比較器１６ａ〜１６ｄから、取得する（Ｓ３０）。
【００７２】
そして、トリガ生成部１７は、取得したＮ個の判断情報のうち１以上Ｍ（Ｍは１以上Ｎ−１未満の整数）個以下の判断情報が「０（不一致）」（つまり、差分が所定範囲内でないこと）を示すか否かを判断する（Ｓ３１ｂ）。
【００７３】
その結果、１以上Ｍ個以下の判断情報が「０（不一致）」を示すと判断した場合にだけ（Ｓ３１ｂでＹｅｓ）、トリガ生成部１７は、周期崩れが発生したと判定する（Ｓ３２）。
【００７４】
なお、上記図４Ｃ〜図４Ｅに示されるフローチャートによる判断手法は、それらの全てが周期性判定部１５に実装されていてもよいし、それらのうちの一つ又は二つが周期性判定部１５に実装されていてもよい。
【００７５】
また、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報が、上記図４Ｃ〜図４Ｅに示されるフローチャートのいずれにも該当しないケースである場合には、周期崩れの判定の対象としない（つまり、判定対象外と扱う）。つまり、この場合には、トリガ生成部１７は、データ更新停止トリガを出力しない。
【００７６】
図３Ｄは、実施の形態に係る信号収集装置１０の周期性判定部の詳細な動作例（つまり、上記図４Ｃ〜図４Ｅに示されるフローチャートの動作例）を示す図である。図３Ｄの（ａ）〜（ｅ）は、この順で時間（つまり、第１期間）が経過した場合における周期性判定部１５による判定対象となるＮ（ここでは、７）個の第１データ転送量（黒枠で囲まれた箇所）の遷移を示す。横に延びるグラフは、粗粒度のデータ転送量（つまり、第１データ転送量）２７の時間変化である。黒枠は、周期パターン生成部１４が保持する周期パターン（つまり、Ｎ（ここでは、７）個の第２データ転送量）２４である。黒枠内のＮ個の数値（０又は１）は、集計区間毎の判断情報を示し、Ｎ個の判断情報の横に置かれた数値は、「１（一致）」を示す判断情報の合計数を示す。
【００７７】
本図に示される動作例では、周期性判定部１５は、次のように動作する。
【００７８】
図３Ｄの（ａ）に示されるように、最初の第１期間では、判定の対象となるＮ個の第１データ転送量は、周期パターン２４と完全に一致している。よって、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報の全てが「１（一致）」を示すと判断するので、周期崩れが発生したと判定しない（つまり、正常な周期であると判定する）（図４Ｄ参照）。
【００７９】
また、図３Ｄの（ｂ）に示されるように、次の第１期間では、判定の対象となるＮ個の第１データ転送量のうちの一つだけが周期パターン（つまり、一つの第２データ転送量）２４と一致している。なお、図３Ｄの（ｂ）に示されるように、ここでの一致の判定は、第１データ転送量が第２データ転送量を基準とするマージンの範囲内にあるために、得られている。よって、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報のうちのＮ−１個が「０（不一致）」を示すと判断するので、上記図４Ｃ〜図４Ｅに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
【００８０】
また、図３Ｄの（ｃ）に示されるように、さらに次の第１期間では、判定の対象となるＮ個の第１データ転送量の全てが周期パターン（つまり、一つの第２データ転送量）２４と一致していない。よって、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報の全てが「０（不一致）」を示すと判断するので、上記図４Ｃ〜図４Ｅに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
【００８１】
また、図３Ｄの（ｄ）に示されるように、さらに次の第１期間では、判定の対象となるＮ個の第１データ転送量のうちの一つだけが周期パターン（つまり、一つの第２データ転送量）２４と一致している。よって、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報のうちのＮ−１個が「０（不一致）」を示すと判断するので、上記図４Ｃ〜図４Ｅに示されるフローチャートのいずれにも該当しないケースであることから、周期崩れの判定の対象としない。
【００８２】
また、図３Ｄの（ｅ）に示されるように、さらに複数の第１期間が経過した後に、判定の対象となるＮ個の第１データ転送量のうちの一つだけが周期パターン（つまり、一つの第２データ転送量）２４と不一致となっている。よって、周期性判定部１５のトリガ生成部１７は、取得したＮ個の判断情報のうちの一つだけが「０（不一致）」を示すと判断するので、周期崩れが発生したと判定する（図４Ｃ参照）。
【００８３】
以上のように、本実施の形態に係る信号収集装置１０は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する装置であって、第１期間毎に内部状態を取得して記憶する細粒度データ記憶部１２と、第１期間よりも大きい第２期間毎にバスで転送されるデータの量である第１データ転送量を記憶する粗粒度データ記憶部１３と、事前に算出された第２データ転送量を記憶する周期パターン生成部１４と、粗粒度データ記憶部１３から第１データ転送量を取得し、周期パターン生成部１４から第２データ転送量を取得し、取得した第１データ転送量と取得した第２データ転送量との差分を算出し、算出した差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、細粒度データ記憶部１２への内部状態の格納を中止させる周期性判定部１５とを備える。
【００８４】
これにより、本実施の形態に係る信号収集装置１０によれば、測定対象の電子回路デバイスに対してプロービングするための専用ピンを用いることなく、電子回路デバイスに電気的に接続することで、内部状態及び第１データ転送量をサンプリングできる。また、粗粒度（つまり、第２期間毎に）でサンプリングされるデータ転送量に基づいて細粒度（つまり、第１期間毎に）での内部状態のサンプリングが停止するので、粗粒度のデータ転送量において異常が発生したタイミング付近で、細粒度で（つまり、詳細な）内部情報の時間変化が観測される。よって、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置が実現される。
【００８５】
また、本実施の形態に係る信号収集方法によれば、バスを備える電子回路デバイスにおける信号が示す内部状態を信号収集装置１０によって収集する方法であって、細粒度データ記憶部１２が、第１期間毎に内部状態を取得して細粒度データ記憶部１２に格納する格納ステップ（図４ＢのＳ２０〜Ｓ２３）と、周期性判定部１５が、第１期間よりも大きい第２期間毎に、バスで転送されるデータの量である第１データ転送量を粗粒度データ記憶部１３から取得する第１データ転送量取得ステップ（図４ＡのＳ１０）と、事前に算出された第２データ転送量を周期パターン生成部１４から取得し、取得した第２データ転送量と第１データ転送量取得ステップで取得された第１データ転送量との差分を算出する差分算出ステップ（図４ＡのＳ１１）と、差分算出ステップで算出された差分が所定範囲内か否かを判定し、差分が所定範囲内でないと判定した場合に、格納ステップでの格納を中止させる判定ステップ（図４ＡのＳ１４）とを含む。
【００８６】
これにより、本実施の形態に係る信号収集方法によれば、測定対象の電子回路デバイスに対してプロービングするための専用ピンを用いることなく、電子回路デバイスに電気的に接続された信号収集装置１０により、内部状態及び第１データ転送量をサンプリングできる。また、粗粒度（つまり、第２期間毎に）でサンプリングされるデータ転送量に基づいて細粒度（つまり、第１期間毎に）での内部状態のサンプリングが停止するので、粗粒度のデータ転送量において異常が発生したタイミング付近で、細粒度で（つまり、詳細な）内部情報の時間変化が観測される。よって、従来よりも簡易な構成で実現され、かつ、測定対象システムにおいて動作異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置による信号収集方法が実現される。
【００８７】
また、周期性判定部１５は、判定ステップにおいて、差分が所定範囲内でないと判定した場合に、差分を算出してから第３期間が経過した後に、格納ステップでの格納を中止させ、第３期間は、可変である。
【００８８】
これにより、第１データ転送量と第２データ転送量との差分が所定範囲内ではない異常が発生したタイミングから任意の第３期間だけ経過した後に内部状態の記録が停止するので、動作異常が発生したタイミングの任意の前後における詳細な内部状態の時間変化を観測することができる。
【００８９】
また、細粒度データ記憶部１２は、所定量の内部状態を記憶する容量を有し、格納ステップでは、所定量の内部状態を記憶している場合に、既に記憶している最も古い内部状態に、最新の内部状態を上書きすることで、内部状態を記憶部に格納する。
【００９０】
これにより、細粒度データ記憶部１２には、常に所定量の最新の内部状態が格納される。
【００９１】
また、周期性判定部１５が判定ステップにおいて第１データ転送量と第２データ転送量との比較に用いる所定範囲（マージン）は、可変である。
【００９２】
これにより、第１データ転送量と比較される期待値としての第２データ転送量にマージンが付与され、正常な範囲内で生じ得る第１データ転送量のばらつきを吸収した正常／異常の判定が可能になる。
【００９３】
また、周期性判定部１５は、判定ステップでは、Ｎを２以上の整数とした場合に、Ｎ個の第２期間のそれぞれについて、差分算出ステップで算出された差分が所定範囲内か否かを示すＮ個の判断情報を生成し、生成したＮ個の判断情報に基づいて、第１データ転送量の時間変化において周期崩れが発生したか否かを判定し、周期崩れが発生したと判定した場合に、格納ステップでの格納を中止させる。
【００９４】
これにより、連続する複数の第１データ転送量の時間変化が周期性を有するか否かを判定できるので、周期的にデータ転送量が変化するバスを備える電子回路デバイスにおける動作異常を発見できる。
【００９５】
また、周期性判定部１５は、判定ステップでは、Ｎ個の判断情報のうちの一つだけが、差分が所定範囲内でない（つまり、不一致である）ことを示す場合に、周期崩れが発生したと判定する。
【００９６】
これにより、周期性をもつ第１データ転送量の時間変化における一部だけが崩れたケースを周期崩れと判定し、内部状態の記録を停止させることができるので、的確に動作異常を発見できる。
【００９７】
また、周期性判定部１５は、判定ステップでは、Ｎ個の判断情報の全てが、差分が所定範囲内である（つまり、一致する）ことを示す場合には、周期崩れが発生したと判定しない。
【００９８】
これにより、一周期を形成する第１データ転送量の時間変化における全ての集計区間での第１データ転送量が周期パターンと所定範囲内で一致する場合に正常と判定されるので、期待値としての周期パターンから一部でも崩れたケースを異常として検出することが可能になる。
【００９９】
また、周期性判定部１５は、判定ステップでは、Ｍを１以上Ｎ−１未満の整数とした場合に、Ｎ個の判断情報のうち１以上Ｍ個以下の判断情報が、差分が所定範囲内でない（つまり、不一致である）ことを示すときに、周期崩れが発生したと判定する。
【０１００】
これにより、一周期を形成する第１データ転送量の時間変化における一部の集計区間での第１データ転送量が周期パターンと所定範囲内で一致しない場合に、周期崩れと判定されるので、一周期を形成する第１データ転送量と周期パターンとの比較における周期ずれ（つまり、比較における位相ずれ）に起因する誤った判定が回避される。
【０１０１】
また、上記Ｍは、可変である。これにより、一周期を形成する第１データ転送量と周期パターンとの比較における周期ずれ（つまり、比較における位相のずれ）に起因する誤った判定を回避するための比較のタイミングに関する調整が可能になる。
【０１０２】
また、細粒度データ記憶部１２に格納される内部状態は、測定対象の電子回路デバイスが備えるバスで転送されるデータの量である。これにより、測定対象の電子回路デバイスにおける同一の箇所（バス）に対して、粗粒度で動作異常の発生の有無を判定するとともに、動作異常が発生した時の詳細な（細粒度での）解析を行うことができる。
【０１０３】
また、測定対象の電子回路デバイスは、１チップの半導体デバイスであってもよい。その場合には、ＳｏＣのように動作内容が複雑なＬＳＩに対する動作異常の解析が可能になる。
【０１０４】
（第１変形例）
なお、上記実施の形態では、周期パターン生成部１４は、信号収集装置１０が観測し始めたときに得られる第２データ転送量の時間変化における最初の一周期分（つまり、Ｎ個の第２データ転送量）を周期パターンとして保持したが、周期パターンの生成方法は、これに限られない。例えば、周期パターン生成部１４は、過去に取得された一つ以上の第１データ転送量、具体的には、正常周期と判定されたＮ個の第１データ転送量を用いて周期パターンを生成してもよい。
【０１０５】
図５は、過去に取得された第１データ転送量を用いて周期パターンを生成する周期パターン生成部１４ａを備える、実施の形態の第１変形例に係る信号収集装置１０ａの構成を示すブロック図である。
【０１０６】
本変形例に係る信号収集装置１０ａは、基本的には、上記実施の形態に係る信号収集装置１０と同様の構成を備えるが、実施の形態における周期パターン生成部１４に代えて、上述した周期パターン生成部１４ａを備える点で、実施の形態と異なる。
【０１０７】
周期パターン生成部１４ａは、周期性判定部１５から、制御線１８を介して、正常周期と判定される度に生成される周期パターン生成トリガを受信すると、その判定の対象となったＮ個の第１データ転送量を粗粒度データ記憶部１３又は周期性判定部１５から取得し、取得したＮ個の第１データ転送量と、既に保持しているＮ個の第２データ転送量（つまり、周期パターン）とを、任意に設定される重みを用いて対応する集計区間のデータ転送量どうしを合成し、合成後のＮ個のデータ転送量を、新たに、内部のレジスタ群に周期パターンとして保持し、以降、比較判定の期待値として周期性判定部１５に供給する。
【０１０８】
例えば、取得したＮ個の第１データ転送量と、既に保持しているＮ個の第２データ転送量との合成の重み比として、１：１に設定されている場合には、周期パターン生成部１４ａは、取得したＮ個の第１データ転送量と、既に保持しているＮ個の第２データ転送量とを、対応する集計区間のデータ転送量ごとに平均値を算出し、算出したＮ個の平均値を新たな周期パターン（つまり、Ｎ個の第２データ転送量）として保持する。
【０１０９】
あるいは、取得したＮ個の第１データ転送量と、既に保持しているＮ個の第２データ転送量との合成の重み比として、１：０に設定されている場合には、周期パターン生成部１４ａは、取得したＮ個の第１データ転送量を新たな周期パターン（つまり、Ｎ個の第２データ転送量）として保持する。
【０１１０】
なお、正常周期と判定したＮ個の第１データ転送量の取得方法としては、粗粒度データ記憶部１３又は周期性判定部１５から取得する方法だけでなく、周期パターン生成部１４ａが粗粒度データ記憶部１３と同様の処理（つまり、コマンド解析部１１から送られてきたデータ転送量を第２期間毎に集計することでＮ個の第２データ転送量を算出して取得する方法）であってもよい。
【０１１１】
以上のように、本変形例に係る信号収集装置１０ａ及び信号収集方法によれば、周期パターン生成部１４ａは、保持する第２データ転送量を、第１データ転送量取得ステップによって過去に取得された一つ以上の第１データ転送量を用いて生成する。
【０１１２】
これにより、第１データ転送量と比較される期待値としての第２データ転送量が、過去に取得された第１データ転送量で置き換えられるので、例えば、正常と判定された第１データ転送量と置き換えることで、期待値としての第２データ転送量を、電子回路デバイスの状態の変化（あるいは、時間の経過）に依存させて変化させることができる。
【０１１３】
（第２変形例）
また、周期パターンの生成方法は、測定対象の電子回路デバイスにおける信号を用いる方法に限られず、測定対象の電子回路デバイス以外の環境で生成される方法であってもよい。
【０１１４】
図６は、測定対象の電子回路デバイス以外の環境で生成された周期パターンを保持する周期パターン生成部１４ｂを備える、実施の形態の第２変形例に係る信号収集装置１０ｂの構成を示すブロック図である。本変形例では、信号収集装置１０ｂは、測定対象の電子回路デバイス５に組み込まれて実装されている。また、本図には、電子回路デバイス５以外の環境として、半導体集積回路（ここでは、測定対象の電子回路デバイス）の設計の自動化を支援する回路シミュレーション等のＥＤＡ（Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ  Ａｕｔｏｍａｔｉｏｎ）ツールを実装したＰＣ（パーソナルコンピュータ）１９ａも併せて図示されている。
【０１１５】
本変形例に係る信号収集装置１０ｂは、基本的には、上記実施の形態に係る信号収集装置１０と同様の構成を備えるが、実施の形態における周期パターン生成部１４に代えて、上述した周期パターン生成部１４ｂを備える点で、実施の形態と異なる。
【０１１６】
周期パターン生成部１４ｂは、周期性判定部１５から周期パターン生成トリガを受信すると、測定対象の電子回路デバイス５の外におかれたＰＣ１９ａから、ＰＣ１９ａが備えるＥＤＡツール（例えば、電子回路デバイス５を設計するための回路シミュレーション）で生成されたシミュレーション結果１９ｂをダウンロードする。シミュレーション結果１９ｂは、信号収集装置１０ｂが観測している電子回路デバイス５のバスにおける粗粒度のデータ転送量の時間変化における周期パターン（つまり、Ｎ個の第２データ転送量）を示すデータである。周期パターン生成部１４ｂは、ＰＣ１９ａからシミュレーション結果１９ｂをダウンロードすると、ダウンロードしたシミュレーション結果１９ｂが示す周期パターン（つまり、Ｎ個の第２データ転送量）を、内部のレジスタ群に保持し、以降、比較判定の期待値として周期性判定部１５に供給する。
【０１１７】
以上のように、本変形例に係る信号収集装置１０ｂ及び信号収集方法によれば、周期パターン生成部１４ｂは、第２データ転送量を、電子回路デバイスの外におけるシミュレーションの結果を用いて、生成する。
【０１１８】
これにより、電子回路デバイスにおいて現実に生じる第１データ転送量が、設計段階におけるシミュレーションの結果通りの値になっているか否かの検証をすることができる。
【０１１９】
（第３変形例）
また、上記実施の形態では、周期性判定部１５は、Ｎ個の比較器１６ａ〜１６ｄを備えたが（図２）、この構成に限られない。
【０１２０】
図７は、実施の形態の第３変形例に係る周期性判定部１５ａの構成（ここでは、実施の形態におけるＮ個の比較器１６ａ〜１６ｄに代わる箇所の構成）を示すブロック図である。
【０１２１】
本変形例に係る周期性判定部１５ａは、実施の形態におけるＮ個の比較器１６ａ〜１６ｄに代えて、２個のセレクタ３０ａ及び３０ｂと１個の比較器１６とを備える。
【０１２２】
セレクタ３０ａは、粗粒度データ記憶部１３から出力されるＮ個の第１データ転送量から順に一つ（つまり、１番目（「粗粒度データ  区間１」）からＮ番目（「粗粒度データ  区間Ｎ」）まで）を選択して出力する選択回路である。
【０１２３】
セレクタ３０ｂは、セレクタ３０ａと同期して動作し、周期パターン生成部１４から出力されるＮ個の第２データ転送量から順に一つ（つまり、１番目（「周期パターン  区間１」）からＮ番目（「周期パターン  区間Ｎ」）まで）を選択して出力する選択回路である。
【０１２４】
比較器１６は、セレクタ３０ａで選択された一つの第１データ転送量とセレクタ３０ｂで選択された一つの第２データ転送量とを比較し、第１データ転送量と第２データ転送量との差分が所定範囲（マージン）内である場合に、「一致」を示す判断情報を生成し、一方、そうでない場合に、「不一致」を示す判断情報を生成してトリガ生成部１７に出力するという処理を、セレクタ３０ａ及び３０ｂから送られてくるＮ組の第１データ転送量及び第２データ転送量について、繰り返す。
【０１２５】
以上のように、本変形例に係る周期性判定部１５ａによれば、２個のセレクタ３０ａ及び３０ｂと１個の比較器１６とを用いて、Ｎ個の第１データ転送量とＮ個の第２データ転送量との比較が行われる。
【０１２６】
これにより、上記実施の形態におけるＮ個の比較器１６ａ〜１６ｄに代えて、２個のセレクタ３０ａ及び３０ｂと１個の比較器１６という簡易な回路で、周期性を判定することが可能になる。
【０１２７】
（第４変形例）
また、上記実施の形態では、周期性判定部１５は、Ｎ個の比較器１６ａ〜１６ｄから出力されるＮ個の判断情報を対等に取り扱って正常周期／周期崩れを判定したが、Ｎ個の判断情報に重み付けをしたうえで正常周期／周期崩れを判定してもよい。
【０１２８】
図８Ａは、実施の形態の第４変形例に係る周期性判定部１５ｂの構成（ここでは、実施の形態におけるＮ個の比較器１６ａ〜１６ｄからの出力を処理する箇所の構成）を示すブロック図である。
【０１２９】
本変形例に係る周期性判定部１５ｂは、実施の形態における周期性判定部１５には備えられていない新たなＮ個の重み計算部３１ａ〜３１ｄと、実施の形態におけるトリガ生成部１７に代わるトリガ生成部１７ａとを備える。
【０１３０】
Ｎ個の重み計算部３１ａ〜３１ｄは、それぞれ、Ｎ個の比較器１６ａ〜１６ｄから出力されるＮ個の判断情報（１（一致）又は０（不一致））のそれぞれに対して対応するＮ個の重み（「重み１」〜「重みＮ」）を用いて重み付けをする乗算器である。なお、Ｎ個の重み（「重み１」〜「重みＮ」）は、測定対象の電子回路デバイスが備えるレジスタ群、あるいは、信号収集装置１０又は周期性判定部１５ｂが備えるレジスタ群に、任意の値として、外部から書き込まれ、それらのレジスタ群からＮ個の重み計算部３１ａ〜３１ｄに供給される。
【０１３１】
トリガ生成部１７ａは、Ｎ個の重み計算部３１ａ〜３１ｄから出力される重み付けされた判断情報の総和を算出し、算出した総和と予め設定された閾値とを比較し、比較結果に基づいて、正常周期／周期崩れを判定する。例えば、総和が第１閾値より小さい場合に、判定対象外と判定してデータ更新停止トリガを出力せず、総和が第１閾値以上第２閾値（＞第１閾値）以下である場合に、周期崩れが発生したと判定してデータ更新停止トリガを出力し、総和が第２閾値よりも大きい場合に、正常周期と判定してデータ更新停止トリガを出力しない。
【０１３２】
図８Ｂは、実施の形態の第４変形例に係る周期性判定部１５ｂの動作を示すフローチャートであり、図４ＡのステップＳ１３（「周期崩れ」の判定）の詳細の変形例に係るフローチャートに相当する。
【０１３３】
まず、周期性判定部１５ｂにおいて、Ｎ個の重み計算部３１ａ〜３１ｄのそれぞれは、Ｎ個の比較器１６ａ〜１６ｄの対応するものから、判断情報（合わせてＮ個の判断情報）を取得する（Ｓ３０ａ）。
【０１３４】
そして、Ｎ個の重み計算部３１ａ〜３１ｄは、取得した判断情報に対して対応する重み付けをし、続いて、トリガ生成部１７ａは、Ｎ個の重み計算部３１ａ〜３１ｄから出力される重み付けされた判断情報の総和を算出する（Ｓ３３）。
【０１３５】
そして、トリガ生成部１７ａは、算出した総和と、予め設定された第１閾値及び第２閾値（＞第１閾値）とを比較する（Ｓ３４）。
【０１３６】
その結果、トリガ生成部１７ａは、総和が第１閾値より小さい場合には（Ｓ３４で「総和＜第１閾値」）、判定対象外と判定してデータ更新停止トリガを出力せず（Ｓ３２ｂ）、一方、総和が第１閾値以上第２閾値（＞第１閾値）以下である場合には（Ｓ３４で「第１閾値≦総和≦第２閾値」）、周期崩れが発生したと判定してデータ更新停止トリガを出力し（Ｓ３２ｃ）、一方、総和が第２閾値よりも大きい場合には（Ｓ３４で「第２閾値＜総和」）、正常周期と判定してデータ更新停止トリガを出力しない（Ｓ３２ｄ）。
【０１３７】
図８Ｃは、実施の形態の第４変形例に係る周期性判定部１５ｂの動作例を示す図である。本図において、ヒストグラムは、比較対象のＮ個の粗粒度のデータ転送量（つまり、第１データ転送量）２７を示す。黒枠は、周期パターン（つまり、Ｎ個の第２データ転送量）２４を示す。「比較結果」は、Ｎ個の判断情報を示す。「重み」は、重み計算部３１ａ〜３１ｄで用いられるＮ個の重みを示す。「点数」は、Ｎ個の重み付け後の判断情報を示す。「点数」の合計値は、重み付け後の判断情報の総和を示す。
【０１３８】
本図に示される動作例では、周期性判定部１５ｂのＮ個の重み計算部３１ａ〜３１ｄは、それぞれ、比較器１６ａ〜１６ｄから、判断情報として、１、１、０、０、０、１、１を取得し、対応する重みとして、７、７、１、１、１、５、５で重み付けをすることで、重み付け後の判断情報として、７、７、０、０、０、５、５を生成する。
【０１３９】
トリガ生成部１７ａは、重み付け後の判断情報の総和（ここでは、２４）を算出し、算出した総和と、予め設定された第１閾値及び第２閾値（ここでは、第２閾値としての２０）とを比較する。その結果、トリガ生成部１７ａは、総和（ここでは、２４）が第２閾値（ここでは、２０）よりも大きいと判断し、判定対象のＮ個の第１データ転送量が正常周期と判定してデータ更新停止トリガを出力しない。
【０１４０】
以上のように、本変形例に係る周期性判定部１５ｂによれば、判定ステップでは、Ｎ個の判断情報のそれぞれに対して対応する重み付けをした後に総和を算出し、算出した総和と閾値とを比較することで、周期崩れが発生したと判定する。
【０１４１】
これにより、周期パターンを構成する各集計区間での比較結果に対して重み付けをすることができるので、集計区間ごとに一致度の重要度が異なる場合に、それらの重要度を反映した的確な周期性の判定が可能になる。
【０１４２】
以上、本発明に係る信号収集方法及び信号収集装置について、実施の形態及び第１〜第４変形例に基づいて説明したが、本発明は、これらの実施の形態及び変形例に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態及び変形例に施したものや、実施の形態又は変形例における一部の構成要素を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
【０１４３】
例えば、上記実施の形態に係る信号収集装置１０では、周期パターン生成部１４に周期パターン（複数の第２データ転送量）が保持され、周期性判定部１５において周期パターンを単位として、第１データ転送量の時間変化における周期性が判定されたが、このような周期性の判定は、必ずしも必要ではない。周期パターン生成部１４に一つの第２データ転送量が保持され、周期性判定部１５において一つの第１データ転送量と一つの第２データ転送量とが比較され、その比較結果に基づいて、データ更新停止トリガを発生されてもよい。つまり、上記実施の形態におけるＮは、１であってもよい。これにより、個々の第１データ転送量の値について、所定の範囲内の値であるか否かが判断され、異常の発生の有無が判断される。
【０１４４】
また、上記実施の形態では、周期性判定部１５は、周期崩れが発生したと判定したときから第３期間が経過したときにデータ更新トリガを出力したが、このような第３期間による遅延は、必ずしも必要ではない。周期崩れが発生したときに即座に細粒度データ記憶部１２への格納が停止された場合であっても、そのような動作異常が発生する前の段階における詳細な内部状態を観察することができる。
【０１４５】
また、上記実施の形態では、周期性の判定に用いられる「所定範囲」、「Ｍ」、データ転送量の個数は、可変であったが、必ずしも可変である必要はなく、固定値であってもよい。測定対象の電子回路デバイスによっては、これらのパラメータを変更する必要がないケースもあり得る。これらのパラメータを固定値とすることで、信号収集装置１０の回路規模を小さくできる。
【産業上の利用可能性】
【０１４６】
本発明は、バスを備える電子回路デバイスにおける信号が示す内部状態を収集する信号収集装置として、特に、簡易な構成で、かつ、測定対象システムにおいて異常が発生したタイミング付近での詳細な情報を得ることを可能にする信号収集装置として、例えば、ＳｏＣ等の測定対象ＬＳＩに組み込まれる信号収集回路として、又は、測定対象システムとは別個に実現される信号収集装置として、利用できる。
【符号の説明】
【０１４７】
５  電子回路デバイス
１０、１０ａ、１０ｂ  信号収集装置
１１  コマンド解析部
１２  細粒度データ記憶部
１３  粗粒度データ記憶部
１４、１４ａ、１４ｂ  周期パターン生成部
１５、１５ａ、１５ｂ  周期性判定部
１６、１６ａ〜１６ｄ  比較器
１７、１７ａ  トリガ生成部
１８  制御線
１９ａ  ＰＣ
３０ａ、３０ｂ  セレクタ
３１ａ〜３１ｄ  重み計算部
【図１】
2020012612.tif 000003
【図２】
2020012612.tif 000004
【図３Ａ】
2020012612.tif 000005
【図３Ｂ】
2020012612.tif 000006
【図３Ｃ】
2020012612.tif 000007
【図３Ｄ】
2020012612.tif 000008
【図４Ａ】
2020012612.tif 000009
【図４Ｂ】
2020012612.tif 000010
【図４Ｃ】
2020012612.tif 000011
【図４Ｄ】
2020012612.tif 000012
【図４Ｅ】
2020012612.tif 000013
【図５】
2020012612.tif 000014
【図６】
2020012612.tif 000015
【図７】
2020012612.tif 000016
【図８Ａ】
2020012612.tif 000017
【図８Ｂ】
2020012612.tif 000018
【図８Ｃ】
2020012612.tif 000019
【国際調査報告】
2020012612.tif 000020
2020012612.tif 000021