(57)【要約】【課題】ハードウェア及びソフトウェアの協調検証においては、ソフトウェアを実行するために大量のテストデータが論理シミュレータまたはエミュレータで処理されることとなるため、論理検証に非常に長い時間を要していた。また、ハードウェア及びソフトウェアが変更されると、テストの再実行にも多大な時間を要しており、検証期間長期化の要因となっていた。【解決手段】本発明では、ハードウェア及びソフトウェアの協調検証実行時にハードウェア及びソフトウェアのカバレッジ情報を出力し、カバレッジ情報が変化するテストケースと変化しないテストケースを分類し、カバレッジ情報が向上するテストケースのみを蓄積してテストの再実行時に利用することにより、効率良くテストを実行するハードウェア、ソフトウェア協調検証システムを実現する。【選択図】図１
2010146037.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア及びソフトウェアを協調させて論理検証を行う論理検証システムであって、乱数テストデータ生成部と、ソフトウェアカバレッジ情報出力部と、ハードウェアカバレッジ情報出力部とを備え、論理検証実行時のカバレッジ出力情報の変化から、テストデータの有効性を評価し、有効なテストデータのみを選別して蓄積し、テスト再実行時は、有効なテストデータのみ再実行することにより検証効率を向上し、論理検証期間を短縮することを特徴とする論理検証システム。
【請求項２】
請求項１の論理検証システムでカバレッジ評価結果が変化しない場合、自動的に一部の乱数発生条件を変更して再実行を繰り返すことにより、有効なテストデータの蓄積を自動化することを特徴とした論理検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア及びソフトウェアを協調させ検証する論理検証システムに関する。
【背景技術】
【０００２】
ハードウェア及びソフトウェアの協調検証については、特開2001-290860号に示されるように、ソフトウェアモジュールをコンピュータ上のプログラムとして動作させ、ハードウェア論理回路は論理シミュレータまたは論理エミュレータ上で動作させる。この２つの同期を取りながら協調して動作させることにより、ソフトウェアとハードウェアの協調検証を可能としている。
【０００３】
【特許文献１】特開2001-290860号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記ハードウェア及びソフトウェアの協調検証においては、ソフトウェアを実行するために大量のテストデータが論理シミュレータまたはエミュレータで処理されることとなり、論理検証に非常に長い時間を要していた。また、ハードウェア及びソフトウェアが変更されると、テストの再実行にも多大な時間を要しており、検証期間長期化の要因となっていた。
【課題を解決するための手段】
【０００５】
本発明では、ハードウェア及びソフトウェアの協調検証実行時にハードウェア及びソフトウェアのカバレッジ情報を出力し、蓄積したカバレッジ情報が変化するテストケースと変化しないテストケースを分類し、カバレッジ情報が変化したテストケースのみを蓄積してテストの再実行時に利用することにより、効率良くハードウェア、ソフトウェアの協調検証を行うことが可能である。
【発明の効果】
【０００６】
本発明によれば、ハードウェア及びソフトウェアの協調検証において、ハードウェア及びソフトウェアの入力情報から自動的にランダムなテストケースを生成してソフトウェアとハードウェア協調検証を実行し、ハードウェア及びソフトウェア論理のカバレッジ情報から有益なテストケースのみを選別、蓄積することにより、論理検証の省力化と再テスト実行時の検証効率向上が期待でき、論理検証期間の短縮を実現できる。
【発明を実施するための最良の形態】
【０００７】
本検証システムを適用し、例えば１万件のテストデータを流してカバレッジ評価を行い、有効なテストデータ２千件のみがテストデータ蓄積部に蓄積されたと仮定すると、テストの再実行にかかる工数やテスト期間を５分の１に低減可能である。本システムを適用しない場合は、常に１万件のテストデータを実行しなければ品質確保できないため、５倍の工数が発生する。
【０００８】
図１は、本発明の一実施形態の例を表すブロック図である。
【０００９】
本発明の一実施形態では、ランダムなテストデータを生成する乱数テストデータ生成部１０１と検証対象のソフトウェアモジュール１０２及びハードウェア論理回路情報を展開した論理シミュレータまたは論理エミュレータ１０３から構成される。また、テスト結果として、ソフトウェアカバレッジ出力１０５及びハードウェアカバレッジ出力１０６が出力される。
【００１０】
テストデータ判定部１０４は、ソフトウェアカバレッジ出力１０５をソフトウェアカバレッジ蓄積情報１０７に、ハードウェアカバレッジ出力１０６をハードウェアカバレッジ蓄積情報１０８にそれぞれ蓄積し、いずれかのカバー率が向上した場合のみ、乱数テストデータ生成部１０１が作成したテストデータをテストデータ格納部１０９に蓄積する。
【００１１】
ソフトウェアモジュールやハードウェア論理回路を変更してテストの再実行が必要な場合は、乱数テストデータ生成部１０１は、ランダムなテストデータを生成するのではなく、テストデータ蓄積部１０９に蓄積されたテストデータを実行することにより、効率良くハードウェア、ソフトウェア協調検証を実行することが可能となる。
【００１２】
図２は上記実施例の処理フローである。
【００１３】
最初に処理２０１で指定回数繰り返したかをチェックし、指定回数実行したら終了する。
【００１４】
次に処理２０２では、図１の乱数テストデータ生成部１０１がソフトウェア及びハードウェアの入力に対応した乱数テストデータを生成する。
【００１５】
処理２０３では、処理２０２で作成したテストデータを用いてハードウェア及びソフトウェアの協調検証を実行する。次に処理２０４では、テストデータ判定部１０４が、ハードウェア及びソフトウェアのカバレッジ出力をそれぞれ累積する。
【００１６】
更に処理２０５では、それぞれのカバレッジ率が向上したかを判定し、カバレッジ率が向上した場合は、処理２０６で該テストデータをテストデータ蓄積部１０９へ登録する。
【００１７】
カバレッジ率が向上しない場合は、該テストデータを登録せず、処理２０１へ戻るフローとなる。
【００１８】
このフローを指定回数繰り返すことにより、カバレッジ率が向上したテストデータのみが、テストデータ蓄積部１０９へ登録される。
【００１９】
図３は本システムの一実施例の内部構成を示す。
【００２０】
乱数テストデータ生成部１０１は、ソフトウェア入力情報３０１及びハードウェア入力情報３０２を用いて乱数テストデータ生成行い、ソフトウェア入力データ３０３及びハードウェア入力データ３０４を作成する。
【００２１】
協調検証部３０５では、ソフトウェアモジュール１０２がソフトウェア入力データ３０３を読み込み、論理シミュレータまたは論理エミュレータ１０３がハードウェア入力データ３０４を読み込む。その後、協調検証部３０５はソフトウェアモジュールと論理シミュレータまたは論理エミュレータの同期を取りながらシミュレーションまたはエミュレーションを実行することにより、協調検証を実行する。この協調検証実行時にソフトウェアカバレッジ出力１０５及びハードウェアカバレッジ出力１０６が出力される。
【００２２】
ソフトウェアのカバレッジ出力１０５は、広く一般に知られている行カバレッジ、分岐カバレッジ、条件カバレッジ、パスカバレッジ、ＭＣ／ＤＣカバレッジ等を用いる。またハードウェアのカバレッジ情報出力１０６は、フリップフロップの出力側の変化（立上り／立下り）やセレクタの全セレクト状態が選択されたか、デコーダ／エンコーダおよび状態遷移マシンの全遷移が行われたか等をカバレッジ指標として用いる。
【００２３】
これらのカバレッジ情報については、あらかじめソフトウェアや論理回路に組み込んでコンパイルしておき、ハードウェア／ソフトウェアの協調シミュレーションまたは協調エミュレーション実行時に出力されるようにしておく。
【００２４】
テストデータ判定部１０４は、上記協調検証実行時に出力されたソフトウェアカバレッジ出力１０５及びハードウェアカバレッジ出力１０６をソフトウェア累積情報１０７及びハードウェア累積情報１０８にそれぞれ累積し、その結果をテスト実行前のソフトウェアカバレッジ累積情報１０７及びハードウェアカバレッジ情報１０８と比較する。その結果、ソフトウェアカバレッジ累積情報１０７またはハードウェアカバレッジ情報１０８がカバー率が向上した場合、ソフトウェア入力データ３０３及びハードウェア入力データ３０４をテストデータ格納部１０９に格納する。
【産業上の利用可能性】
【００２５】
近年、論理検証装置を用いて論理検証対象であるシステムＬＳＩの論理検証をおこなう際に、論理回路のハードウェア検証とソフトウェア検証を協調させた論理検証をおこなう要望が増えてきており、論理検証期間の短縮は必須の技術である。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態を表すブロック図である。
【図２】本発明の一実施形態を示す処理フローである。
【図３】本発明の一実施形態の内部構成を示す。
【符号の説明】
【００２７】
１０１…乱数テストデータ生成部、１０２…ソフトウェアモジュール、１０３…論理シミュレータまたは論理エミュレータ、１０４…テストデータ判定部、１０５…ソフトウェアカバレッジ情報、１０６…ハードウェアカバレッジ情報、１０７…ソフトウェアカバレッジ蓄積情報、１０８…ハードウェアカバレッジ蓄積情報、１０９…テストデータ格納部。
【図１】
2010146037.tif 000003
【図２】
2010146037.tif 000004
【図３】
2010146037.tif 000005