【課題】2系統以上の転送レーンを介して送信されてくる受信データを、大幅に回路規模を増大させることなく、ジッター等の影響を受けず安定的に受信して1系統化することができるデータ受信装置を提供する。
【解決手段】データ受信装置は、偶数側および奇数側のデータ処理回路と、2逓倍クロックに同期して、各々のデータ処理回路により処理された偶数側および奇数側の受信データを交互に混合して出力するデータ混合回路を備える。データ処理回路は、受信クロックに同期したグレイコードを2逓倍クロックに同期化した同期化グレイコードを出力する同期化回路と、同期化グレイコードを、2逓倍クロックの2サイクル分のデータサイクル長に調整した調整グレイコードを出力するデータサイクル長調整回路と、受信クロックに同期して、受信データを、グレイコードの値に応じて、4個のバッファ回路に順次バッファリングするバッファリング回路と、調整グレイコードの値に対応するバッファ回路の受信データを順次出力する選択回路を備える。
データ送信装置から第1〜第n転送レーン(nは2以上の整数)を介して各々送信されてくる第1〜第n送信データおよび第1〜第n送信クロックを受信し、各々対応する第1〜第n受信データおよび第1〜第n受信クロックを出力する第1〜第n受信回路と、
第i受信回路(iは、1≦i≦nの整数)により受信された第i受信クロックをn逓倍したn逓倍クロック、および、前記n逓倍クロックをn分周したn分周クロックを発生するクロック発生回路と、
前記n逓倍クロックに同期して、前記第1〜第n受信回路によりそれぞれ受信された第1〜第n受信データを処理し、前記n逓倍クロックに同期化された第1〜第n受信データをそれぞれ出力する第1〜第nデータ処理回路と、
前記n逓倍クロックに同期して、前記第1〜第nデータ処理回路により処理された第1〜第n受信データを順次混合して出力するデータ混合回路とを備え、
第iデータ処理回路は、
前記第i受信クロックに同期して、2m通り(mは2以上の整数)のグレイコードを順次出力するグレイコードカウンタと、
前記n逓倍クロックに同期して前記グレイコードを保持し、前記n逓倍クロックに同期化された同期化グレイコードを出力する同期化回路と、
前記n逓倍クロックに同期して、前記同期化グレイコードのデータサイクル長を、前記n逓倍クロックのnサイクル分のデータサイクル長に調整した調整グレイコードを出力するデータサイクル長調整回路と、
前記第i受信クロックに同期して、前記第i受信回路により受信された第i受信データを保持する保持回路と、
2m個のバッファ回路を有し、前記第i受信クロックに同期して、前記保持回路により保持された第i受信データを、前記グレイコードの値に対応するバッファ回路に順次バッファリングするバッファリング回路と、
前記調整グレイコードの値に対応するバッファ回路に保持された第i受信データを順次出力する選択回路を備えることを特徴とするデータ受信装置。
前記クロック発生回路は、さらに、選択信号に応じて、前記第1〜第n受信クロックの中の1つを前記第i受信クロックとして選択するクロック選択回路を備える請求項2に記載のデータ受信装置。
前記第iデータ処理回路は、さらに、前記n分周クロックに同期して、前記選択回路からの第i受信データを、第i遅延設定信号の値に応じた、前記n分周クロックのサイクル数分だけ遅延する遅延調整回路を備える請求項1〜6のいずれか1項に記載のデータ受信装置。
【背景技術】
【0002】
半導体集積回路(LSI)間で画像データを転送する場合に用いられるLVDS(低電圧差動信号)等のインターフェイス技術を利用したデータ転送回路では、近年、より大きな解像度(例えば、フルHD:1920×1080ピクセルの解像度、60フレーム/秒のフレームレート)の画像の画像データを転送するために、2系統の転送レーンを使用して画像データの転送が行われる。
【0003】
この場合、画像を偶数側および奇数側のピクセルに分け、偶数側のピクセルを転送レーン0、奇数側のピクセルを転送レーン1に割り当てることにより、その画像データを2系統の転送レーン0,1に分割して転送する。2系統の転送レーン0,1を使用して画像データを転送することにより、1系統の転送レーンを使用した場合と比べて、ピクセル周波数比で2倍の解像度までの画像データを同じ時間で転送することが可能となる。
【0004】
図8に示すように、LVDSの1つの転送レーンは、通常、5チャンネルのデータラインData_A_ch, Data_B_ch, Data_C_ch, Data_D_ch, Data_E_chと1チャンネルのクロックラインCLK_chにより構成される。
データ転送装置では、送信データDATA_0および送信クロックCLK_0が、データ送信装置が備える送信回路84から、転送レーンを構成する5チャンネルのデータラインData_A_ch, Data_B_ch, Data_C_ch, Data_D_ch, Data_E_chおよび1チャンネルのクロックラインCLK_chを介して、データ受信装置に送信され、その受信回路86から受信データDATA_0'および受信クロックCLK_0'が出力される。
【0005】
データ転送装置では、2系統の転送レーン0,1を介してデータを転送する場合、
図9に示すように、データ送信装置88の偶数側および奇数側の送信回路90,92から、それぞれ、偶数側の送信データDATA_0および偶数側の送信クロックCLK_0、奇数側の送信データDATA_1および奇数側の送信クロックCLK_1が、転送レーン0,1を介して、データ受信装置98に送信される。
【0006】
データ受信装置98の偶数側および奇数側の受信装置100,102では、それぞれ、偶数側の送信データDATA_0および偶数側の送信クロックCLK_0、奇数側の送信データDATA_1および奇数側の送信クロックCLK_1が受信され、各々対応する偶数側の受信データDATA_0'および偶数側の受信クロックCLK_0'、奇数側の受信データDATA_1'および奇数側の受信クロックCLK_1'が出力される。
【0007】
そして、偶数側の受信データDATA_0'および偶数側の受信クロックCLK_0'、奇数側の受信データDATA_1'および奇数側の受信クロックCLK_1'は、それぞれ、偶数側および奇数側の受信クロックCLK_0', CLK_1'に同期して、偶数側および奇数側の保持回路104,106に保持され、続いて、1系統化回路108により、2逓倍クロックCLKに同期して偶数側および奇数側の受信データDATA_0', DATA_1'が混合されて1系統化され、1系統化された受信データに対して信号処理回路110により所望の信号処理が施される。
【0008】
2系統の転送レーン0,1を介して受信した偶数側および奇数側の受信データに対してLSI内部で信号処理を行う場合、偶数側および奇数側の受信データを、再度、1系統化して元の画像データに戻すことが望ましい。通常、画像処理はピクセル順に行われ、フィルタ処理は、上下左右のピクセルを参照することが多いため、偶数側のピクセルと奇数側のピクセルが分割されたままでは、画像処理やフィルタ処理等の信号処理が行われる場合に不都合を生じることが多いからである。
【0009】
続いて、転送レーン0に対応する偶数側の受信クロックCLK_0'と、転送レーン1に対応する奇数側の受信クロックCLK_1'と、受信側のLSI内部で発生される2逓倍クロックCLKとの関係に着目する。
【0010】
通常、偶数側および奇数側の送信クロックCLK_0, CLK_1は、同図に示す位相同期(PLL)回路94およびクロックツリー合成(CTS)回路96等のように、同じクロック源を用いて発生されると考えられるが、データ送信装置88からプリント回路基板(PCB)を経てデータ受信装置98の偶数側および奇数側の受信回路100,102に入力される。そのため、その通信経路や環境の違いにより、偶数側および奇数側の送信クロックCLK_0, CLK_1には、若干異なるディレイやスキュー、異なるジッターの影響が付加され得ると考えられる。
【0011】
一方、データ受信装置98において、偶数側および奇数側の受信回路100,102内では、それぞれ、受信データDATA_0'と受信クロックCLK_0'との間のスキュー、受信データDATA_1'と受信クロックCLK_1'との間のスキューは、受信データと受信クロックの同期化機能により解決される。この同期化機能については、特許文献1や特許文献2により、クロックラインに遅延素子を挿入する同期化手法が示されている。
【0012】
2逓倍クロックCLKは、
図9に示すように、通常、PLL回路112により、偶数側の受信クロックCLK_0'または奇数側の受信クロックCLK_1'を2逓倍して発生される。しかしその後、2逓倍クロックCLKは、
図9に示すCTS回路114を経てLSI内部のフリップフロップ(FF)に供給されるため、偶数側および奇数側の受信クロックCLK_0', CLK_1'とは、異なるディレイやスキュー、異なるジッターの影響が付加され得る。
【0013】
このように、偶数側および奇数側の受信クロックCLK_0', CLK_1'と、2逓倍クロックCLKとは異なるジッター成分を含む。そのため、
図10に示すように、偶数側の受信クロックCLK_0'に同期した偶数側の受信データDATA_0'および奇数側の受信クロックCLK_1'に同期した奇数側の受信データDATA_1'を、2逓倍クロックCLKを2分周して発生された2分周クロックCLK_HFに同期して受け渡すと、受信データの取りこぼしが発生する場合がある。従って、
図9に示すように、受信データを一度2逓倍クロックCLKに同期して受け渡す必要がある。
【0014】
そのため、これらのクロックの間のディレイやスキューの調整を非常に緻密に行わなければならない必要が生じ、これを実現するためのCTS回路114の設計への負担が増大するとともに、CTS回路114の設計に様々な制約が生じるという問題があった。
また、クロック間のディレイやスキューを緻密に計算してCTS回路114の設計ができたとしても、突発的なジッターなどに対してマージンを確保することができず、安定性が充分とは言えない構成となっていた。
【0015】
上記の問題を解決するため、
図11に示すように、それぞれ、偶数側および奇数側の受信クロックCLK_0', CLK_1'に同期して、偶数側および奇数側の受信データDATA_0', DATA_1'を書き込み、2逓倍クロックCLKに同期して、偶数側および奇数側の受信データDATA_0', DATA_1'を読み出す、1リード/1ライトタイプの偶数側および奇数側のデュアルポートSRAM(スタティックランダムアクセスメモリ)(DP-SRAM)116,118を用いて、非同期調停を行うタイプの解決方法がある。DP-SRAM116,118のアドレス数は、1ライン分、あるいは、ジッターを吸収するために充分な数を準備すればよい。
【0016】
しかし、この方法は、LSIの設計においてレイアウト面積にインパクトのあるDP-SRAM116,118を用いなければならないため、より簡易な方法での解決方法が望ましい。
【0017】
ここで、本発明に関連性のある先行技術文献として、特許文献3,4がある。
【0018】
特許文献3には、多値データからなる入力信号から再生クロックを生成するものであって、入力信号の連続する3つのデータについて、最初のデータと最後のデータとが同じデータ値であり、かつ、中央のデータとは異なるデータ値である場合に、中央のデータの変化タイミングに基づいて再生クロックの位相を制御するクロック再生回路が記載されている。
【0019】
特許文献4には、それぞれ対応するレーンを通じて送信された複数の分割データ列を受信するものであって、それぞれのレーンに対応して、受信した分割データ列に挿入された第1のシンボルの個数を1個以上に調整して処理済み分割データ列を生成し、処理済み分割データ列内の第1のシンボルの終了を検出したタイミングに基づいて処理済み分割データ列の間のスキュー調整を行う受信装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0021】
本発明の目的は、前記従来技術の問題点を解消し、2系統以上の転送レーンを介して送信されてくる受信データを、大幅に回路規模を増大させることなく、ジッター等の影響を受けず安定的に受信して1系統化することができるデータ受信装置を提供することにある。
【課題を解決するための手段】
【0022】
上記目的を達成するために、本発明は、データ送信装置から第1〜第n転送レーン(nは2以上の整数)を介して各々送信されてくる第1〜第n送信データおよび第1〜第n送信クロックを受信し、各々対応する第1〜第n受信データおよび第1〜第n受信クロックを出力する第1〜第n受信回路と、
第i受信回路(iは、1≦i≦nの整数)により受信された第i受信クロックをn逓倍したn逓倍クロック、および、前記n逓倍クロックをn分周したn分周クロックを発生するクロック発生回路と、
前記n逓倍クロックに同期して、前記第1〜第n受信回路によりそれぞれ受信された第1〜第n受信データを処理し、前記n逓倍クロックに同期化された第1〜第n受信データをそれぞれ出力する第1〜第nデータ処理回路と、
前記n逓倍クロックに同期して、前記第1〜第nデータ処理回路により処理された第1〜第n受信データを順次混合して出力するデータ混合回路とを備え、
第iデータ処理回路は、
前記第i受信クロックに同期して、2
m通り(mは2以上の整数)のグレイコードを順次出力するグレイコードカウンタと、
前記n逓倍クロックに同期して前記グレイコードを保持し、前記n逓倍クロックに同期化された同期化グレイコードを出力する同期化回路と、
前記n逓倍クロックに同期して、前記同期化グレイコードのデータサイクル長を、前記n逓倍クロックのnサイクル分のデータサイクル長に調整した調整グレイコードを出力するデータサイクル長調整回路と、
前記第i受信クロックに同期して、前記第i受信回路により受信された第i受信データを保持する保持回路と、
2
m個のバッファ回路を有し、前記第i受信クロックに同期して、前記保持回路により保持された第i受信データを、前記グレイコードの値に対応するバッファ回路に順次バッファリングするバッファリング回路と、
前記調整グレイコードの値に対応するバッファ回路に保持された第i受信データを順次出力する選択回路を備えることを特徴とするデータ受信装置を提供するものである。
【0023】
ここで、前記クロック発生回路は、
前記第i受信クロックをn逓倍したn逓倍クロックを発生するPLL回路と、
前記n逓倍クロックをn分周したn分周クロックを発生するn分周回路と、
前記n逓倍クロックと前記n分周クロックとの間のスキューをなくして位相を揃え、前記n逓倍クロックおよび前記n分周クロックに同期して動作する回路に供給するクロックツリー合成回路とを備えることが好ましい。
【0024】
また、前記クロック発生回路は、さらに、選択信号に応じて、前記第1〜第n受信クロックの中の1つを前記第i受信クロックとして選択するクロック選択回路を備えることが好ましい。
【0025】
また、前記データサイクル長調整回路は、シフトレジスタと、第1比較回路と、第1マルチプレクサとを備え、
前記シフトレジスタは、n段の第1フリップフロップを直列に接続して構成され、前記n逓倍クロックに同期して、前記第1マルチプレクサの出力信号を順次シフトして、前記n逓倍クロックのnサイクル分の同期化グレイコードを保持し、1段目の前記第1フリップフロップに保持された同期化グレイコードを、前記調整グレイコードとして出力するものであり、
前記第1比較回路は、前記シフトレジスタに保持されたnサイクル分の同期化グレイコードの値を比較するものであり、
前記第1マルチプレクサは、前記第1比較回路による比較の結果、前記シフトレジスタに保持されたnサイクル分の同期化グレイコードの値が等しい場合に、前記同期化回路からの次の同期化グレイコードを出力し、前記シフトレジスタに保持されたnサイクル分の同期化グレイコードの値が異なる場合に、1段目の前記第1フリップフロップからの同期化グレイコードを出力するものであることが好ましい。
【0026】
また、第jバッファ回路(jは、1≦j≦nの整数)は、第2フリップフロップと、第2比較回路と、第2マルチプレクサとを備え、
前記第2フリップフロップは、前記第i受信クロックに同期して、前記第2マルチプレクサの出力信号を保持するものであり、
前記第2比較回路は、前記グレイコードの値と自分自身に対応するグレイコードの値とを比較するものであり、
前記第2マルチプレクサは、前記第2比較回路による比較の結果、前記グレイコードの値が前記自分自身に対応するグレイコードの値である場合に、前記第iデータ処理回路の保持回路からの第i受信データを出力し、前記グレイコードの値が前記自分自身に対応するグレイコードの値ではない場合に、前記第2フリップフロップの出力信号を出力するものであることが好ましい。
【0027】
また、前記データ混合回路は、
前記n逓倍クロックに同期して、0〜(n−1)までのカウント値を繰り返し出力するカウンタと、
前記カウンタのカウント値に応じて、前記第1〜第nデータ処理回路により処理された第1〜第n受信データを順次出力する第3マルチプレクサと、
前記n逓倍クロックに同期して、前記第3マルチプレクサの出力信号を保持して出力する第3フリップフロップとを備えることが好ましい。
【0028】
また、前記第iデータ処理回路は、さらに、前記n分周クロックに同期して、前記選択回路からの第i受信データを、第i遅延設定信号の値に応じた、前記n分周クロックのサイクル数分だけ遅延する遅延調整回路を備えることが好ましい。
【発明の効果】
【0029】
本発明によれば、バッファリング回路およびその制御回路を設けることにより、ジッター等の影響を受けることなく、安定的にデータの受け渡しを行うことが可能となり、受信側のLSIのCTS回路の設計への負担や制約を軽減することができる。
また、2系統以上の転送レーンを介して送信されてくる受信クロック間のスキュー、ディレイ調整を必要とせず、かつ、突発的なジッター等に対するマージンが増加させることができるため、データ受信装置を安定的に動作させることができる。
【発明を実施するための形態】
【0031】
以下に、添付の図面に示す好適実施形態に基づいて、本発明のデータ受信装置を詳細に説明する。
【0032】
図1は、本発明のデータ受信装置の構成を表す一実施形態のブロック図である。同図に示すデータ受信装置10は、データ送信装置から2系統の転送レーン0,1を介して送信されてくる偶数側および奇数側の受信データ(偶数側および奇数側のピクセルの画像データ)を同時に受信し、両者を交互に混合して1系統化した受信データを生成するものであり、偶数側および奇数側の受信回路12,14と、クロック発生回路16と、偶数側および奇数側のデータ処理回路18,20と、データ混合回路22とを備えている。
【0033】
ここで、転送レーン0に対応する偶数側の受信回路12および偶数側のデータ処理回路18と、転送レーン1に対応する奇数側の受信回路14および奇数側のデータ処理回路20とは、入力される信号が異なるだけで同じ構成のものである。
【0034】
つまり、偶数側の受信回路12には、データ送信装置から転送レーン0を介して送信されてくる偶数側の送信データDATA_0および偶数側の送信クロックCLK_0が入力され、偶数側のデータ処理回路18には、偶数側の受信回路12から偶数側の受信データDATA_0'および偶数側の受信クロックCLK_0'が入力される。
一方、奇数側の受信回路14には、データ送信装置から転送レーン1を介して送信されてくる奇数側の送信データDATA_1および奇数側の送信クロックCLK_1が入力され、奇数側のデータ処理回路20には、奇数側の受信回路14から奇数側の受信データDATA_1'および奇数側の受信クロックCLK_1'が入力される。
【0035】
従って、以下代表的に、転送レーン0に対応する偶数側の受信回路12および偶数側のデータ処理回路18について説明する。
【0036】
偶数側の受信回路12は、データ送信装置から転送レーン0を介して送信されてくる偶数側の送信データDATA_0および偶数側の送信クロックCLK_0を受信し、各々対応する偶数側の受信データDATA_0'および偶数側の受信クロックCLK_0'を出力するものである。
【0037】
クロック発生回路16は、偶数側の受信クロックCLK_0'を2逓倍した2逓倍クロックCLK、および、2逓倍クロックCLKを2分周した2分周クロックCLK_HFを発生するものである。
【0038】
本実施形態のクロック発生回路16は、
図2に示すように、PLL回路38と、2分周回路40と、CTS回路42とを備えている。
クロック発生回路16では、PLL回路38により、偶数側の受信クロックCLK_0'を2逓倍した2逓倍クロックCLKが発生され、2分周回路40により、2逓倍クロックCLKを2分周した2分周クロックCLK_HFが発生される。そして、CTS回路42により、2逓倍クロックCLKと2分周クロックCLK_HFとの間のスキューをなくして位相が揃えられ、これらに同期して動作する回路に供給される。
【0039】
なお、クロック発生回路16は、奇数側の受信クロックCLK_1'を2逓倍して2逓倍クロックCLKを発生してもよい。また、クロック発生回路16は、クロック選択回路を備え、選択信号に応じて、偶数側の受信クロックCLK_0'または奇数側の受信クロックCLK_1'を選択し、選択した偶数側の受信クロックCLK_0'または奇数側の受信クロックCLK_1'を2逓倍して2逓倍クロックCLKを発生してもよい。
【0040】
続いて、
図4に示すように、偶数側のデータ処理回路18は、2逓倍クロックCLKに同期して偶数側の受信データDATA_0'を処理し、2逓倍クロックCLKに同期化された偶数側の受信データを出力するものである。
【0041】
偶数側のデータ処理回路18は、
図1に示すように、グレイコードカウンタ24と、同期化回路26と、データサイクル長調整回路28と、保持回路30と、バッファリング回路32と、選択回路34と、遅延調整回路36とを備えている。
グレイコードカウンタ24、同期化回路26およびデータサイクル長調整回路28は、バッファリング回路32の動作を制御する制御回路である。
【0042】
図3に示すように、グレイコードカウンタ24は、偶数側の受信クロックCLK_0'に同期して、それぞれ2ビットの値00,01,11,10で表される、4通りのグレイコードを順次出力するものである。
【0043】
同期化回路26は、2逓倍クロックCLKに同期してグレイコードを保持し、2逓倍クロックCLKに同期化された同期化グレイコードを出力するものである。
【0044】
本実施形態の同期化回路26は、
図3に示すように、公知の構成のものであり、直列に接続されたシフトレジスタ構成の2段のフリップフロップ(FF)44,46を備えている。
2段のFF44,46のクロック入力端子には2逓倍クロックCLKが入力され、1段目のFF44のデータ入力端子Dには、グレイコードカウンタ24からグレイコードが入力される。
【0045】
同期化回路26では、2逓倍クロックCLKに同期して、偶数側の受信クロックCLK_0'に同期したグレイコードが1段目のFF44に順次保持されるとともに、1段目のFF44に保持されたグレイコードが2段目のFF46に順次保持される。
このように、グレイコードを2段以上のFFにより連続的にシフトすることにより、偶数側の受信クロックCLK_0'に同期したグレイコードを2逓倍クロックCLKに同期化させることができる。
ただし、同期化回路26によりグレイコードを2逓倍クロックCLKに同期化した時のタイミングによっては、同期化グレイコードのデータサイクル長が、2逓倍クロックCLKの1サイクル分となる場合がある。
【0046】
データサイクル長調整回路28は、2逓倍クロックCLKに同期して、同期化グレイコードのデータサイクル長を、2逓倍クロックCLKの2サイクル分のデータサイクル長に調整した調整グレイコードを出力するものである。
【0047】
本実施形態のデータサイクル長調整回路28は、
図3に示すように、2段のFF48,50を直列に接続して構成されたシフトレジスタ52と、比較回路54と、マルチプレクサ56とを備えている。
シフトレジスタ52を構成する2段のFF48,50のクロック入力端子には2逓倍クロックCLKが入力され、1段目のFF48のデータ入力端子Dにはマルチプレクサ56の出力信号が入力される。
比較回路54には、FF48,50のデータ出力端子Qからの出力信号が入力される。
マルチプレクサ56の入力端子T(True:真)には、同期化回路26のFF46のデータ出力端子Qからの出力信号が入力され、入力端子F(False:偽)には、1段目のFF48のデータ出力端子Qからの出力信号が入力され、選択入力端子には、比較回路54の出力信号(比較結果)が入力される。
【0048】
データサイクル長調整回路28では、シフトレジスタ52により、2逓倍クロックCLKに同期して、マルチプレクサ56の出力信号、つまり、同期化グレイコードが2段のFF48,50に順次シフトされる。これにより、2逓倍クロックCLKの2サイクル分の同期化グレイコードが2段のFF48,50に保持され、1段目のFF48に保持された同期化グレイコードが調整グレイコードとして出力される。
【0049】
続いて、比較回路54により、2段のFF48,50に保持された2サイクル分の同期化グレイコードの値が比較される。
【0050】
その結果、シフトレジスタ52に保持された2サイクル分の同期化グレイコードの値が異なる場合(F)、つまり、1段目のFF48から同じ値の調整グレイコードが1サイクル分だけしか出力されない場合、マルチプレクサ56からは、1段目のFF48からの同期化グレイコードが出力される。
続いて、シフトレジスタ52により、次の2逓倍クロックCLKに同期して、マルチプレクサ56の出力信号、つまり、1サイクル前に1段目のFF48に保持されていた同期化グレイコードがシフトされ、1段目のFF48に再度保持される。また、2段目のFF50には、1サイクル前に1段目のFF48に保持されていた同期化グレイコードがシフトされて保持される。
これにより、1段目のFF48から同じ値の同期化グレイコードが2サイクル連続して出力される。つまり、1段目のFF48から同じ値の調整グレイコードが2サイクル連続して出力される。このように、同期化回路26により同期化グレイコードのデータサイクル長が1サイクル分となった場合でも、データサイクル長調整回路28により同期化グレイコードのデータサイクル長を2サイクル分のデータサイクル長に調整することができる。
【0051】
一方、シフトレジスタ52に保持された2サイクル分の同期化グレイコードの値が等しい場合(T)、つまり、1段目のFF48から同じ値の調整グレイコードが2サイクル連続して出力された場合、マルチプレクサ56からは、同期化回路26からの次の同期化グレイコードが出力される。
続いて、シフトレジスタ52により、次の2逓倍クロックCLKに同期して、マルチプレクサ56の出力信号、つまり、次の同期化グレイコードがシフトされ、1段目のFF48に保持され、調整グレイコードとして出力される。同様に、2段目のFF50には、1サイクル前に1段目のFF48に保持されていた同期化グレイコードがシフトされて保持される。これ以後は、前述の動作が繰り返される。
【0052】
続いて、保持回路30は、偶数側の受信クロックCLK_0'に同期して、偶数側の受信データDATA_0'を保持するものである。
【0053】
本実施形態の保持回路30は、
図4に示すように、FF58を備えている。
FF58のクロック入力端子には偶数側の受信クロックCLK_0'が入力され、データ入力端子Dには、偶数側の受信回路12から偶数側の受信データDATA_0'が入力される。
偶数側の受信データDATA_0'は、偶数側の受信クロックCLK_0'に同期して、FF58に保持される。
これにより、偶数側の受信データDATA_0'は、偶数側の受信クロックCLK_0'に同期化される。
【0054】
バッファリング回路32は、4個のバッファ回路を有し、偶数側の受信クロックCLK_0'に同期して、保持回路30により保持された偶数側の受信データDATA_0'を、グレイコードの値に対応するバッファ回路に順次バッファリングするものである。
バッファリング回路32は、転送レーン0を介して送信されてくる2以上の受信データDATA_0'をバッファリングして、各々の受信データのタイミングウィンドウを拡大させるための緩衝用バッファである。
【0055】
本実施形態のバッファリング回路32は、
図4に示すように、4個のバッファ回路60a、60b、60c、60dを備えている。
例えば、バッファ回路60aは、マルチプレクサ62と、比較回路64と、FF66とを備えている。
FF66のクロック入力端子には偶数側の受信クロックCLK_0'が入力され、データ入力端子Dには、マルチプレクサ62の出力信号が入力される。
比較回路64には、グレイコードカウンタ24からグレイコードが入力される。
マルチプレクサ62の入力端子Tには、保持回路30のFF58のデータ出力端子Qからの出力信号が入力され、入力端子Fには、FF66のデータ出力端子Qからの出力信号が入力され、選択入力端子には、比較回路64からの出力信号(比較結果)が入力される。
【0056】
バッファ回路60aでは、比較回路64により、グレイコードの値と自分自身に対応するグレイコードの値00とが比較される。
その結果、マルチプレクサ62からは、グレイコードの値が00である場合(T)に、保持回路30からの偶数側の受信データDATA_0'が出力され、グレイコードの値が00ではない場合に、FF66からの出力信号が出力される。
そして、マルチプレクサ62の出力信号は、偶数側の受信クロックCLK_0'に同期して、FF66に保持される。
これにより、バッファ回路60aには、グレイコードの値が00である場合に、偶数側の受信データDATA_0'が保持され、グレイコードの値が00ではない場合に、既に保持されている偶数側の受信データDATA_0'が保持(維持)される。
【0057】
他のバッファ回路60b、60c、60dも、対応するグレイコードの値が01,11,10に変わるだけでバッファ回路60aと同様の構成のものであり、同様に動作する。
従って、バッファリング回路32では、偶数側の受信データDATA_0'が、偶数側の受信クロックCLK_0'に同期して、グレイコードの値00,01,11,10に応じて、その値に各々対応するバッファ回路60a、60b、60c、60dに順次バッファリングされる。その結果、受信データのタイミングウィンドウは、
図7に示すように4倍に拡大される。
【0058】
選択回路34は、調整グレイコードの値00,01,11,10に各々対応するバッファ回路60a、60b、60c、60dに保持された偶数側の受信データを順次出力するものである。
【0059】
本実施形態の選択回路34は、
図4に示すように、マルチプレクサ68を備えている。
マルチプレクサ68の入力端子00,01,11,10には、それぞれ、バッファリング回路32の、グレイコードの値00,01,11,10に対応する4つのバッファ回路60a、60b、60c、60dの出力信号が入力され、選択入力端子には、データサイクル長調整回路28から調整グレイコードが入力される。
【0060】
マルチプレクサ68からは、調整グレイコードの値が00,01,11,10の場合に、それぞれ、グレイコードの値00,01,11,10に対応するバッファ回路60a、60b、60c、60dの出力信号が出力される。
【0061】
遅延調整回路36は、必須の構成要素ではないが、2分周クロックCLK_HFに同期して、選択回路34からの偶数側の受信データを、偶数側の遅延設定信号の値に応じた、2分周クロックCLK_HFのサイクル数分だけ遅延するものである。
【0062】
本実施形態の遅延調整回路36は、
図5に示すように、直列に接続されたシフトレジスタ構成の3段のFF70,72,74と、マルチプレクサ76とを備えている。
FF70,72,74のクロック入力端子には2分周クロックCLK_HFが入力され、1段目のFF70のデータ入力端子Dには、選択回路34から出力される偶数側の受信データが入力される。
マルチプレクサの入力端子0,1,2には、それぞれ、FF70,72,74のデータ出力端子Qからの出力信号が入力され、選択入力端子には、偶数側の遅延設定信号POS_SET0が入力される。
【0063】
遅延調整回路36では、選択回路34から出力された偶数側の受信データが、2分周クロックCLK_HFに同期して、直列に接続された3段のFF70,72,74に順次シフトされる。
そして、マルチプレクサ76からは、偶数側の遅延設定信号POS_SET0の値が0,1,2の場合に、それぞれ、FF70,72,74の出力信号、つまり、選択回路34からの偶数側の受信データが、2分周クロックCLK_HFの1サイクル分、2サイクル分、3サイクル分遅延された偶数側の受信データが出力される。
【0064】
偶数側および奇数側の遅延設定信号POS_SET0, POS_SET1には、通常、1が設定される。偶数側の受信クロックCLK_0'と奇数側の受信クロックCLK_1'との間に、2分周クロックCLK_HFの1サイクル分以上のスキューがある場合には、偶数側および奇数側の遅延設定信号POS_SET0, POS_SET1の値を適宜設定することにより、偶数側の受信クロックCLK_0'と奇数側の受信クロックCLK_1'との間で最大±2サイクルまでのスキューを吸収することができる。
【0065】
遅延調整回路36は、さらに、遅延設定レジスタを備え、遅延設定レジスタに設定された偶数側の遅延設定信号POS_SET0の値に応じて、選択回路34から出力された偶数側の受信データを遅延してもよい。奇数側の遅延設定信号POS_SET1も同様である。
【0066】
続いて、データ混合回路22は、2逓倍クロックCLKに同期して、偶数側および奇数側のデータ処理回路18,20により処理された偶数側および奇数側の受信データを交互に混合して出力するものである。
【0067】
データ混合回路22は、
図6に示すように、0/1カウンタ78と、マルチプレクサ80と、FF82とを備えている。
0/1カウンタ78には2逓倍クロックCLKが入力される。
マルチプレクサ80の入力端子0,1には、それぞれ、偶数側および奇数側のデータ処理回路18,20の遅延調整回路36により遅延が調整された偶数側および奇数側の受信データが入力され、選択入力端子には、0/1カウンタ78の出力信号が入力される。
FF82のクロック入力端子には2逓倍クロックCLKが入力され、データ入力端子Dには、マルチプレクサ80の出力信号が入力される。
【0068】
データ混合回路22では、0/1カウンタ78により、2逓倍クロックCLKに同期して、0および1のカウント値が繰り返し出力される。
マルチプレクサ80からは、0/1カウンタ78のカウント値が0の場合に、偶数側のデータ処理回路18により処理された偶数側の受信データが出力され、0/1カウンタ78のカウント値が1の場合に、奇数側のデータ処理回路20により処理された奇数側の受信データが出力される。
そして、FF82により、マルチプレクサ80の出力信号が、2逓倍クロックCLKに同期して保持されて出力される。
これにより、偶数側および奇数側のデータ処理回路18,20により処理された偶数側および奇数側の受信データが交互に混合されて出力される。
【0069】
次に、
図7のタイミングチャートを参照しながら、データ受信装置10の動作を説明する。
【0070】
データ送信装置から転送レーン0を介して送信されてくる偶数側の送信データDATA_0および送信クロックCLK_0は、受信回路12により受信され、
図7に示すように、受信回路12から各々対応する偶数側の受信データDATA_0'および偶数側の受信クロックCLK_0'が出力される。
【0071】
グレイコードカウンタ24により、
図7に示すように、偶数側の受信クロックCLK_0'に同期して、値00,01,11,10のグレイコードが順次出力される。
グレイコードカウンタ24から出力されたグレイコードは、偶数側の同期化回路26により、2逓倍クロックCLKに同期化され、同期化グレイコードが出力される。
続いて、データサイクル長調整回路28により、2逓倍クロックCLKに同期して、同期化グレイコードのデータサイクル長が、2逓倍クロックCLKの2サイクル分のデータサイクル長に調整され、調整グレイコードが出力される。
【0072】
一方、偶数側の受信データDATA_0'は、偶数側の受信クロックCLK_0'に同期して、保持回路30に保持される。
保持回路30により保持された偶数側の受信データは、偶数側の受信クロックCLK_0'に同期して、グレイコードの値00,01,11,10に応じて、その値に各々対応する、バッファリング回路32のバッファ回路60a、60b、60c,60dに順次バッファリングされ、
図7に示すように、タイミングウィンドウが4倍に拡大される。
【0073】
続いて、選択回路34により、調整グレイコードの値00,01,11,10に各々対応する、バッファリング回路32のバッファ回路60a、60b、60c,60dにバッファリングされた偶数側の受信データが順次出力される。
【0074】
続いて、遅延調整回路36により、2分周クロックCLK_HFに同期して、選択回路34の偶数側の受信データが、偶数側の遅延設定信号POS_SET0の値に応じた、2分周クロックCLK_HFのサイクル数分だけ遅延される。
【0075】
同時に、データ送信装置から転送レーン1を介して送信されてくる奇数側の送信データDATA_1および送信クロックCLK_1は、奇数側の受信回路12により受信され、奇数側のデータ処理回路20により、
図7に示すように、偶数側のデータ処理回路18の場合と同様に処理された受信データが出力される。
【0076】
そして、データ混合回路22により、
図7に示すように、2逓倍クロックCLKに同期して、偶数側および奇数側のデータ処理回路18,20により処理された偶数側および奇数側の受信データが交互に混合されて出力される。
【0077】
データ受信装置10では、偶数側の受信クロックCLK_0'と奇数側の受信クロックCLK_1'と受信側のLSI内部のクロックの関係がどのような位相関係にあっても、常に安全なタイミングウィンドウ領域でデータの受け渡しを行うことができる。そのため、偶数側の受信クロックCLK_0'と奇数側の受信クロックCLK_1'と受信側のLSI内部のクロックは、位相関係を考慮する必要のない非同期(フォルスパス:False Path)の扱いとすることができる。
【0078】
一方、受信側のLSI内部のクロックは、CTS回路42により、2逓倍クロックCLKと2分周クロックCLK_HFとの位相を揃える(トゥルーパス:True Path)必要はあるが、これはごく通常の設計で行われることであり、容易に実現できる。その結果、LVDSの受信クロックのような外部クロックが関わる緻密なクロックのディレイ、スキュー調整を必要とせず、簡単なクロックツリー設計が可能であり、かつ、突発的なジッター等に対してもマージンが増加し、データ受信装置10を安定的に動作させることができる。
【0079】
なお、本発明は、偶数側および奇数側に対応する2系統の転送レーンに限らず、n系統(nは2以上の整数)の転送レーンを介して送信されてくる受信データを同時に受信する場合にも同様に適用可能である。
【0080】
この場合、データ受信装置において、第1〜第n受信回路は、データ送信装置から第1〜第n転送レーン(nは2以上の整数)を介して各々送信されてくる第1〜第n送信データおよび第1〜第n送信クロックを受信し、各々対応する第1〜第n受信データおよび第1〜第n受信クロックを出力する。
【0081】
クロック発生回路は、第i受信回路(iは、1≦i≦nの整数)により受信された第i受信クロックをn逓倍したn逓倍クロック、および、n逓倍クロックをn分周したn分周クロックを発生する。
【0082】
また、クロック発生回路は、PLL回路と、n分周回路と、クロックツリー合成回路とを備え、さらに、クロック選択回路を備えていてもよい。
クロック発生回路において、PLL回路は、第i受信クロックに同期して、第i受信クロックをn逓倍したn逓倍クロックを発生する。
n分周回路は、n逓倍クロックをn分周したn分周クロックを発生する。
クロックツリー合成回路は、n逓倍クロックおよびn分周クロックのスキューをなくして位相を揃え、n逓倍クロックおよびn分周クロックに同期して動作する回路に供給する。
クロック選択回路は、選択信号に応じて、第1〜第n受信クロックの中の1つを第i受信クロックとして選択する。
【0083】
第1〜第nデータ処理回路は、n逓倍クロックに同期して、第1〜第n受信回路によりそれぞれ受信された第1〜第n受信データを処理し、n逓倍クロックに同期化された第1〜第n受信データをそれぞれ出力する。
【0084】
また、第iデータ処理回路は、グレイコードカウンタと、同期化回路と、データサイクル長調整回路と、保持回路と、バッファリング回路と、選択回路とを備え、さらに、遅延調整回路を備えていてもよい。
第iデータ処理回路において、グレイコードカウンタは、第i受信クロックに同期して、2
m通り(mは2以上の整数)のグレイコードを順次出力する。
同期化回路は、n逓倍クロックに同期してグレイコードを保持し、n逓倍クロックに同期化された同期化グレイコードを出力する。
データサイクル長調整回路は、n逓倍クロックに同期して、同期化グレイコードのデータサイクル長を、n逓倍クロックのnサイクル分のデータサイクル長に調整した調整グレイコードを出力する。
保持回路は、第i受信クロックに同期して、第i受信回路により受信された第i受信データを保持する。
バッファリング回路は、2
m個のバッファ回路を有し、第i受信回路により受信された第i受信クロックに同期して、保持回路により保持された第i受信データを、グレイコードの値に応じて、グレイコードの値に対応するバッファ回路に順次バッファリングする。
選択回路は、2
m個のバッファ回路にバッファリングされた第i受信データの中から、調整グレイコードの値に対応するバッファ回路に保持された第i受信データを順次出力する。
遅延調整回路は、n分周クロックに同期して、選択回路からの第i受信データを、第i遅延設定信号の値に応じた、n分周クロックのサイクル数分だけ遅延する。
【0085】
また、データサイクル長調整回路は、シフトレジスタと、第1比較回路と、第1マルチプレクサとを備える。
データサイクル長調整回路において、シフトレジスタは、n段の第1フリップフロップを直列に接続して構成され、n逓倍クロックに同期して、第1マルチプレクサの出力信号を順次シフトして、n逓倍クロックのnサイクル分の同期化グレイコードを保持し、1段目の第1フリップフロップに保持された同期化グレイコードを、調整グレイコードとして出力する。
第1比較回路は、シフトレジスタに保持されたnサイクル分の同期化グレイコードの値を比較する。
第1マルチプレクサは、第1比較回路による比較の結果、シフトレジスタに保持されたnサイクル分の同期化グレイコードの値が等しい場合に、同期化回路からの次の同期化グレイコードを出力し、シフトレジスタに保持されたnサイクル分の同期化グレイコードの値が異なる場合に、シフトレジスタの1段目の第1フリップフロップからの同期化グレイコードを出力する。
【0086】
また、第jバッファ回路(jは、1≦j≦nの整数)は、第2フリップフロップと、第2比較回路と、第2マルチプレクサとを備える。
第jバッファ回路において、第2フリップフロップは、第i受信クロックに同期して、第2マルチプレクサの出力信号を保持する。
第2比較回路は、グレイコードの値と自分自身に対応するグレイコードの値とを比較する。
第2マルチプレクサは、第2比較回路による比較の結果、グレイコードの値が自分自身に対応するグレイコードの値である場合に、第iデータ処理回路の保持回路からの第i受信データを出力し、グレイコードの値が自分自身に対応するグレイコードの値ではない場合に、第2フリップフロップの出力信号を出力する。
【0087】
データ混合回路は、n逓倍クロックに同期して、第1〜第nデータ処理回路により処理された第1〜第n受信データを順次混合して出力する。
【0088】
また、データ混合回路は、カウンタと、第3マルチプレクサと、第3フリップフロップを備える。
データ混合回路において、カウンタは、n逓倍クロックに同期して、0〜(n−1)までのカウント値を繰り返し出力する。
第3マルチプレクサは、カウンタのカウント値に応じて、第1〜第nデータ処理回路により処理された第1〜第n受信データを順次出力する。
第3フリップフロップは、n逓倍クロックに同期して、第3マルチプレクサの出力信号を保持して出力する。
【0089】
また、本発明のデータ受信装置を構成する、クロック発生回路、受信回路、データ処理回路およびデータ混合回路、さらに、クロック発生回路を構成する、PLL回路および2分周回路、データ処理回路を構成する、グレイコードカウンタ、同期化回路、データサイクル長調整回路、保持回路、バッファリング回路、選択回路および遅延回路、バッファリング回路を構成する各バッファ回路等の具体的な回路構成は何ら限定されず、同様の機能を果たす各種構成のものがいずれも利用可能である。
【0090】
本発明は、基本的に以上のようなものである。
以上、本発明について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。