"CPUCentralProcessingUnitの処理をシミュレーションするCPUシミュレーション部と、前記CPUシミュレーション部が出力するトレースデータをフィルタリング条件に基づいてフィルタリングするフィルタ部と、前記フィルタ部のフィルタリング結果を転送する転送部と、を備え、前記転送部は、前記フィルタリング結果の転送量と、前記転送部の最大転送容量から定まる比較基準と、の比較を行い、前記フィルタ部は、前記転送部の比較に応じて前記フィルタリング条件を変更する、エミュレーション装置。前記フィルタ部は、前記フィルタリング条件を構成する各条件に設定された優先順位に基づいて、前記フィルタリング条件を変更することを特徴とする請求項1に記載のエミュレーション装置。前記フィルタ部は、前記フィルタリング条件の変更が生じた際に、前記フィルタリング結果に前記フィルタリング条件を構成する条件式の情報を挿入することを特徴とする請求項1または請求項2に記載のエミュレーション装置。前記比較基準は、下限値と上限値を持つ転送容量範囲であることを特徴とする請求項1乃至請求項3のいずれか1項に記載のエミュレーション装置。前記転送部は、前記フィルタリング結果の転送量が前記下限値未満である場合、または前記フィルタリング結果の転送量が前記上限値より大きい場合に、前記フィルタ部に対して前記フィルタリング条件の変更を指示することを特徴とする請求項4に記載のエミュレーション装置。前記フィルタ部は、前記フィルタリング結果の転送量が前記転送容量範囲内となり、かつ前記下限値または前記上限値との差分が最小となるように前記フィルタリング条件を設定することを特徴とする請求項5に記載のエミュレーション装置。前記フィルタ部は、第1の間隔毎に、前記フィルタリング条件を構成する各条件固有のトレース量を算出し、前記フィルタ部は、前記優先順位の順序により直近の各条件固有のトレース量を積算し、当該積算値が前記転送容量範囲内となるように前記フィルタリング条件を設定することを特徴とする請求項6に記載のエミュレーション装置。前記CPUシミュレーション部が出力するトレースデータの各々にタイムスタンプを関連付けるタイムスタンプ付与部と、前記フィルタ部のフィルタリング結果に応じて、前記タイムスタンプを補正するタイムスタンプ補正部と、を備えることを特徴とする請求項1乃至請求項7のいずれか1項に記載のエミュレーション装置。前記フィルタ部の出力するフィルタリング結果を格納する格納部を備え、前記転送部は、第2の間隔毎に、前記格納部から前記フィルタリング結果を取得して転送することを特徴とする請求項1乃至請求項8のいずれか1項に記載のエミュレーション装置。前記転送部は、前記フィルタリング結果の転送量が前記最大転送容量を超過し、転送ロスが生じた場合、当該転送ロスが生じたことを転送先に通知することを特徴とする請求項1乃至請求項9のいずれか1項に記載のエミュレーション装置。CPUCentralProcessingUnitの処理をシミュレーションするエミュレーション装置と、前記エミュレーション装置からの転送データを受け取るホスト装置と、を備えるエミュレーションシステムであって、前記エミュレーション装置は、前記CPUの処理をシミュレーションするCPUシミュレーション部と、前記CPUシミュレーション部が出力するトレースデータをフィルタリング条件に基づいてフィルタリングするフィルタ部と、前記フィルタ部のフィルタリング結果を転送する転送部と、を備え、前記ホスト装置は、前記転送部から受信したフィルタリング結果を受信し、受信能力または前記転送部の最大転送容量に基づいて定まる比較基準と、前記フィルタリング結果の転送量と、を比較する受信部を備え、前記フィルタ部は、前記受信部の比較に応じて前記フィルタリング条件を設定する、エミュレーションシステム。エミュレータと、エミュレータからの転送データを取得する装置とを用いたエミュレーション方法であって、前記エミュレータは、CPUCentralProcessingUnitの処理のシミュレーションを実行し、前記シミュレーションの実行結果情報を示すトレースデータをフィルタリング条件に基づいてフィルタリングし、前記トレースデータのフィルタリング結果を転送するとともに、前記フィルタリング結果の転送量と、最大転送容量に基づいて定まる比較基準と、の比較に応じて、前記フィルタリング条件を設定する、エミュレーション方法。一般に、ユーザがトレースデータの全てを詳細に参照する必要があるケースは少ない。多くの場合、ある一部の情報を参照すれば、ユーザは、マイクロコンピュータのデバッグや性能解析に十分に対応可能である。特許文献1に記載の長時間トレースシステムでは、インサーキットエミュレータは、全てのトレースデータをホストコンピュータに転送している。そのため、デバッグや性能調査に従事するユーザは、ホストコンピュータ上で全てのトレースデータから所望のデータを検索して参照しなければならない。さらに、インサーキットエミュレータが大量のトレースデータを転送することができないため、転送ロスが生じてしまう恐れがある。なお、転送ロスを回避するためには、インサーキットエミュレータが、高性能の転送能力を有する必要がある。特許文献2に記載のインサーキットエミュレータは、トレースデータの圧縮処理を行っているが、全てのデータを圧縮対象としている。すなわち、トレースデータの情報量を削減している不必要と思われるデータを削除しているわけではない。そのため、デバッグや性能調査に従事するユーザは、全てのトレースデータから所望のデータを検索して、参照しなければならない。さらに、圧縮率によっては、トレースデータのデータサイズを十分に削減することができない恐れがある。特許文献3に記載のインサーキットエミュレータは、特許文献2と同様に、データの情報量の削除を行っているわけではない。そのため、トレースデータのデータサイズを十分に削減することができない恐れがある。すなわち、上記した技術では、エミュレータからホストコンピュータにトレースデータを転送する際に、大量のトレースデータを転送対象としてしまう恐れがある。そのため、エミュレータは、必要なユーザが参照したいトレースデータを確実に転送することが困難である、すなわち転送ロスが生じてしまうという問題があった。本発明にかかるエミュレーション装置の一態様は、CPUCentralProcessingUnitの処理をシミュレーションするCPUシミュレーション部と、前記CPUシミュレーション部が出力するトレースデータをフィルタリング条件に基づいてフィルタリングするフィルタ部と、前記フィルタ部のフィルタリング結果を転送する転送部と、を備え、前記転送部は、前記フィルタリング結果の転送量と、最大転送容量と、の比較を行い、前記フィルタ部は、前記転送部の比較に応じて前記フィルタリング条件を設定する、ものである。本発明にかかるエミュレーション方法の一態様は、エミュレータと、エミュレータからの転送データを取得する装置とを用いたエミュレーション方法であって、前記エミュレータは、CPUCentralProcessingUnitの処理のシミュレーションを実行し、前記シミュレーションの実行結果情報を示すトレースデータをフィルタリング条件に基づいてフィルタリングし、前記トレースデータのフィルタリング結果を転送するとともに、前記フィルタリング結果の転送量と、最大転送容量に基づいて定まる比較基準と、の比較に応じて、前記フィルタリング条件を設定する、ものである。本発明にかかるエミュレーションシステムの一態様は、CPUCentralProcessingUnitの処理をシミュレーションするエミュレーション装置と、前記エミュレーション装置からの転送データを受け取るホスト装置と、を備えるエミュレーションシステムであって、前記エミュレーション装置は、前記CPUの処理をシミュレーションするCPUシミュレーション部と、前記CPUシミュレーション部が出力するトレースデータをフィルタリング条件に基づいてフィルタリングするフィルタ部と、前記フィルタ部のフィルタリング結果を転送する転送部と、を備え、前記ホスト装置は、前記転送部から受信したフィルタリング結果を受信し、受信能力または前記転送部の最大転送容量に基づいて定まる比較基準と、前記フィルタリング結果の転送量と、を比較する受信部を備え、前記フィルタ部は、前記受信部の比較に応じて前記フィルタリング条件を設定する、ものである。本発明では、トレースデータをフィルタリングし、そのフィルタリング結果を最大転送容量から定まる比較基準と比較し、比較結果に応じてフィルタリング条件を変更する。これにより、最大転送量に応じたフィルタリング条件を変更することができ、必要なトレースデータを転送できるとともに、転送ロスを回避することができる。本発明によれば、必要なトレースデータを確実に転送することができるエミュレーション装置、エミュレーション方法、及びエミュレーションシステムを提供することができる。<実施の形態1>以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施の形態にかかるエミュレーションシステムの構成を示すブロック図である。当該エミュレーションシステムは、エミュレータ100と、ホストコンピュータ200と、を備える。エミュレータ100は、マイクロコンピュータの機能を実現するいわゆるICEIncircuitEmulatorあるいはオンチップデバッグエミュレータである。エミュレータ100は、CPUCentralProcessingUnitシミュレーション部110と、トレースメモリ制御部120と、トレースメモリ130と、フィルタ部140と、ホストインターフェイス150と、を備える。ホストインターフェイス150は、内部にFIFOFirstInFirstOutメモリ151と、転送部152と、を備える。CPUシミュレーション部110には、シミュレーションの対象となるマイクロコンピュータを動作させるためのプログラムが入力される。CPUシミュレーション部110は、当該プログラムを動作させることにより、マイクロコンピュータの動作をシミュレーションする。CPUシミュレーション部110は、シミュレーションの実行結果としてトレースデータを生成する。CPUシミュレーション部110は、例えば図示しないピンの設定、あるいはレジスタ設定により、生成するトレースデータの種別分岐トレース情報、アクセストレース情報等を決定する。CPUシミュレーション部110は、生成したトレースデータをトレースメモリ制御部120及びフィルタ部140に供給する。トレースメモリ制御部120は、トレースデータのトレースメモリ130への書き込みを制御する。トレースメモリ130は、トレースメモリ制御部120から書き込まれたトレースデータを記憶する記憶部である。フィルタ部140は、設定されたフィルタリング条件を用いて、CPUシミュレーション部110から供給されたトレースデータをフィルタリングする処理部である。フィルタ部140が用いるフィルタリング条件は、後述の転送部152による転送量の比較に応じて適宜変更される。また、当該フィルタリング条件を構成する各条件には、ユーザが適宜優先順位を設定できる。当該優先順位は優先順位テーブル141に設定される。なお、以降の説明では、フィルタ部140によるフィルタリング処理後のトレースデータをフィルタリング結果データと記載する。エミュレータ100のユーザは、フィルタ部140のフィルタリング条件の初期値を設定できる。ユーザがフィルタリング条件の初期値を設定しなかった場合、全トレースデータを出力するフィルタリングを行わない。なお、優先順位テーブル141を用いたフィルタ部140の処理内容の詳細は、例図8~図11を交えて後述する。FIFOメモリ151には、フィルタ部140によるフィルタリング結果データが書き込まれる。FIFOメモリ151は、先入れ先だし形式FirstInFirstOutのデータ格納部であり、フィルタリング結果データが転送部152に読み出されるまで一時的にフィルタリング結果データを保持する。転送部152は、FIFOメモリ151内に一時的に格納されたフィルタリング結果データをホストコンピュータ200に転送するとともに、フィルタリング結果データの転送データ量と、最大転送容量から定まる比較基準と、を比較し、比較結果をフィルタ部140に通知する処理部である。以下に、転送部152の詳細を説明する。転送部152は、フィルタリング結果データをFIFOメモリ151から取得して、ホストコンピュータ200に転送する。転送部152は、例えば所定間隔毎にFIFOメモリ151からフィルタリング結果データを取得し、ホストコンピュータ200に転送する。転送部152は、仕様により予め定められた最大転送容量を基に算出した比較基準と、実際に転送しているフィルタリング結果データのデータ量と、を比較する。ここで比較基準とは、転送部152の最大転送量そのもののように1つの閾値であっても良く、転送部152の最大転送容量の60~80のように上限値と下限値を持つ容量範囲であっても良い。すなわち、比較基準は、転送部152の最大転送量に基づいて定まる値であればよい。転送部152は、実際に転送しているフィルタリング結果データのデータ量が比較基準を超過している場合、フィルタリング結果データのデータ量が減少するようにフィルタ部140に指示を行う。この際、転送部152は、比較した両データ量の差分をフィルタ部140に通知し、フィルタ部140は、当該差分に応じてフィルタリング設定を変更することが望ましい。一方、転送部152は、実際に転送しているフィルタリング結果データのデータ量が比較基準よりも少ない場合、フィルタリング結果データのデータ量が増加するようにフィルタ部140に指示を行う。この際、転送部152は、比較した両データ量の差分をフィルタ部140に通知し、フィルタ部140は、当該差分に応じてフィルタリング設定を変更することが望ましい。転送部152及びフィルタ部140によるフィルタリング条件の変更の具体例は、後述する。フィルタ部140は、転送部152の比較結果に応じて適宜フィルタリング条件を変更する。しかし、フィルタリング条件を変更してもなおフィルタリング結果データが膨大であり、転送ロスを生じてしまうケースがある。この場合、転送部152は、転送ロスが生じたことをホストインターフェイス230に通知する。これにより、ホストコンピュータ200のユーザは、転送された参照しているフィルタリング結果データに欠損があることを認識しつつ、データを参照できる。なお、転送部152は、FIFOメモリ151におけるフィルタリング結果データの格納量がメモリ容量の所定割合たとえば90以上になった場合、FIFOメモリ151からフィルタリング結果データを取得し、ホストコンピュータ200に転送してもよい。この場合、転送部152は、所定間隔より前に転送を行ったか否かを判定し、当該判定を上述した比較基準と、フィルタリング結果データのデータ量と、の比較の代用としても良い。ホストコンピュータ200は、制御部210と、トレースデータ格納部220と、ホストインターフェイス230と、を備える。制御部210は、ホストインターフェイス230の制御も含む、各種の制御処理を行う処理部である。トレースデータ格納部220は、エミュレータ100から転送され、ホストインターフェイス230を介して受信したトレースデータフィルタリング結果データを記憶する記憶部である。トレースデータ格納部220は、トレースメモリ130よりも大容量の記憶装置であり、大量のトレースデータを記憶することができる。ホストインターフェイス230は、内部に受信部231を備える。受信部231は、エミュレータ100から転送されたフィルタリング結果データを適宜受信し、受信したフィルタリング結果データをトレースデータ格納部220に格納する。なお、ユーザは、ホストコンピュータ200の操作部図示せず、キーボード、マウス等を操作し、トレースデータ格納部220に格納されたトレースデータを適宜参照する。ここで、トレースデータ格納部220に格納されたデータは、すでにフィルタリング処理が行われたデータである。そのため、ユーザは、必要なトレースデータのみを参照することができ、効率よくデバッグ等の処理を行うことができる。次に、フィルタ部140によるフィルタリングの具体例を図2~図7を参照して説明する。図2は、フィルタ部140が全トレースデータ分岐トレース情報からCALLT命令関数遷移命令にかかるトレースデータのみを取得する例を示している。図示するように、各トレースデータには、分岐元アドレス、分岐先アドレス、及び分岐要件が含まれる。フィルタ部140は、全トレースデータから分岐要件がCALLTにかかるものだけをフィルタリング結果データとして抽出する。なお、図2では、フィルタ部140は、分岐元アドレス及び分岐先アドレスの情報のみを抽出しているが、必ずしもこれに限られず、分岐要件の情報も抽出しても良い。このように、フィルタ部140は、関数遷移に関するトレースデータのみを抽出する。これにより、転送部152が転送するデータ量が削減でき、長時間のエミュレーション処理が実現できる。図3は、フィルタ部140が全トレースデータ分岐トレース情報からINT命令割込み命令による分岐にかかるトレースデータのみを取得する例を示している。フィルタ部140は、全トレースデータから分岐要件がINTにかかるものだけをフィルタリング結果データとして抽出する。なお、図3では、フィルタ部140は、分岐先アドレスの情報のみを抽出しているが、必ずしもこれに限られず、分岐元アドレス及び分岐要件の情報も抽出しても良い。ホストコンピュータ200は、このフィルタリング結果データを受信する。ホストコンピュータ200を操作するユーザは、フィルタリング結果データを参照することにより、分岐先情報を把握でき、この分岐先情報から割り込みベクタ割り込み要因が特定できる。これにより、ユーザは、割り込みの発生履歴、各割り込みの発生回数を把握することができる。図4は、フィルタ部140が全トレースデータ分岐トレース情報から予め指定した関数に遷移する命令に関するトレースデータのみを取得する例を示している。図4に示すように、フィルタ部140は、プログラムに含まれる関数の識別番号、各関数の先頭アドレス、及びフラグが規定されたテーブルを有する。フラグは、当該関数をフィルタリング結果データとして抽出するか否かを示すビット値0:フィルタリング結果データとして抽出しないホストコンピュータ200に転送しない、1:フィルタリング結果データとして抽出するホストコンピュータ200に転送するである。当該テーブルは、例えばプログラムをコンパイルする際にコンパイラが出力する情報を用いて生成される。テーブル内のフラグは、ユーザが設定する。フィルタ部140は、全トレースデータ分岐トレース情報の分岐先アドレスと、当該テーブル内の先頭アドレスと、が一致するトレースデータであって、テーブル内にフラグに1が設定されているトレースデータの関数識別番号をフィルタリング結果データとして抽出する。ホストコンピュータ200は、このフィルタリング結果データを受信する。ホストコンピュータ200を操作するユーザは、ホストコンピュータ200内にある関数番号の情報とフィルタリング結果データを比較することにより、どの関数が実行されたかを把握することができる。なお、図4に示す例では、フィルタ部140は、フィルタリング結果データとして、関数番号を抽出したが必ずしもこれに限られず、分岐元アドレス、分岐先アドレス、及び分岐要因からなるデータ列をフィルタリング結果データとして取得しても良い。図5は、フィルタ部140が全トレースデータ分岐トレース情報からタスク遷移情報を抽出する例を示している。なお、本例では、オーナーシップトレース機能をエミュレーション対象のCPUがサポートしているものとする。トレース対象となるトレースデータ分岐トレース情報は、タスクIDに関する情報を有する。CPUシミュレーション部110は、タスクIDが変化した場合、そのタスクIDを出力する。フィルタ部140は、タスクIDのみを抽出する。図5の例では、フィルタ部140は、2回のタスクIDの切り替えをフィルタリング結果データとして抽出している。ホストコンピュータ200は、このフィルタリング結果データを受信する。ホストコンピュータ200を操作するユーザは、当該フィルタリング結果データを参照することによりタスクの遷移履歴、各タスクの実行回数を把握することができる。図6は、オーナーシップトレース機能をエミュレーション対象のCPUがサポートしていない場合に、フィルタ部140が全トレースデータアクセストレース情報から図5と同等のフィルタリング結果データを抽出する例を示している。CPUエミュレーション部110は、アクセストレース情報アクセスアドレス、アクセスデータ、リード/ライトを出力する。オペレーティングシステムの機能により、所定の値がタスクIDに設定される。具体的には、各タスクの実行時には、実行にかかるタスクが自身に割り当てられたユニークなIDをタスクIDに設定する。図6の例では、タスクIDタスクを実行する当該タスクに割り当てられたIDのアドレスは、0x8050とする。フィルタ部140は、アクセスアドレスが0x8050であり、ライト書き込みにかかるトレースデータを選択し、選択したトレースデータ内のアクセスデータをフィルタリング結果データとして取得する。ここで、アクセスデータは、タスクが自身のIDをアドレスに書き込むことにより、タスクIDと同視することができる。そのため、図5と同様に、ユーザは、タスクの遷移履歴、各タスクの実行回数を把握することができる。図7は、全トレースデータアクセストレース情報から変数遷移をトレースする例を示している。CPUエミュレーション部110は、アクセストレース情報アクセスアドレス、アクセスデータ、リード/ライトを出力する。フィルタ部140は、内部にテーブルを持つ。当該テーブルには、トレース対象としたい変数の識別番号と、各変数が書き込まれるアドレスと、が定義されている。なお、本例では、変数1のアドレスを0x8010とする。フィルタ部140は、全トレースデータから当該テーブルに定義された変数にかかるトレースデータのみをフィルタリング結果データとして取得する。詳細には、フィルタ部140は、全トレースデータのアクセスアドレスと、これにより、フィルタ部140内のテーブルの対応変数アドレスが合致するトレースデータをフィルタリング結果データとして抽出する。ユーザは、特定変数のアクセスにかかるトレースデータのみを参照することができる。続いて、フィルタリング結果データのデータ量と、フィルタ部140のフィルタ条件との関係を、具体例を用いて説明する。図8及び図9は、フィルタ部140のフィルタリング処理と、フィルタリング条件の変化を示す概念図である。図8は、あるプログラムの実行を開始した時刻t0から所定時間X後の時刻t0Xまでのフィルタ部140のフィルタリング処理を示す図である。図9は、時刻t0Xから所定時間X後の時刻t02Xまでのフィルタ部140のフィルタリング処理を示す図である。なお、本例では、転送部152は、所定時間X毎に送信するフィルタリング結果データのデータ量が最大転送容量の何であるかを判定する。本例では、転送部152は、所定時間X毎に送信するフィルタリング結果データのデータ量が最大転送容量の60~80であれば、最適な転送量であるとする。転送部152は、フィルタリング結果データのデータ量が最適な転送量ではない場合、フィルタ部140に通知する。通知を受けたフィルタ部140は、優先順位テーブル141を参照して、フィルタリング条件を変更する。なお、以下の説明では、説明の容易化を図るため、転送部152は、所定時間X毎に10行分のトレースデータを転送できるものとする。フィルタ部140内には、優先順位テーブル141が定義されている。本例では、優先順位テーブル141には、各分岐要件に対して優先順位が設けられている。当該優先順位が高い分岐要件は、フィルタリング条件の変更時に、フィルタリング条件に優先して含まれる。すなわち、優先順位が高い順序で、フィルタリング条件に採用される。優先順位テーブル141は、フィルタリング条件の変更時に参照される。本例図8、図9では、フィルタ部140のフィルタリング条件の初期値は、全てを出力ALLとする。時刻t0~t0Xの間、フィルタ部140は、トレースデータの全てをフィルタリング結果データとして出力する。なお、フィルタ部140は、図8に示すようにフィルタリング条件フィルタリング条件=ALLをフィルタリング結果データに含めて出力しても良い。これにより、フィルタリング結果データを参照するユーザは、時刻t0~t0Xの間に用いられたフィルタリング条件を参照しながらフィルタリング結果データを参照することができる。転送部152は、時刻t0~t0Xにおけるフィルタリング結果データのデータ量が最大転送容量の90であるため、最適な転送量の範囲60~80を超えていることをフィルタ部140に通知する。通知を受けたフィルタ部140は、優先順位テーブル141を参照して、フィルタリング結果データが削減されるようにフィルタリング条件を変更する。以下、フィルタリング条件の変更の手順例を説明する。フィルタ部140は、はじめにフィルタ部140から時刻t0~t0Xの間の各分岐要件にかかる転送データ量を取得する。本例では、フィルタ部140は、分岐要件CALLTにかかるデータ行が3行、分岐要件JUMPにかかるデータ行が2行、分岐要件INTにかかるデータ行が2行、分岐要件RETIにかかるデータ行が2行であることを取得する。フィルタ部140は、優先順位テーブル141を参照し、優先順位の高い分岐要件から順にデータ量を積算する。ここで、優先順位が2である分岐要件RETIにかかるデータ量まで積算した場合、積算値は、最大転送容量の40となる。次に、優先順位が3である分岐要件CALLT及びJUMPのデータ転送量まで積算した場合、積算値は、最大転送容量の90、すなわち最適な転送量の範囲を超えてしまう。この場合、フィルタ部140は、分岐要件CALLT及びJUMPを共にフィルタリング条件から除外しても良い。また、フィルタ部140は、分岐要件CALLTのみのデータ転送量を積算した場合の積算データ量と、分岐要件JUMPのみのデータ転送量を積算した場合の積算データ量と、をそれぞれ算出し、算出値に応じて一方をフィルタリング条件に含めても良い。以下、積算データ量を算出する場合の処理について説明する。フィルタ部140は、分岐要件CALLTのみのデータ転送量を積算した場合の積算データ量が最大転送容量の70であることを算出する。同様に、フィルタ部140は、分岐要件CALLTのみのデータ転送量を積算した場合の積算データ量が最大転送容量の60であることを算出する。そのため、フィルタ部140は、最適な転送量の範囲60~80となり、かつ多くの情報を得るため、分岐要件CALLTをフィルタリング条件に含めることを決定する。すなわち、フィルタ部140は、最適な転送量の範囲60~80となり、かつ当該範囲の上限値に最も近くなるように、フィルタリング条件に含める条件を決定する。本例では、フィルタ部140は、分岐要件INT、RETI,CALLTにかかるトレースデータのみを時刻t0X~t02Xにおいて取得するようにフィルタリング条件を変更する。続いて、図9を参照して時刻t0X~t02Xの間のフィルタリング処理について説明する。前述のように、フィルタ部140は、分岐要件INT、RETI、及びCALLTにかかるトレースデータのみをフィルタリング結果データとして出力する。また、フィルタ部140は、フィルタリング条件フィルタリング条件=INT,RETI,CALLTをフィルタリング結果データに含めて出力する。フィルタリング条件を出力することにより、ユーザは、どのようなフィルタリング条件によって抽出された結果であるかを把握することができる。転送部152は、時刻t0X~t02Xの間のフィルタリング結果データと、最大転送容量から定まる比較基準を比較する。すなわち、転送部152は、時刻t0X~t02Xの間のフィルタリング結果データが最適な転送量の範囲最大転送容量の60~80となっているか否かを判定する。本例図9では、転送部152は、フィルタリング結果データが最適な転送量の範囲内にあると判定する。そのため、転送部152は、フィルタ部140に対する通知フィルタリング条件の変更通知を行わない。なお、図8及び図9の例では、フィルタ部140は、多くの情報を得るために、優先順位の同じ分岐要件CALLTとJUMPのうち、分岐要件CALLTをフィルタリング条件に採用した。しかしながら、必ずしもこれに限られず、フィルタ部140は、転送ロスを確実に避けるために、分岐要件JUMPをフィルタリング条件に採用しても良い。すなわち、フィルタ部140は、最適転送範囲に収まり、かつ、当該範囲の下限値に最も近くなるようにフィルタリング条件を設定しても良い。図8、図9に示すように、フィルタリング結果データが多い場合、すなわち転送ロスを生じる恐れがある場合、エミュレータ100は、自律的にフィルタリング結果データを減らすように制御する。続いて、図10及び図11を参照して、図8及び図9に示したプログラムとは異なるプログラムを実行した場合のフィルタ部140、転送部152の動作例を説明する。図10は、当該プログラムの実行を開始した時刻t0から所定時間X後の時刻t0Xまでのフィルタ部140のフィルタリング処理を示す図である。図11は、時刻t0Xから所定時間X後の時刻t02Xまでのフィルタ部140のフィルタリング処理を示す図である。転送部152は、所定時間X毎に送信するフィルタリング結果データのデータ量が最大転送容量の60~80であれば、最適な転送量であるとする。本例では、フィルタリング条件の初期値として、分岐要件INTにかかるトレースデータのみを抽出するフィルタリング条件=INTという条件が設定されている。フィルタ部140は、時刻t0~t0Xの間、トレースデータのうち、分岐要件INTにかかるトレースデータのみをフィルタリング結果データとして抽出する。フィルタ部140は、フィルタリング条件フィルタリング条件=INTをフィルタリング結果データに含めて出力する。転送部152は、時刻t0~t0Xにおけるフィルタリング結果データのデータ量が最大転送容量の20であるため、最適な転送量の範囲60~80に満たないことをフィルタ部140に通知する。フィルタ部140は、前述の手法により、フィルタリング条件を変更フィルタリング条件=INT,RETI,CALLTする。続いて、図11を参照して時刻t0X~t02Xの間のフィルタリング処理について説明する。前述のように、フィルタ部140は、分岐要件INT、RETI、及びCALLTにかかるトレースデータのみをフィルタリング結果データとして出力する。また、フィルタ部140は、フィルタリング条件フィルタリング条件=INT,RETI,CALLTをフィルタリング結果データに含めて出力する。転送部152は、時刻t0X~t02Xの間のフィルタリング結果データが最適な転送量の範囲最大転送容量の60~80となっていることを判定する。そのため、転送部152は、フィルタ部140に対する通知フィルタリング条件の変更通知を行わない。図10、図11に示すように、フィルタリング結果データが少ない場合、すなわち、エミュレータ100は、自律的にフィルタリング結果データを増加させるように制御する。これにより、ユーザは、優先順位に応じて必要な情報を十分に参照することができる。上記の図8~図11の例では、分岐トレース情報に対するフィルタリングを例に取り、フィルタリング条件の変更について説明したが必ずしもこれに限られない。フィルタ部140は、分岐トレース情報にかかるフィルタリングに限らず、アクセストレース情報等を対象とするフィルタリングにおいてフィルタリング条件を適宜変更することも勿論可能である。図8~図11の例では、優先順位テーブル141が設定されていることを前提に説明した。しかしながら、フィルタ部140は、優先順位テーブル141が設定されていない場合であっても、全ての分岐要件を同一優先順位とみなす等の処理を行うことにより、上述のようなフィルタリング条件の変更が可能である。本実施の形態にかかるエミュレータ100のシミュレーション実行中の動作概要を図12のフローチャートを参照して再度説明する。CPUシミュレーション部110は、シミュレーションを実行し、トレースデータをフィルタ部140及びトレースデータ制御部120に供給する。トレースデータ制御部120は、供給されたトレースデータをそのままトレースメモリ130に書き込む。フィルタ部140は、設定されているフィルタリング条件を用いてトレースデータのフィルタリングを行うS1。フィルタ部140は、フィルタリング結果データをFIFOメモリ151に書き込む。転送部152は、FIFOメモリ151からフィルタリング結果データを読み出し、随時転送するS2。転送部152は、最大転送容量から定まる比較基準と、実際に転送したフィルタリング結果データを転送時に比較し、比較結果をフィルタ部140に通知する。フィルタ部140は、比較結果に応じてフィルタリング条件を変更するS3。エミュレータ100は、上述のS1~S3の処理をシミュレーションが終了するまで実行し続ける。続いて、本実施の形態にかかるエミュレーションシステムの効果について説明する。エミュレータ100は、トレースデータをフィルタリングし、そのフィルタリング結果を、最大転送容量を基に定めた比較基準と比較し、比較結果に応じてフィルタリング条件を変更している。これによりエミュレータ100は、最大転送容量に応じたフィルタリング条件を設定することができ、必要なトレースデータを転送できるとともに、転送ロスを回避することができる。また、エミュレータ100は、フィルタリング条件の変更時に優先順位テーブル141を参照することにより、必要となる順序で条件を採用し、その結果を取得することができる。これにより、ユーザは、必要な情報を優先して参照することができる。必要な情報を優先して参照できることにより、ユーザは、プログラムのデバッグや性能解析を確実に行うことができる。さらにまた、フィルタリング結果データは、フィルタリング条件を逐次含むことができる。これにより、ユーザは、どのようなフィルタリング条件を用いて得られたデータを参照しているかを把握することができる。上述のように、比較基準は、転送部152の最大転送容量の60~80のように上限と下限を持つ容量範囲であっても良い。これにより、比較基準を柔軟に定めることができるため、フィルタ部140は、より正確にフィルタリング条件を設定することができる。<実施の形態2>本実施の形態にかかるエミュレーションシステムは、ホストコンピュータがフィルタリング結果データと、最大転送容量から定まる比較基準と、を比較することを特徴とする。本実施の形態にかかるエミュレーションシステムについて、実施の形態1との差異を以下に説明する。なお、図面において同一名及び同一符号を付しており、以下に言及しない処理部は実施の形態1と基本的に同じ処理を行う。図13は、本実施の形態にかかるエミュレーションシステムの構成を示すブロック図である。基本的に、エミュレータ100は、実施の形態1と同様の処理部を有する。また、ホストコンピュータ200は、実施の形態1と同様の処理部を有する。本実施の形態における受信部231は、最大転送容量に基づく比較基準と、受信したフィルタリング結果データと、を比較し、比較結果をフィルタ部140に通知する。ここで、最大転送容量は、予め転送部152から通知された値転送部152のデータ転送容量と、受信部231の受信能力受信できるデータ容量と、のうちの小さい値である。受信部231は、実施の形態1の転送部152と略同一の比較を行い、フィルタリング条件を変更する必要が生じた場合に、フィルタ部140に通知を行う。この際に、受信部231は、フィルタリング結果データを減らすべきであるか、増加させるべきであるか、現在のフィルタリング結果データの転送量が最大転送容量の何であるか、等をフィルタ部140に通知する。フィルタ部140は、受信部231の通知に応じて、実施の形態1と同様の手法でフィルタリング条件を変更する。上記したように、受信部231がフィルタリング結果データにかかる比較を行う。当該構成によっても、実施の形態1と同様の効果、すなわち最大転送容量に応じたフィルタリング条件を設定することができるために必要なトレースデータを転送でき、かつ転送ロスを回避することができる。<実施の形態3>本実施の形態にかかるエミュレーションシステムは、各トレースデータを取得したタイミングを正確に把握できることを特徴とする。以下、本実施の形態にかかるエミュレーションシステムについて、実施の形態1にかかるエミュレーションシステムとの相違点を中心に説明する。図14は、本実施の形態にかかるエミュレーションシステムの構成を示すブロック図である。エミュレータ100は、実施の形態1に記載の構成に加え、タイムスタンプ付与部160及びタイムスタンプ補正部170を有する構成である。タイムスタンプ付与部160及びタイムスタンプ補正部170の詳細な動作を、図14及び図15を参照して説明する。図15は、タイムスタンプ付与部160及びタイムスタンプ補正部170の動作を示す概念図である。タイムスタンプ160は、CPUシミュレーション部110から出力された各トレースデータに対し、タイムスタンプ値を付与する処理部である。タイムスタンプ値は、直前のトレースデータの出力からの経過クロック数である。図15では、トレース1は、直前のトレースデータの出力から4クロック経過後に出力されている。同様に、トレース2は、トレース1の出力から5クロック経過後に出力されている。トレース3は、トレース2の出力から5クロック経過後に出力されている。トレース4は、トレース3の出力から6クロック経過後に出力されている。フィルタ部140は、実施の形態1と同様の手法を用いて、全トレースデータをフィルタリングする。ここで、フィルタ部140は、全トレースデータを出力するとともに、不要となるトレースデータと必要となるトレースデータが識別できるようにデータを加工する。図15では、トレース1及びトレース3に対し、不要であることを示す識別情報が付されている。そして、フィルタ部140は、加工したデータフィルタリング結果データの一態様をタイムスタンプ補正部170に出力する。タイムスタンプ補正部170は、フィルタ部140から加工データを受信する。そして、タイムスタンプ補正部170は、当該加工データのタイムスタンプ値を参照して、タイムスタンプ値を補正し、不要となるトレースデータを削除したデータをFIFOメモリ151に格納する。以下、詳細な動作を説明する。図15では、トレース2及びトレース4が出力対象となる。前述のように、タイムスタンプ値は直近のトレースデータの出力からの経過クロック数であるため、タイムスタンプ補正部170は、必要となる各トレースデータフィルタリング結果データとして出力するデータについてタイムスタンプ値を補正する。図15では、タイムスタンプ補正部170は、トレース2が直前のトレースデータの出力から9クロック経過後に出力されたことを示すようにタイムスタンプを補正する。同様に、タイムスタンプ補正部170は、トレース4がトレース2の出力から11クロック経過後に出力されたことを示すようにタイムスタンプを補正する。そして、タイムスタンプ補正部170は、補正後のデータ、すなわちフィルタリング結果データをFIFOメモリ151に格納する。他の処理部ホストインターフェイス150、ホストコンピュータ200内の各処理部の処理は、実施の形態1と同様である。なお、上述の説明では、実施の形態1の構成に対してタイムスタンプ付与部160及びタイムスタンプ補正部170を追加したが、実施の形態2の構成に対してタイムスタンプ付与部160及びタイムスタンプ補正部170を追加しても良い。続いて、本実施の形態にかかるエミュレーション装置の効果について説明する。上記したように、エミュレータ100は、フィルタリング結果データを出力するとともに、フィルタリング結果データに含まれる各トレースデータに対してタイムスタンプを関連付けている。この際、タイムスタンプ補正部170は、フィルタ部140によるフィルタリングに応じてタイムスタンプ値を補正している。これにより、ホストコンピュータ200のユーザは、各トレースの発生タイミングを正確に把握することができる。なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述の説明では、トレースメモリ130をエミュレータ100内に設けたが、必ずしもこれに限られない。ユーザは、ホストコンピュータ200上でのみフィルタリング結果データトレースデータを参照する。そして、トレースメモリ130及びトレースメモリ制御部120がエミュレータ100内に存在しない構成であっても良い。また、ホストインターフェイス150は、FIFOメモリ151を有さない構成であっても良い。この場合、転送部152は、フィルタ部140が出力したフィルタリング結果データを適宜転送するとともに、転送毎に、上述の比較処理を行う。"