JP5765088B2 - 送信回路、およびデスキュー回路 - Google Patents

送信回路、およびデスキュー回路 Download PDF

Info

Publication number
JP5765088B2
JP5765088B2 JP2011142068A JP2011142068A JP5765088B2 JP 5765088 B2 JP5765088 B2 JP 5765088B2 JP 2011142068 A JP2011142068 A JP 2011142068A JP 2011142068 A JP2011142068 A JP 2011142068A JP 5765088 B2 JP5765088 B2 JP 5765088B2
Authority
JP
Japan
Prior art keywords
data
clock
channel
output
timing
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
JP2011142068A
Other languages
English (en)
Other versions
JP2013009263A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011142068A priority Critical patent/JP5765088B2/ja
Publication of JP2013009263A publication Critical patent/JP2013009263A/ja
Application granted granted Critical
Publication of JP5765088B2 publication Critical patent/JP5765088B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Description

本発明は、送信回路、およびデスキュー回路に関する。
データ伝送は、高速化のニーズの強まりに伴い複数チャネル化が進行している。伝送されるデータは、送信側にてチャネル数に応じて分割された後、送信側から受信側に伝送されて受信側にて合成される。このとき各チャネル間において、出力するデータ間に時間差、いわゆるスキューが生じるため、受信側は、スキューを除去してデータを合成する。
一般的に、スキュー調整(スキュー除去)は、送信側によって定義されたスキュー範囲に応じて受信側によっておこなわれている。たとえば、コンシューマ系の規格であるPCI-expressは、送信端でのスキューを500ps + 2/4/6bitのように定義している。
また、送信端でのスキュー規格を満足するため、各送信チャネルに対して同位相クロックを供給する手法がある。各送信チャネルに供給されるクロックは、初段バッファの出力のショートにより位相が揃えられ、送信チャネル出力でのデータスキューを除去する。
特開2002−44061号公報 特開2003−218844号公報 特開2007−60217号公報
Hirohito Higashi, et al., "5-6.4 Gbps 12 channel Transceiver with Pre-emphasis and Equalizer," Symposium on VLSI Circuits, June 2004, pp.130-133, June 2004.
データ伝送のさらなる高速化は、より高速なクロックの供給を要求する。しかしながら、物理的に離れたノード同士のショートは、両端のバッファ間での位相差が高速化にしたがい大きくなり、HighとLowがショートするといった状況が生じる。そのため、高速なクロックを同位相で各送信チャネルに供給することは困難であり、従来、採用してきたクロック伝送方式が使えない状況になってきている。
本発明はこのような点に鑑みてなされたものであり、高速なクロックの供給下であっても、送信チャネル間のスキュー除去が可能な送信回路、およびデスキュー回路を提供することを目的とする。
発明の一観点によれば、以下に示すような、送信回路が提供される。送信回路は、複数のデータ変換部と、データ変換部のそれぞれに対応する複数のデスキュー部と、を備える。データ変換部は、第1クロックにもとづいてパラレルデータをシリアルデータに変換する。デスキュー部は、シリアルデータのデータ間スキューを除去する。
デスキュー部は、生成部と、調整部と、を備える。生成部は、データ変換部にタイミング検出用データを出力し、データ変換部が出力するシリアル化されたタイミング検出用データを、第1クロックの周波数より低く、かつ複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態からシリアルデータの出力タイミングを調整する調整値を生成する。調整部は、データ変換部に出力するパラレルデータを調整値に応じてデータシフトする。
また、発明の一観点によれば、以下に示すような、デスキュー回路が提供される。デスキュー回路は、第1クロックにもとづいてパラレルデータをシリアルデータに変換する複数のデータ変換部のそれぞれに対応し、シリアルデータのデータ間スキューを除去する複数のデスキュー部を備える。
デスキュー部は、生成部と、調整部と、を備える。生成部は、データ変換部にタイミング検出用データを出力し、データ変換部が出力するシリアル化されたタイミング検出用データを、第1クロックの周波数より低く、かつ複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態からシリアルデータの出力タイミングを調整する調整値を生成する。調整部は、データ変換部に出力するパラレルデータを調整値に応じてデータシフトする。
上記の送信回路、およびデスキュー回路は、高速なクロックの供給下であっても、送信チャネル間のスキュー除去を可能にする。
第1の実施形態の送信回路の一例を示す図である。 第2の実施形態の送信回路の一例を示す図である。 第2の実施形態のチャネル送信回路の一例を示す図である。 第2の実施形態の同位相クロック供給回路の一例を示す図である。 第2の実施形態のチャネルスキュー制御論理回路の一例を示す図である。 第2の実施形態のチャネルスキュー制御論理回路の動作例を示すタイミングチャートである。 第2の実施形態のチャネルデータシフト論理回路の一例を示す図である。 第2の実施形態のチャネル0データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のチャネル0データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のチャネル0データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のチャネル1データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のチャネル1データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のチャネル1データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。 第2の実施形態のデスキュー処理を示すフローチャートである。 第2の実施形態のチャネル0データシフト論理回路およびチャネル1データシフト論理回路のデスキュー動作例を示すタイミングチャートである。 第2の実施形態のチャネル0送信回路およびチャネル1送信回路が出力するシリアルデータの一例を示す図である。
以下、本発明の実施の形態を図面を参照して詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の送信回路について図1を用いて説明する。図1は、第1の実施形態の送信回路の一例を示す図である。
送信回路1は、パラレルデータをシリアルデータに変換してデータ伝送をおこなう送信回路である。送信回路1は、データ変換部2と、データ変換部2に対応するデスキュー部3を1対にする送信チャネルを複数備える。なお、図1は、2つの送信チャネルを備える送信回路1を図示するが、3つ以上の送信チャネルを備えるものであってよい。
送信回路1は、第1クロックをデータ変換部2に供給し、第1クロックより周波数の低い第2クロックをデスキュー部3に供給する。たとえば、第2クロックは、第1クロックを分周して生成される。また、第2クロックは、電気的に短絡することで、複数のデスキュー部3に同位相で供給される。
データ変換部2は、第1クロックにもとづいてパラレルデータをシリアルデータに変換する。データ変換部2は、パラレルデータのデータ幅のデータストリームをシリアルデータとして1つのデータストリームに変換するMUX(MUltipleXer:マルチプレクサ)機能を有する。データ変換部2は、第1クロックを分周する分周回路を備えてMUX機能を実現するが、分周回路の初期状態は不定である。そのため、複数のデータ変換部2は、分周回路の段数に応じて、各送信チャネル内の分周クロックの位相が異なる。そのため、送信回路1は、各送信チャネル出力にてデータ間にスキューが発生する。
デスキュー部3は、第2クロックにもとづいてパラレルデータを入力し、対応するデータ変換部2に出力する。デスキュー部3は、対応するデータ変換部2に出力するパラレルデータをデータシフトして、データ変換部2が出力するシリアルデータのデータ間スキューを除去する。
デスキュー部3は、生成部4と調整部5を備える。生成部4は、データ変換部2にタイミング検出用データを出力する。生成部4は、データ変換部2が出力するシリアル化されたタイミング検出用データを第2クロックにもとづいてサンプリングする。生成部4は、サンプリングしたデータの遷移状態からシリアルデータの出力タイミングが特定タイミングか否かを判定する。生成部4は、シリアルデータの出力タイミングが特定タイミングの場合に、当該タイミングを特定する調整値を生成する。生成部4は、シリアルデータの出力タイミングが特定タイミングでない場合に、タイミング検出用データをデータシフトしてタイミング検出用データを更新する。なお、特定タイミングとは、調整値を決定できるタイミングである。
調整部5は、入力したパラレルデータを調整値に応じてデータシフトしてデータ変換部に出力する。
これにより、送信回路1は、すべての送信チャネル内が特定タイミングでシリアルデータを出力することとなり、各送信チャネル出力におけるデータ間スキューが除去される。このように、送信回路1は、高速なクロックの供給下であっても、送信チャネル間のスキュー除去を可能にする。
[第2の実施形態]
次に、より具体的な第2の実施形態の送信回路について図2、図3を用いて説明する。図2は、第2の実施形態の送信回路の一例を示す図である。図3は、第2の実施形態のチャネル送信回路の一例を示す図である。
送信回路10は、4つの送信チャネルと、クロック生成回路14と、同位相クロック供給回路15と、制御回路16を備える。各送信チャネルは、チャネル送信回路11と、データシフト論理回路12と、スキュー制御論理回路13とを含んで構成される。なお、送信回路10は、4つの送信チャネルを備える場合を例示するが、2つまたは3つ、あるいは5つ以上の送信チャネルを備えるものであってもよい。
チャネル送信回路11は、送信チャネルごとに、チャネル0送信回路11a、チャネル1送信回路11b、チャネル2送信回路11c、チャネル3送信回路11dがある。データシフト論理回路12は、送信チャネルごとに、チャネル0データシフト論理回路12a、チャネル1データシフト論理回路12b、チャネル2データシフト論理回路12c、チャネル3データシフト論理回路12dがある。スキュー制御論理回路13は、送信チャネルごとに、チャネル0スキュー制御論理回路13a、チャネル1スキュー制御論理回路13b、チャネル2スキュー制御論理回路13c、チャネル3スキュー制御論理回路13dがある。
クロック生成回路14は、所定のクロックを生成し、各回路に供給する。クロック生成回路14は、たとえば、PLL(Phase-Locked Loop:位相同期回路)である。クロック生成回路14は、最高速のクロック(たとえば、14GHz)19をチャネル送信回路11に供給する。クロック生成回路14は、クロック19を分周したクロック(たとえば、1.75GHz)20を同位相クロック供給回路15に供給する。
同位相クロック供給回路15は、クロック生成回路14からクロック20を入力する。同位相クロック供給回路15は、入力したクロック20を同位相にしたクロック21をスキュー制御論理回路13に供給する。
なお、チャネル送信回路11は、クロック生成回路14から供給されたクロック19を分周したクロック22を、送信チャネルごとにデータシフト論理回路12、スキュー制御論理回路13に供給する。これにより、データシフト論理回路12、スキュー制御論理回路13は、チャネル送信回路11と同期した動作が可能になる。
制御回路16は、データシフト論理回路12、スキュー制御論理回路13を制御する。制御回路16は、制御信号によってデータシフト論理回路12とスキュー制御論理回路13の動作状態を、第1状態または第2状態に制御する。たとえば、制御回路16は、起動後の所定時間だけデータシフト論理回路12とスキュー制御論理回路13の動作状態を第1状態とし、その後に第2状態に遷移させる。また、制御回路16は、クロック23を出力する。
第1状態は、シリアルデータの出力タイミングを調整する調整値を決定する制御状態である。第2状態は、決定した調整値に応じてシリアルデータを出力する制御状態である。シリアルデータの出力タイミングの調整は、データシフト論理回路12が出力するパラレルデータをデータシフトすることによっておこなう。調整値は、パラレルデータのデータシフト量である。
チャネル送信回路11は、データシフト論理回路12が出力するパラレルデータをシリアルデータに変換する。チャネル送信回路11は、バッファ17とMUX18を備える。MUX18は、16ビットのパラレルデータを16ビットのシリアルデータに変換する16:1MUX機能を備える。チャネル送信回路11は、バッファ17を介してシリアルデータを出力する。
データシフト論理回路12は、スキュー制御論理回路13から入力する16ビットのパラレルデータ、またはデータシフト論理回路12が生成するタイミング検出用データを、16ビットのパラレルデータにしてチャネル送信回路11に出力する。データシフト論理回路12は、スキュー制御論理回路13からシフトコード(調整値)を入力する。データシフト論理回路12は、チャネル送信回路11に出力するパラレルデータを、シフトコードにもとづいてデータシフトして出力する。
スキュー制御論理回路13は、16ビットのパラレルデータ(送信データ)を入力してデータシフト論理回路12に出力する。スキュー制御論理回路13は、チャネル送信回路11からシリアルデータを入力する。スキュー制御論理回路13は、シリアルデータにもとづいてシフトコードを決定する。スキュー制御論理回路13は、決定したシフトコードを、データシフト論理回路12に出力する。
次に、同位相クロック供給回路15について図4を用いて説明する。図4は、第2の実施形態の同位相クロック供給回路の一例を示す図である。
同位相クロック供給回路15は、クロック20を入力して、クロック21を出力する。同位相クロック供給回路15は、伝送バッファ(クロックバッファ)28と、送信チャネルごとの前段バッファ(クロックバッファ)27と、後段バッファ(クロックバッファ)25と、前段バッファ27の出力を短絡させる短絡線26を備える。
伝送バッファ28は、チャネル0伝送バッファ28a、チャネル1伝送バッファ28b、チャネル2伝送バッファ28c、チャネル3伝送バッファ28dを含む。前段バッファ27は、チャネル0前段バッファ27a、チャネル1前段バッファ27b、チャネル2前段バッファ27c、チャネル3前段バッファ27dを含む。後段バッファ25は、チャネル0後段バッファ25a、チャネル1後段バッファ25b、チャネル2後段バッファ25c、チャネル3後段バッファ25dを含む。
伝送バッファ28は、物理的に離れたチャネルに十分な大きさの振幅をもったクロックを供給するため、伝送経路におけるクロック振幅の減少を補う。チャネル0伝送バッファ28aは、チャネル0前段バッファ27aとチャネル1伝送バッファ28bに信号を伝送する。チャネル1伝送バッファ28bは、チャネル1前段バッファ27bとチャネル2伝送バッファ28cに信号を伝送する。チャネル2伝送バッファ28cは、チャネル2前段バッファ27cとチャネル3伝送バッファ28dに信号を伝送する。チャネル3伝送バッファ28dは、チャネル3前段バッファ27dに信号を伝送する。これにより、同位相クロック供給回路15は、クロック生成回路14、各送信チャネルが物理的に離れていても、各送信チャネルに十分な大きさの振幅をもったクロックを供給することができる。
前段バッファ27が出力するクロックは、チャネル0前段バッファ27a、チャネル1前段バッファ27b、チャネル2前段バッファ27c、チャネル3前段バッファ27dが相互に物理的に離れた位置に配置されることから、その距離に応じて入力位相が異なる。そこで、同位相クロック供給回路15は、前段バッファ27の出力を短絡させて出力位相を揃えている。これにより、同位相クロック供給回路15は、クロック21を同位相にして出力することができる。
なお、同位相クロック供給回路15に入力されるクロック20は、前段バッファ27の出力を短絡しても、物理的距離のあるバッファ間での位相差がパルス幅に比較して十分に小さい。したがって、同位相クロック供給回路15は、HighとLowのショートにより信号が不定になることなく、クロック21を同位相に揃えることができる。
次に、スキュー制御論理回路13の構成と動作について図5、図6を用いて説明する。図5は、第2の実施形態のチャネルスキュー制御論理回路の一例を示す図である。図6は、第2の実施形態のチャネルスキュー制御論理回路の動作例を示すタイミングチャートである。
スキュー制御論理回路13は、データ転送部43とスキュー制御部44とを含んで構成される。データ転送部43は、スキュー制御論理回路13に入力されるパラレルデータを、データシフト論理回路12に転送する。データ転送部43は、FIFO(First In First Out バッファ)42を有する。FIFO42は、パラレルデータと同期したクロック23で入力して、クロック22で出力する。
スキュー制御部44は、シフトコードの決定と、データシフト論理回路12へのシフトコードの出力をおこなう。スキュー制御部44は、FF(フリップフロップ)30、31、33、34、39、CMP(比較器)32、38、ANDゲート35、ORゲート36、CNT(カウンタ)37、41、SEL(セレクタ)40を有する。
スキュー制御部44は、クロック21に同期して動作する。FF33は、制御信号を入力する。制御信号は、制御信号「1」がシフトコードを決定する制御状態(第1状態)であり、制御信号「0」がシフトコードに応じてシリアルデータを出力する制御状態(第2状態)である。
ANDゲート35は、FF33の出力の入力と、FF34の出力の反転入力の論理積として信号S1を出力する。ANDゲート35は、制御信号の「0」から「1」の変化を検出してパルス信号を出力する。ANDゲート35が出力するパルス信号は、CNT37、41のRST(リセット)に入力されて、CNT37、41をリセットする。言い換えれば、信号S1は、シフトコード決定の開始信号(信号S1)である。FF33、FF34、およびANDゲート35は、シフトコード決定の開始トリガ検出部である。
CNT37(第1カウンタ)は、1ずつインクリメントして7までカウントアップする8進カウンタである。CNT37は、カウンタ値をCMP38に出力する。CMP38は、定数「7」との比較をおこない、比較結果として信号S2を出力する。信号S2は、カウンタ値「7」の検出でパルス信号(カウンタリセット信号)を出力する。信号S2は、CNT37のRSTに入力されて、CNT37をリセットする。
FF30は、MUX18が出力するシリアル信号を入力する。FF30は、入力されるシリアル信号を、クロック(同位相クロック)21の周期でサンプリングする。データシフト論理回路12は、第1状態においてタイミング検出用データをチャネル送信回路11に出力する。したがって、MUX18は、シリアル化したタイミング検出用データを出力する。
タイミング検出用データは、16ビット長の「0」と16ビット長の「1」を繰り返すデータである。FF30は、タイミング検出用データを、シリアルデータの16ビット長の周期(クロック21の周期)でサンプリングする。このように、スキュー制御論理回路13は、FF30がクロック21(同位相クロック)でシリアルデータをサンプリングするため、各送信チャネルが同時にシリアルデータをサンプリングすることができる。
CMP32は、FF30の出力と、FF30の出力を一周期遅延させたFF31の出力を比較する。すなわち、CMP32は、連続してサンプリングしたタイミング検出用データが一致するか否かを判定する。CMP32は、判定結果を信号S3としてFF39に出力する。CMP32は、連続してサンプリングしたタイミング検出用データが一致した場合に「1」を出力する。なお、CMP32は、FF33の出力をイネーブル入力として、第1状態において動作するようになっている。
FF39は、RSフリップフロップであり、信号S3をセット入力、信号S2をリセット入力とする。FF39は、信号S4を出力とする。
SEL40は、信号S2、信号「0」、および信号S4を入力し、信号S5を出力する。SEL40は、信号S4が「0」の場合に信号S2を出力し、信号S4が「1」の場合に信号「0」を出力する。すなわち、信号S5は、CNT37のカウンタリセット毎に「1」に変化し、特定タイミング検出で「0」に固定される。
CNT41(第2カウンタ)は、1ずつインクリメントする10進カウンタである。CNT41は、カウンタ値をシフトコードとしてデータシフト論理回路12に出力する。なお、「4’d0」は、4ビット幅の信号であり、その論理値が10進表記(dec)で「0」であることを示す。
これにより、スキュー制御論理回路13は、特定タイミング非検出時に信号S5の立ち下がりごとにCNT41をカウントアップし、特定タイミング検出時には、CNT41を固定してシフトコードを生成する。なお、CNT41は、特定タイミング検出以降、シフトコードを記憶保持する記憶部として機能する。
たとえば、図6に示す特定タイミング非検出時動作において、スキュー制御論理回路13は、CNT41(第2カウンタ)をCNT37(第1カウンタ)のカウンタリセット毎に、「4’d0」、「4’d1」、「4’d2」、・・・と更新する。また、図6に示す特定タイミング検出時動作において、スキュー制御論理回路13は、CNT41(第2カウンタ)をCNT37(第1カウンタ)のカウンタリセットにより「4’d0」、「4’d1」と更新したところで、「4’d1」に固定される。
次に、データシフト論理回路12の構成について図7を用いて説明する。図7は、第2の実施形態のチャネルデータシフト論理回路の一例を示す図である。
データシフト論理回路12は、FF(フリップフロップ)50、51、52、第1セレクタ53、第2セレクタ57、第1レジスタ54、第2レジスタ55、データ結合部56を含んで構成される。
データシフト論理回路12は、チャネル送信回路11から供給されるクロック22で動作する同期回路である。FF50は、16ビットのフリップフロップであり、「0000H」または「FFFFH」を初期値にして、クロック入力毎に反転出力する。なお、表記「0000H」は、「16’h0000」を意味し、16ビット幅の信号であり、その論理値が16進表記(hex)で「0」であることを示す。
FF51は、制御回路16から制御信号を入力し、第1セレクタ53に出力する。第1セレクタ53は、スキュー制御論理回路13のFIFO42が出力するパラレルデータと、FF50が出力するパラレルデータを入力し、制御信号にもとづいていずれかを出力する。第1セレクタ53は、制御信号「1」のとき、すなわち第1状態においてFF50から入力されたパラレルデータを出力し、制御信号「0」のとき、すなわち第2状態においてFIFO42から入力されたパラレルデータを出力する。
第1レジスタ54は、第1セレクタ53から入力されたパラレルデータを保持する。第1レジスタ54は、保持したパラレルデータを、第2レジスタ55およびデータ結合部56に出力する。
第2レジスタ55は、第1レジスタ54から入力されたパラレルデータを保持する。第2レジスタ55は、保持したパラレルデータをデータ結合部56に出力する。なお、第1レジスタ54および第2レジスタ55は、16ビットのフリップフロップで構成可能である。
データ結合部56は、第1レジスタ54および第2レジスタ55から入力されたパラレルデータを結合する。これにより、データ結合部は、第1セレクタ53が連続して出力した2つの16ビットパラレルデータを結合した32ビットパラレルデータを得る。すなわち、データ結合部56は、第1セレクタ53が時間的に先に生成した16ビットパラレルデータを上位とした32ビットパラレルデータを生成する。データ結合部56は、32ビットパラレルデータを第2セレクタ57に出力する。
FF52は、スキュー制御論理回路13から4ビットパラレルデータをシフトコードとして入力する。FF52は、シフトコードを第2セレクタ57に出力する。
第2セレクタ57は、データ結合部56から32ビットパラレルデータを入力し、FF52からシフトコードを入力する。第2セレクタ57は、シフトコードにもとづいて、32ビットパラレルデータから16ビットパラレルデータを切り出す。
第2セレクタ57は、次のような切り出しルールによって16ビットパラレルデータを切り出す。切り出しルールは、4ビットパラレルデータのシフトコードが「4’dN」(ただし、Nは、0から15の整数)とした場合、32ビットパラレルデータ[31:0]から16ビットパラレルデータ[31−N:16−N]の切り出しである。これによれば、第2セレクタ57は、32ビットパラレルデータ「0000FFFFH」であれば、シフトコード「1」のときに、16ビットパラレルデータ「0001H」を切り出す。
このようにして、データシフト論理回路12は、チャネル送信回路11に16ビットパラレルデータを出力する。データシフト論理回路12が出力する16ビットパラレルデータは、第1状態においてタイミング検出用データであり、第2状態において通信データである。
また、データシフト論理回路12が出力する16ビットパラレルデータは、シフトコードにもとづいてデータシフトされたデータである。この1ビット単位のデータシフトにより、チャネル送信回路11は、シリアルデータの出力タイミングが変化する。すなわち、データシフト論理回路12は、チャネル送信回路11が出力するシリアルデータの出力タイミングを、クロック22の1/16クロック相当の精度で調整可能である。
次に、データシフト論理回路12の第1状態の動作について図8から図13を用いて説明する。図8から図10は、第2の実施形態のチャネル0データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。図11から図13は、第2の実施形態のチャネル1データシフト論理回路のシフトコード決定過程の動作例を示すタイミングチャートである。なお、送信チャネル0、送信チャネル1について、動作例を説明するが、説明を簡単にするためにその他の送信チャネルの動作についても同様であるため例示を省略する。
チャネル0データシフト論理回路12aは、制御信号の立ち上がりにより第1状態の動作(シフトコード決定動作)を開始する(図8参照)。初期状態において、シフトコードは、「4’d0」である。第1セレクタ53は、FF50からの入力であるタイミング検出用データを出力する。
第1レジスタ54は、第1セレクタ53からチャネルクロック(クロック22)で1クロック遅れてタイミング検出用データを出力する。第2レジスタ55は、第1セレクタ53からチャネルクロックで2クロック遅れてタイミング検出用データを出力する。
データ結合部56は、第1レジスタ54の出力と第2レジスタ55の出力を結合して、第2セレクタ57に出力する。第2セレクタ57は、シフトコード「4’d0」に応じて、入力データ「FFFF0000H」から出力データ「FFFFH」を切り出す。
第2セレクタ57からの出力データ「FFFFH」は、チャネル0送信回路11aに入力され、MUXから24UI(Unit Interval:シリアルビットストリームの1ビット期間)遅延してシリアルデータとして出力される。チャネル0送信回路11aは、シフトコード「4’d0」の間、16ビットパラレルデータ「FFFFH」、「0000H」を交互入力して、16UI「1」、16UI「0」を交互出力する。
チャネル0送信回路11aのMUXが出力するシリアルビットストリームは、チャネル0スキュー制御論理回路13aによって、同位相クロック(クロック21)の周期でサンプリングされる。これにより、チャネル0スキュー制御論理回路13aは、タイミングT1で「1」、タイミングT2で「0」をサンプリングする。同様にして、チャネル0スキュー制御論理回路13aは、シフトコード「4’d0」の間、16UI「1」、16UI「0」の交互入力から「1」、「0」を交互にサンプリングすることとなる。
チャネル0スキュー制御論理回路13aがシリアルデータ入力から「1」、「0」を交互にサンプリングする間は、シフトコードは、CNT41のカウントアップにより更新される。シフトコード「4’d0」は、タイミングT4でシフトコード「4’d1」になる(図9参照)。これにより、第2セレクタ57は、シフトコード「4’d1」に応じて、入力データ「FFFF0000H」から出力データ「FFFEH」を、入力データ「0000FFFFH」から出力データ「0001H」を切り出す。このデータシフトにより、MUXが出力するシリアルビットストリームは、連続するビットデータストリームを1UIだけスキップすることとなる。すなわち、チャネル0送信回路11aは、シフトコード「4’d0」からシフトコード「4’d1」に変化したことで、16UI「0」、15UI「1」、16UI「0」を出力する。
チャネル0スキュー制御論理回路13aは、タイミングT3で「0」、タイミングT4で「1」、タイミングT5で「0」、タイミングT6で「1」、タイミングT7で「0」をサンプリングする。チャネル0スキュー制御論理回路13aは、シフトコード「4’d0」およびシフトコード「4’d1」の間、「1」、「0」を交互にサンプリングするが、タイミングT6以降のタイミング検出用データに対するサンプリング位置は、1UIだけ早くなる。
さらにシフトコードが更新され、シフトコード「4’d9」になると、タイミング検出用データに対するサンプリング位置は、9UI早くなる(図10参照)。これにより、チャネル0スキュー制御論理回路13aは、タイミングT8で「1」、タイミングT9で「0」、タイミングT10で「1」、タイミングT11で「0」、タイミングT12で「0」、タイミングT13で「1」をサンプリングする。チャネル0スキュー制御論理回路13aは、タイミングT11およびタイミングT12で連続して「0」をサンプリングしたことで、シフトコードの更新を停止する。
次に、チャネル1データシフト論理回路12bは、制御信号の立ち上がりにより第1状態の動作(シフトコード決定動作)を開始する(図11参照)。初期状態において、シフトコードは、「4’d0」である。チャネル1送信回路11bは、シフトコード「4’d0」の間、16ビットパラレルデータ「FFFFH」、「0000H」を交互入力して、16UI「1」、16UI「0」を交互出力する。
なお、チャネル1データシフト論理回路12bに供給されるチャネルクロック(クロック22)は、同位相クロック(クロック21)と異なり送信チャネル間で位相が必ずしも一致していない。そのため、チャネル0送信回路11aのMUXが出力するシリアルビットストリームと、チャネル1送信回路11bのMUXが出力するシリアルビットストリームは、出力タイミングにずれを生じ得る。
チャネル1送信回路11bのMUXが出力するシリアルビットストリームは、チャネル1スキュー制御論理回路13bによって、同位相クロックの周期でサンプリングされる。これにより、チャネル1スキュー制御論理回路13bは、タイミングT1で「1」、タイミングT2で「0」をサンプリングする。同様にして、チャネル1スキュー制御論理回路13bは、シフトコード「4’d0」の間、16UI「1」、16UI「0」の交互入力から「1」、「0」を交互にサンプリングすることとなる。
チャネル1スキュー制御論理回路13bがシリアルデータ入力から「1」、「0」を交互にサンプリングする間は、シフトコードは、CNT41のカウントアップにより更新される。シフトコード「4’d0」は、タイミングT14でシフトコード「4’d1」になる(図12参照)。これにより、第2セレクタ57は、シフトコード「4’d1」に応じて、入力データ「FFFF0000H」から出力データ「FFFEH」を、入力データ「0000FFFFH」から出力データ「0001H」を切り出す。
チャネル1スキュー制御論理回路13bは、タイミングT3で「0」、タイミングT4で「1」、タイミングT5で「0」、タイミングT6で「0」、タイミングT7で「1」をサンプリングする。送信チャネル1スキュー制御論理回路13bは、タイミングT5およびタイミングT6で連続して「0」をサンプリングしたことで、シフトコードの更新を停止する。送信チャネル1は、送信チャネル0がシフトコードを更新する間も、シフトコードを「4’d1」に固定する(図13参照)。
次に、制御回路16が実行するデスキュー処理について図14を用いて説明する。図14は、第2の実施形態のデスキュー処理を示すフローチャートである。デスキュー処理は、送信回路10が起動する際に実行される。
[ステップS11]制御回路16(上位コアロジック)は、制御信号をセットする。これにより、データシフト論理回路12およびスキュー制御論理回路13は、制御信号「1」が入力され、シフトコード決定動作をおこなう第1状態となる。
[ステップS12]制御回路16は、タイマをセットする。タイマ値は、各送信チャネルがシフトコードを固定するのに十分な時間が設定される。たとえば、タイマ値は、シフトコードを決定するカウンタ(CNT41)が1周する程度の時間として、クロック20で150クロック(>128(=16×8))とする。
[ステップS13]制御回路16は、ステップS12で設定したタイマのタイムアップを監視する。制御回路16は、タイマがタイムアップするのを待ってステップS14にすすむ。
[ステップS14]制御回路16は、制御信号をリセットする。これにより、データシフト論理回路12およびスキュー制御論理回路13は、制御信号「0」が入力され、シフトコード決定動作から通常状態となる第2状態に遷移する。
このように、送信回路10は、制御回路16が制御信号によって制御状態を管理する。
なお、制御回路16は、タイマを用いて制御状態を管理したが、データシフト論理回路12およびスキュー制御論理回路13のシフトコード決定状態を監視して制御状態を管理するようにしてもよい。たとえば、制御回路16は、すべての送信チャネルのFF39の出力(信号S4)を監視して制御状態を管理してもよい。また、送信回路10は、制御回路16によらず、データシフト論理回路12およびスキュー制御論理回路13が制御状態を決定するようにしてもよい。たとえば、データシフト論理回路12およびスキュー制御論理回路13は、それぞれ内部タイマを備え、第1状態で起動した後、内部タイマタイムアップ後に第2状態に遷移するようにしてもよい。
次に、データシフト論理回路12の第2状態の動作について図15、図16を用いて説明する。図15は、第2の実施形態のチャネル0データシフト論理回路およびチャネル1データシフト論理回路のデスキュー動作例を示すタイミングチャートである。図16は、第2の実施形態のチャネル0送信回路およびチャネル1送信回路が出力するシリアルデータの一例を示す図である。なお、送信チャネル0、送信チャネル1について、動作例を説明するが、説明を簡単にするためにその他の送信チャネルの動作についても同様であるため例示を省略する。また、理解を容易にするために、送信回路10は、送信チャネル0と送信チャネル1とで同一のデータを送信出力する場合を示す。
チャネル0データシフト論理回路12aおよびチャネル1データシフト論理回路12bは、制御信号の立ち下がりにより第2状態の動作(通常動作)を開始する(図15参照)。シフトコードは、第1状態において、送信チャネル0が「4’d9」に固定され、送信チャネル1が「4’d1」に固定されている。
チャネル0データシフト論理回路12aは、第1セレクタ53から送信データ「0123H」、「4567H」、「89ABH」、「CDEFH」、・・・をチャネルクロックに同期して順次出力する。チャネル1データシフト論理回路12bも、第1セレクタ53から送信データ「0123H」、「4567H」、「89ABH」、「CDEFH」、・・・をチャネルクロックに同期して順次出力する。
チャネル0データシフト論理回路12aは、チャネルクロック周期taにおいて、第2セレクタ57が32ビットパラレルデータ60(「01234567H」:図16(A)参照)を入力する。チャネル0データシフト論理回路12aは、チャネルクロック周期taにおいて、シフトコード「4’d9」にもとづいて16ビットパラレルデータ62(「468AH」:図16(B)参照)を出力する。同様にして、チャネル0データシフト論理回路12aは、チャネルクロック周期tbにおいて、第2セレクタ57が32ビットパラレルデータ61(「456789ABH」:図16(A)参照)を入力する。チャネル0データシフト論理回路12aは、チャネルクロック周期tbにおいて、シフトコード「4’d9」にもとづいて16ビットパラレルデータ63(「CF13H」:図16(B)参照)を出力する。
チャネル0データシフト論理回路12aが出力する16ビットパラレルデータ62、63は、出力から24UI遅延して、MUX(チャネル0送信回路11a)から出力される。
チャネル1データシフト論理回路12bは、チャネルクロック周期tcにおいて、第2セレクタ57が32ビットパラレルデータ64(「01234567H」:図16(C)参照)を入力する。チャネル1データシフト論理回路12bは、チャネルクロック周期tcにおいて、シフトコード「4’d1」にもとづいて16ビットパラレルデータ66(「0246H」:図16(D)参照)を出力する。同様にして、チャネル1データシフト論理回路12bは、チャネルクロック周期tdにおいて、第2セレクタ57が32ビットパラレルデータ65(「456789ABH」:図16(C)参照)を入力する。チャネル1データシフト論理回路12bは、チャネルクロック周期tdにおいて、シフトコード「4’d1」にもとづいて16ビットパラレルデータ67(「8ACFH」:図16(D)参照)を出力する。
チャネル1データシフト論理回路12bが出力する16ビットパラレルデータ66、67は、出力から24UI遅延して、MUX(チャネル1送信回路11b)からシリアルデータが出力される。
MUX(チャネル1送信回路11b)からのシリアルデータ出力は、MUX(チャネル0送信回路11a)からのシリアルデータ出力よりも、それぞれのチャネルクロックの位相差から8UI遅延する。しかしながら、タイミングT15において、MUX(チャネル0送信回路11a)は、P1位置からのシリアルデータを出力し、MUX(チャネル1送信回路11b)P2位置からのシリアルデータを出力する。
このように、送信回路10は、送信チャネル0と送信チャネル1との間でチャネル間デスキューをおこなうことができる。また、送信回路10は、供給されるクロックが高速であっても、送信チャネル間のスキュー除去を可能にする。
以上、実施の形態にもとづき、本発明の送信回路、およびデスキュー回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
なお、上述の実施の形態は、実施の形態の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) 第1クロックにもとづいてパラレルデータをシリアルデータに変換する複数のデータ変換部と、
前記データ変換部のそれぞれに対応し、前記シリアルデータのデータ間スキューを除去する複数のデスキュー部と、
を備え、
前記デスキュー部は、
前記データ変換部にタイミング検出用データを出力し、前記データ変換部が出力するシリアル化された前記タイミング検出用データを、前記第1クロックの周波数より低く、かつ前記複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態から前記シリアルデータの出力タイミングを調整する調整値を生成する生成部と、
前記データ変換部に出力するパラレルデータを前記調整値に応じてデータシフトする調整部と、
を備えることを特徴とする送信回路。
(付記2) 前記複数のデスキュー部の各々に対応するとともに、各々の出力端子を電気的に短絡させた複数のクロックバッファを備えることを特徴とする付記1記載の送信回路。
(付記3) 前記生成部は、前記遷移状態から前記出力タイミングが特定タイミングか否かを判定し、前記出力タイミングが前記特定タイミングでない場合に前記調整値を更新し、前記出力タイミングが前記特定タイミングである場合に前記調整値を決定することを特徴とする付記2記載の送信回路。
(付記4) 前記タイミング検出用データは、所定ビット長の0または1が連続した第1データと、前記第1データを反転した第2データのうち、いずれか一方を上位に、他方を下位にして結合し、連続するデータを前記所定ビット長だけ抜き出したものであることを特徴とする付記3記載の送信回路。
(付記5) 前記生成部は、前記調整値に応じて前記タイミング検出用データを更新することを特徴とする付記4記載の送信回路。
(付記6) 前記第2クロックは、前記第1クロックを分周したクロックであることを特徴とする付記1乃至付記5のいずれか1つに記載の送信回路。
(付記7) 前記所定ビット長は、前記データ変換部が入力する前記パラレルデータのデータ幅に等しいことを特徴とする付記1乃至付記5のいずれか1つに記載の送信回路。
(付記8) 前記第2クロックの立ち上がりタイミング、または立ち下がりタイミングでサンプリングすることを特徴とする付記1乃至付記5のいずれか1つに記載の送信回路。
(付記9) 第1クロックにもとづいてパラレルデータをシリアルデータに変換する複数のデータ変換部のそれぞれに対応し、前記シリアルデータのデータ間スキューを除去する複数のデスキュー部を備え、
前記デスキュー部は、
前記データ変換部にタイミング検出用データを出力し、前記データ変換部が出力するシリアル化された前記タイミング検出用データを、前記第1クロックの周波数より低く、かつ前記複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態から前記シリアルデータの出力タイミングを調整する調整値を生成する生成部と、
前記データ変換部に出力するパラレルデータを前記調整値に応じてデータシフトする調整部と、
を備えることを特徴とするデスキュー回路。
1 送信回路
2 データ変換部
3 デスキュー部
4 生成部
5 調整部

Claims (7)

  1. 第1クロックにもとづいてパラレルデータをシリアルデータに変換する複数のデータ変換部と、
    前記データ変換部のそれぞれに対応し、前記シリアルデータのデータ間スキューを除去する複数のデスキュー部と、
    を備え、
    前記デスキュー部は、
    前記データ変換部にタイミング検出用データを出力し、前記データ変換部が出力するシリアル化された前記タイミング検出用データを、前記第1クロックの周波数より低く、かつ前記複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態から前記シリアルデータの出力タイミングを調整する調整値を生成する生成部と、
    前記データ変換部に出力するパラレルデータを前記調整値に応じてデータシフトする調整部と、
    を備えることを特徴とする送信回路。
  2. 前記複数のデスキュー部の各々に対応するとともに、各々の出力端子を電気的に短絡させた複数のクロックバッファを備えることを特徴とする請求項1記載の送信回路。
  3. 前記生成部は、前記遷移状態から前記出力タイミングが特定タイミングか否かを判定し、前記出力タイミングが前記特定タイミングでない場合に前記調整値を更新し、前記出力タイミングが前記特定タイミングである場合に前記調整値を決定することを特徴とする請求項2記載の送信回路。
  4. 前記タイミング検出用データは、所定ビット長の0または1が連続した第1データと、前記第1データを反転した第2データのうち、いずれか一方を上位に、他方を下位にして結合し、連続するデータを前記所定ビット長だけ抜き出したものであることを特徴とする請求項3記載の送信回路。
  5. 前記調整部は、前記調整値に応じて前記タイミング検出用データを更新することを特徴とする請求項4記載の送信回路。
  6. 前記第2クロックは、前記第1クロックを分周したクロックであることを特徴とする請求項1乃至請求項5のいずれか1項に記載の送信回路。
  7. 第1クロックにもとづいてパラレルデータをシリアルデータに変換する複数のデータ変換部のそれぞれに対応し、前記シリアルデータのデータ間スキューを除去する複数のデスキュー部を備え、
    前記デスキュー部は、
    前記データ変換部にタイミング検出用データを出力し、前記データ変換部が出力するシリアル化された前記タイミング検出用データを、前記第1クロックの周波数より低く、かつ前記複数のデスキュー部に同位相で供給される第2クロックにもとづいてサンプリングし、サンプリングしたデータの遷移状態から前記シリアルデータの出力タイミングを調整する調整値を生成する生成部と、
    前記データ変換部に出力するパラレルデータを前記調整値に応じてデータシフトする調整部と、
    を備えることを特徴とするデスキュー回路。
JP2011142068A 2011-06-27 2011-06-27 送信回路、およびデスキュー回路 Active JP5765088B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011142068A JP5765088B2 (ja) 2011-06-27 2011-06-27 送信回路、およびデスキュー回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011142068A JP5765088B2 (ja) 2011-06-27 2011-06-27 送信回路、およびデスキュー回路

Publications (2)

Publication Number Publication Date
JP2013009263A JP2013009263A (ja) 2013-01-10
JP5765088B2 true JP5765088B2 (ja) 2015-08-19

Family

ID=47676228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011142068A Active JP5765088B2 (ja) 2011-06-27 2011-06-27 送信回路、およびデスキュー回路

Country Status (1)

Country Link
JP (1) JP5765088B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6582502B2 (ja) * 2015-04-07 2019-10-02 株式会社ソシオネクスト 集積回路および送信回路

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05224639A (ja) * 1992-02-17 1993-09-03 Hitachi Ltd データ同期回路
JP3031040B2 (ja) * 1992-03-02 2000-04-10 富士通株式会社 集積回路の製造方法
JP2008199156A (ja) * 2007-02-09 2008-08-28 Renesas Technology Corp シリアル通信用インタフェース回路
JP5230367B2 (ja) * 2008-06-03 2013-07-10 日本電信電話株式会社 パラレル光伝送装置及び方法

Also Published As

Publication number Publication date
JP2013009263A (ja) 2013-01-10

Similar Documents

Publication Publication Date Title
US9240804B2 (en) Techniques for alignment of parallel signals
CN110232886B (zh) 两级判决反馈均衡器和包括两级判决反馈均衡器的显示器
US11150687B1 (en) Low-latency retimer with seamless clock switchover
US7482841B1 (en) Differential bang-bang phase detector (BBPD) with latency reduction
JP5086014B2 (ja) データリカバリ方法およびデータリカバリ回路
JP5286845B2 (ja) データリカバリ回路
JP2008066879A (ja) オーバーサンプリング回路及びオーバーサンプリング方法
US9154291B2 (en) Differential signal skew adjustment method and transmission circuit
JP6123305B2 (ja) 電子装置及び同期方法
US9755663B1 (en) Parallel-serial conversion circuit, information processing apparatus and timing adjustment method
JP2014222872A (ja) クロック・データ・リカバリ回路で受信データ信号をトラッキングするためのシステム及び方法
TWI658700B (zh) 積體電路、多通道傳輸裝置及其信號傳輸方法
US7194057B2 (en) System and method of oversampling high speed clock/data recovery
JP5765088B2 (ja) 送信回路、およびデスキュー回路
JP5610540B2 (ja) シリアル通信用インターフェース回路及びパラレルシリアル変換回路
EP3350928B1 (en) High-speed programmable clock divider
JP2007082147A (ja) データ送受信回路のタイミング調整回路、lsi及びデータ送受信システム
JP2012244537A (ja) データリカバリ方法およびデータリカバリ装置
JP5704988B2 (ja) 通信装置
KR101828104B1 (ko) 고속 신호 처리를 위한 dac 장치들 사이의 동기화 방법 및 시스템
JP2014225874A (ja) クロック・データ・リカバリ回路で受信データ信号を取得するためのシステム及び方法
JP3705273B2 (ja) クロック抽出回路およびクロック抽出方法
JP3973149B2 (ja) データリカバリ回路とデータリカバリ方法
TWI495266B (zh) 環型振盪器電路
JP5742456B2 (ja) シリアル・データ通信装置のdpll回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150601

R150 Certificate of patent or registration of utility model

Ref document number: 5765088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150