(57)【要約】【課題】  送信装置と受信装置の間で複数ビットのパラレルデータを伝送する際に、ビット間のデータ信号のばらつきを抑えながら高速伝送を実現する。【解決手段】  送信側チップ７０１および受信側チップ７０２は、共通の基準信号から同期信号を生成する。パタン発生器７１１は、同期信号をトリガとしてトレーニングパタンを発生し、出力回路７１４は、トレーニングパタンおよび通常データを送信する。入力回路７２１は、クロック信号の位相を調整して、調整後のクロック信号と受信したデータ信号を出力する。パタン検出器７２２は、データ信号列からトレーニングパタンを検出してライトポインタ（ＷＰ）を初期化し、リードポインタ（ＲＰ）は同期信号により初期化される。リングバッファ７２４では、ライトポインタが示すバッファにデータ信号が格納され、リードポインタが示すバッファからデータが出力される。【選択図】図７
2006050102.tif 000002
【特許請求の範囲】
【請求項１】
複数ビットのパラレルデータを受信先へ送信するデータ送信装置であって、
基準信号を用いて送信側同期信号を生成する同期信号作成手段と、
前記送信側同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に前記受信先へ送信する出力手段とを備え、
前記受信先において、前記基準信号を用いて受信側同期信号が生成され、前記トレーニングパタンが検出されたときにデータバッファ手段の格納位置が初期化され、前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整して、ビット数分の調整クロック信号が生成され、該調整クロック信号に従って該ビット毎のデータ信号が該データバッファ手段に取り込まれ、該データバッファ手段に時系列に一定数のデータがビット毎に保持され、該データバッファ手段内の複数ビットのデータが、第２のクロック信号に従い該受信側同期信号に同期して時系列に選択されて、パラレルデータとして読み出されることを特徴とするデータ送信装置。
【請求項２】
前記出力手段は、前記第２のクロック信号と同じ周波数のクロック信号と該第２のクロック信号の２倍の周波数のクロック信号の一方を選択する選択手段を含み、該同じ周波数のクロック信号が選択されたとき、前記パラレルデータを選択されたクロック信号を用いて送信し、該２倍の周波数のクロック信号が選択されたとき、該パラレルデータを選択されたクロック信号を用いて２ビットずつ時分割多重して送信することを特徴とする請求項１記載のデータ送信装置。
【請求項３】
送信元から送信された複数ビットのパラレルデータを受信するデータ受信装置であって、
基準信号を用いて受信側同期信号を生成する同期信号作成手段と、
前記送信元において前記基準信号を用いて生成された送信側同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持し、前記トレーニングパタンが検出されたときに格納位置が初期化されるデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い前記受信側同期信号に同期して時系列に選択し、パラレルデータとして読み出すリード手段と
を備えることを特徴とするデータ受信装置。
【請求項４】
ライト手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、該ライト手段は、該一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を保持し、該ライトポインタ情報により示されるバッファ手段にデータ信号を入力し、前記パタン検出手段は、前記トレーニングパタンを検出したとき、該ライトポインタ情報を初期化することを特徴とする請求項３記載のデータ受信装置。
【請求項５】
前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、前記リード手段は、該一定数のバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を保持し、前記受信側同期信号に従って該リードポインタ情報を初期化することを特徴とする請求項３記載のデータ受信装置。
【請求項６】
前記データバッファ手段は、前記一定数のデータを時系列に保持するｎ個のバッファ手段を含み、前記送信側同期信号および受信側同期信号は、ｎサイクルに１回ハイレベルとなる信号であることを特徴とする請求項３記載のデータ受信装置。
【請求項７】
クロック信号を生成するクロック生成手段と、生成されたクロック信号と前記送信元から送信されたソースクロック信号のうちの一方を前記第１のクロック信号として選択する選択手段をさらに備えることを特徴とする請求項３、４、５、または６記載のデータ受信装置。
【請求項８】
前記トレーニングパタンのデータ信号列にパリティビットが付加されているとき、受信したデータ信号列からパリティビットを検出してパリティチェックを行うパリティ検出手段をさらに備えることを特徴とする請求項３、４、５、または６記載のデータ受信装置。
【請求項９】
前記クロック調整手段は、前記パラレルデータが前記第２のクロック信号と同じ周波数のクロック信号を用いて送信され、前記第１のクロック信号が前記第２のクロック信号の２倍の周波数を有するとき、該第１のクロック信号を分周して半分の周波数のクロック信号を生成し、該パラレルデータが該第２のクロック信号の２倍の周波数のクロック信号を用いて２ビットずつ時分割多重されて送信されたとき、該第１のクロック信号をそのまま出力する分周手段を含み、該分周手段から出力されたクロック信号の位相を調整することを特徴とする請求項３、４、５、または６記載のデータ受信装置。
【請求項１０】
前記パタン検出手段は、チューニング期間のみ位相調整を行うモードが設定されているとき、検出されたトレーニングパタンが終了パタンであれば、前記クロック調整手段に対して位相調整を停止する信号を出力し、常時位相調整を行うモードが設定されているとき、検出されたトレーニングパタンが該終了パタンであっても、前記クロック調整手段に対して位相調整を継続する信号を出力することを特徴とする請求項３、４、５、または６記載のデータ受信装置。
【請求項１１】
試験用のトレーニングパタンを生成するパタン発生手段をさらに備え、前記パタン検出手段は、前記クロック調整手段が該試験用のトレーニングパタンを用いて前記第１のクロック信号の位相を調整したとき、調整クロック信号に従って転送されるデータ信号列から該試験用のトレーニングパタンを検出することで、該クロック調整手段の位相調整機能を試験することを特徴とする請求項３、４、５、または６記載のデータ受信装置。
【請求項１２】
複数ビットのパラレルデータを互いに送受信する複数のデータ送受信装置を有するシステムであって、
各データ送受信装置は、
前記複数のデータ送受信装置に分配された基準信号を用いて、同期信号を生成する同期信号作成手段と、
前記同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に受信先のデータ送受信装置へ送信する出力手段と、
送信元のデータ送受信装置において前記基準信号を用いて生成された同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記送信元のデータ送受信装置から送信されるパラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持し、前記トレーニングパタンが検出されたときに格納位置が初期化されるデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い、前記同期信号作成手段により生成された同期信号に同期して時系列に選択し、パラレルデータとして読み出すリード手段と
を備えることを特徴とするシステム。
【請求項１３】
複数ビットのパラレルデータを互いに送受信する複数のデータ送受信装置を有するシステムであって、
各データ送受信装置は、
前記複数のデータ送受信装置に分配された基準信号を用いて、同期信号を生成する同期信号作成手段と、
前記同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に受信先のデータ送受信装置へ送信する出力手段と、
送信元のデータ送受信装置において前記基準信号を用いて生成された同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記送信元のデータ送受信装置から送信されるパラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従って時系列に選択し、パラレルデータとして読み出すリード手段とを備え、
前記複数のデータ送受信装置は、前記同期信号作成手段により生成された同期信号と前記トレーニングパタンを用いて前記パラレルデータの同期伝送を行うことを特徴とするシステム。
【請求項１４】
前記複数のデータ送受信装置のうちの１つに対してチューニングの起動指示が与えられたとき、起動指示を受けたデータ送受信装置を起点として、該複数のデータ送受信装置の間で前記トレーニングパタンを用いたチューニングが順次実行されることを特徴とする請求項１２または１３記載のシステム。
【請求項１５】
複数ビットのパラレルデータを送信元から受信先へ伝送するデータ伝送方法であって、
前記送信元において、基準信号を用いて送信側同期信号を生成し、
前記送信側同期信号に同期してトレーニングパタンをビット毎に生成し、
前記トレーニングパタンおよびパラレルデータをビット毎に前記受信先へ送信し、
前記受信先において、前記基準信号を用いて受信側同期信号を生成し、
前記トレーニングパタンが検出されたときにデータバッファ手段の格納位置を初期化し、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整して、ビット数分の調整クロック信号を生成し、
前記調整クロック信号に従って前記ビット毎のデータ信号を前記データバッファ手段に取り込んで、該データバッファ手段に時系列に一定数のデータをビット毎に保持し、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い前記受信側同期信号に同期して時系列に選択して、パラレルデータとして読み出す
ことを特徴とするデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速インタフェースを持つ半導体チップのような装置間におけるデータ伝送に関する。
【背景技術】
【０００２】
コンピュータのプロセッサＬＳＩ（Large Scale Integration ）とチップセットＬＳＩの間のデータ伝送に見られるように、半導体チップ間でデータ伝送を行う際には、データ信号のセットアップタイムおよびホールドタイムを確保する必要がある。従来の伝送方式では、送信チップのクロック信号を受信チップへ伝送し、受信チップにおいて伝送されてきたクロック信号を遅延させることで、セットアップタイムおよびホールドタイムを確保していた（例えば、特許文献１参照）。
【０００３】
図２６は、従来のソース同期（Source Synchronous）方式で複数ビットのパラレルデータを伝送する構成を示している。送信側チップ１１は、遅延回路２１、フリップフロップ（ＦＦ）回路２２−ｉ、および出力回路２３、２４−ｉ（ｉ＝１，２，．．．，Ｎ）を備え、受信側チップ１２は、入力回路２５、２６−ｉおよびフリップフロップ回路２７−ｉ（ｉ＝１，２，．．．，Ｎ）を備える。
【０００４】
ソース同期方式は、このようなチップ間でデータ転送を行う際、送信側チップ１１（乃至受信側チップ１２）において使用するクロック信号に固定遅延を与え、データ信号と共に伝送し、受信側チップ１２では伝送されてきたクロック信号でデータ信号をストローブする方式である（図２７参照）。
【０００５】
クロック信号に与える固定遅延は、各種遅延量（ボード配線、ＬＳＩ内配線、ドライバ／レシーバ）およびプロセスばらつきを考慮した上で、受信側フリップフロップ回路２７−ｉのセットアップタイムおよびホールドタイムを保証する範囲を求めて設定される。チップ間の配線は、伝送路のばらつきを抑えるため、原則として等長配線とする。
【０００６】
ソース同期方式の利点は、クロック信号のみを調整するため、調整用回路を比較的容易に作成できる点である。ただし、同一クロック信号でストローブするビット間のばらつき範囲が伝送するクロック信号の周期より狭い必要があり、高速伝送を実現する上では以下のような欠点もある。
（１）チップ間を等長配線しなければならない。
（２）１つのクロック信号でストローブするデータの数Ｎを少なくしなければならない。
（３）上記（１）および（２）の両方の条件を満足したとしても、プロセスや伝送劣化に依存するばらつきを考慮すると、伝送不可能となる場合がある。
【０００７】
特許文献１乃至１６は、パラレル／シリアルデータ伝送、クロック信号調整、スキュー調整、クロック信号発生、タイミング制御等に関する。
【特許文献１】特開平８−１０２７２９号公報
【特許文献２】特開２０００−２８５１４４号公報
【特許文献３】特開平８−０４４６６７号公報
【特許文献４】特開平１０−１６４０３７号公報
【特許文献５】特開２００２−０４４０６１号公報
【特許文献６】特開平６−１７７９４０号公報
【特許文献７】特開平８−０５４９５５号公報
【特許文献８】特開２００２−１０８６４２号公報
【特許文献９】特開２０００−１３４１８９号公報
【特許文献１０】特開平１１−１６３８４６号公報
【特許文献１１】特開平５−３３６０９１号公報
【特許文献１２】特開２０００−３４１１３５号公報
【特許文献１３】特開２００２−２２３２０８号公報
【特許文献１４】特開２００３−２７３８５２号公報
【特許文献１５】特開平５−２２５０７９号公報
【特許文献１６】特開平５−３３６２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したような送信側チップからクロック信号とパラレルデータ信号を並走して伝送する方式では、同一クロック信号に対するビット間のばらつき範囲が１サイクル以内に制限されるため、高い伝送レートの実現は困難である。また、ビット間のばらつきを抑えるために、チップ間を等長で配線する等の制約が厳しくなり、パッケージの配線難易度が高くなる。
【０００９】
また、クロック信号を伝送する機能を持たず、受信側チップのフェーズロックドループ（ＰＬＬ）で作成したローカルクロックの位相を調整する機能のみを持つ方式では、送信側チップのＰＬＬと受信側チップのＰＬＬにおけるロングタームジッタ（Long Term Jitter）の影響により、セットアップタイムおよびホールドタイムの条件を満足できないことが懸念される。
【００１０】
図２８は、ジッタのない理想的なクロック信号と極端なロングタームジッタを有するクロック信号を示しており、図２９は、時間の経過に伴うクロック周波数の変動を示している。例えば、送信側チップのＰＬＬのクロック信号が高周波帯となり、受信側チップのＰＬＬのクロック信号が低周波帯となった場合、ローカルクロックの位相調整を実施しても、セットアップタイムおよびホールドタイムの条件を満足できなくなることが想定される。
【００１１】
本発明の課題は、送信装置と受信装置の間で複数ビットのパラレルデータを伝送する際に、ビット間のデータ信号のばらつきを抑えながら高速伝送を実現することである。
本発明のもう１つの課題は、送信装置と受信装置の間で複数ビットのパラレルデータを伝送する際に、受信装置においてデータ信号のセットアップタイムおよびホールドタイムを確保することである。
【課題を解決するための手段】
【００１２】
図１は、本発明のデータ送信装置およびデータ受信装置の原理図である。
本発明の第１の局面において、データ送信装置１０１は、同期信号作成手段１１１、パタン発生手段１１２、および出力手段１１３を備え、複数ビットのパラレルデータをデータ受信装置１０２へ送信する。また、データ受信装置１０２は、同期信号作成手段１２１、パタン検出手段１２２、クロック調整手段１２３、データバッファ手段１２４、およびリード手段１２５を備え、データ送信装置１０１から送信されたパラレルデータを受信する。
【００１３】
データ送信装置１０１において、同期信号作成手段１１１は、基準信号を用いて送信側同期信号を生成し、パタン発生手段１１２は、送信側同期信号に同期してトレーニングパタンをビット毎に生成し、出力手段１１３は、トレーニングパタンおよびパラレルデータをビット毎にデータ受信装置１０２へ送信する。
【００１４】
データ受信装置１０２において、同期信号作成手段１２１は、基準信号を用いて受信側同期信号を生成し、パタン検出手段１２２は、トレーニングパタンを検出する。クロック調整手段１２３は、パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成する。データバッファ手段１２４は、調整クロック信号に従ってビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持し、データバッファ手段１２４の格納位置は、トレーニングパタンが検出されたときに初期化される。リード手段１２５は、データバッファ手段１２４内の複数ビットのデータを、第２のクロック信号に従い受信側同期信号に同期して時系列に選択し、パラレルデータとして読み出す。
【００１５】
このようなデータ送信装置１０１およびデータ受信装置１０２によれば、送信側と受信側に共通の基準信号から生成された同期信号と、その同期信号に同期して生成されたトレーニングパタンを用いて、データ送信装置１０１とデータ受信装置１０２の論理的同期が保障される。したがって、装置間を等長で配線しなくてもビット間のデータ信号のばらつきが抑えられ、高速伝送を行うことが可能になる。また、データ受信装置１０２において、ビット毎のデータ信号を用いてクロック信号の位相を調整することで、データ信号のセットアップタイムおよびホールドタイムが確保される。
【００１６】
本発明の第２の局面において、第１の局面におけるデータ受信装置１０２はライト手段１２６をさらに備える。データバッファ手段１２４は、一定数のデータを時系列に保持する一定数のバッファ手段を含み、ライト手段１２６は、それらのバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を保持し、ライトポインタ情報により示されるバッファ手段にデータ信号を入力する。パタン検出手段１２２は、トレーニングパタンを検出したとき、ライトポインタ情報を初期化する。
【００１７】
このようなデータ受信装置１０２によれば、送信側同期信号に同期して生成されたトレーニングパタンを用いて、データバッファ手段１２４の書き込み位置を初期化するタイミングが決定される。したがって、送信側同期信号とデータバッファ手段１２４の書き込みタイミングの論理的同期が保障される。
【００１８】
本発明の第３の局面において、第１の局面におけるデータ受信装置１０２のデータバッファ手段１２４は、一定数のデータを時系列に保持する一定数のバッファ手段を含む。リード手段１２５は、それらのバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を保持し、受信側同期信号に従ってリードポインタ情報を初期化する。
【００１９】
このようなデータ受信装置１０２によれば、データバッファ手段１２４の読み出し位置を初期化するタイミングが、受信側同期信号により決定される。したがって、受信側同期信号とデータバッファ手段１２４の読み出しタイミングの論理的同期が保障される。
【００２０】
データ送信装置１０１およびデータ受信装置１０２は、例えば、後述する図２のチップ２１１〜２２１と、後述する図７の送信側チップ７０１および受信側チップ７０２に対応する。同期信号作成手段１１１および同期信号作成手段１２１は、例えば、図２の同期信号作成回路２３１〜２４１に対応する。
【００２１】
パタン発生手段１１２、出力手段１１３、パタン検出手段１２２、クロック調整手段１２３、およびデータバッファ手段１２４は、例えば、図７のパタン発生器７１１、出力回路７１４、パタン検出器７２２、入力回路７２１、およびリングバッファ７２４にそれぞれ対応する。リード手段１２５は、例えば、図７のリングバッファ７２４およびリードポインタ回路７２５に対応し、ライト手段１２６は、例えば、図７のリングバッファ７２４およびライトポインタ回路７２３に対応する。
【発明の効果】
【００２２】
データ送信装置とデータ受信装置の論理的同期が保障され、装置間を等長で配線しなくても、パラレルデータのビット間のばらつきを抑えながら高速伝送を行うことが可能になる。また、データ受信装置において、ビット毎のデータ信号のセットアップタイムおよびホールドタイムが確保される。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
本実施形態の送信側チップおよび受信側チップの主な特徴は、以下の通りである。
（１）受信側チップにおいて、ビット毎にデータの変化点から最適なサンプリングポイント（クロックの立ち上がり）を作成する。データの送受信を行う全チップに基準信号を分配し、基準信号によりｎサイクルに１回ハイレベル‘Ｈ’となる同期信号を作成し、その同期信号を基準として作成したトレーニングパタンを用いて送信側チップと受信側チップの論理的同期を保障し、同期伝送を実現する。これにより、チップ間を等長で配線する必要がなくなり、ビット間のスキューを吸収することができる。
（２）送信側チップのクロック信号を受信側チップへ伝送し、受信側チップでは送信側チップから伝送されたクロック信号を調整する。これにより、送信側チップのＰＬＬと受信側チップのＰＬＬの間のロングタームジッタによる影響が削減される。
（３）チップ間伝送のチューニング（トレーニング）時に用いるトレーニングパタンにパリティを付加して送信し、受信側チップでパリティをチェックする機構を設ける。これにより、トレーニングパタンを正常に伝送し、トレーニングパタンの誤検出を回避することができる。
（４）送信側チップの最終段にマルチプレクサを設け、受信側チップにクロック信号を分周する機能を設ける。これにより、チップの内部クロック信号の２倍の速度で伝送することが可能となる。２倍速伝送を適用した箇所については、チップ間の配線数を半分に削減できるため、１チップあたりの端子数を削減することができる。また、端子数不足を解消して１チップに実装可能な機能を拡大することができ、多機能チップ実現によるコスト削減効果が得られる。
（５）受信側チップのクロック調整をチューニング期間中のみ実行した場合、チューニング終了後の電源電圧・温度変動によりタイミングが変動することが考えられる。そこで、チューニング期間中だけでなく、システム運用時においても、受信側チップのクロック調整機能を有効にする。これにより、システム運用期間の電源電圧・温度変動によるタイミング変動に追従することができる。
（６）複数チップ間の伝送におけるチューニング起動設定をシステムに存在するチップ毎に実行した場合、初期設定シーケンスが長くなる、初期設定シーケンスが複雑になる、という問題が生じる。そこで、システム構成毎に１つの親となるチップを決定し、親チップに対して起動をかけることにより、親チップに属するすべてのチップ間インタフェースのチューニングを実行するシーケンサを、各チップに内蔵する。これにより、初期設定シーケンスが長くなる、初期設定シーケンスが複雑になる、という問題を解決することができる。
（７）個々のチップに試験用のトレーニングパタン生成回路を実装し、トレーニングパタン生成回路の出力を受信側チップのクロック調整回路のテスト信号として用いる。これにより、チップ間伝送の診断を実施する際、送信側機能と受信側機能とが正常に動作することをチップ単体で試験できるようになる。
【００２４】
図２は、各チップへの基準信号の分配方法を示している。図２のシステムは、ボード２０１〜２０７からなり、ボード２０１〜２０４にはそれぞれチップ２１１〜２１４が実装されており、ボード２０６および２０７にはそれぞれチップ２２０および２２１が実装されている。また、ボード２０５にはチップ２１５〜２１９が実装されている。チップ２１１〜２２１は、それぞれ同期信号作成回路２３１〜２４１を備える。各チップの同期信号作成回路には、それぞれ２種類の基準信号Ｓ１およびＳ２が分配される。
【００２５】
図３は、各同期信号作成回路の構成を示しており、図４は、図３の同期信号作成回路内の信号のタイミングチャートである。図３の同期信号作成回路は、ＰＬＬ３０１、シフトレジスタ３０２、３０４、３０６、ＡＮＤ回路３０３、３０５、およびＦＦ回路３０７を備える。シフトレジスタ３０２、３０４、および３０６は、それぞれｌ段、ｍ段、およびｎ段のＦＦ回路からなる。
【００２６】
基準信号Ｓ１は、ＰＬＬ３０１のリファレンスクロック信号として用いられ、基準信号Ｓ２は、基準信号Ｓ１の２倍の周期を持つ信号である。ＰＬＬ３０１は、基準信号Ｓ１をリファレンスクロック信号としてクロック信号Ｃｌｏｃｋ（ＶＣＯ）およびペース信号を生成する。ペース信号は、リファレンスクロック信号と同じ周期を持つ。
【００２７】
ペース信号の微分検出のために、シフトレジスタ３０２は、クロック信号Ｃｌｏｃｋ（ＶＣＯ）を用いてペース信号をｌ段シフトさせ、ＡＮＤ回路３０３は、シフト途中のＦＦ回路の出力と、シフト最終段のＦＦ回路の出力の論理積を信号Ｘ１として出力する。シフトレジスタ３０６は、非同期信号である基準信号Ｓ２を同期化するために、クロック信号Ｃｌｏｃｋ（ＶＣＯ）を用いて基準信号Ｓ２をｎ段シフトさせて信号Ｘ３として出力する。
【００２８】
シフトレジスタ３０４は、信号Ｘ１のパルスを信号Ｘ３の‘Ｈ’区間の中央付近に移動させるために、クロック信号Ｃｌｏｃｋ（ＶＣＯ）を用いて信号Ｘ１をｍ段シフトさせ、信号Ｘ２として出力する。ＡＮＤ回路３０５は、信号Ｘ２と信号Ｘ３の論理積を信号Ｘ４として出力し、ＦＦ回路３０７は、クロック信号Ｃｌｏｃｋ（ＶＣＯ）に従って信号Ｘ４をラッチし、チップ間共通の同期信号として出力する。
【００２９】
この同期信号は、同期信号の生成に用いられたクロック信号Ｃｌｏｃｋ（ＶＣＯ）に同期して、基準信号Ｓ１およびＳ２のタイミングを保持しており、Ｃｌｏｃｋ（ＶＣＯ）のｎサイクルに１回‘Ｈ’となる。図４の例では、ｎ＝１６である。
【００３０】
次に、図５および６を参照しながら、複数チップ間の同期伝送について説明する。目的は、複数チップ間（多：１、１：多）の同期関係を実現することと、チップ内部の２倍の周波数でチップ間伝送を実現することである。
【００３１】
図５は、複数の送信側チップＡ，．．．，Ａ’から受信側チップＢに対して、チップ内部の２倍の速度でデータを伝送する構成を示している。送信側チップＡは、出力回路５０１−ｉ（ｉ＝１，２，．．．，ｐ）を備え、送信側チップＡ’は、出力回路５０２−ｉ（ｉ＝１，２，．．．，ｐ）を備える。また、受信側チップＢは、入力回路５０３−ｉ、５０４−ｉ、リングバッファ５０５−ｉ、５０６−ｉ（ｉ＝１，２，．．．，ｐ）、およびリードポインタ回路５０７を備える。
【００３２】
出力回路５０１−ｉおよび５０２−ｉは、それぞれ２ビットのパラレルデータを時分割多重方式により伝送路の１つの信号線に出力し、入力回路５０３−ｉおよび５０４−ｉは、信号線から入力されるデータをリングバッファ５０５−ｉおよび５０６−ｉに転送する。
【００３３】
リングバッファ５０５−ｉおよび５０６−ｉは、複数段のバッファで構成され、時系列に段数分のデータを保持する。リングバッファの段数は、上述した同期信号が‘Ｈ’となる周期のサイクル数ｎに一致する。
【００３４】
各リングバッファは、ライトポインタ（ＷＰ）の値が示すバッファに受け取ったデータの値を格納し、その他のバッファは、既に格納されている値を保持する。このライトポインタは、次のクロックで書き込むべきバッファを示しており、リングバッファの段数分の値を巡回する。
【００３５】
リードポインタ回路５０７は、リングバッファ５０５−ｉおよび５０６−ｉからデータを読み出すために、次のクロックで読み出すべきバッファを示す値をリードポインタ（ＲＰ）として保持する。リードポインタは、同期信号をトリガとして初期化され、ライトポインタと同様に、リングバッファの段数分の値を巡回する。バッファの読み出しは書き込みとは関係なく行われ、リングバッファ５０５−ｉおよび５０６−ｉから、リードポインタの値が示すバッファのデータが選択されて一斉に読み出される。このとき、各リングバッファから隣接する２ビット分のデータが同時に読み出される。
【００３６】
ある時刻に送信側チップＡから伝送したデータＡ１，Ａ２，．．．，Ａｍ，Ａｎが、伝送路を経由して受信側チップＢのリングバッファ５０５−ｉから読み出されたと同時に、送信側チップＡ’から伝送したデータＡ’１，Ａ’２，．．．，Ａ’ｍ，Ａ’ｎもリングバッファ５０６−ｉから読み出されたとき、チップＡ，．．．，Ａ’とチップＢ間で同期が確立されていることになる。
【００３７】
図６は、複数チップ間の同期を確立するまでのデータの状態を模式的に示している。図中左の“入力回路の出力”は、入力回路５０３−ｉおよび５０４−ｉの中でクロック信号を調整した結果、ビット毎に位相がずれている様子を示している。中央の“リングバッファ：ライト”は、チップＡからのデータとチップＡ’からのデータを、チップＢのリングバッファ５０５−ｉおよび５０６−ｉに書き込んだ様子を示している。この時点では、チップ間同期は確立されていない。
【００３８】
また、右の“リングバッファ：リード”は、リングバッファ５０５−ｉおよび５０６−ｉにばらばらに書き込まれたデータを、同期信号をトリガとしたタイミングで読み出すことで、チップ間同期が確立されている様子を示している。
【００３９】
図７は、リングバッファを用いたチップ間デスキュー（De-Skew ）の構成を示している。送信側チップ７０１は、パタン発生器７１１、選択回路７１２、７１３、および出力回路７１４を備え、受信側チップ７０２は、入力回路７２１、パタン検出器７２２、ライトポインタ回路７２３、リングバッファ７２４、およびリードポインタ回路７２５を備える。なお、送信側チップ７０１および受信側チップ７０２の構成要素は、図２に示した各チップの構成要素の一部に対応しており、実際には、すべてのチップが両方の構成要素を有する。
【００４０】
送信側チップ７０１のパタン発生器７１１は、図３および４に示した同期信号をトリガとして、トレーニングパタンを発生し、選択回路７１２および７１３は、データ切替信号に従って、通常データ信号とパタン発生器７１１の出力信号のいずれかを選択して出力する。出力回路７１４は、伝送データの駆動能力を高める機能を持つ。
【００４１】
受信側チップ７０２の入力回路７２１は、クロック信号の位相を調整する機能を持ち、調整後のクロック信号と受信したデータ信号を出力する。パタン検出器７２２は、受信したデータ信号列からトレーニングパタンを検出し、ライトポインタを初期化するクリア信号を出力する。ライトポインタ回路７２３およびリードポインタ回路７２５は、上述したライトポインタおよびリードポインタを保持する。リングバッファ７２４は、入力回路７２１から出力されたデータ信号をライトポインタが示すバッファに格納し、リードポインタが示すバッファからデータを出力する。
【００４２】
送信側チップ７０１および受信側チップ７０２の以下の動作により、データ信号のスキューが吸収され、チップ間の同期が確立される。
（１）送信側チップ７０１の同期信号を基準にトレーニングパタンを生成する。
（２）受信側チップ７０２では、入力回路７２１による位相調整後に、パタン検出器７２２でトレーニングパタンを検出し、クリア信号により、ライトポインタ回路７２３のライトポインタを初期化するタイミングを決定する。トレーニングパタンの検出後、クリア信号はマスクされる。
（３）受信側チップ７０２の同期信号により、リードポインタを初期化するタイミングを決定する。
（４）ライトポインタとリードポインタに従って、リングバッファ７２４のライト／リードを行う。ライトポインタおよびリードポインタの初期値は、設定によって可変とする。
【００４３】
入力回路７２１による位相調整期間およびスキュー調整期間は、送信側チップ７０１において、選択回路７１２および７１３により、パタン発生器７１１の出力が出力回路７１４に供給される。スキュー調整に使用されるトレーニングパタンは、同期信号をトリガとして生成され、例えば、所定サイクルの繰り返しパタンである。
【００４４】
図８は、図７のパタン発生器７１１の構成図である。図８のパタン発生器７１１は、カウンタ８０１、デコーダ８０２、選択回路８０３、ＯＲ回路８０４、およびＦＦ回路８０５を備える。カウンタ８０１は、同期信号がローレベル‘Ｌ’の間はカウント動作を行ってカウンタ値を出力し、同期信号が‘Ｈ’になるとクリアされる。
【００４５】
デコーダ８０２は、カウンタ８０１からのカウンタ値をデコードして位相調整用のトレーニングパタン（位相調整パタン）およびスキュー調整用のトレーニングパタン（スキュー調整パタン）を出力し、選択回路８０３は、パタン選択信号に従って、位相調整パタンおよびスキュー調整パタンのいずれかを選択して出力する。ＯＲ回路８０４は、選択回路８０３の出力と終了パタン選択信号の論理和を出力し、ＦＦ回路８０５は、ＯＲ回路８０４の出力をラッチして、出力パタンとして出力する。
【００４６】
図９は、チップ内部の２倍の周波数でチップ間伝送を行う構成を示しており、図１０は、この構成によるチップ間伝送のタイミングチャートである。
図７の送信側チップ７０１の出力回路７１４は、マルチプレクサ９０１およびＦＦ回路９０２を含み、チップ内部の隣接する２ビットのデータ信号を、チップ内部のクロック信号（内部クロック信号）の２倍速のクロック信号（２倍クロック信号）で多重化して、伝送路に出力する。受信側チップ７０２の入力回路７２１は、受信側チップ７０２の内部クロック信号の２倍速のクロック信号の位相を調整して出力する。これにより、出力回路７１４からリングバッファ７２４の書き込みまでは２倍速で動作する。
【００４７】
リードポインタ回路７２５は、内部クロック信号でリードポインタを更新し、リードポインタが示すリングバッファ７２４内の２つのバッファから、２ビット同時にデータが読み出される。これにより、チップ内部の２倍の周波数でのチップ間伝送が実現される。
【００４８】
この場合、２倍クロック信号は、図３のクロック信号Ｃｌｏｃｋ（ＶＣＯ）に相当し、内部クロック信号は、例えば、チップ内部で２倍クロック信号を分周することにより生成される。
【００４９】
図１１は、チューニング時のトレーニングパタンに対してパリティを付加して伝送し、パリティチェックを行う構成を示している。この場合、送信側チップ７０１の出力回路７１４内にパリティ生成回路が設けられ、受信側チップ７０２にはパリティ検出回路１１０１が設けられる。
【００５０】
図１２に示すように、送信側チップ７０１のパリティ生成回路は、チューニング期間中に、所定ビット数のシリアルデータに対して１ビットのパリティビットを付加する。受信側チップ７０２のパリティ検出回路１１０１は、受信したデータ信号列からパリティビットを検出し、パリティチェックを行う。これにより、信号線１本単位で伝送データの正当性を確認することができる。
【００５１】
図１３は、送信側チップ７０１から受信側チップ７０２へクロック信号を伝送する構成を示している。この場合、送信側チップ７０１にはクロックドライバ専用回路１３０２が設けられ、受信側チップ７０２にはクロックレシーバ専用回路１３１２が設けられる。クロックドライバ専用回路１３０２は、ＰＬＬ１３０１から出力される２倍クロック信号を受信側チップ７０２へソースクロック（Source Clock）信号として送信し、クロックレシーバ専用回路１３１２は、受信したソースクロック信号を入力回路７２１に転送する。
【００５２】
入力回路７２１は、クロック選択信号ＣＬＫＳＥＬに従って、ソースクロック信号およびＰＬＬ１３１１から出力される２倍クロック信号のいずれかを、位相調整の対象として選択する。ソースクロック信号を選択した場合、ＰＬＬ１３１１からのクロック信号を選択した場合と比較して、以下のメリットが得られる。
・電源投入直後の電圧・温度変動による位相ばらつきが削減される。
・ＰＬＬのロングタームジッタの影響が削減される。
【００５３】
図１４は、出力回路７１４の構成を示している。図１４の出力回路７１４は、２：１選択信号生成回路１４０１、１／２分周回路１４０２、選択回路１４０３、ＯＲ回路１４０４、１４１０、ＦＦ回路１４０５、１４０６、１４１４、１４１５、１４１６、ＡＮＤ回路１４０７、１４０８、１４０９、ＥＸＮＯＲ回路１４１１、ＥＸＯＲ回路１４１２、ＮＡＮＤ回路１４１３、およびバッファ１４１７、１４１８、１４１９を備える。
【００５４】
このうち、２：１選択信号生成回路１４０１、１／２分周回路１４０２、選択回路１４０３、ＯＲ回路１４０４、１４１０、ＦＦ回路１４０５、１４０６、ＡＮＤ回路１４０７、１４０８、１４０９は、モード設定信号に従って伝送モードを切り替える動作を行う。モード設定信号が‘Ｈ’のとき等速伝送モードが選択され、モード設定信号が‘Ｌ’のとき２倍速伝送モードが選択される。
【００５５】
等速伝送モードでは、出力回路７１４および入力回路７２１がビット毎に設けられ、２倍クロック信号の半分の周波数でデータ伝送が行われる。また、リングバッファ７２４からはデータが１ビットずつ読み出される。
【００５６】
２：１選択信号生成回路１４０１は、図１５に示すように、ＦＦ回路１５０１、１５０３、ＡＮＤ回路１５０２、およびインバータ１５０４を含み、同期信号と２倍クロック信号から２：１選択信号を生成する。１／２分周回路１４０２は、図１６に示すように、ＡＮＤ回路１６０１、ＦＦ回路１６０２、およびインバータ１６０３を含み、２倍クロック信号を分周して、周波数が半分の等速クロック信号を生成する。
【００５７】
選択回路１４０３は、モード設定信号が‘Ｈ’のとき、１／２分周回路１４０２から出力されるクロック信号を選択して出力し、モード設定信号が‘Ｌ’のとき、２倍クロック信号を選択して出力する。選択回路１４０３から出力されたクロック信号は、ＦＦ回路１４０５、１４０６、１４１４、１４１５、および１４１６のクロック端子に入力される。
【００５８】
ＯＲ回路１４０４は、２：１選択信号生成回路１４０１の出力と選択回路１４０３の出力の論理和を、入力データラッチ制御信号としてＦＦ回路１４０５および１４０６に出力し、ＡＮＤ回路１４０７は、モード設定信号の否定と２：１選択信号生成回路１４０１の出力の論理積を、パス選択信号としてＡＮＤ回路１４０８および１４０９に出力する。
【００５９】
ＦＦ回路１４０５および１４０６は、ＯＲ回路１４０４からの入力データラッチ制御信号と選択回路１４０３からのクロック信号に従って、それぞれデータ入力端子ＡおよびＢから入力されるデータ信号をラッチして出力する。ＡＮＤ回路１４０８、１４０９およびＯＲ回路１４１０は、２：１パス選択回路として動作し、ＡＮＤ回路１４０７からのパス選択信号が‘Ｌ’のとき、ＦＦ回路１４０５からのデータ信号を選択して出力し、パス選択信号が‘Ｈ’のとき、ＦＦ回路１４０６からのデータ信号を選択して出力する。
【００６０】
また、ＥＸＮＯＲ回路１４１１、ＥＸＯＲ回路１４１２、ＮＡＮＤ回路１４１３、ＦＦ回路１４１４、１４１５、１４１６、およびバッファ１４１７、１４１８、１４１９は、出力データ信号のエッジを強調するピーキング（peaking ）動作を行う。
【００６１】
図１７および１８は、それぞれ２倍速伝送モード設定時および等速伝送モード設定時のタイミングチャートである。
２倍速伝送モードでは、２：１選択信号生成回路１４０１から出力される２：１選択信号がそのまま入力データラッチ制御信号およびパス選択信号として使用される。この場合、図１７に示すように、２：１選択信号生成回路１４０１内のＦＦ回路１５０１により同期信号が１サイクルシフトされ、シフトされた同期信号の立ち下がりにより２：１選択信号が‘Ｌ’にクリアされる（１７０１）。その後、２：１選択信号は、２倍クロック信号の周期で反転（トグル）する。最初の同期信号が入力されるまでは、２：１選択信号の状態（‘Ｈ’または‘Ｌ’）は不明である（１７０２）。
【００６２】
ＦＦ回路１４０５および１４０６は、入力データラッチ制御信号の立ち下がりにより、それぞれデータ入力端子ＡおよびＢのデータ信号をラッチする（１７０３〜１７０６）。２：１パス選択回路は、パス選択信号の立ち下がりによりＦＦ回路１４０５からのデータ信号を選択し（１７０７）、パス選択信号の立ち上がりによりＦＦ回路１４０６からのデータ信号を選択する。
【００６３】
等速伝送モードでは、２：１選択信号生成回路１４０１から出力される２：１選択信号は使用されず、入力データラッチ制御信号は‘Ｈ’に固定され、パス選択信号は‘Ｌ’に固定される。この場合、図１８に示すように、１／２分周回路１４０２から出力されるクロック信号は、同期信号の立ち下がりにより‘Ｌ’にクリアされ（１８０１）、２倍クロック信号の周期で反転（トグル）する。
【００６４】
ＦＦ回路１４０５および１４０６は、このクロック信号に従って、それぞれデータ入力端子ＡおよびＢのデータ信号をラッチし、２：１パス選択回路は、パス選択信号に従って、常時、ＦＦ回路１４０５からのデータ信号を選択する。
【００６５】
図１９は、入力回路７２１の構成を示している。図１９の入力回路７２１は、選択回路１９０１、１／２分周回路１９０２、位相調整回路１９０３、Ｕｐ／Ｄｏｗｎカウンタ１９０４、ストローブ信号発生回路１９０５、位相検出器１９０６、分周回路１９０７、チョッパ回路１９０８、およびラッチ回路１９０９を備える。入力回路７２１は、データ信号の変化点で入力クロック信号のレベル（‘Ｈ’／‘Ｌ’）を検出し、セットアップ／ホールドに十分なタイミングでデータを受信できるように、クロック信号の位相を調整する。
【００６６】
ストローブ信号発生回路１９０５は、データ信号の変化点を検出し、位相検出器１９０６は、データ信号の変化点で位相調整後のクロック信号を受信し、クロック信号のレベルを検出して、Ｕｐ／Ｄｏｗｎカウンタ１９０４のカウント方向（シフト方向）を指定する制御信号を出力する。
【００６７】
分周回路１９０７は、データ信号の変化点から、Ｕｐ／Ｄｏｗｎカウンタ１９０４用のシフトクロック信号を生成する。分周回路１９０７の分周比は、信号ＤＩＶ［１：０］により設定される。Ｕｐ／Ｄｏｗｎカウンタ１９０４は、分周回路１９０７からのシフトクロック信号に従って、位相検出器１９０６により指定されたカウント方向でカウント動作を行う。
【００６８】
選択回路１９０１は、クロック選択信号ＣＬＫＳＥＬが‘Ｈ’のとき、送信側チップ７０１から受信したソースクロック信号を調整対象として選択し、ＣＬＫＳＥＬが‘Ｌ’のとき、ＰＬＬ１３１１から出力された２倍クロック信号を調整対象として選択する。１／２分周回路１９０２は、モード設定信号が‘Ｈ’（等速伝送モード）のとき、選択回路１９０１からのクロック信号を分周して、周波数が半分の等速クロック信号を生成し、モード設定信号が‘Ｌ’（２倍速伝送モード）のとき、選択回路１９０１からのクロック信号をそのまま出力する。
【００６９】
位相調整回路１９０３は、Ｕｐ／Ｄｏｗｎカウンタ１９０４の状態を参照して、１／２分周回路１９０２から出力されるクロック信号の位相を進めたり遅らせたりする。位相調整回路１９０３により調整されたクロック信号は、調整後クロック信号として入力回路７２１から出力されるとともに、チョッパ回路１９０８に入力される。ラッチ回路１９０９は、チョッパ回路１９０８からのクロック信号に従って、データ信号をラッチして出力する。ここでは、セル遅延を抑えるためにチョッパ回路１９０８とラッチ回路１９０９の組み合わせを用いているが、その代わりにＦＦ回路を用いても構わない。
【００７０】
図２０は、トレーニングパタンを用いたチューニングの構成を示しており、図２１は、この構成によるチューニング処理のフローチャートである。図２０の送信側チップ７０１および受信側チップ７０２は、それぞれレジスタ２００１および２００２を備える。
【００７１】
チューニングは位相調整とスキュー調整の２段階に分割して行われ、それぞれ伝送されるトレーニングパタンが異なる。チューニングが開始されると、まず、送信側チップ７０１のパタン発生器７１１は位相調整パタンを出力し、出力回路７１４は、そのパタンを受信側チップ７０２に送信する（ステップ２１０１）。例えば、チューニング開始前は、ａｌｌ‘０’が送出され、位相調整期間は“１１１０１０００”（位相調整パタン）の繰り返しパタンが送出される。受信側チップ７０２の入力回路７２１は、受信した位相調整パタンのデータ信号に合わせてクロック信号の位相を調整する（ステップ２１０２）。
【００７２】
パタン発生器７１１は、位相調整パタン送出後、一定時間ΔＴ１が経過するのを待ち（ステップ２１０３）、ΔＴ１が経過すると、位相調整パタンをスキュー調整パタンに切り替える（ステップ２１０４）。スキュー調整パタンとしては、例えば、“１００１１１０１”が送出される。受信側チップ７０２のパタン検出器７２２は、スキュー調整パタンを検出すると、リングバッファのライトポインタを初期化する（ステップ２１０５）。
【００７３】
パタン発生器７１１は、スキュー調整パタン送出後、一定時間ΔＴ２が経過するのを待ち（ステップ２１０６）、ΔＴ２が経過すると、終了パタンを出力して、送信完了通知をレジスタ２００１に書き込む（ステップ２１０７）。このとき、図８の終了パタン選択信号が‘Ｈ’となり、ａｌｌ‘１’の終了パタンが送出される。送信側チップ７０１は、終了パタン送出中に送出データを通常データに切り替える。受信側チップ７０２のパタン検出器７２２は、終了パタンを検出すると（ステップ２１０８）、受信完了通知をレジスタ２００２に書き込む（ステップ２１０９）。
【００７４】
図２１のフローは、システム構成やインタフェースに依存せずに動作可能であり、位相調整は、ステップ２１０４のスキュー調整パタン送信後も続行される。レジスタ２００１および２００２に書き込まれた送信／受信完了通知をクリアすることにより、再度チューニングを行うことが可能になる。
【００７５】
なお、受信側チップ７０２では、終了パタン検出時に入力回路７２１に対して位相調整機能を停止する指示を送ることもできる。この場合、チューニング動作を設定するチューニング選択信号が、パタン検出器７２２に入力される。
【００７６】
チューニング選択信号によりチューニング期間のみ位相調整を行うモードが設定された場合は、図２２に示すように、パタン検出器７２２は、終了パタンを検出すると、位相調整Ｏｆｆの指示を入力回路７２１に出力し、位相調整を停止する。
【００７７】
チューニング選択信号により常時位相調整を行うモードが設定された場合は、図２３に示すように、パタン検出器７２２は、常に位相調整Ｏｎの指示を入力回路７２１に出力し、終了パタンを検出しても位相調整を停止しない。したがって、通常データ受信中にも位相調整が続行される。
【００７８】
図２４は、図２のシステム内の複数チップ間で、チップ２１５を親チップとしてチューニング（キャリブレーション）を行うシーケンスを示している。チップ２１５に対して起動指示を行うと、図２１の手順でトレーニングパタンが伝送され、各チップが自律的に送信完了・受信完了を判断して、次のステップの処理を実行する。この例では、（１）、（２）、（３）、（４）の順番でチューニングが実行される。
【００７９】
図２５は、受信側チップ７０２における入力回路７１２の試験時の構成を示している。図２５の受信側チップ７０２は、ｐビットのパラレルデータを受信するためにｐ個の入力回路７２１−ｉおよびｐ個のパタン検出器７２２−ｉ（ｉ＝１，２，．．．，ｐ）を備え、試験用のトレーニングパタン（試験用パタン）を生成するためにパタン発生器２５０１を備える。パタン発生器２５０１の出力は、各入力回路７２１−ｉのテスト用入力端子に接続される。
【００８０】
入力回路７２１−ｉは、送信側チップ７０１から伝送される位相調整パタンの代わりに試験用パタンを用いて位相調整を行い、調整されたクロック信号に従って試験用パタンのデータ信号列を出力する。パタン検出器７２２−ｉは、出力されるデータ信号列から試験用パタンを検出することで、入力回路７２１−ｉの持つ位相調整機能を試験する。試験結果はビット毎に判断され、試験用パタンが検出された場合はＯＫが出力され、試験用パタンの検出後に検出失敗が発生した場合や試験用パタンが検出されない場合は、ＮＧが出力される。
（付記１）  複数ビットのパラレルデータを受信先へ送信するデータ送信装置であって、
基準信号を用いて送信側同期信号を生成する同期信号作成手段と、
前記送信側同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に前記受信先へ送信する出力手段とを備え、
前記受信先において、前記基準信号を用いて受信側同期信号が生成され、前記トレーニングパタンが検出されたときにデータバッファ手段の格納位置が初期化され、前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整して、ビット数分の調整クロック信号が生成され、該調整クロック信号に従って該ビット毎のデータ信号が該データバッファ手段に取り込まれ、該データバッファ手段に時系列に一定数のデータがビット毎に保持され、該データバッファ手段内の複数ビットのデータが、第２のクロック信号に従い該受信側同期信号に同期して時系列に選択されて、パラレルデータとして読み出されることを特徴とするデータ送信装置。
（付記２）  前記出力手段は、前記第２のクロック信号と同じ周波数のクロック信号と該第２のクロック信号の２倍の周波数のクロック信号の一方を選択する選択手段を含み、該同じ周波数のクロック信号が選択されたとき、前記パラレルデータを選択されたクロック信号を用いて送信し、該２倍の周波数のクロック信号が選択されたとき、該パラレルデータを選択されたクロック信号を用いて２ビットずつ時分割多重して送信することを特徴とする付記１記載のデータ送信装置。
（付記３）  前記パタン発生手段は、前記トレーニングパタンを位相調整パタン、スキュー調整パタン、および終了パタンに分割して出力することを特徴とする付記１記載のデータ送信装置。
（付記４）  送信元から送信された複数ビットのパラレルデータを受信するデータ受信装置であって、
基準信号を用いて受信側同期信号を生成する同期信号作成手段と、
前記送信元において前記基準信号を用いて生成された送信側同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持し、前記トレーニングパタンが検出されたときに格納位置が初期化されるデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い前記受信側同期信号に同期して時系列に選択し、パラレルデータとして読み出すリード手段と
を備えることを特徴とするデータ受信装置。
（付記５）  ライト手段をさらに備え、前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、該ライト手段は、該一定数のバッファ手段のうち、次にデータが格納されるバッファ手段を示すライトポインタ情報を保持し、該ライトポインタ情報により示されるバッファ手段にデータ信号を入力し、前記パタン検出手段は、前記トレーニングパタンを検出したとき、該ライトポインタ情報を初期化することを特徴とする付記４記載のデータ受信装置。
（付記６）  前記データバッファ手段は、前記一定数のデータを時系列に保持する該一定数のバッファ手段を含み、前記リード手段は、該一定数のバッファ手段のうち、次に読み出されるデータが保持されているバッファ手段を示すリードポインタ情報を保持し、前記受信側同期信号に従って該リードポインタ情報を初期化することを特徴とする付記４記載のデータ受信装置。
（付記７）  前記データバッファ手段は、前記一定数のデータを時系列に保持するｎ個のバッファ手段を含み、前記送信側同期信号および受信側同期信号は、ｎサイクルに１回ハイレベルとなる信号であることを特徴とする付記４記載のデータ受信装置。
（付記８）  クロック信号を生成するクロック生成手段と、生成されたクロック信号と前記送信元から送信されたソースクロック信号のうちの一方を前記第１のクロック信号として選択する選択手段をさらに備えることを特徴とする付記４、５、６、または７記載のデータ受信装置。
（付記９）  前記トレーニングパタンのデータ信号列にパリティビットが付加されているとき、受信したデータ信号列からパリティビットを検出してパリティチェックを行うパリティ検出手段をさらに備えることを特徴とする付記４、５、６、または７記載のデータ受信装置。
（付記１０）  前記クロック調整手段は、前記パラレルデータが前記第２のクロック信号と同じ周波数のクロック信号を用いて送信され、前記第１のクロック信号が前記第２のクロック信号の２倍の周波数を有するとき、該第１のクロック信号を分周して半分の周波数のクロック信号を生成し、該パラレルデータが該第２のクロック信号の２倍の周波数のクロック信号を用いて２ビットずつ時分割多重されて送信されたとき、該第１のクロック信号をそのまま出力する分周手段を含み、該分周手段から出力されたクロック信号の位相を調整することを特徴とする付記４、５、６、または７記載のデータ受信装置。
（付記１１）  前記パタン検出手段は、チューニング期間のみ位相調整を行うモードが設定されているとき、検出されたトレーニングパタンが終了パタンであれば、前記クロック調整手段に対して位相調整を停止する信号を出力し、常時位相調整を行うモードが設定されているとき、検出されたトレーニングパタンが該終了パタンであっても、前記クロック調整手段に対して位相調整を継続する信号を出力することを特徴とする付記４、５、６、または７記載のデータ受信装置。
（付記１２）  試験用のトレーニングパタンを生成するパタン発生手段をさらに備え、前記パタン検出手段は、前記クロック調整手段が該試験用のトレーニングパタンを用いて前記第１のクロック信号の位相を調整したとき、調整クロック信号に従って転送されるデータ信号列から該試験用のトレーニングパタンを検出することで、該クロック調整手段の位相調整機能を試験することを特徴とする付記４、５、６、または７記載のデータ受信装置。
（付記１３）  複数ビットのパラレルデータを互いに送受信する複数のデータ送受信装置を有するシステムであって、
各データ送受信装置は、
前記複数のデータ送受信装置に分配された基準信号を用いて、同期信号を生成する同期信号作成手段と、
前記同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に受信先のデータ送受信装置へ送信する出力手段と、
送信元のデータ送受信装置において前記基準信号を用いて生成された同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記送信元のデータ送受信装置から送信されるパラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持し、前記トレーニングパタンが検出されたときに格納位置が初期化されるデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い、前記同期信号作成手段により生成された同期信号に同期して時系列に選択し、パラレルデータとして読み出すリード手段と
を備えることを特徴とするシステム。
（付記１４）  複数ビットのパラレルデータを互いに送受信する複数のデータ送受信装置を有するシステムであって、
各データ送受信装置は、
前記複数のデータ送受信装置に分配された基準信号を用いて、同期信号を生成する同期信号作成手段と、
前記同期信号に同期してトレーニングパタンをビット毎に生成するパタン発生手段と、
前記トレーニングパタンおよびパラレルデータをビット毎に受信先のデータ送受信装置へ送信する出力手段と、
送信元のデータ送受信装置において前記基準信号を用いて生成された同期信号に同期して送信されるトレーニングパタンを検出するパタン検出手段と、
前記送信元のデータ送受信装置から送信されるパラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整し、ビット数分の調整クロック信号を生成するクロック調整手段と、
前記調整クロック信号に従って前記ビット毎のデータ信号を取り込んで、時系列に一定数のデータをビット毎に保持するデータバッファ手段と、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従って時系列に選択し、パラレルデータとして読み出すリード手段とを備え、
前記複数のデータ送受信装置は、前記同期信号作成手段により生成された同期信号と前記トレーニングパタンを用いて前記パラレルデータの同期伝送を行うことを特徴とするシステム。
（付記１５）  前記複数のデータ送受信装置のうちの１つに対してチューニングの起動指示が与えられたとき、起動指示を受けたデータ送受信装置を起点として、該複数のデータ送受信装置の間で前記トレーニングパタンを用いたチューニングが順次実行されることを特徴とする付記１３または１４記載のシステム。
（付記１６）  複数ビットのパラレルデータを送信元から受信先へ伝送するデータ伝送方法であって、
前記送信元において、基準信号を用いて送信側同期信号を生成し、
前記送信側同期信号に同期してトレーニングパタンをビット毎に生成し、
前記トレーニングパタンおよびパラレルデータをビット毎に前記受信先へ送信し、
前記受信先において、前記基準信号を用いて受信側同期信号を生成し、
前記トレーニングパタンが検出されたときにデータバッファ手段の格納位置を初期化し、
前記パラレルデータのビット毎にデータ信号のセットアップタイムおよびホールドタイムが確保されるように、ビット毎のデータ信号を用いて第１のクロック信号の位相を調整して、ビット数分の調整クロック信号を生成し、
前記調整クロック信号に従って前記ビット毎のデータ信号を前記データバッファ手段に取り込んで、該データバッファ手段に時系列に一定数のデータをビット毎に保持し、
前記データバッファ手段内の複数ビットのデータを、第２のクロック信号に従い前記受信側同期信号に同期して時系列に選択して、パラレルデータとして読み出す
ことを特徴とするデータ伝送方法。
【図面の簡単な説明】
【００８１】
【図１】本発明のデータ送信装置およびデータ受信装置の原理図である。
【図２】基準信号の分配を示す図である。
【図３】同期信号作成回路の構成図である。
【図４】同期信号作成回路のタイミングチャートである。
【図５】複数チップ間の同期伝送を示す図である。
【図６】複数チップ間の同期関係を示す図である。
【図７】チップ間デスキューの構成を示す図である。
【図８】パタン発生器の構成図である。
【図９】２倍周波数のチップ間伝送を示す図である。
【図１０】２倍周波数のチップ間伝送のタイミングチャートである。
【図１１】パリティチェックの構成を示す図である。
【図１２】パリティを付加した伝送データを示す図である。
【図１３】クロック信号の伝送を示す図である。
【図１４】出力回路の構成図である。
【図１５】２：１選択信号生成回路の構成図である。
【図１６】１／２分周回路の構成図である。
【図１７】２倍速伝送モード設定時のタイミングチャートである。
【図１８】等速伝送モード設定時のタイミングチャートである。
【図１９】入力回路の構成図である。
【図２０】チューニングの構成を示す図である。
【図２１】チューニング処理のフローチャートである。
【図２２】第１のチューニング処理を示す図である。
【図２３】第２のチューニング処理を示す図である。
【図２４】キャリブレーションシーケンスを示す図である。
【図２５】試験時の構成を示す図である。
【図２６】従来のソース同期方式の構成図である。
【図２７】ソース同期方式によるストローブポイントを示す図である。
【図２８】ロングタームジッタを示す図である。
【図２９】クロック周波数の変動を示す図である。
【符号の説明】
【００８２】
１１、７０１  送信側チップ
１２、７０２  受信側チップ
２１  遅延回路
２２−１、２２−２、２２−Ｎ、２７−１、２７−２、２７−Ｎ、３０７、８０５、９０２、１４０５、１４０６、１４１４、１４１５、１４１６、１５０１、１５０３、１６０２  フリップフロップ回路
２３、２４−１、２４−２、２４−Ｎ、５０１−１、５０１−２、５０１−ｐ、５０２−１、５０２−２、５０２−ｐ、７１４  出力回路
２５、２６−１、２６−２、２６−Ｎ、５０３−１、５０３−２、５０３−ｐ、５０４−１、５０４−２、５０４−ｐ、７２１、７２１−１、７２１−ｐ  入力回路
１０１  データ送信装置
１０２  データ受信装置
１１１、１２１  同期信号作成手段
１１２  パタン発生手段
１１３  出力手段
１２２  パタン検出手段
１２３  クロック調整手段
１２４  データバッファ手段
１２５  リード手段
１２６  ライト手段
２０１〜２０７  ボード
２１１〜２２１  チップ
２３１〜２４１  同期信号作成回路
３０１  ＰＬＬ
３０２、３０４、３０６  シフトレジスタ
３０３、３０５、１４０７、１４０８、１４０９、１５０２、１６０１  ＡＮＤ回路
５０５−１、５０５−２、５０５−ｐ、５０６−１、５０６−２、５０６−ｐ、７２４  リングバッファ
５０７、７２５  リードポインタ回路
７１１、２５０１  パタン発生器
７１２、７１３、１４０３、１９０１  選択回路
７２２、７２２−１、７２２−ｐ  パタン検出器
７２３  ライトポインタ回路
８０１  カウンタ
８０２  デコーダ
８０３  選択回路
８０４、１４０４、１４１０  ＯＲ回路
９０１  マルチプレクサ
１１０１  パリティ検出回路
１３０２  クロックドライバ専用回路
１３１２  クロックレシーバ専用回路
１３０１、１３１１  ＰＬＬ
１４０１  ２：１選択信号生成回路
１４０２、１９０２  １／２分周回路
１４１１  ＥＸＮＯＲ回路
１４１２  ＥＸＯＲ回路
１４１３  ＮＡＮＤ回路
１４１７、１４１８、１４１９  バッファ
１５０４、１６０３  インバータ
１９０３  位相調整回路
１９０４  Ｕｐ／Ｄｏｗｎカウンタ
１９０５  ストローブ信号発生回路
１９０６  位相検出器
１９０７  分周回路
１９０８  チョッパ回路
１９０９  ラッチ回路
２００１、２００２  レジスタ
【図１】
2006050102.tif 000003
【図２】
2006050102.tif 000004
【図３】
2006050102.tif 000005
【図４】
2006050102.tif 000006
【図５】
2006050102.tif 000007
【図６】
2006050102.tif 000008
【図７】
2006050102.tif 000009
【図８】
2006050102.tif 000010
【図９】
2006050102.tif 000011
【図１０】
2006050102.tif 000012
【図１１】
2006050102.tif 000013
【図１２】
2006050102.tif 000014
【図１３】
2006050102.tif 000015
【図１４】
2006050102.tif 000016
【図１５】
2006050102.tif 000017
【図１６】
2006050102.tif 000018
【図１７】
2006050102.tif 000019
【図１８】
2006050102.tif 000020
【図１９】
2006050102.tif 000021
【図２０】
2006050102.tif 000022
【図２１】
2006050102.tif 000023
【図２２】
2006050102.tif 000024
【図２３】
2006050102.tif 000025
【図２４】
2006050102.tif 000026
【図２５】
2006050102.tif 000027
【図２６】
2006050102.tif 000028
【図２７】
2006050102.tif 000029
【図２８】
2006050102.tif 000030
【図２９】
2006050102.tif 000031