(57)【特許請求の範囲】
【請求項１】
Ｉ／Ｏコントローラあるいはメモリなどの外部装置を少なくとも接続可能とし、該外部装置との間のパケット転送を実現するシステムコントローラにおいて、
前記外部装置との間で転送されるパケットを保持する同期化バッファと、
前記同期化バッファに対応して、前記メモリ内部のアクセス先のアドレス、及び要求するアクセスの内容を示すリクエスト種類を格納したパケット情報を記憶させる記憶管理手段と、
前記記憶管理手段により前記同期化バッファに記憶されたパケット情報のなかから一つを選択する選択手段と、
前記選択手段により選択されたパケット情報を用いて、前記Ｉ／Ｏコントローラから前記メモリへの転送を想定したパケットを擬似的に生成するパケット生成手段と、
前記パケット生成手段が生成して転送された前記パケットによる前記メモリの応答を監視する監視手段と、
を具備することを特徴とするシステムコントローラ。
【請求項２】
複数の外部装置が接続可能な半導体装置において、
前記接続可能な第１の外部装置とのインターフェイスを試験する場合に用意されるパケット情報を用いて、該第１の外部装置から接続された第２の外部装置への転送を想定したパケットを擬似的に生成するパケット生成手段と、
前記パケット生成手段が生成したパケットの第２の外部装置への転送による応答を監視する監視手段と、
を具備することを特徴とする半導体装置。
【請求項３】
前記パケット生成手段は、前記第１の外部装置とのパケットの転送を行う場合に用いられるクロックで動作する、
ことを特徴とする請求項２記載の半導体装置。
【請求項４】
前記パケット情報は、前記第１の外部装置へのパケット転送に用いる同期化用の同期化バッファ毎に格納され、
前記パケット生成手段は、前記同期化バッファに格納されたパケット情報のなかから選択されるパケット情報を用いて前記パケットを擬似的に生成する、
ことを特徴とする請求項３記載の半導体装置。
【請求項５】
複数の外部装置が接続可能な半導体装置のインターフェイスを試験するための方法であって、
前記接続可能な第１の外部装置とのインターフェイスを試験する場合に用意されるパケット情報を用いて、該第１の外部装置から接続された第２の外部装置への転送を想定したパケットを擬似的に生成するパケット生成工程と、
前記パケット生成工程で生成したパケットの前記第２の外部装置への転送による応答を監視する監視工程と、を有し、
前記半導体装置と前記第１の外部装置間の実際のパケット転送を回避して、該半導体装置における該第１の外部装置との接続用のインターフェイスを試験する、
ことを特徴とするインターフェイス試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムコントローラ等の複数の外部装置が接続可能な半導体装置における外部装置との接続用のインターフェイスを試験するための技術に関する。
【背景技術】
【０００２】
コンピュータ（データ処理装置）では、ＣＰＵやメモリ等の半導体装置間の接続にシステムコントローラが用いられている。図６は、そのシステムコントローラに複数の半導体装置を接続することで構築されたデータ処理装置の構成を示す図である。そのデータ処理装置では、図６に示すように、ＣＰＵ５０、メモリ６０及びＩ／Ｏコントローラ７０がシステムコントローラ８０にそれぞれ接続させることで構築されている。Ｉ／Ｏコントローラ７０は、例えばハードディスク装置、或いは光ディスク装置等の記憶装置の制御、或いは外部装置と通信を行うものである。ＣＰＵ５０、メモリ６０及びＩ／Ｏコントローラ７０の各半導体装置は、システムコントローラ８０にとって外部装置に相当する。
【０００３】
接続された半導体装置間では内部クロックが同期していない場合が多い。このため、半導体装置には、図７に示すような同期化回路が搭載されるのが普通である。図７中、接続された二つの半導体装置は「ＣＨＩＰ」と表記している。９１は半導体装置１００に転送すべきパケット（データ）を格納するバッファ、９２は半導体装置９０の内部から供給されるパケットを格納するバッファ９１を指定するためのポインタ、９３はポインタ９２が出力するポインタ値をデコードして、そのポインタ値に対応するバッファ９１にパケットを格納するためのデコーダ、９４は各バッファ９１に格納されたパケットのなかから一つを選択するためのセレクタ、９５はセレクタ９４に選択させるパケットを指定するためのポインタ、９６はセレクタ９４から出力されるパケットを格納するバッファ、をそれぞれ示している。また、内部クロックで動作するものは網掛けで示している。網掛けのない構成要素は伝送路等のクロック（以降「インターフェイス・クロック」）で動作することを示している。図７から明らかなように、外部とのインターフェイスとなる部分は低速で動作させるようになっている。
【０００４】
半導体装置間のインターフェイスを検証（試験）する場合には、対象となる半導体装置、つまりそのインターフェイスを用いてパケットが転送される半導体装置が接続されている必要がある。半導体装置によっては、更に別のデバイス（例えば記憶装置）が接続されていることが必要となる場合もある。しかし、半導体装置が製品化された直後などでは、対象となる半導体装置との接続が適切に行えないケースや、対象となる半導体装置の先に位置するデバイスとの接続が適切に行えないケースが多いのが普通である。そのようなケースでは、半導体装置間のインターフェイスの検証が遅れ、工程に悪影響を及ぼす。たとえば、図６に示すデータ処理装置では、主なデータの流れとしては、ＣＰＵ５０からのメモリ（ｍｅｍｏｒｙ）へのアクセスと、Ｉ／Ｏコントローラ７０からのメモリ６０へのアクセスとがある。しかし、Ｉ／Ｏコントローラ７０が接続できない場合には、システムコントローラ（Ｓｙｓｔｅｍ Ｃｏｎｔｒｏｌｅｒ）８０とＩ／Ｏコントローラ７０の間のインターフェイスが検証できないことになる。このことから、或る程度のインターフェイスの検証は行えるようにすることが重要と考えられる。
【０００５】
そのインターフェイスの検証は、半導体装置とは別の装置を複数、外部に配置して接続することでも可能である（特許文献１）。しかし、そのような従来の方法では、検証を行うために装置全体が大規模化するとともに、非常にコストがかかることになる。このことから、検証はコストを抑えつつ、行えるようにすることも重要と考えられる。
【特許文献１】特開昭６０−１７１８４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、半導体装置間のインターフェイスの検証（試験）をより低コストに行えるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様を適用した半導体装置では、接続可能な第１の外部装置とのインターフェイスを試験する場合、その試験のために用意されるパケット情報を用いて、その第１の外部装置から別の第２の外部装置への転送を想定したパケットを擬似的に生成し、その生成したパケットの第２の外部装置への転送による応答を監視することにより、半導体装置と第１の外部装置間の実際のパケット転送を回避して、第１の外部装置との接続用のインターフェイスを試験する。
【０００８】
第１の外部装置から受信して第２の外部装置に転送すると見なすことができるパケットを半導体装置内で擬似的に生成して第２の外部装置に転送することにより、実際に第１の外部装置を接続する必要性は回避される。第１の外部装置の代わりとなる装置を接続する必要性も回避される。そのパケットとは、接続された外部装置間でデータの送信単位となるものであり、特に限定されるものではない。
【０００９】
生成したパケットが転送された第２の外部装置は、そのパケットを処理して応答を返す。その応答を監視することにより、パケットを転送する過程で発生した不具合の有無を確認することが可能となる。
【００１０】
そのパケットは、第１の外部装置からの転送を想定して生成される。その想定により、パケットは第１の外部装置との接続用のインターフェイスを含む経路で転送される。このため、第１の外部装置との接続用のインターフェイスの検証（試験）も行えることとなる。
【発明の効果】
【００１１】
本発明を適用した場合には、接続対象となる外部装置、或いはその外部装置の代わりとなる装置を接続することなく、外部装置との間のインターフェイス、つまり半導体装置のその外部装置との接続用のインターフェイスの検証（試験）を行うことができる。接続対象となる外部装置、或いはその外部装置の代わりとなる装置を接続する必要がないことから、検証（試験）はより低コスト、且つより短時間に行うことができる。これらのことから、コスト削減、工程遵守の面で効果が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による試験方法が適用されるデータ処理装置（コンピュータ）の構成を説明する図である。本実施形態によるデータ処理装置は、図１に示すように、ＣＰＵ１０、メモリ２０をシステムコントローラ３０にそれぞれ接続させることで構築されている。
【００１３】
図１中の３１は、システムコントローラ３０に実装された同期化回路である。本実施形態の同期化回路３１は、システムコントローラ３０を図１に示されたＣＰＵ１０及びメモリ２０とは異なる外部装置、例えば図６に示すＩ／Ｏコントローラ７０と接続した状態を擬似的に実現するものである。本実施形態では、同期化回路３１により、同期化回路３１の先に接続可能な半導体装置たとえばＩ／Ｏコントローラ７０とメモリ２０との間のデータ送信を擬似的に実現させる。
【００１４】
同期化回路３１は、実際には接続されていない仮想的な外部半導体装置から転送される想定のパケットを擬似的に生成することにより、仮想的な外部半導体装置と、システムコントローラ３０に接続された他の外部半導体装置との間のパケット転送を擬似的に実現させる。それにより、実際にはシステムコントローラ３０に接続されていない仮想的な外部半導体装置との接続（通信）用のインターフェイスを検証する試験の実施を可能とさせる。検証するインターフェイスによりシステムコントローラ３０に仮想的に接続される外部半導体装置は以降「対象ＣＨＩＰ」と呼ぶことにする。
【００１５】
図２は、同期化回路３１の構成を示す図である。図２において、２０１は対象ＣＨＩＰ用に発行されたパケット（データ）を格納するバッファであり、図２の例では計ｎ＋１個の同期化バッファが設けられている。２０２は、パケットを格納するバッファ２０１を指定するためのポインタである。２０３は、ポインタ２０２が出力するポインタ値をデコードして、そのポインタ値に対応するバッファ２０１にパケットを格納するためのデコーダである。２０４は、各バッファ２０１に格納されたパケットのなかから一つを選択するためのセレクタである。２０５は、セレクタ２０４に選択させるパケットを指定するためのポインタである。２０６は、試験モード時にポインタ２０５の代わりに用いられるポインタである。試験モード時には、ポインタ２０６のポインタ値がセレクタ２０４に供給されることから、図２では「ＯＶＬ用」を表記している。“ＯＶＬ”はオーバーレイを表している。２０７は、２つのポインタ２０５及び２０６が出力するポイント値のうちの一つを選択するためのセレクタである。２０８は、試験モード時にセレクタ２０４から出力されるパケット情報を入力し、そのパケット情報を用いて対象ＣＨＩＰから転送される想定のパケットを擬似的に生成するパケット生成部である。２０９は、レジスタである。２１０は、試験モードにおいて擬似的に生成したパケットの転送による応答を解析する応答ＩＤ解析部である。２１１はバッファ、２１２及び２１３はセレクタである。２３０は、通常モードにおいてシステムコントローラ３０に接続された半導体装置（対象ＣＨＩＰ）から出力されたパケット（図中「ＣＨＩＰ入力」と表記）を取り込むための同期化回路である。図２において、内部クロックで動作する構成要素は網掛けで示している。また、網掛けのない構成要素は、伝送路等を介して外部から供給されるクロック（インターフェイス・クロック）で動作する構成要素であることを示している。
【００１６】
図３は、各バッファ２０１に格納されるパケット情報のデータ構成を示す図である。図３のパケット情報は、ＪＴＡＧに準拠した試験用に用意されたものであり、システムコントローラ３０の外部から入力される。このことから、試験モードとは、外部入力の試験用信号によってシステムコントローラ３０が制御される状態に相当し、通常モードは、そのように制御されない状態に相当する。試験モード時は、通常モード時とは異なり、各バッファ２０１には通常のパケットの代わりにパケット情報が格納される。本実施形態のパケット情報には、図３に示すように、アドレス情報ＡＤＲＳ、このパケット情報が有効か否かを示すバリッドＶ、及びリクエスト種を示すリクエストコードＯＰＣが格納される。
【００１７】
図３に示すパケット情報は、図１に示す構成において、システムコントローラ３０に仮想的に接続される半導体装置からメモリ２０へのアクセスを行うことを想定したものである。それにより、図３のパケット情報を用いて擬似的に生成するパケットは、図６に示す構成を例にとると、Ｉ／Ｏコントローラ７０からメモリ６０に転送されるパケットを想定したものとなっている。本実施形態では以降、対象ＣＨＩＰからのパケットの転送先、言い換えれば、擬似的に生成したパケットによる応答を行う半導体装置はメモリ２０のみを想定する。その想定では、リクエストコードＯＰＣは、メモリ２０に要求するアクセスの内容を示すデータとなる。
【００１８】
図４は、図３に示すパケット情報を用いた擬似的パケットの生成によって行われるトラ
ンザクションフロー例を説明する図である。図４において、上記想定ではＣＨＩＰ１はメモリ２０、ＣＨＩＰ２は対象ＣＨＩＰ、つまり同期化回路３１を介してパケットを転送可能な仮想的な半導体装置、例えば図６に示すＩ／Ｏコントローラ７０がそれぞれ相当する。
【００１９】
図４（ａ）は、ＣＨＩＰ２が６４バイトのデータ送信を要求するためのパケット（Ｒｅｑｕｅｓｔ）をＣＨＩＰ１に送信し、そのパケットによって６４バイトのデータ（６４Ｂｙｔｅ  Ｄａｔａ）がＣＨＩＰ１からＣＨＩＰ２に送信されるトランザクションフローを示している（６４Ｂｙｔｅ  Ｆｅｔｃｈ）。図４（ｂ）は、ＣＨＩＰ２が６４バイト未満のデータ(Ｂｙｔｅ  Ｍａｓｋ＋６４Ｂｙｔｅ  Ｄａｔａ）と共にデータのストアを要求するためのパケット（Ｒｅｑｕｅｓｔ）をＣＨＩＰ１に送信し、そのパケットによってＣＨＩＰ１からＣＨＩＰ２にストアの完了（Ｓｔｏｒｅ  Ｃｏｍｐｌｅｔｅ）が通知されるトランザクションフローを示している（６４Ｂｙｔｅ  Ｐａｒｔｉａｌ  Ｓｔｏｒｅ）。図４（ｃ）は、ＣＨＩＰ２が６４バイトのデータ（６４Ｂｙｔｅ  Ｄａｔａ）と共にそのストアを要求するためのパケット（Ｒｅｑｕｅｓｔ）をＣＨＩＰ１に送信し、そのパケットによってＣＨＩＰ１からＣＨＩＰ２にストアの完了（Ｓｔｏｒｅ  Ｃｏｍｐｌｅｔｅ）が通知されるトランザクションフローを示している（６４Ｂｙｔｅ  Ｓｔｏｒｅ）。図４（ａ）〜（ｃ）に示すトランザクションフローは、異なるリクエストコードＯＰＣをパケットに格納することで実現される。
【００２０】
本実施形態では、システムコントローラ３０の対象ＣＨＩＰ用のインターフェイスを検証するための試験時に、図４に示すようなトランザクションフローを実現させる擬似的パケットを以下のようにして生成する。図２を参照して、具体的に説明する。ここでは同期化回路３１にパケットを出力する、或いは外部の半導体装置（対象ＣＨＩＰ）から同期化回路２３０が取り込んだパケットが出力されるシステムコントローラ３０の内部構成は便宜的に「内部回路」と呼ぶことにする。この内部回路は、同期化回路２３０が取り込んだパケットを入力して処理する。
【００２１】
試験モード時は、内部回路から各バッファ２０１にパケットを転送する信号ラインは切断される。つまりセレクタ２１３に対し、その信号ラインを選択させないセレクト信号がシステムコントローラ３０の外部から供給される。同様に、ポインタ２０５とセレクタ２０４との間、バッファ２１１の出力側の信号ライン、及び同期化回路２３０と内部回路との間も切断される。ポインタ２０５とセレクタ２０４との間は、セレクタ２０７に対して、ポインタ２０６を選択させるためのセレクト信号をシステムコントローラ３０の外部から供給することで切断される。同期化回路２３０と内部回路との間は、セレクタ２１２に対して、パケット生成部２０８を選択させるためのセレクト信号をシステムコントローラ３０の外部から供給することで切断される。バッファ２１１の出力側の信号ラインは、例えばＡＮＤゲートを介して、システムコントローラ３０に設けられた端子と接続されている。信号ラインはＡＮＤゲートの入力端子と接続され、そのＡＮＤゲートの他の入力端子には外部からの信号が供給可能となっている。このため、信号ラインは外部から供給する信号によって切断／非切断を切り換えることができるようになっている。
【００２２】
セレクタ２１３を介して内部回路からの信号ラインを切断する結果、各バッファ２０１はＪＴＡＧからのパケット情報のみが格納可能となり、ポインタ２０２が出力するポイント値により指定されるバッファ２０１に、ＪＴＡＧからのパケット情報が格納される。それにより、各バッファ２０１に格納されたパケット情報のうちの一つがセレクタ２０７によって選択され、パケット生成部２０８に出力される。セレクタ２０７は、ポインタ２０６（或いはポインタ２０５）から入力するポイント値に応じて、バッファ２０１のうちの一つを選択する。
【００２３】
各バッファ２０１は、入力（ｉｎ）端子、出力（ｏｕｔ）端子、及びイネーブル（ｅｎ）端子を備えている。各バッファ２０１の入力端子、出力端子、及びイネーブル端子はそれぞれセレクタ２１３、セレクタ２０４及びデコーダ２０３と接続されている。デコーダ２０３は、ポインタ２０２が出力するポイント値に応じて、バッファ２０１のうちの一つにのみ、アクティブとさせる信号を出力する。そのアクティブとさせる信号をイネーブル端子に入力したバッファ２０１は、セレクタ２１３から出力されるパケット情報を保持する。各バッファ２０１は、保持したパケット情報を出力端子から出力する。
【００２４】
外部から試験用の信号が供給されない場合、つまり通常モードの場合、セレクタ２１３は内部回路からの信号ラインを選択する。同様に、セレクタ２０７及び２１２はそれぞれポインタ２０５、及び同期化回路２３０を選択する。バッファ２１１の出力側の信号ラインは非切断となる。これらの結果、各バッファ２０１は内部回路から出力されるパケットを保持し、バッファ２０１のうちの何れかに保持されたパケットはポインタ２０５のポイント値に応じてセレクタ２０４及びバッファ２１１を介して対象ＣＨＩＰに出力可能となる。対象ＣＨＩＰから出力されて同期化回路２３０に取り込まれたパケットは、セレクタ２１２を介して内部回路に出力される。
【００２５】
レジスタ２０９は、パケット生成部２０８が生成した擬似的パケットの識別用の情報であるリクエストＩＤを管理するための記憶装置であり、ｍ＋１ビットのデータを格納可能となっている。各ビットの値は、そのビットの位置を示す数値がリクエストＩＤとして使用中か否かを示す状況情報となっている。ビットの値は、使用中であれば“１”、未使用であれば“０”である。
【００２６】
パケット生成部２０８は、入力したパケット情報から、パケットに格納すべき情報を決定して格納する。また、リクエストＩＤを決定するために、パケット生成部２０８はレジスタ２０９のなかでビット“０”が格納されている記憶領域を例えば昇順に検索して特定する。特定した記憶領域の位置を示す数値は、リクエストＩＤとして生成するパケットに格納する。パケット生成部２０８は、そのようにしてパケットを生成して出力する。また、パケット生成部２０８は、パケットに格納したリクエストＩＤに対応する記憶領域に記録されたビットの値を０から１に変更する。パケットの生成は、パケット情報中のバリッドＶが有効を示していた場合にのみ行われる。
【００２７】
パケット生成部２０８から出力されたパケットはセレクタ２１２、及び内部回路を介してメモリ２０に転送される。それにより、パケット生成部２０８により生成されたパケットが正常にメモリ２０に転送されている場合には、メモリ２０は対象ＣＨＩＰ宛に応答を返す。パケット生成部２０８は、インターフェイス・クロックで動作する。このため、パケット生成部２０８が生成して出力するパケットは、システムコントローラ３０から対象ＣＨＩＰに転送され、その転送によって対象ＣＨＩＰから応答として送信されるパケットと見なせるものとなる。このようなことから、対象ＣＨＩＰをシステムコントローラ３０に実際に接続させることなく、対象ＣＨＩＰ用のインターフェイスの検証を擬似的に行うことができる。
【００２８】
応答には、例えばリクエストＩＤが格納される。このため、リクエストＩＤは、パケットによるリクエストが処理されたか否かの確認に用いられる。その確認を行う必要から、パケット（リクエスト）を一意に特定できる情報となっている。図２では、パケットは何らかのリクエストのために生成されることから、「ＲＱ」とも表記している。
【００２９】
ポインタ２０６は、パケットの生成・転送により、ポイント値をインクリメントする。ポイント値のインクリメントは、例えば外部から供給される信号により行う。つまり、パケット（リクエスト）の生成・転送、及びポイント値のインクリメントは、外部から供給
する信号を用いた制御下で行われる。ポインタ２０６のポイント値によって、セレクタ２０４が選択するバッファ２０１が変わるため、ポインタ２０６によるポイント値のインクリメントによって、異なるパケット情報がバッファ２０１からパケット生成部２０８にセレクタ２０４を介して出力される。ポインタ２０２は、入力したＪＴＡＧからのデータ、つまりパケット情報を何れかのバッファ２０１に格納する度に、ポイント値をインクリメントする。それにより、新たに入力するパケット情報を格納するバッファ２０１が切り換えられ、次に入力されるパケット情報に備える。
【００３０】
メモリ２０からの応答は、内部回路を介して応答ＩＤ解析部２１０に入力する。応答ＩＤ解析部２１０は、入力した応答を解析し、その応答からメモリ２０に転送されたパケットが正常に処理されかた否か判定する。メモリ２０に転送されたパケットが正常に処理されたと判定した場合には、応答ＩＤ解析部２１０はメモリ２０が処理したパケットに格納されていたリクエストＩＤを特定する。そして応答ＩＤ解析部２１０は、特定したリクエストＩＤに対応するレジスタ２０９のビットを１から０に変更する。それにより、応答を受信することを条件に、使用中とされていたリクエストＩＤは未使用に変更される。この結果、未使用に変更されたリクエストＩＤを以降使用することが可能となる。
【００３１】
一方、応答ＩＤ解析部が応答を受信できなかった、或いはパケットが正常に処理されたことを示す応答ではなかったパケットのリクエストＩＤは使用中のままとなり、使用できる状態に復帰しない。その結果、インターフェイスに何らかの不具合が存在する場合、パケット生成部２０８によるパケットの生成・転送により、使用可能なリクエストＩＤが少なくなる。このため、レジスタ２０９の内容を確認することにより、パケット転送時の不具合の有無、その不具合の程度を把握することができる。
【００３２】
図５は、パケット生成部２０８によるパケットの生成によって検証可能な内容を説明する図である。擬似的に生成するパケットにより、対象ＣＨＩＰはパケットで指定するメモリ２０のアドレスによって疑似化され、疑似化されたアドレスを通してインターフェイスの検証が行われることになる。それにより、実際にＩ／Ｏコントローラ７０等の対象ＣＨＩＰを接続する必要性を回避させている。図５は、リクエストＩＤ、パケットの生成に用いたパケット情報を格納したバッファ２０１、生成されたパケットのアドレス情報ＡＤＲＳが示すアドレスの可能な組み合わせ例を概念的に表形式で表している。各バッファ２０１は、図２に表記した「Ａ０」〜「Ａｎ」を用いて示している。また、アドレスの後に表記した「００」「１０」等は、アドレスの値が互いに異なることを表すために付している。
【００３３】
パケット生成に用いられるパケット情報を格納する各バッファ２０１にはそれぞれ、Ｉ／Ｏコントローラ７０等の対象ＣＨＩＰによりアクセスされるメモリ２０の異なるアドレス空間を割り当てることができる。図５中、このようなアドレス空間は「Ｉ／Ｏ０」〜「Ｉ／Ｏｎ」と表記される。レジスタ２０９はｍ＋１ビットであることから、リクエストＩＤ及びアドレス情報ＡＤＲＳが互いに異なるｍ＋１個のパケットを、１パケット情報から連続して生成させることが可能である。連続したパケットの生成は、アドレス情報ＡＤＲＳを順次更新する機能をパケット生成部２０８に搭載することで実現させることができる。この場合、ポインタ２０６におけるポイント値のインクリメントは、生成すべきパケットを全て生成した後に行えば良い。このことから、生成するパケットとパケット情報との関係は一対一でなくとも良い。
【００３４】
バッファ２０１（アドレス空間）毎の検証は、各リクエストコードＯＰＣで行うことができる。つまり図４に示す例では、６４Ｂｙｔｅ  Ｆｅｔｃｈ、６４Ｂｙｔｅ  Ｐａｒｔｉａｌ  Ｓｔｏｒｅ及び６４Ｂｙｔｅ  Ｓｔｏｒｅのリクエストの種類毎に検証を行うことができ、これはリクエストコードＯＰＣにより切り換えられる。このことから図５では
、リクエストコードＯＰＣにより指定可能な「Ｆｅｔｃｈ」「Ｐａｒｔｉａｌ  Ｓｔｏｒｅ」及び「Ｓｔｏｒｅ」のリクエストの種類別に表を分ける形で示している。
【００３５】
各バッファ２０１に割り当て可能なアドレスは、ｍ＋１個に限定されるものではなく、バッファ２０１に割り当てるアドレスはｍ＋１個より少なくとも多くとも良い。また、上記実施形態ではリクエストコードＯＰＣは３種類であるが、ＯＰＣの種類も３つに限定されるものではない。
【００３６】
なお、本実施形態による半導体装置は、システムコントローラ３０に本発明を適用したものであるが、本発明が適用可能な半導体装置はシステムコントローラ３０に限定されるものではない。本発明は、２つ以上の接続された外部半導体装置の間のパケット転送を実現させる半導体装置に幅広く適用することができる。
【００３７】
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
Ｉ／Ｏコントローラあるいはメモリなどの外部装置を少なくとも接続可能とし、該外部装置との間のパケット転送を実現するシステムコントローラにおいて、
外部装置との間で転送されるパケットを保持する同期化バッファと、
前記同期化バッファに対応して、前記メモリ内部のアクセス先のアドレス、及び要求するアクセスの内容を示すリクエスト種類を格納したパケット情報を記憶させる記憶管理手段と、
前記記憶管理手段により前記同期化バッファに記憶されたパケット情報のなかから一つを選択する選択手段と、
前記選択手段により選択されたパケット情報を用いて、前記Ｉ／Ｏコントローラから前記メモリへの転送を想定したパケットを擬似的に生成するパケット生成手段と、
前記パケット生成手段が生成して転送された前記パケットによる前記メモリの応答を監視する監視手段と、
を具備することを特徴とするシステムコントローラ。
【００３８】
（付記２）
前記パケット内に格納される識別用の情報であるリクエストＩＤとして使用可能な数値毎に記憶領域を有し、該記憶領域毎に該記憶領域に対応する数値が該リクエストＩＤとして使用中か否かを示す状況情報が記憶される記憶手段を備え、
前記パケット生成手段は、前記記憶手段が有する記憶領域にそれぞれ記憶された状況情報を参照して、前記リクエストＩＤとして使用可能な数値を特定し、該特定した数値をリクエストＩＤとして格納させたパケットを生成すると共に、該リクエストＩＤとして格納させた数値に対応する該記憶領域に使用中を示す状況情報を記憶させ、
前記監視手段は、前記応答に対応するリクエストＩＤの数値を特定し、該特定した数値に対応する前記記憶領域に未使用を示す状況情報を記憶させる、
ことを特徴とする付記１記載のシステムコントローラ。
【００３９】
（付記３）
前記パケット生成手段は、前記パケット転送に用いられるクロックで動作する、
ことを特徴とする付記１記載のシステムコントローラ。
【００４０】
（付記４）
Ｉ／Ｏコントローラ、及びメモリを少なくとも接続可能とするシステムコントローラを対象に、該Ｉ／Ｏコントローラとの接続用のインターフェイスを試験するための方法であって、
前記システムコントローラの、前記Ｉ／Ｏコントローラとの前記パケット転送に用いる
同期化用の同期化バッファ毎に、前記メモリ内部のアクセス先のアドレス、及び要求するアクセスの内容を示すリクエスト種類を格納したパケット情報を記憶させる記憶工程と、
前記記憶工程により前記同期化バッファに記憶されたパケット情報のなかから一つを選択する選択工程と、
前記選択工程により選択されたパケット情報を用いて前記メモリに転送すべきパケットを擬似的に生成して出力するパケット生成工程と、を有し、
前記システムコントローラと前記Ｉ／Ｏコントローラ間のパケット転送を回避して、該Ｉ／Ｏコントローラとの接続用のインターフェイスを試験する、
を有することを特徴とするインターフェイス試験方法。
【００４１】
（付記５）
複数の外部装置が接続可能な半導体装置において、
前記接続可能な第１の外部装置とのインターフェイスを試験する場合に用意されるパケット情報を用いて、該第１の外部装置から接続された第２の外部装置への転送を想定したパケットを擬似的に生成するパケット生成手段と、
前記パケット生成手段が生成したパケットの第２の外部装置への転送による応答を監視する監視手段と、
を具備することを特徴とする半導体装置。
【００４２】
（付記６）
前記監視手段は、前記応答の監視結果を前記パケット生成手段による前記パケットの生成に反映させる、
ことを特徴とする付記５記載の半導体装置。
【００４３】
（付記７）
前記パケット内に格納される識別用の情報であるリクエストＩＤとして使用可能な数値毎に記憶領域を有し、該記憶領域毎に該記憶領域に対応する数値が該リクエストＩＤとして使用中か否かを示す状況情報が記憶される記憶手段を備え、
前記パケット生成手段は、前記記憶手段が有する記憶領域にそれぞれ記憶された状況情報を参照して、前記リクエストＩＤとして使用可能な数値を特定し、該特定した数値をリクエストＩＤとして格納させたパケットを生成すると共に、該リクエストＩＤとして格納させた数値に対応する該記憶領域に使用中を示す状況情報を記憶させ、
前記監視手段は、前記応答に対応するリクエストＩＤの数値を特定し、該特定した数値に対応する前記記憶領域に未使用を示す状況情報を記憶させ、
前記監視結果の前記パケットの生成への反映は、前記応答の監視により前記第２の外部装置が処理したことを確認したパケットのリクエストＩＤの数値に対応する前記記憶領域に未使用を示す状況情報を記憶させることで行う、
ことを特徴とする付記６記載の半導体装置。
【００４４】
（付記８）
前記パケット生成手段は、前記第１の外部装置とのパケットの転送を行う場合に用いられるクロックで動作する、
ことを特徴とする付記５記載の半導体装置。
【００４５】
（付記９）
前記パケット情報は、前記第１の外部装置へのパケット転送に用いる同期化用の同期化バッファ毎に格納され、
前記パケット生成手段は、前記同期化バッファに格納されたパケット情報のなかから選択されるパケット情報を用いて前記パケットを擬似的に生成する、
ことを特徴とする付記８記載の半導体装置。
【００４６】
（付記１０）
複数の外部装置が接続可能な半導体装置のインターフェイスを試験するための方法であって、
前記接続可能な第１の外部装置とのインターフェイスを試験する場合に用意されるパケット情報を用いて、該第１の外部装置から接続された第２の外部装置への転送を想定したパケットを擬似的に生成するパケット生成工程と、
前記パケット生成工程で生成したパケットの前記第２の外部装置への転送による応答を監視する監視工程と、を有し、
前記半導体装置と前記第１の外部装置間の実際のパケット転送を回避して、該半導体装置における該第１の外部装置との接続用のインターフェイスを試験する、
ことを特徴とするインターフェイス試験方法。
【図面の簡単な説明】
【００４７】
【図１】本実施形態による試験方法が適用されるデータ処理装置（コンピュータ）の構成を説明する図である。
【図２】本実施形態による半導体装置に搭載された同期化回路を示す図である。
【図３】擬似的なパケットの生成に用いるパケット情報のデータ構成を示す図である。
【図４】パケット情報を用いた擬似的パケットの生成によって行われるトランザクションフロー例を説明する図である。
【図５】擬似的なパケットの生成によって検証可能な内容を説明する図である。
【図６】システムコントローラに複数の半導体装置を接続することで構築されたデータ処理装置の構成を示す図である。
【図７】従来の半導体装置に搭載された同期化回路を示す図である。
【符号の説明】
【００４８】
１０      ＣＰＵ
２０      メモリ
３０      システムコントローラ
３１      同期化回路
２０１      バッファ（同期化バッファ）
２０２、２０５、２０６      ポインタ
２０３      デコーダ
２０４、２０７、２１２、２１３      セレクタ
２０８      パケット生成部
２０９      レジスタ
２１０      応答ＩＤ解析部
【図１】
0005439742.tif 000002
【図２】
0005439742.tif 000003
【図３】
0005439742.tif 000004
【図４】
0005439742.tif 000005
【図５】
0005439742.tif 000006
【図６】
0005439742.tif 000007
【図７】
0005439742.tif 000008