(57)【要約】【課題】  複数のテストシナリオを同時並行的に動作させる際に、回路の検証の精度を向上させる【解決手段】  各テストシナリオＧ１，Ｇ２の起動順選択部は、ランダム指定部が出力するランダム指定情報が入力され、このランダム指定情報に対応して各テストシナリオＧ１，Ｇ２内に複数含まれているテスト群を構成するテストの起動順を決定し、このテスト群のテストの起動順を確定する。この決定、確定は、ランダム指定情報によりランダムに行なわれる。テスト群内の各テストは、この設定された順番で順次起動され、シミュレーションが実施されていく。また、このテストシナリオＧ１とＧ２とは同時並行的に動作して、シミュレーションを実行する。【選択図】    図１
2006085363.tif 000002
【特許請求の範囲】
【請求項１】
検証対象の回路にバス接続されるバスモデルと、
このバスモデルを用いた前記回路の動作の検証に用いる複数のテストシナリオを同時並行的に動作させ、この同時並行的に動作する前記各テストシナリオ中のテストをランダムに選択する手段と、
を備えているテストベンチシステム。
【請求項２】
前記選択する手段は、前記ランダムな選択の順番を決定したときは当該順番の情報を外部に出力する、請求項１に記載のテストベンチシステム。
【請求項３】
前記検証の実行により所定のエラーが発生したときは、この発生の際に前記各テストシナリオ中で動作中の前記テストがいずれであるかの情報を外部に出力する手段をさらに備えている、請求項１又は２に記載のテストベンチシステム。
【請求項４】
検証対象の回路にバス接続されるバスモデルと、
このバスモデルを用いた前記回路の動作の検証に用いる複数のテストシナリオを同時並行的に動作させ、この同時並行的に動作する前記各テストシナリオ中のテストをランダムに選択する手段と、
をコンピュータに実行させるコンピュータに読取可能なプログラム。
【請求項５】
前記選択する手段は、前記ランダムな選択の順番を決定したときは当該順番の情報を外部に出力する、請求項４に記載のプログラム。
【請求項６】
前記検証の実行により所定のエラーが発生したときは、この発生の際に前記各テストシナリオ中で動作中の前記テストがいずれであるかの情報を外部に出力する手段をさらに備えている、請求項４又は５に記載のプログラム。
【請求項７】
請求項４〜６のいずれかの一に記載のプログラムを記憶している、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の動作を検証するテストベンチシステム、このテストベンチシステムを実現するプログラム、及びこのプログラムを記憶している記憶媒体に関する。
【背景技術】
【０００２】
ＡＳＩＣ（Application Specified IC）を構成するＬＳＩ（大規模集積回路）などの回路を検証するテストベンチシステムについては、例えば、特許文献１に開示の技術が知られている。
【０００３】
【特許文献１】特開２００２−２３００７３公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
近年、ＬＳＩは、動作速度は高速化し、微細加工技術の向上により、多くの機能が１つのＬＳＩに集積される方向にある。そのため、このようなＬＳＩを構成するＡＳＩＣを検証するテストベンチの技術向上、精度向上、生産性向上などは重要な課題になっている。
【０００５】
このようなテストベンチの技術向上、精度向上、生産性向上のため、まず、ＡＳＩＣにバス接続されるバスモデルと各種設定を行うテストシナリオを別々に取り扱うことで、テストベンチの生産性や再利用性を向上させるとともに、複数のデータパスの存在するＡＳＩＣにおける同時動作の検証を行えるようにすることが考えられる。
【０００６】
しかしながら、このようなテストベンチシステムにおいて、複数のテストシナリオを並列動作させる場合、各テストシナリオ内に複数存在するテストは、順次（シリアル）に動作する。
【０００７】
そのため、近年の大規模、高機能のＬＳＩにおいては、思わぬコーナーケースのタイミング組み合わせで不具合が発生する場合があるという課題が存在する。
【０００８】
本発明の目的は、複数のテストシナリオを同時並行的に動作させる際に、同時並行的に実行されている各テストシナリオに含まれるテストをランダムに変更できるようにして、回路の検証の精度を向上させることである。
【課題を解決するための手段】
【０００９】
本発明は、検証対象の回路にバス接続されるバスモデルと、このバスモデルを用いた前記回路の動作の検証に用いる複数のテストシナリオを同時並行的に動作させ、この同時並行的に動作する前記各テストシナリオ中のテストをランダムに選択する手段と、を備えているテストベンチシステムである。
【００１０】
別の面から見た本発明は、検証対象の回路にバス接続されるバスモデルと、このバスモデルを用いた前記回路の動作の検証に用いる複数のテストシナリオを同時並行的に動作させ、この同時並行的に動作する前記各テストシナリオ中のテストをランダムに選択する手段と、をコンピュータに実行させるコンピュータに読取可能なプログラムである。
【発明の効果】
【００１１】
本発明によれば、複数のテストシナリオを同時並行的に動作させる際に、同時並行的に実行されている各テストシナリオに含まれるテストをランダムに変更できるので、回路の検証の精度を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
本発明を実施するための最良の一形態について説明する。
【００１３】
図１は、本実施の形態のテストベンチシステム１の機能ブロック図である。テストベンチシステム１は、検証対象である回路２の動作を検証する装置である。回路２は、この例ではＡＳＩＣである。テストベンチシステム１は、回路２にバス接続されるバスモデル、すなわち、回路２のＣＰＵインタフェースに対応したバスファンクションモデルであるＣＰＵバスモデル３と、回路２のインタフェースにそれぞれ対応したバスファンクションモデルであるインタフェース（Ｉ／Ｆ）バスモデル４，５と、を備えている。この例では、Ｉ／Ｆバスモデル４，５は、回路のデータ入力インタフェースや、回路のデータ出力インタフェースに対応したバスファンクションモデルとして機能することができる。
【００１４】
テストシナリオＧ１，Ｇ２は、それぞれＩ／Ｆバスモデル４，５に対応したテストシナリオである。テストシナリオＧ１，Ｇ２は、ＣＰＵバスモデル３にそれぞれ起動をかけ、回路２の設定や、動作起動を行う。また、各Ｉ／Ｆバスモデル４，５の動作起動を各対応するテストシナリオＧ１，Ｇ２が行う。各Ｉ／Ｆバスモデル４，５の動作起動が設定されると、各Ｉ／Ｆバスモデル４，５がそれぞれ回路２に対して動作を開始する。なお、本実施の形態では、Ｉ／Ｆバスモデル、テストシナリオを各２つ用意した例を示しているが、本発明はこれらの数を限定するものではない。
【００１５】
エラー制御部６は、テストシナリオＧ１，Ｇ２、Ｉ／Ｆバスモデル４，５からのシミュレーション実行により何らかのエラーが発生すると起動され、シミュレーションを中断し、あるいは終了する制御を実行する。
【００１６】
ランダム指定部７は、シミュレーション開始時に各テストシナリオＧ１，Ｇ２にランダム指定情報を個別に与える（後述）。
【００１７】
図２は、テストシナリオＧ１，Ｇ２のそれぞれの構成を示す機能ブロック図である。なお、テストシナリオＧ１とＧ２は同一の構成、動作であるため、その共通の構成、動作を、図２を参照して説明する。各テストシナリオＧ１，Ｇ２の起動順選択部１１は、ランダム指定部７が出力するランダム指定情報が入力され、このランダム指定情報に対応して各テストシナリオＧ１，Ｇ２内に複数含まれているテスト群１２（テスト１〜テストＮ）の起動順を決定し、このテスト群１２（テスト１〜テストＮ）の起動順を確定する。この決定、確定は、ランダム指定情報によりランダムに行なわれる。テスト群１２内のテスト１〜テストＮは、この設定された順番で順次起動され、シミュレーションが実施されていく。また、このテストシナリオＧ１とＧ２とは同時並行的に動作して、シミュレーションを実行することができる。
【００１８】
これにより、各テストシナリオＧ１，Ｇ２のテスト群１２の起動が変動するようになり、テストシナリオＧ１，Ｇ２の同時並行的な動作の際には、テストシナリオＧ１のテスト１〜テストＮと、テストシナリオＧ２のテスト１〜テストＮとの組み合わせについて複数の動作組み合わせが実現できるようになり、各Ｉ／Ｆバスモデル４，５の動作状態の組み合わせで発生する動作タイミングを多く検証できるようになり、回路２の検証精度を向上させることができる。
【００１９】
また、起動順選択部１１は、テストシナリオＧ１，Ｇ２のテスト群１２の起動順が確定した時点で、その起動順の情報である起動順情報を外部に出力して、ログ表示させる。
【００２０】
これにより、現在シミュレーション実施中のテスト予定が判り、また、不具合発生時に解析する情報として貴重な情報を提示でき、解析効率を向上させることができる。また、正常にテストベンチが終了した場合も、テストベンチの機能カバレッジとして機能し、どのような組み合わせでシミュレーションが実施されたかを知ることができる。
【００２１】
すなわち、前述の場合においては、各テストシナリオＧ１，Ｇ２内に複数存在するテストがランダムに起動されるため、不具合を発見し、解析する場合に、担当者（シナリオ設計者、回路設計者など）は、どの順番でテストが実行されているかは認識できないため、条件の絞り込みに時間が掛かる可能性がでてくる。特にテストシナリオＧ１，Ｇ２の同時並行的な動作で初めて認識する不具合は、複数の要因の組み合わせで起きている可能性が高く、その要因の解析は困難になる。
【００２２】
そこで、シミュレーションが実行され各テストシナリオＧ１，Ｇ２のテスト起動順が確定した時点で、ログに各テストシナリオＧ１，Ｇ２のテスト起動順を表示することにより、現在の条件を明示化し、解析効率を向上させることができる。またテストベンチがどのような組み合わせで検証されたかを確認する機能カバレッジとしても機能することになる。
【００２３】
テスト進行確認部１３は、テスト１〜テストＮの中で、現在、どのテストを実施しているかを認識し、シミュレーションの実施がされるテストが変更されるごとに、現在、どのテストを実施しているかの情報であるテスト情報を更新する。このテスト情報は、エラー制御部６に出力される。エラー制御部６は、前述のエラー発生時に起動し、テストシナリオから与えられたテスト情報に基づき、エラーを発見した際に実行中のテストがテスト１〜テストＮのいずれであるかを判断し、いずれのテストの実行中にエラーが発生したかを示す情報であるエラー情報を外部に出力する。
【００２４】
これにより、テストシナリオＧ１，Ｇ２の同時並行的な動作時の各Ｉ／Ｆバスモデル４，５の動作状況が明確になり、不具合解析の効率を向上させることができる。
【００２５】
すなわち、前述の場合において、エラー制御部６はエラーを発見すると各テストシナリオＧ１，Ｇ２内に含まれているテストに固有のエラーメッセージを表示することができるが、そのエラーは結果として現れるだけで、そのエラーが発生する要因がエラーメッセージを表示したテストシナリオＧ１又はＧ２に対応するＩ／Ｆバスモデル４又は５にあるとは限らない。他のＩ／Ｆバスモデル５又は４が自己には影響しないが、他のＩ／Ｆバスモデル４又は５に影響を与える振る舞いをしている場合もある。そこで、エラーメセージをあるテストシナリオＧ１又はＧ２のテストについて表示した後に、他のテストシナリオＧ２又はＧ１内のその時点で動作しているテストを示すエラー情報を表示することにより、テストシナリオＧ１，Ｇ２の同時並行的な動作での特定要因を明確にすることが可能になり、解析効率を向上させることができる。
【００２６】
次に、前述のテストベンチシステム１の具体的なハードウェア構成例について説明する。図３は、テストベンチシステム１の電気的な接続のブロック図である。図３に示すように、テストベンチシステム１は、ワークステーションなどのコンピュータにより実現され、このコンピュータは、各種演算を行ない、各部を集中的に制御するＣＰＵ２１１と、各種のＲＯＭ、ＲＡＭからなるメモリ２１２とが、バス２１３で接続されている。
【００２７】
バス２１３には、所定のインタフェースを介して、ハードディスクなどの磁気記憶装置２１４と、キーボード、マウスなどの入力装置２１５と、表示装置２１６とが接続され、また、ネットワーク２０１と通信を行なう所定の通信インタフェース２１９が接続されている。なお、記憶媒体２１７としては、ＣＤ，ＤＶＤなどの光ディスク、光磁気ディスク、フレキシブルディスクなどの各種メディアを用いることができる。また、記憶媒体読取装置２１８は、具体的には記憶媒体２１７の種類に応じて光ディスク装置、光磁気ディスク装置、フレキシブルディスク装置などが用いられる。
【００２８】
テストベンチシステム１は、この発明の記憶媒体を実施する記憶媒体２１７から、この発明のプログラムを実施するプログラム２２０を読み取って、磁気記憶装置２１４にインストールすることにより、動作可能な状態となる。これらのプログラム２０はインターネットなどのネットワーク２０１等を介してダウンロードしてインストールするようにしてもよい。なお、プログラム２２０は、所定のＯＳ上で動作するものであってもよい。
【００２９】
バス２１３には、所定のインタフェース２２１を介して、回路２と接続される。そして、プログラム２２０に基づいてＣＰＵ２１１が実行する処理により、ＣＰＵバスモデル３、Ｉ／Ｆバスモデル４，５、エラー制御部６、ランダム指定部７、起動順選択部１１、テスト進行確認部１３を構築し、テストシナリオＧ１，Ｇ２のテスト群１２を用いて、回路２の動作が正常に行なわれるか否かの検査処理を実行する。なお、前述のログの表示は、表示装置２１６で行なう。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施の形態であるテストベンチシステムの機能ブロック図である。
【図２】テストシナリオの機能ブロック図である。
【図３】テストベンチシステムの電気的な接続のブロック図である。
【符号の説明】
【００３１】
１  テストベンチシステム
２  回路
３，４，５  バスモデル
１２  テスト群
２１７  記憶媒体
２２０  プログラム
Ｇ１，Ｇ２  テストシナリオ
【図１】
2006085363.tif 000003
【図２】
2006085363.tif 000004
【図３】
2006085363.tif 000005