回路の動作を模擬するエミュレータ部と、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換える置換部と、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給する供給部を有することを特徴とする回路エミュレーション装置。前記所定のビットパターンは、情報ビットが全てゼロであるデータに対する冗長ビットのビットパターンであることを特徴とする請求項1記載の回路エミュレーション装置。前記回路エミュレーション装置はさらに、前記回路が前記メモリから読み出した前記データの前記情報ビット及び前記冗長ビットのうち少なくとも1ビットがゼロでない場合、前記情報ビットと前記冗長ビットとを前記読み出したデータとして前記回路に供給する供給部を有することを特徴とする請求項1又は2記載の回路エミュレーション装置。前記回路エミュレーション方法はさらに、前記メモリの内容を記憶装置に記録し且つ前記記憶装置から前記メモリの内容を前記メモリに復元する場合、前記メモリに格納されるデータのうち全ビットがゼロであるデータを除いた全てのデータを前記記憶装置に記録する復元部を有することを特徴とする請求項1乃至3何れか一項記載の回路エミュレーション装置。回路エミュレータが、回路の動作を模擬し、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換え、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給することを特徴とする回路エミュレーション方法。前記所定のビットパターンは、情報ビットが全てゼロであるデータに対する冗長ビットのビットパターンであることを特徴とする請求項5記載の回路エミュレーション方法。前記回路エミュレーション方法はさらに、前記回路エミュレータが、前記回路が前記メモリから読み出した前記データの前記情報ビット及び前記冗長ビットのうち少なくとも1ビットがゼロでない場合、前記情報ビットと前記冗長ビットとを前記読み出したデータとして前記回路に供給することを特徴とする請求項5又は6記載の回路エミュレーション方法。前記回路エミュレーション方法はさらに、前記回路エミュレータが、前記メモリの内容を記憶装置に記録し且つ前記記憶装置から前記メモリの内容を前記メモリに復元する場合、前記メモリに格納されるデータのうち全ビットがゼロであるデータを除いた全てのデータを前記記憶装置に記憶することを特徴とする請求項5乃至7何れか一項記載の回路エミュレーション方法。回路エミュレーションプログラムにおいて、回路エミュレータに、回路の動作を模擬させ、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換えさせ、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給させることを特徴とする回路エミュレーションプログラム。前記所定のビットパターンは、情報ビットが全てゼロであるデータに対する冗長ビットのビットパターンであることを特徴とする請求項9記載の回路エミュレーションプログラム。前記回路エミュレーションプログラムはさらに、前記回路エミュレータに、前記回路が前記メモリから読み出した前記データの前記情報ビット及び前記冗長ビットのうち少なくとも1ビットがゼロでない場合、前記情報ビットと前記冗長ビットとを前記読み出したデータとして前記回路に供給させることを特徴とする請求項9又は10記載の回路エミュレーションプログラム。前記回路エミュレーションプログラムはさらに、前記回路エミュレータに、前記メモリの内容を記憶装置に記録し且つ前記記憶装置から前記メモリの内容を前記メモリに復元する場合、前記メモリに格納されるデータのうち全ビットがゼロであるデータを除いた全てのデータを前記記憶装置に記憶させることを特徴とする請求項9乃至11何れか一項記載の回路エミュレーションプログラム。1つの側面では、本発明は、冗長ビットを備えたメモリに対して全ビットがゼロのデータの効率的な取り扱いを可能にする回路エミュレーション装置、回路エミュレーション方法及び回路エミュレーションプログラムが望まれる。回路エミュレーション装置は、回路の動作を模擬するエミュレータ部と、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換える置換部と、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給する供給部を有することを特徴とする。回路エミュレーション方法は、回路エミュレータが、回路の動作を模擬し、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換え、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給することを特徴とする。回路エミュレーションプログラムは、回路エミュレーションプログラムにおいて、回路エミュレータに、回路の動作を模擬させ、前記回路がメモリから読み出したデータの情報ビット及び冗長ビットの全てがゼロの場合に、前記冗長ビットを所定のビットパターンで置き換えさせ、前記情報ビットと置き換えた前記所定のビットパターンとを前記読み出したデータとして前記回路に供給させることを特徴とする。本願開示の1つの実施例によれば、冗長ビットを備えたメモリに対して全ビットがゼロのデータの効率的な取り扱いを可能にすることができる。以下に、本発明の実施例を添付の図面を用いて詳細に説明する。図1は、ホストマシンとエミュレータとの関係を示す図である。図1に示すように、ホストマシン10がエミュレータ11に接続されている。ホストマシン10は、データとしてエミュレータデザイン12及びテストプログラム13を有する。ホストマシン10はまた、エミュレータ11の状態を示すデータ等を格納するための記憶装置14を含む。論理シミュレーションでは、例えばVerilog等のハードウェア記述言語により検証対象の回路を記述し、その回路記述をホストマシン10によりコンパイルしてエミュレータ用の構成データを生成する。この生成した構成データがエミュレータデザインエミュレーションプログラム12である。ホストマシン10は、エミュレータデザイン12をエミュレータ11にダウンロードし、エミュレータ11上に検証対象の回路をマッピングする。即ち、エミュレータ11のハードウェアリソースを用いて、エミュレータ11上に検証対象の回路を構成する。図1では、エミュレータ11上に構成された検証対象の回路がエミュレータデザイン15として示されている。エミュレータデザイン15である検証対象の回路が例えばCPUである場合には、ホストマシン10が、エミュレータ11のメモリ16にテストプログラム13を書き込む。エミュレータ11上に構成された検証対象の回路は、メモリ16に格納されたテストプログラム13の各命令を随時フェッチして実行することにより、所定の動作を実行する。このようにして検証対象の回路の動作をエミュレータ11により模擬し、その回路動作が正常に完了したか否かを、ホストマシン10を介してチェックする。このホストマシン10によるチェックにより、検証対象の回路の論理設計に問題があるか否かを確認することができる。なおメモリ16は、エミュレーションにより実現される模擬回路ではなく、エミュレータ11上の物理的なメモリである。このメモリ16は、テストプログラム13の格納領域として用いられると共に、検証対象の回路がその動作のために使用するワーク領域として用いられる。図2は、エミュレータ11上の検証対象の回路の構成の一例をメモリ16と共に示す図である。図2において、図1と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。図2に示すCPU20が検証対象の回路である。CPU20は、2つのコア回路21及び22、キャッシュメモリ23、及びメモリコントローラ24を含む。CPU20は、メモリ16に対するデータ読み出し動作及びデータ書き込み動作を実行する。図2において、CPU20はエミュレータ11により実現された検証対象の回路であり、物理的に固定のハードウェアとして製造された回路ではなく、エミュレータ11のハードウェアにマッピングされ論理合成された回路である。エミュレータ11は、FPGAFieldProgrammableGateArrayベースのエミュレータであってもよいし、或いはプロセッサベースのエミュレータであってもよい。ここでプロセッサベースのエミュレータは、複数の演算器をネットワーク回路で接続したダイナミックリコンフィギャラブル回路であってよい。そのようなダイナミックリコンフィギャラブル回路では、ネットワーク回路による演算器間の接続と演算命令とを、コンフィギュレーションデータに基づいて再構成可能に設定することができる。また図2において、メモリ16は、エミュレータ11のメモリであり、物理的に固定のハードウェアとして製造された半導体集積回路による記憶装置である。図2に示すCPU20の構成例は一例であり、この構成に限定されるものではない。この構成例では、2つのコア回路21及び22が設けられており、これらコア回路21及び22が1つのキャッシュメモリ23を共有している。コア回路21及び22は、フェッチした命令をデコードし、デコード結果に応じて各種の算術論理演算を実行するプロセッサ部分である。キャッシュメモリ23は高速なデータ読み書きが可能なメモリであり、主記憶であるメモリ16に記憶される情報の一部をキャッシュメモリ23にコピーしておくことで、この情報に対する高速なアクセスを可能にする。キャシュは複数のキャッシュラインを含み、主記憶からキャシュへの情報のコピーはキャシュライン単位で実行される。主記憶のメモリ空間はキャッシュライン単位で分割され、分割されたメモリ領域を順番にキャッシュラインに割当てておく。キャッシュの容量は主記憶の容量よりも小さいので、主記憶のメモリ領域を繰り返して同一のキャッシュラインに割当てることになる。コア回路21又は22により、メモリ空間上のあるアドレスに最初のアクセスが実行されると、そのアドレスを含むキャッシュラインのデータをメモリ16からキャッシュメモリ23内の対応するキャッシュラインにコピーする。このようなコピー動作により既にアクセス対象のデータがキャッシュメモリ23中に存在する場合には、アクセス動作は、キャッシュメモリ23中の対応キャッシュデータ1キャッシュライン分の所定ビット数のデータに対して実行される。アクセス対象のデータがキャッシュメモリ23中に存在しない場合にはキャッシュミスとなる。キャッシュミスの場合には、必要に応じて置き換え対象のキャッシュデータをメモリ16に書き込んだ後に、キャッシュデータ1キャッシュライン分の所定ビット数のデータをメモリ16からキャッシュメモリ23にコピーする。メモリコントローラ24は、1キャッシュライン分のデータをメモリ16に書き込む場合には、そのデータに対するECC演算等により冗長ビットを生成し、データと共に冗長ビットをメモリ16に格納する。メモリコントローラ24は、1キャッシュライン分のデータをメモリ16から読み出す場合には、対応する冗長ビットもメモリ16から読み出し、データビット情報ビットと冗長ビットに対するECC演算等を実行することにより、エラー検出や訂正を行う。以下においては、一例として、冗長ビットがECCビットであるものとして説明をするが、エラー検出や訂正の為の冗長ビットはECCビットに限定されるものではない。冗長ビットは、例えばパリティー検査用のビットやCRC巡回冗長符号検査用のビット等であってもよい。図3は、メモリ16中のECCビットの設定について説明する図である。図3aは、従来のメモリ中のECCビットの設定を示す図である。図3bは、本実施例のメモリ16中のECCビットの設定を示す図である。図3a及び図3bにおいて、各行はアドレスADRSとそれに対応するデータDATAが示される。データDATAの幅は14バイトであり、1つのキャッシュラインのデータ幅に相当する。アドレスADRSは、順番に並ぶ1キャッシュライン分の所定ビット幅のデータ毎即ち各行毎に1つずつアドレスが増加する設定となっている。14バイトのデータのうち、先頭の1バイトがECCビットであり、残りの13バイトがデータビット情報ビットである。なお図3a及び図3bにおいて、各桁の数値は16進数0~fであり、各桁が4ビットに相当する。またメモリにおいては、初期デフォールト状態では全てのデータ全てのビットがゼロになっている。図3aに示されるように、従来のECCビットの設定では、ECCビット31が全てのデータ全ての1キャッシュライン分の所定ビット幅のデータに対して、適切なビット値に設定されている。即ち、13バイトのデータビットに対してECC演算を施して求められたECCビットの値が、ECCビット31に設定されている。アドレス00000000や00000fff等のデータのように、初期デフォールト値0ではない書き込まれたデータに対しては、ECCビット31のビット値の設定は、前述のように、メモリコントローラ24が実行するECC演算により計算される。この計算されたECCビットが、書き込み対象のデータビットとともに、メモリ16に書き込まれている。またアドレス00000002や00010000等のデータのように、初期デフォールト値0のままであるデータに対しては、全てゼロのデータビットに対応するECCビットffが、初期設定処理によりメモリ16に書き込まれている。図3bに示されるように、本実施例によるECCビットの設定では、ECCビット32は、ゼロでない全てのデータ1キャッシュライン分の所定ビット幅のデータのうちゼロでない全てのデータに対して、適切なビット値に設定されている。即ち、アドレス00000000や00000fff等のデータのように、初期デフォールト値0ではない書き込まれたデータに対しては、ECCビット32のビット値の設定は、メモリコントローラ24が実行するECC演算により計算される。この計算されたECCビットが、書き込み対象のデータビットとともに、メモリ16に書き込まれている。それに対し、アドレス00000002や00010000等のデータのように、初期デフォールト値0のままであるデータに対しては、ECCビット32のビット値も初期デフォールト値00のままである。本実施例では、図3bに示すように、ECCビット32のビット値を初期デフォールト値00のままにしておく。つまり、図3aに示す従来技術の場合のように、ECCビットに対する初期設定動作を実行しない。これにより、エミュレータ11のエミュレーション開始時に、種々の初期設定動作にかかる時間を短縮することができる。図4は、初期デフォールト値のゼロであるデータを読み出す際のECCエラーを回避する構成の一例を示す図である。図4において、図1と同一又は対応する構成要素は同一又は対応する番号で参照し、その説明は適宜省略する。図4に示されるように、メモリコントローラ24とメモリ16との間には、メモリ16からのデータ読み出し経路にECC補間回路41が設けられている。このECC補間回路41は、検証対象の回路即ちCPU20に含まれる回路ではないが、物理的に固定のハードウェアとして製造された回路ではなく、エミュレータ11のハードウェアにマッピングされ論理合成された回路であってよい。即ち、図1に示すシステムにおいて、エミュレータデザイン12に付加回路としてECC補間回路41のデザインを含めておき、このECC補間回路41をCPU20と共にエミュレータ11にマッピングして、論理合成してよい。或いは、エミュレータ11が、物理的に固定のハードウェアとして、ECC補間回路41に相当する組み込み機能を有していてもよい。ECC補間回路41は、CPU20のメモリコントローラ24がメモリ16から読み出したデータのデータビット情報ビット及び冗長ビットの全ビットがゼロの場合に、冗長ビットを所定のビットパターンで置き換える。この置き換え処理により、ECC補間回路41は、データビット情報ビットと所定のビットパターンとを、読み出したデータとしてCPU20のメモリコントローラ24に供給する。またECC補間回路41は、メモリコントローラ24がメモリ16から読み出したデータのデータビット及び冗長ビットのうち少なくとも1ビットがゼロでない場合に、当該データビットと冗長ビットとを、読み出したデータとしてメモリコントローラ24に供給する。これらのECC補間回路41による処理は、エミュレーション動作の一部として、エミュレータ11によるCPU20のエミュレーション動作において読み出し動作が発生したときに実行される。図5は、ECC補間回路41の構成の一例を示す図である。図5に示すECC補間回路41は、ゼロ検出器51、ECC発生回路52、一方の入力が正論理で他方の入力が負論理のAND回路53、両方の入力が正論理のAND回路54、及びOR回路55を含む。ゼロ検出器51は、メモリ16から読み出されたデータのデータビット図5に示す読み出しデータとECCビット図5に示すECCとの両方共に全ビットが0であるときに、出力を1にする。上記データビットとECCビットとのうち少なくとも1つのビットが1であるときに、ゼロ検出器51の出力は0となる。ゼロ検出器51の出力は、そのままの正論理の値がAND回路54の一方の入力に印加されると共に、その負論理の値がAND回路53の一方の入力に印加される。AND回路54の他方の入力は、ECC発生回路52からの出力を受け取り、AND回路53の他方の入力は、メモリ16から読み出されたECCビットを受け取る。AND回路54の出力とAND回路53の出力とは、OR回路55に入力される。このOR回路55の出力が、ECCビットとしてメモリコントローラ24に供給される。またメモリ16から読み出された読み出しデータは、そのままメモリコントローラ24に読み出しデータとして供給される。なおECCのビット数をnとすると、AND回路53はn個のANDゲートを含み、その出力はnビットである。同様に、AND回路54もn個のANDゲートを含み、その出力はnビットである。OR回路55はn個のORゲートを含み、その出力はnビットである。データビットとECCビットとの全ビットが0であれば、ECC発生回路52の出力が、ECCビットとしてメモリコントローラ24に供給される。またデータビットとECCビットとのうち少なくとも1つのビットが1であれば、メモリ16から読み出されたECCビットが、ECCビットとしてメモリコントローラ24に供給される。ここでECC発生回路52の出力は、データビット情報ビットが全てゼロであるデータに対する正しい冗長ビットのビットパターンである。即ち図3bの例の場合、ECC発生回路52の出力はffとなる。このように、データビットとECCビットとの全ビットが0である場合、即ち初期デフォールト値のままのデータをメモリ16から読み出した場合には、エラーが検出されないような正しい冗長ビットにより読み出した冗長ビットを置き換える。このようにして置き換えられた正しい冗長ビットと読み出したデータビットとを、メモリコントローラ24に読み出しデータとして供給する。従って、図3bに示すようにECCビット32のビット値を初期デフォールト値00のままにしておいても、データを読み出した時にメモリコントローラ24によりECCエラーが検出されることがない。図6は、エミュレーション動作に伴うメモリ内のデータ内容の変化を模式的に示す図である。図6aは、従来のエミュレーション動作に伴うメモリ内のデータの変化を示す図である。図6bは、本実施例のエミュレーション動作に伴うメモリ内のデータの変化を示す図である。時間T1は、エミュレーション開始時におけるメモリ空間の状態を示す。図6aに示す従来のエミュレーション動作では、時間T1において、メモリ内の全てのメモリ領域は、全ビットにゼロが格納された初期デフォールト値領域61となっている。時間T2において、テストプログラム62が書き込まれる。このとき、テストプログラム62が書き込まれていないメモリ領域は、初期デフォールト値領域61のままである。時間T3において、初期設定動作により初期デフォールト値領域61にECCビットを書き込むことにより、テストプログラム62以外のメモリ領域は、ECCビットffが格納された初期設定完了領域63となる。時間T4で、テストプログラムがCPU20図2参照により実行され、このテストプログラム実行の結果としてメモリ領域内に種々の実行結果データ64が書き込まれる。時間T5で、メモリのデータ内容を全て記録する動作が実行される。メモリのデータ内容を全て記録した先のメモリ状態が、図6aの時間T5に示されている。前述のように、エミュレータの動作においては、所定の復元ポイントから動作を再開するために、メモリのデータ内容を全て記録しておき、必要に応じて記録しておいたデータ内容をメモリに復元する処理が行われる。例えば図1のシステムの場合、メモリ16の内容を全て記憶装置14にコピーすることにより、メモリ16のデータ内容を記録する。図6aの時間T5に示すのは、メモリ16のデータ内容を記録した記憶装置14内のメモリ領域の格納データである。メモリ16の全てのデータテストプログラム62、初期設定完了領域63、実行結果データ64が記憶装置14に格納されている。これは、メモリ16の全てのアドレスにゼロでない何らかの値が書き込まれているために、全てのアドレスのデータが記録対象として、記憶装置14にコピーされるからである。このような記録動作は、例えば所定の時間間隔クロック間隔で実行されてよい。時間T6で、記録しておいたデータ内容をメモリに復元する動作が実行される。データが復元されたメモリ16のメモリ状態が、図6aの時間T6に示されている。時間T5でデータ内容の記録動作が実行された後に、テストプログラム62が引き続き実行され、メモリ16のデータ内容は変更される。その後例えばエラーが発生すると、前回データ記録を行った時間に遡ってその時間からプログラム実行を再開するために、上記のデータ復元動作が実行される。この復元動作により、時間T6に示されるメモリ16のメモリ状態は、時間T4におけるメモリ状態に等しい状態に戻されることになる。この復元動作においても、全てのデータテストプログラム62、初期設定完了領域63、実行結果データ64が記憶装置14からメモリ16に転送されることになる。図6bに示す本実施例のエミュレーション動作では、時間T1において、メモリ内の全てのメモリ領域は、全ビットにゼロが格納された初期デフォールト値領域71となっている。時間T2において、テストプログラム72が書き込まれる。このとき、テストプログラム72が書き込まれていないメモリ領域は、初期デフォールト値領域71のままである。本実施例のエミュレーション動作では、時間T3の初期設定動作は実行されない。時間T4で、テストプログラムがCPU20図2参照により実行され、このテストプログラム実行の結果としてメモリ領域内に種々の実行結果データ74が書き込まれる。時間T5で、メモリのデータ内容を記録する動作が実行される。メモリのデータ内容を記録した先のメモリ状態が、図6bの時間T5に示されている。図1のシステムの場合、メモリ16の内容を記憶装置14にコピーすることにより、メモリ16のデータ内容を記録する。図6bの時間T5に示すのは、メモリ16のデータ内容を記録した記憶装置14内のメモリ領域の格納データである。メモリ16に格納されるテストプログラム72、初期設定完了領域73、及び実行結果データ74のうち、テストプログラム72及び実行結果データ74のみがメモリ16から記憶装置14にコピーされている。即ち、初期デフォールト値領域71のデータは全ビットがゼロであるので、そのように全ビットがゼロである格納データのアドレスを除いて、残りのアドレスのデータをメモリ16から記憶装置14にコピーする。このような選択的なコピー動作は、エミュレータ11に設けられているデータ記録機能により実行される。時間T6で、記録しておいたデータ内容をメモリに復元する動作が実行される。データが復元されたメモリ16のメモリ状態が図6bの時間T6に示されている。エラー発生後にこの復元動作を実行する際には、エミュレーション動作の再開に伴い、メモリ16の内容が初期デフォールト状態に戻される。従って、復元動作においてテストプログラム72及び実行結果データ74のみを記憶装置14からメモリ16に転送することにより、時間T6に示されるメモリ16のメモリ状態は、時間T4におけるメモリ状態に等しい状態に戻されることになる。このように、本実施例のエミュレーション動作においては、初期デフォールト状態のデータを格納するアドレスについて、データ記録動作及びデータ復元動作での記録及び復元の対象としない、即ちデータのコピー及び転送を行わない。このように、メモリ16の内容を記憶装置14に記録し且つ記憶装置14からメモリ16の内容をメモリ16に復元する記録復元動作において、メモリ16に格納されるデータのうち全ビットがゼロであるデータを除いた全てのデータを記憶装置14に記録する。これにより、データ記録動作及びデータ復元動作でのコピー及び転送するデータ量を削減し、効率的なエミュレーション動作が可能となる。図7は、ホストマシンが実行する処理の流れを示すフローチャートである。シミュレーションが開始されると、ステップS1で、ホストマシン10がエミュレータデザイン12をエミュレータ11にダウンロードする。これにより、エミュレータ11上に検証対象の回路をマッピングする。即ち、エミュレータ11のハードウェアリソースを用いて、エミュレータ11上に検証対象の回路を構成する。例えばリコンフィギュラブル回路ベースのエミュレータの場合、エミュレータ11は、リコンフィギュラブル演算器アレイ、シーケンサ、及びコンフィギュレーションメモリを含む。リコンフィギュラブル演算器アレイは、複数の演算器とこれら演算器間を再構成可能に接続するネットワーク回路とを含む。複数の演算器の各々が実行する演算はコンフィギュレーションデータエミュレータデザイン12中の演算命令により指定され、複数の演算器間の接続形態はコンフィギュレーションデータ中の接続データにより指定される。これらのコンフィギュレーションデータは、エミュレータ11にダウンロードされ、エミュレータ11のコンフィギュレーションメモリに格納される。シーケンサは、コンフィギュレーションメモリに格納される複数のコンフィギュレーションデータの内で、リコンフィギュラブル演算器アレイの現在の実行形態を指定するコンフィギュレーションデータを選択する。シーケンサにより指定されたコンフィギュレーションデータがリコンフィギュラブル演算器アレイに供給され、そのコンフィギュレーションデータに従った演算実行形態でリコンフィギュラブル演算器アレイが動作する。このようにして、再構成可能な回路を実現する。また例えばFPGAベースのエミュレータの場合であれば、上記の複数の演算器とネットワーク回路との代りに、複数の論理ゲートとこれら演算器間を再構成可能に接続するネットワーク回路とにより、再構成可能な回路を実現する。ステップS2で、ホストマシン10は、メモリ16のデータ内容を復元するか否かを判定する。復元する場合ステップS2でYESの場合には、ホストマシン10が記憶装置14に格納されているデータをエミュレータ11のメモリ16に復元してから、処理はステップS5に進む。復元しない場合ステップS2でNOの場合には、ステップS3で、ホストマシン10がエミュレータ11に指示することにより、エミュレータ11にエミュレータデザインをリセット処理させるとともに、必要な初期設定動作を実行させる。これにより、CPU20がテストプログラム13を実行するためのプログラムカウンタのスタート番地の設定等が行われる。更にステップS4で、ホストマシン10が、テストプログラム13をエミュレータ11のメモリ16に書き込む。ステップS5で、ホストマシン10は、エミュレータ11に対してクロック数を1000に設定し、エミュレータ11によるCPU20の動作の実行を開始させる。ステップS6で、ホストマシン10は、エミュレータ11によるCPU20の動作実行によりエラー発生したか、実行が終了したか、或いは1000クロック分の動作を実行したか否かを監視する。ステップS6の監視において、1000クロック分の動作の実行を検出した場合、ステップS7で、ホストマシン10は、エミュレータ11に指示することにより、エミュレータ11の状態を記録させる。これにより、例えば、エミュレータ11の状態CPU20の回路の状態を示す種々のデータと共に、エミュレータ11のメモリ16のメモリ内容がホストマシン10の記憶装置14に記録される。その後、ステップS5に戻り、以降の処理を繰り返す。またステップS6の監視において、エラー発生が検出された場合、ステップS8において、ホストマシン10はエミュレータ11の状態を示す種々のデータを収集する。またステップS6の監視において、CPU20の動作の終了を検出した場合、処理は終了する。図8は、エミュレータが実行する処理の流れを示すフローチャートである。ステップS11において、メモリ16のデータ内容を復元するか否かに応じて処理が異なる。復元する場合には、ステップS12において、ホストマシン10からの指示に応じて、エミュレータ11が、ホストマシン10の記憶装置14からメモリ16のデータ内容をエミュレータ11のメモリ16に復元する。また更に、エミュレータ11上のCPU20の回路の状態を、記録ファイルに基づいて復元する。復元しない場合には、ステップS13において、エミュレータ11はクロック数を1000に設定し、エミュレータ11によるCPU20の動作の実行を開始する。ステップS14で、エミュレータ11は、CPU20の動作実行によりエラーが発生したこと、実行が終了したこと、或いは1000クロック分の動作を実行したことを検出すると、処理を中断又は終了する。ステップS15において1000クロック分の動作の実行を検出した場合、ステップS16で、ホストマシン10からの指示に基づき、エミュレータ11は回路の状態を記録する。例えば、エミュレータ11の状態CPU20の回路の状態を示す種々のデータと共に、エミュレータ11のメモリ16のメモリ内容をホストマシン10に送信し、ホストマシン10は送信されたデータを記憶装置14に記録する。またステップS15において、CPU20の動作の終了を検出した場合、処理は終了する。図9は、ホストマシンの構成の一例を示す図である。図9に示されるように、ホストマシンは、例えばパーソナルコンピュータやエンジニアリングワークステーション等のコンピュータにより実現される。図9の装置は、コンピュータ510と、コンピュータ510に接続されるディスプレイ装置520、通信装置523、及び入力装置よりなる。入力装置は、例えばキーボード521及びマウス522を含む。コンピュータ510は、CPU511、RAM512、ROM513、ハードディスク等の二次記憶装置514、可換媒体記憶装置515、及びインターフェース516を含む。キーボード521及びマウス522は、ユーザとのインターフェースを提供するものであり、コンピュータ510を操作するための各種コマンドや要求されたデータに対するユーザ応答等が入力される。ディスプレイ装置520は、コンピュータ510で処理された結果等を表示すると共に、コンピュータ510を操作する際にユーザとの対話を可能にするために様々なデータ表示を行う。通信装置523は、遠隔地との通信を行なうためのものであり、例えばモデムやネットワークインターフェース等よりなる。上記の実施例で説明したホストマシン10の処理を実行する為のプログラムは、コンピュータ510が実行可能なコンピュータプログラムとして提供される。このコンピュータプログラムは、可換媒体記憶装置515に装着可能な記憶媒体Mに記憶されており、記憶媒体Mから可換媒体記憶装置515を介して、RAM512或いは二次記憶装置514にロードされる。或いは、このコンピュータプログラムは、遠隔地にある記憶媒体図示せずに記憶されており、この記憶媒体から通信装置523及びインターフェース516を介して、RAM512或いは二次記憶装置514にロードされる。キーボード521及び/又はマウス522を介してユーザからプログラム実行指示があると、CPU511は、記憶媒体M、遠隔地記憶媒体、或いは二次記憶装置514からプログラムをRAM512にロードする。CPU511は、RAM512の空き記憶空間をワークエリアとして使用して、RAM512にロードされたプログラムを実行し、適宜ユーザと対話しながら処理を進める。なおROM513は、コンピュータ510の基本動作を制御するための制御プログラムが格納されている。上記コンピュータプログラムを実行することにより、コンピュータ510が、ホストマシン10として、上記実施例で説明された動作を実行する。以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。