(57)【要約】【課題】ハードウェアの機能検証の効率を上げて検証期間を短縮すること。【解決手段】テスト装置１は、オリジナルテストベクタデータを記憶するベクタ記憶部４と、ベクタ記憶部４に記憶されているオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成するベクタ生成部１３と、テストベクタデータを出力する出力部１４と、入力信号の誤り発生率を記憶する誤り発生率記憶部４と、乱数データを発生する乱数発生部１１と、入力信号の誤り発生率と乱数データとを比較する比較部１２とを有する。そして、ベクタ出力部１４は、入力信号の誤り発生率より乱数データが小さい場合、生成テストベクタデータを出力し、入力信号の誤り発生率より乱数データが大きい場合、オリジナルテストベクタデータを出力する。【選択図】図１
2010203937.tif 000002
【特許請求の範囲】
【請求項１】
検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶するベクタ記憶部と、
前記ベクタ記憶部に記憶されている前記オリジナルテストベクタデータから、前記オリジナルテストベクタデータとは異なる生成テストベクタデータを生成するベクタ生成部と、
前記検査対象の回路へ入力するテストベクタデータを出力する出力部と、
前記オリジナルテストベクタデータに記述された前記入力信号の誤り発生率を記憶する誤り発生率記憶部と、
乱数データを発生する乱数発生部と、
前記誤り発生率記憶部に記憶された前記入力信号の誤り発生率と前記乱数データとを比較する比較部と
を有し、
前記ベクタ出力部は、
前記入力信号の誤り発生率より前記乱数データが小さい場合、前記生成テストベクタデータを出力し、
前記入力信号の誤り発生率より前記乱数データが大きい場合、前記オリジナルテストベクタデータを出力する
テスト装置。
【請求項２】
前記ベクタ記憶部は、前記検査対象の回路に入力される標準的な入力信号を記述した標準テストベクタデータを、前記オリジナルテストベクタデータとして記憶する
請求項１記載のテスト装置。
【請求項３】
前記検査対象の回路に入力される標準的な入力信号を記述した標準テストベクタデータから、前記検査対象の回路へ入力され得る前記標準的な入力信号とは異なる入力信号を記述した検証テストベクタデータを生成するための変換ルールが記述された変換プログラムを記憶するプログラム記憶部を有し、
前記ベクタ生成部は、前記変換プログラムを実行して、前記オリジナルテストベクタデータから前記生成テストベクタデータを生成する
請求項１または２記載のテスト装置。
【請求項４】
前記ベクタ記憶部は、前記検査対象の回路に入力される複数の入力信号を記述した複数の前記オリジナルテストベクタデータを記憶し、
前記誤り発生率記憶部は、前記複数のオリジナルテストベクタデータの内の１つのオリジナルテストベクタデータに記述された前記入力信号の誤り発生率として、他のオリジナルテストベクタデータで誤りが発生していない場合の低い誤り発生率と、前記他のオリジナルテストベクタデータで誤りが発生している場合の高い誤り発生率とを記憶し、
前記比較部は、
前記他のオリジナルテストベクタデータで誤りが発生していない場合、前記低い誤り発生率を前記乱数データと比較し、
前記他のオリジナルテストベクタデータで誤りが発生している場合、前記高い誤り発生率を前記乱数データと比較する
請求項３記載のテスト装置。
【請求項５】
前記ベクタ記憶部は、前記検査対象の回路に入力される複数の入力信号を記述した複数の前記オリジナルテストベクタデータを記憶し、
前記誤り発生率記憶部は、前記ベクタ記憶部に記憶される前記複数のオリジナルテストベクタデータのそれぞれに対応させて、各前記オリジナルテストベクタデータに記述された入力信号毎の複数の誤り発生率を記憶し、
前記比較部は、前記オリジナルテストベクタデータ毎に、それに記述された入力信号の前記誤り発生率と前記乱数データとを比較する
請求項１記載のテスト装置。
【請求項６】
前記ベクタ生成部が生成した前記生成テストベクタデータを再現するための再現データを蓄積して記憶する再現データ記憶部を有し、
前記ベクタ生成部は、前記再現データ記憶部に記憶された前記再現データを用いて、前記オリジナルテストベクタデータから、前記生成テストベクタデータを再現する
請求項１記載のテスト装置。
【請求項７】
前記再現データ記憶部は、前記再現データとして、前記生成テストベクタデータについての、前記オリジナルテストベクタデータからの変更箇所を示す差分データを記憶し、
前記ベクタ生成部は、前記オリジナルテストベクタデータに対して、前記再現データ記憶部に記憶された前記再現データを適用して、前記生成テストベクタデータを再現する
請求項６記載のテスト装置。
【請求項８】
前記検査対象の回路は回路記述プログラムで記述されており、
前記出力部から出力されたテストベクタデータを入力データに用いて、前記回路記述プログラムのシミュレーションを実行するシミュレーション部を有する
請求項１記載のテスト装置。
【請求項９】
検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶する記憶部から、前記オリジナルテストベクタデータを読み込むステップと、
乱数データを発生するステップと、
前記オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する記憶部から、読み込まれた前記オリジナルテストベクタデータに対応する前記入力信号の誤り発生率を読み込むステップと、
発生した前記乱数データと読み込んだ前記入力信号の誤り発生率とを比較する比較ステップと、
読み込んだ前記オリジナルテストベクタデータから、前記オリジナルテストベクタデータとは異なる生成テストベクタデータを生成する生成ステップと、
前記検査対象の回路に入力させるテストベクタデータを出力する出力ステップと
を有し、
前記比較ステップにおいて前記入力信号の誤り発生率より前記乱数データが小さい場合、
前記生成ステップにより前記生成テストベクタデータを生成し、
前記出力ステップにおいて、前記生成ステップで生成された前記生成テストベクタデータを出力し、
前記比較ステップにおいて前記入力信号の誤り発生率より前記乱数データが大きい場合、
前記出力ステップにおいて、前記オリジナルテストベクタデータを出力する
テスト方法。
【請求項１０】
記憶部および処理回路を有し、検査対象の回路をテストするテスト装置として機能するコンピュータに、
前記記憶部に記憶され、前記検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを前記記憶部から読み込む手順と、
乱数データを発生する手順と、
前記記憶部に記憶され、前記オリジナルテストベクタデータに記述された入力信号の誤り発生率を前記記憶部から読み込むステップと、
発生した前記乱数データと、読み込んだ前記入力信号の誤り発生率とを比較する比較手順と、
読み込んだ前記オリジナルテストベクタデータから、前記オリジナルテストベクタデータとは異なる生成テストベクタデータを生成する生成手順と、
前記検査対象の回路に入力させるテストベクタデータを出力する出力手順と
を実行させ、
前記比較手順において前記入力信号の誤り発生率より前記乱数データが小さい場合には、
前記生成手順により前記生成テストベクタデータを生成させ、
前記出力手順において、前記生成手順で生成された前記生成テストベクタデータを出力させ、
前記比較手順において前記入力信号の誤り発生率より前記乱数データが大きい場合には、
前記出力手順において、前記オリジナルテストベクタデータを出力させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査対象の回路に入力される入力信号を記述したテストベクタデータを用いて、検査対象の回路をテストするテスト装置、テスト方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、電子回路を用いたシステムの高機能化・複雑化が進んでいる。それに伴い、システムに搭載されるハードウェアの回路規模が大きくなり、複雑さも増している。システムの設計において、ハードウェア・ソフトウェアの検証は、システムが仕様通りに動作することを保証する上でとても重要である。
【０００３】
ハードウェア設計では、機能検証が設計期間の大部分を占める。回路規模の増大・複雑化に伴い、機能検証にかかる工数も増加している。このような背景のもと、機能検証を短縮するための方策が考えられている。検証期間を短縮するための方法としては、ハードウェアシミュレーションの速度を上げることにより検証期間を短縮する方法や、テストベクタデータをランダムで生成させる方法などが考えられている。
【０００４】
テストベクタの作成手法と、テストベクタに関連する検証手法は、特許文献１から３に開示されている。
【０００５】
特許文献１は、故障シミュレータを開示する。この故障シミュレータは、動作モードに応じて活性化する構成部分が異なる集積回路の故障シミュレーションを実行するものであり、回路の設計データに基づいてテストベクタを分類する。そして、分類したテストベクタを用いて集積回路の故障シミュレーションを動作モード毎に行う。
【０００６】
特許文献２は、テストパターン生成プログラムを開示する。このテストパターン生成プログラムでは、ネットリストに基づいて回路の端子情報を生成し、生成された端子情報の端子を活性化する活性化テストシーケンスを選択し、この活性化テストシーケンスを用いてテストシーケンスを生成する。
【０００７】
特許文献３は、信号情報など試験用テストデータに含まれる情報を種類ごとに分類して中間データを作成し、中間データにフェイル情報を追加し、故障解析用テストデータを作成する。
【０００８】
このように、これら特許文献１から３では、回路情報や故障情報などを用いてテストベクタを作成し、または、回路情報や故障情報などを用いて適切なテストベクタを選択している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００１−１６７１４１号公報
【特許文献２】特開２００６−５８１７２号公報
【特許文献３】特開２００７−４７１０９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
ところで、現実の生産現場では、ハードウェア機能検証は、テストベクタデータによる検証と、ランダムベクタデータによる検証とを組み合わせて検証する場合が多い。
【００１１】
そして、テストベクタデータによる検証では、設計者がベクタを作成する。そのため、ハードウェアの不具合を検出する可能性の高い、検証対象の回路に適した良質のテストベクタデータを作成し、検証することができる。
しかしながら、人手によってテストベクタデータを作成する場合、テストベクタデータの作成に時間と手間がかかる。その結果、短い設計期間において十分なテストベクタデータを作成することが極めて困難である。また、作成したテストベクタデータ以外のベクタデータでの検証はできない。
【００１２】
その一方で、ランダムベクタデータによる検証では、ランダムベクタデータが人手によらずに生成されるので、ベクタデータの作成に時間がかからない。
しかしながら、ランダムベクタデータには、人手によるテストベクタデータとしては作成され得ないベクタデータが含まれる。そのため、ランダムベクタデータによる検証では、検証するベクタデータの数が増大し、テストベクタデータによる検証に比べてシミュレーション期間が延びてしまう。
【００１３】
その結果、現実の生産現場では、テストベクタデータによる検証と、ランダムベクタデータによる検証とを組み合わせてハードウェア機能を検証したとしても、短期間で十分なハードウェア機能の検証を終えることが困難である。
【００１４】
本発明は、ハードウェアの機能検証の効率を上げて検証期間を短縮することができるテスト装置、テスト方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第一の観点のテスト装置は、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶するベクタ記憶部と、ベクタ記憶部に記憶されているオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成するベクタ生成部と、検査対象の回路へ入力するテストベクタデータを出力する出力部と、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する誤り発生率記憶部と、乱数データを発生する乱数発生部と、誤り発生率記憶部に記憶された入力信号の誤り発生率と乱数データとを比較する比較部とを有し、ベクタ出力部は、入力信号の誤り発生率より乱数データが小さい場合、生成テストベクタデータを出力し、入力信号の誤り発生率より乱数データが大きい場合、オリジナルテストベクタデータを出力する。
【００１６】
好適には、テスト装置は、さらに、検査対象の回路に入力される標準的な入力信号を記述した標準テストベクタデータから、検査対象の回路へ入力され得る標準的な入力信号とは異なる入力信号を記述した検証テストベクタデータを生成するための変換ルールが記述された変換プログラムを記憶するプログラム記憶部を有し、ベクタ生成部は、変換プログラムを実行して、オリジナルテストベクタデータから生成テストベクタデータを生成してもよい。
【００１７】
本発明の第二の観点のテスト方法は、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶する記憶部から、オリジナルテストベクタデータを読み込むステップと、乱数データを発生するステップと、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶する記憶部から、読み込まれたオリジナルテストベクタデータに対応する入力信号の誤り発生率を読み込むステップと、発生した乱数データと読み込んだ入力信号の誤り発生率とを比較する比較ステップと、読み込んだオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成する生成ステップと、検査対象の回路に入力させるテストベクタデータを出力する出力ステップとを有し、比較ステップにおいて入力信号の誤り発生率より乱数データが小さい場合、生成ステップにより生成テストベクタデータを生成し、出力ステップにおいて、生成ステップで生成された生成テストベクタデータを出力し、比較ステップにおいて入力信号の誤り発生率より乱数データが大きい場合、出力ステップにおいて、オリジナルテストベクタデータを出力する。
【００１８】
本発明の第三の観点のプログラムは、記憶部および処理回路を有し、検査対象の回路をテストするテスト装置として機能するコンピュータに、記憶部に記憶され、検査対象の回路に入力される入力信号を記述したオリジナルテストベクタデータを記憶部から読み込む手順と、乱数データを発生する手順と、記憶部に記憶され、オリジナルテストベクタデータに記述された入力信号の誤り発生率を記憶部から読み込むステップと、発生した乱数データと、読み込んだ入力信号の誤り発生率とを比較する比較手順と、読み込んだオリジナルテストベクタデータから、オリジナルテストベクタデータとは異なる生成テストベクタデータを生成する生成手順と、検査対象の回路に入力させるテストベクタデータを出力する出力手順とを実行させ、比較手順において入力信号の誤り発生率より乱数データが小さい場合には、生成手順により生成テストベクタデータを生成させ、出力手順において、生成手順で生成された生成テストベクタデータを出力させ、比較手順において入力信号の誤り発生率より乱数データが大きい場合には、出力手順において、オリジナルテストベクタデータを出力させる。
【００１９】
第一から第三の観点では、オリジナルテストベクタデータからテストベクタデータを生成する。したがって、ユーザは、検証に用いるすべてのテストベクタデータを生成する必要が無い。そして、ユーザによるテストベクタデータの生成期間を短縮できる。
しかも、第一から第三の観点では、各オリジナルテストベクタデータは、それぞれが対応する入力信号の信号誤りの発生確率において生成テストベクタデータへ変換される。すなわち、第一から第三の観点では、オリジナルテストベクタデータに記述された入力信号に、その信号の誤り発生確率で誤りが発生している状況をテストすることができる。
また、第一から第三の観点では、生成テストベクタデータは、オリジナルテストベクタデータを変換して生成している。すなわち、生成するベクタデータのランダム性が制限されている。したがって、ランダムベクタデータによる検証の場合のように、自動生成するベクタデータの増大が抑制される。
【発明の効果】
【００２０】
本発明では、ハードウェアの機能検証の効率を上げて検証期間を短縮することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１実施形態に係るテスト装置を示す概略構成図である。
【図２】図１のテスト装置の詳細な概略構成図である。
【図３】図２のシーケンス定義ファイル群の一例を示す説明図である。図３（Ａ）は誤り発生率テーブルである。図３（Ｂ）は入力信号毎の変換プログラムである。
【図４】図１のテスト装置のテストベクタデータ生成処理の流れを示すフローチャートである。
【図５】図１のテストベクタファイルのデータ構造の一例を示す説明図である。
【図６】図２のベクタ生成部が生成するテストベクタファイルのデータ構造の一例を示す説明図である。
【図７】図２の活性化ログファイルのデータ構造の一例を示す説明図である。
【図８】本発明の第２実施形態に係るテスト装置を示す概略構成図である。
【図９】図９のシーケンス定義ファイル群の一例を示す説明図である。図９（Ａ）は誤り発生率テーブルである。図９（Ｂ）は入力信号毎の変換プログラムである。
【図１０】本発明の変形例に係るテスト装置を示す概略構成図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面に関連付けて説明する。なお、説明は、以下の順番で行う。
１．第１実施形態（入力信号毎の誤り発生確率によりオリジナルテストベクタを変換してテストベクタデータを生成し、検証する例。）
２．第２実施形態（他の入力信号の誤り発生に応じて入力信号の誤り発生確率を変化させる例。）
【００２３】
＜第１実施形態＞
［テスト装置の構成］
本発明の第１実施形態に係るテスト装置は、検査対象の回路（ＤＵＴ：Design Under Test）を記述した回路記述プログラムをシミュレーションして、その回路の機能を検査するものである。また、テスト装置は、回路記述プログラムのシミュレーションにおいて、ユーザが作成したテストベクタデータを信号の誤り発生確率により変換してシミュレーションを実行できる。
【００２４】
回路記述プログラムは、検査対象の回路を記述したプログラムであればよい。
このような回路記述プログラムとしては、たとえばＲＴＬ（Register Transfer Level）で記述されたハードウェアモデルプログラムがある。
この他にも、回路記述プログラムは、ＲＴＬより抽象度が低いゲートレベルで記述されたハードウェアモデルプログラム、またはＲＴＬより抽象度が高い動作レベルで記述されたプログラムでもよい。
また、回路を記述するプログラム言語は、たとえば、SystemCなどの回路を動作レベルで記述できる言語、Verilog、VHDLなどの記述言語であればよい。
【００２５】
テストベクタデータは、検査対象の回路に入力される入力信号を記述したデータである。テストベクタデータは、後述する図５に例示するように、入力信号の波形を０（ローレベル）と１（ハイレベル）のデータ列で記述したデータである。
【００２６】
図１は、第１実施形態に係るテスト装置１を示す概略構成図である。図２は、図１のテスト装置１の詳細な構成図である。
【００２７】
なお、図１のテスト装置１は、記憶部と、入力部と、出力部と、これらに接続された処理回路とを有するコンピュータにおいて、処理回路が、記憶部に記憶されているプログラムを実行することで実現できる。この場合、処理回路は、図１および図２に示す各種の機能のための処理を実行する。また、コンピュータにテスト装置１を実現するためのプログラムは、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）などのコンピュータ読取可能な記録媒体に記録されたものをコンピュータにインストールしたものであればよい。また、プログラムは、ネットワークなどの伝送媒体を通じてサーバからダウンロードしたものをコンピュータにインストールしたものであってもよい。
【００２８】
図１のテスト装置１は、ＥＤＡ（Electronic Design Automation）部２と、シミュレーション部３とを有する。ＥＤＡ部２は、さらに、記憶部４と、ベクタテスト部６と、誤り生成部（フォールトジェネレータ）７とを有する。ＥＤＡ部２は、シミュレーション部３へテストベクタを出力する。
【００２９】
シミュレーション部３は、テストベクタデータを回路記述プログラムの入力データとして用いて、回路記述プログラムを実行する。なお、回路記述プログラムは、たとえば記憶部４に記憶されていればよい。
このテストベクタデータを用いたシミュレーションにより、シミュレーション部３は、仮想的に、検査対象の回路に入力信号を与えた場合の回路動作をシミュレーションする。そして、このシミュレーションにより、シミュレーション部３は、回路記述プログラムの実行結果の出力データを得る。出力データは、検査対象の回路の出力信号を記述したデータに相当する。シミュレーション部３は、シミュレーションの出力データを、ＥＤＡ部２のベクタテスト部６へ出力する。
【００３０】
ＥＤＡ部２の記憶部４は、テストベクタファイル５を記憶する。テストベクタファイル５には、ユーザが、検証する回路に応じて作成したテストベクタデータが格納される。以下、テストベクタファイル５に含まれるテストベクタデータを、後述する生成テストベクタデータと特に区別する場合、オリジナルテストベクタデータという。
【００３１】
図５に、テストベクタファイル５のデータ構造の一例を示す。テストベクタファイル５には、検査対象の回路に入力される入力信号を記述したテストベクタデータが含まれる。また、テストベクタデータには、それに記述された入力信号の信号名が対応付けられている。
そして、図５のテストベクタファイル５には、テレビジョン信号に含まれる垂直同期信号ｖｓｙｎｃのテストベクタデータと、水平同期信号ｈｓｙｎｃのテストベクタデータとが含まれる。垂直同期信号ｖｓｙｎｃのテストベクタデータは、「００１００００００・・・００００」というデータ列を含む。３番目のビットデータ「１」が、垂直同期信号の垂直同期パルスを表している。水平同期信号ｈｓｙｎｃのテストベクタデータは、「００１０００．００００１０００」というデータ列を含む。３番目のビットデータ「１」と、１２番目のビットデータ「１」とが、水平同期信号の水平同期パルスを表している。
【００３２】
なお、テストベクタファイル５に含まれるテストベクタデータは、ユーザが作成した標準テストベクタデータであればよい。標準テストベクタデータとは、検査対象の回路に入力される入力信号の標準的な波形を０および１で記述したデータ列からなるテストベクタデータをいう。
【００３３】
ベクタテスト部６は、テストベクタファイル５から、テストベクタデータを読み込む。また、ベクタテスト部６は、読み込んだテストベクタデータを、誤り生成部７へ出力する。したがって、テストベクタファイル５に含まれるテストベクタデータは、誤り生成部７を経由して、シミュレーション部３へ出力されることになる。
なお、誤り生成部７を持たない一般的なＥＤＡ部２では、ベクタテスト部６は、シミュレーション部３へ直接にテストベクタデータを出力する。このように、テストベクタファイル５に含まれるテストベクタデータは、シミュレーション部３でのシミュレーションに直接利用できるデータである。
【００３４】
誤り生成部７は、図２に示すように、乱数発生部１１、誤り判定部１２、ベクタ生成部１３、出力部１４、および活性化データ保存部１５を有する。また、誤り生成部７は、シーケンス定義ファイル群１６、動作モードファイル１７、および活性化ログファイル１８を使用する。これらのファイルは、記憶部４に記憶されている。
【００３５】
図３にシーケンス定義ファイル群１６の一例を示す。シーケンス定義ファイル群１６は、図３（Ａ）の誤り発生率テーブル１６−１と、図３（Ｂ）の入力信号毎の複数の変換プログラム１６−２とを含む。
【００３６】
誤り発生率テーブル１６−１は、図３（Ａ）に示すように、検査対象の回路に入力される複数の入力信号の誤り発生率（％）の値を有する。各入力信号の誤り発生率の値には、その入力信号の信号名が対応付けられている。
【００３７】
なお、入力信号の誤り発生率（％）は、通信環境などに応じて実際に発生し得る入力信号のエラーの割合を示すものであればよい。たとえばテレビジョン電波を受信する回路の場合、垂直同期信号に発生する誤り発生率（％）や、水平同期信号に発生する誤り発生率（％）であればよい。そして、図３（Ａ）の例は、垂直同期信号ｖｓｙｎｃが０．００００１%の確率でハイレベルにならない場合の例である。また、水平同期信号ｈｓｙｎｃが０．００００１%の確率でハイレベルにならない場合の例である。
【００３８】
図３（Ｂ）に示す入力信号毎の変換プログラム１６−２は、オリジナルテストベクタデータを変換して、オリジナルテストベクタデータとは異なるテストベクタデータを生成するためのプログラムである。
具体的にはたとえば、変換プログラム１６−２は、標準的な入力信号を記述した標準テストベクタデータを、標準テストベクタデータとは異なる検証テストベクタデータへ変換するためのプログラムであればよい。この検証テストベクタデータを用いることで、たとえば通信データなどが入力する回路において、通信が失敗したときの動作を検証することができる。
なお、変換プログラム１６−２は、Ｃ言語、Ｃ＋言語、ＳｙｓｔｅｍＣ、ＶＨＤＬ、Ｖｅｒｉｌｏｇなどで記述されたものであればよい。また、変換プログラム１６−２は、専用のハードウェアで実現されてもよい。
【００３９】
ここで、検証テストベクタデータとは、現実検査対象の回路へ現実に入力される可能性がある入力信号の波形を記述したテストベクタデータであり、且つ標準的な波形を記述した標準テストベクタデータとは異なるテストベクタデータをいう。
【００４０】
検査対象の回路へ実際に入力される可能性がある入力信号の波形としては、標準的な波形の他にもたとえば、標準的な波形に含まれるパルスのパルス幅、位置、大きさが変化した波形がある。この他にもたとえば、入力信号が入力されない場合の波形などもある。
そして、たとえば検証対象の回路に入力信号が入力されない場合を検証する場合、変換プログラム１６−２は、テストベクタデータの値をすべて０へ変換するプログラムであればよい。
この他にもたとえば、入力信号に含まれるパルスの位置がずれる場合を検証する場合、変換プログラム１６−２は、テストベクタデータ中のビットデータ１の位置をデータ列中で前後に移動させるプログラムであればよい。
【００４１】
動作モードファイル１７は、誤り生成部７の動作モードを示すデータを含む。誤り生成部７の動作モードには、ノーマルモードと、再現モードとがある。
ノーマルモードは、ベクタテスト部６から入力されたオリジナルテストベクタデータを変換して、新たなテストベクタデータを生成するモードである。
再現モードは、後述するように、乱数発生結果、誤り判定結果にかかわらず、オリジナルテストベクタデータを活性化データを用いて変換することで、以前に生成したテストベクタデータを再現するモードである。これにより、以前に生成したテストベクタデータの時刻・変化の内容を再現して、以前に行ったシミュレーションを再現できる。
なお、動作モードファイル１７の値などの記憶部４に記憶されるデータは、図示外の入力部が、ユーザの操作に応じて変更できる。
【００４２】
乱数発生部１１は、０から１の範囲内の実数値（有限値）の乱数データを発生する。
乱数データは、たとえばメルセンヌ・ツイスタ(Mersenne twister）法により発生されても、線形合同法のランダム関数「ｒａｎｄ（）」により発生されてもよい。
この他にもたとえば、乱数データは、「/dev/random」などのオペレーティングシステムが用意する乱数生成部を使用し、０から１の範囲内の実数値（有限値）を取得してもよい。
なお、線形合同法のランダム関数「ｒａｎｄ（）」は、シード（seed）が決まれば必ずその後の複数の乱数の値が一致する乱数列を発生する。これに対して、「/dev/random」は、入力デバイスなどの入力値を抽出して乱数値を生成するため、完全に無作為な乱数を発生する。
乱数発生部１１は、発生した乱数データを誤り判定部１２へ出力する。
【００４３】
誤り判定部１２は、乱数発生部１１が発生した乱数データと、誤り発生率テーブル１６−１に記憶された誤り発生率とを比較する。そして、誤り判定部１２は、乱数データが誤り発生率より小さい場合には誤りが発生したと判断し、乱数データが誤り発生率以上である場合には誤りが発生していないと判断する。誤り判定部１２は、誤り発生の有無の判断結果を示すデータをベクタ生成部１３へ出力する。
【００４４】
ベクタ生成部１３は、動作モードおよび誤り発生の有無の判断結果に応じて、出力するテストベクタデータを選択する。
【００４５】
また、ベクタ生成部１３は、誤り生成部７に入力されたテストベクタデータから、テストベクタデータを生成する。生成されたテストベクタデータのデータ列は、誤り生成部７に入力されたオリジナルテストベクタデータのデータ列と異なる。以下、ベクタ生成部１３が生成したテストベクタデータを、生成テストベクタデータという。
【００４６】
具体的には、ベクタ生成部１３は、ノーマルモードである場合、図４（Ｂ）の入力信号毎の変換プログラム１６−２を実行し、入力されたオリジナルテストベクタデータから、生成テストベクタデータを生成する。
ベクタ生成部１３は、たとえば図５に示すオリジナルの標準テストベクタデータから、図６の検証テストベクタデータを生成する。図６の検証テストベクタデータでは、垂直同期信号ｖｓｙｎｃの３番目のデータが「０」から「１」ヘ変更されている。また、水平同期信号ｈｓｙｎｃの１２番目のデータが「０」から「１」ヘ変更されている。
【００４７】
また、再現モードである場合、ベクタ生成部１３は、後述する図５の活性化ログファイル１８の差分データを用いて、入力されたオリジナルテストベクタデータから、生成テストベクタデータを生成する。
【００４８】
そして、ベクタ生成部１３は、選択したテストベクタデータを出力部１４へ出力する。また、テストベクタデータを生成した場合、ベクタ生成部１３は、生成テストベクタデータおよびオリジナルテストベクタデータを活性化データ保存部１５へ出力する。
【００４９】
出力部１４は、ベクタ生成部１３が選択したテストベクタデータをシミュレーション部３へ出力する。
【００５０】
活性化データ保存部１５は、ベクタ生成部１３が生成したテストベクタデータを再現するための活性化データを、活性化ログファイル１８に蓄積する。
【００５１】
図５に活性化ログファイル１８の一例を示す。活性化ログファイル１８には、ベクタ生成部１３が生成した生成テストベクタデータを再現するための活性化データ（再現データ）が蓄積される。図５の例では、活性化ログファイル１８には、ベクタ生成部１３に入力されたオリジナルテストベクタデータと、ベクタ生成部１３が生成した生成テストベクタデータとの差分データが蓄積される。具体的には、垂直同期信号ｖｓｙｎｃの３番目のデータを変更したことを示す差分データと、水平同期信号ｈｓｙｎｃの１２番目のデータを変更したことを示す差分データとが蓄積されている。
【００５２】
［テスト装置の動作］
図４は、図１のテスト装置１において、シミュレーション部３へテストベクタデータを出力するまでの動作の流れを示すフローチャートである。図５に、テストベクタファイル５に記憶される標準テストベクタデータの一例を示す。図６に、図５の標準テストベクタデータに基づいてベクタ生成部１３が生成する検証テストベクタデータの一例を示す。図７に、図５の標準テストベクタデータに基づいて図６の検証テストベクタデータを生成した場合に活性化ログファイル１８に記憶される活性化データの一例を示す。
【００５３】
図１のテストベクタファイル５に、ユーザが作成した図５の標準テストベクタデータが記憶された状態で、ベクタテスト部６は、テストベクタファイル５から各信号名の標準テストベクタデータを読み込んで出力する。図５の場合、ベクタテスト部６は、まず、垂直同期信号ｖｓｙｎｃの標準テストベクタデータを読み込んで出力する。これにより、誤り生成部７は、図４のフローチャートを実行する。
【００５４】
誤り生成部７にテストベクタが入力される（ステップＳＴ１）と、ベクタ生成部１３は、動作モードファイル１７から、現在設定されている動作モードを読み込む（ステップＳＴ２）。
【００５５】
読み込まれた動作モードがノーマルモードである場合、誤り判定部１２は、乱数発生部１１から、乱数データを取得する。乱数発生部１１は、０〜１の範囲内の値を有する乱数データを発生する（ステップＳＴ３）。
【００５６】
乱数データが入力されると、誤り判定部１２は、誤りを判断するために、シーケンス定義ファイル群１６の図３（Ａ）の誤り発生率テーブル１６−１から、入力されたテストベクタデータに対応する入力信号の誤り発生率の値を読み込む。垂直同期信号ｖｓｙｎｃの標準テストベクタデータが入力された場合、誤り判定部１２は、信号名ｖｓｙｎｃに対応付けられた誤り発生率０．００００１％を読み込む（ステップＳＴ４）。
【００５７】
次に、誤り判定部１２は、乱数データの値と誤り発生率とを比較する。そして、乱数データの値が誤り発生率の値より小さい場合、誤り判定部１２は、誤り発生有りと判断する。逆に、乱数データの値が誤り発生率の値以上である場合、誤り判定部１２は、誤り発生無しと判断する。誤り判定部１２は、誤り発生の有無の判断結果をベクタ生成部１３へ出力する。
【００５８】
誤り発生の有無の判断結果が入力されると、ベクタ生成部１３は、入力された誤り発生の有無の判断結果に基づいて、処理内容を判断する（ステップＳＴ５）。
【００５９】
たとえば、誤り判定部１２が誤り発生無しと判定した場合（ステップＳＴ５でＮｏと判断した場合）、ベクタ生成部１３は、ベクタテスタ部から入力されたテストベクタデータを、そのまま出力部１４へ出力する（ステップＳＴ６）。その結果、出力部１４は、記憶部４に記憶されているテストベクタデータをシミュレーション部３へ出力する。図５の場合、出力部１４は、垂直同期信号ｖｓｙｎｃの標準テストベクタデータをシミュレーション部３へ出力する。
【００６０】
また、図５のテストベクタファイル５には、垂直同期信号ｖｓｙｎｃの標準テストベクタデータの他にも、水平同期信号ｈｓｙｎｃの標準テストベクタデータが含まれている。そのため、次に、ベクタテスト部６は、水平同期信号ｈｓｙｎｃの標準テストベクタデータを読み込んで誤り生成部７へ出力する。誤り生成部７は上述した図４の処理を実行する。そして、誤り判定部１２が誤り発生無しと再び判定した場合（ステップＳＴ５でＮｏと判断した場合）、誤り生成部７の出力部１４は、記憶部４に記憶される水平同期信号ｈｓｙｎｃの標準テストベクタデータをシミュレーション部３へ出力する（ステップＳＴ５）。
【００６１】
シミュレーション部３は、所定のテストベクタデータが入力されると、その入力されたテストベクタデータを入力として、回路記述プログラムを実行する。また、シミュレーション部３は、シミュレーションの結果として生成される出力データを、ベクタテスト部６へ出力する。ベクタテスト部６は、たとえば出力データを記憶部４に保存する。また、ベクタテスト部６は、出力データと図示外の所定の期待値データとを比較してその比較結果（一致または不一致）を記憶部４に保存する。
【００６２】
この記憶部４に記憶された出力データまたは比較結果に基づいて、ユーザは、検証した回路記述プログラムの回路が、標準的な入力信号を入力した場合に所望の機能を実現できているか否かを判断できる。また、所望の機能を実現できていない場合には、ユーザは、回路記述プログラムを修正し、検証を繰り返すことができる。
【００６３】
この他にもたとえば、図４のステップＳＴ５において、誤り判定部１２が誤り発生が有り（Ｙｅｓ）と判定した場合、ベクタ生成部１３は、テストベクタデータの生成処理を開始する（ステップＳＴ７）。
【００６４】
ノーマルモードでのテストベクタデータの生成処理では、ベクタ生成部１３は、まず、シーケンス定義ファイル群１６の図３（Ｂ）の変換プログラム１６−２を読み込む。次に、ベクタ生成部１３は、読み込んだ変換プログラム１６−２を実行して、ベクタテスタ部から入力されたテストベクタデータを変換し、テストベクタデータを生成する。たとえば変換プログラム１６−２が、入力信号が入力されない状態を検証するプログラムである場合、ベクタ生成部１３は、標準テストベクタデータに含まれるすべてのデータ１をデータ０に置き換えた検証テストベクタデータを生成する。
【００６５】
次に、ベクタ生成部１３は、入力された標準テストベクタデータおよび生成した検証テストベクタデータを、活性化データ保存部１５へ出力する（ステップＳＴ８）。活性化データ保存部１５は、まず、たとえば標準テストベクタデータから検証テストベクタデータを減算し、差分テストベクタデータを生成する。そして、活性化データ保存部１５は、差分テストベクタデータに現れた相違ビットデータの、ベクトルデータ中の位置を示す差分データを生成し、活性化ログファイル１８に保存する。図５および図６の垂直同期信号ｖｓｙｎｃの場合、図７に示すように（３，ｖｓｙｎｃ）という差分データが活性化ログファイル１８に保存される。
【００６６】
また、ベクタ生成部１３は、生成したテストベクタデータを出力部１４へ出力する（ステップＳＴ９）。また、出力部１４は、ベクタ生成部１３から入力されたテストベクタデータをシミュレーション部３へ出力する。
【００６７】
引き続き、ベクタテスト部６は、水平同期信号ｈｓｙｎｃの標準テストベクタデータを読み込んで誤り生成部７へ出力する。これにより、誤り生成部７は、上述した図４の処理を繰り返し実行する。
【００６８】
そして、誤り判定部１２がステップＳＴ５で誤り発生有り（Ｙｅｓ）と再び判定した場合、誤り生成部７のベクタ生成部１３は、検証テストベクタデータおよび標準テストベクタデータを、活性化データ保存部１５へ出力する（ステップＳＴ８）。そして、活性化データ保存部１５は、差分テストベクタデータに表れた相違ビットデータの、ベクトルデータ中の位置を示す差分データを生成し、活性化ログファイル１８に保存する。図５および図６の水平同期信号ｈｓｙｎｃの場合、図７に示すように（１２，ｖｓｙｎｃ）という差分データが活性化ログファイル１８に保存される。
【００６９】
また、ベクタ生成部１３は、シーケンス定義ファイル群１６から読み込んだ変換プログラム１６−２を用いて、入力された水平同期信号ｈｓｙｎｃの標準テストベクタデータを変換する（ステップＳＴ９）。また、ベクタ生成部１３は、新たに生成した検証テストベクタデータを、活性化データ保存部１５およびシミュレーション部３へ出力する。
【００７０】
以上の処理により、この例では、シミュレーション部３には、図６に示す垂直同期信号ｖｓｙｎｃの検証テストベクタデータと、水平同期信号ｈｓｙｎｃの検証テストベクタデータとが入力される。シミュレーション部３は、入力された複数の検証テストベクタデータを入力信号のデータとして、回路記述プログラムを実行する。シミュレーション部３は、実行の結果生成される出力データを、ベクタテスト部６へ出力する。ベクタテスト部６は、出力データを記憶部４に保存する。また、ベクタテスト部６は、出力データと図示外の期待値データとを比較し、その比較結果（一致または不一致）を記憶部４に保存する。
【００７１】
ユーザは、この記憶部４に記憶された出力データまたは比較結果に基づいて、検証した回路記述プログラムの回路が、標準的な入力信号とは異なる信号を入力した場合に所望の機能を実現しているか否かを判断することができる。また、所望の機能を実現できていない場合には、ユーザは回路記述プログラムを修正することができる。
【００７２】
さらに他にもたとえば、図４のステップＳＴ２において動作モードが再現モードであると判断した場合、ベクタ生成部１３は、再現モードでのテストベクタデータ生成処理を開始する。ベクタ生成部１３は、過去に生成した検証テストベクタデータと同じテストベクタデータを再現する処理を開始する（ステップＳＴ１０）。
【００７３】
再現モードでのテストベクタデータの生成処理では、ベクタ生成部１３は、まず、活性化ログファイル１８から、差分データを読み込む。次に、ベクタ生成部１３は、読み込んだ差分データを用いて、ベクタテスタ部から入力されている標準テストベクタデータを変更し、再現した検証テストベクタデータを生成する。たとえば図７の活性化ログファイル１８の場合、ベクタ生成部１３は、垂直同期信号のテストベクタデータの３番目のビットデータを１へ変更し、水平同期信号のテストベクタデータの１２番目のビットデータを１へ変更する。これにより、図６の検証テストベクタデータが再現される。
【００７４】
ベクタ生成部１３は、再現した検証テストベクタデータを出力部１４へ出力する。また、出力部１４は、ベクタ生成部１３から入力されたテストベクタデータをシミュレーション部３へ出力する（ステップＳＴ１１）。
【００７５】
以上の再現処理を入力信号のテストベクタデータについて繰り返し実行することで、シミュレーション部３には、たとえば図６の垂直同期信号ｖｓｙｎｃの再現された検証テストベクタデータと、水平同期信号ｈｓｙｎｃの再現された検証テストベクタデータとが入力される。シミュレーション部３は、再現された複数の検証テストベクタデータを入力信号のデータとして、回路記述プログラムを実行する。
【００７６】
また、シミュレーション部３は、実行の結果生成される出力データを、ベクタテスト部６へ出力する。ベクタテスト部６は、出力データを記憶部４に保存する。また、ベクタテスト部６は、出力データと図示外の期待値データとを比較し、その比較結果（一致または不一致）を記憶部４に保存する。
【００７７】
ユーザは、この記憶部４に記憶された出力データまたは比較結果に基づいて、たとえば、修正前には所望の機能を実現できていなかった回路記述プログラムの回路が、修正により所望の機能を実現できるようになったことを確認することができる。
【００７８】
以上のように、第１実施形態では、乱数データを発生させて、入力信号の誤り発生率より乱数データが小さい場合、生成した検証テストベクタデータを検査対象の回路へ出力する。また、入力信号の誤り発生率より乱数データが大きい場合、標準テストベクタデータを検査対象の回路へ出力する。
したがって、第１実施形態では、検証対象の回路に対して、実際に入力信号に発生する誤り発生率により誤りが発生したテストベクタデータを入力させることができる。
【００７９】
また、第１実施形態では、ベクタ生成部１３は、検査対象の回路に入力される標準的な入力信号を記述した標準テストベクタデータから、標準テストベクタデータとは異なる検証テストベクタデータを生成する。
特に、第１実施形態では、標準的な入力信号を記述した標準テストベクタデータから検証テストベクタデータを生成するための変換ルールを記述した変換プログラム１６−２を用いて、検証テストベクタデータを生成している。
したがって、生成された検証テストベクタデータは、標準テストベクタデータにより制限された範囲で誤りを含むテストベクタデータになる。生成された検証テストベクタデータは、標準テストベクタデータに近似したテストベクタデータになる。しかも、生成された検証テストベクタデータに含まれるデータ誤りは、実際に入力信号に発生する信号誤りに制限される。すなわち、生成された検証テストベクタデータは、回路の検証に適したテストベクタデータになる。
それ故、第１実施形態においてベクタ生成部１３が生成する検証テストベクタデータは、ランダムに発生させたベクタデータのように、検査対象の回路に入力され得ないベクタデータにならない。
【００８０】
また、第１実施形態では、変換プログラム１６−２を用いて標準テストベクタデータから検証テストベクタデータを生成している。したがって、第１実施形態では、検証テストベクタデータを一定のルールに基づいて生成することができる。
そのため、第１実施形態では、たとえば標準テストベクタデータとしてクロック信号を記述したテストベクタデータを用意し、クロック信号の変換プログラム１６−２として、クロックパルスの位置をずらす変換ルールを記述したプログラムを用いることができる。
このようにクロックパルスの位置をずらすことにより、第１実施形態では、検査対象の回路のうち「クロックの乗り換え」を行っている部分についての検証ができる。
なお、「クロックの乗り換え」は、たとえば、転送レートが異なる２個の回路を１つの半導体装置に実装する場合に、その２個の回路の間で発生する。具体的には、イーサネット（登録商標）での通信パケットを扱う半導体装置、デジタル放送信号を扱う半導体装置などにおいて、「クロックの乗り換え」が生じることがある。
【００８１】
また、第１実施形態では、データ信号の変化の位置についても、上述したクロック信号のパルス位置と同様にずらすことができる。
この場合、第１実施形態では、データ信号を記述したテストベクタデータを標準テストベクタデータとして用意し、データ信号の変換プログラム１６−２として、データ信号の変化の位置をずらす変換ルールを記述したプログラムを用いればよい。
【００８２】
＜第２実施形態＞
［テスト装置の構成］
図８に、本発明の第２実施形態に係る検査対象の回路のテスト装置１の構成を示す。第２実施形態に係るテスト装置１は、記憶部４、ベクタテスト部６および誤り生成部７を含むＥＤＡ部２並びにシミュレーション部３を有する点で、第１実施形態に係るテスト装置１と共通する。
【００８３】
ただし、第２実施形態の誤り生成部７のシーケンス定義ファイル群１６Ａには、他の入力信号の誤り発生に応じて異なる複数の誤り発生確率を記憶する誤り発生率テーブル１６−１Ａが含まれている点で、第１実施形態に係るテスト装置１と異なる。
【００８４】
図９に、図８のシーケンス定義ファイル群１６Ａの一例を示す。シーケンス定義ファイル群１６Ａの誤り発生率テーブル１６−１Ａは、図９（Ａ）に示すように、水平同期信号ｈｓｙｎｃについては、２個の誤り発生率を有する。この２個の誤り発生率のうち、左側の誤り発生率１は、水平同期信号ｈｓｙｎｃに誤りが発生していない場合の誤り発生率である。右側の誤り発生率２は、水平同期信号ｈｓｙｎｃに誤りが発生している場合の誤り発生率である。そして、右側の誤り発生率は、左側の誤り発生率より高い値（この例では１００％）になっている。
【００８５】
このように、第２実施形態の誤り発生率テーブル１６−１Ａでは、回路に入力される複数の入力信号の間での相関を記述することができる。
【００８６】
［テスト装置の動作］
ベクタテスト部６がテストベクタファイル５から各信号名の標準テストベクタデータを読み込んで誤り生成部７へ出力すると（ステップＳＴ１）、誤り生成部７は、図４のフローチャートを実行する。
【００８７】
ベクタ生成部１３は、動作モードファイル１７から、現在設定されている動作モードを読み込む（ステップＳＴ２）。
読み込んだ動作モードがノーマルモードである場合、誤り判定部１２は、乱数発生部１１から、乱数データを取得する。乱数発生部１１は、乱数データを発生して誤り判定部１２へ出力する（ステップＳＴ３）。
【００８８】
乱数データが入力されると、誤り判定部１２は、シーケンス定義ファイル群１６Ａの図９（Ａ）の誤り発生率テーブル１６−１Ａから、入力されたテストベクタデータに対応する入力信号の誤り発生率の値を読み込む。また、誤り判定部１２は、活性化ログファイル１８から、他の信号の誤り発生の有無を読み込む（ステップＳＴ４）。
【００８９】
そして、誤り判定部１２は、たとえば水平同期信号ｈｓｙｎｃについて処理をする場合、垂直同期信号ｖｓｙｎｃに誤りが発生していない場合には、図９（Ａ）の左側の誤り発生率の値を読み込む。また、垂直同期信号ｖｓｙｎｃに誤りが発生している場合には、図９（Ａ）の右側の誤り発生率の値を読み込む。
【００９０】
次に、誤り判定部１２は、乱数データの値と誤り発生率とを比較し、誤り発生の有無の判断結果をベクタ生成部１３へ出力する。
【００９１】
そして、ノーマルモードにおけるステップＳＴ５以降のベクタ生成部１３およびそれ以降の動作は、第１実施形態での動作と同じである。
【００９２】
すなわち、たとえば、ノーマルモードにおいて誤りが発生していない場合（ステップＳＴ５でＮｏの場合）、ベクタ生成部１３は、テストベクタファイル５から読み込まれたオリジナルの標準テストベクタデータを選択する（ステップＳＴ６）。出力部１４は、この標準テストベクタデータをシミュレーション部３へ出力する。シミュレーション部３は、標準テストベクタデータを用いて検査対象の回路のシミュレーションを実行する。
【００９３】
また、ノーマルモードにおいて誤りが発生している場合（ステップＳＴ５でＹｅｓの場合）、ベクタ生成部１３は、変換プログラム１６−２を実行して、オリジナルの標準テストベクタデータを変換し、検証テストベクタデータを生成する（ステップＳＴ７）。出力部１４は、この検証テストベクタデータをシミュレーション部３へ出力する（ステップＳＴ９）。シミュレーション部３は、検証テストベクタデータを用いて検査対象の回路のシミュレーションを実行する。
【００９４】
また、ステップＳＴ２において再現モードであると判断した場合、ベクタ生成部１３は、オリジナルの標準テストベクタデータに対して活性化ログファイル１８の差分データを適用し、検証テストベクタデータを生成する（ステップＳＴ１０）。出力部１４は、この検証テストベクタデータをシミュレーション部３へ出力する（ステップＳＴ１１）。シミュレーション部３は、検証テストベクタデータを用いて検査対象の回路のシミュレーションを実行する。
【００９５】
以上の実施形態は、本発明の好適な実施の形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
【００９６】
たとえば、図３のシーケンス定義ファイル群１６または図９のシーケンス定義ファイル群１６Ａは、オリジナルテストベクタデータを変換して生成テストベクタプログラムを生成する変換プログラム１６−２を含む。この他にもたとえば、シーケンス定義ファイル群１６，１６Ａは、変換プログラム１６−２と、この変換プログラム１６−２により読み込まれる複数の変換定義データを含んでもよい。そして、たとえば、変換プログラム１６−２が読み込む変換定義データを、乱数データの値に応じて異ならせることで、１つのオリジナルテストベクタデータから、複数の入力誤りに対応する複数の検証テストベクタデータを生成することができる。
また、変換プログラム１６−２は、標準テストベクタデータ以外のテストベクタデータを変換するプログラムであってもよい。
【００９７】
また、上記各実施形態では、説明の都合上、記憶部４に、設計者が作成した１個のテストベクタファイル５と、１組のシーケンス定義ファイル群１６とを記憶させている。
この他にもたとえば、実際の利用においては、記憶部４に、設計者が作成した複数個のテストベクタファイル５と、複数組のシーケンス定義ファイル群１６とを記憶させてもよい。
このように複数個のテストベクタファイル５を記憶部４に記憶させる場合であっても、その複数個のテストベクタファイル５に含まれる複数のテストベクタデータから、それらとは異なる複数のテストベクタデータを生成できるので、設計者が作成すべきテストベクタデータの個数を削減することができる。
【００９８】
上記各実施形態は、図１に示すように、検査対象の回路がシミュレーション部３で実行される回路記述プログラムである場合の例である。この他にもたとえば、検査対象の回路は、製造された回路、たとえば半導体装置などであってもよい。
【００９９】
図１０は、本発明の変形例に係るテスト装置を示す概略構成図である。テスト装置１は、製造された半導体装置２３を検査するものであり、図１のＥＤＡ部２と同じ機能を有するＥＤＡ部２１と、半導体装置２３が接続されるテストＩ／Ｆ２２とを有する。
テストＩ／Ｆ２２は、ＥＤＡ部２１が出力したテストベクタデータに基づく出力信号を半導体装置２３へ出力する。また、テストＩ／Ｆ２２は、半導体装置２３が出力した入力信号をサンプリングし、出力データを生成する。テストＩ／Ｆ２２は、生成した出力データをベクタテスト部６へ出力する。
これにより、図１０のテスト装置１は、製造された半導体装置２３について、上記各実施形態と同様の検証を実行するができる。
なお、テスト装置１において、テストＩ／Ｆ２２は、半導体装置２３のテスト専用に設けられたインタフェースであっても、もしくは，テスト装置１の汎用的なデータ入出力部であってもよい。
【符号の説明】
【０１００】
１・・・テスト装置、３・・・シミュレーション部、４・・・記憶部（ベクタ記憶部、誤り発生率記憶部、プログラム記憶部、再現データ記憶部）、６・・・ベクタテスト部（ベクタ読出部）、１１・・・乱数発生部、１２・・・誤り判定部（比較部）、１３・・・ベクタ生成部、１４・・・出力部、１６−２・・・変換プログラム
【図１】
2010203937.tif 000003
【図２】
2010203937.tif 000004
【図３】
2010203937.tif 000005
【図４】
2010203937.tif 000006
【図５】
2010203937.tif 000007
【図６】
2010203937.tif 000008
【図７】
2010203937.tif 000009
【図８】
2010203937.tif 000010
【図９】
2010203937.tif 000011
【図１０】
2010203937.tif 000012