21
XAPP524 (v1.0) 2012 8 7 japan.xilinx.com 1 © Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners. 概要 このアプリケーション ノ ー ト では、 7 シリーズ FPGA が備える専用の SelectIO™ テクノロジ デシ リ ア ラ イ ザー コンポーネン ト (ISERDESE2 プリミティブ) を使用し、 シ リ アル LVDS (低電力差動信号) 力を用いてアナログ デジタル コンバーター (ADC) と接続する方法を説明します。 リファレンス デザインは、高速シ リ アル LVDS 出力を備えた ADC Kintex™-7 FPGA を接続する基 本の LVDS インターフェイスとなっています。 はじめに 最近の高速 ADC は、 1214、 または 16 ビ ッ ト の分解能を提供し、 通常はシングル パッ ケージ内に複 数個のコンバーターが含まれています。パッケージ内の各コンバーターはスタンドアロン モー ド で使用 できますが、 複数のコンバーターを組み合わせてインターリーブ モー ド で使用す る こ と で、 変換 (サン プル) 速度 2 倍または 4 倍にできます。 スタンドアロン モードとインターリーブ モードのいずれの場合でも、 インターフェイス先のデバイス への接続 と し て、 物理的シ リ アル出力を 1 つまたは 2 つ使用で き ます。 1 組の差動出力はデータ レーン と呼ばれています。 1 データ レーンを使用するという こ とは、コンバーターが 1 ワイヤ モードで使用さ れ、 2 データ レーンでは 2 ワイヤ モードで使用される こ と を意味し ます。すべてのデータ出力の組み合 わせには、常に高速ビ ッ ト クロックとサンプル レート フレーム ク ロ ッ ク がそれぞれ 1 つずつあ り ます。 1 ワイヤ モードは、SDR および DDR コンフィギュレーション モードで使用されますが、2 ワイヤ モー ドは DDR モー ド のみです。 1 ワイヤ モードでは内部接続数を抑える こ とが可能で、 通常はパッケージ内の各コンバーターに対して 1 データ レーンを使用します。 また、 このモードでは 1 つのコンバーターのデータを出力したり、 また はインターリーブ方式で 2 つのコンバーターのデータを出力できます。 1 ワイヤ モードでの 2 つのコンバーターの例 一方のコンバーターはビッ ト クロックの立ち上がりエッジでデータを出力し、もう一方はクロック の立ち下がりエッジでデータを出力する。 ビット クロック レートが 2 倍になるため、 これはあま り使用されない。 2 ワイヤ モードでは、 ADC と インターフェイス先のデバイス間の接続数が 2 倍にな り ますが、 ビ ッ ト クロックを 2 分周するこ とで大きな利点を得るこ とができます。 シングル コンバーターの場合、 ビッ ト ク ロ ッ ク の周波数を変更せずにサンプル クロックを 2 倍にした り、ビット クロックを 2 分周してサンプル クロック レート をそのまま保持できます。 どちらの場合で も、 データは 2 つのデータ レーンでインターリーブ方式で出力されます。 FPGA SelectIO テクノロジによるデシリアライザー コンポーネン トは、 ISERDESE2 プリミティブ と して構成されます。 2 つの ISERDESE2 SDR モードで使用して、 DDR 信号をキャプチャします。 一方の ISERDESE2 は、 ビ ッ ト クロック (CLK) の立ち上が り エ ッ ジで、 も う 一方の ISERDESE2 は立 ち下がりエッジでクロックされます。この方法では、各 ISERDESE2 8 ビッ トをキャプチャできるた め、 最大 16 ビッ ト をキャプチャ可能です。 アプリケーション ノート : 7 シリーズ FPGA XAPP524 (v1.0) 2012 8 7 シリアル LVDS 高速 ADC インターフェイス 著者 : Marc Defossez

ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 1

© Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

概要 このアプリ ケーシ ョ ン ノートでは、7 シ リーズ FPGA が備える専用の SelectIO™ テク ノ ロジ デシ リア

ライザー コンポーネン ト (ISERDESE2 プリ ミ ティブ) を使用し、 シ リ アル LVDS (低電力差動信号) 出力を用いてアナログ デジタル コンバーター (ADC) と接続する方法を説明します。

リ ファレンス デザインは、高速シ リ アル LVDS 出力を備えた ADC へ Kintex™-7 FPGA を接続する基

本の LVDS インターフェイス となっています。

はじめに 近の高速 ADC は、 12、 14、 または 16 ビッ トの分解能を提供し、 通常はシングル パッケージ内に複

数個のコンバーターが含まれています。パッケージ内の各コンバーターはスタンドアロン モードで使用

できますが、 複数のコンバーターを組み合わせてインターリーブ モードで使用するこ とで、 変換 (サン

プル) 速度 2 倍または 4 倍にできます。

スタンドアロン モード と インターリーブ モードのいずれの場合でも、 インターフェイス先のデバイス

への接続と して、物理的シ リ アル出力を 1 つまたは 2 つ使用できます。 1 組の差動出力はデータ レーン

と呼ばれています。1 データ レーンを使用する という こ とは、コンバーターが 1 ワイヤ モードで使用さ

れ、2 データ レーンでは 2 ワイヤ モードで使用されるこ とを意味します。すべてのデータ出力の組み合

わせには、常に高速ビッ ト ク ロ ッ ク とサンプル レート フレーム ク ロ ッ クがそれぞれ 1 つずつあり ます。

1 ワイヤ モードは、SDR および DDR コンフ ィギュレーシ ョ ン モードで使用されますが、2 ワイヤ モー

ドは DDR モードのみです。

1 ワイヤ モードでは内部接続数を抑えるこ とが可能で、通常はパッケージ内の各コンバーターに対して

1 データ レーンを使用します。 また、 このモードでは 1 つのコンバーターのデータを出力したり、 また

はインターリーブ方式で 2 つのコンバーターのデータを出力できます。

1 ワイヤ モードでの 2 つのコンバーターの例

• 一方のコンバーターはビッ ト ク ロ ッ クの立ち上がりエッジでデータを出力し、も う一方はクロ ッ ク

の立ち下がりエッジでデータを出力する。

• ビッ ト ク ロ ッ ク レートが 2 倍になるため、 これはあま り使用されない。

2 ワイヤ モードでは、 ADC と インターフェイス先のデバイス間の接続数が 2 倍になり ますが、 ビッ ト

ク ロ ッ クを 2 分周するこ とで大きな利点を得るこ とができます。

シングル コンバーターの場合、 ビッ ト ク ロ ッ クの周波数を変更せずにサンプル ク ロ ッ クを 2 倍にした

り、 ビッ ト ク ロ ッ クを 2 分周してサンプル ク ロ ッ ク レート をそのまま保持できます。 どちらの場合で

も、 データは 2 つのデータ レーンでインターリーブ方式で出力されます。

FPGA の SelectIO テク ノ ロジによるデシ リ アライザー コンポーネン トは、 ISERDESE2 プリ ミ ティブ

と して構成されます。 2 つの ISERDESE2 を SDR モードで使用して、 DDR 信号をキャプチャします。

一方の ISERDESE2 は、 ビッ ト ク ロ ッ ク (CLK) の立ち上がりエッジで、 も う一方の ISERDESE2 は立

ち下がりエッジでクロ ッ ク されます。 この方法では、各 ISERDESE2 が 8 ビッ ト をキャプチャできるた

め、 大 16 ビッ ト をキャプチャ可能です。

アプリケーシ ョ ン ノート : 7 シリーズ FPGA

XAPP524 (v1.0) 2012 年 8 月 7 日

シリアル LVDS 高速 ADC インターフェイス著者 : Marc Defossez

Page 2: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

FPGA のリソース

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 2

FPGA のリソース 7 シ リーズ FPGA には、 HR (High Range) バンク と HP (High Performance) バンクがあ り ます。 ADCインターフェイスで重要な点は、 ISERDESE2 (図 1) と IDELAYE2 (図 2) コンポーネン トは HR と HPの両バンクで利用できる という こ とです。 HR バンクは 2.5V の LVDS を、 HP バンクは 1.8V の LVDSをサポート します (VCCO レベル)。 これらの HR/HP I/O バンク、 および ISERDESE2/IDELAYE2 コン

ポーネン トに関する詳細は、 『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』 (UG471) を参照

して ください。

ADC LVDS インターフェイス

多くの ADC は、シ リ アライズされた LVDS インターフェイスを使用して、コンポーネン ト パッケージ

内の各 ADC で 1 つまたは 2 つの LVDS チャネルを介して FPGA へデジタル データを送り ます。 図 3に、 アナログ入力信号、 入力ク ロ ッ ク、 ビッ ト ク ロ ッ ク、 およびフレーム ク ロ ッ クを示します。 レイ

テンシ期間の終了後、アナログ信号の Sample N がデジタル形式に変換されて ADC 出力に現れます。 アナログ信号は、12 ビッ トの ADC 分解能でデジタル、シ リ アル データ ス ト リームに変換され、高速ビッ

ト ク ロ ッ クおよび同期 (フレーム) ク ロ ッ ク と共に現れます。

X-Ref Target - Figure 1

図 1 : ISERDESE2

X-Ref Target - Figure 2

図 2 : IDELAYE2

INTERFACE_TYPE : string := "NETWORKING";SERDES_MODE : string := "MASTER";DATA_WIDTH : integer := 8;DATA_RATE : string := "DDR”;OFB_USED : string := "FALSE";IOBDELAY : string := "NONE";NUM_CE : integer := 2;DYN_CLKDIV_INV_EN : string := "FALSE";DYN_CLK_INV_EN : string := "FALSE";INIT_Q1 : bit := '0';INIT_Q2 : bit := '0';INIT_Q3 : bit := '0';INIT_Q4 : bit := '0';SRVAL_Q1 : bit := '0';SRVAL_Q2 : bit := '0';SRVAL_Q3 : bit := '0';SRVAL_Q4 : bit := '0'ISERDESE2

SHIFTIN1SHIFTIN2OFBDDDLYCE1CE2RSTBITSLIPCLKCLKBCLKDIVCLKDIVPDYNCLKDIVSELDYNCLKSELOCLKOCLKB

OQ1Q2Q3Q4Q5Q6Q7Q8

SHIFTOUT1SHIFTOUT2

X524_01_012912

CINVCTRL_SEL : string := “FALSE”;DELAY_SRC : string := ‘IDATAIN’;HIGH_PERFORMANCE_MODE : string ;= “FALSE’;IDELAY_TYPE : string := ”FIXED”;IDELAY_VALUE : integer := 0;PIPE_SEL : string := “FALSE”;REFCLK_FREQUENCY : real := 200.0;SIGNAL_PATTERN : string := “DATA”

ISERDESE2

DATAINIDATAINCNTVALUEIN [4:0]CEINCLDLDPIPEENREGRSCCINVCTRL

CNTVALUEOUT [4:0]

DATAOUT

X524_02_012912

Page 3: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ADC LVDS インターフェイス

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3

フレーム ク ロ ッ ク (FCLK) は、ADC サンプル ク ロ ッ クがデジタル化されて位相シフ ト された信号です。

FCLK はシ リ アル データ と位相が揃っており、 すべてのサンプル データ ビッ トは、 1 つのフレーム クロ ッ ク周期内に収ま り ます。 高速ビッ ト ク ロ ッ ク (DCLK) は、 データおよび FCLK に対して 90°位相

シフ ト した信号と して現れます。

1 ワイヤ モードの場合、 パッケージ内のコンバーターと同数のデータ チャネルがあ り ます。 2 ワイヤ

モードの場合、 データは各コンバーターで 2 つのデータ チャネルに分かれます。 DCLK の周波数は、

ADC の分解能およびサンプル レートで決ま り ます。 したがって、ADC は、パッケージ内の各コンバー

ターに対して 1 つまたは 2 つのデータ レーンを提供しますが、DCL と FCLK については 1 つずつしか

提供しません。

LVDS I/O の 大速度は、DCLK が FPGA ロジッ ク内または ISERDESE2 内の FF を ト グルできる 大

速度で決ま り ます。 したがって、 1 ワイヤ インターフェイスのシングル チャネル LVDS ADC の 大サ

ンプル速度には制限があ り ます。

式 1 から、 1 ワイヤ DDR モードのシングル ADC のビッ ト ク ロ ッ ク レートが求められます。 たとえ

ば、 16 ビ ッ ト 、 1 ワ イ ヤ モー ド、 150Ms/s デバイ スのビ ッ ト ク ロ ッ ク周波数は、

(16 × 150) / 2 = 1,200 MHz とな り、 2.4Gb/s ビッ ト レー ト に相当します。 物理的に 1 データ レーン

(1 ワイヤ) でこれらのクロ ッ ク レートは、すべての FPGA スピード グレードの LVDS I/O に対して高

すぎます。2 ワイヤ インターフェイス ソ リ ューシ ョ ンでは、各 ADC で 2 つの物理的データ レーン (2ワイヤ) を使用します。 これによ り、データ スループッ ト レートは 2 倍にな り、 ビッ ト ク ロ ッ ク レー

ト を抑える こ とができます。

式 1

シングル データ レーン、16 ビッ ト 、150Ms/s ADC を 2 ワイヤ モード (各 ADC に対して物理的に 2 つのレーンを使用) で使用する と、 ビッ ト ク ロ ッ ク レートは 600MHz になり ます (式 2)。 このよ う な高

速 ADC は、 FPGA へ接続できます。

式 2

X-Ref Target - Figure 3

図 3 : シングル チャネルのコンバーターのセッ トアップ

SampleN

X524_03_032512

InputSignal

InputClock

CLKM

Latency Clocks

Sample N–1 Sample N

D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0D11 D10

TS = 1 ± FS

CLKP

FCLK_M

FCLK_P

DCLK_P

DCLK_M

DX_P

DX_M

BitClock

FrameClock

OutputData

tA

ADC_resolution Sample_rate×2 1 (wire)×

---------------------------------------------------------------------------------- bit_clock (MHz)=

ADC_resolution Sample_rate×2 2 (wire)×

---------------------------------------------------------------------------------- bit_clock (MHz)=

Page 4: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ADC LVDS インターフェイス

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 4

図 4 に、1 ワイヤ インターフェイス モードでの 14 ビッ ト /16 ビッ ト ADC のタイ ミ ング図を示します。

図 5 には、 2 ワイヤ インターフェイス モードでの 14 ビッ ト /16 ビッ ト ADC のタイ ミ ング図を示しま

す。 データは、 LVDS チャネルを介して ADC から転送され、 MSB または LSB 順にビッ ト単位または

バイ ト単位で揃えられます。

1 ワイヤ インターフェイスは、 2 ワイヤ インターフェイスよ り も速度の問題に直面し易くな り ます。 1ワイヤ モードのリ ファレンス デザインでは、 大 16 ビッ トの ADC 分解能をサポート し、 サンプ リ ン

グ レートは 大約 85Ms/s です。2 ワイヤ モードのリ ファレンス デザインがサポートする ADC 分解能

は 1 ワイヤ モード と同じですが、 サンプリ ング レートは 大 160 Ms/s まで対応可能です。

リ ファレンス デザインは、 柔軟性に優れた完全なモジュール デザイン手法を取り入れているため、 周

波数、 分解能、 またはチャネル数、 あるいはこれらをすべて変更できます。

注記 : ADC の設定は、SPI から制御およびプログラムできます。このアプリ ケーシ ョ ン ノートでは SPIについて説明していませんが、 リ ファレンス デザインには SPI リ ンク経由で ADC をプログラムできる

よ うに、 UART-USB リ ンクを介して FPGA を PC へ接続するサンプル デザインが含まれています。

X-Ref Target - Figure 4

図 4 : 1 ワイヤ モードでの 14 ビッ ト /16 ビッ ト ADC - 4x ビッ ト クロック出力の波形

Sample N

Data bit in MSB first mode

Data bit in LSB first mode

Input ClockCLKP

Frame ClockFCLKP at 1X

Bit Clock8X DCLKP16X

SerialFactor Output Data

DX_P, DX_MD12(D3)

D11(D4)

D10(D5)

D9(D6)

D8(D7)

D7(D8)

D6(D9)

D5(D10)

D4(D11)

D3(D12)

D2(D13)

D1(0)

D0(0)

0(D0)

0(D1)

D13(D2)

D13(D2)

0(D1)

0(D0)

SampleN+1

X524_04_032512

X-Ref Target - Figure 5

図 5 : 2 ワイヤ モードでの 14 ビッ ト /16 ビッ ト ADC - 4x ビッ ト クロック出力の波形

X524_05_032512

FCLK

DCLK

Dx0P, Dx0MBytewise

Mode

BitwiseMode

Dx1P, Dx1M

Dx0P, Dx0M

Dx1P, Dx1MD3

(D14)D9

(D14)D5

(D13)D7

(D12)D9

(D11)D11

(D10)D13(D9)

D8(0)

D1(0)

0(D8)

0(D8)

D14(D9)

D1(D6)

D1(D6)

D2(D5)

D3(D4)

D4(D3)

D5(D2)

D6(D1)

D0(D7)

D0(D7)

D7(D0)

D7(D0)

D6(D1)

D9(0)

D9(0)

D10(D13)

D11(D12)

D12(D11)

D13(D10)

0(D9)

D8(0)

D8(0)

D0(D8)

0(D8)

D0(D9)

D2(D12)

D2(D12)

D4(D10)

D6(D8)

D8(D6)

D10(D4)

D12(D2)

D0(0)

D0(0)

0(D0)

0(D0)

D12(D2)

Page 5: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 5

ビッ ト クロック ビッ ト ク ロ ッ ク レートは、式 1 から求められます。 16 ビッ ト、 200 Ms/s の 1 ワイヤ ADC モードの場

合、 DDR ビッ ト ク ロ ッ ク レートは 1,600MHz です。

注記 : 式 1 を用いて Adc_resolution および Bit_Clock からサンプル レート を計算する場合、 ADC が 2ワイヤ モードのと きは Wire_Interface を 2 に、 1 ワイヤ モードのと きは 1 に設定して ください。

1 ワイヤの ADC ビッ ト ク ロ ッ ク レートは、7 シ リーズ FPGA の CC (ク ロ ッ ク兼用) 入力ピンおよびこ

のデザインで使用される リージ ョナル ク ロ ッ ク ツ リーには速すぎます。 したがって、 ADC は 2 ワイヤ

モードで使用します。 2 ワイヤ モードの場合、 ADC のデータは各コンバーターで 2 つの LVDS チャネ

ルに分かれます。 つま り、 ビッ ト ク ロ ッ クが 2 分周されます。 たとえば、 2 ワイヤ ADC モードでコン

バーターが 16 ビッ ト 、 200Ms/s の場合、 ビッ ト ク ロ ッ ク レートは 800MHz とな り ます。

表 1 に、 インターフェイスのワイヤ数、 ADC 分解能別のビッ ト ク ロ ッ ク、およびサンプル ク ロ ッ クの

パラ メーター別の関係を例と して示します。 式 1 を使用する と、 既知のパラ メーター値から値を簡単に

計算できます。

ADC から提供されるビッ ト ク ロ ッ クは、 データ信号およびフレーム信号に対して 90° 位相がずれてい

ます。

パッケージ パッ ドから各 ISERDESE2 の D 入力までの遅延はすべての信号で同じになるため、 設計者

は PCB レイアウ ト を適切に設計して、 FPGA へ到達するまで常にこの位相関係を保つよ うにします。

FPGA グ リ ッ ド内では配線やクロ ッ ク バッファーの遅延があるため、データ信号およびフレーム信号を

キャプチャできるよ うに DCLK の位置を調整する必要があ り ます (図 6)。

表 1 : ADC パラメーターの関係

分解能 (ビッ ト )

サンプル レート (MHz)

インター

フェイスの

種類

ビッ ト クロック

(MHz)コ メン ト

1280 1 ワイヤ 480 可

125 2 ワイヤ 375 可

14125 1 ワイヤ 875 不可 (2 ワイヤ モードが必要)

150 2 ワイヤ 525 可

16125 2 ワイヤ 500 可

200 2 ワイヤ 800 可 ( 速のスピード グレードが必要)

注記 : 14 ビッ ト分解能の ADC は、 16 ビッ ト出力モードで動作する場合があ り ます。 このと き、 2 ビッ トのデータ

は、 ダ ミー ビッ ト あるいはオーバー フローを示すために使用されます。 ク ロ ッ ク レートの計算では、 分解能パラ

メーターに 16 ビッ ト を使用して ください。

Page 6: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 6

ADC からの DCLK は、 さまざまなモードで使用される IDELAYE2 を介して BUFIO および BUFR の入力へ配線されます (図 6)。 DCLK は BitClk_MonClk (位相が揃え られた DCLK) にな り、

BitClk_RefClk は再構築されたフレーム ク ロ ッ ク (FCLK) になり ます。 また、 DCLK は、 IDELAYE2と同じ I/O タイルにある ISERDESE2 の D 入力へもデータ と して適用されます。

BitClk_MonClk と BitClk_RefClk は、 インターフェイスで使用されるすべての ISERDESE2 コンポー

ネン トの CLK および CLKDIV 入力へ配線され、また DCLK を使用する ISERDESE2 へデータ入力と

して配線されます。

基本的に、DCLK はその遅延バージ ョ ンをクロ ッ ク と して使用する ISERDESE2 で、それ自体をレジス

タします。 これによって、 設計者は DCLK の立ち上がりおよび立ち下がりエッジの位置を特定できる

ため、ビッ ト ク ロ ッ ク位相アライ メン ト ステート マシンを用いて、DCLK ク ロ ッ ク サイクルのどこに

でも ISERESE2 の CLK および CLKDIV 入力クロ ッ クを位置させるこ とができます。

BitClk_MonClkOut および BitClk_RefClkOut は、 高い階層レベルで ISERDESE2 すべての CLK およ

び CLKDIV 入力と接続してお り、 またビ ッ ト ク ロ ッ ク ア ラ イ メ ン ト 階層レベルの CLK および

CLKDIV 入力へも接続しています。このレベルの CLK 入力および CLKDIV 入力は、BitClk_MonClkInおよび BitClk_RefClkIn です。

注記 : この資料内の BitClk_MonClk および BitClk_RefClk は、 BitClk_MonClkOut から

BitClk_MonClkIn 間、および BitClk_RefClkOut から BitClk_RefClkIn 間の接続をそれぞれ示していま

す。

ビッ ト ク ロ ッ ク位相アライ メン ト ステート マシンは、 ISERDESE2 の出力およびデシ リ アライズされ

パラレルで取得されたクロ ッ ク ビッ ト をモニタ リ ングします。 取得したすべてのビッ トが同じ (すべて

0 またはすべて 1) 場合、 ステート マシンは IDELAY2 をインク リ メン ト /デク リ メン ト して内部クロ ッ

ク と外部ク ロ ッ クの位相を揃えます。 遅延タ ップ数をインク リ メ ン ト またはデク リ メ ン トする こ とで、

ISERDESE2 の CLK に対する遅延が増減します。

X-Ref Target - Figure 6

図 6 : ビッ ト クロックのアライメン ト セッ トアップ

IBUFDSIDATAIN

D

CLKCLKDIV

BitClk_MonClkOutIntBitClk

BitClk

Master-SlaveSDR8-bit

BitClk_RefClkOut

Q7 Q8

Q6

CLKDONE

Q5Q4Q3Q2Q1

DATAOUT

RST INC CE C

BitClk_MonClkInBitClk_RefClkIn

BitClk_MonClkOutBitClk_RefClkOut

BitClk_MonClkInBitClk_RefClkIn

X524_06_060412

IDELAYE2

ISERDESE2

ISERDESE2

IBUFIO

BUFR

Bit ClockPhase Alignment

StateMachine

ClockCapable I/O

SIGNAL_PATTERN = CLOCK

DCLK

Page 7: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 7

ステート マシン動作の制御

ビッ ト ク ロ ッ ク アラ イ メ ン ト ステート マシンは、 CLKDIV (BitClk_RefClk) の立ち上がりエッジで

動作し、 プ リ セッ ト されたタ ップ 16 の IDELAYE2 遅延から開始します。 7 シ リ ーズ FPGA では、

IDELAYCTRL コンポーネン トへ適用する基準周波数が 200MHz (±10 MHz) の場合、 IDELAYE2 遅延ラインは 78ps 単位で 大 32 タ ップの遅延が可能です。 基準周波数が 300MHz (±10 MHz) のと き

のタ ップ遅延は 57ps です (300MHz は、 スピード グレードが -2 で 03 コンポーネン ト の場合のみ)。この場合、 各 IDELAYE2 の合計遅延は 2.5ns とな り ます。 MMCME2 および IDELAYCTRL がロ ッ

ク されて準備が整った状態になる と、 ステート マシンは DCLK の位置の検出を開始します。

ステート マシンの動作について説明する前に、 次のこ とを知っておく必要があ り ます。

• DCLK は、 FCLK およびデータ信号に対して 90° 位相がずれています。

• ADC によって、 DCLK はデフォルトで有効なデータ アイの中央に位置します。

• FPGA への入力で、データおよびフレーム信号が ISERDESE2 の D 入力へ配線され、ビッ ト ク ロ ッ

クが BUFIO および BUFR の入力へ配線されます。

• この場合、 DCLK が BUFIO/BUFR を通って ISERDESE2 の CLK および CLKDIV 入力へ配

線される と、 データおよびフレーム信号とは異なるスキューが生じます。

• ク ロ ッ クはデータ有効アイの中央にデフォルトで位置するため、それを変更する必要はあ り ません。

つま り、 DCLK を元の位置に戻すだけで十分です (図 7)。

• DCLK には若干のジッターがあ り ます。 これは高精度のサンプル ク ロ ッ クから派生しているため、

ジッ ターはわずかです。

• 78ps 単位で 32 タ ップの場合、 IDELAYE2 は ~2.5ns (2.496ns) です (IDELAYCTRL の基準クロ ッ

クが 200MHz の場合)。

• つま り、 400MHz でジッ ターのない完璧なクロ ッ クをサンプルできるこ とにな り ますが、実際

にそのよ う なジッ ターのないク ロ ッ クは存在しません。 350ps のジッ ターを考慮した場合、

IDELAYE2 は特別な手法を使用せずに 470MHz のクロ ッ クをサンプル可能です。

• ク ロ ッ クの位置をデータ有効アイの中央に再調整する必要がないため、 2 つのクロ ッ ク エッジの検

出は不要です。

• ビッ ト ク ロ ッ クは、 すでにデータ有効アイの中央に位置しています。

• 内部ビッ ト ク ロ ッ クの位相が揃えられる外部ビッ ト ク ロ ッ クのエッジは、 必ずレジスタされる必

要があ り ます。 これは、データをキャプチャする ISERDESE2 の後ろに配置されているマルチプレ

クサーの設定に必要です。

Page 8: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 8

ケース 1

サンプリ ングは、 ジッ ター (ク ロ ッ クの切り替わり ) 領域で行われ、 DCLK の 1/2 周期は ≦ 2.5ns です (図 8 の波形 A)。

すべての位相アライ メン ト周期の開始点で、 ステート マシンは後方へシフ ト し (タ ップ数の減少)、各シ

フ ト ごとに ISERDESE2 の出力を測定して開始地点に戻り ます。

3 タ ップ分後ろへシフ トする と 234ps とな り、 468ps ジッターに相当します。 これは、 安定したクロ ッ

ク レベル ステート を測定するのに十分です。

ク ロ ッ クの 2 つのステートが交差する領域で DCLK がサンプルされる場合、 ジッ ターの影響によって

ISERDESE2 の出力は常に異なり ます。 この際、 BitClk_MonClk はすでに DCLK と位相が揃っていま

す。この BitClk_MonClk ク ロ ッ クの位相が DCLK の立ち上がりエッジまたは立ち上がりエッジのいず

れに揃っているのかを把握しておく こ とが重要です。 デク リ メン ト後、 ISERDESE2 出力がすべて 1 になる と、 BitClk_MonClk の位相は DCLK の立ち下がりエッジに揃っているこ とにな り ます。 反対に、

ISERDESE2 出力がすべて 0 のと きは、 BitClk_MonClk の位相が DCLK の立ち上がりエッジに揃って

いるこ とにな り ます。 BitClk_MonClk ク ロ ッ クの位相が揃う DCLK のエッジは、 マルチプレクサーの

設定に使用されるため、 アプリ ケーシ ョ ンに伝える必要があ り ます。

開始時点の ISERDESE2 の出力がすべて 1 で、 デク リ メ ン ト後の ISERDESE2 の値が安定しない、 ま

たはすべて 0 になった場合、 BitClk_MonClk ク ロ ッ クの位相は DCLK の立ち上がりエッジに揃ってい

ます (図 8 の波形 B)。

開始時点の ISERDESE2 の出力がすべて 0 で、 デク リ メ ン ト後の ISERDESE2 の値が安定しない、 ま

たはすべて 1 になった場合、 BitClk_MonClk ク ロ ッ クの位相は DCLK の立ち下がりエッジに揃ってい

ます (図 8 の波形 C)。

X-Ref Target - Figure 7

図 7 : BUFIO および BUFR を通るクロック スキュー

DCLK

Position whenentering the FPGA

Data signal skewuntil ISERDESE2.D

Data and Frame

Data and Frame

BitClk_MonClk

Clock skew though BUFIOuntil ISERDESE2.CLK

X524_07_012912

BitClk_MonClk = delayed DCLK

Align the risingedge to one ofthe two DCLKedges

Page 9: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 9

図 8 の波形 D は、 図 8 の波形 C の反対です。 初は出力がすべて 1 で安定していますが、 デク リ メン

ト後の出力は不安定、またはすべて 0 になり ます。つま り、DCLK の立ち上がりエッジが検出されます。

開始時の DCLK と BitClk_MonClk は正確には位相が揃っていないため、 IDELAYE2 を元の開始位置

へ戻すこ とはできません。

X-Ref Target - Figure 8

図 8 : サンプル エッジを直接検出 (A、 B、 C、 および D)

DCLK

C)

BitClk_MonClk

X524_08C_030212

Sample on therising edge

Start

16

13

-3 tapsFrom Q[8:1] stable at 0 toQ[8:1] unstable or stable at 1.Falling edge found

1

DCLK

B)

BitClk_MonClk

X524_08B_030212

Start

1613

-3 tapsFrom Q[8:1] unstable toQ[8:1] stable at 1.Falling edge found

Sample on the rising edge1

BitClk_MonClk

DCLK

D)

X524_08D_030212

Sample on the rising edge

Start

1613

-3 tapsFrom Q[8:1] stable at 1 to Q[8:1] unstable or stable at 0.Rising edge found

1

BitClk_MonClk

DCLK

A) Start

16

13X524_08A_030212

-3 tapsFrom Q[8:1] unstable toQ[8:1] stable at 0.Rising edge found

Sample on the rising edge1

Page 10: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

ビッ ト クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 10

ケース 2

DCLK の 1/2 周期は ≦ 2.5ns で、 開始時点で ISERDESE2 の出力は安定しています (すべて 1、 または

すべて 0) (図 9)。

基本的に 「ケース 1」 と同じですが、 後方へシフ ト した場合 (IDELAYE2 の減少)、 ISERDESE2 の出力

に変化がなく、値はすべて 1 またはすべて 0 のまま変わり ません。DCLK は、 ステートが変化する領域

から離れた位置でサンプルされます。

これら 初のステップの後、 ISERDESE2 の出力が不安定になるまで IDELAYE2 のタ ップが増加して

再び安定しますが、 出力は反対になり ます。 つま り、 エッジが検出されたこ とを意味します。

ISERDESE2 の出力がすべて 0 で不安定な領域を過ぎた後にすべて 1 を示した場合、立ち上がりエッジ

が検出されています。 一方、 すべて 1 の出力からすべて 0 の出力になった場合は、 立ち下がりエッジが

検出されたこ とを示します。

ISERDESE2 の出力が不安定な動作を示した 2 つの領域の中間地点にクロ ッ クを位置させます。

BitClk_MonClk ク ロ ッ クがどの DCLK エッジに揃っているかを把握するこ とは、 データを正し くキャ

プチャする上で非常に重要です。 この情報に基づいて、 ISERDESE2 の後に配置されているマルチプレ

クサーを設定します。

ケース 3

DCLK の 1/2 周期は ≦ 2.5ns で、 開始時点で ISERDESE2 の出力は安定しています (すべて 1、 または

すべて 0) (図 10)。

ケース 1 およびケース 2 と同様に、 初のステップで後方へシフ ト しても ク ロ ッ ク エッジは検出され

ず、 IDELAYE2 のタ ップを増加してもエッジはあ り ません。 IDELAYE2 の 後のタ ップ 31 をレジス

タし、 タ ップ 32 以降に進みます。 タ ップ 0 へ戻り、 タ ップ数を増加していきます。

エッジが検出される と、 両クロ ッ クが揃います。 立ち上がり または立ち下がりのいずれのエッジである

かを検出する方法は、 10 ページの 「ケース 2」 と同じです。

X-Ref Target - Figure 9

図 9 : 一方向のサンプル エッジ アライメン ト

BitClk_MonClk

DCLK

X524_08_030212

Sample on the rising edge

Start

16

x113

2

3

4Final point

Page 11: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 11

ケース 4

DCLK の 1/2 周期は 2.5ns よ り もはるかに長く、 安定したレベルでサンプルされています。

開始点から IDELAYE2 の 終地点に到達し、 方向転換してもエッジは検出されません (図 11)。

DCLK の周期は IDELAYE2 のスパンよ り も長いこ とになり ます。

したがって、データ ビッ トの遅延は、 IDELAYE2 のスパンよ り もはるかに長くな り ます。 ユーザーは、

BitClk_MonClk ク ロ ッ クを IDELAYE2 タ ップ 0 へ移動する必要があ り ます。DCLK のステート (すべ

て 1 またはすべて 0) をレジスタします。

注記 : このアプリ ケーシ ョ ン ノートでは高速 ADC を対象と しているため、 長いビッ ト遅延に対応する

低速 ADC については言及していません。

フレーム クロック ADC からの LVDS フレーム ク ロ ッ クは、データ信号と位相が揃う低速動作クロ ッ クです。 このクロ ッ

クは、 既知で一定のパターンを伴うサンプル ク ロ ッ クのデジタル バージ ョ ンです。 パターンには、 イ

ンターフェイスに基づいて異なる数のデータ ビッ ト が含まれます (図 4 および図 5)。 デザインでは、

FPGA 内でキャプチャ されたデータを ト レーニングおよび揃えるためにフレーム ク ロ ッ クが使用され

ます。 図 12 に、 基本的なフレーム検出回路のブロ ッ ク レベル図を示します。

X-Ref Target - Figure 10

図 10 : 方向転換するサンプル エッジ アライメン ト

X-Ref Target - Figure 11

図 11 : 予想されたサンプル エッジ アライメン ト

BitClk_MonClk

DCLK

X524_10_030212

Sample on the rising edge

Start

16

1

3

6 31

0

2

54x

13Final point

BitClk_MonClk

DCLK

X524_11_030212

Sample on the rising edge

Start

16

1

3

5

31

13

0

2

4

Page 12: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 12

2 つの ISERDESE2 コンポーネン トは、 NETWORKING SDR (シングル データ レート ) モードで使用

されます。 各 ISERDESE2 は、 位置調整されたビッ ト ク ロ ッ ク (DCLK) の異なるエッジでクロ ッ ク さ

ます。 ビッ ト ク ロ ッ ク (DCLK) が正し く揃えられる と、 フレーム ク ロ ッ ク パターンの検出が開始され

ます。

2 つの ISERDESE2 の出力は、予想されるフレーム ク ロ ッ ク パターンを示す固定値と比較されます。こ

の固定値が ISERDESE2 の出力と一致しない場合は、 フレーム信号とすべてのデータ信号に対して

Bitslip の動作が開始します。 Bitslip は、 フレーム ク ロ ッ クの ISERDESE2 コンポーネン トの出力と予

想されたフレーム ク ロ ッ クのパターンが一致するまで適用されます。 この出力がプログラムされたパ

ターンと一致する と、 フレーム ク ロ ッ ク とデータの両方に対する Bitslip の動作が停止します。 これで、

FPGA 内のデータおよびフレーム ク ロ ッ ク信号が有効と見なされます。ただし、 これらは常に有効であ

る とは限り ません。

Bitslip 動作が複数回実行された後、 ISERDESE2 の構造上、 出力は前のサイクルで現れた値と同じ値を

示すこ とができるよ うにな り ます。 ト レーニング パターンがデータ内で実行されるよ うな通常のソース

同期デザインでは、 これは問題になり ません。問題となるのは、同期にもかかわらず、追加で Bitslip 動作が必要な場合のみです。

一般的な ADC インターフェイスでは、 ト レーニング パターンを使用せずにフレームの同期化を実行す

るため、同じ値を 2 回出力する ISERDESE2 によって同期化プロセス全体に問題が生じます。予防措置

を講じずに重複する出力が現れた場合、 フレーム キャプチャ回路は実際に同期していないフレーム パターンと同期しているかのよ うに動作します。

この間違ったフレーム同期による結果は、 キャプチャしたデータ内に影響します。 データをキャプチャ

する ISERDESE2 は、 フレームをキャプチャする ISERDESE2 と共にシフ ト されます。 このため、 フ

レームが間違った位置で同期と見なすと、データ値が不正になり ます。 したがって、 フレーム アライ メ

ン ト回路では、 この問題を回避するために重複ニブル検出ステート マシンを採用しています。

X-Ref Target - Figure 12

図 12 : 基本的なフレーム検出回路

RqrdPattern

FrameIn_p

FrameIn_n [15:8]

[7:0]

Register

Register

BitS

lip_p

BitS

lip_n

Captured

Pattern

Sw

apMux

MsbR

egEna

LsbRegE

na

Multiplexer Register

Frame Alignment State Machine

ISERDESE2

ISERDESE2

Register

CLKDIVCLK

X524_12_060712

Page 13: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 13

フレーム パターンのキャプチャ

フレーム ク ロ ッ クは、一定のデータ パターンを繰り返すデータ ス ト リームと してキャプチャされます。

フレーム チャネルとデータ チャネルは位相が揃っているため、 フレーム ク ロ ッ クは ト レーニング パターンと してまたは実際のデータ レーン用の同期レーンと しての使用に適しています。キャプチャした

パターンが既知のパターン (通常は必ずある) と一致するよ うに調整できる場合、受信データは確実に正

しいフォーマッ トにな り ます。

ADC インターフェ イ スが 2 ワ イヤ モードで動作する場合、 フレーム パターンは図 13 (16 ビ ッ ト 、

DDR、 2 ワイヤ) のよ うにな り ます 。キャプチャしたフレーム データを揃えるインターフェイスでは固

定パターンが検出されるため、 データ チャネルでも正しいデータが受信されます。

DDR 入力は、SDR モードに設定された 2 つの ISERDESE2 コンポーネン トでキャプチャされます。開

始時点では、 初にキャプチャされるビッ トは不明です。一方の ISERDESE2 が CLK の立ち上がりエッ

ジで、も う一方の ISERDESE2 が CLK の立ち下がりエッジでデータをキャプチャします。有効な Bitslip動作の実行には、 まず 2 つのコンポーネン トのいずれか一方を対象と します。 2 つの ISERDESE2 コン

ポーネン トでキャプチャされた値が予想フレーム パターンと一致しない場合、も う 1 つの ISERDESE2に Bitslip 動作を適用します。これは、ピンポン型 Bitslip 動作と して考えるこ とができます。キャプチャ

したデータが予想フレーム パターン値と一致する場合は、 Bitslip の動作が停止し、 正しいフレームと

データ値がキャプチャされます。

フレーム キャプチャ ロジッ クは、 データ キャプチャ ロジッ ク と同じ構成です。 つま り、 ISERDESE1の後にレジスタ、 マルチプレクサー、 レジスタ、 そしてワード アセンブル レジスタが配置されて、 ア

プリ ケーシ ョ ンでフレーム パターンがチェッ クできるよ うになっています。このロジッ クは必ずしも必

要ではあ り ません。 必須ロジッ クは、 フレーム ステート マシンのみです。

Bitslip 動作

図 14 に、Bitslip 動作を実行せずにビッ ト をキャプチャする場合を示しています。CLK によって 8 ビッ

トがシ リ アル-パラレル レジスタにキャプチャ される と、 データは CLKDIV でパラレル出力レジスタ

(Q 出力) へ転送されます。 8 ビッ ト をキャプチャするために、 正しいデータが適切なタイ ミ ングでロー

ド されるよ うに CLKDIV の周波数は CLK の 1/4 とな り ます。

図 15 (SDR 動作) に示すデータ キャプチャは、ビッ ト値 7 から開始しています。これらのビッ トは CLKのクロ ッ ク レートでシ リ アル-パラレル レジスタへシフ ト されます。 垂直方向に積み重なったブロ ッ ク

がこのレジスタを表しています。 これらのブロ ッ クでは、 ビッ ト値 7 が 初にシフ ト され、 一番下に配

置されて終わっています。 後にシフ ト されたビッ ト値は D です。

次の CLKDIV の立ち上がりエッジでは、シ リ アル-パラレル レジスタのコンテンツすべてがパラレル出

力ス ト レージ レジスタへシフ ト します。 つま り、 このレジスタには DCBA0987 が含まれるよ うになり

ます。 続けて新しいデータがシ リ アル-パラレル レジスタへシフ ト して、 その後パラレル出力レジスタ

へ転送されます。 このため、 CLKDIV の立ち上がりエッジごとに、 CLK の立ち上がりエッジでシ リ ア

ル-パラレル レジスタへシフ ト した 8 ビッ トが ISERDESE2 出力に現れます。

X-Ref Target - Figure 13

図 13 : フレーム クロックのパターン

X524_13_030212

DCLK

FCLK

Data

Data

0

0

D12

D13

D10

D11

D8

D9

D6

D7

D4

D5

D2

D3

D0

D1

1 1 1 1 0 0 0 0

Page 14: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 14

注記 : 図 14 では、 CLK の立ち上がりエッジが 8 回到達した後、 CLKDIV の立ち上がりエッジで

データがパラレル レジスタへ転送されます。

Bitslip を使用する と、 CLK のク ロ ッ ク レートでシ リ アル-パラレル レジスタにキャプチャされたデー

タが CLK の 1 サイ クル遅れてパラレル レジスタへ転送されます。 その結果、 シ リ アル-パラレル レジ

スタによって 1 ビッ ト余計にレジスタへシフ トするため、反対側の端にある 1 ビッ トが失われます。つ

ま り、 パラレル レジスタにキャプチャされたデータは、 1 ビッ ト シフ ト した状態で現れます。

図 15 は図 14 と同じ動作ですが、 2 番目のバイ トがシ リ アル-パラレル レジスタにキャプチャされる と

きに Bitslip 動作が実行されます。 このため、8 番目のビッ トの受信後ではなく 9 ビッ トの後にパラレル

レジスタへデータが転送されます。パターンは 1 ビッ ト シフ ト した状態で現れます。シ リ アル-パラレル

レジスタの一番下にある 初にシフ ト したビッ トが失われます。

ISERDESE2 出力は同じデータを二度出力する場合があ り ます。 この動作は、 データ ト レーニング パターンで同期化を行う一般的なソース同期インターフェイスには影響を与えません。 ト レーニング パターンへの同期化に遅延が生じます。

一方、ADC インターフェイスは、通常ト レーニング パターンを使用しないため、大きな影響を受けます。

X-Ref Target - Figure 14

図 14 : Bitslip 動作なしのビッ ト キャプチャ

X-Ref Target - Figure 15

図 15 : Bitslip を使用したビッ ト キャプチャ

X524_14_060712

X W T S R P N M L K H G F

...

...XWTSRP

...

...XWTSRP

NMLKHGFE

NMLKHGFE

DCBA0987

DCBA0987

Parallel

Serial-to-P

arallel

E D C B A 0 9 8 7 6

Assume the ISERDESE2 captures 8-bit SDR data

CLK CLKDIV

. . .

X524_15_060712

X W T S R P N M L K H G F

PNMLKHGF

PNMLKHGFE

DCBA0987

DCBA0987

E D C B A 0 9 8 7 6

Assume the ISERDESE2 captures 8 bits of data

Because of the Bitslipoperation, one extra bit is shifted into the serial-to-parallel register (dark gray), and one bit is lost at the other end (black).

The ISERDESE2 outputnow looks like this.

CLK CLKDIV

Page 15: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

フレーム クロック

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 15

ADC インターフェイスは、 フレーム ク ロ ッ ク信号を使用して同期化されます。 同期している間、 その

他すべての信号およびデータ入力はフレーム パターンと共にシフ ト します。 したがって、 フレーム パターンと同期している とフレーム回路が誤って判断した場合、キャプチャしたデータが不正となり ます。

ISERDESE2 の Bitslip 動作は両方のコ ンポーネン ト に対し て同時に実行されないため、 一方の

ISERDESE2 は、 も う一方の ISERDESE2 で Bitslip が実行される前に同じデータを二度出力する可能

性があ り ます。 この場合、 同期化は事実上不可能です。

図 16 にこれらの動作を示します。

• 複数回 Bitslip 動作を実行した後、 ISERDESE2 コンポーネン トの出力は 3 と E とな り、 結果はバ

イ ト AD です。

• 0011_1110 = 1 0 1 0 1 1 0 1

• 次の出力は C と 1 で、 バイ ト 52 とな り ます。

• 「_p」 で示されている ISERDESE2 が Bitslip 要求を受信し、 Bitslip 動作を実行します。 その結果

は 1 と E で A9 となるはずですが、SERDESE2 が C を 2 回出力して、結果のバイ トは F8 (C と E)となっています。 受信したバイ トのニブルは Bitslip 要求を受信すべき と きに受信しなかったため、

CLKDIV の 1 サイクル分遅延し、 結果と して混在したバイ ト となっています。

• 次の CLKDIV エッジでは、 先の Bitslip 動作が ISERDESE2 出力で実行され、 結果は 1 と 1 、 つ

ま り 03 とな り ます。

重複ニブルの検出

先ほど説明した、 ISERDESE2 が同じデータを二度出力して何もなかったかのよ うに動作を継続する と

いった問題を回避するために、 小規模なステート マシンが用意されています。

ISERDESE2 の出力データは複数のレジスタを通って渡されます。

ISERDESE2 の前の出力と現在の出力が 1 つ目のレジスタの前後で比較されます。

ISERDESE2 が同じデ ータを二度出力する場合、 前のデータ と現在のデータは同じです。 この機能は、

デザイン内にあるコンパレータで実行されます。

重複ニブルが検出される と、その他のレジスタからデータの選択が行われて、 レジスタ バンクの出力が

連続したデータ ス ト リームを示します。

X-Ref Target - Figure 16

図 16 : 出力データの重複

X524_16_032612

FrmClkReSync

/IntFrmSrdsOut_Isrds_p

IntfrmSrdsOut_Isrds_n

IntFrmSrdsOut

IntFrmDat

IntFrmDatSwp

FrmClkDat

IntFrmEqu_d

T X

F 00 3 1 E 1 E 1 E 1 EC

8 70 E 1 1 E 1 F 0 F 0E

D5 2A00 AD 52 03 FC 03 1 AB56 54 AB 5F8

AA 7F00 F8 07 52 A9 56 1 FCA9 01 FE 0F8

AA

00AA

00

0000

07 07 F8 52 1 56A9 A9 FC 01 FF8

O

Start of explication

Page 16: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

データ

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 16

このアプリ ケーシ ョ ン ノートに付属する リ ファレンス デザインには、全体の動作を示す MS Excel スプ

レッ ドシートが含まれています。図 17 に、レジスタ バンクがどのよ うに構成されているかを示します。

レジスタ バンクは、 1 つの SRL シフ ト レジスタで構成されています。 このシフ ト レジスタを使用する

こ とで、レジスタ バンクにあるレジスタの 1 つの出力を選択して、それをマルチプレクサーを通して渡

すこ とができます。

これは、 まさに重複ニブル機能に必要な要素です。 SRL はさらに、 デザインをいくつかの CLB に完全

に収めるこ とができます。

データ ADC は、 デジタル化したデータを 1 ワイヤ モードまたは 2 ワイヤ モードで提供します。 1 ワイヤのイ

ンターフェイスでは 1 つの差動 LVDS ペアを用いてデータを FPGA へ送信しますが、 2 ワイヤのイン

ターフェイスでは 1 つのコンバーターに対して 2 つの LVDS チャネルを使用します。

コンバーターは、 1 つまたは 2 つの LVDS データ ペアでデータを伝送する場合、 異なるビッ ト または

バイ ト構成を使用します。データは MSB または LSB から順に、ビッ ト またはバイ ト方向に配列できま

す。 多くの ADC は、 これらのモードを選択して使用するために、 SPI インターフェイスを介して設定

されます。

可能な限り多くの ADC に対応するため、 これらのパラ メーターを利用するよ うにデータ インターフェ

イスを設定するこ と もできます。 基本のデータ インターフェイスは 2 つの LVDS データ入力を備えて

います。 したがって、 2 ワイヤ モードでシングル データ チャネル、 または 1 ワイヤ モードでデュアル

データ チャネルと して設定できます。

基本的なインターフェイスのデータ出力は、 1 ワイヤまたは 2 ワイヤの選択に従います。 1 ワイヤ モー

ドの場合、32 ビッ ト出力バスが 2 つの 16 ビッ ト バスに分割されます。下位の 16 ビッ トがチャネル 0、上位の 16 ビッ トがチャネル 1 とな り ます。 2 ワイヤ モードの場合、 32 ビッ ト出力は上位と下位の 16ビッ ト セグメン トで 1 つのデータを表します。 リ ファレンス デザインでは、 上位 16 ビッ ト (MSB) が使用されています (図 18)。

X-Ref Target - Figure 17

図 17 : 重複ニブル レジスタ バンク

X524_17_032612

addr

IntRegOutOne

IntRegOutOne

DataIn

IntAddr[4:0]

IntAddr[4:0]IntEqu

IntSrlOutDataIn

FrmClkDiv

IntRstln_d

DataOut

SRLC32E

Register

COMPAREState

Machine

Register

5

Page 17: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

データ

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 17

アライ メン トは、フレーム ク ロ ッ クをパターン ト レーニング データ と して使用して行われます。フレー

ム ク ロ ッ クは ADC からのデータ と位相が揃います。 フレーム ク ロ ッ クが受信されてフレーム パター

ンが認識される と き、受信したデータはフレーム信号と共にシフ ト されるため、同様に位相が揃います。

データ反転とビッ ト スワップのマルチプレクサー

注目すべき点

この機能は、デザイン内のフレーム キャプチャ と比較部分で利用でき、キャプチャしたフレーム パター

ンをアプリ ケーシ ョ ンへ示すために使用します。

ADC からの DDR データは、 SDR モードの 2 つの ISERDESE2 で受信されます。 この構成は、 FPGAロジッ ク (IBUFDS_DIFF_OUT) への差動出力と共に差動入力バッファーを使用する場合に可能です。

ISERDESE2 のシ リ アル-パラレル レジスタ内のデータは、 CLK の立ち上がりエッジと立ち下がりエッ

ジでキャプチャされます。

偶数ビッ ト (0、 2、 4、 6、 8、 10、 12、 14) は CLK の立ち上がりエッジでキャプチャされ、 奇数ビッ ト

はこのクロ ッ クの立ち下がりエッジでキャプチャされるこ とを前提と します。

差動入力バッファーの出力では、 p 側に反転しないそのままのビッ ト値が現れ、 n 側に反転したビッ ト

値が現れます。 したがって、 n 側のキャプチャ データは反転しています (図 19)。

インバーターは、 すでに使用されているロジッ クに入れるこ とができます。

X-Ref Target - Figure 18

図 18 : 基本データ インターフェイスのブロック図

Bit and ByteOrdering,

MSB and LSBOrdering, etc.

MSBRegister

Register

ISE

RD

ES

E1

ISE

RD

ES

E1

ISE

RD

ES

E1

ISE

RD

ES

E1

Register Multiplexer

RegisterRegister Multiplexer

DataIn_1_p

DataIn_1_n

DataIn_0_n

DataIn_0_p/n

X524_18_040912

LSBRegister

MSBRegister

LSBRegister

CLKDIVLsbRegEna

MsbRegEnaCLKDIVCLK

SwapMuxBitSlip_n

BitSlip_p

Parameters

[31:24]

[15:0]

[15:0]

DataOut[31:0]

[23:16]

[15:8]

[7:0]

Page 18: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

データ

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 18

偶数ビッ トはクロ ッ クの立ち上がりエッジでキャプチャされ、 奇数ビッ トは立ち下がりエッジでキャプ

チャされるこ とを前提と しますが、これは保証されていません。クロ ッ クの立ち下がりエッジで偶数ビッ

トが p 側の ISERDESE2 へ入力されたり、ク ロ ッ クの立ち上がりエッジで奇数ビッ トがキャプチャされ

る可能性があ り ます。 図 20 に、 このよ う な状況を受けてマルチプレクサーがこれらのビッ ト を並べ替

える様子を示します。

ビッ ト ク ロ ッ ク アライ メン トのステート マシンのエッジ検出レジスタが、 マルチプレクサーの入力選

択を制御します。

X-Ref Target - Figure 19

図 19 : ISERDESE2 出力のインバーター

X524_19_040612

I

Data 1 1 1 0 1 0 0 1

1 1 1 0 1 0 0 1

0 0 0 1 0 1 1 0

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

IBUFDS_DIFF_OUT

IB

O

OB

CLK

O

OB

O = Incoming Data

The dotted bits must be inverted to get 11101001

OB = Inverse of the Incoming Data

Page 19: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

リファレンス デザイン

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 19

リファレンス デザイン

リ ファレンス デザイン ファ イルは、 次のサイ トからダウンロードできます。

https://secure.xilinx.com/webreg/clickthrough.do?cid=189141

表 2 に、 リ ファレンス デザインの詳細を示します。

X-Ref Target - Figure 20

図 20 : キャプチャ データとマルチプレクサー機能

X524_20_040712

Data

ISERDESE2_1CLK

CLKDIV

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q0

Q2

Q4

Q6

Q1

Q3

Q5

Q7

Q1

Q2

Q3

Q4

Q4

Q5

Q6

Q7

Q1

Q3

Q5

Q7

Q1

Q2

Q3

Q4

Q0

Q1

Q2

Q3

Q4

Q5

Q6

Q7

CLK

D

D

CLKDIV

ISERDESE2_2

1 1 1 0 1 0 0 1

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

Multiplexer

When ISERDESE2_1 is clockedon the rising edge, the data

appears as shown in this multiplexer.

When ISERDESE2_1 is clocked on the falling edge, the data appears at the ISERDES.Q bit swapped. A multiplexer

is needed to properlyre-order them.

Multiplexer

表 2 : リファレンス デザインの詳細

パラメーター 説明

全般

開発者 Marc Defossez

ターゲッ ト デバイスKintex-7 FPGA

XC7K325T-2FFG900

ソース コードの提供 あ り

ソース コードの形式 VHDL

使用した IP なし

シミ ュレーシ ョ ン

機能シ ミ ュレーシ ョ ンの実施 あ り

タイ ミ ング シ ミ ュレーシ ョ ンの実施 なし

テス トベンチの形式 VDHL

使用したシ ミ ュレータ ソフ ト ウェア バージ ョ ン ISIM 13.3 またはそれ以降

Page 20: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

リファレンス デザイン

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 20

SPICE/IBIS シ ミ ュレーシ ョ ン なし

インプリ メンテーシ ョ ン

合成ツール/バージ ョ ン XST 13.3 またはそれ以降

インプリ メンテーシ ョ ン ツール/バージ ョ ン ISE® Design Suite 13.3 またはそれ以降

スタティ ッ ク タイ ミ ング解析の実施 あ り

ハードウェア検証

ハードウェア検証の実施 あ り

検証に使用したハード ウェア プラ ッ ト フォーム KC705 ボード

表 3 : デバイス使用率

パラメーター 仕様/詳細

大周波数 (スピード グレードごと )

Kintex-7 FPGA

-1 600MHz

-2 700MHz

-3 700

デバイス使用率 (テス トベンチなし ) 2%

デバイス使用率 (テス トベンチあ り )(オプシ ョ ン)

N/A

QDR II SRAM 動作 なし

バス幅 なし

I/O 規格HP バンク :LVDSHR バンク : LVDS_25

HDL 言語のサポート VHDL

検証用のターゲッ ト メモ リ デバイス なし

表 4 : リファレンス デザインの使用率

スライス ロジックの使用率 使用済み 使用可能

使用されている

リソース数

(%)

FF 数 302 407,600 1%

占有スライスの数 132 50,950 1%

ロジッ ク と して使用されている数 168 356,160 1%

メモ リ と して使用されている数 64 64,000 1%

シフ ト レジスタ と して使用されている数

0

ルート スルーと して使用されている数

36

BUFG/BUFGCTRL 数 0

ISERDESE2 数 12 500 1%

OSERDESE2 数 12 500 1%

IODELAYE2 数 1 720 1%

表 2 : リファレンス デザインの詳細 (続き)

パラメーター 説明

Page 21: ザイリンクス アプリケーション ノート XAPP524 : …...ADC LVDS インターフェイスXAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 3フレーム クロック

改訂履歴

XAPP524 (v1.0) 2012 年 8 月 7 日 japan.xilinx.com 21

改訂履歴 次の表に、 この文書の改訂履歴を示します。

Notice of Disclaimer

The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and useof Xilinx products.To the maximum extent permitted by applicable law:(1) Materials are made available"AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS,EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OFMERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any othertheory of liability) for any loss or damage of any kind or nature related to, arising under, or in connectionwith, the Materials (including your use of the Materials), including for any direct, indirect, special,incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of lossor damage suffered as a result of any action brought by a third party) even if such damage or loss wasreasonably foreseeable or Xilinx had been advised of the possibility of the same.Xilinx assumes noobligation to correct any errors contained in the Materials or to notify you of updates to the Materials orto product specifications.You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent.Certain products are subject to the terms and conditions of the LimitedWarranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject towarranty and support terms contained in a license issued to you by Xilinx.Xilinx products are notdesigned or intended to be fail-safe or for use in any application requiring fail-safe performance; youassume sole risk and liability for use of Xilinx products in CriticalApplications:http://www.xilinx.com/warranty.htm#critapps.

本資料は英語版 (v1.0) を翻訳したもので、 内容に相違が生じる場合には原文を優先します。

資料によっては英語版の更新に対応していないものがあ り ます。

日本語版は参考用と してご使用の上、 新情報につきましては、 必ず 新英語版をご参照ください。

この資料に関するフィードバックおよびリンクなどの問題につきましては、[email protected]までお知らせください。 いただきましたご意見を参考に早急に対応させていただきます。 なお、 このメー

ル アドレスへのお問い合わせは受け付けておりません。 あらかじめご了承ください。

IDELAYCTRL 数 18 18 5%

MMCM_ADV 数 0 10 0%

表 4 : リファレンス デザインの使用率 (続き)

スライス ロジックの使用率 使用済み 使用可能

使用されている

リソース数

(%)

日付 バージョ ン 内容

2012 年 8 月 7 日 1.0 初版リ リース