逓倍させたクロックを使用する LVDS ソース同期 - Xilinx

ア プ リ ケーシ ョ ン ノ ー ト : 7 シ リ ーズ FPGA
逓倍 さ せた ク ロ ッ ク を使用する LVDS ソ ース同期
の 7:1 シ リ ア ラ イ ズおよびデシ リ ア ラ イ ズ
XAPP585 (v1.0) 2012 年 6 月 27 日
著者 : Nick Sawyer
概要
ザ イ リ ン ク ス の 7 シ リ ーズ FPGA は、ISERDES お よ び OSERDES プ リ ミ テ ィ ブ を備え てい る ため、シ
リ ア ラ イ ズ回路お よ びデシ リ ア ラ イ ズ回路の設計が容易にな り 、 ビ ッ ト ご と の ス キ ュ ー調整を行っ た場
合に ラ イ ン あ た り 415Mb/s ~ 1,200Mb/s の高速動作 (使用す る デバ イ ス フ ァ ミ リ お よ び ス ピ ー ド グ
レー ド に よ っ て異な る ) が可能です。 低速動作の場合は静的デー タ ア ラ イ メ ン ト を使用 し ます。 こ のア
プ リ ケーシ ョ ン ノ ー ト では、低電圧差動信号 (LVDS) デー タ 伝送を使用 し て 7:1 デー タ 送受信を行 う た
めに ISERDES お よ び OSERDES 回路を MMCM ( ミ ッ ク ス ド モー ド ク ロ ッ ク マネージ ャ ー ) ま たは
PLL ( 位相 ロ ッ ク ループ) と 効率的に併用 し 、 ビ ッ ト ご と の ス キ ュ ー調整 を 実行 し て ラ イ ン あ た り
415Mb/s ~ 1,200Mb/s の動作を達成す る 方法を説明 し ます。 動作速度は、 使用す る デバ イ ス フ ァ ミ リ
お よ びス ピー ド グ レー ド に よ っ て異な り ます。
レ シーバーの概要
図 1 に示す よ う な逓倍 さ れた ク ロ ッ ク を必要 と す る 1:7 イ ン タ ーフ ェ イ ス (図では 5 ラ イ ン ) は、テ レ ビ
やブルーレ イ プ レーヤーな ど の民生機器においてデバ イ ス 間でデー タ を送受信す る 際の ビデオ処理に
幅広 く 使用 さ れてい ます。通常、1 つのビデオ チ ャ ネルには 5 つの LVDS デー タ ラ イ ン と 1 つの LVDS
ク ロ ッ ク ラ イ ンがあ り ます。 最新型テ レ ビ では、 充分な ビデオ帯域幅を確保す る ために複数のチ ャ ネル
(通常は 4 ま たは 8 チ ャ ネル) を使用で き ます。
こ のアプ リ ケーシ ョ ン ノ ー ト では、 単一チ ャ ネル デザ イ ン と 複数チ ャ ネル デザ イ ンの両方に対応す る
リ フ ァ レ ン ス デザ イ ン を提供 し ます。 複数チ ャ ネル デザ イ ンの全チ ャ ネルに対す る ピ ク セル ク ロ ッ ク
周波数が同 じ で、 ク ロ ッ ク 逓倍回路は 1 つ し か必要ないため、 FPGA リ ソ ース使用率が抑え ら れ、 ピ ン
配置 も シ ン プルにな り ます。 1 つま たは複数チ ャ ネルを マ ク ロ と し てパ ラ メ ー タ ー指定で き 、 生成 さ れ
る チ ャ ネル数を設定す る 変数や、 各チ ャ ネルの LVDS デー タ ラ イ ン数を設定する 変数があ り ます。
こ れ ら のチ ャ ネルは、 7 シ リ ーズ FPGA の同 じ I/O バン ク 内にすべて含め る こ と がで き ますが、 異な る
バン ク に ま たが る こ と も 可能です。 同 じ チ ャ ネルの ラ イ ンはすべて同 じ バン ク 内に含め る こ と を推奨 し
ますが、 ク ロ ッ キ ン グ エ レ メ ン ト を適切に選択すれば、 異な る チ ャ ネルを異な る バン ク に含め る こ と が
可能です。
すべてのチ ャ ネルの内部 ク ロ ッ ク を生成す る 入力 ク ロ ッ ク はチ ャ ネル 0 への ク ロ ッ ク 入力で、 こ の信号
ペアは ク ロ ッ ク 兼用 I/O ピ ンに割 り 当て る 必要があ り ます。 その他のチ ャ ネルの ク ロ ッ ク は、 フ レー ミ
ン グのみに使用 さ れ る ため、 必要に応 じ て通常の LVDS 入力に割 り 当て る こ と がで き ます。
7 シ リ ーズ FPGA では、 内蔵 さ れてい る 入力遅延 (IODELAYE2) を使用 し て、 ピ ン ご と に リ アル タ イ ム
で入力デー タ が ス キ ュ ー調整 さ れ る ため、 設計者は PCB の配線ス キ ュ ー要件を緩和 し て よ り 厳 し い タ
イ ミ ン グ マージ ン を与え る こ と がで き ます。
© 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.
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
1
ISERDES および OSERDES のガ イ ド ラ イ ン
X-Ref Target - Figure 1
Received 1:7 Data
Line 0
D0
D5
D10
D15
D20
D25
D30
Line 1
D1
D6
D11
D16
D21
D26
D31
Line 2
D2
D7
D12
D17
D22
D27
D32
Line 3
D3
D8
D13
D18
D23
D28
D33
Line 4
D4
D9
D14
D19
D24
D29
D34
Received Clock
XAPP585_01_042912
図 1 : 低速な転送 ク ロ ッ ク を使用するデー タ ス ト リ ーム (7:1 SerDes)
ISERDES お よび
OSERDES のガ
イ ド ライン
7 シ リ ーズ FPGA の各 I/O ロ ジ ッ ク タ イ ルには、 8 ビ ッ ト の ISERDES と 8 ビ ッ ト の OSERDES が 1
つずつあ り ます。 隣接す る 2 つのブ ロ ッ ク ( マ ス タ ー と ス レーブ) にあ る ISERDES と OSERDES を カ
ス ケー ド 接続す る と 、 10 ビ ッ ト ま たは 14 ビ ッ ト のブ ロ ッ ク を構築で き ま す。 こ れに よ り 、 シ ン グル
デー タ レー ト (SDR) の場合には 1:2 ~ 1:8 (1:2 と 1:8 を含む)、 1:10、 お よ び 1:14、 ダブル デー タ レー
ト (DDR) の場合は 1:2、 1:4、 1:6、 1:8、 1:10、 1:14 の ISERDES 入力比が可能にな り ます。 OSERDES
の出力レー ト については、 SDR の場合には 2:1 ~ 8:1 (2:1 と 8:1 を含む)、 10:1、 14:1 が可能で、 DDR
I/O ク ロ ッ ク の場合には 2:1、 4:1、 6:1、 8:1、 10:1、 14:1 が可能です。
差動信号規格は ISERDES お よ び OSERDES レ ジ ス タ に関連す る 2 つの I/O ロ ジ ッ ク タ イ ル ( マ ス
タ ー、 ス レーブ) を使用する ため、 こ の規格の信号を使用 し てい る と き は、 ISERDES ま たは OSERDES
ブ ロ ッ ク を カ ス ケー ド 接続 し て も 問題あ り ません。こ のため、事実上 2 つの ISERDES ま たは OSERDES
の使用に関す る 制約はあ り ません。 差動信号は、 フ ラ ッ ト パネルやカ メ ラ な ど の 7:1 アプ リ ケーシ ョ ン
で一般的に使用 さ れてい る 規格です。
指定 し たデバ イ スお よ びス ピー ド グ レー ド の ク ロ ッ ク ネ ッ ト ワ ー ク でサポー ト さ れ る 最大 ク ロ ッ ク よ
り も 低い ビ ッ ト レー ト が必要な場合は、 SDR テ ク ニ ッ ク を使用 し て く だ さ い。 最大値 よ り も 高い ビ ッ
ト レ ー ト が必要な場合は DDR テ ク ニ ッ ク を使用で き 、 達成可能な最大ビ ッ ト レ ー ト は PLL ま たは
MMCM の最大出力周波数で制限 さ れ ます。 SDR テ ク ニ ッ ク を使用す る 利点は、 フ ァ ブ リ ッ ク ロ ジ ッ
ク の使用が抑え ら れ、 ク ロ ッ ク におけ る デ ュ ーテ ィ サ イ ク ルのずれをデザ イ ン で考慮す る 必要がない こ
と です。 ISERDES お よ び OSERDES では 7:1 DDR がネ イ テ ィ ブ サポー ト さ れていないため、 こ の機
能を有効にす る には分散 RAM ギ アボ ッ ク ス を使用する 必要があ り ます。 こ のギ アボ ッ ク スは、 サンプ
リ ン グ ク ロ ッ ク の 1/4 の ク ロ ッ ク 周波数で ISERDES か ら 4 ビ ッ ト 幅のデー タ を受信 し 、サンプ リ ン グ
ク ロ ッ ク の 1/7 の周波数 (最初に受信 し た ピ ク セル ク ロ ッ ク ) で 7 ビ ッ ト 幅のデー タ を出力 し ます。
ク ロ ッ キン グのガ
イ ド ライン
MMCM は、 BUFIO、 BUFR、 BUFH、 お よ び BUFG ク ロ ッ ク ネ ッ ト ワー ク を駆動で き ます。 PLL が
駆動で き る のは、 BUFH お よ び BUFG ク ロ ッ ク ネ ッ ト ワー ク のみです。
表 1 : 7 シ リ ーズ FPGA のグローバル ク ロ ッ ク と PLL/MMCMの仕様
FPGA
ス ピー ド
グ レー ド
グローバル
クロッ ク ネッ ト
ワー ク の最大値
(BUFG)
I/O ク ロ ッ ク
ネ ッ ト ワー ク の
最大値 (BUFIO)
リ ージ ョ ナル
クロッ ク
ネ ッ ト ワー クの
最大値 (BUFR)
水平ク ロ ッ ク
ネ ッ ト ワー ク の
最大値 (BUFH)
Artix™-7
-1
464MHz
600MHz
315MHz
464MHz
Artix-7
-2
550MHz
680MHz
375MHz
550MHz
Kintex™-7
-1
625MHz
710MHz
450MHz
625MHz
Kintex-7
-2
710MHz
800MHz
540MHz
710MHz
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
2
ク ロ ッ キングのガ イ ド ラ イ ン
表 1 : 7 シ リ ーズ FPGA のグローバル ク ロ ッ ク と PLL/MMCMの仕様 (続き )
FPGA
ス ピー ド
グ レー ド
グローバル
クロッ ク ネッ ト
ワー ク の最大値
(BUFG)
I/O ク ロ ッ ク
ネ ッ ト ワー ク の
最大値 (BUFIO)
リ ージ ョ ナル
クロッ ク
ネ ッ ト ワー クの
最大値 (BUFR)
水平ク ロ ッ ク
ネ ッ ト ワー ク の
最大値 (BUFH)
Virtex®-7
-1
625MHz
710MHz
450MHz
625MHz
Virtex-7
-2
710MHz
800MHz
540MHz
710MHz
表 1 に、 7 シ リ ーズ FPGA の各ス ピー ド グ レー ド で利用で き る ク ロ ッ ク ネ ッ ト ワー ク の最大周波数を
示 し ま す。 こ れ ら の仕様の詳細は、 『Artix-7 FPGA デー タ シー ト 』 (DS181)、 『Kintex-7 FPGA デー タ
シー ト 』 (DS182)、 『Virtex-7 FPGA デー タ シー ト 』 (DS183) の最新版を参照 し て く だ さ い。 ただ し 、 こ
の種のアプ リ ケーシ ョ ンは通常 コ ス ト 重視の製品に使用 さ れ る ため、最 も 低い ス ピー ド グ レー ド が必要
にな り ます。 テ ス ト は現在、 ラ イ ン あ た り 1,200Mb/s に限定 し て実施 さ れてい ます。
表 2 お よび表 3 に、 最大動作周波数を さ ま ざ ま なデザ イ ン ご と に ま と めてい ます。
表 2 お よ び表 3 では、 最 も 低い ス ピー ド グ レー ド (-1) のみ示 し てい ます。
その他の ス ピー ド グ レ ー ド の最大周波数は、 各 7 シ リ ーズ FPGA デー タ シー ト で確認 し て く だ さ い。
SDR ク ロ ッ キ ン グ では 2 つの ク ロ ッ ク バ ッ フ ァ ーが、 DDR ク ロ ッ キ ン グ では 3 つの ク ロ ッ ク バ ッ
フ ァ ーが必要です。 表にない ク ロ ッ ク バ ッ フ ァ ーの組み合わせは、 シ リ コ ン でサポー ト さ れていないか
推奨 さ れていない ソ リ ュ ーシ ョ ンです。
表 2 : SDR のデザイ ン別最大ビ ッ ト レー ト
CLK (x7) +
CLKDIV (x1)
BUFG + BUFG
1 つのバン クの単一/複数イ ン タ ー フ ェ イ ス
(共通ピ ク セル ク ロ ッ ク )
Artix-7 FPGA : 464Mb/s
Artix-7 FPGA : 464Mb/s
Kintex-7 FPGA : 625Mb/s
Kintex-7 FPGA : 625Mb/s
Virtex-7 FPGA : 625Mb/s
Virtex-7 FPGA : 625Mb/s
複数バン ク の複数イ ン タ ー フ ェ イ ス
(共通ピ ク セル ク ロ ッ ク )
PLL または
MMCM
PLL/MMCM
Artix-7 FPGA : 600Mb/s
BUFIO + BUFR
Kintex-7 FPGA : 710Mb/s
不可
MMCM のみ
不可
PLL/MMCM
不可
MMCM のみ
Virtex-7 FPGA : 710Mb/s
Artix-7 FPGA : 464Mb/s
BUFH + BUFH
Kintex-7 FPGA : 625Mb/s
Virtex-7 FPGA : 625Mb/s
Artix-7 FPGA : 315Mb/s
BUFR + BUFR
Kintex-7 FPGA : 450Mb/s
Virtex-7 FPGA : 450Mb/s
表 3 : DDR のデザイ ン別最大ビ ッ ト レー ト
CLK (x7) + CLKDIV
(x7/4) + PCLK (x1)
BUFG + BUFG +
BUFG
BUFIO + BUFR +
BUFG
複数バン クの複数イ ン タ ー フ ェ イ ス
1 つのバン ク の単一/複数イ ン タ ー フ ェ イ ス
(共通ピ ク セル ク ロ ッ ク )
(共通ピ ク セル ク ロ ッ ク )
Artix-7 FPGA : 928Mb/s
Artix-7 FPGA : 928Mb/s
Kintex-7 FPGA : 1,200Mb/s
Kintex-7 FPGA : 1,200Mb/s
Virtex-7 FPGA : 1,200Mb/s
Virtex-7 FPGA : 1,200Mb/s
PLL または
MMCM
PLL/MMCM
Artix-7 FPGA : 1,200Mb/s
Kintex-7 FPGA : 1,200Mb/s
不可
MMCM のみ
Virtex-7 FPGA : 1,200Mb/s
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
3
1:7 デシ リ ア ラ イ ズ と デー タ 受信
表 3 : DDR のデザイ ン別最大ビ ッ ト レー ト (続き )
CLK (x7) + CLKDIV
(x7/4) + PCLK (x1)
1 つのバン ク の単一/複数イ ン タ ー フ ェ イ ス
(共通ピ ク セル ク ロ ッ ク )
Artix-7 FPGA : 928Mb/s
BUFH + BUFH +
BUFG
Kintex-7 FPGA : 1,200Mb/s
BUFIO + BUFR +
BUFR
Kintex-7 FPGA : 1,200Mb/s
BUFH + BUFH +
BUFH
1:7 デシ リ ア ラ イ
ズ と デー タ 受信
複数バン クの複数イ ン タ ー フ ェ イ ス
(共通ピ ク セル ク ロ ッ ク )
PLL または
MMCM
不可
PLL/MMCM
不可
MMCM のみ
不可
PLL/MMCM
Virtex-7 FPGA : 1,200Mb/s
Artix-7 FPGA : 1,200Mb/s
Virtex-7 FPGA : 1,200Mb/s
Artix-7 FPGA : 928Mb/s
Kintex-7 FPGA : 1,200Mb/s
Virtex-7 FPGA : 1,200Mb/s
デー タ ス ト リ ームは入力 ク ロ ッ ク レー ト の倍数 (x7) で、 ク ロ ッ ク 信号は受信デー タ の フ レー ミ ン グ信
号 と し て使用 さ れます。 デー タ ラ イ ンの ス テー ト は、 ク ロ ッ ク の 1 周期間で 7 回変化 し ます。 代表的な
例 と し て、 カ メ ラ 、 フ ラ ッ ト パネル、 モニ タ ーな ど で使用 さ れ る 7:1 イ ン タ ーフ ェ イ ス があ り ます。 こ
の例の場合、 入力 ク ロ ッ ク は PLL ま たは MMCM で 7 逓倍 さ れ、 生成 さ れた高速 ク ロ ッ ク がグ ロ ーバ
ル バ ッ フ ァ ー (BUFG)、 I/O バ ッ フ ァ ー (BUFIO) ま たは水平 ク ロ ッ ク バ ッ フ ァ ー (BUFH) を介 し て
ISERDES ロ ジ ッ ク へ渡 さ れます。 ク ロ ッ ク バ ッ フ ァ ーは、 SDR ま たは DDR モー ド で使用可能です。
入力デー タ は、 サンプル ク ロ ッ ク に対 し て UI (ユニ ッ ト イ ン タ ーバル) 遅延の 1/2 に極力近づ く よ う に
ス テー ト マシ ンで制御 さ れ る IODELAYE2 エ レ メ ン ト を介し て ISERDES へ送信 さ れます。 こ れは、 入
力 ク ロ ッ ク を ト レーニ ン グの基準 ク ロ ッ ク と し て使用する こ と で実現 し ます。ま た、入力ピ ク セル ク ロ ッ
ク か ら 取得 し た フ レー ミ ン グ データ を ISERDES の Bitslip 機能 と 併用する こ と で、 2 ページの図 1 に示
す よ う な元の送信デー タ に対 し て正 し い ワ ー ド 関係を持つパ ラ レ ル デー タ が生成 さ れ ます。 最終的に、
デシ リ ア ラ イ ズ さ れたパ ラ レル データ が元の入力 ク ロ ッ ク 速度でフ ァ ブ リ ッ ク ロ ジ ッ ク に現れます。
こ こ では、 2 つのデザ イ ン 考察事項につい て説明 し ま す。 サ ン プ リ ン グ ク ロ ッ ク が SDR の場合は、
ISERDES が 1:7 モー ド で直接使用 さ れ ます。 ISERDES でサポー ト さ れ る ク ロ ッ ク エ レ メ ン ト の組み
合わせは、 2 つの BUFG、 2 つの BUFH、 ま たは BUFIO と BUFR を 1 つずつです。 BUFG を使用す
る 場合の利点は、 デバ イ ス全体を カバーす る ク ロ ッ ク でパ ラ レル デー タ を使用で き る こ と です。 BUFR
や BUFH を 1 つずつ使用す る 場合は、 現 ク ロ ッ ク 領域のみを カバーす る ク ロ ッ ク でデー タ が使用で き
ます。 同 じ ピ ク セル ク ロ ッ ク レー ト で動作す る 複数チ ャ ネルで受信を行 う 場合、 それ ら を同 じ I/O バ
ン ク 内に配置す る と すべての ク ロ ッ ク オプシ ョ ンが使用可能 と な り ますが、異な る バン ク に配置す る と
BUFG し か利用で き ません。
サンプ リ ン グ ク ロ ッ ク が DDR の場合は、 ISERDES が 1:4 モー ド で使用 さ れ、 分散 RAM ベース のギ
アボ ッ ク ス を用いて フルの 1:7 モー ド がエ ミ ュ レー ト さ れます。こ の方法には、サンプ リ ン グ ク ロ ッ ク 、
4 分周 し たサンプ リ ン グ ク ロ ッ ク 、そ し て 7 分周 し たサンプ リ ン グ ク ロ ッ ク (元の入力ピ ク セル ク ロ ッ
ク と 同 じ ) の、 3 つの ク ロ ッ ク ド メ イ ンが必要です。 表 3 に、 こ れ ら の ク ロ ッ ク エ レ メ ン ト を示 し ます。
SDR の場合 と 同様に、 同 じ ピ ク セル ク ロ ッ ク レー ト で動作す る 複数チ ャ ネルで受信を行 う 場合、 それ
ら を同 じ I/O バン ク 内に配置す る と すべての ク ロ ッ ク オプシ ョ ンが使用可能 と な り ますが、異な る バン
ク に配置す る と BUFG し か利用で き ません。
いずれの場合で も 、 ク ロ ッ ク の逓倍に MMCM ではな く PLL が使用 さ れ る と 、 PLL がア ク セ ス で き る
バ ッ フ ァ ーは BUFH と BUFG であ る ため、 こ れ ら 2 つの ク ロ ッ キ ン グ し か利用で き ません。
基本のデー タ 受信
こ の メ カ ニズ ムは非常にシ ンプルです。 必要に応 じ て レ シーバー ク ロ ッ ク を PLL ま たは MMCM で逓
倍 し 、 内部 SDR ま たは DDR の レ シーバー ク ロ ッ ク を生成 し ます。 7:1 の ビデオ アプ リ ケーシ ョ ンの
例では、 入力ピ ク セル ク ロ ッ ク が SDR デザ イ ン では 7 で逓倍、 DDR デザ イ ン では 3.5 で逓倍 さ れ ま
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
4
1:7 デシ リ ア ラ イ ズ と デー タ 受信
す。 デー タ 受信には、 モー ド や ト ポ ロ ジに よ っ て異な る ク ロ ッ ク ネ ッ ト を選択で き ます。 SDR ま たは
DDR デザ イ ンいずれの場合で も 、 すべての入力ピ ンが同 じ バン ク に配置 さ れてい る 単一/複数チ ャ ネル
デザ イ ン では、 SerDes 用 ク ロ ッ ク と し て BUFIO や BUFR の使用が推奨 さ れ ます。 こ れ ら の ク ロ ッ ク
は、 BUFH ま たは BUFG を 2 つ使用す る ク ロ ッ ク ネ ッ ト ワー ク に置 き 換え る こ と がで き ます。 入力が
複数バ ン ク に及ぶ場合は、 現在では BUFG を 2 つ使用す る ク ロ ッ ク ネ ッ ト ワ ー ク のみが有効 な ソ
リ ュ ーシ ョ ンです。 DDR デー タ 受信では、 も う 1 つ中間 ク ロ ッ ク と し て、 BUFH ま たは BUFG ク ロ ッ
ク ネ ッ ト ワー ク のいずれかが必要です。 こ れ ら の選択は、 必要な受信 ク ロ ッ ク の フ ァ ン ア ウ ト で決定 し
ます。
SDR デー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整な し )
ス キ ュ ー調整な し の SDR デザ イ ン は、 1:7 モー ド の ISERDES プ リ ミ テ ィ ブ を直接使用す る ため、 各
デー タ ラ イ ン で受信 し た 7 ビ ッ ト は、 選択 し た ク ロ ッ ク ネ ッ ト ワー ク (BUFR、 BUFH、 ま たは BUFG)
に同期 し て利用可能にな り ます。 図 2 では、 入力 ク ロ ッ ク は前述の と お り PLL ま たは MMCM へ配線
さ れ、 ス テー ト マシ ン で制御 さ れ る IODELAYE2 エ レ メ ン ト へ配線 さ れた後、 ISERDES プ リ ミ テ ィ
ブへ配線 さ れ ます。 入力デー タ ラ イ ン も IODELAYE2 エ レ メ ン ト へ配線 さ れた後、 1:7 デー タ 受信用
に コ ン フ ィ ギ ュ レーシ ョ ン さ れた ISERDES プ リ ミ テ ィ ブへ配線 さ れます。
ク ロ ッ ク 遅延は、 現在の ビ ッ ト レー ト に対応する タ ッ プ数に相当する 値が初期設定 さ れ、 こ れはマ ク ロ
に対 し て 16 ビ ッ ト 入力で設定 さ れ ます。 た と えば、 0560 は 560Mb/s に相当 し ます。 プ ロ グ ラ ム さ れ
た ビ ッ ト レー ト に対応す る ため、 マ ク ロ に対 し て 5 ビ ッ ト の値 (01h ~ 1Fh) が内部生成 さ れ ます。 こ
の 5 ビ ッ ト 値は、 現在の UI 時間に相当する タ ッ プ数 と 等 し く な り ます。 た と えば、 0560 入力は、 17h
(23d) x (標準の タ ッ プ遅延値 78ps) = 1,794ps = 557Mb/s と な り ます。
レ シーバー PLL ま たは MMCM が ロ ッ ク を示す と 、 ス テー ト マシ ンは ク ロ ッ ク 遅延を初期値か ら 徐々
にデ ク リ メ ン ト し 、 受信 し た 7 ビ ッ ト の ク ロ ッ ク デー タ が変化す る ま で こ れを続け ま す。 こ れは、 ク
ロ ッ ク エ ッ ジの検出 と 同 じ であ り 、 ク ロ ッ ク 遅延の現在値は、PLL ま たは MMCM で逓倍 さ れた ク ロ ッ
ク に対 し て遅延がデー タ ア イ の中央に位置す る よ う に、 現在の位置に し たが っ て 1/2 UI 分ずつ増加ま
たは減少 し ます。 こ の値は、 関連す る デー タ ラ イ ン の遅延入力に も 伝播 さ れ る ため、 デー タ ラ イ ン も
中央でサンプル さ れます。
イ ベン ト シーケ ン ス の例を次に示 し ます。
1. ク ロ ッ ク 遅延を 17h に設定 し ます。
2. ク ロ ッ ク デー タ 入力が変化す る ま で ク ロ ッ ク 遅延をデ ク リ メ ン ト し ます。こ こ では遅延値 05h で変
化 し た と 仮定 し ます。
3. 遅延 ラ イ ンに対 し て 1/2 ビ ッ ト 周期を追加ま たは差 し 引き ます。 17h の半分の近似値は 0Bh です。
05h – 0Bh は負の値 と な る ため有効ではあ り ません。 し たが っ て、 ク ロ ッ ク 遅延 ラ イ ンの最終値は
05h + 0Bh = 10h が使用 さ れます。
4. 10h と い う 値は、 関連する チ ャ ネルのデー タ入力の遅延 ラ イ ンに も 使用 さ れ、 通常は各チ ャ ネルに 4
ま たは 5 データ 入力があ り ます。 デー タ入力の数は、 マ ク ロ のパ ラ メ ー ターを使用 し て設定 し ます。
最後に、 ク ロ ッ ク ラ イ ンか ら の入力デー タ が既知のパ タ ーン (通常は 1100001 ま たは 1100011) で検証
さ れ、 受信 し たパ ラ レ ル デー タ が受信 ク ロ ッ ク に対 し て正 し い関係であ る こ と を確認 し ます (2 ページ
の図 1 参照)。 受信パ タ ーンが一致 し ない場合は、 『7 シ リ ーズ FPGA SelectIO リ ソ ース ユーザー ガ イ
ド 』 (UG471) で説明 し てい る と お り 、 Bitslip コ マ ン ド を発行 し て、すべての入力 ク ロ ッ ク と デー タ ビ ッ
ト の位置を 1 つずつ移動 さ せます。 Bitslip コ マ ン ド は、 正 し いパ タ ーンが現れ る ま で最大 7 回ま で発行
さ れ、 パ ラ レルの受信デー タ が適切に フ レーム化 さ れます。
タ イ ミ ン グ調整は こ れで完了です。 その後、 正 し いデー タ 受信が行われ る よ う に PLL ま たは MMCM
が電圧や温度の変動に対応 し て ク ロ ッ ク を現在の位置に保持 し ます。 こ の方法に よ り 、 PCB 上でチ ャ ネ
ル内の ク ロ ッ ク と デー タ ラ イ ン が正 し く 揃え ら れ ます。 タ イ ミ ン グ解析の詳細は、 「レ シーバーの タ イ
ミ ン グに関す る 留意事項」 を参照 し て く だ さ い。
マ ク ロ では、 さ ら な る チ ャ ネルの定義 も 可能です。 チ ャ ネル数は、 マ ク ロ のパ ラ メ ー タ ーで設定で き ま
す。 こ れ ら の追加チ ャ ネルの入力 ク ロ ッ ク は、 周波数の逓倍には使用 さ れません。 チ ャ ネル 0 か ら の逓
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
5
1:7 デシ リ ア ラ イ ズ と デー タ 受信
倍 さ れた ク ロ ッ ク が唯一使用 さ れ る レ シーバー ク ロ ッ ク です。 し か し 、 た と えば、 チ ャ ネル 1 の入力 ク
ロ ッ ク は、 チ ャ ネル 1 用ス テー ト マシ ンの入力 と し て使用 さ れ、 先述の と お り 位相ア ラ イ メ ン ト が行わ
れます。 ま た、 こ の方法を利用する 場合は、 チ ャ ネル内の ク ロ ッ ク と デー タ ラ イ ンの位相が正 し く 揃っ
てい る こ と が前提ですが、各チ ャ ネルが互いに揃 う 必要はな く 、同 じ 周波数で動作す る だけで十分です。
X-Ref Target - Figure 2
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
LVDS CLOCK P
Channel 0
LVDS CLOCK N
Channel 0
IDELAY
ISERDES
BITSLIP
Calibration &
bitslip State
Machine
7
BUFx
PLL/
MMCM
Receive
Pixel Clock
BUFx
Receive
Clock
D Data Lines
LVDS DATA P
Channel 0
IDELAY
ISERDES
7
LVDS DATA N
Channel 0
Clock Line
LVDS DATA P
Channel N-1
LVDS DATA N
Channel N-1
Channel 0 Data
D*7 bits
BITSLIP
IDELAY
ISERDES
7
Calibration &
bitslip State
Machine
LVDS DATA P
Channel N-1
D Data Lines
IDELAY
ISERDES
LVDS DATA N
Channel N-1
7
Parameters
N = Number of Channels
SAMPL_CLOCK = Receiverclock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
HIGH_PERFORMANCE_MODE = TRUE or FALSE
Channel N-1 Data
D*7 bits
Signals :
enable_phase_detector = ‘1’
bit_rate_value = X“bitrate”, eg X“1050”
XAPP585_02_061312
図 2 : SDR テ ク ニ ッ ク を使用するデー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整な し )
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
6
1:7 デシ リ ア ラ イ ズ と デー タ 受信
DDR デー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整な し )
ス キ ュ ー調整な し の DDR デザ イ ンは、 1:4 モー ド の ISERDES プ リ ミ テ ィ ブ を使用 し た後、 直接分散
RAM ベース のギ ア ボ ッ ク ス を介 し て、 4 分周 さ れた ク ロ ッ ク 周波数で 4 ビ ッ ト 幅のデー タ が ピ ク セル
ク ロ ッ ク 周波数で 7 ビ ッ ト 幅のデー タ へ と 変換 さ れます。各デー タ ラ イ ンで受信 し た 7 ビ ッ ト のデー タ
は、 選択 し た ク ロ ッ ク ネ ッ ト ワー ク (BUFR、 BUFH、 ま たは BUFG) に同期 し て利用可能にな り ます。
図 3 に、 DDR レ シーバーの図を示 し ます。
ギ アボ ッ ク ス が追加 さ れ、 PLL ま たは MMCM か ら の ク ロ ッ ク 信号が 1 つ追加 さ れ る 点を除 き 、 DDR
の動作は 「SDR デー タ 受信 ( ビ ッ ト ご と の ス キ ュ ー調整な し )」 で説明 し た SDR の場合 と 同 じ です。
前述の と お り 、 複数の受信チ ャ ネルが使用で き ますが、 1 つのチ ャ ネル内でデー タ と ク ロ ッ ク ラ イ ンの
位相が揃っ てい る こ と が前提です。 ただ し 、 チ ャ ネル間で位相を一致 さ せ る 必要はあ り ません。
X-Ref Target - Figure 3
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
LVDS CLOCK P
Channel 0
LVDS CLOCK N
Channel 0
IDELAY
ISERDES
Gearbox,
Calibration &
bitslip State
Machine
BITSLIP
4
BUFx
BUFx
PLL/
MMCM
Receive
Pixel Clock
BUFx
Receive
Clock
D Data Lines
LVDS DATA P
Channel 0
IDELAY
ISERDES
4
LVDS DATA N
Channel 0
Clock Line
LVDS DATA P
Channel N-1
LVDS DATA N
Channel N-1
BITSLIP
IDELAY
ISERDES
4
Gearbox
7
Channel 0 Data
D*7 bits
Gearbox,
Calibration &
bitslip State
Machine
LVDS DATA P
Channel N-1
D Data Lines
IDELAY
ISERDES
LVDS DATA N
Channel N-1
4
Parameters
N = Number of Channels
SAMPL_CLOCK = Receiverclock Buffer Type
INTER_CLOCK = Intermediate Clock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
HIGH_PERFORMANCE_MODE = TRUE or FALSE
Gearbox
7
Channel N-1 Data
D*7 bits
Signals :
enable_phase_detector = ‘1’
bit_rate_value = X“bitrate”, eg X“0560”
XAPP585_03_061312
図 3 : DDR テ ク ニ ッ ク を使用するデー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整な し )
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
7
1:7 デシ リ ア ラ イ ズ と デー タ 受信
SDR デー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整あ り )
デー タ 受信は、 デー タ ラ イ ン で正 し い ク ロ ッ ク 遅延が判断 さ れて IODELAYE2 へ渡 さ れ る と い う 点で
は標準の SDR 動作 と 同 じ です。 入力デー タ ラ イ ンは、 2 つ目の IODELAYE2 と 2 つ目の ISERDES プ
リ ミ テ ィ ブに も 配線 さ れます (図 6)。 入力規格は、 入力ピ ン を 2 つ使用す る LVDS であ る ため、 2 つ目
の遅延エ レ メ ン ト と ISERDES エ レ メ ン ト は制約を受け ません。
すでに説明 し た と お り 、 通常マ ス タ ー デー タ 遅延の初期遅延はア イ の中央に設定 さ れます。 ス レーブ遅
延は、 1/2 ビ ッ ト 周期分ず ら し て設定 さ れます (前ま たは後ろへ)。 その結果、 1/2 ビ ッ ト 周期分離れた 2
つのサンプル値が入力デー タ ラ イ ンで取得 さ れます。
その後、 次のアルゴ リ ズ ム を用いて正 し いサンプ リ ン グ遅延を判断 し ます。 1/2 ビ ッ ト 周期離れた (次の
遷移の) 2 つのサンプル値が同 じ 場合は、 サンプ リ ン グ ポ イ ン ト が遅すぎ る ため入力遅延を 1 タ ッ プ減
ら す必要があ り ます (図 4)。 (次の遷移の) 2 つのサンプル値が異な る 場合は、 サンプル ポ イ ン ト が早す
ぎ る ため入力遅延 ラ イ ン を 1 タ ッ プ追加 し ます。 こ の メ カ ニズ ムでは、 入力デー タ が変化す る こ と が条
件です。 デー タ ラ イ ンが固定 0 ま たは固定 1 の場合、 遅延は入力 ク ロ ッ ク に対 し て キ ャ リ ブ レーシ ョ ン
で判断 さ れた初期値の ま ま と な り 、 デー タ ラ イ ンの遷移が検出 さ れ る ま で変わ り ません。
X-Ref Target - Figure 4
1/2 bit Period
Slave Sample
Master Sample
XAPP585_04a_042912
図 4 : デー タ サン プ リ ング – 遅延が長すぎ る
X-Ref Target - Figure 5
1/2 bit Period
Slave Sample
Master Sample
XAPP585_04b_042912
図 5 : デー タ サン プ リ ング – 遅延が短すぎ る
サンプ リ ン グ ク ロ ッ ク に同期す る リ アル タ イ ム な比較は不可能なため、 7 ビ ッ ト のデー タ がパ ラ レルで
使用 さ れます。 つま り 各入力 ラ イ ンで 2 つの 7 ビ ッ ト サンプルが必要です。
こ のアルゴ リ ズ ムでは、不正 (パ ソ ロ ジ カル) 動作が起 こ る 場合が 2 つあ り ます。遅延値が 0 へ向か っ て
ラ ッ プア ラ ウ ン ド さ れ る 場合 と 0 か ら 離れて ラ ッ プア ラ ウ ン ド さ れ る 場合です。 いずれの場合で も 、 1
つのビ ッ ト が二度受信 さ れた り 、 ま っ た く 受信 さ れない と いっ たデー タ の破損が生 じ ます。 デー タ 破損
を防ぐ ため、 フ ァ ブ リ ッ ク ロ ジ ッ ク には、 こ れ ら の状況を検出 し て適切にパ イ プ ラ イ ン を追加す る ため
の レ ジ ス タ と 乗算器が含まれてい ます。
こ の方法の短所は、 イ ンプ リ メ ン ト に多数の フ ァ ブ リ ッ ク ロ ジ ッ ク を必要 と す る こ と です。 長所は、 正
し いデー タ 受信が保証 さ れ る と 同時に各入力 ラ イ ン を個別に リ アル タ イ ム で ス キ ュ ー調整で き る こ と で
す。 こ れに よ り 、 ス キ ュ ーの原因 と な る PCB 配線、 ピ ン遅延、 お よ び ト ラ ン ス ミ ッ タ ー ピ ンのば ら つ
き は、 タ イ ミ ン グ解析か ら 除外 さ れます。
ス キ ュ ー調整アルゴ リ ズ ムは、 いずれかの方向でビ ッ ト 変動の程度に関係な く 動作 し ますが、 パ ラ レル
ワー ド が入力 さ れ る ピ ク セル ク ロ ッ ク パ タ ーン と 同期す る 必要があ る と い う ビデオ イ ン タ ーフ ェ イ ス
の特性に よ り 、 入力 と ク ロ ッ ク ラ イ ン の ス キ ュ ーは、 各チ ャ ネルで ± 1/4 UI 以内 と な る よ う にす る こ
と を推奨 し ま す。 こ の範囲を超え て も 回路は機能 し ま すが、 ワ ー ド の ス キ ュ ー調整には、 ユーザー ロ
ジ ッ ク が さ ら に必要にな る 場合があ り ます。 図 6 に、 こ の場合の レ シーバーのブ ロ ッ ク 図を示 し ます。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
8
1:7 デシ リ ア ラ イ ズ と デー タ 受信
X-Ref Target - Figure 6
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
LVDS CLOCK P
Channel 0
LVDS CLOCK N
Channel 0
IDELAY
ISERDES
BITSLIP
Calibration &
bitslip State
Machine
7
BUFx
PLL/
MMCM
Receive
Pixel Clock
BUFx
Receive
Clock
D Data Lines
Clock Line
LVDS DATA P
Channel 0
IDELAY
ISERDES
LVDS DATA N
Channel 0
IDELAY
ISERDES
IDELAY
ISERDES
LVDS DATA P
Channel N-1
LVDS DATA N
Channel N-1
D Data Lines
7
Deskew
Control
7
7
Channel 0 Data
D*7 bits
7
Channel N-1 Data
D*7 bits
BITSLIP
7
LVDS DATA P
Channel N-1
IDELAY
LVDS DATA N
Channel N-1
IDELAY
Calibration &
bitslip State
Machine
ISERDES
7
ISERDES
Parameters
N = Number of Channels
SAMPL_CLOCK = Receiverclock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
HIGH_PERFORMANCE_MODE = TRUE or FALSE
7
Deskew
Control
Signals :
enable_phase_detector = ‘1’
bit_rate_value = X“bitrate”, eg X“1050”
XAPP585_05_061312
図 6 : SDR テ ク ニ ッ ク を使用するデー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整あ り )
DDR デー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整あ り )
サポー ト さ れ る 最後のデー タ 受信例は、 ビ ッ ト ご と に ス キ ュ ー調整を行 う DDR テ ク ニ ッ ク です。 デー
タ は、1:4 ISERDES コ ン フ ィ ギ ュ レーシ ョ ンお よ びギアボ ッ ク ス と 中間 ク ロ ッ ク を使用す る 、標準 DDR
と 同 じ よ う に受信 さ れますが、 その他に ス レーブ ISERDES も 使用 し ます。 こ れ も 1:4 と し て コ ン フ ィ
ギ ュ レーシ ョ ン さ れ、 各 ISERDES に 1 つずつの 2 つの IODELAYE2 は 1/2 ビ ッ ト 周期ずれた値が設
定 さ れてい ます。
ス キ ュ ー調整の メ カ ニズ ムは、サンプル デー タ がマ ス タ ーお よ びス レーブ ISERDES か ら 直接取得 し た
4 ビ ッ ト デー タ であ る 点を除いて、 前述 と 同 じ です。 結果 と な る 出力は、 4 ビ ッ ト /7 ビ ッ ト のギアボ ッ
ク ス を使用 し て ピ ク セル ク ロ ッ ク ド メ イ ンへ渡 さ れます (図 7)。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
9
1:7 デシ リ ア ラ イ ズ と デー タ 受信
X-Ref Target - Figure 7
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
LVDS CLOCK P
Channel 0
LVDS CLOCK N
Channel 0
IDELAY
ISERDES
Gearbox,
Calibration &
bitslip State
Machine
BITSLIP
4
BUFx
BUFx
PLL/
MMCM
Receive
Pixel Clock
BUFx
Receive
Clock
D Data Lines
Clock Line
LVDS DATA P
Channel 0
IDELAY
LVDS DATA N
Channel 0
IDELAY
4
ISERDES
LVDS DATA P
Channel N-1
LVDS DATA N
Channel N-1
D Data Lines
ISERDES
4
BITSLIP
IDELAY
ISERDES
4
LVDS DATA P
Channel N-1
IDELAY
LVDS DATA N
Channel N-1
IDELAY
ISERDES
4
ISERDES
Parameters
N = Number of Channels
SAMPL_CLOCK = Receiverclock Buffer Type
INTER_CLOCK = Intermediate Clock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
HIGH_PERFORMANCE_MODE = TRUE or FALSE
4
Gearbox
&
Deskew
Control
7
Channel 0 Data
D*7 bits
7
Channel N-1 Data
D*7 bits
Gearbox,
Calibration &
bitslip State
Machine
Gearbox
&
Deskew
Control
Signals :
enable_phase_detector = ‘0’
bit_rate_value = X“bitrate”, eg X“0560”
XAPP585_06_061312
図 7 : DDR テ ク ニ ッ ク を使用するデー タ 受信 ( ビ ッ ト ご と のスキ ュ ー調整あ り )
最小デー タ レー ト の留意事項
デー タ 取得の メ カ ニ ズ ムは、 IODELAYE2 ブ ロ ッ ク に依存 し ま す。 こ のブ ロ ッ ク は、 78ps (公称値) 単
位の 31 遅延を許容可能なため、 最小キ ャ プチ ャ 周波数は 78 x 31 = 2,418ps、 つま り 415Mb/s と な り ま
す。 こ の値 よ り も 低いビ ッ ト レー ト の場合、 1 回の遅延 ラ イ ンにエ ッ ジが検出 さ れず、 最初の ク ロ ッ ク
キ ャ リ ブ レーシ ョ ンがエ ラ ー と な り ます (回路は継続的にループ)。 し たがっ て、 415Mb/s (59.28MHz ピ
ク セル ク ロ ッ ク ) よ り も 低いデー タ 受信では、 自動的に ビ ッ ト ご と の ス キ ュ ー調整が無効 (有効に設定
さ れてい る 場合) にな り 、 ト レーニ ン グに対 し て最良の推測を行 う 方法を と り ます。 遅延 ラ イ ン でエ ッ
ジが検出 さ れた場合、 最終的な遅延値は ± 10h タ ッ プに静的に設定 さ れます。 エ ッ ジが検出 さ れない場
合の遅延 ラ イ ンは 10h タ ッ プに設定 さ れます。 いずれの場合で も 、 遅延は低い ビ ッ ト レー ト で許容可能
な、 ア イ のエ ッ ジか ら 少な く と も 10h タ ッ プ離れて設定 さ れます。
こ の最小デー タ レー ト の留意事項は、 ト レーニ ン グ パ タ ーンが不要な ト ラ ン ス ミ ッ タ ー ロ ジ ッ ク には
適用 さ れません。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
10
シ リ ア ラ イ ズ と デー タ 送信
シ リ ア ラ イズと
デー タ 送信
必要な出力用の転送 ク ロ ッ ク と デー タ ス ト リ ームは同 じ タ イ ミ ン グで ス テー ト を変更す る ため、同一の
送信 ク ロ ッ ク か ら 生成 さ れます。 こ の例には、 カ メ ラ やフ ラ ッ ト パネル TV、 モニ タ ーで使用 さ れ る 7:1
イ ン タ ーフ ェ イ ス があ り ます (図 8)。
X-Ref Target - Figure 8
Internal DDR
Transmitter Clock
or
Internal SDR
Transmitter Clock
Transmitted 7-bit Data
D0
D1
D2
D3
D4
D5
D6
Forwarded Clock
Start of
serial data word
Start of
serial data word
XAPP585_07_061312
図 8 : 低速の転送ク ロ ッ ク を使用する出力デー タ ス ト リ ーム (7:1 SerDes)
7 シ リ ーズ FPGA のデー タ 送信
こ の メ カ ニズ ムの ト ポ ロ ジは、 非常にシ ンプルです。 必要に応 じ て ト ラ ン ス ミ ッ タ ーの ソ ース ク ロ ッ ク
を PLL で逓倍 し 、 内部 SDR ま たは DDR レー ト の ト ラ ン ス ミ ッ タ ー ク ロ ッ ク を生成 し ます。 SDR の
例では、 内部ピ ク セル ク ロ ッ ク が 7 逓倍 さ れて、 結果の VCO 周波数は 2 ページの表 1 に示す最大範囲
内にな り ます。 た と えば DDR の場合、 内部ピ ク セル ク ロ ッ ク を 3.5 で逓倍 し ます。
高速 ク ロ ッ ク お よ び低速 ク ロ ッ ク には、 PLL ま たは MMCM か ら の 2 つの ク ロ ッ ク 出力が使用 さ れ ま
す。 こ れ ら の ク ロ ッ ク は位相が揃っ てい る ため、 すべての OSERDES がそれぞれの SR 入力の同期 リ
セ ッ ト で同期化 さ れた後、 OSERDES で正 し く シ リ ア ラ イ ズ さ れます。 適用 さ れたパ ラ レル デー タ は、
高速送信 ク ロ ッ ク を用いて出力用にシ リ ア ラ イ ズ さ れます。 転送 ク ロ ッ ク 出力は、 ク ロ ッ ク ラ イ ンに関
連す る OSERDES へ一定値を送信する こ と で同 じ よ う に生成 さ れます。7:1 のビデオ アプ リ ケーシ ョ ン
の転送 ク ロ ッ ク は、 転送 ク ロ ッ ク と デー タ の関係が一般的な規格に準拠す る よ う に、 1100001 ま たは
1100011 が必要です。 12 ページの図 9 に、 SDR 送信 ク ロ ッ ク を使用す る 場合の回路 と 出力波形を示 し
ます。 13 ページの図 10 では、 OSERDES が 7:1 モー ド に コ ン フ ィ ギ ュ レーシ ョ ン さ れ、 OSERDES の
CLKDIV ピ ンに同期 し て 7 ビ ッ ト デー タ ( ま たは ク ロ ッ ク の定数デー タ ) が適用 さ れてい ます。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
11
シ リ ア ラ イ ズ と デー タ 送信
X-Ref Target - Figure 9
clock_generator_pll_7_to_1_diff_sdr.v/vhd
BUFx
LVDS CLOCK P
PLL/
MMCM
LVDS CLOCK N
Parameters
TX_CLOCK = Transmission Clock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
BUFx
System (Pixel) Clock
High Speed DDR Clock
n_x_serdes_7_to_1_diff_sdr.v/vhd
D*N*7-bit Transmitter
Data From Fabric
SDR MASTER
OSERDES
D Data Lines
– Channel 0
7-bit Constant for
Clock Generation
SDR MASTER
OSERDES
Forwarded Clock
– Channel 0
SDR MASTER
OSERDES
D Data Lines
– Channel N-1
SDR MASTER
OSERDES
Forwarded Clock
– Channel N-1
Parameters :
D = Number of Data Lines per Channel
N = N umber of Channels
XAPP585_08_061312
図 9 : SDR テ ク ニ ッ ク を使用するデー タ 送信
1 つの FPGA で 7:1 規格のデー タ 受信 と デー タ 送信 を 実行 し て い る 場合、 送信 と 受信で PLL ま たは
MMCM を共有で き ます。 し たが っ て、 同 じ PLL と ク ロ ッ ク ネ ッ ト ワ ー ク をデー タ 受信 と デー タ 送信
に使用で き ます。
DDR の留意事項
DDR メ カ ニズ ムの ト ポ ロ ジは、 SDR よ り も 多少複雑です。 OSERDES は、 DDR モー ド で 7:1 のシ リ
ア ラ イ ズ を実行で き ま せんが、 こ のモー ド で 14:1 ( カ ス ケー ド 接続時) に コ ン フ ィ ギ ュ レーシ ョ ン で き
ます。 ト ラ ン ス ミ ッ タ ーの ソ ース ク ロ ッ ク は PLL/MMCM で 3.5 で逓倍 さ れ、 入力 と 同 じ 周波数の内
部 DDR ト ラ ン ス ミ ッ タ ー ク ロ ッ ク と ピ ク セル ク ロ ッ ク を生成 し ます。 さ ら に、 ピ ク セル ク ロ ッ ク 1/2
の速度で動作す る 3 つ目の ク ロ ッ ク が必要です。 こ の ク ロ ッ ク は、 OSERDES の CLKDIV 入力に使用
さ れ、 高速送信 ク ロ ッ ク の 1/14 と な り ます。 こ の 3 つ目の低速 ク ロ ッ ク に同期 し て、 一度に 14 ビ ッ ト
デー タ が OSERDES に現れ る 必要があ り ます。
ピ ク セル ク ロ ッ ク レー ト で動作す る 内部デー タ は、 単純な ギ ア ボ ッ ク ス を介 し て こ の 3 つ目の低速 ク
ロ ッ ク へ移動 さ れ ま す (図 10)。7 ビ ッ ト 幅のデー タ が ピ ク セル ク ロ ッ ク レー ト でギ ア ボ ッ ク スへ入力
さ れ、 1/2 ピ ク セル ク ロ ッ ク レ ー ト で 14 ビ ッ ト 幅のデー タ が出力 さ れて、 OSERDES へ直接接続 さ
れ ます (図 10)。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
12
シ リ ア ラ イ ズ と デー タ 送信
X-Ref Target - Figure 10
clock_generator_pll_7_to_1_diff_sdr.v/vhd
BUFx
LVDS CLOCK P
PLL/
MMCM
LVDS CLOCK N
Parameters
TX_CLOCK = Transmission Clock Buffer Type
INTER_CLOCK = Intermediate Clock Buffer Type
PIXEL_CLOCK = Pixel Clock Buffer Type
USE_PLL = Use PLL or MMCM
MMCM_MODE = Multiplication Factor for PLL/MMCM
DIFF_TERM = Enable/disable Internal Termination
CLKIN_PERIOD = Input Clock Period
BUFx
BUFx
System (Pixel) Clock
Gearbox
Clock
n_x_serdes_7_to_1_diff_sdr.v/vhd
D*N*7-bit Transmitter
Data From Fabric
Gearbox
7 to 14
DDR MASTER
OSERDES
High Speed DDR Clock
D Data Lines
– Channel 0
DDR SLAVE
OSERDES
7-bit Constant for
Clock Generation
DDR MASTER
OSERDES
Forwarded Clock
– Channel 0
DDR SLAVE
OSERDES
Parameters :
D = Number of Data Lines per Channel
N = Number of Channels
Gearbox
7 to 14
DDR MASTER
OSERDES
D Data Lines
– Channel N-1
DDR SLAVE
OSERDES
DDR MASTER
OSERDES
Forwarded Clock
– Channel N-1
DDR SLAVE
OSERDES
XAPP585_09_061312
図 10 : DDR テ ク ニ ッ ク を使用するデー タ 送信
レ シーバーの タ イ ミ ングに関する留意事項
レ シーバーでは、 タ イ ミ ン グのば ら つ き の原因をい く つか考慮 し なければな り ません。 こ れ ら を ビ ッ ト
周期か ら 差 し 引いた上でデザ イ ン が設計要件を満たすか ど う か を判断す る 必要が あ り ま す。 デザ イ ン
ZIP フ ァ イ ルに含まれてい る Excel ス プ レ ッ ド シー ト を利用す る と 、解析を迅速に行 う こ と がで き ます。
図 11 に、 ス ク リ ーン シ ョ ッ ト を示 し ます。 ス プ レ ッ ド シー ト の空欄セルにデザ イ ン のパ ラ メ ー タ ーを
入力す る と 、 計算 さ れた残 り の レ シーバー マージ ン と レ シーバー ス キ ュ ー マージ ン (RSKM) がマージ
ンの正/負を示す緑色ま たは赤色で表示 さ れます。
ば ら つき には次の よ う な原因があ り ます。
•
PLL/MMCM ジ ッ タ ー。 こ の値は、 ク ロ ッ キ ン グ ウ ィ ザー ド か ら 取得で き ます。
•
ビ ッ ト ご と の ス キ ュ ー調整の精度。 ビ ッ ト ご と の ス キ ュ ー調整を使用す る 場合、 こ の値は丸め込み
エ ラ ーな ど に よ る ±2 遅延 タ ッ プです。 ビ ッ ト ご と の ス キ ュ ー調整 を 実行 し な い場合、 こ の値は
IODELAYE2 エ レ メ ン ト の 半分 の 長 さ に な り ま す。 い ず れ の 場合 も 、 こ の 値 に は マ ス タ ー
IODELAYE2 と ス レーブ IODELAYE2 エ レ メ ン ト 間のすべての ク ロ ッ ク ス キ ュ ー と セ ッ ト ア ッ プ
お よ びホール ド タ イ ミ ン グの差異が含まれます。 IODELAYE2 エ レ メ ン ト が正常に動作す る には、
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
13
シ リ ア ラ イ ズ と デー タ 送信
200MHz ま た は 300MHz の 基準 ク ロ ッ ク が 必要 で す。 IODELAYE2 お よ び関連す る
IDELAYCTRL 制御ブ ロ ッ ク の詳細は、 『7 シ リ ーズ FPGA SelectIO リ ソ ー ス ユーザー ガ イ ド 』
(UG471) を 参照 し て く だ さ い。 基準 ク ロ ッ ク の周波数 を 300MHz に増加 し た場合は レ シーバー
マ ー ジ ン が向上 し ま すが、 そ の代わ り ビ ッ ト ご と の ス キ ュ ー調整の最小動作 ビ ッ ト レ ー ト が
641Mb/s ま で増加 し ます。
•
遅延 ラ イ ンのパ タ ーン依存ジ ッ タ ー。 通常は 1 タ ッ プにつ き 9ps ですが、 IODELAYE2 エ レ メ ン ト
の HIGH_PERFORMANCE モー ド を使用する と こ れを 5ns ま で削減可能です。 使用 さ れた タ ッ プ
数は、 ス プ レ ッ ド シー ト で計算 さ れます。
•
サンプ リ ン グ ク ロ ッ ク のデ ュ ーテ ィ サ イ ク ルのずれ。 こ れは、 DDR テ ク ニ ッ ク を使用す る 場合に
のみ重要で、 レ シーバーのサンプ リ ン グ ク ロ ッ ク に選択 さ れたバ ッ フ ァ ーの種類に よ っ て異な り ま
す。
•
ト ラ ン ス ミ ッ タ ー ス キ ュ ー、 pcb ス キ ュ ー、 パ ッ ケージ ス キ ュ ー。 ビ ッ ト ご と の ス キ ュ ー調整デザ
イ ン を使用す る 場合はすべて除外 さ れますが、 こ れを使用 し ない場合には含まれます。
X-Ref Target - Figure 11
XAPP585_11_060512
図 11 : XLS レ シーバー マージ ンの計算のス ク リ ーン シ ョ ッ ト
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
14
リ フ ァ レ ン ス デザイ ン フ ァ イル
リ フ ァ レンス
デザイ ン フ ァ イル
こ のアプ リ ケーシ ョ ン ノ ー ト の リ フ ァ レ ン ス デザ イ ンは、 Verilog と VHDL の両方で提供 さ れてお り 、
次のサ イ ト か ら ダ ウ ン ロ ー ド で き ます。
https://secure.xilinx.com/webreg/clickthrough.do?cid=189138
それぞれの フ ァ イ ル名は、 こ こ で説明 し た メ ソ ド ロ ジの図中に記載 さ れてい ます。 フ ラ ッ ト パネル デ ィ
ス プ レ イ やカ メ ラ で利用 さ れ る 7:1 イ ン タ ーフ ェ イ ス用の最上位フ ァ イ ルお よ び タ イ ミ ン グ制約のサン
プル も 含まれてい ます。
SDR デー タ の入力お よ び出力モジ ュ ールでは、 イ ン タ ーフ ェ イ ス バ ス幅 (各 イ ン タ ーフ ェ イ ス の入力ピ
ン ま たは出力ピ ン の数) や共通 ク ロ ッ キ ン グ を使用す る イ ン タ ーフ ェ イ ス の数を それぞれパ ラ メ ー タ ー
指定で き ます。 含まれ る フ ァ イ ルを次に示 し ます。
•
clock_generator_pll_7_to_1_diff_sdr.v/vhd
•
n_x_serdes_7_to_1_diff_sdr.v/vhd
•
n_x_serdes_1_to_7_mmcm_idelay_sdr.v/vhd
DDR デー タ の入力お よ び出力モジ ュ ールでは、 入力幅 (各 イ ン タ ーフ ェ イ ス の入力ピ ン ま たは出力ピ ン
の数) や共通 ク ロ ッ キ ン グ を使用す る イ ン タ ーフ ェ イ ス の数を それぞれパ ラ メ ー タ ー指定で き ます。 含
まれ る フ ァ イ ルを次に示 し ます。
•
clock_generator_pll_7_to_1_diff_ddr.v/vhd
•
n_x_serdes_7_to_1_diff_ddr.v/vhd
•
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
表 4 : リ フ ァ レ ン ス デザイ ンの詳細
一般情報
開発元
ザイ リ ン ク ス
タ ーゲ ッ ト デバ イ ス
7 シ リ ーズ FPGA
ソ ース コ ー ド の提供
はい
ソ ース コ ー ド の形式
Verilog、 VHDL
既存の リ フ ァ レ ン ス デザ イ ン、 アプ リ ケーシ ョ ン
ノ ー ト 、 サー ド パーテ ィ 、 CORE Generator
ソ フ ト ウ ェ アか ら デザ イ ンへの コ ー ド /IP の使用
いいえ
シ ミ ュ レーシ ョ ン
機能シ ミ ュ レーシ ョ ンの実施
はい
タ イ ミ ン グ シ ミ ュ レーシ ョ ンの実施
いいえ
機能お よ び タ イ ミ ン グ シ ミ ュ レーシ ョ ンでの
テ ス ト ベンチの利用
いいえ
Verilog、 VHDL
ISIM
テ ス ト ベンチの形式
使用 し た シ ミ ュ レー タ
SPICE/IBIS シ ミ ュ レーシ ョ ンの実施
いいえ
イ ン プ リ メ ン テーシ ョ ン
使用 し た合成 ソ フ ト ウ ェ ア ツール
使用 し た イ ンプ リ メ ン テーシ ョ ン ソ フ ト ウ ェ ア ツール
ス タ テ ィ ッ ク タ イ ミ ン グ解析の実施
XST 13.4
ISE® Design Suite 13.4
はい
ハー ド ウ ェ ア検証
ハー ド ウ ェ ア検証の実施
はい
検証に使用 し たハー ド ウ ェ ア プ ラ ッ ト フ ォーム
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
FMC-X107 搭載の
KC705 ま たは VC707
15
ま とめ
表 5 : デバイ ス使用率
PLL
デザイ ン フ ァ イル
または
MMCM
クロッ ク
バッ フ ァー
スライス
ISERDES
OSERDES
clock_generator_pll_7_to_1_diff_sdr.v/vhd
1
2
0
0
0
n_x_serdes_7_to_1_diff_sdr.v/vhd
0
0
12
0
ラ イ ンあた り
clock_generator_pll_7_to_1_diff_ddr.v/vhd
1
3
0
0
0
n_x_serdes_7_to_1_diff_ddr.v/vhd
0
0
12
0
ラ イ ンあた り
n_x_serdes_1_to_7_mmcm_idelay_sdr.v/vhd
1
2
ラ イ ンあた り
最大 8
ラ イ ンあた り
0
1
3
ラ イ ンあた り
最大 17
ラ イ ンあた り
1
2
ラ イ ンあた り
最大 36
ラ イ ンあた り
1
3
ラ イ ンあた り
最大 45
ラ イ ンあた り
ビ ッ ト ご と の ス キ ュ ー調整は無効
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
ビ ッ ト ご と の ス キ ュ ー調整は無効
n_x_serdes_1_to_7_mmcm_idelay_sdr.v/vhd
ビ ッ ト ご と の ス キ ュ ー調整は無効
n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd
ビ ッ ト ご と の ス キ ュ ー調整は無効
ま とめ
1
2
2
2
1
2
0
0
0
7 シ リ ーズ FPGA は、ビ ッ ト ご と の ス キ ュ ー調整を使用 し て ラ イ ン あ た り 415Mb/s ~ 1,200Mb/s で 7:1
のシ リ ア ラ イ ズお よ びデシ リ ア ラ イ ズ を必要 と す る さ ま ざ ま な アプ リ ケーシ ョ ンに対応 し ます。 対応速
度は使用す る デバ イ ス フ ァ ミ リ やス ピー ド グ レー ド に よ っ て異な り ます。
改訂履歴
Notice of
Disclaimer
次の表に、 こ の文書の改訂履歴を示 し ます。
日付
バージ ョ ン
2012 年 6 月 27 日
1.0
内容
初版 リ リ ース
The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and use
of 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 OF
MERCHANTABILITY, 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 other
theory of liability) for any loss or damage of any kind or nature related to, arising under, or in connection
with, 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 loss
or damage suffered as a result of any action brought by a third party) even if such damage or loss was
reasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes no
obligation to correct any errors contained in the Materials or to notify you of updates to the Materials or
to product specifications. You may not reproduce, modify, distribute, or publicly display the Materials
without prior written consent. Certain products are subject to the terms and conditions of the Limited
Warranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject to
warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
16
Automotive Applications Disclaimer
designed or intended to be fail-safe or for use in any application requiring fail-safe performance; you
assume sole risk and liability for use of Xilinx products in Critical Applications:
http://www.xilinx.com/warranty.htm#critapps.
Automotive
Applications
Disclaimer
XILINX PRODUCTS ARE NOT DESIGNED OR INTENDED TO BE FAIL-SAFE, OR FOR USE IN
ANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONS
RELATED TO: (I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESS
THERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OF
SOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNING
SIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATH
OR PERSONAL INJURY. CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USE
OF XILINX PRODUCTS IN SUCH APPLICATIONS.
本資料は英語版 (v1.0) を翻訳 し た も ので、 内容に相違が生 じ る 場合には原文を優先 し ます。
資料に よ っ ては英語版の更新に対応 し ていない も のがあ り ます。
日本語版は参考用 と し て ご使用の上、 最新情報につ き ま し ては、 必ず最新英語版を ご参照 く だ さ い。
こ の 資 料 に 関 す る フ ィ ー ド バ ッ ク お よ び リ ン ク な ど の 問 題 に つ き ま し て は、
[email protected] ま でお知 ら せ く だ さ い。 いただ き ま し た ご意見を参考に早急に対応 さ
せていただ き ます。 なお、 こ の メ ール ア ド レ スへのお問い合わせは受け付けてお り ません。 あ ら か じ め
ご了承 く だ さ い。
XAPP585 (v1.0) 2012 年 6 月 27 日
japan.xilinx.com
17