(57)【要約】【課題】集積回路の論理検証に用いる検証シナリオを作成するにあたり、オペレータの負担を低減するとともに検証シナリオ作成時間を短縮する。【解決手段】検証用テストベンチ生成部１２が、第１入力部１０，１０´により入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいて生成した検証用テストベンチに、初期設定情報を記述してシナリオテンプレートを生成するシナリオテンプレート生成部１３と、検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部１４，１４´と、データ種類の組合せリストと第１入力部１０によって入力を受け付けられたテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部１５と、シナリオテンプレートと検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部１６，１６´とをそなえて構成する。【選択図】図１
2008210004.tif 000002
【特許請求の範囲】
【請求項１】
検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴とする、検証シナリオ生成装置。
【請求項２】
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、請求項１記載の検証シナリオ生成装置。
【請求項３】
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第２入力部をそなえ、
該データ組合せリスト生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、請求項１または請求項２記載の検証シナリオ生成装置。
【請求項４】
該第１入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第１入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、請求項１〜３のいずれか１項に記載の検証シナリオ生成装置。
【請求項５】
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、請求項１〜４のいずれか１項に記載の検証シナリオ生成装置。
【請求項６】
外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。
【請求項７】
検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
該検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。
【請求項８】
検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、集積回路の論理検証に用いる検証シナリオを生成するための技術に関する。
【背景技術】
【０００２】
集積回路（例えばＬＳＩ：Large Scale Integration）設計では、集積回路が正常に動作するか否かを検証する論理検証が必要不可欠である。特に、大規模化、高機能化、高速化および低消費電力化が要求されるＬＳＩについては、高品質を維持するためにも論理検証が重要である。その一方で、従来からＬＳＩの設計期間の短縮による作業の効率化が要求されている。
【０００３】
ここで、図２０を参照しながら従来の集積回路の検証システムについて説明すると、検証システム１００において、オペレータ（例えば設計者）により作成された検証対象回路の仕様書１０１から、オペレータの手作業による変換処理１０２により、レビュー情報１０３や検証プロパティ（アサーション群）１０４が作成される。そして、レビュー情報１０３をフィードバックすることにより、オペレータは仕様書１０１を見直すことができる。
【０００４】
また、オペレータの手作業による変換処理によって得られた検証プロパティ１０４や、検証シナリオ（検証環境シナリオ）１０５および検証対象回路の回路情報１０６に基づいて、検証部１０７が、検証対象回路の論理検証を行なう。なお、このような検証システムに関連する従来技術として、下記特許文献１〜３がある。
【特許文献１】特開２０００−１８１９３９号公報
【特許文献２】特開２００３−３０２７０号公報
【特許文献３】特開２００５−１９６６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来は、集積回路の論理検証に必要な検証項目や検証シナリオ１０５等の検証環境を、論理検証を行なうオペレータが自然言語で記述された仕様から手作業で作成していた。
そのため、近年の集積回路の機能の複雑化や高集積化に伴い、オペレータが手作業で行なう工数が膨大になりオペレータの負担が非常に大きくなっている。しかも、オペレータの手作業であるので、検証項目等の漏れや誤りによって検証シナリオのリメイクが発生することもしばしばあり、検証シナリオのリメイクが発生してしまうと、設計期間が長くなるとともに、集積回路の開発費用が嵩んでしまう。
【０００６】
したがって、オペレータによる手作業の工数を削減してオペレータの負担を軽減するとともに、検証シナリオのリメイクを無くすことが課題となっている。
【０００７】
本発明は、このような課題に鑑み創案されたもので、集積回路の論理検証に用いる検証シナリオを作成するにあたり、オペレータの負担を低減するとともに検証シナリオ作成時間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の検証シナリオ生成装置は、検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、該テストベンチを保持するテストベンチライブラリと、該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴としている（請求項１）。
【０００９】
なお、該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することが好ましい（請求項２）。
また、該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第２入力部をそなえ、該データ組合せリスト生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、該検証項目生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することが好ましい（請求項３）。
【００１０】
さらに、該第１入力部が、テストベンチの期待値リストの入力を受け付け、該データ組合せリスト生成部が、該第１入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることが好ましい（請求項４）。
なお、該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることが好ましい（請求項５）。
【００１１】
また、上記目的を達成するために、本発明の検証シナリオ生成方法は、外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、この検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、このデータ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴としている（請求項６）。
【００１２】
また、上記目的を達成するために、本発明の検証シナリオ生成プログラムは、検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるためのプログラムであって、該検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部、この第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴としている（請求項７）。
【００１３】
また、上記目的を達成するために、本発明の検証装置は、検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、該テストベンチを保持するテストベンチライブラリと、該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、この検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、このデータ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、この検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴としている（請求項８）。
【発明の効果】
【００１４】
このように、本発明によれば、第１入力部がデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリストの入力を受け付け、検証用テストベンチ生成部がデバイスリストおよびパラメータ設定情報に基づいて検証用テストベンチを生成し（検証用テストベンチ生成ステップ）、シナリオテンプレート生成部が検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成し（シナリオテンプレート生成ステップ）、データ組合せリスト生成部が検証用テストベンチに係るデータ種類の組合せリストを生成し（データ組合せリスト生成ステップ）、検証項目生成部がデータ種類の組合せリストと、テストベンチの組合せリストとに基づいて、検証項目を生成し（検証項目生成ステップ）、最後に、検証シナリオ生成部がシナリオテンプレートと、検証項目とに基づいて検証シナリオを生成する（検証シナリオ生成ステップ）ので、オペレータはデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリストを入力するだけで、集積回路の論理検証に用いる検証シナリオ（シナリオ群）を自動的に生成することができ、オペレータの負担を大幅に低減できるとともに、検証シナリオの作成時間をオペレータが手作業で作成するのに対して大幅に短縮できる（請求項１，２，６−８）。
【００１５】
また、検証シナリオ生成の自動化により、検証シナリオの生成漏れを抑止でき、検証対象回路に係るデータ疎通のすべてのパターンの検証シナリオを生成でき、検証網羅性が向上し、検証シナリオのリメイクを抑止できる（請求項１，２，６−８）。
さらに、テストベンチライブラリが検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリに保持されたテストベンチの汎用化が可能になる（請求項１，２，６−８）。
【００１６】
なお、シミュレーションの結果として得られるカバレッジ結果に基づいて、データ組合せリスト生成部がデータ組合せリストを再生成し、検証項目生成部が検証項目を再生成するとともに、これら再生成されたデータ組合せリストおよび検証項目に基づいて検証シナリオ生成部が検証シナリオを再生成するので、前回のシミュレーションではシミュレーションできなかった部分に係る検証シナリオを確実に生成することができ、その結果、検証漏れをより確実に防止でき、検証網羅性をより向上できる（請求項３）。
【００１７】
さらに、データ組合せリスト生成部が、第１入力部によって入力を受け付けられた期待値リストをデータ種類の組合せリストに含めるので、その結果、検証シナリオ生成部によって生成される検証シナリオを用いたシミュレーションにおいて、期待値照合を実行することができる。つまり、オペレータは、期待値リストを入力するだけで期待値照合を確実に実行できる（請求項４）。
【００１８】
また、アサーション群生成部が、第１入力部によって入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリからアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成するので、アサーション検証に用いるアサーション群を自動生成することができ、アサーション群を生成するためのオペレータの負担や作業時間を低減できる。しかも、アサーション群を自動生成するので、アサーションの生成漏れを防止でき、その結果、より高精度なアサーション検証が実現できる（請求項５）。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
まず、図１に示すブロック図を参照しながら、本発明の一実施形態としての検証装置（以下、本検証装置という）１の構成について説明する。この図１に示すように、本検証装置１は、第１入力部１０，テストベンチライブラリ１１，テストベンチ生成部（検証用テストベンチ生成部；アサーション群生成部）１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，検証項目生成部１５，シナリオ生成部（検証シナリオ生成部）１６，回路情報保持部１７，および検証部（アサーション検証部）１８をそなえて構成されている。
【００２０】
なお、本検証装置１の第１入力部１０，テストベンチライブラリ１１，テストベンチ生成部１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，検証項目生成部１５，およびシナリオ生成部１６が、本発明の一実施形態としての検証シナリオ生成装置（検証補助（支援）装置；以下、本検証シナリオ生成装置という）２として機能する。
【００２１】
ここで、本検証装置１は、図２に示すように、モニタ３１，キーボード３２，マウス３３を接続された演算部（例えば、ＣＰＵ：Central Processing Unit）３４およびこの演算部３４に接続された記憶装置３５をそなえたコンピュータ３０によって実現される。
つまり、テストベンチ生成部１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，検証項目生成部１５，シナリオ生成部１６，および検証部１８は、演算部３４が所定のアプリケーションプログラム（後述する検証シナリオ生成プログラムもしくは検証プログラム）を実行することによって実現される。
【００２２】
そして、テストベンチライブラリ１１および回路情報保持部１７は、コンピュータ３０の記憶装置３５によって実現される。なお、テストベンチライブラリ１１および回路情報保持部１７は、演算部３４にそなえられたメモリ（図示略）によって実現されてもよい。
また、第１入力部１０は、入力インタフェースとしてのキーボード３２およびマウス３３、並びに、これらキーボード３２およびマウス３３からの入力を受け付ける演算部３４の入力制御部（図示略）によって実現される。
【００２３】
そして、本検証シナリオ生成装置２は、第１入力部１０によって入力を受け付けられた情報（後述するデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリスト）に基づいて検証対象回路（例えばＬＳＩ）の論理検証に用いる検証シナリオ（シナリオ群；以下、単にシナリオともいう）を自動生成するものであり、本検証装置１は、自動生成した検証シナリオを用いて検証対象回路の論理検証を行なう。
【００２４】
ここで、本検証装置１によって実行される論理検証について、図３に示す集積回路の製造方法の処理手順を示すフローチャート（ステップＳ１〜Ｓ９）を参照しながら説明する。
集積回路（検証対象回路）の論理検証（ステップＳ４）は、オペレータ（設計者）が仕様書を作成し（ステップＳ１）、論理設計を行なった（ステップＳ２）後、物理設計（ステップＳ５）に移行する前に実行されるものであり、論理設計した検証対象回路が正常に動作するか否かを検証するものである。
【００２５】
つまり、オペレータは論理設計（ステップＳ２）後、論理検証環境を構築（例えば、検証項目を決定して検証シナリオを生成）して（ステップＳ３）、論理検証を実行する（ステップＳ４）。
ここで、検証対象回路が正常に動作することが検証されれば、オペレータは次に物理設計（実際のレイアウト）を行なう（ステップＳ５）。
【００２６】
なお、物理設計（ステップＳ５）後は、オペレータは物理検証を行ない（ステップＳ６）、ここで正常な結果が得られると、検証対象回路の試作製造（ステップＳ７）、試作試験（ステップＳ８）を行なった後に、検証対象回路の製造を行なう（ステップＳ９）。
つまり、図３に示す集積回路の製造方法は、本検証装置１による論理検証（ステップＳ４）を含んでおり、さらに本検証シナリオ生成装置２による検証シナリオ生成（論理検証環境構築；ステップＳ３参照）を含んでいる。
【００２７】
そして、本検証装置１による論理検証は、図４に示すごとく、検証対象回路としてのＲＴＬ（Register Transfer Level）３を検証するにあたり、当該検証対象回路３に接続されるデバイスを仮想的に表わしたテストベンチ（図中“TB1〜TB6”参照）４ａ〜４ｆをテストベンチ生成部１３が用意し、シナリオ生成部１６によって生成されたシナリオ（図中“シナリオ１”と表記）５ａに基づいて、シミュレータとしての検証部１８がシミュレーションを実行し、検証対象回路が正常に動作するか否かの検証を行なう。
【００２８】
また、本検証装置１の検証部１８は、論理検証として、上記シミュレーションの他に、テストベンチライブラリ１１に保持され、テストベンチ生成部１２によって抽出されたアサーション群（図中“アサーション群１，２”参照）を用いたアサーション検証（プロパティ検証）も行なう。
したがって、図５に示すように、テストベンチ生成部１２によってテストベンチ（TB1，2等を含むTB群およびTB_TOP）４が生成され、シナリオ生成部１６によってシナリオ群５が生成され、さらに、テストベンチ生成部１２によってアサーション群６が生成される。
【００２９】
そして、これら生成された情報と、回路情報保持部１７に保持された検証対象回路の回路情報（図中“Target(RTL)”と表記）３とがシミュレータとしての検証部１８に入力され、シミュレーション結果としてログファイル７ａおよび波形ファイル７ｂからなるシミュレータ出力７が検証部１８から出力される。
ここで、図１を参照しながら本検証装置１の各構成要素１０〜１８について詳細に説明する。
【００３０】
第１入力部１０は、検証対象回路に接続される他の電子部品（デバイス）を示すデバイスリスト，それらデバイスのパラメータを設定するためのパラメータ設定情報，および各デバイスに対応するテストベンチの組合せリストの入力を受け付けるものであり、例えば、オペレータが、図２に示したキーボード３２やマウス３３を操作して入力したデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリストを受け付けるものである。
【００３１】
ここで、デバイスリストはデバイスの型番等からなり、テストベンチライブラリ１１に保持されたテストベンチを特定する情報である。
また、パラメータ設定情報はデバイスリストに含まれる各デバイスに係るパラメータの設定値であり、例えば、パラメータCLOCKGEN.vに設定されるクロックの本数や各周波数、および、パラメータDSP0XXP.cppに設定されるデータビット幅やアドレス領域である。
【００３２】
さらに、テストベンチの組合せリスト（以下、テストベンチ組合せリストという）は、検証項目を決定するためのテストベンチの組合せを示す情報である。なお、テストベンチ組合せリストの詳細は検証項目生成部１５の説明箇所において後述する図１２を参照しながら説明する。
なお、テストベンチとは、上述のごとく、論理検証のシミュレーションに用いる、検証対象回路に接続されるデバイスをモデリングした仮想的なデバイスをいう。
【００３３】
そして、テストベンチライブラリ１１は、検証対象回路に接続され得る複数のテストベンチを予め保持している。
具体的には、テストベンチライブラリ１１は図６に示すようなテストベンチ１１ａを保持している。この図６に示すテストベンチ１１ａは、ＶＨＤＬ（VHSIC Hardware Description Language）で記述されたＩ２Ｃ（Inter-Integrated Circuit；ここでは、型番“I2C_AAA”）のテストベンチである。なお、テストベンチ１１ａ中に符号１１ｂ，１１ｃで示す範囲は、シナリオ生成部１６によって作成されるシナリオ毎に設定される機能ブロックを示している。
【００３４】
また、テストベンチライブラリ１１は、複数のテストベンチの他に、これら複数のテストベンチに対応するアサーション群を保持している。なお、アサーション（プロパティ）は検証対象回路がアサーションで記述された仕様通りに動作するかを検証するためのものである。
テストベンチ生成部１２は、第１入力部１０によって入力を受け付けられたデバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ１１からテストベンチを読み出して検証用テストベンチを生成するものである。
【００３５】
具体的には、テストベンチ生成部１２は、デバイスリストが示すデバイスに対応するテストベンチをテストベンチライブラリ１１から読み出し、読み出したテストベンチのパラメータをパラメータ設定情報に基づいて設定することにより、検証用テストベンチを生成する。
例えば、第１入力部１０がデバイスリストとしてＤＳＰ（Digital Signal Processor）の型番“DSP0XXP”の入力を受け付けるとともに、パラメータ設定情報として“parameter BITWIDTH=32”の入力を受け付けると、テストベンチ生成部１２は、テストベンチライブラリ１１から型番“DSP0XXP”のＤＳＰのテストベンチを読み出し、読み出したテストベンチのパラメータをパラメータ設定情報に基づいて設定することにより、例えば、図７に示すような検証用テストベンチ１２ａを生成する。なお、検証用テストベンチ１２ａは、ｖｅｒｉｌｏｇ−ＨＤＬ（Hardware Description Language）で記述されたものである。
【００３６】
そして、検証用テストベンチ１２ａにおいて、上から２行目の“parameter BITWIDTH=32”との記載，符号１２ｂで示す範囲の上から３行目の“input [BITWIDTH:0]”との記載，および、符号１２ｃで示す範囲の上から３行目の“input [BITWIDTH:0]”との記載が、パラメータ設定情報“parameter BITWIDTH=32”に基づいて設定された部分である。なお、符号１２ｂ，１２ｃで示す範囲は、シナリオ生成部１６によって作成されるシナリオ毎に設定される機能ブロックを示している。
【００３７】
また、テストベンチ生成部１２は、第１入力部１０によって入力を受け付けられたデバイスリストに基づいて、このデバイスリストに含まれるデバイスに対応するテストベンチに係るアサーション群を、テストベンチライブラリ１１から抽出する。
つまり、テストベンチ生成部１２は、第１入力部１０によって入力を受け付けられた該デバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ１１からアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として機能する。
【００３８】
シナリオテンプレート生成部１３は、テストベンチ生成部１２によって生成された検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するものである。
ところで、図６，図７に示したように、テストベンチライブラリ１１に保持されたテストベンチは、機能別にｒｅｃｏｒｄ＿ｔｙｐｅ宣言（ＶＨＤＬ；図６参照）やｔａｓｋ宣言（ｖｅｒｉｌｏｇ；図７参照）されているなど、一つの機能で使用される信号分を一つのまとまりとしてそれぞれ独立して宣言してある。
【００３９】
そして、シナリオテンプレート生成部１３は、図８に示すように、テストベンチ生成部１２によって生成された検証用テストベンチに基づいて、すべてのｒｅｃｏｒｄ＿ｔｙｐｅ宣言／ｔａｓｋ宣言の初期値が宣言されたシナリオのテンプレート１３ａを生成する。
なお、シナリオテンプレート１３ａにおいて符号１３ｂで示す範囲が、シナリオが設定される部分であり、シナリオテンプレート生成部１３によって生成されたシナリオテンプレート１３ａはテンプレートであるので、この範囲１３ｂに具体的なプロセスは設定されていない。
【００４０】
データ組合せリスト生成部１４は、テストベンチ生成部１２によって生成された検証用テストベンチに係るデータ種類の組合せリスト（以下、データ組合せリストという）を生成するものである。
データ組合せリスト生成部１４によって生成されるデータ組合せリストは、テストベンチ生成部１２によって生成された各検証用テストベンチのすべての信号についての組合せリスト（つまり、機能単位内ですべての信号のすべての組合せリスト）であり、検証対象回路に入力する信号を自動生成するのに用いられるものである。
【００４１】
データ組合せリスト生成部１４は、まず、テストベンチ生成部１２によって生成された各検証用テストベンチについて、型番と予約語（ｒｅｃｏｒｄ／ｔａｓｋ等）により、図９，図１０に示すごとく、テストベンチに設定が必要な機能のまとまりの名前、信号名、信号の型、ビット幅等を抽出する。
図９に示すリスト１４ａは、型番“I2C_AAA”のＩ２Ｃのテストベンチの抽出結果であり、検索単語としてのデバイス名もしくはｒｅｃｏｒｄは、“type I2C_AAA_WRITE_INFO is record”および“type I2C_AAA_READ_INFO is record”がある。
【００４２】
そして、“type I2C_AAA_WRITE_INFO is record”のｒｅｃｏｒｄ＿ｔｙｐｅは“I2C_AAA_WRITE_INFO”であり、このときの信号が“W_ADD_EXPECT_in”と“W_DATA_EXPECT_in”との２種類ある。なお、これら信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”はともに型が“integer”であり、ビット幅は０〜２５５ビットである。
一方、“type I2C_AAA_READ_INFO is record”のｒｅｃｏｒｄ＿ｔｙｐｅは“I2C_AAA_READ_INFO”であり、このときの信号が“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”の３種類ある。なお、信号“R_ADD_EXPECT_in”は型が“integer”でありビット幅は０〜２５５ビットであり、信号“R_DATA_in”は型が“array8b512”であり、信号“R_bytelength_in” は型が“integer”でありビット幅は１〜５１２ビットである。
【００４３】
また、図１０に示すリスト１４ｂは型番“DSP0XXP”のＤＳＰのテストベンチの抽出結果であり、検索単語としてのｔａｓｋ名は、“task RD”および“task RD_VERIFY”がある。
そして、“task RD”のｔａｓｋ名は“RD”であり、このときの信号が“data_size”と“read_address”との２種類ある。なお、信号“data_size”のビット幅は“[1:0]”であり、信号“read_address” のビット幅は“[31:0]”である。
【００４４】
一方、“task RD_VERIFY” のｔａｓｋ名は“RD_VERIFY”であり、このときの信号が“data_size”，“read_address”，および“expected_data”の３種類ある。なお、信号“data_size”のビット幅は“[1:0]”であり、信号“read_address”および“expected_data”のビット幅は“[31:0]”である。
なお、リスト１４ａ，１４ｂは、データ組合せリスト生成部１４が自動生成するのではなく、オペレータが予め用意しておいてもよい。
【００４５】
そして、データ組合せリスト生成部１４は、これら抽出結果としてのリスト１４ａ，１４ｂに基づいて、図１１に示すように、抽出されたｒｅｃｏｒｄ＿ｔｙｐｅおよびｔａｓｋ名毎に、取り得る信号のすべての組合せリストを、データ組合せリスト１４ｃとして生成する。なお、データ組合せリスト生成部１４は、データ組合せリスト１４ｃにおいて、ｒｅｃｏｒｄ＿ｔｙｐｅおよびｔａｓｋ名毎の検証シナリオでの定義名を定義する。
【００４６】
具体的には、データ組合せリスト生成部１４は、例えば、ｒｅｃｏｒｄ＿ｔｙｐｅ“I2C_AAA_WRITE_INFO”の定義名を“TB_TOP.TB_I2C_AAA_WRITE_INFO”として、信号“W_ADD_EXPECT_in”と“W_DATA_EXPECT_in”とのすべての組合せリストを生成する。ここで、信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”はともにビット幅が０〜２５５であるので、データ組合せリスト生成部１４は２５６の二乗分の６５５３６通りの信号の組合せを生成する。
【００４７】
これと同様に、データ組合せリスト生成部１４は、ｒｅｃｏｒｄ＿ｔｙｐｅ“I2C_AAA_READ_INFO”の定義名を“TB_TOP.TB_I2C_AAA_READ_INFO”として、信号“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”のすべての組合せリストを生成し、ｔａｓｋ名“RD”の定義名を“TB_TOP.TB_DSP0XXPRD”として、信号“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”のすべての組合せリストを生成する。
【００４８】
また、データ組合せリスト生成部１４は、ｔａｓｋ名“RD_VERIFY”については、定義名を“TB_TOP.TB_DSP0XXPRD_VERIFY”として、信号“data_size”および“read_address”のすべての組合せリストを生成する。なお、データ組合せリスト生成部１４は、期待値を示す信号“expected_data”については、後述する本発明の第１変形例の検証装置１´の第１入力部１０´（図１参照）がテストベンチ期待値リストの入力を受け付けた場合にのみデータ組合せリストに含める。
【００４９】
検証項目生成部１５は、データ組合せリスト生成部１４によって生成されたデータ組合せリストと、第１入力部１０によって入力を受け付けられたテストベンチ組合せリストとに基づいて、検証項目を生成するものである。
ここで、図１２に第１入力部１０によって入力されたテストベンチ組合せリスト１０ａを示す。この図１２に示すように、オペレータによって入力されたテストベンチ組合せリスト１０ａは、デバイスリストのデバイス（ここでは、型番“I2C_AAA”のＩ２Ｃおよび型番 “DSP0XXP”のＤＳＰ）に対応するテストベンチの組合せであって、データ組合せリスト生成部１４によって抽出されたリスト１４ａ，１４ｂにおける各テストベンチのｒｅｃｏｒｄ＿ｔｙｐｅ宣言やｔａｓｋ宣言より、各プロセス（図中イベントと表記）の組合せをテストベンチ組合せリスト１０ａとして入力されたものである。
【００５０】
なお、テストベンチ組合せリスト１０ａは複数の組合せ（図中の“No.1〜No.7”参照）を指定するものであり、“No.1”の組合せは“I2C_AAA”のイベント“I2C_AAA_WRITE_INFO”のみであり、“No.2”の組合せは“I2C_AAA” のイベント“I2C_AAA_WRITE_INFO”と“I2C_AAA_READ_INFO”との組合せである。なお、図１２に示すごとく“No.3-7”の組合せ毎にイベントが指定されている。
【００５１】
また、本発明においてテストベンチ組合せリストに含まれる組合せの数や組合せ毎のイベント数は限定されるものではない。
そして、検証項目生成部１５は、テストベンチ組合せリスト１０ａの組合せと、データ組合せリスト１４ｃの組合せとのすべての通りの組合せを生成することにより、図１３に示すような検証項目１５ａを生成する。
【００５２】
つまり、検証項目生成部１５は、テストベンチ組合せリスト１０ａの“No.1”のイベント“I 2C_AAA_WRITE_INFO”のみからなる組合せに関し、データ組合せリスト１４ｃに基づき、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”のそれぞれが０〜２５５の２５６通りあるので、２５６通りの二乗分の６５５３６通りの検証項目を生成する。
【００５３】
また、検証項目生成部１５は、テストベンチ組合せリスト１０ａの“No.2”のイベント“I2C_AAA_WRITE_INFO”および“I2C_AAA_READ_INFO”からなる組合せに関し、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”、並びに、イベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”のすべての組合せを検証項目として生成する。
【００５４】
つまり、図１３に示すように、イベント“I2C_AAA_WRITE_INFO”の取り得る信号“W_ADD_EXPECT_in”および“W_DATA_EXPECT_in”の６５５３６通りの組合せ毎に、符号１５ａ´で示すごとくイベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”のすべての組合せを組み合わせた１〜ｎ通りの組合せを検証項目として生成する。
【００５５】
なお、図１３において符号１５ａ´で示す、イベント“I2C_AAA_READ_INFO”の取り得る信号“R_ADD_EXPECT_in”，“R_DATA_in”，および“R_bytelength_in”のすべての組合せは、図の簡略化のため、“W_ADD_EXPECT_in”信号および“W_DATA_EXPECT_in”信号がそれぞれ“０”の場合に対してのみ示しているが、実際は“W_ADD_EXPECT_in”信号と“W_DATA_EXPECT_in”信号との６５５３６通りの組合せのそれぞれに対応して符号１５ａ´で示す組合せが作成される。
【００５６】
また、図１３に示す検証項目１５ａは、図の簡略化のためテストベンチ組合せリスト１０ａの“No.3〜7”の組合せの検証項目の図示を省略している。
シナリオ生成部１６は、シナリオテンプレート生成部１３によって生成されたシナリオテンプレートと、検証項目生成部１５によって生成された検証項目とに基づいて検証シナリオを生成するものである。
【００５７】
具体的には、シナリオ生成部１６は、シナリオテンプレート生成部１３によって生成されたシナリオテンプレートに検証項目生成部１５によって生成された各検証項目を追記することにより、検証シナリオを自動生成する。
例えば、シナリオ生成部１６は、図１４に示すような検証シナリオ１６ａを生成する。この検証シナリオ１６ａは、主として符号１６ｂ，１６ｃ，１６ｄで示す部分が検証項目１５ａに応じて変更される。
【００５８】
つまり、シナリオ生成部１６は、検証項目１５ａにおける一つの検証項目で指定されたテストベンチへの設定データをテンプレートに埋め込むことにより、機能毎のテストパターン生成を検証シナリオで実現する。これを検証項目１５ａにおけるすべての組合せに対して実行することで、シナリオ生成部１６はシナリオ群を生成する。
回路情報保持部１７は、検証対象回路の回路情報を保持するものである。
【００５９】
検証部１８は、シナリオ生成部１６によって生成されたシナリオに基づいて検証対象回路の検証（論理検証）を行なうものであり、具体的には、回路情報保持部１７から検証対象回路の回路情報を読み出し、この検証対象回路にシナリオ生成部１６によって生成されたシナリオ群を用いたシミュレーションを実行し、そのシミュレーション結果の成否（つまり検証対象回路が正常に動作するか否か）を検証するものである。
【００６０】
なお、検証部１８によるシミュレーション結果は、ログファイルおよび波形ファイル（上記図５参照）で出力される。
また、検証部１８は、テストベンチ生成部１２によって生成されたアサーション群を用いて検証対象回路のアサーション検証を行なうアサーション検証部として機能する。
次に、図１５に示すフローチャート（ステップＳ１０〜Ｓ１８）を参照しながら、本発明の一実施形態としての検証方法について説明する。なお、後述するステップＳ１０〜Ｓ１６の処理が本発明の一実施形態としての検証シナリオ生成方法として機能する。
【００６１】
まず、第１入力部１０がユーザ（オペレータ）により生成されたデバイスリスト，デバイスのパラメータ設定情報，およびテストベンチ組合せリストの入力を受け付ける（ステップＳ１０）。
ここでは、図１５に示すごとく、第１入力部１０によって型番“I2C_AAA”，“RF_001”，および“DSP0XXP”を含むデバイスリストの入力が受け付けられ、型番“I2C_AAA ”のパラメータ設定情報として“parameter ADDRESS_L=8’h00”および“parameter ADDRESS_R=8’hFF”の入力が受け付けつけられ、型番“DSP0XXP”のパラメータ設定情報として“parameter BITWIDTH=32”，“CLK1 10MHz”，“CLK2 15MHz”，および“RST High Active 200us”の入力が受け付けつけられ、テストベンチ組合せリストとして例えば図１０に示すテストベンチ組合せリスト１０ａの入力が受け付けられる。
【００６２】
次に、テストベンチ生成部１２が、外部から入力されたデバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ１１からテストベンチを読み出して検証用テストベンチを生成する（検証用テストベンチ生成ステップ；ステップＳ１１）。
ここでは、図１５に示すごとく、テストベンチ生成部１２によってテストベンチ“I2C_AAA.v”，“RF_001.VHD”，“DSP0XXP.ccp”，“CLOCKGEN.v”，および“RESETGEN.v”が生成される。
【００６３】
さらに、テストベンチ生成部１２は、デバイスリストおよびパラメータ設定情報に基づいて、テストベンチライブラリ１１からテストベンチのプロトコルのアサーション群を読み出して、検証用テストベンチに対応するアサーション群を生成する（アサーション群生成ステップ；ステップＳ１２）。
そして、シナリオテンプレート生成部１３が、テストベンチ生成部１２によって生成された検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成する（シナリオテンプレート生成ステップ；ステップＳ１３）。
【００６４】
また、上記ステップＳ１３の処理に並行して、データ組合せリスト生成部１４が、テストベンチ生成部１２によって生成された検証用テストベンチに係るデータ種類の組合せリストを生成する（データ組合せリスト生成ステップ；ステップＳ１４）。
続いて、検証項目生成部１５が、データ組合せリスト生成部１４によって生成されたデータ種類の組合せリストと、外部から入力されたテストベンチの組合せリストとに基づいて、検証項目を生成する（検証項目生成ステップ；ステップＳ１５）。
【００６５】
そして、シナリオ生成部１６が、シナリオテンプレート生成部１３によって生成されたシナリオテンプレートと、検証項目生成部１５によって生成された検証項目とに基づいて検証シナリオ（図中シナリオ群と表記）を生成する（検証シナリオ生成ステップ；ステップＳ１６）。
最後に、検証部１８が、回路情報保持部１７から検証対象回路の回路情報を読み出し、シナリオ生成部１６によって生成されたシナリオ群に基づいてシミュレーションを行ない、シミュレーション結果に基づいて検証対象回路が正常に動作するか否かの検証を行なう（検証ステップ；ステップＳ１７）。
【００６６】
一方、上記ステップＳ１７の処理に並行して、検証部１８は、テストベンチ生成部１２によって生成されたアサーション群に基づいて検証対象回路のアサーション検証を実行して（アサーション検証ステップ；ステップＳ１８）、処理を終了する。
このように、本発明の一実施形態としての検証装置１および検証方法によれば、第１入力部１０がデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリストの入力を受け付け、テストベンチ生成部１２がデバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ１１からテストベンチを読み出して検証用テストベンチを生成し（検証用テストベンチ生成ステップ）、シナリオテンプレート生成部１３が検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成し（シナリオテンプレート生成ステップ）、データ組合せリスト生成部１４が検証用テストベンチに係るデータ種類の組合せリストを生成し（データ組合せリスト生成ステップ）、検証項目生成部１５がデータ種類の組合せリストと、テストベンチの組合せリストとに基づいて、検証項目を生成し（検証項目生成ステップ）、最後に、シナリオ生成部１６がシナリオテンプレートと、検証項目とに基づいて検証シナリオを生成する（検証シナリオ生成ステップ）ので、集積回路の論理検証に用いる検証シナリオ（シナリオ群）を、オペレータはデバイスリスト，パラメータ設定情報，およびテストベンチの組合せリストを入力するだけで自動的に生成することができ、オペレータの負担を大幅に低減できるとともに、検証シナリオの作成時間をオペレータが手作業で作成するのに対して大幅に短縮できる。
【００６７】
また、検証シナリオ生成の自動化により、検証シナリオの生成漏れを抑止でき、データ疎通のすべてのパターンの検証シナリオを生成するので、検証網羅性が向上し、検証シナリオのリメイクを抑止できる。
さらに、テストベンチライブラリ１１が検証用テストベンチの元になるテストベンチを保持しているので、テストベンチライブラリ１１に保持されたテストベンチの汎用化が可能になる。
【００６８】
すなわち、テストベンチ生成部１２が、デバイスリストおよびパラメータ設定情報に基づいてテストベンチライブラリ１１のテストベンチを検証用テストベンチに変換するので、検証用テストベンチの基礎となるテストベンチライブラリ１１のテストベンチを汎用的に使用できる。
【００６９】
〔２〕本発明の変形例について
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００７０】
〔２−１〕本発明の第１変形例について
例えば、上述した実施形態では、第１入力部１０がデバイスリスト，パラメータ設定情報，およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図１に示すように本発明の第１変形例としての検証装置１´（検証シナリオ生成装置２´）の第１入力部１０´が、デバイスリスト，パラメータ設定情報，およびテストベンチ組合せリストの他に、テストベンチ期待値リストの入力を受け付けるように構成してもよい。
【００７１】
ここで、テストベンチ期待値リストは、期待値照合機能を有するテストベンチ（例えば上記図１０に示す型番“DSP0XXP”のテストベンチのｔａｓｋ名“task RD_VERIFY”）に係る期待値のリストである。
そして、図１６の本第１変形例の検証装置１´の動作手順（つまり、本発明の第１変形例としての検証方法の動作手順）を示すフローチャート（ステップステップＳ１０´，Ｓ１１〜Ｓ１３，Ｓ１４´〜Ｓ１７´，Ｓ１８）に示すように、第１入力部１０´がテストベンチ期待値リストの入力を受け付け（ステップＳ１０´）、テストベンチ生成部１２がテストベンチ生成（ステップＳ１１）、のデータ組合せリスト生成部１４´は、第１入力部１０´によって入力を受け付けられた期待値リストをデータ組合せリストに含めてデータ組合せリストを生成する（ステップＳ１２´）。
【００７２】
なお、図１６におけるステップＳ１０´，Ｓ１１〜Ｓ１３，Ｓ１４´〜Ｓ１６´が本第１変形例の検証シナリオ生成方法として機能するとともに、図１６において既述の符号と同一の符号は既述の処理と同一もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。
より具体的には、上記ステップＳ１２´において、データ組合せリスト生成部１４´は、図１７に示すごとく、期待値リストに基づいて、型番“DSP0XXP”のテストベンチのｔａｓｋ名“task RD_VERIFY”の信号（ここでは“信号３”欄）に期待値（図中“expected_data”と表記）のリストを含めたデータ組合せリスト１４ｄを生成する。
【００７３】
そして、検証項目生成部１５´はデータ組合せリスト１４ｄに基づいて検証項目を生成し（ステップＳ１５´）、シナリオ生成部１６は型番“DSP0XXP”のテストベンチのｔａｓｋ名“task RD_VERIFY”に係るシナリオを、期待値を含めて生成し（ステップＳ１６´）、検証部１８が、ｔａｓｋ名“task RD_VERIFY”に係るシナリオについては、その期待値に基づいて期待値照合を行なう（ステップＳ１７´）。
【００７４】
このように、本発明の第１変形例としての検証装置１´（検証シナリオ生成装置２´）および検証方法によれば、上述した実施形態と同様の作用効果を得ることができるとともに、第１入力部１０´が期待値リストの入力を受け付けることにより、データ組合せリスト生成部１４´が期待値を含むデータ組合せリスト１４ｄを生成し、その結果シナリオ生成部１６´が期待値を含むシナリオを生成し、これにより、検証部１８´がかかる期待値を用いた期待値照合を実行する。したがって、オペレータは期待値リストを入力するだけで期待値照合を確実に実行できる。
【００７５】
〔２−２〕本発明の第２変形例について
また、上述した実施形態では、第１入力部１０がデバイスリスト，パラメータ設定情報，およびテストベンチ組合せリストの入力を受け付ける場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば図１８に示すように本発明の第２変形例としての検証装置１´´（検証シナリオ生成装置２´´）が、検証部１８によるシミュレーションの結果として出力されたカバレッジ結果をデータ組合せリスト生成部１４´´および検証項目生成部１５´に入力する第２入力部１９をそなえて構成してもよい。
【００７６】
ここで、カバレッジ結果とは、検証対象回路のＲＴＬのすべての行を通るシミュレーションを実行したか否かを示すもの、すなわち、検証対象回路のＲＴＬに係るデータ疎通のすべてのパターンを網羅したシナリオ検証を実行できたか否かを示すとともに、ＲＴＬすべてを網羅できていなければ検証できなかったＲＴＬの行（機能）を示すものである。
そして、図１９の本第２変形例の検証装置１´´の動作手順（つまり、本発明の第２変形例としての検証方法の動作手順）を示すフローチャート（ステップＳ２０〜Ｓ２６）に示すように、まず、図１５のフローチャートにおける上記ステップＳ１０〜Ｓ１７が実行されることによって検証部１８がシナリオ検証のシミュレーション結果として得たカバレッジ結果を、第２入力部１９が取得する（カバレッジ結果取得ステップ；ステップＳ２０）。
【００７７】
次に、第２入力部１９は取得したカバレッジ結果をデータ組合せリスト生成部１４´´に入力し（ステップＳ２１）、データ組合せリスト生成部１４´´は、入力されたカバレッジ結果に基づいてデータ種類の組合せリストを再生成する（データ組合せリスト再生成ステップ；ステップＳ２２）。
つまり、データ組合せリスト生成部１４´´はカバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するためのデータ組合せリストを再生成する。
【００７８】
続いて、第２入力部１９はカバレッジ結果を検証項目生成部１５´に入力し（ステップＳ２３）、検証項目生成部１５´は、入力されたカバレッジ結果に基づいて検証項目を再生成する（検証項目再生成ステップ；ステップＳ２４）。
ここでは、検証項目生成部１５´は、カバレッジ結果に基づいて、前回のシナリオ検証で実行されなかった部分を検証するための検証項目を再生成する。
【００７９】
そして、シナリオ生成部１６が、シナリオテンプレートと、上記ステップＳ２４において再生成された検証項目とに基づいて、カバレッジ結果に応じた、前回のシナリオ検証で検証できなかったＲＴＬの行を検証するための検証シナリオを再生成する（検証シナリオ再生成ステップ；ステップＳ２５）。
最後に、検証部１８が、シナリオ生成部１６が再生成した検証シナリオに基づいて検証対象回路の再検証を行なって（再検証ステップ；ステップＳ２６）、処理を終了する。
【００８０】
このように本発明の第２変形例としての検証装置１´´（検証シナリオ生成装置２´´）および検証方法によれば、検証部１８によるシミュレーションの結果として得られるカバレッジ結果に基づいて、データ組合せリスト生成部１４´´がデータ組合せリストを再生成し、検証項目生成部１５´が検証項目を再生成するとともに、これら再生成されたデータ組合せリストおよび検証項目に基づいてシナリオ生成部１６がシナリオを再生成するので、前回のシミュレーションではシミュレーションできなかった部分のシミュレーションを実行できる検証シナリオを確実に生成することができる。
【００８１】
そして、検証部１８が再生成されたカバレッジ結果に応じた検証シナリオを用いて検証対象回路の検証を行なうので、検証対象回路のＲＴＬの検証漏れを確実に防ぐことができ、検証網羅性を向上でき、その結果、シミュレーションおよび検証の精度を向上できる。
【００８２】
〔２−３〕その他
なお、本発明において、第１入力部１０，１０´に入力を受け付けられるデバイスリストにおけるデバイスの種類や数、および、パラメータ設定情報の種類や数、並びに、テストベンチ組合せリストの数等は、限定されるものではなく、検証対象回路に応じて種々変更される。
【００８３】
なお、上述した第２変形例の検証装置１´´の第２入力部１９は、検証部１８のシミュレーション結果から自動的にカバレッジを取得する場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば、第２入力部１９が、第１入力部１０と同様に、上記図２に示すキーボード３２，マウス３３，および演算部（入力制御部）３４によって実現され、オペレータがシミュレーション結果を参照しながらカバレッジ結果を手作業で入力するように構成してもよい。
【００８４】
なお、上述した第１入力部１０，１０´，テストベンチ生成部１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，１４´，１４´´，検証項目生成部１５，１５´，シナリオ生成部１６，１６´，検証部１８，１８´，および第２入力部１９としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（検証プログラムもしくは検証シナリオ生成プログラム）を実行することによって実現されてもよい。
【００８５】
それらプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体から検証プログラムもしくは検証シナリオ生成プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、それらプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００８６】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
【００８７】
上記検証プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第１入力部１０，１０´，テストベンチ生成部１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，１４´，１４´´，検証項目生成部１５，１５´，シナリオ生成部１６，１６´，検証部１８，１８´，および第２入力部１９としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００８８】
また、上記検証シナリオ生成プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、第１入力部１０，１０´，テストベンチ生成部１２，シナリオテンプレート生成部１３，データ組合せリスト生成部１４，１４´，１４´´，検証項目生成部１５，１５´，シナリオ生成部１６，１６´，および第２入力部１９としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【００８９】
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【００９０】
〔３〕付記
（付記１）
検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部とをそなえて構成されたことを特徴とする、検証シナリオ生成装置。
【００９１】
（付記２）
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記１記載の検証シナリオ生成装置。
【００９２】
（付記３）
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第２入力部をそなえ、
該データ組合せリスト生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記１または付記２記載の検証シナリオ生成装置。
【００９３】
（付記４）
該第１入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第１入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めることを特徴とする、付記１〜３のいずれか１項に記載の検証シナリオ生成装置。
【００９４】
（付記５）
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部をそなえて構成されていることを特徴とする、付記１〜４のいずれか１項に記載の検証シナリオ生成装置。
【００９５】
（付記６）
外部から入力された、検証対象回路に接続されるデバイスを示すデバイスリストおよび該デバイスのパラメータ設定情報に基づいて、該テストベンチを保持するテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成ステップと、
該検証用テストベンチ生成ステップにおいて生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成ステップと、
該データ組合せリスト生成ステップにおいて生成された該データ種類の組合せリストと、外部から入力された該デバイスに対応するテストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成ステップと、
該シナリオテンプレート生成ステップにおいて生成された該シナリオテンプレートと、該検証項目生成ステップにおいて生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成ステップとを含んでいることを特徴とする、検証シナリオ生成方法。
【００９６】
（付記７）
該検証用テストベンチ生成ステップにおいて、該デバイスリストが示す該デバイスに対応するテストベンチが該テストベンチライブラリから読み出され、読み出されたテストベンチのパラメータが該パラメータ設定情報に基づいて設定されることにより、該検証用テストベンチが生成されることを特徴とする、付記６記載の検証シナリオ生成方法。
【００９７】
（付記８）
該検証シナリオ生成ステップにおいて生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を取得するカバレッジ結果取得ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成するデータ組合せリスト再生成ステップと、
該カバレッジ結果取得ステップにおいて取得された該カバレッジ結果に基づいて該検証項目を再生成する検証項目再生成ステップと、
該データ組合せリスト再生成部において再生成された該データ種類の組合せリストと、該検証項目再生成ステップにおいて再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成する検証シナリオ再生成ステップとを含んでいることを特徴とする、付記６または付記７記載の検証シナリオ生成方法。
【００９８】
（付記９）
該データ組合せリスト生成ステップにおいて、外部から入力されたテストベンチの期待値リストが該データ種類の組合せリストに含められることを特徴とする、付記６〜８のいずれか１項に記載の検証シナリオ生成方法。
（付記１０）
外部から入力された該デバイスリストおよび該パラメータ設定情報に基づいて、該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成ステップを含んでいることを特徴とする、付記６〜９のいずれか１項に記載の検証シナリオ生成方法。
【００９９】
（付記１１）
検証対象回路の検証シナリオを生成する機能をコンピュータに実現させるための検証シナリオ生成プログラムであって、
該検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいてテストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部、および
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて該検証シナリオを生成する検証シナリオ生成部として、前記コンピュータを機能させることを特徴とする、検証シナリオ生成プログラム。
【０１００】
（付記１２）
該検証用テストベンチ生成部が、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成するように、該コンピュータを機能させることを特徴とする、付記１１記載の検証シナリオ生成プログラム。
【０１０１】
（付記１３）
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第２入力部として前記コンピュータを機能させるとともに、
該データ組合せリスト生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成するように、該コンピュータを機能させることを特徴とする、付記１１または付記１２記載の検証シナリオ生成プログラム。
【０１０２】
（付記１４）
該第１入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第１入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含めるように、前記コンピュータを機能させることを特徴とする、付記１１〜１３のいずれか１項に記載の検証シナリオ生成プログラム。
【０１０３】
（付記１５）
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリから該テストベンチのプロトコルのアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部として、該コンピュータを機能させることを特徴とする、付記１１〜１４のいずれか１項に記載の検証シナリオ生成プログラム。
【０１０４】
（付記１６）
検証対象回路に接続されるデバイスを示すデバイスリスト，該デバイスのパラメータ設定情報，および該デバイスに対応するテストベンチの組合せリストの入力を受け付ける第１入力部と、
該テストベンチを保持するテストベンチライブラリと、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからテストベンチを読み出して検証用テストベンチを生成する検証用テストベンチ生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチの初期設定情報を記述されたシナリオテンプレートを生成するシナリオテンプレート生成部と、
該検証用テストベンチ生成部によって生成された該検証用テストベンチに係るデータ種類の組合せリストを生成するデータ組合せリスト生成部と、
該データ組合せリスト生成部によって生成された該データ種類の組合せリストと、該第１入力部によって入力を受け付けられた該テストベンチの組合せリストとに基づいて、検証項目を生成する検証項目生成部と、
該シナリオテンプレート生成部によって生成された該シナリオテンプレートと、該検証項目生成部によって生成された該検証項目とに基づいて検証シナリオを生成する検証シナリオ生成部と、
該検証シナリオ生成部によって生成された該検証シナリオに基づいて該検証対象回路の検証を行なう検証部とをそなえて構成されたことを特徴とする、検証装置。
【０１０５】
（付記１７）
該検証用テストベンチ生成部は、該デバイスリストが示す該デバイスに対応するテストベンチを該テストベンチライブラリから読み出し、読み出したテストベンチのパラメータを該パラメータ設定情報に基づいて設定することにより、該検証用テストベンチを生成することを特徴とする、付記１６記載の検証装置。
【０１０６】
（付記１８）
該検証シナリオ生成部によって生成された該検証シナリオを用いたシミュレーション結果として出力されたカバレッジ結果を該データ組合せリスト生成部および該検証項目生成部に入力する第２入力部をそなえ、
該データ組合せリスト生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該データ種類の組合せリストを再生成し、
該検証項目生成部が、該第２入力部によって入力された該カバレッジ結果に基づいて該検証項目を再生成し、
該検証シナリオ生成部が、該データ組合せリスト生成部によって再生成された該データ種類の組合せリストと、該検証項目生成部によって再生成された該検証項目とに基づいて、該カバレッジ結果に応じた検証シナリオを再生成することを特徴とする、付記１６または付記１７記載の検証装置。
【０１０７】
（付記１９）
該第１入力部が、テストベンチの期待値リストの入力を受け付け、
該データ組合せリスト生成部が、該第１入力部によって入力を受け付けられた該期待値リストを該データ種類の組合せリストに含め、
該検証部が、該検証の際に該期待値リストに基づく期待値照合を行なうことを特徴とする、付記１６〜１８のいずれか１項に記載の検証装置。
【０１０８】
（付記２０）
該テストベンチライブラリが、該テストベンチのプロトコルのアサーション群を保持するように構成され、
該第１入力部によって入力を受け付けられた該デバイスリストおよび該パラメータ設定情報に基づいて該テストベンチライブラリからアサーション群を読み出して、該検証用テストベンチに対応するアサーション群を生成するアサーション群生成部と、
該アサーション群生成部によって生成された該アサーション群を用いてアサーション検証を行なうアサーション検証部とをそなえて構成されていることを特徴とする、付記１６〜１９のいずれか１項に記載の検証装置。
【図面の簡単な説明】
【０１０９】
【図１】本発明の一実施形態としての検証装置の構成を示すブロック図である。
【図２】本発明の一実施形態としての検証装置が実現されるコンピュータの構成例を示すブロック図である。
【図３】本発明の一実施形態としての検証装置による論理検証が適用される、集積回路の製造方法の処理手順を示すフローチャートである。
【図４】本発明の一実施形態としての検証装置による論理検証を説明するための図である。
【図５】本発明の一実施形態としての検証装置によって生成される情報の一例を説明するための図である。
【図６】本発明の一実施形態としての検証装置のテストベンチライブラリが保持するテストベンチの一例を示す図である。
【図７】本発明の一実施形態としての検証装置のテストベンチ生成部によって生成されたテストベンチの一例を示す図である。
【図８】本発明の一実施形態としての検証装置のシナリオテンプレート生成部によって生成されたシナリオテンプレートの一例を示す図である。
【図９】本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリスト用のリストの一例を示す図である。
【図１０】本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリスト用のリストの一例を示す図である。
【図１１】本発明の一実施形態としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリストの一例を示す図である。
【図１２】本発明の一実施形態としての検証装置の第１入力部によって入力を受け付けられたテストベンチ組合せリストの一例を示す図である。
【図１３】本発明の一実施形態としての検証装置の検証項目生成部によって生成された検証項目の一例を示す図である。
【図１４】本発明の一実施形態としての検証装置のシナリオ生成部によって生成されたシナリオの一例を示す図である。
【図１５】本発明の一実施形態としての検証方法の動作手順を示すフローチャートである。
【図１６】本発明の第１変形例としての検証装置の動作手順を示すフローチャートである。
【図１７】本発明の第１変形例としての検証装置のデータ組合せリスト生成部によって生成されたデータ組合せリストの一例を示す図である。
【図１８】本発明の第２変形例としての検証装置の構成を示すブロック図である。
【図１９】本発明の第２変形例としての検証装置におけるカバレッジ結果に係る動作の手順を示すフローチャートである。
【図２０】従来の集積回路の検証システムを説明するための図である。
【符号の説明】
【０１１０】
１，１´，１´´  検証装置
２，２´，２´´  検証シナリオ生成装置
３  検証対象回路（ＲＴＬ）
４，４ａ〜４ｆ  テストベンチ
５  シナリオ群
５ａ  シナリオ
６，１０４  アサーション群（検証プロパティ）
７  シミュレータ出力
７ａ  ログファイル
７ｂ  波形ファイル
１０，１０´  第１入力部
１０ａ  テストベンチ組合せリスト
１１  テストベンチライブラリ
１１ａ  テストベンチ
１２  テストベンチ生成部（検証用テストベンチ生成部；アサーション群生成部）
１２ａ  検証用テストベンチ
１３  シナリオテンプレート生成部
１３ａ  シナリオテンプレート
１４，１４´，１４´´  データ組合せリスト生成部
１４ａ，１４ｂ  リスト
１４ｃ，１４ｄ  データ組合せリスト
１５，１５´  検証項目生成部
１５ａ  検証項目
１６，１６´  シナリオ生成部（検証シナリオ生成部）
１６ａ，１０５  検証シナリオ
１７  回路情報保持部
１８，１８´，１０７  検証部（シミュレータ）
３０  コンピュータ
３１  モニタ
３２  キーボード
３３  マウス
３４  演算部
３５  記憶装置
１００  検証システム
１０１  仕様書
１０２  変換処理
１０３  レビュー情報
１０６  回路情報
Ｓ１１  検証用テストベンチ生成ステップ
Ｓ１２  アサーション群生成ステップ
Ｓ１３  シナリオテンプレート生成ステップ
Ｓ１４  データ組合せリスト生成ステップ
Ｓ１５  検証項目生成ステップ
Ｓ１６  検証シナリオ生成ステップ
Ｓ１７  検証ステップ
Ｓ１８  アサーション検証ステップ
Ｓ２０  カバレッジ結果取得ステップ
Ｓ２２  データ組合せリスト再生成ステップ
Ｓ２４  検証項目再生成ステップ
Ｓ２５  検証シナリオ再生成ステップ
Ｓ２６  再検証ステップ
【図１】
2008210004.tif 000003
【図２】
2008210004.tif 000004
【図３】
2008210004.tif 000005
【図４】
2008210004.tif 000006
【図５】
2008210004.tif 000007
【図６】
2008210004.tif 000008
【図７】
2008210004.tif 000009
【図８】
2008210004.tif 000010
【図９】
2008210004.tif 000011
【図１０】
2008210004.tif 000012
【図１１】
2008210004.tif 000013
【図１２】
2008210004.tif 000014
【図１３】
2008210004.tif 000015
【図１４】
2008210004.tif 000016
【図１５】
2008210004.tif 000017
【図１６】
2008210004.tif 000018
【図１７】
2008210004.tif 000019
【図１８】
2008210004.tif 000020
【図１９】
2008210004.tif 000021
【図２０】
2008210004.tif 000022