(57)【要約】【課題】集積回路で起こり得る競合の十分な検証、検証網羅性の適正な評価を可能にする。【解決手段】バスに接続された複数のマスターユニットとスレーブユニットを含む検証対象の、一のマスターユニットと一のスレーブユニットの間を転送される信号の第１ビジー期間を取得し（ステップＳ４）、その第１ビジー期間と少なくとも一部が重なる第２ビジー期間で信号が転送されるマスターユニットとスレーブユニットの組み合わせを示す第２組み合わせ情報を取得し（ステップＳ５）、第１ビジー期間を、設定された第３ビジー期間と比較し（ステップＳ６）、第１ビジー期間が第３ビジー期間よりも長い場合、一のマスターユニットと一のスレーブユニットの組み合わせを示す第１組み合わせ情報と、第２組み合わせ情報とを関連付けて記録する（ステップＳ７）。【選択図】図１２
2014149565.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
バスに接続された複数のマスターユニットと複数のスレーブユニットとを含む検証対象の、一のマスターユニットと一のスレーブユニットの間を転送される第１信号の第１転送期間を取得し、
前記検証対象の、前記第１転送期間と少なくとも一部が重なる第２転送期間で第２信号が転送されるマスターユニットとスレーブユニットの組み合わせを示す第２組み合わせ情報を取得し、
前記第１転送期間を、設定された第３転送期間と比較し、
前記第１転送期間が前記第３転送期間よりも長い場合に、前記一のマスターユニットと前記一のスレーブユニットの組み合わせを示す第１組み合わせ情報と、取得した前記第２組み合わせ情報とを関連付けて記録部に記録する
処理を実行させることを特徴とする検証プログラム。
【請求項２】
前記第３転送期間は、前記第１信号の最短の転送期間であることを特徴とする請求項１に記載の検証プログラム。
【請求項３】
前記コンピュータに、前記第１信号が転送されるチャネルを示す第１チャネル情報と、前記第２信号が転送されるチャネルを示す第２チャネル情報とを関連付けて前記記録部に記録する処理を実行させることを特徴とする請求項１又は２に記載の検証プログラム。
【請求項４】
前記コンピュータに、前記第１信号のデータ種類を前記記録部に記録する処理を実行させることを特徴とする請求項３に記載の検証プログラム。
【請求項５】
前記コンピュータに、複数種類の前記第１信号についてそれぞれ、前記第１転送期間を取得し、前記第２組み合わせ情報を取得し、前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録する処理を実行させることを特徴とする請求項１乃至４のいずれかに記載の検証プログラム。
【請求項６】
前記コンピュータに、
前記複数のマスターユニットと前記複数のスレーブユニットのうち前記一のマスターユニットと前記一のスレーブユニットの組み合わせを除いたマスターユニットとスレーブユニットの組み合わせについてそれぞれ前記第２組み合わせ情報を取得し、
前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録する処理を実行させることを特徴とする請求項１乃至５のいずれかに記載の検証プログラム。
【請求項７】
前記コンピュータに、
前記複数のマスターユニットと前記複数のスレーブユニットのうち前記一のマスターユニットと前記一のスレーブユニットとは異なるマスターユニットとスレーブユニットについて、前記第１転送期間を取得し、前記第２組み合わせ情報を取得し、前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録する処理を実行させることを特徴とする請求項１乃至６のいずれかに記載の検証プログラム。
【請求項８】
前記第１転送期間を取得する処理と、前記第２組み合わせ情報を取得する処理は、前記検証対象が所望の機能を達成するように前記複数のマスターユニットと前記複数のスレーブユニットの組み合わせをそれぞれ動作させるシナリオを用いて、前記検証対象を動作させることにより、行われることを特徴とする請求項１乃至７のいずれかに記載の検証プログラム。
【請求項９】
前記コンピュータに、
前記第１転送期間を取得する処理より前に、前記複数のマスターユニットと前記複数のスレーブユニットの組み合わせのうち、前記一のマスターユニットと前記一のスレーブユニットの組み合わせのみを単独で動作させるシナリオを用いて、前記検証対象を動作させることにより、前記第３転送期間を取得する処理を実行させることを特徴とする請求項１乃至８のいずれかに記載の検証プログラム。
【請求項１０】
コンピュータが、
バスに接続された複数のマスターユニットと複数のスレーブユニットとを含む検証対象の、一のマスターユニットと一のスレーブユニットの間を転送される第１信号の第１転送期間を取得し、
前記検証対象の、前記第１転送期間と少なくとも一部が重なる第２転送期間で第２信号が転送されるマスターユニットとスレーブユニットの組み合わせを示す第２組み合わせ情報を取得し、
前記第１転送期間を、設定された第３転送期間と比較し、
前記第１転送期間が前記第３転送期間よりも長い場合に、前記一のマスターユニットと前記一のスレーブユニットの組み合わせを示す第１組み合わせ情報と、取得した前記第２組み合わせ情報とを関連付けて記録部に記録する
ことを特徴とする検証方法。
【請求項１１】
前記第３転送期間は、前記第１信号の最短の転送期間であることを特徴とする請求項１０に記載の検証方法。
【請求項１２】
前記コンピュータが、前記第１信号が転送されるチャネルを示す第１チャネル情報と、前記第２信号が転送されるチャネルを示す第２チャネル情報とを関連付けて前記記録部に記録することを特徴とする請求項１０又は１１に記載の検証方法。
【請求項１３】
前記コンピュータが、前記第１信号の種類を前記記録部に記録することを特徴とする請求項１２に記載の検証方法。
【請求項１４】
前記コンピュータが、複数種類の前記第１信号についてそれぞれ、前記第１転送期間を取得し、前記第２組み合わせ情報を取得し、前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録することを特徴とする請求項１０乃至１３のいずれかに記載の検証方法。
【請求項１５】
前記コンピュータが、
前記複数のマスターユニットと前記複数のスレーブユニットのうち前記一のマスターユニットと前記一のスレーブユニットの組み合わせを除いたマスターユニットとスレーブユニットの組み合わせについてそれぞれ前記第２組み合わせ情報を取得し、
前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録することを特徴とする請求項１０乃至１４のいずれかに記載の検証方法。
【請求項１６】
前記コンピュータが、前記複数のマスターユニットと前記複数のスレーブユニットのうち前記一のマスターユニットと前記一のスレーブユニットとは異なるマスターユニットとスレーブユニットについて、前記第１転送期間を取得し、前記第２組み合わせ情報を取得し、前記第１転送期間を前記第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記第１組み合わせ情報と前記第２組み合わせ情報とを関連付けて前記記録部に記録する処理を実行させることを特徴とする請求項１０乃至１５のいずれかに記載の検証方法。
【請求項１７】
前記第１転送期間の取得と、前記第２組み合わせ情報の取得は、前記検証対象が所望の機能を達成するように前記複数のマスターユニットと前記複数のスレーブユニットの組み合わせをそれぞれ動作させるシナリオを用いて、前記検証対象を動作させることにより、行われることを特徴とする請求項１０乃至１６のいずれかに記載の検証方法。
【請求項１８】
前記コンピュータが、
前記第１転送期間を取得するより前に、前記複数のマスターユニットと前記複数のスレーブユニットの組み合わせのうち、前記一のマスターユニットと前記一のスレーブユニットの組み合わせのみを単独で動作させるシナリオを用いて、前記検証対象を動作させることにより、前記第３転送期間を取得することを特徴とする請求項１０乃至１７のいずれかに記載の検証方法。
【請求項１９】
バスに接続された複数のマスターユニットと複数のスレーブユニットとを含む検証対象の、一のマスターユニットと一のスレーブユニットの間を転送される第１信号の第１転送期間を取得する第１処理部と、
前記検証対象の、前記第１転送期間と少なくとも一部が重なる第２転送期間で第２信号が転送されるマスターユニットとスレーブユニットの組み合わせを示す第２組み合わせ情報を取得する第２処理部と、
前記第１転送期間を、設定された第３転送期間と比較する第３処理部と、
前記第１転送期間が前記第３転送期間よりも長い場合に、前記一のマスターユニットと前記一のスレーブユニットの組み合わせを示す第１組み合わせ情報と、取得した前記第２組み合わせ情報とを関連付けて記録部に記録する第４処理部と
を含むことを特徴とする検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証プログラム、検証方法及び検証装置に関する。
【背景技術】
【０００２】
ＬＳＩ（Large Scale Integration）等の集積回路として、バスに接続された複数のマスターユニット及びスレーブユニットを含むものが知られている。このような集積回路の開発では、仕様に基づく設計、及びその設計の検証が行われる。設計検証の１種に、バスを介して異なる組み合わせのマスターユニットとスレーブユニットの間を転送される信号同士の競合を検証する、競合検証がある。
【０００３】
尚、競合に関しては、マルチプロセッサシステムにおいて、各プロセッサからのバス使用要求信号を用いて共通バスの使用状態をモニタする技術や、各プロセッサからの処理要求を用いて競合発生状況を確認する技術が知られている。また、１つのプロセッサからの実リクエストを基に、それと競合する擬似リクエストを生成し、リクエスト競合の環境を実現する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６３−２７６６６０号公報
【特許文献２】特開昭６０−０６３６４２号公報
【特許文献３】特開平０４−１８４５５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バスに接続された複数のマスターユニット及びスレーブユニットを含む集積回路（検証対象）の競合検証では、例えば、検証パターン（シナリオ）を用いて複数のマスターユニット及びスレーブユニットを並列に動作させ、競合を発生させる。
【０００６】
しかし、これまでの競合検証では、集積回路で起こり得る様々な組み合わせの信号同士の競合をどれだけ発生させて検証したのか、その検証の網羅性を適正に評価できず、必ずしも競合を過不足（重複、漏れ）なく十分に検証できていない可能性があった。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、コンピュータに、バスに接続された複数のマスターユニットと複数のスレーブユニットとを含む検証対象の、一のマスターユニットと一のスレーブユニットの間を転送される第１信号の第１転送期間を取得し、前記検証対象の、前記第１転送期間と少なくとも一部が重なる第２転送期間で第２信号が転送されるマスターユニットとスレーブユニットの組み合わせを示す第２組み合わせ情報を取得し、前記第１転送期間を、設定された第３転送期間と比較し、前記第１転送期間が前記第３転送期間よりも長い場合に、前記一のマスターユニットと前記一のスレーブユニットの組み合わせを示す第１組み合わせ情報と、取得した前記第２組み合わせ情報とを関連付けて記録部に記録する処理を実行させる検証プログラムが提供される。
【０００８】
この検証プログラムでは、マスターユニットとスレーブユニットの間を転送される信号の転送期間に基づいて競合が判別され、競合するマスターユニットとスレーブユニットの組み合わせに関する情報が記録される。
【０００９】
また、本発明の一観点によれば、コンピュータを用いて上記のような処理を行う検証方法、検証を行う検証装置が提供される。
【発明の効果】
【００１０】
開示の技術によれば、検証対象で起こり得る競合の十分な検証、検証の網羅性の適正な評価が可能になり、競合の重複や漏れの発生を抑え、検証精度の向上、検証期間の短縮、検証コストの低減を図ることが可能になる。
【図面の簡単な説明】
【００１１】
【図１】検証対象の一例を示す図（その１）である。
【図２】検証対象の一例を示す図（その２）である。
【図３】マスターユニット間競合の一例の説明図である。
【図４】スレーブユニット間競合の一例の説明図である。
【図５】バス内競合の一例の説明図である。
【図６】カバレッジ表（レベル１）の一例を示す図である。
【図７】カバレッジ表（レベル２）の一例を示す図である。
【図８】カバレッジ表（レベル３）の一例を示す図である。
【図９】競合モニタの接続例を示す図である。
【図１０】検証装置の構成例を示す図である。
【図１１】検証装置に用いるコンピュータのハードウェハ構成例を示す図である。
【図１２】検証装置の処理フローの一例を示す図である。
【図１３】競合検証手法の一例の説明図である。
【図１４】データベースの一例を示す図（その１）である。
【図１５】データベースの一例を示す図（その２）である。
【図１６】競合モニタによる情報取得の説明図（その１）である。
【図１７】競合モニタによる情報取得の説明図（その２）である。
【図１８】競合モニタによる情報取得の説明図（その３）である。
【図１９】競合モニタによる情報取得の説明図（その４）である。
【図２０】競合モニタによる情報取得の説明図（その５）である。
【図２１】競合モニタによる情報取得の説明図（その６）である。
【図２２】競合候補チャネルの説明図である。
【図２３】競合相手チャネルの説明図である。
【図２４】カバレッジ表の出力例を示す図（その１）である。
【図２５】カバレッジ表の出力例を示す図（その２）である。
【図２６】カバレッジ表の出力例を示す図（その３）である。
【図２７】カバレッジ表の出力例を示す図（その４）である。
【図２８】競合検証手法の適用例を示す図である。
【発明を実施するための形態】
【００１２】
まず、検証対象で発生する競合について説明する。
図１及び図２は検証対象の一例を示す図である。尚、図１及び図２には、検証対象とその内部を転送される信号の経路（転送経路）を模式的に図示している。
【００１３】
図１には、バス１１と、バス１１に接続された複数のマスターユニット１２及び複数のスレーブユニット１３とを有する検証対象（Device Under Test；ＤＵＴ）１０を例示している。検証対象１０は、例えば、レジスタ・トランスファ・レベル（ＲＴＬ）で論理設計された集積回路である。ここでは、マスターユニット１２として、３つのマスターユニットＭ１，Ｍ２，Ｍ３を例示し、スレーブユニット１３として、３つのスレーブユニットＳ１，Ｓ２，Ｓ３を例示している。
【００１４】
尚、マスターユニット１２は、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＭＡＣ（Direct Memory Access Controller）等のように、自らバス１１に対して命令を発行するユニットである。スレーブユニット１３は、ＳＲＡＭ（Static Random Access Memory）やＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）といったメモリ等のように、マスターユニット１２からバス１１を通して命令を受け、応答を返すようなユニットである。
【００１５】
バス１１は、１つ又は２つ以上（ここでは一例として４つ）のスイッチ１１ａを含んでおり、スイッチ１１ａを介して所定のマスターユニット１２とスレーブユニット１３の間を相互に接続する。例えば、図１に示すように、バス１１が、マスターユニットＭ１とスレーブユニットＳ２の間を転送経路２１で接続する（鎖線）。同様にバス１１は、マスターユニットＭ２とスレーブユニットＳ３の間を転送経路２２で接続し（点線）、マスターユニットＭ３とスレーブユニットＳ２の間を転送経路２３で接続する（実線）。
【００１６】
検証対象１０では、その動作時に転送される信号の転送経路や転送期間が重なることで、不具合が発生し得る。例えば、図２のように、マスターユニットＭ１とスレーブユニットＳ２を接続する転送経路２１に、マスターユニットＭ３とスレーブユニットＳ２を接続する転送経路２３が重なり、各々を転送される信号のタイミング（転送期間）が重なると、不具合が発生し得る。
【００１７】
検証対象１０の競合検証では、例えば、検証装置を用いて所定のシナリオ（検証パターン）で複数のマスターユニット１２及びスレーブユニット１３を動作（マスターユニット１２とスレーブユニット１３の組み合わせが異なるものを並列に動作）させる。しかし、検証装置で処理するうえで競合の定義が明確でなく、また、検証対象１０で起こり得る様々な組み合わせの信号同士の競合状況をどれだけ発生させて検証したのか、その検証の網羅性を適正に評価できない場合がある。そのため、マスターユニット１２とスレーブユニット１３の或る組み合わせに対し、重複する競合状況を発生させて検証してしまったり、競合状況を発生させることなく検証を終えてしまったりすることが起こり得る。
【００１８】
そこで、検証対象１０の競合検証に、以下に説明するような技術を採用する。
まず、競合検証における競合の定義を明確にする。
ここでは、競合検証における競合を、或る組み合わせのマスターユニット１２とスレーブユニット１３の間を転送される信号の最短の転送期間（他の信号の影響を受けずに転送される時の転送期間）を基準にして判別する。或る組み合わせのマスターユニット１２とスレーブユニット１３の間の転送期間が、基準となる最短の転送期間よりも長くなる場合、その組み合わせのマスターユニット１２とスレーブユニット１３の間の転送経路上に何らかの競合が発生しているとする。
【００１９】
尚、転送期間は、マスターユニット１２が所定の信号を送信してからそれをスレーブユニット１３が受信するまでの期間、或いは、スレーブユニット１３が所定の信号を送信してからそれをマスターユニット１２が受信するまでの期間である。以下では、この転送期間をビジー期間とも言う。
【００２０】
図２を例にすると、マスターユニットＭ１とスレーブユニットＳ２を繋ぐ転送経路２１を転送される信号の転送期間がビジー期間である。この信号がマスターユニットＭ３とスレーブユニットＳ２の間を転送される信号を含む他の信号の影響を受けずに転送される時の最短の転送期間が、最短ビジー期間である。マスターユニットＭ１とスレーブユニットＳ２の間のビジー期間が最短ビジー期間よりも長くなる場合、その転送経路２１上に競合が発生しているとする。
【００２１】
競合には、次のような３種類が存在する。
１つ目は、複数のマスターユニット１２が１つのスレーブユニット１３へアクセスする場合に発生する競合（マスターユニット間競合）である。２つ目は、１つのマスターユニット１２が複数のスレーブユニット１３へアクセスする場合に発生する競合（スレーブユニット間競合）である。３つ目は、複数のマスターユニット１２が別々のスレーブユニット１３へアクセスする場合に発生する競合（バス内競合）である。各競合について、図３〜図５を参照して具体的に説明する。
【００２２】
図３はマスターユニット間競合の一例の説明図である。
図３には、異なるマスターユニットＭ１とマスターユニットＭ３が、１つのスレーブユニットＳ３にアクセスする場合を例示している。例えば、ＣＰＵやＤＭＡＣといったマスターユニットＭ１及びマスターユニットＭ３が、メモリのスレーブユニットＳ３に対して書き込み（ライト）を行うような場合が、これに該当する。
【００２３】
マスターユニットＭ１とスレーブユニットＳ３を繋ぐ転送経路２１ａのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ３とスレーブユニットＳ３を繋ぐ転送経路２３ａの信号転送の影響で長くなれば、転送経路２１ａに競合が発生したとする。また、マスターユニットＭ３とスレーブユニットＳ３を繋ぐ転送経路２３ａのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ１とスレーブユニットＳ３を繋ぐ転送経路２１ａの信号転送の影響で長くなれば、転送経路２３ａに競合が発生したとする。
【００２４】
図４はスレーブユニット間競合の一例の説明図である。
図４には、１つのマスターユニットＭ３が、異なるスレーブユニットＳ１とスレーブユニットＳ３にアクセスする場合を例示している。例えば、ＣＰＵやＤＭＡＣといったマスターユニットＭ３が、メモリのスレーブユニットＳ１及びスレーブユニットＳ３に対してそれぞれ読み出し（リード）を行うような場合が、これに該当する。
【００２５】
マスターユニットＭ３とスレーブユニットＳ１を繋ぐ転送経路２３ｂのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ３とスレーブユニットＳ３を繋ぐ転送経路２３ｃの信号転送の影響で長くなれば、転送経路２３ｂに競合が発生したとする。また、マスターユニットＭ３とスレーブユニットＳ３を繋ぐ転送経路２３ｃのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ３とスレーブユニットＳ１を繋ぐ転送経路２３ｂの信号転送の影響で長くなれば、転送経路２３ｃに競合が発生したとする。
【００２６】
図５はバス内競合の一例の説明図である。
図５には、異なるマスターユニットＭ１とマスターユニットＭ３が、それぞれ異なるスレーブユニットＳ１とスレーブユニットＳ２にアクセスする場合を例示している。
【００２７】
マスターユニットＭ１とスレーブユニットＳ１を繋ぐ転送経路２１ｄのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ３とスレーブユニットＳ２を繋ぐ転送経路２３ｄの信号転送の影響で長くなれば、転送経路２１ｄに競合が発生したとする。また、マスターユニットＭ３とスレーブユニットＳ２を繋ぐ転送経路２３ｄのビジー期間が、その最短ビジー期間よりも、マスターユニットＭ１とスレーブユニットＳ１を繋ぐ転送経路２１ｄの信号転送の影響で長くなれば、転送経路２３ｄに競合が発生したとする。
【００２８】
バス１１を介して複数のマスターユニット１２（Ｍ１，Ｍ２，Ｍ３）と複数のスレーブユニット１３（Ｓ１，Ｓ２，Ｓ３）が接続された検証対象１０で発生する競合は、図３〜図５に示したような３種類の競合のいずれかに該当する。
【００２９】
検証対象１０の競合検証では、競合したマスターユニット１２とスレーブユニット１３の組み合わせを示す情報が、互いの組み合わせが関連付けられて、競合検証を行う検証装置の記録部に記録される。例えば、図６に示すようなカバレッジ表に対応して、競合したマスターユニット１２とスレーブユニット１３の組み合わせを示す情報が関連付けられて記録部に記録される。
【００３０】
図６はカバレッジ表（レベル１）の一例を示す図である。
図６のカバレッジ表３１（レベル１）は、着目するマスターユニット１２とスレーブユニット１３の組み合わせ（欄３１ａ）と、競合相手のマスターユニット１２とスレーブユニット１３の組み合わせ（欄３１ｂ）との関係を表す。
【００３１】
例えば、着目するマスターユニット１２とスレーブユニット１３の組み合わせが、Ｍ１−Ｓ１の場合、その競合相手となり得る組み合わせは、Ｍ１−Ｓ２、Ｍ１−Ｓ３、Ｍ２−Ｓ１、Ｍ２−Ｓ２、Ｍ２−Ｓ３、Ｍ３−Ｓ１、Ｍ３−Ｓ２、Ｍ３−Ｓ３である。これら競合相手の組み合わせのうち、着目するＭ１−Ｓ１の組み合わせとマスターユニットＭ１が共通するＭ１−Ｓ２、Ｍ１−Ｓ３の組み合わせは、上記図４に例示したようなスレーブユニット間競合に該当する。着目するＭ１−Ｓ１の組み合わせとマスターユニットＭ１が異なり、スレーブユニットＳ１が共通するＭ２−Ｓ１、Ｍ３−Ｓ１の組み合わせは、上記図３に例示したようなマスターユニット間競合に該当する。着目するＭ１−Ｓ１の組み合わせとマスターユニットＭ１もスレーブユニットＳ１も異なるＭ２−Ｓ２、Ｍ２−Ｓ３、Ｍ３−Ｓ２、Ｍ３−Ｓ３の組み合わせは、上記図５に例示したようなバス内競合に該当する。尚、着目するＭ１−Ｓ１の組み合わせと同じ組み合わせ、即ちＭ１−Ｓ１それ自体は競合相手とはならない。
【００３２】
着目するマスターユニット１２とスレーブユニット１３の組み合わせがＭ１−Ｓ１以外のものについても同様であり、競合相手となり得る組み合わせは、マスターユニット間競合、スレーブユニット間競合、バス内競合のいずれかに該当するようになる。
【００３３】
検証対象１０の競合検証では、図６に示すレベル１のカバレッジ表３１に対応して、着目するマスターユニット１２とスレーブユニット１３の組み合わせとその競合相手の組み合わせとを示す情報が記録される。これにより、競合検証の網羅性の評価が可能になる。即ち、検証対象１０に含まれる複数のマスターユニット１２及び複数のスレーブユニット１３の、どの組み合わせ同士の競合について検証が行われたのか、その検証の網羅性を評価することが可能になる。
【００３４】
尚、図６に示すカバレッジ表３１の全ての組み合わせ（欄３１ｃ（マスターユニット１２とスレーブユニット１３が共通する組み合わせの欄を除く））に対応して記録がなされれば、検証対象１０で起こり得る全ての競合が検証されたことになる。
【００３５】
検証対象１０の競合検証では、このようなマスターユニット１２とスレーブユニット１３の組み合わせに加え、競合したチャネル（信号の転送経路）の組み合わせを示す情報が検証装置の記録部に記録されてもよい。例えば、図７に示すようなカバレッジ表に対応して、競合したチャネルの組み合わせを示す情報が記録部に記録される。
【００３６】
図７はカバレッジ表（レベル２）の一例を示す図である。
例えば、バス１１のプロトコルにＡＸＩ（Advanced eXtensible Interface）を採用した検証対象１０の場合、ライトアドレス、ライトデータ、ライト応答、リードアドレス、リードデータの５つのチャネルが存在する。尚、ライトアドレスチャネルでは、マスターユニット１２からスレーブユニット１３にライトアドレスが転送される（Ｍ→Ｓ）。ライトデータチャネルでは、マスターユニット１２からスレーブユニット１３にライトデータが転送される（Ｍ→Ｓ）。ライト応答チャネルでは、スレーブユニット１３からマスターユニット１２にライト応答が転送される（Ｓ→Ｍ）。リードアドレスチャネルでは、マスターユニット１２からスレーブユニット１３にリードアドレスが転送される（Ｍ→Ｓ）。リードデータチャネルでは、スレーブユニット１３からマスターユニット１２にリードデータが転送される（Ｓ→Ｍ）。
【００３７】
図７に示すカバレッジ表３２（レベル２）は、着目する組み合わせのマスターユニット１２とスレーブユニット１３のチャネル（欄３２ａ）と、その競合相手の組み合わせのマスターユニット１２とスレーブユニット１３のチャネル（欄３２ｂ）との関係を表す。この図７に示すレベル２のカバレッジ表３２が、上記図６に示したレベル１のカバレッジ表３１の各欄３１ｃに対応して設定される。
【００３８】
競合検証では、図７に示すレベル２のカバレッジ表３２に対応して、着目するマスターユニット１２とスレーブユニット１３のチャネルとその競合相手となったマスターユニット１２とスレーブユニット１３のチャネルとを関連付けた情報が記録される。このカバレッジ表３２の全てのチャネル組み合わせ（欄３２ｃ）に対応して記録がなされれば、着目する組み合わせのマスターユニット１２及びスレーブユニット１３とその競合相手との間で起こり得る全てのチャネル組み合わせの競合が検証されたことになる。カバレッジ表３２を用いることで、着目する組み合わせのマスターユニット１２及びスレーブユニット１３とその競合相手との間で、どのチャネル組み合わせの競合について検証が行われたのか、その検証の網羅性を評価することが可能になる。
【００３９】
検証対象１０の競合検証では、上記のようなマスターユニット１２とスレーブユニット１３の組み合わせ、及びチャネル組み合わせに加え、チャネルを転送された信号のデータ種類（ライト及びリードデータの場合）を示す情報が、記録部に記録されてもよい。例えば、図８に示すようなカバレッジ表に対応して、チャネルを転送された信号のデータ種類を示す情報が記録部に記録される。
【００４０】
図８はカバレッジ表（レベル３）の一例を示す図である。
例えば、バス１１のプロトコルにＡＸＩを採用した検証対象１０の場合、チャネルを転送されるライト及びリードデータには、複数種のデータが存在する。図８には、バースト転送のデータ種類を例示している。バースト転送のタイプには、アドレスを固定して転送するタイプ（ＦＩＸＥＤ）、アドレスを増加（インクリメント）して転送するタイプ（ＩＮＣＲ）、アドレスがインクリメントして所定のラッピング境界で折り返すタイプ（ＷＲＡＰ）がある。バースト転送では、各タイプに対し、バーストサイズ、バースト長が設定されている。バーストサイズは、１つのデータ転送で転送されるバイト（ｂｙｔｅ）数であり、１バイト、２バイト、４バイト、８バイトが設定されている。バースト長は、１つのバースト転送におけるデータ転送回数であり、ＦＩＸＥＤタイプ及びＩＮＣＲタイプの場合は１（シングル）転送から１６転送、ＷＲＡＰタイプの場合は２，４，８，１６転送が設定されている。
【００４１】
この図８に示すようなデータ種類（欄に○印で示したもの）が、レベル３のカバレッジ表３３に設定されている。検証対象１０のライト及びリードデータとしては、このレベル３のカバレッジ表３３に設定されているような種類のデータが転送され得る。
【００４２】
競合検証では、ライト及びリードデータとして転送された信号のデータ種類が、図８に示すレベル３のカバレッジ表３３に対応して記録される。上記図７に示したカバレッジ表３２のライト及びリードデータについて、この図８に示すカバレッジ表３３に示される全ての種類のデータが記録されれば、ライト及びリードチャネルで転送され得る全ての種類のデータについて、競合が検証されたことになる。レベル３のカバレッジ表３３を用いることで、チャネルを転送されるデータがどのような種類の時の競合について検証が行われたのか、その検証の網羅性を評価することが可能になる。
【００４３】
次に、競合検証を行う検証装置及び検証処理について説明する。
競合検証では、所定のシナリオを用いて検証対象１０を動作させ、それによって発生する競合をモニタし、上記のようなカバレッジ表３１〜３３に対応して所定の情報の記録を行う。ここで、発生する競合は、競合モニタを検証対象１０に接続してモニタする。
【００４４】
図９は競合モニタの接続例を示す図である。
ＡＸＩを採用した検証対象１０では、バス１１に接続される各々のマスターユニット１２及びスレーブユニット１３に、５つのチャネルが存在している。即ち、各マスターユニット１２（Ｍ１，Ｍ２，Ｍ３）には、ライトアドレスチャネル４１、ライトデータチャネル４２、ライト応答チャネル４３、リードアドレスチャネル４４、リードデータチャネル４５の５つのチャネルが存在している。各スレーブユニット１３（Ｓ１，Ｓ２，Ｓ３）にも同様に、ライトアドレスチャネル４１、ライトデータチャネル４２、ライト応答チャネル４３、リードアドレスチャネル４４、リードデータチャネル４５の５つのチャネルが存在している。
【００４５】
競合モニタ５０は、これらの各チャネル（ライトアドレスチャネル４１、ライトデータチャネル４２、ライト応答チャネル４３、リードアドレスチャネル４４、リードデータチャネル４５）に接続される。
【００４６】
競合モニタ５０は、バス１１を介して所定のマスターユニット１２とスレーブユニット１３を繋ぐ各チャネルをモニタし、ビジーからアイドルの状態に遷移した際、転送された転送信号のデータ種類を示す情報、ビジー期間を示す情報を取得する。更に、その際、競合モニタ５０は、転送信号に競合した可能性のある信号が転送されたチャネル（競合候補チャネル）を示す情報を取得する。更にまた、競合モニタ５０は、取得された競合候補チャネル等を示す情報に基づき、競合した信号が転送されたチャネル（競合相手チャネル）を決定する。
【００４７】
尚、検証対象１０及び競合モニタ５０は、例えば、ＲＴＬで作成することができる。
検証対象１０に競合モニタ５０を接続して行う競合検証には、例えば、図１０に示すような検証装置が用いられる。
【００４８】
図１０は検証装置の構成例を示す図である。
図１０に示す検証装置６０は、シナリオ７０、検証対象１０、競合モニタ５０、及び記録部８０を備える。
【００４９】
この検証装置６０で用いるシナリオ７０は、検証対象１０で競合が発生しないシナリオ７１と、検証対象１０で競合が発生するシナリオ７２とを含む。検証装置６０は、シナリオ７０を用いて検証対象１０を動作させる。検証対象１０には、競合モニタ５０が接続される。競合モニタ５０は、上記図９に示したように検証対象１０に接続され、バス１１を介して所定のマスターユニット１２とスレーブユニット１３を繋ぐ各チャネルをモニタする。
【００５０】
競合が発生しないシナリオ７１は、競合モニタ５０により、各チャネルを転送される信号のデータ種類を示す情報、最短ビジー期間を示す情報を取得する際に用いられる。尚、競合が発生しないシナリオ７１は、所定の１組のマスターユニット１２とスレーブユニット１３のみを動作させるシナリオであり、このシナリオ７１を用いた時に競合モニタ５０で取得されるビジー期間が、最短ビジー期間となる。競合が発生するシナリオ７２は、競合モニタ５０により、各チャネルを転送される信号のデータ種類を示す情報、ビジー期間を示す情報、競合候補チャネルを示す情報を取得する際に用いられる。
【００５１】
競合モニタ５０は、ステートマシン部５１、比較部５２、及びカバレッジチェック部５３を有している。
競合モニタ５０のステートマシン部５１は、データ種類取得部５１ａ、ビジー期間取得部５１ｂ、競合候補チャネル取得部５１ｃを有している。
【００５２】
データ種類取得部５１ａは、競合が発生しないシナリオ７１で検証対象１０が動作された際、各チャネルの転送信号のデータ種類を示す情報を取得する。データ種類取得部５１ａは、競合が発生するシナリオ７２で検証対象１０が動作された際も同様に、各チャネルの転送信号のデータ種類を示す情報を取得する。
【００５３】
ビジー期間取得部５１ｂは、競合が発生しないシナリオ７１で検証対象１０が動作された際、各チャネルの最短ビジー期間を示す情報を取得する。ビジー期間取得部５１ｂは、競合が発生するシナリオ７２で検証対象１０が動作された際は、各チャネルのビジー期間を示す情報を取得する。尚、ビジー期間取得部５１ｂは、各チャネルの最短ビジー期間及びビジー期間を、転送信号のデータ種類毎に、取得する。
【００５４】
競合候補チャネル取得部５１ｃは、競合が発生するシナリオ７２で検証対象１０が動作された際、各チャネルについて、転送信号のデータ種類毎に、その競合候補チャネルを示す情報を取得する。競合候補チャネル取得部５１ｃは、一のチャネルについて、そのビジー期間に少なくとも一部が重なるビジー期間のチャネル（１つ又は複数）を示す情報を、その一のチャネルの競合候補チャネルを示す情報として取得する。
【００５５】
比較部５２は、ビジー期間取得部５１ｂで取得された各チャネルのビジー期間と最短ビジー期間とを比較し、ビジー期間が最短ビジー期間よりも長いか否かを判定する。尚、一のチャネルについて、そのビジー期間が最短ビジー期間よりも長くなった場合、その一のチャネルの競合候補チャネルが、競合相手チャネルとして確定する。
【００５６】
カバレッジチェック部５３は、最短ビジー期間よりも長いビジー期間のチャネルとそのチャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせの情報、及び転送信号のデータ種類、並びに競合相手の情報を、記録部８０に記録する。
【００５７】
記録部８０は、データ種類データベース（ＤＢ）８１、最短ビジー期間ＤＢ８２、ビジー期間ＤＢ８３、競合候補チャネルＤＢ８４、比較結果ＤＢ８５、及びカバレッジ表ＤＢ８６を有している。
【００５８】
データ種類ＤＢ８１には、データ種類取得部５１ａで取得された、各チャネルの転送信号のデータ種類を示す情報が記録される。
最短ビジー期間ＤＢ８２には、ビジー期間取得部５１ｂで取得された、各チャネル（データ種類毎）の最短ビジー期間を示す情報が記録される。
【００５９】
ビジー期間ＤＢ８３には、ビジー期間取得部５１ｂで取得された、各チャネル（データ種類毎）のビジー期間を示す情報が記録される。
競合候補チャネルＤＢ８４には、競合候補チャネル取得部５１ｃで取得された、各チャネル（データ種類毎）の競合候補チャネルを示す情報が記録される。
【００６０】
比較結果ＤＢには、比較部５２でのビジー期間と最短ビジー期間の比較結果、即ちビジー期間が最短ビジー期間よりも長いチャネルを示す情報が記録される。
カバレッジ表ＤＢ８６には、例えば、上記図６〜８に示したようなレベル１〜３のカバレッジ表３１〜３３に対応する情報が記録される。競合モニタ５０では、ビジー期間が最短ビジー期間よりも長くなったチャネルとそのチャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせの情報、及び転送信号のデータ種類、並びに競合相手の情報が取得される。カバレッジチェック部５３は、これらの情報に基づき、カバレッジ表ＤＢ８６に、各カバレッジ表３１〜３３の各欄に対応する所定の情報を記録する。
【００６１】
カバレッジチェック部５３は、レベル３のカバレッジ表３３（図８）の各欄に対応する情報として、ビジー期間が最短ビジー期間よりも長くなったチャネル（着目チャネル）の転送信号のデータ種類を示す情報を記録する。カバレッジチェック部５３は、レベル２のカバレッジ表３２（図７）の各欄に対応する情報として、着目チャネルとその競合相手チャネルの組み合わせを示す情報を記録する。カバレッジチェック部５３は、レベル１のカバレッジ表３１（図６）の各欄に対応する情報として、着目チャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせと、競合相手チャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせを示す情報を記録する。
【００６２】
尚、記録部８０には、データ種類、ビジー期間及び競合候補チャネルを示す情報がまとめて記録されるＤＢを設けてもよい。
上記のような検証装置６０の処理機能は、コンピュータを用いて実現することができる。
【００６３】
図１１は検証装置に用いるコンピュータのハードウェハ構成例を示す図である。
検証装置６０に用いるコンピュータ１００は、プロセッサ１０１によって全体が制御される。プロセッサ１０１には、バス１０９を介してＲＡＭ（Random Access Memory）１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、又はＰＬＤ（Programmable Logic Device）である。またプロセッサ１０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００６４】
ＲＡＭ１０２は、コンピュータ１００の主記憶装置として使用される。ＲＡＭ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、プロセッサ１０１による処理に必要な各種データ（上記の記録部８０に記録される情報等）が格納される。
【００６５】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７、及びネットワークインタフェース１０８がある。
【００６６】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ１０３は、コンピュータ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。尚、補助記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００６７】
グラフィック処理装置１０４には、表示装置１０４ａが接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像を表示装置１０４ａの画面に表示させる。表示装置１０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置、液晶表示装置等がある。
【００６８】
入力インタフェース１０５には、キーボード１０５ａとマウス１０５ｂが接続されている。入力インタフェース１０５は、キーボード１０５ａやマウス１０５ｂから送られてくる信号をプロセッサ１０１に送信する。尚、マウス１０５ｂは、ポインティングデバイスの一例であり、タッチパネル、タブレット、タッチパッド、トラックボール等の他のポインティングデバイスを使用することもできる。
【００６９】
光学ドライブ装置１０６は、レーザ光等を利用して、光ディスク１０６ａに記録されたデータの読み取りを行う。光ディスク１０６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク１０６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。
【００７０】
機器接続インタフェース１０７は、コンピュータ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置１０７ａやメモリリーダライタ１０７ｂを接続することができる。メモリ装置１０７ａは、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ１０７ｂは、メモリカード１０７ｂｂへのデータの書き込み、又はメモリカード１０７ｂｂからのデータの読み出しを行う装置である。メモリカード１０７ｂｂは、カード型の記録媒体である。
【００７１】
ネットワークインタフェース１０８は、ネットワーク１１０に接続されている。ネットワークインタフェース１０８は、ネットワーク１１０を介して、他のコンピュータ又は通信機器との間でデータの送受信を行う。
【００７２】
上記のようなハードウェア構成によって、検証装置６０の処理機能を実現することができる。
コンピュータ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、検証装置６０の処理機能を実現する。コンピュータ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。また、コンピュータ１００に実行させるプログラムを、光ディスク１０６ａ、メモリ装置１０７ａ、メモリカード１０７ｂｂ等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００７３】
競合検証の際には、コンピュータ１００のＨＤＤ１０３に、ＲＴＬの検証対象１０及び競合モニタ５０、並びにシナリオ７０（７１，７２）等が格納される。ＨＤＤ１０３には、例えば、論理シミュレータが格納される。この場合、検証装置６０では、コンピュータ１００により、ＨＤＤ１０３に格納されたシナリオ７０、検証対象１０及び競合モニタ５０の情報が用いられて、検証対象１０の論理シミュレーションが実行される。
【００７４】
また、検証装置６０は、ＲＴＬの検証対象１０、又は検証対象１０と競合モニタ５０を、ＦＰＧＡ（Field Programable Gate Array）に展開した論理エミュレータを備えてもよい。この場合、検証装置６０では、例えば、コンピュータ１００のＨＤＤ１０３に格納された命令セットシミュレータが用いられて、検証対象１０の論理エミュレーションが実行される。
【００７５】
続いて、以上述べたような構成を有する検証装置６０の処理フローについて説明する。
図１２は検証装置の処理フローの一例を示す図である。
検証装置６０は、例えば、まず競合しないシナリオ７１を用いて、検証対象１０を動作させ、競合モニタ５０で各チャネルをモニタする。ここで、競合しないシナリオ７１とは、検証対象１０において、複数のマスターユニット１２と複数のスレーブユニット１３の組み合わせのうち、１つの組み合わせのみを単独で動作させるシナリオであり、上述した各競合が発生しないシナリオである。検証装置６０は、競合モニタ５０のデータ種類取得部５１ａにより、検証対象１０の各チャネルを転送された信号のデータ種類を示す情報を取得し（ステップＳ１）、ビジー期間取得部５１ｂにより、各チャネルの最短ビジー期間を示す情報を取得する（ステップＳ２）。取得されたデータ種類及び最短ビジー期間を示す情報は、最短ビジー期間ＤＢ８２に記録される。
【００７６】
次いで、検証装置６０は、競合するシナリオ７２を用いて、検証対象１０を動作させ、競合モニタで各チャネルをモニタする。ここで、競合するシナリオ７２とは、検証対象１０となる集積回路等が所望の機能を達成するように、検証対象１０において複数のマスターユニット１２と複数のスレーブユニット１３の組み合わせをそれぞれ動作させるシナリオであり、上述した各競合の発生が想定されるシナリオである。検証装置６０は、データ種類取得部５１ａにより、検証対象１０の各チャネルを転送された信号のデータ種類を示す情報を取得し（ステップＳ３）、ビジー期間取得部５１ｂにより、各チャネルのビジー期間を示す情報を取得する（ステップＳ４）。更に、検証装置６０は、競合候補チャネル取得部５１ｃにより、各チャネルについて、そのビジー期間に少なくとも一部が重なるビジー期間の競合候補チャネルを示す情報を取得する（ステップＳ５）。取得された各チャネルのデータ種類を示す情報は、データ種類ＤＢ８１に記録される。取得された各チャネルのビジー期間を示す情報は、ビジー期間ＤＢ８３に記録される。取得された各チャネルの競合候補チャネルを示す情報（チャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせを示す情報を含む）は、競合候補チャネルＤＢ８４に記録される。
【００７７】
次いで、検証装置６０は、比較部５２により、各チャネルについて、ステップＳ４で取得されたビジー期間とステップＳ２で取得された最短ビジー期間とを比較する（ステップＳ６）。ビジー期間が最短ビジー期間よりも長いチャネルを示す情報は、比較結果ＤＢ８５に記録される。
【００７８】
更に、検証装置６０は、カバレッジチェック部５３により、ステップＳ３で取得されたデータ種類、ステップＳ５で取得された競合候補チャネル、ステップＳ６で取得された比較結果を示す情報を用いて、カバレッジ表ＤＢ８６への記録（カバレッジチェック）を行う（ステップＳ７）。
【００７９】
カバレッジチェック部５３は、レベル３のカバレッジ表３３に対応する情報として、ビジー期間が最短ビジー期間よりも長いチャネル（着目チャネル）を転送された信号のデータ種類を示す情報を、カバレッジ表ＤＢ８６に記録する。カバレッジチェック部５３は、レベル２のカバレッジ表３２に対応する情報として、着目チャネルとその競合相手チャネル（着目チャネルの競合候補チャネル）の組み合わせを示す情報を、カバレッジ表ＤＢ８６に記録する。カバレッジチェック部５３は、レベル１のカバレッジ表３１に対応する情報として、着目チャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせと、競合相手チャネルで繋がるマスターユニット１２とスレーブユニット１３の組み合わせを示す情報を、カバレッジ表ＤＢ８６に記録する。カバレッジチェック部５３は、このようにして上記のレベル１〜３のカバレッジ表３１〜３３に対応する情報を、カバレッジ表ＤＢ８６に記録する。
【００８０】
続いて、上記の検証装置６０を用いた競合検証手法について、より具体的に説明する。
図１３は競合検証手法の一例の説明図である。
検証装置６０では、検証対象１０に競合モニタ５０が接続され（図９及び図１０）、各チャネル（ライトアドレスチャネル４１、ライトデータチャネル４２、ライト応答チャネル４３、リードアドレスチャネル４４、リードデータチャネル４５）がモニタされる。検証装置６０では、競合しないシナリオ７１が用いられて検証対象１０が動作され、競合モニタ５０のステートマシン部５１により、各チャネルのデータ種類を示す情報、最短ビジー期間を示す情報が取得され、それらの情報が最短ビジー期間ＤＢ８２に記録される。最短ビジー期間ＤＢ８２の一例を図１４に示す。
【００８１】
最短ビジー期間ＤＢ８２には、マスターユニットＭ１，Ｍ２，Ｍ３（１２）とスレーブユニットＳ１，Ｓ２，Ｓ３（１３）の各組み合わせのライトアドレスチャネル４１、リードアドレスチャネル４４及びライト応答チャネル４３についてそれぞれ、最短ビジー期間を示す情報が記録される。マスターユニットＭ１，Ｍ２，Ｍ３とスレーブユニットＳ１，Ｓ２，Ｓ３の各組み合わせのライトデータチャネル４２及びリードデータチャネル４５については、データ種類毎の最短ビジー期間を示す情報が記録される。図１４の例では、各組み合わせのライトデータチャネル４２及びリードデータチャネル４５についてそれぞれ、ＡＸＩを採用した場合におけるバースト転送の、データ種類毎の最短ビジー期間を示す情報が記録される。
【００８２】
競合モニタ５０のステートマシン部５１によって取得された、検証対象１０の各チャネルの最短ビジー期間を示す情報、又は、データ種類及び最短ビジー期間を示す情報が、このような最短ビジー期間ＤＢ８２に記録される。
【００８３】
検証装置６０では、競合するシナリオ７１が用いられて検証対象１０が動作され、競合モニタ５０のステートマシン部５１により、各チャネルのデータ種類（ライト及びリードデータの場合）、ビジー期間及び競合候補チャネルを示す情報が取得される。取得された情報は、記録部８０のデータベース（ＤＢ）８０ａに記録される。ＤＢの一例を図１５に示す。
【００８４】
ＤＢ８０ａには、マスターユニットＭ１，Ｍ２，Ｍ３とスレーブユニットＳ１，Ｓ２，Ｓ３の各組み合わせのライトアドレスチャネル４１、リードアドレスチャネル４４及びライト応答チャネル４３についてそれぞれ、ビジー期間及び競合候補チャネルを示す情報が記録される。マスターユニットＭ１，Ｍ２，Ｍ３とスレーブユニットＳ１，Ｓ２，Ｓ３の各組み合わせのライトデータチャネル４２及びリードデータチャネル４５については、データ種類毎に、そのデータ種類、ビジー期間及び競合候補チャネルを示す情報が記録される。
【００８５】
競合モニタ５０のステートマシン部５１によって取得された、検証対象１０の各チャネルのビジー期間及び競合候補チャネルを示す情報、又は、データ種類、ビジー期間及び競合候補チャネルを示す情報が、このようなＤＢ８０ａに記録される。
【００８６】
ここで、検証対象１０の各チャネルをモニタする競合モニタ５０は、チャネルがビジーからアイドルの状態に遷移した時に、上記のデータ種類（ライト及びリードデータの場合）、最短ビジー期間又はビジー期間、競合候補チャネルを示す情報を取得する。競合モニタによる情報取得について、図１６〜図２１を参照して説明する。
【００８７】
マスターユニット１２（Ｍ１，Ｍ２，Ｍ３）とスレーブユニット１３（Ｓ１，Ｓ２，Ｓ３）の間の信号転送時には、図１６（Ａ）及び図１６（Ｂ）に示すように、マスターユニット１２とバス１１の間、バス１１とスレーブユニット１３の間で、ＶＡＬＩＤ及びＲＥＡＤＹの信号が遣り取りされる。
【００８８】
尚、図１６（Ａ）に示すＶＡＬＩＤ＜Ｍ＞は、マスターユニット１２がバス１１に出す要求信号であり、ＲＥＡＤＹ＜Ｍ＞は、バス１１がマスターユニット１２に出す許可信号である。ＶＡＬＩＤ＜Ｓ＞は、バス１１がスレーブユニット１３に出す要求信号であり、ＲＥＡＤＹ＜Ｓ＞は、スレーブユニット１３がバス１１に出す許可信号である。ライトアドレス、ライトデータ及びリードアドレスの転送時にこのような信号の遣り取りが行われる。
【００８９】
また、図１６（Ｂ）に示すＶＡＬＩＤ＜Ｓ＞は、スレーブユニット１３がバス１１に出す要求信号であり、ＲＥＡＤＹ＜Ｓ＞は、バス１１がスレーブユニット１３に出す許可信号である。ＶＡＬＩＤ＜Ｍ＞は、バス１１がマスターユニット１２に出す要求信号であり、ＲＥＡＤＹ＜Ｍ＞は、マスターユニット１２がバス１１に出す許可信号である。ライト応答及びリードデータの転送時にこのような信号の遣り取りが行われる。
【００９０】
競合モニタ５０は、このようなＶＡＬＩＤ、ＲＥＡＤＹの信号を用いて、各チャネルがビジー（ＢＵＳＹ）の状態かアイドル（ＩＤＬＥ）の状態かを判別する。
図１７（Ａ）はライトアドレスチャネルのステートマシンの一例を示す図、図１７（Ｂ）はライトアドレスチャネルの信号波形の一例を示す図である。
【００９１】
或るマスターユニット１２とスレーブユニット１３を繋ぐライトアドレスチャネル４１では、例えば、図１７（Ａ）のようなステートマシン９０、及び図１７（Ｂ）のような信号波形となる。ライトアドレスチャネル４１では、マスターユニット１２からＶＡＬＩＤ＜Ｍ＞が出され、バス１１からＲＥＡＤＹ＜Ｍ＞が出された後、バス１１からＶＡＬＩＤ＜Ｓ＞が出され、スレーブユニット１３からＲＥＡＤＹ＜Ｓ＞が出される。マスターユニット１２からのライトアドレスの信号は、バス１１からマスターユニット１２にＲＥＡＤＹ＜Ｍ＞が出されることで転送が開始され、スレーブユニット１３からバス１１にＲＥＡＤＹ＜Ｓ＞が出されることで、スレーブユニット１３で受け取られる。
【００９２】
ライトアドレスチャネル４１は、ＲＥＡＤＹ＜Ｍ＞が出されてからＲＥＡＤＹ＜Ｓ＞が出されるまでの期間、ビジー状態であり、その期間がビジー期間Ｔとなる。
図１８（Ａ）はライトデータチャネルのステートマシンの一例を示す図、図１８（Ｂ）はライトデータチャネルの信号波形の一例を示す図である。
【００９３】
或るマスターユニット１２とスレーブユニット１３を繋ぐライトデータチャネル４２では、例えば、図１８（Ａ）のようなステートマシン９０、及び図１８（Ｂ）のような信号波形となる。ライトデータチャネル４２では、マスターユニット１２からＶＡＬＩＤ＜Ｍ＞が出され、バス１１からＲＥＡＤＹ＜Ｍ＞が出されて、ライトデータ（図１８（Ｂ）の例ではＤ１，Ｄ２，Ｄ３，Ｄ４の４転送のＤＡＴＡ＜Ｍ＞）の転送が開始される。マスターユニット１２からは、ライトデータの最後尾Ｄ４を示す信号ＬＡＳＴ＜Ｍ＞が併せて転送される。
【００９４】
そして、バス１１からＶＡＬＩＤ＜Ｓ＞が出され、スレーブユニット１３からＲＥＡＤＹ＜Ｓ＞が出されて、スレーブユニット１３にライトデータ（図１８（Ｂ）の例ではＤ１，Ｄ２，Ｄ３，Ｄ４の４転送のＤＡＴＡ＜Ｓ＞）が転送される。スレーブユニット１３には、ライトデータの最後尾Ｄ４を示す信号ＬＡＳＴ＜Ｓ＞が併せて転送される。
【００９５】
ライトデータチャネル４２は、マスターユニット１２から１転送目のライトデータＤ１の転送が開始されてから、スレーブユニット１３で最後尾のライトデータＤ４が受け取られるまでの期間、ビジー状態であり、その期間がビジー期間Ｔとなる。
【００９６】
図１９（Ａ）はライト応答チャネルのステートマシンの一例を示す図、図１９（Ｂ）はライト応答チャネルの信号波形の一例を示す図である。
或るマスターユニット１２とスレーブユニット１３を繋ぐライト応答チャネル４３では、例えば、図１９（Ａ）のようなステートマシン９０、及び図１９（Ｂ）のような信号波形となる。ライト応答チャネル４３では、スレーブユニット１３からＶＡＬＩＤ＜Ｓ＞が出され、バス１１からＲＥＡＤＹ＜Ｓ＞が出された後、バス１１からＶＡＬＩＤ＜Ｍ＞が出され、マスターユニット１２からＲＥＡＤＹ＜Ｍ＞が出される。スレーブユニット１３からのライト応答の信号は、バス１１からスレーブユニット１３にＲＥＡＤＹ＜Ｓ＞が出されることで転送が開始され、マスターユニット１２からバス１１にＲＥＡＤＹ＜Ｍ＞が出されることで、マスターユニット１２で受け取られる。
【００９７】
ライト応答チャネル４３は、ＲＥＡＤＹ＜Ｓ＞が出されてからＲＥＡＤＹ＜Ｍ＞が出されるまでの期間、ビジー状態であり、その期間がビジー期間Ｔとなる。
図２０（Ａ）はリードアドレスチャネルのステートマシンの一例を示す図、図２０（Ｂ）はリードアドレスチャネルの信号波形の一例を示す図である。
【００９８】
或るマスターユニット１２とスレーブユニット１３を繋ぐリードアドレスチャネル４４では、例えば、図２０（Ａ）のようなステートマシン９０、及び図２０（Ｂ）のような信号波形となる。リードアドレスチャネル４４では、マスターユニット１２からＶＡＬＩＤ＜Ｍ＞が出され、バス１１からＲＥＡＤＹ＜Ｍ＞が出された後、バス１１からＶＡＬＩＤ＜Ｓ＞が出され、スレーブユニット１３からＲＥＡＤＹ＜Ｓ＞が出される。マスターユニット１２からのリードアドレスの信号は、バス１１からマスターユニット１２にＲＥＡＤＹ＜Ｍ＞が出されることで転送が開始され、スレーブユニット１３からバス１１にＲＥＡＤＹ＜Ｓ＞が出されることで、スレーブユニット１３で受け取られる。
【００９９】
リードアドレスチャネル４４は、ＲＥＡＤＹ＜Ｍ＞が出されてからＲＥＡＤＹ＜Ｓ＞が出されるまでの期間、ビジー状態であり、その期間がビジー期間Ｔとなる。
図２１（Ａ）はリードデータチャネルのステートマシンの一例を示す図、図２１（Ｂ）はリードデータチャネルの信号波形の一例を示す図である。
【０１００】
或るマスターユニット１２とスレーブユニット１３を繋ぐリードデータチャネル４５では、例えば、図２１（Ａ）のようなステートマシン９０、及び図２１（Ｂ）のような信号波形となる。リードデータチャネル４５では、スレーブユニット１３からＶＡＬＩＤ＜Ｓ＞が出され、バス１１からＲＥＡＤＹ＜Ｓ＞が出されて、リードデータ（図２１（Ｂ）の例ではＤ１，Ｄ２，Ｄ３，Ｄ４の４転送のＤＡＴＡ＜Ｓ＞）の転送が開始される。スレーブユニット１３からは、リードデータの最後尾Ｄ４を示す信号ＬＡＳＴ＜Ｓ＞が併せて転送される。
【０１０１】
そして、バス１１からＶＡＬＩＤ＜Ｍ＞が出され、マスターユニット１２からＲＥＡＤＹ＜Ｍ＞が出されて、マスターユニット１２にリードデータ（図２１（Ｂ）の例ではＤ１，Ｄ２，Ｄ３，Ｄ４の４転送のＤＡＴＡ＜Ｍ＞）が転送される。マスターユニット１２には、リードデータの最後尾Ｄ４を示す信号ＬＡＳＴ＜Ｍ＞が併せて転送される。
【０１０２】
リードデータチャネル４５は、スレーブユニット１３から１転送目のリードデータＤ１の転送が開始されてから、マスターユニット１２で最後尾のリードデータＤ４が受け取られるまでの期間、ビジー状態であり、その期間がビジー期間Ｔとなる。
【０１０３】
競合モニタ５０は、図１３に示したように、モニタする各チャネルについて、ステートマシン９０のビジー（ＢＵＳＹ）からアイドル（ＩＤＬＥ）への遷移時に、転送された信号の各種情報を取得する。即ち、競合モニタ５０が、ステートマシン部５１により、データ種類（ライト及びリードデータの場合）、ビジー期間及び競合候補チャネルを示す情報を取得する。そして、競合モニタ５０は、取得されたこれらの情報を、ＤＢ８０ａ（図１３及び図１５）に記録する。同様に、競合モニタ５０は、各チャネルについて、ステートマシン９０のビジーからアイドルへの遷移時に、転送された信号のデータ種類、最短ビジー期間を示す情報を取得し、最短ビジー期間ＤＢ８２（図１３及び図１４）に記録している。
【０１０４】
競合モニタ５０は、一のチャネルのビジー期間に少なくとも一部が重なるビジー期間のチャネルを、その一のチャネルの競合候補チャネルとする。
図２２は競合候補チャネルの説明図である。
【０１０５】
今、マスターユニット１２とスレーブユニット１３の組み合わせとしてＭ１−Ｓ１を考え、そのライトデータチャネル４２に着目する。図２２には、このＭ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１を模式的に図示している。図２２には、Ｍ３−Ｓ２のリードアドレスチャネル４４のビジー期間Ｔａ、Ｍ３−Ｓ１のリードデータチャネル４５のビジー期間Ｔｂ、Ｍ２−Ｓ２のライトアドレスチャネル４１のビジー期間Ｔｃを、併せて模式的に図示している。
【０１０６】
この図２２の例では、Ｍ３−Ｓ１のリードデータチャネル４５のビジー期間Ｔｂが、着目するＭ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１に部分的に重なる。このような場合、Ｍ３−Ｓ１のリードデータチャネル４５が、着目するＭ１−Ｓ１のライトデータチャネル４２の競合候補チャネルとなる。
【０１０７】
図２２に示したＭ３−Ｓ２のリードアドレスチャネル４４、Ｍ２−Ｓ２のライトアドレスチャネル４１は、それらのビジー期間Ｔａ，Ｔｃが、着目するＭ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１と重ならないため、競合候補チャネルとはならない。
【０１０８】
競合モニタ５０は、ステートマシン部５１の競合候補チャネル取得部５１ｃにより、各チャネル（ライト及びリードデータの場合はその種類毎）について、着目チャネルのビジー期間に少なくとも一部が重なるビジー期間となるチャネルを競合候補チャネルとする。そして、競合モニタ５０は、その競合候補チャネルの情報をＤＢ８０ａに記録する。
【０１０９】
検証装置６０では、以上のようにして競合モニタ５０のステートマシン部５１で各種情報が取得され、それらが記録された最短ビジー期間ＤＢ８２、ＤＢ８０ａが得られた後に、比較部５２での処理が行われる。比較部５２では、ステートマシン部５１で取得された情報のうち、ＤＢ８０ａに記録された各チャネルのビジー期間を、最短ビジー期間ＤＢ８２に記録された最短ビジー期間と比較する処理が行われる。
【０１１０】
例えば、競合モニタ５０は、ステートマシン部５１により、図１３に示したようなＭ１−Ｓ１のライトデータチャネル４２のステートマシン９０における、ビジーからアイドルへの遷移時に、転送されたライトデータのデータ種類及びビジー期間を示す情報を取得する。その際、競合モニタ５０は、ステートマシン部５１により、競合候補チャネルを示す情報も取得する。競合モニタ５０は、取得した情報をＤＢ８０ａに記録する。ここでは一例として、Ｍ１−Ｓ１のライトデータチャネル４２のデータ種類がＩＮＣＲ／８ｂｙｔｅ／４転送、ビジー期間が２０サイクル、競合候補チャネルがＭ３−Ｓ１のリードデータチャネル４５（図２２）である場合の情報８０ａａを例示している。尚、ＤＢ８０ａには、このような情報が、マスターユニット数×スレーブユニット数×チャネル数×データ種類だけ含まれている。
【０１１１】
最短ビジー期間ＤＢ８２には、図１３に示したように、ＤＢ８０ａの情報８０ａａに対応する、Ｍ１−Ｓ１のライトデータチャネル４２のデータ種類がＩＮＣＲ／８ｂｙｔｅ／４転送である場合の最短ビジー期間が記録されている。ここでは一例として、その最短ビジー期間が１６サイクルである情報８２ａａを例示している。尚、最短ビジー期間ＤＢ８２には、このような情報が、マスターユニット数×スレーブユニット数×チャネル数×データ種類だけ含まれている。
【０１１２】
競合モニタ５０は、比較部５２により、Ｍ１−Ｓ１のライトデータチャネル４２について、ＤＢ８０ａに含まれる情報８０ａａのビジー期間を、最短ビジー期間ＤＢ８２に含まれる情報８２ａａの最短ビジー期間と比較する。この図１３の例では、ビジー期間が２０サイクルで、最短ビジー期間が１６サイクルであるため、競合モニタ５０は、比較部５２により、ビジー期間が最短ビジー期間よりも長いと判定する。競合モニタ５０が、このようにビジー期間が最短ビジー期間よりも長いと判定した場合、Ｍ１−Ｓ１のライトデータチャネル４２の競合候補チャネルであったＭ３−Ｓ１のリードデータチャネル４５は、競合相手チャネルとなる。
【０１１３】
図２３は競合相手チャネルの説明図である。
図２３には、Ｍ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１及び最短ビジー期間Ｔ０、並びにＭ３−Ｓ１のリードデータチャネル４５のビジー期間Ｔｂを模式的に図示している。Ｍ３−Ｓ１のリードデータチャネル４５のビジー期間Ｔｂは、Ｍ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１に部分的に重なっている。
【０１１４】
図２３に示すように、Ｍ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１は、最短ビジー期間Ｔ０よりも長くなっている。上記のように、競合モニタ５０が、ビジー期間Ｔ１と最短ビジー期間Ｔ０を比較し、ビジー期間Ｔ１が最短ビジー期間Ｔ０よりも長いと判定した場合、ここではＭ１−Ｓ１のライトデータチャネル４２に競合が発生したとされる。上記図１３の例では、この競合の候補を、Ｍ３−Ｓ１のリードデータチャネル４５としている（図２２）。競合候補チャネルのＭ３−Ｓ１のリードデータチャネル４５は、競合モニタ５０でＭ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１が最短ビジー期間Ｔ０よりも長いと判定された場合、Ｍ１−Ｓ１のライトデータチャネル４２の競合相手チャネルとなる。
【０１１５】
尚、図２３には、Ｍ３−Ｓ２のリードアドレスチャネル４４のビジー期間Ｔａ、Ｍ２−Ｓ２のライトアドレスチャネル４１のビジー期間Ｔｃを併せて模式的に図示している。これらのビジー期間Ｔａ，Ｔｃは、Ｍ１−Ｓ１のライトデータチャネル４２のビジー期間Ｔ１とは重ならないため、競合候補チャネルとはならず、競合相手チャネルともならない。
【０１１６】
図１３に例示したように、Ｍ１−Ｓ１のライトデータチャネル４２のビジー期間が最短ビジー期間よりも長いと判定した場合、競合モニタ５０は、カバレッジチェック部５３により、記録部８０のカバレッジ表ＤＢ８６に記録を行う。例えば、ＤＢ８０ａに含まれる情報群から、ビジー期間が最短ビジー期間よりも長くなる情報（上記の情報８０ａａ等）を抽出し、カバレッジ表ＤＢ８６に記録する。
【０１１７】
この図１３の例では、レベル１のカバレッジ表３１（図６）に対応する情報として、着目するＭ１−Ｓ１の組み合わせを示す情報と、その競合相手であるＭ３−Ｓ１の組み合わせを示す情報とが、関連付けられて記録される。レベル２のカバレッジ表３２（図７）に対応する情報として、ライトデータチャネル４２を示す情報と、リードデータチャネル４５を示す情報とが、関連付けられて記録される。レベル３のカバレッジ表３３（図８）に対応する情報として、ＩＮＣＲ／８ｂｙｔｅ／４転送を示す情報が記録される。
【０１１８】
検証装置６０は、カバレッジ表ＤＢ８６に記録された情報に基づき、レベル１〜３のカバレッジ表３１〜３３を生成し、検証装置６０が備える表示装置１０４ａ等に出力する。
図２４〜図２７はカバレッジ表の出力例を示す図である。
【０１１９】
図１３の例の場合、例えば、レベル１〜３のカバレッジ表３１〜３３として、図２４に例示するようなカバレッジ表３１〜３３が出力される。
例えば、レベル１のカバレッジ表３１として、カバレッジ表ＤＢ８６に関連付けられて記録された情報に基づき、着目する組み合わせがＭ１−Ｓ１でその競合相手の組み合わせがＭ３−Ｓ１である欄にマーク３１Ａが付与されたカバレッジ表３１が出力される。レベル２のカバレッジ表３２として、カバレッジ表ＤＢ８６に関連付けられて記録された情報に基づき、着目チャネルがライトデータチャネル４２でその競合チャネルがリードデータチャネル４５である欄にマーク３２Ａが付与されたカバレッジ表３２が出力される。レベル３のカバレッジ表３３として、カバレッジ表ＤＢ８６に記録された情報に基づき、データ種類がＩＮＣＲ／８ｂｙｔｅ／４転送である欄にマーク３３Ａが付与されたカバレッジ表３３が出力される。
【０１２０】
レベル１〜３のカバレッジ表３１〜３３の各欄について、マーク３１Ａ，３２Ａ，３３Ａが付与されているか否かにより、競合が発生する条件で検証が行われたか否かを評価することが可能になる。
【０１２１】
ここで、マーク３１Ａ，３２Ａ，３３Ａの付与方法の一例について述べる。
例えば、レベル３のカバレッジ表３３の欄に付与するマーク３３Ａは、図２４に示したように、黒丸（●）印とする。
【０１２２】
レベル２のカバレッジ表３２の欄に付与するマーク３２Ａは、図２４に示したように、その欄に対応する、最下層のレベル３のカバレッジ表３３に設定されている全てのデータ種類について検証が行われるまでは白丸（○）印を付与する。そして、最下層のレベル３のカバレッジ表３３に設定されている全てのデータ種類について検証が行われた時には、図２５に示すように、レベル２のカバレッジ表３２の欄にマーク３２Ａとして●印を付与する。
【０１２３】
また、レベル１のカバレッジ表３１の欄に付与するマーク３１Ａは、図２４に示したように、その欄に対応する、より下層のレベル２のカバレッジ表３２に設定されている全てのチャネル組み合わせについて検証が行われるまでは○印を付与する。そして、下層のレベル２のカバレッジ表３２に設定されている全てのチャネル組み合わせについて検証が行われた時には、図２６に示すように、レベル１のカバレッジ表３１の欄にマーク３１Ａとして●印を付与する。
【０１２４】
このようにマーク３１Ａ，３２Ａ，３３Ａを付与することで、レベル１〜３のカバレッジ表３１〜３３からそれぞれ、検証対象１０の競合検証に用いたシナリオ７２でどれだけの競合を発生させて検証が行われたのか、その検証の網羅性を評価することが可能になる。また、このようにマーク３１Ａ，３２Ａ，３３Ａを付与することで、レベル１〜３のカバレッジ表３１〜３３からそれぞれ、検証対象１０で起こり得る競合のうち、どれだけの競合を発生させて検証が行われたのか、その検証の網羅性を評価することが可能になる。上記の例では、検証対象１０で起こり得る全ての競合が検証された場合、図２７に示すように、レベル１のカバレッジ表３１に設定されている全ての欄に●印が付与されるようになる。
【０１２５】
様々なシナリオ７２（データ種類、競合するチャネル組み合わせ、マスターユニット１２とスレーブユニット１３の組み合わせ、信号の転送タイミング等を変更したシナリオ）を用いて競合検証を行うことで、検証対象１０に対して網羅的な競合検証が実施できる。
【０１２６】
検証装置６０では、このようなカバレッジ表３１〜３３を生成、出力できるように、各種情報が記録部８０のカバレッジ表ＤＢ８６に記録される。
上記図２４〜図２７に示したようなカバレッジ表３１〜３３は、例えば、検証装置６０が備える表示装置１０４ａに表示させることができる。尚、カバレッジ表３１〜３３は、カバレッジ表３１〜３３のうちの複数をまとめて表示させたり、カバレッジ表３１〜３３のうちのいずれかを個別に表示させたりすることができる。
【０１２７】
尚、上記の競合検証手法（図１３）の説明では、Ｍ１−Ｓ１のライトデータチャネル４２の競合候補チャネル及び競合相手チャネルがＭ３−Ｓ１のリードデータチャネル４５のみである場合（図２２及び図２３）を例示した。競合候補チャネル及び競合相手チャネルが複数存在する場合には、例えば、それぞれについてレベル１〜３のカバレッジ表３１〜３３の該当欄にマーク３１Ａ，３２Ａ，３３Ａが付与されるように、カバレッジ表ＤＢ８６への記録を行う。或いは、１つの競合候補チャネル及び競合相手チャネルが存在する場合のみ、その着目チャネルについてカバレッジ表ＤＢ８６への記録を行い、複数の競合候補チャネル及び競合相手チャネルが存在する場合には、カバレッジ表ＤＢ８６への記録を行わないようにする。或いはまた、競合候補チャネル及び競合相手チャネルが複数生じないように、予めシナリオ７２の作成を行うようにする。
【０１２８】
また、上記の競合検証手法の説明では、検証対象１０のバス１１のプロトコルとしてＡＸＩを採用した場合を例示した。上記の競合検証手法は、このほか、バス１１にＡＨＢ（Advanced High-performance Bus）、ＡＰＢ（Advanced Peripheral Bus）等の他のプロトコルを採用した検証対象１０を用いる場合にも、同様に適用可能である。
【０１２９】
図２８は競合検証手法の適用例を示す図である。
この図２８に示すような構成を有する検証対象１０ａに上記のような競合モニタ５０を接続し、上記のような競合検証を実施することもできる。
【０１３０】
図２８に示す検証対象１０ａは、ＡＸＩ、ＡＨＢ、ＡＰＢを採用したバス１１ｂ、及びＡＨＢを採用したバス１１ｃを有し、それらに各種ユニットが接続されている。ここではバス１１ｂ，１１ｃに接続されるユニットとして、ＣＰＵ１５ａ、ＳＲＡＭ１５ｂ、ＳＤＲＡＭ１５ｃ、ＤＭＡＣ１５ｄ、ＮＦ１５ｅ、ＲＥＧ（REGister）１５ｆ、ＵＳＢ（Universal Serial Bus）１５ｇ、ＭＳ（Memory Stick）１５ｈ、ＳＤ（Secure Digital memory card）１５ｉを例示している。
【０１３１】
バス１１ｂ，１１ｃと各ユニットの間を繋ぐ、図２８に示した矢印の向きは、マスターユニットからスレーブユニットへの信号転送の向きを表している。ここで、図２８に示した実線の矢印はＡＸＩを介した信号転送の向きを、点線の矢印はＡＨＢを介した信号転送の向きを、鎖線の矢印はＡＰＢを介した信号転送の向きを、それぞれ表している。
【０１３２】
バス１１ｂ，１１ｃと各ユニットの間（ポイント１６）にそれぞれ競合モニタ５０が接続され、転送信号がモニタされる。このようにＡＸＩ、ＡＨＢ、ＡＰＢといった複数のプロトコルを採用した検証対象１０ａに対しても、上記のような競合検証手法を用いることが可能である。
【０１３３】
以上説明したように、この競合検証手法では、マスターユニットとスレーブユニットの間を信号が転送される際のビジー期間を用い、ビジー期間が最短ビジー期間よりも長くなった場合、競合が発生したと判定する。これにより、検証対象内の競合の発生を明確に検証することができる。
【０１３４】
また、この競合検証手法では、競合が発生したマスターユニットとスレーブユニットの組み合わせに関する情報を示すカバレッジ表又はそのＤＢから、どれだけの競合が検証されたのかを明確にすることができる。更に、マスターユニットとスレーブユニットの組み合わせに加え、競合が発生したチャネルの組み合わせ、チャネルを転送された信号のデータ種類に関する情報をカバレッジ表又はＤＢに記録することで、発生した競合について、より詳細な情報が得られる。
【０１３５】
この競合検証手法では、カバレッジ表又はそのＤＢから、検証対象にどれだけ競合を発生させて検証したのか、どの部分で競合を発生させて検証したのか、といった点を明確にし、検証の重複や漏れの発生を抑えて、網羅的な競合検証を実施することができる。或いは、カバレッジ表又はそのＤＢから、検証対象の検証に用いたシナリオでどれだけ競合を発生させて検証することができたのか、行ったその競合検証の網羅性を評価することができる。この競合検証手法によれば、競合検証の検証精度の向上、検証期間の短縮、検証コストの低減を図ることができる。
【０１３６】
また、この競合検証手法では、検証対象のマスターユニット及びスレーブユニットとバスとの間のチャネルに競合モニタを接続し、ビジー期間に基づき競合検証を行う。そのため、様々な構成のバスを備える検証対象について、競合検証を行うことができる。たとえ検証対象のバスの構成が不明であっても、競合モニタを用い、競合検証を行うことができる。
【符号の説明】
【０１３７】
１０，１０ａ  検証対象
１１，１１ｂ，１１ｃ，１０９  バス
１１ａ  スイッチ
１２，Ｍ１，Ｍ２，Ｍ３  マスターユニット
１３，Ｓ１，Ｓ２，Ｓ３  スレーブユニット
１５ａ  ＣＰＵ
１５ｂ  ＳＲＡＭ
１５ｃ  ＳＤＲＡＭ
１５ｄ  ＤＭＡＣ
１５ｅ  ＮＦ
１５ｆ  ＲＥＧ
１５ｇ  ＵＳＢ
１５ｈ  ＭＳ
１５ｉ  ＳＤ
１６  ポイント
２１，２１ａ，２１ｄ，２２，２３，２３ａ，２３ｂ，２３ｃ，２３ｄ  転送経路
３１，３２，３３  カバレッジ表
３１ａ，３１ｂ，３１ｃ，３２ａ，３２ｂ，３２ｃ  欄
３１Ａ，３２Ａ，３３Ａ  マーク
４１  ライトアドレスチャネル
４２  ライトデータチャネル
４３  ライト応答チャネル
４４  リードアドレスチャネル
４５  リードデータチャネル
５０  競合モニタ
５１  ステートマシン部
５１ａ  データ種類取得部
５１ｂ  ビジー期間取得部
５１ｃ  競合候補チャネル取得部
５２  比較部
５３  カバレッジチェック部
６０  検証装置
７０，７１，７２  シナリオ
８０  記録部
８０ａ  ＤＢ
８０ａａ，８２ａａ  情報
８１  データ種類ＤＢ
８２  最短ビジー期間ＤＢ
８３  ビジー期間ＤＢ
８４  競合候補チャネルＤＢ
８５  比較結果ＤＢ
８６  カバレッジ表ＤＢ
９０  ステートマシン
１００  コンピュータ
１０１  プロセッサ
１０２  ＲＡＭ
１０３  ＨＤＤ
１０４  グラフィック処理装置
１０４ａ  表示装置
１０５  入力インタフェース
１０５ａ  キーボード
１０５ｂ  マウス
１０６  光学ドライブ装置
１０６ａ  光ディスク
１０７  機器接続インタフェース
１０７ａ  メモリ装置
１０７ｂ  メモリリーダライタ
１０７ｂｂ  メモリカード
１０８  ネットワークインタフェース
１１０  ネットワーク
Ｔ０  最短ビジー期間
Ｔ，Ｔ１，Ｔａ，Ｔｂ，Ｔｃ  ビジー期間
【図１】
2014149565.tif 000003
【図２】
2014149565.tif 000004
【図３】
2014149565.tif 000005
【図４】
2014149565.tif 000006
【図５】
2014149565.tif 000007
【図６】
2014149565.tif 000008
【図７】
2014149565.tif 000009
【図８】
2014149565.tif 000010
【図９】
2014149565.tif 000011
【図１０】
2014149565.tif 000012
【図１１】
2014149565.tif 000013
【図１２】
2014149565.tif 000014
【図１３】
2014149565.tif 000015
【図１４】
2014149565.tif 000016
【図１５】
2014149565.tif 000017
【図１６】
2014149565.tif 000018
【図１７】
2014149565.tif 000019
【図１８】
2014149565.tif 000020
【図１９】
2014149565.tif 000021
【図２０】
2014149565.tif 000022
【図２１】
2014149565.tif 000023
【図２２】
2014149565.tif 000024
【図２３】
2014149565.tif 000025
【図２４】
2014149565.tif 000026
【図２５】
2014149565.tif 000027
【図２６】
2014149565.tif 000028
【図２７】
2014149565.tif 000029
【図２８】
2014149565.tif 000030