[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6360578B1 - デスキュー回路及びデスキュー方法 - Google Patents

デスキュー回路及びデスキュー方法 Download PDF

Info

Publication number
JP6360578B1
JP6360578B1 JP2017049581A JP2017049581A JP6360578B1 JP 6360578 B1 JP6360578 B1 JP 6360578B1 JP 2017049581 A JP2017049581 A JP 2017049581A JP 2017049581 A JP2017049581 A JP 2017049581A JP 6360578 B1 JP6360578 B1 JP 6360578B1
Authority
JP
Japan
Prior art keywords
skew
amount
parallel data
lane
pattern
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.)
Active
Application number
JP2017049581A
Other languages
English (en)
Other versions
JP2018152820A (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.)
Anritsu Corp
Original Assignee
Anritsu Corp
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 Anritsu Corp filed Critical Anritsu Corp
Priority to JP2017049581A priority Critical patent/JP6360578B1/ja
Application granted granted Critical
Publication of JP6360578B1 publication Critical patent/JP6360578B1/ja
Publication of JP2018152820A publication Critical patent/JP2018152820A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】未知の入力データに対しても、複数のレーン間で発生するスキューを取り除くことが可能なデスキュー回路及びデスキュー方法を提供する。
【解決手段】n+1周期目のパターンに遅延量を付加する遅延量付加部13と、n周期目とn+1周期目のパターンから得られたMビット幅のパラレルデータDM,DM'に基づいて、各レーンの見掛けのスキュー量とその変化量を検出するスキュー量仮検出部18と、変化量が1ビットのレーンを特定することにより、n周期目のパターンから得られたNビット幅のパラレルデータDNを特定するパラレルデータ特定部19と、n周期目のパターンから得られた各レーンの見掛けのスキュー量から、特定されたパラレルデータDNの各レーンにおける"0"と"1"の変化点のレーン間での相対的なビットずれ量を減算するスキュー量補正部20と、を備える。
【選択図】図1

Description

本発明は、デスキュー回路及びデスキュー方法に関し、特に、複数のレーン間に生じるスキューを除去するデスキュー回路及びデスキュー方法に関する。
近年、100Gイーサネット(登録商標)や400Gイーサネット(登録商標)の規格に対応した高速な通信システムの導入や開発が活発に進められている。一般に、高速な通信システムに採用される送受信機や計測機器においては、例えば高速シリアルデータを低速パラレルデータに変換して、複数のレーンで信号処理を行うことで、要求される処理速度を実現することが行われている。
複数のレーンを用いてデータを送受信する際には、レーン間に生じるスキューを除去する必要がある。例えば、100Gイーサネット(登録商標)では、各レーンを伝送される信号データの中にアライメントマーカと呼ばれるスキュー調整用のデータが送信側で同じタイミングで挿入されており、受信側ではこれらのアライメントマーカの検出時間の差に基づいてスキューの除去が行われる。
また、複数のレーンを用いた処理を行う系として、制御シンボル及び制御データなどの冗長制御情報を差動レーンのそれぞれのチャネルによって供給し、冗長制御情報に基づいて複数のレーンの間でデスキューを行う方法が提案されている(例えば、特許文献1参照)。
特許第5010733号公報
しかしながら、特許文献1に開示されたような従来の方法では、複数レーンを使用した信号処理を行う系であって、冗長制御情報などのスキューを除去するためのデータを用いない系においては、レーン間のスキューを取り除けないという問題があった。
本発明は、このような従来の課題を解決するためになされたものであって、スキューを除去するためのデータが挿入されていない未知の入力データに対しても、複数のレーン間で発生するスキューを取り除くことが可能なデスキュー回路及びデスキュー方法を提供することを目的とする。
上記課題を解決するために、本発明に係るデスキュー回路は、シリアルデータである入力データのビットレートに応じたクロックを生成するクロック・データ・リカバリ回路と、前記クロックの整数倍の周期の周期パターンを発生させるパターン発生器と、前記周期パターン又は前記入力データを前記クロックのタイミングでNビット幅(Nは2以上の整数)のパラレルデータに直並列変換し、前記Nビット幅のパラレルデータをN個のレーンに順次出力する直並列変換部と、前記N個のレーンにそれぞれ設けられ、前記Nビット幅のパラレルデータを受信して、前記レーンごとにMビット幅(Mは2以上の整数)のパラレルデータに順次変換するN個のSerDesと、前記パターン発生器と前記直並列変換部の間に設けられ、前記パターン発生器からn周期分(nは自然数)の前記周期パターンが入力されたタイミングで、前記パターン発生器から入力されるn+1周期目の前記周期パターンに前記クロックの1クロック分の遅延量を付加する遅延量付加部と、n周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータと、n+1周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータとに基づいて、各前記レーンの見掛けのスキュー量とその変化量を検出するスキュー量仮検出部と、前記N個のレーンのうち前記変化量が1ビットである1つのレーンを特定し、前記特定したレーンに基づいて、n周期目の前記周期パターンから得られた前記Nビット幅のパラレルデータを特定するパラレルデータ特定部と、n周期目の前記周期パターンから得られた各前記レーンの前記見掛けのスキュー量から、前記パラレルデータ特定部により特定された前記Nビット幅のパラレルデータの各前記レーンにおける"0"と"1"の変化点の前記レーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するスキュー量補正部と、前記補正スキュー量に応じて、前記入力データのMビット幅のパラレルデータを前記レーンごとにビットシフトして、前記レーン間のスキューを除去するスキュー除去部と、を備える構成である。
この構成により、本発明に係るデスキュー回路は、スキューを除去するためのデータが挿入されていない未知の入力データに対しても、複数のレーンに設けられたN個のSerDesで発生するスキューを取り除くことができる。つまり、本発明に係るデスキュー回路は、通信プロトコルによらずにハード的にレーン間のスキューを除去できるため、複数のレーンでデータを処理するあらゆる装置に適用できる。例えば、本発明に係るデスキュー回路により、高い時間精度でパケットの送受信を行うことなどが可能になる。
また、本発明に係るデスキュー回路においては、前記スキュー量仮検出部は、前記周期パターンから得られた前記Mビット幅のパラレルデータにおける立ち上がりエッジを検出するエッジ検出部と、前記立ち上がりエッジのビット位置に基づいて、各前記レーンの前記見掛けのスキュー量を推定するスキュー量仮推定部と、を含む構成であってもよい。
この構成により、本発明に係るデスキュー回路は、遅延量付加部により周期パターンに遅延量が付加された前後で各SerDesにより変換されたMビット幅のパラレルデータに基づいて、各レーンの見掛けのスキュー量を検出することができる。
また、本発明に係るデスキュー回路は、前記入力データと前記遅延量付加部から出力された前記周期パターンとのいずれかを前記直並列変換部に入力させるセレクタを更に備える構成であってもよい。
この構成により、本発明に係るデスキュー回路は、セレクタを切り替えることにより、各レーンのスキュー量を算出するためのスキュー量算出モードと、入力データが入力された状態で各レーンのスキューを取り除くためのスキュー除去モードとを切り替えることができる。
また、本発明に係るデスキュー方法は、シリアルデータである入力データのビットレートに応じたクロックを生成するステップと、前記クロックの整数倍の周期の周期パターンを発生させるステップと、前記周期パターン又は前記入力データを前記クロックのタイミングでNビット幅(Nは2以上の整数)のパラレルデータに直並列変換し、前記Nビット幅のパラレルデータをN個のレーンに順次出力する直並列変換ステップと、前記N個のレーンにそれぞれ設けられたN個のSerDesにより、前記Nビット幅のパラレルデータを受信して、前記レーンごとにMビット幅のパラレルデータに順次変換するステップと、n周期分(nは自然数)の前記周期パターンが入力されたタイミングで、n+1周期目の前記周期パターンに前記クロックの1クロック分の遅延量を付加する遅延量付加ステップと、n周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータと、n+1周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータとに基づいて、各前記レーンの見掛けのスキュー量とその変化量を検出するスキュー量仮検出ステップと、前記N個のレーンのうち前記変化量が1ビットである1つのレーンを特定し、前記特定したレーンに基づいて、n周期目の前記周期パターンから得られた前記Nビット幅のパラレルデータを特定するパラレルデータ特定ステップと、n周期目の前記周期パターンから得られた各前記レーンの前記見掛けのスキュー量から、前記パラレルデータ特定ステップで特定された前記Nビット幅のパラレルデータの各前記レーンにおける"0"と"1"の変化点の前記レーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するステップと、前記補正スキュー量に応じて、前記入力データのMビット幅のパラレルデータを前記レーンごとにビットシフトして、前記レーン間のスキューを除去するステップと、を含む構成である。
この構成により、本発明に係るデスキュー方法は、スキューを除去するためのデータが挿入されていない未知の入力データに対しても、複数のレーン間で発生するスキューを取り除くことができる。つまり、本発明に係るデスキュー方法は、通信プロトコルによらずにハード的にレーン間のスキューを除去できるため、複数のレーンでデータを処理するあらゆる装置に適用できる。例えば、本発明に係るデスキュー方法により、高い時間精度でパケットの送受信を行うことなどが可能になる。
本発明は、スキューを除去するためのデータが挿入されていない未知の入力データに対しても、複数のレーン間で発生するスキューを取り除くことが可能なデスキュー回路及びデスキュー方法を提供するものである。
本発明の実施形態に係るデスキュー回路の構成を示すブロック図である。 本発明の実施形態に係るデスキュー回路が備えるパターン発生器と遅延量付加部によって生成されるスキュー補償パターンの一例を示す図である。 (a),(b)はDEMUXから未知のスキュー補償パターンが出力された場合に、各SerDesから出力されるパラレルデータの見掛けのスキュー量を示す説明図(その1)である。 (a),(b)はDEMUXから未知のスキュー補償パターンが出力された場合に、各SerDesから出力されるパラレルデータの見掛けのスキュー量を示す説明図(その2)である。 本発明の実施形態に係るデスキュー回路によるデスキュー方法の処理を説明するためのフローチャートである。 図5のフローチャートにおけるステップS7の処理を詳細に説明するためのフローチャートである。
以下、本発明に係るデスキュー回路及びデスキュー方法の実施形態について、図面を用いて説明する。本発明は、高速シリアルデータとしての入力データを低速パラレルデータに変換して、N(Nは2以上の整数)個のレーンを用いて信号処理する際に、レーン間に生じるスキューを調整するものである。
図1に示すように、本発明の実施形態に係るデスキュー回路10は、クロック・データ・リカバリ回路(以下、「CDR」と称する)11と、パターン発生器12と、遅延量付加部13と、セレクタ14と、直並列変換部としてのDEMUX(デマルチプレクサ)15と、N個のSerDes16と、データスイッチ17と、スキュー量仮検出部18と、パラレルデータ特定部19と、スキュー量補正部20と、記憶部21と、スキュー除去部22と、キャプチャ回路23と、制御部24と、を備える。
CDR11は、シリアルデータである入力データからクロックを抽出し、入力データのビットレートに応じたクロックCLKを生成するようになっている。
パターン発生器12は、CDR11により生成されたクロックCLKの整数倍の周期Tの周期パターンを発生させるようになっている。パターン発生器12で発生した周期パターンは、レーン間に生じるスキューを補償するためのスキュー補償パターンとして用いられる。
遅延量付加部13は、パターン発生器12とDEMUX15の間に設けられ、パターン発生器12からn周期分(nは自然数)のスキュー補償パターンが入力されたタイミングで、パターン発生器12から入力されるn+1周期目のスキュー補償パターンにクロックCLKの1クロック分の遅延量を付加するようになっている。すなわち、この遅延量はビットレートに応じて決まる。
セレクタ14は、入力データと遅延量付加部13から出力されたスキュー補償パターンとのいずれかをDEMUX15に入力させるようになっている。
DEMUX15は、スキュー補償パターン又は入力データをクロックCLKのタイミングでNビット幅(Nは2以上の整数)のパラレルデータに直並列変換し、Nビット幅のパラレルデータをN個のレーンに順次出力するようになっている。
N個のSerDes16は、N個のレーンにそれぞれ設けられ、DEMUX15により直並列変換されたNビット幅のパラレルデータを受信して、レーンごとにMビット幅(Mは2以上の整数)のパラレルデータに順次変換するようになっている。各SerDes16は、入力されたデータの直並列変換をレーンごとに独立して行うため、レーン間のスキューを発生させる要因となる。また、レーン間のスキュー量は、入力データのビットレート変更や、入力データの入力のオン/オフごとに変動してしまう。このため、従来はあらかじめレーン間のスキュー量を推定することができなかった。
なお、パターン発生器12で発生するスキュー補償パターンは、クロックCLKのN×M倍の周期Tを有していることが望ましい。また、このスキュー補償パターンにおいては、"0"の値が少なくともN個以上連続し、かつ、"1"の値も少なくともN個以上連続している必要がある。
データスイッチ17は、N個のSerDes16により変換されたMビット幅のパラレルデータを、スキュー量仮検出部18とスキュー除去部22のいずれかに出力するようになっている。本実施形態のデスキュー回路10は、セレクタ14とデータスイッチ17により、各レーンのスキュー量を算出するためのスキュー量算出モードと、入力データが入力された状態で各レーン間のスキューを除去するためのスキュー除去モードとに切り替わるようになっている。
スキュー量算出モードにおいては、セレクタ14によって遅延量付加部13から出力されたスキュー補償パターンがDEMUX15に入力される。また、データスイッチ17によってN個のSerDes16により変換されたMビット幅のパラレルデータがスキュー量仮検出部18に入力される。
一方、スキュー除去モードにおいては、セレクタ14によって入力データがDEMUX15に入力される。また、データスイッチ17によってN個のSerDes16により変換されたMビット幅のパラレルデータがスキュー除去部22に入力される。
なお以下では、遅延量付加部13により遅延量が付加されたn+1周期目のスキュー補償パターンの1周期分前のn周期目のスキュー補償パターンから得られたNビット幅又はMビット幅のパラレルデータをそれぞれDN,DMとも称する。また、遅延量付加部13により遅延量が付加されたn+1周期目のスキュー補償パターンから得られたNビット幅又はMビット幅のパラレルデータをそれぞれDN',DM'とも称する。
スキュー量仮検出部18は、エッジ検出部25と、スキュー量仮推定部26と、変化量算出部27と、を含み、パラレルデータDMとパラレルデータDM'とに基づいて、各レーンの見掛けのスキュー量とその変化量を検出するようになっている。
パラレルデータ特定部19は、N個のSerDes16から出力されたNビット幅のパラレルデータが、どのような位相のスキュー補償パターンに由来しているのかを判別するためのものである。具体的には、パラレルデータ特定部19は、N個のレーンのうちスキュー量仮検出部18により検出された変化量が1ビットである1つのレーンを特定し、特定したレーンに基づいて、遅延量付加部13により遅延量が付加されたn+1周期目のスキュー補償パターンの1周期分前のn周期目のスキュー補償パターンから得られたNビット幅のパラレルデータDNを特定するようになっている。
あるいは、パラレルデータ特定部19は、特定したレーンに基づいて、遅延量付加部13により遅延量が付加されたn+1周期目のスキュー補償パターンから得られたNビット幅のパラレルデータDN'を特定するものであってもよい。
スキュー量補正部20は、パラレルデータDMから得られた各レーンの見掛けのスキュー量から、パラレルデータ特定部19により特定されたNビット幅のパラレルデータDNの各レーンにおける"0"と"1"の変化点のレーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するようになっている。
あるいは、スキュー量補正部20は、パラレルデータDM'から得られた各レーンの見掛けのスキュー量から、パラレルデータ特定部19により特定されたNビット幅のパラレルデータDN'の各レーンにおける"0"と"1"の変化点のレーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するものであってもよい。
記憶部21は、スキュー量補正部20により算出された補正スキュー量を各レーンに対応付けて記憶するようになっている。
スキュー除去部22は、記憶部21に記憶された補正スキュー量に応じて、入力データのMビット幅のパラレルデータをレーンごとにビットシフトして、N個のレーン間のスキューを除去するようになっている。
キャプチャ回路23は、スキュー除去部22によりビットシフトされた入力データのMビット幅のパラレルデータをキャプチャするようになっている。
制御部24は、例えばCPU、記憶部21を構成するROM、RAM、HDDなどを含むマイクロコンピュータ又はパーソナルコンピュータ等で構成され、デスキュー回路10を構成する上記各部の動作を制御するようになっている。
図2に、パターン発生器12と遅延量付加部13によって生成されるスキュー補償パターンの一例を示す。図2は、レーン数Nが4の場合におけるスキュー補償パターン1〜5の1周期分を示している。スキュー補償パターン2〜5は、スキュー補償パターン1に対してクロックCLKのそれぞれ1〜4クロック分の遅延量が付加されたものとなっている。
例えば、遅延量付加部13は、パターン発生器12から1周期分のスキュー補償パターン1が入力されたタイミングで、以降に入力される周期パターンに1クロック分の遅延量を付加することにより、スキュー補償パターン2を生成する。
スキュー補償パターンはDEMUX15に入力されることにより、図3及び図4においてスキュー補償パターン1〜5として示すように、レーン数Nに応じたパラレルデータに変換される。また、例えば図3(a)のスキュー補償パターン1からスキュー補償パターン2への変化に示すように、DEMUX15を通過したスキュー補償パターンは、遅延量付加部13による1クロック分の遅延量の付加により、N個のレーンのうちの1つのレーンにおいて"0"から"1"への変化点が移動することになる。
以下、スキュー量仮検出部18、パラレルデータ特定部19、スキュー量補正部20、及びスキュー除去部22の処理について説明する。
スキュー量仮検出部18のエッジ検出部25は、スキュー補償パターンから得られたMビット幅のパラレルデータにおける立ち上がりエッジ、すなわち"0"から"1"への変化点を検出するようになっている。あるいは、エッジ検出部25は、スキュー補償パターンから得られたMビット幅のパラレルデータにおける立ち下がりエッジ、すなわち"1"から"0"への変化点を検出するものであってもよい。
スキュー量仮検出部18のスキュー量仮推定部26は、エッジ検出部25により検出されたMビット幅のパラレルデータにおける立ち上がりエッジ又は立ち下がりエッジのビット位置に基づいて、各レーンの見掛けのスキュー量を推定するようになっている。
図3(a)及び(b)、図4(a)及び(b)の上段は、DEMUX15から未知のスキュー補償パターンが出力された場合に、各SerDes16から出力されるパラレルデータDMの見掛けのスキュー量を示している。また、図3(a)及び(b)、図4(a)及び(b)の下段は、上段に示した未知のスキュー補償パターンに遅延量が付加された場合に、各SerDes16から出力されるパラレルデータDM'の見掛けのスキュー量を示している。
例えば、図3(a)の上段に示した例(レーン数Nが4)では、各SerDes16から出力されたパラレルデータDMの見掛けのスキュー量は、レーン0において2ビット、レーン1において3ビット、レーン2において4ビット、レーン3において5ビットである。また、図3(a)の下段に示した例(レーン数Nが4)では、各SerDes16から出力されたパラレルデータDM'の見掛けのスキュー量は、レーン0において3ビット、レーン1において3ビット、レーン2において4ビット、レーン3において5ビットである。
変化量算出部27は、スキュー量仮推定部26により推定された、パラレルデータDMにおける各レーンの見掛けのスキュー量と、パラレルデータDM'における各レーンの見掛けのスキュー量との差分を変化量として算出するようになっている。よって、図3(a)の例では、レーン0においてのみ1ビットの変化量が算出される。
図3(a)の例において、パラレルデータ特定部19は、レーン0から1ビットの変化量が検出されたことに基づいて、遅延量付加の前後で未知のスキュー補償パターンがスキュー補償パターン1からスキュー補償パターン2に変化したこと、すなわち、遅延量付加の直前の未知のスキュー補償パターンがスキュー補償パターン1であることを特定する。
図3(a)の例において、スキュー補償パターン1から得られたパラレルデータDNの各レーンにおける"0"と"1"の変化点の相対的なビットずれ量は0ビットである。よって、スキュー量補正部20は、パラレルデータDMから得られた各レーンの見掛けのスキュー量をそのまま補正スキュー量とする。
また、図3(b)の例においては、パラレルデータ特定部19は、レーン1から1ビットの変化量が検出されたことに基づいて、遅延量付加の直前の未知のスキュー補償パターンがスキュー補償パターン2であることを特定する。スキュー補償パターン2から得られたパラレルデータDNの各レーンにおける"0"と"1"の変化点の相対的なビットずれ量は、レーン0において1ビット、レーン1〜3において0ビットである。よって、スキュー量補正部20は、パラレルデータDMから得られたレーン0の見掛けのスキュー量から1ビット減算して補正スキュー量とし、レーン1〜3については見掛けのスキュー量をそのまま補正スキュー量とする。
また、図4(a)の例においては、パラレルデータ特定部19は、レーン2から1ビットの変化量が検出されたことに基づいて、遅延量付加の直前の未知のスキュー補償パターンがスキュー補償パターン3であることを特定する。スキュー補償パターン3から得られたパラレルデータDNの各レーンにおける"0"と"1"の変化点の相対的なビットずれ量は、レーン0,1において1ビット、レーン2,3において0ビットである。よって、スキュー量補正部20は、パラレルデータDMから得られたレーン0,1の見掛けのスキュー量から1ビット減算して補正スキュー量とし、レーン2,3については見掛けのスキュー量をそのまま補正スキュー量とする。
また、図4(b)の例においては、パラレルデータ特定部19は、レーン3から1ビットの変化量が検出されたことに基づいて、遅延量付加の直前の未知のスキュー補償パターンがスキュー補償パターン4であることを特定する。スキュー補償パターン4から得られたパラレルデータDNの各レーンにおける"0"と"1"の変化点の相対的なビットずれ量は、レーン0〜2において1ビット、レーン3において0ビットである。よって、スキュー量補正部20は、パラレルデータDMから得られたレーン0〜2の見掛けのスキュー量から1ビット減算して補正スキュー量とし、レーン3については見掛けのスキュー量をそのまま補正スキュー量とする。
スキュー除去部22は、入力データのMビット幅のパラレルデータに対して、例えば、レーン0のデータを−2ビット、レーン1のデータを−3ビット、レーン2のデータを−4ビット、レーン3のデータを−5ビットだけビットシフトする。これにより、レーン間のスキューが除去される。
以下、本実施形態のデスキュー回路10を用いるデスキュー方法について、図5のフローチャートを参照しながら説明する。
まず、CDR11は、シリアルデータである入力データのビットレートに応じたクロックCLKを生成する(ステップS1)。
次に、パターン発生器12は、ステップS1で生成されたクロックCLKの整数倍の周期Tのスキュー補償パターンを発生させる(ステップS2)。
次に、制御部24は、入力データをN個のSerDes16に所定時間入力させるようにセレクタ14を切り替える(ステップS3)。これにより、N個のSerDes16が動作状態になる。
次に、制御部24は、セレクタ14とデータスイッチ17により、各レーンの補正スキュー量を算出するためのスキュー量算出モードに切り替える(ステップS4)。これにより、パターン発生器12からのスキュー補償パターンがDEMUX15に入力されるようになる。
次に、DEMUX15は、パターン発生器12からのスキュー補償パターンをNビット幅のパラレルデータに直並列変換して、N個のレーンに順次出力する処理を開始する(直並列変換ステップS5)。
次に、N個のSerDes16は、ステップS5で変換されたNビット幅のパラレルデータを受信して、レーンごとにMビット幅のパラレルデータに順次変換する処理を開始する(ステップS6)。
次に、スキュー量補正部20は、レーンごとに補正スキュー量を算出する(ステップS7)。なお、この処理の詳細については後述する。
次に、制御部24は、セレクタ14とデータスイッチ17により、各レーン間のスキューを除去するスキュー除去モードに切り替える(ステップS8)。これにより、入力データがDEMUX15に入力されるようになる。
次に、DEMUX15は、入力データをNビット幅のパラレルデータに直並列変換して、N個のレーンに順次出力する処理を開始する(直並列変換ステップS9)。
次に、N個のSerDes16は、ステップS9で変換されたNビット幅のパラレルデータを受信して、レーンごとにMビット幅のパラレルデータに順次変換する処理を開始する(ステップS10)。
次に、スキュー除去部22は、ステップS7で記憶された補正スキュー量に応じて、入力データのMビット幅のパラレルデータをレーンごとにビットシフトして、N個のレーン間のスキューを除去する(ステップS11)。
図6は、図5のフローチャートのステップS7の処理の詳細の一例を示すフローチャートである。
まず、制御部24は、パターン発生器12から1周期分のスキュー補償パターンが遅延量付加部13に入力されたか否かを判断する(ステップS21)。否定判断の場合には制御部24は再びステップS21を実行し、肯定判断の場合には遅延量付加ステップS22に進む。
ステップS22において遅延量付加部13は、パターン発生器12から入力された2周期目のスキュー補償パターンに1クロック分の遅延量を付加する。
次に、制御部24は、パターン発生器12から2周期分のスキュー補償パターンが遅延量付加部13に入力されたか否かを判断する(ステップS23)。否定判断の場合には制御部24は再びステップS23を実行し、肯定判断の場合にはステップS24に進む。
次に、ステップS24においてスキュー量仮検出部18は、1周期目のスキュー補償パターンから得られたパラレルデータDMと、2周期目のスキュー補償パターンから得られたパラレルデータDM'とに基づいて、各レーンの見掛けのスキュー量とその変化量を検出する。
次に、パラレルデータ特定部19は、1周期目のスキュー補償パターンから得られたNビット幅のパラレルデータDNが、図3(a)及び(b)、図4(a)及び(b)の上段に示されたスキュー補償パターン1〜4のいずれによるものかを特定する(ステップS25)。
次に、スキュー量補正部20は、ステップS24で得られた各レーンの見掛けのスキュー量と、ステップS25で特定されたパラレルデータDNに基づいて、補正スキュー量を算出する(ステップS26)。
次に、記憶部21は、ステップS26で算出された補正スキュー量を各レーンに対応付けて記憶する(ステップS27)。
以上説明したように、本実施形態に係るデスキュー回路10は、スキュー補償パターンに遅延量を付加することで、遅延量が付加される前のスキュー補償パターンを特定し、特定したスキュー補償パターンの位相に基づいて、実際のスキュー量を算出する構成になっている。
なお、従来は、レーン間のスキューを取り除くためには既知の周期パターンの入力が必要であったため、未知のパターンを有する入力データが入力された場合には、レーン間のスキューを十分に取り除くことができなかった。
これに対して、本実施形態に係るデスキュー回路10は、未知のパターンを有する入力データに対しても、複数のレーンに設けられたN個のSerDesで発生するスキューを取り除くことができる。つまり、デスキュー回路10は、通信プロトコルによらずにハード的にレーン間のスキューを除去できるため、複数のレーンでデータを処理するあらゆる装置に適用できる。例えば、デスキュー回路10により、高い時間精度でパケットの送受信を行うことなどが可能になる。
また、デスキュー回路10は、キャプチャ回路23により、未知の入力データをキャプチャすることができるため、他の測定回路において未知の入力データに対する任意の解析処理を実行することなどが可能になる。
また、本実施形態に係るデスキュー回路10は、セレクタ14を切り替えることにより、各レーンのスキュー量を算出するためのスキュー量算出モードと、入力データが入力された状態で各レーンのスキューを取り除くためのスキュー除去モードとを切り替えることができる。
10 デスキュー回路
11 CDR
12 パターン発生器
13 遅延量付加部
14 セレクタ
15 DEMUX
16 SerDes
17 データスイッチ
18 スキュー量仮検出部
19 パラレルデータ特定部
20 スキュー量補正部
21 記憶部
22 スキュー除去部
23 キャプチャ回路
24 制御部
25 エッジ検出部
26 スキュー量仮推定部
27 変化量算出部

Claims (4)

  1. シリアルデータである入力データのビットレートに応じたクロックを生成するクロック・データ・リカバリ回路(11)と、
    前記クロックの整数倍の周期の周期パターンを発生させるパターン発生器(12)と、
    前記周期パターン又は前記入力データを前記クロックのタイミングでNビット幅(Nは2以上の整数)のパラレルデータに直並列変換し、前記Nビット幅のパラレルデータをN個のレーンに順次出力する直並列変換部(15)と、
    前記N個のレーンにそれぞれ設けられ、前記Nビット幅のパラレルデータを受信して、前記レーンごとにMビット幅(Mは2以上の整数)のパラレルデータに順次変換するN個のSerDes(16)と、
    前記パターン発生器と前記直並列変換部の間に設けられ、前記パターン発生器からn周期分(nは自然数)の前記周期パターンが入力されたタイミングで、前記パターン発生器から入力されるn+1周期目の前記周期パターンに前記クロックの1クロック分の遅延量を付加する遅延量付加部(13)と、
    n周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータと、n+1周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータとに基づいて、各前記レーンの見掛けのスキュー量とその変化量を検出するスキュー量仮検出部(18)と、
    前記N個のレーンのうち前記変化量が1ビットである1つのレーンを特定し、前記特定したレーンに基づいて、n周期目の前記周期パターンから得られた前記Nビット幅のパラレルデータを特定するパラレルデータ特定部(19)と、
    n周期目の前記周期パターンから得られた各前記レーンの前記見掛けのスキュー量から、前記パラレルデータ特定部により特定された前記Nビット幅のパラレルデータの各前記レーンにおける"0"と"1"の変化点の前記レーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するスキュー量補正部(20)と、
    前記補正スキュー量に応じて、前記入力データのMビット幅のパラレルデータを前記レーンごとにビットシフトして、前記レーン間のスキューを除去するスキュー除去部(22)と、を備えることを特徴とするデスキュー回路。
  2. 前記スキュー量仮検出部は、
    前記周期パターンから得られた前記Mビット幅のパラレルデータにおける立ち上がりエッジを検出するエッジ検出部(25)と、
    前記立ち上がりエッジのビット位置に基づいて、各前記レーンの前記見掛けのスキュー量を推定するスキュー量仮推定部(26)と、を含むことを特徴とする請求項1に記載のデスキュー回路。
  3. 前記入力データと前記遅延量付加部から出力された前記周期パターンとのいずれかを前記直並列変換部に入力させるセレクタ(14)を更に備えることを特徴とする請求項1又は請求項2に記載のデスキュー回路。
  4. シリアルデータである入力データのビットレートに応じたクロックを生成するステップ(S1)と、
    前記クロックの整数倍の周期の周期パターンを発生させるステップ(S2)と、
    前記周期パターン又は前記入力データを前記クロックのタイミングでNビット幅(Nは2以上の整数)のパラレルデータに直並列変換し、前記Nビット幅のパラレルデータをN個のレーンに順次出力する直並列変換ステップ(S5,S9)と、
    前記N個のレーンにそれぞれ設けられたN個のSerDesにより、前記Nビット幅のパラレルデータを受信して、前記レーンごとにMビット幅のパラレルデータに順次変換するステップ(S6,S10)と、
    n周期分(nは自然数)の前記周期パターンが入力されたタイミングで、n+1周期目の前記周期パターンに前記クロックの1クロック分の遅延量を付加する遅延量付加ステップ(S22)と、
    n周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータと、n+1周期目の前記周期パターンから得られた前記Mビット幅のパラレルデータとに基づいて、各前記レーンの見掛けのスキュー量とその変化量を検出するスキュー量仮検出ステップ(S24)と、
    前記N個のレーンのうち前記変化量が1ビットである1つのレーンを特定し、前記特定したレーンに基づいて、n周期目の前記周期パターンから得られた前記Nビット幅のパラレルデータを特定するパラレルデータ特定ステップ(S25)と、
    n周期目の前記周期パターンから得られた各前記レーンの前記見掛けのスキュー量から、前記パラレルデータ特定ステップで特定された前記Nビット幅のパラレルデータの各前記レーンにおける"0"と"1"の変化点の前記レーン間での相対的なビットずれ量を減算した値を、補正スキュー量として算出するステップ(S26)と、
    前記補正スキュー量に応じて、前記入力データのMビット幅のパラレルデータを前記レーンごとにビットシフトして、前記レーン間のスキューを除去するステップ(S11)と、を含むことを特徴とするデスキュー方法。
JP2017049581A 2017-03-15 2017-03-15 デスキュー回路及びデスキュー方法 Active JP6360578B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017049581A JP6360578B1 (ja) 2017-03-15 2017-03-15 デスキュー回路及びデスキュー方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017049581A JP6360578B1 (ja) 2017-03-15 2017-03-15 デスキュー回路及びデスキュー方法

Publications (2)

Publication Number Publication Date
JP6360578B1 true JP6360578B1 (ja) 2018-07-18
JP2018152820A JP2018152820A (ja) 2018-09-27

Family

ID=62905001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017049581A Active JP6360578B1 (ja) 2017-03-15 2017-03-15 デスキュー回路及びデスキュー方法

Country Status (1)

Country Link
JP (1) JP6360578B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12132491B2 (en) 2022-05-20 2024-10-29 Samsung Electronics Co., Ltd. Semiconductor device and operating method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204318A (ja) * 2002-01-07 2003-07-18 Fujitsu Ltd 伝送システム
JP2007329870A (ja) * 2006-06-09 2007-12-20 Fujitsu Ltd デスキュー装置およびデスキュー方法
JP2012109707A (ja) * 2010-11-16 2012-06-07 Mitsubishi Electric Corp データ位相同期装置およびデータ位相同期方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204318A (ja) * 2002-01-07 2003-07-18 Fujitsu Ltd 伝送システム
JP2007329870A (ja) * 2006-06-09 2007-12-20 Fujitsu Ltd デスキュー装置およびデスキュー方法
JP2012109707A (ja) * 2010-11-16 2012-06-07 Mitsubishi Electric Corp データ位相同期装置およびデータ位相同期方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12132491B2 (en) 2022-05-20 2024-10-29 Samsung Electronics Co., Ltd. Semiconductor device and operating method thereof

Also Published As

Publication number Publication date
JP2018152820A (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
JP3671920B2 (ja) スキュー調整回路及びスキュー調整方法
JP4893052B2 (ja) レシーバ回路及びレシーバ回路試験方法
JP5174493B2 (ja) 半導体集積回路装置及びアイ開口マージン評価方法
US9167058B2 (en) Timestamp correction in a multi-lane communication link with skew
JP2007274122A (ja) パラレル変換回路
JP5365132B2 (ja) 直列信号の受信装置、直列伝送システム、直列伝送方法、直列信号の送信装置
TWI436219B (zh) 串列資料流的取樣時脈選擇模組
JP6360578B1 (ja) デスキュー回路及びデスキュー方法
JP2001352318A (ja) 送信回路とその方法、受信回路とその方法およびデータ通信装置
JP2013055502A (ja) シリアル通信回路
US7428283B2 (en) Data recovery algorithm using data position detection and serial data receiver adopting the same
JP5883101B1 (ja) データ再生回路
JP6413585B2 (ja) 送信回路、集積回路及びパラレルシリアル変換方法
KR101218364B1 (ko) 데이터 수신 장치
US7194057B2 (en) System and method of oversampling high speed clock/data recovery
US7321647B2 (en) Clock extracting circuit and clock extracting method
US20120154185A1 (en) Providing A Feedback Loop In A Low Latency Serial Interconnect Architecture
US20090190703A1 (en) Sampling method and data recovery circuit using the same
JP2010028615A (ja) クロック・データ・リカバリ回路
JP6332701B2 (ja) ビット同期回路及びビット同期方法
JP2018042032A (ja) 受信装置
KR100646336B1 (ko) 데이터 샘플링 장치 및 방법과 이를 이용한 고속 직렬수신기
JP5201208B2 (ja) 情報処理装置及びその制御方法
US10291443B2 (en) Serial communications unit and communication method for serial communications unit
KR100646333B1 (ko) 데이터 샘플링 장치 및 방법과 이를 이용한 고속 직렬수신기

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180608

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: 20180619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180622

R150 Certificate of patent or registration of utility model

Ref document number: 6360578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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