JP2015216439A - 受信回路 - Google Patents
受信回路 Download PDFInfo
- Publication number
- JP2015216439A JP2015216439A JP2014096659A JP2014096659A JP2015216439A JP 2015216439 A JP2015216439 A JP 2015216439A JP 2014096659 A JP2014096659 A JP 2014096659A JP 2014096659 A JP2014096659 A JP 2014096659A JP 2015216439 A JP2015216439 A JP 2015216439A
- Authority
- JP
- Japan
- Prior art keywords
- phase
- clk
- data signal
- clock
- skew
- 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.)
- Ceased
Links
- 238000012937 correction Methods 0.000 claims abstract description 110
- 238000001514 detection method Methods 0.000 claims abstract description 38
- 238000012360 testing method Methods 0.000 claims description 35
- 230000007704 transition Effects 0.000 claims description 35
- 238000013459 approach Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 24
- 238000005070 sampling Methods 0.000 description 11
- 230000003111 delayed effect Effects 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000010363 phase shift Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/002—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
- H04L7/0025—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0004—Initialisation of the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】データの判定精度を向上する。【解決手段】判定部2A,2Bは、クロックCLKA,CLKBに同期して、入力データ信号Dinの振幅レベルを判定し、位相検出部3は、その振幅レベルに基づき、入力データ信号DinとクロックCLKBの位相の関係を検出し、位相調整部4A,4Bは、位相検出部3での検出結果に基づき、クロックCLKA,CLKBの位相を調整する。また、補正部5は、判定部2A,2Bに達するクロックCLKA,CLKB間に生じるスキューを補正する。補正量決定部6は、クロックCLKA,CLKBに設定される位相差をゼロにしたときの位相検出部3での検出結果に基づき、スキューに対応する補正部5での補正量を決定する。【選択図】図1
Description
本発明は、受信回路に関する。
近年、情報処理装置の性能向上に伴い、装置内外で送受信されるデータ信号のデータレートが高速化されてきている。
データ信号の受信回路ではサンプリングクロックに合わせたタイミングでデータ信号の振幅レベルを判定し、その判定結果に基づいてデータの再生が行われる。データレートが高速化すると、データ信号とサンプリングクロックとの間で生じた僅かな位相のずれがデータ判定精度に影響してしまう。そこで、こうした位相のずれを検出してデータ信号の位相にサンプリングクロックの位相を同期させるトラッキングCDR(Clock and Data Recovery)と呼ばれる技術が利用される。
データ信号の受信回路ではサンプリングクロックに合わせたタイミングでデータ信号の振幅レベルを判定し、その判定結果に基づいてデータの再生が行われる。データレートが高速化すると、データ信号とサンプリングクロックとの間で生じた僅かな位相のずれがデータ判定精度に影響してしまう。そこで、こうした位相のずれを検出してデータ信号の位相にサンプリングクロックの位相を同期させるトラッキングCDR(Clock and Data Recovery)と呼ばれる技術が利用される。
高速なデータレートのデータ信号を扱う受信回路では、1UI(Unit Interval)区間に2回のサンプリングを行う2xトラッキングCDR(以下2xCDRと表記する)と呼ばれる技術がよく用いられる。2xCDRでは、サンプリングクロックとして、データ信号のアイ中央にエッジを合わせるクロックと、データ信号の振幅レベルが遷移する遷移点(バウンダリ)にエッジを合わせるクロックが用いられる。以下では、前者のクロックをデータクロック、後者のクロックをバウンダリクロックと呼ぶ。なお、両クロックは、位相調整回路によって、0.5UI分の位相差になるように調整されている。これにより、CDRでバウンダリクロックが遷移点に追従するときには、データクロックによって、データ信号のアイ中央でサンプリング(データ判定)が行える。
データクロックとバウンダリクロックは、データ信号のサンプリングを行う判定部(比較器)に入力される。このとき、データクロックとバウンダリクロックの伝搬経路や負荷の違いにより、比較器に達するまでの間に遅延差(スキュー)が生じる。これにより、バウンダリクロックのエッジがデータ信号の遷移点に追従していても、データクロックのエッジは、データ信号のアイ中央を捕らえられなくなり、データの判定精度が悪化してしまう可能性がある。
発明の一観点によれば、第1のクロックに同期して、入力データ信号の第1の振幅レベルを判定する第1の判定部と、前記第1のクロックに対して第1の位相差が設定される第2のクロックに同期して、前記入力データ信号の第2の振幅レベルを判定する第2の判定部と、前記第1の振幅レベル及び前記第2の振幅レベルに基づき、前記入力データ信号と前記第2のクロックの位相の関係を検出する位相検出部と、前記位相検出部での検出結果に基づき、前記第1のクロックの位相を調整する第1の位相調整部と、前記検出結果に基づき、前記第2のクロックの位相を前記入力データ信号の振幅レベルの遷移点に追従するように調整する第2の位相調整部と、前記第1の判定部及び前記第2の判定部に達する前記第1のクロックと前記第2のクロックとの間に生じるスキューを補正する補正部と、前記第1の位相差をゼロにしたときの前記検出結果に基づき、前記スキューに対応する前記補正部での補正量を決定する補正量決定部と、を備えた受信回路が提供される。
開示の受信回路によれば、データの判定精度を向上できる。
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の受信回路の一例を示す図である。
(第1の実施の形態)
図1は、第1の実施の形態の受信回路の一例を示す図である。
受信回路1は、2xCDRの機能を有する。すなわち、受信回路1は、サンプリングクロックとして、外部から入力される入力データ信号Dinのアイ中央を捕らえるデータクロックと、入力データ信号Dinの振幅レベルの遷移点を捕らえるバウンダリクロックを用いてクロック及びデータの再生を行う。以下、データクロックはクロックCLKA、バウンダリクロックはクロックCLKBと表記する。
受信回路1は、判定部2A,2B、位相検出部3、位相調整部4A,4B、補正部5、補正量決定部6、フィルタ7を有する。
判定部2Aは、クロックCLKAに同期して、入力データ信号Dinの振幅レベルを判定する。判定部2Aは、例えば比較器であり、クロックCLKAのエッジ位置(例えば、立ち上がりエッジまたは立ち下がりエッジ)で、入力データ信号Dinを所定の閾値と比較して振幅レベル(0/1)を判定し、判定結果Dnを出力する。なお、判定結果Dnは、2xトラッキングCDRで再生されるデータとなる。また、判定部2Aは、複数あってもよい。
判定部2Aは、クロックCLKAに同期して、入力データ信号Dinの振幅レベルを判定する。判定部2Aは、例えば比較器であり、クロックCLKAのエッジ位置(例えば、立ち上がりエッジまたは立ち下がりエッジ)で、入力データ信号Dinを所定の閾値と比較して振幅レベル(0/1)を判定し、判定結果Dnを出力する。なお、判定結果Dnは、2xトラッキングCDRで再生されるデータとなる。また、判定部2Aは、複数あってもよい。
判定部2Bは、クロックCLKAに対して所定の位相差が設定されるクロックCLKBに同期して、入力データ信号Dinの振幅レベルを判定する。判定部2Bは、例えば比較器であり、クロックCLKBのエッジ位置で、入力データ信号Dinを所定の閾値と比較して振幅レベル(0/1)を判定し、判定結果Enを出力する。所定の位相差は、0.5UI分の位相差であり、スキューがない場合、クロックCLKBが入力データ信号Dinの振幅レベルの遷移点に追従するとき、クロックCLKAは、入力データ信号Dinのアイ中央を捕らえる。以下では、0.5UIに相当するクロックCLKA,CLKB間の位相差を90度であるとする。
位相検出部3は、判定結果Dn,Enに基づき、入力データ信号Dinの位相と、クロックCLKBの位相の関係を検出する。位相の関係は、例えば、信号U,D,S,Nの4つの信号を用いた4つの状態として検出される。例えば、信号Uが“1”のときは、クロックCLKBの位相が入力データ信号Dinの位相に対して遅れている状態を示し、信号Dが“1”のときは、クロックCLKBの位相が入力データ信号Dinの位相に対して進んでいる状態を示す。なお、信号Sが“1”のときは、入力データ信号Dinの振幅レベルの遷移がない状態を示す。また、信号Nが“1”のときは、入力データ信号Dinが振幅レベルの遷移していないにも関わらず、判定結果Enが、判定結果Dnと異なる値となっている、通常動作時には基本的には発生しない状態を示す。
位相調整部4Aは、位相検出部3での検出結果に基づき、クロックCLKAの位相を調整する。なお、本実施の形態の受信回路1では、検出結果の一部である信号U,Dに基づいて、フィルタ7が位相コードPHcodeを生成し、補正部5が位相コードPHcode補正して補正済位相コードPScodeを生成して、位相調整部4Aに供給する。
前述のように、クロックCLKA,CLKB間の位相差を0.5UIに相当する90度に設定することで、クロックCLKBが入力データ信号Dinの振幅レベルの遷移点に追従するとき、クロックCLKAが入力データ信号Dinのアイ中央を捕らえられる。しかし、クロックCLKA,CLKBが、判定部2A,2Bに達するときには設定された位相差からの誤差(スキュー)が生じる。そこで、位相調整部4Aでは、補正部5で補正された補正済位相コードPScodeが用いられることによって、スキューを無くすような位相調整が行われる。
なお、クロックCLKAは、図示しないPLL(Phase Locked Loop)回路などから供給されるリファレンスクロックCLKrefから生成される。
位相調整部4Bは、位相検出部3での検出結果に基づき、クロックCLKBの位相を、入力データ信号Dinの振幅レベルの遷移点(バウンダリ)に追従するように調整する。なお、本実施の形態の受信回路1では、位相調整部4Bは、位相検出部3での検出結果の一部である信号U,Dに基づいてフィルタ7が生成した位相コードPHcodeに基づき、クロックCLKBの位相を調整する。
位相調整部4Bは、位相検出部3での検出結果に基づき、クロックCLKBの位相を、入力データ信号Dinの振幅レベルの遷移点(バウンダリ)に追従するように調整する。なお、本実施の形態の受信回路1では、位相調整部4Bは、位相検出部3での検出結果の一部である信号U,Dに基づいてフィルタ7が生成した位相コードPHcodeに基づき、クロックCLKBの位相を調整する。
なお、クロックCLKBも、図示しないPLL回路などから供給されるリファレンスクロックCLKrefから生成される。
補正部5は、位相調整部4A,4Bから判定部2A,2Bに達するクロックCLKA,CLKBの間に生じるスキューを補正する。本実施の形態の受信回路1において補正部5は、例えば、加算器であり、位相コードPHcodeに、補正量決定部6で決定された補正量に基づくシフトコードSDcodeを加算することで、補正済位相コードPScodeを生成し、位相調整部4Aに供給する。
補正部5は、位相調整部4A,4Bから判定部2A,2Bに達するクロックCLKA,CLKBの間に生じるスキューを補正する。本実施の形態の受信回路1において補正部5は、例えば、加算器であり、位相コードPHcodeに、補正量決定部6で決定された補正量に基づくシフトコードSDcodeを加算することで、補正済位相コードPScodeを生成し、位相調整部4Aに供給する。
補正量決定部6は、クロックCLKAの位相を、設定する位相差分(90度)をゼロにしたときの、位相検出部3での検出結果に基づき、スキューに対応する補正部5での補正量を決定する。補正量決定部6は、クロックCLKAの位相を、90度シフトして、クロックCLKBの位相に近づけることで、設定する位相差をゼロにする。補正量はシフトコードSDcodeとして補正部5に供給される。また、補正量決定部6は、補正量の決定後は、位相差分のシフトを解除する。
なお、補正量を決定する際は、入力データ信号Dinは、受信回路1が受信したデータ信号ではなく、受信回路1内で生成されるデータ信号(以下テストデータ信号と呼ぶ)であることが望ましい。リファレンスクロックCLKrefに同期するテストデータ信号を生成でき、クロックCLKBをテストデータ信号の振幅レベルの遷移点に合わせられ、また、アイパターンの開口も十分にとれることから、精度よく補正量を求められるためである。
フィルタ7には、位相検出部3の検出結果の一部である信号U,Dが供給される。フィルタ7は、信号U,Dの高周波成分をカットした位相コードPHcodeを生成して出力する。フィルタ7には、例えば、デジタルフィルタなどを用いることができる。
(受信回路1の動作例)
以下、受信回路1によるスキューの補正時の動作例を説明する。
スキューは、クロックCLKA,CLKBの伝搬経路や負荷の違いにより生じる。例えば、受信回路1でDFE(Decision Feedback Equalizer)を用いる場合、データ判定用の閾値が複数設定されるなどの理由から判定部2Aの数が増大する。そのため、クロックCLKA,CLKBの負荷の違いが生じ、スキューが発生する。
以下、受信回路1によるスキューの補正時の動作例を説明する。
スキューは、クロックCLKA,CLKBの伝搬経路や負荷の違いにより生じる。例えば、受信回路1でDFE(Decision Feedback Equalizer)を用いる場合、データ判定用の閾値が複数設定されるなどの理由から判定部2Aの数が増大する。そのため、クロックCLKA,CLKBの負荷の違いが生じ、スキューが発生する。
図1の左側の囲みの部分には、発生するスキューの一例が示されている。スキュー補正前では、クロックCLKAの位相は、クロックCLKBとの間で設定されている位相差(90度(0.5UIに相当する))よりもスキューA分遅延している。これにより、クロックCLKBのエッジが入力データ信号Dinの振幅レベルの遷移点に追従していても、クロックCLKAのエッジは、入力データ信号Dinのアイ中央を捕らえられなくなり、アイの開口が十分でないとデータの判定精度が悪化してしまう。
このようなスキューを補正するため、受信回路1は、初期動作時などに以下のような動作を行う。
なお、以下では、入力データ信号Dinとして、前述したテストデータ信号を用いるものとする。
なお、以下では、入力データ信号Dinとして、前述したテストデータ信号を用いるものとする。
まず、補正量決定部6は、シフトコードSDcodeにより、クロックCLKAを、クロックCLKA,CLKB間に設定される位相差(0.5UI)だけ遷移点側にシフトさせ、クロックCLKBの位相に近づける。つまり、クロックCLKA,CLKB間に設定される位相差をゼロにする。
図1の右側の囲みの部分には、スキューがない場合とある場合の、位相のシフト前後のクロックCLKA,CLKBの入力データ信号Dinに対するエッジ位置が矢印で示されている。判定部2A,2Bによる判定結果En,Dnは、そのエッジ位置でのサンプリングにより得られる。
スキューがない場合、クロックCLKBのエッジは、入力データ信号Dinの振幅レベルの遷移点に位置し、クロックCLKAのエッジは、入力データ信号Dinのアイ中央に位置する。このとき、判定結果Enはランダム値となり、判定結果Dnは、入力データ信号Dinの値に応じて、1か0となる。
ここで、補正量決定部6が、クロックCLKAを0.5UIだけ遷移点側にシフトさせると、クロックCLKAのエッジも、クロックCLKBのエッジと同様に入力データ信号Dinの振幅レベルの遷移点に位置する。このとき、判定部2Aでの判定結果Dnも、判定結果Enと同様にランダム値となる。
一方、スキューがある場合、前述したように、クロックCLKAのエッジは、クロックCLKBとの間で設定されている位相差よりもスキューA分遅延している。このとき、判定結果Dnは、入力データ信号Dinの値に応じて、1か0となる。
しかし、補正量決定部6が、クロックCLKAを0.5UIだけ遷移点側にシフトさせると、クロックCLKAのエッジは、スキューなしの場合と異なり、入力データ信号Dinの遷移点からずれる。したがって、判定部2Aでの判定結果Dnは、ランダム値とはならず、シフトを行わないときと同様の値となる。
このように、スキューがない場合とある場合の判定部2Aの出力の差異により、位相検出部3での検出結果も変わってくる。
補正量決定部6では、シフト後の位相検出部3での検出結果に基づき補正量を決定する。例えば、補正量決定部6は、スキューがないときのシフト後の位相検出部3での検出結果を、前述した4つの信号U,D,S,Nの何れかの信号が、“1”となる状態の出現率(例えば、信号Uが“1”となる出現率)として保持する。そして、補正量決定部6は、ある状態の出現率が、保持されているその状態の出現率に近づくように、シフトコードSDcodeを調整して補正量を決める。
補正量決定部6では、シフト後の位相検出部3での検出結果に基づき補正量を決定する。例えば、補正量決定部6は、スキューがないときのシフト後の位相検出部3での検出結果を、前述した4つの信号U,D,S,Nの何れかの信号が、“1”となる状態の出現率(例えば、信号Uが“1”となる出現率)として保持する。そして、補正量決定部6は、ある状態の出現率が、保持されているその状態の出現率に近づくように、シフトコードSDcodeを調整して補正量を決める。
これにより、クロックCLKAのエッジは、図1の矢印B方向に移動して、入力データ信号Dinの振幅レベルの遷移点に近づく。
補正量決定後、補正量決定部6は、0.5UIのシフトを解除し、シフトコードSDcodeを固定する。
補正量決定後、補正量決定部6は、0.5UIのシフトを解除し、シフトコードSDcodeを固定する。
これにより、図1の左側の囲みの部分に示されているように、判定部2Aに達するスキュー補正後のクロックCLKAの位相は、クロックCLKBに対して、適切な位相差(90度)になるように調整される。
そのため、クロックCLKBのエッジが入力データ信号Dinの振幅レベルの遷移点に追従するとき、クロックCLKAのエッジは、入力データ信号Dinのアイ中央を捕らえることができるようになり、データ判定精度が向上する。また、クロックジッタなどの外乱要因に対する耐性も高くなる。
また、スキューを考慮して、クロックCLKBの位相を遅らせるようなダミーの回路を配置することもないので、回路面積や消費電力の増大も抑制できる。
(第2の実施の形態)
図2は、第2の実施の形態の受信回路の一例を示す図である。
(第2の実施の形態)
図2は、第2の実施の形態の受信回路の一例を示す図である。
受信回路10は、第1の実施の形態の受信回路1と同様に、2xCDRの機能を有するものである。なお、図1に示した受信回路1と同様の要素については、同一符号を付し、その説明を一部省略する。
受信回路10は、判定部2A,2B、位相検出部3、位相調整部4A,4B、補正部5、フィルタ7、補正量決定部11、制御部12、テストデータ信号生成部13、選択部(セレクタ)14を有している。
補正量決定部11は、第1の実施の形態の受信回路1の補正量決定部6と同様の機能を有するが、制御部12からの選択信号TEST_SEL,STATE_SEL、目標値GOALに基づき動作する。補正量決定部11の回路例及び動作例については後述する。
制御部12は、補正量決定部11がスキューの補正量を決定するときに用いる選択信号TEST_SEL,STATE_SEL、目標値GOALを生成して出力する。
テストデータ信号生成部13は、例えば、リファレンスクロックCLKrefに同期するテストデータ信号Dtを生成する。なお、テストデータ信号Dtのデータパターンを、“0101…”という繰り返しパターンとするときには、テストデータ信号生成部13は、リファレンスクロックCLKrefを生成する図示しないPLL回路などであってもよい。
テストデータ信号生成部13は、例えば、リファレンスクロックCLKrefに同期するテストデータ信号Dtを生成する。なお、テストデータ信号Dtのデータパターンを、“0101…”という繰り返しパターンとするときには、テストデータ信号生成部13は、リファレンスクロックCLKrefを生成する図示しないPLL回路などであってもよい。
セレクタ14は、制御部12で生成された選択信号TEST_SELに基づき、テストデータ信号Dtと、入力データ信号Din(受信回路10の受信データ)の、何れかを選択して出力する。セレクタ14は、スキューの補正量を決定する動作が行われるときには、テストデータ信号Dtを選択し、通常動作の際は、入力データ信号Dinを選択して出力する。
以下、受信回路10の位相調整部4A,4B、位相検出部3及び補正量決定部11の一例を説明する。
(位相調整部4A,4Bの一例)
図3は、リファレンスクロックと位相調整部の関係の一例を示す図である。
(位相調整部4A,4Bの一例)
図3は、リファレンスクロックと位相調整部の関係の一例を示す図である。
位相調整部4A,4Bには、図示しないPLL回路などから、図2に示したリファレンスクロックCLKrefとして、リファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXが供給される。リファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXは所定の位相関係をもつ。その位相関係は、例えば、リファレンスクロックCLKrefAの位相が基準(0度)であるとき、リファレンスクロックCLKrefBは90度、リファレンスクロックCLKrefAXは180度、リファレンスクロックCLKrefBXは270度となる。
位相調整部4Aは、補正済位相コードPScodeと、リファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXに基づいて位相調整した差動信号であるクロックCLKa,CLKaXを、図2に示したクロックCLKAとして出力する。
位相調整部4Bは、位相コードPHcodeと、リファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXに基づいて位相調整した差動信号であるクロックCLKb,CLKbXを、図2に示したクロックCLKBとして出力する。
図4は、位相調整部の一例を示す図である。
以下では、位相調整部4Aの一例を示すが、位相調整部4Bについても同様の回路で実現できる。
以下では、位相調整部4Aの一例を示すが、位相調整部4Bについても同様の回路で実現できる。
位相調整部4Aは、トランジスタ20,21,22,23,24,25,26,27、電流源I1,I2,I3,I4、抵抗R1,R2を有している。図4の例では、トランジスタ20〜27は、nチャネル型MOSFET(Metal-Oxide Semiconductor Field Effect Transistor)である。
トランジスタ20のゲートにはリファレンスクロックCLKrefBが、トランジスタ21のゲートにはリファレンスクロックCLKrefBXが入力される。また、トランジスタ20,21のソースは互いに接続されており、電流源I1を介して接地されている。
トランジスタ22のゲートにはリファレンスクロックCLKrefBXが、トランジスタ23のゲートにはリファレンスクロックCLKrefBが入力される。また、トランジスタ20,21のソースは互いに接続されており、電流源I2を介して接地されている。
トランジスタ24のゲートにはリファレンスクロックCLKrefAが、トランジスタ25のゲートにはリファレンスクロックCLKrefAXが入力される。また、トランジスタ24,25のソースは互いに接続されており、電流源I3を介して接地されている。
トランジスタ26のゲートにはリファレンスクロックCLKrefAXが、トランジスタ27のゲートにはリファレンスクロックCLKrefAが入力される。また、トランジスタ26,27のソースは互いに接続されており、電流源I4を介して接地されている。
また、トランジスタ20,22,25,27のドレインは互いに接続されており、抵抗R2を介して電源に接続されている。トランジスタ20,22,25,27のドレイン電圧が、クロックCLKaXとなる。
一方、トランジスタ21,23,24,26のドレインは互いに接続されており、抵抗R1を介して電源に接続されている。トランジスタ21,23,24,26のドレイン電圧が、クロックCLKaとなる。
電流源I1〜I4の電流は、位相調整部4Aに入力される補正済位相コードPScodeに基づいて調整され、それに応じて、クロックCLKa,CLKaXの位相が調整される。
なお、以下では、差動信号であるクロックCLKa,CLKaXのうち、クロックCLKaを、図2に示したクロックCLKAとして説明する。
位相調整部4Bは、図4に示す位相調整部4Aと同様の回路となる。図4のトランジスタ20〜27のゲートに入力されるリファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXを入れ替え、電流源I1〜I4の電流を位相コードPHcodeに基づき調整することで位相調整部4Bとして機能させることができる。
位相調整部4Bは、図4に示す位相調整部4Aと同様の回路となる。図4のトランジスタ20〜27のゲートに入力されるリファレンスクロックCLKrefA,CLKrefB,CLKrefAX,CLKrefBXを入れ替え、電流源I1〜I4の電流を位相コードPHcodeに基づき調整することで位相調整部4Bとして機能させることができる。
例えば、図4の例では、トランジスタ20,23ゲートにリファレンスクロックCLKrefBが入力されているが、位相調整部4BではリファレンスクロックCLKrefBに対して90度の位相差を有するリファレンスクロックCLKrefAXが入力される。また、図4の例では、トランジスタ21,22のゲートにリファレンスクロックCLKrefBXが入力されているが、位相調整部4BではリファレンスクロックCLKrefBXに対して90度の位相差を有するリファレンスクロックCLKrefAが入力される。また、図4の例では、トランジスタ24,27のゲートにリファレンスクロックCLKrefAが入力されているが、位相調整部4BではリファレンスクロックCLKrefAに対して90度の位相差を有するリファレンスクロックCLKrefBが入力される。また、図4の例では、トランジスタ25,26のゲートにリファレンスクロックCLKrefAXが入力されているが、位相調整部4BではリファレンスクロックCLKrefAXに対して90度の位相差を有するリファレンスクロックCLKrefBXが入力される。
これにより、位相コードPHcodeと補正済位相コードPScodeが同じ場合には、位相調整部4A,4Bから出力されるクロックCLKA,CLKBは、90度の位相差を有することになる。ただ、クロックCLKA,CLKBが判定部2A,2Bに到達したときにスキューが生じる場合、補正量決定部11で生成されるシフトコードSDcodeに基づいて、補正済位相コードPScodeは、位相コードPHcodeとは異なる値となる。その場合、位相調整部4A,4Bから出力されるクロックCLKA,CLKBは、例えば、90度位相差よりも小さい位相差となる。
(位相検出部3及び補正量決定部11の一例)
図5は、位相検出部及び補正量決定部の一例を示す図である。
位相検出部3は、FF(Flip Flop)30と演算回路31を有している。また、補正量決定部11は、カウンタ32、比較回路33、カウンタ34a,34b,34c,34d、セレクタ35、比較回路36、レジスタ37、セレクタ38,39、加算器40、レジスタ41、加算器42を有する。
図5は、位相検出部及び補正量決定部の一例を示す図である。
位相検出部3は、FF(Flip Flop)30と演算回路31を有している。また、補正量決定部11は、カウンタ32、比較回路33、カウンタ34a,34b,34c,34d、セレクタ35、比較回路36、レジスタ37、セレクタ38,39、加算器40、レジスタ41、加算器42を有する。
FF30は、判定部2Aでの判定結果DnをクロックCLKAに同期して保持し、1ビット分遅延させた判定結果Dn-1として出力する。
演算回路31は、判定結果Dnと、FF30から出力される判定結果Dn-1、判定部2Bでの判定結果Enに基づき、以下に示す真理値表を実現する演算を行い、前述した位相情報として、信号U,D,S,Nを出力する。
演算回路31は、判定結果Dnと、FF30から出力される判定結果Dn-1、判定部2Bでの判定結果Enに基づき、以下に示す真理値表を実現する演算を行い、前述した位相情報として、信号U,D,S,Nを出力する。
図6は、演算回路が実現する真理値表の一例を示す図である。
図6に示す真理値表には、8通りの判定結果Dn-1,En,Dnの値の組み合わせに対応して出力される、信号U,D,S,Nの4つの状態が示されている。4つの状態には、“Up”、“Down”、“Stay”、“N/A”がある。以下各状態の一例を示す。
図6に示す真理値表には、8通りの判定結果Dn-1,En,Dnの値の組み合わせに対応して出力される、信号U,D,S,Nの4つの状態が示されている。4つの状態には、“Up”、“Down”、“Stay”、“N/A”がある。以下各状態の一例を示す。
図7は、状態“Up”の一例を示す図である。
信号Uが“1”のとき、状態“Up”となる。状態“Up”は、入力データ信号Dinが遷移する状態であり、かつ、判定結果Enが、判定結果Dnと同じ値となる場合の状態である。つまり、入力データ信号Dinに対して、遷移点に追従すべきクロックCLKBの位相が遅れている状態を示す。図7に示すように、入力データ信号Dinが“1”から“0”へと遷移するときの判定結果が、(Dn-1,En,Dn)=(1,0,0)となる場合に、状態“Up”となる。
信号Uが“1”のとき、状態“Up”となる。状態“Up”は、入力データ信号Dinが遷移する状態であり、かつ、判定結果Enが、判定結果Dnと同じ値となる場合の状態である。つまり、入力データ信号Dinに対して、遷移点に追従すべきクロックCLKBの位相が遅れている状態を示す。図7に示すように、入力データ信号Dinが“1”から“0”へと遷移するときの判定結果が、(Dn-1,En,Dn)=(1,0,0)となる場合に、状態“Up”となる。
なお、入力データ信号Dinが“0”から“1”へと遷移するときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,1,1)となる場合(つまり判定結果En,Dnが同じ値となる場合)には、状態“Up”となる。
図8は、状態“Down”の一例を示す図である。
信号Dが“1”のとき、状態“Down”となる。状態“Down”は、入力データ信号Dinが遷移する状態であり、かつ、判定結果Enが、判定結果Dn-1と同じ値となる場合の状態である。つまり、入力データ信号Dinに対して、遷移点に追従すべきクロックCLKBの位相が進んでいる状態を示す。図8に示すように、入力データ信号Dinが“1”から“0”へと遷移するときの判定結果が、(Dn-1,En,Dn)=(1,1,0)となる場合に、状態“Down”となる。
信号Dが“1”のとき、状態“Down”となる。状態“Down”は、入力データ信号Dinが遷移する状態であり、かつ、判定結果Enが、判定結果Dn-1と同じ値となる場合の状態である。つまり、入力データ信号Dinに対して、遷移点に追従すべきクロックCLKBの位相が進んでいる状態を示す。図8に示すように、入力データ信号Dinが“1”から“0”へと遷移するときの判定結果が、(Dn-1,En,Dn)=(1,1,0)となる場合に、状態“Down”となる。
なお、入力データ信号Dinが“0”から“1”へと遷移するときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,0,1)となる場合(つまり判定結果En,Dn-1が同じ値となる場合)には、状態“Down”となる。
図9は、状態“Stay”の一例を示す図である。
信号Sが“1”のとき、状態“Stay”となる。状態“Stay”は、入力データ信号Dinが遷移しない状態であり、かつ、判定結果En,Dn-1,Dnが同じ値となる場合の状態である。
信号Sが“1”のとき、状態“Stay”となる。状態“Stay”は、入力データ信号Dinが遷移しない状態であり、かつ、判定結果En,Dn-1,Dnが同じ値となる場合の状態である。
図9に示すように、入力データ信号Dinが“1”の状態を維持しているときの判定結果が、(Dn-1,En,Dn)=(1,1,1)となる場合に、状態“Stay”となる。
なお、入力データ信号Dinが“0”の状態を維持しているときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,0,0)となる場合には、状態“Stay”となる。
なお、入力データ信号Dinが“0”の状態を維持しているときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,0,0)となる場合には、状態“Stay”となる。
図10は、状態“N/A”の一例を示す図である。
信号Nが“1”のとき、状態“N/A”(グリッジとも呼ばれる)となる。状態“N/A”は、入力データ信号Dinが遷移しない状態であるにも関わらず、判定結果Enの値が、判定結果Dn-1,Dnの値と異なる、という通常動作時には基本的には発生しない状態である。
信号Nが“1”のとき、状態“N/A”(グリッジとも呼ばれる)となる。状態“N/A”は、入力データ信号Dinが遷移しない状態であるにも関わらず、判定結果Enの値が、判定結果Dn-1,Dnの値と異なる、という通常動作時には基本的には発生しない状態である。
図10に示すように、入力データ信号Dinが“1”の状態を維持しているときの判定結果が、(Dn-1,En,Dn)=(1,0,1)となる場合に、状態“N/A”となる。
なお、入力データ信号Dinが“0”の状態を維持しているときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,1,0)となる場合には、状態“N/A”となる。
なお、入力データ信号Dinが“0”の状態を維持しているときも、図6に示した真理値表のように、判定結果が、(Dn-1,En,Dn)=(0,1,0)となる場合には、状態“N/A”となる。
次に、図5に示されている補正量決定部11の説明を行う。
カウンタ32は、クロックCLKAのクロック数(例えば、立ち上がりエッジ数)をカウントして、そのカウント値を出力する。また、カウンタ32は、比較回路33が出力するリセット信号を受けると、カウント値を0にリセットする。
カウンタ32は、クロックCLKAのクロック数(例えば、立ち上がりエッジ数)をカウントして、そのカウント値を出力する。また、カウンタ32は、比較回路33が出力するリセット信号を受けると、カウント値を0にリセットする。
比較回路33は、カウンタ32のカウント値と、所定の値(図5の例では1000)とを比較し、カウント値がその値に達したときに、クロックCLKAの立ち上がりに同期してリセット信号を出力する。
カウンタ34aは、演算回路31が出力する信号Uの値を、クロックCLKAの立ち上がりに同期してカウントする。また、カウンタ34aは、リセット信号を受けると、カウント値を0にリセットする。
カウンタ34bは、演算回路31が出力する信号Dの値を、クロックCLKAの立ち上がりに同期してカウントする。また、カウンタ34bは、リセット信号を受けると、カウント値を0にリセットする。
カウンタ34cは、演算回路31が出力する信号Sの値を、クロックCLKAの立ち上がりに同期してカウントする。また、カウンタ34cは、リセット信号を受けると、カウント値を0にリセットする。
カウンタ34dは、演算回路31が出力する信号Nの値を、クロックCLKAの立ち上がりに同期してカウントする。また、カウンタ34dは、リセット信号を受けると、カウント値を0にリセットする。
セレクタ35は、図2に示した制御部12が出力する選択信号STATE_SELの値に基づき、カウンタ34a〜34dが出力する信号U,D,S,Nの何れかのカウント値を選択して出力する。
比較回路36は、比較回路33がリセット信号を出力したとき、制御部12が出力する目標値GOALと、セレクタ35の出力(信号U,D,S,Nの何れかのカウント値)とを比較し、その比較結果に基づき、+1または−1を出力する。目標値GOALは、スキューがない場合の特定の状態(“Up”、“Down”、“Stay”、“N/A”の何れか)の出現率に基づき設定される。目標値GOALの設定例については後述する。
レジスタ37は、0.5UI分、クロックCLKAをシフトさせるためにシフトコードSDcodeに加える値を格納している。
セレクタ38は、選択信号TEST_SELに基づき、比較回路36の出力か“0”の何れかを出力する。スキューの補正量を決定する際には、比較回路36からの出力(±1)が選択されて出力され、補正量決定後(通常動作時)には、“0”が選択されて出力される。
セレクタ38は、選択信号TEST_SELに基づき、比較回路36の出力か“0”の何れかを出力する。スキューの補正量を決定する際には、比較回路36からの出力(±1)が選択されて出力され、補正量決定後(通常動作時)には、“0”が選択されて出力される。
セレクタ39は、選択信号TEST_SELに基づき、レジスタ37の値か“0”の何れかを出力する。スキューの補正量を決定する際には、レジスタ37の値が選択されて出力され、補正量決定後(通常動作時)には、“0”が選択されて出力される。
加算器40は、レジスタ41に保持されている値に、セレクタ38の出力(±1または0)を加算する。
レジスタ41は、リセット信号の発行タイミングで加算器40の出力値を保持する。レジスタ41の初期値は0である。
レジスタ41は、リセット信号の発行タイミングで加算器40の出力値を保持する。レジスタ41の初期値は0である。
加算器42は、レジスタ41の出力値とセレクタ39の出力値とを加算して、シフトコードSDcodeとして出力する。
以下、第2の実施の形態の受信回路10によるスキュー補正動作の一例を説明する。
以下、第2の実施の形態の受信回路10によるスキュー補正動作の一例を説明する。
(スキュー補正動作例)
図11は、スキューがない場合のクロックCLKA,CLKBのエッジ位置の一例を示す図である。
図11は、スキューがない場合のクロックCLKA,CLKBのエッジ位置の一例を示す図である。
また、図12は、スキューがある場合のクロックCLKA,CLKBのエッジ位置の一例を示す図である。
図11、図12では、スキューがない場合とある場合の、クロックCLKA,CLKBの入力データ信号Dinに対するエッジ位置が矢印で示されている。判定部2A,2Bによる判定結果En,Dnは、そのエッジ位置でのサンプリングにより得られる。
図11、図12では、スキューがない場合とある場合の、クロックCLKA,CLKBの入力データ信号Dinに対するエッジ位置が矢印で示されている。判定部2A,2Bによる判定結果En,Dnは、そのエッジ位置でのサンプリングにより得られる。
スキューがない場合、クロックCLKA,CLKB間で設定される位相差が90度のとき、図11に示すように、クロックCLKBのエッジは、入力データ信号Dinの遷移点に位置し、クロックCLKAのエッジは、入力データ信号Dinのアイ中央に位置する。
一方、スキューがある場合、クロックCLKAのエッジは、クロックCLKBとの間で設定される90度の位相差よりもスキューSk分遅延している。
入力データ信号Dinは、他のICチップなどから、伝送線路を介して受信されたデータである。そのため、伝送速度(伝送レート)が高速である場合や伝送線路が長い場合、入力データ信号Dinの波形が劣化して、アイパターンの開口が小さくなる場合がある。そのような場合、スキューがあると、判定結果Dnは、図12に示すように、アイ中央からずれた位相で判定されるため、誤った値がサンプリングされてしまう場合がある。
入力データ信号Dinは、他のICチップなどから、伝送線路を介して受信されたデータである。そのため、伝送速度(伝送レート)が高速である場合や伝送線路が長い場合、入力データ信号Dinの波形が劣化して、アイパターンの開口が小さくなる場合がある。そのような場合、スキューがあると、判定結果Dnは、図12に示すように、アイ中央からずれた位相で判定されるため、誤った値がサンプリングされてしまう場合がある。
そこで、受信回路10は、このようなスキューを抑制するために、以下のような動作を行う。
図2に示した制御部12は、選択信号TEST_SELを、例えば、“1”とする。このとき、セレクタ14は、テストデータ信号生成部13が出力するテストデータ信号Dtを選択して出力する。受信回路10の内部で生成されるテストデータ信号Dtを用いることで、テストデータ信号DtをリファレンスクロックCLKrefに同期させることができ、クロックCLKBをテストデータ信号Dtの振幅レベルの遷移点に合わせられる。また、テストデータ信号Dtは、受信する入力データ信号Dinと比べてアイパターンの開口も十分にとれることから、精度よく補正量を求められる。
図2に示した制御部12は、選択信号TEST_SELを、例えば、“1”とする。このとき、セレクタ14は、テストデータ信号生成部13が出力するテストデータ信号Dtを選択して出力する。受信回路10の内部で生成されるテストデータ信号Dtを用いることで、テストデータ信号DtをリファレンスクロックCLKrefに同期させることができ、クロックCLKBをテストデータ信号Dtの振幅レベルの遷移点に合わせられる。また、テストデータ信号Dtは、受信する入力データ信号Dinと比べてアイパターンの開口も十分にとれることから、精度よく補正量を求められる。
また、補正量決定部11において、図5に示したセレクタ38は、比較回路36の出力を選択し、セレクタ39は、レジスタ37に格納された値を選択して出力する。
このとき生成されるシフトコードSDcodeによって、まず、クロックCLKAの位相は、0.5UIシフトされ、クロックCLKBの位相に近づく。
このとき生成されるシフトコードSDcodeによって、まず、クロックCLKAの位相は、0.5UIシフトされ、クロックCLKBの位相に近づく。
シフトされたクロックCLKAと、クロックCLKBによるサンプリングタイミングで判定部2A,2Bで判定された判定結果Dn-1,En,Dnは、位相検出部3の演算回路31(図5)に入力される。演算回路31によって、図6に示した真理値表に基づいて、テストデータ信号DtとクロックCLKBの位相関係を4つの状態で示す信号U〜Nが出力される。
図13は、スキューがない場合の、位相のシフト後のクロックCLKA,CLKBのエッジ位置と判定結果の値の一例を示す図である。
クロックCLKA,CLKBのテストデータ信号Dtに対するエッジ位置が矢印で示されている。さらに、そのエッジ位置での判定部2A,2Bによる判定結果En,Dn-1,Dnの値が示されている。なお、テストデータ信号Dtのデータパターンは、“0101…”であるものとする。
クロックCLKA,CLKBのテストデータ信号Dtに対するエッジ位置が矢印で示されている。さらに、そのエッジ位置での判定部2A,2Bによる判定結果En,Dn-1,Dnの値が示されている。なお、テストデータ信号Dtのデータパターンは、“0101…”であるものとする。
スキューがない場合、クロックCLKAの位相を0.5UIシフトさせると、判定結果Dn-1,En,Dnは、ともにテストデータ信号Dtの振幅レベルの遷移点で判定される値となる。遷移点では、クロックジッタなどの外乱の影響で、判定結果Dn-1,En,Dnは0になるか1になるかランダムとなる(図13では“r”と表記している)。
このとき、図6に示した真理値表の4つの状態、“Stay”、“Down”、“N/A”、“Up”が、すべて現れる可能性があり、各状態の出現率は、25%となる。
図14は、スキューがある場合の、位相のシフト後のクロックCLKA,CLKBのエッジ位置と判定結果の値の一例を示す図である。
図14は、スキューがある場合の、位相のシフト後のクロックCLKA,CLKBのエッジ位置と判定結果の値の一例を示す図である。
クロックCLKA,CLKBのテストデータ信号Dtに対するエッジ位置が矢印で示されている。さらに、そのエッジ位置での判定部2A,2Bによる判定結果En,Dn-1,Dnの値が示されている。なお、ここでもテストデータ信号Dtのデータパターンは、“0101…”であるものとする。
スキューSkがある場合、クロックCLKAの位相を0.5UIシフトさせても、判定結果Dn-1,Dnは、テストデータ信号Dtの振幅レベルの遷移点から、スキューSk分ずれた時点で判定される値となる。つまり、判定結果Dn-1,Dnは、その時点(サンプリングタイミング)でのテストデータ信号Dtの値となる。
このとき、テストデータ信号Dtのデータパターンが“0101…”であるため、図6に示した真理値表の4つの状態のうち現れる状態は、“Up”、“Down”の2つとなり、各状態の出現率は、50%となる。
上記のように、スキューの有無によって、各状態の出現率は相違する。
本実施の形態の受信回路10では、補正量決定部11は、スキューが生じているときの位相検出部3で得られる状態の出現率を、スキューがないときの状態の出現率に近づけるように、補正量を決定する。
本実施の形態の受信回路10では、補正量決定部11は、スキューが生じているときの位相検出部3で得られる状態の出現率を、スキューがないときの状態の出現率に近づけるように、補正量を決定する。
制御部12は、スキューがないときの特定の状態の出現率に対応した目標値GOALを補正量決定部11に供給する。目標値GOALは、スキューがないときの特定の状態の出現率に、所定の値(例えば、1000)を乗じた値となる。
各状態の出現率は、テストデータ信号Dtのデータパターンに応じて異なる値が設定される。以下では、データパターンが“0011”である場合の、目標値GOALの設定例を説明する。
図15は、データパターンが“00110011…”である場合のスキュー量と各状態の出現率との関係の例を示す図である。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
目標値GOALを、スキューがないときの状態“Down”の出現率に基づき決定する場合、状態“Down”の、スキュー量が0のときの出現率は、12.5%であるため、この出現率に上記の所定の値を乗じたものが目標値GOALとなる。例えば、所定の値が1000であるときには、目標値GOALは、0.125×1000=125と求めることができる。
このように目標値GOALが設定されたとき、補正量決定部11は、以下のような処理で補正量を決定する。
図5に示した補正量決定部11において、カウンタ32のカウント値が所定の値(以下でも1000とする)に達すると、比較回路36にて、目標値GOALとセレクタ35の出力とが比較される。
図5に示した補正量決定部11において、カウンタ32のカウント値が所定の値(以下でも1000とする)に達すると、比較回路36にて、目標値GOALとセレクタ35の出力とが比較される。
目標値GOALが、スキューがないときの状態“Down”の出現率に対応した値、125であるとき、制御部12は、選択信号STATE_SELによって、セレクタ35に、信号Dの値をカウントしているカウンタ34bのカウント値を選択させる。
カウンタ32のカウント値が1000に達したときに、カウンタ34bのカウント値が、例えば、50であるとき、状態“Down”の出現率が5%であることを意味している。このとき、図15に示すようにスキュー量は、0より大きい値(例えば、X1)となる。
比較回路36は、上記のようにカウンタ34bのカウント値が目標値GOALよりも小さいと、スキュー量を減らすために、−1を出力する。補正量を決定する際、セレクタ38は、比較回路36の出力を選択するため、レジスタ41には−1が格納され(レジスタ41の初期値は0)、シフトコードSDcodeの値は−1だけ減少する。
これにより、補正部5から出力される補正済位相コードPscodeも−1だけ減少し、位相調整部4AはクロックCLKAの位相を進める調整を行う。
このような処理により、スキュー量は小さくなる。例えば、カウンタ32のカウント値が次に1000に達したとき、カウンタ34bのカウント値が、例えば、約75であるとき、状態“Down”の出現率が約7.5%であることを意味している。このとき、図15に示すようにスキュー量は、まだ、0より大きい値(例えば、X2)となる。
このような処理により、スキュー量は小さくなる。例えば、カウンタ32のカウント値が次に1000に達したとき、カウンタ34bのカウント値が、例えば、約75であるとき、状態“Down”の出現率が約7.5%であることを意味している。このとき、図15に示すようにスキュー量は、まだ、0より大きい値(例えば、X2)となる。
このときも同様に、比較回路36の出力は−1となり、加算器40でレジスタ41の値(−1)と加算され、レジスタ41の格納値は−2となる。また、シフトコードSDcodeの値は、さらに−1だけ減少し、位相調整部4Aは、さらに、クロックCLKAの位相を進める調整を行う。
補正量決定部11は、カウンタ34bのカウント値が、目標値GOALと同等になるまで、上記の処理を繰り返す。カウンタ34bのカウント値が、目標値GOALと同等になったときに、レジスタ41に保持されている値が、通常動作時に適用される補正量となる。
図示を省略しているが、制御部12は、例えば、セレクタ35から出力されるカウンタ34bのカウント値を検出する。そして制御部12は、そのカウンタ値が、目標値GOALと同等になったことを検出すると、選択信号TEST_SELにより、セレクタ38,39に0を出力させる。これにより、クロックCLKAに対する0.5UIのシフトは解除され、レジスタ41に保持されている値(補正量)が、シフトコードSDcodeとして出力される。また、制御部12は選択信号TEST_SELにより、セレクタ14(図2)に入力データ信号Dinを出力させる。
補正部5は、シフトコードSDcodeで位相コードPHcodeを補正し、補正済位相コードPScodeを生成し位相調整部4Aに供給する。これにより、位相調整部4Aでは、クロックCLKAに対し、スキューを考慮した位相調整を行うことになる。そのため、クロックCLKA,CLKBが、判定部2A,2Bに達したときに生じるスキューが抑制される。
なお、上記の例では、カウンタ34bのカウント値が目標値GOALと同等となったときを、補正量を決定する処理の終了条件としたが、これに限定されない。例えば、カウンタ34bのカウント値が目標値GOALから一定範囲に収まったときを、終了条件としてもよい。
また、上記では、状態“Down”の出現率に対応するカウンタ34bのカウント値を用いて、補正量を決定する例を説明したが、これに限定されることはない。他の状態“Up”,“Stay”,“N/A”に対応するカウンタ34a,34c,34dのカウント値を用いて、補正量を決定してもよい。
また、テストデータ信号Dtのデータパターンは、“00110011…”に限定されない。以下に、データパターンが“0101…”であるときと、データパターンがランダムであるときの目標値GOALの設定例を説明する。
図16は、データパターンが“0101…”である場合のスキュー量と各状態の出現率との関係の例を示す図である。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
目標値GOALを、スキューがないときの状態“Down”の出現率に基づき決定する場合、状態“Down”の、スキュー量が0のときの出現率は25%であるため、この出現率に上記の所定の値を乗じたものが目標値GOALとなる。例えば、所定の値が1000であるときには、目標値GOALは、0.25×1000=250と求めることができる。
図17は、データパターンがランダムである場合のスキュー量と各状態の出現率との関係の例を示す図である。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
横軸は、スキュー量(UI)を示し、縦軸は、出現率(%)を示している。4種類の形状のプロットにより、4つの状態の出現率とスキュー量の関係が示されている。
目標値GOALを、スキューがないときの状態“Down”の出現率に基づき決定する場合、状態“Down”の、スキュー量が0のときの出現率は約12%であるため、この出現率に上記の所定の値を乗じたものが目標値GOALとなる。例えば、所定の値が1000であるときには、目標値GOALは、0.12×1000=120と求めることができる。
このように、スキューがないときの特定の状態の出現率に対応した値(目標値GOAL)がデータパターンに応じて設定されるため、さまざまなデータパターンを用いて、補正量を決定できる。
以上のように、本実施の形態の受信回路10では、クロックCLKAを0.5UI分シフトさせたときに、位相検出部3で生成される信号U,D,S,Nに基づく4つの状態の何れかの出現率が、スキューがないときの出現率に近づくように、補正量が決定される。
その補正量に基づいて、位相調整部4Aでは、クロックCLKAの位相調整を行うことになり、クロックCLKA,CLKBが、判定部2A,2Bに達したときに生じるスキューが抑制される。そのため、クロックCLKBのエッジが入力データ信号Dinの遷移点に追従するとき、クロックCLKAのエッジは、入力データ信号Dinのアイ中央を捕らえることができるようになり、データ判定精度が向上する。また、クロックジッタなどの外乱要因に対する耐性も高くなる。
また、スキューを考慮して、クロックCLKBの位相を遅らせるようなダミーの回路を配置することもないので、回路面積や消費電力の増大も抑制できる。さらに、補正量決定部11を、デジタル回路で実現できるため、高速で、高精度なアナログ回路を使わなくて済むため、回路的なオーバーヘッドは少ない。
(変形例)
図18は、第2の実施の形態の受信回路の変形例を示す図である。なお、図2に示した受信回路10と同様の要素については、同一符号を付し、その説明を省略する。
図18は、第2の実施の形態の受信回路の変形例を示す図である。なお、図2に示した受信回路10と同様の要素については、同一符号を付し、その説明を省略する。
受信回路10aにおいて、補正部5aは、位相調整部4A,4Bから判定部2A,2Bに達するクロックCLKA,CLKBの間に生じるスキューを補正して、クロックCLKA,CLKB間に設定される位相差の変動を抑制するものである。しかし、補正部5aは、図2に示した補正部5と異なり、例えば、可変遅延回路である。補正部5aは、前述の方法で補正量決定部11が生成したシフトコードSDcodeに基づき、位相調整部4Aが出力したクロックCLKAの遅延量を調整し、判定部2A及び補正量決定部11に供給する。
このような受信回路10aであっても、シフトコードSDcodeに基づき、補正部5aにより、クロックCLKA,CLKBの間に生じるスキューが補正(抑制)されるため、受信回路10と同様に、データ判定精度を向上できるという効果が得られる。
(第3の実施の形態)
図19は、第3の実施の形態の受信回路の一例を示す図である。
図2に示した受信回路10と同様の要素については同一符号を付し、その説明を省略する。
図19は、第3の実施の形態の受信回路の一例を示す図である。
図2に示した受信回路10と同様の要素については同一符号を付し、その説明を省略する。
第3の実施の形態による受信回路10bは、k個のクロックCLKA1〜CLKAk,CLKB1〜CLKBkによりインターリーブ動作を行うことが可能な回路となっている。入力データ信号Dinの周波数が速いときも、遅い周波数のクロックで並列処理により動作可能となる。そのため、受信回路10bの消費電力を下げられる。
受信回路10bは、判定部2A1〜2Ak,2B1〜2Bk、位相検出部3a、位相調整部4A1〜4Ak,4B1〜4Bk、補正部5b、フィルタ7、補正量決定部11a、制御部12a、テストデータ信号生成部13、セレクタ14を有する。さらに受信回路10bは、多相クロック生成部15を有する。
このような受信回路10bでは、多相クロック生成部15は、図示しないPLL回路などから供給されるリファレンスクロックCLKrefに基づき、位相の異なるk個のクロックを生成する。
位相調整部4A1〜4Akは、それぞれ、補正部5bから供給される補正済位相コードPScodeに基づき、多相クロック生成部15で生成されたk個のクロック信号の位相を調整し、クロックCLKA1〜CLKAkを出力する。
位相調整部4B1〜4Bkは、それぞれ、フィルタ7から供給される位相コードPHcodeに基づき、多相クロック生成部15で生成されたk個のクロック信号の位相を調整し、クロックCLKB1〜CLKBkを出力する。
判定部2A1〜2Akは、それぞれ、対応するクロックCLKA1〜CLKAkに同期して、入力データ信号Dinまたはテストデータ信号Dtの振幅レベルを判定する。そして、判定部2A1〜2Akは、各判定結果Dn1〜Dnkを出力する。
判定部2B1〜2Bkは、それぞれ、対応するクロックCLKB1〜CLKBkに同期して、入力データ信号Dinまたはテストデータ信号Dtの振幅レベルを判定する。そして、判定部2B1〜2Bkは、判定結果En1〜Enkを出力する。
位相検出部3aは、判定結果Dn1〜Dnk,En1〜Enkに基づき、入力データ信号Dinまたはテストデータ信号Dtの位相と、クロックCLKB1〜CLKBkの位相の関係を示す位相情報を生成する。
補正量決定部11aは、第2の実施の形態の受信回路10の補正量決定部11と同様の機能を有するが、制御部12からの選択信号TEST_SEL,STATE_SEL、目標値GOALのほか、クロック選択信号CLK_SELに基づき動作する。補正量決定部11aの回路例及び動作例については後述する。
制御部12aは、補正量決定部11aがスキューの補正量を決定するときに用いる選択信号TEST_SEL,STATE_SEL、目標値GOALのほか、スキューの補正量を決定するクロックを選択するためのクロック選択信号CLK_SELを生成して出力する。
(位相検出部3a及び補正量決定部11の一例)
図20は、位相検出部及び補正量決定部の一例を示す図である。
なお、図5に示した位相検出部3及び補正量決定部11と同様の要素については同一符号を付し、その説明を省略する。
図20は、位相検出部及び補正量決定部の一例を示す図である。
なお、図5に示した位相検出部3及び補正量決定部11と同様の要素については同一符号を付し、その説明を省略する。
位相検出部3aは、k個のFF30A1〜30Ak、演算回路31aを有する。
FF30A1〜30Akは、判定部2A1〜2Akでの判定結果Dn1〜Dnkを、対応するクロックCLKA1〜CLKAkに同期して保持し、1ビット分遅延させて出力する。
FF30A1〜30Akは、判定部2A1〜2Akでの判定結果Dn1〜Dnkを、対応するクロックCLKA1〜CLKAkに同期して保持し、1ビット分遅延させて出力する。
演算回路31aは、判定結果Dn1〜Dnkと、FF30A1〜30Akの出力及び、判定部2B1〜2Bkでの判定結果En1〜Enkに基づき、前述した真理値表を実現する演算を行う。そして、演算回路31aは、各クロックCLKA1〜CLKAk(及びクロックCLKB1〜CLKBk)対応した位相情報として信号U,D,S,Nを出力する。
補正量決定部11aは、カウンタ32、比較回路33、カウンタ34a,34b,34c,34d、セレクタ35、比較回路36、レジスタ37、セレクタ38,39、加算器40、k個のレジスタ411〜41kを有する。さらに、補正量決定部11aは、加算器42、セレクタ43a,43b,43c,43d,44,45を有する。
セレクタ43a〜43dは、クロック選択信号CLK#SELに基づき、クロックCLKA1〜CLKAkの何れかに対応する信号U〜Nを選択し、それぞれ、カウンタ34a〜34dに出力する。
セレクタ44は、クロック選択信号CLK#SELに基づき、クロックCLKA1〜CLKAkのうち、前述の補正量を求めるものを選択し、出力する。
セレクタ45は、クロック選択信号CLK#SELに基づき、クロックCLKA1〜CLKAkのそれぞれに対応する補正量を格納するレジスタ411〜41kの何れかに、比較回路36から供給されるリセット信号を出力する。
セレクタ45は、クロック選択信号CLK#SELに基づき、クロックCLKA1〜CLKAkのそれぞれに対応する補正量を格納するレジスタ411〜41kの何れかに、比較回路36から供給されるリセット信号を出力する。
上記のような構成により、k個のクロックCLKA1〜CLKAkに、それぞれ独立したシフトコードSDcode(補正量)を設定することができる。
その他の動作については、第2の実施の形態による受信回路10と同様であり、第2の実施の形態による受信回路10と同様の効果が得られる。
その他の動作については、第2の実施の形態による受信回路10と同様であり、第2の実施の形態による受信回路10と同様の効果が得られる。
以上、実施の形態に基づき、本発明の受信回路の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
1 受信回路
2A,2B 判定部
3 位相検出部
4A,4B 位相調整部
5 補正部
6 補正量決定部
7 フィルタ
A スキュー
B 矢印
CLKA,CLKB クロック
CLKref リファレンスクロック
Din 入力データ信号
En,Dn 判定結果
U,D,S,N 信号
SDcode シフトコード
PHcode 位相コード
PScode 補正済位相コード
2A,2B 判定部
3 位相検出部
4A,4B 位相調整部
5 補正部
6 補正量決定部
7 フィルタ
A スキュー
B 矢印
CLKA,CLKB クロック
CLKref リファレンスクロック
Din 入力データ信号
En,Dn 判定結果
U,D,S,N 信号
SDcode シフトコード
PHcode 位相コード
PScode 補正済位相コード
Claims (4)
- 第1のクロックに同期して、入力データ信号の第1の振幅レベルを判定する第1の判定部と、
前記第1のクロックに対して第1の位相差が設定される第2のクロックに同期して、前記入力データ信号の第2の振幅レベルを判定する第2の判定部と、
前記第1の振幅レベル及び前記第2の振幅レベルに基づき、前記入力データ信号と前記第2のクロックの位相の関係を検出する位相検出部と、
前記位相検出部での検出結果に基づき、前記第1のクロックの位相を調整する第1の位相調整部と、
前記検出結果に基づき、前記第2のクロックの位相を前記入力データ信号の振幅レベルの遷移点に追従するように調整する第2の位相調整部と、
前記第1の判定部及び前記第2の判定部に達する前記第1のクロックと前記第2のクロックとの間に生じるスキューを補正する補正部と、
前記第1の位相差をゼロにしたときの前記検出結果に基づき、前記スキューに対応する前記補正部での補正量を決定する補正量決定部と、
を有することを特徴とする受信回路。 - 前記位相検出部は、複数の前記位相の関係を示す複数の状態を検出し、
前記補正量決定部は、前記複数の状態のうち第1の状態を選択し、前記第1の状態の出現率が、前記スキューがないときの前記第1の状態の出現率に近づくように前記補正量を調整する、ことを特徴とする請求項1に記載の受信回路。 - 前記補正量を決定する際、前記入力データ信号の代わりに、前記受信回路で生成されるテストデータ信号を選択して、前記第1の判定部及び前記第2の判定部に供給する選択部、をさらに有することを特徴とする請求項2に記載の受信回路。
- 前記スキューがないときの前記第1の状態の出現率として、前記テストデータ信号のデータパターンに応じて異なる値が設定される、ことを特徴とする請求項3に記載の受信回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014096659A JP2015216439A (ja) | 2014-05-08 | 2014-05-08 | 受信回路 |
US14/687,094 US9369268B2 (en) | 2014-05-08 | 2015-04-15 | Reception circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014096659A JP2015216439A (ja) | 2014-05-08 | 2014-05-08 | 受信回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015216439A true JP2015216439A (ja) | 2015-12-03 |
Family
ID=54368771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014096659A Ceased JP2015216439A (ja) | 2014-05-08 | 2014-05-08 | 受信回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9369268B2 (ja) |
JP (1) | JP2015216439A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6839354B2 (ja) * | 2017-02-03 | 2021-03-10 | 富士通株式会社 | Cdr回路及び受信回路 |
US11314277B1 (en) * | 2019-08-05 | 2022-04-26 | Xilinx, Inc. | Serial lane-to-lane skew reduction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004064735A (ja) * | 2002-05-21 | 2004-02-26 | Hynix Semiconductor Inc | デューティサイクルの修正が可能なデジタルdll装置及びデューティサイクルの修正方法 |
JP2008067400A (ja) * | 2007-10-09 | 2008-03-21 | Fujitsu Ltd | 信号伝送システム |
JP2008228083A (ja) * | 2007-03-14 | 2008-09-25 | Toshiba Corp | 半導体集積回路 |
JP2012114518A (ja) * | 2010-11-19 | 2012-06-14 | Fujitsu Ltd | 受信回路、送信回路、通信システム、及び通信システムの送信設定方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0758171A3 (en) * | 1995-08-09 | 1997-11-26 | Symbios Logic Inc. | Data sampling and recovery |
JP3558599B2 (ja) | 2001-02-02 | 2004-08-25 | 日本電気株式会社 | データ伝送システム及びデータ伝送方法 |
US8385476B2 (en) * | 2001-04-25 | 2013-02-26 | Texas Instruments Incorporated | Digital phase locked loop |
JP3921411B2 (ja) | 2002-04-19 | 2007-05-30 | Necエンジニアリング株式会社 | リタイミング回路 |
EP2241050B1 (en) * | 2008-02-01 | 2018-08-08 | Rambus Inc. | Receiver with enhanced clock and data recovery |
TWI419472B (zh) * | 2010-11-16 | 2013-12-11 | Mstar Semiconductor Inc | 鎖相迴路 |
-
2014
- 2014-05-08 JP JP2014096659A patent/JP2015216439A/ja not_active Ceased
-
2015
- 2015-04-15 US US14/687,094 patent/US9369268B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004064735A (ja) * | 2002-05-21 | 2004-02-26 | Hynix Semiconductor Inc | デューティサイクルの修正が可能なデジタルdll装置及びデューティサイクルの修正方法 |
JP2008228083A (ja) * | 2007-03-14 | 2008-09-25 | Toshiba Corp | 半導体集積回路 |
JP2008067400A (ja) * | 2007-10-09 | 2008-03-21 | Fujitsu Ltd | 信号伝送システム |
JP2012114518A (ja) * | 2010-11-19 | 2012-06-14 | Fujitsu Ltd | 受信回路、送信回路、通信システム、及び通信システムの送信設定方法 |
Also Published As
Publication number | Publication date |
---|---|
US9369268B2 (en) | 2016-06-14 |
US20150326385A1 (en) | 2015-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102599904B1 (ko) | 다상 클록 듀티 사이클 및 스큐 측정 및 보정 | |
US9379921B2 (en) | Method for performing data sampling control in an electronic device, and associated apparatus | |
US9520883B2 (en) | Frequency detection circuit and reception circuit | |
JP6032081B2 (ja) | 受信回路、及び半導体集積回路 | |
US9077593B2 (en) | Receiver circuit and method for controlling receiver circuit | |
CN112868181B (zh) | 低延迟组合式时钟数据恢复逻辑网络及电荷泵电路 | |
US8698528B2 (en) | CDR circuit, reception circuit, and electronic device | |
US8674736B2 (en) | Clock synchronization circuit | |
KR20160074969A (ko) | 지연 고정 루프 회로 | |
KR102002462B1 (ko) | 지연 고정 루프 회로 및 그 지연 고정 방법 | |
US8594263B2 (en) | Sampling clock selection module of serial data stream | |
US20110158366A1 (en) | Clock Recovery Apparatus | |
JP2015216439A (ja) | 受信回路 | |
US9654114B2 (en) | Transmission circuit, integrated circuit, and parallel-to-serial conversion method | |
US20070230646A1 (en) | Phase recovery from forward clock | |
US9548855B2 (en) | Method and apparatus for managing estimation and calibration of non-ideality of a phase interpolator (PI)-based clock and data recovery (CDR) circuit | |
US7312667B2 (en) | Statically controlled clock source generator for VCDL clock phase trimming | |
US9721627B2 (en) | Method and apparatus for aligning signals | |
JP2017028491A (ja) | 受信回路 | |
JP6631117B2 (ja) | 半導体装置、デマルチプレクサ、半導体回路、データ処理方法及び検査方法 | |
US8139697B2 (en) | Sampling method and data recovery circuit using the same | |
US9088465B2 (en) | Receiver circuit | |
JP6273697B2 (ja) | 受信回路および受信方法 | |
JPWO2012086017A1 (ja) | データ受信回路、情報処理装置、データ受信プログラムおよびデータ受信方法 | |
CN112714085B (zh) | 判决反馈均衡电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171205 |
|
A045 | Written measure of dismissal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20180424 |