JP2016167187A - 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム - Google Patents

模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム Download PDF

Info

Publication number
JP2016167187A
JP2016167187A JP2015046876A JP2015046876A JP2016167187A JP 2016167187 A JP2016167187 A JP 2016167187A JP 2015046876 A JP2015046876 A JP 2015046876A JP 2015046876 A JP2015046876 A JP 2015046876A JP 2016167187 A JP2016167187 A JP 2016167187A
Authority
JP
Japan
Prior art keywords
error
simulated
unit
packet
target
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.)
Pending
Application number
JP2015046876A
Other languages
English (en)
Inventor
貴範 稲垣
Takanori Inagaki
貴範 稲垣
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015046876A priority Critical patent/JP2016167187A/ja
Priority to US15/048,334 priority patent/US20160266205A1/en
Publication of JP2016167187A publication Critical patent/JP2016167187A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31703Comparison aspects, e.g. signature analysis, comparators
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318364Generation of test inputs, e.g. test vectors, patterns or sequences as a result of hardware simulation, e.g. in an HDL environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】 複数の命令を順次転送し、転送した命令に対応する応答を受信するデバイスの動作の検証を、従来に比べて詳細に実行する。
【解決手段】 模擬演算処理装置から順次受信する複数の命令を模擬入出力装置に順次転送し、模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験装置は、複数の命令と複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、模擬デバイスが所定の順序で受信した場合、模擬デバイスによる対象命令の処理の結果としてエラーを発生させるエラー発生部と、エラーを発生させたことを示すエラー発生情報を保持するエラー保持部と、模擬デバイスが受信した複数の応答のうち対象命令に対応する対象応答を、エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較する応答比較部を有する。
【選択図】 図1

Description

本発明は、模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムに関する。
LSI(Large Scale Integration)等のデバイスの性能や機能が増大するのに伴い、デバイスを搭載するシステムの性能や機能も増大してきており、不良が発生する要因が複雑化する傾向にある。これに伴い、デバイスの動作を検証する新たな手法が提案されている。
例えば、バスを介して互いに接続された複数のデバイスを検証するシミュレータは、テストシナリオに記述されたシステムの状態に基づいてエラー発生手段にエラーを発生させ、エラーが発生したときの動作を検証する(例えば、特許文献1参照)。
入出力デバイスを含むシステムの試験は、設定ファイルに設定されたタイミングまたはアドレス値などの所定の条件を満足する場合にエラーを発生する疑似の入出力デバイスを用いて実行される(例えば、特許文献2参照)。
バスを介して情報を伝送する複数の回路の論理を検証するシミュレータは、バス上での伝送遅延および伝送エラーをバスモジュールに疑似的に発生させ、バスの特性を含めて論理を検証する(例えば、特許文献3参照)。
特開2007−58431号公報 特開2003−44369号公報 特開2012−22613号公報
デバイスの内部で発生するエラーは、発生タイミングが互いに異なる複数の要因の組み合わせにより発生する場合があるが、この種のエラーをデバイスに発生させたときのデバイスの動作を検証する手法は提案されていない。
1つの側面では、本件開示の模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムは、複数の命令を順次転送し、転送した命令に対応する応答を受信するデバイスの動作の検証を、従来に比べて詳細に実行することを目的とする。
一つの観点によれば、演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、模擬入出力装置に転送した複数の命令に対応して模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験装置は、複数の命令と複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、模擬デバイスが所定の順序で模擬演算処理装置から受信した場合、模擬デバイスによる対象命令の処理の結果としてエラーを発生させるエラー発生部と、対象命令の処理の結果としてエラーを発生させたことを示すエラー発生情報を保持するエラー保持部と、模擬デバイスが受信した複数の応答のうち対象命令に対応する対象応答を、エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較する応答比較部を有する。
別の観点によれば、演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、模擬入出力装置に転送した複数の命令に対応して模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験方法では、情報処理装置が、複数の命令と複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、模擬デバイスが所定の順序で模擬演算処理装置から受信した場合、模擬デバイスによる対象命令の処理の結果として、エラーを発生し、対象命令の処理の結果としてエラーを発生したことを示すエラー発生情報をエラー保持部に保持し、模擬デバイスが受信した複数の応答のうち対象命令に対応する対象応答を、エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較する。
さらなる別の観点によれば、演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、模擬入出力装置に転送した複数の命令に対応して模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験プログラムにおいて、情報処理装置に、複数の命令と複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、模擬デバイスが所定の順序で模擬演算処理装置から受信した場合、模擬デバイスによる対象命令の処理の結果として、エラーを発生させ、対象命令の処理の結果としてエラーを発生させたことを示すエラー発生情報をエラー保持部に保持させ、模擬デバイスが受信した複数の応答のうち対象命令に対応する対象応答を、エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較させる。
本件開示の模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムは、複数の命令を順次転送し、転送した命令に対応する応答を受信するデバイスの動作の検証を、従来に比べて詳細に実行することができる。
模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの一実施形態を示す図である。 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す図である。 図2に示す対象デバイスの一例を示す図である。 図2に示すエラー生成部の一例を示す図である。 図4に示すデコード部の一例を示す図である。 図4に示すエラー生成部の動作の一例を示す図である。 図2に示すテストシナリオ実行部の応答比較部の動作の一例を示す図である。 図2に示すテストシナリオ実行部が実行するテストシナリオの一例を示す図である。 図2に示すテストシナリオ実行部が実行するテストシナリオの別の例を示す図である。 図2に示すテストシナリオ実行部が実行するテストシナリオの別の例を示す図である。 図2に示す模擬デバイス試験装置として動作する情報処理装置の一例を示す図である。 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す図である。 図12に示す対象デバイスの一例を示す図である。 図12に示すエラー生成部の一例を示す図である。 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す図である。 図15に示すエラー生成部の一例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの一実施形態を示す。図1に示す模擬デバイス試験装置DT1は、LSI等の動作を模擬する模擬デバイス1を用いてLSI等の動作を検証する。模擬デバイス1は、演算処理装置の動作を模擬する模擬演算処理装置2から順次受信する複数の命令INSを、入出力装置の動作を模擬する模擬入出力装置3に順次転送する。また、模擬デバイス1は、模擬入出力装置3に転送した複数の命令INSに対応して模擬入出力装置3から順次受信する複数の応答RESを処理する。模擬デバイス1は、処理した応答RESを命令INSの送信元である模擬演算処理装置2に送信してもよい。図1では、模擬デバイス1は、1つの命令INSに対する3回の処理および1つの応答RESに対する3回の処理の各々を、1サイクルで実行する。なお、模擬デバイス1が1つの命令INSを処理する回数および模擬デバイス1が1つの応答RESを処理する回数は、図1に示す3回に限定されない。例えば、模擬デバイス1が命令INSに対して実行する処理では、命令INSの実体は変更されず、命令INSに含まれる情報が抽出され、または命令INSへ情報が追加される。同様に、模擬デバイス1が応答RESに対して実行する処理では、応答RESの実体は変更されず、応答RESに含まれる情報が抽出され、または応答RESへ情報が追加される。
例えば、模擬デバイス試験装置DT1は、模擬デバイス1の動作を検証する模擬デバイス試験プログラムを情報処理装置等により実行することで、模擬デバイス試験方法を実現する。模擬デバイス1は、模擬デバイス1により模擬されるLSI等の回路記述等の設計データにより表される。模擬演算処理装置2は、演算処理装置の機能のうち、命令INSを送信し、応答RESを受信する機能を含み、模擬入出力装置3は、情報を入出力する機能のうち命令INSを受信し、応答RESを送信する機能を含む。なお、模擬デバイス試験装置DT1は、ハードウェアにより実現されてもよい。模擬デバイス1、模擬演算処理装置2および模擬入出力装置3の少なくともいずれかは、実際のデバイスが使用されてもよい。また、模擬デバイス1には、模擬演算処理装置2および模擬入出力装置3以外の模擬装置が接続されてもよい。
模擬デバイス試験装置DT1は、エラー発生部4、エラー保持部6および応答比較部8を有する。エラー発生部4は、複数の命令INSと複数の応答RESとの少なくともいずれかと、エラーの発生を指示する対象命令TINSとを、模擬デバイス1が所定の順序で模擬演算処理装置2から受信した場合、発生情報EINを出力する。発生情報EINは、模擬デバイス1による対象命令TINSの処理の結果として発生するエラーを示し、模擬デバイス1およびエラー保持部6に出力される。模擬デバイス1は、発生情報EINに基づいて対象命令TINSにエラーを発生させる。
例えば、エラー発生部4は、対象命令TINSを受信する2サイクル前に、所定の命令INSを受信した場合、発生情報EINを出力する。あるいは、エラー発生部4は、対象命令TINSを受信する1サイクル前に、所定の命令INSに対応する応答RESを受信した場合、発生情報EINを出力する。すなわち、エラー発生部4は、模擬デバイス1が処理する対象命令TINSと他の命令と応答との組み合わせに基づいて、発生情報EINを出力する。一方、エラー発生部4は、複数の命令INSと複数の応答RESとの少なくともいずれかと、エラーの発生が指示された対象命令TINSとを、模擬デバイス1が所定の順序で受信しない場合、発生情報EINを出力しない。
なお、エラー発生部4は、応答RESを参照することなく、対象命令TINSを含む複数の命令INSを模擬デバイス1が所定の順序で受信した場合、発生情報EINを出力してもよい。また、エラー発生部4は、模擬デバイス1が処理している対象命令TINSに含まれる情報を取り出し、取り出した情報にエラーを発生させ、エラーを発生させた情報を模擬デバイス1が処理している対象命令TINSに戻してもよい。すなわち、エラーは、エラー発生部4の内部で発生されてもよい。
エラー保持部6は、発生情報EINの受信に基づいて、対象命令TINSの処理の結果としてエラーを発生させたことを示すエラー発生情報EGを保持し、保持しているエラー発生情報EGを応答比較部8に出力する。
応答比較部8は、対象命令TINSの処理の結果としてエラーを発生させたことを示すエラー発生情報EGを受信した場合、対象命令TINSに対応して模擬デバイス1が受信した応答RESである対象応答を、エラーを発生させた場合の期待値EXPEと比較する。一方、応答比較部8は、エラー発生情報EGを受信しない場合、対象命令TINSに対応して模擬デバイス1が受信した対象応答を、エラーを発生させない場合の期待値EXPと比較する。
そして、応答比較部8は、応答RESと期待値EXPEとが一致する場合、または応答RESと期待値EXPとが一致する場合、模擬デバイス1が正しく動作したことを示す検証結果RSLTを出力する。一方、応答比較部8は、応答RESと期待値EXPEとが一致しない場合、または応答RESと期待値EXPとが一致しない場合、模擬デバイス1が正しく動作しなかったことを示す検証結果RSLTを出力する。すなわち、模擬デバイス試験装置DT1による模擬デバイス1の動作の検証(模擬デバイス試験方法)が実行される。
以上、図1に示す実施形態では、全ての対象命令TINSにエラーを発生させて期待値EXPEと比較するのではなく、対象命令TINSを受信した場合に模擬デバイス1が処理している命令または応答に基づいて、エラーの発生の有無を選択することができる。この結果、複数の命令INSを順次転送し、転送した命令INSに対応して順次受信する複数の応答RESを処理する模擬デバイス1の動作の検証を、従来に比べて複雑な条件を指定して実行することができ、詳細な検証を実行することができる。
エラーを発生させたか否かを示すエラー発生情報EGをエラー保持部6に保持させることで、2つの期待値EXP、EXPEのいずれかを用いて、エラーを発生させた場合とエラーを発生させなかった場合の両方の検証を実行することができる。これにより、1つの期待値を用いて検証を実行する場合に比べて、検証の効率を向上することができる。
図2は、模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す。例えば、図2に示す模擬デバイス試験装置DT2は、対象デバイス10の論理を検証する模擬デバイス試験プログラムを実行する情報処理装置により実現される。模擬デバイス試験プログラムを実行する情報処理装置は、シミュレータとして機能し、対象デバイス10の論理を検証する模擬デバイス試験方法に基づく動作を実行する。模擬デバイス試験装置DT2を実現する情報処理装置の例は、図11に示される。
模擬デバイス試験装置DT2は、試験の対象である対象デバイス10と、バスBUS1を介して対象デバイス10に接続される疑似デバイス20と、バスBUS2を介して対象デバイス10に接続される疑似デバイス30とを有する。また、模擬デバイス試験装置DT2は、対象デバイス10にエラーを発生させる発生情報EINを生成するエラー生成部40と、テストシナリオ52を実行し、対象デバイス10の論理を検証するテストシナリオ実行部50とを有する。
対象デバイス10は、バスBUS1を介して疑似デバイス20から受信するパケットP11を処理し、パケットP12としてバスBUS2を介して疑似デバイス30に転送する機能を有する。また、対象デバイス10は、バスBUS2を介して疑似デバイス20から受信するパケットP21を処理し、パケットP22としてバスBUS1を介して疑似デバイス20に転送する機能を有する。例えば、バスBUS1、BUS2は、PCI(Peripheral Component Interconnect)バスまたはPCI express(登録商標)バスである。パケットP11、P12、P21、P22は、PCIまたはPCIeの規格にしたがってバスBUS1、BUS2上に伝送される。なお、バスBUS1、BUS2は、他のバス規格でもよい。
疑似デバイス20は、CPU(Central Processing Unit)等の演算処理装置の機能のうち、バスBUS1にパケットP11を送信する機能と、バスBUS1からパケットP22を受信する機能とを含む。疑似デバイス20は、テストシナリオ実行部50から出力されるテストパターンTPにしたがって動作する。
疑似デバイス30は、疑似デバイス20(CPU等の演算処理装置)により動作が制御される入出力装置等の周辺装置の機能のうち、バスBUS2からパケットP12を受信する機能と、バスBUS2にパケットP21を送信する機能とを含む。すなわち、疑似デバイス20は、CPUの機能のうち、対象デバイス10とのインタフェース機能を含み、疑似デバイス30は、CPUにより制御される入出力装置の機能のうち、対象デバイス10とのインタフェース機能を含む。対象デバイス10は、疑似デバイス20から順次受信する複数の命令を疑似デバイス30に転送し、疑似デバイス30から順次受信する複数の応答を処理する模擬デバイスの一例である。疑似デバイス20は、演算処理装置の動作を模擬する模擬演算処理装置の一例であり、疑似デバイス30は、入出力装置の動作を模擬する模擬入出力装置の一例である。
疑似デバイス20が送信したパケットP11に応答して疑似デバイス30がパケットP21を返送する場合、パケットP21、P22は、応答パケットとして扱われる。この場合、パケットP11、P12は、命令の一例であり、パケットP21、P22は、命令P11、P12に対応する応答の一例である。また、疑似デバイス30が送信したパケットP21に応答して疑似デバイス20がパケットP11を返送する場合、パケットP11、P12は、応答パケットとして扱われる。
例えば、対象デバイス10は、CPUと入出力装置との間に接続されるスイッチの機能を有し、スイッチの回路記述等の設計データにより表される。なお、対象デバイス10は、CPUと入出力装置との間に接続されるブリッジの機能を有してもよい。そして、模擬デバイス試験装置DT2は、CPUと入出力装置との間に接続されるスイッチまたはブリッジの論理を検証する。対象デバイス10とのインタフェース機能を含む疑似デバイス20、30を用いることで、バスBUS1、BUS2を介してCPUおよび入出力装置に接続されるスイッチの論理を、システムレベルで検証することができる。
エラー生成部40は、エラーを発生させるパケットP11を識別する識別番号PIDsと、パケットP11にエラーを発生させる条件を識別する識別番号CIDsとをテストシナリオ実行部50から受信する。識別番号PIDsにより識別されるパケットP11は、エラーの発生が指示された対象命令の一例である。識別番号CIDsは、複数のパケットP11と複数の応答パケットP21との少なくともいずれかと、識別番号PIDsにより示されるパケットP11とが、対象デバイス10に供給される順序を示す順序情報の一例である。換言すれば、識別番号CIDsは、エラーを発生させる条件であるパケットP11、P21の組み合わせを示す。識別番号CIDsにより示されるパケットP11、P21の組み合わせの例は、図5に示される。
エラー生成部40は、対象デバイス10が受信したパケットP11を識別する識別番号PIDと、対象デバイス10内で順次処理される複数のパケットP11、P21の種別を示す種別情報PTYPとを、対象デバイス10から受信する。エラー生成部40は、種別情報PTYPに基づいて、対象デバイス10が処理している複数のパケットP11、P21の組み合わせを示す識別番号CID(図4)を生成する。
エラー生成部40は、識別番号PIDが識別番号PIDsと一致する場合、パケットP11にエラーを発生させる発生情報EINを対象デバイス10に出力する。あるいは、エラー生成部40は、識別番号PIDが識別番号PIDsと一致し、かつ種別情報PTYPに対応する識別番号CIDが識別番号CIDsと一致する場合、発生情報EINを対象デバイス10に出力する。発生情報EINを出力する条件は、図4で説明される。対象デバイス10は、発生情報EINに基づいて、パケットP11にエラーを埋め込み、パケットP12として疑似デバイス30に送信する。すなわち、エラー生成部40は、対象デバイス10が処理しているパケットP11のうち識別番号PIDsにより識別されるパケットP11にエラーを挿入する。エラー生成部40は、発生情報EINの出力に基づいて、エラーが埋め込まれたことを示すエラー発生情報EGをテストシナリオ実行部50に出力する。
疑似デバイス30は、受信したパケットP12に基づいて内部処理を実行し、内部処理の実行結果を示すパケットP21(応答パケット)を対象デバイス10に送信する。対象デバイス10は、パケットP21を処理し、パケットP22として疑似デバイス20に送信する。
なお、種別情報PTYPは、対象デバイス10内で順次保持される疑似デバイス20からの複数のパケットP11の種別だけでなく、対象デバイス10内で順次保持される疑似デバイス30からの複数の応答パケットP21の種別を示してもよい。この場合、テストシナリオ実行部50は、疑似デバイス20から対象デバイス10に送信されるパケットP11と、疑似デバイス30から対象デバイス10に送信される応答パケットP21との組み合わせを示す識別番号CIDsをエラー生成部40に送信する。エラー生成部40は、種別情報PTYPに基づいて、対象デバイス10が保持している複数のパケットP12、P21の組み合わせを示す識別番号CIDを生成し、識別番号CID、CIDsの一致を判定する。
テストシナリオ実行部50は、テストシナリオ52にしたがって、疑似デバイス20を動作させるテストパターンTPを疑似デバイス20に出力するとともに、識別番号PIDs、CIDsをエラー生成部40に出力する。テストシナリオ実行部50は、識別番号CIDsを指定せずに識別番号PIDsを指定してパケットP11にエラーを埋め込む場合、エラー発生情報EGに拘わらず、応答パケットP22に含まれる情報CPLと期待値とを応答比較部54に比較させる。エラーが埋め込まれたパケットP11に対応する応答パケットP22は、対象応答の一例である。
一方、テストシナリオ実行部50は、識別番号PIDsとともに識別番号CIDs(エラーの発生条件)を指定してパケットP11にエラーを埋め込む場合、エラー発生情報EGに基づいた比較を応答比較部54に実行させる。すなわち、応答比較部54は、応答パケットP22に含まれる情報CPLを2つの期待値のいずれかと比較する。応答比較部54の動作の例は、図7に示され、テストシナリオ実行部50が実行するテストシナリオ52の例は、図8から図10に示される。
図3は、図2に示す対象デバイス10の一例を示す。対象デバイス10は、パケットP11を順次処理してパケットP12を生成する処理部STGA(STGA0、STGA1、STGA2)を有する。また、対象デバイス10は、パケットP21を順次処理してパケットP22を生成する処理部STGB(STGB0、STGB1、STGB2)を有する。各処理部STGA、STGBは、受信したパケットに含まれる情報を抽出または削除し、あるいは、受信したパケットに情報を追加する機能を有する。
さらに、処理部STGA0は、疑似デバイス20から受信するパケットP11に含まれる識別番号PIDを抽出し、抽出した識別番号PIDを図2に示すエラー生成部40に出力する機能を有する。また、処理部STGA0は、エラー生成部40から発生情報EINを受けた場合に、パケットP11に含まれる情報にエラーを埋め込む機能を有する。なお、エラーを埋め込む機能は、処理部STGA1または処理部STGA2に設けられてもよい。エラーを発生させる機能を理部STGA1または処理部STGA2に設けることで、識別番号PIDに対応するパケットP11の後に対象デバイス10に供給されるパケットP11を、エラーの発生の条件に含めることができる。
各処理部STGAは、処理するパケットP11が書き込みパケットの場合、パケット情報WRA(WRA0、WRA1、WRA2)を種別情報PTYPとして出力する。各処理部STGAは、処理するパケットP11が読み出しパケットの場合、パケット情報RDA(RDA0、RDA1、RDA2)を種別情報PTYPとして出力する。書き込みパケットは、疑似デバイス20が疑似デバイス30の所定の領域にデータを書き込む場合に生成され、読み出しパケットは、疑似デバイス20が疑似デバイス30の所定の領域からデータを読み出す場合に生成される。
また、各処理部STGAは、処理するパケットP11が、書き込みパケットに応答する応答パケットまたは読み出しパケットに応答する応答パケットの場合、パケット情報CPLA(CPLA0、CPLA1、CPLA2)を種別情報PTYPとして出力する。応答パケットは、書き込みパケットまたは読み出しパケットを受信した疑似デバイス30により生成され、読み出しパケットに応答する応答パケットは、読み出しデータを含む。
各処理部STGBは、処理するパケットP21が書き込みパケットの場合、パケット情報WRB(WRB0、WRB1、WRB2)を種別情報PTYPとして出力する。各処理部STGBは、処理するパケットP21が読み出しパケットの場合、パケット情報RDB(RDB0、RDB1、RDB2)を種別情報PTYPとして出力する。また、各処理部STGBは、処理するパケットP21が、書き込みパケットに応答する応答パケットまたは読み出しパケットに応答する応答パケットの場合、パケット情報CPLB(CPLB0、CPLB1、CPLB2)を種別情報PTYPとして出力する。
なお、処理部STGA、STGBの数は、3つに限定されず、各処理部STGA、STGBが出力するパケット情報の種類は、3種類に限定されない。
図4は、図2に示すエラー生成部40の一例を示す。エラー生成部40は、バッファBUF1、BUF2、BUF3、BUF4、複数の比較部CMP1、複数の比較部CMP2、判定部JDG1、JDG2および合成部COMを有する。バッファBUF1、BUF2、BUF3、複数の比較部CMP1、複数の比較部CMP2および判定部JDG1は、対象デバイス10内で処理されるパケットP11の処理の結果としてエラーを発生させるエラー発生部の一例である。バッファBUF1は、第3の保持部の一例であり、バッファBUF2は、第1の保持部の一例であり、バッファBUF3は、第2の保持部の一例であり、バッファBUF4は、エラー保持部の一例である。各比較部CMP1は、第3の検出部の一例であり、各比較部CMP2は、第1の検出部の一例であり、比較部CMP3は、順序比較部の一例である。判定部JDG1は、第2の検出部の一例である。
バッファBUF1は、図2に示すテストシナリオ実行部50から出力される識別番号PIDsが順次格納される複数の記憶領域を有し、格納された識別番号PIDsを、複数の記憶領域にそれぞれ対応する比較部CMP1に出力する。識別番号PIDsは、テストシナリオ実行部50が実行するテストシナリオ52に基づいてテストシナリオ実行部50により生成される。複数の比較部CMP1は、バッファBUF1の記憶領域のそれぞれに対応して設けられる。比較部CMP1の各々は、対象デバイス10からの識別番号PIDと、バッファBUF1からの識別番号PIDsとの一致を検出する。各比較部CMP1は、識別番号PIDを表す複数ビットの各ビットと、バッファBUF1から出力される識別番号PIDsを表す複数ビットの各ビットとの否排他的論理和を演算することで、識別番号PID、PIDsの一致を検出する。各比較部CMP1は、識別番号PID、PIDsが互いに一致する場合、合成部COMに論理1を出力する。
図4に示す例では、識別番号PIDが、バッファBUF1の記憶領域の1つに格納された”1”である場合、比較部CMP1の1つは、合成部COMに論理1を出力する。合成部COMは、判定部JDG2または比較部CMP1のいずれかから論理1を受けた場合、パケットP11にエラーを埋め込むために、対象デバイス10に発生情報EINを出力する。合成部COMは、判定部JDG2および比較部CMP1の両方から論理0を受けた場合、パケットP11にエラーを埋め込まないために、対象デバイス10への発生情報EINの出力を抑止する。合成部COMにより、バッファBUF1に保持された情報、またはバッファBUF2、BUF3に保持された情報に基づいて、パケットP11にエラーを埋め込むことができる。すなわち、パケットP11の順序の条件を含む場合と含まない場合の両方において、パケットP11にエラーを埋め込むことができ、様々な条件を用いて、対象デバイス10の論理を検証することができる。
バッファBUF2は、テストシナリオ実行部50から出力される識別番号PIDsが順次格納される複数の記憶領域を有し、格納された識別番号PIDsを、複数の記憶領域にそれぞれ対応する比較部CMP2に出力する。複数の比較部CMP2は、バッファBUF2の記憶領域のそれぞれに対応して設けられる。比較部CMP2の各々は、対象デバイス10からの識別番号PIDと、バッファBUF2からの識別番号PIDsとの一致を検出する。各比較部CMP2は、識別番号PIDを表す複数ビットの各ビットと、バッファBUF2から出力される識別番号PIDsを表す複数ビットの各ビットとの否排他的論理和を演算することで、識別番号PID、PIDsの一致を検出する。各比較部CMP2は、識別番号PID、PIDsが互いに一致する場合、判定部JDG2に論理1を出力する。
バッファBUF3は、識別番号PIDにそれぞれ対応して識別番号CIDsが格納される複数の記憶領域を有する。バッファBUF3は、対象デバイス10から識別番号PIDを受信した場合、識別番号PIDに対応する記憶領域に格納されている識別番号CIDsを判定部JDG1に出力する。なお、バッファBUF3の記憶領域に格納される”0”は、比較部CMPによる比較対象でない無効な識別番号CIDsを示す。
判定部JDG1は、デコード部CDECと比較部CMP3とを有する。デコード部CDECは、対象デバイス10から出力される種別情報PTYPをデコードし、種別情報PTYPが示すパケットの組み合わせを示す識別番号CIDを生成する。種別情報PTYPは、対象デバイス10が受信した複数のパケットP11、P21を示す命令情報の一例である。
比較部CMP3は、デコード部CDECにより生成された識別番号CIDと、識別番号PIDに対応してバッファBUF3から出力される識別番号CIDsとの一致を検出する。比較部CMP3は、識別番号CIDを表す複数ビットの各ビットと、バッファBUF3から出力される識別番号CIDsを表す複数ビットの各ビットとの否排他的論理和を演算することで、識別番号CID、CIDsの一致を検出する。比較部CMP3は、識別番号CID、CIDsが互いに一致する場合、判定部JDG2に論理1を出力する。すなわち、比較部CMP3は、図3に示す処理部STGA、STGBに保持されたパケットの組み合わせが、テストシナリオ52で指定されたエラーを発生させる組み合わせと一致する場合に、論理1を出力する。
判定部JDG2は、比較部CMP2のいずれかが識別番号PID、PIDsの一致を検出し、かつ比較部CMP3が識別番号CID、CIDsの一致を検出した場合、パケットP11にエラーを埋め込むために合成部COMに論理1を出力する。これにより、エラーを埋め込む対象の複数のパケットP11のうち、対象デバイス10が識別番号CIDsで示される順序で所定のパケットP11を受信した場合、対象のパケットP11にエラーを埋め込むことができる。すなわち、パケットP11にエラーを埋め込む条件を従来に比べて詳細に設定することができる。また、条件を指定せずに対象のパケットP11を含む複数の組み合わせのパケット群P11を対象デバイス10に複数回にわたり供給する場合に比べて、テストパターンTPを短くすることができる。これにより、対象デバイス10の検証に掛かる時間を従来に比べて短縮することができ、検証の効率を向上することができる。さらに、バッファBUF1、BUF2、BUF3の各々は、複数の記憶領域を有するため、エラーを発生させる複数の条件を指定することができ、検証の効率をさらに向上することができる。
図4に示す例では、識別番号PIDが、バッファBUF2に格納された”2”であり、識別番号CIDが、バッファBUF3における識別番号PIDに対応する記憶領域に格納された”1”である場合、判定部JDG2は、合成部COMに論理1を出力する。
バッファBUF4は、合成部COMが出力する論理を、識別番号PIDにそれぞれ対応して格納する複数の記憶領域を有する。バッファBUF4は、対象デバイス10からの識別番号PIDに対応する記憶領域に格納されている論理をエラー発生情報EGとしてテストシナリオ実行部50に出力する。図4において、識別番号PID=”2”に対応するバッファBUF4の記憶領域に格納された”0”は、対象デバイス10により識別番号PID=”2”のパケットの処理の結果としてエラーが発生されなかったことを示す。
エラーを発生させる対象のパケット毎に、バッファBUF4に複数の記憶領域を設けることで、エラーの発生の有無を示す複数の情報をバッファBUF4に保持することができる。これにより、1つのテストシナリオ52により、複数の種類の検証を実行することができ、検証の効率を向上することができる。また、バッファBUF4の複数の記憶領域は、エラーを発生させる対象のパケットP11の識別番号PID毎に設けられるため、パケットP11の順序を指定する場合と指定しない場合とのそれぞれの検証において、バッファBUF4を共通に使用することができる。
図5は、図4に示すデコード部CDECの一例を示す。識別番号CIDに対応して示される符号CND1、CND2、CND3は、図8から図10に示すテストシナリオ52の命令の記述で使用される。
図5に示す例では、デコード部CDECは、図3に示すステージSTGA2で読み出しパケットが処理され、ステージSTGA0で書き込みパケットが処理されるタイミングが発生した場合(RDA2、WRA0)、識別番号CIDを”1”に設定する。すなわち、デコード部CDECは、書き込みパケットの2サイクル前に読み出しパケットが発行されたことを判定した場合、識別番号CIDを”1”に設定する。
また、デコード部CDECは、ステージSTGA0で書き込みパケットが処理され、ステージSTGB1で応答パケットが処理されるタイミングが発生した場合(WRA0、CPLB1)、識別番号CIDを”2”に設定する。すなわち、デコード部CDECは、書き込みパケットの所定サイクル前に発行されたパケットの応答パケットが発行されたことを判定した場合、識別番号CIDを”2”に設定する。
さらに、デコード部CDECは、ステージSTGA0、STGA1、STGA2で書き込みパケットが連続して処理されるタイミングが発生した場合(WRA2、WRA1、WRA0)、識別番号CIDを”3”に設定する。すなわち、デコード部CDECは、書き込みパケットが連続して3サイクル発行されたことを判定した場合、識別番号CIDを”3”に設定する。
このように、デコード部CDECは、対象デバイス10から出力される種別情報PTYPに基づいて、対象デバイス10が受信した複数のパケットP11、P21との少なくとも2つの順序を判定する。そして、デコード部CDECは、判定した順序(すなわち、対象デバイス10で処理されるパケットP11、P21の組み合わせ)を示す識別番号CIDを生成する。なお、識別番号CIDで表される複数のパケットの組み合わせは、図5に示す例に限定されない。
デコード部CDECを設けることで、対象デバイス10の各処理部STGA、STGBから処理中のパケットP11、P21を示す情報を取り出すことで、パケットP11、P21の順序を判定することができる。これにより、検証のために対象デバイス10に追加される論理を最小限にして、対象デバイス10の論理を検証することができる。
図6は、図4に示すエラー生成部40の動作の一例を示す。図6に示すフローは、所定の周期で繰り返し実行される。
まず、ステップS102において、エラー生成部40は、エラーを埋め込むパケットP11を示す識別番号PIDsをテストシナリオ実行部50から受信したか否かを判定する。識別番号PIDsを受信した場合、処理はステップS104に移行され、識別番号PIDsを受信していない場合、処理は終了する。
ステップS104において、エラー生成部40は、エラーを発生させる条件を示す識別番号CIDsをテストシナリオ実行部50から受信したか否かを判定する。識別番号CIDsを受信した場合、処理はステップS106に移行され、識別番号CIDsを受信していない場合、処理はステップS110に移行される。
ステップS106において、エラー生成部40は、受信した識別番号PIDsをバッファBUF2に書き込み、受信した識別番号CIDsをバッファBUF3に書き込む。すなわち、エラー生成部40は、識別番号CIDsにより示される条件が一致した場合に、識別番号PIDsにより示されるパケットP11にエラーを発生させるための情報をバッファBUF2、BUF3に格納する。
次に、ステップS108において、エラー生成部40は、ステップS102で受信した識別番号PIDsに対応するバッファBUF4の記憶領域を、エラーを発生させていないことを示す”0”に初期化し、処理をステップS112に移行する。
一方、ステップS110において、エラー生成部40は、受信した識別番号PIDsをバッファBUF1に書き込む。すなわち、エラー生成部40は、識別番号CIDsを受信せず、識別番号PIDsを受信した場合、識別番号PIDsにより示されるパケットP11に無条件でエラーを発生させるための情報をバッファBUF1に格納する。この後、処理は、ステップS112に移行される。
ステップS112において、エラー生成部40は、対象デバイス10が受信したパケットP11を示す識別番号PIDを対象デバイス10から受信する。エラー生成部40は、受信した識別番号PIDが、バッファBUF1、BUF2のいずれかに格納されている識別番号PIDsと一致する場合、パケットP11にエラーを発生させる可能性があるため、処理をステップS114に移行する。エラー生成部40は、受信した識別番号PIDが、バッファBUF1、BUF2に格納されている識別番号PIDsのいずれとも一致しない場合、パケットP11にエラーを埋め込まないため、処理を終了する。ステップS112による判定は、図4に示す比較部CMP1、CMP2により実行される。
ステップS114において、エラー生成部40は、対象デバイス10が順次受信した複数のパケットP11の各々の種別を示す種別情報PTYPを対象デバイス10から受信する。エラー生成部40のデコード部CDECは、受信した種別情報PTYPに基づいて、対象デバイス10が処理している複数のパケットP11、P21の組み合わせを示す識別番号CIDを生成する。
次に、ステップS116において、エラー生成部40は、生成した識別番号CIDが、対象デバイス10から受信した識別番号PIDに対応するバッファBUF3の記憶領域に格納されている識別番号CIDsと一致するか否かを判定する。識別番号CID、CIDsが一致する場合、処理はステップS118に移行され、識別番号CID、CIDsが一致しない場合、処理はステップS124に移行される。ステップS116による判定は、図4に示す判定部JDG1、JDG2により実行される。
ステップS118において、エラー生成部40は、識別番号PIDにより示されるパケットP11にエラーを埋め込むために、対象デバイス10に発生情報EINを出力する。対象デバイス10は、発生情報EINに基づいて、処理部STGA0で処理中のパケットP11にエラーを埋め込む。次に、ステップS120において、エラー生成部40は、受信したパケットP11の識別番号PIDに対応するバッファBUF4の記憶領域に”1”を書き込む。バッファBUF4は、識別番号PIDを受信している間、受信したパケットP11の識別番号PIDに対応する記憶領域に格納された”1”をエラー発生情報EGとしてテストシナリオ実行部50に出力する。
次に、ステップS122において、エラー生成部40は、対象デバイス10が受信したパケットP11の識別番号PIDに対応する識別番号PIDsを、バッファBUF2の記憶領域から削除する。また、エラー生成部40は、対象デバイス10が受信したパケットP1の識別番号PIDに対応するバッファBUF3の記憶領域に格納されている識別番号CIDsを削除する(”0”にリセット)。そして、エラー生成部40は、複数のパケットの組み合わせの条件が一致した場合にエラーを発生させる処理を終了する。
一方、ステップS124において、エラー生成部40は、識別番号PIDにより示されるパケットP11にエラーを埋め込むために、対象デバイス10に発生情報EINを出力する。対象デバイス10は、発生情報EINに基づいて、処理部STGA0で処理中のパケットP11にエラーを埋め込む。次に、ステップS126において、エラー生成部40は、対象デバイス10が受信したパケットP11の識別番号PIDに対応する識別番号PIDsを、バッファBUF1の記憶領域から削除する。そして、エラー生成部40は、識別番号CIDsによる条件を指定することなく、識別番号PIDsにより指定されたパケットP11にエラーを埋め込む処理を終了する。
図7は、図2に示すテストシナリオ実行部50の応答比較部54の動作の一例を示す。図7に示すフローは、所定の周期で繰り返し実行される。
まず、ステップS202において、応答比較部54は、疑似デバイス20からの情報CPLに基づいて、疑似デバイス20が応答パケットP22を受信したと判定した場合、処理をステップS204に移行する。応答比較部54は、疑似デバイス20からの情報CPLに基づいて、疑似デバイス20が応答パケットP22を受信していないと判定した場合、処理を終了する。
ステップS204において、応答比較部54は、応答パケットP22が、パケットの組み合わせの条件(バッファBUF3に書き込んだ識別番号CIDs)に基づいてエラーを発生させるパケットに対応するか否かを判定する。すなわち、応答パケットP22の元である読み出しパケットにより読み出す情報を書き込んだ書き込みパケットに、パケットの組み合わせの条件に基づいてエラーが挿入された場合、応答比較部54は、処理をステップS206に移行する。一方、応答パケットP22の元である読み出しパケットにより読み出す情報を書き込んだ書き込みパケットに、パケットの組み合わせの条件に基づいてエラーが挿入されていない場合、応答比較部54は、処理をステップS214に移行する。すなわち、応答比較部54は、書き込みパケットにエラーが挿入されていない場合、または、識別番号CIDsを指定することなく識別番号PIDsに基づいて書き込みパケットにエラーが挿入された場合、処理をステップS214に移行する。
ステップS206において、応答比較部54は、応答パケットP22に含まれる識別番号PIDに対応するバッファBUF4の記憶領域に格納されたエラー発生情報EGの値を読み出す。なお、応答パケットP22に含まれる識別番号PIDは、応答パケットP22の元である読み出しパケットを識別する識別番号PIDと同じ値である。
次に、ステップS208において、応答比較部54は、エラー発生情報EGの値が”1”の場合、識別番号CIDsによるパケットの組み合わせの条件の一致に基づいてエラーが挿入されたと判断し、処理をステップS210に移行する。一方、応答比較部54は、エラー発生情報EGの値が”0”の場合、識別番号CIDsによるパケットの組み合わせの条件に一致せず、エラーが挿入されなかったと判断し、処理をステップS212に移行する。
ステップS210において、応答比較部54は、エラーが挿入された場合の期待値を用いて応答パケットP22に含まれる情報をチェックし、対象デバイス10の論理を検証し、処理を終了する。応答比較部54は、応答パケットP22に含まれる情報(例えば、読み出しデータ)が期待値と一致する場合、発生されたエラーに応じて対象デバイス10が正しく動作したと判断する。一方、応答比較部54は、応答パケットP22に含まれる情報が期待値と一致しない場合、発生されたエラーに応じて対象デバイス10が誤動作したと判断する。
ステップS212において、応答比較部54は、エラーが発生されなかった場合の期待値を用いて応答パケットP22に含まれる情報をチェックし、対象デバイス10の論理を検証し、処理を終了する。応答比較部54は、応答パケットP22に含まれる情報が期待値と一致する場合、対象デバイス10が正しく動作したと判断し、応答パケットP22に含まれる情報が期待値と一致しない場合、対象デバイス10が誤動作したと判断する。
このように、エラー発生情報EGの値に応じて、判定に使用する期待値を変更することにより、パケットP11にエラーを埋め込んだ場合とパケットP11にエラーを埋め込まなかった場合とのそれぞれにおいて、検証を正しく実行することができる。さらに、パケットP11にエラーを埋め込んだ場合とパケットP11にエラーを埋め込まなかった場合との2つの期待値を、テストシナリオ52に含ませることができ、複数回に分けて検証を実行する場合に比べて検証の効率を向上することができる。
ステップS214において、応答比較部54は、期待値を用いて応答パケットP22に含まれる情報をチェックし、対象デバイス10の論理を検証し、処理を終了する。応答比較部54は、応答パケットP22に含まれる情報が期待値と一致する場合、対象デバイス10が正しく動作したと判断し、応答パケットP22に含まれる情報が期待値と一致しない場合、対象デバイス10が誤動作したと判断する。ステップS214による処理は、識別番号CIDsによる条件を指定することなく、識別番号PIDsに基づいて書き込みパケットにエラーを埋め込んだ場合のチェックと、書き込みパケットにエラーを埋め込まなかった場合のチェックとを含む。
図8は、図2に示すテストシナリオ実行部50が実行するテストシナリオ52の一例を示す。テストシナリオ実行部50は、テストシナリオ52にしたがって疑似デバイス20にテストパターンTPを出力し、疑似デバイス20にパケットP11を送信させ、疑似デバイス20が受信した応答パケットP22に含まれる情報と期待値とを比較する。図8では、便宜上、テストシナリオ52の左側に、テストシナリオ52に含まれる記述の行番号が示される。
テストシナリオ52において、”//”は、コメント行を示す。”GenWritePacket”は、疑似デバイス20に書き込みパケットを生成させる命令を示し、”GenReadPacket”は、疑似デバイス20に読み出しパケットを生成させる命令を示す。”SetErrorPacketID”は、エラーを発生させる条件をエラー生成部40に設定する命令を示す。
まず、行4において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD1で示される領域にデータDT1を書き込む書き込みパケット(識別番号PID=ID1)を疑似デバイス20に送信させる。
行8において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD1で示される領域からデータ(期待値=DT1)を読み出す読み出しパケット(識別番号PID=ID1)を疑似デバイス20に送信させる。そして、テストシナリオ実行部50の応答比較部54は、読み出しパケットに応答する疑似デバイス30からの応答パケットP22(識別番号PID=ID1)に含まれる読み出しデータを期待値(DT1)と比較することで、対象デバイス10の論理を検証する。
次に、行12において、テストシナリオ実行部50は、対象デバイス10にエラーを埋め込む書き込みパケットを示す識別番号PIDs(=ID2)と条件CND1とをエラー生成部40に設定する。条件CND1は、図5に示すように、対象デバイス10が書き込みパケットを受信する2サイクル前に読み出しパケットを受信することである。すなわち、図8に示すテストシナリオ52では、条件CND1に示される順序でパケットを処理中の対象デバイス10にエラーを発生させた場合の動作が検証される。
行15において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD2で示される領域にデータDT2を書き込む書き込みパケット(識別番号PID=ID2)を疑似デバイス20に送信させる。
行20において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD2で示される領域からデータ(期待値=DT2)を読み出す読み出しパケット(識別番号PID=ID2)を疑似デバイス20に送信させる。行20に記述された命令は、条件CND1が一致せず、エラーが発生されない場合の期待値DT2と、条件CND1が一致してエラーが発生された場合の期待値DT2’との両方を含む。
応答比較部54は、条件CND1が一致しない場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT2と比較する。一方、応答比較部54は、条件CND1が一致する場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT2’と比較する。条件CND1の一致/不一致は、図4に示すバッファBUF4から出力されるエラー発生情報EGの論理に基づいて判断される。そして、テストシナリオ実行部50は、応答パケットP22に含まれる読み出しデータを期待値DT2、DT2’のいずれかと比較することで、対象デバイス10の論理を検証する。
図9は、図2に示すテストシナリオ実行部50が実行するテストシナリオ52の別の例を示す。図8と同じ記述については、詳細な説明は省略する。行4、行8の記述は、図8に示す行4、行8の記述とそれぞれ同じである。行10に記述された”Wait”は、疑似デバイス20にパケットを送信させた後、次のパケットの送信を所定のサイクル待たせる命令を示す。行17、行22の記述は、図8に示す行15、行20の記述とそれぞれ同じである。
行10において、テストシナリオ実行部50は、疑似デバイス20に行8に記述した読み出しパケットを送信させた後、行17に記述した次の書き込みパケットの送信を所定のサイクル待たせる。次に、行14において、テストシナリオ実行部50は、対象デバイス10にエラーを発生させる書き込みパケットを示す識別番号PIDs(=ID2)と条件CND2とをエラー生成部40に設定する。条件CND2は、図5に示すように、対象デバイス10が書き込みパケットを受信した場合に、図3に示す処理部STGB1で応答パケットP22を処理している条件である。すなわち、図9に示すテストシナリオ52では、条件CND2に示される順序でパケットを処理中の対象デバイス10にエラーを発生させた場合の動作が検証される。
そして、所定のサイクルが経過した後、行17において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD2で示される領域にデータDT2を書き込む書き込みパケット(識別番号PID=ID2)を疑似デバイス20に送信させる。
行22において、テストシナリオ実行部50は、図8と同様に、疑似デバイス30においてアドレスAD2で示される領域からデータDT2を読み出す読み出しパケット(識別番号PID=ID2)を疑似デバイス20に送信させる。そして、応答比較部54は、条件CND2が一致しない場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT2と比較する。一方、応答比較部54は、条件CND2が一致する場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT2’と比較する。条件CND2の一致/不一致は、図4に示すバッファBUF4から出力されるエラー発生情報EGの論理に基づいて判断される。そして、テストシナリオ実行部50は、応答パケットP22に含まれる読み出しデータを期待値DT2、DT2’のいずれかと比較することで、対象デバイス10の論理を検証する。
図10は、図2に示すテストシナリオ実行部50が実行するテストシナリオ52の別の例を示す。図8と同じ記述については、詳細な説明は省略する。行4、行7の記述は、図8に示す行4、行15の記述とそれぞれ同じである。
行11において、テストシナリオ実行部50は、対象デバイス10にエラーを発生させる書き込みパケットを示す識別番号PIDs(=ID3)と条件CND3とをエラー生成部40に設定する。条件CND3は、図5に示すように、対象デバイス10が3つの連続する書き込みパケットを受信する条件である。すなわち、図10に示すテストシナリオ52では、条件CND3に示される順序でパケットを処理中の対象デバイス10にエラーを発生させた場合の動作が検証される。
次に、行14において、テストシナリオ実行部50は、疑似デバイス30のアドレスAD3で示される領域にデータDT3を書き込む書き込みパケット(識別番号PID=ID3)を疑似デバイス20に送信させる。
行19において、テストシナリオ実行部50は、図8と同様に、疑似デバイス30のアドレスAD3で示される領域からデータDT3を読み出す読み出しパケット(識別番号PID=ID3)を疑似デバイス20に送信させる。そして、応答比較部54は、条件CND3が一致しない場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT3と比較する。一方、応答比較部54は、条件CND3が一致する場合、読み出しパケットに応答する疑似デバイス30からの応答パケットP22に含まれる読み出しデータを期待値DT3’と比較する。条件CND3の一致/不一致は、図4に示すバッファBUF4から出力されるエラー発生情報EGの論理に基づいて判断される。そして、テストシナリオ実行部50は、応答パケットP22に含まれる読み出しデータを期待値DT3、DT3’のいずれかと比較することで、対象デバイス10の論理を検証する。
図11は、図2に示す模擬デバイス試験装置DT2として動作する情報処理装置の一例を示す。
図11に示す情報処理装置IPEは、マザーボードMB、光学ドライブ装置ODD、ハードディスク装置HDD、入力装置INDおよび出力装置OUTD等を有する。マザーボードMB上には、CPU、メインメモリMM、光学ドライブコントローラODC、ハードディスクコントローラHDC、入力インタフェースINIF、出力インタフェースOUTIFおよびネットワークインタフェースNWIF等が搭載される。CPU、メインメモリMM、光学ドライブコントローラODC、ハードディスクコントローラHDC、入力インタフェースINIF、出力インタフェースOUTIFおよびネットワークインタフェースNWIFは、システムバスSBUSに接続される。CPU、メインメモリMM、光学ドライブコントローラODC、ハードディスクコントローラHDC、入力インタフェースINIF、出力インタフェースOUTIFおよびネットワークインタフェースNWIFは共通の半導体チップに搭載されてもよい。
メインメモリMMには、CPUにより実行されるオペレーティングシステムと、情報処理装置IPEを模擬デバイス試験装置DT2として機能させるための模擬デバイス試験プログラムと、テストシナリオ52とが格納される。図2に示す対象デバイス10、疑似デバイス20、30、エラー生成部40およびテストシナリオ実行部50は、情報処理装置IPEが模擬デバイス試験プログラムを実行することで実現される。そして、情報処理装置IPEは、対象デバイス10の論理を検証するシミュレータとして動作する。
光学ドライブコントローラODCは、光学ドライブ装置ODDに接続され、光学ドライブ装置ODDに装着される記録媒体RMにアクセス可能である。記録媒体RMは、CD(Compact Disc:登録商標)またはDVD(Digital Versatile Disc:登録商標)等である。ハードディスクコントローラHDCは、ハードディスク装置HDDに接続される。模擬デバイス試験プログラムおよびテストシナリオ52は、記録媒体RMからハードディスク装置HDDを介してメインメモリMMに転送される。なお、模擬デバイス試験プログラムおよびテストシナリオ52は、記録媒体RMからメインメモリMMに直接転送されてもよい。
入力インタフェースINIFは、キーボードやマウス等の入力デバイスINDに接続される。出力インタフェースOUTIFは、ディスプレイやプリンタ等の出力デバイスOUTDに接続される。ネットワークインタフェースNWIFは、ネットワークNWに接続される。情報処理装置IPEは、ネットワークNW上の装置に格納された模擬デバイス試験プログラムまたはテストシナリオ52を、ネットワークNWを介してハードディスク装置HDDやメインメモリMMに転送してもよい。
以上、図2から図11に示す実施形態においても、図1に示す実施形態と同様に、対象デバイス10の動作の検証を、従来に比べて複雑な条件を指定して実行することができ、詳細な検証を実行することができる。また、2つの期待値のいずれかを用いて、エラーを発生させた場合とエラーを発生させなかった場合との両方の検証を実行することができる。この結果、対象デバイス10の論理を検証するためのテストパターンTPを従来に比べて短くすることができ、対象デバイス10の検証に掛かる時間を従来に比べて短縮することができ、検証の効率を向上することができる。
さらに、図2から図11に示す実施形態では、以下の効果を得ることができる。パケットP11が対象デバイス10に供給される順序の条件を含む場合と含まない場合との両方において、パケットP11にエラーを埋め込むことができるため、様々な条件を用いて、対象デバイス10の論理を検証することができる。
バッファBUF1、BUF2、BUF3の各々は、複数の記憶領域を有するため、エラーを発生させる複数の条件を指定することができ、検証の効率をさらに向上することができる。さらにバッファBUF4は、複数の記憶領域を有するため、1つのテストシナリオ52により、複数の種類の検証を実行することができ、検証の効率を向上することができる。また、バッファBUF4は、パケットP11の順序を指定する場合と、パケットP11の順序を指定しない場合とのそれぞれの検証において共通に使用されるため、模擬デバイス試験装置DT2の規模が増加することを抑制することができる。
図12は、模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す。図2に示す要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。この実施形態の模擬デバイス試験装置DT3は、対象デバイス10A、疑似デバイス20、30、エラー生成部40Aおよびテストシナリオ実行部50を有する。すなわち、模擬デバイス試験装置DT3は、図2に示す模擬デバイス試験装置DT2の対象デバイス10およびエラー生成部40の代わりに、対象デバイス10Aおよびエラー生成部40Aを有する。
エラー生成部40Aは、対象デバイス10Aから引き出されるデータ出力線DOUTに伝達されるデータにエラーを挿入し、エラーを挿入させたデータを、データ入力線DINを介して対象デバイス10Aに戻す機能を有する。エラー生成部40Aは、発生情報EINを出力する代わりに、対象デバイス10Aにエラーを挿入する機能を有することを除き、図2に示すエラー生成部40と同様の機能を有する。なお、対象デバイス10Aは、図2に示す対象デバイス10からエラーを発生させる機能を削除している。
図12に示す模擬デバイス試験装置DT3は、図2に示す模擬デバイス試験装置DT1と同様に、対象デバイス10Aの論理を検証する模擬デバイス試験プログラムを実行する情報処理装置IPE(図11)により実現される。模擬デバイス試験プログラムを実行する情報処理装置は、シミュレータとして機能し、対象デバイス10Aの論理を検証する模擬デバイス試験方法に基づく動作を実行する。
図13は、図12に示す対象デバイス10Aの一例を示す。図3に示す対象デバイス10と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。対象デバイス10Aは、図3に示す処理部STGA0の代わりに、処理部STGA0Aを有することを除き、図3に示す対象デバイス10と同様である。
処理部STGA0Aは、図3に示す処理部STGA0と同様に、疑似デバイス20から受信するパケットP11に含まれる識別番号PIDを抽出し、抽出した識別番号PIDをエラー生成部40Aに出力する機能を有する。さらに、処理部STGA0Aは、パケットP11に含まれる情報の少なくとも一部をデータ出力線DOUTを介してエラー生成部40Aに出力し、エラー生成部40Aからデータ入力線DINを介して受ける情報を用いてパケットP11を書き替える機能を有する。
エラー生成部40Aがデータ出力線DOUTで受けた情報にエラーを挿入してデータ入力線DINに出力した場合、処理部STGA0Aは、エラーが挿入されたパケットP11を処理する。一方、エラー生成部40Aがデータ出力線DOUTで受けた情報を変更せずにデータ入力線DINに出力した場合、処理部STGA0Aは、エラーが挿入されない元のパケットP11を処理する。
図14は、図12に示すエラー生成部40Aの一例を示す。エラー生成部40Aは、図2に示すエラー生成部40にエラー挿入部ERRINを追加することを除き、図2に示すエラー生成部40と同様の機能を有する。エラー挿入部ERRINは、発生情報EINがエラーの発生を示す場合、データ出力線DOUTに伝達されるデータの論理を反転し、反転したデータをデータ入力線DINに出力することで、対象デバイス10Aにエラーを発生させる。また、エラー挿入部ERRINは、発生情報EINがエラーの発生を示さない場合、データ出力線DOUTに伝達されるデータを変更することなくデータ入力線DINに出力する。この場合、対象デバイス10Aにエラーは発生されない。
エラー生成部40Aにエラー挿入部ERRINを設けることにより、対象デバイス10Aにエラーの発生用の論理を追加することなく、対象デバイス10Aが処理するパケットP11にエラーを埋め込むことができる。これにより、実際のデバイスの回路記述等の設計データを用いて、対象デバイス10Aの論理を検証することができる。なお、エラー挿入部ERRINは、データ出力線DOUTに伝達されるデータの論理を所定の論理(論理0または論理1)に固定し、論理を固定したデータをデータ入力線DINに出力することにより、対象デバイス10Aにエラーを発生させてもよい。
以上、図12から図14に示す実施形態においても、図1から図11に示す実施形態と同様に、対象デバイス10Aの動作の検証を、従来に比べて複雑な条件を指定して実行することができ、詳細な検証を実行することができる。また、2つの期待値を用いて検証を実行することで、対象デバイス10Aの検証に掛かる時間を従来に比べて短縮することができる。バッファBUF1、BUF2、BUF3、BUF4の各々に複数の記憶領域を設けることで、エラーを発生させる複数の条件に対応して検証を実行することができる。以上により、検証の効率を向上することができる。
さらに、図12から図14に示す実施形態では、エラー挿入部ERRINにより、デバイス10Aが処理するパケットP11にエラーを埋め込むことで、実際のデバイスの回路記述等の設計データを用いて、対象デバイス10Aの論理を検証することができる。これにより、検証の効率をさらに向上することができる。
図15は、模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラムの別の実施形態を示す。図2に示す要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。この実施形態の模擬デバイス試験装置DT4は、対象デバイス10B、疑似デバイス20、30、エラー生成部40Bおよびテストシナリオ実行部50、60Bを有する。すなわち、模擬デバイス試験装置DT4は、図2に示す模擬デバイス試験装置DT2のエラー生成部40の代わりにエラー生成部40Bを有し、エラー生成部40Bと疑似デバイス30に接続されるテストシナリオ実行部60Bを新たに有する。また、模擬デバイス試験装置DT4は、図2に示す対象デバイス10の代わりに対象デバイス10Bを有する。
テストシナリオ実行部60Bは、テストシナリオ実行部50と同様に、テストシナリオ62と応答比較部64とを有する。テストシナリオ実行部60Bは、テストシナリオ62にしたがって、疑似デバイス30を動作させるテストパターンTPを疑似デバイス30に出力するとともに、識別番号PIDs、CIDsをエラー生成部40Bに出力する。テストシナリオ実行部60Bは、識別番号CIDsを指定せずに識別番号PIDsを指定してパケットP21にエラーを埋め込む場合、エラー発生情報EGに拘わらず、応答パケットP12に含まれる情報CPLと期待値とを応答比較部64に比較させる。一方、テストシナリオ実行部60Bは、識別番号CIDs(エラーの発生条件)とともに識別番号PIDsを指定してパケットP21にエラーを埋め込む場合、エラー発生情報EGに基づいた比較を応答比較部64に実行させる。すなわち、応答比較部64は、図2に示す応答比較部54と同様に、応答パケットP12に含まれる情報CPLを2つの期待値のいずれかと比較する。応答比較部64の動作の例は、図7に示す応答比較部54の動作の例と同様である。
テストシナリオ実行部60Bが実行するテストシナリオ62は、疑似デバイス30がパケットP21を送信し、疑似デバイス20が応答パケットP11を送信することを除き、図8から図10に示されるテストシナリオ52と同様である。
対象デバイス10Bは、図13に示す対象デバイス10Aと同様に、パケットP11を順次処理する複数の処理部STGAとパケットP21を順次処理する複数の処理部STGBとを有する。但し、処理部STGB0は、処理部STGA0Aと同様に、識別番号PIDをエラー生成部40Bに出力する機能を有する。また、処理部STGB0は、処理部STGA0Aと同様に、パケットP21に含まれる情報の少なくとも一部をデータ出力線DOUTに出力する機能と、データ入力線DINを介して受ける情報を用いてパケットP11を書き替える機能とを有する。すなわち、識別番号PIDを伝達する信号線、データ出力線DOUTおよびデータ入力線DINは、パケットP11とパケットP21のそれぞれに対応して配線される。
図16は、図15に示すエラー生成部40Bの一例を示す。エラー生成部40Bは、図14に示すエラー生成部40Aと同様の機能を有する。但し、エラー生成部40BのバッファBUF1、BUF2は、テストシナリオ実行部50からの識別番号PIDsだけでなく、テストシナリオ実行部60Bからの識別情報PIDsを保持する。また、エラー生成部40BのバッファBUF3は、テストシナリオ実行部50からの識別情報CIDsだけでなく、テストシナリオ実行部60Bからの識別情報CIDsを保持する。
そして、エラー生成部40Bは、バッファBUF1−BUF3に保持された識別番号PIDs、CIDsに基づいて、データ出力線DOUTを介して受けるデータにエラーを挿入する。エラー生成部40Bの動作の例は、図6と同様である。なお、エラー挿入部ERRINは、識別番号PIDsにより示されるパケットP11に含まれる情報またはパケットP21に含まれる情報にエラーを埋め込む。このため、模擬デバイス試験装置DT4は、パケットP11用のエラー生成部40Bと、パケットP21用のエラー生成部40Bとを有してもよい。
図15に示す模擬デバイス試験装置DT4は、図2に示す模擬デバイス試験装置DT1と同様に、対象デバイス10Bの論理を検証する模擬デバイス試験プログラムを実行する情報処理装置IPE(図11)により実現される。模擬デバイス試験プログラムを実行する情報処理装置は、シミュレータとして機能し、対象デバイス10Bの論理を検証する模擬デバイス試験方法に基づく動作を実行する。
以上、図15から図16に示す実施形態においても、図1から図14に示す実施形態と同様に、対象デバイス10Bの動作の検証を、従来に比べて複雑な条件を指定して実行することができ、詳細な検証を実行することができる。また、2つの期待値のいずれかを用いて、エラーを発生させた場合とエラーを発生させなかった場合の両方の検証を実行することができ、対象デバイス10Bの検証に掛かる時間を従来に比べて短縮することができる。
さらに、図15から図16に示す実施形態では、疑似デバイス20から送信されるパケットP11と、疑似デバイス30から送信されるパケットP21のそれぞれに、エラーを埋め込ませた、対象デバイス10Bの論理を検証することができる。この結果、検証の効率をさらに向上することができる。
なお、図2に示す模擬デバイス試験装置DT2に、図15に示すテストシナリオ実行部60Bを追加してもよい。この場合、図4に示すエラー生成部40のバッファBUF1、BUF2は、テストシナリオ実行部50からの識別番号PIDsだけでなく、テストシナリオ実行部60Bからの識別情報PIDsを保持する。また、図4に示すエラー生成部40のバッファBUF3は、テストシナリオ実行部50からの識別情報CIDsだけでなく、テストシナリオ実行部60Bからの識別情報CIDsを保持する。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
1…模擬デバイス;2…模擬演算処理装置;3…模擬入出力装置;4…エラー発生部;6…エラー保持部;8…応答比較部;10、10A、10B…対象デバイス;20、30…疑似デバイス;40、40A、40B…エラー生成部;50…テストシナリオ実行部;52…テストシナリオ;54…応答比較部;60B…テストシナリオ実行部;62…テストシナリオ;64…応答比較部;BUF1、BUF2、BUF3、BUF4…バッファ;BUS1、BUS2…バス;CDEC…デコード部;CIDs…識別番号;CMP1、CMP2、CMP3…比較部;COM…合成部;CPL…情報;CPLA(CPLA0、CPLA1、CPLA2)…パケット情報;DIN…データ入力線;DOUT…データ出力線;DT1、DT2、DT3、DT4…模擬デバイス試験装置;EG…エラー発生情報;EIN…発生情報;ERRIN…エラー挿入部;EXP、EXPE…期待値;INS…命令;JDG1、JDG2…判定部;P11、P12、P21、P22…パケット;PID、PIDs…識別番号;PTYP…種別情報;RDA(RDA0、RDA1、RDA2)…パケット情報;RES…応答;RSLT…検証結果;STGA(STGA0、STGA1、STGA2)、STGB(STGB0、STGB1、STGB2)…処理部;TINS…対象命令;TP…テストパターン;WRA(WRA0、WRA1、WRA2)…パケット情報

Claims (10)

  1. 演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、前記模擬入出力装置に転送した複数の命令に対応して前記模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験装置において、
    前記複数の命令と前記複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、前記模擬デバイスが所定の順序で前記模擬演算処理装置から受信した場合、前記模擬デバイスによる前記対象命令の処理の結果として、エラーを発生させるエラー発生部と、
    前記対象命令の処理の結果としてエラーを発生させたことを示すエラー発生情報を保持するエラー保持部と、
    前記模擬デバイスが受信した複数の応答のうち前記対象命令に対応する対象応答を、前記エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較する応答比較部を有する模擬デバイス試験装置。
  2. 前記エラー発生部は、
    前記対象命令を示す対象命令情報を保持する第1の保持部と、
    前記模擬デバイスが受信した複数の命令のいずれかが、前記第1の保持部が保持する対象命令情報に対応する対象命令であることを検出する第1の検出部と、
    前記所定の順序を示す順序情報を保持する第2の保持部と、
    前記模擬デバイスが受信した複数の命令と複数の応答との少なくとも2つの順序が、前記第2の保持部が保持する順序情報に対応する順序であることを検出する第2の検出部と、
    前記第1の検出部による検出と前記第2の検出部による検出とに基づいて、前記エラーを発生させる判定部を有することを特徴とする請求項1記載の模擬デバイス試験装置。
  3. 前記第1の保持部は、複数の前記対象命令をそれぞれ示す複数の前記対象命令情報を保持する複数の第1の記憶領域を有し、
    前記第1の検出部は、前記模擬デバイスが受信した命令が、複数の前記第1の保持部が保持する複数の前記対象命令情報に対応する対象命令のいずれかであることを検出し、
    前記第2の保持部は、前記第1の保持部に保持される複数の前記対象命令情報に対応して複数の前記順序情報をそれぞれ保持する複数の第2の記憶領域を有し、
    前記第2の検出部は、前記模擬デバイスが受信した複数の命令と複数の応答との少なくとも2つの順序が、前記模擬デバイスが受信した前記対象命令に対応する第2の記憶領域に保持された順序情報に対応する順序であることを検出することを特徴とする請求項2記載の模擬デバイス試験装置。
  4. 前記エラー保持部は、前記第1の保持部に保持される複数の前記対象命令情報に対応して複数の前記エラー発生情報をそれぞれ保持する複数の第3の記憶領域を有することを特徴とする請求項3記載の模擬デバイス試験装置。
  5. 前記第2の検出部は、
    前記模擬デバイスが順次に受信した複数の命令と複数の応答とを示す命令情報に基づいて、前記模擬デバイスが受信した複数の命令と複数の応答との少なくとも2つの順序を判定するデコード部と、
    前記デコード部により判定された順序と、前記第2の記憶領域に保持された前記順序情報に対応する順序とを比較する順序比較部を有することを特徴とする請求項2または請求項3記載の模擬デバイス試験装置。
  6. 前記エラー発生部は、
    前記第1の保持部が保持する対象命令情報と異なる対象命令情報を保持する第3の保持部と、
    前記模擬デバイスが受信した複数の命令のいずれかが、前記第3の保持部が保持する対象命令情報が示す対象命令であることを検出する第3の検出部を有し、
    前記判定部は、前記第1の検出部および前記第2の検出部による検出と、前記第3の検出部による検出とのいずれかに基づいて前記エラーを発生させる合成部を有することを特徴とする請求項2ないし請求項5のいずれか1項記載の模擬デバイス試験装置。
  7. テストシナリオにしたがって、前記模擬演算処理装置に命令を送信させるとともに、前記対象命令情報および前記順序情報を前記エラー発生部に出力し、前記模擬デバイスが前記模擬入出力装置から受信する応答を参照するテストシナリオ実行部を有し、
    前記応答比較部は、前記テストシナリオ実行部に含まれることを特徴とする請求項2ないし請求項6のいずれか1項記載の模擬デバイス試験装置。
  8. 前記複数の命令は、前記模擬入出力装置にデータを書き込む書き込みパケットと、前記模擬入出力装置からデータを読み出す読み出しパケットとを含み、
    前記複数の応答は、前記書き込みパケットに基づいて前記模擬入出力装置から送信される書き込み応答パケットと、前記読み出しパケットに基づいて前記模擬入出力装置から送信され、前記模擬入出力装置から読み出されるデータを含む読み出し応答パケットとを含み、
    前記エラー発生部は、前記書き込みパケットに含まれるデータにエラーを発生させ、
    前記応答比較部は、前記読み出し応答パケットに含まれるデータを前記複数の期待値のいずれかと比較することを特徴とする請求項7記載の模擬デバイス試験装置。
  9. 演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、前記模擬入出力装置に転送した複数の命令に対応して前記模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験方法において、
    情報処理装置が、
    前記複数の命令と前記複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、前記模擬デバイスが所定の順序で前記模擬演算処理装置から受信した場合、前記模擬デバイスによる前記対象命令の処理の結果として、エラーを発生し、
    前記対象命令の処理の結果としてエラーを発生したことを示すエラー発生情報をエラー保持部に保持し、
    前記模擬デバイスが受信した複数の応答のうち前記対象命令に対応する対象応答を、前記エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較することを特徴とする模擬デバイス試験方法。
  10. 演算処理装置の動作を模擬する模擬演算処理装置から順次受信する複数の命令を、入出力装置の動作を模擬する模擬入出力装置に順次転送し、前記模擬入出力装置に転送した複数の命令に対応して前記模擬入出力装置から順次受信する複数の応答を処理する模擬デバイスの動作を試験する模擬デバイス試験プログラムにおいて、
    情報処理装置に、
    前記複数の命令と前記複数の応答との少なくともいずれかと、エラーの発生を指示する対象命令とを、前記模擬デバイスが所定の順序で前記模擬演算処理装置から受信した場合、前記模擬デバイスによる前記対象命令の処理の結果として、エラーを発生させ、
    前記対象命令の処理の結果としてエラーを発生させたことを示すエラー発生情報をエラー保持部に保持させ、
    前記模擬デバイスが受信した複数の応答のうち前記対象命令に対応する対象応答を、前記エラー保持部に保持したエラー発生情報に基づいて複数の期待値のいずれかと比較させることを特徴とする模擬デバイス試験プログラム。
JP2015046876A 2015-03-10 2015-03-10 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム Pending JP2016167187A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015046876A JP2016167187A (ja) 2015-03-10 2015-03-10 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム
US15/048,334 US20160266205A1 (en) 2015-03-10 2016-02-19 Logic verification apparatus, logic verification method and test program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015046876A JP2016167187A (ja) 2015-03-10 2015-03-10 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム

Publications (1)

Publication Number Publication Date
JP2016167187A true JP2016167187A (ja) 2016-09-15

Family

ID=56888612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015046876A Pending JP2016167187A (ja) 2015-03-10 2015-03-10 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム

Country Status (2)

Country Link
US (1) US20160266205A1 (ja)
JP (1) JP2016167187A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467473A (en) * 1993-01-08 1995-11-14 International Business Machines Corporation Out of order instruction load and store comparison
JP3083220B2 (ja) * 1993-08-09 2000-09-04 株式会社日立製作所 設計支援システム
US6507808B1 (en) * 1999-06-23 2003-01-14 International Business Machines Corporation Hardware logic verification data transfer checking apparatus and method therefor

Also Published As

Publication number Publication date
US20160266205A1 (en) 2016-09-15

Similar Documents

Publication Publication Date Title
TWI470436B (zh) 用於排序關聯於儲存裝置之複數個寫入命令之系統、方法、及電腦程式產品
JP4251964B2 (ja) 検証装置、検証方法およびプログラム
CN113779912B (zh) 一种芯片验证系统、方法、装置、电子设备及存储介质
US20120221903A1 (en) Testing method, non-transitory, computer readable storage medium and testing apparatus
WO2012137323A1 (ja) 情報処理装置及び疑似障害発生方法
US7168029B2 (en) Method for testing a universal serial bus host controller
JP2016167187A (ja) 模擬デバイス試験装置、模擬デバイス試験方法および模擬デバイス試験プログラム
JP2009140222A (ja) Lsiの電力見積方法及びその装置
JP4453592B2 (ja) Rtl入力プログラムの不具合解析支援装置及びその方法ならびに部分rtl生成装置
US20100161305A1 (en) Performance evaluation device, performance evaluation method and simulation program
US9288161B2 (en) Verifying the functionality of an integrated circuit
US9838229B2 (en) Method for verifying the functionality of a digital circuit
US8387067B2 (en) Method for tracking and/or verifying message passing in a simulation environment
US20160077942A1 (en) Storage system and test method for testing pci express interface
JP5077219B2 (ja) シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
KR101679477B1 (ko) 메모리 구동 주변 회로 검증시간을 단축하기 위한 임베디드 ddr 메모리를 이용한 검증 방법 및 시스템
JP2006227668A (ja) メモリモデルとプログラムと論理回路検証方法
US7225098B2 (en) Monitoring device with optimized buffer
CN110321574B (zh) 一种打印波形的方法和装置
JP5392862B2 (ja) ソフトウェアシミュレーション装置、及びシミュレーション方法
JP5282325B2 (ja) ポステッドライトバス制御装置
KR101055529B1 (ko) 가변 시퀀스를 이용한 메모리 테스트 장치 및 그 방법
JP6234640B2 (ja) シミュレーション装置及びシミュレーション方法及びシミュレーションプログラム
JP5136164B2 (ja) 結線エラー検出装置、結線エラー検出方法及び結線エラー検出プログラム
JP2023169587A (ja) データ記録装置、データ記録方法、および、データ記録プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804