(57)【要約】【課題】情報処理装置の論理検証の検証効率を高めることができる情報処理装置の論理検証方法及びプログラムを提供する。【解決手段】論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成し、生成テストデータの妥当性を判定し、妥当であると判定された生成テストデータを用いて情報処理装置のシミュレータを用いて擬似テストを実行し、擬似テストによる期待値を生成し、その生成テストデータに関しカバレッジ情報を更新するとともに、その生成テストデータを用いて情報処理装置に対し本テストを実行し、本テストのテスト結果と前記期待値とを比較し、テスト結果が正常かどうかを判定する。【選択図】  図３
2014164646.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置の論理検証方法であって、
情報処理装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成するステップと、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、前記生成テストデータを妥当であると判定するステップと、
前記妥当であると判定された前記生成テストデータを用いて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、
前記妥当であると判定された前記生成テストデータに関しカバレッジ情報を更新するステップと、
前記生成テストデータを用いて情報処理装置に対し本テストを実行するステップと、
前記情報処理装置に対して実行した本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、
前記テスト結果の判定が正常の場合は、終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記各ステップを繰り返すことを特徴とする、方法。
【請求項２】
前記生成テストデータを妥当であると判定するステップにおいて、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータを修正し、前記カバレッジ情報を参照して再度テストデータを生成することを特徴とする、請求項１に記載の方法。
【請求項３】
前記テスト結果が正常かどうかを判定するステップにおいて、前記テスト結果の判定が異常の場合は、エラーメッセージを出力することを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記終了条件を満たさない場合は、前記生成テストデータに係るテストパラメータを更新し、前記各ステップを繰り返すことを特徴とする、請求項１から３のいずれか１項に記載の方法。
【請求項５】
コンピュータに、
情報処理装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成する手順、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、
前記妥当であると判定された前記生成テストデータを用いて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、
前記妥当であると判定された前記生成テストデータに関しカバレッジ情報を更新する手順、
前記生成テストデータを用いて情報処理装置に対し本テストを実行する手順、
前記情報処理装置に対して実行した本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、
前記テスト結果の判定が正常の場合は、終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記各手順を繰り返す手順、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の論理検証方法及びプログラムに関するものである。
【背景技術】
【０００２】
従来から、情報処理装置（検証対象装置）の論理検証において、論理の正常性を確認する上で機能の網羅テストを実施しているが、論理規模の増加などにより、全ての機能に対する網羅テストに要する時間が膨大になり、論理検証期間の長期化が問題となっている。また、試験項目も論理規模に伴い増加する為、試験項目の抽出にかかる工数の増加が問題となる。
【０００３】
ネットワーク装置や汎用的な論理装置などでは、特に組み合あわせが無数に存在する為、網羅テストを行う事が困難であり、乱数データを用いたランダム試験などを利用する事で、テストの網羅性を高める手法が適用されるケースも多い。しかし、乱数データを用いたランダム試験を使用した場合、検証対象装置の論理回路に対して、網羅性を示す指標が必要になる為、従来、情報処理装置（検証対象装置）の論理検証（テスト）の網羅性を管理するカバレッジ情報を採取し、テストの網羅性を数値化する事で被検証対象への網羅テストの妥当性を測定している。しかし、乱数データを用いたランダム試験でテスト生成する場合、カバレッジ結果を満足する為には、テスト件数を増やして対応する必要が有り、検証期間の短縮という点で考えると効率的とは言い難い。
【０００４】
この様な問題の解決手法として、生成したテストの結果を解析し、効率的に再テストを行う為に、論理検証の対象となる検証対象装置よりハードウェア情報を出力し、その結果を解析し、テストデータの再生成を行う手法がある。
【０００５】
以下にテストデータの再生成に関する従来技術について説明する。特許文献１では、アサーション情報を取得する処理を検証対象装置に直接埋め込む事で、アサーション情報よりテストデータの再生成を行い、テストデータを連続して生成し、全てのテストパタンを網羅する事で検証漏れしていない事のチェックを行い、カバレッジチェック機能の強化により妥当性の確認をおこなっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−４４６２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の手法では、検証対象装置の仕様変更や対象変更を行った場合、論理検証装置を作り直す必要が有る。また、検証対象装置の検証状況を把握する上で、テストパタンの妥当性やカバレージ率の測定装置が別途必要になる。
【０００８】
特許文献１ではテストデータの再生成を行う上で、論理検証対象となるハードウェア情報を取得する事が前提となるため、開発の初期段階でのテストデータ生成や論理検証対象を含めた、開発リソースの確保を行う必要があり、検証対象論理の不具合の早期発見を行う事が困難である。
【０００９】
また、検証対象装置上で実際にテストを行い実行結果からテストの再生成を行う為、検証対象装置へのテストデータの入力、テストの実行、及び結果の抽出という一連の工程が必要になる。
【００１０】
本発明は、上記問題点を解決し、情報処理装置の論理検証の検証効率を高めることができる情報処理装置の論理検証方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記目的を達成するため以下のような情報処理装置の論理検証方法及びプログラムを提供する。
（１）情報処理装置の論理検証方法であって、
情報処理装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成するステップと、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、前記生成テストデータを妥当であると判定するステップと、
前記妥当であると判定された前記生成テストデータを用いて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、
前記妥当であると判定された前記生成テストデータに関しカバレッジ情報を更新するステップと、
前記生成テストデータを用いて情報処理装置に対し本テストを実行するステップと、
前記情報処理装置に対して実行した本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、
前記テスト結果の判定が正常の場合は、終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記各ステップを繰り返すことを特徴とする、方法。
（２）前記生成テストデータを妥当であると判定するステップにおいて、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータを修正し、前記カバレッジ情報を参照して再度テストデータを生成することを特徴とする、上記（１）に記載の方法。
（３）前記テスト結果が正常かどうかを判定するステップにおいて、前記テスト結果の判定が異常の場合は、エラーメッセージを出力することを特徴とする、上記（１）または（２）に記載の方法。
（４）前記終了条件を満たさない場合は、前記生成テストデータに係るテストパラメータを更新し、前記各ステップを繰り返すことを特徴とする、上記（１）から（３）のいずれかに記載の方法。
（５）コンピュータに、
情報処理装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成する手順、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、
前記妥当であると判定された前記生成テストデータを用いて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、
前記妥当であると判定された前記生成テストデータに関しカバレッジ情報を更新する手順、
前記生成テストデータを用いて情報処理装置に対し本テストを実行する手順、
前記情報処理装置に対して実行した本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、
前記テスト結果の判定が正常の場合は、終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記各手順を繰り返す手順、を実行させるためのプログラム。
【発明の効果】
【００１２】
本発明によれば、情報処理装置の論理検証の検証効率を高めることができる。すなわち、情報処理装置（検証対象装置）のテストの網羅性の向上と網羅性を満足する為に要する時間の削減を両立する事が可能となり、検証効率の向上を図る事ができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明に係る情報処理装置（検証対象装置）の論理検証方法の一例を説明するための概略図である。
【図２】図２は、本発明に係る論理検証方法における検証プログラムの一例を示す図である。
【図３】図３は、本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。
【図４】図４は、妥当性チェック部２１１の具体例を示す図である。
【図５】図５は、図２のステップ３０８におけるパラメータの修正の具体例を示す図である。
【図６】図６は、図５におけるカバレッジ情報の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。なお、実施の形態を説明する為の図において、同一部分には原則として同一記号を付し、繰り返しとなる説明は省略する。本実施の形態における情報処理装置の検証方法では、情報処理装置（検証対象装置）として複数の中央処理装置（ＣＰＵ）を含むプロセッサ、入出力装置などの周辺装置、記憶装置及びこれらを接続するシステムバスの例を示すが、これに限定されず、ＦＰＧＡなどの論理回路も含む。
【００１５】
本発明は、要するに、生成したテストデータ（生成テストデータ）を内蔵シミュレータにより事前評価し、実行すべき生成テストデータの妥当性向上を図り、これによりテストデータ生成時間を短くし、検証対象装置の検証効率を高めると共に、テストデータのバリエーションを自動生成させる事で、工数を抑える事を実現するものである。ここでテストデータとは、テストパタンを含むテスト実行用のデータをいう。またテストパタンは、網羅性テストのバリエーションを実現するためのものである。
【００１６】
図１は、本発明に係る情報処理装置（検証対象装置）の論理検証方法の一例を説明するための概略図である。本例では、試験者がデータや命令の入出力処理を行う為の情報処理端末１００、及び検証対象装置（論理）１０１を備える。
【００１７】
検証対象装置１０１は、複数のＣＰＵ１１２−１１５を含むプロセッサ１１１、入出力装置などの周辺装置１１６−１１９、及び主記憶装置１２１などがシステムバス１２０を介して接続されている。検証対象装置１０１では、プロセッサ１１１からの命令を中心としたアクセス要求により、複数のトランザクションが検証対象装置内で発生する。本例では、検証対象装置１０１の論理検証を行う検証プログラム２００、検証対象装置シミュレータ２１０、および論理検証の網羅性を管理するカバレッジ情報２３０はそれぞれ、主記憶装置１２１に配置されるが、別の記憶装置に配置することもできる。情報処理端末１００は、試験者によるデータや命令の入出力処理以外に、検証プログラム２００の実行（カバレッジ情報２３０の更新等を含む）を行う役目を有する。
【００１８】
従来の網羅試験では、検証対象装置内で発生するトランザクションに着目し、競合動作や、タイミング動作をマトリクス化し、全ての組み合わせのテストデータの作成を行っていた。また、乱数発生装置を使用して網羅テストを行う場合、前記マトリクスの網羅率を測定する仕組みを検証対象装置に組み込み（アサーション）、目標の網羅率を達成するまで、テストデータの生成及びテスト実行を繰り返し行う必要が有る。
【００１９】
また、従来技術では検証対象装置上でテストを行い、テストデータの調整を行う工程が必要となる。このため、カバレッジ情報の採取や、検証結果の評価等の手順が煩雑になり、また、評価段階の検証対象論理の性能最適化が図られていない場合には、１回のテスト工程に時間が掛る場合が有る。
【００２０】
本発明では、検証プログラム２００で用いるテストデータの生成、評価及び再生成、並びにカバレッジ情報２３０の作成、更新等を検証対象装置上で実施するのではなく、検証プログラム２００とともに主記憶装置１２１に配置した検証対象装置シミュレータ（以下単に「シミュレータ」ともいう）上で実施する。なお、検証対象装置シミュレータは検証プログラム２００に内蔵してもよいし、本例のように別途設けてもよい。すなわち、本発明は、検証対象装置でテストを実行する前に検証対象装置シミュレータを用いてテストデータの最適化を図り、テストデータの最適化を行う事で、検証効率の向上を図るものである。
【００２１】
図２は、本発明に係る論理検証方法における検証プログラムの一例を示す図である。検証プログラム２００は、図示のように、検証対象装置シミュレータ２１０、検証対象装置１０１を含む論理シミュレーション環境２２０、およびカバレッジ情報２３０と関連して実行される。
【００２２】
検証プログラム２００は、テストデータ生成部２０１と本テスト実行部２０５とを備える。テストデータ生成部２０１は、カバレッジ情報取得処理部２０２、テストデータ生成処理部２０３、および擬似テスト実行処理部２０４を有する。本テスト実行部２０５は、本テスト実行処理部２０６、テスト結果判定処理部２０７、および期待値２０８を有する。
【００２３】
検証対象装置シミュレータ２１０は、妥当性チェック部２１１と期待値生成部２１４とを備える。妥当性チェック部２１１は、カバレッジ情報参照部２１２、および生成テストデータチェック部を有する。期待値生成部２１４は、擬似テスト実行部２１５、およびカバレッジ情報更新部２１６を有する。妥当性チェック部２１１は、カバレッジデータ参照部２１２にて、生成テストデータが既にテストを行ったものか、まだテストを行って無いものかの判断を行う。期待値生成部２１４は、妥当性チェック部２１１にてチェックを行った生成テストデータを本テストの論理シミュレーションを行う前に、検証対象装置シミュレータ２１０においてソフトウェア処理により疑似テストを実行し、生成したテスト結果の期待値２０８を本テスト実行部２０５上に一時的に格納するとともに、カバレッジ情報更新部２１６によりカバレッジ情報２３０を更新する。
【００２４】
論理シミュレーション環境２２０は、論理検証の対象である検証対象装置１０１を備える。検証対象装置１０１は、図１に示すように、プロセッサ１１１、入出力装置などの周辺装置１１６−１１９、主記憶装置１２１、およびシステムバス１２０を有する。主記憶装置１２１には、テスト結果２２７が格納される。このテスト結果２２７は、テスト結果判定処理部２０７において期待値２０８と比較され、判定される。
【００２５】
以上のように、検証プログラム２００において、テストデータ生成部２０１は、シミュレータ２１０及びカバレッジ情報２３０と連動して、テストデータを生成し、生成されたテストデータ（生成テストデータ）の妥当性を確認したのち、妥当であるとされた生成テストデータを用いて検証対象装置シミュレータ２１０において擬似テストを実行して、テスト結果の期待値を生成する。これにより、本テスト実行部２０５を行う前の段階で、生成テストデータの妥当性確認や期待値生成が完了した状態となっている。
【００２６】
そして、本テスト実行部２０５では、論理シミュレーション環境２２０と連動して検証対象装置１０１の論理シミュレーション（本テスト）を行う。本テスト実行部２０５では、既にテストデータ生成部２０１で妥当性チェックが行われた生成テストデータを用いて論理シミュレーションを行う為、既にカバレッジの最適化が図られた状態でシミュレーションが行われる。また、論理シミュレーションが行われた結果も、テスト結果判定処理部２０７よりカバレッジ情報２３０に更新反映される為、新たにテスト生成を行う際に、前回のテスト生成が期待の結果として論理シミュレーションが行われたかを確認する事が可能となる。
【００２７】
図３は、本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。本図は、論理検証のための１回のテストの処理を示している。
【００２８】
まず試験者は、ステップ３００において、検証プログラムの実行をスタートするが、事前準備として情報処理端末１００よりカバレッジ情報の初期化を行う。次にステップ３０１において、試験者は、検証プログラムの初期パラメータを情報処理端末１００より入力し、テストパタンの初期設定（更新）を行う。その後の動作は全て検証プログラムによる自動実行となる。
【００２９】
本例では、試験者の目的とする検証対象装置のリソースや、テストを行いたい実行時間指定に相当するテスト生成回数などを検証プログラムの初期パラメータとして指定する。検証プログラムの初期パラメータを試験者が指定出来る事により、試験者は繰り返しテストの実行状況を管理可能となる。
【００３０】
ステップ３０２において、検証対象装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成する。テストデータの生成は、妥当性チェック部２１１のカバレッジ情報参照部２１２におけるカバレッジ情報を参照して行う。
【００３１】
ステップ３０１で更新されるテストパタンは、ステップ３１１で行うテストパラメータの更新、及びカバレッジ情報２３０より更新処理を行うが、本処理を実施する事で、ステップ３０２で生成されるテストデータの生成処理時に、前回の生成処理とは異なる情報を与える事が可能となる。上記処理の組み合わせにより、網羅テストの効率化を図っている。
【００３２】
生成テストデータは、ステップ３０３において、妥当性の判定が行われる。妥当性の判定は次のようにして行われる。生成テストデータは、シミュレータ２１０に内蔵されている妥当性チェック部２１１において妥当性がチェックされる。すなわち、妥当性チェック部２１１の生成テストデータチェック部２１３において、生成テストデータが既にテスト済みかどうかをチェックする。妥当性チェック部２１１において、生成されたテストデータが既にテスト済みと判断された場合、ステップ３０３において、妥当性の判定は妥当でない（ＮＧ）とされる。一方、生成テストデータが未だテスト済みでないと判断された場合、ステップ３０３において、妥当性の判定は妥当（ＯＫ）とされる。このように、生成テストデータの妥当性は、生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、生成テストデータを妥当であると判定する。
【００３３】
ステップ３０３において、生成テストデータの妥当性の判定が妥当ではない（ＮＧ）とされた場合は、ステップ３０８において、テストパラメータの修正を行い、ステップ３０２において、テストデータが再生成される。本処理を繰り返す事で期待したカバレッジを満たすテストデータが生成される。
【００３４】
一方、ステップ３０３において、生成テストデータの妥当性の判定が妥当（ＯＫ）とされた場合は、ステップ３０４において、生成テストデータを用いてシミュレータ２１０上でシミュレーション（擬似テスト）が実行される。この擬似テストは、期待値生成部２１４の擬似テスト実行部２１５において実行され、テスト結果の期待値が生成される。このように妥当であると判定された生成テストデータを用いて検証対象装置のシミュレータを用いて擬似テストを実行し、擬似テストによる期待値を生成する。期待値の生成は、例えば次のようにして行われる。
【００３５】
テスト結果の期待値はシミュレータ２１０にて、生成テストデータを疑似的に実行する事で生成する。シミュレータ２１０では、レジスタ/メモリ情報などを疑似モデルとして管理しており、生成テストデータを実行する事で各レジスタ/メモリの情報がどの様に変化するかを確認する為の疑似動作が可能となっており、シミュレータ２１０では、テスト結果の期待値としてシミュレータ２１０での実行結果を出力する動作を行う。
【００３６】
擬似テスト実行部２１５の実行終了後に、妥当であると判定された生成テストデータに関しカバレッジ情報更新部２１６よりカバレッジ情報２３０の更新を行う。ステップ３０４まで正常に実行出来た時点で、次の本テストの実行が可能となる。
【００３７】
ステップ３０５において、妥当であると判定された生成テストデータを用いて検証対象装置に対し本テストが実行される。本テストの実行は、上述のように、図２に示す論理シミュレーション環境２２０と連動して検証対象装置１０１の論理シミュレーション（本テスト）を行う。ステップ３０６において、検証対象装置に対して実行した本テストのテスト結果と期待値とを比較し、論理シミュレーションの結果（テスト結果）が正常かどうかを判定する。テスト結果判定が異常（ＮＧ）の場合、ステップ３０９において、エラーメッセージを出力し、エラー通知を行う。この場合、ステップ３１１において、カバレッジ情報２３０よりカバレッジ情報を取得し、テストパラメータを更新し、ステップ３０１において、テストパタンを更新（未実施のテストパタン選択）し、上述の各ステップが繰り返される。
【００３８】
論理シミュレーションの結果の判定は、シミュレータ２１０の出力結果である、レジスタ、及びメモリの値や、その他の検証対象装置のリソースの値を対象として、検証対象装置での論理シミュレーションの実行結果と比較を行い、比較結果が等しければ正常、異なっていれば異常と判断し、論理シミュレーションの判定結果とする。
【００３９】
テスト結果判定が正常（ＯＫ）の場合は、ステップ３０７において終了判定を行う。終了判定において、終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は先の各ステップを繰り返す。すなわち、ステップ３０７では、終了条件（カバレッジ情報の網羅テストの終了、シミュレーション回数、及び総合のテスト時間など）の確認を行い、終了の判定（Ｙ）の場合は、ステップ３１０において、検証プログラムは終了となる。一方、未終了の判定（Ｎ）の場合は、ステップ３１１において、カバレッジ情報２３０よりカバレッジ情報を取得し、テストパラメータを更新し、ステップ３０１において、テストパタンを更新（未実施のテストパタン選択）し、上述の各ステップが繰り返される。
【００４０】
図４は、妥当性チェック部２１１の具体例を示す図である。ここで、カバレッジ情報として採取するデータは、汎用的に指定する事が可能であるが、図４では一実施例として、プロセッサリソースの組み合わせによるカバレッジ情報を元にして行う網羅テストの例を示す。図中のカバレッジ情報参照部２１２に示すように、カバレッジ情報４１４はプロセッサ１１１のＣＰＵ１１２−１１５ごとに集計格納され、カバレッジ情報４１４のフォーマットにて管理されている。また２次元マトリクス４１５は、ＣＰＵ１１２−１１５各リソースの全ての組み合わせをテーブル構成で管理している。
【００４１】
テストデータ生成部２０１では、各ＣＰＵ１１２−１１５のカバレッジ情報４１４より、未実施リソースの項目を検索し、各ＣＰＵ１１２−１１５のテストデータを生成する。生成した各ＣＰＵ１１２−１１５のテストデータをマトリクス４１５の項目により該当する項目を検索し、マトリクスの該当項目を更新する。
【００４２】
生成テストデータチェック部２１３では、各ＣＰＵ１１２−１１５のカバレッジ情報４１４及びマトリクス４１５の更新が行われているかどうかのチェックを行い、その更新が確認出来ない場合（すなわち既にテスト済のテストデータが生成された場合）、テストデータの妥当性の判定は妥当ではない（ＮＧ）とされ、テストデータ再生成の要求を発行する。カバレッジ情報４１４及びマトリクス４１５の更新が確認出来た場合（すなわち未だテスト済でないテストデータが生成された場合）、生成テストデータの妥当性の判定が妥当（ＯＫ）とされ、次の期待値生成部２１４へ状態を遷移する。
【００４３】
図５は、図２のステップ３０８におけるテストパラメータの修正の具体例を示す図である。上述のように、妥当性チェック部２１１により、生成テストデータが妥当ではないと判断された場合は、テストデータの再生成を行う。本例では、検証対象装置において、ＣＰＵで各命令が使用する汎用レジスタの競合に関わる論理を対象としたテストデータの生成の例を示す。
【００４４】
図５に示すように、テストパラメータの修正に係るステップ３０８は、対象カバレッジ情報解析処理に係るステップ５００と、テストパラメータ再生成処理に係るステップ５０１を備える。ステップ５００の対象カバレッジ情報解析処理では、妥当性チェック部２１１がテストデータの妥当性を判断する際に使用した対象カバレッジ情報を解析し、発生頻度の低いパタンを抽出し、続いてステップ５０１のテストパラメータ再生成処理において、テストパラメータの再生成を行う。テストパラメータは対象カバレッジ情報と同様のパラメータから構成される。これにより以降生成するテストデータは、ステップ５０１による再生後のテストパラメータに依存することになる。
【００４５】
図６は、図５におけるカバレッジ情報の一例を示す図である。本例のカバレッジ情報は、先行側命令情報と競合側命令情報の２次元テーブルで構成される。本テーブルにおいて、各々の位置関係（サイクル数）、命令種、競合対象であるレジスタ番号の各要素を満足するテストデータを生成した場合、テスト生成回数が更新される。
【００４６】
命令に関してはプロセッサのアーキテクチャに依存する部分であり、パイプライン動作等を考慮して、カバレッジ採取を行う必要が有る。また、周辺機器に関してもトランザクションのレイテンシ等を考慮し、カバレッジ項目を満足する様な動作を実現する必要が有る。図５に示す動作は一例であるが、本発明の実装にあたっては検証対象装置固有の動作を考慮して、カバレッジ採取及びテストデータ生成に反映する必要が有る。
【００４７】
以上の各ステップは、コンピュータに次のプログラムを実行させることで実施することもできる。すなわち、このプログラムは、コンピュータに、情報処理装置の論理検証の網羅性を管理するカバレッジ情報を参照してテストデータを生成する手順、前記生成テストデータがテスト済みかどうかを判断し、テスト済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、前記妥当であると判定された前記生成テストデータを用いて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、前記妥当であると判定された前記生成テストデータに関しカバレッジ情報を更新する手順、前記生成テストデータを用いて情報処理装置に対し本テストを実行する手順、前記情報処理装置に対して実行した本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、前記テスト結果の判定が正常の場合は、終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記各手順を繰り返す手順、を実行させることで行うことができる。また、このプログラムは、ＣＤＲＯＭ等の記憶媒体に格納して又は通信手段によって提供することも可能である。
【産業上の利用可能性】
【００４８】
本発明は、情報処理装置の論理検証方法及びプログラムに関するものであり、産業上の利用可能性がある。
【符号の説明】
【００４９】
１００  ・・・情報処理端末
１０１  ・・・検証対象装置
１０２  ・・・検証プログラム
１１１  ・・・プロセッサ
１２０  ・・・システムバス
１２１  ・・・主記憶装置
２０１  ・・・テストデータ生成部
２０２  ・・・カバレッジ情報取得処理部
２０３  ・・・テストデータ生成処理部
２０４  ・・・擬似テスト実行処理部
２０５  ・・・本テスト実行部
２０６  ・・・本テスト実行処理部
２０７  ・・・テスト結果判定処理部
２０８  ・・・期待値
２１１  ・・・妥当性チェック部
２１２  ・・・カバレッジ情報参照部
２１３  ・・・生成テストデータチェック部
２１４  ・・・期待値生成部
２１５  ・・・擬似テスト実行部
２１６  ・・・カバレッジ情報更新部
２２０  ・・・論理シミュレーション環境
２３０  ・・・カバレッジ情報
３０１  ・・・テストパタン更新
３０２  ・・・テストデータ生成
３０３  ・・・妥当性判定
３０４  ・・・擬似テスト実行
３０５  ・・・本テスト実行
３０６  ・・・テスト結果判定
３０７  ・・・終了判定
３０８  ・・・テストパラメータの修正
３０９  ・・・エラーメッセージ出力
４１４  ・・・カバレッジ情報
４１５  ・・・マトリクス
【図１】
2014164646.tif 000003
【図２】
2014164646.tif 000004
【図３】
2014164646.tif 000005
【図４】
2014164646.tif 000006
【図５】
2014164646.tif 000007
【図６】
2014164646.tif 000008