(57)【要約】【課題】期待値を出力するための入力パラメータの組み合わせを簡単かつ効率的に求めることにより、検証作業の効率化を図ること。【解決手段】検証支援装置１００では、テストパターン生成部２０１により、テストパターン２１３，２１４を生成してシミュレーションを実行し、期待値判定部２０４により期待値判定する。未出力の期待値がある場合、関連度表２１６に基づき変更後のテストパラメータＴＰk，ｔｐkを生成し、シミュレーションを実行して期待値判定する。期待値どおりの出力値がある場合、“期待値を出力する入力パラメータＰ−ｉの組み合わせ”を出力する。そして、テストパラメータ生成部１１０３に与えることにより、テストパラメータＴＰを生成する。このテストパラメータＴＰをＲＴＬシミュレータ２０２に与えることにより、期待値どおりの値を出力するシミュレーション結果を得る。【選択図】図２
2009070274.tif 000002
【特許請求の範囲】
【請求項１】
検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行するコンピュータを、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定手段、
前記設定手段によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更手段、
前記変更手段による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
【請求項２】
前記設定手段は、
前記入出力シーケンスにおける前記入力パラメータの設定の有無に基づいて、前記出力期待値と前記各入力パラメータとの関連度を設定することを特徴とする請求項１に記載の検証支援プログラム。
【請求項３】
前記設定手段は、
前記検証対象のレジスタ定義群のうち前記出力名により特定されるレジスタ定義における前記入力パラメータの変数名の有無に基づいて、前記出力期待値と前記入力パラメータとの関連度を設定することを特徴とする請求項１または２に記載の検証支援プログラム。
【請求項４】
前記変更手段は、
前記関連度が所定値以上である入力パラメータの値を変更することを特徴とする請求項１〜３のいずれか一つに記載の検証支援プログラム。
【請求項５】
前記コンピュータを、
前記出力手段によって出力された前記変更後の入力パラメータ群を与えた結果、前記テストパターン生成処理により生成されるテストパターンを用いてＲＴＬシミュレーションを実行する実行手段として機能させることを特徴とする請求項１〜４のいずれか一つに記載の検証支援プログラム。
【請求項６】
請求項１〜５のいずれか一つに記載の検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【請求項７】
検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行する検証支援装置において、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定手段と、
前記設定手段によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更手段と、
前記変更手段による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力手段と、
を備えることを特徴とする検証支援装置。
【請求項８】
検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行する検証支援方法において、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定工程と、
前記設定工程によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更工程と、
前記変更工程による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力工程と、
を含んだことを特徴とする検証支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩの検証を支援する検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法に関する。
【背景技術】
【０００２】
近年、ＬＳＩが正常に動作するか否かを検証する論理検証作業が必要不可欠あり、特に、大規模化、高機能化、高速化および低消費電力化が要求されているＬＳＩについては、高品質を維持するためにもこの論理検証作業の重要性が高まっている。そのため、多くの機能を漏れなく検証しなければならない。また、設計期間の短縮のために検証作業の効率化も要求される。
【０００３】
ＬＳＩの論理検証では、まずＬＳＩの実現すべき機能が規定された機能仕様書を分析することにより、検証項目表、入出力シーケンス表、入力パラメータ表を抽出する。これらから、論理シミュレータに入力するテストシナリオとテストパラメータを作成する。
【０００４】
論理シミュレーションでは、テストシナリオと呼ばれる一連のシーケンスを用いてＬＳＩの入力パラメータを設定して、ＬＳＩからの出力値が期待値と合っているかを検証する。期待値は、ＬＳＩの機能仕様に基づいてＣ言語などにより作成した期待値モデルを用いて求めることができる。
【０００５】
入力パラメータの取り得る値とそれらの組み合わせは、機能仕様で規定された入力条件の範囲の値と制約条件を満たす組み合わせのすべての場合をテストパターンとして検証することが理想である。しかし現実には、テストパターンが莫大な数になる場合があり、絞り込みを行う必要がある。入力パラメータの値の絞込みは、同値分析法や境界値分析法を用いて、典型的な値、境界値を抽出することでおこなわれる。
【０００６】
入力パラメータの組み合わせの絞込みは、タグチメソッドによる直交表を用いた方法などが使われる。これらの従来からの方法に加えて、論理シミュレーションの結果からパラメータの入力値の分布の集積度を求めて、それを基に入力パラメータの絞り込みを行う方法が提案されている（たとえば、下記特許文献１を参照。）。
【０００７】
一方で、検証すべき機能の網羅性を上げるために、入力パラメータの値や組み合わせをランダム生成したテストパターンを利用することがある。ランダムに生成するパラメータをいくつかのグループに分け、グループ毎に変化させる周期を変えることで、異なるパターンを効率よく発生させるＬＳＩの自動論理検証方式が提案されている（たとえば、下記特許文献２を参照。）。
【０００８】
【特許文献１】特開２００１−１８８８１０号公報
【特許文献２】特開平１０−２２１４１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、絞り込みされた入力パラメータの組み合わせによる検証のみでは、期待する値を出力するパスを検証するパターンが生成することができず、検証すべき機能の網羅性が低いという問題があった。また、ＬＳＩの持つ機能が複雑になればなるほど、期待する値を出力するための入力パラメータの組み合わせを求める演算も複雑化するため、入力パラメータの組み合わせを求めることが困難であるという問題があった。
【００１０】
また、上述した特許文献１は、出力値がある範囲内の値に収まるように入力パラメータを絞り込むが、期待する一つの出力値を得るための入力パラメータを求めるための方式ではない。また、入力パラメータにランダム生成した値を用いることによって期待する出力値を得ることができる場合があるが、すべてのパラメータをランダムにしたのではシミュレーション実行時間も膨大な時間を費やすことになる可能性があり、設計期間の長期化を招くという問題があった。
【００１１】
また、上述した特許文献２は、ランダムに生成するパラメータをいくつかのグループに分けて実行する方式であるが、どのようなグループに分けるかという方法や具体的な指針は示されておらず、その実現性に問題があった。
【００１２】
この発明は、上述した従来技術による問題点を解消するため、期待値を出力するための入力パラメータの組み合わせを簡単かつ効率的に求めることにより、検証作業の効率化を図ることができる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、この発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法は、検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とをコンピュータが実行する場合に、前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定し、設定された関連度に基づいて、前記各入力パラメータの値を変更し、変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力することを特徴とする。
【００１４】
この発明によれば、変更後の入力パラメータ群を、期待値を出力する入力パラメータの組み合わせとして得ることができる。
【００１５】
また、上記発明において、前記入出力シーケンスにおける前記入力パラメータの設定の有無に基づいて、前記出力期待値と前記各入力パラメータとの関連度を設定することとしてもよい。
【００１６】
この発明によれば、出力期待値と関連性のある入力パラメータを絞り込むことができる。
【００１７】
また、上記発明において、前記検証対象のレジスタ定義群のうち前記出力名により特定されるレジスタ定義における前記入力パラメータの変数名の有無に基づいて、前記出力期待値と前記入力パラメータとの関連度を設定することとしてもよい。
【００１８】
具体的には、前記出力名により特定されるレジスタ定義内の説明の中に一の入力パラメータの変数名があった場合、前記出力期待値と前記一の入力パラメータとの関連度を高くすることとしてもよい。
【００１９】
この発明によれば、出力期待値と直接的に関連性が強い入力パラメータを特定することができる。
【００２０】
また、上記発明において、他のレジスタ定義において前記一の入力パラメータの変数名が説明の中に記述されている他の入力パラメータの変数名の有無に基づいて、前記出力期待値と前記他の入力パラメータとの関連度を高くすることとしてもよい。
【００２１】
具体的には、前記他の入力パラメータの変数名があった場合、前記出力期待値と前記他の入力パラメータとの関連度を高くすることとしてもよい。
【００２２】
この発明によれば、出力期待値と間接的に関連性が強い入力パラメータを特定することができる。
【００２３】
また、上記発明において、前記関連度が所定値以上である入力パラメータの値を変更することとしてもよい。
【００２４】
この発明によれば、期待値を出力する可能性がある入力パラメータを網羅することができる。
【００２５】
また、上記発明において、前記所定値を複数設定し、前記所定値ごとに、前記関連度が前記所定値以上である入力パラメータの値を変更することとしてもよい。
【００２６】
この発明によれば、期待値を出力する可能性がある入力パラメータを段階的に得ることができ、その網羅性をより向上させることができる。
【００２７】
また、上記発明において、前記変更後の入力パラメータ群を与えた結果、前記テストパターン生成処理により生成されるテストパターンを用いてＲＴＬシミュレーションを実行することとしてもよい。
【００２８】
この発明によれば、期待値を出力するテストパターンの検証をおこなうことができる。
【発明の効果】
【００２９】
本発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法によれば、期待値を出力するための入力パラメータの組み合わせを簡単かつ効率的に求めることにより、検証作業の効率化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３０】
本発明は、検証対象となるＬＳＩの実現すべき機能が規定された機能仕様書を分析することにより得られた、検証項目表、入力パラメータ表、および入出力シーケンス表からテストパターンを生成してシミュレーションをおこない、期待値判定をおこなうという従来の検証作業において、期待値が得られなかった出力と入力パラメータ表中の入力パラメータとの関連性に着目したものである。
【００３１】
そして、関連性の高い入力パラメータの値を変更することで繰り返しテストパターンの生成およびシミュレーションを実行する。これにより、出力値が期待値どおりとなれば、その変更後の入力パラメータ群は、期待値を出力する入力パラメータの組み合わせとなる。このようにして、入力パラメータの網羅性を向上させ、期待値を出力する入力パラメータの組み合わせの取得を効率的におこなう。
【００３２】
以下に添付図面を参照して、この発明にかかる検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法の好適な実施の形態を詳細に説明する。
【００３３】
（検証支援装置のハードウェア構成）
まず、この発明の実施の形態にかかる検証支援装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる検証支援装置のハードウェア構成を示す説明図である。
【００３４】
図１において、検証支援装置１００は、コンピュータ本体１１０と、入力装置１２０と、出力装置１３０と、から構成されており、不図示のルータやモデムを介してＬＡＮ，ＷＡＮやインターネットなどのネットワーク１４０に接続可能である。
【００３５】
コンピュータ本体１１０は、ＣＰＵ，記憶装置，インターフェースを有する。ＣＰＵは、検証支援装置１００の全体の制御を司る。記憶装置は、ＲＯＭ，ＲＡＭ，ＨＤ，光ディスク１１１，フラッシュメモリから構成される。ＲＡＭはＣＰＵのワークエリアとして使用される。
【００３６】
また、記憶装置には各種プログラムが格納されており、ＣＰＵからの命令に応じてロードされる。ＨＤおよび光ディスク１１１はディスクドライブによりデータのリード／ライトが制御される。また、光ディスク１１１およびフラッシュメモリはコンピュータ本体１１０に対し着脱自在である。インターフェースは、入力装置１２０からの入力、出力装置１３０への出力、ネットワーク１４０に対する送受信の制御をおこなう。
【００３７】
また、入力装置１２０としては、キーボード１２１、マウス１２２、スキャナ１２３などがある。キーボード１２１は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス１２２は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ１２３は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体１１０内の記憶装置に格納される。なお、スキャナ１２３にＯＣＲ機能を持たせてもよい。
【００３８】
また、出力装置１３０としては、ディスプレイ１３１、プリンタ１３２、スピーカ１３３などがある。ディスプレイ１３１は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、プリンタ１３２は、画像データや文書データを印刷する。またスピーカ１３３は、効果音や読み上げ音などの音声を出力する。
【００３９】
（検証支援装置１００の機能的構成）
つぎに、この発明の実施の形態にかかる検証支援装置１００の機能的構成について説明する。図２は、この発明の実施の形態にかかる検証支援装置１００の機能的構成を示すブロック図である。図２において、検証支援装置１００は、テストパターン生成部２０１と、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ：レジスタ間の動作であらわした回路設計のレベル）シミュレータと、期待値モデルシミュレータ２０３と、期待値判定部２０４と、関連度表生成部２０５と、を備えている。
【００４０】
これら各機能は、検証支援装置１００内のメモリに格納された当該機能に関するプログラムを検証支援装置１００内のプロセッサに実行させることにより、または、入出力Ｉ／Ｆにより、当該機能を実現することができる。
【００４１】
また、各機能からの出力データはメモリに保持される。また、図２中矢印で示した接続先の機能は、接続元の機能からの出力データをメモリから読み込んで、当該機能に関するプログラムを検証支援装置１００内のプロセッサに実行させる。
【００４２】
まず、テストパターン生成部２０１は、検証対象であるＬＳＩの検証項目表２１１、入力パラメータ表ＩＰ0、および入出力シーケンス表２１２を読み込んで、テストシナリオおよびテストパラメータからなるテストパターンを生成する機能を有する。具体的には、ＲＴＬシミュレータ２０２用のテストパターンと期待値モデルシミュレータ２０３用のテストパターン２１３，２１４を生成する。両テストパターン２１３，２１４は出力先のシミュレータ２０２，２０３が異なるため、フォーマットが異なるだけであり、内容は同一である。
【００４３】
ＲＴＬシミュレータ２０２用のテストパターン２１３において、テストシナリオＴＳとテストパラメータＴＰ0は、初期の（変更前の）入力パラメータ表ＩＰ0から得られるテストパターンである。テストシナリオＴＳは、一度生成されればその後は変更されず、何度も利用することができる。テストパラメータＴＰ1〜ＴＰ3は、パラメータ変更後のテストパラメータである。
【００４４】
また、テストパラメータＴＰは、期待値を出力する入力パラメータの組み合わせから生成されたテストパラメータである。なお、ここでは、例として変更後のテストパラメータをＴＰ1〜ＴＰ3の３個としたが、この数、すなわち変更回数は、後述する変更部１１０５により設定される。
【００４５】
同様に、期待値モデルシミュレータ２０３用のテストパターン２１４において、テストシナリオｔｓとテストパラメータｔｐ0は、初期の（変更前の）入力パラメータ表ＩＰ0から得られるテストパターンである。テストシナリオｔｓは、一度生成されればその後は変更されず、何度も利用することができる。テストパラメータｔｐ1〜ｔｐ3は、パラメータ変更後のテストパラメータである。なお、ここでは、例として変更後のテストパラメータをｔｐ1〜ｔｐ3の３個としたが、この数、すなわち変更回数は、後述する変更部１１０５により設定される。
【００４６】
ＲＴＬシミュレータ２０２は、一般的な公知のシミュレータであり、検証対象の回路データにＲＴＬシミュレータ２０２用のテストパターン２１３を与えることにより、シミュレーションを実行する。同様に、期待値モデルシミュレータ２０２も一般的な公知のシミュレータであり、検証対象の回路データに期待値モデルシミュレータ２０３用のテストパターン２１４を与えることにより、シミュレーションを実行する。
【００４７】
期待値判定部２０４は、ＲＴＬシミュレータ２０２のシミュレーション結果が期待値（期待値モデルシミュレータ２０３のシミュレーション結果）どおりか否かを判定する機能を有する。また、期待値判定部２０４は、出力部２０６を有する。出力部２０６は、期待値判定部２０４の判定結果に応じた出力処理をおこなう機能を有する。具体的には、期待値判定結果を関連度表生成部２０５に出力する。また、期待値が出力された入力パラメータの組み合わせをテストパターン生成部２０１に出力する。
【００４８】
また、関連度表生成部２０５は、レジスタ定義表２１５を読み込んで、関連度表２１６を生成する機能を有する。関連度表２１６は、テストパターン生成部２０１に出力される。テストパターン生成部２０１では、この関連度表２１６を用いて入力パラメータ表ＩＰ0中のパラメータの値を変更することで、あらたなテストパラメータＴＰ1〜ＴＰ3，ｔｐ1〜ｔｐ3を生成する。
【００４９】
変更後のあらたなテストパラメータＴＰ1〜ＴＰ3，ｔｐ1〜ｔｐ3は、ＲＴＬシミュレータ２０２および期待値モデルシミュレータ２０３に与えられ、そのシミュレーション結果により期待値判定部２０４において、期待値判定がおこなわれる。そして、期待値どおりの出力値が得られた場合、変更後の入力パラメータ表を、期待値を出力する入力パラメータの組み合わせとしてテストパターン生成部２０１に出力する。
【００５０】
また、テストパターン生成部２０１は、期待値を出力する入力パラメータの組み合わせからテストパラメータＴＰを生成する。このテストパラメータＴＰをＲＴＬシミュレータ２０２に与えることにより、最終的なシミュレーション結果を得ることができる。
【００５１】
（データの内容）
つぎに、この発明の実施の形態にかかる検証支援装置１００で用いるデータについて説明する。図２中、検証項目表２１１、入出力シーケンス表２１２、および入力パラメータ表ＩＰ0は、検証対象となるＬＳＩの実現すべき機能が規定された機能仕様書を分析することにより得られた入力データである。これらにより、テストパターン２１３，２１４が生成される。また、入力データには、レジスタ定義表２１５も含まれる。
【００５２】
図３は、検証項目表２１１の一例を示す説明図である。図３において、検証項目表２１１は、検証項目の集合であり、項目番号と大項目と中項目とからなる。大項目を細分化した項目が中項目である。項目番号は、その中項目ごとに割り振られている。また、各中項目は、入力パラメータ表ＩＰ0を有する。
【００５３】
図４は、入力パラメータ表ＩＰ0の一例を示す説明図である。入力パラメータ表ＩＰ0は複数の入力パラメータの集合である。図４に示した入力パラメータ表ＩＰ0は、図３に示した項目番号「ＴＥＳＴ−１１」に関する入力パラメータ表ＩＰ0である。入力パラメータ表ＩＰ0は、複数の入力パラメータ（図４では、例として入力パラメータＰ−１〜Ｐ−１５）を有する。各入力パラメータＰ−１〜Ｐ−１５は、パラメータ名、変数名、パラメータ（最大値、最小値、値１〜値４）により構成されている。
【００５４】
図５は、入出力シーケンス表２１２の一例を示す説明図である。入出力シーケンス表２１２は、検証対象を構成するハードウェア間（ソフトウェア間、ハードウェアおよびソフトウェア間でもよい）のシーケンスをあらわした表であり、図３に示した項目番号ごと、すなわち、中項目ごとに存在する。図５に示した入出力シーケンス表２１２は、図３に示した項目番号「ＴＥＳＴ−１１」に関する入出力シーケンス表２１２であり、ＣＰＵと画像処理部とのシーケンスをあらわしている。
【００５５】
このシーケンスのうち、ＣＰＵの列の『１０．抽出した累積ヒストグラムでの特定値ＤｍｉｎＡ，ＤｍａｘＡ，ＤｍｉｎＢ，ＤｍａｘＢをそれぞれ所定のレジスタからリードする』処理をＲＴＬシミュレータ２０２でおこなった結果得られる出力が“Ｏ−１”，“Ｏ−２”の値である。
【００５６】
図６は、レジスタ定義表２１５の一例を示す説明図である。レジスタ定義表２１５とはレジスタ定義の集合である。レジスタ定義とは、レジスタの内容（レジスタアドレス、ビット番号、ビットフィールド、Ｒ／Ｗ、初期値）を定義したレジスタ特有の情報であり、さらに、そのように定義されたときの概要（ＡＢＳＴ）および説明（ＤＥＴＡＩＬ）も記述されている。図６に示したレジスタ定義は、４つのレジスタ定義２１５−１〜２１５−４を有する。
【００５７】
図７は、テストシナリオＴＳの一例を示す説明図である。テストシナリオＴＳは、リードやライトなどの各処理を時系列であらわしたデータである。図８は、テストパラメータＴＰ0の一例を示す説明図である。テストパラメータＴＰ0は、テストパラメータ８０１〜８０５の集合である。各テストパラメータ８０１〜８０５は、図４に示した入力パラメータ表ＩＰ0から抽出されたデータである。
【００５８】
図９は、関連度表２１６の一例を示す説明図である。関連度表２１６は、出力期待値ごとに、出力期待値と各入力パラメータＰ−ｉ（ｉは番号）との関連性の高さをあらわす関連度Ｌが書き込まれた表である。ここでは、例として関連度Ｌは数値であらわされ、数値が高いほどその出力期待値と入力パラメータＰ−ｉは関連性が高いこととなる。
【００５９】
（関連度表生成部２０５の機能的構成）
つぎに、図２に示した関連度表生成部２０５の機能的構成について説明する。図１０は、図２に示した関連度表生成部２０５の機能的構成を示すブロック図である。図１０において、関連度表生成部２０５は、出力期待値設定部２５１と関連度設定部２５２とを備えている。
【００６０】
出力期待値設定部２５１は、入出力シーケンス表２１２と期待値判定結果とを読み込んで、出力期待値を設定する機能を有する。具体的には、どの出力値が期待値どおりで、どの出力値が期待値どおりでないかといった期待値判定結果を取り込む。この期待値判定結果と入出力シーケンス表２１２とを比較し、期待値判定結果の中から期待値を得たい出力名および期待値を関連付けることで、出力期待値Ｏ−１，Ｏ−２を設定する。
【００６１】
より具体的には、図５に示した入出力シーケンス表２１２のうち、ＣＰＵの列の『１０．抽出した累積ヒストグラムでの特定値ＤｍｉｎＡ，ＤｍａｘＡ，ＤｍｉｎＢ，ＤｍａｘＢをそれぞれ所定のレジスタからリードする』処理において、出力名として“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｈ”、“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｌ”が記述されている。また、これらには、０以上２５５以下という数値範囲も記述されている。
【００６２】
ここで、期待値として得たい必須の値が境界値である“０”と“２５５”であるとする。このうち、出力名“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｈ”の出力値が“０”で、かつ、出力名“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｌ”の出力値が“０”という出力値が得られなかったとすると、両出力名において期待値“０”を出力する入力パラメータを作成しなければ、検証できないこととなる。
【００６３】
したがって、出力名“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｈ”と期待値“０”とを関連付けて、パラメータ“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｈ＝０”とする。また、出力名“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｌ”と期待値“０”とを関連付けて、パラメータ“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｌ＝０”とする。この２つのパラメータを、出力期待値Ｏ−１として設定する。なお、出力期待値Ｏ−２についても同様に設定する。
【００６４】
また、関連度設定部２５２は、出力期待値Ｏ−１，Ｏ−２と各入力パラメータＰ−ｉとの関連性をあらわす関連度Ｌを設定する機能を有する。これにより、図９に示したような関連度表２１６が出力される。ここで、具体的に、関連度Ｌの設定について説明する。
【００６５】
＜関連度設定：その１＞
まず、関連度設定部２５２は、入出力シーケンス表２１２における入力パラメータの設定の有無に基づいて、出力期待値Ｏ−１，Ｏ−２と各入力パラメータＰ−ｉとの関連度を設定する。具体的には、たとえば、入力パラメータＰ−ｉが設定されていれば、関連度ＬをＬ＝１に設定する。入力パラメータＰ−ｉが設定されていなければ、関連度ＬをＬ＝０に設定する。
【００６６】
より具体的には、入出力シーケンス表２１２に入力パラメータＰ−ｉの変数名が記述されていれば、「入出力シーケンス表２１２において入力パラメータＰ−ｉが設定されている」こととなる。一方、入出力シーケンス表２１２に入力パラメータＰ−ｉの変数名が記述されていなければ、「入出力シーケンス表２１２において入力パラメータＰ−ｉが設定されていない」こととなる。
【００６７】
したがって、図４に示した入力パラメータ表ＩＰ0のうち入力パラメータＰ−９〜Ｐ−１５が設定されているため、関連度ＬをＬ＝１に設定する。一方、入力パラメータＰ−１〜Ｐ−８が設定されていないため、関連度ＬをＬ＝０に設定する。
【００６８】
＜関連度設定：その２＞
また、関連度設定部２５２は、レジスタ定義表２１５のうち出力名により特定されるレジスタ定義における入力パラメータＰ−ｉの変数名の有無に基づいて、出力期待値Ｏ−１，Ｏ−２と入力パラメータＰ−ｉとの関連度を設定する機能を有する。具体的には、レジスタ定義２１５−１〜２１５−４における「ＮＡＭＥ」と「ＤＥＴＡＩＬ」との組み合わせからなる文字列により、出力期待値のパラメータを特定する。
【００６９】
たとえば、レジスタ定義２１５−４においては、「ＮＡＭＥ」が“ＨＩＳＴ＿ＶＡＬＵＥ”であり、「ＤＥＴＡＩＬ」に“ＶＡＬＵＥ＿Ａ＿Ｈ”および“ＶＡＬＵＥ＿Ａ＿Ｌ”があるため、レジスタ定義２１５−４には、出力期待値Ｏ−１のパラメータ“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｈ＝０”および“ＨＩＳＴ＿ＶＡＬＵＥ．ＶＡＬＵＥ＿Ａ＿Ｌ＝０”が記述されていることがわかる。
【００７０】
そして、その「ＤＥＴＡＩＬ」の中に、“ＴＨＲＥ＿Ａ＿Ｈ”および“ＴＨＲＥ＿Ａ＿Ｌ”が記述されているため、“ＴＨＲＥ＿Ａ＿Ｈ”および“ＴＨＲＥ＿Ａ＿Ｌ”が変数名として記述されている入力パラメータＰ−１１，Ｐ−１２（図４を参照）と出力期待値Ｏ−１とは、関連性が強いことがわかる。したがって、出力期待値Ｏ−１について、入力パラメータＰ−１１，Ｐ−１２の関連度Ｌを“＋１”加算する。
【００７１】
また、この場合、レジスタ定義２１５−４以外の他のレジスタ定義２１５−１〜２１５−３において入力パラメータＰ−１１，Ｐ−１２の変数名“ＴＨＲＥ＿Ａ＿Ｈ”および“ＴＨＲＥ＿Ａ＿Ｌ”が説明の中に記述されている他の入力パラメータの変数名がある場合、他の入力パラメータも間接的に関連性がある。
【００７２】
たとえば、レジスタ定義２１５−１のＤＥＴＡＩＬ：ＨＩＳＴ＿ＳＴＡＲＴの説明中に、『累積ヒストグラムＡ（特定範囲累積）の開始位置。累積値＝０の時はＴＨＲＥ＿Ａ＿Ｌの設定値に関係なく、…』と記述されているため、“ＨＩＳＴ＿ＲＡＮＧＥ．ＨＩＳＴ＿ＳＴＡＲＴ”を変数名とする入力パラメータＰ−９が存在することがわかる。したがって、出力期待値Ｏ−１について、入力パラメータＰ−９の関連度Ｌを“＋１”加算する。
【００７３】
同様に、レジスタ定義２１５−１のＤＥＴＡＩＬ：ＨＩＳＴ＿ＥＮＤの説明中に、『累積ヒストグラム（特定範囲累積）の終了位置。累積値＝０の時はＴＨＲＥ＿Ａ＿Ｈの設定値に関係なく、…』と記述されているため、“ＨＩＳＴ＿ＲＡＮＧＥ．ＨＩＳＴ＿ＥＮＤ”を変数名とする入力パラメータＰ−１０が存在することがわかる。したがって、出力期待値Ｏ−１について、入力パラメータＰ−１０の関連度Ｌも“＋１”加算する。このように、＜関連度設定：その１＞および＜関連度設定：その２＞をおこなうことで、図９に示した関連度表２１６を生成することができる。
【００７４】
（テストパターン生成部２０１の機能的構成）
つぎに、図２に示したテストパターン生成部２０１の機能的構成について説明する。図１１は、図２に示したテストパターン生成部２０１の機能的構成を示すブロック図である。図１１において、テストパターン生成部２０１は、取得部１１０１と、テストシナリオ生成部１１０２と、テストパラメータ生成部１１０３と、フォーマット変換部１１０４と、変更部１１０５と、を備えている。
【００７５】
取得部１１０１は、入力されてくるデータを取得する機能を有する。具体的には、検証項目表２１１、入力パラメータ表ＩＰ0、および入出力シーケンス表２１２を読み込む。また、テストシナリオ生成部１１０２は、入出力シーケンス表２１２に基づいて、テストシナリオを生成する機能を有する。この機能自体は周知であるので、簡単に説明すると、入出力シーケンス表２１２に記述されているリードやライトなどの各処理を時系列に並べることで、テストシナリオＴＳを生成する。
【００７６】
また、テストパラメータ生成部１１０３は、入力パラメータ表ＩＰ0に基づいて、テストパラメータＴＰ0を生成する。具体的には、入力パラメータ表ＩＰ0の中から、テストシナリオＴＳに対応する入力パラメータＰ−ｉの変数名およびパラメータを抽出することで、テストパラメータＴＰ0を生成する。
【００７７】
たとえば、テストシナリオＴＳの生成元となる入出力シーケンス表２１２には、入力パラメータＰ−９〜Ｐ−１５が記述されているため、そのテストシナリオＴＳと対となるテストパラメータＴＰ0も入力パラメータＰ−９〜Ｐ−１５の変数名およびパラメータの組み合わせとなる。
【００７８】
図８に示したテストパラメータＴＰ0は、パラメータ８０１〜８０５を含む。図４を参照すると、パラメータ８０１は、入力パラメータＰ−９〜Ｐ−１５の変数名とその“最大値”の組み合わせであり、パラメータ８０２は、入力パラメータＰ−９〜Ｐ−１５の変数名とその“最小値”の組み合わせであり、パラメータ８０３は、入力パラメータＰ−９〜Ｐ−１５の変数名とその“値１”の組み合わせであり、パラメータ８０４は、入力パラメータＰ−９〜Ｐ−１５の変数名とその“値２”の組み合わせであり、パラメータ８０５は、入力パラメータＰ−９〜Ｐ−１５の変数名とその“値３”の組み合わせである。
【００７９】
また、フォーマット変換部１１０４は、テストシナリオＴＳおよびテストパラメータＴＰ0のフォーマットを変換して、期待値モデルシミュレータ２０３用のテストシナリオｔｓおよびテストパラメータｔｐ0を出力する。したがって、テストパターン２１３とテストパターン２１４とはフォーマットが異なるだけで内容は同一である。
【００８０】
また、変更部１１０５は、関連度表２１６に基づいて、入力パラメータ表ＩＰ0中の各入力パラメータの値を変更する機能を有する。具体的には、関連度Ｌが所定値ｔ以上である入力パラメータＰ−ｉの値を変更する。この所定値ｔは段階的に設定してもよい。たとえば、所定値ｔ≧２、２＞ｔ≧１、１＞ｔ≧０というように設定することができる。
【００８１】
この場合、関連度表２１６中、出力期待値Ｏ−１についての出力を求めたいときは、出力期待値Ｏ−１との関連度Ｌが２以上となる入力パラメータＰ−９〜Ｐ−１２を検出し、この入力パラメータＰ−９〜Ｐ−１２のパラメータ（最大値、最小値、値１〜値３）の値をランダムな値に変更する。
【００８２】
図１２は、関連度Ｌ＝２以上の場合の変更後の入力パラメータ表ＩＰ1の一例を示す説明図である。図１２において、入力パラメータＰ−９〜Ｐ−１２のパラメータ（最大値、最小値、値１〜値３）の値が“ＲＡＮＤＡＭ”に変更されている。図１２では、便宜上、“ＲＡＮＤＡＭ”と表記してあるが、実際には、その変数が取りうる値の範囲内で、乱数が与えられている。
【００８３】
なお、すでに存在する入力パラメータ表ＩＰ0のパラメータの値の組み合わせと同一の組み合わせとならないようにランダムに設定する。このように重複を排除することで、入力パラメータＰ−ｉの組み合わせの網羅性の向上を図ることができる。
【００８４】
この場合、テストパラメータ生成部１１０３では、図１２に示した変更後の入力パラメータ表ＩＰ1に基づいて、テストパラメータＴＰ１を生成する。生成手法は、入力パラメータ表ＩＰ0の場合と同一である。
【００８５】
図１３は、テストパラメータＴＰ0，ＴＰ1を比較した説明図である。テストパラメータＴＰ０の生成元は入力パラメータ表ＩＰ0であるが、入力パラメータＰ−９〜Ｐ−１２の関連度ＬがＬ≧２であるため、入力パラメータＰ−９〜Ｐ−１２の値、すなわち、パラメータ８０１〜８０５中、点線で囲まれた値が“ＲＡＮＤＡＭ”に変更されて、テストパラメータＴＰ1（パラメータ８１１〜８１５）となる。
【００８６】
また、図１４は、関連度Ｌが１≦Ｌ＜２の場合の変更後の入力パラメータ表ＩＰ2の一例を示す説明図である。図１４において、入力パラメータＰ−９〜Ｐ−１４のパラメータ（最大値、最小値、値１〜値４）の値が“ＲＡＮＤＡＭ”に変更されている。図１４でも、便宜上、“ＲＡＮＤＡＭ”と表記してあるが、実際には、その変数が取りうる値の範囲内で、乱数が与えられている。
【００８７】
なお、すでに存在する入力パラメータ表ＩＰ0，ＩＰ1のパラメータの値の組み合わせと同一の組み合わせとならないようにランダムに設定する。このように重複を排除することで、入力パラメータＰ−ｉの組み合わせの網羅性の向上を図ることができる。
【００８８】
この場合、テストパラメータ生成部１１０３では、図１４に示した変更後の入力パラメータ表ＩＰ2に基づいて、テストパラメータＴＰ2を生成する。生成手法は、入力パラメータ表ＩＰ0の場合と同一である。
【００８９】
図１５は、テストパラメータＴＰ0，ＴＰ2を比較した説明図である。テストパラメータＴＰ0の生成元は入力パラメータ表ＩＰ0であるが、入力パラメータＰ−９〜Ｐ−１４の関連度ＬがＬ≧１であるため、入力パラメータＰ−９〜Ｐ−１４の値、すなわち、パラメータ８０１〜８０５中、点線で囲まれた値が“ＲＡＮＤＡＭ”に変更されて、テストパラメータＴＰ１（パラメータ８２１〜８２５）となる。
【００９０】
また、図１６は、関連度Ｌが０≦Ｌ＜１の場合の変更後の入力パラメータ表ＩＰ3の一例を示す説明図である。図１６において、入力パラメータＰ−１〜Ｐ−１４のパラメータ（最大値、最小値、値１〜値３）の値が“ＲＡＮＤＡＭ”に変更されている。図１６でも、便宜上、“ＲＡＮＤＡＭ”と表記してあるが、実際には、その変数が取りうる値の範囲内で、乱数が与えられている。
【００９１】
なお、すでに存在する入力パラメータ表ＩＰ0，ＩＰ1，ＩＰ2のパラメータの値の組み合わせと同一の組み合わせとならないようにランダムに設定する。このように重複を排除することで、入力パラメータＰ−ｉの組み合わせの網羅性の向上を図ることができる。
【００９２】
この場合、テストパラメータ生成部１１０３では、図１６に示した変更後の入力パラメータ表ＩＰ3に基づいて、テストパラメータを生成する。生成手法は、入力パラメータ表ＩＰ０の場合と同一である。
【００９３】
図１７は、テストパラメータＴＰ3の一例を示す説明図である。図１７において、テストパラメータＴＰ3は、パラメータ８３０〜８３５を有する。パラメータ８３０は、入力パラメータＰ−１〜Ｐ−８の変数名とし、その値が“ＲＡＮＤＡＭ”に変更されたパラメータである。パラメータ８３１〜８３５の値は、図１５に示したパラメータ８２１〜８２５のように“ＲＡＮＤＡＭ”に変更されているが、パラメータ８２１〜８２５の値とは異なる値の組み合わせである。
【００９４】
また、このようにして生成されたテストパラメータＴＰ1〜ＴＰ3はフォーマット変換部１１０４に送られて、期待値モデルシミュレータ２０３用のテストパラメータｔｐ1〜ｔｐ3として出力される。このように、テストパラメータＴＰ0〜ＴＰ3，ｔｐ0〜ｔｐ3の網羅性を高めることにより、期待値判定部２０４において期待値を出力する入力パラメータＰ−ｉの組み合わせが得られ易くなる。
【００９５】
（検証支援処理手順）
つぎに、この発明の実施の形態にかかる検証支援処理手順について説明する。図１８は、この発明の実施の形態にかかる検証支援処理手順を示すフローチャート（前半）であり、図１９は、この発明の実施の形態にかかる検証支援処理手順を示すフローチャート（後半）である。
【００９６】
図１８において、まず、検証項目表２１１、入力パラメータ表ＩＰ0、および入出力シーケンス表２１２などの各種データを読み込み（ステップＳ１８０１）、テストパターン生成部２０１により、ＲＴＬシミュレータ２０２用のテストパターン２１３（テストシナリオＴＳ，テストパラメータＴＰ0）と期待値モデルシミュレータ２０３用のテストパターン２１４（テストシナリオｔｓ，テストパラメータｔｐ0）とを生成する（ステップＳ１８０２）。
【００９７】
つぎに、それぞれのテストパターンを対応するシミュレータ２０２，２０３に与えて、ＲＴＬシミュレーションおよび期待値モデルシミュレーションを実行する（ステップＳ１８０３）。
【００９８】
そして、両シミュレーション結果が期待値判定部２０４に送られ、期待値判定部２０４において、期待値どおりの出力値があるか否かを判定する（ステップＳ１８０４）。期待値どおりの出力値がある場合（ステップＳ１８０４：Ｙｅｓ）、入力パラメータ表ＩＰ0に記述されている入力パラメータ群を“期待値を出力する入力パラメータＰ−ｉの組み合わせ”としてテストパターン生成部２０１に出力して保持する（ステップＳ１８０５）。
【００９９】
一方、期待値どおりの出力値がない場合には、ステップＳ１８０６に移行する。このあと、期待する出力値が得られなかった期待値、すなわち、未出力の期待値があるか否かを判断する（ステップＳ１８０６）。未出力の期待値がない場合（ステップＳ１８０６：Ｎｏ）、一連の処理を終了する。
【０１００】
一方、未出力の期待値がある場合（ステップＳ１８０６：Ｙｅｓ）、変更部１１０５により入力パラメータ表変更処理を実行し（ステップＳ１９０１）、変更後の入力パラメータ表ＩＰkを与えてテストパラメータ生成部１１０３およびフォーマット変換部１１０４によりテストパラメータ生成処理を実行して（ステップＳ１９０２）、テストパラメータＴＰ1〜ＴＰ3，ｔｐ1〜ｔｐ3を出力する。
【０１０１】
ここで、ｋは実行順序であり、ｋ＝１に設定する（ステップＳ１９０３）。この実行順序ｋとは、変更後の入力パラメータ表ＩＰkから得られたテストパラメータＴＰ1〜ＴＰ3，ｔｐ1〜ｔｐ3を各シミュレータ２０２，２０３に与える順序であり、テストパラメータＴＰ1〜ＴＰ3，ｔｐ1〜ｔｐ3の添え字となる。この添え字ｋは、関連度Ｌの高さに対応しており、添え字ｋの数字が若い（小さい）ほど関連度Ｌが高いことを示している。
【０１０２】
このあと、テストシナリオＴＳとテストパラメータＴＰkをＲＴＬシミュレータ２０２に与え、かつ、テストシナリオｔｓとテストパラメータｔｐkを期待値モデルシミュレータ２０３に与えることにより、ＲＴＬシミュレーションおよび期待値モデルシミュレーションを実行する（ステップＳ１９０４）。
【０１０３】
そして、両シミュレーション結果が期待値判定部２０４に送られ、期待値判定部２０４において、期待値どおりの出力値があるか否かを判定する（ステップＳ１９０５）。期待値どおりの出力値がある場合（ステップＳ１９０５：Ｙｅｓ）、変更後の入力パラメータ表ＩＰ1に記述されている入力パラメータ群Ｐ−１〜Ｐ−１５を“期待値を出力する入力パラメータＰ−ｉの組み合わせ”としてテストパターン生成部２０１に出力して保持する（ステップＳ１９０６）。
【０１０４】
一方、期待値どおりの出力値がない場合には（ステップＳ１９０５：Ｎｏ）、ステップＳ１９０７に移行する。このあと、ｋ＞ｍであるか否かを判断する（ステップＳ１９０７）。ｍは変更後の入力パラメータ表ＩＰkの総数である。ここでは、入力パラメータ表ＩＰ1〜ＩＰ3が生成されているため、ｍ＝３である。ｋ＞ｍでない場合（ステップＳ１９０７：Ｎｏ）、実行順序ｋをインクリメントする（ステップＳ１９０８）。
【０１０５】
一方、ｋ＞ｍである場合（ステップＳ１９０７：Ｙｅｓ）、これまでに蓄積された“期待値を出力する入力パラメータＰ−ｉの組み合わせ”をテストパラメータ生成部１１０３に与えることにより、テストパラメータＴＰを生成する（ステップＳ１９０９）。このテストパラメータＴＰをＲＴＬシミュレータ２０２に与えてＲＴＬシミュレーションを実行（ステップＳ１９１０）することにより、期待値どおりの値を出力するシミュレーション結果を得ることができる（ステップＳ１９１１）。
【０１０６】
（入力パラメータ表変更処理手順）
つぎに、図１９に示した入力パラメータ表変更処理（ステップＳ１９０１）の手順について説明する。図２０は、図１９に示した入力パラメータ表変更処理の手順を示すフローチャートである。図２０において、まず、関連度表生成部２０５により、関連度生成処理を実行する（ステップＳ２００１）。
【０１０７】
つぎに、実行順序ｋをｋ＝１とし（ステップＳ２００２）、入力パラメータ表ＩＰｋのうち関連度Ｌ≧ｔ（ｔは所定値）の入力パラメータＰ−ｉのパラメータをランダムな値に変更する（ステップＳ２００３）。
【０１０８】
そして、ｔをデクリメントして（ステップＳ２００４）、ｔ＜０であるか否かを判断する（ステップＳ２００５）。ｔ＜０でない場合（ステップＳ２００５：Ｎｏ）、ｋをインクリメントして（ステップＳ２００６）、ステップＳ２００３に戻る。一方、ｔ＜０である場合（ステップＳ２００５：Ｙｅｓ）、テストパラメータ生成処理（ステップＳ１９０２）に移行する。これにより、変更後の入力パラメータ表ＩＰ1〜ＩＰ3を得ることができる。
【０１０９】
（関連度生成処理手順）
つぎに、図２０に示した関連度生成処理（ステップＳ２００１）の手順について説明する。図２１は、図２０に示した関連度生成処理の手順を示すフローチャートである。図２１において、まず、出力期待値設定部２５１により、未出力の期待値に関する出力期待値を設定する（ステップＳ２１０１）。そして、入力パラメータのインデックスｉをｉ＝１とし（ステップＳ２１０２）、入力パラメータＰ−ｉが検証対象であるＬＳＩに対して設定をおこなっているか否かを判断する（ステップＳ２１０３）。
【０１１０】
設定をおこなっている場合（ステップＳ２１０３：Ｙｅｓ）、設定された出力期待値と入力パラメータＰ−ｉとの関連度ＬをＬ＝１に設定して（ステップＳ２１０４）、ステップＳ２１０６に移行する。一方、設定を行っていない場合（ステップＳ２１０３：Ｎｏ）、関連度ＬをＬ＝０に設定して（ステップＳ２１０５）、ステップＳ２１０６に移行する。そして、ステップＳ２１０６では、ｉをインクリメントする。
【０１１１】
つぎに、ｉ＞ｎであるか否かを判断する（ステップＳ２１０７）。ここで、ｎは入力パラメータＰ−ｉの総数である。ｉ＞ｎでない場合（ステップＳ２１０７：Ｎｏ）、ステップＳ２１０３に戻る。一方、ｉ＞ｎである場合（ステップＳ２１０７：Ｙｅｓ）、未処理の出力期待値を選択する（ステップＳ２１０８）。
【０１１２】
そして、選択された出力期待値の変数名がレジスタ定義表２１５に記述されているか否かを判断する（ステップＳ２１０９）。記述されていない場合（ステップＳ２１０９：Ｎｏ）、ステップＳ２１１４に移行する。一方、記述されている場合（ステップＳ２１０９：Ｙｅｓ）、その説明中に記述されている入力パラメータ（以下、「入力パラメータＰ−ｘ」と表記する）があるか否かを判断する（ステップＳ２１１０）。
【０１１３】
記述されていない場合（ステップＳ２１１０：Ｎｏ）、ステップＳ２１１４に移行する。一方、記述されている場合（ステップＳ２１１０：Ｙｅｓ）、関連度Ｌを＋１加算する（ステップＳ２１１１）。さらに、間接的に関連するか否かを判断するため、この入力パラメータＰ−ｘが説明中に記述されている他の入力パラメータＰ−ｙがあるか否かを判断する。他の入力パラメータがない場合（ステップＳ２１１２：Ｎｏ）、ステップＳ２１１４に移行する。一方、他の入力パラメータがある場合（ステップＳ２１１２：Ｙｅｓ）、関連度Ｌを＋１加算する（ステップＳ２１１３）。
【０１１４】
このあと、ステップＳ２１１４において、未処理の出力期待値があるか否かを判断する。未処理の出力期待値がある場合（ステップＳ２１１４：Ｎｏ）、ステップＳ２１０８に戻る。一方、未処理の出力期待値がない場合（ステップＳ２１１４：Ｙｅｓ）、ステップＳ２００２に移行する。これにより、図９に示したような関連度表２１６を生成することができる。
【０１１５】
（テストパラメータ生成処理手順）
つぎに、図１９に示したテストパラメータ生成処理（ステップＳ１９０２）の手順について説明する。図２２は、図１９に示したテストパラメータ生成処理の手順を示すフローチャートである。図２２において、まず、実行順序ｋをｋ＝１とし（ステップＳ２２０１）、入出力シーケンス表２１２を参照して、入力パラメータ表ＩＰkからテストパラメータＴＰk，ｔｐkを生成する（ステップＳ２２０２）。
【０１１６】
そして、ｋ＞ｍであるか否かを判断する（ステップＳ２２０３）。ｍは変更後の入力パラメータ表ＩＰkの総数である。ここでは、変更後の入力パラメータ表ＩＰ1〜ＩＰ3が生成されているため、ｍ＝３である。ｋ＞ｍでない場合（ステップＳ２２０３：Ｎｏ）、実行順序ｋをインクリメントする（ステップＳ２２０４）。
【０１１７】
一方、ｋ＞ｍである場合（ステップＳ２２０３：Ｙｅｓ）、ステップＳ１９０３に移行する。これにより、入力パラメータ表ＩＰ0〜ＩＰ3が与えられる都度、それに応じたテストパラメータＴＰ0〜ＴＰ3，ｔｐ0〜ｔｐ3を生成することができる。
【０１１８】
このように、本実施の形態によれば、すべてのパラメータをランダムな値に振る場合と比べて、期待値を出力する入力パラメータの組み合わせを短時間で効率的に検出することができる。その結果、出力の境界値を期待値とした場合、このようなコーナーケースについて、より多くの検証を実施することが可能となり、検証の品質を向上させることができる。
【０１１９】
以上説明したように、本実施の形態によれば、期待値を出力するための入力パラメータの組み合わせを簡単かつ効率的に求めることにより、検証作業の効率化を図ることができる。
【０１２０】
なお、本実施の形態で説明した検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１２１】
また、本実施の形態で説明した検証支援装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、たとえば、上述した検証支援装置１００の機能的構成（機能ブロックの各符号を入れる）をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、検証支援装置１００を製造することができる。
【０１２２】
（付記１）検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行するコンピュータを、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定手段、
前記設定手段によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更手段、
前記変更手段による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力手段、
として機能させることを特徴とする検証支援プログラム。
【０１２３】
（付記２）前記設定手段は、
前記入出力シーケンスにおける前記入力パラメータの設定の有無に基づいて、前記出力期待値と前記各入力パラメータとの関連度を設定することを特徴とする付記１に記載の検証支援プログラム。
【０１２４】
（付記３）前記設定手段は、
前記検証対象のレジスタ定義群のうち前記出力名により特定されるレジスタ定義における前記入力パラメータの変数名の有無に基づいて、前記出力期待値と前記入力パラメータとの関連度を設定することを特徴とする付記１または２に記載の検証支援プログラム。
【０１２５】
（付記４）前記設定手段は、
前記出力名により特定されるレジスタ定義内の説明の中に一の入力パラメータの変数名があった場合、前記出力期待値と前記一の入力パラメータとの関連度を高くすることを特徴とする付記３に記載の検証支援プログラム。
【０１２６】
（付記５）前記設定手段は、
他のレジスタ定義において前記一の入力パラメータの変数名が説明の中に記述されている他の入力パラメータの変数名の有無に基づいて、前記出力期待値と前記他の入力パラメータとの関連度を高くすることを特徴とする付記４に記載の検証支援プログラム。
【０１２７】
（付記６）前記設定手段は、
前記他の入力パラメータの変数名があった場合、前記出力期待値と前記他の入力パラメータとの関連度を高くすることを特徴とする付記５に記載の検証支援プログラム。
【０１２８】
（付記７）前記変更手段は、
前記関連度が所定値以上である入力パラメータの値を変更することを特徴とする付記１〜６のいずれか一つに記載の検証支援プログラム。
【０１２９】
（付記８）前記変更手段は、
前記所定値を複数設定し、前記所定値ごとに、前記関連度が前記所定値以上である入力パラメータの値を変更することを特徴とする付記７に記載の検証支援プログラム。
【０１３０】
（付記９）前記コンピュータを、
前記出力手段によって出力された前記変更後の入力パラメータ群を与えた結果、前記テストパターン生成処理により生成されるテストパターンを用いてＲＴＬシミュレーションを実行する実行手段として機能させることを特徴とする付記１〜８のいずれか一つに記載の検証支援プログラム。
【０１３１】
（付記１０）付記１〜９のいずれか一つに記載の検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１３２】
（付記１１）検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行する検証支援装置において、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定手段と、
前記設定手段によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更手段と、
前記変更手段による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力手段と、
を備えることを特徴とする検証支援装置。
【０１３３】
（付記１２）検証対象に関する検証項目を特定する入力パラメータ群と前記検証対象の入出力シーケンスとを与えることによりテストパターンを生成するテストパターン生成処理と、前記テストパターン生成処理によって生成されたテストパターンを前記検証対象に与えて実行されたシミュレーションの結果が期待値どおりか否かを判定する期待値判定処理とを実行する検証支援方法において、
前記期待値判定処理により前記期待値が得られなかった出力名および前記期待値からなる出力期待値と前記各入力パラメータとの関連の高さをあらわす関連度を設定する設定工程と、
前記設定工程によって設定された関連度に基づいて、前記各入力パラメータの値を変更する変更工程と、
前記変更工程による変更後の入力パラメータ群を与えて、前記テストパターン生成処理および前記期待値判定処理を実行することにより、前記期待値が得られた場合、前記変更後の入力パラメータ群を出力する出力工程と、
を含んだことを特徴とする検証支援方法。
【産業上の利用可能性】
【０１３４】
以上のように、本発明にかかる検証支援装置、検証支援方法、および検証支援プログラムは、ＬＳＩやシステムＬＳＩの検証に有用である。
【図面の簡単な説明】
【０１３５】
【図１】この発明の実施の形態にかかる検証支援装置のハードウェア構成を示す説明図である。
【図２】この発明の実施の形態にかかる検証支援装置１００の機能的構成を示すブロック図である。
【図３】検証項目表２１１の一例を示す説明図である。
【図４】入力パラメータ表ＩＰ0の一例を示す説明図である。
【図５】入出力シーケンス表２１２の一例を示す説明図である。
【図６】レジスタ定義表２１５の一例を示す説明図である。
【図７】テストシナリオＴＳの一例を示す説明図である。
【図８】テストパラメータＴＰ0の一例を示す説明図である。
【図９】関連度表２１６の一例を示す説明図である。
【図１０】図２に示した関連度表生成部２０５の機能的構成を示すブロック図である。
【図１１】図２に示したテストパターン生成部２０１の機能的構成を示すブロック図である。
【図１２】関連度Ｌ＝２以上の場合の変更後の入力パラメータ表ＩＰ1の一例を示す説明図である。
【図１３】テストパラメータＴＰ0，ＴＰ1を比較した説明図である。
【図１４】関連度Ｌが１≦Ｌ＜２の場合の変更後の入力パラメータ表ＩＰ0の一例を示す説明図である。
【図１５】テストパラメータＴＰ0，ＴＰ2を比較した説明図である。
【図１６】関連度Ｌが０≦Ｌ＜１の場合の変更後の入力パラメータ表ＩＰ3の一例を示す説明図である。
【図１７】テストパラメータＴＰ3の一例を示す説明図である。
【図１８】この発明の実施の形態にかかる検証支援処理手順を示すフローチャート（前半）である。
【図１９】この発明の実施の形態にかかる検証支援処理手順を示すフローチャート（後半）である。
【図２０】図１９に示した入力パラメータ表変更処理の手順を示すフローチャートである。
【図２１】図２０に示した関連度生成処理の手順を示すフローチャートである。
【図２２】図１９に示したテストパラメータ生成処理の手順を示すフローチャートである。
【符号の説明】
【０１３６】
１００  検証支援装置
２０１  テストパターン生成部
２０２  ＲＴＬシミュレータ
２０３  期待値モデルシミュレータ
２０４  期待値判定部
２０５  関連度表生成部
２０６  出力部
２１１  検証項目表
２１２  入出力シーケンス表
２１３，２１４  テストパターン
２１５  レジスタ定義表
２１６  関連度表
２５１  出力期待値設定部
２５２  関連度設定部
１１０１  取得部
１１０２  テストシナリオ生成部
１１０３  テストパラメータ生成部
１１０４  フォーマット変換部
１１０５  変更部
ＩＰ0，ＩＰ1，ＩＰ2，ＩＰ3  入力パラメータ表
ｋ  実行順序
Ｌ  関連度
ｔ  所定値
ＴＰ，ＴＰ0，ＴＰ1，ＴＰ2，ＴＰ3  テストパラメータ
ＴＳ，ｔｓ  テストシナリオ
【図１】
2009070274.tif 000003
【図２】
2009070274.tif 000004
【図３】
2009070274.tif 000005
【図４】
2009070274.tif 000006
【図５】
2009070274.tif 000007
【図６】
2009070274.tif 000008
【図７】
2009070274.tif 000009
【図８】
2009070274.tif 000010
【図９】
2009070274.tif 000011
【図１０】
2009070274.tif 000012
【図１１】
2009070274.tif 000013
【図１２】
2009070274.tif 000014
【図１３】
2009070274.tif 000015
【図１４】
2009070274.tif 000016
【図１５】
2009070274.tif 000017
【図１６】
2009070274.tif 000018
【図１７】
2009070274.tif 000019
【図１８】
2009070274.tif 000020
【図１９】
2009070274.tif 000021
【図２０】
2009070274.tif 000022
【図２１】
2009070274.tif 000023
【図２２】
2009070274.tif 000024