(57)【要約】【課題】  マスタと複数のスレーブとがバスを介してデータを転送するシステム構成を有する装置において、マスタまたはスレーブの動作の検証を、応答ウェイト数の大小に拘わらず、容易に行い得る方法を提供する。【解決手段】  アクセス先のアドレスと応答ウェイト数を含む期待値（ｎｗａｉｔ信号）とが少なくとも記述されているテストパターンに対する応答と、該応答と前記期待値とを照合することにより、マスタと複数のスレーブとがバスを介して接続された装置１００を試験する本発明の方法は、前記装置内に配置された擬似スレーブ１０５が、テストパターンによりアクセスされたときに、該テストパターンの期待値に含まれる応答ウェイト数に対応する数のウェイトサイクル発生後に応答を返すステップを含む。【選択図】      図１      
2005301743.tif 000002
【特許請求の範囲】
【請求項１】
アクセス先のアドレスと応答ウェイト数を含む期待値とが少なくとも記述されているテストパターンに対する応答と、該応答と前記期待値とを照合することにより、マスタと複数のスレーブとがバスを介して接続された装置を試験する方法において、
前記装置内に配置された擬似スレーブが、テストパターンによりアクセスされたときに、該テストパターンの期待値に含まれる応答ウェイト数に対応する時間の経過後に応答を返すステップを含むことを特徴とするマスタと複数のスレーブとがバスを介して接続された装置を試験する試験方法。
【請求項２】
前記擬似スレーブが応答を返した後に、前記複数のスレーブの中の１つが前記テストパターンによりアクセスされるステップを含むことを特徴とする請求項１に記載の試験方法。
【請求項３】
前記装置内に配置された擬似マスタが、前記テストパターンを前記バスに送出するステップを含むことを特徴とする請求項１または２に記載の試験方法。
【請求項４】
前記擬似マスタが、前記期待値を前記擬似スレーブに出力することを特徴とする請求項３に記載の試験方法。
【請求項５】
前記擬似スレーブは、入力された期待値に含まれる応答ウェイト数に対応する数のクロックサイクルの発生を検出することを特徴とする請求項１から４のいずれか一項に記載の試験方法。
【請求項６】
前記擬似スレーブとして、前記装置内に配置され、前記複数のスレーブのいずれもが応答しないアドレス領域がアクセスされたときに応答を返すデフォルトスレーブを用いることを特徴とする請求項１から５のいずれか一項に記載の試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタと複数のスレーブとがバスを介してデータを転送するシステム構成を有する装置を試験する試験方法に関するものである。
【背景技術】
【０００２】
マスタと複数のスレーブとがバスを介してデータを転送するシステム構成を有する装置を製造する際には、各スレーブがマスタの制御に基づき正しく動作することを確認、即ち検証するため、試験を行う必要がある。このような試験を効率よく行う方法も幾つか提案されている（例えば特許文献１参照）。
【０００３】
スレーブが正しく動作するか否かは、擬似マスタ（通常、試験時に用いる仮想的なマスタ）からＤＵＴ（Device Under Test：試験対象のスレーブ）にテストパターン（試験用の応答要求信号）を送り、ＤＵＴの応答結果から判断することができる。以下に、このような試験の一例を図６、図７を参照して説明する。
【０００４】
図６において、１０１はテストパターンを格納するテストパターン格納部、１０２は擬似マスタ、１０３はトランスファチェッカ、１０４はＤＵＴ、１０５は擬似スレーブ、１０６はデフォルトスレーブ、１０７はオンチップバスである。テストパターン格納部１０１に格納されるテストパターンは、例えばハードウェア記述言語であるＶｅｒｉｌｏｇ−ＨＤＬのＴａｓｋ文を用いて記述される。オンチップバス１０７がＡＭＢＡ−ＡＨＢ（Advanced Microcontroller Bus Architecture（ＡＲＭ社の登録商標）-Advanced
High-performance Bus）仕様のものである場合、テストパターンは例えば図７に示す書式（以下、トランスファタスクと呼ぶ）で表すことができる。
【０００５】
図７の書式を簡単に説明すると、（１）はこのＴａｓｋ文によって指定されるバス転送（タスク）の種類、すなわちリードかライトかを表す。（２）〜（８）はこのＴａｓｋ文の入力パラメータであり、（２）はバス転送のタイプを、（３）はシングル転送かバースト転送か（及びバースト転送の場合はそのタイプ）を指定する。また、（４）は転送データのビットサイズ、（５）はデータ転送の相手（スレーブ）のアドレス、（６）はＴａｓｋ文によって指定されるバス転送の種類がリードである場合の、スレーブから出力されるリードデータの期待値、（７）は転送応答の期待値（ＯＫＡＹはバス転送の成功、ＥＲＲＯＲは失敗、ＲＥＴＲＹは再実行を表す）、（８）は応答に要するウェイト数の期待値（ｎｗａｉｔ）を、それぞれ指定する。
【０００６】
図７に示すように、トランスファタスクには、応答ウェイト数を指定する信号であるｎｗａｉｔ信号が記述されている。トランスファチェッカ１０３はオンチップバス１０７を観測し、擬似マスタ１０２から送られた期待値（リードデータ、応答ウェイト数等）と、ＤＵＴ１０４から送られてきた応答とを照合し、照合結果に基づき、ＤＵＴが正しく動作するか否かを判定する。
尚、応答ウェイト数は、スレーブの種類やトランスファの種類により値が異なる様々な応答サイクルに対応するために必要となる。
デフォルトスレーブ１０６は、ほかのスレーブが応答しないアドレス領域をマスタがアクセスしたときに何等かの応答をこのマスタに返す役割を有するものであり、ＡＨＢのアドレス空間をすべて埋めない限り必要とされるスレーブである。次に、試験の動作について説明する。
【０００７】
１．先ず、擬似マスタ１０２はテストパターンであるトランスファタスクをテストパターン格納部１０１から受け取り、オンチップバス１０７に送出する（以下バストランスファという）。また、トランスファタスクに記述されている期待値（リードデータ、応答ウェイト数等）をトランスファチェッカ１０３に出力する。
２．トランスファタスクによって自分がアクセスされたことを検出したスレーブ（ＤＵＴ）１０４はその内容に応じて応答を返す。
３．トランスファチェッカ１０３はオンチップバス１０７を観測してトランスファタスクに記述されている期待値とＤＵＴの応答内容とを照合し、ＤＵＴ１０４の動作をチェックする。
４．ＤＵＴ１０４からの応答を受信した擬似マスタ１０２は次のトランスファタスクをオンチップバス１０７に送出する。
【０００８】
次にテストパターンについて説明する。各スレーブは、他のスレーブが任意のウェイト数ｎ（ｎ＝０，１，２,...,）で応答した直後にマスタにアクセスされた場合にも誤動作することなく、正しく応答することが要求される。これを検証するため、従来、擬似スレーブ１０５を用いている。擬似スレーブ１０５は、擬似マスタ１０２がアクセスするアドレスとウェイト数との対応関係を図８に示すような表の形で保持しており、擬似マスタ１０２にアクセスされたときには、この表を参照してウェイト数を決定する。例えば図９に示すように、擬似マスタ１０２が０００−０９９の範囲のアドレスをアクセスした場合にはウェイト数は０であるので擬似スレーブ１０５は直ちに応答を返す。また、擬似マスタ１０２が１００−１９９の範囲のアドレスをアクセスした場合にはウェイト数は１であるので擬似スレーブ１０５は１ウェイト後に応答を返す。同様に、擬似マスタ１０２が５００−５９９の範囲のアドレスをアクセスした場合にはウェイト数は５であるので擬似スレーブ１０５は５ウェイト後に応答を返す。
【０００９】
図１０にこのような検証を可能にするテストパターンの例を示す。この例は、擬似マスタは最初に擬似スレーブに対し、０ウェイトでの応答を要求するバストランスファを発生し、次にＤＵＴに対し、１ウェイトでの応答を要求するバストランスファを発生し、次に擬似スレーブに対し、２ウェイトでの応答を要求するバストランスファを発生し、次にＤＵＴに対し、３ウェイトでの応答を要求するバストランスファを発生するパターンである。
【００１０】
【特許文献１】特開２００２−１４０３１１号
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上に説明したように、他のスレーブが種々のウェイト数ｎ（ｎ＝０，１，２,...,）で応答した直後にマスタにアクセスされた場合にもＤＵＴが誤動作することなく、正しく応答することを検証するためには、図１０に示したように、応答ウェイト数を振らしたテストパターンを発生させる必要がある。しかしながら、従来の手法では応答ウェイト数を振らすためには、アクセスするアドレスを応答ウェイト数に応じて決める必要があり、従って生成すべきパターンの数はウェイト数ｎの大小に依存することとなる。このため、検証すべき応答ウェイト数が大きい場合、例えば１０，０００を超えるような場合には予め用意しておくべきテストパターンの数も非常に多くなり、このような検証を全ての応答ウェイト数について行うことは困難であった。
【００１２】
また、ＤＵＴがスレーブではなくマスタである場合、即ち、擬似スレーブが種々の値のウェイト数ｎ（ｎ＝０，１，２,...,）で応答した後に、検証対象であるマスタが正常にバストランスファを発生させることを検証する場合にも同様の問題があった。
【００１３】
本発明は上記問題に鑑みなされたものであり、マスタと複数のスレーブとがバスを介して接続された装置における、マスタまたはスレーブの動作の検証を、応答ウェイト数の大小に拘わらず、容易に行い得る方法を提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成すべく、本発明によれば、アクセス先のアドレスと応答ウェイト数を含む期待値とが少なくとも記述されているテストパターンに対する応答と、該応答と前記期待値とを照合することにより、マスタと複数のスレーブとがバスを介して接続された装置を試験する方法であって、
前記装置内に配置された擬似スレーブが、テストパターンによりアクセスされたときに、該テストパターンの期待値に含まれる応答ウェイト数に対応する時間の経過後に応答を返すステップを含むことを特徴とするマスタと複数のスレーブとがバスを介して接続された試験方法が提供される。
【発明の効果】
【００１５】
本発明によれば、マスタと複数のスレーブとがバスを介してデータを転送するシステム構成を有する装置の動作を、従来に比べ効率的に検証することが可能となる。
【発明を実施するための最良の形態】
【００１６】
第１の実施形態
図１を参照して本発明のマスタと複数のスレーブとがバスを介して接続された装置の試験方法の一実施形態を説明する。図１において図６に示した要素と同じあるいは対応する要素には同じ符号を付している。図１において、１００は試験される半導体チップ等の装置であり、この装置はテストパターン格納部１０１、トランスファチェッカ１０３を用いて試験される。擬似マスタ１０２、擬似スレーブ１０５は、試験終了後には、実装するモデルに差しかえることにより、それぞれ通常のマスタ、スレーブとして機能する。即ち、各スレーブはマスタの制御下、バスを介してマスタとスレーブとの間、またはスレーブ間でデータ転送動作を行う。尚、擬似マスタとして外部装置を用いてもよい。本実施形態は、図６に示すように、ｎｗａｉｔ信号が擬似スレーブ１０５に入力される点を特徴としている。
【００１７】
以下に図２のフローチャートを参照して、検証動作を説明する。
擬似マスタ１２は擬似スレーブ１０５に送るべきトランスファタスクをテストパターン格納部１０１から受け取ると、これをオンチップバス１０７を介して送出する。また、このトランスファファクタに記述されている期待値（リードデータ、応答ウェイト数等）を擬似スレーブ１０５に出力する（ステップＳ１）。
擬似スレーブ１０５はｎｗａｉｔ信号で示されるウェイト数に応じた時間の経過後に応答を返す（ステップＳ２）。
【００１８】
この応答を受け取ると擬似マスタ１０２はスレーブ（ＤＵＴ）１０４に送るべきトランスファファクタをテストパターン格納部１０１から受け取り、オンチップバス１０７を介して送出する。また、このトランスファファクタに記述されている期待値（リードデータ、応答ウェイト数等）をトランスファチェッカ１３に出力する（ステップＳ３）。トランスファタスクによって自分がアクセスされたことを検出したスレーブ（ＤＵＴ）１０４はその内容に応じて応答を返す（ステップＳ４）。
トランスファチェッカ１０３はオンチップバス１０７を観測してトランスファタスクに記述されている期待値とＤＵＴ１０４の応答内容とを照合し、ＤＵＴ１０４が正しく動作するか否かをチェックする（ステップＳ５）。
以降、擬似スレーブに送るべきトランスファタスクに含まれるウェイト数を変更しながら上記動作を繰り返す（ステップＳ１〜Ｓ６）。全てのトランスファファクタを送出した時点、即ち、テストパターンが終了した時点でスレーブ（ＤＵＴ）１０４の動作検証を終了する。以下、次のスレーブをＤＵＴに設定し、同様の検証動作を行う。
【００１９】
この検証動作では、擬似スレーブ１０５は、ステップＳ２において、ｎｗａｉｔ信号で示されるウェイト数で応答を返す必要がある。即ちウェイト数に等しい数のクロックサイクルの発生後に応答を返す必要がある。そのため、本実施形態では擬似スレーブ１０５に図３に示す構成の回路を備える。同図において２１，２５，２６はＡＮＤゲート、２３，３１はＦ／Ｆ（フリップフロップ）、２２，２８，３０はセレクタ、２７は加算器、２４は定数格納部、２９はセレクタ制御回路、３２はインバータである。
【００２０】
図３において、inval_dec は、擬似スレーブ１０５へのアクセスが発生したことを示す信号であり、この信号は擬似マスタ１０２からのトランスファファクタのアドレスをデコードして得られる。hreadyinはＤＵＴやデフォルトスレーブ等の擬似スレーブ以外のモジュールが応答したときに返す信号である。以下に応答ウェイト数が２の場合のこの回路の動作を図４のタイムチャートを参照して説明する。
【００２１】
擬似スレーブ１０５がアクセスされ、時刻ｔ１でhreadyin及びinval_decが「１」になるとＡＮＤゲート２１の出力が「１」になり、セレクタ２２はインバータ３２の出力nwait_n（この場合、ffff-n=ffff-2に等しい）を選択し、時刻ｔ２でＦ／Ｆ２３にロードする。この時点では、ＡＮＤゲート２５の出力は「０」であるので、セレクタ制御回路２９の出力は「１０」となり、セレクタ３０は１’ｂ１を選択するのでＦ／Ｆ３１の出力ｆｆｑは「１」となる。その結果、セレクタ２８はＦ／Ｆ２３の出力ffb_oに＋１加算する加算器２７の出力を選択する。その後、hreadyinが「０」になり、セレクタ２２はセレクタ２８の出力を選択するのでＦ／Ｆ２３はオーバーフローするまで、即ちその出力ffb_oが定数格納部２４に格納されている定数ffffに等しくなるまでカウントアップする（時刻ｔ３）。時刻ｔ４でＦ／Ｆ２３がオーバーフローすると同時にＡＮＤゲート２６の出力信号hreadyoが「１」となり、擬似マスタに転送応答が終了したことを知らせる。尚、この回路ではＦ／Ｆ２３は１６ビット構成であるので６５５３５までのウェイトを設定できるが、ビット数を増やせばより大きなウェイト数を設定することが可能である。
【００２２】
従来は、擬似スレーブ自体がアクセスされるアドレスに基づいてウェイト数を発生していたが、本実施形態は、擬似スレーブに対し、バストランスファ毎に応答ウェイト数を直接指定するので、応答ウェイト数の大小に関わらずテストパターンの作成が容易であり、ＤＵＴの検証精度が向上する。また、従来からトランスファタスクの期待値フィールドに記述されているｎｗａｉｔ信号を利用するため、フォーマットの変更は必要なく従来のテストパターン資産を活用できる。更に、擬似マスタのトランスファ生成機能自体は変更する必要がないので、検証時の環境変更は少なくて済み、従来の検証環境を活用できる。
【００２３】
第２の実施形態
第１の実施形態では、ＤＵＴ検証のために擬似スレーブを別途設けている。しかし、どのスレーブもアクセスしないアドレスにマスタがアクセスする場合に応答するデフォルトスレーブを有する装置の場合、このデフォルトスレーブに第１の実施形態で説明した擬似スレーブの機能を持たせることが可能である。
【００２４】
図５にデフォルトスレーブを有し、このデフォルトスレーブに擬似スレーブの機能を持たせた装置の構成を示す。図５において図１に示した要素と同じあるいは対応する要素には同じ符号を付している。本実施形態では擬似スレーブ１０５は設けられず、ｎｗａｉｔ信号は擬似マスタからデフォルトスレーブ１０６に入力される。デフォルトスレーブ１０６には図３に示した回路と同様の回路が備えられる。
【００２５】
デフォルトスレーブ１０６は定義されたアドレス空間内でどのスレーブも応答を返さないアドレス領域で応答する。従ってデフォルトスレーブ１０６は、ＤＵＴの応答アドレス空間以外のアドレス空間で応答を返すことになる。デフォルトスレーブ１０６にｎｗａｉｔ信号を入力することにより、全てのアドレス空間でｎｗａｉｔ信号で指定されたウェイト数で応答を返すことが可能となる。
【００２６】
本実施形態によれば、第１の実施形態の利点に加え、既存のモジュールであるデフォルトスレーブを利用するのでモジュールを追加する必要がなく、既存のデフォルトスレーブの機能を拡張するだけで済む。従って、検証環境の変更は極僅かで済み、既存の検証環境をより活用できるという利点を有する。
【００２７】
尚、上記の第１及び第２の実施形態では、ＤＵＴがスレーブ場合の場合について説明したが、本発明はＤＵＴがマスタの場合にも適用可能であることは言うまでもない。また、第１及び第２の実施形態ではＦ／Ｆは１６ビット構成としたが、これに限定されるものでなくウェイト数に応じたビット数とすることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の試験方法により検証される装置の構成の説明図である。
【図２】図１の装置の検証動作を説明するフローチャートである。
【図３】図１の装置の擬似スレーブに追加される機能拡張回路の回路図である。
【図４】図３の機能拡張回路の動作を説明するタイムチャートである。
【図５】本発明の試験方法により検証される他の装置の構成の説明図である。
【図６】従来の試験方法により検証される装置の構成の説明図である。
【図７】トランスファタスクの書式例を示す図である。
【図８】従来の擬似スレーブが備えるアドレスとウェイト数との対応関係を示す表である。
【図９】従来の擬似スレーブの応答動作を説明するタイムチャートである。
【図１０】従来の試験方法に使用されるテストパターンの例である。
【符号の説明】
【００２９】
２１，２５，２６  ＡＮＤゲート、  ２２，２８，３０  セレクタ、  ２４  定数格納部、  ２３，３１  Ｆ／Ｆ、  ２７  加算器、  ２９  セレクタ制御部、  ３２  インバータ、  １００  半導体チップ、  １０１  テストパターン格納部、  １０２  擬似マスタ、  １０３  トランスファチェッカ、  １０４  ＤＵＴ、  １０５  擬似スレーブ、  １０６  デフォルトスレーブ、  １０７  オンチップバス。
【図１】
2005301743.tif 000003
【図２】
2005301743.tif 000004
【図３】
2005301743.tif 000005
【図４】
2005301743.tif 000006
【図５】
2005301743.tif 000007
【図６】
2005301743.tif 000008
【図７】
2005301743.tif 000009
【図８】
2005301743.tif 000010
【図９】
2005301743.tif 000011
【図１０】
2005301743.tif 000012