JP4917901B2 - 受信装置 - Google Patents

受信装置 Download PDF

Info

Publication number
JP4917901B2
JP4917901B2 JP2007005426A JP2007005426A JP4917901B2 JP 4917901 B2 JP4917901 B2 JP 4917901B2 JP 2007005426 A JP2007005426 A JP 2007005426A JP 2007005426 A JP2007005426 A JP 2007005426A JP 4917901 B2 JP4917901 B2 JP 4917901B2
Authority
JP
Japan
Prior art keywords
symbol
divided data
skew adjustment
skp
data string
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007005426A
Other languages
English (en)
Other versions
JP2008172657A (ja
Inventor
賀津雄 戸崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2007005426A priority Critical patent/JP4917901B2/ja
Publication of JP2008172657A publication Critical patent/JP2008172657A/ja
Application granted granted Critical
Publication of JP4917901B2 publication Critical patent/JP4917901B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、送信装置から、複数のレーン(伝送線路)を使用して送信されてくる、送信すべきデータ列を分割して生成した複数の分割データ列(シリアルデータ列)を受信する受信装置に関するものである。
従来のパラレル通信インタフェイス(I/F)であるPCI(Peripheral Component Interconnect)に代わる高速シリアル通信I/Fとして、PCI Expressが知られている。
PCI Expressの特徴の1つは、1組の送信専用線と受信専用線とを含むシリアル通信I/Fを採用するレーンを複数束ねられることである。すなわち、各々のレーンではデータ列のシリアル通信が行われるが、複数のレーンを使用することによって、送受信すべきデータ列を複数のレーンに対応して分割し、レーン数分の分割データ列をパラレルに送受信できる。そのため、レーン数に応じて通信帯域を数倍に容易に向上させることができる。
PCI Expressを採用する送信装置と受信装置との間で複数のレーンを使用してシリアル通信を行う場合、上記のように、送信装置は、送信すべきデータ列を複数に分割し、複数の分割データ列を各々対応するレーンを通じて受信装置に送信する。一方、受信装置は、送信装置から送信されてくる、各々のレーンに対応する分割データ列を受信し、シリアル・パラレル変換する。そして、複数のレーンのパラレルデータ列を結合して、元のデータ列を復元する。
PCI Expressを採用する送信装置と受信装置との間で複数のレーンを使用してシリアル通信を行う場合、各々のレーンにおける伝送遅延時間が異なるなどの理由から、受信装置において受信される分割データ列の間でレーン毎にスキューが発生することがある。そのため、受信装置では、元のデータ列を復元するために、各々のレーンを通じて受信される分割データ列の間のスキューを調整し、データの位置(タイミング)を揃える必要がある。
PCI Expressの場合、複数のレーンに対応する分割データ列の間の到達時間の違い(レーン間スキュー)の調整のために、COMシンボルを用いて、分割データ列の間のスキューを調整する機能(レーン間デスキュー)が規格化されている。
レーン間デスキューとは、送信装置から、有効データ(COMシンボルなどの制御データを除く、送信装置から受信装置に送信すべきデータ)を、複数のレーンに対応する分割データ列に分割して送信する場合、それぞれの分割データ列に、所定パターンのCOMシンボルを共通のタイミングで挿入してから、各々のレーンを通じて送信し、受信装置において、各々のレーンに対応するCOMシンボルの位置を検出し、その位置を合わせることによって、各々のレーンを通じて送信される分割データ列の間のスキューを調整する機能である。このようなCOMシンボルを用いたデスキューは、送信装置および受信装置のコンフィグレーションを行うトレーニングシーケンス時に行われるとともに、コンフィグレーションを完了した後の通常転送時にも、定期的に行われる。
ところで、PCI Expressを採用する送信装置では、送信装置から分割データ列を送信する時に、クロック信号が同時に送信されるわけではなく、クロック信号は、送信される分割データ列に重畳されている。従って、受信装置では、受信した分割データ列から、クロック信号をリカバリーし、リカバリーしたクロック信号(リカバリークロック)を使用して分割データ列をラッチし、シリアル・パラレル変換を行って元のデータ列を復元する。
しかし、前述の通り、分割データ列の間でレーン毎にスキューが発生することがある。また、送信装置と受信装置は、それぞれ別々のクロック信号(ローカルクロック)に同期して動作している。そのため、両者のローカルクロックの間には位相差(クロックスキュー)がある場合がある。従って、PCI Expressを採用する受信装置では、両者の間のクロックスキューの調整のために、次に述べるスキップ処理(SKIP処理)が行われる。
SKIP処理では、SKIPオーダードセットとして、1個のCOMシンボルに続いて3個のSKPシンボルが送信され、その後、必要に応じて有効データが送信される。受信装置は、各々のレーン毎に、所定数の分割データ列を一時的に保持する弾性バッファを備えており、SKPシンボルの個数を±2個の範囲で加減することで、送信装置と受信装置との間のクロックスキューによる弾性バッファのオーバーフローやアンダーフローの発生を回避する。
すなわち、SKIP処理によって、SKPシンボルの個数は、1〜5個の範囲で各々のレーン毎に変化する可能性がある。
しかし、全てのレーンに対して同数のSKPシンボルを加減できれば問題はないが、各々のレーン毎に、SKPシンボルの加減数が異なる可能性は十分にある。その場合、レーン間デスキューでCOMシンボルの位置を合わせたとしても、COMシンボルに続くSKPシンボルの個数がレーン毎に異なるため、その後に続く有効データの位置もずれる。従って、元のデータ列を復元するためには有効データの位置を合わせる必要がある。
ここで、本発明の先行技術文献として、例えば特許文献1などがある。
特許文献1には、トレーニングシーケンス(TS)の場合には、COMシンボルを用いてスキュー調整を行い、通常転送時のSKIP処理では、各々のレーンに対し、SKPシンボルの付加、削除情報に基づいてスキュー調整の処理を行うことが開示されている。
従って、特許文献1では、トレーニングシーケンスの場合と通常転送時の場合の処理を分離する必要がある。また、特許文献1では、弾性バッファにおいてSKPシンボルが、いくつ追加されたのか、もしくは、削除されたのかを判別してスキュー調整を行う必要がある。
特開2006−202281号公報
本発明の目的は、前記従来技術に基づく問題点を解消し、シンボルの個数が各々のレーン毎に異なる場合であっても、簡単な処理によって、各々のレーンに対応する分割データ列の間のスキュー調整を行うことができる受信装置を提供することにある。
上記目的を達成するために、本発明は、第1の期間において、送信すべきデータ列を分割して生成した複数の分割データ列であって、第1のシンボルを共通のタイミングで所定の個数だけ連続して挿入した後に、それぞれに対応するレーンを通じて送信された複数の分割データ列を受信する受信装置において、
前記複数のレーンのそれぞれに対応して、前記受信した分割データ列の前記第1のシンボルの個数を1個もしくはそれ以上に調整する処理を行って処理済み分割データ列を生成する弾性バッファを備えるとともに、前記処理済み分割データ列の間のスキュー調整を行うスキュー調整回路を備え、
前記スキュー調整回路は、前記複数のレーンのそれぞれに対応して設けられて前記処理済み分割データ列内の前記第1のシンボルを判別する判別回路を有し、該判別回路の判別結果に基づいて、それぞれの前記処理済み分割データ列における前記第1のシンボルの終了を検出し、該終了を検出したタイミングに基づいて前記処理済み分割データ列の間のスキュー調整を行うことを特徴とする受信装置を提供するものである。
ここで、前記第1の期間において、前記第1のシンボルは、第2のシンボルに続いて挿入され、
前記第1の期間と異なる第2の期間において、前記分割データ列は、前記第2のシンボルのみが共通のタイミングで挿入されて送信され、
前記判別回路は、前記処理済み分割データ列内の前記第1のシンボルに加えて前記第2のシンボルを、前記第1のシンボルとを区別することなく判別し、前記スキュー調整回路は、前記第1の期間および第2の期間の両方において、前記判別回路の判別結果に基づいて、前記それぞれの処理済み分割データ列における前記第1もしくは第2のシンボルの終了を検出し、該終了を検出したタイミングに基づいて前記処理済み分割データ列の間のスキュー調整を行うことが好ましい。
また、前記複数のレーンのそれぞれに対応して設けられ、クロック信号に同期して対応する前記処理済み分割データ列のデータを一時的に記憶するバッファをさらに備え、
前記スキュー調整回路は、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整することによって前記スキュー調整を行うことが好ましい。
また、前記スキュー調整回路は、さらに、
前記複数のレーンのそれぞれに対応して設けられ、同一のレーンの前記処理済み分割データ列における前記第1のシンボルの終了を検出した時点から、前記クロック信号に同期してカウントするカウンタを有し、全ての前記処理済み分割データ列における前記第1のシンボルの終了を検出した時点での前記それぞれのカウンタのカウント値に応じて、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整するか、もしくは、
前記処理済み分割データ列のいずれかにおいて最初に前記第1のシンボルの終了を検出した時点から、前記クロック信号に同期してカウントするカウンタを有し、前記処理済み分割データ列のそれぞれにおいて前記第1のシンボルの終了を検出した時点での前記カウンタのカウント値に応じて、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整することが好ましい。
また、前記分割データ列をシリアルデータ列として受信し、パラレルデータ列に変換してから前記弾性バッファによる処理を行うことが好ましい。
本発明の受信装置によれば、シンボルの個数が各々のレーンに対応する処理済み分割データ列毎に異なる場合であっても、特許文献1のように、シンボルの加減の情報を使用することなく、簡単な回路構成で、かつ、簡単な処理によって、処理済み分割データ列における第1のシンボルの終了を検出し、その検出タイミングに基づいて処理済み分割データ列の間のスキューを調整することができる。
以下に、添付の図面に示す好適実施形態に基づいて、本発明の受信装置を詳細に説明する。
図1は、本発明の受信装置の構成を表す一実施形態のブロック図である。同図に示す受信装置10は、PCI Expressの規格に従い、複数のレーンを使用して、図示していない送信装置との間でシリアル通信を行い、送信装置から、複数のレーンを通じて送信されてくる分割データ列を受信する。受信装置10は、0〜n個(nは1以上の整数)のレーンに対応するパイプレーン12(0〜n)と、レーンデスキュー処理回路14とによって構成されている。
パイプレーン0は、シリアライザ・デシリアライザ16と、弾性バッファ18とによって構成されている。
レーン0に対応する分割データ列が、シリアルI/Fを介してシリアライザ・デシリアライザ16に入力される。シリアライザ・デシリアライザ16の出力信号は弾性バッファ18に入力され、弾性バッファ18の出力信号は、レーン0に対応するSKIP処理済み分割データ列として、レーンデスキュー処理回路14に入力される。そして、レーンデスキュー処理回路14の出力信号が、スキュー調整済み分割データ列として、受信装置10の内部バスに出力される。
シリアライザ・デシリアライザ16は、シリアルI/Fを介して受信した、レーン0に対応する分割データ列(シリアルデータ列)をパラレルデータ列に変換する、シリアル・パラレル変換器である。
弾性バッファ18は、シリアライザ・デシリアライザ16から入力される分割データ列(パラレルデータ列)内のSKPシンボルの個数を1個もしくはそれ以上に調整する処理を行って、SKIP処理済み分割データ列を生成するSKIP処理を行う。PCI Expressの場合、通常転送時には、定期的に、SKIPオーダードセットとして、1個のCOMシンボルに続いて3個のSKPシンボルが挿入されて送信される。弾性バッファ18は、このSKPシンボルの個数を±2個の範囲で加減する。
また、パイプレーン1〜nも、レーン0がレーン1〜nのいずれかに置き換えられる点を除いてパイプレーン0と同様のものである。各々のパイプレーン0〜nにおいて、送信装置から送信されてくる、レーン0〜nに対応する分割データ列が受信される。
以下、4つのレーン(図1において、n=3の場合)を使用する場合を例に挙げてレーンデスキュー処理回路14について説明する。
図2は、図1に示すレーンデスキュー処理回路の構成を表すブロック図である。同図に示すレーンデスキュー処理回路14は、スキュー調整回路20と、4つのFIFO22(FIFOi)(iは0,1,2,3)(以下同じ)とによって構成されている。
スキュー調整回路20は、図2に示すように、各々のFIFOiに入力されるSKIP処理済み分割データ列Li_DATA_INの間のスキュー調整を行うもので、アドレス信号Li_FIFO_ADDRを出力する。アドレス信号Li_FIFO_ADDRは、各々対応するFIFOiに入力される。
図3は、図2に示すスキュー調整回路20の構成を表すブロック図である。同図に示すスキュー調整回路20は、各々のレーンiに対応して設けられた、COM,SKP判別回路24(COM,SKP判別i)およびスキュー調整カウンタ26(スキュー調整カウンタi)と、全レーンCOM,SKP判定回路28とによって構成されている。
COM,SKP判別回路24は、SKIP処理済み分割データ列Li_DATA_IN内のCOMシンボルないしSKPシンボルを判別(COMシンボルとSKPシンボルとを区別なく判別)し、その判別結果として個別判別信号SMBLiを出力する。これと共に、COMシンボルおよびSKPシンボルの終了を検出して、個別終了信号END1iを出力する。これらの信号は、対応するレーンのスキュー調整カウンタ26に入力される。個別終了信号END1iは、全レーンCOM,SKP判定回路28にも入力される。
スキュー調整カウンタ26は、COM,SKP判別回路24の判別結果である個別終了信号END1iに基づいて、それぞれのSKIP処理済み分割データ列Li_DATA_INにおけるSKPシンボルの終了を検出したタイミングを把握する。そして、スキュー調整カウンタ26は、SKPシンボルの終了を検出したタイミングに基づいて、アドレス信号Li_FIFO_ADDRをFIFO22に供給する。これによって、SKIP処理済み分割データ列Li_DATA_INの間のスキュー調整を行う。
ここで、COM,SKP判別回路24について具体例を挙げて説明する。
COM,SKP判別回路24は、図4に示すように、COMシンボルないしSKPシンボルの比較回路(COMないしSKPの比較回路)30と、フリップフロップ(FF)32と、AND回路34とによって構成されている。
SKIP処理済み分割データ列Li_DATA_INが、COMシンボルないしSKPシンボルの比較回路30に入力され、その出力信号SMBLiが、AND回路34の一方の入力端子(反転入力端子)と、FF32のデータ入力端子に入力される。FF32のデータ出力信号が、AND回路34の他方の入力端子に入力され、AND回路34から、個別終了信号END1iが出力される。図示していないが、FF32は、受信装置10のクロック信号(ローカルクロック)に同期して動作する。
COMシンボルおよびSKPシンボルは、あらかじめ定められた、それぞれのシンボルであることを表すビットパターンを有しており、有効データとの区別が可能である。そのため、COM,SKP判別回路24は、COMシンボルないしSKPシンボルの比較回路30が、COMシンボルおよびSKPシンボルのビットパターンと、SKIP処理済み分割データ列Li_DATA_INに含まれるデータのビットパターンとを比較することによって、COMシンボルないしSKPシンボルであるかないかを判別する。
この結果、図6のタイミングチャートに示すように、SKIP処理済み分割データ列Li_DATA_INがCOMシンボルないしSKPシンボルである期間、COMシンボルないしSKPシンボルの比較回路30の比較結果SMBLiとしてH(ハイレベル)が出力される。
COMシンボルないしSKPシンボルの比較回路30の比較結果SMBLiは、FF32に入力され、ローカルクロックの立ち上がりでFF32に保持される。そして、AND回路34によって、比較結果SMBLiの反転信号とFF32の出力信号とのAND論理がとられ、比較結果SMBLiの立ち下がりが検出される。言い換えると、最後のCOMシンボルないしSKPシンボルの終了のタイミングが検出され、AND回路34から、ローカルクロックの1周期の期間、個別終了信号END1iが出力される。
続いて、全レーンCOM,SKP判定回路28は、4つのCOM,SKP判別回路iから入力される個別終了信号END1iに応じて、全てのレーン0〜3に対応するCOM,SKP判別回路0〜3でCOMシンボルないしSKPシンボルの終了が検出されたと判定すると、その時点で全体終了信号END2としてHを出力する。全体終了信号END2は、各々のスキュー調整カウンタiに入力される。
スキュー調整カウンタiは、対応するCOM,SKP判別回路iから個別終了信号END1iとしてHが入力される、すなわち、対応するレーンiのSKIP処理済み分割データ列Li_DATA_INにおけるSKPシンボルの終了を検出した時点から、ローカルクロックに同期してカウントを開始する。そして、全レーンCOM,SKP判定回路28から全体終了信号END2としてHが入力されるとカウントを停止する。
スキュー調整カウンタiは、カウント停止時点でのカウント値Li_FIFO_ADDRを保持する。各々のスキュー調整カウンタiから出力されるカウント値Li_FIFO_ADDRは、各々対応するFIFOiに入力される。
次に、FIFO22について説明する。
FIFOiは、それぞれのレーンiに対応して設けられ、ローカルクロックに同期して、対応するSKIP処理済み分割データ列Li_DATA_INを一時的に記憶する。SKPシンボルの個数は、送信時には3であり、弾性バッファ18において±2の範囲で調整される。従って、各々の弾性バッファ18から出力されるスキュー調整済み分割データ列Li_DATA_INは、1〜5個の範囲のSKPシンボルを含む。
この場合、FIFOiは、図5に示すように、5つのフリップフロップ(FF)36a、36b、36c、36d、36eと、マルチプレクサ38とによって構成することができる。
5つのFF36a〜eは直列に接続され、SKIP処理済み分割データ列Li_DATA_INが、1段目のFF36aに入力される。各々のFF36a〜eの出力信号が、マルチプレクサ38のデータ入力端子に入力され、アドレス信号Li_FIFO_ADDRが、各々対応するスキュー調整回路iからマルチプレクサ38の選択入力端子に入力される。マルチプレクサ38からは、スキュー調整済み分割データ列Li_DATA_OUTが出力される。
各々のFF36a〜eは、ローカルクロックに同期して動作する。SKIP処理済み分割データ列Li_DATA_INは、ローカルクロックの1クロック毎に、直列に接続された5つのFF36a〜eからなるシフトレジスタ内で順次後段のFFにシフトされる。そして、アドレス信号Li_FIFO_ADDRの状態に応じて、5つのFF36a〜eの出力信号のうちの1つが、スキュー調整済み分割データ列Li_DATA_OUTとして、マルチプレクサ38から出力される。
スキュー調整回路20は、全てのSKIP処理済み分割データ列Li_DATA_INにおけるSKPシンボルの終了を検出した時点での、それぞれのスキュー調整カウンタiのカウント値Li_FIFO_ADDRに応じて、FIFOiに一時的に記憶したデータの読み出しのタイミングを調整する。
次に、受信装置10全体の動作について、図6に示すタイミングチャートを参照して説明する。
図6のタイミングチャートにおいて、PCLKは、受信装置のクロック信号(ローカルクロック)である。なお、同図では、説明を簡単にする目的から、L2_DATA_INおよびその他のレーン2に対応する波形の表示を省略している。
送信装置から、各々のレーンiを通じて送信されてくる分割データ列には、1個のCOMシンボル、3個のSKPシンボル、有効データが、この順で連続して含まれているとする。各々のレーンiに対応する分割データ列は、対応するシリアライザ・デシリアライザ16によって、シリアルデータ列からパラレルデータ列に変換され、続く弾性バッファ18によって、SKIP処理が行われる。
SKIP処理済み分割データ列Li_DATA_INでは、図6のタイミングチャートに示すように、送信装置においては共通のタイミングで挿入したCOMシンボルが、レーン間で転送時間が異なる場合には、レーン毎に異なった位置にある。さらに、弾性バッファ18でのSKPシンボルの追加もしくは削除により、レーン毎にSKPシンボルの個数が異なっている(同じ場合も含む)。このため、COMシンボルおよびSKPシンボルに続く先頭の有効データdati0の位置が、レーン毎に異なっている。SKIP処理後の分割データ列Li_DATA_INは、FIFOiに一時的に順次格納されると同時に、スキュー調整回路20にも入力される。
スキュー調整回路20では、まず、各々のCOM,SKP判別回路iによって、SKIP処理済み分割データ列Li_DATA_INが、COMシンボルないしSKPシンボルであるかないかの判別が行われる。
COM,SKP判別回路iによって、SKIP処理済み分割データ列Li_DATA_INがCOMシンボルないしSKPシンボルであると判別されると、各々対応するスキュー調整カウンタiがクリアされる(0になる)。一方、SKIP処理済み分割データ列Li_DATA_INが、COMシンボルまたはSKPシンボルではないと判別されると、各々対応するスキュー調整カウンタiはクリアが解除され、ローカルクロックに同期してカウントアップを開始する。
例えば、レーン0では、図6に示すタイミングチャートにおいて2クロック目で、SKIP処理済み分割データ列L0_DATA_INがCOMシンボルであると判別され、続く3〜5クロック目でSKPシンボルであると判別される。従って、レーン0のCOMシンボルないしSKPシンボルの比較回路30の比較結果SMBL0は2〜5クロックの期間でHとなる。その後、6クロック目で、SKPシンボルの終了が検出され、COM,SKP判別回路24の出力信号END10はHとなる。そして、次の7クロック目から、スキュー調整カウンタ26のカウント値L0_FIFO_ADDRはカウントアップする。
レーン1〜3についても、レーン0の場合と同様である。
そして、全てのレーンに対応するCOM,SKP判別回路24において、SKIP処理済み分割データ列Li_DATA_INがCOMシンボルないしSKPシンボルであると判別された後、COMシンボルないしSKPシンボルの終了が検出されると、END2(図6中、省略)がHとなる。この時点で全てのスキュー調整カウンタ26のカウントアップが停止され(図6中、点線で示す9クロック目)、その時点におけるカウント値Li_FIFO_ADDRが保持される。
各々のスキュー調整カウンタiに保持されたカウント値Li_FIFO_ADDRは、対応するFIFOiに入力される。各々のFIFOiでは、SKIP処理済み分割データ列Li_DATA_INが、ローカルクロックに同期して順次後段のFFにシフトされる。そして、対応するスキュー調整カウンタiから入力されたカウント値Li_FIFO_ADDRに応じて、FIFOiを構成する5個のFF36a〜eの出力信号のうち、どのFFの出力信号が、FIFOiの出力信号Li_DATA_OUTとして出力されるかが決定される。
その結果、図6のタイミングチャートに点線で示すように、9クロック目以降のFIFOiの出力信号Li_DATA_OUTは、各々のレーン間でスキューが揃うように調整される。すなわち、全てのレーン0〜3に対応する出力信号L0_DATA_OUT〜L3_DATA_OUTの有効データの位置が一致している。図示しないレーン2のSKIP処理済み分割データ列L2_DATA_INについては、最も早くCOMシンボルとなるレーン0のSKIP処理済み分割データ列L0_DATA_INがCOMシンボルになると同時、もしくは、それよりも後にCOMシンボルとなり、最も遅くSKPシンボルが終了するレーン3のSKIP処理済み分割データ列L3_DATA_INのSKPシンボルが終了すると同時、もしくは、それより前に、SKPシンボルが終了するものとする。この場合には、全てのレーン0〜3の出力信号L0_DATA_OUT〜L3_DATA_OUTの有効データの位置が一致する。
以上のように、受信装置10では、SKIP処理によって、SKPシンボルの個数が各々のレーンに対応するSKIP処理済み分割データ列毎に異なる場合であっても、SKIP処理におけるSKPシンボルの加減の情報を使用することなく、簡単な回路構成で、かつ、簡単な処理によって、SKIP処理済み分割データ列におけるSKPシンボルの終了を検出し、その検出タイミングに基づいてSKIP処理済み分割データ列の間のスキューを調整することができる。
なお、上記実施形態において、COMシンボルないしSKIPシンボルの比較回路、および、FIFOの具体例を挙げて説明したが、これらの回路は、同様の機能を果たすことができる各種構成の回路が利用可能である。例えば、上記実施形態においては、各々のレーンにスキュー調整カウンタ26を設け、対応するレーンでのCOMシンボルもしくはSKPシンボルの終了を検出した時点からローカルクロックに同期してカウントを行い、全レーンにおいてCOMシンボルもしくはSKPシンボルの終了を検出した時点のカウント値Li_FIFO_ADDRを保持するようにした。これに対して、全レーンに対して共通のカウンタを設け、いずれかのレーンにおいて最初にCOMシンボルもしくはSKPシンボルの終了を検出した時点からローカルクロックに同期してカウントを行うことも可能である。この場合、各々のレーンに対応させて、各々のレーンにおけるCOMシンボルもしくはSKPシンボルの終了を検出した時点での共通のカウンタのカウント値を保持するレジスタを設ける。そして、各々のレジスタに保持されたカウント値を利用して、各々のレーンのFIFOiの出力信号の選択を行うことが可能である。
また、全レーンCOM,SKP判定回路、およびスキュー調整カウンタの具体的な回路構成は例示していないが、これらの回路も同様の機能を果たすことができる各種構成の回路が利用可能である。全レーンCOM,SKP判定回路については、例えば、各々のレーンに対応させて、各々のレーンのEND1i信号がHレベルになった時にその値を保持するラッチと、これらのラッチに保持された値の論理積を演算するANDゲートとで構成することが可能である。スキュー調整カウンタについては、それぞれのレーンに対応するSMBLi信号でクリアされ、ローカルクロックに同期してカウントアップするカウンタが利用できる。
また、4レーンの場合を例示して説明したが、本発明は、2レーン以上を使用する場合に適用可能である。レーン数に上限はない。また、FIFOをFFで構成する場合、そのFFの段数は、弾性バッファによって、シンボルの個数が変化する範囲に応じて決定すれば良い。上記実施形態では、SKPシンボルの個数が1〜5個の範囲で変化する可能性があるため、FFの段数を5段としている。FFの段数は必要数以上の段数が設けられていれば良い。
また、分割データ列は、送信装置から受信装置に送信すべきデータ列を分割して生成されるものである。例えば、4つのレーンを使用して32ビットのデータ列を送信する場合、これを4つの8ビットの分割データ列に分割して、各々のレーンを通じて送信する。
各々のレーンに対応する分割データ列は、第1の期間(データを転送している期間)において、第1のシンボルを共通のタイミングで所定の個数(1以上)だけ連続して挿入した後に、それぞれに対応するレーンを通じて送信される。PCI Expressの場合には、COMシンボルを共通のタイミングで挿入し、続いて、第1のシンボルとしてSKPシンボルを共通のタイミングで所定の個数だけ連続して挿入して、送信する。
ここで、特許文献1の図1には、1つのパケットを構成するデータが分割されてレーン毎の分割データ列が生成された様子が示されている。図示された例では、パケットに含まれるデータは、その全てが有効データである。しかし、実際には、パケットを構成するデータの送信が終了すると、その後に、無効データを送信することができる期間が存在する。PCI Expressでは、この期間に、COMシンボルと所定個数のSKPシンボルの連続とからなる、SKIPオーダードセットが挿入される。
PCI Expressの場合、上記のように、第1の期間においては、定期的にSKIPオーダードセットが挿入される。これに対して、トレーニングシーケンス(データ転送を行う前に、転送系のコンフィグレーションを行うシーケンス)においては、COMシンボルのみが挿入されて、TSオーダードセット(COMシンボル+トレーニングシーケンス用のデータ)が送信される。
第1の期間において、SKPシンボルがCOMシンボルに続いて挿入され、第1の期間と異なる第2の期間(トレーニングシーケンス中の、TSオーダードセットが送信される期間)において、分割データ列は、COMシンボルのみが共通のタイミングで挿入されて送信される。なお、トレーニングシーケンスにおいても、弾性バッファのオーバーフローやアンダーフローの発生を防止する目的から、データ転送時と同様に、SKIPオーダードセットが定期的に挿入される。
上記実施形態において、COM,SKP判別回路24は、COMシンボルとSKPシンボルとを区別することなく判別する。このため、分割データ列にCOMシンボル(第2のシンボル)が単独で挿入されて送信される場合(例えば、上記TSオーダードセットが送信される場合)であっても、SKPシンボル(第1のシンボル)が単独で挿入されて送信される場合であっても、もしくは、両者が任意の順番で組み合わされて挿入されて送信された場合(例えば、上記SKIPオーダードセットが挿入されて送信される場合)であっても、COMシンボルもしくはSKPシンボルの終了を検出することができる。従って、このCOM,SKP判別回路24を備えたスキュー調整回路20は、上記いずれの場合であっても、同一の処理で、分割データ列間のスキュー調整を行うことができる。
また、シリアルデータ列として受信した分割データ列をパラレルデータ列に変換することなく、シリアルデータ列のままの状態で弾性バッファ以降の処理を行うことも可能である。
また、実施形態では、PCI Expressを採用する受信装置10を例示して説明した。しかし、本発明は、PCI Expressに限らず、送信すべきデータ列を複数に分割した分割データ列のそれぞれに、SKPシンボルに相当する1以上のシンボルを挿入してから、対応するレーンを通じて送信されるシリアルデータ列を受信する受信装置であって、受信した分割データ列のそれぞれへのシンボルの加減が行われる場合に好適に適用可能である。
また、PCI Expressの場合、SKIPオーダードセットとして、1個のCOMシンボルに続き3個のSKPシンボルが挿入されて送信される。しかし、本発明は、少なくともSKPシンボルに相当する複数のシンボルが連続して挿入されて送信される場合に適用可能である。
本発明は、基本的に以上のようなものである。
以上、本発明の受信装置について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
本発明の受信装置の構成を表す一実施形態のブロック図である。 図1に示すレーンデスキュー処理回路の構成を表すブロック図である。 図2に示すスキュー調整回路の構成を表すブロック図である。 図3に示すCOM,SKP判別回路の構成を表す概略図である。 図2に示すFIFOの構成を表す回路図である。 図2に示す受信装置の動作を表すタイミングチャートである。
符号の説明
10 受信装置
12 パイプレーン
14 レーンデスキュー処理回路
16 シリアライザ・デシリアライザ
18 弾性バッファ
20 スキュー調整回路
22 FIFO
24 COM,SKP判別回路
26 スキュー調整カウンタ
28 全レーンCOM,SKP判定回路
30 COMシンボルないしSKPシンボルの比較回路
32、36a、36b、36c、36d、36e フリップフロップ
34 AND回路
38 マルチプレクサ

Claims (5)

  1. 第1の期間において、送信すべきデータ列を分割して生成した複数の分割データ列であって、第1のシンボルを共通のタイミングで所定の個数だけ連続して挿入した後に、それぞれに対応するレーンを通じて送信された複数の分割データ列を受信する受信装置において、
    前記複数のレーンのそれぞれに対応して、前記受信した分割データ列の前記第1のシンボルの個数を1個もしくはそれ以上に調整する処理を行って処理済み分割データ列を生成する弾性バッファを備えるとともに、前記処理済み分割データ列の間のスキュー調整を行うスキュー調整回路を備え、
    前記スキュー調整回路は、前記複数のレーンのそれぞれに対応して設けられて前記処理済み分割データ列内の前記第1のシンボルを判別する判別回路を有し、該判別回路の判別結果に基づいて、それぞれの前記処理済み分割データ列における前記第1のシンボルの終了を検出し、該終了を検出したタイミングに基づいて前記処理済み分割データ列の間のスキュー調整を行うことを特徴とする受信装置。
  2. 前記第1の期間において、前記第1のシンボルは、第2のシンボルに続いて挿入され、
    前記第1の期間と異なる第2の期間において、前記分割データ列は、前記第2のシンボルのみが共通のタイミングで挿入されて送信され、
    前記判別回路は、前記処理済み分割データ列内の前記第1のシンボルに加えて前記第2のシンボルを、前記第1のシンボルとを区別することなく判別し、前記スキュー調整回路は、前記第1の期間および第2の期間の両方において、前記判別回路の判別結果に基づいて、前記それぞれの処理済み分割データ列における前記第1もしくは第2のシンボルの終了を検出し、該終了を検出したタイミングに基づいて前記処理済み分割データ列の間のスキュー調整を行うことを特徴とする請求項1記載の受信装置。
  3. 前記複数のレーンのそれぞれに対応して設けられ、クロック信号に同期して対応する前記処理済み分割データ列のデータを一時的に記憶するバッファをさらに備え、
    前記スキュー調整回路は、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整することによって前記スキュー調整を行うことを特徴とする請求項1記載の受信装置。
  4. 前記スキュー調整回路は、さらに、
    前記複数のレーンのそれぞれに対応して設けられ、同一のレーンの前記処理済み分割データ列における前記第1のシンボルの終了を検出した時点から、前記クロック信号に同期してカウントするカウンタを有し、全ての前記処理済み分割データ列における前記第1のシンボルの終了を検出した時点での前記それぞれのカウンタのカウント値に応じて、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整するか、もしくは、
    前記処理済み分割データ列のいずれかにおいて最初に前記第1のシンボルの終了を検出した時点から、前記クロック信号に同期してカウントするカウンタを有し、前記処理済み分割データ列のそれぞれにおいて前記第1のシンボルの終了を検出した時点での前記カウンタのカウント値に応じて、前記バッファに一時的に記憶したデータの読み出しのタイミングを調整することを特徴とする請求項3記載の受信装置。
  5. 前記分割データ列をシリアルデータ列として受信し、パラレルデータ列に変換してから前記弾性バッファによる処理を行うことを特徴とする請求項1ないし4のいずれかに記載の受信装置。
JP2007005426A 2007-01-15 2007-01-15 受信装置 Expired - Fee Related JP4917901B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007005426A JP4917901B2 (ja) 2007-01-15 2007-01-15 受信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005426A JP4917901B2 (ja) 2007-01-15 2007-01-15 受信装置

Publications (2)

Publication Number Publication Date
JP2008172657A JP2008172657A (ja) 2008-07-24
JP4917901B2 true JP4917901B2 (ja) 2012-04-18

Family

ID=39700306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005426A Expired - Fee Related JP4917901B2 (ja) 2007-01-15 2007-01-15 受信装置

Country Status (1)

Country Link
JP (1) JP4917901B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5426326B2 (ja) * 2009-11-09 2014-02-26 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法、及びプログラム
JP5544896B2 (ja) 2010-01-22 2014-07-09 富士通株式会社 受信回路、情報処理装置、およびバッファ制御方法
JP5595303B2 (ja) * 2011-02-23 2014-09-24 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法及びプログラム
WO2013145240A1 (ja) * 2012-03-29 2013-10-03 富士通株式会社 情報処理装置及び情報処理装置制御方法
JP6413585B2 (ja) 2014-10-06 2018-10-31 株式会社ソシオネクスト 送信回路、集積回路及びパラレルシリアル変換方法
US10581587B1 (en) * 2019-04-29 2020-03-03 Advanced Micro Devices, Inc. Deskewing method for a physical layer interface on a multi-chip module

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04178047A (ja) * 1990-11-13 1992-06-25 Fujitsu Ltd スキュー補償方式
JPH06164564A (ja) * 1992-11-19 1994-06-10 Nec Eng Ltd データ転送システム
US6675327B1 (en) * 1998-12-14 2004-01-06 Agere Systems Inc. Communications system including lower rate parallel electronics with skew compensation and associated methods
JP4456432B2 (ja) * 2004-08-02 2010-04-28 富士通株式会社 基準信号を用いて同期伝送を行う装置および方法
JP4330146B2 (ja) * 2004-08-19 2009-09-16 Necエンジニアリング株式会社 スキュー調整回路
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기

Also Published As

Publication number Publication date
JP2008172657A (ja) 2008-07-24

Similar Documents

Publication Publication Date Title
JP4870435B2 (ja) Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機
JP4917901B2 (ja) 受信装置
US20080201599A1 (en) Combined alignment scrambler function for elastic interface
CN109918332B (zh) Spi从设备及spi设备
US8401138B2 (en) Serial data receiver circuit apparatus and serial data receiving method
US20090323728A1 (en) Asynchronous data fifo that provides uninterrupted data flow
US20060280274A1 (en) Receiving apparatus, data transmission system and receiving method
US20060209735A1 (en) Auto realignment of multiple serial byte-lanes
US20120317380A1 (en) Device and method for a half-rate clock elasticity fifo
Agrawal et al. The design of high speed UART
US9311975B1 (en) Bi-synchronous electronic device and FIFO memory circuit with jump candidates and related methods
JP4336860B2 (ja) シリアルインタフェース回路、及びシリアル受信器
JP2010114762A (ja) シリアル通信装置、通信制御方法、通信制御プログラム
JP2013055502A (ja) シリアル通信回路
US9727306B2 (en) Bi-synchronous electronic device with burst indicator and related methods
US20030112827A1 (en) Method and apparatus for deskewing parallel serial data channels using asynchronous elastic buffers
US20130002315A1 (en) Asynchronous clock adapter
US11689478B2 (en) Wide elastic buffer
US20060098770A1 (en) Synchronizer for passing data from a first system to a second system
TWI779578B (zh) 數據邊界偵測電路及利用其之控制晶片和電子裝置
CN101395839B (zh) 用于同步数字传输的接收器方案
JP2001168729A (ja) データ伝送システム
US6470459B1 (en) Half-word synchronization method for internal clock
JP2005210212A (ja) データ転送回路
KR20160097871A (ko) 고속직렬데이터수신장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4917901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees