ア プ リ ケーシ ョ ン ノ ー ト : 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
© Copyright 2024 ExpyDoc