(57)【要約】【課題】論理検証およびテストデバッグに要する総時間の短縮化を図ることを目的とする。【解決手段】テスタによるＤＵＴの試験を仮想的にシミュレーションするテスタシミュレーション装置１は、ＤＵＴの動作をシミュレータ上でモデル化した仮想デバイス１１と、仮想デバイス１１の論理検証を行うための検証シナリオの入力パターンを仮想デバイス１１に印加し、仮想デバイス１１から出力される応答パターンを入力して期待値パターンと比較して良否判定を行う仮想テスタ１２と、入力パターンおよび期待値パターンを仮想テスタ１２から取得し、入力パターンおよび応答パターンが正常なものであるときに、取得した入力パターンおよび期待値パターンをＤＵＴの実試験を行うためのテストパターンとして生成するテストパターン生成部１４と、を備えている。【選択図】  図１
2011248597.tif 000002
【特許請求の範囲】
【請求項１】
テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーション装置であって、
前記被試験デバイスの動作をシミュレータ上でモデル化した仮想デバイスと、
この仮想デバイスの論理検証を行うための検証シナリオの入力パターンを前記仮想デバイスに印加し、この仮想デバイスから出力される応答パターンを入力して期待値パターンと比較して良否判定を行う仮想テスタと、
前記入力パターンおよび前記期待値パターンを前記仮想テスタから取得し、前記入力パターンおよび前記応答パターンが正常なものであるときに、取得した入力パターンおよび期待値パターンを前記被試験デバイスの実試験を行うためのテストパターンとして生成するテストパターン生成部と、
を備えたことを特徴とするテスタシミュレーション装置。
【請求項２】
前記論理検証および前記テストパターンの生成と並行して、前記仮想テスタが実行する制御内容を設定した設定データに基づいて正常なテストプログラムを生成するテストプログラム生成部をさらに備えていること
を特徴とする請求項１記載のテスタシミュレーション装置。
【請求項３】
前記仮想デバイスと前記仮想テスタとの間に設けられ、両者の接続関係を規定したテスト回路モデルと、
前記入力パターンおよび前記応答パターンが前記テスト回路モデルを迂回するためのバイパス経路と、
を備えていることを特徴とする請求項１または２記載のテスタシミュレーション装置。
【請求項４】
テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーションプログラムであって、
コンピュータを、
前記被試験デバイスの動作をシミュレータ上でモデル化した仮想デバイス手段、
この仮想デバイス手段の論理検証を行うための検証シナリオの入力パターンを前記仮想デバイス手段に印加し、この仮想デバイス手段から出力される応答パターンを入力して期待値パターンと比較して良否判定を行う仮想テスタ手段、
前記入力パターンおよび前記期待値パターンを前記仮想テスタ手段から取得し、前記入力パターンおよび前記応答パターンが正常なものであるときに、取得した入力パターンおよび期待値パターンを前記被試験デバイスの実試験を行うためのテストパターンとして生成するテストパターン生成手段、
として機能させることを特徴とするテスタシミュレーションプログラム。
【請求項５】
前記コンピュータを、
前記論理検証および前記テストパターンの生成と並行して、前記仮想テスタ手段が実行する制御内容を設定した設定データに基づいてテストプログラムを生成するテストプログラム生成手段として機能させること
を特徴とする請求項４記載のテスタシミュレーションプログラム。
【請求項６】
テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーション方法であって、
前記被試験デバイスの動作をモデル化した仮想デバイスに対して入力する検証シナリオの入力パターンおよび前記仮想デバイスから出力される応答パターンの論理検証を行い、
この論理検証により正常な入力パターンおよび正常な応答パターンが得られたときに、前記正常な入力パターンおよび期待値パターンをテストパターンとして生成すること、
を特徴とするテスタシミュレーション方法。
【請求項７】
前記正常な入力パターンの生成および論理検証と並行して、前記テスタの動作をモデル化した仮想テスタの制御内容を設定した設定データに基づいて前記仮想テスタが実行するテストプログラムを生成すること
を特徴とする請求項６記載のテスタシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーション装置、テスタシミュレーションプログラムおよびテスタシミュレーション方法に関するものである。
【背景技術】
【０００２】
被試験デバイス（ＤＵＴ：Device Under Test）の良否判定を行うために半導体試験装置（テスタ）が用いられる。ＤＵＴの試験を行うために、テスタ上で動作するテストプログラムおよびＤＵＴの良否判定を行うためのテストパターンの事前検証をシミュレーションにより行う。この種のシミュレーションを行っている技術が、例えば特許文献１に開示されている。
【０００３】
図３は従来のテスタシミュレーション装置の一例を示している。図３において、テスタシミュレーション装置１００は、論理シミュレータ１０１と記憶装置１０２とデバッガ１０３と波形表示装置１０４とを備えて概略構成している。論理シミュレータ１０１はシミュレーションを行うソフトウェアであり、仮想テスタ１１１と仮想デバイス１１２とテスト回路モデル１１３とを有している。
【０００４】
仮想テスタ１１１、仮想デバイス１１２はそれぞれ実際のテスタ、ＤＵＴを仮想的にモデル化したものである。テスト回路モデル１１３は仮想テスタ１１１と仮想デバイス１１２との間の接続関係を規定しており、実際のＤＵＴとテスタとの間のピンの接続関係および遅延量を設定している。
【０００５】
記憶装置１０２はテストプログラム記憶部１２１とテストパターン記憶部１２２とを設けており、テストプログラム記憶部１２１にはテストプログラムが記憶され、テストパターン記憶部１２２にはテストパターンが記憶されている。デバッガ１０３は仮想テスタ１１１上で動作するテストプログラムの検証を行うソフトウェアである。波形表示装置１０４は仮想テスタ１１１の出力側に接続されており、仮想テスタ１１１から仮想デバイス１１２に印加される入力パターンの波形表示を行う。
【０００６】
論理シミュレータ１０１は主にテストデバッグ（テストプログラムおよびテストパターンのデバッグ）を行うために用いられる。このため、まず仮想テスタ１１１はテストプログラム記憶部１２１からテストプログラムを読み出して、テストプログラムの制御内容を実行する。
【０００７】
テストプログラムの制御内容に基づいてテストパターンの実行が開始される。テストパターンを実行するために、仮想テスタ１１１はテストパターン記憶部１２２からテストパターンを読み出す。テストパターンには仮想テスタ１１１に印加する入力パターンおよび期待値パターンが設定されている。
【０００８】
仮想テスタ１１１は読み出した入力パターンを仮想デバイス１１２に印加する。仮想デバイス１１２は入力パターンに基づいて動作を行って応答パターンを出力し、この応答パターンが仮想テスタ１１１に入力される。仮想テスタ１１１は応答パターンと期待値パターンとを比較して、良否判定（パスフェイル判定）を行う。
【０００９】
デバッガ１０３は仮想テスタ１１１のテストプログラムの制御内容を検証している。検証の結果、テストプログラムの制御内容に不具合を生じている場合には、テストプログラム記憶部１２１に記憶されているテストプログラムの内容を修正する。以上の検証および修正により、テストプログラムのデバッグが行われる。
【００１０】
テストプログラムのデバッグの他に、テストパターンのデバッグも行われる。仮想テスタ１１１は前記の判定を行うが、テストパターンに不具合を生じていなければ、期待値パターンと応答パターンとが一致して、判定結果は全てパスになる。換言すれば、判定結果にフェイルが含まれていれば、テストパターンに不具合を生じていることになる。これにより、テストパターンの不具合が検証される。
【００１１】
また、仮想テスタ１１１から印加される入力パターンは波形表示装置１０４で波形表示がされており、表示された波形が意図しない波形となっていれば、これによってもテストパターンの不具合が検証される。
【００１２】
テストパターンに不具合が生じている場合には、テストパターン記憶部１２２のテストパターンの修正を行う。そして、テストパターンが正常なものになるまで検証および修正を行う（例えば、判定結果が全てパスになるまで修正を行う）。以上により、テストデバッグ（テストプログラムおよびテストパターンのデバッグ）が行われて、実試験に使用可能なテストプログラムおよびテストパターンが生成される。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００３−２４０８２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
テスタシミュレーション装置を用いてテストデバッグを行うことで、実試験に使用可能な不具合のない正常なテストプログラムおよびテストパターンを生成することができる。ただし、このテストデバッグは論理検証が終了しており、仮想デバイス１１２が正確なものであることが前提となる。
【００１５】
仮想デバイス１１２はＤＵＴの設計情報であり、当該設計情報に誤りを生じている場合もある。実際のＤＵＴは当該設計情報に基づいて製造されるものであり、従って設計情報に誤りがあれば製造されるＤＵＴは不良品になる。このため、テストデバッグを行う前に、予め仮想デバイス１１２の検証を行う。これが論理検証である。そして、論理検証により不具合が検出されたときには、不具合がなくなるまで設計情報の修正を行って、正しい仮想デバイス１１２の設定を行う。
【００１６】
従って、論理検証とテストデバッグとは異なるフェイズで行うものであり、論理検証のフェイズが終了した後に、テストデバッグのフェイズを行う。従って、各フェイズでそれぞれ所定の時間を要するようになる。近年のＤＵＴは高機能化・複雑化の傾向にあり、処理する情報量も大きいことから、論理検証およびテストデバッグにはそれぞれ多くの時間を要する。従って、論理検証およびその次に行われるテストデバッグが完了するまでの総時間は非常に長いものとなる。
【００１７】
そこで、本発明は、論理検証およびテストデバッグに要する総時間の短縮化を図ることを目的とする。
【課題を解決するための手段】
【００１８】
以上の課題を解決するため、本発明の第１のテスタシミュレーション装置は、テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーション装置であって、前記被試験デバイスの動作をシミュレータ上でモデル化した仮想デバイスと、この仮想デバイスの論理検証を行うための検証シナリオの入力パターンを前記仮想デバイスに印加し、この仮想デバイスから出力される応答パターンを入力して期待値パターンと比較して良否判定を行う仮想テスタと、前記入力パターンおよび前記期待値パターンを前記仮想テスタから取得し、前記入力パターンおよび前記応答パターンが正常なものであるときに、取得した入力パターンおよび期待値パターンを前記被試験デバイスの実試験を行うためのテストパターンとして生成するテストパターン生成部と、を備えたことを特徴とする。
【００１９】
このテスタシミュレーション装置によれば、論理検証の結果が正常なときに検証シナリオの入力パターンおよび期待値パターンをテストパターンとして生成している。これにより、生成された入力パターンは修正不要になっており、テストデバッグが行われた状態となる。これにより、論理検証と同時にテストパターンのデバッグを行うことができ、総時間の短縮を図ることができる。
【００２０】
本発明の第２のテスタシミュレーション装置は、第１のテスタシミュレーション装置であって、前記論理検証および前記テストパターンの生成と並行して、前記仮想テスタが実行する制御内容を設定した設定データに基づいて正常なテストプログラムを生成するテストプログラム生成部をさらに備えていることを特徴とする。
【００２１】
このテスタシミュレーション装置によれば、テストパターンのデバッグおよび論理検証と並行してテストプログラムのデバッグを行っている。これにより、論理検証とテストデバッグとを全て並行して行うことができるため、総時間をさらに短縮することができる。
【００２２】
本発明の第３のテスタシミュレーション装置は、第１または第２のテスタシミュレーション装置であって、前記仮想デバイスと前記仮想テスタとの間に設けられ、両者の接続関係を規定したテスト回路モデルと、前記入力パターンおよび前記応答パターンが前記テスト回路モデルを迂回するためのバイパス経路と、を備えていることを特徴とする。
【００２３】
このテスタシミュレーション装置によれば、テスト回路モデルおよび迂回するバイパス経路を設けている。これにより、高速インターフェイス等のようにテストパターンの生成が必要なく、テスト回路モデルを経由させないデバイスの論理検証にも対応することができる。
【００２４】
本発明の第４のテスタシミュレーションプログラムは、テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーションプログラムであって、コンピュータを、前記被試験デバイスの動作をシミュレータ上でモデル化した仮想デバイス手段、この仮想デバイス手段の論理検証を行うための検証シナリオの入力パターンを前記仮想デバイス手段に印加し、この仮想デバイス手段から出力される応答パターンを入力して期待値パターンと比較して良否判定を行う仮想テスタ手段、前記入力パターンおよび前記期待値パターンを前記仮想テスタ手段から取得し、前記入力パターンおよび前記応答パターンが正常なものであるときに、取得した入力パターンおよび期待値パターンを前記被試験デバイスの実試験を行うためのテストパターンとして生成するテストパターン生成手段、として機能させることを特徴とする。
【００２５】
本発明の第５のテスタシミュレーションプログラムは、第４のテスタシミュレーションプログラムであって、前記コンピュータを、前記論理検証および前記テストパターンの生成と並行して、前記仮想テスタ手段が実行する制御内容を設定した設定データに基づいてテストプログラムを生成するテストプログラム生成手段として機能させることを特徴とする。
【００２６】
本発明の第６のテスタシミュレーション方法は、テスタによる被試験デバイスの試験を仮想的にシミュレーションするテスタシミュレーション方法であって、前記被試験デバイスの動作をモデル化した仮想デバイスに対して入力する検証シナリオの入力パターンおよび前記仮想デバイスから出力される応答パターンの論理検証を行い、この論理検証により正常な入力パターンおよび正常な応答パターンが得られたときに、前記正常な入力パターンおよび期待値パターンをテストパターンとして生成すること、を特徴とする。
【００２７】
本発明の第７のテスタシミュレーション方法は、第６のテスタシミュレーション方法であって、前記正常な入力パターンの生成および論理検証と並行して、前記テスタの動作をモデル化した仮想テスタの制御内容を設定した設定データに基づいて前記仮想テスタが実行するテストプログラムを生成することを特徴とする。
【発明の効果】
【００２８】
本発明は、論理検証が正常なときに、検証シナリオの入力パターンおよび期待値パターンをテストパターンとして生成していることで、論理検証と同時にテストパターンのデバッグを行うことができる。このため、論理検証とテストパターンのデバッグとに要する総時間を短縮できる。また、これと並行してテストプログラムのデバッグを行うことで、論理検証とテストデバッグとに要する時間をさらに短縮できる。
【図面の簡単な説明】
【００２９】
【図１】テスタシミュレーション装置の概略構成を示す機能ブロック図である。
【図２】図１の各機能を実行するためのハードウェアブロック図である。
【図３】従来のテスタシミュレーション装置を説明するためのブロック図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照して本発明の実施形態について説明する。図１に示すテスタシミュレーション装置１は、主に論理シミュレータ２と記憶装置３と波形表示装置４とを備えて概略構成している。
【００３１】
論理シミュレータ２は、被試験デバイス（ＤＵＴ：Device Under Test）の実試験の環境を仮想的にシミュレーションするために用いられ、コンピュータ上で動作するソフトウェアになる。論理シミュレータ２は仮想デバイス１１と仮想テスタ１２とテスト回路モデル１３とテストパターン生成部１４とテストプログラム生成部１５とデバッグツール１６と変換出力部１７とを備えて概略構成している。
【００３２】
仮想デバイス１１はＤＵＴをシミュレータ上で仮想的にモデル化したものであり、ＤＵＴの設計情報になる。実際に製造されるＤＵＴは当該設計情報に基づいて回路構成をしており、このため仮想デバイス１１はＤＵＴと同じ動作をする。また、仮想テスタ１２はＤＵＴの試験を行うためのテスタをシミュレータ上でモデル化したものになる。この仮想テスタ１２はパターン入力部２１とパターン比較部２２と期待値出力部２３と仮想テスタ制御部２４とを備えており、実際のテスタと同じ動作を行うように設定している。
【００３３】
パターン入力部２１は仮想デバイス１１に対して入力信号を印加する。仮想デバイス１１に対しては複数の連続した入力信号を入力パターンとして印加する。仮想デバイス１１は入力信号の印加により内部動作を行い、応答信号を出力する。応答信号も複数の連続した応答パターンとなっており、仮想デバイス１１から仮想テスタ１２に応答パターンが入力される。
【００３４】
パターン比較部２２は仮想デバイス１１から応答パターンを入力し、期待値出力部２３から期待値パターンを入力する。期待値出力部２３が出力する期待値パターンは応答パターンを比較するための基準となるパターンである。パターン比較部２２は応答パターンと期待値パターンとを比較して、良否判定（パスフェイル判定）を行う。仮想テスタ制御部２４は仮想テスタ１２の全体の動作制御を行っており、テストプログラムの制御内容に基づいて動作を行う。
【００３５】
テスト回路モデル１３は仮想テスタ１２と仮想デバイス１１との間の接続関係および遅延量を規定したデータである。実際のテスタとＤＵＴには複数ピンが設けられており、相互のピン同士が接続される。このときの接続関係および各ピンの遅延量をテスト回路モデル１３が規定している。
【００３６】
テストパターン生成部１４は実試験に用いられるテストパターンを生成する。仮想テスタ１２は仮想デバイス１１に入力パターンを印加するが、このとき同時にテストパターン生成部１４が印加する入力パターンを取得する。また、テストパターン生成部１４はパターン比較部２２に出力された期待値パターンの取得も行っている。
【００３７】
テストパターン生成部１４は取得した入力パターンおよび期待値パターンを暫定的なテストパターンとして生成して保持する。そして、仮想テスタ１２から印加する入力パターンおよび仮想テスタ１２に入力される応答パターンが全て正常であるときにのみ、暫定的に生成したテストパターンを正式なテストパターンとして生成する。一方、入力パターンと応答パターンとの何れか一方または両者に不具合を生じているときには、暫定的に生成したテストパターンを破棄する。
【００３８】
テストプログラム生成部１５はテスタを制御するテストプログラムを生成する。テストプログラムは仮想テスタ１２の制御内容を設定したプログラムであり、実試験においてはテスタ上で動作する。テストプログラム生成部１５は後述する設定データを読み出して前記の制御内容を実行するテストプログラムを生成する。生成されたテストプログラムは仮想テスタ１２に読み出されて、制御内容が実行される。
【００３９】
デバッグツール１６はテストプログラムの検証を行っている。テストプログラムは設定データに基づいて生成されており、設定データの内容に誤りを生じているときには、テストプログラムに不具合が発生する。この不具合をデバッグツール１６が検証している。テストプログラム生成部１５が生成するテストプログラムは暫定的なものであり、デバッグツール１６で検証した結果、正常であるときにのみ、正式なテストプログラムとして生成する。
【００４０】
変換出力部１７はテストパターン生成部１４およびテストプログラム生成部１５に接続されており、テストパターンおよびテストプログラムを取得する。変換出力部１７が取得するテストパターンおよびテストプログラムは不具合のない正常なものであり、実試験に使用することができる。変換出力部１７は、当該テストパターンおよびテストプログラムを記憶装置３に記憶させる。
【００４１】
論理シミュレータ２はＨＤＬ（Hardware Description Language）等の専用の言語で設定されており、論理シミュレータ２で動作するテストパターンおよびテストプログラムもＨＤＬの形式になっている。一方、実際のテスタに使用されるテストプログラムの言語はＨＤＬとは異なる場合もあり、この場合には、テストプログラムおよびテストパターンの言語に変換を行う。また、データ形式や命令形式等の変換を行うこともある。
【００４２】
仮想テスタ１２と仮想デバイス１１との間にはテスト回路モデル１３が介在しており、このテスト回路モデル１３を迂回するようにバイパス経路ＢＰ１、ＢＰ２が設けられている。バイパス経路ＢＰ１は入力パターンを直接的に仮想デバイス１１に印加する経路であり、ＢＰ２は応答パターンを直接的に仮想テスタ１２に入力する経路になる。
【００４３】
次に、記憶装置３について説明する。記憶装置３は種々のデータを記憶することが可能なハードディスク等である。記憶装置３は検証シナリオ記憶部３１とテストプログラム記憶部３２とテストパターン記憶部３３と設定データ記憶部３４とを備えて概略構成している。
【００４４】
検証シナリオ記憶部３１は検証シナリオを記憶する。検証シナリオは論理検証を行うためのデータであり、仮想デバイス１１に印加する入力パターンおよび期待値パターンを有している。このため、検証シナリオの入力パターンは論理検証用のパターンになる。パターン入力部２１が仮想デバイス１１に印加する入力パターンは、この検証シナリオの入力パターンになる。
【００４５】
テストプログラム記憶部３２は変換出力部１７から出力されるテストプログラムを記憶し、テストパターン記憶部３３はテストパターンを記憶する。設定データ記憶部３４はテストプログラムの制御内容を設定するデータを設定データとして記憶している。ここでの設定データはテスト回路設定データとタイミング設定データと端子レベル設定データとパターンリストデータとの４つのデータを有している。
【００４６】
テスト回路設定データは仮想デバイス１１と仮想テスタ１２との間の接続関係のデータになっており、つまりテスト回路モデル１３を設定するためのデータになっている。タイミング設定データはテスタの動作周期を規定したレート信号や判定タイミングを規定したストローブ信号、波形のエッジ変化のタイミングを規定したタイミングエッジ信号等の各種信号のタイミングを規定している。
【００４７】
端子レベル設定データは応答信号がハイレベルであるかローレベルであるかの閾値を設定している。仮想デバイス１１から出力される応答信号は電圧になっており、当該電圧がハイレベルであるかローレベルであるかを識別する閾値を端子レベル設定データが設定している。パターンリストデータはテストパターンが複数存在しているときに、各テストパターンのリスト名の情報になる。
【００４８】
基本的には、以上の４つのデータを設定データとすることで、テストプログラムを生成することができる。ただし、これらの他に必要なデータがあれば、当該データを設定データとして設定して、テストプログラムの生成に使用してもよい。
【００４９】
波形表示装置４は波形を表示するための表示装置であり、論理シミュレータ２に接続されている。波形表示装置４はパターン入力部２１から印加される入力信号および仮想デバイス１１から出力される応答信号の波形を表示するために設けている。仮想デバイス１１と仮想テスタ１２との間の経路を分岐させており、当該分岐点から入力信号および応答信号を波形表示装置４に入力させている。また、仮想デバイス１１の内部における入力信号および応答信号の波形表示も可能になっており、仮想デバイス１１の内部に波形表示装置４を接続している。
【００５０】
図２は図１の各ブロックのハードウェア構成を示しており、ＣＰＵ４１とメモリ４２と記憶装置３と波形表示装置４とがバス４３を介して接続されている。ＣＰＵ４１は論理シミュレータ２を含む各種ソフトウェアを実行するための手段であり、メモリ４２は当該ソフトウェアを実行するための記憶手段である。記憶装置３は図１で示したものと同じであり、他に前記のソフトウェアを記憶している。波形表示装置４も図１で示したものと同じであり、各装置はバス４３により接続されている。
【００５１】
以上が概略構成である。次に、動作について説明する。本発明では、論理検証と同時にテストパターンのデバッグを行い、さらに論理検証およびテストパターンのデバッグと並行してテストプログラムのデバッグを行う。
【００５２】
ここで、論理検証について説明する。論理検証は仮想デバイス１１が正常であるか否かを検証して、必要に応じて仮想デバイス１１の修正を行い、正常な仮想デバイス１１を設定することをいう。仮想デバイス１１はＤＵＴの設計情報であり、当該設計情報に誤りを生じている場合がある。この場合には、誤りを修正して正常な仮想デバイス１１が正常な動作をするように設定する。
【００５３】
論理検証には検証シナリオの入力パターンが用いられる。この入力パターンを用いて仮想デバイス１１が正常に動作するか否かを検証する。ただし、この入力パターン自体にも誤りを生じていることがある。このため、論理検証は検証シナリオの入力パターンおよび仮想デバイス１１の両者を正常に生成することになる。従って、検証シナリオの入力パターンおよび仮想デバイス１１の両者に最初から不具合が生じていなければ、修正を要することなく、論理検証が行われる。
【００５４】
テストデバッグについて説明する。テストデバッグはテストプログラムのデバッグおよびテストパターンのデバッグを含むものである。テストプログラムのデバッグは不具合の生じていない正常なテストプログラムを生成することであり、テストパターンのデバッグは不具合の生じていない正常なテストパターンを生成することである。従って、不具合を生じていれば修正を行い、不具合を生じていなければ修正を行わない。
【００５５】
図１の論理シミュレータ２は論理検証とテストデバッグとの両者を行う構成、つまり両者の環境を統合したシミュレーションになっている。論理シミュレータ２を用いてシミュレーションを開始するときには、最初にテストプログラム生成部１５がテストプログラムの生成動作を開始する。テストプログラムは仮想テスタ１２の制御内容を設定したプログラムであり、仮想テスタ制御部２４で動作することにより、制御内容が実行される。
【００５６】
テストプログラム生成部１５は設定データ記憶部３４から設定データを読み出して、テストプログラムを生成する。設定データはテスト回路設定データと端子レベル設定データとタイミング設定データとパターンリストデータとを有しており、各データを実行可能な命令（コード）に変換してテストプログラムが生成される。生成されたテストプログラムは仮想テスタ制御部２４に出力され、仮想テスタ制御部２４は入力したテストプログラムを実行する。
【００５７】
テストプログラムにはテストパターンの印加を行うための命令が含まれており、当該命令が実行されることで、テストパターンの印加が開始される。これにより、仮想テスタ制御部２４はパターン入力部２１から入力パターンの印加を開始させる。この制御に基づいて、パターン入力部２１は検証シナリオ記憶部３１から検証シナリオを読み出す。
【００５８】
検証シナリオには期待値パターンが設定されており、この期待値パターンを期待値出力部２３に設定する。そして、パターン入力部２１は検証シナリオの入力パターンを仮想デバイス１１に印加する。
【００５９】
仮想テスタ１２からの入力パターンはテスト回路モデル１３を経由して、仮想デバイス１１に印加される。仮想デバイス１１は入力パターンに基づいて動作を行い、応答パターンを仮想テスタ１２に向けて出力する。当該応答パターンはテスト回路モデル１３を経由して、パターン比較部２２に入力される。パターン比較部２２は期待値出力部２３から出力される期待値パターンと応答パターンとの比較を行って、パスフェイル判定を行う。
【００６０】
このとき、検証シナリオの入力パターンと仮想デバイス１１の設定とのうち何れか一方または両方に不具合を生じているときには、パターン比較部２２の判定結果にはフェイルが含まれる。これにより、前者または後者の何れか一方または両方に不具合を生じていることが認識される。このとき、検証シナリオの入力パターンに不具合を生じているのであれば、正常な入力パターンとなるまで修正を行う。これにより、正常な入力パターンが得られる。
【００６１】
また、仮想デバイス１１の設定、つまりＤＵＴの設計情報に誤りを生じているのであれば、当該設計情報の修正を行う。これにより、正常な仮想デバイス１１が得られる。検証シナリオの入力パターンおよび仮想デバイス１１の設定の両者が正常になったときには、パターン比較部２２の判定結果は全てパスになる。つまり、パターン比較部２２の判定結果が全てパスになるまで、前記の修正を行う。ただし、最初から全てパスになっているのであれば、修正は要しない。
【００６２】
以上により、正常な検証シナリオの入力パターンおよび正常な仮想デバイス１１が得られる。これが論理検証である。また、論理検証は波形表示装置４を用いて行ってもよい。波形表示装置４はパターン入力部２１から印加される入力パターンを画面上に波形表示しており、表示された波形が意図した波形であるか否かを確認できる。そして、意図しない波形（本来の入力パターンとは異なる波形）であれば、入力パターンに不具合を生じているため、検証シナリオの入力パターンを修正する。これにより、正常な入力パターンが得られる。
【００６３】
また、波形表示装置４は応答パターンの波形についても画面表示を行っている。このため、表示された波形が意図しない波形（本来の応答パターンとは異なる波形）であれば、応答パターンに不具合を生じていることになる。つまり、入力パターンが正常であるにもかかわらず、応答パターンの波形が意図しない波形となっているときには、仮想デバイス１１の動作に不具合を生じていることが認識される。
【００６４】
このため、仮想デバイス１１の設定、つまりＤＵＴの設計情報を修正する。これにより、正常な仮想デバイス１１が得られる。以上のようにして、検証シナリオの入力パターンおよび仮想デバイス１１を正常なものとして生成でき、これにより論理検証が行うこともできる。
【００６５】
テストパターン生成部１４はパターン入力部２１が入力パターンを印加するときには、同時に印加する入力パターンを取得している。つまり、不具合を生じているか否かにかかわらず入力パターンを取得しており、またパターン比較部２２から期待値パターンを取得している。そして、入力パターンと期待値パターンとを暫定的なテストパターンとして生成している。
【００６６】
そして、論理検証が終了したとき、つまり正常な入力パターンおよび正常な仮想デバイス１１が得られたときに、暫定的に生成したテストパターンを正式なテストパターンとして生成する。一方、入力パターンと仮想デバイス１１とのうち何れか一方または両方に不具合があれば、暫定的に生成したテストパターンを破棄する。
【００６７】
テストパターン生成部１４が正式に生成するテストパターンは不具合の生じていない正常なテストパターンになる。従って、このテストパターンは実試験時に印加する入力パターンとして使用することができる。つまり、論理検証に用いられる正常な検証シナリオの入力パターンをテストパターンとして生成することで、実質的にテストパターンのデバッグが行なわれることになる。
【００６８】
これにより、論理検証と同時にテストパターンのデバッグが行なわれることになる。従来は、論理検証を行って正常な仮想デバイス１１を生成した後に、別途のテストパターンを用いてデバッグを行っていたが、論理検証とテストパターンのデバッグとを実質的に同時に行うことで、両者を同じフェイズで行うことができる。これにより、総時間を短縮することができる。
【００６９】
以上の一連の動作を仮想テスタ制御部２４は行う。そして、仮想テスタ制御部２４の制御内容、つまりテストプログラムの制御内容に不具合が生じているか否かをデバッグツール１６が検証している。デバッグツール１６の検証により、テストプログラムの制御内容に不具合を生じている場合、例えば制御内容の順番や動作に誤りを生じている場合、命令の形式に誤りを生じている場合等には、テストプログラムの修正が行われる。
【００７０】
テストプログラムの修正は設定データ記憶部３４に記憶されている各種設定データの内容を修正することにより行う。テストプログラム生成部１５は生成したテストプログラムを暫定的に保持しており、不具合を生じていることが認識されたときに、テストプログラムを破棄する。そして、修正後の設定データを用いて新たにテストプログラムの生成を行い、仮想テスタ制御部２４が新たなテストプログラムの実行を最初から開始する。デバッグツール１６はテストプログラムの制御内容の検証を再び行う。
【００７１】
デバッグツール１６が依然としてテストプログラムに不具合を生じていることを認識したときには、再度設定データの修正を行い、不具合の生じていない正常なテストプログラムが生成されるまで、テストプログラムの修正を行う。そして、最終的に正しいテストプログラムが生成されるまで検証および修正を行う。これにより、テストプログラムのデバッグが行われる。
【００７２】
以上のテストプログラムのデバッグは論理検証およびテストパターンのデバッグと並行して行うようにしている。テストプログラムのデバッグを行う各部と論理検証およびテストパターンのデバッグを行う各部とは異なっており、それぞれが独立して動作することができる。このため、テストプログラムのデバッグと論理検証およびテストパターンのデバッグとを並列的に行っている。
【００７３】
以上により、テストパターンのデバッグと論理検証とを同時に行うことができ、これらと並行してテストプログラムのデバッグを行うことができる。生成されたテストパターンおよびテストプログラムは変換出力部１７に出力される。変換出力部１７はテストパターンおよびテストパターンを必要に応じて言語や形式等の変換を行い、テストプログラムをテストプログラム記憶部３２に記憶させ、テストパターンをテストパターン記憶部３３に記憶させる。各記憶部に記憶されたテストパターンおよびテストプログラムは不具合の生じていない正常なものであり、実試験にそのまま使用することができる。
【００７４】
従って、論理検証と同時にテストパターンのデバッグを行い、これらと並行してテストプログラムのデバッグを行うことで、論理検証とテストデバッグとを全て並行して行うことができるようになる。これにより、論理検証を終了させてからテストパターンのデバッグを行い、その後にテストデバッグを行う場合と比べて、全てを並列的に行うことから、大幅な時間短縮を図ることができる。また、論理検証のための検証シナリオをそのままテストパターンとして使用することで、別途のテストデバッグ用のテストパターンを生成する必要がなくなる。
【００７５】
また、仮想デバイス１１としてＳｅｒＤｅｓ（Serializer/Deserializer）高速インターフェイス等を適用する場合には、その機能についてはテスト対象外となるため、テストパターンを生成する必要がないが、論理検証を行う必要がある場合がある。この場合には、仮想テスタ１２と仮想デバイス１１とが直接的に接続されるため、テスト回路モデル１３は不用になる。このために、バイパス経路ＢＰ１、ＢＰ２を設けている。
【００７６】
この場合には、バイパス経路ＢＰ１、ＢＰ２を有効にして、仮想テスタ１２から入力パターンを直接的に仮想デバイス１１に印加して、仮想デバイス１１からの応答パターンを直接的に仮想テスタ１２に入力させる。これにより、論理検証は行うことができるようになる。このように、テストパターンを生成する必要がなく、テスト回路モデル１３を経由させないような論理検証にも論理シミュレータ２を用いることができる。
【符号の説明】
【００７７】
１    テスタシミュレーション装置
２    論理シミュレータ
３    記憶装置
４    波形表示装置
１１    仮想デバイス
１２    仮想テスタ
１３    テスト回路モデル
１４    テストパターン生成部
１５    テストプログラム生成部
１６    デバッグツール
１７    変換出力部
２１    パターン入力部
２２    パターン比較部
２３    期待値出力部
２４    仮想テスタ制御部
３１    検証シナリオ記憶部
３２    テストプログラム記憶部
３３    テストパターン記憶部
３４    設定データ記憶部
【図１】
2011248597.tif 000003
【図２】
2011248597.tif 000004
【図３】
2011248597.tif 000005