概要
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 Baetoniu、Brandon 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
非同期オーバーサン プ リ ングの概要
図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
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
デー タ リ カバ リ ユニ ッ ト (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
デー タ リ カバ リ ユニ ッ ト (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
デー タ リ カバ リ ユニ ッ ト (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
ビ ッ ト スキ ッ プ
次に、 デー タ エ ッ ジが左へ移動 し た場合、 セ ン タ ーポ イ ン ト は 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
ク ロ ッ キング と デー タ フ ロー
ク ロ ッ キン グ と デー タ フ ロー
表1 に示す よ う に、複数の ク ロ ッ ク お よ び ク ロ ッ ク の位相があ り 、それぞれが必要な機能を実行 し ます。
フルレー ト で動作 し て る デザ イ ンでデー タ のキ ャ プチ ャ と DRU を実行す る 場合、 タ イ ミ ン グが非常に 重要 と な る ため、タ イ ミ ン グ制約 と 配置制約の両方が必要です。タ イ ミ ン グ制約お よ び特別な条件を表2 に ま と め ます。
表 1 : MMCM RX からのク ロ ッ ク
ソ ース 周波数/位相シ フ ト バ ッ フ ァ ー デス テ ィ ネーシ ョ ン オ フチ ッ プオシ レー タ ー 125MHz 入力バ ッ フ ァ ー MMCM
MMCM RX
625MHz
0° 位相シ フ ト シ ン グル領域 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
2B、3、4 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 の ク ロ ッ ク 転送ポ イ ン ト の番号を表 し てい ます。
ク ロ ッ キング と デー タ フ ロー
デー タ が 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
リ フ ァ レ ン スデザイ ン
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
使用する ロ ジ ッ ク リ ソ ース
図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
レ シーバーの 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
改訂履歴
改訂履歴
次の表に、 こ の文書の改訂履歴を示 し ます。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 タ イ ト ル変更