(57)【要約】【課題】  ハードウェア記述言語により設計されたモデルに対する割り込みの検証を容易かつ高精度に行うことができる機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体を提供する。【解決手段】  ハードウェア記述言語により設計されたモデル５０についての割り込みの確認テストを実施する時は、割り込み期待フラグ１０６をアサートした状態で、テストシナリオ１０２からバスモデル１０４に対して異常応答の要求を示す異常応答発生フラグ１０３を送信する。そして、モデル５０にバス接続されるＣＰＵバスモデル１０５でモデル５０からの割り込み信号を受信した場合、割り込み期待フラグ１０６がアサートされていれば期待通りの割り込みであることを認識し、意図通りの割り込み信号を受信したことを検証者に報知する。これにより、モデル５０に対する割り込みの検証を容易かつ高精度に行うことができる。【選択図】    図２
2006011927.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置において、
前記テストベンチは、
前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルと、
前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオと、
前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルと、
割り込み期待を示すフラグをアサートする手段と、
割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する手段と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する手段と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する手段と、
割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する手段と、
を備えることを特徴とする機能検証装置。
【請求項２】
前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする、
ことを特徴とする請求項１記載の機能検証装置。
【請求項３】
前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する、
ことを特徴とする請求項１または２記載の機能検証装置。
【請求項４】
前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する、
ことを特徴とする請求項１ないし３のいずれか一記載の機能検証装置。
【請求項５】
前記テストベンチは、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する、
ことを特徴とする請求項１ないし４のいずれか一記載の機能検証装置。
【請求項６】
前記テストベンチは、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する、
ことを特徴とする請求項１ないし５のいずれか一記載の機能検証装置。
【請求項７】
割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である、
ことを特徴とする請求項５または６記載の機能検証装置。
【請求項８】
ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションを行うテストベンチにおいて、
前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルと、
前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオと、
前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルと、
割り込み期待を示すフラグをアサートする手段と、
割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する手段と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する手段と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する手段と、
割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する手段と、
を備えることを特徴とするテストベンチ。
【請求項９】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする、
ことを特徴とする請求項８記載のテストベンチ。
【請求項１０】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する、
ことを特徴とする請求項８または９記載のテストベンチ。
【請求項１１】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する、
ことを特徴とする請求項８ないし１０のいずれか一記載のテストベンチ。
【請求項１２】
割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する、
ことを特徴とする請求項８ないし１１のいずれか一記載のテストベンチ。
【請求項１３】
割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する、
ことを特徴とする請求項８ないし１２のいずれか一記載のテストベンチ。
【請求項１４】
割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である、
ことを特徴とする請求項１２または１３記載のテストベンチ。
【請求項１５】
ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションをコンピュータに実行させるコンピュータに読取り可能なシミュレータプログラムにおいて、
前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルを生成する機能と、
前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオを生成する機能と、
前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルを生成する機能と、
割り込み期待を示すフラグをアサートする機能と、
割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する機能と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する機能と、
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する機能と、
割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する機能と、
を前記コンピュータに実行させることを特徴とするシミュレータプログラム。
【請求項１６】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする、
ことを特徴とする請求項１５記載のシミュレータプログラム。
【請求項１７】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する、
ことを特徴とする請求項１５または１６記載のシミュレータプログラム。
【請求項１８】
前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する、
ことを特徴とする請求項１５ないし１７のいずれか一記載のシミュレータプログラム。
【請求項１９】
割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する、
ことを特徴とする請求項１５ないし１８のいずれか一記載のシミュレータプログラム。
【請求項２０】
割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する、
ことを特徴とする請求項１５ないし１９のいずれか一記載のシミュレータプログラム。
【請求項２１】
割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である、
ことを特徴とする請求項１９または２０記載のシミュレータプログラム。
【請求項２２】
請求項１５ないし２１の何れか一記載のコンピュータに読取り可能なシミュレータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
近年、ＡＳＩＣ（Application Specified IC）の設計手法は、その回路規模の増大に伴い、回路図による設計から抽象度の高いＨＤＬ（ハードウェア記述言語）によるディジタル回路設計へと移ってきている。このＨＤＬにより設計される回路図は、きわめて膨大であり、動作がきわめて複雑になる。そのため、ＨＤＬにより設計された回路は、ＨＤＬで記述された他のモジュールと合わせてシミュレーション等を行うＨＤＬシミュレータを用いることにより、機能検証作業を行うことが必要となっている。
【０００３】
より詳細には、ＨＤＬシミュレータは工程の全ての局面で使用されるものであり、各レベルでのシミュレーション結果に基本的な差がないことを確認するものである。このようなＨＤＬシミュレータは、検証の対象とするＨＤＬモデル（ＡＳＩＣ）に対して、それをテストするためのテストベンチと呼ぶ新たなＨＤＬ記述を追加する。テストベンチは、テスト・スティミュラス（テスト・ベクター）を含み、これをテストの対象とするＨＤＬモデル（ＡＳＩＣ）に与え、シミュレーションを自動実行させるような手順をＨＤＬで記述するものである。すなわち、図６に示すような、テストベンチ・モジュールを最上位とする１つのモデルが完成することになる。これをコンパイル、リンクしてコンピュータ上の実行モジュールを作成し、シミュレータ・コントロール・パネル上で実行をコントロールしながら波形を観察することにより、機能検証を行う。
【０００４】
例えば、特許文献１には、テストベンチを用いてコンピュータシミュレーションすることにより、半導体集積回路装置の機能を検証するテスト用プログラムが提案されている。
【０００５】
【特許文献１】特開２００２−８３０１０公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１のテスト用プログラムは、半導体集積回路装置全体としての動作をテストベンチによってチェックして正常であるか否かを判断するものであるが、回路に対する割り込みの検証を行うものではない。
【０００７】
本発明は、ハードウェア記述言語により設計されたモデルに対する割り込みの検証を容易かつ高精度に行うことができる機能検証装置、テストベンチ、シミュレータプログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１記載の発明の機能検証装置は、ハードウェア記述言語により設計されたモデルについての機能検証を、テストベンチを用いたシミュレーション結果に基づいて行う機能検証装置において、前記テストベンチは、前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルと、前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオと、前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルと、割り込み期待を示すフラグをアサートする手段と、割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する手段と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する手段と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する手段と、割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する手段と、を備えることを特徴とする。
【０００９】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信される。そして、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていれば期待通りの割り込みであることが認識され、意図通りの割り込み信号を受信したことが検証者に報知される。
【００１０】
請求項２記載の発明は、請求項１記載の機能検証装置において、前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする。
【００１１】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを確実に終了させることが可能になる。
【００１２】
請求項３記載の発明は、請求項１または２記載の機能検証装置において、前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する。
【００１３】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したことが検証者に報知される。
【００１４】
請求項４記載の発明は、請求項１ないし３のいずれか一記載の機能検証装置において、前記テストベンチは、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する。
【００１５】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したので、シミュレーションが停止される。
【００１６】
請求項５記載の発明は、請求項１ないし４のいずれか一記載の機能検証装置において、前記テストベンチは、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する。
【００１７】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないことが検証者に報知される。
【００１８】
請求項６記載の発明は、請求項１ないし５のいずれか一記載の機能検証装置において、前記テストベンチは、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する。
【００１９】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないので、シミュレーションが停止される。
【００２０】
請求項７記載の発明は、請求項５または６記載の機能検証装置において、割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である。
【００２１】
したがって、割り込みに関する検証の再利用性及び保守性を向上させることが可能になる。
【００２２】
請求項８記載の発明のテストベンチは、ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションを行うテストベンチにおいて、前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルと、前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオと、前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルと、割り込み期待を示すフラグをアサートする手段と、割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する手段と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する手段と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する手段と、割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する手段と、を備える。
【００２３】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信される。そして、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていれば期待通りの割り込みであることが認識され、意図通りの割り込み信号を受信したことが検証者に報知される。
【００２４】
請求項９記載の発明は、請求項８記載のテストベンチにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする。
【００２５】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを確実に終了させることが可能になる。
【００２６】
請求項１０記載の発明は、請求項８または９記載のテストベンチにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する。
【００２７】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したことが検証者に報知される。
【００２８】
請求項１１記載の発明は、請求項８ないし１０のいずれか一記載のテストベンチにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する。
【００２９】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したので、シミュレーションが停止される。
【００３０】
請求項１２記載の発明は、請求項８ないし１１のいずれか一記載のテストベンチにおいて、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する。
【００３１】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないことが検証者に報知される。
【００３２】
請求項１３記載の発明は、請求項８ないし１２のいずれか一記載のテストベンチにおいて、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する。
【００３３】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないので、シミュレーションが停止される。
【００３４】
請求項１４記載の発明は、請求項１２または１３記載のテストベンチにおいて、割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である。
【００３５】
したがって、割り込みに関する検証の再利用性及び保守性を向上させることが可能になる。
【００３６】
請求項１５記載の発明のシミュレータプログラムは、ハードウェア記述言語により設計されたモデルに対する各種のシミュレーションをコンピュータに実行させるコンピュータに読取り可能なシミュレータプログラムにおいて、前記モデルのＩ／Ｆ系バスに応答もしくはアクセスするためのバスモデルを生成する機能と、前記モデルへのレジスタ設定や前記バスモデルへの動作機能設定を行い、前記モデルに種々のテスト動作を実行させるための指示を出すテストシナリオを生成する機能と、前記モデルにバス接続される仮想的なＣＰＵであるＣＰＵバスモデルを生成する機能と、割り込み期待を示すフラグをアサートする機能と、割り込み期待を示すフラグをアサートした後、前記テストシナリオから前記バスモデルに対して異常応答の要求を示す異常応答発生フラグを送信する機能と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信する機能と、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信した場合、割り込み期待を示すフラグがアサートされているかどうかを確認する機能と、割り込み期待を示すフラグがアサートされている場合、意図通りの割り込み信号を受信したことを報知する機能と、を前記コンピュータに実行させる。
【００３７】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信される。そして、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていれば期待通りの割り込みであることが認識され、意図通りの割り込み信号を受信したことが検証者に報知される。
【００３８】
請求項１６記載の発明は、請求項１５記載のシミュレータプログラムにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされている場合、割り込み期待を示すフラグをネゲートする。
【００３９】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを確実に終了させることが可能になる。
【００４０】
請求項１７記載の発明は、請求項１５または１６記載のシミュレータプログラムにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、意図しない割り込み信号を受信したことを報知する。
【００４１】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したことが検証者に報知される。
【００４２】
請求項１８記載の発明は、請求項１５ないし１７のいずれか一記載のシミュレータプログラムにおいて、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信し、割り込み期待を示すフラグがアサートされていない場合、シミュレーションを停止する。
【００４３】
したがって、モデルにバス接続されるＣＰＵバスモデルでモデルからの割り込み信号を受信した場合、割り込み期待フラグがアサートされていなければ割り込みの確認テストではないので、意図しない割り込み信号を受信したので、シミュレーションが停止される。
【００４４】
請求項１９記載の発明は、請求項１５ないし１８のいずれか一記載のシミュレータプログラムにおいて、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、意図した割り込みが所定時間内に発行されないことを報知する。
【００４５】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないことが検証者に報知される。
【００４６】
請求項２０記載の発明は、請求項１５ないし１９のいずれか一記載のシミュレータプログラムにおいて、割り込み期待を示すフラグをアサートした後の所定時間内に、前記モデルからの割り込み信号を前記ＣＰＵバスモデルで受信しなかった場合、シミュレーションを停止する。
【００４７】
したがって、ハードウェア記述言語により設計されたモデルについての割り込みの確認テストを実施する時は、割り込み期待フラグをアサートした状態で、テストシナリオからバスモデルに対して異常応答の要求を示す異常応答発生フラグが送信されるが、割り込み期待を示すフラグをアサートした後の所定時間内に、モデルからの割り込み信号をＣＰＵバスモデルで受信しなかった場合には、意図した割り込み信号が所定時間内に発行されないので、シミュレーションが停止される。
【００４８】
請求項２１記載の発明は、請求項１９または２０記載のシミュレータプログラムにおいて、割り込み期待を示すフラグをアサートした後の所定時間は、随時設定可能である。
【００４９】
したがって、割り込みに関する検証の再利用性及び保守性を向上させることが可能になる。
【００５０】
請求項２２記載の発明の記憶媒体は、請求項１５ないし２１の何れか一記載のコンピュータに読取り可能なシミュレータプログラムを格納した。
【００５１】
したがって、請求項１５ないし２１の何れか一記載の発明と同様な作用を奏する。
【発明の効果】
【００５２】
本発明によれば、ハードウェア記述言語により設計されたモデルに対する割り込みの検証を容易かつ高精度に行うことができる。
【発明を実施するための最良の形態】
【００５３】
本発明の実施の一形態を図１ないし図５に基づいて説明する。
【００５４】
図１は、本発明が適用される機能検証装置１のハードウェア構成を概略的に示すブロック図である。図１に示すように、機能検証装置１は、例えばパーソナルコンピュータやワークステーションであり、コンピュータの主要部であって各部を集中的に制御するＣＰＵ（Central Processing Unit）２を備えている。このＣＰＵ２には、ＢＩＯＳなどを記憶した読出し専用メモリであるＲＯＭ（Read Only Memory）３と、各種データを書換え可能に記憶するＲＡＭ（Random Access Memory）４とがバス５で接続されている。
【００５５】
さらにバス５には、各種のプログラム等を格納するＨＤＤ（Hard Disk Drive）６と、配布されたプログラムであるコンピュータソフトウェアを読み取るための機構としてＣＤ（Compact Disc）−ＲＯＭ７を読み取るＣＤ−ＲＯＭドライブ８と、機能検証装置１とネットワーク９との通信を司る通信制御装置１０と、機能検証時の各種操作指示を行うキーボードやマウスなどの入力装置１１と、機能検証時のシミュレーション結果等を表示するＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）などの表示装置１２とが、図示しないＩ／Ｏを介して接続されている。
【００５６】
ＲＡＭ４は、各種データを書換え可能に記憶する性質を有していることから、ＣＰＵ２の作業エリアとして機能してバッファ等の役割を果たす。
【００５７】
図１に示すＣＤ−ＲＯＭ７は、この発明の記憶媒体を実施するものであり、ＯＳ（Operating System）や各種のプログラムが記憶されている。ＣＰＵ２は、ＣＤ−ＲＯＭ７に記憶されているプログラムをＣＤ−ＲＯＭドライブ８で読み取り、ＨＤＤ６にインストールする。
【００５８】
なお、記憶媒体としては、ＣＤ−ＲＯＭ７のみならず、ＤＶＤなどの各種の光ディスク、各種光磁気ディスク、フレキシブル・ディスクなどの各種磁気ディスク等、半導体メモリ等の各種方式のメディアを用いることができる。また、通信制御装置１０を介してインターネットなどのネットワーク９からプログラムをダウンロードし、ＨＤＤ６にインストールするようにしてもよい。この場合に、送信側のサーバでプログラムを記憶している記憶装置も、この発明の記憶媒体である。なお、プログラムは、所定のＯＳ（Operating System）上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をＯＳに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやＯＳなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
【００５９】
このシステム全体の動作を制御するＣＰＵ２は、このシステムの主記憶として使用されるＨＤＤ６上にロードされたプログラムに基づいて各種処理を実行する。
【００６０】
次に、機能検証装置１のＨＤＤ６にインストールされている各種のプログラムがＣＰＵ２に実行させる機能のうち、本実施の形態の機能検証装置１が備える特長的な機能について説明する。ここでは、ＨＤＬシミュレータプログラムがＣＰＵ２に実行させるＨＤＬシミュレータ機能について説明する。ＨＤＬシミュレータ機能は、概略的には、ＨＤＬ（ハードウェア記述言語）により設計されたモデルに対してシミュレーションを行うものである。
【００６１】
図２は、ＨＤＬシミュレータ１００のテストベンチ１０１と検証対象ＡＳＩＣ５０との関連構成を概略的に示す機能ブロック図である。ＨＤＬシミュレータ１００は、ＨＤＬにより設計されたモデルである検証対象ＡＳＩＣ５０に対するＨＤＬシミュレータ機能を発揮するものである。図２に示すように、ＨＤＬシミュレータ１００のテストベンチ１０１は、テストシナリオ１０２と、異常応答発生フラグ１０３と、バスモデル１０４と、ＣＰＵバスモデル１０５と、割り込み期待フラグ１０６とで構成される。このようなテストベンチ１０１は、検証対象ＡＳＩＣ５０を検証するために、Verilog、VHDL、C/C++、Ｅ言語、Vera等の言語を用いてコーディングされたものである。
【００６２】
バスモデル１０４は、検証対象ＡＳＩＣ５０のＩ／Ｆ系バス（図示せず）に応答もしくはアクセスするためのものである。
【００６３】
ＣＰＵバスモデル１０５は、検証対象ＡＳＩＣ５０に接続されるＣＰＵ（図示せず）をソフトウェアでモデル化したもの（ソフトウェアで書かれた仮想的なＣＰＵ）であり、検証対象ＡＳＩＣ５０からの割り込み信号を受信する。
【００６４】
テストシナリオ１０２は、検証対象ＡＳＩＣ５０に種々の動作をさせるためのプログラムであり、ＣＰＵバスモデル１０５を経由して検証対象ＡＳＩＣ５０へのレジスタ設定やバスモデル１０４への動作機能設定等を行う。検証対象ＡＳＩＣ５０にはレジスタ（ＡＳＩＣの種々動作を司る機能）が内蔵されており、このレジスタに対するテストシナリオ１０２からのアクセス又は指示によって、検証対象ＡＳＩＣ５０が所望の動作を実行するのである。
【００６５】
本実施の形態に係るテストベンチ１０１の特徴は、バスモデル１０４とテストシナリオ１０２とＣＰＵバスモデル１０５とを、ファイルとして別物（それぞれ独立したファイル又は関数）として取り扱い、テストシナリオ１０２とバスモデル１０４とをファイル分離したことに伴って、テストシナリオ１０２とバスモデル１０４との間の通信は共有フラグ（異常応答発生フラグ１０３）を用いて行うことにある。異常応答発生フラグ１０３は、異常応答の要求を示し、検証対象ＡＳＩＣ５０はこれを受信したら、エラー割り込みを発生する。
【００６６】
加えて、テストシナリオ１０２とＣＰＵバスモデル１０５との間の通信も、共有フラグ（割り込み期待フラグ１０６）を用いて行う。割り込み期待フラグ１０６は、割り込み期待を示すフラグ（Int_Expect）、割り込みを待つ時間を示す割り込み検出期間（Int_TimeOut）を有する。
【００６７】
[割り込み発行確認のシーケンス]
次に、ＨＤＬシミュレータ１００のテストベンチ１０１による割り込み発行確認のシーケンスについて図３のフローチャートを参照して説明する。図３に示すように、テストベンチ１０１は、シミュレーションの開始時は、割り込み期待を示すフラグ（Int_Expect）をネゲート（Int_Expect＝０）しておく（ステップＳ１）。
【００６８】
テストベンチ１０１は、割り込みが発生することを確認するテストを実行する時、割り込み期待を示すフラグ（Int_Expect）をアサート（Int_Expect＝１）し（ステップＳ２）、テストシナリオ１０２とバスモデル１０４との間の共有フラグ（異常応答発生フラグ１０３）にてバスモデル１０４の異常応答を要求する（ステップＳ３）。これにより、検証対象ＡＳＩＣ５０が割り込み信号を発行する状態にすることができる。
【００６９】
テストベンチ１０１から異常応答を受けた検証対象ＡＳＩＣ５０は、テストベンチ１０１のＣＰＵバスモデル１０５に対して、割り込み信号を発行する（ステップＴ１）。
【００７０】
テストベンチ１０１のＣＰＵバスモデル１０５は、検証対象ＡＳＩＣ５０からの割り込み信号を受信すると、割り込み期待を示すフラグ（Int_Expect）がアサート（Int_Expect＝１）されているかどうか確認する（ステップＳ４）。
【００７１】
割り込み期待を示すフラグ（Int_Expect）がアサート（Int_Expect＝１）されていれば、意図通りの割り込み受信したことをログ表示し、割り込み期待を示すフラグ（Int_Expect）をネゲート（Int_Expect＝０）しておく（ステップＳ５）。このように、意図通りの割り込み受信したことをログ表示した後、割り込み期待を示すフラグ（Int_Expect）をネゲート（Int_Expect＝０）しておくことにより、検証対象ＡＳＩＣ５０についての割り込みの確認テストを確実に終了させることが可能になる。
【００７２】
[意図しない割り込み発行確認のシーケンス]
次に、ＨＤＬシミュレータ１００のテストベンチ１０１による意図しない割り込み発行確認のシーケンスについて図４のフローチャートを参照して説明する。図４に示すように、テストベンチ１０１は、シミュレーションの開始時は、割り込み期待を示すフラグ（Int_Expect）をネゲート（Int_Expect＝０）しておく（ステップＳ１１）。
【００７３】
ここで、検証対象ＡＳＩＣ５０に回路バグがあった場合、検証対象ＡＳＩＣ５０は、テストベンチ１０１のＣＰＵバスモデル１０５に対して、割り込み信号を発行する（ステップＴ１１）。
【００７４】
テストベンチ１０１のＣＰＵバスモデル１０５は、検証対象ＡＳＩＣ５０からの割り込み信号を受信すると、割り込み期待を示すフラグ（Int_Expect）がアサート（Int_Expect＝１）されているかどうか確認する（ステップＳ１２）。
【００７５】
割り込み期待を示すフラグ（Int_Expect）がアサート（Int_Expect＝１）されていなければ、すなわち割り込み期待を示すフラグ（Int_Expect）がネゲート（Int_Expect＝０）されていれば、意図しない割り込み受信したことをログ表示し、シミュレーションを停止する（ステップＳ１３）。
【００７６】
[割り込みが発行されないことの確認のシーケンス]
次に、ＨＤＬシミュレータ１００のテストベンチ１０１による割り込みが発行されないことの確認のシーケンスについて図５のフローチャートを参照して説明する。図５に示すように、テストベンチ１０１は、シミュレーションの開始時は、割り込み期待を示すフラグ（Int_Expect）をネゲート（Int_Expect＝０）しておく（ステップＳ２１）。
【００７７】
テストベンチ１０１は、割り込みが発生することを確認するテストを実行する時、割り込み期待を示すフラグ（Int_Expect）をアサート（Int_Expect＝１）するとともに、割り込みを待つ時間を示す割り込み検出期間（Int_TimeOut）に所定時間（Int_TimeOut＝1000）を設定し（ステップＳ２２）、テストシナリオ１０２とバスモデル１０４との間の共有フラグ（異常応答発生フラグ１０３）にてバスモデル１０４の異常応答を要求する（ステップＳ２３）。これにより、検証対象ＡＳＩＣ５０が割り込み信号を発行する状態にすることができる。
【００７８】
ここで、テストベンチ１０１から異常応答を受けた検証対象ＡＳＩＣ５０は、テストベンチ１０１のＣＰＵバスモデル１０５に対して割り込み信号を発行することになるが、検証対象ＡＳＩＣ５０に回路バグがある場合には、割り込み信号を発行することができない。
【００７９】
そこで、テストベンチ１０１のＣＰＵバスモデル１０５は、検証対象ＡＳＩＣ５０からの割り込み信号を受信するまで単位時間経過毎に所定時間（Int_TimeOut＝1000）を減算する（ステップＳ２４）。
【００８０】
そして、ＣＰＵバスモデル１０５が検証対象ＡＳＩＣ５０からの割り込み信号を受信できず、割り込み検出期間（Int_TimeOut）が“０”になると（ステップＳ２５）、意図した割り込みが所定時間内に発行されないことをログ表示し、シミュレーションを停止する（ステップＳ２６）。
【００８１】
以上のような処理動作により、期待通りの割り込み、もしくは、期待していない割り込みを認識することが可能になり、これをログ表示やシミュレーション停止等で検証者に通知することにより、容易に割り込みに関する検証精度を向上させることが可能になる。
【００８２】
また、検証対象ＡＳＩＣ５０に回路バグがあり、期待した割り込みがこない場合に、ログ表示やシミュレーション停止等で検証者に通知することにより、容易に割り込みに関する検証精度を向上させることが可能になる。また、割り込み発生までの時間は、回路の作りにより様々であり、所定時間を随時設定することができることにより、割り込みに関する検証の再利用性及び、保守性を向上させることができる。
【００８３】
このように本実施の形態によれば、ハードウェア記述言語により設計された検証対象ＡＳＩＣ５０についての割り込みの確認テストを実施する時は、割り込み期待フラグ１０６をアサートした状態で、テストシナリオ１０２からバスモデル１０４に対して異常応答の要求を示す異常応答発生フラグ１０３が送信される。そして、検証対象ＡＳＩＣ５０にバス接続されるＣＰＵバスモデル１０５で検証対象ＡＳＩＣ５０からの割り込み信号を受信した場合、割り込み期待フラグ１０６がアサートされていれば期待通りの割り込みであることが認識され、意図通りの割り込み信号を受信したことが検証者に報知される。これにより、検証対象ＡＳＩＣ５０に対する割り込みの検証を容易かつ高精度に行うことができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の一形態の機能検証装置のハードウェア構成を概略的に示すブロック図である。
【図２】ＨＤＬシミュレータのテストベンチと検証対象ＡＳＩＣとの関連構成を概略的に示す機能ブロック図である。
【図３】割り込み発行確認のシーケンスを示すフローチャートである。
【図４】意図しない割り込み発行確認のシーケンスを示すフローチャートである。
【図５】割り込みが発行されないことの確認のシーケンスを示すフローチャートである。
【図６】ＨＤＬシミュレータの構成を概略的に示す模式図である。
【符号の説明】
【００８５】
１      機能検証装置
７      記憶媒体
５０        ハードウェア記述言語により設計されたモデル
１０１      テストベンチ
１０２      テストシナリオ
１０３      異常応答発生フラグ
１０４      バスモデル
１０５      ＣＰＵバスモデル
１０６      割り込み期待を示すフラグ
【図１】
2006011927.tif 000003
【図２】
2006011927.tif 000004
【図３】
2006011927.tif 000005
【図４】
2006011927.tif 000006
【図５】
2006011927.tif 000007
【図６】
2006011927.tif 000008