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

Similar documents
Xilinx XAPP523 LVDS 4x Asynchronous Oversampling Using 7 Series FPGAs, Application Note

Virtex-6 Clocking

ScanFront300/300P セットアップガイド

XAPP1064 : ソース同期のシリアライズおよびデシリアライズ (最大 1050 Mb/s)

エレクトーンのお客様向けiPhone/iPad接続マニュアル

外部SQLソース入門

インターネット接続ガイド v110

2

DS-30

ScanFront 220/220P 取扱説明書

ScanFront 220/220P セットアップガイド

デザインパフォーマンス向上のためのHDLコーディング法


EPSON ES-D200 パソコンでのスキャンガイド

ES-D400/ES-D200

XAPP594 パラレル LVDS 高速 DAC インターフェイス アプリケーション ノート

ES-D400/ES-D350

DS-70000/DS-60000/DS-50000

PX-403A

EPSON PX-503A ユーザーズガイド

0630-j.ppt

iPhone/iPad接続マニュアル


PX-504A

PX-434A/PX-404A


GT-F740/GT-S640

GT-X830

XAPP858 - High-Performance DDR2 SDRAM Interface In Virtex-5 Devices

EPSON EP-803A/EP-803AW ユーザーズガイド

EPSON EP-703A ユーザーズガイド

EP-704A

TH-47LFX60 / TH-47LFX6N

Chapter

GT-X980

WYE771W取扱説明書

基本操作ガイド

PPTフォーム(white)

Xilinx XAPP485 Spartan-3E FPGA における最大レート 666Mbps でのデシリアライズ、アプリケーション ノート

操作ガイド(本体操作編)

PX-673F

操作ガイド(本体操作編)

DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用

DDK-7 取扱説明書 v1.10

MusicSoft Manager

Microsoft PowerPoint - LAB-03-SR18-ã…Łã‡¡ã‡¤ã…«ã…ªã‡¹ã…‹ã‡¢-v1

TH-80LF50J TH-70LF50J

NetVehicle GX5取扱説明書 基本編

基本操作ガイド

IM 21B04C50-01

ザイリンクス UG382 Spartan-6 FPGA クロック リソース ユーザー ガイド

XAPP453 「3.3V 信号を使用した Spartan-3 FPGA のコンフィギュレーション」 v1.0 (02/05)

untitled

PX-B750F

ザイリンクス XAPP1097 : Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装

X-Form Plug-in Guide

Xpand! Plug-In Guide

Xilinx XAPP645 Virtex-II Pro デバイス アプリケーション ノート『シングル エラー訂正およびダブル エラー 検出』

非圧縮の1080p60ビデオをサポートする3Gbps SDIコネクティビティ・ソリューション

Xilinx XAPP721 High-Performance DDR2 SDRAM Interface Data Capture Using ISERDES and OSERDES, Application Note

PLL ダイナミック リコンフィギュレーション, アプリケーション ノート (XAPP879)

Microsoft Word - quick_start_guide_16 1_ja.docx

2

Microsoft PowerPoint - 3.3タイミング制御.pptx

ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための

EP-904シリーズ/EP-804シリーズ/EP-774A

首都大学東京 新技術説明会 日時 : 平成 27 年 9 月 25 日 ( 金 ) 場所 :JST 東京別館ホール ノイズ耐性フリップフロップの開発と 信頼性要求電子機器への応用可能性 首都大学東京システムデザイン研究科情報通信システム学域 教授 三浦幸也

Adobe Acrobat DC 製品比較表

スライド 1

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類が あります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストール

PSP-3000 MHB

DS-860

Veritas System Recovery 18 System Recovery Disk

Appendix

PSP-1000

ザイリンクス アプリケーション ノート XAPP524 : シリアル LVDS 高速 ADC インターフェイス

「電子政府推奨暗号の実装」評価報告書

Microsoft Word - 実験4_FPGA実験2_2015

Title Slide with Name

CMOS リニアイメージセンサ用駆動回路 C10808 シリーズ 蓄積時間の可変機能付き 高精度駆動回路 C10808 シリーズは 電流出力タイプ CMOS リニアイメージセンサ S10111~S10114 シリーズ S10121~S10124 シリーズ (-01) 用に設計された駆動回路です セン

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

VNX for Fileでの監査ツールの構成および使用

ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号

TULを用いたVisual ScalerとTDCの開発

VLSI工学


HAR-LH500

UltraScale GTH トランシーバーを使用した SMPTE SDI インターフェイスの実装 (XAPP1248)

ベース0516.indd

VelilogHDL 回路を「言語」で記述する

AQUOS ケータイ2 ユーザーガイド

インターリーブADCでのタイミングスキュー影響のデジタル補正技術

操作ガイド(本体操作編)

ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす

SketchBook Express V6.0.1

SoftBank 304SH 取扱説明書

PSP-3000

メールをサーバーに保存する 実行 SD カードに保存したメールデータを サーバーに保存します ほかの携帯電話でも利用可能な形式で保存するため データの一 部が破棄 または変更される場合があります 保存が開始されます 保存を中断する場合は キャンセルをタップします 中断した場合 データは保存されません

Microsoft Word - TC4013BP_BF_J_P9_060601_.doc

Transcription:

アプリケーションノート : Virtex-6 FPGA XAPP881 (v1.0.1) 2010 年 7 月 25 日 Virtex-6 FPGA で LVDS を使用した 1.25Gb/s での 4X 非同期オーバーサンプリング著者 : Catalin Baetoniu Brandon Day 概要 Virtex -6 FPGA の SelectIO テクノロジによって 1.25Gb/s で 4X の非同期オーバーサンプリングが可能です オーバーサンプリングは ミックスモードクロックマネージャー (MMCM) 専用のパフォーマンスパス経由で プリミティブを使用して実現されます は SelectIO ロジックブロックにあり 専用フリップフロップの 4 つの位相を使用してサンプリングを行います MMCM は 低ジッターのパフォーマンスパス上で位相シフトしたクロックを供給できる高度な PLL です 次に の出力がデータリカバリユニット (DRU) を使用して選別されます このアプリケーションノートで扱う DRU は これらの出力を比較して最適なデータサンプルを選択する判定システムに基づいています 非同期オーバーサンプリングの概要 あるデバイスから別のデバイスにデータを送信する方法として最も一般的なのは データと一緒に同期クロックを送信する方法です この方法をソース同期データと呼びます クロックなしで送信するデータを非同期データと呼びます このアプリケーションノートでは 非同期データのキャプチャ方式について説明します ここでは 周波数がほぼ同じクロック (±100ppm) を使用してデータをオーバーサンプリングします このオーバーサンプリング手法では 異なるクロック位相でデータのサンプリングを行い 最も理想的なポイントのデータサンプルを取得します 図 1 に 4X 非同期オーバーサンプリングの基本的なブロック図を示します X-Ref Target - Figure 1 125 MHz ±100 ppm Data at 1.25 Gb/s Transmitter Capture 8 Data Recovery 625 MHz 125 MHz ±100 ppm Clock Multiplier x881_01_062410 図 1 : 4X オーバーサンプリングの基本アーキテクチャと概念図 Copyright 2010 Xilinx, Inc. XILINX, the Xilinx logo, Virtex, Spartan, ISE, 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. XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 1

非同期オーバーサンプリングの概要 図 1 には 4X オーバーサンプリング手法で重要な役割を果たすいくつかの要素を示しています 送信データは 特定の周波数とドリフトを持つオシレーターを使用して生成され このデータは独立した非同期オシレーターでキャプチャされます このような場合に問題となるのが 送信側と受信側のオシレーターの周波数ドリフトの差です クロックドメインをまたいでデータキャプチャを実行する際は このことを必ず考慮に入れておく必要があります サンプリングしたデータは レシーバーのデータリカバリ部で判定システムを使用して処理されます 図 2 に データレートの 1/2 の速度で動作するサンプリングクロックを示します ここに示したクロック位相のサンプルポイントからもわかるように 立ち上がりエッジデータと立ち下がりエッジデータそれぞれに 4 つ 計 8 つのデータサンプルがキャプチャブロックから出力されます X-Ref Target - Figure 2 Rising Data Falling Data 0 45 90 135 180 225 270 315 X881_02_050610 図 2 : 立ち上がりエッジデータと立ち下がりエッジデータに対するサンプリングクロックの位相 XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 2

Virtex-6 FPGA のオーバーサンプリングアーキテクチャ Virtex-6 FPGA のオーバーサンプリングアーキテクチャ 1 ビットにつき 4 つのサンプルを作成する Virtex-6 FPGA のこの方式は CLB アレイのフリップフロップを使用して複数のサンプルを作成していた従来の方式に比べ いくつかの利点があります 図 3 に示すように サンプリングフリップフロップは CLB から の内部に移動しています X-Ref Target - Figure 3 DDLY Primitive Q1 B CE2 Q2 CE1 O O Q3 DIV DYNSEL O Q4 DYNDIVSEL Q5 SHIFTIN 1 Q6 SHIFTOUT 1 SHIFTIN 2 SHIFTOUT 2 RST O D BITSLIP OFB x881_03_070710 図 3 : オーバーサンプリングモードの プリミティブ 内では メタスタビリティの問題を防ぐためにサンプリングを複数段で実行しています これによって すべてのデータが 1 つのクロックドメインで から出力されるようにもなります 図 4 に示すとおり オーバーサンプリングモードの は 基本的に DDR フリップフロップを 2 つ組み合わせたものです IODELAYE1 を使用してスレーブ側の のデータの位相をシフトし 位相シフトしていない元のデータと一緒にサンプリングを行います XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 3

データリカバリユニット (DRU) X-Ref Target - Figure 4 BUFG MMCM 0 90 MMCM Performance Path BUFIO IODELAYE1 TAP = 0 (0 ) Shift BUFIO clk oclk DDLY Flip- Flops Q1 Q2 Q3 Q4 Data Recovery Unit IODELAYE1 TAP = 4 (45 ) Shift clk oclk DDLY Flip- Flops Q1 Q2 Q3 Q4 x881_04_062410 図 4 : Virtex-6 FPGA における 4 つのサンプルの作成方法 図 4 は MMCM IODELAYE1 を組み合わせて 4X オーバーサンプリングを実行する方法を詳しく示したものです 2 つの位相のクロック (0 と 90) が に入ります これら 2 つのクロックの立ち上がりエッジと立ち下がりエッジの両方を使用することにより 4 つのクロック位相を得ています また IBUFDS_DIFFOUT を使用して同じデータを 2 つにコピーし その 1 つを IODELAYE1 を使用して 200ps だけシフト (45 の位相シフト ) しています 位相をシフトしたデータをスレーブ に送ることで サンプルの位相の数を 2 倍にしています このように 4 つのクロック位相と 2 つのデータサンプル位相を組み合わせることによって全体で 8 つの位相を作成しています これら 8 つの位相は 7 ページの図 8 に記載してあります データリカバリユニット (DRU) ステートマシンによるエッジ検出 図 5 は FPGA に入力されるデータストリームを基準にしたサンプルポイントと比較ポイントの位置を示したものです データストリームは 2 つあり 片方は 200ps の位相遅れがあります 下側のデータストリームは IBUFDS_DIFFOUT プリミティブを使用して上側のデータストリームを反転したものです データは 400ps ( すなわち 90 ) 間隔の 4 つのクロック位相 (0 90 180 270) でサンプリングされます クロックとデータストリームの交差したところがサンプルポイントとなります サンプルポイントの命名規則は次のとおりです 説明 Qx [S または M]x Qx = の出力 (Q1 Q2 Q3 Q4) Sx または Mx = データ出力 (Qx) のソース (M = マスター S = スレーブ ) たとえば Q1M1 は 0 でデータをサンプリングしてマスター のポート Q1 に出力するサンプルポイントを表します XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 4

データリカバリユニット (DRU) X-Ref Target - Figure 5 0 90 400 ps 400 ps 180 270 0 90 180 270 Master Data (Tap 0, Delay = 0 ps) Slave Data (Tap 4, Delay = 200 ps) Q1 M0 Q3 M0 Q2 M0 Q4 M0 Q1 M1 Q3 M1 Q2 M1 Q4 M1 R0 F0 R1 F1 E4[3] E4[0] E4[1] E4[2] E4[3] E4[0] E4[1] E4[2] Q1 S0 Q3 S0 Q2 S0 Q4 S0 Q1 S1 Q3 S1 Q2 S1 Q4 S1 R0 F0 R1 F1 200 ps X881_05_070710 図 5 : データストリームのサンプルポイントと比較ポイント サンプルポイントを結ぶ E4[0] ~ E4[3] と書かれた点線は データエッジを検出するために DRU がデータを比較している部分を表しています 4 つの比較に関する式を式 1 ~ 式 4 に示します E4[0] = [Q1M1 xor Q1S1] or [Q2M1 xor Q2S1] 式 1 E4[1] = [Q3M1 xor Q1S1] or [Q4M1 xor Q2S1] 式 2 E4[2] = [Q2M1 xor Q3S1] or [Q4M1 xor Q4S1] 式 3 E4[3] = [Q1M1 xor Q4S0] or [Q2M1 xor Q3S1] 式 4 これらの比較ポイントは 元のデータストリームを基準にすると実際には 200ps の間隔があります たとえば 式 1 の (E4[0]) は Q1M1 と Q1S1 および Q2M1 と Q2S1 を比較します これらの比較は E4[0] と書かれた 2 本のグレーの破線で示しています まず Q1M1 xor Q1S1 の比較は どちらのポイントも 0 でサンプリングされています ただし Q1S1 のサンプルは IODELAYE1 によって Q1M1 よりも 200ps だけ遅れているため 200ps 離れた 2 つのサンプルを比較することになります 同様に Q2M1 と Q2S1 は共に 180 でサンプリングされていますが IODELAYE1 によってスレーブデータストリームは遅延しているため これらのサンプルポイントには 200ps の間隔があります 0 と 180 のいずれかのサンプルポイントの xor 演算の結果が 1 の場合 すなわちサンプリングしたデータのレベルが一致しない場合 2 つのサンプルポイント間にエッジ ( レベル遷移 ) が存在すると判断できます 図 5 に示した例では 最初の E4[0] のサンプルポイント比較は立ち上がりエッジゾーンの R1 と R1 で発生しており 2 番目の E4[0] サンプル比較ポイントは立ち下がりエッジゾーンの F1 と F1 で発生しています このためどちらの比較も一致し xor 演算の出力はいずれも 0 になります したがって DRU のステートマシンはデータ遷移のエッジが存在していないことになります これと対照的なのが Q1M1 と Q4S0 および Q2M1 と Q3S1 を比較している式 4 です Q1M1 は 0 でマスターデータストリームからサンプリングされます Q4S0 は 270 で位相に遅延のあるスレーブデータストリームからサンプリングされ 1 サイクルの間 DRU に格納されます 0 と 270 は 400ps (90 ) 離れていますが スレーブデータには 200ps の遅延があるため 元のデータストリームを基準にすると Q1M1 と Q4S0 のサンプルポイントは実際には 200ps しか離れていません 同様に Q2M1 は 180 でサンプリングされ Q3S1 は 90 でサンプリングされます これらのサンプルポイントも 元のデータストリームを基準にすると 200ps しか離れていません どちらの比較も 片方のサンプルポイントは立ち上がりエッジゾーンにあり もう片方のサンプルポイントは立ち下がりエッジゾーンにあります これら 2 つの比較は xor 演算の結果が 1 になり 各比較の 2 つのサンプルポイント間のどこかにエッジ ( レベル遷移 ) が存在することがわかります 図 5 の次に 図 6 について説明します この図は式 1 ~ 式 4 を論理回路で表したもので から出力されたデータがこのロジックにどのように入力されるかを示しています とロジックの間には タイミングを調整するためのレジスタがあります また この図には直前のサンプルセットからのスレーブ ISERDES の Q4 出力を一時格納してから新しいサンプルセットと比較する方法も示しています XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 5

データリカバリユニット (DRU) X-Ref Target - Figure 6 Master Q1 Q2 Q(1) Q(5) II(1) II(5) E4(0) Q3 Q(3) II(3) Q4 Q(7) II(7) E4(1) Q1 Q(0) II(0) Q2 Q(4) II(4) E4(2) Q3 Q(2) II(2) Q4 Q(6) II(6) E4(3) Slave BUFG 625 MHz X881_06_050610 図 6 : エッジ検出回路の論理表現 ここまでは FPGA に入力されたデータを DRU に入力してデータエッジを検出する方法を説明してきました 次に 比較データを DRU で処理する方法を説明します このシンプルなステートマシンは データエッジの移動前後の位置に基づいて データエッジとサンプルポイントの間隔を選択します 電圧および温度の変動 ジッター そしてソースクロックとレシーバークロック間のオフセットなどがあるため 理想的なサンプルポイントは一定ではありません このため 比較ポイントの式の値も常に変化し それに伴いステートマシンの状態も常に遷移します 図 7 は あるデータセットから次のデータセットへのステートマシンのフローを示したものです X-Ref Target - Figure 7 EQ 00 01 11 10 DO Use Samples Q(0) & Q(4) Use Samples Q(1) & Q(5) Use Samples Q(2) & Q(6) Use Samples Q(3) & Q(7) 00 E4(2) E4(3) E4(0) E4(1) 10 01 E4(3) E4(2) E4(1) 11 E4(0) X881_07_070710 図 7 : エッジ情報を用いてデータを選択するロジック 図 7 の左側の表で EQ の列は 式 1 ~ 式 4 からの入力による現在のステートマシンの位置を示しています DO の列は インターコネクトロジックで使用するサンプルセットを示しています 前述のとおり オーバーサンプリングモードでの各 は基本的に IDDR フリップフロップを 2 つ組み合わせたものであるため DO は理想的なサンプルポイントとしてどちらの IDDR フリップフロップを使用すればよいかを示しています 表の右側のステートマシン図は 現在の状態 ( サンプルセット ) から次の遷移先を示しています たとえば ステートマシンの最初の状態が 01 とすると この状態では Q(1) および Q(5) 信号を使用します これは マスターの Q1 (0) および Q2 (180) 出力に該当します XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 6

ビットスキップ 次に データエッジが左へ移動した場合 センターポイントは 0/180 から 90/270 へシフトします これによって E4(3) の値は 0 から 1 に変化し ステートマシンの状態は 00 から 01 に遷移します ビットスキップ エッジがデータビットの最初のサンプルの左側 またはデータビットの最後のサンプルの右側に移動すると ビットスキップが発生します 最後のサンプルの左側でエッジを検出した場合 新しい現在のサンプルは最後のサンプルから右 すなわち次のデータの最初のサンプルへ移動します 図 8 でステートマシンの状態が 10 のとき Q(3) と Q(7) をサンプリングします 次に ステートマシンの状態が 00 に遷移し Q(0) と Q(4) をサンプリングします ただし ステートマシンの状態が 10 のときにデータサンプルを既に取得しているため ステートマシンの状態が最初に 00 になったときはサンプリングしたビットを 1 ビットだけドロップします これをネガティブビットスキップと呼びます ネガティブビットスキップは 1 クロックにつき 5 ビットを出力します X-Ref Target - Figure 8 0 45 90 135 0 45 90 135 X881_08_051410 図 8 : ネガティブビットスキップ 最初のサンプルの右側でエッジを検出した場合 新しい現在のサンプルは左 すなわち次のデータの最後のサンプルへ移動します 図 9 でステートマシンの状態が 00 のとき Q(0) と Q(4) をサンプリングします 次に ステートマシンの状態が 10 に遷移します この状態で Q(3) と Q(7) をサンプリングします ただし ステートマシンの状態が 00 と 10 のときにデータサンプルを取得していないため ステートマシンの状態が 10 のときに 現在のサンプルと一緒に最後のサンプルを取得します (7 ビットを出力 ) これをポジティブビットスキップと呼びます ポジティブビットスキップは 1 クロックにつき 7 ビットを出力します X-Ref Target - Figure 9 0 45 90 135 0 45 90 135 X881_09_051410 図 9 : ポジティブビットスキップ 図 8 と図 9 からわかるように ビットスキップが発生するのはステートマシンの状態が 00 と 10 の間で遷移した場合のみです ビットスキップが発生しない場合 サンプリングしたデータは SDR モードでは 1 クロックにつき 1 ビット DDR モードでは 1 クロックにつき 2 ビット出力されます したがって 6 ビットのパラレルデータの場合 次のようになります ネガティブビットスキップが発生した場合のビット数は 5 ポジティブビットスキップが発生した場合のビット数は 7 ビットスキップが発生しない場合のビット数は 6 XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 7

クロッキングとデータフロー クロッキングとデータフロー 表 1 に示すように 複数のクロックおよびクロックの位相があり それぞれが必要な機能を実行します 表 1 : MMCM RX からのクロック ソース周波数 / 位相シフトバッファーデスティネーション オフチップオシレーター 125MHz 入力バッファー MMCM MMCM RX 表 2 : タイミング制約とその他の特別な条件 625MHz 0 位相シフト 625MHz 90 位相シフト 625MHz ダイナミック位相シフト 312.5MHz ダイナミック位相シフト シングル領域 BUFIO シングル領域 BUFIO BUFG BUFG CLB (DRU) CLB (DRU) MMCM IDELAYCTRL 310MHz BUFG IDELAYCTRL フルレートで動作してるデザインでデータのキャプチャと DRU を実行する場合 タイミングが非常に重要となるため タイミング制約と配置制約の両方が必要です タイミング制約および特別な条件を表 2 にまとめます データフロー (1) 周波数 / 位相シフトキャプチャ要素タイミング制約 1 4 1 2A 4 2B 3 4 1 2A 125MHz 625MHz 0 位相シフト 625MHz 90 位相シフト 625MHz ダイナミック位相シフト 312.5MHz ダイナミック位相シフト MMCM に供給される RX ソースクロック から CLB DRU CLB DRU TIMESPEC TS_RxC_P = PERIOD "RxC_P" 8 ns HIGH 50%; TS_OUT0 = PERIOD TIMEGRP "OUT0" TS_RxC_P / 5 HIGH 50%; TS_OUT1 = PERIOD TIMEGRP "OUT1" TS_RxC_P / 5 HIGH 50%; TS_OUT2 = PERIOD TIMEGRP "OUT2" TS_RxC_P / 5 HIGH 50%; TS_OUT3 = PERIOD TIMEGRP "OUT3" TS_RxC_P / 2.5 HIGH 50%; タイミングクロージャに必要なその他の条件 なし なし なし BUFIO に合わせたダイナミック位相アライメント 最大の遅延制約 CLB アレイの RLOC BUFIO に合わせたダイナミック位相アライメント CLB アレイの RLOC から CLB DRU NET "*/Q<*>" MAXDELAY = 0.6 ns; CLB アレイの RLOC 注記 : 1. この欄の数字は データフローの段階および図 10 のクロック転送ポイントの番号を表しています XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 8

クロッキングとデータフロー データが FPGA のピンから FPGA インターコネクトロジックに構成された 10 ビット幅のインターフェイスに到達するまでにはいくつかの課程があります 図 10 にクロック転送ポイントおよび使用するレジスタを示します 各部分の上に記載した数字は クロック転送ポイントを表しています X-Ref Target - Figure 10 1.25 Gbs IODELAY TAP 0 Master 1 2A 2B 3 Data Recovery Unit 4 IODELAY TAP 4 Slave 4 8 First Stage of FF s Running on 625 MHz BUFG Second Stage of FF s Running at 312.5 MHz FF 10 CE User Logic Running at 312.5 MHz With Clock Enable With ~40% Toggle Rate 10 125 MHz 625_0 625_90 MMCM RX 625 312.5 PSEN Capture 4 BUFIO/ BUFG Alignment Circuit OFB 12 Slices OSERDESE1 4 Clock Alignment Circuit MMCM IDELAYCTRL 310 IDELAYCTRL X881_10_062910 1. データが 1.25Gb/s のレートで FPGA に入力されます /IODELAY キャプチャブロックは 4 つのクロック位相でデータがキャプチャされる位置を示しています 図 10 では キャプチャに使用するクロックが 625_0 および 625_90 となっています これらは このデザインの要件に従ってシングル領域 BUFIO クロックとしています 2. DRU 図 10 : データフローとクロック転送ポイント a. データキャプチャの次の段階では からのデータを CLB フリップフロップへ転送します から使用するすべてのレジスタまでの遅延が 600ps を超えないように注意してください この転送で重要なのは BUFIO クロックネットワークから BUFG クロックネットワークへ移動するという点です BUFIO クロックネットワークの範囲は までで CLB は範囲に含まれません b. この段階では データが 625MHz の BUFG クロックから 312.5MHz の BUFG クロックに渡されます これらのクロックは互いに位相が揃っています XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 9

リファレンスデザイン 3. 10 ビットのデータを DRU が選択すると そのデータはクロックイネーブル付きのユーザーインターコネクトロジックに現れます クロックイネーブルが存在し この速度で動作していれば データレートがキャプチャクロックよりも速い場合やデータによってキャプチャクロックが低下している場合にも対処できます クロックアライメント回路 BUFIO と BUFG の互いの位相関係は定義されていません 位相関係を定義するには 何らかのキャリブレーションが必要です このクロックアライメント回路は OSERDESE1 から への出力フィードバックパスを使用します 625MHz の BUFG クロックを OSERDESE1 に転送し 625MHz の BUFIO クロックを使用して のクロックをキャプチャすることによって これら 2 つのクロックの位相関係を計測できます 次に MMCM の独立した位相シフト機能を利用して BUFG クロックの位相を BUFIO クロックに合わせてシフトします この位相キャリブレーションプロセスを図 11 に示します X-Ref Target - Figure 11 625 MHz BUFIO Initial Alignment of 625 MHz BUFG (1) Initial Phase Adjustment Alignment of 625 MHz BUFG (2) Final Alignment of 625 MHz BUFG (3) Output of at Stages of Phase Alignment 1 1010 2 0101 3 1010 X881_11_051410 図 11 : BUFIO と BUFG のクロック位相キャリブレーションプロセス リファレンスデザイン リファレンスデザインファイルは次のリンク先からダウンロードできます https://secure/xilinx.com/webreg/clickthrough.do?cid=148941 XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 10

使用するロジックリソース 図 12 に リファレンスデザインソフトウェアのツリー構造を示します X-Ref Target - Figure 12 図 12 : リファレンスデザインの構造 X881_12_051510 使用するロジックリソース 表 3 ~ 表 5 に このリファレンスデザインで使用するリソースを示します 表 3 : デバイス当たり MMCM 1 BUFG 1 表 4 : バンク当たり MMCM 1 BUFG 2 シングル領域 BUFIO 2 クロックアライメント回路 45 LUT IDELAYCTRL 1 クロックアライメント回路用 1 クロックアライメント回路用 OSERDESE1 1 表 5 : チャネル当たり データリカバリユニット 87 LUT 2 IODELAYE1 2 XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 11

レシーバーの UI の要件とジッター許容値 レシーバーの UI の要件とジッター許容値 レシーバーのジッター許容値を調べるには 開始点を決める必要があります ここで使用した DRU 方式では 2 つの有効なサンプルポイントが常に必要です つまり 開始点は 0.500 UI です オーバーサンプリングは等間隔のサンプルポイントを利用しているため これらの間隔に誤差があるとレシーバーのジッターアイ要件が厳しくなります レシーバーのジッターアイ要件 = DRU のアイ要件 + サンプリング位相誤差式 5 0.625 UI = (0.500 UI) + (0.125 UI) 式 6 次に サンプリング位相誤差に含まれるものと含まれないものについて説明します サンプリング位相誤差には 125MHz クロックを受け取り これを 625MHz に逓倍したものを 2 つの BUFIO に位相シフトして供給し IODELAYE1 で 200ps の位相シフトを生成することによって生じるすべての影響が含まれます サンプリング位相誤差に含まれるもの : リファレンスデザインで正確に設定した場合の MMCM ジッター 0 と 90 の間の MMCM 位相誤差 MMCM DCD IODELAYE1 の遅延精度 (200ps の位相シフトを生成する能力 ) IODELAYE1 のパターン依存性ジッター マスターおよびスレーブ の 2 つのパスのオフセット サンプリング位相誤差に含まれないもの : MMCM のその他のクロック周波数または設定 シグナルインテグリティの損失 (ISI ボードジッターなど ) デバイス内部のジッター その他 上記の サンプリング位相誤差に含まれるもの に記載されていないものすべて このインターフェイスを検証するために 複数のピンに対して異なるプロセス 電圧 温度で特性評価を実施しました 表 6 に ジッター許容量をまとめます 表 6 : ジッター許容量のテスト結果 (1.25Gb/s 時 ) デバイス V CCINT V CCAUX V CCO 温度 トータルジッター (UI) 100 C 0.375-2 スピードグレード -3 スピードグレード 0.95 2.325 2.325 1.05 2.625 2.625 0.95 2.325 2.325 1.05 2.625 2.625 40 C 0.375 100 C 0.375 40 C 0.375 100 C 0.375 40 C 0.375 100 C 0.375 40 C 0.375 まとめ Virtex-6 FPGA では FPGA 間に非同期インターフェイスを実装できるため これによってコストが削減されるだけでなく トランシーバーを別の用途に使用できます XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 12

改訂履歴 改訂履歴 次の表に この文書の改訂履歴を示します 日付 バージョン 内容 2010 年 7 月 23 日 1.0 初版リリース 2010 年 7 月 25 日 1.1 タイトル変更 Notice of Disclaimer Xilinx is disclosing this Application Note to you AS-IS with no warranty of any kind. This Application Note is one possible implementation of this feature, application, or standard, and is subject to change without further notice from Xilinx. You are responsible for obtaining any rights you may require in connection with your use or implementation of this Application Note. XILINX MAKES NO REPRESENTATIONS OR WARRANTIES, WHETHER EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL XILINX BE LIABLE FOR ANY LOSS OF DATA, LOST PROFITS, OR FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR INDIRECT DAMAGES ARISING FROM YOUR USE OF THIS APPLICATION NOTE. 本資料は英語版 (v1.0.1) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください この資料に関するフィードバックおよびリンクなどの問題につきましては jpn_trans_feedback@xilinx.com までお知らせください いただきましたご意見を参考に早急に対応させていただきます なお このメールアドレスへのお問い合わせは受け付けておりません あらかじめご了承ください XAPP881 (v1.0.1) 2010 年 7 月 25 日 japan.xilinx.com 13