fpga 7 シリーズ fpga で lvds を使用した 4x in this clock area state machine oserdes...

18
XAPP523 (v1.0) 2012 4 6 japan.xilinx.com 1 © Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, 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. 概要 このアプリケーション ノ ー ト では、 SelectIO™ インターフェイス プリミティブで LVDS を使用して非 同期通信でデータ をキャプチャする方法について説明し ます。 この方法では、 周波数がほぼ同じ ク ロ ッ (±100ppm) を使用してデータをオーバーサンプリ ングします。 このオーバーサンプリ ング手法では、 異なる ク ロ ッ ク位相でデータのサンプ リ ングを行い、最も理想的なポイン ト のデータ サンプルを取得し ます。 7 シリーズ FPGA SelectIO インターフェイスは、 1.25Gb/s 4x の非同期オーバーサンプ リ ングが可 能です。 オーバーサンプ リ ングは、 ISERDESE2 プリ ミティブを使用して実現されます。 クロックは、 コンポーネント間をつなぐ専用の高性能パスを経由してミックスモード クロック マネージャー (MMCME2_ADV) から生成されます。 はじめに 低電圧差動信号 (LVDS) を用いてデバイ ス間の通信を確立する最も一般的な方法は、 ク ロ ッ ク とデータ の同期を と る こ と です。 つ ま り 、 ク ロ ッ ク を あ る 差動チ ャ ネルで送出 し 、 デー タ を 1 つまたは複数の別 の差動ペアで送信し ます。 受信側では、 (同期後の) クロックがデータをキャプチャするために使用され ます。 これをソース同期通信と呼びます。 個別の付随ク ロ ッ ク信号を使用せずにデータ を送信する場合は、 データのキャプチャに用いる ク ロ ッ ク は、 受信側で入力データ ス ト リームから復元されなければな り ません。 これは非同期通信と呼ばれ、 データ / クロック リカバリとしても知られています。ザイリンクスの GT ト ランシーバーはこの原理を 用います。 データ リ カバ リ に よ っ て、 レ シーバーは入力 ク ロ ッ ク /データ ス ト リームからデータを抽出 し、 そのデータを新しいクロック ド メインへ移動させることができます。 リカバリ ク ロ ッ ク は、 前方 へのデータ処理または送信に使用する場合があ り ます。 このアプリケーション ノー ト で説明する回路は、 ク ロ ッ クは実際には復元されませんが入力データは完 全に抽出される部分的なソ リ ューシ ョ ンを提供しています。 1 に、データ リ カバ リ の一般的な使用例 を示します。 アプリケーション ノート : 7 シリーズ FPGA XAPP523 (v1.0) 2012 4 6 7 シリーズ FPGA LVDS を使用した 4x 非同期オーバーサンプ リ ング 著者 : Marc Defossez

Upload: vothuan

Post on 12-May-2018

369 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 1

© Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, 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.

概要 このアプリ ケーシ ョ ン ノートでは、 SelectIO™ インターフェイス プリ ミ ティブで LVDS を使用して非

同期通信でデータをキャプチャする方法について説明します。 この方法では、 周波数がほぼ同じクロ ッ

ク (±100ppm) を使用してデータをオーバーサンプリ ングします。 このオーバーサンプリ ング手法では、

異なるクロ ッ ク位相でデータのサンプリ ングを行い、最も理想的なポイン トのデータ サンプルを取得し

ます。

7 シ リーズ FPGA の SelectIO インターフェイスは、1.25Gb/s で 4x の非同期オーバーサンプリ ングが可

能です。 オーバーサンプ リ ングは、 ISERDESE2 プ リ ミ テ ィブを使用して実現されます。 ク ロ ッ クは、

コ ンポーネン ト 間をつなぐ専用の高性能パスを経由して ミ ッ ク スモード ク ロ ッ ク マネージャー

(MMCME2_ADV) から生成されます。

はじめに 低電圧差動信号 (LVDS) を用いてデバイス間の通信を確立する最も一般的な方法は、 クロ ッ ク とデータ

の同期をと るこ とです。 つま り、 ク ロ ッ クをある差動チャネルで送出し、 データを 1 つまたは複数の別

の差動ペアで送信します。 受信側では、 (同期後の) ク ロ ッ クがデータをキャプチャするために使用され

ます。 これをソース同期通信と呼びます。

個別の付随クロ ッ ク信号を使用せずにデータを送信する場合は、 データのキャプチャに用いるクロ ッ ク

は、 受信側で入力データ ス ト リームから復元されなければな り ません。 これは非同期通信と呼ばれ、

データ /ク ロ ッ ク リ カバリ と しても知られています。 ザイ リ ンクスの GT ト ランシーバーはこの原理を

用います。 データ リ カバリによって、 レシーバーは入力クロ ッ ク /データ ス ト リームからデータを抽出

し、 そのデータを新しいク ロ ッ ク ド メ インへ移動させるこ とができます。 リ カバリ ク ロ ッ クは、 前方

へのデータ処理または送信に使用する場合があ り ます。

このアプリ ケーシ ョ ン ノートで説明する回路は、クロ ッ クは実際には復元されませんが入力データは完

全に抽出される部分的なソ リ ューシ ョ ンを提供しています。図 1 に、データ リ カバリの一般的な使用例

を示します。

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

XAPP523 (v1.0) 2012 年 4 月 6 日

7 シリーズ FPGA で LVDS を使用した 4x 非同期オーバーサンプリング著者 : Marc Defossez

Page 2: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

非同期オーバーサンプリング

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 2

非同期オーバーサンプリング

信号処理でのオーバーサンプリ ングとは、 サンプ リ ングされる信号の 2 倍の帯域幅 (または最大周波数)よ り も著し く高いサンプリ ング周波数を使用して、 信号をサンプリ ングするこ とです。 このアプ リ ケー

シ ョ ン ノートで説明する通信インターフェイスでは、 この非常に高いサンプリ ング周波数を、位相シフ

ト した複数クロ ッ クの異なるエッジを用いて得ています。 サンプリ ング周波数を生成するために使用す

るクロ ッ クの周波数は通常データ ス ト リームと等しいため、この方法は非同期オーバーサンプリ ングと

呼ばれます。

こ こで対象とする回路は、キャプチャされるデータ ス ト リームと同じ標準の周波数で動作するクロ ッ ク

(ローカル オシレーター ) を使用します。 こ こでいう標準とは、 ローカル オシレーターが入力クロ ッ ク /データ ス ト リームと比較して若干高速または低速であるこ とを意味します。

ク ロ ッ ク マネージャー (MMCME2) を使用するこ とで、 一般にローカル ク ロ ッ ク オシレーターで供給

される低速のシステム ク ロ ッ クから位相シフ ト した高速クロ ッ クが生成されます (図 2 参照) 。

X-Ref Target - Figure 1

図 1 : データ リカバリの一般的なアプリケーシ ョ ン

DataCapture

ClockAdjust

MMCM

Data Recovery

Data Recovery

Data Recovery

Data Recovery

CLK

CLK90

System Clock (125 MHz)

1.25 Gb/s Link

1.25 Gb/s Link

X523_01_012012

1.25 Gb/s Link

1.25 Gb/s Link

I/O Bank CMT FPGA Logic

DataCapture

DataCapture

DataCapture

Page 3: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

非同期オーバーサンプリング

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 3

図 2 に示す 2 つの追加クロ ッ ク と ISERDES/OSERDES の組み合わせによって実現する機能について

は、 10 ページの 「ク ロ ッキングとデータ フロー」 で説明します。 生成された CLK および CLK90 クロ ッ クによ り、 入力データ ス ト リームが 4 つのエッジでオーバーサンプ リ ング可能にな り ます。 つま

り、 DDR データ ス ト リームの各ビッ ト を 2 回サンプリ ングできます (図 3 参照)。

入力データ ス ト リームが 2 つに分岐し、一方が 45° 分遅延している場合、各データ ビッ ト を 4x でオー

バーサンプリ ングできます。図 4 に、 この回路が MMCME2、 IODELAYE2、および ISERDESE2 を使

用してどのよ うに構成されるかを示します。

X-Ref Target - Figure 2

図 2 : MMCME2 を使用するクロック生成

X-Ref Target - Figure 3

図 3 : 4 つのクロック エッジでのデータ オーバーサンプリング

MMCM

125 MHz

CLK

CLK90

IntClk

IntClkDiv

BUFIO

BUFIO

Pattern

BUFG

BUFG

To All Clocked FPGALogic in this Clock Area

ISE

RD

ES

To

All

ISE

RD

ES

inO

VE

RS

AM

PLE

Mod

e

To Data RecoveryLogic in this Clock Area

StateMachine

OS

ER

DE

S

X523_02_012512

0 90 180 270

CLK

CLK90

Differentpositions of

the data withrespect to the

clocks.

Two Data Sample Edges Per Bit X523_03_012012

Page 4: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

非同期オーバーサンプリング

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 4

MMCME2 は、 2 つのクロ ッ ク位相 (CLK0 と CLK90) を生成します。 これらは、 2 つのクロ ッ クの立

ち下がり と立ち上がりの両エッジを使用する ISERDESE2 に配線され、 4 つのクロ ッ ク位相が作成され

ます。IBUFDS_DIFFOUT によって入力データのコピーが 2 つ作成されます。分岐したデータの一方は

45° シフ ト し、 も う一方は位相シフ ト しません。 この位相シフ トは、両データを IODELAYE2 に通すこ

とで実現します。 位相シフ ト したデータはスレーブ ISERDESE2 に渡され、 サンプル レート を効果的

に 2 倍にします。

ビッ ト オーバーサンプ リ ング用の 8 つのクロ ッ ク サンプル位相は、 4 つのクロ ッ ク位相と 2 つのデー

タ サンプル位相を組み合わせるこ とで作成されます (図 5 参照)。

X-Ref Target - Figure 4

図 4 : MMCM 位相クロックおよび同調データの生成

X-Ref Target - Figure 5

図 5 : サンプル エッジ

MMCM

CLKINCLK

CLK90

BUFIO

BUFIO

Data Recovery Unit

IBUFDS_DIFF_OUT

IntClkDivBUFG

IntClkBUFG

IDELAY

IDELAY

0 Shift

45 Shift

ISE

RD

ES

ISE

RD

ES

X523_04_012512

0 90 180 270

CLK

CLK90

DATA

DATA

45 deg

DATA

0 45

135

90

X523_05_012012

Page 5: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 5

IDELAY タ ップの設定の計算例

次に、 IDELAY タ ップを設定するためのタイ ミ ングの仮定および計算の論理的な流れを示します。

1. 入力データ ス ト リームが 1.25Gb/s で動作する と仮定します (つま り ビッ ト時間は 800ps)。

2. CLK および CLK90 ク ロ ッ クは 625MHz (1.6ns) で動作します。

3. 0°、 90°、 180°、 および 270° で到達する両クロ ッ クのエッジは、 それぞれ 0、 400、 800、 1200psに位置します。

4. 45° シフ ト させるには、 分岐した一方のデータを 200ps 分遅延させる必要があ り ます。

5. IDELAY コンポーネン トのタ ップ遅延は、 IDELAYCTRL コンポーネン トによって制御されます。

このデザインの IDELAYCTRL コンポーネン トは 310MHz でクロ ッ ク されるため、 シングル タ ッ

プ遅延は 52ps とな り ます (詳細は、 データシート DS182 『Kintex-7 FPGA データシート : DC 特性およびスイ ッチ特性』 の入力/出力遅延のスイ ッチ特性を記載している表の注記 1 を参照)。

6. 45° 位相シフ トに必要な 200ps 遅延を各タ ップの 52ps で割る と、3.8 または 4 タ ップとなるこ とが

わかり ます。

以上から、 最初の IDELAY の IDELAY_VALUE を 0 に、 2 つ目の (ス レーブ) IDELAY の

IDELAY_VALUE を 4 に設定する必要があ り ます。

7 シリーズ ISERDESE2 オーバーサンプリング モード

7 シ リーズ FPGA の ISERDESE2 コンポーネン トは、 以前の FPGA ファ ミ リの類似するコンポーネン

ト (Virtex-5 FPGA では ISERDES、 Virtex-6 FPGA では ISERDESE1) を改善し た ものです。

ISERDESE2 コンポーネン トは次に示す 4 つの機能をインプ リ メン ト (つま り、 コンフ ィギュレーシ ョ

ン) できます。

• 最も基本的な機能である、 IDDR フ リ ップフロ ップ機能

• さ らに複雑な機能 と し て、 高速な ソース同期アプ リ ケーシ ョ ンのイ ンプ リ メ ンテーシ ョ ン

(NETWORKING モード ) を容易にするために設計された、 固有のクロ ッキングと ロジッ ク機能を

備えたシ リ アル-パラレル コンバーター

• ISERDES が QDR、 DDR3 などの異なる メモ リ タイプに対応する専用のインターフェイス と して

コンフ ィギュレーシ ョ ンされる MEMORY モード

• ISERDESE2 を OVERSAMPLING モードで使用できる機能。 ISERDESE2 は DDR データの 2 つの位相をキャプチャする場合に使用します。つま り、 このモードの ISERDESE2 は IDDR フ リ ップ

フロ ップを 2 つ組み合わせたものと して使用されます。

ISERDESE2 の機能の詳細は、『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』 (UG471) を参照

して ください。

図 6 にオーバーサンプ リ ング モードの ISERDESE2 を示します。 これまでのインプ リ メ ンテーシ ョ ン

では、オーバーサンプリ ング デザインは SLICE フ リ ップフロ ップを使用して FPGA ロジッ クにインプ

リ メン ト されていました。7 シ リーズ FPGA では、この機能は ISERDESE2 にインプリ メン ト されます。

Page 6: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 6

データ リカバリ ユニッ ト

ネッ ト ワーキング モードの ISERDESE2 には、 シ リ アル データ ス ト リームをキャプチャするために高

速サンプリ ング ク ロ ッ ク (CLK) が必要です。 また、 キャプチャしたデータを ISERDESE2 からパラレ

ルで出力するために、 低速 CLK (CLKDIV) 機能も必要です。 CLK レベルから CLKDIV レベルへの変

換は ISERDESE2 の内部回路によって確実に CDC (Clock-Domain Crossing) 回路と して機能します。

オーバーサンプ リ ング モードの ISERDESE2 コンポーネン ト の出力は、 高速サンプ リ ング ク ロ ッ ク

(CLK/CLKB お よ び OCLK/OCLKB) か ら 生 成 さ れ ま す。 こ れ ら の ク ロ ッ ク は、

ISERDESE2/OSERDESE2 のクロ ッキングにのみ使用できます。

CDC 動作は、 FPGA ロジッ クのレジスタにインプ リ メ ン トする必要があ り ます。 この方法の詳細は、

10 ページの 「ク ロ ッキングとデータ フロー」 で説明します。 CDC レジスタ と一部の比較ロジッ クは、

データ リ カバリ ユニッ ト (DRU) にインプ リ メ ン ト され、 CLK 入力によってク ロ ッ ク されます。 低速

クロ ッ ク (CLKP または CLKDIV) が残りの DRU にクロ ッ クを供給します。

図 7 は、 FPGA に入力されるデータ ス ト リームを基準にしたサンプル ポイン ト と比較ポイン トの位置

を示したものです。 データ ス ト リームは 2 つあり、 片方は 200ps (4 IDELAY タ ップ) の位相遅れがあ

り ます。 このアプリ ケーシ ョ ンでは、 入力データ ス ト リームの速度は 1.25Gb/s です。 下側のデータ スト リームは、 IBUFDS_DIFFOUT プ リ ミ ティブを使用して上側のデータ ス ト リームを反転したものと

な り、 IBUFDS_DIFF_OUT (差動信号) の入力データ と類似しています。

X-Ref Target - Figure 6

図 6 : OVERSAMPLING モード コンフ ィギュレーシ ョ ンの ISERDESE2

INTERFACE_TYPE : string := “OVERSAMPLE”;SERDES_MODE : string := “MASTER”;DATA_WIDTH : interger := 4;DATA_RATE : string := “DDR”;OFB_USED : string := “FALSE”;IOBDELAY : string := “IFD”;NUM_CE : integer := 1;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’;

DDLY Q1

Q2

Q3

Q4

CLK

CLKB

OCLK

OCLKB

QD

QD

QD

QD

QD

QD

QD

QD

QD

QD

QD

QD

SHIFTIN1SHIFTIN2OFBDDDLYCE1CE2RSTBITSLIPCLKCLKBCLKDIVCLKDIVPDYNCLKDIVSELDYNCLKSELOCLKOCLKB

SHIFTOUT1SHIFTOUT2

OQ1Q2Q3Q4Q5Q6Q7Q8

ISERDESE2

X523_15_021012

Page 7: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 7

データは、 400ps (すなわち 90°) 間隔の 4 つのクロ ッ ク位相 (CLK0、 CLK90、 CLK180、 CLK270) でサンプリ ングされます (3 ページの図 3 参照)。 ク ロ ッ ク とデータ ス ト リームの交差したと ころがサンプ

ル ポイン ト とな り ます。 サンプル ポイン トの命名規則は次のとおりです。

説明

Qx = ISERDESE2 の出力 (Q1、 Q2、 Q3、 Q4)

Mx または Sx = データ出力 (Qx) のソース ISERDESE2 (M = マスター、 S = スレーブ)

たとえば 「Q1M1」 は、 CLK0 でデータをサンプリ ングしてマスター ISERDESE2 のポート Q1 に出力

するサンプル ポイン ト を表します。

サンプル ポイン ト を結ぶ E4[0] ~ E4[3] と書かれた点線は、 データ エッジを検出するために DRU がデータを比較している部分を表しています。 4 つの比較に関する式を式 1 ~式 4 に示します。

E4[0] = [Q1M1 xor Q1S1] or [Q2M1 xor Q2S1] 式 1

E4[1] = [Q3M1 xor Q1S1] or [Q4M1 xor Q2S1] 式 2

E4[2] = [Q2M1 xor Q3S1] or [Q4M1 xor Q4S1] 式 3

E4[3] = [Q1M1 xor Q4S0] or [Q2M1 xor Q3S1] 式 4

これらの比較ポイン トは、元のデータ ス ト リームを基準にする と実際には 200ps の間隔があ り ます。た

とえば、 式 1 の (E4[0]) xor は Q1M1 と Q1S1、 および Q2M1 と Q2S1 を比較します。 これらの比較

は、 E4[0] と書かれた 2 本のグレーの破線で示しています。

図 7 を参照して 「Q1M1 xor Q1S1」 の比較をまず確認する と、 両ポイン トが CLK0 でサンプルされて

いるこ とがわかり ます。 しかし、 Q1S1 サンプルは IDELAYE2 によって Q1M1 よ り も 200ps だけ遅延

しているため、 200ps 離れた 2 つのサンプルを比較するこ とになり ます。 同様に、 Q2M1 と Q2S1 は共

に CLK180 でサンプリ ングされていますが、IDELAYE2 によってスレーブ データ ス ト リームは遅延し

ているため、 これらのサンプル ポイン トには 200ps の間隔があ り ます。

CLK0 と CLK180 のいずれかのサンプル ポイン トの xor 演算の結果が 1 の場合、 すなわちサンプリ ン

グしたデータのレベルが一致しない場合、2 つのサンプル ポイン ト間にエッジ (レベル遷移) が存在する

と判断できます。最初の E4[0] のサンプル ポイン ト比較は立ち上がりエッジ ゾーンの R1 と R1 で発生

しており、2 番目の E4[0] サンプル ポイン トは立ち下がりエッジ ゾーンの F1 と F1 で発生しています。

このためどちらの比較も一致し、 xor 演算の出力はいずれも 0 になり ます。 したがって、DRU のステー

ト マシンはデータ遷移のエッジが存在していないこ とになり ます。

これと対照的なのが、 Q1M1 と Q4S0、 および Q2M1 と Q3S1 を比較している式 4 に示す xor 演算で

す。 Q1M1 は CLK0 でマスター データ ス ト リームからサンプリ ングされます。 Q4S0 は CLK270 で位

相に遅延のあるスレーブ データ ス ト リームからサンプリ ングされ、1 サイクルの間 DRU に格納されま

す。 CLK270 と CLK0 は 400ps (90°) 離れていますが、 スレーブ データには 200ps の遅延があるため、

元のデータ ス ト リームを基準にする と Q1M1 と Q4S0 のサンプル ポイン トは実際には 200ps しか離れ

X-Ref Target - Figure 7

図 7 : データ スト リームのサンプル ポイン ト と比較ポイン ト

CLK0 CLK90

R0 F0 F1R1

~R0 ~F0 ~F1~R1

400 ps

Q1

Q1

M0

S0

Q3

Q3

M0

S0

Q3

Q3

M1

S1

Q2

Q2

M0

S0

Q2

Q2

M1

S1

Q4

Q4

M0

S0

E4[3] E4[0] E4[1] E4[2] E4[3] E4[0] E4[2]

Q4

Q4

M1

S1

Q1

Q1

M1

S1

200 ps

400 ps

CLK180 CLK270 CLK0 CLK90 CLK180 CLK270

Master Data (Tap 0,Delay = 0 ps)

Slave Data (Tap 4,Delay = 200 ps)

X523_07_032112

Qx [M または S]x

Page 8: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 8

ていません。 同様に、 Q2M1 は CLK180 でアンプリ ングされ、 Q3S1 は CLK90 でサンプリ ングされま

す。 これらのサンプル ポイン ト も元のデータ ス ト リームを基準にする と 200ps しか離れていません。

どちらの比較も、 片方のサンプル ポイン トは立ち上がりエッジ ゾーンにあ り、 も う片方のサンプル ポイン トは立ち下がりエッジ ゾーンにあ り ます。これら 2 つの比較は xor 演算の結果が 1 になり、各比較

の 2 つのサンプル ポイン ト間のどこかにエッジ (レベル遷移) が存在するこ とがわかり ます。

図 8 は式 1 ~式 4 を論理回路で表したもので、ISERDESE2 から出力されたデータがこのロジッ クにど

のよ うに入力されるかを示しています。 ISERDESE1 と ロジッ クの間にあるレジスタがタイ ミ ングを調

整します。また、 この図には直前のサンプル セッ トからのスレーブ ISERDESE2 の Q4 出力を一時格納

してから新しいサンプル セッ ト と比較する方法も示しています。

こ こまでは、FPGA に入力されたデータを DRU に入力してデータ エッジを検出する方法を説明してき

ました。 次に、 比較データを DRU で処理する方法を説明します。 このシンプルなステート マシンは、

データ エッジの移動前後の位置に基づいて、 データ エッジとサンプル ポイン トの間隔を選択します。

電圧および温度の変動、 ジッ ター、 そしてソース ク ロ ッ ク と レシーバー ク ロ ッ ク間のオフセッ ト など

があるため、理想的なサンプル ポイン トは一定ではあ り ません。 このため、比較ポイン トの式の値も常

に変化し、 それに伴いステート マシンの状態も常に遷移します。 図 9 および表 1 は、 あるデータ セッ

トから次のデータ セッ トへのステート マシンのフローを示したものです。

X-Ref Target - Figure 8

図 8 : エッジ検出回路

MasterISERDESE2

625 MHzBUFG

Q1

Q2

Q3

Q4

Q1

Q2

Q3

Q4

Q(1)

E4(0)

E4(1)

E4(2)

E4(3)

Q(5)

Q(3)

Q(7)

Q(0)

Q(4)

Q(2)

Q(6)

II(1)

II(5)

II(3)

II(7)

II(0)

II(4)

II(2)

II(6)

Data Capture DRU

SlaveISERDESE2

X523_08_0203012

Page 9: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 9

表 1 で、 EQ の列は、 式 1 ~式 4 からの入力による現在のステート マシンの位置を示しています。 DOの列は、 インターコネク ト ロジッ クで使用するサンプル セッ ト を示しています。 前述のとおり、 オー

バーサンプリ ング モードでの各 ISERDESE1 は基本的に IDDR フ リ ップフロ ップを 2 つ組み合わせた

ものと して機能するため、DO は理想的なサンプル ポイン ト と してどちらの IDDR フ リ ップフロ ップを

使用すればよいかを示します。

図 9 は、 ステート マシンの現在の状態 (サンプル セッ ト ) から次の遷移先を示しています。 たとえば、

ステート マシンの最初の状態が 01 とする と、 この状態では Q(1) および Q(5) 信号を使用します。 これ

は、 ISERDESE1 マスターの Q1 (CLK0) および Q2 (CLK180) 出力に該当します。

次に、 データ エッジが左へ移動した場合、 センター ポイン トは CLK0/CLK180 から CLK90/CLK270へシフ ト します。 これによって E4(3) の値は 0 から 1 に変化し、 ステート マシンの状態は 00 から 01に遷移します。

ビッ ト スキップ

エッジがデータ ビッ ト の最初のサンプルの左側に移動する と、 ビッ ト スキップが発生します。 また、

データ ビッ トの最後のサンプルの右側に移動してもビッ ト スキップが発生します。

最後のサンプルの左側でエッジを検出した場合、 新しい現在のサンプルは最後のサンプルから右、 すな

わち次のデータの最初のサンプルへ移動します。 表 1 で示すよ うに、 ステート マシンの状態が 10 のと

き、 Q(3) と Q(7) をサンプリ ングします。 次に、 ステート マシンの状態が 00 に遷移し、 Q(0) と Q(4)をサンプリ ングします。 ただし、 ステート マシンの状態が 10 のと きにデータ サンプルを既に取得して

いるため、 ステート マシンの状態が最初の 00 になったと きはサンプリ ングしたビッ ト を 1 ビッ トだけ

ド ロ ップします。 これをネガティブ ビッ ト スキップと呼びます。 ネガティブ ビッ ト スキップは 1 クロ ッ クにつき 5 ビッ ト を出力します。

最初のサンプルの右側でエッジを検出した場合、 新しい現在のサンプルは左、 すなわち次のデータの最

後のサンプルへ移動します。 表 1 で示すよ うに、 ステート マシンの状態が 00 のと き、 Q(0) と Q(4) をサンプリ ングします。 次に、 ステート マシンの状態が 10 に遷移します。 この状態で、 Q(3) と Q(7) をサンプリ ングします。 ただし、 ステート マシンの状態が 00 と 10 のと きにデータ サンプルを取得して

X-Ref Target - Figure 9

図 9 : エッジ情報を用いたデータ選択

表 1 : データ セレク ト MAP

EQ DO

00 Use samples Q(0) and Q(4)

01 Use samples Q(1) and Q(5)

11 Use samples Q(2) and Q(6)

10 Use samples Q(3) and Q(7)

E4(2) E4(3)

E4(0) E4(1)

E4(3) E4(2)

00

E4(1) E4(0)

10 01

11

X523_09_020312

Page 10: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 10

いないため、 ステート マシンの状態が 10 のと きに、 現在のサンプルと一緒に最後のサンプルを取得し

ます (7 ビッ ト を出力)。 これをポジティブ ビッ ト スキップと呼びます。 ポジティブ ビッ ト スキップは

1 ク ロ ッ クにつき 7 ビッ ト を出力します。

図 9 からわかるよ うに、 ビッ ト スキップが発生するのはステート マシンの状態が 00 と 10 の間で遷移

した場合のみです。 ビッ ト スキップが発生しない場合、 サンプ リ ングしたデータは SDR モードでは 1ク ロ ッ クにつき 1 ビッ ト 、 DDR モードでは 1 ク ロ ッ クにつき 2 ビッ ト出力されます。

したがって、 6 ビッ トのパラレル データの場合、 次のよ うにな り ます。

• ネガティブ ビッ ト スキップが発生した場合のビッ ト数は 5

• ポジティブ ビッ ト スキップが発生した場合のビッ ト数は 7

• ビッ ト スキップが発生しない場合のビッ ト数は 6

クロッキングとデータ フロー

データが FPGA のピンから FPGA インターコネク ト ロジッ クに構成された 10 ビ ッ ト幅のインター

フェイスに到達するまでにはいくつかの過程があ り、これらはすべてクロ ッ ク ソースによって制御され

ます。 ク ロ ッ ク ソースは MMCME2 コンポーネン ト を介して生成されます。図 10 に、 このデザインの

構成を示します。各部分の上に記載した数字は、図 10 の後に続く、セクシ ョ ンで説明されているクロ ッ

ク転送ポイン ト を表しています。

Page 11: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 11

1. データが 1.25Gb/s のレートで FPGA へ入力される

ISERDESE2 は 625MHz で動作する CLK および CLK90 ク ロ ッ クを使用します。 これらは、 この

デザインの要件に従ってシングル領域 BUFIO ク ロ ッ クを介して適用されます。

ISERDESE2 出力は、 BUFG ク ロ ッ ク ド メ インの SLICE フ リ ップフロ ップを使用してキャプチャ

されます。 このよ う にク ロ ッ ク ド メ インをまたぐため、 BUFIO ク ロ ッ ク ド メ インで動作する

ISERDESE2 の出力と、BUFG ク ロ ッ ク ド メ インでデータをキャプチャするレジスタの間で 600psの必須制約が強制的に適用されます (これらの制約は HDL ソース コードで与えられる)。

2. DRU

a. ISERDESE2 に適用される CLK および CLK90 ク ロ ッ クは、I/O バンクのデバイスをクロ ッ ク

する目的にのみ使用できます。 データは ISERDESE2 から SLICE フ リ ップフロ ップへ転送す

る必要があ り ます。 このデータをキャプチャする SLICE フ リ ップフロ ップは、 それぞれ個別

に 625MHz ク ロ ッ クで動作する必要があ り ます。

BUFIO ク ロ ッ ク ネッ ト ワークから BUFG ク ロ ッ ク ネッ ト ワークへ移るには、 CDC (ClockDomain Crossing) の使用が必須とな り ます。 この場合、 ISERDESE2 向けのク ロ ッ クおよび

X-Ref Target - Figure 10

図 10 : MMCM クロック リソース

X523_10_012012

MMCM

DRU Logic

IDELAYCTRL

DRU

Reg

iste

rISE

RD

ES

ISE

RD

ES

OS

ER

DE

SIS

ER

DE

S

IntClkDiv

StateMachine

IntClkDiv

IntClk

125 MHz

ClkRef

CLK90

CLK

BUFG

BUFG

Pattern

BUFIO

BUFIO

BUFG

IBUFDS_DIFF_OUT

1

2A 2B

3

4

Page 12: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 12

DRU ロ ジ ッ ク の ク ロ ッ クは、 ステー ト マシンによ って位相が一致し ています。 また、

ISERDESE2 から DRU のレジスタまでの遅延が 600ps を超えないよ うに注意してください。

b. この段階では、 データが 625MHz の BUFG ク ロ ッ クから 312.5MHz の BUFG ク ロ ッ クまで

処理されます。 これらのクロ ッ クは互いに位相が揃っているため、 特別な要件はあ り ません。

3. データ /ク ロ ッ クの送出

DRU からの 10 ビッ ト データはクロ ッ ク イネーブル付きのユーザー インターコネク ト ロジッ クに

312.5MHz ク ロ ッ ク レートで現れます。

4. ク ロ ッ ク アライ メン ト ステート マシン

BUFIO と BUFG の互いの位相関係 (配線の長さ、 ク ロ ッ ク バッファーの遅延など) は定義されて

いません。 両クロ ッ ク ド メ イン間のデータ転送には、 CDC ロジッ クを使用するか、 またはこのア

プリ ケーシ ョ ンで示すよ うにクロ ッ クの位相を揃える必要があ り ます。 ク ロ ッ クの位相アライ メン

ト を実行するには、キャ リブレーシ ョ ンが設定されています。ク ロ ッ ク アライ メン ト回路は、FPGAの I/O バンクにあるすべての I/O は同一であ り、 したがって同じタイ ミ ングを持つこ とに基づいて

います。

• OSERDESE2 には固定のデータ パターンが読み込まれ、 BUFG ク ロ ッ ク ツ リー (IntClk、IntClkDiv) からのクロ ッ クが与えられます。OSERDESE2 の出力は、IntClk (625MHz、BUFG)ク ロ ッ ク レート で送出される ク ロ ッ ク パターンです。 このク ロ ッ ク パターンは、 BUFIO クロ ッ ク ツ リーから実行の隣接する ISERDESE2 によってフ ィードバッ ク パスを介してキャプ

チャされます。 データをキャプチャする ISERDESE2 は、 同じクロ ッ ク ツ リーで動作します。

• この手法では、 2 つのクロ ッ クの位相関係を計測できます。 小型のステート マシンを用いる

MMCM の独立した位相シフ ト機能を利用して、 BUFG ク ロ ッ クは位相の一致した BUFIO クロ ッ ク と位相が揃えられます。 CLK90 ク ロ ッ ク (625MHz) は CLK ク ロ ッ ク (625MHz) に合

わせて位相シフ ト し、IntClkDiv ク ロ ッ ク (312.5MHz) は IntClk ク ロ ッ ク (625MHz) に合わせ

て位相シフ ト します。

この位相キャ リブレーシ ョ ン プロセスを図 11 に示します。

このクロ ッキング手法を可能にするには、MMCME2 を適切にコンフ ィギュレーシ ョ ンする必要があ り

ます。 MMCM のコンフ ィギュレーシ ョ ン例を次のセクシ ョ ンで説明します。

MMCME2 クロック生成

こ こで説明する演算は、 MMCME2 の入力周波数が 125MHz であ り、 その出力ク ロ ッ クは 1.25Gb/s(625MHz DDR) データ ス ト リームをサンプルする必要がある と仮定しています。 この計算例で使用す

るコンポーネン トは、 -2 スピード グレードの Kintex™-7 FPGA です。

X-Ref Target - Figure 11

図 11 : BUFG と BUFIO の位相アライメン トに適用される波形

635 MHz BUFIO

Initial Alignment of625 MHz BUFG

(1)

Final Alignment of625 MHz BUFG

(3)1 2 3

1010 0101 1010

Initial PhaseAdjustment Alignment

of 625 MHz BUFG(2)

Output of ISERDESE1at Stages of Phase

AlignmentX523_11_012012

Page 13: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

7 シリーズ ISERDESE2 オーバーサンプリング モード

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 13

図 11 に示すよ うに、 1 つの MMCME2 をインターフェイスのクロ ッ ク ソース と して使用します。つま

り、 MMCME2 は次のクロ ッ クを供給する必要があ り ます。

• ClkRef : 312.5MHz で動作するのが理想的だが、 IDELAY_CTRL コンポーネン トのパラ メーター

によって 310MHz (REFCLK 周波数 = 300MHz ±10MHz) に制限されている

• CLK : BUFIO を介して 625MHz で動作

• CLK90 : BUFIO を介して 625MHz で動作する反転 CLK

• IntClk : BUFG を介して 625MHz で動作

• IntClkDiv : BUFG を介して 312.5MHz で動作

データシート DS182 『Kintex-7 FPGA データシート : DC 特性およびスイ ッチ特性』 による と、 -2 スピード グレードの MMCM のスイ ッチ特性は次のとおりです。

• MMCM_FIN_MIN = 10MHz

• MMCM_FIN_MAX = 933MHz

• MMCM_FVCO_MIN = 600MHz

• MMCM_FVCO_MAX = 1440MHz

• MMCM_FOUT_MIN = 4.69MHz

• MMCM_FOUT_MAX = 933MHz

• MMCM_FPFD_MIN = 10MHz

• MMCM_FPFD_MAX = 500MHz (帯域幅は High または Optimized に設定)

数式 :

式 5

式 6

式 7

式 8

式 9

MMCME2 内部の PLL を最適な条件で動作させるには、 動的な位相検出器 (FPFD_MAX) を超えない範

囲で FVCO を最大にする必要があ り ます。

VCO 周波数は、 式 10 から求められます。

式 10

D は 1 で、 M の値を 5 ~ 138 の間とする必要があ り ます。 125MHz の入力クロ ッ クで、 M が 10 を取

る場合、 VCO 周波数は 1250MHz とな り ます (M が 12 を取る と した場合、 VCO 周波数は 1500MHzとな り、 高すぎる)。

式 11

DMIN RoundUpFIN

FPFD_MAX----------------

1==

DMAX RoundDownFIN

FPFD_MAX----------------

12==

MMIN RoundUpFVCO_MINFIN

----------------

DMINキ 5==

MMAX RoundDownDMAX

FVCO_MIN----------------

FIN、

138==

MIDEALDMIN FVCO_MAXキ

FIN-------------------------------

11.52==

FVCO FINMD-( )キ=

FVCO FINMD-( )キ 125MHz 10

1---キ 1250= MHz゙ ゙

Page 14: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

リファレンス デザイン

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 14

MMCME2 の出力クロ ッ クは、 式 12 から求められます。

式 12

説明

O は、 MMCME2 ク ロ ッ ク出力の出力カウンターの分周値です。

D は、 MMCME2 属性で使用する値です。

• MMCME2 の CLK0 出力は、分周値と して実数を取り ます。 これは、 1250MHz から 310MHzを生成するのに最適です。

- D 値は 4.0322 です。

• MMCME2 の CLK1 および CLK2 出力を使用し、 BUFIO ク ロ ッ ク バッファーを介して

ISERDESE2 へ分配される 625MHz ク ロ ッ クを生成します。

- 両クロ ッ クの D 値は 2 です。

• 次に、 クロ ッ ク出力 CLK3 および CLK4 を使用して 312.5MHz の IntClkDiv ク ロ ッ ク と

625MHz の IntClkv ク ロ ッ クを生成します。 これらのクロ ッ ク出力を位相シフ ト させる必要が

あ り ます。 したがって、 MMCM の位相シフ ト動作に対応する属性を有効にする必要があ り ま

す。

- CLK3 (312.5MHz) の D 値は 4 です。

- CLK4 (625MHz) の D 値は 2 です。

- これら両方を有効にする属性は CLKOUTn_USE_FINE_PS です。

• n = ク ロ ッ ク出力 (3 または 4)

リファレンス デザイン

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

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

表 2 に、 リ ファレンス デザインのチェッ ク リ ス ト をま とめています。

FOUT FINMD Oキ---------

キ=

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

パラメーター 説明

全般

開発元 Marc Defossez

ターゲッ ト デバイス Kintex-7 および Virtex-7 FPGA

推奨するスピード グレード : -2 および -3、そして

-1 デバイスの HP I/O バンクのみ (-1 スピード グレードには注意が必要。推奨事項については、ソー

ス コードを参照)

ソース コードの提供 あ り

ソース コードの形式 VHDL

使用した IP なし

シミ ュレーシ ョ ン

機能シ ミ ュレーシ ョ ンの実施 はい

タイ ミ ング シ ミ ュレーシ ョ ンの実施 いいえ

テス トベンチの形式 VHDL

シ ミ ュレータ ソフ ト ウェア / バージ ョ ン ISIM_13.3 またはそれ以降

SPICE/IBIS シ ミ ュレーシ ョ ン いいえ

Page 15: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

リファレンス デザイン

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 15

表 3 は、 リ ファレンス デザインの使用率をま とめたものです。 この リ ファレンス デザインにはデュア

ル レシーバーが 1 つ含まれています。 デモおよびテス ト用に、 PRBS ト ランス ミ ッ ターと PRBS 受信

ブロッ クが KC705 ボード上に追加されています。 デュアル レシーバーのデザイン使用率のみがリ ス ト

されています。 インプリ メンテーシ ョ ンには、 XC7K325T-2-FFG900 デバイスを使用しています。

デザインには、 UCF でフロアプラン制約を適用しています。 このよ うにインプ リ メ ン トする と、 各レ

シーバーで同量の FPGA ロジッ クが使用されるよ うにな り、 すべての 7 シ リーズ FPGA でデザインの

拡張が容易になり ます。詳細は、 リ ファレンス デザイン ZIP ファ イルに含まれる資料を参照してくださ

い。

インプリ メンテーシ ョ ン

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

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

スタティ ッ ク タイ ミ ング解析の実施 はい

ハードウェア検証

ハードウェア検証 はい

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

KC705 ボード

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

コンポーネン ト パーセンテージ (%) 総数 使用数

フ リ ップフロ ップ 1 407,600 191

スライス 203,800

LUT 1 174

メモ リ 1 17

SRL 1 17

ルート スルー 2

BUFG/BUFGCTRL 9 32 3

ISERDESE2 1 500 5

OSERDESE2 1

IDELAYE2 1 350 4

IDELAYCTRL 1 10 1

MMCME2(1) 1 10 1

注記 :

1. 各 I/O バンクに CME2 が 1 つ必要です。 1 つの I/O バンクで 19 の受信チャネルに対応できます。 ク ロ ッ ク位相調整 (CDC ロジッ ク ) 用に 1 組の ISERDESE2/OSERDESE2 を未使用にしておく必要があ り ます。

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

パラメーター 説明

Page 16: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

レシーバーの UI とジッ ター許容値

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 16

レシーバーの UI とジッ ター許容値

こ こで使用した DRU 方式では、 2 つの有効なサンプル ポイン ト が常に必要です。 つま り、 開始点は

0.500 UI です。オーバーサンプリ ングは、等間隔のサンプル ポイン ト を利用しているため、 これらの間

隔に誤差がある とレシーバーのジッター アイ要件が厳し くな り ます。

レシーバージッター アイ要件 = DRU のアイ要件 + サンプリ ング位相誤差

0.625 UI = (0.500 UI) + (0.125 UI)

サンプ リ ング位相誤差には、 125MHzク ロ ッ クを受け取り、 これを 625MHzに逓倍したものを 2 つの

BUFIO に位相シフ ト して供給し、 IODELAYE2 で 200ps の位相シフ ト を生成するこ とによって生じる

すべての影響が含まれます。

サンプリ ング位相誤差に含まれるもの :

• リ ファレンス デザインで正確に設定した場合の MMCME2_ADV ジッター

• CLK0 と CLK90 の間の MMCME2_ADV 位相誤差

• MMCME2_ADV DCD

• IODELAYE2 の遅延精度 (200ps の位相シフ ト を生成する能力)

• IODELAYE2 のパターン依存性ジッター

• マスターおよびスレーブ ISERDESE2 の 2 つのパスのオフセッ ト

サンプリ ング位相誤差に含まれないもの :

• MMCME2_ADV のその他のクロ ッ ク周波数または設定

• シグナル インテグ リティの損失 (ISI、 ボード ジッターなど)

• デバイス内部のジッター

インターフェイスを検証するために、異なるプロセス、電圧、温度で特性評価を実施します。総ジッター

許容量は 0.375 UI です。

リファレンス デザインのディ レク ト リ セッ トアップ

デザインは高度な階層構造となっているため、優れた柔軟性を提供し、デザイン モジュールの再利用が

可能です。 図 12 に、 デザインの ト ップ構造を示します。

図 13 および図 14 に、 Common と SgmiiReceiver フォルダーのディ レク ト リ構造をそれぞれ示しま

す。

X-Ref Target - Figure 12

図 12 : デザインの最上位セッ トアップ

X523_12_012012

Page 17: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

リファレンス デザインの ディレク ト リ セッ トアップ

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 17

X-Ref Target - Figure 13

図 13 : Common のディレク ト リ構造

X-Ref Target - Figure 14

図 14 : ライブラリのデイレク ト リ構造を含む SgmiiReceiver デザイン

X23_13_012012

X523_14_012012

Page 18: FPGA 7 シリーズ FPGA で LVDS を使用した 4x in this Clock Area State Machine OSERDES X523_02_012512 0 90 180 270 CLK CLK90 Different positions of the data with respect to

まとめ

XAPP523 (v1.0) 2012 年 4 月 6 日 japan.xilinx.com 18

SgmiiReceiver は、デザインの中で唯一カスタム インプリ メンテーシ ョ ンに必要な部分です。 これに

ついては、 このアプリ ケーシ ョ ン ノートでも説明されています。

まとめ ザイ リ ンクスの FPGA は、 SelectIO インターフェイス リ ソースを使用して非同期通信をインプリ メン

トできるため、GT ト ランシーバーがほかの用途に使用できます。このインプリ メンテーシ ョ ンでは、よ

り小型の FPGA を選択するこ とが可能になり、 コス ト削減につながり ます。

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

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] までお知らせください。 いただきましたご意見を参考に早急に対応さ

せていただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめ

ご了承ください。

日付 バージョ ン 内容

2012 年 4 月 6 日 1.0 初版リ リース