17
XAPP585 (v1.0) 2012 6 27 japan.xilinx.com 1 © Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners. 概要 ザイリンクスの 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 の配線スキュー要件を緩和してよ り厳しいタ イミング マージンを与えることができます。 アプリケーション ノート : 7 シリーズ FPGA XAPP585 (v1.0) 2012 6 27 逓倍させたクロックを使用する LVDS ソース同期 7:1 シリアライズおよびデシリアライズ 著者 : Nick Sawyer

ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

  • Upload
    others

  • View
    126

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 1

© Copyright 2012 Xilinx, Inc. Xilinx, the Xilinx logo, Artix, ISE, Kintex, Spartan, Virtex, Zynq, and other designated brands included herein are trademarks of Xilinx in the United States and other countries. All other trademarks are the property of their respective owners.

概要 ザイ リ ンクスの 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 の配線スキュー要件を緩和してよ り厳しいタ

イ ミ ング マージンを与えるこ とができます。

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

XAPP585 (v1.0) 2012 年 6 月 27 日

逓倍させたクロックを使用する LVDS ソース同期の 7:1 シリアライズおよびデシリアライズ著者 : Nick Sawyer

Page 2: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

ISERDES および OSERDES のガイドライン

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 2

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 が可能で、 DDRI/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 ク ロ ッ ク ネッ ト ワークのみです。

X-Ref Target - Figure 1

図 1 : 低速な転送クロックを使用するデータ スト リーム (7:1 SerDes)

Received 1:7 Data

Line 0

Line 1

Line 2

Line 3

Line 4

Received ClockXAPP585_01_042912

D0 D5 D10 D15 D20 D30D25

D1 D6 D11 D16 D21 D31D26

D2 D7 D12 D17 D22 D32D27

D3 D8 D13 D18 D23 D33D28

D4 D9 D14 D19 D24 D34D29

表 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

Page 3: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

クロッキングのガイドライン

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 3

表 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 つのク ロ ッ ク バッ

ファーが必要です。表にないクロ ッ ク バッファーの組み合わせは、シ リ コンでサポート されていないか

推奨されていないソ リ ューシ ョ ンです。

Virtex®-7 -1 625MHz 710MHz 450MHz 625MHz

Virtex-7 -2 710MHz 800MHz 540MHz 710MHz

表 1 : 7 シリーズ FPGA のグローバル クロックと PLL/MMCMの仕様 (続き)

FPGA スピード グレード

グローバル クロック ネッ ト

ワークの最大値 (BUFG)

I/O クロック ネッ トワークの

最大値 (BUFIO)

リージ ョナル クロック

ネッ トワークの

最大値 (BUFR)

水平クロック ネッ トワークの

最大値 (BUFH)

表 2 : SDR のデザイン別最大ビッ ト レート

CLK (x7) + CLKDIV (x1)

1 つのバンクの単一/複数インターフェイス

(共通ピクセル クロック)複数バンクの複数インターフェイス

(共通ピクセル クロック)PLL または

MMCM

BUFG + BUFG

Artix-7 FPGA : 464Mb/s Artix-7 FPGA : 464Mb/s

PLL/MMCMKintex-7 FPGA : 625Mb/s Kintex-7 FPGA : 625Mb/s

Virtex-7 FPGA : 625Mb/s Virtex-7 FPGA : 625Mb/s

BUFIO + BUFR

Artix-7 FPGA : 600Mb/s

不可 MMCM のみKintex-7 FPGA : 710Mb/s

Virtex-7 FPGA : 710Mb/s

BUFH + BUFH

Artix-7 FPGA : 464Mb/s

不可 PLL/MMCMKintex-7 FPGA : 625Mb/s

Virtex-7 FPGA : 625Mb/s

BUFR + BUFR

Artix-7 FPGA : 315Mb/s

不可 MMCM のみKintex-7 FPGA : 450Mb/s

Virtex-7 FPGA : 450Mb/s

表 3 : DDR のデザイン別最大ビッ ト レート

CLK (x7) + CLKDIV (x7/4) + PCLK (x1)

1 つのバンクの単一/複数インターフェイス

(共通ピクセル クロック)複数バンクの複数インターフェイス

(共通ピクセル クロック)PLL または

MMCM

BUFG + BUFG + BUFG

Artix-7 FPGA : 928Mb/s Artix-7 FPGA : 928Mb/s

PLL/MMCMKintex-7 FPGA : 1,200Mb/s Kintex-7 FPGA : 1,200Mb/s

Virtex-7 FPGA : 1,200Mb/s Virtex-7 FPGA : 1,200Mb/s

BUFIO + BUFR + BUFG

Artix-7 FPGA : 1,200Mb/s

不可 MMCM のみKintex-7 FPGA : 1,200Mb/s

Virtex-7 FPGA : 1,200Mb/s

Page 4: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

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

1:7 デシリアライズとデータ受信

データ ス ト リームは入力クロ ッ ク レートの倍数 (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 で逓倍されま

BUFH + BUFH + BUFG

Artix-7 FPGA : 928Mb/s

不可 PLL/MMCMKintex-7 FPGA : 1,200Mb/s

Virtex-7 FPGA : 1,200Mb/s

BUFIO + BUFR + BUFR

Artix-7 FPGA : 1,200Mb/s

不可 MMCM のみKintex-7 FPGA : 1,200Mb/s

Virtex-7 FPGA : 1,200Mb/s

BUFH + BUFH + BUFH

Artix-7 FPGA : 928Mb/s

不可 PLL/MMCMKintex-7 FPGA : 1,200Mb/s

Virtex-7 FPGA : 1,200Mb/s

表 3 : DDR のデザイン別最大ビッ ト レート (続き)

CLK (x7) + CLKDIV (x7/4) + PCLK (x1)

1 つのバンクの単一/複数インターフェイス

(共通ピクセル クロック)複数バンクの複数インターフェイス

(共通ピクセル クロック)PLL または

MMCM

Page 5: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 5

す。 データ受信には、 モードやト ポロジによって異なるク ロ ッ ク ネッ ト を選択できます。 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 からの逓

Page 6: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 6

倍されたクロ ッ クが唯一使用されるレシーバー ク ロ ッ クです。 しかし、 たとえば、チャネル 1 の入力ク

ロ ッ クは、チャネル 1 用ステート マシンの入力と して使用され、先述のとおり位相アライ メン トが行わ

れます。 また、 この方法を利用する場合は、 チャネル内のクロ ッ ク とデータ ラインの位相が正し く揃っ

ているこ とが前提ですが、各チャネルが互いに揃う必要はなく、同じ周波数で動作するだけで十分です。

X-Ref Target - Figure 2

図 2 : SDR テクニックを使用するデータ受信 (ビッ トごとのスキュー調整なし )

LVDS CLOCK PChannel 0

LVDS CLOCK NChannel 0

LVDS DATA PChannel 0

LVDS DATA NChannel 0

ISERDESIDELAY

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

ISERDES IDELAY

BUFx

BITSLIP Calibration &bitslip State

Machine

ParametersN = Number of Channels

SAMPL_CLOCK = Receiverclock Buffer TypePIXEL_CLOCK = Pixel Clock Buffer Type

USE_PLL = Use PLL or MMCMMMCM_MODE = Multiplication Factor for PLL/MMCM

DIFF_TERM = Enable/disable Internal TerminationCLKIN_PERIOD = Input Clock Period

HIGH_PERFORMANCE_MODE = TRUE or FALSE

Signals :enable_phase_detector = ‘1’bit_rate_value = X“bitrate”, eg X“1050”

D Data Lines

ReceiveClock

BUFxPLL/

MMCM

ReceivePixel Clock

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYClock Line

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYD Data Lines

BITSLIP

Channel 0 DataD*7 bits

Channel N-1 DataD*7 bits

7

7

7

7

Calibration &bitslip State

Machine

XAPP585_02_061312

Page 7: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 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

図 3 : DDR テクニックを使用するデータ受信 (ビッ トごとのスキュー調整なし )

LVDS CLOCK PChannel 0

LVDS CLOCK NChannel 0

LVDS DATA PChannel 0

LVDS DATA NChannel 0

ISERDESIDELAY

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

ISERDES IDELAY

BUFx

BUFx

BITSLIP Gearbox,Calibration &bitslip State

Machine

Gearbox

Gearbox

Gearbox,Calibration &bitslip State

Machine

ParametersN = Number of Channels

SAMPL_CLOCK = Receiverclock Buffer TypeINTER_CLOCK = Intermediate Clock Buffer Type

PIXEL_CLOCK = Pixel Clock Buffer TypeUSE_PLL = Use PLL or MMCM

MMCM_MODE = Multiplication Factor for PLL/MMCMDIFF_TERM = Enable/disable Internal Termination

CLKIN_PERIOD = Input Clock PeriodHIGH_PERFORMANCE_MODE = TRUE or FALSE

Signals :enable_phase_detector = ‘1’bit_rate_value = X“bitrate”, eg X“0560”

D Data Lines

ReceiveClock

BUFx

PLL/MMCM

ReceivePixel Clock

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYClock Line

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYD Data Lines

BITSLIP

Channel 0 DataD*7 bits

Channel N-1 DataD*7 bits

7 4

4 7

4

4

XAPP585_03_061312

Page 8: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 8

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 の場合、遅延は入力クロ ッ クに対してキャ リブレーシ ョ ン

で判断された初期値のまま とな り、 データ ラインの遷移が検出されるまで変わり ません。

サンプリ ング ク ロ ッ クに同期する リアルタイムな比較は不可能なため、 7 ビッ トのデータがパラレルで

使用されます。 つま り各入力ラインで 2 つの 7 ビッ ト サンプルが必要です。

このアルゴ リズムでは、不正 (パソロジカル) 動作が起こる場合が 2 つあり ます。遅延値が 0 へ向かって

ラ ップアラウンド される場合と 0 から離れてラ ップアラウンド される場合です。 いずれの場合でも、 1つのビッ トが二度受信されたり、 まった く受信されないといったデータの破損が生じます。 データ破損

を防ぐため、 ファブ リ ッ ク ロジッ クには、 これらの状況を検出して適切にパイプラインを追加するため

のレジスタ と乗算器が含まれています。

この方法の短所は、 インプ リ メン トに多数のファブ リ ッ ク ロジッ クを必要とするこ とです。長所は、正

しいデータ受信が保証される と同時に各入力ラインを個別にリ アルタイムでスキュー調整できるこ とで

す。 これによ り、 スキューの原因となる PCB 配線、 ピン遅延、 およびト ランス ミ ッ ター ピンのばらつ

きは、 タイ ミ ング解析から除外されます。

スキュー調整アルゴ リズムは、 いずれかの方向でビッ ト変動の程度に関係なく動作しますが、 パラレル

ワードが入力されるピクセル ク ロ ッ ク パターンと同期する必要がある という ビデオ インターフェイス

の特性によ り、 入力と ク ロ ッ ク ラ インのスキューは、 各チャネルで ± 1/4 UI 以内となるよ うにするこ

と を推奨します。 この範囲を超えても回路は機能しますが、 ワードのスキュー調整には、 ユーザー ロジッ クがさ らに必要になる場合があ り ます。 図 6 に、 この場合のレシーバーのブロ ッ ク図を示します。

X-Ref Target - Figure 4

図 4 : データ サンプリング – 遅延が長すぎる

X-Ref Target - Figure 5

図 5 : データ サンプリング – 遅延が短すぎる

1/2 bit Period

Slave Sample Master Sample

XAPP585_04a_042912

1/2 bit Period

Slave Sample Master Sample

XAPP585_04b_042912

Page 9: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 9

DDR データ受信 (ビッ トごとのスキュー調整あり )

サポート される最後のデータ受信例は、 ビッ ト ごとにスキュー調整を行う DDR テクニッ クです。 デー

タは、1:4 ISERDES コンフ ィギュレーシ ョ ンおよびギアボッ クス と中間クロ ッ クを使用する、標準 DDRと同じよ うに受信されますが、 その他にスレーブ ISERDES も使用します。 これも 1:4 と してコンフ ィ

ギュレーシ ョ ンされ、 各 ISERDES に 1 つずつの 2 つの IODELAYE2 は 1/2 ビッ ト周期ずれた値が設

定されています。

スキュー調整のメカニズムは、サンプル データがマスターおよびスレーブ ISERDES から直接取得した

4 ビッ ト データである点を除いて、 前述と同じです。 結果となる出力は、 4 ビッ ト /7 ビッ トのギアボッ

クスを使用してピクセル ク ロ ッ ク ド メ インへ渡されます (図 7)。

X-Ref Target - Figure 6

図 6 : SDR テクニックを使用するデータ受信 (ビッ トごとのスキュー調整あり )

LVDS CLOCK PChannel 0

LVDS CLOCK NChannel 0

LVDS DATA PChannel 0

LVDS DATA NChannel 0

ISERDESIDELAY

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

ISERDES IDELAY

ISERDES IDELAY

BUFx

BITSLIP Calibration &bitslip State

Machine

DeskewControl

ParametersN = Number of Channels

SAMPL_CLOCK = Receiverclock Buffer TypePIXEL_CLOCK = Pixel Clock Buffer Type

USE_PLL = Use PLL or MMCMMMCM_MODE = Multiplication Factor for PLL/MMCM

DIFF_TERM = Enable/disable Internal TerminationCLKIN_PERIOD = Input Clock Period

HIGH_PERFORMANCE_MODE = TRUE or FALSE

Signals :enable_phase_detector = ‘1’bit_rate_value = X“bitrate”, eg X“1050”

D Data Lines

ReceiveClock

BUFxPLL/

MMCM

ReceivePixel Clock

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYClock Line

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

D Data Lines

BITSLIP

Channel 0 DataD*7 bits

Channel N-1 DataD*7 bits

7

7

7

ISERDES IDELAY

ISERDES IDELAYDeskewControl 7

7

7

7

7

Calibration &bitslip State

Machine

XAPP585_05_061312

Page 10: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

1:7 デシリアライズとデータ受信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 10

最小データ レートの留意事項

データ取得のメカニズムは、 IODELAYE2 ブロ ッ クに依存します。 このブロ ッ クは、 78ps (公称値) 単位の 31 遅延を許容可能なため、最小キャプチャ周波数は 78 x 31 = 2,418ps、つま り 415Mb/s とな り ま

す。 この値よ り も低いビッ ト レートの場合、 1 回の遅延ラインにエッジが検出されず、 最初のクロ ッ ク

キャ リブレーシ ョ ンがエラーとな り ます (回路は継続的にループ)。したがって、415Mb/s (59.28MHz ピクセル ク ロ ッ ク ) よ り も低いデータ受信では、 自動的にビッ ト ごとのスキュー調整が無効 (有効に設定

されている場合) になり、 ト レーニングに対して最良の推測を行う方法をと り ます。 遅延ラインでエッ

ジが検出された場合、 最終的な遅延値は ± 10h タ ップに静的に設定されます。 エッジが検出されない場

合の遅延ラインは 10h タ ップに設定されます。いずれの場合でも、遅延は低いビッ ト レートで許容可能

な、 アイのエッジから少なく と も 10h タ ップ離れて設定されます。

この最小データ レートの留意事項は、 ト レーニング パターンが不要な ト ランス ミ ッ ター ロジッ クには

適用されません。

X-Ref Target - Figure 7

図 7 : DDR テクニックを使用するデータ受信 (ビッ トごとのスキュー調整あり )

LVDS CLOCK PChannel 0

LVDS CLOCK NChannel 0

LVDS DATA PChannel 0

LVDS DATA NChannel 0

ISERDESIDELAY

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

BUFx

BUFx

BITSLIP Gearbox,Calibration &bitslip State

Machine

Gearbox,Calibration &bitslip State

Machine

ParametersN = Number of Channels

SAMPL_CLOCK = Receiverclock Buffer TypeINTER_CLOCK = Intermediate Clock Buffer Type

PIXEL_CLOCK = Pixel Clock Buffer TypeUSE_PLL = Use PLL or MMCM

MMCM_MODE = Multiplication Factor for PLL/MMCMDIFF_TERM = Enable/disable Internal Termination

CLKIN_PERIOD = Input Clock PeriodHIGH_PERFORMANCE_MODE = TRUE or FALSE

Signals :enable_phase_detector = ‘0’bit_rate_value = X“bitrate”, eg X“0560”

D Data Lines

ReceiveClock

BUFx

PLL/MMCM

ReceivePixel Clock

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

ISERDES IDELAYClock Line

LVDS DATA PChannel N-1

LVDS DATA NChannel N-1

D Data Lines

BITSLIP

Channel N-1 DataD*7 bits

4

4

XAPP585_06_061312

ISERDES IDELAY

ISERDES IDELAY

Gearbox&

DeskewControl

Channel 0 DataD*7 bits 7

4

4

ISERDES IDELAY

ISERDES IDELAY

Gearbox&

DeskewControl

7

4

4

Page 11: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

シリアライズとデータ送信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 11

シリアライズとデータ送信

必要な出力用の転送クロ ッ ク とデータ ス ト リームは同じタイ ミ ングでステート を変更するため、同一の

送信クロ ッ クから生成されます。この例には、カメ ラやフラ ッ ト パネル TV、モニターで使用される 7:1インターフェイスがあ り ます (図 8)。

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 ビッ ト データ (またはクロ ッ クの定数データ) が適用されています。

X-Ref Target - Figure 8

図 8 : 低速の転送クロックを使用する出力データ スト リーム (7:1 SerDes)

XAPP585_07_061312

Internal SDRTransmitter Clock

Transmitted 7-bit Data

Forwarded Clock

Start ofserial data word

D0 D1 D2 D3 D4 D5 D6

Start ofserial data word

Internal DDRTransmitter Clock

or

Page 12: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

シリアライズとデータ送信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 12

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)。

X-Ref Target - Figure 9

図 9 : SDR テクニックを使用するデータ送信

XAPP585_08_061312

LVDS CLOCK P

LVDS CLOCK N

clock_generator_pll_7_to_1_diff_sdr.v/vhd

PLL/MMCM

BUFx

ParametersTX_CLOCK = Transmission Clock Buffer Type

PIXEL_CLOCK = Pixel Clock Buffer TypeUSE_PLL = Use PLL or MMCM

MMCM_MODE = Multiplication Factor for PLL/MMCMDIFF_TERM = Enable/disable Internal Termination

CLKIN_PERIOD = Input Clock Period

SDR MASTEROSERDES

n_x_serdes_7_to_1_diff_sdr.v/vhd

Parameters :D = Number of Data Lines per Channel

N = N umber of Channels

D*N*7-bit TransmitterData From Fabric

D Data Lines– Channel 0

Forwarded Clock– Channel 0

System (Pixel) Clock

High Speed DDR Clock

BUFx

SDR MASTEROSERDES

SDR MASTEROSERDES

D Data Lines– Channel N-1

Forwarded Clock– Channel N-1

SDR MASTEROSERDES

7-bit Constant forClock Generation

Page 13: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

シリアライズとデータ送信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 13

レシーバーのタイ ミングに関する留意事項

レシーバーでは、 タイ ミ ングのばらつきの原因をいくつか考慮しなければなり ません。 これらをビッ ト

周期から差し引いた上でデザインが設計要件を満たすかど うかを判断する必要があ り ます。 デザイン

ZIP ファ イルに含まれている Excel スプレッ ドシート を利用する と、解析を迅速に行う こ とができます。

図 11 に、 スク リーンシ ョ ッ ト を示します。 スプレッ ドシートの空欄セルにデザインのパラ メーターを

入力する と、計算された残りのレシーバー マージンとレシーバー スキュー マージン (RSKM) がマージ

ンの正/負を示す緑色または赤色で表示されます。

ばらつきには次のよ うな原因があ り ます。

• PLL/MMCM ジッ ター。 この値は、 クロ ッキング ウ ィザードから取得できます。

• ビッ ト ごとのスキュー調整の精度。 ビッ ト ごとのスキュー調整を使用する場合、 この値は丸め込み

エラーなどによ る ±2 遅延タ ップです。 ビ ッ ト ご とのスキュー調整を実行しない場合、 この値は

IODELAYE2 エレ メ ン ト の半分の長さにな り ます。 いずれの場合も、 この値にはマス ター

IODELAYE2 と スレーブ IODELAYE2 エレ メン ト間のすべてのクロ ッ ク スキューとセッ ト アップ

およびホールド タイ ミ ングの差異が含まれます。 IODELAYE2 エレ メン トが正常に動作するには、

X-Ref Target - Figure 10

図 10 : DDR テクニックを使用するデータ送信

XAPP585_09_061312

LVDS CLOCK P

LVDS CLOCK N

clock_generator_pll_7_to_1_diff_sdr.v/vhd

PLL/MMCM

BUFx

ParametersTX_CLOCK = Transmission Clock Buffer Type

INTER_CLOCK = Intermediate Clock Buffer TypePIXEL_CLOCK = Pixel Clock Buffer Type

USE_PLL = Use PLL or MMCMMMCM_MODE = Multiplication Factor for PLL/MMCM

DIFF_TERM = Enable/disable Internal TerminationCLKIN_PERIOD = Input Clock Period

DDR MASTEROSERDES

Gearbox7 to 14

Gearbox7 to 14

n_x_serdes_7_to_1_diff_sdr.v/vhd

Parameters :D = Number of Data Lines per Channel

N = Number of Channels

D*N*7-bit TransmitterData From Fabric

D Data Lines– Channel 0

Forwarded Clock– Channel 0

System (Pixel) Clock

High Speed DDR ClockGearboxClock

BUFx

BUFx

DDR MASTEROSERDES

DDR MASTEROSERDES

D Data Lines– Channel N-1

Forwarded Clock– Channel N-1

DDR MASTEROSERDES

7-bit Constant forClock Generation

DDR SLAVEOSERDES

DDR SLAVEOSERDES

DDR SLAVEOSERDES

DDR SLAVEOSERDES

Page 14: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

シリアライズとデータ送信

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 14

200MHz または 300MHz の基準ク ロ ッ ク が必要です。 IODELAYE2 および関連する

IDELAYCTRL 制御ブロ ッ クの詳細は、 『7 シ リーズ FPGA SelectIO リ ソース ユーザー ガイ ド』

(UG471) を参照して ください。 基準ク ロ ッ クの周波数を 300MHz に増加した場合はレシーバー

マージンが向上し ますが、 その代わ り ビ ッ ト ご とのスキュー調整の最小動作ビ ッ ト レー ト が

641Mb/s まで増加します。

• 遅延ラインのパターン依存ジッター。通常は 1 タ ップにつき 9ps ですが、 IODELAYE2 エレ メン ト

の HIGH_PERFORMANCE モードを使用する と これを 5ns まで削減可能です。 使用されたタ ップ

数は、 スプレッ ドシートで計算されます。

• サンプリ ング ク ロ ッ クのデューティ サイ クルのずれ。 これは、 DDR テクニッ クを使用する場合に

のみ重要で、レシーバーのサンプリ ング ク ロ ッ クに選択されたバッファーの種類によって異なり ま

す。

• ト ランス ミ ッ ター スキュー、 pcb スキュー、パッケージ スキュー。 ビッ ト ごとのスキュー調整デザ

インを使用する場合はすべて除外されますが、 これを使用しない場合には含まれます。

X-Ref Target - Figure 11

図 11 : XLS レシーバー マージンの計算のスクリーン シ ョ ッ ト

XAPP585_11_060512

Page 15: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

リファレンス デザイン ファイル

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 15

リファレンス デザイン ファイル

このアプリ ケーシ ョ ン ノートの リ ファレンス デザインは、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

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

ハードウェア検証

ハードウェア検証の実施 はい

検証に使用したハード ウェア プラ ッ ト フォーム FMC-X107 搭載の

KC705 または VC707

Page 16: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

まとめ

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 16

まとめ 7 シ リーズ FPGA は、ビッ ト ごとのスキュー調整を使用してラインあたり 415Mb/s ~ 1,200Mb/s で 7:1のシ リ アライズおよびデシ リ アライズを必要とするさまざまなアプリ ケーシ ョ ンに対応します。 対応速

度は使用するデバイス ファ ミ リやスピード グレードによって異なり ます。

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

Notice of Disclaimer

The information disclosed to you hereunder (the “Materials”) is provided solely for the selection and useof Xilinx products. To the maximum extent permitted by applicable law: (1) Materials are made available"AS IS" and with all faults, Xilinx hereby DISCLAIMS ALL WARRANTIES AND CONDITIONS,EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OFMERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE;and (2) Xilinx shall not be liable (whether in contract or tort, including negligence, or under any othertheory of liability) for any loss or damage of any kind or nature related to, arising under, or in connectionwith, the Materials (including your use of the Materials), including for any direct, indirect, special,incidental, or consequential loss or damage (including loss of data, profits, goodwill, or any type of lossor damage suffered as a result of any action brought by a third party) even if such damage or loss wasreasonably foreseeable or Xilinx had been advised of the possibility of the same. Xilinx assumes noobligation to correct any errors contained in the Materials or to notify you of updates to the Materials orto product specifications. You may not reproduce, modify, distribute, or publicly display the Materialswithout prior written consent. Certain products are subject to the terms and conditions of the LimitedWarranties which can be viewed at http://www.xilinx.com/warranty.htm; IP cores may be subject towarranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not

表 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 ラインあたり 1

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 ラインあたり2

n_x_serdes_1_to_7_mmcm_idelay_sdr.v/vhd

ビッ ト ごとのスキュー調整は無効1 2 ラインあたり

最大 8ラインあたり

10

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

ビッ ト ごとのスキュー調整は無効1 3 ラインあたり

最大 17ラインあたり

20

n_x_serdes_1_to_7_mmcm_idelay_sdr.v/vhd

ビッ ト ごとのスキュー調整は無効1 2 ラインあたり

最大 36ラインあたり

20

n_x_serdes_1_to_7_mmcm_idelay_ddr.v/vhd

ビッ ト ごとのスキュー調整は無効1 3 ラインあたり

最大 45ラインあたり

20

日付 バージョ ン 内容

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

Page 17: ザイリンクス アプリケーション ノート XAPP585 : …japan.xilinx.com/support/documentation/application_notes/...クロッキングのガイドライン XAPP585 (v1.0)

Automotive Applications Disclaimer

XAPP585 (v1.0) 2012 年 6 月 27 日 japan.xilinx.com 17

designed or intended to be fail-safe or for use in any application requiring fail-safe performance; youassume sole risk and liability for use of Xilinx products in 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 INANY APPLICATION REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS APPLICATIONSRELATED TO: (I) THE DEPLOYMENT OF AIRBAGS, (II) CONTROL OF A VEHICLE, UNLESSTHERE IS A FAIL-SAFE OR REDUNDANCY FEATURE (WHICH DOES NOT INCLUDE USE OFSOFTWARE IN THE XILINX DEVICE TO IMPLEMENT THE REDUNDANCY) AND A WARNINGSIGNAL UPON FAILURE TO THE OPERATOR, OR (III) USES THAT COULD LEAD TO DEATHOR PERSONAL INJURY. CUSTOMER ASSUMES THE SOLE RISK AND LIABILITY OF ANY USEOF XILINX PRODUCTS IN SUCH APPLICATIONS.

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

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

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

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

[email protected] までお知らせください。 いただきましたご意見を参考に早急に対応さ

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

ご了承ください。