JP2005031860A - テストケース生成装置 - Google Patents
テストケース生成装置 Download PDFInfo
- Publication number
- JP2005031860A JP2005031860A JP2003194514A JP2003194514A JP2005031860A JP 2005031860 A JP2005031860 A JP 2005031860A JP 2003194514 A JP2003194514 A JP 2003194514A JP 2003194514 A JP2003194514 A JP 2003194514A JP 2005031860 A JP2005031860 A JP 2005031860A
- Authority
- JP
- Japan
- Prior art keywords
- test case
- test
- execution
- case
- execution result
- 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
Links
Images
Abstract
【課題】LSIの機能試験を効率的に実施可能なテストケースを生成することができるテストケース生成装置を得ることを目的とする。
【解決手段】個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータ5が実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ12用のテストケースを生成する。これにより、LSIの機能試験を効率的に実施可能なテストケースを生成することができる。
【選択図】 図1
【解決手段】個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータ5が実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ12用のテストケースを生成する。これにより、LSIの機能試験を効率的に実施可能なテストケースを生成することができる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
この発明は、例えばマイクロプロセッサを構成している集積回路(以下、LSIという)の動作を確認するためのテストケースを生成するテストケース生成装置に関するものである。
【0002】
【従来の技術】
CPUを内蔵しているLSIの設計段階に行う機能試験においては、試験対象であるLSIの機能の高性能化や複雑化が図られているので、動作確認用のテストケースの実行時間(サイクル)を長くすることで、複雑な動作条件でも確認できるようにしている。ただし、1つのテストケースで試験可能な項目は限られるため、多くのテストケースが必要となる。
このため、S/Wシミュレータ上でテストケースを実行すると、その実行結果が得られるまでに長時間を有するので、従来のテストケース生成装置は、短時間で実行結果が得られるエミュレータが実行可能なテストケースを生成するようにしている(例えば、特許文献1参照)。
【0003】
ただし、エミュレータ上のエミュレーションでは、試験対象のLSIを構成しているモデルの全ての信号線をサンプルして見ることができないため、実行するテストケースの種類やエラーの種類などからサンプルする信号線を変更して、再実行することにより内部状態を判断している。また、信号線の値をサンプルすることが可能なサイクルに制限があり、エラーの検出時間を短くする必要があるため、エラーを検出したテストケースを細分化して、条件を絞り込むなどの変更を行っている。この結果、エミュレーションでは不具合の検出は可能であるが、その原因を追求するために多くの時間を要する。
【0004】
【特許文献1】
特開2000−348071号公報(段落番号[0008]から[0013]、図1)
【0005】
【発明が解決しようとする課題】
従来のテストケース生成装置は以上のように構成されているので、試験対象であるLSIの不具合を短時間で検出可能なエミュレータ用のテストケースを生成することができるが、エミュレーション環境では試験対象のモデルの内部状態を観測することが困難なため、S/Wシミュレータを利用して不具合の解析を行う必要がある。しかし、S/Wシミュレータを利用するには、エミュレータ用のテストケースをS/Wシミュレータ上で動作可能な実行サイクルまで切り出さなければならず、結局、LSIの機能試験が完了するまでに長時間を要する課題があった。
【0006】
この発明は上記のような課題を解決するためになされたもので、LSIの機能試験を効率的に実施可能なテストケースを生成することができるテストケース生成装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
この発明に係るテストケース生成装置は、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータが実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ用のテストケースを生成するようにしたものである。
【0008】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1によるテストケース生成装置を示す構成図であり、図において、テストケース生成部2はLSIの動作を確認する個別のテストケース(テストケースは少なくとも1以上の試験条件1を含む)を複数連結して、エミュレータ5用の一連のテストケースである実行時間が長いテストケース3を生成する第1のテストケース生成手段を構成している。なお、seed対応表4はテストケースの試験項目と試験条件を示しており、後述するテストケース生成部10が実行時間の短いテストケース11を生成する際に参照する。
エミュレータ5は試験対象であるLSIのモデル6を搭載し、テストケース生成部2により生成された長いテストケース3を実行する。実行結果7は実行時間の長いテストケース3がLSIのモデル6上で正しく動作したか否か示すエミュレータ5の実行ログである。実行seed8は個別のテストケースに対応するユニークなIDであり、エミュレータ5がエラー終了した場合には、最後に動作していた個別のテストケースに対応するIDが実行seed8としてエミュレータ5から出力される。
【0009】
実行結果判定部9はエミュレータ5の実行結果7を参照し、長いテストケース3が正常に実行されている場合、他に未実行の長いテストケース3があれば、エミュレータ5に対して引き続き未実行の長いテストケース3の実行を指示する。一方、長いテストケース3が正常に実行されていなければ、テストケース生成部10に対して実行時間が短いテストケース11の生成を指示する。
テストケース生成部10は実行結果判定部9から短いテストケース11の生成指示を受けると、長いテストケース3の実行状態を示す実行seed8とseed対応表4を参照して、実行時間が短いテストケース11を生成する。即ち、長いテストケース3を構成する個別のテストケースのうち、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件1に他の試験条件を付加してシミュレータ12用のテストケースを生成する。なお、実行結果判定部9及びテストケース生成部10は第2のテストケース生成手段を構成している。
【0010】
シミュレータ12は試験対象であるLSIのモデル13を搭載し、テストケース生成部10により生成された短いテストケース11を実行する。
実行結果判定部15はシミュレータ12の実行結果14を参照し、短いテストケース11が正常に実行されていない場合、テストケース生成部10に対して短いテストケース11の更新を指示する。
テストケース生成部10は実行結果判定部15から短いテストケース11の更新指示を受けると、短いテストケース11の試験条件に付加された他の試験条件を変更して短いテストケース11を更新する。生成履歴16は過去に生成された短いテストケース11を記録している。
なお、実行結果判定部15及びテストケース生成部10はテストケース更新手段を構成している。
【0011】
この実施の形態1では、テストケース生成部2,10及び実行結果判定部9,15は専用のハードウエア(例えば、集積回路)を用いて構成されているものとして説明するが、これに限るものではなく、これらの処理内容が記述されたソフトウエアを用意し、図示せぬCPUが当該ソフトウエアを実行するようにしてもよい。
また、試験条件1、seed対応表4及び生成履歴16は図示せぬメモリに格納されているものとする。
なお、エミュレータ5は専用のハードウエアであり、シミュレータ12は図示せぬ計算機に内蔵され、短いテストケース11を実行するデバッグプログラムである。
【0012】
次に動作について説明する。
この実施の形態1では、システムLSIの動作を確認する場合、試験の初期段階では、高速に動作確認を行うことが可能なエミュレータ5を使用する。エミュレータ5が不具合を検出すると、エミュレータ5よりも詳細に不具合を解析することが可能なシミュレータ12を使用して動作確認を行う。
具体的には次の通りである。
【0013】
まず、テストケース生成部2が、LSIの動作を確認する個別のテストケースを複数連結して、エミュレータ5用の一連のテストケースである実行時間の長いテストケース3を生成するとともに、テストケース生成部10が実行時間の短いテストケース11を生成する際に参照するseed対応表4を生成する。
ここで、図2は実行時間の長いテストケース3の構造を示しており、実行時間の長いテストケース3は、エミュレータ5が実行を開始する時点の入力データAを入力し、エミュレータ5が実行を終了した時点の出力データBを出力する。
【0014】
長いテストケース3の内部は、テストケース生成部10による短いテストケース11の生成を容易にするために、短いテストケース11に相当する個別のテストケース(以下、blockという)がシリーズに複数連結されている構造になっている。
即ち、長いテストケース3は、block−1、block−2、・・・、block−nがシリーズに連結され、前段のblockの出力データが後段のblockの入力データになっている。
なお、blockの実態は、エミュレータ5の実行シーケンスであり、seed−1、seed−2、seed−nは、エミュレータ5がblockを実行したときの実行seedに相当する。
【0015】
図4はseed対応表4の生成例を示しており、図4の例では、試験対象として“A”から“Z”までの26個の試験項目がある試験条件を示している。
長いテストケース3の生成する毎に試験項目を決定するが、例えば、テストケース1の場合は、試験項目が{C,E,I}である試験条件を決定し、テストケース2の場合は、試験項目が{D,E}である試験条件を決定している。
なお、長いテストケース3内の各blockの試験条件は、長いテストケース3の試験条件と同一であるが、その試験項目に関する条件を相互に変えている。
したがって、テストケース1の各blockの試験条件は全て{C,E,I}であって同じであるが、例えば、block−1における試験項目に関する条件は{4,1,5}であるのに対し、block−2における試験項目に関する条件は{3,3,3}であり、相互に異なる。
【0016】
エミュレータ5は、試験対象であるLSIのモデル6を搭載し、テストケース生成部2が実行時間の長いテストケース3を生成すると、その長いテストケース3を実行して、その実行結果7を実行結果判定部9に出力する。また、長いテストケース3の実行状態を示す実行seed8をテストケース生成部10に出力する。
【0017】
実行結果判定部9は、エミュレータ5の実行結果7を参照し、長いテストケース3が正常に実行されているか否かを判定する。長いテストケース3が正常に実行されている場合において、他に未実行の長いテストケース3があれば、エミュレータ5に対して引き続き未実行の長いテストケース3の実行を指示する。例えば、テストケース1を実行し、その実行結果が正常であれば、テストケース2の実行を指示する。テストケースnまで実行を終了し、テストケースnの実行結果が正常であれば、システムLSIの動作は正常であると認定する。
一方、長いテストケース3が正常に実行されていなければ、テストケース生成部10に対して実行時間が短いテストケース11の生成を指示する。
【0018】
テストケース生成部10は、実行結果判定部9から短いテストケース11の生成指示を受けると、長いテストケース3の実行状態を示す実行seed8とseed対応表4を参照して、実行時間が短いテストケース11を生成する。
例えば、長いテストケース3を構成するblockのうち、block−4での実行結果がエラーになると、図5に示すように、block−4の試験条件{C,E,I}に他の試験条件を付加して実行時間の短いテストケース11(例えば、testcase−1)を生成する。即ち、block−4の試験条件{C,E,I}を固定し、その他の試験条件を付加して短いテストケース11を生成する。
【0019】
ここで、block−4の試験条件{C,E,I}に他の試験条件を付加する理由は、実行時間の長いテストケース3でのエラーの条件が実行時間の短いテストケース11に含まれていない場合があるからである。
図3は実行時間の長いテストケース3からblock−4を取り出して、実行時間の短いテストケース11を生成した場合を示している。
短いテストケース11の入力データはblock−4の入力データと同じであり、短いテストケース11の出力データはblock−4の出力データと同じである。“状態設定”は短いテストケース11の動作条件をblock−4の実行前の動作状態に設定するためのものである。この“状態設定”を変更することにより、同じ短いテストケース11でも異なる試験を行うことができる。
【0020】
シミュレータ12は、試験対象であるLSIのモデル13を搭載し、テストケース生成部10が実行時間の短いテストケース11を生成すると、その短いテストケース11を実行する。
実行結果判定部15は、シミュレータ12の実行結果14を参照し、短いテストケース11が正常に実行されているか否かを判定する。短いテストケース11が正常に実行されている場合、実行時間の長いテストケース3でのエラーの条件が実行時間の短いテストケース11に含まれていない可能性があるので、テストケース生成部10に対して短いテストケース11の更新を指示する。
【0021】
テストケース生成部10は、実行結果判定部15から短いテストケース11の更新指示を受けると、短いテストケース11の試験条件に付加された他の試験条件を変更して短いテストケース11を更新する(図5を参照)。この際、過去に生成した短いテストケース11と同じ短いテストケース11を生成しないようにするため、生成履歴16を参照して短いテストケース11を更新する。
例えば、testcase−1が正常に実行されている場合、試験項目Aに関する条件を“1”から“2”に変更してtestcase−2を生成する。
【0022】
実行結果判定部15は、短いテストケース11が正常に実行されていない場合、その短いテストケース11と実行結果14を蓄積するが、さらに、詳細なエラー解析を続ける場合には、テストケース生成部10に対して短いテストケース11の更新を指示する。
【0023】
以上で明らかなように、この実施の形態1によれば、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータ5が実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ12用のテストケースを生成するように構成したので、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果を奏する。
即ち、試験の初期段階では、高速に動作確認を行うことが可能なエミュレータ5を使用し、エミュレータ5が不具合を検出すると、エミュレータ5よりも詳細に不具合を解析することが可能なシミュレータ12を使用して動作確認を行うが、その際、エミュレータ5用の一連のテストケースからエラーが発生した個別のテストケースを切り出すだけで、シミュレータ12用のテストケースを生成することができるので、LSIの機能試験を効率的に実施することができる。
【0024】
実施の形態2.
図6はテストケース生成部2の処理内容を示すフローチャートであり、図7はテストケース生成部10の処理内容を示すフローチャートである。また、図8はテストケース生成部2,10の共通の処理内容を示すフローチャートである。
上記実施の形態1でも、テストケース生成部2,10の処理内容を説明しているが、この実施の形態2では、更に詳細に処理内容を説明する。
【0025】
まず、テストケース生成部2は、テストケースの試験条件が指定されると、例えば、乱数発生器等を使用して、再現するためのseedと試験条件を変化させて試験項目を確定する(ステップST1,ST1−1)。
次に、テストケース生成部2は、その確定した試験項目から長いテストケース3のblockのseed()の形式を決定し(図4の例ではA〜Zの26個の試験項目)、その試験項目の対応表(長いテストケース3を構成するblockのIDに対応して試験条件をまとめた表)を作成する(ステップST1,ST1−2)。
【0026】
テストケース生成部2は、長いテストケース3のseedと試験項目の対応表を作成すると、長いテストケース3のblockの試験条件を決定し(ステップST2−1,ST2−1−1)、その試験条件から試験項目の対応表に合わせてblockのseedを決定する(ステップST2−1,ST2−1−2)。即ち、試験項目の対応表から取り出した試験条件には、値が設定されていない試験項目があるので、値が設定されていない試験項目の値を設定する。
次に、テストケース生成部2は、試験項目の試験条件にしたがって入力データを決定する(ステップST2−2)。その際、入力データに関する条件があれば、その条件にしたがって入力データを決定する。また、前段のblockの出力データがある場合には、その出力データを入力データとして確定する。
次に、テストケース生成部2は、後述する図8の処理フローにしたがってテストシーケンスを生成する(ステップST2−3)。ステップST2−1からST2−3の処理を繰り返すことにより、長いテストケース3を構成する複数のblockを生成する。
【0027】
テストケース生成部2は、複数のblockを生成すると、前段のblock(テストシーケンス)の出力データを後段のblock(テストシーケンス)の入力データと接続して、複数のテストシーケンスをシリーズに連結することにより、実行時間の長いテストケース3を生成する(ステップST3,ST3−1)。その際、その出力データの期待値と実行時の値を比較するためのシーケンスが必要な場合には、期待値比較シーケンスを生成し、長いテストケース3の最後にマージする(ステップST3−2)。
【0028】
次に、テストケース生成部10は、blockのseedと試験項目の対応表から試験項目の条件を確定する(ステップST11,ST11−1)。その際、試験項目の条件の確定は、テストケース毎に生成される試験項目の対応表とblockのseedを読み込み(ステップST11−1−1)、そのblockのseedを試験項目の対応表に照らし合わせて、seedの試験項目と試験条件を確定する(ステップST11−1−2)。
【0029】
次に、テストケース生成部10は、指定された試験項目の試験条件以外に確定していない試験項目の試験条件を過去の生成履歴16から確定する(ステップST11,ST11−2)。
その際、試験条件の確定は、過去の生成履歴16から指定された試験項目と試験条件(試験条件の対応表から取り出した実行seed8に対応する試験項目と試験条件)が一致する条件を取り出し(ステップST11−2−1)、その過去の生成履歴16で指定されていない試験項目の試験条件をマージし、既に生成した試験条件を取り出す(ステップST11−2−2)。
そして、マージした試験項目の試験条件の中で、まだ、生成していない試験項目と試験条件を確定し(ステップST11−2−3)、その確定した試験項目と試験条件を過去の生成履歴として登録し、次回のテストケースの生成時に使用する(ステップST11−2−4)。
【0030】
テストケース生成部10は、上記のようにして試験項目と試験条件を確定すると、その試験項目と試験条件から入力データを生成する(ステップST12)。
入力データの生成は、その試験項目と試験条件から入力データに関する条件を選択し(ステップST12−1)、その選択した条件に応じて入力データを生成する(ステップST12−2)。
次に、テストケース生成部10は、後述する図8の処理フローにしたがってテストシーケンスを生成する(ステップST13)。
【0031】
テストケース生成部10は、そのテストシーケンスと入力データと出力データに基づいて実行時間の短いテストケースを生成する(ステップST14,ST14−1)。その際、入力データを設定するためシーケンスが必要な場合には、入力データ生成シーケンスを生成し、テストシーケンスの最初にマージする。また、その出力データの期待値と実行時の値を比較するためのシーケンスが必要な場合には、期待値比較シーケンスを生成し、短いテストケース11の最後にマージする(ステップST14−2)。
【0032】
次に、図8におけるテストシーケンスの生成処理を説明する。
テストケース生成部2,10は、試験項目の中でシーケンスの個数に関する試験条件を選択し(ステップST21)、そのシーケンスの個数分のシーケンスを生成する(ステップST22)。
即ち、テストケース生成部2,10は、試験項目の中でシーケンスの条件に関する試験項目を選択すると(ステップST22−1)、その試験項目と試験条件から最初のシーケンスの条件を確定してシーケンスを生成する(ステップST22−2)。
【0033】
次に、その生成したシーケンスとシーケンスへの入力データから、シーケンス実行後の出力データを決定し(ステップST22−3)、その出力データを次の入力データとして設定する(ステップST22−4)。そして、次のシーケンスを生成するための試験項目に対する試験条件を確定する(ステップST22−5)。ステップST21−1〜ST22−5の処理を繰り返し実施することにより、選択したシーケンスの個数分のシーケンスを生成する。
この実施の形態2によれば、上記実施の形態1と同様に、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果を奏する。
【0034】
実施の形態3.
図9はテストケースの具体的な生成例を示す説明図である。
図9の例では、3個のレジスタR0,R1,R2と2個のメモリ領域@R3,@R4と1個のキャッシュとを利用して、テストケースを生成するようにしている。なお、キャッシュの状態は、コピー状態Cと変更状態Mの2種類があるものとする。
また、図9の例では、テストケースを構成するblock−1〜block−3は、それぞれ4個の命令を指定するシーケンスからなされるものとする。
【0035】
最初のblock−1の生成において、4個の命令が例えば乱数のシード値によってADD→LD→LD→SUBの順番に生成することが決定されると、最初のADD命令で使用する資源としてレジスタR0,R1をランダムに選択する。
この結果、レジスタR0,R1の初期値の設定が必要となるので、レジスタR0に対して0x0123、レジスタR1に対して0x4567をランダムに設定する。また、ADD命令の実行後の期待値として、レジスタR0に期待値0x468Aを設定する。
【0036】
次のLD命令で使用する資源としてレジスタR2とメモリ領域@R3をランダムに選択する。
この結果、レジスタR2とメモリ領域@R3の初期値の設定が必要となるので、レジスタR2に対して0x9999、メモリ領域@R3に対して0x1111をランダムに設定する。
また、LD命令の実行後の期待値として、レジスタR2に期待値0x1111を設定する。メモリからデータを読み込んだ結果、キャッシュの状態は、MISSとなり、メモリ領域@R3をキャッシュにコピーする状態Cで保持する。
【0037】
次のLD命令で使用する資源としてレジスタR1とメモリ領域@R3をランダムに選択する。使用する全ての資源には初期値が設定されているため、初期化処理は行わない。
また、LD命令の実行後の期待値として、レジスタR1に期待値0x1111を設定する。これにより、メモリからデータを読み込む際、キャッシュにHITすることになる。
【0038】
次のSUB命令で使用する資源としてレジスタR0,R1をランダムに選択する。使用する全ての資源には初期値が設定されているため、初期化処理は行わない。
また、SUB命令の実行後の期待として、レジスタR1に期待値0xCA87を設定する。
【0039】
これにより、最初のblock−1における4個の命令が生成されたことになるため、block単位でのレジスタ、メモリ領域及びキャッシュに対する入力データと出力データも確定したことになる。
この場合、入力データは、R0が0x0123、R1が0x4567、R2が0x9999、@R3が0x1111、@R4が未使用、キャッシュが何も無い状態となる。
また、出力データは、R0が0x468A、R1が0xCA87、R2が0x1111、@R3が0x1111、@R4が未使用、キャッシュが@R3のコピー状態Cとなる。
【0040】
block−1と同様にして、残りのblock−2,block−3も生成すると、テストケースは3個のblock−1,block−2,block−3を連続的に実行するため、block−1の先頭のADDからblock−3の最後のSUBまで、12個の命令から構成されることになる。
また、入力データは、R0が0x0123、R1が0x4567、R2が0x9999、@R3が0x1111、@R4が0x2222、キャッシュが何も無い状態となる。
また、出力データは、R0が0xE024、R1が0x3333、R2が0x2222、@R3が0x3333、@R4が0x468A、キャッシュが@R4のコピー状態Cとなる。
【0041】
この実施の形態3では、命令の実行に関するプロセッサを試験対象として説明しているが、内部状態が入力データによって確定し、入力データと内部状態によって出力データが決定するものを試験対象として考えれば、本テストケースの生成方式を適用することができ、同様の効果が得られる。
【0042】
【発明の効果】
以上のように、この発明によれば、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータが実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ用のテストケースを生成するように構成したので、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるテストケース生成装置を示す構成図である。
【図2】実行時間の長いテストケースの構造を示す説明図である。
【図3】実行時間の短いテストケースの構造を示す説明図である。
【図4】seed対応表の生成例を示す説明図である。
【図5】実行時間の短いテストケースの生成例を示す説明図である。
【図6】テストケース生成部の処理内容を示すフローチャートである。
【図7】テストケース生成部の処理内容を示すフローチャートである。
【図8】テストケース生成部の共通の処理内容を示すフローチャートである。
【図9】テストケースの具体的な生成例を示す説明図である。
【符号の説明】
1 試験条件、2 テストケース生成部(第1のテストケース生成手段)、3長いテストケース、4 seed対応表、5 エミュレータ、6 モデル、7実行結果、8 実行seed、9 実行結果判定部(第2のテストケース生成手段)、10 テストケース生成部(第2のテストケース生成手段、テストケース更新手段)、11 短いテストケース、12 シミュレータ、13 モデル、14 実行結果、15 実行結果判定部(テストケース更新手段)、16 生成履歴。
【発明の属する技術分野】
この発明は、例えばマイクロプロセッサを構成している集積回路(以下、LSIという)の動作を確認するためのテストケースを生成するテストケース生成装置に関するものである。
【0002】
【従来の技術】
CPUを内蔵しているLSIの設計段階に行う機能試験においては、試験対象であるLSIの機能の高性能化や複雑化が図られているので、動作確認用のテストケースの実行時間(サイクル)を長くすることで、複雑な動作条件でも確認できるようにしている。ただし、1つのテストケースで試験可能な項目は限られるため、多くのテストケースが必要となる。
このため、S/Wシミュレータ上でテストケースを実行すると、その実行結果が得られるまでに長時間を有するので、従来のテストケース生成装置は、短時間で実行結果が得られるエミュレータが実行可能なテストケースを生成するようにしている(例えば、特許文献1参照)。
【0003】
ただし、エミュレータ上のエミュレーションでは、試験対象のLSIを構成しているモデルの全ての信号線をサンプルして見ることができないため、実行するテストケースの種類やエラーの種類などからサンプルする信号線を変更して、再実行することにより内部状態を判断している。また、信号線の値をサンプルすることが可能なサイクルに制限があり、エラーの検出時間を短くする必要があるため、エラーを検出したテストケースを細分化して、条件を絞り込むなどの変更を行っている。この結果、エミュレーションでは不具合の検出は可能であるが、その原因を追求するために多くの時間を要する。
【0004】
【特許文献1】
特開2000−348071号公報(段落番号[0008]から[0013]、図1)
【0005】
【発明が解決しようとする課題】
従来のテストケース生成装置は以上のように構成されているので、試験対象であるLSIの不具合を短時間で検出可能なエミュレータ用のテストケースを生成することができるが、エミュレーション環境では試験対象のモデルの内部状態を観測することが困難なため、S/Wシミュレータを利用して不具合の解析を行う必要がある。しかし、S/Wシミュレータを利用するには、エミュレータ用のテストケースをS/Wシミュレータ上で動作可能な実行サイクルまで切り出さなければならず、結局、LSIの機能試験が完了するまでに長時間を要する課題があった。
【0006】
この発明は上記のような課題を解決するためになされたもので、LSIの機能試験を効率的に実施可能なテストケースを生成することができるテストケース生成装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
この発明に係るテストケース生成装置は、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータが実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ用のテストケースを生成するようにしたものである。
【0008】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1によるテストケース生成装置を示す構成図であり、図において、テストケース生成部2はLSIの動作を確認する個別のテストケース(テストケースは少なくとも1以上の試験条件1を含む)を複数連結して、エミュレータ5用の一連のテストケースである実行時間が長いテストケース3を生成する第1のテストケース生成手段を構成している。なお、seed対応表4はテストケースの試験項目と試験条件を示しており、後述するテストケース生成部10が実行時間の短いテストケース11を生成する際に参照する。
エミュレータ5は試験対象であるLSIのモデル6を搭載し、テストケース生成部2により生成された長いテストケース3を実行する。実行結果7は実行時間の長いテストケース3がLSIのモデル6上で正しく動作したか否か示すエミュレータ5の実行ログである。実行seed8は個別のテストケースに対応するユニークなIDであり、エミュレータ5がエラー終了した場合には、最後に動作していた個別のテストケースに対応するIDが実行seed8としてエミュレータ5から出力される。
【0009】
実行結果判定部9はエミュレータ5の実行結果7を参照し、長いテストケース3が正常に実行されている場合、他に未実行の長いテストケース3があれば、エミュレータ5に対して引き続き未実行の長いテストケース3の実行を指示する。一方、長いテストケース3が正常に実行されていなければ、テストケース生成部10に対して実行時間が短いテストケース11の生成を指示する。
テストケース生成部10は実行結果判定部9から短いテストケース11の生成指示を受けると、長いテストケース3の実行状態を示す実行seed8とseed対応表4を参照して、実行時間が短いテストケース11を生成する。即ち、長いテストケース3を構成する個別のテストケースのうち、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件1に他の試験条件を付加してシミュレータ12用のテストケースを生成する。なお、実行結果判定部9及びテストケース生成部10は第2のテストケース生成手段を構成している。
【0010】
シミュレータ12は試験対象であるLSIのモデル13を搭載し、テストケース生成部10により生成された短いテストケース11を実行する。
実行結果判定部15はシミュレータ12の実行結果14を参照し、短いテストケース11が正常に実行されていない場合、テストケース生成部10に対して短いテストケース11の更新を指示する。
テストケース生成部10は実行結果判定部15から短いテストケース11の更新指示を受けると、短いテストケース11の試験条件に付加された他の試験条件を変更して短いテストケース11を更新する。生成履歴16は過去に生成された短いテストケース11を記録している。
なお、実行結果判定部15及びテストケース生成部10はテストケース更新手段を構成している。
【0011】
この実施の形態1では、テストケース生成部2,10及び実行結果判定部9,15は専用のハードウエア(例えば、集積回路)を用いて構成されているものとして説明するが、これに限るものではなく、これらの処理内容が記述されたソフトウエアを用意し、図示せぬCPUが当該ソフトウエアを実行するようにしてもよい。
また、試験条件1、seed対応表4及び生成履歴16は図示せぬメモリに格納されているものとする。
なお、エミュレータ5は専用のハードウエアであり、シミュレータ12は図示せぬ計算機に内蔵され、短いテストケース11を実行するデバッグプログラムである。
【0012】
次に動作について説明する。
この実施の形態1では、システムLSIの動作を確認する場合、試験の初期段階では、高速に動作確認を行うことが可能なエミュレータ5を使用する。エミュレータ5が不具合を検出すると、エミュレータ5よりも詳細に不具合を解析することが可能なシミュレータ12を使用して動作確認を行う。
具体的には次の通りである。
【0013】
まず、テストケース生成部2が、LSIの動作を確認する個別のテストケースを複数連結して、エミュレータ5用の一連のテストケースである実行時間の長いテストケース3を生成するとともに、テストケース生成部10が実行時間の短いテストケース11を生成する際に参照するseed対応表4を生成する。
ここで、図2は実行時間の長いテストケース3の構造を示しており、実行時間の長いテストケース3は、エミュレータ5が実行を開始する時点の入力データAを入力し、エミュレータ5が実行を終了した時点の出力データBを出力する。
【0014】
長いテストケース3の内部は、テストケース生成部10による短いテストケース11の生成を容易にするために、短いテストケース11に相当する個別のテストケース(以下、blockという)がシリーズに複数連結されている構造になっている。
即ち、長いテストケース3は、block−1、block−2、・・・、block−nがシリーズに連結され、前段のblockの出力データが後段のblockの入力データになっている。
なお、blockの実態は、エミュレータ5の実行シーケンスであり、seed−1、seed−2、seed−nは、エミュレータ5がblockを実行したときの実行seedに相当する。
【0015】
図4はseed対応表4の生成例を示しており、図4の例では、試験対象として“A”から“Z”までの26個の試験項目がある試験条件を示している。
長いテストケース3の生成する毎に試験項目を決定するが、例えば、テストケース1の場合は、試験項目が{C,E,I}である試験条件を決定し、テストケース2の場合は、試験項目が{D,E}である試験条件を決定している。
なお、長いテストケース3内の各blockの試験条件は、長いテストケース3の試験条件と同一であるが、その試験項目に関する条件を相互に変えている。
したがって、テストケース1の各blockの試験条件は全て{C,E,I}であって同じであるが、例えば、block−1における試験項目に関する条件は{4,1,5}であるのに対し、block−2における試験項目に関する条件は{3,3,3}であり、相互に異なる。
【0016】
エミュレータ5は、試験対象であるLSIのモデル6を搭載し、テストケース生成部2が実行時間の長いテストケース3を生成すると、その長いテストケース3を実行して、その実行結果7を実行結果判定部9に出力する。また、長いテストケース3の実行状態を示す実行seed8をテストケース生成部10に出力する。
【0017】
実行結果判定部9は、エミュレータ5の実行結果7を参照し、長いテストケース3が正常に実行されているか否かを判定する。長いテストケース3が正常に実行されている場合において、他に未実行の長いテストケース3があれば、エミュレータ5に対して引き続き未実行の長いテストケース3の実行を指示する。例えば、テストケース1を実行し、その実行結果が正常であれば、テストケース2の実行を指示する。テストケースnまで実行を終了し、テストケースnの実行結果が正常であれば、システムLSIの動作は正常であると認定する。
一方、長いテストケース3が正常に実行されていなければ、テストケース生成部10に対して実行時間が短いテストケース11の生成を指示する。
【0018】
テストケース生成部10は、実行結果判定部9から短いテストケース11の生成指示を受けると、長いテストケース3の実行状態を示す実行seed8とseed対応表4を参照して、実行時間が短いテストケース11を生成する。
例えば、長いテストケース3を構成するblockのうち、block−4での実行結果がエラーになると、図5に示すように、block−4の試験条件{C,E,I}に他の試験条件を付加して実行時間の短いテストケース11(例えば、testcase−1)を生成する。即ち、block−4の試験条件{C,E,I}を固定し、その他の試験条件を付加して短いテストケース11を生成する。
【0019】
ここで、block−4の試験条件{C,E,I}に他の試験条件を付加する理由は、実行時間の長いテストケース3でのエラーの条件が実行時間の短いテストケース11に含まれていない場合があるからである。
図3は実行時間の長いテストケース3からblock−4を取り出して、実行時間の短いテストケース11を生成した場合を示している。
短いテストケース11の入力データはblock−4の入力データと同じであり、短いテストケース11の出力データはblock−4の出力データと同じである。“状態設定”は短いテストケース11の動作条件をblock−4の実行前の動作状態に設定するためのものである。この“状態設定”を変更することにより、同じ短いテストケース11でも異なる試験を行うことができる。
【0020】
シミュレータ12は、試験対象であるLSIのモデル13を搭載し、テストケース生成部10が実行時間の短いテストケース11を生成すると、その短いテストケース11を実行する。
実行結果判定部15は、シミュレータ12の実行結果14を参照し、短いテストケース11が正常に実行されているか否かを判定する。短いテストケース11が正常に実行されている場合、実行時間の長いテストケース3でのエラーの条件が実行時間の短いテストケース11に含まれていない可能性があるので、テストケース生成部10に対して短いテストケース11の更新を指示する。
【0021】
テストケース生成部10は、実行結果判定部15から短いテストケース11の更新指示を受けると、短いテストケース11の試験条件に付加された他の試験条件を変更して短いテストケース11を更新する(図5を参照)。この際、過去に生成した短いテストケース11と同じ短いテストケース11を生成しないようにするため、生成履歴16を参照して短いテストケース11を更新する。
例えば、testcase−1が正常に実行されている場合、試験項目Aに関する条件を“1”から“2”に変更してtestcase−2を生成する。
【0022】
実行結果判定部15は、短いテストケース11が正常に実行されていない場合、その短いテストケース11と実行結果14を蓄積するが、さらに、詳細なエラー解析を続ける場合には、テストケース生成部10に対して短いテストケース11の更新を指示する。
【0023】
以上で明らかなように、この実施の形態1によれば、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータ5が実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ12用のテストケースを生成するように構成したので、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果を奏する。
即ち、試験の初期段階では、高速に動作確認を行うことが可能なエミュレータ5を使用し、エミュレータ5が不具合を検出すると、エミュレータ5よりも詳細に不具合を解析することが可能なシミュレータ12を使用して動作確認を行うが、その際、エミュレータ5用の一連のテストケースからエラーが発生した個別のテストケースを切り出すだけで、シミュレータ12用のテストケースを生成することができるので、LSIの機能試験を効率的に実施することができる。
【0024】
実施の形態2.
図6はテストケース生成部2の処理内容を示すフローチャートであり、図7はテストケース生成部10の処理内容を示すフローチャートである。また、図8はテストケース生成部2,10の共通の処理内容を示すフローチャートである。
上記実施の形態1でも、テストケース生成部2,10の処理内容を説明しているが、この実施の形態2では、更に詳細に処理内容を説明する。
【0025】
まず、テストケース生成部2は、テストケースの試験条件が指定されると、例えば、乱数発生器等を使用して、再現するためのseedと試験条件を変化させて試験項目を確定する(ステップST1,ST1−1)。
次に、テストケース生成部2は、その確定した試験項目から長いテストケース3のblockのseed()の形式を決定し(図4の例ではA〜Zの26個の試験項目)、その試験項目の対応表(長いテストケース3を構成するblockのIDに対応して試験条件をまとめた表)を作成する(ステップST1,ST1−2)。
【0026】
テストケース生成部2は、長いテストケース3のseedと試験項目の対応表を作成すると、長いテストケース3のblockの試験条件を決定し(ステップST2−1,ST2−1−1)、その試験条件から試験項目の対応表に合わせてblockのseedを決定する(ステップST2−1,ST2−1−2)。即ち、試験項目の対応表から取り出した試験条件には、値が設定されていない試験項目があるので、値が設定されていない試験項目の値を設定する。
次に、テストケース生成部2は、試験項目の試験条件にしたがって入力データを決定する(ステップST2−2)。その際、入力データに関する条件があれば、その条件にしたがって入力データを決定する。また、前段のblockの出力データがある場合には、その出力データを入力データとして確定する。
次に、テストケース生成部2は、後述する図8の処理フローにしたがってテストシーケンスを生成する(ステップST2−3)。ステップST2−1からST2−3の処理を繰り返すことにより、長いテストケース3を構成する複数のblockを生成する。
【0027】
テストケース生成部2は、複数のblockを生成すると、前段のblock(テストシーケンス)の出力データを後段のblock(テストシーケンス)の入力データと接続して、複数のテストシーケンスをシリーズに連結することにより、実行時間の長いテストケース3を生成する(ステップST3,ST3−1)。その際、その出力データの期待値と実行時の値を比較するためのシーケンスが必要な場合には、期待値比較シーケンスを生成し、長いテストケース3の最後にマージする(ステップST3−2)。
【0028】
次に、テストケース生成部10は、blockのseedと試験項目の対応表から試験項目の条件を確定する(ステップST11,ST11−1)。その際、試験項目の条件の確定は、テストケース毎に生成される試験項目の対応表とblockのseedを読み込み(ステップST11−1−1)、そのblockのseedを試験項目の対応表に照らし合わせて、seedの試験項目と試験条件を確定する(ステップST11−1−2)。
【0029】
次に、テストケース生成部10は、指定された試験項目の試験条件以外に確定していない試験項目の試験条件を過去の生成履歴16から確定する(ステップST11,ST11−2)。
その際、試験条件の確定は、過去の生成履歴16から指定された試験項目と試験条件(試験条件の対応表から取り出した実行seed8に対応する試験項目と試験条件)が一致する条件を取り出し(ステップST11−2−1)、その過去の生成履歴16で指定されていない試験項目の試験条件をマージし、既に生成した試験条件を取り出す(ステップST11−2−2)。
そして、マージした試験項目の試験条件の中で、まだ、生成していない試験項目と試験条件を確定し(ステップST11−2−3)、その確定した試験項目と試験条件を過去の生成履歴として登録し、次回のテストケースの生成時に使用する(ステップST11−2−4)。
【0030】
テストケース生成部10は、上記のようにして試験項目と試験条件を確定すると、その試験項目と試験条件から入力データを生成する(ステップST12)。
入力データの生成は、その試験項目と試験条件から入力データに関する条件を選択し(ステップST12−1)、その選択した条件に応じて入力データを生成する(ステップST12−2)。
次に、テストケース生成部10は、後述する図8の処理フローにしたがってテストシーケンスを生成する(ステップST13)。
【0031】
テストケース生成部10は、そのテストシーケンスと入力データと出力データに基づいて実行時間の短いテストケースを生成する(ステップST14,ST14−1)。その際、入力データを設定するためシーケンスが必要な場合には、入力データ生成シーケンスを生成し、テストシーケンスの最初にマージする。また、その出力データの期待値と実行時の値を比較するためのシーケンスが必要な場合には、期待値比較シーケンスを生成し、短いテストケース11の最後にマージする(ステップST14−2)。
【0032】
次に、図8におけるテストシーケンスの生成処理を説明する。
テストケース生成部2,10は、試験項目の中でシーケンスの個数に関する試験条件を選択し(ステップST21)、そのシーケンスの個数分のシーケンスを生成する(ステップST22)。
即ち、テストケース生成部2,10は、試験項目の中でシーケンスの条件に関する試験項目を選択すると(ステップST22−1)、その試験項目と試験条件から最初のシーケンスの条件を確定してシーケンスを生成する(ステップST22−2)。
【0033】
次に、その生成したシーケンスとシーケンスへの入力データから、シーケンス実行後の出力データを決定し(ステップST22−3)、その出力データを次の入力データとして設定する(ステップST22−4)。そして、次のシーケンスを生成するための試験項目に対する試験条件を確定する(ステップST22−5)。ステップST21−1〜ST22−5の処理を繰り返し実施することにより、選択したシーケンスの個数分のシーケンスを生成する。
この実施の形態2によれば、上記実施の形態1と同様に、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果を奏する。
【0034】
実施の形態3.
図9はテストケースの具体的な生成例を示す説明図である。
図9の例では、3個のレジスタR0,R1,R2と2個のメモリ領域@R3,@R4と1個のキャッシュとを利用して、テストケースを生成するようにしている。なお、キャッシュの状態は、コピー状態Cと変更状態Mの2種類があるものとする。
また、図9の例では、テストケースを構成するblock−1〜block−3は、それぞれ4個の命令を指定するシーケンスからなされるものとする。
【0035】
最初のblock−1の生成において、4個の命令が例えば乱数のシード値によってADD→LD→LD→SUBの順番に生成することが決定されると、最初のADD命令で使用する資源としてレジスタR0,R1をランダムに選択する。
この結果、レジスタR0,R1の初期値の設定が必要となるので、レジスタR0に対して0x0123、レジスタR1に対して0x4567をランダムに設定する。また、ADD命令の実行後の期待値として、レジスタR0に期待値0x468Aを設定する。
【0036】
次のLD命令で使用する資源としてレジスタR2とメモリ領域@R3をランダムに選択する。
この結果、レジスタR2とメモリ領域@R3の初期値の設定が必要となるので、レジスタR2に対して0x9999、メモリ領域@R3に対して0x1111をランダムに設定する。
また、LD命令の実行後の期待値として、レジスタR2に期待値0x1111を設定する。メモリからデータを読み込んだ結果、キャッシュの状態は、MISSとなり、メモリ領域@R3をキャッシュにコピーする状態Cで保持する。
【0037】
次のLD命令で使用する資源としてレジスタR1とメモリ領域@R3をランダムに選択する。使用する全ての資源には初期値が設定されているため、初期化処理は行わない。
また、LD命令の実行後の期待値として、レジスタR1に期待値0x1111を設定する。これにより、メモリからデータを読み込む際、キャッシュにHITすることになる。
【0038】
次のSUB命令で使用する資源としてレジスタR0,R1をランダムに選択する。使用する全ての資源には初期値が設定されているため、初期化処理は行わない。
また、SUB命令の実行後の期待として、レジスタR1に期待値0xCA87を設定する。
【0039】
これにより、最初のblock−1における4個の命令が生成されたことになるため、block単位でのレジスタ、メモリ領域及びキャッシュに対する入力データと出力データも確定したことになる。
この場合、入力データは、R0が0x0123、R1が0x4567、R2が0x9999、@R3が0x1111、@R4が未使用、キャッシュが何も無い状態となる。
また、出力データは、R0が0x468A、R1が0xCA87、R2が0x1111、@R3が0x1111、@R4が未使用、キャッシュが@R3のコピー状態Cとなる。
【0040】
block−1と同様にして、残りのblock−2,block−3も生成すると、テストケースは3個のblock−1,block−2,block−3を連続的に実行するため、block−1の先頭のADDからblock−3の最後のSUBまで、12個の命令から構成されることになる。
また、入力データは、R0が0x0123、R1が0x4567、R2が0x9999、@R3が0x1111、@R4が0x2222、キャッシュが何も無い状態となる。
また、出力データは、R0が0xE024、R1が0x3333、R2が0x2222、@R3が0x3333、@R4が0x468A、キャッシュが@R4のコピー状態Cとなる。
【0041】
この実施の形態3では、命令の実行に関するプロセッサを試験対象として説明しているが、内部状態が入力データによって確定し、入力データと内部状態によって出力データが決定するものを試験対象として考えれば、本テストケースの生成方式を適用することができ、同様の効果が得られる。
【0042】
【発明の効果】
以上のように、この発明によれば、個別のテストケースが複数連結されて生成された一連のテストケースをエミュレータが実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ用のテストケースを生成するように構成したので、LSIの機能試験を効率的に実施可能なテストケースを生成することができる効果がある。
【図面の簡単な説明】
【図1】この発明の実施の形態1によるテストケース生成装置を示す構成図である。
【図2】実行時間の長いテストケースの構造を示す説明図である。
【図3】実行時間の短いテストケースの構造を示す説明図である。
【図4】seed対応表の生成例を示す説明図である。
【図5】実行時間の短いテストケースの生成例を示す説明図である。
【図6】テストケース生成部の処理内容を示すフローチャートである。
【図7】テストケース生成部の処理内容を示すフローチャートである。
【図8】テストケース生成部の共通の処理内容を示すフローチャートである。
【図9】テストケースの具体的な生成例を示す説明図である。
【符号の説明】
1 試験条件、2 テストケース生成部(第1のテストケース生成手段)、3長いテストケース、4 seed対応表、5 エミュレータ、6 モデル、7実行結果、8 実行seed、9 実行結果判定部(第2のテストケース生成手段)、10 テストケース生成部(第2のテストケース生成手段、テストケース更新手段)、11 短いテストケース、12 シミュレータ、13 モデル、14 実行結果、15 実行結果判定部(テストケース更新手段)、16 生成履歴。
Claims (6)
- 集積回路の動作を確認する個別のテストケースを複数連結して、エミュレータ用の一連のテストケースを生成する第1のテストケース生成手段と、上記エミュレータが上記第1のテストケース生成手段により生成された一連のテストケースを実行し、ある個別のテストケースでの実行結果がエラーになると、その個別のテストケースの試験条件に他の試験条件を付加してシミュレータ用のテストケースを生成する第2のテストケース生成手段とを備えたテストケース生成装置。
- 第1のテストケース生成手段は、個別のテストケースの出力データが他の個別のテストケースの入力データになるように複数の個別のテストケースをシリーズに連結することを特徴とする請求項1記載のテストケース生成装置。
- シミュレータが第2のテストケース生成手段により生成されたテストケースを実行し、そのテストケースでの実行結果がエラーにならない場合、そのテストケースを更新して、更新後のテストケースを上記シミュレータに与えるテストケース更新手段を設けたことを特徴とする請求項1記載のテストケース生成装置。
- テストケース更新手段は、シミュレータの実行結果がエラーになるまで、テストケースを繰り返し更新することを特徴とする請求項3記載のテストケース生成装置。
- テストケース更新手段は、シミュレータがテストケースを実行し、そのテストケースでの実行結果がエラーにならない場合、そのテストケースの試験条件に付加された他の試験条件を変更して当該テストケースを更新することを特徴とする請求項3記載のテストケース生成装置。
- テストケース更新手段は、シミュレータがテストケースを実行し、そのテストケースでの実行結果がエラーになると、そのテストケースを蓄積してから、そのテストケースを更新することを特徴とする請求項3記載のテストケース生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194514A JP2005031860A (ja) | 2003-07-09 | 2003-07-09 | テストケース生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003194514A JP2005031860A (ja) | 2003-07-09 | 2003-07-09 | テストケース生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005031860A true JP2005031860A (ja) | 2005-02-03 |
Family
ID=34205658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003194514A Pending JP2005031860A (ja) | 2003-07-09 | 2003-07-09 | テストケース生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005031860A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015031172A1 (en) * | 2013-08-28 | 2015-03-05 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
CN107036645A (zh) * | 2016-02-04 | 2017-08-11 | 上海晨兴希姆通电子科技有限公司 | 一种异常处理方法及模块 |
CN108833214A (zh) * | 2018-08-29 | 2018-11-16 | 杭州安恒信息技术股份有限公司 | 一种工控网络检测的方法、装置和系统 |
-
2003
- 2003-07-09 JP JP2003194514A patent/JP2005031860A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015031172A1 (en) * | 2013-08-28 | 2015-03-05 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
US9218011B2 (en) | 2013-08-28 | 2015-12-22 | Qualcomm Incorporated | Corner-case emulation tool for thermal power testing |
CN107036645A (zh) * | 2016-02-04 | 2017-08-11 | 上海晨兴希姆通电子科技有限公司 | 一种异常处理方法及模块 |
CN107036645B (zh) * | 2016-02-04 | 2019-08-06 | 上海晨兴希姆通电子科技有限公司 | 一种异常处理方法及模块 |
CN108833214A (zh) * | 2018-08-29 | 2018-11-16 | 杭州安恒信息技术股份有限公司 | 一种工控网络检测的方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4266226B2 (ja) | 選択的に有効にされるチェッカーを用いた設計検証システムおよび方法 | |
US4984239A (en) | Automatic verification system for maintenance/diagnosis facility in computer system | |
US9047260B2 (en) | Model-based testing of a graphical user interface | |
JP2001222442A (ja) | パイプライン試験方法、パイプライン試験命令生成方法及びその記憶媒体 | |
JP2017084082A (ja) | シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 | |
Gaudesi et al. | On test program compaction | |
US7673288B1 (en) | Bypassing execution of a software test using a file cache | |
JP2009193165A (ja) | デバッグ装置およびデバッグ方法 | |
JP2005031860A (ja) | テストケース生成装置 | |
CN115964237A (zh) | 一种针对中央处理器cpu的功能及性能测试方法及装置 | |
JP5387521B2 (ja) | 論理検証シナリオ生成装置、及び、論理検証シナリオ生成プログラム | |
JP5120103B2 (ja) | デバッグ方法およびデバッグプログラム | |
JP2002041485A (ja) | トランザクション競合試験方式 | |
JP6949440B2 (ja) | ベクタ生成装置及びベクタ生成用プログラム | |
US7526703B2 (en) | Method of test pattern generation in IC design simulation system | |
JP2001051864A (ja) | データ処理装置の試験実行方式 | |
JP2008117110A (ja) | 機能検証方法及び機能検証装置 | |
JP2001022610A (ja) | データ処理装置の論理シミュレーション方式 | |
JP2953029B2 (ja) | 論理集積回路の試験方法 | |
Sabena et al. | On the development of diagnostic test programs for VLIW processors | |
JP2004272312A (ja) | テスト装置及びテスト方法 | |
JPH07253901A (ja) | 情報処理装置の試験方法 | |
JP2006085363A (ja) | テストベンチシステム、プログラム、及び記憶媒体 | |
JP2967741B2 (ja) | Cpu互換性テスト装置 | |
JP2004220222A (ja) | 設計支援装置、およびソースコードカバレッジ方法、並びにそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060123 |