(57)【要約】【課題】シミュレーション試験に要する時間を短縮する。【解決手段】半導体デバイスの試験をシミュレートする試験シミュレータであって、半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、既存の試験パターンを与えた場合に半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、新たな試験パターンが既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、試験パターンが同一である場合に、半導体デバイスに新たな試験パターンを与えることなく、デバイス出力保持手段から出力を読み出して、新たな試験パターンに対する出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段とを備える試験シミュレータを提供する。【選択図】図１
2006090905.tif 000002
【特許請求の範囲】
【請求項１】
半導体デバイスの試験をシミュレートする試験シミュレータであって、
前記半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、
前記半導体デバイスに前記既存の試験パターンを与えた場合に、前記半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、
前記半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、
前記新たな試験パターンが、前記既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、
前記新たな試験パターンが、前記既存の試験パターンと同一である場合に、前記半導体デバイスに対して前記新たな試験パターンを与えることなく、前記デバイス出力保持手段から出力を読み出して、前記新たな試験パターンに対する前記半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段と
を備える試験シミュレータ。
【請求項２】
前記新たな試験パターンが前記既存の試験パターンと同一ではなかった場合に、前記半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して前記新たな試験パターンを与えて前記デバイスシミュレート手段を動作させることによって、前記半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備える請求項１に記載の試験シミュレータ。
【請求項３】
前記デバイスシミュレート手段を更に備える請求項２に記載の試験シミュレータ。
【請求項４】
前記試験パターン保持手段は、前記試験パターン生成手段が生成した前記新たな試験パターンを格納する試験パターン格納手段を有し、
前記デバイス出力保持手段は、前記新たな試験パターンに応じて前記デバイスシミュレート手段が生成した前記半導体デバイスからの出力を格納するデバイス出力格納手段を有する
請求項２に記載の試験シミュレータ。
【請求項５】
前記試験パターン保持手段は、前記既存の試験パターンを与え始める時の、前記半導体デバイスの内部レジスタの値を更に保持しており、
前記シミュレーションスキップ手段は、前記新たな試験パターンを前記半導体デバイスに与え始める時の、前記半導体デバイスの内部レジスタの値が、前記試験パターン保持手段に保持された前記内部レジスタの値と同一であることを、更に条件として、前記シミュレーション試験の少なくとも一部をスキップする
請求項２に記載の試験シミュレータ。
【請求項６】
前記試験パターン保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え始める時の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有する請求項５に記載の試験シミュレータ。
【請求項７】
前記試験パターン保持手段は、前記既存の試験パターンを前記デバイスシミュレート手段に与え始める時の、前記半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、
前記デバイス出力保持手段は、複数の前記既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に前記半導体デバイスから得られるべき出力を保持しており、
前記シミュレーションスキップ手段は、前記新たな試験パターンを与え始める時の前記半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、前記試験パターン保持手段に保持された前記組み合わせのいずれかと同一である場合に、前記シミュレーション試験の少なくとも一部をスキップする
請求項６に記載の試験シミュレータ。
【請求項８】
前記既存の試験パターンを与え終えた後の、前記半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、
前記シミュレーションスキップ手段により、前記シミュレーション試験の少なくとも一部がスキップされた場合に、前記終了レジスタ値保持手段が保持している内部レジスタの値を、前記半導体デバイスの内部レジスタに設定させるレジスタ値設定手段と
を更に備え、
前記試験パターン生成手段は、前記シミュレーションスキップ手段によりスキップされた前記シミュレーション試験を再開させるべく、前記新たな試験パターンを生成する
請求項５に記載の試験シミュレータ。
【請求項９】
前記終了レジスタ値保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え終えた後の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有する請求項８に記載の試験シミュレータ。
【請求項１０】
半導体デバイスの試験をシミュレートする試験シミュレータとしてコンピュータを機能させる試験シミュレーションプログラムであって、
前記半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、
前記半導体デバイスに前記既存の試験パターンを与えた場合に、前記半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、
前記半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、
前記新たな試験パターンが、前記既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、
前記新たな試験パターンが、前記既存の試験パターンと同一である場合に、前記半導体デバイスに対して前記新たな試験パターンを与えることなく、前記デバイス出力保持手段から出力を読み出して、前記新たな試験パターンに対する前記半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段と
を備える試験シミュレータとして前記コンピュータを機能させる試験シミュレーションプログラム。
【請求項１１】
前記新たな試験パターンが前記既存の試験パターンと同一ではなかった場合に、前記半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して前記新たな試験パターンを与えて前記デバイスシミュレート手段を動作させることによって、前記半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備える試験シミュレータとして前記コンピュータを機能させる請求項１０に記載の試験シミュレーションプログラム。
【請求項１２】
前記デバイスシミュレート手段を更に備える試験シミュレータとして前記コンピュータを機能させる請求項１１に記載の試験シミュレータ。
【請求項１３】
前記試験パターン保持手段は、前記試験パターン生成手段が生成した前記新たな試験パターンを格納する試験パターン格納手段を有し、
前記デバイス出力保持手段は、前記新たな試験パターンに応じて前記デバイスシミュレート手段が生成した前記半導体デバイスからの出力を格納するデバイス出力格納手段を有する
請求項１１に記載の試験シミュレーションプログラム。
【請求項１４】
前記試験パターン保持手段は、前記既存の試験パターンを与え始める時の、前記半導体デバイスの内部レジスタの値を更に保持しており、
前記シミュレーションスキップ手段は、前記新たな試験パターンを前記半導体デバイスに与え始める時の、前記半導体デバイスの内部レジスタの値が、前記試験パターン保持手段に保持された前記内部レジスタの値と同一であることを、更に条件として、前記シミュレーション試験の少なくとも一部をスキップする
請求項１１に記載の試験シミュレーションプログラム。
【請求項１５】
前記試験パターン保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え始める時の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有する試験シミュレータとして前記コンピュータを機能させる請求項１４に記載の試験シミュレーションプログラム。
【請求項１６】
前記試験パターン保持手段は、前記既存の試験パターンを前記デバイスシミュレート手段に与え始める時の、前記半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、
前記デバイス出力保持手段は、複数の前記既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に前記半導体デバイスから得られるべき出力を保持しており、
前記シミュレーションスキップ手段は、前記新たな試験パターンを与え始める時の前記半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、前記試験パターン保持手段に保持された前記組み合わせのいずれかと同一である場合に、前記シミュレーション試験の少なくとも一部をスキップする
請求項１５に記載の試験シミュレーションプログラム。
【請求項１７】
前記試験シミュレータは、
前記既存の試験パターンを与え終えた後の、前記半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、
前記シミュレーションスキップ手段により、前記シミュレーション試験の少なくとも一部がスキップされた場合に、前記終了レジスタ値保持手段が保持している内部レジスタの値を、前記半導体デバイスの内部レジスタに設定させるレジスタ値設定手段と
を更に備え、
前記試験パターン生成手段は、前記シミュレーションスキップ手段によりスキップされた前記シミュレーション試験を再開させるべく、前記新たな試験パターンを生成する
請求項１４に記載の試験シミュレーションプログラム。
【請求項１８】
前記終了レジスタ値保持手段は、前記新たな試験パターンを前記デバイスシミュレート手段に対して与え終えた後の、前記半導体デバイスの内部レジスタの値を前記デバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有する試験シミュレータとして前記コンピュータを機能させる請求項１７に記載の試験シミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験シミュレータ及び試験シミュレーションプログラムに関する。特に本発明は、半導体デバイスの試験をシミュレートする試験シミュレータ及び試験シミュレーションプログラムに関する。
【背景技術】
【０００２】
現在、ＶＬＳＩ等の半導体デバイスの設計は、Ｖｅｒｉｌｏｇ−ＨＤＬやＶＨＤＬ等のハードウェア記述言語（ＨＤＬ）によって、コンピュータを用いて行われる。そして、このようなＨＤＬを用いた設計は、ビヘイビオラルレベルやゲートレベル等のデバイスシミュレータ（Ｖｅｒｉｌｏｇ−ＨＤＬ／ＶＨＤＬシミュレータ）を用いることによって、シリコンＩＣとして製造される前に、設計者の意図した機能が果たされるか否かについて検証が行われる。例えば、ＨＤＬに基づくシミュレータを用いて、半導体試験装置による半導体デバイスの試験をシミュレートして、当該半導体デバイスの設計を検証する技術が開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２００２−２１５７１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、デバイスシミュレータによってシミュレートされた半導体デバイスの動作速度は、実際の半導体デバイスの動作速度に比べて非常に遅い。従って、デバイスシミュレータを用いてシミュレートされた半導体デバイスの試験は、実際の半導体試験装置と半導体デバイスとを用いた試験に比べて非常に長い時間を要する。このため、半導体デバイスの設計における自動化は、十分に高い効率で行われているとは言えず、より効率的に試験をシミュレートする試験シミュレータが待望されていた。
【０００４】
そこで本発明は、上記の課題を解決することができる試験シミュレータ及び試験シミュレーションプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の第１の形態においては、半導体デバイスの試験をシミュレートする試験シミュレータであって、半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、新たな試験パターンが、既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、新たな試験パターンが、既存の試験パターンと同一である場合に、半導体デバイスに対して新たな試験パターンを与えることなく、デバイス出力保持手段から出力を読み出して、新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段とを備える。
【０００６】
当該試験シミュレータは、新たな試験パターンが既存の試験パターンと同一ではなかった場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して新たな試験パターンを与えてデバイスシミュレート手段を動作させることによって、半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備えてもよい。当該試験シミュレータは、デバイスシミュレート手段を更に備えてもよい。試験パターン保持手段は、試験パターン生成手段が生成した新たな試験パターンを格納する試験パターン格納手段を有し、デバイス出力保持手段は、新たな試験パターンに応じてデバイスシミュレート手段が生成した半導体デバイスからの出力を格納するデバイス出力格納手段を有してもよい。
【０００７】
試験パターン保持手段は、既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を更に保持しており、シミュレーションスキップ手段は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、試験パターン保持手段に保持された内部レジスタの値と同一であることを、更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。試験パターン保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え始める時の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有してもよい。
【０００８】
試験パターン保持手段は、既存の試験パターンをデバイスシミュレート手段に与え始める時の、半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、デバイス出力保持手段は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に半導体デバイスから得られるべき出力を保持しており、シミュレーションスキップ手段は、新たな試験パターンを与え始める時の半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、試験パターン保持手段に保持された組み合わせのいずれかと同一である場合に、シミュレーション試験の少なくとも一部をスキップしてもよい。
【０００９】
当該試験シミュレータは、既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、シミュレーションスキップ手段により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値保持手段が保持している内部レジスタの値を、半導体デバイスの内部レジスタに設定させるレジスタ値設定手段とを更に備え、試験パターン生成手段は、シミュレーションスキップ手段によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成してもよい。終了レジスタ値保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え終えた後の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有してもよい。
【００１０】
また、本発明の第２の形態においては、半導体デバイスの試験をシミュレートする試験シミュレータとしてコンピュータを機能させる試験シミュレーションプログラムであって、半導体デバイスに与えるべき既存の試験パターンを保持する試験パターン保持手段と、半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持するデバイス出力保持手段と、半導体デバイスに与えるべき新たな試験パターンを生成する試験パターン生成手段と、新たな試験パターンが、既存の試験パターンと同一であるか否かを判断する試験パターン判断手段と、新たな試験パターンが、既存の試験パターンと同一である場合に、半導体デバイスに対して新たな試験パターンを与えることなく、デバイス出力保持手段から出力を読み出して、新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップするシミュレーションスキップ手段とを備える試験シミュレータとしてコンピュータを機能させる。
【００１１】
試験シミュレータは、新たな試験パターンが既存の試験パターンと同一ではなかった場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段に対して新たな試験パターンを与えてデバイスシミュレート手段を動作させることによって、半導体デバイスからの出力を生成させるデバイス出力生成手段を更に備えてもよい。試験シミュレータは、デバイスシミュレート手段を更に備えてもよい。試験パターン保持手段は、試験パターン生成手段が生成した新たな試験パターンを格納する試験パターン格納手段を有し、デバイス出力保持手段は、新たな試験パターンに応じてデバイスシミュレート手段が生成した半導体デバイスからの出力を格納するデバイス出力格納手段を有してもよい。
【００１２】
試験パターン保持手段は、既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を更に保持しており、シミュレーションスキップ手段は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、試験パターン保持手段に保持された内部レジスタの値と同一であることを、更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。試験パターン保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え始める時の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する開始レジスタ値格納手段を有してもよい。
【００１３】
試験パターン保持手段は、既存の試験パターンをデバイスシミュレート手段に与え始める時の、半導体デバイスの内部レジスタの値と当該既存の試験パターンとの組み合わせを複数保持しており、デバイス出力保持手段は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に半導体デバイスから得られるべき出力を保持しており、シミュレーションスキップ手段は、新たな試験パターンを与え始める時の半導体デバイスの内部レジスタの値と当該新たな試験パターンとの組み合わせが、試験パターン保持手段に保持された組み合わせのいずれかと同一である場合に、シミュレーション試験の少なくとも一部をスキップしてもよい。
【００１４】
試験シミュレータは、既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を保持する終了レジスタ値保持手段と、シミュレーションスキップ手段により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値保持手段が保持している内部レジスタの値を、半導体デバイスの内部レジスタに設定させるレジスタ値設定手段とを更に備え、試験パターン生成手段は、シミュレーションスキップ手段によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成してもよい。終了レジスタ値保持手段は、新たな試験パターンをデバイスシミュレート手段に対して与え終えた後の、半導体デバイスの内部レジスタの値をデバイスシミュレート手段から受け取って格納する終了レジスタ値格納手段を有してもよい。
【００１５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１６】
本発明によれば、実際の半導体デバイスに比べて動作速度の遅いデバイスシミュレータを用いて半導体デバイスの試験をシミュレートする場合において、効率的に試験をシミュレートして、シミュレーション試験に要する時間を短縮することができる
【発明を実施するための最良の形態】
【００１７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１８】
図１は、本発明の実施形態に係る試験シミュレーションシステム１０の機能構成の一例を示すブロック図である。試験シミュレーションシステム１０は、試験シミュレータ制御手段２０、試験シミュレータ３０、デバイスシミュレート手段４０を備える。試験シミュレーションシステム１０は、半導体試験装置を用いて半導体デバイスを試験することによって、当該半導体デバイスの良否を判定する代わりに、半導体試験装置をソフトウェアによってシミュレートする試験シミュレータ３０と、半導体デバイスをソフトウェアによってシミュレートするデバイスシミュレート手段４０とを用いて、当該半導体デバイスの試験をシミュレートすることによって、当該半導体デバイスの良否を判定する。なお、本例における試験シミュレーションシステム１０は、半導体デバイスに試験パターンを与えて、当該試験パターンに応じて当該半導体デバイスから出力された出力信号を期待値と比較することにより、当該半導体デバイスの良否を判定する機能試験をシミュレートする。
【００１９】
本発明の実施形態に係る試験シミュレータ３０は、デバイスシミュレート手段４０に与える試験パターンが、例えば以前に用いた試験パターン等の、既存の試験パターンと同一である場合には、デバイスシミュレート手段４０における半導体デバイスの出力を生成する処理をスキップすることにより、シミュレーション試験に要する時間を短縮することを目的とする。
【００２０】
試験シミュレータ制御手段２０は、試験シミュレータ３０を制御して、デバイスシミュレート手段４０に対してシミュレーション試験を実行させる。ここで、試験シミュレータ制御手段２０は、デバイスシミュレート手段４０が動作をシミュレートする半導体デバイスに対応してユーザにより作成された、当該半導体デバイスに対して行うべき試験の手順や方法等が記述された試験プログラムに基づいて、試験シミュレータ３０を制御してよい。また、試験プログラムは、例えば、試験シミュレータ３０がデバイスシミュレート手段４０に対して模擬的な機能試験を行う場合における、デバイスシミュレート手段４０に対して供給する試験パターン、デバイスシミュレート手段４０が当該試験パターンに応じて生成する半導体デバイスの出力の期待値、及び当該出力を当該期待値と比較するタイミングを示すタイミング情報等を含んでいてよい。
【００２１】
試験シミュレータ３０は、半導体デバイスの動作をシミュレートするデバイスシミュレート手段４０に対して模擬的な試験を行うことにより、当該半導体デバイスの試験をシミュレートする。試験シミュレータ３０は、試験パターン生成手段３００、試験パターン保持手段３１０、試験パターン判断手段３２０、デバイス出力生成手段３３０、デバイス出力保持手段、シミュレーションスキップ手段、終了レジスタ値保持手段３６０、レジスタ値設定手段３７０、期待値保持手段３８０、及び論理比較手段３９０を有する。なお、本図に示した構成において、試験シミュレータ３０は、デバイスシミュレート手段４０を備えていないが、他の構成においては、試験シミュレータ３０が、デバイスシミュレート手段４０を備えていてもよい。
【００２２】
試験パターン生成手段３００は、試験シミュレータ制御手段２０の制御に基づいて、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスに与えるべき新たな試験パターンを生成し、生成した試験パターンを試験パターン保持手段３１０及び試験パターン判断手段３２０に出力する。試験パターン保持手段３１０は、試験パターン格納手段３１２、開始レジスタ値格納手段３１４、及び試験パターンデータベース３１６を含む。試験パターン格納手段３１２は、試験パターン生成手段３００が生成した新たな試験パターンを、試験パターンデータベース３１６に格納する。開始レジスタ値格納手段３１４は、新たな試験パターンをデバイスシミュレート手段４０に対して与え始める時の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段４０から受け取って、試験パターンデータベース３１６に格納する。試験パターンデータベース３１６は、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスに与えるべき既存の試験パターンを保持する。ここで、既存の試験パターンとは、例えば、以前にデバイスシミュレート手段４０によりシミュレートされる半導体デバイスに与えた試験パターンであってよく、また、典型的な試験パターン等の、予め定められた試験パターンであってもよい。更に、試験パターンデータベース３１６は、保持している既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値を保持する。
【００２３】
試験パターン判断手段３２０は、試験パターン生成手段３００から受け取った新たな試験パターンが、試験パターンデータベース３１６に保持されている既存の試験パターンと同一であるか否かを判断する。また、試験パターン判断手段３２０は、新たな試験パターンを与え始める時の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段４０から受け取ると共に、受け取った内部レジスタの値が、試験パターンデータベース３１６に保持されている、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かを更に判断してもよい。この場合において、試験パターン判断手段３２０は、新たな試験パターンと既存の試験パターンとの内容が同一であっても、当該新たな試験パターンを与え始める時と、当該既存の試験パターンを与え始める時とのそれぞれにおいて、内部レジスタの値が同一でない場合には、当該新たな試験パターンと当該既存の試験パターンとは同一ではないと判断してよい。そして、試験パターン判断手段３２０は、判断結果をデバイス出力生成手段３３０、シミュレーションスキップ手段３５０、及びレジスタ値設定手段３７０に出力すると共に、新たな試験パターンは既存の試験パターンと同一ではない判断した場合には、試験パターン生成手段３００から受け取った新たな試験パターンを、デバイス出力生成手段３３０に更に出力する。
【００２４】
デバイス出力生成手段３３０は、試験パターン生成手段３００が生成した新たな試験パターンが、試験パターンデータベース３１６に保持されている既存の試験パターンと同一ではないと試験パターン判断手段３２０によって判断された場合に、半導体デバイスの動作をシミュレートするデバイスシミュレート手段４０に対して、試験パターン判断手段３２０から受け取った当該新たな試験パターンを与えて、デバイスシミュレート手段４０を動作させることによって、半導体デバイスからの出力を生成させる。そして、デバイス出力生成手段３３０は、デバイスシミュレート手段４０に生成させた半導体デバイスの出力を受け取り、受け取った出力をデバイス出力保持手段３４０に出力する。また、デバイス出力生成手段３３０は、新たな試験パターンをデバイスシミュレート手段４０に与え始める時の、半導体デバイスの内部レジスタの値を、デバイスシミュレート手段４０から取得する。そして、デバイス出力生成手段３３０は、取得した内部レジスタの値を開始レジスタ値格納手段３１４に出力して、試験パターンデータベース３１６に格納させる。また、デバイス出力生成手段３３０は、取得した内部レジスタの値を試験パターン判断手段３２０に出力して、試験パターンデータベース３１６に保持されている、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かを判断させる。更に、デバイス出力生成手段３３０は、新たな試験パターンをデバイスシミュレート手段４０に与え終えて、半導体デバイスの出力を生成させた後の、当該半導体デバイスの内部レジスタの値を、デバイスシミュレート手段４０から取得する。そして、デバイス出力生成手段３３０は、取得した内部レジスタの値を終了レジスタ値保持手段３６０に出力する。
【００２５】
デバイス出力保持手段３４０は、デバイス出力生成手段３３０から受け取った、デバイスシミュレート手段４０が生成した半導体デバイスの出力を、シミュレーションスキップ手段３５０に出力する。また、デバイス出力保持手段３４０は、デバイス出力格納手段３４２及びデバイス出力データベース３４４を含む。デバイス出力格納手段３４２は、試験パターン生成手段３００が生成した新たな試験パターンに応じてデバイスシミュレート手段４０が生成した半導体デバイスからの出力を、デバイス出力生成手段３３０から受け取って、デバイス出力データベース３４４に格納する。デバイス出力データベース３４４は、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスに既存の試験パターンを与えた場合に、半導体デバイスから得られるべき出力を予め保持する。なお、デバイス出力データベース３４４は、デバイス出力格納手段３４２により格納された出力だけでなく、例えば典型的な試験パターンに応じた出力等の、予め定められた出力を保持していてもよい。
【００２６】
シミュレーションスキップ手段３５０は、試験パターン生成手段３００が生成した新たな試験パターンが、試験パターンデータベース３１６に保持されている既存の試験パターンと同一であるか否かの判断結果を、試験パターン判断手段３２０から受け取る。そして、シミュレーションスキップ手段３５０は、新たな試験パターンが、既存の試験パターンと同一ではない場合に、デバイスシミュレート手段４０によって生成された、当該新たな試験パターンに応じた半導体デバイスの出力を、デバイス出力保持手段３４０から受け取って、論理比較手段３９０に出力する。一方、シミュレーションスキップ手段３５０は、新たな試験パターンが、既存の試験パターンと同一である場合、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスに対して当該新たな試験パターンを与えることなく、当該既存の試験パターンを半導体デバイスに与えた場合に、半導体デバイスから得られるべき出力を、デバイス出力データベース３４４から読み出して、当該新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップする。そして、シミュレーションスキップ手段３５０は、シミュレーション試験の少なくとも一部をスキップする場合に、デバイス出力データベース３４４から読み出した、既存の試験パターンに対応する半導体デバイスの出力を、論理比較手段３９０に出力する。なお、シミュレーションスキップ手段３５０は、新たな試験パターンを半導体デバイスに与え始める時の、半導体デバイスの内部レジスタの値が、既存の試験パターンを与え始める時の内部レジスタの値と同一であるか否かの判断結果を試験パターン判断手段３２０から受け取った場合は、それぞれにおける内部レジスタの値が同一であることを更に条件として、シミュレーション試験の少なくとも一部をスキップしてもよい。
【００２７】
終了レジスタ値保持手段３６０は、終了レジスタ値格納手段３６２及び終了レジスタ値データベース３６４を含む。終了レジスタ値格納手段３６２は、新たな試験パターンをデバイスシミュレート手段４０に対して与え終えた後の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイス出力生成手段３３０から受け取って、終了レジスタ値データベース３６４に格納する。終了レジスタ値データベース３６４は、既存の試験パターンを与え終えた後の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を保持する。
【００２８】
レジスタ値設定手段３７０は、試験パターン生成手段３００が生成した新たな試験パターンと、試験パターンデータベース３１６が保持する既存の試験パターンとが同一であると試験パターン判断手段３２０によって判断され、シミュレーションスキップ手段３５０により、シミュレーション試験の少なくとも一部がスキップされた場合に、終了レジスタ値データベース３６４が保持している、当該既存の試験パターンを与え終えた後の、半導体デバイスの内部レジスタの値を読み出す。そして、レジスタ値設定手段３７０は、読み出した内部レジスタの値を、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタに設定させる。そして、これを受けて、試験パターン生成手段３００は、シミュレーションスキップ手段３５０によりスキップされたシミュレーション試験を再開させるべく、新たな試験パターンを生成する。
【００２９】
期待値保持手段３８０は、試験パターン生成手段３００により生成された新たな試験パターンに応じてデバイスシミュレート手段４０が生成する半導体デバイスの出力の期待値、及び当該出力と当該期待値とを比較するタイミングを示すタイミング情報を、試験シミュレータ制御手段２０から受け取って保持する。論理比較手段３９０は、試験パターン生成手段３００により生成された新たな試験パターンに応じてデバイスシミュレート手段４０が生成する半導体デバイスの出力、または当該新たな試験パターンと同一である既存の試験パターンに応じた、デバイス出力データベース３４４から読み出された出力を、シミュレーションスキップ手段３５０から受け取る。そして、論理比較手段３９０は、期待値保持手段３８０により保持されているタイミング情報に基づくタイミングにおいて、シミュレーションスキップ手段３５０から受け取った半導体デバイスの出力が、期待値保持手段３８０により保持されている期待値と一致するか否かにより、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの良否を判定し、判定結果を試験シミュレータ制御手段２０に出力する。
【００３０】
本発明の実施形態に係る試験シミュレータ３０によれば、デバイスシミュレート手段４０に与えるべき新たな試験パターンが、例えば以前に与えた試験パターンや典型的な試験パターン等の、既存の試験パターンと同一である場合には、当該新たな試験パターンに基づいてデバイスシミュレート手段４０に半導体デバイスの出力を生成させることなく、デバイス出力データベース３４４に予め保持されている、当該既存の試験パターンに対する出力を、当該新たな試験パターンに対する出力として期待値と比較することができる。これにより、例えば、半導体デバイスの出力と比較する期待値や、出力を期待値と比較するタイミング等を変更する場合のように、デバイスシミュレート手段４０に与える試験パターンは変更せずにシミュレーション試験を再実行する場合等において、デバイスシミュレート手段４０が半導体デバイスの出力を生成するという、多大な時間を要する処理の少なくとも一部をスキップして、シミュレーション試験に要する時間を短縮することができる。一方、新たな試験パターンとして、既存の試験パターンとは異なる試験パターンを用いる場合には、実際にデバイスシミュレート手段４０を動作させて半導体デバイスの出力を生成させることができるので、用いる試験パターンの内容に関わらず、シミュレーション試験に要する時間を可能な限り短縮することができる。
【００３１】
また、試験シミュレータ３０によれば、新たな試験パターンと既存の試験パターンとが同一であるという条件に加えて、それぞれの試験パターンをデバイスシミュレート手段４０に与え始める時の、半導体デバイスの内部レジスタの値が同一であるという条件が満たされる場合にのみ、シミュレーション試験の少なくとも一部をスキップすることができる。これにより、デバイスシミュレート手段４０が、与えられる試験パターンが同一であっても、内部レジスタの値が同一でない場合には異なる出力を生成する場合においても、シミュレーション試験をスキップすべきか否かを正確に判断することができる。
【００３２】
新たな試験パターンと既存の試験パターンとが同一であると判断してシミュレーション試験をスキップした場合、デバイスシミュレート手段４０は、当該新たな試験パターンに基づいて動作しないので、デバイスシミュレート手段４０がシミュレートする半導体デバイスの内部レジスタは変化しない。つまり、多くの場合において、シミュレーション試験をスキップした場合と、スキップしなかった場合とで、内部レジスタの値は異なる。この場合、シミュレーション試験をスキップした後で、次の新たな試験パターンを用いてシミュレーション試験を再開することはできない。このため、例えば、試験シーケンス全体といった、内部レジスタの初期化を行った直後から、次に内部レジスタの初期化を行うまでの期間等の、非常に長い期間以外ではシミュレーション試験をスキップすることができず、シミュレーション試験に要する時間を効率的に短縮できない。
【００３３】
しかし、本発明の実施形態に係る試験シミュレータ３０によれば、新たな試験パターンと既存の試験パターンとが同一であると判断してシミュレーション試験をスキップした場合において、以前に、当該既存の試験パターンをデバイスシミュレート手段４０に与え終えた後の、半導体デバイスの内部レジスタの値を、終了レジスタ値データベース３６４から読み出してデバイスシミュレート手段４０に設定することができる。従って、シミュレーション試験をスキップした場合と、スキップしなかった場合とで、内部レジスタの値を同一にすることができるので、スキップした後でシミュレーション試験を再開することができる。これにより、シミュレーション試験をスキップすることができる期間、即ち新たな試験パターンと既存の試験パターンとが同一であるか否かを判断する場合における試験パターンの長さを、より短くすることができるので、より多くの場合において、シミュレーション試験をスキップすることができる。つまり、試験シミュレータ３０によれば、試験シミュレーションに要する時間を、効率的に短縮することができる。
【００３４】
図２は、本発明の実施形態に係る試験パターンデータベース３１６の一例を示す。試験パターンデータベース３１６は、既存の試験パターンと、当該既存の試験パターンをデバイスシミュレート手段４０に与え始める時の、半導体デバイスの内部レジスタの値との組み合わせを複数保持している。例えば、試験パターンデータベース３１６は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンと、当該既存の試験パターンをデバイスシミュレート手段４０に与え始める時の、半導体デバイスの内部レジスタの値とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段３００によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよい。また、既存の試験パターンのそれぞれは、例えば、信号の立ち上がりや立ち下がりといったイベントの種類と、当該イベントの発生タイミングとの複数の組み合わせを含んでいてよい。なお、ここで、イベントの発生タイミングとは、例えば、半導体デバイスの試験における試験サイクルの開始時点からの経過時間であってよく、また、直前のイベントの発生時点からの経過時間であってもよい。また、内部レジスタの値は、複数の内部レジスタそれぞれの値を含んでいてよい。
【００３５】
図３は、本発明の実施形態に係るデバイス出力データベース３４４の一例を示す。デバイス出力データベース３４４は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与えた場合に、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスから得られるべき出力を保持している。例えば、デバイス出力データベース３４４は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンを与えた場合の、デバイスシミュレート手段４０からの出力とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段３００によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよく、図２に示した試験パターンデータベース３１６におけるインデックスと同一であってよい。
【００３６】
図４は、本発明の実施形態に係る終了レジスタ値データベース３６４の一例を示す。終了レジスタ値データベース３６４は、複数の既存の試験パターンのそれぞれに対応付けて、当該既存の試験パターンを与え終えた後の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を保持している。例えば、終了レジスタ値データベース３６４は、既存の試験パターン毎に異なるインデックスと、当該既存の試験パターンを与えた場合の内部レジスタの値とを対応付けて保持してよい。ここで、インデックスは、例えば、試験パターン生成手段３００によって、新たな試験パターンが生成される場合に、当該新たな試験パターンについて一意な値として生成されてよく、図２に示した試験パターンデータベース３１６におけるインデックスと同一であってよい。また、内部レジスタの値は、複数の内部レジスタそれぞれの値を含んでいてよい。
【００３７】
本発明の実施形態に係る試験シミュレータ３０によれば、既存の試験パターンと、当該既存の試験パターンを与え始める時の内部レジスタの値と、当該既存の試験パターンが与えられた場合の半導体デバイスの出力と、当該既存の試験パターンを与え終えた時の内部レジスタの値との組み合わせを、複数保持することができる。これにより、多様な試験パターンを用いる場合であっても、シミュレーション試験においてスキップすることができる部分を精度よく検出して、シミュレーション試験に要する時間を効率的に短縮することができる。
【００３８】
図５は、本発明の実施形態に係る試験シミュレータ３０における処理の流れの一例を示すフローチャートである。まず、試験パターン生成手段３００は、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスに与えるべき新たな試験パターンを生成する（Ｓ１０００）。続いて、デバイス出力生成手段３３０は、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、デバイスシミュレート手段４０から取得する（Ｓ１０１０）。続いて、試験パターン判断手段３２０は、試験パターン生成手段３００が生成した新たな試験パターンと、当該新たな試験パターンを与え始める時の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値との組み合わせが、試験パターンデータベース３１６に保持された、既存の試験パターンと、当該既存の試験パターンを与え始める時の、半導体デバイスの内部レジスタの値との複数の組み合わせの何れかと同一であるか否かを判断する（Ｓ１０２０）。
【００３９】
そして、新たな試験パターンにおける前述した組み合わせが、試験パターンデータベース３１６に保持されている、複数の既存の試験パターンのそれぞれにおける前述した組み合わせの何れかと同一であると試験パターン判断手段３２０により判断された場合に（Ｓ１０２０：Ｙｅｓ）、シミュレーションスキップ手段３５０は、デバイスシミュレート手段４０によりシミュレートされている半導体デバイスに対して当該新たな試験パターンを与えることなく、当該既存の試験パターンを半導体デバイスに与えた場合に半導体デバイスから得られるべき出力をデバイス出力データベース３４４から読み出して、当該新たな試験パターンに対する半導体デバイスからの出力とすることにより、シミュレーション試験の少なくとも一部をスキップする（Ｓ１０３０）。続いて、レジスタ値設定手段３７０は、新たな試験パターンと同一であると判断された既存の試験パターンをデバイスシミュレート手段４０に与え終えた後の、デバイスシミュレート手段４０がシミュレートする半導体デバイスの内部レジスタの値を、終了レジスタ値データベース３６４から読み出して、半導体デバイスの内部レジスタに設定させる（Ｓ１０４０）。
【００４０】
一方、新たな試験パターンにおける前述した組み合わせが、試験パターンデータベース３１６に保持されている、複数の既存の試験パターンのそれぞれにおける前述した組み合わせの何れとも同一ではないと試験パターン判断手段３２０により判断された場合に（Ｓ１０２０：Ｎｏ）、デバイス出力生成手段３３０は、新たな試験パターンをデバイスシミュレート手段４０に与えて、デバイスシミュレート手段４０を動作させることによって、半導体デバイスからの出力を生成させる（Ｓ１０５０）。続いて、デバイス出力格納手段３４２は、新たな試験パターンに応じてデバイスシミュレート手段４０が生成した半導体デバイスの出力を、デバイス出力データベース３４４に格納する（Ｓ１０６０）。続いて、試験パターン保持手段３１０は、新たな試験パターン、及び当該新たな試験パターンをデバイスシミュレート手段４０に対して与え始めた時の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、試験パターンデータベース３１６に格納する（Ｓ１０７０）。続いて、終了レジスタ値格納手段３６２は、新たな試験パターンをデバイスシミュレート手段４０に対して与え終えた後の、デバイスシミュレート手段４０によりシミュレートされる半導体デバイスの内部レジスタの値を、終了レジスタ値データベース３６４に格納する（Ｓ１０８０）。
【００４１】
続いて、論理比較手段３９０は、シミュレーションスキップ手段３５０によってシミュレーション試験がスキップされた場合には、デバイス出力データベース３４４から読み出された、既存の試験パターンに対応する出力を、また、シミュレーション試験がスキップされなかった場合には、デバイス出力生成手段３３０が、デバイスシミュレート手段４０に生成させた出力を、期待値と比較することにより、デバイスシミュレート手段４０がシミュレートする半導体デバイスの良否を判定する（Ｓ１０９０）。なお、試験シミュレータ３０は、必要に応じて、以上の処理を繰り返し行ってもよい。
【００４２】
本発明の実施形態に係る試験シミュレータ３０によれば、新たな試験パターンと当該新たな試験パターンを与え始める時の内部レジスタの値との組み合わせが、既存の試験パターンと当該既存の試験パターンを与え始める時の内部レジスタの値との組み合わせと同一でない場合には、当該新たな試験パターンと、当該新たな試験パターンを与え始める時の内部レジスタの値と、当該新たな試験パターンに応じて生成された半導体デバイスの出力と、当該半導体デバイスの出力が生成された後の、内部レジスタの値との組み合わせを、既存の試験パターンにおける組み合わせの１つとして格納することができる。これにより、以降に、同じ試験パターンが新たな試験パターンとして用いられる場合には、当該試験パターンについてのシミュレーション試験をスキップすることができる。つまり、試験パターンにおける前述した組み合わせが予め保持されていなくとも、シミュレーション試験を実行するに従って、より効率的にシミュレーション試験をスキップして、シミュレーション試験に要する時間を短縮することができる。
【００４３】
なお、試験パターン判断手段３２０により、新たな試験パターンを与え始める時の内部レジスタの値が同一であるか否かが判断される場合においては、必ずしも、デバイスシミュレート手段４０がシミュレートする半導体デバイスにおけるすべてのレジスタが同一であるか否かが判断されなくともよく、試験シミュレータ３０によってシミュレートされる試験において、同一の試験パターンを与えることによって同一の出力が得られる場合に一致しているべき種類の内部レジスタが、少なくとも一致していればよい。また、試験シミュレータ３０は、新たな試験パターンと当該新たな試験パターンを与え始める時の内部レジスタの値との組み合わせ、及び既存の試験パターンと当該既存の試験パターンを与え始める時の内部レジスタの値との組み合わせが同一であると判断し、シミュレーション試験をスキップした後で、更に新たな試験パターンと既存の試験パターンとが一致する場合には、試験パターンを与え始める時の内部レジスタの値が互いに同一であるか否かを判断せずに、シミュレーション試験をスキップしてよい。更に、試験シミュレータ３０は、試験パターンと当該試験パターンを与え始める時の内部レジスタの値との組み合わせが同一であると判断し、シミュレーション試験をスキップした場合において、続いて用いる新たな試験パターンと既存の試験パターンとが更に一致する場合には、半導体デバイスの出力が生成された後の内部レジスタの値を設定しなくともよい。
【００４４】
図６は、本発明の実施形態に係るコンピュータ１５００のハードウェア構成の一例を示すブロック図である。本発明の実施形態に係るコンピュータ１５００は、ホスト・コントローラ１５８２により相互に接続されるＣＰＵ１５０５、ＲＡＭ１５２０、グラフィック・コントローラ１５７５、及び表示装置１５８０を有するＣＰＵ周辺部と、入出力コントローラ１５８４によりホスト・コントローラ１５８２に接続される通信インターフェイス１５３０、ハードディスクドライブ１５４０、及びＣＤ−ＲＯＭドライブ１５６０を有する入出力部と、入出力コントローラ１５８４に接続されるＲＯＭ１５１０、フレキシブルディスク・ドライブ１５５０、及び入出力チップ１５７０を有するレガシー入出力部とを備える。
【００４５】
ホスト・コントローラ１５８２は、ＲＡＭ１５２０と、高い転送レートでＲＡＭ１５２０をアクセスするＣＰＵ１５０５及びグラフィック・コントローラ１５７５とを接続する。ＣＰＵ１５０５は、ＲＯＭ１５１０及びＲＡＭ１５２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ１５７５は、ＣＰＵ１５０５等がＲＡＭ１５２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置１５８０上に表示させる。これに代えて、グラフィック・コントローラ１５７５は、ＣＰＵ１５０５等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００４６】
入出力コントローラ１５８４は、ホスト・コントローラ１５８２と、比較的高速な入出力装置である通信インターフェイス１５３０、ハードディスクドライブ１５４０、ＣＤ−ＲＯＭドライブ１５６０を接続する。通信インターフェイス１５３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ１５４０は、コンピュータ１５００内のＣＰＵ１５０５が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１５６０は、ＣＤ−ＲＯＭ１５９５からプログラム又はデータを読み取り、ＲＡＭ１５２０を介してハードディスクドライブ１５４０に提供する。
【００４７】
また、入出力コントローラ１５８４には、ＲＯＭ１５１０と、フレキシブルディスク・ドライブ１５５０、及び入出力チップ１５７０の比較的低速な入出力装置とが接続される。ＲＯＭ１５１０は、コンピュータ１５００が起動時に実行するブート・プログラムや、コンピュータ１５００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ１５５０は、フレキシブルディスク１５９０からプログラム又はデータを読み取り、ＲＡＭ１５２０を介してハードディスクドライブ１５４０に提供する。入出力チップ１５７０は、フレキシブルディスク・ドライブ１５５０や、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
【００４８】
ＲＡＭ１５２０を介してハードディスクドライブ１５４０に提供される試験シミュレーションプログラムは、フレキシブルディスク１５９０、ＣＤ−ＲＯＭ１５９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。試験シミュレーションプログラムは、記録媒体から読み出され、ＲＡＭ１５２０を介してコンピュータ１５００内のハードディスクドライブ１５４０にインストールされ、ＣＰＵ１５０５において実行される。コンピュータ１５００にインストールされて実行される試験シミュレーションプログラムは、ＣＰＵ１５０５等に働きかけて、コンピュータ１５００を、図１から図５にかけて説明した試験シミュレータ３０として機能させる。
【００４９】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１５９０、ＣＤ−ＲＯＭ１５９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１５００に提供してもよい。
【００５０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態に係る試験シミュレーションシステム１０の機能構成の一例を示すブロック図である。
【図２】本発明の実施形態に係る試験パターンデータベース３１６の一例を示す図である。
【図３】本発明の実施形態に係るデバイス出力データベース３４４の一例を示す図である。
【図４】本発明の実施形態に係る終了レジスタ値データベース３６４の一例を示す図である。
【図５】本発明の実施形態に係る試験シミュレータ３０における処理の流れの一例を示すフローチャートである。
【図６】本発明の実施形態に係るコンピュータ１５００のハードウェア構成の一例を示すブロック図である。
【符号の説明】
【００５２】
１０  試験シミュレーションシステム、２０  試験シミュレータ制御手段、３０  試験シミュレータ、４０  デバイスシミュレート手段、３００  試験パターン生成手段、３１０  試験パターン保持手段、３１２  試験パターン格納手段、３１４  開始レジスタ値格納手段、３１６  試験パターンデータベース、３２０  試験パターン判断手段、３３０  デバイス出力生成手段、３４０  デバイス出力保持手段、３４２  デバイス出力格納手段、３４４  デバイス出力データベース、３５０  シミュレーションスキップ手段、３６０  終了レジスタ値保持手段、３６２  終了レジスタ値格納手段、３６４  終了レジスタ値データベース、３７０  レジスタ値設定手段、３８０  期待値保持手段、３９０  論理比較手段
【図１】
2006090905.tif 000003
【図２】
2006090905.tif 000004
【図３】
2006090905.tif 000005
【図４】
2006090905.tif 000006
【図５】
2006090905.tif 000007
【図６】
2006090905.tif 000008