(57)【要約】  クロック調整回路１０２２−ｊ（ｊ＝１〜Ｎ）は、ＴＡＰ値ｊに基づいてクロック信号の位相を遅延させ、調整後クロック信号ｊを出力する。送信データを調整後クロック信号ｊに同期させることで、受信データｊ［１：０］が生成される。データ調整回路１０３１−ｊは、ＴＡＰ２値ｊに基づいて送信データを遅延させる。遅延した送信データを調整後クロック信号ｊに同期させることで、調整後受信データｊ［１：０］が生成される。データ調整制御回路１０３５−ｊは、受信データｊ［１：０］と調整後受信データｊ［１：０］の比較結果に基づいてＴＡＰ２値ｊを生成するとともに、ＴＡＰ値ｊの更新指示をクロック調整制御回路１０２３−ｊに出力する。
2009147697.tif 000002
【特許請求の範囲】
【請求項１】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置において、
前記データ送信装置は、
基準クロックを生成する基準クロック生成部と、
送信対象データと位相調整データを入力し、前記送信対象データと前記位相調整データのいずれかを選択する選択回路と、
前記選択回路が選択したデータを、前記基準クロックに同期させて、送信データとして出力する送信データ同期出力回路を有し、
前記データ受信装置は、
前記基準クロックを入力し、クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを出力するクロック位相調整回路と、
前記送信データを入力し、前記入力した送信データを、前記クロックに同期させて、受信データとして出力する受信データ出力部と、
前記送信データを入力し、データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを出力するデータ調整回路と、
前記調整対象受信データを入力し、前記入力した前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力する調整受信データ出力部と、
前記受信データと前記調整受信データを入力し、前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値として出力する比較部を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置はさらに、
前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記クロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記データ位相調整値を選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記比較部は、前記比較した結果に基づいて前記クロック位相調整値の更新情報を出力し、前記クロック位相調整回路は、前記更新情報に基づいて前記クロック位相調整値を更新することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置において、
前記データ送信装置は、
基準クロックを生成する基準クロック生成部と、
第１の送信対象データと位相調整データを入力し、前記第１の送信対象データと前記位相調整データのいずれかを選択する第１の選択回路と、
前記第１の選択回路が選択したデータを、前記基準クロックに同期させて、第１の送信データとして出力する第１の送信データ同期出力回路と、
第２の送信対象データと位相調整データを入力し、前記第２の送信対象データと前記位相調整データのいずれかを選択する第２の選択回路と、
前記第２の選択回路が選択したデータを、前記基準クロックに同期させて、第２の送信データとして出力する第２の送信データ同期出力回路を有し、
前記データ受信装置は、
前記基準クロックを入力し、第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを出力する第１のクロック位相調整回路と、
前記第１の送信データを入力し、前記入力された第１の送信データを、前記第１のクロックに同期させて、第１の受信データとして出力する第１の受信データ出力部と、
前記第１の送信データを入力し、第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを出力する第１のデータ調整回路と、
前記第１の調整対象受信データを入力し、前記第１のクロックに同期させて、第１の調整受信データとして出力する第１の調整受信データ出力部と、
前記第１の受信データと前記第１の調整受信データを入力し、前記第１の受信データと前記第１の調整受信データを比較し、前記比較した結果に基づいて前記第１のデータ位相調整値として出力する第１の比較部と、
前記基準クロックを入力し、第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを出力する第２のクロック位相調整回路と、
前記第２の送信データを入力し、前記入力された第２の送信データを、前記第２のクロックに同期させて、第２の受信データとして出力する第２の受信データ出力部と、
前記第２の送信データを入力し、第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを出力する第２のデータ調整回路と、
前記第２の調整対象受信データを入力し、前記第２のクロックに同期させて、第２の調整受信データとして出力する第２の調整受信データ出力部と、
前記第２の受信データと前記第２の調整受信データを入力し、前記第２の受信データと前記第２の調整受信データを比較し、前記比較した結果に基づいて前記第２のデータ位相調整値として出力する第２の比較部を有することを特徴とする情報処理装置。
【請求項５】
前記情報処理装置はさらに、
前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のクロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のデータ位相調整値を選択することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記第１の比較部は、前記比較した結果に基づいて前記第１のクロック位相調整値の更新情報を出力し、前記第１のクロック位相調整回路は、前記第１のクロック位相調整値の更新情報に基づいて前記第１のクロック位相調整値を更新し、前記第２の比較部は、前記比較した結果に基づいて前記第２のクロック位相調整値の更新情報を出力し、前記第２のクロック位相調整回路は、前記第２のクロック位相調整値の更新情報に基づいて前記第２のクロック位相調整値を更新することを特徴とする請求項４又は５記載の情報処理装置。
【請求項７】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値と同一であることを特徴とする請求項４又は５記載の情報処理装置。
【請求項８】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値とは異なることを特徴とする請求項４又は５記載の情報処理装置。
【請求項９】
データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置において、
基準クロックを入力し、クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを出力するクロック位相調整回路と、
前記データ送信装置から出力された送信データを入力し、前記入力した送信データを、前記クロックに同期させて、受信データとして出力する受信データ出力部と、
前記送信データを入力し、データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを出力するデータ調整回路と、
前記調整対象受信データを入力し、前記入力した前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力する調整受信データ出力部と、
前記受信データと前記調整受信データを入力し、前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値として出力する比較部を有することを特徴とするデータ受信装置。
【請求項１０】
前記データ受信装置はシステム制御装置に接続され、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記クロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記データ位相調整値を選択することを特徴とする請求項９記載のデータ受信装置。
【請求項１１】
前記比較部は、前記比較した結果に基づいて前記クロック位相調整値の更新情報を出力し、前記クロック位相調整回路は、前記更新情報に基づいて前記クロック位相調整値を更新することを特徴とする請求項９又は１０記載のデータ受信装置。
【請求項１２】
データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置において、
基準クロックを入力し、第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを出力する第１のクロック位相調整回路と、
前記データ送信装置から出力された第１の送信データを入力し、前記入力された第１の送信データを、前記第１のクロックに同期させて、第１の受信データとして出力する第１の受信データ出力部と、
前記第１の送信データを入力し、第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを出力する第１のデータ調整回路と、
前記第１の調整対象受信データを入力し、前記第１のクロックに同期させて、第１の調整受信データとして出力する第１の調整受信データ出力部と、
前記第１の受信データと前記第１の調整受信データを入力し、前記第１の受信データと前記第１の調整受信データを比較し、前記比較した結果に基づいて前記第１のデータ位相調整値として出力する第１の比較部と、
前記基準クロックを入力し、第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを出力する第２のクロック位相調整回路と、
前記データ送信装置から出力された第２の送信データを入力し、前記入力された第２の送信データを、前記第２のクロックに同期させて、第２の受信データとして出力する第２の受信データ出力部と、
前記第２の送信データを入力し、第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを出力する第２のデータ調整回路と、
前記第２の調整対象受信データを入力し、前記第２のクロックに同期させて、第２の調整受信データとして出力する第２の調整受信データ出力部と、
前記第２の受信データと前記第２の調整受信データを入力し、前記第２の受信データと前記第２の調整受信データを比較し、前記比較した結果に基づいて前記第２のデータ位相調整値として出力する第２の比較部を有することを特徴とするデータ受信装置。
【請求項１３】
前記データ受信装置はシステム制御装置に接続され、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のクロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のデータ位相調整値を選択することを特徴とする請求項１２記載のデータ受信装置。
【請求項１４】
前記第１の比較部は、前記比較した結果に基づいて前記第１のクロック位相調整値の更新情報を出力し、前記第１のクロック位相調整回路は、前記第１のクロック位相調整値の更新情報に基づいて前記第１のクロック位相調整値を更新し、前記第２の比較部は、前記比較した結果に基づいて前記第２のクロック位相調整値の更新情報を出力し、前記第２のクロック位相調整回路は、前記第２のクロック位相調整値の更新情報に基づいて前記第２のクロック位相調整値を更新することを特徴とする請求項１２又は１３記載のデータ受信装置。
【請求項１５】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値と同一であることを特徴とする請求項１２又は１３記載のデータ受信装置。
【請求項１６】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値とは異なることを特徴とする請求項１２又は１３記載のデータ受信装置。
【請求項１７】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置の制御方法において、
基準クロックを生成するステップと、
送信対象データと位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを生成するステップと、
前記送信データを前記クロックに同期させて、受信データとして出力するステップと、
データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを生成するステップと、
前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力するステップと、
前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値を生成するステップとを有することを特徴とする制御方法。
【請求項１８】
前記情報処理装置はさらに、前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記制御方法はさらに、
前記システム制御装置からの指示に基づいて、前記クロック位相調整値を選択するステップと、
前記システム制御装置からの指示に基づいて、前記データ位相調整値を選択するステップとを有することを特徴とする請求項１７記載の制御方法。
【請求項１９】
前記比較した結果に基づいて前記クロック位相調整値を更新するステップをさらに有することを特徴とする請求項１７又は１８記載の制御方法。
【請求項２０】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置の制御方法において、
基準クロックを生成するステップと、
第１の送信対象データと位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、第１の送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
第２の送信対象データと前記位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、第２の送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを生成するステップと、
前記第１の送信データを前記クロックに同期させて、第１の受信データとして出力するステップと、
第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを生成するステップと、
前記第１の調整対象受信データを前記第１のクロックに同期させて、第１の調整受信データとして出力するステップと、
前記第１の受信データと前記第１の調整受信データを比較するとともに、前記比較した結果に基づいて前記第１のデータ位相調整値を生成するステップと、
第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを生成するステップと、
前記第２の送信データを前記クロックに同期させて、第２の受信データとして出力するステップと、
第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを生成するステップと、
前記第２の調整対象受信データを前記第２のクロックに同期させて、第２の調整受信データとして出力するステップと、
前記第２の受信データと前記第２の調整受信データを比較するとともに、前記比較した結果に基づいて前記第２のデータ位相調整値を生成するステップとを有することを特徴とする制御方法。
【請求項２１】
前記情報処理装置はさらに、前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記制御方法はさらに、
前記システム制御装置からの指示に基づいて、前記第１及び第２のクロック位相調整値を選択するステップと、
前記システム制御装置からの指示に基づいて、前記第１及び第２のデータ位相調整値を選択するステップとを有することを特徴とする請求項２０記載の制御方法。
【請求項２２】
前記第１の受信データと前記第１の調整受信データを比較した結果に基づいて、前記第１のクロック位相調整値を更新するステップと、
前記第２の受信データと前記第２の調整受信データを比較した結果に基づいて、前記第２のクロック位相調整値を更新するステップとをさらに有することを特徴とする請求項２０又は２１記載の制御方法。
【請求項２３】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値と同一であることを特徴とする請求項２０又は２１記載の制御方法。
【請求項２４】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値とは異なることを特徴とする請求項２０又は２１記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送信装置と、そのデータ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置、及び、その情報処理装置の制御方法に関する。
【背景技術】
【０００２】
図１は、コンピュータシステムの構成例を示している。このコンピュータシステムは、システムボード（ＳＢ）＃０〜＃７、入出力ユニット（ＩＯＵ）＃０〜＃７、メモリシステム相互接続ボード１０１、及び管理ボード１０２を備える。【０００３】
各ＳＢ＃ｉ（ｉ＝０〜７）は、メモリ１１１、中央処理装置（ＣＰＵ）１１２、及びチップセット１１３を搭載し、各ＩＯＵ＃ｉ（ｉ＝０〜７）は、ＰＣＩ（Peripheral Components Interconnect）カード１３１、ハードディスク装置１３２、及びチップセット１３３を搭載する。【０００４】
メモリシステム相互接続ボード１０１は、チップセット１２１を搭載し、ＳＢ＃０〜＃７及びＩＯＵ＃０〜＃７を相互に接続する。管理ボード１０２は、それぞれのチップセット１１３、１３３、及び１２１に接続されたコントローラ１４１を搭載し、システム制御を行う。コントローラ１４１は、例えば、ファームウェアとして実装される。【０００５】
チップセット１１３、１３３、及び１２１は、制御ＬＳＩ（Large Scale Integration ）である。チップセット１１３は送受信部１１４を含み、チップセット１２１は送受信部１２２及び１２３を含み、チップセット１３３は送受信部１３４を含む。これらのチップセットは送受信部を介して相互に接続されており、チップセット間でデータの送受信が行われる。【０００６】
図２は、従来の送信チップと受信チップの構成例を示している。送信チップ２０１は、送信側の送受信部に対応し、受信チップ２０２は、受信側の送受信部に対応する。送信チップ２０１と受信チップ２０２は、クロック信号線とＮ本（Ｎは正の整数）のデータ信号線により接続されている。【０００７】
送信チップ２０１は、位相同期回路（ＰＬＬ）２１１、クロック出力回路２１２、パターン生成回路２１３、データ選択回路２１４−１〜２１４−Ｎ、フリップフロップ回路２１５−１〜２１５−Ｎ、２１６−１〜２１６−Ｎ、ビット選択回路２１７−１〜２１７−Ｎ、データ出力回路２１８−１〜２１８−Ｎ、及び送信部制御回路２１９を備える。【０００８】
送信部制御回路２１９は、コントローラ１４１からのトレーニング開始指示信号に従って、パターン選択信号をパターン生成回路２１３に出力し、データ選択信号をデータ選択回路２１４−１〜２１４−Ｎに出力する。【０００９】
ＰＬＬ２１１は、クロック信号を生成し、クロック出力回路２１２、フリップフロップ回路２１５−１〜２１５−Ｎ、２１６−１〜２１６−Ｎ、及びビット選択回路２１７−１〜２１７−Ｎに出力する。クロック出力回路２１２は、クロック信号を受信チップ２０２に出力する。【００１０】
パターン生成回路２１３は、パターン選択信号に従って２ビットのトレーニングパターン［１：０］を生成し、データ選択回路２１４−１〜２１４−Ｎに出力する。トレーニングパターン［１：０］は、チップ間で予め決められたデータ列であり、位相調整時に使用される。【００１１】
各データ選択回路２１４−ｊ（ｊ＝１〜Ｎ）は、データ選択信号に従って、２ビットの送信データ［１：０］又はトレーニングパターン［１：０］のいずれかの信号を選択する。そして、選択した信号のビット０及び１の値をフリップフロップ回路２１５−ｊ及び２１６−ｊにそれぞれ出力する。【００１２】
各フリップフロップ回路２１５−ｊは、クロック信号に同期してビット０の値をラッチし、ビット選択回路２１７−ｊに出力する。各フリップフロップ回路２１６−ｊは、クロック信号に同期してビット１の値をラッチし、ビット選択回路２１７−ｊに出力する。【００１３】
各ビット選択回路２１７−ｊは、クロック信号の値に従って、フリップフロップ回路２１５−ｊ又は２１６−ｊのいずれかの出力信号を選択し、データ出力回路２１８−ｊに出力する。この例では、クロック信号が論理“１”のとき、フリップフロップ回路２１５−ｊの出力信号が選択され、クロック信号が論理“０”のとき、フリップフロップ回路２１６−ｊの出力信号が選択される。各データ出力回路２１８−ｊは、ビット選択回路２１７−ｊの出力信号を、データ信号として受信チップ２０２に出力する。【００１４】
受信チップ２０２は、クロック入力回路２２１、クロック調整回路２２２−１〜２２２−Ｎ、クロック調整制御回路２２３−１〜２２３−Ｎ、パターン検出回路２２４−１〜２２４−Ｎ、データ入力回路２２５−１〜２２５−Ｎ、フリップフロップ回路２２６−１〜２２６−Ｎ、２２７−１〜２２７−Ｎ、２２８−１〜２２８−Ｎ、及び受信部制御回路２２９を備える。【００１５】
受信部制御回路２２９は、コントローラ１４１からのトレーニング開始指示信号に従って、クロック調整指示信号をクロック調整制御回路２２３−１〜２２３−Ｎに出力する。
送信チップ２０１から出力されたクロック信号はクロック入力回路２２１に入力され、クロック入力回路２２１は、入力されたクロック信号をクロック調整回路２２２−１〜２２２−Ｎに出力する。【００１６】
各クロック調整回路２２２−ｊは、クロック調整制御回路２２３−ｊからのＴＡＰ値ｊに応じてクロック信号の位相を遅延させ、調整後クロック信号ｊを生成する。そして、調整後クロック信号ｊをクロック調整制御回路２２３−ｊ及びフリップフロップ回路２２６−ｊ、２２７−ｊ、２２８−ｊに出力する。【００１７】
送信チップ２０１のデータ出力回路２１８−ｊから出力されたデータ信号はデータ入力回路２２５−ｊに入力され、データ入力回路２２５−ｊは、入力されたデータ信号をフリップフロップ回路２２６−ｊ及び２２８−ｊに出力する。【００１８】
フリップフロップ回路２２６−ｊは、調整後クロック信号ｊの反転信号に同期してデータ信号をラッチし、フリップフロップ回路２２７−ｊに出力する。フリップフロップ回路２２７−ｊは、調整後クロック信号ｊに同期してフリップフロップ回路２２６−ｊの出力信号をラッチし、受信データのビット０の値として出力する。フリップフロップ回路２２８−ｊは、調整後クロック信号ｊに同期してデータ信号をラッチし、受信データのビット１の値として出力する。こうして、２ビットの受信データｊ［１：０］が生成される。【００１９】
パターン検出回路２２４−ｊは、受信データｊ［１：０］のパターンを検出し、調整パターン検出信号ｊをクロック調整制御回路２２３−ｊに出力し、終了パターン検出信号ｊを受信部制御回路２２９に出力する。【００２０】
各クロック調整制御回路２２３−ｊは、クロック調整指示信号に従って位相調整を開始し、パターン検出回路２２４−ｊからの調整パターン検出信号ｊに応じてＴＡＰ値ｊを増減させる。そして、ＴＡＰ値ｊをクロック調整回路２２２−ｊに出力する。【００２１】
チップ間のデータ伝送では、マージン確保のためデータ波形の中心にクロック信号のエッジを合わせて、クロック信号をフリップフロップ回路２２６−ｊ、２２７−ｊ、及び２２８−ｊに入力する必要がある。そこで、通常、既知のトレーニングパターン［１：０］を使って、クロック信号の位相調整が行われる。位相調整時には、送信チップ２０１はトレーニングパターン［１：０］を選択して出力する。そして、受信チップ２０２は、ＴＡＰ値ｊを変えながらトレーニングパターン［１：０］を受信し、パターン検出結果に応じてデータ波形の中心に対応するＴＡＰ値を算出する。【００２２】
図３は、図２のパターン生成回路２１３の構成例を示している。パターン生成回路２１３は、調整パターン格納部３０１、終了パターン格納部３０２、及びパターン選択回路３０３を備える。【００２３】
調整パターン格納部３０１は、２ビットの調整パターン‘１０’を格納し、その調整パターンをパターン選択回路３０３に出力する。終了パターン格納部３０２は、２ビットの終了パターン‘１１’を格納し、その終了パターンをパターン選択回路３０３に出力する。パターン選択回路３０３は、送信部制御回路２１９からのパターン選択信号に従っていずれかのパターンを選択し、トレーニングパターン［１：０］として出力する。【００２４】
図４は、図２のパターン検出回路２２４−ｊの構成例を示している。パターン検出回路２２４−ｊは、調整パターン格納部４０１、終了パターン格納部４０２、及びコンパレータ４０３、４０４を備える。【００２５】
調整パターン格納部４０１は、調整パターン‘１０’を格納し、その調整パターンをコンパレータ４０３に出力する。終了パターン格納部３０２は、終了パターン‘１１’を格納し、その終了パターンをコンパレータ４０４に出力する。【００２６】
コンパレータ４０３は、受信データｊ［１：０］と調整パターン‘１０’を比較し、両者が一致すれば、パターン検出結果がＯＫであることを示す調整パターン検出信号ｊ（例えば、論理“１”）を出力する。一方、両者が一致しなければ、パターン検出結果がＮＧであることを示す調整パターン検出信号ｊ（例えば、論理“０”）を出力する。【００２７】
コンパレータ４０４は、受信データｊ［１：０］と終了パターン‘１０’を比較し、両者が一致すれば、パターン検出結果がＯＫであることを示す終了パターン検出信号ｊ（例えば、論理“１”）を出力する。一方、両者が一致しなければ、パターン検出結果がＮＧであることを示す終了パターン検出信号ｊ（例えば、論理“０”）を出力する。【００２８】
図５は、図２のクロック調整回路２２２−ｊの構成例を示している。クロック調整回路２２２−ｊは、ディレイラインとデコーダ５０２を備える。ディレイラインは、バッファ回路５０１−０〜５０１−６、スイッチｓｗ０〜ｓｗ６、及びキャパシタ５０３−０〜５０３−６からなる。【００２９】
デコーダ５０２は、クロック調整制御回路２２３−ｊからのＴＡＰ値ｊに応じてスイッチｓｗ０〜ｓｗ６をオン／オフすることで、ディレイラインの負荷容量を変化させる。これにより、ディレイラインの遅延量が制御され、入力クロック信号の位相が変化する。【００３０】
図６は、ＴＡＰ値ｊと、デコーダ５０２からスイッチｓｗ０〜ｓｗ６に出力される切替信号の対応関係を示している。スイッチｓｗｋ（ｋ＝０〜６）は、入力される切替信号が論理“１”のときオンとなり、論理“０”のときオフとなる。オンとなるスイッチの数が多いほど、負荷容量は大きくなり、遅延量も大きくなる。逆に、オフとなるスイッチの数が多いほど、負荷容量は小さくなり、遅延量も小さくなる。この例では、０〜７のいずれかの値を表す３ビットのＴＡＰ値ｊ［２：０］により、８段階の遅延量のいずれかを設定することができる。【００３１】
図７は、図２のクロック調整制御回路２２３−ｊの構成例を示している。クロック調整制御回路２２３−ｊは、インクリメンタ７０１、デクリメンタ７０２、ＴＡＰ値選択回路７０３、フリップフロップ回路７０４、７０５、７０６、加算回路７０７、除算回路７０８、及びＴＡＰ制御回路７０９を備える。【００３２】
ＴＡＰ制御回路７０９は、受信部制御回路２２９からのクロック調整指示信号に従って位相調整を開始する。そして、パターン検出回路２２４−ｊからの調整パターン検出信号ｊに応じて、ＴＡＰ値選択信号をＴＡＰ値選択回路７０３に出力し、ＴＡＰ値セット信号をフリップフロップ回路７０５及び７０６に出力する。【００３３】
インクリメンタ７０１は、フリップフロップ回路７０４から出力されるＴＡＰ値に１を加算してＴＡＰ値選択回路７０３に出力し、デクリメンタ７０２は、フリップフロップ回路７０４から出力されるＴＡＰ値から１を減算してＴＡＰ値選択回路７０３に出力する。【００３４】
ＴＡＰ値選択回路７０３は、ＴＡＰ値選択信号に従って、フリップフロップ回路７０４、インクリメンタ７０１、デクリメンタ７０２、又は除算回路７０８から出力されるいずれかのＴＡＰ値を選択し、フリップフロップ回路７０４に出力する。【００３５】
フリップフロップ回路７０４は、調整後クロック信号ｊに同期して、ＴＡＰ値選択回路７０３から出力されるＴＡＰ値をラッチし、ＴＡＰ値ｊとして出力する。フリップフロップ回路７０５は、調整後クロック信号ｊに同期してＴＡＰ値ｊをラッチし、上限値として加算回路７０７に出力する。フリップフロップ回路７０６は、調整後クロック信号ｊに同期してＴＡＰ値ｊをラッチし、下限値として加算回路７０７に出力する。また、フリップフロップ回路７０５及び７０６は、それぞれのＴＡＰ値セット信号に従って上限値及び下限値を保持する。【００３６】
加算回路７０７は、フリップフロップ回路７０５から出力される上限値とフリップフロップ回路７０６から出力される下限値を加算し、加算結果を除算回路７０８に出力する。除算回路７０８は、その加算結果の半分の値をＴＡＰ値選択回路７０３に出力する。【００３７】
図８は、ＴＡＰ制御回路７０９の動作のフローチャートである。ＴＡＰ制御回路７０９は、受信部制御回路２２９からクロック調整指示信号を受信すると（ステップ８０１）、ＴＡＰ中心値４を選択するＴＡＰ値選択信号を出力する（ステップ８０２）。【００３８】
次に、パターン検出回路２２４−ｊからの調整パターン検出信号ｊに基づいて、パターン検出結果を判定する（ステップ８０３）。パターン検出結果がＯＫであれば、より小さなＴＡＰ値を選択するＴＡＰ値選択信号を出力する（ステップ８０４）。これにより、デクリメンタ７０２から出力されるＴＡＰ値が、ＴＡＰ値ｊとしてクロック調整回路２２２−ｊに出力される。【００３９】
次に、調整パターン検出信号ｊに基づいてパターン検出結果を判定し（ステップ８０５）、パターン検出結果がＯＫであれば、ステップ８０４の動作を繰り返す。そして、パターン検出結果がＮＧになると、ＴＡＰ値セット信号をフリップフロップ回路７０６に出力する（ステップ８０８）。これにより、現在のＴＡＰ値ｊが下限値としてフリップフロップ回路７０６にセットされる。【００４０】
一方、ステップ８０３においてパターン検出結果がＮＧであれば、より大きなＴＡＰ値を選択するＴＡＰ値選択信号を出力する（ステップ８０６）。これにより、インクリメンタ７０１から出力されるＴＡＰ値が、ＴＡＰ値ｊとしてクロック調整回路２２２−ｊに出力される。【００４１】
次に、調整パターン検出信号ｊに基づいてパターン検出結果を判定し（ステップ８０７）、パターン検出結果がＮＧであれば、ステップ８０６の動作を繰り返す。そして、パターン検出結果がＯＫになると、ＴＡＰ値セット信号をフリップフロップ回路７０６に出力する（ステップ８０８）。【００４２】
ステップ８０８において下限値がセットされると、次に、より大きなＴＡＰ値を選択するＴＡＰ値選択信号を出力し（ステップ８０９）、調整パターン検出信号ｊに基づいてパターン検出結果を判定する（ステップ８１０）。パターン検出結果がＯＫであれば、ステップ８０９の動作を繰り返し、パターン検出結果がＮＧになると、ＴＡＰ値セット信号をフリップフロップ回路７０５に出力する（ステップ８１１）。これにより、現在のＴＡＰ値ｊが上限値としてフリップフロップ回路７０５にセットされる。【００４３】
次に、ＴＡＰ最適値を選択するＴＡＰ値選択信号を出力する（ステップ８１２）。これにより、セットされた上限値と下限値の平均値が選択され、データ波形の中心に対応するＴＡＰ値としてクロック調整回路２２２−ｊに出力される。【００４４】
図９は、図２のコントローラ１４１、送信チップ２０１、及び受信チップ２０２による位相調整動作のフローチャートである。送信部制御回路２１９と受信部制御回路２２９は、初期化時は外部からの指示で位相調整を開始し、運用時はタイマで定期的に位相調整を開始する。【００４５】
コンピュータシステムの電源がオンになると（ステップ９０１）、コントローラ１４１は、トレーニング開始指示信号を送信部制御回路２１９と受信部制御回路２２９に出力する。【００４６】
送信部制御回路２１９は、調整パターンを選択するパターン選択信号をパターン生成回路２１３に出力し、トレーニングパターン［１：０］を選択するデータ選択信号をデータ選択回路２１４−１〜２１４−Ｎに出力する。これにより、調整パターンがトレーニングパターン［１：０］として、受信チップ２０２に転送される（ステップ９０２）。【００４７】
受信部制御回路２２９は、クロック調整指示信号をクロック調整制御回路２２３−１〜２２３−Ｎに出力する。これにより、図８に示した動作が開始され、クロック信号の位相調整が行われる（ステップ９０３）。【００４８】
そして、位相調整が終了すると（ステップ９０４）、送信部制御回路２１９は、終了パターンを選択するパターン選択信号をパターン生成回路２１３に出力し、タイマを初期化する。これにより、終了パターンがトレーニングパターン［１：０］として、受信チップ２０２に転送される（ステップ９０５）。【００４９】
パターン検出回路２２４−１〜２２４−Ｎは、位相調整が終了したことを示す終了パターン検出信号１〜Ｎを受信部制御回路２２９に出力し、受信部制御回路２２９は、タイマを初期化する（ステップ９０６）。これにより、送信部制御回路２１９と受信部制御回路２２９のタイマのカウント動作が満了するまで、調整後クロック信号１〜Ｎを用いた通常運用が行われる（ステップ９０７）。【００５０】
そして、送信部制御回路２１９と受信部制御回路２２９のタイマのカウント動作が満了すると（ステップ９０８）、ステップ９０２以降の動作が繰り返される。このように、送信部制御回路２１９と受信部制御回路２２９は、初期化時だけでなく運用時においてもステップ９０２〜９０５の動作を行って、クロック信号の位相を再調整する。【００５１】
図１０は、図２の受信チップ２０２における位相調整動作の例を示すタイミングチャートである。位相調整時には、送信チップ２０１のデータ出力回路２１８−ｊから調整パターン‘１０’が繰り返し出力され、受信チップ２０２のデータ入力回路２２５−ｊには、‘０１０１０１・・・’のような繰り返しパターンが入力される。【００５２】
このとき、クロック入力回路２２１とデータ入力回路２２５−ｊの出力波形は、（１）に示すようになる。期待される動作は、クロック信号のダウンエッジでデータ‘０’を受信し、アップエッジでデータ‘１’を受信することである。【００５３】
クロック調整回路２２２−ｊによりクロック信号の位相を少し進めると、調整後クロック信号ｊ、受信データｊ［１］、受信データｊ［０］（ＦＦ１段目）、受信データｊ［０］（ＦＦ２段目）、及び調整パターン検出信号ｊの波形は、（２）に示すようになる。受信データｊ［１］は、フリップフロップ回路２２８−ｊの出力信号を表し、受信データｊ［０］（ＦＦ１段目）及び受信データｊ［０］（ＦＦ２段目）は、それぞれフリップフロップ回路２２６−ｊ及び２２７−ｊの出力信号を表す。【００５４】
この場合、フリップフロップ回路２２６−ｊは、調整後クロック信号ｊのダウンエッジでデータ‘０’を受信し、フリップフロップ回路２２８−ｊは、調整後クロック信号ｊのアップエッジでデータ‘１’を受信している。このため、受信データｊ［１：０］は調整パターン‘１０’と一致する。したがって、調整パターン検出信号ｊはＯＫを示している。【００５５】
クロック調整回路２２２−ｊによりクロック信号の位相をさらに進めると、それぞれの信号の波形は（３）に示すようになる。この場合、調整後クロック信号ｊのダウンエッジがデータ‘０’よりも前になってしまい、ダウンエッジでデータ‘１’を受信している。同様に、調整後クロック信号ｊのアップエッジがデータ‘１’よりも前になってしまい、アップエッジでデータ‘０’を受信している。このため、受信データｊ［１：０］は‘０１’となり、調整パターン‘１０’と一致しない。したがって、調整パターン検出信号ｊはＮＧを示している。【００５６】
一方、クロック調整回路２２２−ｊによりクロック信号の位相を遅らせると、それぞれの信号の波形は（４）に示すようになる。この場合、調整後クロック信号ｊのダウンエッジがデータ‘０’よりも後になってしまい、ダウンエッジでデータ‘１’を受信している。同様に、調整後クロック信号ｊのアップエッジがデータ‘１’よりも後になってしまい、アップエッジでデータ‘０’を受信している。このため、受信データｊ［１：０］は‘０１’となり、調整パターン‘１０’と一致しない。したがって、調整パターン検出信号ｊはＮＧを示している。【００５７】
（１）〜（４）に示したように、クロック調整回路２２２−ｊでクロック信号の位相を変更しながら、受信データ［１：０］を調整パターン‘１０’と比較することで、各位相に対するパターン検出結果（ＯＫ又はＮＧ）が判明する。パターン検出結果がＯＫとなったＴＡＰ値の範囲の中心値がデータ波形中心に対応することから、中心値を算出することで位相調整が完了する。位相調整完了後のそれぞれの信号の波形は（５）に示すようになる。【００５８】
上述したようなクロック信号の位相調整以外にも、パラレルデータのビット間の位相補正を行う技術が知られている（例えば、特許文献１及び２を参照）。
しかしながら、上述した従来の位相調整方法には、次のような問題がある。
（１）温度変動、電源電圧変動、ＰＬＬのジッタによるクロック変動等により、クロック信号とデータ信号の位相関係は時間的に変化するため、徐々に最適位相からずれていくことになる。このため、伝送できないほどのずれが生じる前に、たとえ運用中であっても再調整が必要となる。位相調整を行う際は通常データの転送を一時的に停止し、トレーニングパターンを送信する必要があるため、データ転送性能が低下することになる。特に伝送速度が上昇してくると、高い頻度での再調整が必要となり、データ転送性能への影響が大きくなる。
（２）上述したように、位相調整は定期的にしか行われないため、クロック信号のエッジがデータ波形中心に常時追従せず、ある程度のずれを許容することになる。このため、クロック信号とデータ信号の位相関係の変動が大きい場合は、エラー頻度が増大する。
【特許文献１】特開平５−１４５５３７号公報
【特許文献２】特開２００４−５３１１１７号公報
【発明の開示】
【００５９】
本発明の課題は、データ送信装置とデータ受信装置の間で通常データの転送を停止することなく、クロック信号とデータ信号の位相関係を調整することである。
開示の情報処理装置は、データ送信装置と、そのデータ送信装置に接続され、データ送信装置が出力するデータを受信するデータ受信装置を有する。
【００６０】
データ送信装置は、基準クロック生成部、選択回路、及び送信データ同期出力回路を有する。基準クロック生成部は、基準クロックを生成し、選択回路は、送信対象データと位相調整データを入力し、送信対象データと位相調整データのいずれかを選択する。送信データ同期出力回路は、選択回路が選択したデータを、基準クロックに同期させて、送信データとして出力する。
【００６１】
データ受信装置は、クロック位相調整回路、受信データ出力部、データ調整回路、調整受信データ出力部、及び比較部を有する。クロック位相調整回路は、基準クロックを入力し、クロック位相調整値に基づいて、基準クロックの位相を遅延させたクロックを出力する。受信データ出力部は、送信データを入力し、入力した送信データを、遅延させたクロックに同期させて、受信データとして出力する。
【００６２】
データ調整回路は、送信データを入力し、データ位相調整値に基づいて、送信データを遅延させた調整対象受信データを出力する。調整受信データ出力部は、調整対象受信データを入力し、入力した調整対象受信データを遅延させたクロックに同期させて、調整受信データとして出力する。比較部は、受信データと調整受信データを入力し、受信データと調整受信データを比較するとともに、比較した結果に基づいてデータ位相調整値として出力する。
【００６３】
このような構成によれば、クロック位相調整値に基づいて位相調整されたクロックを使用しながら、データ送信装置からデータ受信装置に出力される送信データの位相調整が行われる。これにより、データ位相調整結果をクロック位相調整に反映させることが可能になり、例えば、比較部による比較結果に基づいてクロック位相調整値を更新することができる。受信データと調整受信データを比較することでデータ位相調整が行われるため、受信データがトレーニングパターンである必要はなく、通常データであってもよい。
【００６４】
基準クロックは、例えば、後述するＰＬＬ１０１１が出力するクロック信号に対応し、送信対象データは、例えば、後述する送信データ１［１：０］〜送信データＮ［１：０］のいずれかに対応する。位相調整データは、例えば、後述するパターン生成回路１０１３が出力するトレーニングパターン［１：０］に対応する。
【００６５】
クロック位相調整値は、例えば、後述するＴＡＰ値１〜ＴＡＰ値Ｎのいずれかに対応し、データ位相調整値は、例えば、後述するＴＡＰ２値１〜ＴＡＰ２値Ｎのいずれかに対応する。調整対象受信データは、例えば、後述するデータ調整回路１０３１−１〜１０３１−Ｎのいずれかが出力するデータ信号に対応し、調整受信データは、例えば、後述する調整後受信データ１［１：０］〜調整後受信データＮ［１：０］のいずれかに対応する。
【００６６】
別の態様によれば、データ送信装置は、基準クロック生成部、第１の選択回路、第２の選択回路、第１の送信データ同期出力回路、及び第２の送信データ同期出力回路を有する。また、データ受信装置は、第１のクロック位相調整回路、第２のクロック位相調整回路、第１の受信データ出力部、第２の受信データ出力部、第１のデータ調整回路、第２のデータ調整回路、第１の調整受信データ出力部、第２の調整受信データ出力部、第１の比較部、及び第２の比較部を有する。
【００６７】
基準クロック生成部は、基準クロックを生成する。第１の選択回路は、第１の送信対象データと位相調整データを入力し、第１の送信対象データと位相調整データのいずれかを選択する。第１の送信データ同期出力回路は、第１の選択回路が選択したデータを、基準クロックに同期させて、第１の送信データとして出力する。
【００６８】
第２の選択回路は、第２の送信対象データと位相調整データを入力し、第２の送信対象データと位相調整データのいずれかを選択する。第２の送信データ同期出力回路は、第２の選択回路が選択したデータを、基準クロックに同期させて、第２の送信データとして出力する。
【００６９】
第１のクロック位相調整回路は、基準クロックを入力し、第１のクロック位相調整値に基づいて、基準クロックの位相を遅延させた第１のクロックを出力する。第１の受信データ出力部は、第１の送信データを入力し、入力された第１の送信データを、第１のクロックに同期させて、第１の受信データとして出力する。
【００７０】
第１のデータ調整回路は、第１の送信データを入力し、第１のデータ位相調整値に基づいて、第１の送信データを遅延させた第１の調整対象受信データを出力する。第１の調整受信データ出力部は、第１の調整対象受信データを入力し、第１のクロックに同期させて、第１の調整受信データとして出力する。第１の比較部は、第１の受信データと第１の調整受信データを入力し、第１の受信データと第１の調整受信データを比較し、比較した結果に基づいて第１のデータ位相調整値として出力する。
【００７１】
第２のクロック位相調整回路は、基準クロックを入力し、第２のクロック位相調整値に基づいて、基準クロックの位相を遅延させた第２のクロックを出力する。第２の受信データ出力部は、第２の送信データを入力し、入力された第２の送信データを、第２のクロックに同期させて、第２の受信データとして出力する。
【００７２】
第２のデータ調整回路は、第２の送信データを入力し、第２のデータ位相調整値に基づいて、第２の送信データを遅延させた第２の調整対象受信データを出力する。第２の調整受信データ出力部は、第２の調整対象受信データを入力し、第２のクロックに同期させて、第２の調整受信データとして出力する。第２の比較部は、第２の受信データと第２の調整受信データを入力し、第２の受信データと第２の調整受信データを比較し、比較した結果に基づいて第２のデータ位相調整値として出力する。
【００７３】
このような構成によれば、第１及び第２のクロック位相調整値に基づいて位相調整された第１及び第２のクロックを使用しながら、データ送信装置からデータ受信装置に出力される第１及び第２の送信データの位相調整が行われる。
【００７４】
これにより、データ位相調整結果をクロック位相調整に反映させることが可能になり、例えば、第１及び第２の比較部による比較結果に基づいて第１及び第２のクロック位相調整値を更新することができる。第１及び第２の受信データと第１及び第２の調整受信データを比較することでデータ位相調整が行われるため、第１及び第２の受信データがトレーニングパターンである必要はなく、通常データであってもよい。
【００７５】
基準クロックは、例えば、後述するＰＬＬ１０１１が出力するクロック信号に対応し、第１及び第２の送信対象データは、例えば、後述する送信データ１［１：０］〜送信データＮ［１：０］のいずれかに対応する。位相調整データは、例えば、後述するパターン生成回路１０１３が出力するトレーニングパターン［１：０］に対応する。
【００７６】
第１及び第２のクロック位相調整値は、例えば、後述するＴＡＰ値１〜ＴＡＰ値Ｎのいずれかに対応し、第１及び第２のデータ位相調整値は、例えば、後述するＴＡＰ２値１〜ＴＡＰ２値Ｎのいずれかに対応する。第１及び第２の調整対象受信データは、例えば、後述するデータ調整回路１０３１−１〜１０３１−Ｎのいずれかが出力するデータ信号に対応し、第１及び第２の調整受信データは、例えば、後述する調整後受信データ１［１：０］〜調整後受信データＮ［１：０］のいずれかに対応する。
【００７７】
開示の情報処理装置によれば、通常データの転送を停止することなく、常時、クロック信号の位相調整を行うことができる。したがって、位相調整性能及びデータ転送性能が向上する。
【図面の簡単な説明】
【００７８】
【図１】コンピュータシステムの構成図である。
【図２】従来の送信チップと受信チップの構成図である。
【図３】従来のパターン生成回路の構成図である。
【図４】従来のパターン検出回路の構成図である。
【図５】従来のクロック調整回路の構成図である。
【図６】従来のデコーダの出力を示す図である。
【図７】従来のクロック調整制御回路の構成図である。
【図８】従来のＴＡＰ制御回路の動作のフローチャートである。
【図９】従来の位相調整動作のフローチャートである。
【図１０】従来の位相調整動作のタイミングチャートである。
【図１１】実施形態の送信チップと受信チップの構成図である。
【図１２】実施形態のクロック調整制御回路の構成図である。
【図１３】実施形態のＴＡＰ制御回路の初期化時動作のフローチャートである。
【図１４】実施形態のＴＡＰ制御回路の運用時動作のフローチャートである。
【図１５】実施形態のデータ調整回路の構成図である。
【図１６】実施形態のデコーダの出力を示す図である。
【図１７】実施形態のデータ調整制御回路の構成図である。
【図１８】実施形態のＴＡＰ２制御回路の動作のフローチャートである。
【図１９】実施形態の位相調整動作のフローチャートである。
【図２０】実施形態の位相調整動作のタイミングチャートである。
【発明を実施するための最良の形態】
【００７９】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
図１１は、実施形態の送信チップと受信チップの構成例を示している。送信チップ１００１と受信チップ１００２は、クロック信号線とＮ本のデータ信号線により接続されている。【００８０】
送信チップ１００１は、位相同期回路（ＰＬＬ）１０１１、クロック出力回路１０１２、パターン生成回路１０１３、データ選択回路１０１４−１〜１０１４−Ｎ、フリップフロップ回路１０１５−１〜１０１５−Ｎ、１０１６−１〜１０１６−Ｎ、ビット選択回路１０１７−１〜１０１７−Ｎ、データ出力回路１０１８−１〜１０１８−Ｎ、及び送信部制御回路１０１９を備える。【００８１】
受信チップ１００２は、クロック入力回路１０２１、クロック調整回路１０２２−１〜１０２２−Ｎ、クロック調整制御回路１０２３−１〜１０２３−Ｎ、パターン検出回路１０２４−１〜１０２４−Ｎ、データ入力回路１０２５−１〜１０２５−Ｎ、フリップフロップ回路１０２６−１〜１０２６−Ｎ、１０２７−１〜１０２７−Ｎ、１０２８−１〜１０２８−Ｎ、受信部制御回路１０２９、及び常時調整部１０３０−１〜１０３０−Ｎを備える。【００８２】
このうち、パターン生成回路１０１３は図３と同様の構成を有し、パターン検出回路１０２４−１〜１０２４−Ｎは図４と同様の構成を有し、クロック調整回路１０２２−１〜１０２２−Ｎは図５と同様の構成を有する。また、送信部制御回路１０１９、受信部制御回路１０２９、クロック調整制御回路１０２３−１〜１０２３−Ｎ、及び常時調整部１０３０−１〜１０３０−Ｎ以外の回路の動作は、図２に示した回路と同様である。【００８３】
送信部制御回路１０１９は、コントローラ１４１からのトレーニング開始指示信号に従って、パターン選択信号をパターン生成回路１０１３に出力し、データ選択信号をデータ選択回路１０１４−１〜１０１４−Ｎに出力する。【００８４】
各常時調整部１０３０−ｊ（ｊ＝１〜Ｎ）は、データ調整回路１０３１−ｊ、フリップフロップ回路１０３２−ｊ、１０３３−ｊ、１０３４−ｊ、及びデータ調整制御回路１０３５−ｊを備える。【００８５】
受信部制御回路１０２９は、コントローラ１４１からのトレーニング開始指示信号に従って、クロック調整指示信号をクロック調整制御回路１０２３−１〜１０２３−Ｎに出力する。そして、運用開始後の常時位相調整時には、データ調整指示信号をデータ調整制御回路１０３５−１〜１０３５−Ｎに出力する。【００８６】
各データ調整回路１０３１−ｊは、データ調整制御回路１０３５−ｊからのＴＡＰ２値ｊに応じて、データ入力回路１０２５−ｊから出力されるデータ信号の位相を遅延させ、遅延したデータ信号をフリップフロップ回路１０３２−ｊ及び１０３４−ｊに出力する。【００８７】
フリップフロップ回路１０３２−ｊは、調整後クロック信号ｊの反転信号に同期してデータ信号をラッチし、フリップフロップ回路１０３３−ｊに出力する。フリップフロップ回路１０３３−ｊは、調整後クロック信号ｊに同期してフリップフロップ回路１０３２−ｊの出力信号をラッチし、調整後受信データのビット０の値として出力する。フリップフロップ回路１０３４−ｊは、調整後クロック信号ｊに同期してデータ信号をラッチし、調整後受信データのビット１の値として出力する。こうして、２ビットの調整後受信データｊ［１：０］が生成され、データ調整制御回路１０３５−ｊに出力される。【００８８】
各データ調整制御回路１０３５−ｊは、データ調整指示信号に従ってデータ信号の位相調整を開始し、受信データｊ［１：０］と調整後受信データｊ［１：０］の比較結果に応じてＴＡＰ２値ｊを増減させる。そして、ＴＡＰ２値ｊをデータ調整回路１０３１−ｊに出力し、ＴＡＰ更新指示信号ｊとＴＡＰ更新差分ｊをクロック調整制御回路１０２３−ｊに出力する。【００８９】
各クロック調整制御回路１０２３−ｊは、クロック調整指示信号に従ってクロック信号の位相調整を開始し、ＴＡＰ更新指示信号ｊと、ＴＡＰ更新差分ｊと、パターン検出回路１０２４−ｊからの調整パターン検出信号ｊとに応じてＴＡＰ値ｊを増減させる。そして、ＴＡＰ値ｊをクロック調整回路１０２２−ｊに出力する。【００９０】
コンピュータシステムの電源がオンになった直後等の初期調整時には、パターン生成回路１０１３が出力するトレーニングパターンを用いてクロック信号の位相調整が行われる。しかし、運用時には、トレーニングパターンを使用せずに、クロック信号の位相調整が行われる。【００９１】
運用時に、送信チップ１００１は、常に、送信データｊ［１：０］を通常データとして出力する。そして、受信チップ１００２は、ＴＡＰ２値ｊを変えながら通常データを受信し、ＴＡＰ２値ｊに基づいて受信した通常データを、ＴＡＰ値ｊに基づいて受信した通常データと比較することで、データ波形の中心に対応するＴＡＰ値を算出する。【００９２】
この場合、受信データそのものを期待値として用いるため、データパターンに変化がない場合は受信可否を判断できないが、通常、８Ｂ１０ＢやＰＲＢＳ（Pseudo-Random Bit Sequence）等のスクランブルが実施されるため、データパターンが変化し受信可否を判断できる。【００９３】
なお、ＴＡＰ値１〜Ｎのうち一部又は全部が同一の値になることもあれば、全部が異なる値になることもある。
図１２は、図１１のクロック調整制御回路１０２３−ｊの構成例を示している。クロック調整制御回路１０２３−ｊは、ＴＡＰ更新回路１１０１、インクリメンタ１１０２、デクリメンタ１１０３、ＴＡＰ値選択回路１１０４、フリップフロップ回路１１０５、１１０６、１１０７、加算回路１１０８、除算回路１１０９、及びＴＡＰ制御回路１１１０を備える。【００９４】
ＴＡＰ制御回路１１１０は、受信部制御回路１０２９からのクロック調整指示信号に従って位相調整を開始する。そして、データ調整制御回路１０３５−ｊからのＴＡＰ更新指示信号ｊと、パターン検出回路１０２４−ｊからの調整パターン検出信号ｊに応じて、ＴＡＰ値選択信号をＴＡＰ値選択回路１１０４に出力し、ＴＡＰ値セット信号をフリップフロップ回路１１０６及び１１０７に出力する。【００９５】
ＴＡＰ更新回路１１０１は、フリップフロップ回路１１０５から出力されるＴＡＰ値から、データ調整制御回路１０３５−ｊからのＴＡＰ更新差分ｊを減算し、減算結果をＴＡＰ更新値としてＴＡＰ値選択回路１１０４に出力する。インクリメンタ１１０２は、フリップフロップ回路１１０５から出力されるＴＡＰ値に１を加算してＴＡＰ値選択回路１１０４に出力し、デクリメンタ１１０３は、フリップフロップ回路１１０５から出力されるＴＡＰ値から１を減算してＴＡＰ値選択回路１１０４に出力する。【００９６】
ＴＡＰ値選択回路１１０４は、ＴＡＰ値選択信号に従って、フリップフロップ回路１１０５、ＴＡＰ更新回路１１０１、インクリメンタ１１０２、デクリメンタ１１０３、又は除算回路１１０９から出力されるいずれかのＴＡＰ値を選択し、フリップフロップ回路１１０５に出力する。【００９７】
フリップフロップ回路１１０５は、調整後クロック信号ｊに同期して、ＴＡＰ値選択回路１１０４から出力されるＴＡＰ値をラッチし、ＴＡＰ値ｊとして出力する。フリップフロップ回路１１０６は、調整後クロック信号ｊに同期してＴＡＰ値ｊをラッチし、上限値として加算回路１１０８に出力する。フリップフロップ回路１１０７は、調整後クロック信号ｊに同期してＴＡＰ値ｊをラッチし、下限値として加算回路１１０８に出力する。また、フリップフロップ回路１１０６及び１１０７は、それぞれのＴＡＰ値セット信号に従って上限値及び下限値を保持する。【００９８】
加算回路１１０８は、フリップフロップ回路１１０６から出力される上限値とフリップフロップ回路１１０７から出力される下限値を加算し、加算結果を除算回路１１０９に出力する。除算回路１１０９は、その加算結果の半分の値をＴＡＰ値選択回路１１０４に出力する。【００９９】
図１３は、初期化時におけるＴＡＰ制御回路１１１０の動作のフローチャートである。ステップ１２０１〜１２１２の動作は、図８のステップ８０１〜８１２の動作と同様である。【０１００】
図１４は、運用時におけるＴＡＰ制御回路１１１０の更新動作のフローチャートである。ＴＡＰ制御回路１１１０は、データ調整制御回路１０３５−ｊからＴＡＰ更新指示信号ｊを受信すると（ステップ１３０１）、ＴＡＰ更新値を選択するＴＡＰ値選択信号を出力する（ステップ１３０２）。これにより、ＴＡＰ更新回路１１０１から出力されるＴＡＰ更新値が、ＴＡＰ値ｊとしてクロック調整回路１０２２−ｊに出力される。【０１０１】
図１５は、図１１のデータ調整回路１０３１−ｊの構成例を示している。データ調整回路１０３１−ｊは、ディレイラインとデコーダ１４０２を備える。ディレイラインは、バッファ回路１４０１−０〜１４０１−１４、スイッチｓｗ０〜ｓｗ１４、及びキャパシタ１４０４−０〜１４０４−１４からなる。【０１０２】
デコーダ１４０２は、データ調整制御回路１０３５−ｊからのＴＡＰ２値ｊに応じてスイッチｓｗ０〜ｓｗ１４をオン／オフすることで、ディレイラインの負荷容量を変化させる。これにより、ディレイラインの遅延量が制御され、入力データ信号の位相が変化する。【０１０３】
図１６は、ＴＡＰ２値ｊと、デコーダ１４０２からスイッチｓｗ０〜ｓｗ１４に出力される切替信号の対応関係を示している。スイッチｓｗｋ（ｋ＝０〜１４）は、入力される切替信号が論理“１”のときオンとなり、論理“０”のときオフとなる。この例では、−８〜７のいずれかの値を表す４ビットのＴＡＰ２値ｊ［３：０］により、１６段階の遅延量のいずれかを設定することができる。【０１０４】
図１７は、図１１のデータ調整制御回路１０３５−ｊの構成例を示している。データ調整制御回路１０３５−ｊは、インクリメンタ１５０１、デクリメンタ１５０２、ＴＡＰ２値選択回路１５０３、フリップフロップ回路１５０４、１５０５、１５０６、加算回路１５０７、除算回路１５０８、コンパレータ１５０９、及びＴＡＰ２制御回路１５１０を備える。【０１０５】
コンパレータ１５０９は、フリップフロップ回路１０２７−１及び１０２８−１からの受信データｊ［１：０］と、フリップフロップ回路１０３３−１及び１０３４−１からの調整後受信データｊ［１：０］とを比較し、データ比較結果をＴＡＰ２制御回路１５１０に出力する。【０１０６】
ＴＡＰ２制御回路１５１０は、受信部制御回路１０２９からのデータ調整指示信号に従ってデータ信号の位相調整を開始する。そして、コンパレータ１５０９からのデータ比較結果に応じて、ＴＡＰ２値選択信号をＴＡＰ２値選択回路１５０３に出力し、ＴＡＰ２値セット信号をフリップフロップ回路１５０５及び１５０６に出力する。【０１０７】
インクリメンタ１５０１は、フリップフロップ回路１５０４から出力されるＴＡＰ２値に１を加算してＴＡＰ２値選択回路１５０３に出力し、デクリメンタ１５０２は、フリップフロップ回路１５０４から出力されるＴＡＰ２値から１を減算してＴＡＰ２値選択回路１５０３に出力する。【０１０８】
ＴＡＰ２値選択回路１５０３は、ＴＡＰ２値選択信号に従って、フリップフロップ回路１５０４、インクリメンタ１５０１、又はデクリメンタ１５０２から出力されるＴＡＰ２値、あるいは０（ＴＡＰ２中心値）のうちいずれかの値を選択し、フリップフロップ回路１５０４に出力する。【０１０９】
フリップフロップ回路１５０４は、調整後クロック信号ｊに同期して、ＴＡＰ２値選択回路１５０３から出力されるＴＡＰ２値をラッチし、ＴＡＰ２値ｊとして出力する。フリップフロップ回路１５０５は、調整後クロック信号ｊに同期してＴＡＰ２値ｊをラッチし、上限値として加算回路１５０７に出力する。フリップフロップ回路１５０６は、調整後クロック信号ｊに同期してＴＡＰ２値ｊをラッチし、下限値として加算回路１５０７に出力する。また、フリップフロップ回路１５０５及び１５０６は、それぞれのＴＡＰ２値セット信号に従って上限値及び下限値を保持する。【０１１０】
加算回路１５０７は、フリップフロップ回路１５０５から出力される上限値とフリップフロップ回路１５０６から出力される下限値を加算し、加算結果を除算回路１５０８に出力する。除算回路１５０８は、その加算結果の半分の値をＴＡＰ更新差分ｊとしてクロック調整制御回路１０２３−ｊに出力し、併せてＴＡＰ更新指示信号ｊをクロック調整制御回路１０２３−ｊに出力する。【０１１１】
図１８は、運用時におけるＴＡＰ２制御回路１５１０の動作のフローチャートである。ＴＡＰ２制御回路１５１０は、受信部制御回路１０２９からデータ調整指示信号を受信すると（ステップ１６０１）、ＴＡＰ２中心値０を選択するＴＡＰ２値選択信号を出力する（ステップ１６０２）。これにより、ＴＡＰ２値ｊとして０がデータ調整回路１０３１−ｊに出力される。【０１１２】
次に、より小さなＴＡＰ２値を選択するＴＡＰ２値選択信号を出力する（ステップ１６０３）。これにより、デクリメンタ１５０２から出力される−１が、ＴＡＰ２値ｊとしてデータ調整回路１０３１−ｊに出力される。【０１１３】
次に、コンパレータ１５０９からのデータ比較結果を判定する（ステップ１６０４）。受信データｊ［１：０］と調整後受信データｊ［１：０］が一致すれば、データ比較結果はＯＫと判定され、両者が一致しなければＮＧと判定される。【０１１４】
データ比較結果がＯＫであれば、ステップ１６０３の動作を繰り返し、データ比較結果がＮＧになると、ＴＡＰ２値セット信号をフリップフロップ回路１５０６に出力する（ステップ１６０５）。これにより、現在のＴＡＰ２値ｊが下限値としてフリップフロップ回路１５０６にセットされる。【０１１５】
次に、ＴＡＰ２中心値０を選択するＴＡＰ２値選択信号を出力し（ステップ１６０６）、続いて、より大きなＴＡＰ２値を選択するＴＡＰ２値選択信号を出力する（ステップ１６０７）。これにより、インクリメンタ１５０１から出力される＋１が、ＴＡＰ２値ｊとしてデータ調整回路１０３１−ｊに出力される。【０１１６】
次に、コンパレータ１５０９からのデータ比較結果を判定し（ステップ１６０８）、データ比較結果がＯＫであれば、ステップ１６０７の動作を繰り返す。そして、データ比較結果がＮＧになると、ＴＡＰ２値セット信号をフリップフロップ回路１５０５に出力する（ステップ１６０９）。これにより、現在のＴＡＰ２値ｊが上限値としてフリップフロップ回路１５０５にセットされ、上限値と下限値の平均値がＴＡＰ更新差分ｊとしてクロック調整制御回路１０２３−ｊに出力される（ステップ１６１０）。【０１１７】
図１９は、図１１のコントローラ１４１、送信チップ１００１、及び受信チップ１００２による位相調整動作のフローチャートである。送信部制御回路１０１９と受信部制御回路１０２９は、初期化時は外部からの指示で位相調整を開始する。一方、運用時には、送信部制御回路１０１９は位相調整動作を行わず、受信部制御回路１０２９は、データ調整制御回路１０３５−１〜１０３５−Ｎに対してデータ調整を指示する。【０１１８】
初期化時におけるステップ１７０１〜１７０５の動作は、図９のステップ９０１〜９０５の動作と同様である。
送信チップ１００１から受信チップ１００２に終了パターンが送信されると、パターン検出回路１０２４−１〜１０２４−Ｎは、位相調整が終了したことを示す終了パターン検出信号１〜Ｎを受信部制御回路１０２９に出力する。そして、受信部制御回路１０２９は、データ調整指示信号をデータ調整制御回路１０３５−１〜１０３５−Ｎに出力する。これにより、調整後クロック信号１〜Ｎを用いた通常運用が行われるとともに（ステップ１７０６）、常時調整部１０３０−１〜１０３０−ＮによりＴＡＰ値１〜Ｎが継続的に更新される（ステップ１７０７）。【０１１９】
図２０は、図１１の受信チップ１００２における運用時の位相調整動作の例を示すタイミングチャートである。運用時には、送信チップ１００１のデータ出力回路１０１８−ｊから送信データｊ［１：０］が出力され、受信チップ１００２のデータ入力回路１０２５−ｊには、‘ＡＢＣＤＥＦＧ・・・’のようなデータ列が入力される。【０１２０】
このとき、クロック入力回路１０２１とデータ入力回路１０２５−ｊの出力波形と、調整後クロック信号ｊ、受信データｊ［１］、受信データｊ［０］（ＦＦ１段目）、及び受信データｊ［０］（ＦＦ２段目）の波形は、（１）に示すようになる。受信データｊ［１］は、フリップフロップ回路１０２８−ｊの出力信号を表し、受信データｊ［０］（ＦＦ１段目）及び受信データｊ［０］（ＦＦ２段目）は、それぞれフリップフロップ回路１０２６−ｊ及び１０２７−ｊの出力信号を表す。【０１２１】
期待される動作は、クロック信号のアップエッジでデータ‘Ａ’、‘Ｃ’、‘Ｅ’、‘Ｇ’等を受信し、ダウンエッジでデータ‘Ｂ’、‘Ｄ’、‘Ｆ’等を受信することである。ここでは、ＴＡＰ値＝５に設定されているものとする。【０１２２】
例えば、ＴＡＰ２値＝−１として、データ調整回路１０３１−ｊによりデータ信号の位相を少し進めると、調整後データ信号、調整後受信データｊ［１］、調整後受信データｊ［０］（ＦＦ１段目）、調整後受信データｊ［０］（ＦＦ２段目）、及びデータ比較結果の波形は、（２）に示すようになる。【０１２３】
調整後データ信号は、データ調整回路１０３１−ｊの出力信号を表し、調整後受信データｊ［１］は、フリップフロップ回路１０３４−ｊの出力信号を表す。調整後受信データｊ［０］（ＦＦ１段目）及び調整後受信データｊ［０］（ＦＦ２段目）は、それぞれフリップフロップ回路１０３２−ｊ及び１０３３−ｊの出力信号を表す。また、データ比較結果は、コンパレータ１５０９の出力信号を表す。【０１２４】
この場合、フリップフロップ回路１０３２−ｊは、調整後クロック信号ｊのダウンエッジで調整後データ‘Ｂ’、‘Ｄ’、‘Ｆ’等を受信している。また、フリップフロップ回路１０３４−ｊは、調整後クロック信号ｊのアップエッジで調整後データ‘Ａ’、‘Ｃ’、‘Ｅ’、‘Ｇ’等を受信している。このため、調整後受信データｊ［１：０］は受信データｊ［１：０］と一致する。したがって、データ比較結果はＯＫを示している。【０１２５】
ＴＡＰ２値＝−３として、データ調整回路１０３１−ｊによりデータ信号の位相をさらに進めると、それぞれの信号の波形は（３）に示すようになる。
この場合、調整後クロック信号ｊのダウンエッジが調整後データ‘Ｂ’、‘Ｄ’、‘Ｆ’等よりも後になってしまい、アップエッジで調整後データ‘Ｂ’、‘Ｄ’、‘Ｆ’等を受信している。同様に、調整後クロック信号ｊのアップエッジが調整後データ‘Ａ’、‘Ｃ’、‘Ｅ’、‘Ｇ’等よりも後になってしまい、ダウンエッジで調整後データ‘Ｃ’、‘Ｅ’、‘Ｇ’等を受信している。このため、調整後受信データｊ［１：０］は受信データｊ［１：０］と一致しない。したがって、データ比較結果はＮＧを示している。【０１２６】
一方、ＴＡＰ２値＝＋５として、データ調整回路１０３１−ｊによりデータ信号の位相を遅らせると、それぞれの信号の波形は（４）に示すようになる。
この場合、調整後クロック信号ｊのダウンエッジが調整後データ‘Ｂ’、‘Ｄ’、‘Ｆ’等よりも前になってしまい、アップエッジで調整後データ‘Ｚ’、‘Ｂ’、‘Ｄ’、‘Ｆ’等を受信している。同様に、調整後クロック信号ｊのアップエッジが調整後データ‘Ａ’、‘Ｃ’、‘Ｅ’、‘Ｇ’等よりも前になってしまい、ダウンエッジで調整後データ‘Ａ’、‘Ｃ’、‘Ｅ’等を受信している。このため、調整後受信データｊ［１：０］は受信データｊ［１：０］と一致しない。したがって、データ比較結果はＮＧを示している。【０１２７】
（１）〜（４）に示したように、データ調整回路１０３１−ｊでデータ信号の位相を変更しながら、調整後受信データｊ［１：０］を受信データｊ［１：０］と比較することで、各位相に対するデータ比較結果（ＯＫ又はＮＧ）が判明する。データ比較結果がＯＫとなったＴＡＰ２値の範囲の中心値が最適な遅延量に対応することから、ＴＡＰ２値の上限値と下限値の平均値を算出することで、最適なＴＡＰ更新差分ｊが得られる。【０１２８】
例えば、ＴＡＰ２値の上限値を＋５、下限値を−３とすると、ＴＡＰ更新差分ｊは（（＋５）＋（−３））／２＝＋１となる。そこで、クロック調整制御回路１０２３−ｊにより、現在のＴＡＰ値５から１を減算してＴＡＰ値を４に設定することで、位相調整が完了する。これにより、調整後クロック信号ｊの位相がＴＡＰ値１に相当する分だけ進められ、調整後クロック信号ｊの波形は（５）に示すようになる。【０１２９】
以上説明したように、各データパスに常時調整部を設けることで、トレーニングパターンを使用せずに位相調整を行うことができる。その結果、運用中に通常データの転送を停止する必要がなくなるため、データ転送性能が低下することはない。また、常時位相調整が可能になるため、クロック信号とデータ信号の位相関係の変動が大きい場合でも、クロック信号のエッジがデータ波形中心に追従し、安定したデータ転送が可能になる。【０１３０】
図３及び図４に示した調整パターン‘１０’と終了パターン‘１１’、図１６に示したＴＡＰ２値ｊ及びデコーダの出力、図６に示したＴＡＰ値ｊ及びデコーダの出力は一例に過ぎず、他のパターンや値を用いても構わない。
【図１】
2009147697.tif 000003
【図２】
2009147697.tif 000004
【図３】
2009147697.tif 000005
【図４】
2009147697.tif 000006
【図５】
2009147697.tif 000007
【図６】
2009147697.tif 000008
【図７】
2009147697.tif 000009
【図８】
2009147697.tif 000010
【図９】
2009147697.tif 000011
【図１０】
2009147697.tif 000012
【図１１】
2009147697.tif 000013
【図１２】
2009147697.tif 000014
【図１３】
2009147697.tif 000015
【図１４】
2009147697.tif 000016
【図１５】
2009147697.tif 000017
【図１６】
2009147697.tif 000018
【図１７】
2009147697.tif 000019
【図１８】
2009147697.tif 000020
【図１９】
2009147697.tif 000021
【図２０】
2009147697.tif 000022
【手続補正書】
【提出日】平成22年8月18日(2010.8.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置において、
前記データ送信装置は、
基準クロックを生成する基準クロック生成部と、
送信対象データと位相調整データを入力し、前記送信対象データと前記位相調整データのいずれかを選択する選択回路と、
前記選択回路が選択したデータを、前記基準クロックに同期させて、送信データとして出力する送信データ同期出力回路を有し、
前記データ受信装置は、
前記基準クロックを入力し、クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを出力するクロック位相調整回路と、
前記送信データを入力し、前記入力した送信データを、前記クロックに同期させて、受信データとして出力する受信データ出力部と、
前記送信データを入力し、データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを出力するデータ調整回路と、
前記調整対象受信データを入力し、前記入力した前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力する調整受信データ出力部と、
前記受信データと前記調整受信データを入力し、前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値として出力する比較部を有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置はさらに、
前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記クロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記データ位相調整値を選択することを特徴とする請求項１記載の情報処理装置。
【請求項３】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置において、
前記データ送信装置は、
基準クロックを生成する基準クロック生成部と、
第１の送信対象データと位相調整データを入力し、前記第１の送信対象データと前記位相調整データのいずれかを選択する第１の選択回路と、
前記第１の選択回路が選択したデータを、前記基準クロックに同期させて、第１の送信データとして出力する第１の送信データ同期出力回路と、
第２の送信対象データと位相調整データを入力し、前記第２の送信対象データと前記位相調整データのいずれかを選択する第２の選択回路と、
前記第２の選択回路が選択したデータを、前記基準クロックに同期させて、第２の送信データとして出力する第２の送信データ同期出力回路を有し、
前記データ受信装置は、
前記基準クロックを入力し、第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを出力する第１のクロック位相調整回路と、
前記第１の送信データを入力し、前記入力された第１の送信データを、前記第１のクロックに同期させて、第１の受信データとして出力する第１の受信データ出力部と、
前記第１の送信データを入力し、第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを出力する第１のデータ調整回路と、
前記第１の調整対象受信データを入力し、前記第１のクロックに同期させて、第１の調整受信データとして出力する第１の調整受信データ出力部と、
前記第１の受信データと前記第１の調整受信データを入力し、前記第１の受信データと前記第１の調整受信データを比較し、前記比較した結果に基づいて前記第１のデータ位相調整値として出力する第１の比較部と、
前記基準クロックを入力し、第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを出力する第２のクロック位相調整回路と、
前記第２の送信データを入力し、前記入力された第２の送信データを、前記第２のクロックに同期させて、第２の受信データとして出力する第２の受信データ出力部と、
前記第２の送信データを入力し、第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを出力する第２のデータ調整回路と、
前記第２の調整対象受信データを入力し、前記第２のクロックに同期させて、第２の調整受信データとして出力する第２の調整受信データ出力部と、
前記第２の受信データと前記第２の調整受信データを入力し、前記第２の受信データと前記第２の調整受信データを比較し、前記比較した結果に基づいて前記第２のデータ位相調整値として出力する第２の比較部を有することを特徴とする情報処理装置。
【請求項４】
前記情報処理装置はさらに、
前記送信装置と前記受信装置に接続されたシステム制御装置を有し、
前記クロック位相調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のクロック位相調整値を選択し、
前記データ調整回路は、前記システム制御装置からの指示に基づいて、前記第１及び第２のデータ位相調整値を選択することを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値と同一であることを特徴とする請求項３又は４記載の情報処理装置。
【請求項６】
前記第１のクロック位相調整値は、前記第２のクロック位相調整値とは異なることを特徴とする請求項３又は４記載の情報処理装置。
【請求項７】
データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置において、
基準クロックを入力し、クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを出力するクロック位相調整回路と、
前記データ送信装置から出力された送信データを入力し、前記入力した送信データを、前記クロックに同期させて、受信データとして出力する受信データ出力部と、
前記送信データを入力し、データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを出力するデータ調整回路と、
前記調整対象受信データを入力し、前記入力した前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力する調整受信データ出力部と、
前記受信データと前記調整受信データを入力し、前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値として出力する比較部を有することを特徴とするデータ受信装置。
【請求項８】
データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置において、
基準クロックを入力し、第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを出力する第１のクロック位相調整回路と、
前記データ送信装置から出力された第１の送信データを入力し、前記入力された第１の送信データを、前記第１のクロックに同期させて、第１の受信データとして出力する第１の受信データ出力部と、
前記第１の送信データを入力し、第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを出力する第１のデータ調整回路と、
前記第１の調整対象受信データを入力し、前記第１のクロックに同期させて、第１の調整受信データとして出力する第１の調整受信データ出力部と、
前記第１の受信データと前記第１の調整受信データを入力し、前記第１の受信データと前記第１の調整受信データを比較し、前記比較した結果に基づいて前記第１のデータ位相調整値として出力する第１の比較部と、
前記基準クロックを入力し、第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを出力する第２のクロック位相調整回路と、
前記データ送信装置から出力された第２の送信データを入力し、前記入力された第２の送信データを、前記第２のクロックに同期させて、第２の受信データとして出力する第２の受信データ出力部と、
前記第２の送信データを入力し、第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを出力する第２のデータ調整回路と、
前記第２の調整対象受信データを入力し、前記第２のクロックに同期させて、第２の調整受信データとして出力する第２の調整受信データ出力部と、
前記第２の受信データと前記第２の調整受信データを入力し、前記第２の受信データと前記第２の調整受信データを比較し、前記比較した結果に基づいて前記第２のデータ位相調整値として出力する第２の比較部を有することを特徴とするデータ受信装置。
【請求項９】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置の制御方法において、
基準クロックを生成するステップと、
送信対象データと位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
クロック位相調整値に基づいて、前記基準クロックの位相を遅延させたクロックを生成するステップと、
前記送信データを前記クロックに同期させて、受信データとして出力するステップと、
データ位相調整値に基づいて、前記送信データを遅延させた調整対象受信データを生成するステップと、
前記調整対象受信データを前記クロックに同期させて、調整受信データとして出力するステップと、
前記受信データと前記調整受信データを比較するとともに、前記比較した結果に基づいて前記データ位相調整値を生成するステップとを有することを特徴とする制御方法。
【請求項１０】
データ送信装置と、前記データ送信装置に接続され、前記データ送信装置が出力するデータを受信するデータ受信装置を有する情報処理装置の制御方法において、
基準クロックを生成するステップと、
第１の送信対象データと位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、第１の送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
第２の送信対象データと前記位相調整データのいずれかを選択するステップと、
選択したデータを前記基準クロックに同期させて、第２の送信データとして前記データ送信装置から前記データ受信装置に出力するステップと、
第１のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第１のクロックを生成するステップと、
前記第１の送信データを前記クロックに同期させて、第１の受信データとして出力するステップと、
第１のデータ位相調整値に基づいて、前記第１の送信データを遅延させた第１の調整対象受信データを生成するステップと、
前記第１の調整対象受信データを前記第１のクロックに同期させて、第１の調整受信データとして出力するステップと、
前記第１の受信データと前記第１の調整受信データを比較するとともに、前記比較した結果に基づいて前記第１のデータ位相調整値を生成するステップと、
第２のクロック位相調整値に基づいて、前記基準クロックの位相を遅延させた第２のクロックを生成するステップと、
前記第２の送信データを前記クロックに同期させて、第２の受信データとして出力するステップと、
第２のデータ位相調整値に基づいて、前記第２の送信データを遅延させた第２の調整対象受信データを生成するステップと、
前記第２の調整対象受信データを前記第２のクロックに同期させて、第２の調整受信データとして出力するステップと、
前記第２の受信データと前記第２の調整受信データを比較するとともに、前記比較した結果に基づいて前記第２のデータ位相調整値を生成するステップとを有することを特徴とする制御方法。
【国際調査報告】
2009147697.tif 000023
2009147697.tif 000024
2009147697.tif 000025
2009147697.tif 000026