• 検索結果がありません。

Virtex-6 FPGA で LVDS を使用した、1.25Gb/s での 4X 非同期オーバーサンプリング, アプリケーション ノート (XAPP881)

N/A
N/A
Protected

Academic year: 2022

シェア "Virtex-6 FPGA で LVDS を使用した、1.25Gb/s での 4X 非同期オーバーサンプリング, アプリケーション ノート (XAPP881)"

Copied!
13
0
0

読み込み中.... (全文を見る)

全文

(1)

概要

Virtex®-6 FPGA の SelectIO™ テ ク ノ ロ ジに よ っ て、1.25Gb/sで 4X の非同期オーバーサ ン プ リ ン グ が可能です。 オーバーサ ン プ リ ン グ は、 ミ ッ ク ス モー ド ク ロ ッ ク マ ネージ ャ ー (MMCM) 専用のパ フ ォーマ ン スパ ス経由で ISERDESE1 プ リ ミ テ ィ ブ を使用 し て実現 さ れます。ISERDESE1 SelectIO ロ ジ ッ ク ブ ロ ッ ク に あ り 、 専用 フ リ ッ プ フ ロ ッ プの 4 つの位相を使用 し て サ ン プ リ ン グ を行い ま す。

MMCM は、 低ジ ッ タ ーのパ フ ォ ーマ ン ス パ ス上で位相シ フ ト し た ク ロ ッ ク を供給で き る 高度な PLL です。

次に、ISERDESE1 の出力がデー タ リ カバ リ ユニ ッ ト (DRU) を使用 し て選別 さ れ ま す。 こ の ア プ リ ケーシ ョ ン ノ ー ト で扱 う DRU は、こ れ ら の出力を比較 し て最適なデー タ サンプルを選択す る 判定シ ス テ ムに基づいてい ます。

非同期オーバーサ ン プ リ ングの概要

あ る デバ イ ス か ら 別のデバ イ ス にデー タ を送信す る 方法 と し て最 も 一般的なのは、 デー タ と 一緒に同期 ク ロ ッ ク を送信す る 方法です。 こ の方法を ソ ース同期デー タ と 呼びます。 ク ロ ッ ク な し で送信す る デー タ を非同期デー タ と 呼びます。

こ のアプ リ ケーシ ョ ン ノ ー ト では、 非同期デー タ のキ ャ プチ ャ 方式について説明 し ます。 こ こ では、 周 波数がほぼ同 じ ク ロ ッ ク (±100ppm)を使用 し てデー タ をオーバーサンプ リ ン グ し ます。こ のオーバーサ ンプ リ ン グ手法では、異な る ク ロ ッ ク 位相でデー タ のサンプ リ ン グ を行い、最 も 理想的なポ イ ン ト のデー タ サンプルを取得 し ます。図1 に、4X 非同期オーバーサンプ リ ン グの基本的なブ ロ ッ ク 図を示 し ます。

ア プ リ ケーシ ョ ン ノ ー ト : Virtex-6 FPGA

XAPP881 (v1.0.1) 2010 7 25

Virtex-6 FPGA で LVDS を使用 し た、

1.25Gb/s での 4X 非同期オーバーサン プ リ ング

著者 : Catalin BaetoniuBrandon Day

X-Ref Target - Figure 1

図 1 : 4X オーバーサン プ リ ングの基本アーキテ ク チ ャ と 概念図 125 MHz ±100 ppm

125 MHz ±100 ppm

625 MHz 8

x881_01_062410

Data at 1.25 Gb/s

Transmitter Capture

Clock Multiplier

Data Recovery

(2)

非同期オーバーサン プ リ ングの概要

図1 には、4X オーバーサ ンプ リ ン グ手法で重要な役割を果たすい く つかの要素を示 し てい ます。 送信 デー タ は、 特定の周波数 と ド リ フ ト を持つオシ レー タ ーを使用 し て生成 さ れ、 こ のデー タ は独立 し た非 同期オシ レー タ ーでキ ャ プチ ャ さ れます。こ の よ う な場合に問題 と な る のが、送信側 と 受信側のオシ レー タ ーの周波数 ド リ フ ト の差です。 ク ロ ッ ク ド メ イ ン を ま たいでデー タ キ ャ プチ ャ を実行す る 際は、 こ の こ と を必ず考慮に入れてお く 必要があ り ます。 サンプ リ ン グ し たデー タ は、 レ シーバーのデー タ リ カ バ リ 部で判定シ ス テ ム を使用 し て処理 さ れます。

図2 に、デー タ レー ト の 1/2 の速度で動作す る サンプ リ ン グ ク ロ ッ ク を示 し ます。 こ こ に示 し た ク ロ ッ ク 位相のサンプルポ イ ン ト か ら も わか る よ う に、 立ち上が り エ ッ ジデー タ と 立ち下が り エ ッ ジデー タ それぞれに 4 つ、 計 8 つのデー タサンプルがキ ャ プチ ャ ブ ロ ッ ク か ら 出力 さ れます。

X-Ref Target - Figure 2

図 2 : 立ち上が り エ ッ ジ デー タ と 立ち下が り エ ッ ジデー タ に対するサン プ リ ングク ロ ッ クの位相

0 45 90 135 180 225 270 315

X881_02_050610

Rising Data Falling Data

(3)

Virtex-6 FPGA のオーバーサン プ リ ン グ アーキテ ク チ ャ

Virtex-6 FPGA のオーバーサン プ

リ ン グ アーキテ ク チ ャ

1 ビ ッ ト につ き 4 つのサンプルを作成す る Virtex-6 FPGA の こ の方式は、CLB ア レ イ の フ リ ッ プ フ ロ ッ プ を使用 し て複数のサンプルを作成 し ていた従来の方式に比べ、 い く つかの利点があ り ます。図3 に示 す よ う に、 サンプ リ ン グフ リ ッ プ フ ロ ッ プは CLB か ら ISERDESE1 の内部に移動 し てい ます。

ISERDESE1 内では、 メ タ ス タ ビ リ テ ィ の問題を防 ぐ ためにサ ン プ リ ン グ を複数段で実行 し てい ま す。

こ れに よ っ て、 すべてのデー タ が 1 つの ク ロ ッ ク ド メ イ ン で ISERDESE1 か ら 出力 さ れ る よ う に も な り ます。

図4 に示す と お り 、 オーバーサンプ リ ン グモー ド の ISERDESE1 は、基本的に DDR フ リ ッ プ フ ロ ッ プ を 2 つ組み合わせた も のです。IODELAYE1 を使用 し て ス レーブ側の ISERDESE1 のデー タ の位相を シ フ ト し 、 位相シ フ ト し ていない元のデー タ と 一緒にサンプ リ ン グ を行い ます。

X-Ref Target - Figure 3

図 3 : オーバーサン プ リ ング モー ド の ISERDESE1 プ リ ミ テ ィ ブ

DDLY CLK

CLK

OCLK

OCLK

Q5

Q6 Q4 Q3 Q2 Q1

SHIFTOUT 1 SHIFTOUT 2 O CLK

CLK REG D Q

CLK REG D Q CLK

REG D Q

CLK REG D Q

CLK REG D Q CLK

REG D Q

CLK REG D Q

CLK REG D Q CLK

REG D Q

CLK REG D Q

x881_03_070710 CLK

REG D Q CLK

REG D Q CLKB

CE2 CE1 OCLK CLKDIV DYNCLKSEL DYNCLKDIVSEL SHIFTIN 1 SHIFTIN 2 RST D BITSLIP OFB

ISERDESE1 Primitive

(4)

デー タ リ カバ リ ユニ ッ ト (DRU)

図4 は、MMCM、IODELAYE1、ISERDESE1 を組み合わせて 4X オーバーサ ン プ リ ン グ を実行す る 方法を詳 し く 示 し た も のです。2 つの位相の ク ロ ッ ク (CLK0 と CLK90) が ISERDESE1 に入 り ま す。

こ れ ら 2 つの ク ロ ッ ク の立ち上が り エ ッ ジ と 立ち下が り エ ッ ジの両方を使用す る こ と に よ り 、4 つの ク ロ ッ ク 位相を得てい ます。 ま た、IBUFDS_DIFFOUT を使用 し て同 じ デー タ を 2 つに コ ピー し 、 その 1 つを IODELAYE1 を使用 し て 200psだけシ フ ト (45° の位相シ フ ト) し てい ます。位相を シ フ ト し たデー タ を ス レーブ ISERDESE1 に送 る こ と で、 サンプルの位相の数を 2 倍に し てい ます。 こ の よ う に、4 の ク ロ ッ ク 位相 と 2 つのデー タサ ン プル位相を組み合わせ る こ と に よ っ て全体で 8 つの位相を作成 し てい ます。 こ れ ら 8 つの位相は、7ページの図8 に記載 し て あ り ます。

デー タ リ カバ リ ユニ ッ ト (DRU)

ス テー ト マ シ ン によ る エ ッ ジ検出

図5 は、FPGA に入力 さ れ る デー タ ス ト リ ーム を基準に し たサンプルポ イ ン ト と 比較ポ イ ン ト の位置 を示 し た も のです。 デー タ ス ト リ ームは 2 つあ り 、 片方は 200psの位相遅れがあ り ます。 下側のデー タ ス ト リ ームは、IBUFDS_DIFFOUT プ リ ミ テ ィ ブ を使用 し て上側のデー タ ス ト リ ーム を反転 し た も の で す。 デー タ は、400ps (す な わ ち 90°) 間隔 の 4 つ の ク ロ ッ ク 位相 (CLK0、CLK90、CLK180、 CLK270) でサンプ リ ン グ さ れます。

ク ロ ッ ク と デー タ ス ト リ ームの交差 し た と こ ろがサン プルポ イ ン ト と な り ます。 サンプルポ イ ン ト の 命名規則は次の と お り です。

Qx [S ま たは M]x 説明

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

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

た と えば 「Q1M1」 は、CLK0 でデー タ をサンプ リ ン グ し てマ ス タ ー ISERDESE1 のポー ト Q1 に出力 す る サンプルポ イ ン ト を表 し ます。

X-Ref Target - Figure 4

図 4 : Virtex-6 FPGA における 4 つのサン プルの作成方法 MMCM

ISERDESE1 MMCM

Performance Path

Flip- Flops 0

90

BUFIO

clk

BUFG

DDLY

Q1 Q2 Q3 Q4

Q1 Q2 Q3 Q4 oclk

clk

DDLY oclk BUFIO

Data Recovery Unit

Flip- Flops

ISERDESE1

x881_04_062410

IODELAYE1 TAP = 0 (0°) Shift

IODELAYE1 TAP = 4 (45°) Shift

(5)

デー タ リ カバ リ ユニ ッ ト (DRU)

サ ン プルポ イ ン ト を結ぶ 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]) は Q1M1 と Q1S1、 お よ び Q2M1 と Q2S1 を 比較 し ま す。 こ れ ら の比較は、

E4[0] と 書かれた 2 本のグ レーの破線で示 し てい ます。 まず 「Q1M1 xor Q1S1」 の比較は、 ど ち ら のポ イ ン ト も CLK0 で サ ン プ リ ン グ さ れ て い ま す。 た だ し Q1S1 の サ ン プ ルは IODELAYE1 に よ っ て Q1M1 よ り も 200psだけ遅れてい る ため、200ps離れた 2 つのサンプルを比較す る こ と にな り ます。 同 様に、Q2M1 と Q2S1 は共に CLK180 でサンプ リ ン グ さ れてい ますが、IODELAYE1 に よ っ て ス レー ブデー タ ス ト リ ームは遅延 し てい る ため、 こ れ ら のサ ン プルポ イ ン ト には 200psの間隔があ り ます。

CLK0 と CLK180 のいずれかのサンプルポ イ ン ト の xor 演算の結果が 1 の場合、 すなわちサンプ リ ン グ し たデー タ の レベルが一致 し ない場合、2 つのサンプルポ イ ン ト 間にエ ッ ジ (レベル遷移) が存在す る と 判断で き ます。図5 に示 し た例では、最初の E4[0] のサンプルポ イ ン ト 比較は立ち上が り エ ッ ジ ゾー ンの R1 R1 で発生 し てお り 、2 番目の E4[0] サンプル比較ポ イ ン ト は立ち下が り エ ッ ジゾーンの F1 と F1 で発生 し てい ます。 こ のため ど ち ら の比較 も 一致 し 、xor 演算の出力はいずれ も 0 にな り ます。 し たがっ て、DRU の ス テー ト マシ ンはデー タ 遷移のエ ッ ジが存在 し ていない こ と にな り ます。

こ れ と 対照的な のが、Q1M1 と Q4S0、 お よ び Q2M1 と Q3S1 を 比較 し て い る式4 です。Q1M1 は CLK0 でマ ス タ ーデー タ ス ト リ ームか ら サンプ リ ン グ さ れます。Q4S0 CLK270 で位相に遅延のあ る ス レーブデー タ ス ト リ ームか ら サンプ リ ン グ さ れ、1 サ イ ク ルの間 DRU に格納 さ れます。CLK0 と CLK270 400ps (90°) 離れてい ますが、 ス レーブデー タ には 200psの遅延があ る ため、元のデー タ ス ト リ ーム を基準にす る と Q1M1 と Q4S0 のサ ン プルポ イ ン ト は実際には 200psし か離れてい ません。

同様に、Q2M1 CLK180 でサンプ リ ン グ さ れ、Q3S1 CLK90 でサンプ リ ン グ さ れます。 こ れ ら の サ ン プルポ イ ン ト も 、 元のデー タ ス ト リ ーム を基準にす る と 200psし か離れてい ません。 ど ち ら の比 較 も 、 片方のサンプルポ イ ン ト は立ち上が り エ ッ ジゾーンにあ り 、 も う 片方のサン プルポ イ ン ト は立 ち下が り エ ッ ジゾーンにあ り ます。 こ れ ら 2 つの比較は xor 演算の結果が 1 にな り 、 各比較の 2 つの サンプルポ イ ン ト 間の ど こ かにエ ッ ジ (レベル遷移) が存在す る こ と がわか り ます。

図5 の次に、図6 について説明 し ます。 こ の図は式1 ~式4 を論理回路で表 し た も ので、ISERDESE1 か ら 出力 さ れたデー タ が こ の ロ ジ ッ ク に ど の よ う に入力 さ れ る か を示 し てい ま す。ISERDESE1 と ロ ジ ッ ク の間には、 タ イ ミ ン グ を調整す る ための レ ジ ス タ があ り ます。 ま た、 こ の図には直前のサンプル セ ッ ト か ら の ス レーブ ISERDES Q4 出力を一時格納 し てか ら 新 し いサンプルセ ッ ト と 比較す る 方法

も 示 し てい ます。

X-Ref Target - Figure 5

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

R0 F0 R1 F1

X881_05_070710

Master Data (Tap 0, Delay = 0 ps)

Slave Data (Tap 4,

Delay = 200 ps) R0 F0 R1 F1

E4[0]

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

CLK 0 CLK 90 400 ps

Q1 M0 Q3 M0 Q2 M0 Q4 M0 Q1 M1 Q3 M1 Q2 M1 Q4 M1

Q1 S0 Q3 S0 Q2 S0 Q4 S0 Q1 S1 Q3 S1 Q2 S1 Q4 S1

CLK 180 CLK 270 CLK 0 CLK 90 CLK 180 CLK 270

400 ps

(6)

デー タ リ カバ リ ユニ ッ ト (DRU)

こ こ ま では、FPGA に入力 さ れたデー タ を DRU に入力 し てデー タ エ ッ ジ を検出す る 方法を説明 し て き ま し た。 次に、 比較デー タ を DRU で処理す る 方法を説明 し ま す。 こ のシ ン プルな ス テー ト マシ ン は、 デー タ エ ッ ジの移動前後の位置に基づいて、 デー タ エ ッ ジ と サ ン プルポ イ ン ト の間隔を選択 し ま す。

電圧お よ び温度の変動、 ジ ッ タ ー、 そ し て ソ ース ク ロ ッ ク と レ シーバー ク ロ ッ ク 間のオ フ セ ッ ト な ど があ る ため、 理想的なサンプルポ イ ン ト は一定ではあ り ません。 こ のため、 比較ポ イ ン ト の式の値 も 常 に変化 し 、 それに伴い ス テー ト マシ ン の状態 も 常に遷移 し ます。図7 は、 あ る デー タ セ ッ ト か ら 次の デー タ セ ッ ト への ス テー ト マシ ンの フ ロ ーを示 し た も のです。

図7 の左側の表で、EQ の列は、1 ~式4 か ら の入力に よ る 現在の ス テー ト マシ ンの位置を示 し てい ます。DO の列は、 イ ン タ ー コ ネ ク ト ロ ジ ッ ク で使用す る サンプルセ ッ ト を示 し てい ます。 前述の と お り 、 オーバーサンプ リ ン グモー ド での各 ISERDESE1 は基本的に IDDR フ リ ッ プ フ ロ ッ プ を 2 つ組み 合わせた も のであ る ため、DO は理想的なサンプルポ イ ン ト と し て ど ち ら の IDDR フ リ ッ プ フ ロ ッ プ を 使用すれば よ いか を示 し てい ます。

表の右側の ス テー ト マシ ン図は、 現在の状態 (サンプルセ ッ ト) か ら 次の遷移先を示 し てい ます。 た と えば、ス テー ト マシ ンの最初の状態が01 と す る と 、 こ の状態では Q(1) お よ び Q(5) 信号を使用 し ます。

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

X-Ref Target - Figure 6

図 6 : エ ッ ジ検出回路の論理表現

X-Ref Target - Figure 7

図 7 : エ ッ ジ情報を用いてデー タ を選択する ロ ジ ッ ク Master

ISERDESE1

Slave ISERDESE1

Q1 Q2 Q3 Q4

Q1

BUFG 625 MHz Q(1) 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)

E4(0)

E4(1)

E4(2)

E4(3) II(6)

Q2 Q3 Q4

X881_06_050610

Use Samples Q(0) & Q(4) Use Samples Q(1) & Q(5) Use Samples Q(2) & Q(6) Use Samples Q(3) & Q(7) 00

01 11 10

E4(2)

E4(0)

E4(3)

E4(1)

X881_07_070710

E4(0) E4(1)

E4(3) E4(2) 00

11

10 01

DO EQ

(7)

ビ ッ ト スキ ッ プ

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

ビ ッ ト スキ ッ プ

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

最後のサンプルの左側でエ ッ ジ を検出 し た場合、 新 し い現在のサンプルは最後のサンプルか ら 右、 すな わち次のデー タ の最初のサ ン プルへ移動 し ます。図8 で ス テー ト マシ ン の状態が10の と き 、Q(3) と Q(7) をサンプ リ ン グ し ます。 次に、 ス テー ト マシ ンの状態が00に遷移 し 、Q(0) Q(4) をサンプ リ ン グ し ます。 ただ し 、 ス テー ト マシ ンの状態が10の と き にデー タサンプルを既に取得 し てい る ため、 ス テー ト マシ ンの状態が最初に00にな っ た と き はサンプ リ ン グ し た ビ ッ ト を 1 ビ ッ ト だけ ド ロ ッ プ し ま す。 こ れを ネガテ ィ ブビ ッ ト ス キ ッ プ と 呼びます。 ネガテ ィ ブビ ッ ト ス キ ッ プは 1 ク ロ ッ ク につ き 5 ビ ッ ト を出力 し ます。

最初のサンプルの右側でエ ッ ジ を検出 し た場合、 新 し い現在のサンプルは左、 すなわち次のデー タ の最 後のサンプルへ移動 し ます。図9 で ス テー ト マシ ンの状態が00の と き 、Q(0) Q(4) をサンプ リ ン グ し ます。 次に、 ス テー ト マシ ンの状態が10に遷移 し ます。 こ の状態で、Q(3) と Q(7) をサンプ リ ン グ し ます。 ただ し 、 ス テー ト マシ ン の状態が00 と 10の と き にデー タ サ ン プルを取得 し ていないため、

ス テー ト マシ ンの状態が10の と き に、現在のサンプル と 一緒に最後のサンプルを取得 し ます (7 ビ ッ ト を出力)。 こ れを ポジ テ ィ ブビ ッ ト ス キ ッ プ と 呼びます。 ポジ テ ィ ブ ビ ッ ト ス キ ッ プは 1 ク ロ ッ ク に つ き 7 ビ ッ ト を出力 し ます。

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

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

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

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

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

X-Ref Target - Figure 8

図 8 : ネガテ ィ ブ ビ ッ ト スキ ッ プ

X-Ref Target - Figure 9

図 9 : ポジ テ ィ ブ ビ ッ ト スキ ッ プ

CLK0 CLK45 CLK90 CLK135 CLK0 CLK45 CLK90 CLK135

X881_08_051410

X881_09_051410

CLK0 CLK45 CLK90 CLK135 CLK0 CLK45 CLK90 CLK135

(8)

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

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

表1 に示す よ う に、複数の ク ロ ッ ク お よ び ク ロ ッ ク の位相があ り 、それぞれが必要な機能を実行 し ます。

フルレー ト で動作 し て る デザ イ ンでデー タ のキ ャ プチ ャ と DRU を実行す る 場合、 タ イ ミ ン グが非常に 重要 と な る ため、タ イ ミ ン グ制約 と 配置制約の両方が必要です。タ イ ミ ン グ制約お よ び特別な条件を表2 に ま と め ます。

表 1 : MMCM RX からのク ロ ッ ク

ソ ース 周波数/位相シ フ ト バ ッ フ ァ ー デス テ ィ ネーシ ョ ン オ フチ ッ プオシ レー タ ー 125MHz 入力バ ッ フ ァ ー MMCM

MMCM RX

625MHz

位相シ フ ト シ ン グル領域 BUFIO ISERDESE1 625MHz

90° 位相シ フ ト シ ン グル領域 BUFIO ISERDESE1 625MHz

ダ イ ナ ミ ッ ク 位相シ フ ト BUFG CLB (DRU) 312.5MHz

ダ イ ナ ミ ッ ク 位相シ フ ト BUFG CLB (DRU)

MMCM IDELAYCTRL 310MHz BUFG IDELAYCTRL

表 2 : タ イ ミ ング制約 と その他の特別な条件 デー タ

フ ロー(1) 周波数/位相シ フ ト キ ャ プ チ ャ 要素 タ イ ミ ング制約 タ イ ミ ングク ロージ ャ に 必要なその他の条件

125MHz

MMCM に 供給 さ れ る RX ソ ース ク ロ ッ ク

TIMESPEC TS_RxC_P = PERIOD

"RxC_P" 8 ns HIGH 50%; な し

1、4 625MHz

0° 位相シ フ ト ISERDESE1 TS_CLKOUT0 = PERIOD TIMEGRP

"CLKOUT0" TS_RxC_P / 5 HIGH 50%; な し

1 625MHz

90° 位相シ フ ト ISERDESE1 TS_CLKOUT1 = PERIOD TIMEGRP

"CLKOUT1" TS_RxC_P / 5 HIGH 50%; な し

2A、4 625MHz

ダ イ ナ ミ ッ ク 位相シ フ ト

ISERDESE1 か ら CLB DRU

TS_CLKOUT2 = PERIOD TIMEGRP

"CLKOUT2" TS_RxC_P / 5 HIGH 50%;

• BUFIO に合わせたダ イ ナ ミ ッ ク 位相ア ラ イ メ ン ト

• 最大の遅延制約

• CLB ア レ イ の RLOC

2B34 312.5MHz

ダ イ ナ ミ ッ ク 位相シ フ ト CLB DRU TS_CLKOUT3 = PERIOD TIMEGRP

"CLKOUT3" TS_RxC_P / 2.5 HIGH 50%;

• BUFIO に合わせたダ イ ナ ミ ッ ク 位相ア ラ イ メ ン ト

• CLB ア レ イ の RLOC

1、2A ISERDESE1

か ら CLB DRU NET "*/Q<*>" MAXDELAY = 0.6 ns; • CLB ア レ イ の RLOC

注記 :

1. こ の欄の数字は、 デー タ フ ロ ーの段階お よ び図10 の ク ロ ッ ク 転送ポ イ ン ト の番号を表 し てい ます。

(9)

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

デー タ が FPGA の ピ ン か ら FPGA イ ン タ ー コ ネ ク ト ロ ジ ッ ク に構成 さ れた 10 ビ ッ ト 幅の イ ン タ ー フ ェ イ ス に到達す る ま でにはい く つかの課程があ り ます。図10 に ク ロ ッ ク 転送ポ イ ン ト お よ び使用す る レ ジ ス タ を示 し ます。 各部分の上に記載 し た数字は、 ク ロ ッ ク 転送ポ イ ン ト を表 し てい ます。

1. デー タ が 1.25Gb/sの レー ト で FPGA に入力 さ れます。ISERDESE1/IODELAY キ ャ プチ ャ ブ ロ ッ ク は、4 つの ク ロ ッ ク 位相でデー タ がキ ャ プチ ャ さ れ る 位置を示 し てい ま す。図10 では、 キ ャ プ チ ャ に使用す る ク ロ ッ ク が 625_0 お よ び 625_90 と な っ てい ます。 こ れ ら は、 こ のデザ イ ンの要件 に従っ てシ ン グル領域 BUFIO ク ロ ッ ク と し てい ます。

2. DRU

a. デー タ キ ャ プチ ャ の次の段階では、ISERDESE1 か ら のデー タ を CLB フ リ ッ プ フ ロ ッ プへ転 送 し ます。ISERDESE1 か ら 使用す る すべての レ ジ ス タ ま での遅延が 600psを超え ない よ う に 注意 し て く だ さ い。

こ の転送で重要なのは、BUFIO ク ロ ッ ク ネ ッ ト ワ ー ク か ら BUFG ク ロ ッ ク ネ ッ ト ワ ー ク へ 移動す る と い う 点です。BUFIO ク ロ ッ ク ネ ッ ト ワ ー ク の範囲は ISERDESE1 ま でで、CLB は 範囲に含まれません。

X-Ref Target - Figure 10

図 10 : デー タ フ ロー と ク ロ ッ ク転送ポ イ ン ト

1.25 Gbs

125 MHz

1 2A 3

4 Clock Alignment Circuit

Data Recovery Unit 2B

ISERDESE1 Master IODELAY

TAP 0

IODELAY TAP 4

ISERDESE1 Slave

MMCM RX

ISERDESE1 Capture

OSERDESE1

MMCM IDELAYCTRL

IDELAYCTRL First Stage

of FF’s Running on

625 MHz BUFG 8

4

4

4 625_0 625_90

OFB

625

310 312.5 PSEN

10

CE

10 Second

Stage of FF’s Running at 312.5 MHz

FF

BUFIO/

BUFG Alignment

Circuit

12 Slices

User Logic Running at 312.5 MHz With Clock Enable With

~40%

Toggle Rate

X881_10_062910

(10)

リ フ ァ レ ン スデザイ ン

3. 10 ビ ッ ト のデー タ を DRU が選択す る と 、 そのデー タ は ク ロ ッ ク イ ネーブル付 き のユーザー イ ン タ ー コ ネ ク ト ロ ジ ッ ク に現れ ま す。 ク ロ ッ ク イ ネーブルが存在 し 、 こ の速度で動作 し ていれば、

デー タ レー ト がキ ャ プチ ャ ク ロ ッ ク よ り も 速い場合やデー タ に よ っ て キ ャ プチ ャ ク ロ ッ ク が低下 し てい る 場合に も 対処で き ます。

ク ロ ッ ク ア ラ イ メ ン ト 回路

BUFIO BUFG の互いの位相関係は定義 さ れてい ません。 位相関係を定義す る には、 何 ら かのキ ャ リ ブ レーシ ョ ンが必要です。 こ の ク ロ ッ ク ア ラ イ メ ン ト 回路は、OSERDESE1 か ら ISERDESE1 への出 力 フ ィ ー ド バ ッ ク パ ス を 使 用 し ま す。625MHz BUFG ク ロ ッ ク を OSERDESE1 に 転 送 し 、 625MHzの BUFIO ク ロ ッ ク を使用 し て ISERDESE1 の ク ロ ッ ク を キ ャ プチ ャ する こ と に よ っ て、 こ れ

ら 2 つの ク ロ ッ ク の位相関係を計測で き ま す。 次に、MMCM の独立 し た位相シ フ ト 機能を利用 し て、

BUFG ク ロ ッ ク の位相を BUFIO ク ロ ッ ク に合わせてシ フ ト し ます。

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

リ フ ァ レ ン ス デザイ ン

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

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

X-Ref Target - Figure 11

図 11 : BUFIO BUFG のク ロ ッ ク 位相キ ャ リ ブ レーシ ョ ン プ ロ セス 625 MHz BUFIO

X881_11_051410

Initial Alignment of 625 MHz BUFG (1) Initial Phase Adjustment Alignment of 625 MHz BUFG (2) Final Alignment of 625 MHz BUFG (3) Output of ISERDESE1 at Stages of Phase Alignment

1 1010

3 1010 2

0101

(11)

使用する ロ ジ ッ ク リ ソ ース

図12 に、 リ フ ァ レ ン スデザ イ ン ソ フ ト ウ ェ アの ツ リ ー構造を示 し ます。

使用する ロ ジ ッ ク リ ソ ース

表3 ~表5 に、 こ の リ フ ァ レ ン ス デザ イ ンで使用す る リ ソ ース を示 し ます。

X-Ref Target - Figure 12

図 12 : リ フ ァ レ ン スデザイ ンの構造

X881_12_051510

表 3 : デバイ ス当た り

MMCM 1

BUFG 1

表 4 : バン ク 当た り

MMCM 1

BUFG 2

シ ン グル領域 BUFIO 2

ク ロ ッ ク ア ラ イ メ ン ト 回路 45 LUT

IDELAYCTRL 1

ク ロ ッ ク ア ラ イ メ ン ト 回路用 ISERDESE1 1 ク ロ ッ ク ア ラ イ メ ン ト 回路用 OSERDESE1 1 表 5 : チ ャ ネル当た り

デー タ リ カバ リ ユニ ッ ト 87 LUT

ISERDESE1 2

(12)

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

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

レ シーバーのジ ッ タ ー許容値を調べ る には、 開始点を決め る 必要があ り ます。 こ こ で使用 し た DRU 方 式では、2 つの有効なサ ン プルポ イ ン ト が常に必要です。 つ ま り 、 開始点は 0.500 UI です。 オーバー サ ン プ リ ン グは等間隔のサ ン プル ポ イ ン ト を利用 し てい る ため、 こ れ ら の間隔に誤差があ る と レ シー バーのジ ッ タ ーア イ 要件が厳 し く な り ます。

レ シーバーのジ ッ タ ーア イ 要件 =

DRU のア イ 要件 + サンプ リ ン グ位相誤差 式 5

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

次に、 サンプ リ ン グ位相誤差に含まれ る も の と 含まれない も のについて説明 し ます。 サンプ リ ン グ位相 誤差には、125MHzク ロ ッ ク を受け取 り 、 こ れを 625MHzに逓倍 し た も の を 2 つの BUFIO に位相シ フ ト し て供給 し 、IODELAYE1 200psの位相シ フ ト を生成す る こ と に よ っ て生 じ る すべての影響が含 まれます。

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

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

• CLK0 CLK90 の間の MMCM 位相誤差

• MMCM DCD

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

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

• マ ス タ ーお よ びス レーブ ISERDESE1 2 つのパス のオ フ セ ッ ト サンプ リ ン グ位相誤差に含まれない も の :

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

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

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

• その他、 上記の 「サンプ リ ン グ位相誤差に含まれ る も の」 に記載 さ れていない も のすべて こ の イ ン タ ーフ ェ イ ス を検証す る ために、 複数の ピ ンに対 し て異な る プ ロ セ ス、 電圧、 温度で特性評価 を実施 し ま し た。表6 に、 ジ ッ タ ー許容量を ま と め ます。

ま と め

Virtex-6 FPGA では FPGA 間に非同期 イ ン タ ーフ ェ イ ス を実装で き る ため、こ れに よ っ て コ ス ト が削減 さ れ る だけでな く 、 ト ラ ン シーバーを別の用途に使用で き ます。

表 6 : ジ ッ タ ー許容量のテ ス ト 結果 (1.25Gb/s)

デバイ ス VCCINT VCCAUX VCCO 温度 ト ー タ ル

ジ ッ タ ー (UI)

-2 ス ピー ド グ レー ド

0.95 2.325 2.325 100°C 0.375

–40°C 0.375

1.05 2.625 2.625 100°C 0.375

–40°C 0.375

-3 ス ピー ド グ レー ド

0.95 2.325 2.325 100°C 0.375

–40°C 0.375

1.05 2.625 2.625 100°C 0.375

–40°C 0.375

(13)

改訂履歴

改訂履歴

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

Notice of Disclaimer

Xilinx is disclosing this Application Note to you “AS-IS” with no warranty of any kind. This Application Note is one possible implementation of this feature, application, or standard, and is subject to change without further notice from Xilinx. You are responsible for obtaining any rights you may require in connection with your use or implementation of this Application Note. XILINX MAKES NO REPRESENTATIONS OR WARRANTIES, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL XILINX BE LIABLE FOR ANY LOSS OF DATA, LOST PROFITS, OR FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR INDIRECT DAMAGES ARISING FROM YOUR USE OF THIS APPLICATION NOTE.

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

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

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

こ の資料に関す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の問題につ き ま し ては、

[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ せていただ き ます。 なお、 こ の メ ールア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ め ご了承 く だ さ い。

日付 バージ ョ ン 内容

2010 7 23 1.0 初版 リ リ ース 2010 年 7 月 25 日 1.1 タ イ ト ル変更

図  1 : 4X  オーバーサン プ リ ングの基本アーキテ ク チ ャ と 概念図125 MHz ±100 ppm125 MHz ±100 ppm 625 MHz8 x881_01_062410Data at 1.25 Gb/sTransmitterCaptureClockMultiplierDataRecovery
図  2 :  立ち上が り エ ッ ジ デー タ と 立ち下が り エ ッ ジ デー タ に対するサン プ リ ング ク ロ ッ クの位相
図  3 :  オーバーサン プ リ ング モー ド の  ISERDESE1  プ リ ミ テ ィ ブDDLYCLKCLK OCLKOCLKQ5Q6Q4Q3Q2Q1 SHIFTOUT 1SHIFTOUT 2OCLKCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQCLKREGDQ x881_03_070710CLKREGDQCLKREGDQCLKBCE2CE1OCLKCLKDIVDYNCLKSELDYNCLKDI
図  4 : Virtex-6 FPGA  における  4  つのサン プルの作成方法MMCMISERDESE1MMCMPerformance PathFlip-Flops090BUFIOclkBUFGDDLYQ1Q2Q3Q4Q1Q2Q3Q4oclkclkDDLYoclkBUFIO
+7

参照

関連したドキュメント

WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;

To the maximum extent permitted by applicable law: (1) Materials are made available &#34;AS IS&#34; and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND

* THIS SOFTWARE IS PROVIDED &#34;AS IS&#34; AND RENESAS MAKES NO WARRANTIES REGARDING * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT * LIMITED

* THIS SOFTWARE IS PROVIDED &#34;AS IS&#34; AND RENESAS MAKES NO WARRANTIES REGARDING * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT * LIMITED

WARRANTY: WTB TECHNOLOGY CORPORATION makes no warranty, express or implied, including the warranties of merchantability and/or fitness for any particular purpose, concerning

WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR

and all express or implied warranties, either in fact or by operation of law, statutory or otherwise, including the implied warranties of merchantability and fitness for use

THIS SOFTWARE IS PROVIDED BY NTT ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A