JP6291242B2 - 情報処理装置の論理検証方法及びプログラム - Google Patents

情報処理装置の論理検証方法及びプログラム Download PDF

Info

Publication number
JP6291242B2
JP6291242B2 JP2013257573A JP2013257573A JP6291242B2 JP 6291242 B2 JP6291242 B2 JP 6291242B2 JP 2013257573 A JP2013257573 A JP 2013257573A JP 2013257573 A JP2013257573 A JP 2013257573A JP 6291242 B2 JP6291242 B2 JP 6291242B2
Authority
JP
Japan
Prior art keywords
test
determined
test data
information
generated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013257573A
Other languages
English (en)
Other versions
JP2015114923A (ja
Inventor
啓介 刑部
啓介 刑部
伸茂 石井
伸茂 石井
豊 児玉
豊 児玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Information and Telecommunication Engineering Ltd
Original Assignee
Hitachi Information and Telecommunication Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Information and Telecommunication Engineering Ltd filed Critical Hitachi Information and Telecommunication Engineering Ltd
Priority to JP2013257573A priority Critical patent/JP6291242B2/ja
Publication of JP2015114923A publication Critical patent/JP2015114923A/ja
Application granted granted Critical
Publication of JP6291242B2 publication Critical patent/JP6291242B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置の論理検証方法及びプログラムに関するものである。
従来から、情報処理装置(検証対象装置)の論理検証(テスト)において、論理の正常性を確認する上で機能の網羅テストを実施しているが、論理規模の増加などにより、全ての機能に対する網羅テストには膨大な時間を要し、論理検証期間の長期化が問題となっている。
ネットワーク装置や汎用的な論理装置などでは、特に組み合あわせが無数に存在する為、網羅テストを行う事が困難であり、乱数データを用いたランダム試験などを利用する事で、テストの網羅性を高める手法が適用されるケースも多い。しかし、乱数データを用いたランダム試験が生成するテストデータにより、検証対象装置のテスト網羅性を高める場合には、テスト件数を増やして対応する必要が有り、検証期間の短縮という点で考えると効率的とは言い難い。
この様な問題の解決手法として、テスト実施毎に検証対象装置からカバレッジ情報、又は、検証済み履歴情報を取得し、取得した情報を解析する事で乱数データを用い連続的に再生成するテストデータを調整する手法がある。
以下にテストデータの再生成に関する従来技術について説明する。特許文献1では、検証対象装置にアサーションを埋め込み、テスト実施毎に検証対象装置からアサーション情報(カバレッジ情報)を取得する。取得したカバレッジ情報に基づきテストデータを調整する事で競合動作等を自動補正し、乱数データを用いたランダム試験の検証網羅性を高めている。又、特許文献2では、論理シミュレーション実行結果が期待値と一致したテストデータを検証済み履歴情報として蓄積する。乱数データを用いたテストデータ生成処理は検証済み履歴情報を解析し、検証済みの検証パタンを回避したテストデータ再生成を行う事で重複論理シミュレーションを避け検証効率の低下を抑えるものである。
特開2010−44622号公報 特開2002−149440号公報
しかしながら、特許文献1、特許文献2の手法では、検証対象装置内部に品質が高い部位と品質が低い部位が混在している場合、品質が低い部位の不具合により、品質の高い部位の網羅性向上が阻害される。ここで、品質が低い部位は、テストデータのテスト結果が異常となる可能性がある。
本発明は、上記問題点を解決し、情報処理装置の論理検証の検証効率を高めることができる情報処理装置の論理検証方法及びプログラムを提供することを目的とする。
本発明は、上記目的を達成するため以下のような情報処理装置の論理検証方法及びプログラムを提供する。
(1)情報処理装置の論理検証方法であって、
前記情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化するステップと、
前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップと、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定するステップと、
前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定するステップと、
前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、
前記両ステップで妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行するステップと、
前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、
前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成するステップ以降の各ステップを繰り返すことを特徴とする、方法。
(2)前記生成テストデータを妥当でない又は妥当であると判定する2つの前記ステップのうち少なくとも一方において、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータを修正し、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップを再度実行することを特徴とする、上記(1)に記載の方法。
(3)コンピュータに、
情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、
前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、
前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する手順、
前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、
前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、
前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、
前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、
前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させるためのプログラム。
本発明によれば、情報処理装置の論理検証の検証効率を高めることができる。すなわち、検証対象内部の品質が高い部位の網羅性向上を図る事ができ、情報処理装置全体としてのテストの網羅性の向上と網羅性を満足する為に要する時間の削減を両立する事が可能となる。
本発明に係る情報処理装置(検証対象装置)の論理検証方法の一例を説明するための概略図である。 本発明に係る論理検証方法における検証プログラムの一例を示す図である。 本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。 妥当性チェック部211の具体例を示す図である。 図2のステップ308におけるパラメータの修正の具体例を示す図である。 図5におけるカバレッジ情報とテスト結果異常情報の一例を示す図である。 図6におけるテスト結果異常情報の例1、例2としてテスト結果が異常判定されるテストデータと現象例を示す図である。
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。なお、実施の形態を説明する為の図において、同一部分には原則として同一記号を付し、繰り返しとなる説明は省略する。本実施の形態における情報処理装置の検証方法では、情報処理装置(検証対象装置)として複数の中央処理装置(CPU)を含むプロセッサ、入出力装置などの周辺装置、記憶装置及びこれらを接続するシステムバスの例を示すが、これに限定されず、FPGAなどの論理回路も含む。
本発明は、要するに、生成したテストデータ(生成テストデータ)を内蔵シミュレータにより事前評価し、生成テストデータを検証対象装置の品質に合わせ選択する事で、検証対象装置全体としてのテスト網羅性の向上に要する時間を短くし、検証対象装置の検証効率を高めると共に、テストデータのバリエーションを自動生成させる事で、工数を抑える事を実現するものである。ここでテストデータとは、テストパタンを含むテスト実行用のデータをいう。またテストパタンは、網羅性テストのバリエーションを実現するためのものである。具体的には、例えば乱数データを用いたランダム試験が生成するテストデータを用いた情報処理装置の論理検証において、論理検証の網羅性を管理するカバレッジ情報およびテスト結果異常情報を参照して論理検証未実施且つテスト結果異常登録済みでないテストデータを生成し、情報処理装置のシミュレータを用い擬似テストを実行し前記テストデータの期待値を生成する。前記テストデータは情報処理装置に対し適用し、適用結果と前記期待値とを比較し、テスト結果が正常か異常かを判定する。テスト結果の判定が異常の場合、当該テストデータのカバレッジ項目をテスト結果異常情報として蓄積し、テスト結果が正常の場合、当該テストデータのカバレッジ項目をカバレッジ情報として蓄積する。
図1は、本発明に係る情報処理装置(検証対象装置)の論理検証方法の一例を説明するための概略図である。本例では、試験者がデータや命令の入出力処理を行う為の情報処理端末100、及び検証対象装置(論理)101を備える。
検証対象装置101は、複数のCPU112−115を含むプロセッサ111、入出力装置などの周辺装置116−119、及び主記憶装置121などがシステムバス120を介して接続されている。検証対象装置101では、プロセッサ111からの命令を中心としたアクセス要求により、複数のトランザクションが検証対象装置内で発生する。本例では、検証対象装置101の論理検証を行う検証プログラム200、検証対象装置シミュレータ210、および論理検証の網羅性を管理するカバレッジ情報230とテスト結果が異常と判定されたカバレッジ項目を管理するテスト結果異常情報250はそれぞれ、主記憶装置121に配置されるが、別の記憶装置に配置することもできる。情報処理端末100は、試験者によるデータや命令の入出力処理以外に、検証プログラム200の実行(カバレッジ情報230の更新、テスト結果異常情報250の更新等を含む)を行う役目を有する。
本発明の実施形態では、検証プログラム200で用いるテストデータの生成、評価及び再生成は主記憶装置121に配置した検証対象装置シミュレータ(以下単に「シミュレータ」ともいう)上で実施し、カバレッジ情報230とテスト結果異常情報250の更新は、主記憶装置121に配置した検証プログラム200上で実施する。なお、検証対象装置シミュレータは検証プログラム200に内蔵してもよいし、本例のように別途設けてもよい。すなわち、本発明は、検証対象装置でテストを実行する前に検証対象装置シミュレータを用いてテストデータの最適化を図り、テストデータの最適化を行う事で、検証効率の向上を図るものである。
図2は、本発明に係る論理検証方法における検証プログラムの一例を示す図である。検証プログラム200は、図示のように、検証対象装置シミュレータ210、検証対象装置101を含む論理シミュレーション環境220、カバレッジ情報230およびテスト結果異常情報250と関連して実行される。
検証プログラム200は、テストデータ生成部201と本テスト実行部240とを備える。テストデータ生成部201は、カバレッジ情報取得処理部202、テスト結果異常情報取得処理部203、テストデータ生成処理部204、および擬似テスト実行処理部205を有する。本テスト実行部240は、本テスト実行処理部241、テスト結果判定処理部242、カバレッジ情報更新処理部243、テスト結果異常情報更新処理部244、および期待値245とカバー項目246を有する。
検証対象装置シミュレータ210は、妥当性チェック部211と期待値生成部215とを備える。妥当性チェック部211は、カバレッジ情報参照部212、テスト結果異常情報参照部213、および生成テストデータチェック部214を有する。期待値生成部215は、擬似テスト実行部216を有する。妥当性チェック部211は、カバレッジ情報参照部212にて、生成テストデータが既にテストを行ったものか、まだテストを行って無いものかの判断を行い、テスト結果異常情報参照部213にて、生成テストデータはテストを実施したが結果が異常となったものかの判断を行う。期待値生成部215は、妥当性チェック部211にてチェックを行った生成テストデータを本テストの論理シミュレーションを行う前に、検証対象装置シミュレータ210においてソフトウェア処理により疑似テストを実行し、生成したテスト結果の期待値245と生成したテストの実行により網羅されるカバー項目246を本テスト実行部240上に一時的に格納する。尚、期待値は、本テスト実行部240にてテスト結果の判定処理に、カバー項目246はカバレッジ情報230とテスト結果異常情報250の更新に利用される。
論理シミュレーション環境220は、論理検証の対象である検証対象装置101を備える。検証対象装置101は、図1に示すように、プロセッサ111、入出力装置などの周辺装置116−119、主記憶装置121、およびシステムバス120を有する。主記憶装置121には、テスト結果227が格納される。このテスト結果227は、テスト結果判定処理部242において期待値245と比較され、判定される。
以上のように、検証プログラム200において、テストデータ生成部201は、シミュレータ210及びカバレッジ情報230、テスト結果異常情報250と連動して、テストデータを生成し、生成されたテストデータ(生成テストデータ)の妥当性を確認したのち、妥当であるとされた生成テストデータを用いて検証対象装置シミュレータ210において擬似テストを実行して、テスト結果の期待値を生成する。これにより、本テスト実行部240を行う前の段階で、生成テストデータの妥当性確認や期待値生成が完了した状態となっている。
そして、本テスト実行部240では、論理シミュレーション環境220と連動して検証対象装置101の論理シミュレーション(本テスト)を行う。本テスト実行部240では、既にテストデータ生成部201で妥当性チェックが行われた生成テストデータを用いて論理シミュレーションを行う為、既にカバレッジの最適化が図られた状態でシミュレーションが行われる。また、論理シミュレーションが行われた結果は、テスト結果判定処理部242により判定され、カバレッジ情報230またはテスト結果異常情報250の何れか一方を更新する。この事で、新たにテスト生成を行う際に、前回の論理シミュレーション結果を次回のテスト生成に反映させる事が可能となる。
図3は、本発明に係る論理検証方法における検証プログラムの一例を示すフロー図である。本図は、論理検証のための1回のテストの処理を示している。
まず試験者は、ステップ300において、検証プログラムの実行をスタートするが、事前準備として情報処理端末100よりカバレッジ情報とテスト結果異常情報の初期化を行う。カバレッジ情報は、情報処理装置(検証対象装置)の論理検証の網羅性を管理するものであり、情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理し、テスト結果異常情報は、テストデータのテスト結果が異常と判定された場合の情報を管理する。次にステップ301において、試験者は、検証プログラムの初期パラメータを情報処理端末100より入力し、テストパタンの初期設定(更新)を行う。その後の動作は全て検証プログラムによる自動実行となる。
本例では、試験者の目的とする検証対象装置のリソースや、テストを行いたい実行時間指定に相当するテスト生成回数などを検証プログラムの初期パラメータとして指定する。検証プログラムの初期パラメータを試験者が指定出来る事により、試験者は繰り返しテストの実行状況を管理可能となる。
ステップ302において、検証対象装置の論理検証の網羅性を管理するカバレッジ情報とテスト結果が異常と判定されたカバレッジ項目を管理するテスト結果異常情報を参照してテストデータを生成する。テストデータの生成は、妥当性チェック部211のカバレッジ情報参照部212におけるカバレッジ情報とテスト結果異常情報参照部213におけるテスト結果異常情報を参照して行う。
ステップ301で更新されるテストパタンは、ステップ311で行うテストパラメータの更新、及びカバレッジ情報230とテスト結果異常情報250より更新処理を行うが、本処理を実施する事で、ステップ302で生成されるテストデータの生成処理時に、前回の生成処理とは異なる情報を与える事が可能となる。上記処理の組み合わせにより、網羅テストの効率化を図っている。
生成テストデータは、ステップ303において、妥当性の判定が行われる。妥当性の判定は次のようにして行われる。生成テストデータは、シミュレータ210に内蔵されている妥当性チェック部211において妥当性がチェックされる。すなわち、妥当性チェック部211の生成テストデータチェック部214において、生成テストデータがテスト済みかどうかを判断し、生成テストデータがテスト済みであれば、ステップ303における妥当性の判定は妥当でない(NG)とされ、生成テストデータがテスト済みでなければ妥当(OK)とする。また、生成テストデータチェック部214は生成テストデータが既にテスト結果異常判定済みかどうかをチェックする。生成されたテストデータが既にテスト結果異常判定済みと判断された場合、ステップ303において、妥当性の判定は妥当でない(NG)とされる。一方、生成テストデータがテスト結果異常判定済みでないと判断された場合、ステップ303において、妥当性の判定は妥当(OK)とされる。このように、生成テストデータの妥当性チェック部は、生成テストデータが既にカバレージ済みのテストデータではないことと、カバレージを試みたがテスト結果が異常と判定されたテストデータではない事を判定する。
ステップ303において、生成テストデータの妥当性の判定が妥当ではない(NG)とされた場合は、ステップ308において、テストパラメータの修正を行い、ステップ302において、テストデータが再生成される。本処理を繰り返す事で期待したカバレッジを満たすテストデータが生成される。
一方、ステップ303において、生成テストデータの妥当性の判定が妥当(OK)とされた場合は、ステップ304において、生成テストデータを用いてシミュレータ210上でシミュレーション(擬似テスト)が実行される。この擬似テストは、期待値生成部215の擬似テスト実行部216において実行され、テスト結果の期待値が生成される。このように妥当であると判定された生成テストデータを用いて検証対象装置のシミュレータを用いて擬似テストを実行し、擬似テストによる期待値を生成する。期待値の生成は、例えば次のようにして行われる
テスト結果の期待値はシミュレータ210にて、生成テストデータを疑似的に実行する事で生成する。シミュレータ210では、レジスタ/メモリ情報などを疑似モデルとして管理しており、生成テストデータを実行する事で各レジスタ/メモリの情報がどの様に変化するかを確認する為の疑似動作が可能となっており、シミュレータ210では、テスト結果の期待値としてシミュレータ210での実行結果を出力する動作を行う。
ステップ304まで正常に実行出来た時点で、次の本テストの実行が可能となる。
ステップ305において、妥当であると判定された生成テストデータを用いて検証対象装置に対し本テストが実行される。本テストの実行は、上述のように、図2に示す論理シミュレーション環境220と連動して検証対象装置101の論理シミュレーション(本テスト)を行う。ステップ306において、検証対象装置に対して実行した本テストのテスト結果と期待値とを比較する。
論理シミュレーションの結果の判定は、シミュレータ210の出力結果である、レジスタ、及びメモリの値や、その他の検証対象装置のリソースの値を対象として、検証対象装置での論理シミュレーションの実行結果と比較を行い、比較結果が等しければ正常、異なっていれば異常と判断し、論理シミュレーションのテスト判定結果とする。
テスト結果判定が異常(NG)の場合、ステップ309において、エラーメッセージを出力し、エラー通知を行う。そして、テスト結果異常情報更新313よりテスト結果異常情報250の更新を行い、ステップ311において、カバレッジ情報230よりカバレッジ情報とテスト結果異常情報250よりテスト結果異常情報を取得し、テストパラメータを更新し、ステップ301において、テストパタンを更新(未実施且つテスト結果異常登録済みでないテストパタン選択)し、上述の各ステップが繰り返される。また、テスト結果判定が正常(OK)の場合は、カバレッジ情報更新312よりカバレッジ情報230の更新を実施し、ステップ307において終了判定を行う。
終了判定においては、終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は先の各ステップを繰り返す。すなわち、ステップ307では、終了条件(カバレッジ情報の網羅テストの終了、シミュレーション回数、及び総合のテスト時間など)の確認を行い、終了の判定(Y)の場合は、ステップ310において、検証プログラムは終了となる。一方、未終了の判定(N)の場合は、ステップ311において、カバレッジ情報230よりカバレッジ情報とテスト結果異常情報250よりテスト結果異常情報を取得し、テストパラメータを更新し、ステップ301において、テストパタンを更新(未実施且つテスト結果異常登録済みでないテストパタン選択)し、上述の各ステップが繰り返される。
図4は、妥当性チェック部211の具体例を示す図である。ここで、カバレッジ情報として採取するデータは、汎用的に指定する事が可能であるが、図4では一実施例として、プロセッサリソースの組み合わせによるカバレッジ情報を元にして行う網羅テストの例を示す。また、テスト結果が異常と判定された情報についてもカバレッジ情報と同一のプロセッサリソースの組み合わせによる情報をテスト結果異常情報として採取した例を示す。図中のカバレッジ情報参照部212とテスト結果異常情報参照部213に示すように、カバレッジ情報414とテスト結果異常情報416はプロセッサ111のCPU112−115ごとに集計格納され、カバレッジ情報414とテスト結果異常情報416のフォーマットにて管理されている。また2次元マトリクス415、417は、CPU112−115各リソースの全ての組み合わせをテーブル構成で管理している。
テストデータ生成部201では、各CPU112−115のカバレッジ情報414とテスト結果異常情報416より、未実施リソース且つテスト結果異常登録されていないリソース項目を検索し、各CPU112−115のテストデータを生成する。生成した各CPU112−115のテストデータからマトリクス415、417の項目により該当する項目を検索し、マトリクス415、417の該当項目を更新する。
生成テストデータチェック部214では、各CPU112−115のカバレッジ情報414及びカバレッジ情報マトリクス415の更新が行われているかどうかのチェックを行い、その更新が確認出来ない場合(すなわち既にテスト済のテストデータが生成された場合)、テストデータの妥当性の判定は妥当ではない(NG)とされ、テストデータ再生成の要求を発行する。カバレッジ情報414及びカバレッジ情報マトリクス415の更新が確認出来た場合(すなわち未だテスト済でないテストデータが生成された場合)、生成テストデータの妥当性の判定が妥当(OK)となる。また、CPU112−115のテスト結果異常情報416及びテスト結果異常情報マトリクス417の更新が行われているかどうかのチェックを行い、その更新が確認出来ない場合(すなわち既にテスト済みで結果が異常と判定されてたテストデータが生成された場合)、テストデータの妥当性の判定は妥当ではない(NG)とされ、テストデータ再生成の要求を発行する。テスト結果異常情報416及びテスト結果異常情報マトリクス417の更新が確認出来た場合(すなわち未だテスト結果が異常と判定されていないテストデータが生成された場合)、生成テストデータの妥当性の判定が妥当(OK)となる。カバレッジ情報414を元にした妥当判定とテスト結果異常情報416を元にした妥当性判定の両方で妥当(OK)とされた後、次の期待値生成部215へ状態を遷移する。
図5は、図3のステップ308におけるテストパラメータの修正の具体例を示す図である。上述のように、妥当性チェック部211により、生成テストデータが妥当ではないと判断された場合は、テストデータの再生成を行う。本例では、検証対象装置において、CPUで各命令が使用する汎用レジスタの競合に関わる論理を対象としたテストデータの生成の例を示す。
図5に示すように、テストパラメータの修正に係るステップ308は、対象カバレッジ情報テスト結果異常情報解析処理に係るステップ500と、テストパラメータ再生成処理に係るステップ501を備える。ステップ500の解析処理では、妥当性チェック部211がテストデータの妥当性を判断する際に使用した対象カバレッジ情報とテスト結果異常情報を解析し、発生頻度が低く試験結果の異常頻度も低いパタンを抽出し、続いてステップ501のテストパラメータ再生成処理において、テストパラメータの再生成を行う。テストパラメータは対象カバレッジ情報やテスト結果異常情報と同様のパラメータから構成される。これにより以降生成するテストデータは、ステップ501による再生後のテストパラメータに依存することになる。
図6は、図5におけるカバレッジ情報とテスト結果異常情報の一例を示す図である。本例のカバレッジ情報は、先行側命令情報と競合側命令情報の2次元テーブルで構成される。本テーブルにおいて、各々の位置関係(サイクル数)、命令種、競合対象であるレジスタ番号の各要素を満足するテストデータを生成した場合、テスト生成回数が更新される。また、本例のテスト結果異常情報は、カバレッジ情報と同一の構成で管理され、テスト結果が異常となった場合には異常回数が更新される。図7は、図6におけるテスト結果異常情報の例1、例2としてテスト結果が異常判定されるテストデータと現象例を示す図である。これは、検証対象装置の不具合とテストデータの例を示すものである。図7において、整数演算命令の演算結果が異常の例(例1)は、先行側命令の演算結果が競合側命令に正しく反映されない場合を示し、分岐命令の分岐先が異常の例(例2)は、先行側の分岐命令が競合側命令の演算結果を誤って反映してしまう場合を示す。
命令に関してはプロセッサのアーキテクチャに依存する部分であり、パイプライン動作等を考慮して、カバレッジ採取を行う必要が有る。また、周辺機器に関してもトランザクションのレイテンシ等を考慮し、カバレッジ項目を満足する様な動作を実現する必要が有る。図5に示す動作は一例であるが、本発明の実装にあたっては検証対象装置固有の動作を考慮して、カバレッジ情報とテスト結果異常情報を採取しテストデータ生成に反映する必要が有る。
以上の各ステップは、コンピュータに次のプログラムを実行させることで実施することもできる。すなわち、このプログラムは、コンピュータに、情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する手順、前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、前記両手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させることで行うことができる。また、このプログラムは、CDROM等の記憶媒体に格納して又は通信手段によって提供することも可能である。
本発明は、情報処理装置の論理検証方法及びプログラムに関するものであり、産業上の利用可能性がある。
100 ・・・情報処理端末
101 ・・・検証対象装置
102 ・・・検証プログラム
111 ・・・プロセッサ
120 ・・・システムバス
121 ・・・主記憶装置
201 ・・・テストデータ生成部
202 ・・・カバレッジ情報取得処理部
203 ・・・テスト結果異常情報取得処理部
204 ・・・テストデータ生成処理部
205 ・・・擬似テスト実行処理部
211 ・・・妥当性チェック部
212 ・・・カバレッジ情報参照部
213 ・・・テスト結果異常情報参照部
214 ・・・生成テストデータチェック部
215 ・・・期待値生成部
216 ・・・擬似テスト実行部
220 ・・・論理シミュレーション環境
230 ・・・カバレッジ情報
240 ・・・本テスト実行部
241 ・・・本テスト実行処理部
242 ・・・テスト結果判定処理部
243 ・・・カバレッジ情報更新処理部
244 ・・・テスト結果異常情報更新処理部
245 ・・・期待値
246 ・・・カバー項目
250 ・・・テスト結果異常情報
301 ・・・テストパタン更新
302 ・・・テストデータ生成
303 ・・・妥当性判定
304 ・・・擬似テスト実行
305 ・・・本テスト実行
306 ・・・テスト結果判定
307 ・・・終了判定
308 ・・・テストパラメータの修正
309 ・・・エラーメッセージ出力
312 ・・・カバレッジ情報更新
313 ・・・テスト結果異常情報更新
414 ・・・カバレッジ情報
415 ・・・カバレッジ情報マトリクス
416 ・・・テスト結果異常情報
417 ・・・テスト結果異常情報マトリクス

Claims (3)

  1. 情報処理装置の論理検証方法であって、コンピュータにより実行される、
    前記情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化するステップと、
    前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップと、
    前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する妥当性判定のステップと、
    前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する妥当性判定のステップと、
    前記両妥当性判定のステップで妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成するステップと、
    前記両妥当性判定のステップで妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行するステップと、
    前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定するステップと、
    前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成するステップ以降の各ステップを繰り返すステップと、
    を備えたことを特徴とする、方法。
  2. 前記生成テストデータを妥当でない又は妥当であると判定する2つの前記妥当性判定のステップのうち少なくとも一方において、前記生成テストデータが妥当でないと判定された場合、前記生成テストデータに係るテストパラメータを修正し、前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成するステップを再度実行することを特徴とする、請求項1に記載の方法。
  3. コンピュータに、
    情報処理装置に対して実行されるテストデータのテスト結果が正常と判定された場合の情報を管理するカバレッジ情報と前記テストデータのテスト結果が異常と判定された場合の情報を管理するテスト結果異常情報とを初期化する手順、
    前記カバレッジ情報および前記テスト結果異常情報を参照してテストデータを生成する手順、
    前記生成テストデータがテスト済みかどうかを判断し、テスト済みであれば前記生成テストデータを妥当でないと判定し、前記生成テストデータがテスト済みでなければ前記生成テストデータを妥当であると判定する妥当性判定の手順、
    前記生成テストデータのテスト結果が異常判定済みかどうかを判断し、テスト結果異常判定済みと判断された場合は、前記生成テストデータを妥当でないと判定し、生成テストデータがテスト結果異常判定済みでないと判断された場合は、前記生成テストデータを妥当であると判定する妥当性判定の手順、
    前記両妥当性判定の手順で妥当であると判定された生成テストデータについて前記情報処理装置のシミュレータを用いて擬似テストを実行し、前記擬似テストによる期待値を生成する手順、
    前記両妥当性判定の手順で妥当であると判定された生成テストデータについて前記情報処理装置に対し本テストを実行する手順、
    前記情報処理装置に対して実行した前記本テストのテスト結果と前記期待値とを比較し、前記テスト結果が正常かどうかを判定する手順、
    前記テスト結果の判定が異常と判定された場合は前記テスト結果異常情報を更新し、また前記テスト結果の判定が正常と判定された場合は前記カバレッジ情報を更新して終了判定を行い、前記終了判定において終了条件を満たす場合は論理検証を終了し、終了条件を満たさない場合は前記テストデータを生成する手順以降の各手順を繰り返す手順、を実行させるためのプログラム。
JP2013257573A 2013-12-13 2013-12-13 情報処理装置の論理検証方法及びプログラム Active JP6291242B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013257573A JP6291242B2 (ja) 2013-12-13 2013-12-13 情報処理装置の論理検証方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013257573A JP6291242B2 (ja) 2013-12-13 2013-12-13 情報処理装置の論理検証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015114923A JP2015114923A (ja) 2015-06-22
JP6291242B2 true JP6291242B2 (ja) 2018-03-14

Family

ID=53528648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013257573A Active JP6291242B2 (ja) 2013-12-13 2013-12-13 情報処理装置の論理検証方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6291242B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021261003A1 (ja) * 2020-06-25 2021-12-30 日立Astemo株式会社 電子制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149440A (ja) * 2000-11-08 2002-05-24 Matsushita Electric Ind Co Ltd 論理回路検証方法、及び論理回路検証装置
JP5308098B2 (ja) * 2008-08-13 2013-10-09 株式会社日立情報通信エンジニアリング 情報処理装置試験プログラム及び方法
JP2010267209A (ja) * 2009-05-18 2010-11-25 Fujitsu Semiconductor Ltd 検証支援プログラム、検証支援装置および検証支援方法
JP2011242888A (ja) * 2010-05-14 2011-12-01 Toshiba Corp システム開発支援装置及びプログラム並びに方法
JP5876344B2 (ja) * 2012-03-23 2016-03-02 株式会社日立情報通信エンジニアリング 論理検証システム及びプログラム
JP6155050B2 (ja) * 2013-02-27 2017-06-28 株式会社日立情報通信エンジニアリング 情報処理装置の論理検証方法及びプログラム

Also Published As

Publication number Publication date
JP2015114923A (ja) 2015-06-22

Similar Documents

Publication Publication Date Title
JP7270764B2 (ja) 人工知能チップ検証
CN110633200A (zh) 用于测试智能合约的方法和设备
CN111859832B (zh) 一种芯片仿真验证方法、装置及相关设备
CN111045933A (zh) 一种回归策略更新方法、装置、存储介质及终端设备
CN111936998B (zh) 数据变换流水线的硬件设计的验证
CN110599341A (zh) 交易调用方法及系统
CN109299530A (zh) 一种仿真测试案例生成方法、系统、存储介质和终端
US7124383B2 (en) Integrated proof flow system and method
US10592623B2 (en) Assertion statement check and debug
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
JP6155050B2 (ja) 情報処理装置の論理検証方法及びプログラム
JP6291242B2 (ja) 情報処理装置の論理検証方法及びプログラム
JP2019091144A (ja) シミュレーション装置、シミュレーションシステム、シミュレーション方法及びシミュレーションプログラム
CN112731117A (zh) 芯片的自动验证方法和系统,及存储介质
CN111913858A (zh) 一种压力测试系统和方法
US20120291019A1 (en) Program verification apparatus based on model verifying and storage medium
CN113821898A (zh) 芯片子系统的随机验证方法、装置、设备和存储介质
CN114721922B (zh) 一种服务器集群的性能评估方法、计算设备及存储介质
CN115034165A (zh) 一种芯片仿真验证方法、系统、设备以及存储介质
CN115562931A (zh) 处理器调试模块验证方法、装置、电子设备和存储介质
CN115034164A (zh) 验证方法、电子设备及存储介质
CN110991129A (zh) 一种基于fpga的密码协处理器全自动仿真验证方法
JP6949440B2 (ja) ベクタ生成装置及びベクタ生成用プログラム
US11847393B2 (en) Computing device and method for developing a system model utilizing a simulation assessment module
JP2011034517A (ja) 等価性検証装置、そのデータ処理方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180209

R150 Certificate of patent or registration of utility model

Ref document number: 6291242

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250