Spartan-6 FPGA GTP トランシーバ ユーザー ガイド (UG386)
|
|
|
- さやな みょうだに
- 7 years ago
- Views:
Transcription
1 Spartan-6 FPGA GTP トランシーバ ユーザーガイド
2 Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the development of designs to operate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation. Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to correct any errors contained in the Documentation, or to advise you of any corrections or updates. Xilinx expressly disclaims any liability in connection with technical support or assistance that may be provided to you in connection with the Information. THE DOCUMENTATION IS DISCLOSED TO YOU AS-IS WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION 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. PCI, PCI Express, PCIe, and PCI-X are trademarks of PCI-SIG. All other trademarks are the property of their respective owners. 本資料は英語版 (v2.0) を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com
3 改訂履歴 次の表に この文書の改訂履歴を示します 日付 バージョン 改訂内容 2009 年 6 月 24 日 1.0 初版リリース 2009 年 11 月 11 日 2.0 GTP_DUAL を GTPA1_DUAL に置換え 第 1 章 : 表 1-1 を削除 19 ページの ポートおよび属性のまとめ を追加 27 ページの表 1-3 : SIM_RECEIVER_DETECT_PASS 属性の説明を更新 32 ページの図 1-7 を更新 31 ページの図 ページの図 ページの図 ページの図 ページの図 ページの図 1-11 および 37 ページの図 1-12 を追加 第 2 章 : 39 ページの リファレンスクロック入力の構造 および 48 ページの 複数の外部リファレンスクロックを使用する場合 を追加 42 ページの図 2-2 を追加 リファレンスクロックマルチプレクサの構造に関する 43 ページの図 2-3 の前の説明を改訂 44 ページの表 2-5 : CLKINEAST CLKINWEST PLLCLK および PLLCLK ポートの説明を更新 GTPCLKFBEAST GTPCLKFBSEL0EAST GTPCLKFBSEL0WEST GTPCLKFBSEL1EAST GTPCLKFBSEL1WEST GTPCLKFBWEST および REFCLKPWRDNB ポートを追加 51 ページの表 2-7 : TXPLL_DIVSEL_REF 属性を削除 53 ページの表 2-10 : PCIe Optimal Jitter という用語を PCIe 追加マージン に変更 表のメモを追加 55 ページの表 2-11 : 表のメモ (1) を追加 GTPRESET の説明を更新 PRBSCNTRESET および RESETDONE のドメインを変更 54 ページの図 2-10 : PLLPOWERDOWN0 の立ち下がりエッジを表すブロックを追加 56 ページの表 2-12 : RX_EN_MODE_RESET_BUF_(0/1) 属性および表のメモを追加 57 ページの図 2-11 および 57 ページの図 2-12 を改訂 60 ページの表 2-14 : 推奨されるリセット方法 列のポート名の後に (0/1) を追加 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
4 日付バージョン改訂内容 2009 年 11 月 11 日 ( 続き ) 2.0 第 3 章 : 76 ページの TXUSRCLK および TXUSRCLK2 の接続 に GTPCLKOUT を説明する項目を追加 77 ページの GTPCLKOUT を使用して GTP TX を駆動 を追加 84 ページの表 3-5 : スキュー低減 を TX レーン間のスキュー低減 に変更 85 ページの表 3-7 : TX_BUFFER_USE の説明を更新 85 ページの TX バッファのバイパス を更新 89 ページの図 ページの図 ページの図 3-12 および 92 ページの図 3-13 を追加 88 ページの表 ページの表 3-11 および 90 ページの表 3-12 を追加 103 ページの表 3-22 : TXDETECTRX の説明を更新 105 ページの表 3-23 : RXSTATUS および TXCOMSTART の説明を更新 第 4 章 : 108 ページの図 ページの図 ページの図 ページの図 ページの図 ページの図 4-7 および 123 ページの図 4-11 を更新 109 ページの表 4-2 : TERMINATION_OVRD の説明で正確な抵抗値を 100Ω から 50Ω に変更 110 ページの表 4-3 : 行 1 および行 2 の RX 終端電圧を更新 111 ページの表 4-4 : 内部バイアスを 800mV から 900mV に変更 112 ページの表 4-5 : 終端電圧を VTT から MGTVTTRX に変更 内部バイアスを 800mV から 900mV に変更 113 ページの表 4-6 : 終端電圧を 2/3MGTAVTT から 3/4MGTAVTTRX に変更 内部バイアスを 800mV から 900mV に変更 114 ページの表 4-7 : 終端電圧を V TT から MGTVTTRX に変更 内部バイアスを 800mV から 900mV に変更 115 ページの表 4-8 : 終端電圧を 2/3MGTAVTT から 3/4MGTAVTTRX に変更 内部バイアスを 800mV から 900mV に変更 116 ページの表 4-9 : RXVALID ポートの方向を In から Out に変更 116 ページの表 4-10 : OOBDETECT_THRESHOLD_(0/1) の説明を更新 129 ページの表 4-22 : RX_PRBS_ERR_CNT_(0/1) の説明を更新 132 ページの表 4-23 : RXSLIDE ポートを追加 134 ページの表 4-24 : MCOMMA_10B_VALUE MCOMMA_DETECT PCOMMA_10B_VALUE PCOMMA_DETECT および RX_SLIDE_MODE 属性を追加 RX バッファのバイパス を 141 ページの RX エラスティックバッファのバイパス に置換え 146 ページの図 ページの図 ページの図 4-25 および 149 ページの図 4-26 を追加 142 ページの図 4-22 および 150 ページの図 4-27 の PCS パラレルクロックの区画から RX ギアボックスを削除 153 ページの表 4-35 : RXDATAWIDTH を削除 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com
5 日付バージョン改訂内容 2009 年 11 月 11 日 ( 続き ) 2.0 第 4 章 ( 続き ) : 160 ページの表 4-37 : RXCHBONDI[2:0] RXCHBONDO[2:0] RXCHBONDMASTER(0/1) および RXCHBONDSLAVE(0/1) の説明を更新 162 ページの表 4-38 : 属性 CB2_INH_CC_PERIOD_(0/1) および RX_EN_MODE_RESET_BUF_(0/1) を追加 CHAN_BOND_1/2_MAX_SKEW_(0/1) CHAN_BOND_KEEP_ALIGN_(0/1) および CHAN_BOND_SEQ_LEN_(0/1) の説明を更新 CHAN_BOND_SEQ_2_CFG を削除 164 ページの チャネルボンディングモード および 164 ページの チャネルボンディングの有効化 のステップ 4 を更新 170 ページの RXUSRCLK および RXUSRCLK2 の接続 の式 4-2 の前の RXUSRCLK および RXUSRCLK2 の説明を更新 式 4-3 の RXDATAWIDTH を 1 に変更 167 ページの表 4-39 : REFCLKOUT ポートの説明を更新 第 5 章 : 173 ページの 概要 を追加 173 ページの表 5-1 : MGTAVCC MGTAVCCPLL0 MGTAVCCPLL1 MGTAVTTRX および MGTAVTTTX の説明に標準電圧を追加 MGTRXP0/MGTRXN0 MGTRXP1/MGTRXN1 MGTTXP0/MGTTXN0 および MGTTXP1/MGTTXN1 の説明を更新 175 ページの図 5-1 を追加 182 ページの 電源供給およびフィルタリング を改訂 185 ページの図 ページの図 ページの図 5-13 および 184 ページの表 5-2 を追加 付録 B : 付録を追加 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
6 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com
7 目次 改訂履歴 このユーザーガイドについてユーザーガイドの内容 その他の資料 その他の資料 その他のリソース 第 1 章 : トランシーバおよびツールの概要概要 ポートおよび属性のまとめ Spartan-6 FPGA GTP Transceiver Wizard シミュレーション 機能の説明 シミュレーション専用のポートおよび属性 SIM_GTPRESET_SPEEDUP SIM_RECEIVER_DETECT_PASS SIM_REFCLK0_SOURCE SIM_REFCLK1_SOURCE SIM_TX_ELEC_IDLE_LEVEL SIM_VERSION インプリメンテーション 第 2 章 : トランシーバの共有機能リファレンスクロック入力の構造 機能の説明 ポートおよび属性 使用モード : リファレンスクロックの終端処理 リファレンスクロックの選択および分配 機能の説明 ポートおよび属性 単一の外部リファレンスクロックを使用する場合 複数の外部リファレンスクロックを使用する場合 PLL 機能の説明 ポートおよび属性 標準プロトコルの PLL 設定 リセット 機能の説明 ポートおよび属性 コンフィギュレーション完了後の GTP リセット GTPRESET アサート後の GTP のリセット GTP コンポーネントレベルリセット リンクアイドルリセットのサポート GTPA1_DUAL タイルのリセット 例 電源投入およびコンフィギュレーション リファレンスクロックの電源投入後 リファレンスクロックの変更後 パラレルクロックソースのリセット Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 7
8 リモート側の電源投入後 電気的アイドルリセット RXN/RXP の接続後 TX バッファエラー後 RX バッファエラー後 チャネルボンディング前 PRBS エラー後 パワーダウン 機能の説明 ポートおよび属性 一般的なパワーダウン機能 PLL のパワーダウン TX および RX のパワーダウン PCI Express のパワーダウン機能 パワーダウンへの移行時間 ループバック 機能の説明 ポートおよび属性 ダイナミックリコンフィギュレーションポート 機能の説明 ポートおよび属性 第 3 章 : トランスミッタトランスミッタ (TX) の概要 FPGA TX インターフェイス 機能の説明 ポートおよび属性 説明 インターフェイス幅の設定 TXUSRCLK および TXUSRCLK2 の接続 GTPCLKOUT を使用して GTP TX を駆動 GTPCLKOUT による GTP TX の駆動 (1 バイトモード ) GTPCLKOUT による GTP TX の駆動 (2 バイトモード ) GTPCLKOUT による GTP TX の駆動 (4 バイトモード ) TX の 8B/10B エンコーダ 機能の説明 B/10B のビットおよびバイト順序 K キャラクタ ランニングディスパリティ ポートおよび属性 B/10B エンコーダの有効 / 無効 TX バッファ 機能の説明 ポートおよび属性 TX バッファの使用 TX バッファのバイパス 機能の説明 ポートおよび属性 TX バッファをバイパスして TX 位相アライメント回路を使用 TX 位相アライメント回路を使用した TX レーン間スキューの最小化 フィードバックパスを使用した電圧および温度の変化への対応 TX パターンジェネレータ 機能の説明 ポートおよび属性 使用モデル TX 極性制御 機能の説明 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
9 ポートおよび属性 TX 極性制御の使用 TX ファブリッククロック出力の制御 機能の説明 シリアルクロック分周器 パラレルクロック分周器およびセレクタ ポートおよび属性 TX のコンフィギュレーション可能な TX ドライバ 機能の説明 ポートおよび属性 使用モード TX ドライバ 標準 使用モード - 抵抗キャリブレーション PCI Express デザイン用の TX レシーバ検出機能 機能の説明 ポートおよび属性 TX OOB ( 帯域外 ) 信号 機能の説明 ポートおよび属性 第 4 章 : レシーバレシーバ (RX) の概要 RX アナログフロントエンド 機能の説明 ポートおよび属性 使用モード RX 終端 使用モード - 抵抗キャリブレーション RX OOB ( 帯域外 ) 信号 機能の説明 ポートおよび属性 RX イコライザ 機能の説明 ポートおよび属性 使用モード 連続時間対応の RX リニアイコライザ RX CDR 機能の説明 ポートおよび属性 RX クロック分周制御 機能の説明 シリアルクロック分周器 パラレルクロック分周器 ポートおよび属性 RX マージン解析 機能の説明 水平方向のアイマージンスキャン ポートおよび属性 RX 極性制御 機能の説明 ポートおよび属性 RX 極性制御の使用 RX パターンチェッカ 機能の説明 ポートおよび属性 使用モデル RX バイトおよびワードアライメント 機能の説明 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 9
10 カンマアライメントの有効化 カンマパターンの設定 カンマアライメントの有効化 アライメントステータス信号 アライメントバウンダリ ポートおよび属性 RX の LOS (Loss of Sync) ステートマシン 機能の説明 ポートおよび属性 RX 8B/10B デコーダ 機能の説明 B/10B デコーダでのビットおよびバイト順 K キャラクタおよび 8B/10B カンマ RX ランニングディスパリティ ディスパリティエラーおよび Out of Table エラー ポートおよび属性 RX エラスティックバッファのバイパス 機能の説明 ポートおよび属性 説明 RX エラスティックバッファをバイパスして RX 位相アライメント回路を使用 RX エラスティックバッファ 機能の説明 ポートおよび属性 RX エラスティックバッファを使用して チャネルボンディングまたはクロックコレクションをサポート RX クロックコレクション 機能の説明 ポートおよび属性 RX クロックコレクションの使用 クロックコレクションの有効化 RX エラスティックバッファの制限設定 クロックコレクションシーケンスの設定 クロックコレクションのオプション クロックコレクションのモニタリング RX チャネルボンディング 機能の説明 ポートおよび属性 RX チャネルボンディングの使用 チャネルボンディングの有効化 チャネルボンディングモード チャネルボンディングシーケンスの設定 最大スキューの設定 チャネルボンディングとクロックコレクションの優先順位 FPGA RX インターフェイス 機能の説明 ポートおよび属性 説明 インターフェイス幅の設定 RXUSRCLK および RXUSRCLK2 の接続 第 5 章 : ボードデザインのガイドライン概要 ピンの説明およびデザインのガイドライン GTPA1_DUAL ピンの説明 GTP トランシーバへの電源供給接続 GTP トランシーバの物理的構造 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
11 電源接続 終端抵抗キャリブレーション回路 GTP トランシーバを使用する場合と未使用の場合の電源接続管理 GTP バンクをすべて使用する場合の接続 同じ GTP バンク内の GTP デュアルを使用する場合としない場合の電源接続 リファレンスクロック 概要 GTP のリファレンスクロックに関するチェック項目 インターフェイス LVDS LVPECL AC カップリング クロック分配 オシレータからの 2 つ以上の差動クロック入力ペアへクロックを提供 未使用のリファレンスクロック入力 電源供給およびフィルタリング 概要 電圧レギュレータ リニアレギュレータおよびスイッチングレギュレータ 電力分配ネットワーク 電源供給デカップリングキャパシタ PCB ( プリント回路基板 ) の設計 ボードスタックアップ MGT 電源接続 クロストーク SelectIO の使用ガイドライン 推奨される信号ランチ (Signal Launch) 付録 A : 8B/10B 有効な文字 付録 B : GTP トランシーバの DRP アドレスマップ Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 11
12 12 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
13 このユーザーガイドについて このユーザーガイドでは Spartan -6 FPGA の GTX トランシーバの使用方法について説明します この文書では Spartan-6 FPGA GTP トランシーバを GTP トランシーバと略して表記しています GTPA1_DUAL は 1 セットの Spartan-6 FPGA GTP トランシーバをインスタンシエートするインスタンシエートプリミティブ名です GTP_DUAL という語は この文書全体を通して GTPA1_DUAL タイルと同義に使用されます DUAL は 2 つの差動リファレンスクロックピンのペアおよびアナログ電源ピンを共有する 2 つの GTP トランシーバのクラスタまたはセットです ピン名の末尾に 0 または 1 が付くもの 属性名の末尾に _0 または _1 が付くものがあります この接尾辞は レーン 0 とレーン 1 のレーン固有の設定 または PLL0 と PLL1 の固有の設定に対応します ピン名または属性名に接尾辞が付いていない場合 この名前は レーン固有のピンまたは属性に共通する名前です ソフトウェアでピンまたは属性を使用する場合 接尾辞は必須です ユーザーガイドの内容 このユーザーガイドは 次の各章から構成されています 第 1 章 トランシーバおよびツールの概要 第 2 章 トランシーバの共有機能 第 3 章 トランスミッタ 第 4 章 レシーバ 第 5 章 ボードデザインのガイドライン 付録 A 8B/10B 有効な文字 その他の資料 次の資料も からダウンロードできます Spartan-6 ファミリ概要 Spartan-6 ファミリの特徴と製品群の概要を説明しています Spartan-6 FPGA データシート : DC 特性およびスイッチ特性 Spartan-6 ファミリの DC 特性およびスイッチ特性の仕様が記載されています Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 13
14 このユーザーガイドについて Spartan-6 FPGA パッケージおよびピン配置仕様 デバイス / パッケージの組み合わせおよび最大 I/O 数の表 ピン定義 ピン配置表 ピン配置図 機械的図面 温度仕様が記載されています Spartan-6 FPGA コンフィギュレーションガイド この包括的なコンフィギュレーションガイドは コンフィギュレーションインターフェイス ( シリアルとパラレル ) マルチビットストリームの管理 ビットストリームの暗号化 バウンダリスキャンおよび JTAG コンフィギュレーション リコンフィギュレーションテクニックの各章で構成されています Spartan-6 FPGA SelectIO リソースユーザーガイド Spartan-6 の各デバイスで使用可能な SelectIO リソースについて説明しています Spartan-6 FPGA クロッキングリソースユーザーガイド Spartan-6 の各デバイスで使用可能な DCM や PLL などのクロッキングリソースについて説明しています Spartan-6 FPGA ブロック RAM リソースユーザーガイド Spartan-6 デバイスのブロック RAM の機能について説明しています Spartan-6 FPGA コンフィギャブルロジックブロックユーザーガイド Spartan-6 の各デバイスで使用可能なコンフィギャブルロジックブロック (CLB) の機能について説明しています Spartan-6 FPGA DSP48A1 スライスユーザーガイド Spartan-6 の各デバイスで使用可能な DSP48A1 スライスについて説明しています Spartan-6 FPGA メモリコントローラユーザーガイド Spartan-6 FPGA と一般的なメモリ規格のインターフェイスを大幅に簡略化する専用の組み込みマルチポートメモリコントローラ Spartan-6 FPGA メモリコントローラブロックについて説明します Spartan-6 FPGA PCB デザインガイド PCB およびインターフェイスレベルのデザインを決定する方法に焦点を当てた Spartan-6 デバイスの PCB デザイン情報を提供します その他の資料 次の資料も この文書の参考資料として利用できます 1. 高速シリアル I/O をより簡単に使用 2. 合成/ シミュレーションデザインガイド その他のリソース その他の資料を検索するには 次の Web サイトにアクセスしてください シリコンやソフトウェア IP に関するアンサーデータベースを検索したり テクニカルサポートのウェブケースを開く場合は 次の Web サイトにアクセスしてください 14 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
15 第 1 章 トランシーバおよびツールの概要 概要 GTP トランシーバは Spartan -6 FPGA に搭載されている省電力トランシーバです このトランシーバは 柔軟にコンフィギュレーション可能であり FPGA のプログラマブルロジックリソースと密接に統合されています 次のような機能を含み多様なアプリケーションをサポートします 終端および電圧振幅が設定変更可能な CML (Current Mode Logic) シリアルドライバ / バッファ プログラム可能な TX プリエンファシス 連続時間 RX リニアイコライゼーション 複数の業界規格をサポート 614Mb/s ~ 810Mb/s 1.22Gb/s ~ 1.62Gb/s 2.45Gb/s ~ 3.125Gb/s 8B/10B エンコーダ カンマアライメント チャネルボンディング クロックコレクションなどの内蔵された PCS 機能オプション 最小データパスレイテンシで確定的な固定レイテンシモード PCI Express デザイン用のビーコン信号 および SATA デザイン用の COM 信号サポートを含む OOB 信号 レシーバアイスキャン検証目的のためのタイムドメインの水平方向アイスキャン はじめて使用する場合は High-Speed Serial I/O Made Simple [ 参照 1] を参照してください この資料では 高速シリアルトランシーバ技術およびその応用例が説明されています Xilinx CORE Generator ツールには 異なるプロトコルのコンフィギュレーションをサポートするため あるいはカスタマムコンフィギュレーションを行うために GTP トランシーバを自動的にコンフィギュレーションするウィザードが含まれています (24 ページの Spartan-6 FPGA GTP Transceiver Wizard 参照 ) 図 1-1 に Spartan-6 FPGA GTP トランシーバのブロック図を示します 使用モデルを含むレシーバおよびトランスミッタの機能ブロックについては 本ユーザーガイドの各章で説明します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 15
16 第 1 章 : トランシーバおよびツールの概要 X-Ref Target - Figure 1-1 TX Driver TX OOB and PCIe TX Preemp PISO Polarity Phase Adjust FIFO Pattern Generator 8B/ 10B TX PIPE Control FPGA TX Interface TX Clock Divider PCIe Beacon TX-PMA SATA OOB TX-PCS Clock from GTPA1_DUAL PLL(s): one PLL per GTPA1_DUAL tile or one PLL per lane To RX Parallel Data (Near-End PCS Loopback) From RX Parallel Data (Far-End PMA Loopback) From RX Parallel Data (Far-End PCS Loopback) RX Clock Divider Pattern Checker Loss of Sync RX EQ RX OOB RX CDR Polarity Comma Detect and Align RX PIPE Control RX Status Control FPGA RX Interface Elastic Buffer SIPO 10B /8B RX-PMA RX-PCS UG386_c1_01_ 図 1-1 : Spartan-6 FPGA GTP トランシーバブロックの簡略図 図 1-2 に Spartan-6 デバイス (XC6SLX45T) における GTP トランシーバの配置例を示します 1 つの GTPA1_DUAL タイル内に 2 つの GTP トランシーバが含まれます 小規模デバイスの場合 すべての GTPA1_DUAL タイルは図 1-2 のように上部 1 行に配置されます 大規模デバイスの場合 ダイの上部および下部に 1 行ずつ GTP トランシーバの行があります 16 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
17 概要 X-Ref Target - Figure 1-2 Spartan-6 FPGA (XC6SLX45T) Config GTPA1_DUAL Tile I/O Ring GTPA1_DUAL Tile Config Integrated Block for PCI Express Operation DCM DCM I/O Ring I/O Ring DCM DCM Config I/O Ring Config UG386_c1_02_ 図 1-2 : Spartan-6 LX45T FPGA の GTP トランシーバ 図 1-2 に示されているそのほかの機能ブロックの詳細は 次の資料を参照してください Spartan-6 FPGA コンフィギュレーションユーザーガイド には コンフィギュレーション クロック CMT および I/O ブロックに関する詳細情報が記載されています 図 1-3 に GTPA1_DUAL タイル内にある 2 つの GTP トランシーバブロックの詳細を示します この 2 つの GTP トランシーバは 2 つのリファレンスクロックピンペアを共有しています Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 17
18 第 1 章 : トランシーバおよびツールの概要 X-Ref Target - Figure 1-3 Package Pins Spartan-6 FPGA GTPA1_DUAL Tile GTP0 FPGA Pins MGTTXP0 MGTTXN0 MGTRXP0 MGTRXN0 TXP0 TXN0 RXP0 RXN0 GTP TX TX-PMA TX-PCS GTP RX 6 7 RX-PMA RX-PCS TXDATA0[31:0] TXBYPASS8B10B0[3:0] TXCHARISK0[3:0] TXCHARDISPMODE0[3:0] TXCHARDISPVAL0[3:0] RXPOWERDOWN0[1:0] RXSTATUS0[2:0] RXDATA0[31:0] RXNOTINTABLE0[3:0] RXDISPERR0[3:0] RXCHARISCOMMA0[3:0] RXCHARISSK0[3:0] RXRUNDISP0[3:0] RXVALID0 Data From FPGA Data To FPGA MGTAVTTRX MGTAVTTTX MGTAVCC MGTAVCCPLL0 MGTAVCCPLL1 AVTTRX AVTTTX AVCC AVCCPLL0 AVCCPLL1 1 PMA PLLs PLL Lock Detection 2 Reset Control Power Control GTP1 Clocking Shared Resources DRP GTPCLKOUT0[1:0] TXUSRCLK0 TXUSRCLK20 RXUSRCLK0 RXUSRCLK20 CLKIN (1) GTPCLKOUT1[1:0] TXUSRCLK1 TXUSRCLK21 RXUSRCLK1 RXUSRCLK21 MGTTXP1 MGTTXN1 MGTRXP1 MGTRXN1 TXP1 TXN1 RXP1 RXN1 GTP TX TX-PMA TX-PCS GTP RX 7 6 RX-PMA RX-PCS TXDATA1[31:0] TXBYPASS8B10B1[3:0] TXCHARISK1[3:0] TXCHARDISPMODE1[3:0] TXCHARDISPVAL1[3:0] RXPOWERDOWN1[1:0] RXSTATUS1[2:0] RXDATA1[31:0] RXNOTINTABLE1[3:0] RXDISPERR1[3:0] RXCHARISCOMMA1[3:0] RXCHARISSK1[3:0] RXRUNDISP1[3:0] RXVALID1 Data From FPGA Data To FPGA メモ : 1. CLKIN は 2 つの差動クロックピンペアを簡略して示しています UG386_c1_03_ 図 1-3 : GTPA1_DUAL タイル内にある 2 つの GTP トランシーバ 40 ページの リファレンスクロックの選択および分配 セクションでは リファレンスクロックソースおよび配線について詳しく説明します 18 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
19 ポートおよび属性のまとめ ポートおよび属性のまとめ ポートおよび属性を各機能グループ ( 例 : リファレンスクロックセレクション ) ごとに表にまとめました 複数の章で言及されているポートおよび属性については 最初のページを示します 表 1-1 に 機能グループに基づいたポートおよび属性の一覧を示します 表 1-1 : ポートのまとめ DRPDO[15:0] GTPCLKFBEAST[1:0] GTPCLKFBSEL0EAST[1:0] GTPCLKFBSEL0WEST[1:0] GTPCLKFBSEL1EAST[1:0] GTPCLKFBSEL1WEST[1:0] GTPCLKFBWEST[1:0] REFCLKPWRDNB0 REFCLKPWRDNB1 RXCHANBONDSEQ0 RXCHANBONDSEQ1 RXCHANISALIGNED0 RXCHANISALIGNED1 RXCHANREALIGN0 RXCHANREALIGN1 RXCLKCORCNT0[2:0] RXCLKCORCNT1[2:0] RXENCHANSYNC0 RXENCHANSYNC1 RXENPRBSTST0[2:0] RXENPRBSTST1[2:0] RXEQMIX0[1:0] RXEQMIX1[1:0] RXPOLARITY0 RXPOLARITY1 RXPRBSERR0 RXPRBSERR1 ポート セクション ( ページ番号 ) 69 ページ 44 ページ 44 ページ 45 ページ 45 ページ 45 ページ 45 ページ 45 ページ 45 ページ 160 ページ 160 ページ 160 ページ 160 ページ 160 ページ 160 ページ 154 ページ 154 ページ 162 ページ 162 ページ 128 ページ 128 ページ 119 ページ 119 ページ 127 ページ 127 ページ 128 ページ 128 ページ Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 19
20 第 1 章 : トランシーバおよびツールの概要 表 1-1 : ポートのまとめ ( 続き ) RXSLIDE0 RXSLIDE1 TXBUFDIFFCTRL0[2:0] TXBUFDIFFCTRL1[2:0] TXDIFFCTRL0[3:0] TXDIFFCTRL1[3:0] TXENPRBSTST0[2:0] TXENPRBSTST1[2:0] TXINHIBIT0 TXINHIBIT1 TXPOLARITY0 TXPOLARITY1 TXPRBSFORCEERR0 TXPRBSFORCEERR1 TXPREEMPHASIS0[2:0] TXPREEMPHASIS1[2:0] ポート セクション ( ページ番号 ) 133 ページ 133 ページ 100 ページ 100 ページ 101 ページ 101 ページ 94 ページ 94 ページ 101 ページ 101 ページ 96 ページ 96 ページ 94 ページ 94 ページ 102 ページ 102 ページ 表 1-2 に 機能グループに基づいたポートおよび属性の一覧を示します 表 1-2 : 属性のまとめ 属性 AC_CAP_DIS_0 AC_CAP_DIS_1 CB2_INH_CC_PERIOD_(0,1) CHAN_BOND_1_MAX_SKEW_0 CHAN_BOND_1_MAX_SKEW_1 CHAN_BOND_2_MAX_SKEW_0 CHAN_BOND_2_MAX_SKEW_1 CHAN_BOND_KEEP_ALIGN_0 CHAN_BOND_KEEP_ALIGN_1 CHAN_BOND_SEQ_1_1_0 CHAN_BOND_SEQ_1_1_1 セクション ( ページ番号 ) 109 ページ 109 ページ 202 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 20 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
21 ポートおよび属性のまとめ 表 1-2 : 属性のまとめ ( 続き ) 属性 CHAN_BOND_SEQ_1_2_0 CHAN_BOND_SEQ_1_2_1 CHAN_BOND_SEQ_1_3_0 CHAN_BOND_SEQ_1_3_1 CHAN_BOND_SEQ_1_4_0 CHAN_BOND_SEQ_1_4_1 CHAN_BOND_SEQ_1_ENABLE_0 CHAN_BOND_SEQ_1_ENABLE_1 CHAN_BOND_SEQ_2_1_0 CHAN_BOND_SEQ_2_1_1 CHAN_BOND_SEQ_2_2_0 CHAN_BOND_SEQ_2_2_1 CHAN_BOND_SEQ_2_3_0 CHAN_BOND_SEQ_2_3_1 CHAN_BOND_SEQ_2_4_0 CHAN_BOND_SEQ_2_4_1 CHAN_BOND_SEQ_2_ENABLE_0 CHAN_BOND_SEQ_2_ENABLE_1 CHAN_BOND_SEQ_2_USE_0 CHAN_BOND_SEQ_2_USE_1 CHAN_BOND_SEQ_LEN_0 CHAN_BOND_SEQ_LEN_1 CLK25_DIVIDER_(0,1) CLKINDC_B_(0,1) CLKRCV_TRST_(0,1) CLK_CORRECT_USE_0 CLK_CORRECT_USE_1 CLK_COR_ADJ_LEN_0 CLK_COR_ADJ_LEN_1 CLK_COR_DET_LEN_0 CLK_COR_DET_LEN_1 セクション ( ページ番号 ) 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 162 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 163 ページ 200 ページ 207 ページ 207 ページ 157 ページ 157 ページ 154 ページ 154 ページ 154 ページ 154 ページ Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 21
22 第 1 章 : トランシーバおよびツールの概要 表 1-2 : 属性のまとめ ( 続き ) 属性 CLK_COR_INSERT_IDLE_FLAG_0 CLK_COR_INSERT_IDLE_FLAG_1 CLK_COR_KEEP_IDLE_0 CLK_COR_KEEP_IDLE_1 CLK_COR_MAX_LAT_0 CLK_COR_MAX_LAT_1 CLK_COR_MIN_LAT_0 CLK_COR_MIN_LAT_1 CLK_COR_PRECEDENCE_0 CLK_COR_PRECEDENCE_1 CLK_COR_REPEAT_WAIT_0 CLK_COR_REPEAT_WAIT_1 CLK_COR_SEQ_1_1_0 CLK_COR_SEQ_1_1_1 CLK_COR_SEQ_1_2_0 CLK_COR_SEQ_1_2_1 CLK_COR_SEQ_1_3_0 CLK_COR_SEQ_1_3_1 CLK_COR_SEQ_1_4_0 CLK_COR_SEQ_1_4_1 CLK_COR_SEQ_1_ENABLE_0 CLK_COR_SEQ_1_ENABLE_1 CLK_COR_SEQ_2_1_0 CLK_COR_SEQ_2_1_1 CLK_COR_SEQ_2_2_0 CLK_COR_SEQ_2_2_1 CLK_COR_SEQ_2_3_0 CLK_COR_SEQ_2_3_1 CLK_COR_SEQ_2_4_0 CLK_COR_SEQ_2_4_1 CLK_COR_SEQ_2_ENABLE_0 セクション ( ページ番号 ) 154 ページ 154 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 155 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 156 ページ 22 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
23 ポートおよび属性のまとめ 表 1-2 : 属性のまとめ ( 続き ) 属性 CLK_COR_SEQ_2_ENABLE_1 CLK_COR_SEQ_2_USE_0 CLK_COR_SEQ_2_USE_1 CM_TRIM_0[1:0] CM_TRIM_1[1:0] COMMA_10B_ENABLE_0 COMMA_10B_ENABLE_1 GTP_CFG_PWRUP_(0,1) MCOMMA_10B_VALUE_0 MCOMMA_10B_VALUE_1 OOB_CLK_DIVIDER_0 OOB_CLK_DIVIDER_1 PCI_EXPRESS_MODE_0 PCI_EXPRESS_MODE_1 PCOMMA_10B_VALUE_0 PCOMMA_10B_VALUE_1 PMA_COM_CFG_EAST PMA_COM_CFG_WEST PMA_RXSYNC_CFG_(0,1) PMA_RX_CFG_0 RCV_TERM_GND_0 RCV_TERM_GND_1 RCV_TERM_VTTRX_0 RCV_TERM_VTTRX_1 RXEQ_CFG_0[7:0] RXEQ_CFG_1[7:0] RX_DECODE_SEQ_MATCH_0 RX_DECODE_SEQ_MATCH_1 RX_EN_MODE_RESET_BUF_(0,1) RX_LOS_INVALID_INCR_0 RX_LOS_INVALID_INCR_1 セクション ( ページ番号 ) 156 ページ 156 ページ 156 ページ 109 ページ 109 ページ 134 ページ 134 ページ 201 ページ 134 ページ 134 ページ 116 ページ 116 ページ 163 ページ 163 ページ 134 ページ 134 ページ 209 ページ 209 ページ 209 ページ 122 ページ 109 ページ 109 ページ 109 ページ 109 ページ 119 ページ 119 ページ 157 ページ 157 ページ 202 ページ 136 ページ 136 ページ Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 23
24 第 1 章 : トランシーバおよびツールの概要 表 1-2 : 属性のまとめ ( 続き ) RX_SLIDE_MODE_0 RX_SLIDE_MODE_1 TERMINATION_CTRL_0[4:0] TERMINATION_CTRL_1[4:0] TERMINATION_OVRD_0 TERMINATION_OVRD_1 TST_ATTR_(0,1) TXRX_INVERT_0 TXRX_INVERT_1 TX_DETECT_RX_CFG_(0,1) TX_IDLE_DELAY_(0,1) TX_TDCC_CFG_(0,1) 属性 セクション ( ページ番号 ) 134 ページ 134 ページ 110 ページ 110 ページ 110 ページ 110 ページ 207 ページ 85 ページ 85 ページ 206 ページ 206 ページ 209 ページ Spartan-6 FPGA GTP Transceiver Wizard Spartan-6 FPGA GTP Transceiver Wizard は GTP トランシーバプリミティブ (GTPA1_DUAL) をインスタンシエートするためのラッパファイル生成に最適です このウィザードは ザイリンクスの CORE Generator ツールに含まれています 使用前に最新の IP アップデートがダウンロードされていることを確認してください 使用方法の詳細は Spartan-6 FPGA GTP Transceiver Getting Started Guide に記載されています 1. ザイリンクスの CORE Generator ツールを起動します 2. GTP Transceiver Wizard は ツリー構造の次のディレクトリ以下にあります /FPGA Features & Design/IO Interfaces 図 1-4 を参照してください 24 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
25 Spartan-6 FPGA GTP Transceiver Wizard X-Ref Target - Figure 1-4 UG386_c1_04_ 図 1-4 : Spartan-6 FPGA GTP Transceiver Wizard 3. [Spartan-6 FPGA GTP Transceiver Wizard] をダブルクリックしてウィザードを起動します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 25
26 第 1 章 : トランシーバおよびツールの概要 シミュレーション 機能の説明 GTP トランシーバを使用するシミュレーションの場合 シミュレーション環境およびテストベンチに対して特定の要件があります 合成 / シミュレーションデザインガイド [ 参照 2] には サポートされているシミュレータの環境設定方法を使用ハードウェア記述言語 (HDL) に基づいて記載しています このデザインガイドは ザイリンクスウェブサイトからダウンロードできます GTP トランシーバを使用するデザインをシミュレーションする際の要件は 次のとおりです シミュレータが SecureIP モデルをサポートしていること 構築されたブロックのインプリメンテーションに使用された Verilog/HDL の暗号化バージョンをサポートしている必要がある SecureIP は 最新の IP 暗号化方法です SecureIP モデルをサポートするには Verilog LRM - IEEE Std 暗号化に準拠したシミュレータが必要です VHDL シミュレーション用の混合言語シミュレータ SecureIP モデルは基本的に Verilog を使用します これらを VHDL デザインで使用する場合は 混合言語シミュレータが必要になります シミュレータは VHDL と Verilog を同時にシミュレーションできる必要があります GTPA1_DUAL SecureIP モデルがインストールされていること SecureIP の使用に対応した適切なシミュレータ設定 ( 初期化ファイル 環境変数 ) シミュレーションライブラリ ( 例 : UNISIM SIMPRIMS) をコンパイルする COMPXLIB を適切な順序で実行する 適切なシミュレータリゾリューションの設定 (Verilog) SecureIP をサポートする設定の詳細は シミュレータのユーザーガイドおよび 合成/ シミュレーションデザインガイド を参照 シミュレーション専用のポートおよび属性 GTPA1_DUAL プリミティブには シミュレーション専用の属性があります 表 1-3 に シミュレーション専用の GTPA1_DUAL プリミティブの属性を示します 26 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
27 シミュレーション 表 1-3 : GTPA1_DUAL のシミュレーション専用の属性 属性 種類 説明 SIM_GTPRESET_SPEEDUP 整数 シミュレーションにおいて GTPRESET シーケンスを完了して各 GTP トランシーバの PMA PLL をロックするまでの時間を短縮します 0 : 通常の時間内で GTPRESET シーケンスをシミュレーションする ( 標準的な初期化時間は約 160μs) 1 : GTPRESET シーケンスの時間を短縮する ( 高速初期化時間は約 300ns) SIM_RECEIVER_DETECT_PASS ブール関数 GTP トランシーバの TXDETECTRX 機能のシミュレーションに使用します TRUE : TX シリアルポートへの RX 接続をシミュレーションする TXDETECTRX がレシーバ検出を開始し RX ポートが接続されていることを示す RXSTATUS[2:0] = 011 が出力される FALSE ( デフォルト ) : 未接続の TX ポートをシミュレーションする TXDETECTRX がレシーバ検出を開始し RX ポートが未接続であることを示す RXSTATUS[2:0] = 000 が出力される SIM_REFCLK0_SOURCE 3 ビットバイナリ GTP0 トランシーバの PMA PLL が常に同じリファレンスクロックソースで駆動されるデザインをシミュレーションする際 使用されるリファレンスクロックソースを選択します この属性でリファレンスクロックを選択する場合 REFSELDYPLL0 ポートは 000 に設定する必要があります オンザフライでリファレンスクロックソースを変更する必要があるマルチレートデザインの場合は REFSELDYPLL0 ポートを使用してソースを動的に選択します 000 : CLK00 ポートをソースとして選択 001 : GCLK00 ポートをソースとして選択 010 : PLLCLK00 ポートをソースとして選択 011 : CLKINEAST0 ポートをソースとして選択 100 : CLK10 ポートをソースとして選択 101 : GCLK10 ポートをソースとして選択 110 : PLLCLK10 ポートをソースとして選択 111 : CLKINWEST0 ポートをソースとして選択 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 27
28 第 1 章 : トランシーバおよびツールの概要 表 1-3 : GTPA1_DUAL のシミュレーション専用の属性 ( 続き ) 属性種類説明 SIM_REFCLK1_SOURCE SIM_TX_ELEC_IDLE_LEVEL 3 ビットバイナリ 1 ビットバイナリ GTP1 トランシーバの PMA PLL が常に同じリファレンスクロックソースで駆動されるデザインをシミュレーションする際 使用されるリファレンスクロックソースを選択します この属性でリファレンスクロックを選択する場合 REFSELDYPLL1 ポートは 000 に設定する必要があります オンザフライでリファレンスクロックソースを変更する必要があるマルチレートデザインの場合は REFSELDYPLL1 ポートを使用してソースを動的に選択します 000 : CLK01 ポートをソースとして選択 001 : GCLK01 ポートをソースとして選択 010 : PLLCLK01 ポートをソースとして選択 011 : CLKINEAST1 ポートをソースとして選択 100 : CLK11 ポートをソースとして選択 101 : GCLK11 ポートをソースとして選択 110 : PLLCLK11 ポートをソースとして選択 111 : CLKINWEST1 ポートをソースとして選択 電気的アイドルのシミュレーションにおける TXN および TXP の値を設定します 設定可能な値は 0 1 X または Z となり デフォルトは X です SIM_VERSION リール 多様なシリコンのステッピングと一致させるため シミュレーション バージョンを選択します デフォルトは 1.0 です シミュレーション専用のポートはありません SIM_GTPRESET_SPEEDUP SIM_GTPRESET_SPEEDUP 属性を使用すると シミュレーション中における各 GTP トランシーバの PMA PLL がロックするまでの時間を短縮できます TXOUTCLK または RXRECCLK を使用してクロックを生成するデザインの場合 GTP トランシーバがロックプロセス中の途中では これらのクロックがフラットライン ( 変化しない状態 ) になる場合があります PLL またはデジタルクロックマネージャ (DCM) を使用して TXOUTCLK または RXRECCLK を生成する場合 最終的なクロック出力は GTP トランシーバと PLL ( または DCM) の両方がロックするまで有効にはなりません 式 1-1 は シミュレーションで TXOUTCLK または RXRECCLK からの安定したソースが有効になるまでの概算時間 (PLL または DCM で必要な時間を含む ) を求める等式です t USRCLKstable t GTPRESETsequence + t locktimedcm t + locktimepll 式 1-1 PLL または DCM を使用しない場合 それらに該当する項は等式から削除できます 28 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
29 シミュレーション SIM_RECEIVER_DETECT_PASS GTP トランシーバには トランスミッタのシリアルポートが現時点でレシーバに接続されているかを そのトランスミッタで検出する TXDETECTRX 機能があります この検出は TXP/TXN 差動ピンペアの立ち上がり時間を計測することによって行われます (103 ページの PCI Express デザイン用の TX レシーバ検出機能 参照 ) GTPA1_DUAL の SecureIP には TXDETECTRX をシミュレーションするための属性 (SIM_ RECEIVER_DETECT_PASS) があります この属性は TXP/TXN 差動ピンペアの立ち上がり時間の計測をモデル化せずに GTP トランシーバの TXDETECTRX をシミュレーションできます SIM_RECEIVER_DETECT_PASS は デフォルトで FALSE に設定されています この属性の場合は 未接続のレシーバを構築し TXDETECTRX 動作はレシーバが接続されていないことを示します 接続されているレシーバを構築する場合は そのトランシーバの SIM_RECEIVER_DETECT_ PASS を TRUE に設定してください SIM_REFCLK0_SOURCE GTPA1_DUAL の SecureIP モデルには シミュレーション中に GTP0 トランシーバの PMA PLL を駆動するリファレンスクロックを選択する属性 (SIM_REFCLK0_SOURCE) があります この属性は GTP0 トランシーバの PMA PLL のクロック入力が常に同じリファレンスクロックソースで駆動されるデザインで使用されます リファレンスクロックソースには トランシーバが属するタイル専用のクロック 西方向のリファレンスクロック 東方向のリファレンスクロック および FPGA ロジックからのクロックがあります 27 ページの表 1-3 に この属性の有効な設定を示します GTP0 トランシーバの PMA PLL を駆動するリファレンスクロックソースをオンザフライで変更する必要があるマルチレートデザインの場合は REFSELDYPLL0 ポートを使用してソースを動的に選択します SIM_REFCLK1_SOURCE GTPA1_DUAL の SecureIP モデルには シミュレーション中に GTP1 トランシーバの PMA PLL を駆動するリファレンスクロックを選択する属性 (SIM_REFCLK1_SOURCE) があります この属性は GTP1 トランシーバの PMA PLL のクロック入力が常に同じリファレンスクロックソースで駆動されるデザインで使用されます リファレンスクロックソースには トランシーバが属するタイル専用のクロック 西方向のリファレンスクロック 東方向のリファレンスクロック および FPGA ロジックからのクロックがあります 27 ページの表 1-3 に この属性の可能な設定を示します GTP1 トランシーバの PMA PLL を駆動するリファレンスクロックソースをオンザフライで変更する必要があるマルチレートデザインの場合は REFSELDYPLL1 ポートを使用してソースを動的に選択します SIM_TX_ELEC_IDLE_LEVEL この属性は 電気的アイドルのシミュレーション中におけるトランスミッタの作動出力ペア (TXN および TXP) の値を設定します 設定可能な値は 0 1 X または Z となり デフォルトは X です SIM_VERSION この属性は 異なるシリコンステッピングと一致させるためにシミュレーションバージョンを選択します デフォルトは 1.0 です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 29
30 第 1 章 : トランシーバおよびツールの概要 インプリメンテーション 本章では デザインにインスタンシエートした Spartan-6 FPGA GTPA1_DUAL タイルをデバイスリソースへマップする際に必要な情報を提供します デバイス / パッケージの組み合わせにおける GTPA1_DUAL タイルの位置 各 GTPA1_DUAL タイルに関連する外部信号のパッド番号 デザインにインスタンシエートされた GTPA1_DUAL タイルおよびクロックリソースが ユーザー制約ファイル (UCF) を使用して どのようにマップされるか 通常 設計の初期段階で GTP トランシーバの位置を定義することによって クロックリソースの適切な使用が可能になり ボード設計時のシグナルインテグリティ解析がシンプルになります インプリメンテーションフローでは UCF 内の配置制約を使用することで この定義プロセスをサポートします 本章では GTP のクロッキングコンポーネントのインスタンシエート方法について説明します GTPA1_DUAL タイルのその他のクロッキングオプションの詳細は 40 ページの リファレンスクロックの選択および分配 を参照してください GTPA1_DUAL タイルの位置は XY 座標で指定されます (X = 列 Y = 行 ) Spartan-6 の小規模デバイスの場合 すべての GTP トランシーバはダイ上部にある行に配置されます 大規模デバイスの場合 ダイの上部および下部に 1 行ずつ GTP トランシーバの行があります X0Y0 で指定されたトランシーバは それぞれのデバイス / パッケージの組み合わせにおいて 最下位バンクの最下位ポジションに配置されます 上部のみにトランシーバの行があるデバイスの場合 Y 座標の値は常に 0 となります 上部と下部にトランシーバの行があるデバイスの場合 下部行の Y 座標の値は 0 となり上部行の Y 座標の値は 1 となります GTP トランシーバを使用するデザイン用の UCF ファイルを作成する方法は 2 つあります 推奨方法は GTP Transceiver Wizard を使用する方法です (24 ページの Spartan-6 FPGA GTP Transceiver Wizard 参照 ) ウィザードは トランシーバをコンフィギュレーションし GTP_DUAL 配置情報のプレースホルダを含む UCF テンプレートを自動生成します この方法で生成された UCF は編集可能で パラメータや配置情報をアプリケーション用にカスタマイズできます UCF 生成の 2 つ目の方法は手書きによるものです この方法で作成する場合 設計者は トランシーバの動作を制御するコンフィギュレーション属性およびタイル位置のパラメータの両方を入力する必要があります GTP トランシーバのコンフィギュレーションに必要なすべてのパラメータを確実に入力するよう 十分に注意してください 30 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
31 インプリメンテーション 図 1-5 に CSG324 パッケージで使用可能なすべてのデバイスにおける ダイ左側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-5 Top MGTAVCCPLL0_101 MGTAVCCPLL1_101 B7 D10 MGTTXP1_101 MGTTXP0_101 B6 B4 MGTAVCC_101 C8 MGTTXN1_101 MGTTXN0_101 A6 A4 MGTAVTTRX_101 MGTAVTTTX_101 MGTRREF_101 MGTAVTTRCAL_101 D6 A5 E7 E5 MGTRXN0_101 MGTRXN1_101 MGTRXP0_101 MGTRXP1_101 C5 C7 D5 D7 XC6SLX25T: GTPA1_DUAL_X0Y0 XC6SLX45T: GTPA1_DUAL_X0Y0 MGTREFCLK0N_101 MGTREFCLK0P_101 A8 B8 MGTREFCLK1N_101 MGTREFCLK1P_101 C9 D9 UG386_c1_05_ 図 1-5 : CSG324 パッケージの配置図 (1) 図 1-6 に CSG324 パッケージで使用可能なすべてのデバイスにおける ダイ右側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-6 Top B14 B12 MGTTXP1_123 MGTTXP0_123 B11 E11 MGTAVCCPLL0_123 MGTAVCCPLL1_123 A14 A12 MGTTXN1_123 MGTTXN0_123 E9 MGTAVCC_123 XC6SLX25T: Not Available XC6SLX45T: GTPA1_DUAL_X1Y0 C11 C13 D11 D13 MGTRXN0_123 MGTRXN1_123 MGTRXP0_123 MGTRXP1_123 D12 A13 MGTAVTTRX_123 MGTAVTTTX_123 A10 B10 MGTREFCLK0N_123 MGTREFCLK0P_123 E10 F10 MGTREFCLK1N_123 MGTREFCLK1P_123 UG386_c1_06_ 図 1-6 : CSG324 パッケージの配置図 (2) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 31
32 第 1 章 : トランシーバおよびツールの概要 図 1-7 に FF484 パッケージで使用可能なすべてのデバイスにおける ダイ左側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-7 Top MGTAVCCPLL0_101 MGTAVCCPLL1_101 B9 D12 MGTTXP1_101 MGTTXP0_101 B8 B6 MGTAVCC_101 MGTAVTTRX_101 MGTAVTTTX_101 MGTRREF_101 MGTAVTTRCAL_101 C10 D8 A7 E9 E8 MGTTXN1_101 MGTTXN0_101 MGTRXN0_101 MGTRXN1_101 MGTRXP0_101 MGTRXP1_101 A8 A6 C7 C9 D7 D9 XC6SLX25T: GTPA1_DUAL_X0Y0 XC6SLX45T: GTPA1_DUAL_X0Y0 XC6SLX75T: GTPA1_DUAL_X0Y1 XC6SLX100T: GTPA1_DUAL_X0Y1 XC6SLX150T: GTPA1_DUAL_X0Y1 MGTREFCLK0N_101 MGTREFCLK0P_101 B10 A10 MGTREFCLK1N_101 MGTREFCLK1P_101 D11 C11 OPAD_X0Y0 OPAD_X0Y1 UNB UNB OPAD_X0Y2 OPAD_X0Y3 UNB UNB IPAD_X0Y0 IPAD_X0Y1 IPAD_X0Y2 IPAD_X0Y3 UNB UNB UNB UNB XC6SLX25T: Not Available XC6SLX45T: Not Available XC6SLX75T: GTPA1_DUAL_X0Y0 XC6SLX100T: GTPA1_DUAL_X0Y0 XC6SLX150T: GTPA1_DUAL_X0Y0 IPAD_X0Y4 IPAD_X0Y5 UNB UNB IPAD_X0Y6 IPAD_X0Y7 UNB UNB Bottom UG386_c1_07_ 図 1-7 : FF484 パッケージの配置図 (1) 32 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
33 インプリメンテーション 図 1-8 に FF484 パッケージで使用可能なすべてのデバイスにおける ダイ右側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-8 Top B16 B14 MGTTXP1_123 MGTTXP0_123 B13 E13 MGTAVCCPLL0_123 MGTAVCCPLL1_123 A16 A14 MGTTXN1_123 MGTTXN0_123 E10 MGTAVCC_123 XC6SLX25T: Not Available XC6SLX45T: GTPA1_DUAL_X1Y0 XC6SLX75T: GTPA1_DUAL_X1Y1 XC6SLX100T: GTPA1_DUAL_X1Y1 XC6SLX150T: GTPA1_DUAL_X1Y1 C13 C15 D13 D15 MGTRXN0_123 MGTRXN1_123 MGTRXP0_123 MGTRXP1_123 D14 A15 MGTAVTTRX_123 MGTAVTTTX_123 B12 A12 MGTREFCLK0N_123 MGTREFCLK0P_123 F12 E12 MGTREFCLK1N_123 MGTREFCLK1P_123 UNB UNB OPAD_X1Y0 OPAD_X1Y1 UNB UNB OPAD_X1Y2 OPAD_X1Y3 XC6SLX25T: Not Available XC6SLX45T: Not Available XC6SLX75T: GTPA1_DUAL_X1Y0 XC6SLX100T: GTPA1_DUAL_X1Y0 XC6SLX150T: GTPA1_DUAL_X1Y0 UNB UNB UNB UNB IPAD_X1Y0 IPAD_X1Y1 IPAD_X1Y2 IPAD_X1Y3 UNB UNB IPAD_X1Y4 IPAD_X1Y5 UNB UNB IPAD_X1Y6 IPAD_X1Y7 Bottom UG386_c1_08_ 図 1-8 : FF484 パッケージの配置図 (2) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 33
34 第 1 章 : トランシーバおよびツールの概要 図 1-9 に FF676 パッケージで使用可能なすべてのデバイスにおける ダイ左側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-9 Top MGTAVCCPLL0_101 MGTAVCCPLL1_101 B11 C12 MGTTXP1_101 MGTTXP0_101 B8 B6 MGTAVCC_101 C10 MGTTXN1_101 MGTTXN0_101 A8 A6 MGTAVTTRX_101 MGTAVTTTX_101 MGTRREF_101 MGTAVTTRCAL_101 D8 A7 E9 E11 MGTRXN0_101 MGTRXN1_101 MGTRXP0_101 MGTRXP1_101 C7 C9 D7 D9 XC6SLX75T: GTPA1_DUAL_X0Y1 XC6SLX100T: GTPA1_DUAL_X0Y1 XC6SLX150T: GTPA1_DUAL_X0Y1 MGTREFCLK0N_101 MGTREFCLK0P_101 A10 B10 MGTREFCLK1N_101 MGTREFCLK1P_101 C11 D11 MGTAVCCPLL0_245 MGTAVCCPLL1_245 AE12 AD13 MGTTXP1_245 MGTTXP0_245 AE9 AE7 MGTAVCC_245 AD11 MGTTXN1_245 MGTTXN0_245 AF9 AF7 MGTAVTTRX_245 MGTAVTTTX_245 MGTRREF_245 MGTAVTTRCAL_245 AC9 AF8 AB10 AB12 MGTRXN0_245 MGTRXN1_245 MGTRXP0_245 MGTRXP1_245 AD8 AD10 AC8 AC10 XC6SLX75T: GTPA1_DUAL_X0Y0 XC6SLX100T: GTPA1_DUAL_X0Y0 XC6SLX150T: GTPA1_DUAL_X0Y0 MGTREFCLK0N_245 MGTREFCLK0P_245 AF11 AE11 MGTREFCLK1N_245 MGTREFCLK1P_245 AD12 AC12 Bottom UG386_c1_09_ 図 1-9 : FF676 パッケージの配置図 (1) 34 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
35 インプリメンテーション 図 1-10 に FF676 パッケージで使用可能なすべてのデバイスにおける ダイ右側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-10 Top B20 B18 MGTTXP1_123 MGTTXP0_123 C14 B15 MGTAVCCPLL0_123 MGTAVCCPLL1_123 A20 A18 MGTTXN1_123 MGTTXN0_123 C16 MGTAVCC_123 XC6SLX75T: GTPA1_DUAL_X1Y1 XC6SLX100T: GTPA1_DUAL_X1Y1 XC6SLX150T: GTPA1_DUAL_X1Y1 C17 C19 D17 D19 MGTRXN0_123 MGTRXN1_123 MGTRXP0_123 MGTRXP1_123 D18 A19 MGTAVTTRX_123 MGTAVTTTX_123 C15 D15 MGTREFCLK0N_123 MGTREFCLK0P_123 A16 B16 MGTREFCLK1N_123 MGTREFCLK1P_123 AE21 AE19 MGTTXP1_267 MGTTXP0_267 AD15 AE16 MGTAVCCPLL0_267 MGTAVCCPLL1_267 AF21 AF19 MGTTXN1_267 MGTTXN0_267 AD17 MGTAVCC_267 XC6SLX75T: GTPA1_DUAL_X1Y0 XC6SLX100T: GTPA1_DUAL_X1Y0 XC6SLX150T: GTPA1_DUAL_X1Y0 AD18 AD20 AC18 AC20 MGTRXN0_267 MGTRXN1_267 MGTRXP0_267 MGTRXP1_267 AC19 AF20 MGTAVTTRX_267 MGTAVTTTX_267 AD16 AC16 MGTREFCLK0N_267 MGTREFCLK0P_267 AF17 AE17 MGTREFCLK1N_267 MGTREFCLK1P_267 Bottom UG386_c1_10 _ 図 1-10 : FF676 パッケージの配置図 (2) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 35
36 第 1 章 : トランシーバおよびツールの概要 図 1-11 に FF900 パッケージで使用可能なすべてのデバイスにおける ダイ左側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-11 Top MGTAVCCPLL0_101 MGTAVCCPLL1_101 B14 C15 MGTTXP1_101 MGTTXP0_101 B11 B9 MGTAVCC_101 C13 MGTTXN1_101 MGTTXN0_101 A11 A9 MGTAVTTRX_101 MGTAVTTTX_101 MGTRREF_101 MGTAVTTRCAL_101 D11 A10 E12 E14 MGTRXN0_101 MGTRXN1_101 MGTRXP0_101 MGTRXP1_101 C10 C12 D10 D12 XC6SLX100T: GTPA1_DUAL_X0Y1 XC6SLX150T: GTPA1_DUAL_X0Y1 MGTREFCLK0N_101 MGTREFCLK0P_101 A13 B13 MGTREFCLK1N_101 MGTREFCLK1P_101 C14 D14 MGTAVCCPLL0_245 MGTAVCCPLL1_245 AJ14 AH15 MGTTXP1_245 MGTTXP0_245 AJ11 AJ9 MGTAVCC_245 AH13 MGTTXN1_245 MGTTXN0_245 AK11 AK9 MGTAVTTRX_245 MGTAVTTTX_245 MGTRREF_245 MGTAVTTRCAL_245 AG11 AK10 AF12 AF14 MGTRXN0_245 MGTRXN1_245 MGTRXP0_245 MGTRXP1_245 AH10 AH12 AG10 AG12 XC6SLX100T: GTPA1_DUAL_X0Y0 XC6SLX150T: GTPA1_DUAL_X0Y0 MGTREFCLK0N_245 MGTREFCLK0P_245 AK13 AJ13 MGTREFCLK1N_245 MGTREFCLK1P_245 AH14 AG14 Bottom UG386_c1_11_ 図 1-11 : FF900 パッケージの配置図 (1) 36 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
37 インプリメンテーション 図 1-12 に FF900 パッケージで使用可能なすべてのデバイスにおける ダイ右側部分の GTP トランシーバの位置情報を示します X-Ref Target - Figure 1-12 Top B23 B21 MGTTXP1_123 MGTTXP0_123 C17 B18 MGTAVCCPLL0_123 MGTAVCCPLL1_123 A23 A21 MGTTXN1_123 MGTTXN0_123 C19 MGTAVCC_123 XC6SLX100T: GTPA1_DUAL_X1Y1 XC6SLX150T: GTPA1_DUAL_X1Y1 C20 C22 D20 D22 MGTRXN0_123 MGTRXN1_123 MGTRXP0_123 MGTRXP1_123 D21 A22 MGTAVTTRX_123 MGTAVTTTX_123 C18 D18 MGTREFCLK0N_123 MGTREFCLK0P_123 A19 B19 MGTREFCLK1N_123 MGTREFCLK1P_123 AJ23 AJ21 MGTTXP1_267 MGTTXP0_267 AH17 AJ18 MGTAVCCPLL0_267 MGTAVCCPLL1_267 AK23 AK21 MGTTXN1_267 MGTTXN0_267 AH19 MGTAVCC_267 XC6SLX100T: GTPA1_DUAL_X1Y0 XC6SLX150T: GTPA1_DUAL_X1Y0 AH20 AH22 AG20 AG22 MGTRXN0_267 MGTRXN1_267 MGTRXP0_267 MGTRXP1_267 AG21 AK22 MGTAVTTRX_267 MGTAVTTTX_267 AH18 AG18 MGTREFCLK0N_267 MGTREFCLK0P_267 AK19 AJ19 MGTREFCLK1N_267 MGTREFCLK1P_267 Bottom UG386_c1_12_ 図 1-12 : FF900 パッケージの配置図 (2) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 37
38 第 1 章 : トランシーバおよびツールの概要 38 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
39 第 2 章 トランシーバの共有機能 リファレンスクロック入力の構造 機能の説明 図 2-1 に リファレンスクロック入力の構造を示します 入力は 3/4MGTAVCC に対して両側に 50Ω の内部抵抗で終端処理されています リファレンスクロックは IBUFDS プリミティブを使用してソフトウェアにインスタンシエートされます リファレンスクロックを制御するポートおよび属性は 各 IBUFDS へ接続されずに GTPA1_DUAL に割り当てられます X-Ref Target - Figure 2-1 MGTAVCC = 1.2V MGTREFCLKP0/1 MGTREFCLKN0/1 Nom 50Ω CLKINDC_B_0/1 CLKRCV_TRST_0/1 = Nom 50Ω + 3/4 MGTAVCC REFCLKPWRDNB0/1 UG386_c2_14_ 図 2-1 : クロック入力の構造 ポートおよび属性 表 2-1 に IBUFDS のリファレンスクロック入力ポートを示します 表 2-1 : リファレンスクロック入力のポート (IBUFDS) ポート方向クロックドメイン説明 I IB 入力 ( パッド ) N/A これらは MGTREFCLKP0/MGTREFCLKN0 および MGTREFCLKP1/MGTREFCLKN1 へマッピングされるリファレンスクロック入力ポートです O 出力 N/A この出力は GTPA1_DUAL プリミティブの CLK00 CLK01 CLK10 および CLK11 信号を駆動します 詳細は 40 ページの リファレンスクロックの選択および分配 を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 39
40 第 2 章 : トランシーバの共有機能 表 2-2 に GTPA1_DUAL のリファレンスクロック入力ポートを示します 表 2-2 : リファレンスクロック入力のポート (GTPA1_DUAL) ポート方向クロックドメイン説明 REFCLKPWRDNB0 REFCLKPWRDNB1 入力 ( パッド ) 非同期 クロックバッファ用の非同期パワーダウン信号です ( アクティブ Low) 表 2-3 に RX アナログフロントエンドの属性を示します 表 2-3 : リファレンスクロック入力の属性 (GTPA1_DUAL) 属性種類説明 CLKRCV_TRST_0 CLKRCV_TRST_1 CLKINDC_B_0 CLKINDC_B_1 ブール関数 ブール関数 制限されています この属性は 50Ω 終端抵抗を有効にします 常に TRUE に設定してください 制限されています この属性は 50Ω の終端用の終端電圧を有効にします 常に TRUE に設定してください 使用モード : リファレンスクロックの終端処理 リファレンスクロック入力は外部で AC カップリングされます これを行う際に必要なピンおよび属性の設定を表 2-4 に示します 表 2-4 : ポートおよび属性の設定 入力の種類 設定 ポート REFCLKPWRDNB0 = 1 REFCLKPWRDNB1 = 1 属性 CLKINDC_B_0 = 1 CLKINDC_B_1 = 1 CLKRCV_TRST_0 = 1 CLKRCV_TRST_1 = 1 リファレンスクロックの選択および分配 機能の説明 SerDes トランシーバには 複数のリファレンスクロック入力があります クロック入力の種類および数は 以前の RocketIO トランシーバとは多少異なります Spartan -6 FPGA GTP トランシーバリファレンスクロックは 専用のクロック配線およびマルチプレクサリソースを使用して駆動できます 構造的には 1 つのデュアル (DUAL) 内に GTPA1_DUAL プリミティブが 1 つあり このプリミティブには 2 つのトランシーバが含まれます (TX と RX が 2 対ずつ ) 各 GTPA1_DUAL タイルには 2 つの PLL があります 各 PLL のリファレンスクロックは 対応するリファレンスクロックセレクション MUX を設定することで個別に選択できます 40 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
41 リファレンスクロックの選択および分配 リファレンスクロックセレクションの特徴は次のとおりです 隣接する GTPA1_DUAL タイルへの西方向クロックおよび東方向クロック配線 各 GTP PLL で利用可能なクロック入力 PLL のリファレンスクロックを静的または動的に選択可能 図 2-2 に 2 つの GTP トランシーバ 2 つの専用リファレンススクロックピンペア および東西方向のリファレンスクロック配線がある GTPA1_DUAL のアーキテクチャを示します GTPA1_DUAL タイル内にある各 PLL では リファレンスクロック MUX のコンフィギュレーションに基づいて 8 個のクロックソースをリファレンスクロックソースとして使用できます 外部ピンからの 2 つのリファレンスクロックピンペア PLL0 用の CLK[0/1]0 PLL1 用の CLK[0/1]1 東西からの 2 つのリファレンスクロックピンペア PLL0 用の CLKINEAST0 および CLKINWEST0 PLL1 用の CLKINEAST1 および CLKINWEST1 隣接する GTPA1_DUAL タイルがない場合 対応するポートは未接続となりフローティング状態になります FPGA ロジックの PLL からの 2 つのリファレンスクロックピンペア PLL0 用の PLLCLK[0/1]0 PLL1 用の PLLCLK[0/1]1 FPGA ロジックで生成される 2 つのリファレンスクロック信号 PLL0 用の GCLK[0/1]0 PLL1 用の GCLK[0/1]1 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 41
42 第 2 章 : トランシーバの共有機能 X-Ref Target - Figure 2-2 Controlled by Software Controlled by Software REFCLKPLL1 REFCLKPLL0 REFCLKPLL1 REFCLKPLL0 CLKINWEST0/1 CLKINEAST0/ PLL0 PLL_SOURCE_0 PLL_SOURCE_0 PLL PLL1 PLL_SOURCE_1 PLL_SOURCE_1 PLL GTPA1_DUAL (X0Y0) GTPA1_DUAL (X1Y0) CLK10/11 IBUFDS MGTREFCLK1P MGTREFCLK1P IBUFDS CLK10/11 MGTREFCLK1N MGTREFCLK1N CLK00/01 IBUFDS MGTREFCLK0P MGTREFCLK0P IBUFDS CLK00/01 MGTREFCLK0N MGTREFCLK0N UG386_c2_12_ 図 2-2 : GTP トランシーバのリファレンスクロッキング概要図 図 2-3 に リファレンスクロックマルチプレクサの構造図を示し 各 PLL へ異なるクロックソースが提供される方法を示します 複数のリファレンスクロックがマルチプレクサへ接続される場合は REFSELDYPLL0 および REFSELDYPLL1 ポートが必要になります リファレンスクロックマルチプレクサにリファレンスクロックソースを 1 個のみ接続する場合は 各 PLL に 1 つのリファレンスクロックが定義されます この場合 PLL0 のリファレンスクロックソースは CLK00 ポートへ接続 PLL1 のリファレンスクロックソースは CLK01 ポートへ接続できます マルチプレクサの制御ポート (REFSELDYPLL0[2:0] および REFSELDYPLL1[2:0] ) を 000 を設定すると ザイリンクスのソフトウェアツールが複雑なマルチプレクサ構造を処理して 各 GTP トランシーバの PLL に 1 つのリファレンスクロックを使用するように配線します ほとんどの場合 GTPA1_DUAL タイル内にある 2 つのトランシーバは同じ外部クロックソースを共有し 各 PLL にはリファレンスクロックが 1 つのみ存在します 詳細は 46 ページの 単一の外部リファレンスクロックを使用する場合 を参照してください 42 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
43 リファレンスクロックの選択および分配 リファレンスクロックマルチプレクサに複数のリファレンスクロックソースが接続されている場合は 各 PLL に複数のリファレンスクロックが定義されます この場合 リファレンスクロックを動的に選択して切り替える必要があるため リファレンスクロックを各リファレンスクロックマルチプレクサ構造へ接続して 必要に応じて REFSELDYPLL[2:0] の設定を変更する必要があります X-Ref Target - Figure 2-3 REFSELDYPLL0[2:0] GTP Transceiver Reference Clock Selection CLK00 GCLK00 PLLCLK00 CLKINEAST0 CLK10 GCLK10 PLLCLK10 CLKINWEST Out PLL0 REFSELDYPLL1[2:0] CLK01 GCLK01 PLLCLK01 CLKINEAST1 CLK11 GCLK11 PLLCLK11 CLKINWEST Out PLL1 User Design Default Configuration UG386_c2_01_ 図 2-3 : GTP トランシーバの詳細図 1 つの GTPA1_DUAL タイルを含む GTP トランシーバでは 2 つの専用リファレンスクロックピンを共有します ユーザーデザインでは IBUFDS プリミティブをインスタンシエートして これらのリファレンスクロックへアクセスします これらのクロックは GTPA1_DUAL タイル内の GTP トランシーバで使用できます (MGTREFCLK0P/N が CLK00 を駆動し MGTREFCLK1P/N が CLK01 を駆動する ) また GTPA1_DUAL タイルが隣接配置されている場合は 専用のリファレンスクロック配線を使用して東西方向の GTP トランシーバへこれらのクロックを配線することも可能です 各 GTP トランシーバは CLKINEAST0 ポートおよび CLKINEAST1 ポートをソースとする西側の GTPA1_DUAL タイルからリファレンスクロックを選択できます 東側の GTPA1_DUAL タイルは CLKINWEST0 ポートおよび CLKINWEST1 ポートからクロック供給されます また FPGA PLL の出力クロックを対応する PLLCLK ポートへ接続することによって トランシーバの専用リファレンスクロックソースとして使用できます PLLCLK ポートは 内部テストのために予約されているポートです Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 43
44 第 2 章 : トランシーバの共有機能 グローバルクロッキングリソースの出力を対応する GCLK ポートへ接続することによって FPGA の内部グローバルクロックネットが GTP トランシーバへリファレンスクロックを提供できるようになります FPGA クロッキングリソースは高速動作でジッタを生成するため これらのリファレンスクロックポートは利用可能なクロッキング手法の中で最も低いパフォーマンスとなります GCLK ポートは 内部テストのために予約されているポートです ポートおよび属性 表 2-5 : GTP のクロッキングポート 表 2-5 に GTP のクロッキングポートを示します CLK00 CLK01 CLK10 CLK11 ポート方向 クロックドメイン 入力 クロック IBUFDS プリミティブで駆動される 外部からのジッタ安定クロック です 入力 クロック IBUFDS プリミティブで駆動される 外部からのジッタ安定クロック です 説明 CLKINEAST0 CLKINEAST1 CLKINWEST0 CLKINWEST1 GCLK00 GCLK01 GCLK10 GCLK11 入力 クロック 西側 GTPA1_DUAL タイルからの東方向クロックです 東側の GTPA1_DUAL タイルは これらのポートを使用して西側の GTPA1_DUAL タイルへリファレンスクロックを提供できます ( 西側にタイルが隣接している場合のみ ) CLKINEAST0 が PLL0 を駆動し CLKINEAST1 が PLL1 を駆動します 入力 クロック 東側 GTPA1_DUAL タイルからの西方向クロックです 西側の GTPA1_DUAL タイルは これらのポートを使用して東側の GTPA1_DUAL タイルへリファレンスクロックを提供できます ( 東側にタイルが隣接している場合のみ ) CLKINWEST0 が PLL0 を駆動し CLKINWEST1 が PLL1 を駆動します 入力 クロック FPGA ロジックのグローバルクロックネットからのクロックソース です GCLK00 が PLL0 を駆動し GCLK01 が PLL1 を駆動します このポートは 内部テストのために予約されているポートです 入力 クロック FPGA ロジックのグローバルクロックネットからのクロックソース です GCLK10 が PLL0 を駆動し GCLK11 が PLL1 を駆動します このポートは 内部テストのために予約されているポートです GTPCLKFBEAST[1:0] 出力 N/A TXUSRCLK(0/1) および RXUSRCLK(0/1) から個別に選択可能な PLL または DCM の専用フィードバッククロックです 詳細は およびを参照してください GTPCLKFBSEL0EAST[1:0] 入力 非同期 GTPCLKFBEAST[0] の専用フィードバッククロックセレクタです 詳細は およびを参照してください 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 44 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
45 リファレンスクロックの選択および分配 表 2-5 : GTP のクロッキングポート ( 続き ) ポート方向 クロックドメイン 説明 GTPCLKFBSEL0WEST[1:0] 入力 非同期 GTPCLKFBWEST[0] の専用フィードバッククロックセレクタです 詳細は およびを参照してください 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBSEL1EAST[1:0] 入力 非同期 GTPCLKFBEAST[1] の専用フィードバッククロックセレクタです 詳細は およびを参照してください 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBSEL1WEST[1:0] 入力 非同期 GTPCLKFBWEST[1] の専用フィードバッククロックセレクタです 詳細は およびを参照してください 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBWEST[1:0] 出力 N/A TXUSRCLK(0/1) および RXUSRCLK(0/1) から個別に選択可能な PLL または DCM の専用フィードバッククロックです 詳細は およびを参照してください PLLCLK00 PLLCLK01 PLLCLK10 PLLCLK11 REFCLKPWRDNB0 REFCLKPWRDNB1 入力 クロック FPGA PLL からの専用クロックです PLLCLK00 が PLL0 を駆動し PLLCLK01 が PLL1 を駆動します これらのクロックは FPGA の BUFPLL リソースから提供されます このポートは 内部テストのために予約されているポートです 入力 クロック FPGA PLL からの専用クロックです PLLCLK10 が PLL0 を駆動し PLLCLK11 が PLL1 を駆動します これらのクロックは FPGA の BUFPLL リソースから提供されます このポートは 内部テストのために予約されているポートです 入力 非同期 専用のリファレンスクロックが使用されていない場合は 差動 IBUFDS バッファ (MGTREFCLK0P/N) をパワーダウンモードにして消費電力を削減できます REFCLKPWRDNB0 は MGTREFCLK0P/N に対応し REFCLKPWRDNB1 は MGTREFCLK0P/N に対応します 1 : オン 0 : オフ Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 45
46 第 2 章 : トランシーバの共有機能 表 2-5 : GTP のクロッキングポート ( 続き ) REFSELDYPLL0[2:0] REFSELDYPLL1[2:0] ポート方向 表 2-6 : GTP のクロック属性 クロックドメイン 入力 非同期 PLL0/PLL1 のリファレンスクロックを動的に選択します 使用するリ ファレンスクロックが 1 つの場合は このポートを 000 に設定します 表 2-6 に GTP のクロック属性を示します 説明 複数のリファレンスクロックを使用する場合は 次のように TXPLLREFSELDY を使用して動的に選択します 000 : CLK00/CLK01 が選択される 001 : GCLK00/GCLK01 が選択される 010 : PLLCLK00/PLLCLK01 が選択される 011 : CLKINEAST0/CLKINEAST0 が選択される 100 : CLK10/CLK11 が選択される 101 : GCLK10/GCLK11 が選択される 110 : PLLCLK10/PLLCLK11 が選択される 111 : CLKINWEST0/CLKINWEST1 が選択される 属性 種類 説明 SIM_REFCLK0_SOURCE[2:0] 3 ビットバイナリ シミュレーションで GTP のリファレンスクロックを選択します この属性は REFSELDYPLL0[2:0] ポートと同じバイナリ値になる必要があります SIM_REFCLK1_SOURCE[2:0] 3 ビットバイナリ シミュレーションで GTP のリファレンスクロックを選択します この属性は REFSELDYPLL1[2:0] ポートと同じバイナリ値になる必要があります 単一の外部リファレンスクロックを使用する場合 各 GTPA1_DUAL タイルには 外部クロックソースと接続可能な専用リファレンスクロックピンである 2 つの差動ピンがあります これらの専用リファレンスクロックピンペアを使用する際は IBUFDS プリミティブをインスタンシエートする必要があります 単一の外部リファレンスクロックを使用するモデルの場合 ユーザーデザインは IBUFDS の出力 (O) を GTPA1_DUAL プリミティブの CLK00 および CLK01 入力ポートへ接続します ユーザーデザインでは そのほかの未使用リファレンスクロックポートをフローティング状態のままにできます IBUFDS 入力ピンは UCF ファイルを使用して制約できます 46 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
47 リファレンスクロックの選択および分配 図 2-4 に ボード上の外部オシレータと接続する差動 GTP クロックピンペアを示します X-Ref Target - Figure 2-4 GTPA1_DUAL Tile CLK00 CLK01 IBUFDS UG386_c2_02_ 図 2-4 : 外部クロックソースを使用する単一の GTP_DUAL タイル 図 2-5 に 2 つの GTPA1_DUAL タイルが同じ外部オシレータからクロック提供される方法を示します X-Ref Target - Figure 2-5 GTPA1_DUAL Tile GTPA1_DUAL Tile CLK00 CLK01 CLK00 CLK01 IBUFDS 図 2-5 : リファレンスクロックを共有する 2 つの GTPA1_DUAL タイル UG386_c2_03_ 図 2-6 に 4 つの GTPA1_DUAL タイルが同じ外部オシレータからクロック供給されている状態を示します この場合 上部の 2 つの GTPA1_DUAL タイルと下部の 2 つの GTPA1_DUAL タイル分離しています したがって IBUFDS プリミティブが 2 つ必要となり 外部オシレータ ( またはバッファ ) を両方の差動クロックピンペアへ配線する必要があります この場合 GTPA1_DUAL プリミティブの専用クロック入力ピンペアとオシレータ ( またはバッファ ) の出力は Point-to-Point 接続となります 詳細は を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 47
48 第 2 章 : トランシーバの共有機能 X-Ref Target - Figure 2-6 GTPA1_DUAL Tile GTPA1_DUAL Tile CLK00 CLK01 CLK00 CLK01 IBUFDS GTPA1_DUAL Tile GTPA1_DUAL Tile CLK00 CLK01 CLK00 CLK01 IBUFDS 図 2-6 : 単一の外部オシレータを共有する 4 つの GTPA1_DUAL タイル このような場合 ザイリンクスのインプリメンテーションツールは GTPA1_DUAL タイル内にあるリファレンスクロックマルチプレクサを制御して GTPA1_DUAL プリミティブへ次のような設定を適用します REFSELDYPLL0[2:0] = 000 REFSELDYPLL1[2:0] = 000 使用するクロック入力と一致するように GTPA1_DUAL プリミティブにシミュレーション専用の属性を設定する必要があります 外部リファレンスクロックを 1 つ使用する場合は 次の設定を適用してください SIM_REFCLK0_SOURCE[2:0] = 000 SIM_REFCLK1_SOURCE[2:0] = 000 UG386_c2_04_ 複数の外部リファレンスクロックを使用する場合 図 2-7 に 2 つの外部リファレンスクロックを使用して各 GTPA1_DUAL タイルを駆動する場合の配線を示します X0Y0 には 2 つのリファレンスクロックソースがあります 1 つ目のリファレンスクロックソースは 専用のリファレンスクロックピンペア (MGTREFCLK0P/N) から供給されるクロックであり 2 つ目のリファレンスクロックは X1Y0 の専用リファレンスクロックソースの 1 つであり MGTREFCLK1P/N から供給されるクロックです 同様に X1Y0 の 1 つ目のリファレンスクロッ 48 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
49 PLL クソースは 専用のリファレンスクロックピンペア (MGTREFCLK1P/N) から供給されるクロックです 2 つ目のリファレンスクロックソースは X0Y0 の専用リファレンスクロックソースの 1 つであり GTRREFCLK0P/N から供給されるクロックです 図 2-7 の場合 リファレンスクロックマルチプレクサ構造には 2 つ以上のリファレンスクロックソースが提供されているため ユーザーデザインでは適切なクロック入力ポートへの接続が要求されます この図は REFCLKPLL CLKINWEST および CLKINEAST ポートを使用して 隣接するタイルから専用リファレンスクロックへのアクセス方法を示します X-Ref Target - Figure 2-7 MGTREFCLK0P MGTREFCLK0N IBUFDS GTPA1_DUAL CLK00 CLKINWEST0 CLK01 CLKINWEST1 CLK10 REFCLKPLL0 CLK11 REFCLKPLL1 GTPA1_DUAL REFCLKPLL0 CLK00 REFCLKPLL1 CLK01 CLKINEAST0 CLK10 CLKINEAST1 CLK11 IBUFDS MGTREFCLK1P MGTREFCLK1N (X0Y0) (X1Y0) UG386_c2_13_ 図 2-7 : 複数の外部リファレンスクロック オンザフライでリファレンスクロックソースを変更する必要があるマルチレートデザインの場合は REFSELDYPLL0[2:0] ポートおよび REFSELDYPLL0[2:0] ポートを使用してソースを動的に選択します 使用するクロック入力と一致するように GTPA1_DUAL プリミティブにシミュレーション専用の属性 (SIM_REFCLK0_SOURCE[2:0] および SIM_REFCLK1_SOURCE[2:0] ) を設定する必要があります 選択完了後は ユーザーデザインがアクティブ High の GTPRESET0 ポートと GTPRXRESET1 ポートを経由して PLL0 または PLL1 のいずれかまたは両方をリセットする必要があります GTPRESET0 ポートと GTPRESET1 ポートは非同期であるため ユーザーデザインは FPGA ロジックでサポートされるシステムクロックの 1 サイクル間パルスを与えます 両リファレンスクロックに対する適切な PLL 分周器設定の詳細は 49 ページの PLL セクションを参照してください PLL 機能の説明 各 GTPA1_DUAL タイルには 2 つの PLL (PLL0 および PLL1) があります GTPA1_DUAL ブロックにある 2 つのレーンが同一ラインレートまたは倍数ラインレートで動作する場合 1 つの PLL を共有して消費電力を削減できます 2 つのレーンが異なるラインレートで動作する場合は レーン 0 が PLL0 を使用し レーン 1 が PLL1 を使用します GTPA1_DUAL ブロックの各レーンの TX と RX データパスは 同じレートまたは倍数レートで動作する必要があります PLL の標準動作範囲は GHz ~ GHz です ( 正確な範囲は Spartan-6 FPGA データシート を参照してください ) これによって サポートされるラインレートの範囲は 2.457Gb/s ~ 3.125Gb/s となります これらの範囲 (1.2288Gb/s ~ 1.62Gb/s および 0.614Gb/s ~ 0.810Gb/s) をサポートするため クロック分周器を使用して PLL 出力を 2 分周または 4 分周できます 低いラインレートをサポートする場合は FPGA ロジックのオーバーサンプリング技術を使用する必要があります Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 49
50 第 2 章 : トランシーバの共有機能 X-Ref Target - Figure 2-8 Lane 0 PLL_SOURCE_0 PLL0 TX Clock Dividers TX PMA TX PCS REFCLK Distribution Lane 1 RX Clock Dividers TX Clock Dividers RX PMA RX PCS TX PMA TX PCS PLL1 PLL_SOURCE_1 RX Clock Dividers RX PMA RX PCS UG386_c2_05_ 図 2-8 : トップレベルの PLL アーキテクチャ PLL の入力クロックセレクションについては 40 ページの リファレンスクロックの選択および分配 を参照してください PLL 出力は TX および RX クロック分周器ブロックへ接続し これらのブロックでは PMA ブロックや PCS ブロックで使用されるシリアルクロックおよびパラレルクロックの生成を制御します これらのブロックの詳細は およびを参照してください 図 2-9 に PLL アーキテクチャの詳細図を示します 最良のジッタパフォーマンスを実現するには 位相ノイズの低い PLL 入力を使用することを推奨します 入力クロックは 位相周波数検出器を通過する前に M 値で分周可能です フィードバック分周器 (N1 および N2) が VCO の倍数レートおよび PLL の出力周波数を決定します ロックインジケータ (Lock Indicator) ブロックは リファレンスクロックの周波数と VCO フィードバッククロックの周波数を比較して 周波数ロックの完了を判断します X-Ref Target - Figure 2-9 PLL CLKIN / M Phase Frequency Detector Lock Indicator Charge Pump Loop Filter VCO PLL LOCKED PLL CLKOUT / N2 / N1 UG386_c2_06_ 図 2-9 : PLL の詳細図 50 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
51 PLL 式 2-1 に PLL の出力周波数 (GHz) を求める式を示します N1 N2 f PLLClkout = f PLLClkin 式 2-1 M 式 2-2 に ラインレート (Gb/s) を求める式を示します D は PLL 出力を分周する値であり クロック分周ブロックに設定されています f f PLLClkout 2 LineRate = 式 2-2 D 表 2-7 に 分周器ブロックで使用される属性および一般的な値を示します 表 2-7 : PLL 分周器の属性および一般的な値 ファクタ 属性 有効値 M PLL_DIVSEL_REF 1 2 N1 信号ポートで制御される : INTDATAWIDTH(0/1) 4 5 INTDATAWIDTH = 0 の場合は N1 = 4 INTDATAWIDTH = 1 の場合は N1 = 5 N2 PLL_DIVSEL_FB_(0/1) D PLL_TXDIVSEL_OUT_(0/1) PLL_RXDIVSEL_OUT_(0/1) ポートおよび属性 表 2-8 に PLL のポートを示します 表 2-8 : PLL のポート GTPRESET0 GTPRESET1 ポート方向 INTDATAWIDTH0 INTDATAWIDTH1 PLLLKDET0 PLLLKDET1 PLLLKDETEN0 PLLLKDETEN1 PLLPOWERDOWN0 PLLPOWERDOWN1 クロックドメイン 入力 非同期 GTPA1_DUAL タイル用のアクティブ High のリセット信号であり リセットシーケンスを開始して PLL をリセットします GTPA1_DUAL タイルのレーン 0 とレーン 1 が同じ PLL を共有している場合 この PLL をリセットするためには GTPRESET0 と GTPRESET1 が同時にアサートされる必要があります 入力 非同期 このポートは 内部データパス幅および PLL の N1 フィードバック分周値 (50 ページの図 2-9 参照 ) を定義します 説明 0 : 内部データパス幅は 8 ビット PLL N1 分周値は 4 1 : 内部データパス幅は 10 ビット PLL N1 分周値は 5 出力 非同期 アクティブ High の PLL 周波数ロック信号であり PLL 周波数があらかじめ定義されたトレランス範囲内であることを示します この条件が満たされるまで GTP トランシーバおよびそのクロック出力の精度は保証されません 入力 非同期 PLL のロック検出器を有効にします このポートは常に High に接続される 必要があります 入力非同期アクティブ High の PLL パワーダウン信号です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 51
52 第 2 章 : トランシーバの共有機能 表 2-9 に PLL の属性を示します 表 2-9 : PLL の属性 属性 種類 説明 PLL_COM_CFG_0 24 ビットの 予約されています Spartan-6 FPGA GTP Transceiver PLL_COM_CFG_1 16 進数 Wizard で推奨される値を使用してください PLL_CP_CFG_0 PLL_CP_CFG_1 PLL_DIVSEL_FB_0 PLL_DIVSEL_FB_1 PLL_DIVSEL_REF_0 PLL_DIVSEL_REF_1 8 ビットの 16 進数 整数 整数 予約されています Spartan-6 FPGA GTP Transceiver Wizard で推奨される値を使用してください この属性は 50 ページの図 2-9 の N2 です 2 つの PLL フィードバック分周器のうち一つを指定し 一般的な設定は および 5 です この属性は 50 ページの図 2-9 の M です リファレンスクロック入力分周器の値を指定します 一般的な値は 1 および 2 です PLL_SATA ブール関数 予約されています Spartan-6 FPGA GTP Transceiver Wizard で推奨される値を使用してください PLL_SOURCE_0 PLL_SOURCE_1 PLL_TXDIVSEL_OUT_0 PLL_TXDIVSEL_OUT_1 PLL_RXDIVSEL_OUT_0 PLL_RXDIVSEL_OUT_1 PLLLKDET_CFG_0 PLLLKDET_CFG_1 TX_TDCC_CFG 文字列 整数 3 ビットバイナリ 2 ビットバイナリ この属性は マルチプレクサのセレクト信号です (50 ページの図 2-8 参照 ) レーンに供給されるクロックソース (PLL0 または PLL1) を指定します 有効値は PLL0 および PLL1 です PLL_SOURCE_0 = PLL1 かつ PLL_SOURCE_1 = PLL0 は 有効な設定ではありません この属性は 式 2-2 の D であり クロック分周器ブロック内にある PLL 出力分周器の値を指定します 有効な値は 1 2 および 4 です 予約されています Spartan-6 FPGA GTP Transceiver Wizard で推奨される値を使用してください 予約されています Spartan-6 FPGA GTP Transceiver Wizard で推奨される値を使用してください 52 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
53 PLL 標準プロトコルの PLL 設定 表 2-10 : 標準プロトコルにおける PLL 分周器の設定 表 2-10 に いくつかの標準プロトコルにおける PLL 分周器の設定例を示します 規格 ラインレート [Gb/s] 内部データ幅 [8b/10b] PLL 周波数 [GHz] REFCLK 周波数 [MHz] 最小 REFCLK 周波数を使用した場合 標準 N1 N2 D M XAUI b GigE b Aurora b b b Serial RapidIO b b b SATA 3 10b b PCIe 100MHz REFCLK (1) b PCIe 追加マージン b CPRI b b b OBSAI b b DisplayPort b b GPON b b メモ : 1. 追加のシステムマージンに対応する場合は 125MHz のリファレンスクロックを使用してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 53
54 第 2 章 : トランシーバの共有機能 リセット 機能の説明 GTPA1_DUAL タイルは GTP トランシーバを使用する前に必ずリセットしてください GTPA1_DUAL タイルのリセット方法は 3 つあります 1. FPGA に電源を投入してコンフィギュレーションします 電源投入によるリセットプロセスの詳細は このセクションで説明します 2. GTPRESET ポートを High に駆動し GTPA1_DUAL タイル全体の非同期リセット信号をトグルします GTPRESET の詳細は このセクションで説明します 3. ブロックのリセット信号を 1 つまたは複数のアサートして タイル内の特定のサブコンポーネントをリセットします このリセット方法の詳細は 各サブコンポーネントのセクションで説明します (59 ページの表 2-13 参照 ) 図 2-10 に GTPA1_DUAL のリセット階層図を示します X-Ref Target - Figure 2-10 Falling edge of PLLPOWERDOWN0 GTPA1_DUAL RESET After Configuration Falling edge of PLLPOWERDOWN1 GTP0 GTPRESET0 GTPRESET1 GTP1 RXCDRRESET0 TXRESET0 TXRESET1 RXCDRRESET1 RXRESET0 RXRESET1 RXBUFRESET0 RXBUFRESET1 UG386_c2_07_ 図 2-10 : GTPA1_DUAL のリセット階層図 54 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
55 リセット ポートおよび属性 表 2-11 に リセットのポートを示します 表 2-11 : リセットのポートポート (1) 方向ドメイン説明 GTPRESET0 (2) GTPRESET1 (3) GTPTEST0[7:0] GTPTEST1[7:0] 入力 非同期 このポートが High 駆動されると GTPA1_DUAL タイル全体のリセットシーケンスが開始し その後ディアサートされます このシーケンスは約 120μs 間で完了し GTPA1_DUAL タイルのすべてのサブコンポーネントをリセットします GTPA1_DUAL タイルの GTP0 と GTP1 が同じ PLL を共有している場合 両方のリセット (GTPRESET0 および GTPRESET1) が同時にアサートされるように接続する必要があります 入力非同期予約されています に接続されます PRBSCNTRESET0 PRBSCNTRESET1 入力 RXUSRCLK20 RXUSRCLK21 PRBS エラーカウンタをリセットします RESETDONE0 RESETDONE1 出力 非同期 GTP トランシーバのリセットが完了し 使用可能な状態になると High になります この信号を適切に動作させるには CLKIN およびすべての GTP トランシーバのクロック入力 (TXUSRCLK TXUSRCLK2 RXUSRCLK RXUSRCLK2) が駆動される必要があります RXBUFRESET0 (2) RXBUFRESET1 (3) 入力 非同期 アクティブ High のリセット信号であり RX エラスティックバッファロジックをリセットします RXCDRRESET0 (2) RXCDRRESET1 (3) 入力 非同期 RX CDR およびこのチャネルに対する PCS の RX 部分それぞれのリセット信号 CDR の現時点のロックを中止して共有 PLL の周波数に戻すには この信号を High に駆動します RXRESET0 (2) RXRESET1 (3) 入力 非同期 アクティブ High リセット信号であり RX PCS ロジックをリセットします TXRESET0 (2) TXRESET1 (3) 入力 非同期 位相アライメント FIFO 8B/10B エンコーダ FPGA TX インターフェイスを含む GTP トランスミッタの PCS をリセットします メモ : 1. ポート名の末尾に 0 および 1 が付いている場合 それらは GTP0 および GTP1 にそれぞれ関連しています 2. これらのリセットがアクティブの時 RESETDONE0 は Low に駆動されます すべてのリセットは非同期で 立ち上がりエッジでトリガし また特定のクロックドメインに内部同期しています これらのリセット信号のいずれかがアサートされると ディアサートされるまで内部リセット FSM がリセット状態を保持します 3. これらのリセットがアクティブの時 RESETDONE1 は Low に駆動されます すべてのリセットは非同期で 立ち上がりエッジでトリガし また特定のクロックドメインに内部同期しています これらのリセット信号のいずれかがアサートされると ディアサートされるまで内部リセット FSM がリセット状態を保持します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 55
56 第 2 章 : トランシーバの共有機能 表 2-12 : リセットの属性 表 2-12 に リセットの属性を示します 属性 (1) 種類 説明 CDR_PH_ADJ_TIME_0[4:0] CDR_PH_ADJ_TIME_1[4:0] 5 ビットバイナリ 電気的アイドル状態のとき CDR の位相リセット信号がディアサートされてから PCI Express 動作のオプショナルリセットシーケンスが完了するまでの待機時間を示します RX_EN_IDLE_HOLD_CDR_0 RX_EN_IDLE_HOLD_CDR_1 ブール関数 電気的アイドル状態のとき PCI Express 動作のオプショナルリセットシーケンス中に CDR の内部ステートを保持できます RX_EN_IDLE_RESET_BUF_0 RX_EN_IDLE_RESET_BUF_1 ブール関数 TRUE の場合 RX 入力に有効な信号が現れない場合にはエラスティックバッファがリセットされます RX_IDLE_HI_CNT_0 RX_IDLE_HI_CNT_1 RX_IDLE_LO_CNT_0 および RX_IDLE_LO_CNT_1 属性と併用されます RX_EN_IDLE_RESET_PH_0 RX_EN_IDLE_RESET_PH_1 ブール関数 電気的アイドル状態のとき PCI Express 動作のオプショナルリセットシーケンス中に CDR 位相回路をリセットします RX_EN_IDLE_RESET_FR_0 RX_EN_IDLE_RESET_FR_1 ブール関数 電気的アイドル状態のとき PCI Express 動作のオプショナルリセットシーケンス中に CDR 周波数回路をリセットします RX_EN_MODE_RESET_BUF_0 RX_EN_MODE_RESET_BUF_1 ブール関数 RXCHBONDMASTER(0/1) または RXCHBONDSLAVE(0/1) ポートが変更する際 RX エラスティックバッファを自動リセットする機能を有効にします を参照してください RX_IDLE_HI_CNT_0[3:0] RX_IDLE_HI_CNT_1[3:0] 4 ビットバイナリ RX 入力に有効なデータが現れないことを受けて RX エラスティックバッファをリセットする際に併用されるプログラム可能なカウンタです エラスティックバッファのリセットがアサートされるまで RX 入力が電気的アイドル状態を保持する時間を指定します RX_IDLE_LO_CNT_0[3:0] RX_IDLE_LO_CNT_1[3:0] 4 ビットバイナリ RX 入力に有効なデータが検出されたとき RX エラスティックバッファのリセット状態を解除するときに使用されるプログラム可能なカウンタです RX エラスティックバッファのリセットが解除されるまで RX 入力が有効なデータを保持する ( 電気的アイドル状態ではない ) 時間を指定します メモ : 1. 属性名の末尾に 0 および 1 が付いている場合 それらは GTP0 および GTP1 にそれぞれ関連しています 56 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
57 リセット コンフィギュレーション完了後の GTP リセット 図 2-11 に 電源投入された GTPA1_DUAL タイルのコンフィギュレーション完了後に実行される GTPA1_DUAL のリセットシーケンスを示します X-Ref Target - Figure 2-11 GSR Reset FSM Wait Reset in Progress Idle ~120 µs RESETDONE(0/1) UG386_c2_08_ コンフィギュレーション後のリセットシーケンスは GTPA1_DUAL タイル内の次の部分に影響を与えます PMA PLL0 PMA PLL1 図 2-11 : コンフィギュレーション後の GTPA1_DUAL リセットシーケンス GTP0 のトランスミッタ部分 (PMA および PCS) GTP0 のレシーバ部分 (PMA および PCS) GTP1 のトランスミッタ部分 (PMA および PCS) GTP1 のレシーバ部分 (PMA および PCS) GTPRESET アサート後の GTP のリセット 図 2-12 は 図 2-11 と類似していますが GTPRESET 信号に対応してリセットシーケンスが開始されます GTPRESET 信号は非同期リセット信号です 通常動作時に PLLPOWERDOWN 信号が High から Low へ遷移するときは常に 同じリセットシーケンスが実行されます PLLPOWERDOWN の詳細は 63 ページの パワーダウン を参照してください X-Ref Target - Figure 2-12 GTPRESET(0/1) Reset FSM Idle Wait Reset in Progress Idle ~120 µs RESETDONE(0/1) UG386_c2_09_ 図 2-12 : GTPRESET 信号でトリガされるリセットシーケンス GTPRESET0 シーケンスは GTPA1_DUAL タイルの次の部分に影響を与えます PMA PLL0 GTP0 のトランスミッタ部分 (PMA および PCS) GTP0 のレシーバ部分 (PMA および PCS) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 57
58 第 2 章 : トランシーバの共有機能 GTPRESET1 シーケンスは GTPA1_DUAL タイルの次の部分に影響を与えます PMA PLL1 GTP1 のトランスミッタ部分 (PMA および PCS) GTP1 のレシーバ部分 (PMA および PCS) GTP コンポーネントレベルリセット コンポーネントのリセットは 特殊な場合に使用されます これらのリセットは 特定の GTPA1_DUAL サブセクションをリセットする必要がある場合のみ実行します コンポーネントレベルのリセット信号の詳細は 55 ページの表 2-11 を参照してください RXUSRCLK2 に同期する PRBSCNTRESET を除いて すべてのコンポーネントリセット信号は非同期です リンクアイドルリセットのサポート 電気的アイドル状態のとき レシーバのクロックデータリカバリ (CDR) 回路のロックが解除される可能性があります ( 参照 ) アイドル状態の後に CDR を再開させる場合は RX_EN_IDLE_RESET_PH RX_EN_IDLE_RESET_FR および RX_EN_IDLE_HOLD_CDR 属性を TRUE に設定してください CDR_PH_ADJ_TIME 属性では CDR 位相リセットがディアサートされるまでの待機時間を設定します この値は デフォルト値を使用してください RX_EN_IDLE_RESET_BUF 属性では GTP トランシーバの RX エラスティックバッファのリセットシーケンスを有効にします RX_EN_IDLE_RESET_BUF 属性が TRUE に設定されている場合 RX ピンペアの電気的アイドル状態が終了後 GTP トランシーバの RX エラスティックバッファは自動的にリセット状態に保持されて再初期化されます RX_IDLE_HI_CNT 属性および RX_IDLE_LO_CNT 属性で RX エラスティックバッファのリセットシーケンスのタイミングを制御します これらの値はデフォルトを使用してください GTPA1_DUAL タイルのリセット 各 GTPA1_DUAL タイルのサブコンポーネントをリセットする方法はいくつかあります 表 2-13 に GTPA1_DUAL タイルをリセットするすべての方法 およびリセットの対象になるサブコンポーネントを示します 58 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
59 リセット 表 2-13 : リセットポートおよび影響を受けるコンポーネント コンポーネント コンフィギュレーション GTPRESET0 GTPRESET1 PLLPOWERDOWN0 PLLPOWERDOWN1 ( 立ち下がりエッジ ) TXRESET0 TXRESET1 RXCDRRESET0 RXCDRRESET1 RXRESET0 RXRESET1 RXBUFRESET0 RXBUFRESET1 PRBSCNTRESET0 PRBSCNTRESET1 GTP からボードのインターフェイス 共有リソース 終端抵抗のキャリブレーション * PMA PLL * * * PLL ロック検出 * * * リセット制御 * * * 電力制御 * * * クロッキング * * * DRP * TX PCS FPGA TX インターフェイス * * * * 8B/10B エンコーダ * * * * TX バッファ * * * * PRBS ジェネレータ * * * * 極性制御 * * * * TX PMA PISO * * * TX プリエンファシス * * * TX の OOB および PCI * * * TX ドライバ * * * Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 59
60 第 2 章 : トランシーバの共有機能 表 2-13 : リセットポートおよび影響を受けるコンポーネント ( 続き ) コンポーネント コンフィギュレーション GTPRESET0 GTPRESET1 PLLPOWERDOWN0 PLLPOWERDOWN1 ( 立ち下がりエッジ ) TXRESET0 TXRESET1 RXCDRRESET0 RXCDRRESET1 RXRESET0 RXRESET1 RXBUFRESET0 RXBUFRESET1 PRBSCNTRESET0 PRBSCNTRESET1 RX PCS FPGA RX インターフェイス * * * * * RX エラスティックバッファ * * * * * * RX ステータス制御 * * * * * 8B/10B デコーダ * * * * * カンマ検出とアライメント * * * * * RX LOS ステートマシン * * * * * RX 極性 * * * * * PRBS チェッカ * * * * * * RX PMA SIPO RX CDR * * * * * * * * RX の終端とイコライゼーション * * * RX OOB * * * * ループバックループバックパス * * * GTP_DUAL タイルを動作可能な状態にする最も一般的なリセット方法は コンフィギュレーション後のリセットおよび GTPRESET ポートを使用したリセットですが これ以外のリセットポートを使用する場合もあります 表 2-14 に 一般的な状況および推奨するリセット方法を示します 表 2-14 : 一般的な状況で推奨されるリセット方法状況リセットするコンポーネント (1) 推奨されるリセット方法 (2) 電源投入およびコンフィギュレーション完了後 GTPA1_DUAL タイル全体 リファレンスクロックの電源投入後 PMA PLL GTPRESET(0/1) リファレンスクロックの変更後 PMA PLL GTPRESET(0/1) コンフィギュレーション後の自動リセット パラレルクロックソースのリセット TX PCS RX PCS 位相アライメント TXRESET(0/1) RXRESET(0/1) 60 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
61 リセット 表 2-14 : 一般的な状況で推奨されるリセット方法 ( 続き ) リモート側の電源投入後 RX CDR RX_EN_IDLE_RESET_PH_(0/1) PCI Express の電気的アイドル状態 RX CDR RX_EN_IDLE_RESET_FR_(0/1) および 終了後 RXN/RXP の接続後 RX CDR RX_EN_IDLE_HOLD_CDR_(0/1) を TRUE に設定することで ビルトインのリセットシーケンサがこれらの状況を自動的にセットします TX バッファエラー後 TX バッファ TXRESET(0/1) RX バッファエラー後 RX エラスティックバッファ RXBUFRESET(0/1) チャネルボンディング前 例 RX CDR CDR のロック後に RXBUFFER 電源投入およびコンフィギュレーション すべての GTPA1_DUAL タイルは コンフィギュレーション後 自動的にリセットされます すべてのトランシーバの終端インピーダンスを正確にキャリブレートするには コンフィギュレーション前に キャリブレーション抵抗およびキャリブレーション抵抗リファレンスの電源を投入する必要があります リファレンスクロックの電源投入後 リファレンスクロックソースおよび GTPA1_DUAL タイルへの電源は FPGA をコンフィギュレーションする前に使用可能となっている必要があります 特に PLL ベースのクロックソース ( 例 : 電圧制御水晶発振器 ) を使用する場合は コンフィギュレーション前にリファレンスクロックが安定している必要があります コンフィギュレーション後に リファレンスクロックまたは GTPA1_DUAL タイルへ電源投入する場合は GTPRESET を適用して PMA PLL をロックします リファレンスクロックの変更後 GTPA1_DUAL タイルへのリファレンスクロック入力が変更されるたびに 新たな周波数に対して確実にロックできるように RX PLL をリセットする必要があります この場合には GTPRESET ポートを使用してください パラレルクロックソースのリセット RXBUFRESET(0/1) をアサート または RX_EN_IDLE_RESET_BUF_(0/1) を TRUE に設定して自動リセットを使用します PRBS エラー後 PRBS エラーカウンタ PRBSCNTRESET(0/1) メモ : 状況リセットするコンポーネント (1) 推奨されるリセット方法 (2) 1. これらのリセットは GTP0 および GTP1 の両方のトランシーバへ適用されます 2. 推奨するリセット方法を使用すると GTP_DUAL タイルのほかのコンポーネントへの影響を最小限に抑えることができます 適切な動作を実現するには TXUSRCLK RXUSRCLK TXUSRCLK2 および RXUSRCLK2 を駆動するクロックが安定している必要があります 通常 これらのクロックは位相および周波数の要件を満たすために FPGA の PLL または DCM を使用して駆動されます DCM または PLL のロックが解除されて不正な値が出力され始めた場合は TXRESET および RXRESET を使用してクロックソースが再びロックするまでトランシーバ PCS をリセット状態に保持してください TX または RX バッファをバイパスして位相アライメントを使用している場合は クロックソースの再ロック後に 再度位相アライメントを実行してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 61
62 第 2 章 : トランシーバの共有機能 リモート側の電源投入後 入力データのリモート側ソースの電源が そのデータを受信する GTP トランシーバより後に電源投入される場合は 入力データに対して確実にロックするために RX CDR をリセットする必要があります 58 ページの リンクアイドルリセットのサポート のガイドラインに従うことによって 電気的アイドル状態後のリセットプロセスが自動で実行されます 電気的アイドルリセット GTP トランシーバへの RX 入力の差動電圧が OOB または電気的アイドルレベルまで降下すると 周波数の急激な変動により RX CDR のロックが解除される可能性があります 58 ページの リンクアイドルリセットのサポート のガイドラインに従うことによって 電気的アイドル状態後のリセットプロセスが自動で実行されます RXN/RXP の接続後 GTP トランシーバへの RX データが プラグインおよびアンプラグ可能なコネクタから入力されている場合 データソースがプラグインされたときに入力データに対して確実にロックするように RX CDR をリセットする必要があります 58 ページの リンクアイドルリセットのサポート のガイドラインに従うことによって 電気的アイドル状態後のリセットプロセスが自動で実行されます TX バッファエラー後 TX バッファのオーバーフローまたはアンダーフローが発生した場合 適切に動作を継続させるために TXRESET ポートを使用してこのバッファをリセットする必要があります RX バッファエラー後 RX エラスティックバッファのオーバーフローまたはアンダーフローが発生した場合 適切に動作を継続させるために RXBUFRESET ポートを使用して RX エラスティックバッファをリセットする必要があります チャネルボンディング前 適切なチャネルボンディングを行う場合には 同じリカバリクロック周波数を使用して ボンディングされたすべてのトランシーバの RX エラスティックバッファへ書き込み そして同じ RXUSRCLK 周波数を使用してこのバッファから読み出す必要があります ボンディングされたすべてのトランシーバに対して同じ RXUSRCLK 周波数を供給するには BUFG などの低スキューのクロックバッファを使用して 同一クロックソースからすべての RXUSRCLK ポートを駆動してください また クロックソースが安定するまで ボンディングは実行しないでください ボンディングされたすべてのトランシーバに対して同じリカバリは次のとおりです クロックを供給する場合の条件 すべての TX データソースは 同じリファレンスクロックに対してロックする 接続されたすべてのトランシーバは 入力データに対して CDR をロックする チャネルボンディングで必要なリセットは 次のとおりです ボンディングされたすべてのトランシーバの CDR を自動的にリセットするためには RX_EN_IDLE_RESET_PH RX_EN_IDLE_RESET_FR および RX_EN_IDLE_HOLD_CDR を TRUE に設定する これらのトランシーバすべてで CDR がロックし ビットがアライメントされるまで待機する 62 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
63 パワーダウン ボンディングされたすべてのトランシーバに対して RXBUFRESET をアサート または RXBUFRESET シーケンスを有効にする属性 (RX_EN_IDLE_RESET_BUF = TRUE) を使用してリセットプロセスを自動的に実行させる チャネルボンディングを実行する CDR のロックを検出する推奨方法については を参照してください PRBS エラー後 PRBS エラーの発生後は PRBSCNTRESET をアサートして RXPRBSERR をクリアします パワーダウン 機能の説明 GTP トランシーバには さまざまなパワーダウンモードがあります これらのモードは 一般的なパワーダウン機能および PCI Express と SATA 規格で定められているパワーダウン機能をサポートします GTP トランシーバでは 異なるレベルの電力制御が可能です 各方向のチャネルは それぞれ TXPOWERDOWN および RXPOWERDOWN を使用して個別に消費電力を制御できます 各 PLLPOWERDOWN ポートは PLL_SOURCE 属性で選択される PLL へ直接作用します ポートおよび属性 表 2-15 : パワーダウン用のポート 表 2-15 に パワーダウン用のポートを示します ポート 方向 クロックドメイン 説明 PLLPOWERDOWN0 PLLPOWERDOWN1 入力 非同期 このレーンの PLL の消費電力を削減するための入力です 各レーンの PLL 選択には PLL_SOURCE_(0/1) 属性を使用します この入力ポートは 関連する PLL へ直接作用します TXPOWERDOWN0[1:0] TXPOWERDOWN1[1:0] 入力 TXSURCLK2 (TXPDOWNASYNCH で非同期になる ) PCIe PIPE エンコーディングに応じて TX レーンの消費電力を削減します 00 : P0 ( 通常動作 ) 01 : P0s ( リカバリ時間が短い ) 10 : P1 ( リカバリ時間が長い レシーバ検出機能はオン ) 11 : P2 ( 消費電力が最も低い状態 ) TXPDOWNASYNCH0 TXPDOWNASYNCH1 これらのパワーダウンステート間の移行時間は属性で制御できます 入力 非同期 TXELECIDLE(0/1) および TXPOWERDOWN(0/1) が同 期信号または非同期信号のいずれで処理されるかを決定 します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 63
64 第 2 章 : トランシーバの共有機能 表 2-15 : パワーダウン用のポート ( 続き ) ポート 方向 クロックドメイン 説明 RXPOWERDOWN0[1:0] RXPOWERDOWN1[1:0] 入力 非同期 PCIe PIPE エンコーディングに応じて RX レーンの消費電力を削減します 00 : P0 ( 通常動作 ) 01 : P0s ( リカバリ時間が短い ) 10 : P1 ( リカバリ時間が長い ) 11 : P2 ( 消費電力が最も低い状態 ) 表 2-16 : パワーダウンの属性 表 2-16 に パワーダウンの属性を示します 属性 種類 説明 PLL_SOURCE_0 PLL_SOURCE_1 1 ビットバイナリ 各レーンのクロッキングソースを指定します デフォルトでは レーン 0 が PLL0 を使用し レーン 1 が PLL1 を使用しますが いずれかの PLL を共有することも可能です 共有する場合 PLL はレーンからのリセット / パワーダウンコマンドに対してのみ応答します TRANS_TIME_FROM_P2_0 TRANS_TIME_FROM_P2_1 12 ビット 16 進数 PCIe 動作の P2 ステートから別のパワーダウンモードへの移行時間を設定します TRANS_TIME_NON_P2_0 TRANS_TIME_NON_P2_1 8 ビット 16 進数 PCIe 動作の P2 ステート以外のモード間の移行時間を設定します TRANS_TIME_TO_P2_0 TRANS_TIME_TO_P2_1 10 ビット 16 進数 PCIe 動作の場合 P2 ステートへの移行時間を指定します 一般的なパワーダウン機能 GTP トランシーバには 多様なアプリケーションで使用できるパワーダウン機能があります 表 2-17 に これらの機能を示します 表 2-17 : 基本的なパワーダウン機能のまとめ 機能 制御ポート 影響 PLL のパワーダウン PLLPOWERDOWN(0/1) GTP トランシーバの PLL へ影響します PLL_SOURCE_(0/1) で指定される PLL をパワーダウンモードにします TX のパワーダウン TXPOWERDOWN(0/1)[1:0] GTP トランシーバの TX へ影響します RX のパワーダウン RXPOWERDOWN(0/1)[1:0] GTP トランシーバの RX へ影響します PLL のパワーダウン PLL のパワーダウンモードを有効にするには アクティブ High の PLLPOWERDOWN 信号をアサートします POWERDOWN 信号がアサートされると 対応する PMA PLL がパワーダウンモードとなります 結果として その PMA PLL から派生するすべてのクロックは停止します 図 2-13 に PCS からの PLLPOWERDOWN が PLL_SOURCE で選択された PLL を制御するようすを示します 64 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
65 パワーダウン X-Ref Target - Figure 2-13 GTP0 PCS GTP1 PCS PLLPOWERDOWN0 PLLPOWERDOWN1 (PLL_SOURCE_0, PLL_SOURCE_1) (PLL_SOURCE_0, PLL_SOURCE_1) pwrdn_pll pwrdn_pll PLL0 PLL1 UG386_c2_10_ 図 2-13 : PLLPOWERDOWN による PLL の制御 対応する PLL ロック信号 ( または GTP トランシーバの PLLLKDET 信号 ) がアサートされることによって パワーダウンモードから通常モードへ回復したことが分かります TX および RX のパワーダウン TX および RX のパワーダウン信号が PCI Express を使用しないデザインで使用される場合は TXPOWERDOWN および RXPOWERDOWN を個別に使用できます ただし この場合は 表 2-18 に示す 2 つのパワーステートのみサポートされます このパワーダウン方法を使用する場合には 次の要件を満たす必要があります TXPOWERDOWN[1] と TXPOWERDOWN[0] が接続されている RXPOWERDOWN[1] と RXPOWERDOWN[0] が接続されている TXDETECTRX が Low に固定されている TXELECIDLE が TXPOWERDOWN[1] および TXPOWERDOWN[0] に固定されている 表 2-18 : PCI Express を使用しないデザインにおける TX および RX のパワーダウンモード TXPOWERDOWN[1:0] または RXPOWERDOWN[1:0] 説明 00 通常モードです TX またはRX がデータを送信または受信します 11 パワーダウンモードです TX または RX はアイドル状態です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 65
66 第 2 章 : トランシーバの共有機能 PCI Express のパワーダウン機能 GTP トランシーバは PCI Express および PIPE 仕様に準拠するパワーダウンステートに必要な機能をすべてをインプリメントしています PCI Express に準拠する電力管理機能をインプリメントする際 次の条件を満たす必要があります TX と RX の電力ステートが常に同じになるようにするため 各 GTP トランシーバの TXPOWERDOWN と RXPOWERDOWN を接続する PLLPOWERDOWN 信号を 非アクティブなステートに保持する 表 2-19 : PCI Express 動作での TX および RX の電力ステート TXPOWERDOWN[1:0] および RXPOWERDOWN[1:0] TXDETECTRX TXELECIDLE 説明 00 (P0 ステート ) 0 0 PHY がデータを送信中です MAC は 送信するデータバイト をクロックサイクルごとに供給します 0 1 PHY はデータを送信しておらず 電気的アイドル状態です 1 0 PHY がループバックモードに移行します 1 1 許可されていません 01 (P0s ステート ) Don t Care 0 P0 ステートの場合 MAC が常に PHY を電気的アイドル状態にします P0s または P1 ステートのときに TXELECIDLE がディアサートされると PHY の動作は定義されません 1 PHY はデータを送信しておらず 電気的アイドル状態です 10 (P1 ステート ) Don t Care 0 許可されていません P1 ステートの場合 MAC が常に PHY を電気的アイドル状態にします P0s または P1 ステートのときに TXELECIDLE がディアサートされると PHY の動作は定義されません 0 1 PHY はアイドル状態です 1 1 PHY が受信検出を実行します 11 (P2 ステート ) Don t Care 0 PHY がビーコン信号を送信します 1 PHY はアイドル状態です パワーダウンへの移行時間 TXPOWERDOWN および RXPOWERDOWN が変更されたときのパワーダウンステート遷移の遅延時間は 表 2-16 に示す TRANS_TIME_FROM_P2 TRANS_TIME_NON_P2 および TRANS_TIME_TO_P2 属性で制御されます 各 TRANS_TIME 遅延は 25MHz の内部クロックサイクルに基づいて設定されます 25MHz の内部クロックレートは CLK25_DIVIDER 属性およびリファレンスクロックレートを使用して設定されます 式 2-3 は 実際のレートを求める計算式です Transition Time [ ns] = CLK25_DIVIDER TRANS_TIME PLL_CLKIN 式 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
67 ループバック ループバック 機能の説明 ループバックモードは トラフィックストリームが折り返してソースに戻るようにトランシーバのデータパスを構成するものです 特定のトラフィックパターンが送信され その後パターンが比較されてエラーチェックされます 図 2-14 に 4 つのモードのループバックテスト構造を示します X-Ref Target - Figure 2-14 Test Logic Link Near-End Test Structures Near-End GTP RX-PCS RX-PMA Link Far-End Test Structures Far-End GTP Traffic Checker TX-PMA TX-PCS TX-PCS TX-PMA Traffic Generator RX-PMA RX-PCS UG386_c2_11_ 図 2-14 : ループバックテストの構造図 ループバックテストモードは 大きく次の 2 つに分類されます 近端ループバックモードの場合 送信データがトラフィックジェネレータに最も近接しているトランシーバに戻ります 遠端ループバックモードの場合 受信データがリンクの最も遠い位置にあるトランシーバに戻ります ループバックテストは 開発段階またはシステム設置後のいずれでも故障隔離のために実施できます 使用するトラフィックパターンは アプリケーショントラフィックパターンあるいは擬似ランダムビットシーケンスのどちらでも可能です 各 GTP トランシーバには PRBS ジェネレータおよびチェッカが内蔵されています GTP トランシーバがサポートするループバックモードは次のとおりです 近端 PCS ループバック ( 図 2-14 のパス 1) 近端 PMA ループバック ( 図 2-14 のパス 2) 遠端 PMA ループバック ( 図 2-14 のパス 3) 遠端 PCS ループバック ( 図 2-14 のパス 4) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 67
68 第 2 章 : トランシーバの共有機能 ポートおよび属性 表 2-20 に ループバック用のポートを示します 表 2-20 : ループバック用のポート ポート方向 クロックドメイン 説明 LOOPBACK0[2:0] LOOPBACK1[2:0] 入力非同期 000 : 通常動作 001 : 近端 PCS ループバック ループバック用の属性はありません 010 : 近端 PMA ループバック 011 : 予約 100 : 遠端 PMA ループバック 101 : 予約 110 : 遠端 PCS ループバック (1) メモ : 1. PCIe 仕様モードで P0 パワーステートのときに TXDETECTRX がアサートされる場合は 遠端 PCS ループバックモードが自動的に使用されます ダイナミックリコンフィギュレーションポート 機能の説明 ダイナミックリコンフィギュレーションポート (DRP) では 動作中に GTPA1_DUAL タイルのパラメータを変更できます DRP はプロセッサとの併用が容易な同期インターフェイスで アドレスバス (DADDR) は 1 つあり データバスは GTPA1_DUAL タイルに対してコンフィギュレーションデータの読み出し用 (DRPDO) および書き込み用 (DI) としてそれぞれ個別にあります イネーブル信号 (DEN) 読み出し / 書き込み信号 (DWE) および Ready/Valid 信号 (DRDY) は 読み出しと書き込み動作を実行する制御信号であり 処理の完了や有効なデータの有無を示します ポートおよび属性 表 2-21 : DRP のポート 表 2-21 に DRP のポートを示します ポート方向 クロックドメイン 説明 DADDR[7:0] 入力 DCLK DRP のアドレスバスです DCLK 入力 N/A DRP のインターフェイスクロックです DEN 入力 DCLK DRP のイネーブル信号です 0 : 読み出しまたは書き込み動作は実行しない 1 : 読み出しまたは書き込み動作は実行される DI[15:0] 入力 DCLK FPGA ロジックから GTP トランシーバへコンフィギュレーションデータを書き込むためのデータバスです 68 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
69 ダイナミックリコンフィギュレーションポート 表 2-21 : DRP のポート ( 続き ) ポート方向 クロックドメイン 説明 DRPDO[15:0] 出力 DCLK GTP トランシーバから FPGA ロジックへコンフィギュレーションデータを読み出すためのデータバスです DRDY 出力 DCLK DRP 書き込み処理が完了し 読み出しデータが有効であることを示します DWE 入力 DCLK DRP の書き込みイネーブル信号です 0 : DEN が 1 のときに読み出し動作を実行する 1 : DEN が 1 のときに書き込み動作を実行する DRP の属性はありません Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 69
70 第 2 章 : トランシーバの共有機能 70 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
71 第 3 章 トランスミッタ トランスミッタ (TX) の概要 本章では GTP トランスミッタにある各ファンクションブロックのコンフィギュレーションおよび使用方法ついて説明します 各 Spartan -6 FPGA GTP トランシーバには PCS と PMA を 1 個ずつ含む 1 個のトランスミッタがあります 図 3-1 に トランスミッタのファンクションブロックを示します FPGA からのパラレルデータは FPGA TX インターフェイスを介して入力されて PCS および PMA を通り 高速シリアルデータとして TX ドライバから出力されます X-Ref Target - Figure 3-1 TX Driver PMA PLL Divider TX OOB and PCIe TX Preemp PISO Polarity PCIe Beacon Phase Adjust FIFO Pattern Generator 8B/ 10B TX PIPE Control FPGA TX Interface TX-PMA SATA OOB TX-PCS To RX Parallel Data (Near-End PCS Loopback) From RX Parallel Data (Far-End PMA Loopback) From RX Parallel Data (Far-End PCS Loopback) UG386_c3_01_ 図 3-1 : GTP トランスミッタのブロック図 GTP トランスミッタを構成する主要エレメントを次に示します ページの FPGA TX インターフェイス ページの TX の 8B/10B エンコーダ ページの TX バッファ ページの TX バッファのバイパス Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 71
72 第 3 章 : トランスミッタ ページの TX パターンジェネレータ ページの TX 極性制御 ページの TX ファブリッククロック出力の制御 ページの TX のコンフィギュレーション可能な TX ドライバ ページの PCI Express デザイン用の TX レシーバ検出機能 ページの TX OOB ( 帯域外 ) 信号 FPGA TX インターフェイス 機能の説明 FPGA TX インターフェイスは GTP トランシーバの TX データパスへ接続する FPGA のゲートウェーです アプリケーションは TXUSRCLK2 の立ち上がりエッジで TXDATA ポートにデータを書き込むことで GTP トランシーバにデータを送信します ポート幅は 1 2 または 4 バイトに設定できます 実際のポート幅は GTPA1_DUAL タイルの INTDATAWIDTH 設定 ( 内部データパス幅を制御 ) および 8B/10B エンコーダの状態 ( 有効 / 無効 ) に依存します 有効なポート幅は および 40 ビットです インターフェイスでのパラレルクロック (TXUSRCLK2) のレートは TX ラインレート TXDATA ポート幅 8B/10B エンコーダの有効 / 無効によって異なります 2 番目のパラレルクロック (TXUSRCLK) は トランスミッタの内部 PCS ロジックに使用する必要があります ここでは パラレルクロックがどのように駆動されるかを示し それらが正しく動作するための制約について説明します 最高速トランスミッタデータレートの場合 指定動作範囲内で TXUSRCLK2 レートを実現するには 4 バイトインターフェイスが必要です ポートおよび属性 表 3-1 : FPGA TX インターフェイスのポート 表 3-1 に FPGA TX インターフェイスのポートを示します ポート方向 クロックドメイン 説明 各 GTP トランシーバの内部データパス幅を指定します INTDATAWIDTH0 INTDATAWIDTH1 入力 非同期 0 : 内部データパス幅は 8 ビット 1 : 内部データパス幅は 10 ビット注 : 両方の GTP トランシーバが 1 つの PLL を共有する場合は INTDATAWIDTH0 と INTDATAWIDTH1 を同じにしてください GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] 出力 N/A 各 GTPA1_DUAL タイルからの GTPCLKOUT(0/1) ポートは 共有 PMA PLL (CLKIN) に入力されるリファレンスクロックの直接アクセスを提供します GTPCLKOUT(0/1) は BUFIO2 プリミティブを介して FPGA で使用するために配線できます 72 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
73 FPGA TX インターフェイス 表 3-1 : FPGA TX インターフェイスのポート ( 続き ) ポート方向 クロックドメイン 説明 8B/10B エンコーダが有効のとき XCHARDISPMODE および TXCHARDISPVAL によって 8B/10B 出力データのディスパリティを制御できます TXCHARDISPMODE0[3:0] TXCHARDISPMODE1[3:0] 入力 TXUSRCLK2 8B/10B エンコーダが無効のときは TXCHARDISPMODE を使用して TX インターフェイスのデータバス幅を 10 の倍数で拡張できます TXCHARDISPMODE[3] は TXDATA[31:24] に対応 TXCHARDISPMODE[2] は TXDATA[23:16] に対応 TXCHARDISPMODE[1] は TXDATA[15:8] に対応 TXCHARDISPMODE[0] は TXDATA[7:0] に対応 81 ページの表 3-3 に 8B/10B エンコーダが有効の場合での TXCHARDISPMODE による出力ディスパリティの関係を示します 8B/10B エンコーダが有効のとき TXCHARDISPVAL および TXCHARDISPMODE によって 8B/10B 出力データのディスパリティを制御できます TXCHARDISPVAL0[3:0] TXCHARDISPVAL1[3:0] 入力 TXUSRCLK2 8B/10B エンコーダが無効のときは TXCHARDISPVAL を使用して 10 ビット 20 ビットおよび 40 ビットの TX インターフェイス用にデータバスを拡張します TXCHARDISPVAL[3] は TXDATA[31:24] に対応 TXCHARDISPVAL[2] は TXDATA[23:16] に対応 TXCHARDISPVAL[1] は TXDATA[15:8] に対応 TXCHARDISPVAL[0] は TXDATA[7:0] に対応 81 ページの表 3-3 に 8B/10B エンコーディングが有効の場合での TXCHARDISPVAL による出力ディスパリティの関係を示します TXDATA は データ送信用のバスです このポート幅は TXDATAWIDTH で決定します TXDATA0[31:0] TXDATA1[31:0] 入力 TXUSRCLK2 TXDATAWIDTH = 0:TXDATA[7:0] = 8 ビット幅 TXDATAWIDTH = 1:TXDATA[15:0] = 16 ビット幅 TXDATAWIDTH = 2:TXDATA[31:0] = 32 ビット幅 10 ビット 20 ビットまたは 40 ビットのバスが必要な場合は 8B/10B エンコーダからの TXCHARDISPVAL および TXCHARDISPMODE ポートと TXDATA ポートを結合します TXDATA ポート幅を選択します TXDATAWIDTH0[1:0] TXDATAWIDTH1[1:0] 入力 TXUSRCLK2 0 : TXDATA は 8 ビットまたは 10 ビット幅 1 : TXDATA は 16 ビットまたは 20 ビット幅 2 : TXDATA は 32 ビットまたは 40 ビット幅 3 : 予約 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 73
74 第 3 章 : トランスミッタ 表 3-1 : FPGA TX インターフェイスのポート ( 続き ) ポート方向 クロックドメイン 説明 TXENC8B10BUSE0 TXENC8B10BUSE1 入力 TXUSRCLK2 8B/10B エンコーダを有効にするには TXENC8B10BUSE を High に設定します INTDATAWIDTH(0/1) も High にする必要があります 0 : 8B/10B エンコーダをバイパスするこのオプションでレイテンシが削減される 1 : 8B/10B エンコーダを使用する INTDATAWIDTH(0/1) も High に設定する必要がある TXOUTCLK0 TXOUTCLK1 出力 N/A GTP トランシーバによって生成されたパラレルクロックを提供します 1 つまたは複数の GTP トランシーバの TXUSRCLK を駆動するために使用できます クロックレートは INTDATAWIDTH(0/1) に依存します INTDATAWIDTH(0/1) が Low の場合 : F TXOUTCLK(0/1) = Line Rate/8 INTDATAWIDTH(0/1) が High の場合 : F TXOUTCLK(0/1) = Line Rate/10 TXRESET0 TXRESET1 入力 非同期 位相アライメント FIFO 8B/10B エンコーダ FPGA TX インターフェイスを含む GTP トランスミッタの PCS をリセットします TXUSRCLK0 TXUSRCLK1 入力 N/A 内部 TX PCS データパスへのクロック提供に使用します このクロックは常に供給される必要があります クロックレートは INTDATAWIDTH(0/1) に依存します INTDATAWIDTH(0/1) が Low の場合 : F TXUSRCLK(0/1) = Line Rate/8 INTDATAWIDTH(0/1) が High の場合 : F TXUSRCLK(0/1) = Line Rate/10 TXUSRCLK20 TXUSRCLK21 入力 N/A このポートは FPGA ロジックと TX インターフェイスの同期に使用されます このクロックは 立ち上がりエッジで TXUSRCLK と位相が揃う必要があります クロックレートは F TXUSRCLK and TXDATAWIDTH に依存します TXDATAWIDTH = 0 の場合 : F TXUSRCLK2 =F TXUSRCLK TXDATAWIDTH = 1 の場合 : F TXUSRCLK2 =F TXUSRCLK /2 TXDATAWIDTH = 2 の場合 : F TXUSRCLK2 =F TXUSRCLK /4 FPGA TX インターフェイスの属性はありません 説明 FPGA TX インターフェイスにより GTP トランシーバに書き込まれるパラレルデータを シリアルデータとして送信できます このインターフェイスを使用するには 次を実行する必要があります データインターフェイスの幅を設定します TXUSRCLK2 および TXUSRCLK を適切なレートで動作しているクロックに接続します 74 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
75 FPGA TX インターフェイス インターフェイス幅の設定 表 3-2 に TX データパスのインターフェイス幅の設定を示します 8B/10B エンコーダについては 79 ページの TX の 8B/10B エンコーダ で詳しく説明します 表 3-2 : TX データパス幅の設定 INTDATAWIDTH(0/1) TXDATAWIDTH(0/1) TXENC8B10BUSE(0/1) FPGA TX インターフェイス幅 0 0 N/A 8 ビット 0 1 N/A 16 ビット 0 2 N/A 32 ビット ビット ビット ビット ビット ビット ビット 図 3-2 に 内部データパスが 8 ビット幅 (INTDATAWIDTH = Low) で 8B/10B エンコーダが無効の場合に TXDATA がシリアル送信されるようすを示します X-Ref Target - Figure 3-2 Transmitted Last Transmitted First TXDATA TXDATAWIDTH = 2 Transmitted Last Transmitted First Transmitted Last Transmitted First TXDATA TXDATA TXDATAWIDTH = 1 TXDATAWIDTH = 0 UG386_c3_02_ 図 3-2 : 8B/10B エンコーダはバイパス 内部データパスは 8 ビット 図 3-3 および図 3-4 に 内部データパスが 10 ビット (INTDATAWIDTH = High) で 8B/10B エンコーダが無効の場合に TXDATA がシリアル送信されるようすを示します TXDATA が 10 ビット 20 ビット または 40 ビット幅の場合は 8B/10B エンコーダインターフェイスからの TXCHARDISPMODE および TXCHARDISPVAL ポートを使用して 追加ビットを送信します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 75
76 第 3 章 : トランスミッタ X-Ref Target - Figure 3-3 Transmitted Last TXDATAWIDTH = 1 TXDATAWIDTH = 0 Transmitted First Transmitted Last Transmitted First TXDATA TXDATA TXCHARDISPMODE[1] TXCHARDISPMODE[0] TXCHARDISPMODE[0] TXCHARDIPSVAL[1] TXCHARDIPSVAL[0] TXCHARDIPSVAL[0] UG386_c3_03_ 図 3-3 : 8B/10B エンコーダはバイパス 内部データパスは 10 ビット (TXDATAWIDTH = 0 または 1) X-Ref Target - Figure 3-4 Transmitted Last TXDATAWIDTH = 2 Transmitted First TXDATA TXCHARDISPMODE[3] TXCHARDISPMODE[2] TXCHARDISPMODE[1] TXCHARDISPMODE[0] TXCHARDIPSVAL[3] TXCHARDIPSVAL[2] TXCHARDIPSVAL[1] 図 3-4 : 8B/10B エンコーダはバイパス 内部データパスは 10 ビット (TXDATAWIDTH = 2) 8B/10B エンコーダを使用する場合 データインターフェイスの幅は 8 ビット 16 ビット または 32 ビット ( 図 3-2) となり データはシリアル送信される前にエンコードされます 8B/10B エンコーダを使用する場合のビット順序については 79 ページの TX の 8B/10B エンコーダ で詳しく説明します TXUSRCLK および TXUSRCLK2 の接続 TXCHARDIPSVAL[0] UG386_c3_04_ FPGA TX インターフェイスには 2 つのパラレルクロック (TXUSRCLK および TXUSRCLK2) があります TXUSRCLK は GTP トランスミッタの PCS ロジック用の内部クロックです TXUSRCLK レートは GTP トランシーバの内部データパス幅 (INTDATAWIDTH) および GTP トランスミッタの TX ラインレートに依存します TX ラインレートの詳細は 96 ページの TX ファブリッククロック出力の制御 を参照してください 式 3-1 に TXUSRCLK レートを求める計算式を示します TXUSRCLK Rate Line Rate = Internal Datapath Width 式 3-1 TXUSRCLK2 は GTP トランシーバの TX 側に入力されるすべての信号を同期する主要クロック です GTP トランシーバの TX 側に入力されるほとんどの信号は TXUSRCLK2 の立ち上がりエッ ジで取り込まれます TXUSRCLK2 と TXUSRCLK の関係は TXDATAWIDTH に基づく固定レー トになります 式 3-2 ~ 式 3-4 に TXDATAWIDTH = {0 1 2} の場合における TXUSRCLK と TXUSRCLK2 の関係式を示します TXDATAWIDTH = 0: F TXUSRCLK2 TXDATAWIDTH = 1: F TXUSRCLK2 = = F TXUSRCLK F TXUSRCLK /2 式 3-2 式 3-3 TXDATAWIDTH = 2: F TXUSRCLK2 = F TXUSRCLK /4 式 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
77 FPGA TX インターフェイス TXUSRCLK TXUSRCLK2 および CLKIN (PMA PLL へ提供されるリファレンスクロック ) は 次の規則に従う必要があります TXUSRCLK および TXUSRCLK2 は クロックスキューを可能な限り最小限に抑えた状態で 立ち上がりエッジで位相が揃う必要があります したがって 低スキュークロックリソース (BUFG) を使用して TXUSRCLK および TXUSRCLK2 を駆動してください TXUSRCLK と TXUSRCLK2 の周波数が同一の場合 同じクロックリソースを使用して両方のクロックを駆動します 2 つのクロック周波数が異なる場合は TXUSRCLK を分周して TXUSRCLK2 を生成します 設計者は これら 2 つのクロックの立ち上がりエッジが揃うように調整してください TXUSRCLK TXUSRCLK2 および CLKIN が異なる周波数で動作する場合でも これらは同じオシレータをクロックソースとして使用する必要があります つまり TXUSRCLK および TXUSRCLK2 の周波数は CLKIN の周波数を逓倍または分周したものにする必要があります GTP トランシーバは GTPCLKOUT ポートおよび TXOUTCLK2 ポートという 2 つの方法による CLKIN へのアクセスを提供します GTPCLKOUT0[1:0] は GTPA1_DUAL 内のレーン 0 であり GTPCLKOUT1[1:0] はレーン 1 となります GTPCLKOUT0 および GTPCLKOUT1 は ファブリックリソース (BUFG PLL または DCM) で使用される前に 専用の BUFIO2 リソースへ接続する必要があります GTPCLKOUT[1] は CDR ユニットからのリカバリクロックです GTPCLKOUT[0] は CLK_OUT_GTP_SEL 属性の設定を使用して TXOUTCLK または REFCLKPLL から生成できます GTPCLKOUT[0] ポートを使用して適切な属性設定を選択することを推奨します REFCLKPLL は リファレンスクロックマルチプレクサ構造を使用して安定したクロックソースで駆動されている場合は フリーランニングクロックとなります このため 共有 PMA PLL がロックする前でも動作します ただし GTPCLKOUT[0] は CLKIN を使用するため TXUSRCLK または TXUSRCLK2 を生成する際には適切に逓倍または分周を行い 必要なレートを生成する必要があります GTPCLKOUT[0] のソースとなる TXOUTCLK は 既に TXUSRCLK レートに分周されている CLKIN の複製であり 必要な分周器が少数で済む場合があります ただし TXOUTCLK はフリーランニングクロックではありません 共有 PMA PLL のロック後にのみ有効で TX の位相アライメントがオンになっているときは使用できません TX バッファまたは RX バッファをバイパスする場合の詳細は 85 ページの TX バッファのバイパス または 141 ページの RX エラスティックバッファのバイパス を参照してください GTPCLKOUT を使用して GTP TX を駆動 図 3-5 ~ 図 3-7 に FPGA クロックリソースを使用して TX インターフェイス用のパラレルクロックを駆動するさまざまな方法を示します GTPCLKOUT による GTP TX の駆動 (1 バイトモード ) 図 3-5 に 1 バイトモード (TXDATAWIDTH = 00 および INTDATAWIDTH = 0 または 1) の場合 GTPCLKOUT[0] を使用して TXUSRCLK および TXUSRCLK2 を駆動する図を示します TXUSRCLK と TXUSRCLK2 は同じレートであるため BUFG の出力は TXUSRCLK と TXUSRCLK2 の両方へ接続できます Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 77
78 第 3 章 : トランスミッタ X-Ref Target - Figure 3-5 RESETDONE/PLLLKDET GTP Transceiver GTPCLKOUT[0] TXUSRCLK BUFIO2 BUFG Design in FPGA TXUSRCLK2 TXDATA (8 or 10 bits) UG386_c3_14_ 図 3-5 : GTPCLKOUT[0] による TXUSRCLK および TXUSRCLK2 の駆動 (1 バイト TX インターフェイス ) GTPCLKOUT による GTP TX の駆動 (2 バイトモード ) GTP トランシーバには 1 バイト (8 または 10 ビット ) の内部データパスがあります TX インターフェイスのデータ幅が 1 バイトではない場合 DCM または PLL を使用して必要な周波数を生成する必要があります 図 3-6 に 2 バイトモード (TXDATAWIDTH = 01 および INTDATAWIDTH = 0 または 1) の場合 DCM/PLL を使用して TXUSRCLK および TXUSRCLK2 を駆動する図を示します X-Ref Target - Figure 3-6 PLLLKDET RST CLKOUT0 BUFG GTP Transceiver GTPCLKOUT[0] TXUSRCLK2 (1) BUFIO2 DCM/ PLL CLKIN CLKOUT1 LOCKED BUFG Design in FPGA TXUSRCLK (1) TXDATA (16 or 20 bits) Note: 1: FTXUSRCLK2 = F TXUSRCLK / 2 UG386_c3_15_ 図 3-6 : GTPCLKOUT[0] による TXUSRCLK および TXUSRCLK2 の駆動 (2 バイト TX インターフェイス ) 78 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
79 TX の 8B/10B エンコーダ GTPCLKOUT による GTP TX の駆動 (4 バイトモード ) TX インターフェイスのデータ幅が 4 バイトの場合は DCM または PLL を使用して必要な周波数を生成する必要があります 図 3-7 に 4 バイトモード (TXDATAWIDTH = 10 および INTDATAWIDTH = 0 または 1) の場合 DCM/PLL を使用して TXUSRCLK および TXUSRCLK2 を駆動する構造を示します X-Ref Target - Figure 3-7 PLLLKDET RST CLKOUT0 BUFG GTP Transceiver GTPCLKOUT[0] TXUSRCLK2 (1) BUFIO2 DCM/ PLL CLKIN CLKOUT1 LOCKED BUFG Design in FPGA TXUSRCLK (1) TXDATA (36 or 40 bits) Note: = F /4 1: F TXUSRCLK2 TXUSRCLK UG386_c3_16_ 図 3-7 : GTPCLKOUT[0] による TXUSRCLK および TXUSRCLK2 の駆動 (4 バイト TX インターフェイス ) TX の 8B/10B エンコーダ 機能の説明 一般的なプロトコルでは 出力されるデータに 8B/10B エンコーダを使用します 8B/10B は業界標準のエンコード方法で パフォーマンスを向上させるために各バイトに対して 2 ビットのオーバーヘッドを要します GTP トランシーバには 8B/10B エンコーダが内蔵されているため FPGA のリソースを使用することなく TX データをエンコードします また エンコードが不要な場合は ブロックを無効にしてレイテンシを抑えることが可能です 8B/10B のビットおよびバイト順序 8B/10B エンコーダではビット a0 を最初に送信する必要があり GTP トランシーバは常に最も右にあるビットを最初に送信します GTP トランシーバの 8B/10B エンコーダは 8B/10B と一致するよう自動的にビット順序を反転します ( 図 3-8 参照 ) これと同じ理由から 2 バイトインターフェイスを使用する場合 最初に送信されるバイト ( バイト 0) は TXDATA[7:0] に 2 番目のバイトは TXDATA[15:8] に配置される必要があります 4 バイトインターフェイスの場合は バイト 0 が TXDATA[7:0] に配置され バイト 1 が TXDATA[15:8] に配置され バイト 2 が TXDATA[23:16] に配置され バイト 3 が TXDATA[31:24] に配置されます このバイト配置によって 8B/10B エンコーダで求められるように バイト 0 ビットがバイト 1 ビットの前に確実に送信されます Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 79
80 第 3 章 : トランスミッタ X-Ref Target - Figure 3-8 TXDATAWIDTH = 1 TXDATAWIDTH = 0 TXDATA H 1 G 1 F 1 E 1 D 1 C 1 B 1 A 1 H 0 G 0 F 0 E 0 D 0 C 0 B 0 A 0 TXDATA H 0 G 0 F 0 E 0 D 0 C 0 B 0 A 0 8B/10B 8B/10B h 1 g 1 j 1 f 1 i 1 e 1 d 1 c 1 b 1 a 1 j 0 h 0 g 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 h 0 g 0 j 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 Transmitted Last Transmitted First Transmitted Last Transmitted First TXDATAWIDTH = H 1 G 1 F 1 E 1 D 1 C 1 B 1 A 1 H 0 G 0 F 0 E 0 D 0 C 0 B 0 A 0 TXDATA H 3 G 3 F 3 E 3 D 3 C 3 B 3 A 3 H 2 G 2 F 2 E 2 D 2 C 2 B 2 A 2 8B/10B h 1 g 1 j 1 b 2 a 2 e 2 d 2 c 2 i 2 f 2 h 2 g 2 j 2 b 3 a 3 e 3 d 3 c 3 i 3 f 3 h 3 g 3 j 3 f 1 i 1 e 1 d 1 c 1 b 1 a 1 j 0 h 0 g 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 Transmitted Last Transmitted First UG386_c3_05_ 図 3-8 : 8B/10B エンコーダ K キャラクタ 8B/10B テーブルには ファンクション制御に頻繁に使用される特殊文字 (K キャラクタ ) が含まれます TXDATA を通常データとしてではなく K キャラクタとして送信するには TXCHARISK ポートを High に駆動する必要があります TXDATA が有効な K キャラクタではない場合 エンコーダは TXKERR を High に駆動します ランニングディスパリティ 8B/10B エンコーダでは 送信された 0 と 1 のバランスを取るためにランニングディスパリティが使用されます キャラクタが送信されるたびに エンコーダでは常にランニングディスパリティが再度計算されます 現時点での TX ランニングディスパリティは TXCHARDISP ポートから読み出すことができます このランニングディスパリティは TXDATA が FPGA TX インターフェイスに入力されてから数クロックサイクル後に算出されます したがって 一部のプロトコルでは要求されますが 次の送信値の決定には使用できません 通常 ランニングディスパリティを使用して 次に送信される 10 ビットコードの正負を判断します また エンコーダも次のディスパリティ値に対して直接制御するため ディスパリティを使用して制御情報を送信するプロトコルに対応します 次のディスパリティ値が直接制御されます たとえば 反転したディスパリティで送信されたアイドルキャラクタは クロックコレクションをトリガするために使用されます 表 3-3 に 出力されるディスパリティの制御に使用される TXCHARDISPMODE および TXCHARDISPVAL の値を示します 80 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
81 TX の 8B/10B エンコーダ 表 3-3 : TXCHARDISPMODE と TXCHARDISPVAL に対して出力されるディスパリティ TXCHARDISPMODE TXCHARDISPVAL 出力されるディスパリティ値 0 0 通常 8B/10B エンコーダで算出されます 0 1 TXDATA のエンコード時に 通常のランニングディスパリティを反転します 1 0 TXDATA のエンコード時に 負のランニングディスパリティを送信します 1 1 TXDATA のエンコード時に 正のランニングディスパリティを送信します ポートおよび属性 表 3-4 : TX エンコーダのポート 表 3-4 に TX エンコーダのポートを示します ポート方向 クロックドメイン 説明 TXBYPASS8B10B0[3:0] TXBYPASS8B10B1[3:0] 入力 TXUSRCLK2 TXBYPASS8B10B は バイトごとに TX 8B/10B エンコーダの動作を制御します TXENC8B10B が High (8B/10B は有効 ) で INTDATAWIDTH(0/1) が High (8B/10B は有効 ) の場合にのみ有効です TXBYPASS8B10B[3] は TXDATA[31:24] に対応 TXBYPASS8B10B[2] は TXDATA[23:16] に対応 TXBYPASS8B10B[1] は TXDATA[15:8] に対応 TXBYPASS8B10B[0] は TXDATA[7:0] に対応 TXBYPASS8B10B[x] = 1 バイトx のエンコーダをバイパスする TXBYPASS8B10B[x] = 0 バイトx のエンコーダを使用する TXCHARDISPMODE0[3:0] TXCHARDISPMODE0[3:0] 入力 TXUSRCLK2 TXCHARDISPMODE および TXCHARDISPVAL は 8B/10B エンコーダが有効のとき 出力データのディスパリティを制御で きます 8B/10B エンコーダが無効のときは TXCHARDISPMODE を使用して TX インターフェイスのデータバスを 10 の倍数の幅に拡張できます TXCHARDISPMODE[3] は TXDATA[31:24] に対応 TXCHARDISPMODE[2] は TXDATA[23:16] に対応 TXCHARDISPMODE[1] は TXDATA[15:8] に対応 TXCHARDISPMODE[0] は TXDATA[7:0] に対応 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 81
82 第 3 章 : トランスミッタ 表 3-4 : TX エンコーダのポート ( 続き ) TXCHARDISPVAL0[3:0] TXCHARDISPVAL1[3:0] TXCHARISK0[3:0] TXCHARISK1[3:0] TXENC8B10BUSE0 TXENC8B10BUSE1 TXKERR0[3:0] TXKERR1[3:0] TXRUNDISP0[3:0] TXRUNDISP1[3:0] ポート方向 クロックドメイン 入力 TXUSRCLK2 TXCHARDISPVAL および TXCHARDISPMODE は 8B/10B エンコーダが有効のとき 出力データの 8B/10B ディスパリティを制御できます 8B/10B エンコーダが無効のときは TXCHARDISPVAL を使用して 10 ビットおよび 20 ビット TX インターフェイス用にデータバスを拡張します (72 ページの FPGA TX インターフェイス 参照 ) TX エンコーダの属性はありません 説明 TXCHARDISPVAL[3] は TXDATA[31:24] に対応 TXCHARDISPVAL[2] は TXDATA[23:16] に対応 TXCHARDISPVAL[1] は TXDATA[15:8] に対応 TXCHARDISPVAL[0] は TXDATA[7:0] に対応 入力 TXUSRCLK2 TXDATA を 8B/10B K キャラクタとして送信するには TXCHARISK を High に設定します TXCHARISK は 有効な K キャラクタを表すTXDATA 値に対してのみアサートされるべきです TXCHARISK[3] は TXDATA[31:24] に対応 TXCHARISK[2] は TXDATA[23:16] に対応 TXCHARISK[1] は TXDATA[15:8] に対応 TXCHARISK[0] は TXDATA[7:0] に対応 8B/10B エンコーダをバイパスするバイトに対しては未定義です 入力 TXUSRCLK2 8B/10B エンコーダを有効にするには TXENC8B10BUSE を High に設定します 8B/10B エンコーダが有効の場合 TX_DATA_WIDTH は または 40 に設定される必要があります 0 : 8B/10B エンコーダをバイパスするため レイテンシが削減される 1 : 8B/10B エンコーダを使用する 出力 TXUSRCLK2 TXKERR は K キャラクタに無効なコードが指定された場合に駆動されます TXKERR[3] は TXDATA[31:24] に対応 TXKERR[2] は TXDATA[23:16] に対応 TXKERR[1] は TXDATA[15:8] に対応 TXKERR[0] は TXDATA[7:0] に対応 出力 TXUSRCLK2 8B/10B エンコーダの現在のランニングディスパリティを示します このディスパリティは 数サイクル前にクロックで入力された TXDATA に対応します TXRUNDISP[3] は前の TXDATA[31:24] データに対応 TXRUNDISP[2] は前の TXDATA[23:16] データに対応 TXRUNDISP[1] は前の TXDATA[15:8] データに対応 TXRUNDISP[0] は前の TXDATA[7:0] データに対応 82 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
83 TX バッファ 8B/10B エンコーダの有効 / 無効 8B/10B エンコーダを有効にするには TXENC8B10BUSE を High に駆動します 特定 GTP トランシーバの 8B/10B エンコーダを無効にするには TXENC8B10BUSE を Low に駆動する必要があります エンコーダを無効にしたときの TXDATA ポートの動作については 72 ページの FPGA TX インターフェイス を参照してください TX バッファ 機能の説明 GTP TX データパスには PCS で使用される 2 つの内部パラレルクロックドメイン (PMA パラレルクロック (XCLK) ドメインおよび TXUSRCLK ドメイン ) があります データ送信する場合は XCLK レートと TXUSRCLK レートを一致させ 2 つのドメイン間のすべての位相を調整する必要があります 図 3-9 に XCLK ドメインと TXUSRCLK ドメインを示します X-Ref Target - Figure 3-9 TX Serial Clock PMA Parallel Clock (XCLK) PCS Parallel Clock (TXUSRCLK) FPGA Parallel Clock (TXUSRCLK2) TX Driver PMA PLL Divider TX OOB and PCIe TX Pre Emp PISO Polarity PCIe Beacon SATA OOB Phase Adjust FIFO Pattern Generator TX Pipe Control FPGA 8B / 10B TX Interface TX-PMA TX-PCS To RX Parallel Data (Near-End PCS Loopback) From RX Parallel Data (Far-End PMA Loopback) From RX Parallel Data (Far-End PCS Loopback) UG386_c3_06_ 図 3-9 : TX クロックドメイン GTP トランスミッタには TX バッファおよび TX 位相アライメント回路が含まれ PMACLK および TXUSRCLK ドメイン間の位相差を調整します すべての TX データパスは これらのいずれかの回路を使用する必要があります 表 3-5 に バッファリングと位相アライメントのメリット / デメリットを示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 83
84 第 3 章 : トランスミッタ 表 3-5 : バッファリングと位相アライメントの比較 使いやすさ レイテンシ TX レーン間のスキュー低減 TX バッファ 可能な限り TX バッファを使用 高効果かつ操作が容易 低いレイテンシが求められる場合は TX バッファをバイパスする必要がある スキューを低減させるには TX バッファをバイパスする必要がある TX 位相アライメント ロジックを追加する必要があり クロックソースに対する追加制約が必要 CLK_OUT_GTP_SEL_(0/1) 属性を REFCLKPLL(0/1) に設定して GTPCLKOUT(0/1)[0] の出力を選択する REFCLKPLL を使用する TX バッファよりデータパスで使用するレジスタが少ない 位相アライメント回路の使用して GTP トランシーバ間のスキューを低減可能 関連するすべての GTP トランシーバ間のラインレートを同一にする必要がある ポートおよび属性 表 3-6 : TX バッファのポート TXOUTCLK0 TXOUTCLK1 TXRESET0 TXRESET1 ポート方向 TXBUFSTATUS0[2:0] TXBUFSTATUS1[2:0] 表 3-6 に TX バッファのポートを示します クロックドメイン 出力 N/A このポートは GTP トランシーバで生成されたパラレルクロックを提供します このポートは 1 つまたは複数の GTP トランシーバの TXUSRCLK を駆動するために使用できます クロックレートは INTDATAWIDTH に依存します 説明 INTDATAWIDTH が Low の場合 : F TXOUTCLK(0/1) = Line Rate/8 INTDATAWIDTH が High の場合 : F TXOUTCLK = Line Rate/10 注 : INTDATAWIDTH が High のとき デューティサイクルは 50/50 ではなく 60/40 です TX 位相アライメント回路の使用時は TXOUTCLK が TXUSRCLK を駆動できません 入力 非同期 PCS TX のシステムリセットです レシーバ TX FIFO 8B/10B エン コーダ およびその他のトランスミッタレジスタをリセットします こ のリセットは GTPRESET のサブセットです 出力 TXUSRCLK2 TX バッファのステータスを示します TXBUFSTATUS[1] : TX バッファのオーバーフローまたはアンダーフローを示します 1 : FIFO がオーバーフロー / アンダーフローした 0 : FIFO がオーバーフロー / アンダーフローしていない TXBUFSTATUS[0] : TX バッファの占有状態を示します 1 : FIFO は半分以上占有されている 0 : FIFO は半分以上空いている TXBUFSTATUS[1] は High になると TXRESET がアサートされるまで High を保持します 84 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
85 TX バッファのバイパス 表 3-7 : TX バッファの属性 表 3-6 に TX バッファの属性を示します 属性 種類 説明 TX_BUFFER_USE_0 TX_BUFFER_USE_1 ブール関数 TX バッファの使用またはバイパスを決定します TRUE : TX バッファを使用する ( 標準モード ) FALSE : TX バッファをバイパスする ( アドバンス機能 ) TX_XCLK_SEL_0 TX_XCLK_SEL_1 文字列 TX バッファの後にある PCS のクロックドメインを駆動するクロックを選択します TX バッファを使用する場合 この属性は TXOUT として設定されます 属性は次のように設定してください TXOUT : TX_BUFFER_USE = TRUE のときに使用 TXUSR : TX_BUFFER_USE = FALSE のときに使用 TXRX_INVERT_0 TXRX_INVERT_1 3 ビットバイナリ GTP トランシーバ内のクロックパスを最適化するインバータを制御します この属性はデフォルトで 3'b111 に設定されています TX バッファの使用 TX バッファを使用してドメイン間の位相差を一致させるには TX_BUFFER_USE を TRUE に設定します TXBUFSTATUS がオーバーフローまたはアンダーフローを示した場合は 必ずバッファをリセットしてください バッファのリセットには GTPRESET または TXRESET を使用できます GTPRESET をアサートすることで GTP トランシーバの送信部全体をリセットするシーケンスがトリガされます TX バッファのバイパス 機能の説明 Spartan-6 FPGA GTP トランシーバのアドバンス機能は TX バッファをバイパスできることです これは 通常動作には推奨しません TX バッファをバイパスする場合は TX 位相アライメントというプロセスを実行して PMA パラレルドメイン (XCLK) と PCS パラレルクロックドメイン (TXUSRCLK) の位相を一致させる必要があります TX 位相アライメントプロセスのほかに GTP トランシーバから DCM/PLL への専用フィードバックパス (GTPCLKFBWEST および GTPCLKFBEAST) を使用して 温度や電圧の変化によって影響を受けた TXUSRCLK を調整します 83 ページの図 3-9 に XCLK ドメインおよび TXUSRCLK ドメインを示します 84 ページの表 3-5 には バッファを使用する場合と使用しない場合の比較を示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 85
86 第 3 章 : トランスミッタ ポートおよび属性 表 3-8 : TX バッファをバイパスする場合のポート 表 3-8 に TX バッファをバイパスする場合のポートを示します ポート方向 クロックドメイン 説明 GTPCLKFBEAST[1:0] 出力 N/A TX バッファをバイパスする場合 電圧や温度の変化に応じて USRCLK を調整するための PLL または DCM の専用フィードバッククロックです このフィードバックパスは TXUSRCLK(0/1) および RXUSRCLK(0/1) を使用して個別に選択できます GTPCLKFBSEL0EAST[1:0] GTPCLKFBSEL1EAST[1:0] 入力 非同期 GTPCLKFBSEL0EAST は GTPCLKFBEAST[0] の専用フィードバッククロックセレクタです GTPCLKFBSEL1EAST は GTPCLKFBEAST[1] の専用フィードバッククロックセレクタです 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBSEL0WEST[1:0] GTPCLKFBSEL1WEST[1:0] 入力 非同期 GTPCLKFBSEL0WEST は GTPCLKFBWEST[0] の専用フィードバッククロックセレクタです GTPCLKFBSEL1WEST は GTPCLKFBWEST[1] の専用フィードバッククロックセレクタです 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBWEST[1:0] 出力 N/A TX バッファをバイパスする場合 電圧や温度の変化に応じて USRCLK を調整するための PLL または DCM の専用フィードバッククロックです このフィードバックパスは TXUSRCLK(0/1) および RXUSRCLK(0/1) を使用して個別に選択できます GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] PLLLKDETEN0 PLLLKDETEN1 出力 N/A GTPA1_DUAL タイルから FPGA ロジックへクロックを供給する場合は GTPCLKOUT ポートを使用することを推奨します GTPCLKOUT[0] は TX バッファをバイパスする場合に使用してください GTPCLKOUT[0] : 出力 (TXOUTCLK または REFCLKPLL ) は CLK_OUT_GTP_SEL の設定に基づく GTPCLKOUT[1] : RXRECCLK を出力する 入力非同期 PLL のロック検出を有効にします 86 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
87 TX バッファのバイパス 表 3-8 : TX バッファをバイパスする場合のポート ( 続き ) TXENPMAPHASEALIGN0 TXENPMAPHASEALIGN1 TXOUTCLK0 TXOUTCLK1 TXPMASETPHASE0 TXPMASETPHASE1 TXUSRCLK0 TXUSRCLK1 ポート方向 表 3-9 : TX バッファをバイパスする場合の属性 クロックドメイン 入力 非同期 High にアサートされている場合は TX 位相アライメント回路が有効になり TXPMASETPHASE がアサートされたときに XCLK と TXUSRCLK の位相を揃えることができます これにより 複数の GTP トランシーバの XCLK を同期させることができるため TX のレーン間スキューを低減できます 出力 N/A これらのポートは PMA と TX バッファ間の TX ロジックにク ロックを提供します これらはファブリック出力用に予約され ています 入力 非同期 High にアサートされると GTP トランシーバが XCLK と TXUSRCLK の位相を一致させるため TX バッファをバイパス できます 入力 N/A このポートを使用して 内部 TX PCS パラレルデータパスへク ロックを供給します このクロックは常に供給される必要があ ります 表 3-9 に TX バッファをバイパスする場合の属性を示します 属性 種類 説明 CLK_OUT_GTP_SEL_0 CLK_OUT_GTP_SEL_1 文字列 GTPCLKOUT[0] で駆動される出力として TXOUTCLK または REFCLKPLL のいずれかを選択します TX バッファをバイパスする場合 TXUSRCLK および TXUSRCLK2 は REFCLKPLL から出力される必要があります CLK_OUT_GTP_SEL_0 の有効な設定は次のとおりです TXOUTCLK0 REFCLKPLL0 (TX バッファをバイパスする場合に推奨 ) CLK_OUT_GTP_SEL_1 の有効な設定は次のとおりです PMA_TX_CFG0 PMA_TX_CFG1 TX_BUFFER_USE_0 TX_BUFFER_USE_1 20 ビットの 16 進数 ブール関数 説明 TXOUTCLK1 REFCLKPLL1 (TX バッファをバイパスする場合に推奨 ) TX チャネル特有の設定です デフォルト値は 20'h80082 です TX バッファの使用またはバイパスを決定します TRUE : TX バッファを使用する ( 標準モード ) FALSE : TX バッファをバイパスする ( アドバンス機能 ) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 87
88 第 3 章 : トランスミッタ 表 3-9 : TX バッファをバイパスする場合の属性 ( 続き ) TXRX_INVERT_0 TXRX_INVERT_1 TX_XCLK_SEL_0 TX_XCLK_SEL_1 属性種類説明 3 ビットバイナリ 文字列 多様な内部データパスにおいて ロックアップラッチの使用 / バイパスを指定します デフォルト値は 3'b111 です TX バッファの後にある TX PMA パラレルクロックドメインを駆動するクロックを選択します TX バッファをバイパスする場合は この属性を TXUSR に設定する必要があります TXOUT : TX_BUFFER_USE = TRUE のときに使用する TXUSR : TX_BUFFER_USE = FALSE のときに使用する TX バッファをバイパスして TX 位相アライメント回路を使用 TX_BUFFER_USE を FALSE に設定する場合は 代わりに TX 位相アライメント回路を使用する必要があります TX 位相アライメント回路を使用して PMA パラレルクロック (XCLK) の位相と PCS パラレルクロック (TXUSRCLK) の位相を揃える場合は 次の手順に従ってください 1. CLK_OUT_GTP_SEL を REFCLKPLL に設定します 2. TX_XCLK_SEL を TXUSR に設定します 3. TXRX_INVERT を 111 に設定し PMA_TX_CFG を (16 進数 ) に設定します 4. すべてのクロックおよびロック信号が安定するまで待機してから TXENPMAPHASEALIGN を High にアサートします 5. TXENPMAPHASEALIGN がアサートされた後 TXUSRCLK2 クロックの 512 サイクル間待機してから TXPMASETPHASE を High にアサートします 6. 表 3-10 で指定する TXUSERCLK2 のサイクル間待機した後 TXPMASETPHASE をディアサートします 7. TX 位相アライメントプロセスを反復実行する必要がある場合を除き TXENPMAPHASEALIGN はアサートされた状態を保持します TXENPMAPHASEALIGN をディアサートすると TX 位相アライメント機能が無効になります 8. TX 位相アライメントプロセス完了後 PMA パラレルクロック (XCLK) と PCS パラレルクロック (TXUSRCLK) の位相が一致します 表 3-10 : TXPMASETPHASE がディアサートされるまでの待機サイクル数 (TXUSERCLK2) PLL_TXDIVSEL_OUT 次に示す状態のいずれかが発生したときは TX 位相アライメントプロセスを再実行する必要があります GTPRESET0 または GTPRESET1 のアサート PLLPOWERDOWN のディアサート クロックソースの変更 GTP トランシーバのラインレート変更 TXPMASETPHASE 用の TXUSRCLK2 待機サイクル数 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
89 TX バッファのバイパス 図 3-10 に GTPRESET 後の TX 位相アライメントプロセスを示します GTPRESET 完了後 RESETDONE および PLLLKDET が High になるまで待機し すべてのクロックが安定すると TX 位相アライメントのプロセスが開始されます DCM または PLL を使用して TXUSRCLK を駆動する場合は DCM または PLL のロック信号がアサートされるまで TX 位相アライメントプロセスの開始は待機する必要があります X-Ref Target - Figure 3-10 RESETDONE/PLLLKDET TXENPMAPHASEALIGN 512 TXUSRCLK2 Cycles TXPMASETPHASE Required TXUSRCLK2 Cycles UG386_c3_19_ 図 3-10 : リセット後の TX 位相アライメントプロセスのタイミング TX 位相アライメント回路を使用した TX レーン間スキューの最小化 TX 位相アライメント回路は GTP トランシーバ間のスキューを最小限にするためにも使用できます 図 3-11 に 位相アライメント回路が複数の GTP トランシーバの PMA パラレルクロックドメイン (XCLK) を共通クロックと一致させて レーン間のスキューを低減する方法を示します 図 3-11 では 共通クロックと位相を一致する前と後の状態を示しています 位相アライメント前は すべての XCLK には任意の位相差が生じており アライメント後は 共通クロックのスキューのみが位相差として生じています このため データパスのレイテンシが一致している限り すべてのデータは同時に転送されます 効果的な位相アライメントを実行するには すべての GTP トランシーバの TXUSRCLK が同じソースから出力され また低スキューのクロッキングリソース (BUFG など ) を使用して配線される必要があります X-Ref Target - Figure 3-11 Before TX Phase Alignment GTP0 TX After TX Phase Alignment GTP0 TX Skew Parallel Clocks are Independent Reduced Skew Parallel Clocks are Phase Aligned to the Same Clock Edge GTP1 TX GTP1 TX UG386_c3_20_ 図 3-11 : レーン間のスキューを低減させる TX 位相アライメント フィードバックパスを使用した電圧および温度の変化への対応 PLL または DCM は GTPCLKFBWEST[1:0] および GTPCLKFBEAST[1:0] フィードバッククロックを使用して 電圧や温度の影響を受ける TXUSRCLK を調整します 機能的には どのフィードバックパスを選択しても問題ありませんが GTPCLKOUT パスに最適なフィードバクパスの使用を推奨します 実際 フィードバックパスの選択は GTPA1_DUAL タイル内でバイパスされるバッファの数や使用される GTPA1_DUAL (FPGA の右側または左側 ) によって異なる場合があります 各 GTPA1_DUAL タイルでは 最大 4 個のバッファ (GTP0 および GTP1 の TX バッファ GTP0 および GTP1 の RX エラスティックバッファ ) をバイパスできます Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 89
90 第 3 章 : トランスミッタ 通常 FPGA の左側に GTPA1_DUAL タイルが配置されている場合は GTPCLKFBWEST より GTPCLKFBEAST の方が遅延が少なくなります 一方 FPGA の右側に GTPA1_DUAL タイルが配置されている場合は GTPCLKFBEAST より GTPCLKFBWEST の方が遅延が少なくなります 表 3-11 に GTPA1_DUAL の 4 つすべてのバッファをバイパスして専用のフィードバックパスが必要な場合での フィードバックパス (GTPCLKFBWEST および GTPCLKFBEAST) の選択ガイドラインを示します 表 3-11 : 専用フィードバックパスの選択ガイドライン (GTPA1_DUAL の 4 つすべてのバッファをバイパスする場合 ) クロックソース GTPCLKOUT0[0] = GTP0 の REFCLKPLL0 (TX バッファはバイパス ) GTPCLKOUT0[1] = GTP0 の RXRECCLK0 (RX エラスティックバッファはバイパス ) GTPCLKOUT1[0] = GTP1 の REFCLKPLL1 (TX バッファはバイパス ) GTPCLKOUT1[1] = GTP1 の RXRECCLK1 (RX エラスティックバッファはバイパス ) 推奨されるフィードバックパス GTPCLKFBWEST[0] GTPCLKFBWEST[1] GTPCLKFBEAST[0] GTPCLKFBEAST[1] 表 3-12 に GTPA1_DUAL の 1 つまたは 2 つのバッファをバイパスして専用のフィードバックパスが必要な場合での フィードバックパス (GTPCLKFBWEST および GTPCLKFBEAST) の選択ガイドラインを示します 表 3-12 : 専用フィードバックパスの選択ガイドライン (GTPA1_DUAL の 1 つまたは 2 つのバッファをバイパスする場合 ) FPGA の左側に GTPA1_DUAL が配置されている場合 GTPCLKFBEAST[1:0] フィードバックパスを推奨 GTPCLKFBWEST パスは GTPCLKOUT より遅延が大きい FPGA の右側に GTPA1_DUAL が配置されている場合 GTPCLKFBWEST[1:0] フィードバックパスを推奨 GTPCLKFBEAST パスは GTPCLKOUT より遅延が大きい 図 3-12 に TX バッファをバイパスする場合に GTPA1_DUAL タイルの GTP0 および GTP1 トランシーバが同じリファレンスクロックを共有している GTPA1_DUAL のクロック配線の例を示します この例では 専用フィードバックパス GTPCLKFBWEST[0] を使用するクロックパスが選択され 電圧や温度の変化に応じて TXUSRCLK0 を調整します この GTPA1_DUAL タイルの GTP0 と GTP1 は 同じリファレンスクロックを共有しているため 必要なフィードバックパスは 1 つとなります PLL または DCM のいずれかを使用する場合は フィードバックパスを使用して TXUSRCLK を調整します 各トランシーバ間でリファレンスクロックを共有するプロトコル (PCIe など ) は TX バッファをバイパスするこのクロック配線例を使用して 電圧および温度による調整を行います 90 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
91 TX バッファのバイパス X-Ref Target - Figure 3-12 GTPA1_DUAL GTP0/GTP1 TX PMA CLK00 IBUFDS REF_CLK0_P TXOUTCLK0 REFCLKPLL0 REF_CLK0_N MUX BUFIO2 GTPCLKOUT0[0] CLK_OUT_GTP_SEL_0 = REFCLKPLL0 GTPCLKFBWEST[0] BUFIO2FB CLKFB0_IN CLK0_IN MUX GTPCLKFBSEL0WEST = 00 PLL/DCM for Tile0 CLK0_1 CLK0_0 BUFG TXUSRCLK0 RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 BUFG TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 FPGA Fabric User Logic UG386_c3_18_ 図 3-12 : GTPA1_DUAL のクロック配線 (GTP0 と GTP1 が同じリファレンスクロックを共有 TX バッファはバイパス ) 図 3-13 に TX バッファをバイパスする場合 GTPA1_DUAL タイルの GTP0 および GTP1 トランシーバが異なるリファレンスクロックを使用している GTPA1_DUAL のクロック配線の例を示します この例では 専用フィードバックパス GTPCLKFBWEST[0] を使用するクロックパスが選択され 電圧や温度の変化に応じて GTP0 の TXUSRCLK0 を調整します 同様に 専用フィードバックパス GTPCLKFBEAST[0] を使用するクロックパスが選択され 電圧や温度の変化に応じて GTP1 の TXUSRCLK1 を調整します PLL または DCM のいずれかを使用する場合は フィードバックパスを使用して TXUSRCLK を調整します 各トランシーバで異なるリファレンスク Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 91
92 第 3 章 : トランスミッタ ロックを使用するプロトコル (CPRI など ) は TX バッファをバイパスするこのクロック配線例を使用して 電圧および温度による調整を行います X-Ref Target - Figure 3-13 GTPA1_DUAL GTP0 TX PMA GTP1 TX PMA REF_CLK0_P IBUFDS CLK00 CLK01 IBUFDS REF_CLK1_P REF_CLK0_N REFCLKPLL0 TXOUTCLK0 TXOUTCLK1 REFCLKPLL1 REF_CLK1_N BUFIO2 MUX MUX BUFIO2 CLKFB0_IN CLK1_IN GTPCLKOUT0[0] GTPCLKOUT1[0] BUFIO2FB CLK_OUT_GTP_SEL_0 = REFCLKPLL0 CLK_OUT_GTP_SEL_1 = REFCLKPLL1 BUFIO2FB CLK0_IN GTPCLKFBWEST[0] GTPCLKFBEAST[0] CLKFB1_IN CLK0_0 BUFG PLL/DCM for GTP0 CLK0_1 BUFG GTPCLKFBSEL0WEST = 00 MUX MUX GTPCLKFBSEL0EAST = 10 CLK1_1 BUFG PLL/DCM for GTP1 CLK1_0 BUFG TXUSRCLK0 RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 FPGA Fabric User Logic FPGA Fabric User Logic UG386_c3_17_ 図 3-13 : GTPA1_DUAL のクロック配線 (GTP0 と GTP1 が異なるリファレンスクロックを使用 - TX バッファはバイパス ) 92 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
93 TX パターンジェネレータ TX パターンジェネレータ 機能の説明 表 3-13 : サポートされる PRBS パターン 擬似乱数ビットシーケンス (PRBS) は 一般に 高速リンクにおけるシグナルインテグリティの検証に使用されます これらのシーケンスには規則性がないように見えますが リンク品質の計測に使用される特定のプロパティがあります GTP トランシーバのパターンジェネレータブロックでは 業界標準の PRBS パターンを生成できます ( 表 3-13 参照 ) 名前 多項式 シーケンス長 説明 PRBS X 6 + X ビット 8B/10B を使用するチャネルの検証に使用されます PRBS X 14 + X ビット ITU-T Recommendation O.150 Section 5.3 主にジッタ測定に使用されるパターンであり Agilent 社の DCA- J サンプリングオシロスコープで処理できる最長パターンです PRBS X 18 + X ビット ITU-T Recommendation O.150 Section 5.6 通常 8B/10B エンコーディング以外で使用されます SONET 仕 様で推奨されているテストパターンの 1 つです PRBS X 28 + X ビット ITU-T Recommendation O.150 Section 5.8 8B/10B エンコーディング以外で使用されます 10 ギガビットイーサネットに推奨されている PRBS テストパターンです IEEE 802.3ae-2002 を参照してください PRBS パターンのほかに GTP トランシーバは 20UI ( または 16UI) 方形波および 2UI 方形波のテストパターンや PCI Express 準拠のパターンもサポートしています クロッキングパターンは スペクトラム解析でよく実行される PLL ランダムジッタの測定に使用されます 表 3-14 : PCI Express 準拠パターン シンボル K28.5 D21.5 K28.5 D10.2 ディスパリティ パターン X-Ref Target - Figure UI UG386_c3_07_ 図 3-14 : 20UI 方形波 リンク接続の検証やジッタ耐性テスト用にエラー挿入機能がサポートされています 反転した PRBS パターンが必要な場合は TXPOLARITY 信号を使用して極性を制御してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 93
94 第 3 章 : トランスミッタ X-Ref Target - Figure 3-15 PRBS-7 PRBS-15 PRBS-23 PRBS-31 PCI Express Compliance Pattern Square Wave with 2 UI Period Square Wave with 16 UI or 20 UI Period Error Insertions Polarity Inversion TXDATA UG386_c3_08_ 図 3-15 : TX パターンジェネレータのブロック図 ポートおよび属性 表 3-15 : パターンジェネレータのポート ポート方向 TXENPRBSTST0[2:0] TXENPRBSTST1[2:0] 表 3-15 に パターンジェネレータのポートを示します クロックドメイン 入力 TXUSRCLK2 トランスミッタ PRBS ジェネレータのテストパターンを制御します 000 : 標準動作モード ( テストパターン生成はオフ ) 001 : PRBS : PRBS : PRBS : PRBS-31 説明 TXPRBSFORCEERR0 TXPRBSFORCEERR1 101 : PCI Express 準拠パターン20 ビットモードの場合のみ有効 110 : 2UI の方形波 (0 または 1) 111 : 16UI または 20UI の方形波 ( データ幅に基づく ) 入力 TXUSRCLK2 このポートが High に駆動されると PRBS トランスミッタでエラー挿入が有効になります アサートされている間に 出力データパターンにエラーが挿入されます TXENPRBSTST が 000 に設定されている場合 TXDATA への影響はありません 表 3-16 : パターンジェネレータの属性 表 3-16 に パターンジェネレータの属性を示します 属性 種類 説明 RXPRBSERR_LOOPBACK_0 RXPRBSERR_LOOPBACK_1 1 ビットバイナリ 1 の場合 RXPRBSERR ビットが同じ GTP トランシーバの TXPRBSFORCEERR へ内部ループバックします これによって データのクロックドメイン交差を懸念せずに 同期および非同期ジッタ耐性テストが可能になります 0 の場合 TXPRBSFORCEERR が TX PRBS に対応します 94 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
95 TX パターンジェネレータ 使用モデル 通常 パターン生成やチェック機能は リンク品質検証やジッタ耐性テストのために使用されます リンク品質検証の場合 TXENPRBSTST および RXENPRBSTST を 000 以外に設定し RXPRBSERR_LOOPBACK を 0 に設定してテストパターンを選択します ( 図 3-16 参照 ) PRBS パターンのみ RX パターンチェッカで認識されます X-Ref Target - Figure 3-16 TXENPRBSTST TXPRBSFORCEERR 001 TX Pattern Generator RX Pattern Checker 001 RXENPRBSTST RXPRBSERR RX_PRBS_ERR_CNT RXPRBSERR_LOOPBACK = 0 RXPRBSERR_LOOPBACK = 0 RXENPRBSTST RXPRBSERR RX_PRBS_ERR_CNT 001 RX Pattern Checker TX Pattern Generator 001 TXENPRBSTST TXPRBSFORCEER UG386_c3_09_ 図 3-16 : PRBS-7 パターンのリンク検証モード レシーバの BER ( ビットエラーレート ) を正確に算出するには 外部ジッタ耐性テスタを使用する必要があります テストでは RXPRBSERR_LOOPBACK を 1 に設定して GTP トランシーバが受信したエラーステータスをループバックする必要があります ( 図 3-17 参照 ) 同じ設定が RXENPRBSTST および TXENPRBSTST に適用される必要があります X-Ref Target - Figure 3-17 Jitter Tester TX PRBS-7 Pattern with Jitter RX Pattern Checker 001 RXENPRBSTST RXPRBSERR RX_PRBS_ERR_CNT RXPRBSERR_LOOPBACK = RX Pattern Checker TX Pattern Generator TXENPRBSTST TXPRBSFORCEERR UG386_c3_10_ 図 3-17 : PRBS-7 パターンのジッタ耐性テスト Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 95
96 第 3 章 : トランスミッタ TX 極性制御 機能の説明 GTP トランシーバには PCS からの出力データをシリアル化して送信する前に その極性を反転させる TX 極性制御ファンクションが含まれます 出力データの極性を反転させるには TXPOLARITY ポートを High に駆動します ポートおよび属性 表 3-17 に TX 極性制御のポートを示します 表 3-17 : TX 極性制御のポート ポート方向 TXPOLARITY0 TXPOLARITY1 TX 極性制御の属性はありません クロックドメイン 説明 入力 TXUSRCLK2 出力データの極性の反転には TX の極性ポートが使用されます 0 : 反転しない TXP は正 TXN は負 1 : 反転する TXP は負 TXN は正 TX 極性制御の使用 ボード上で TXP/TXN 差動トレースをスワップする場合は TXPOLARITY を High に設定してください TX ファブリッククロック出力の制御 機能の説明 TX ファブリッククロック出力制御ブロックは 2 つのコンポーネント ( シリアルおよびパラレルクロック分周制御とセレクタ制御 ) で構成されています 図 3-18 に GTP0 トランシーバのクロック分周器およびセレクタを示します GTP1 トランシーバの構造は GTP0 トランシーバと同様です 96 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
97 TX ファブリッククロック出力の制御 X-Ref Target - Figure 3-18 GTP0 Transceiver TXP/N TX PMA Phase Interp PISO TXDATA TX PCS TXDATA From Upstream PCS Blocks /D {1,2,4} /4 or /5 Parallel Clock for Upstream PCS Blocks TXOUTCLK0 PLL1 (1) PLL0 GTPCLKOUT0[0] REFCLKPLL0 CLK_OUT_GTP_SEL_0 (Attribute) REFCLK Sel REFCLK Distribution MGT REFCLK IBUFDS O Notes: 1. The PLL1 resides in the GTP1 portion of the same GTPA1_DUAL block. It can be used in place of the PLL0 for low-power operation. シリアルクロック分周器 図 3-18 : TX シリアルおよびパラレルクロック分周器の詳細図 UG386_c3_11_ 各トランスミッタ PMA モジュールには 低いラインレートをサポートするため PLL からのクロックを分周する分周器 (D) があります この分周器は PLL_TXDIVSEL_OUT 属性で設定され 複数ラインレートがあるプロトコルの場合は DRP ポートを使用して動的に変更できます 表 3-18 に シリアル分周器の制御を示します 表 3-18 : TX PLL 出力分周器の設定 ラインレート範囲 (GHz) 分周器 (D) の値 属性設定 ~ PLL_TXDIVSEL_OUT = ~ PLL_TXDIVSEL_OUT = ~ PLL_TXDIVSEL_OUT = 4 メモ : 1. 正確なラインレート範囲は Spartan-6 FPGA データシート を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 97
98 第 3 章 : トランスミッタ パラレルクロック分周器およびセレクタ TX ファブリッククロック出力制御ブロックから出力されるパラレルクロック (TXOUTCLK) は ファブリックロジッククロックとして使用できます TXOUTCLK は 1 バイトデータ幅のクロックです 周波数は INTDATAWIDTH の値に基づいて 8 または 10 で分周されたラインレートとなります CLK_OUT_GTP_SEL 属性で入力セレクタを制御し GTPCLKOUT[0] ポートから次のようなクロックを出力できます TXOUTCLK : このクロックは TX 位相インターポレータの後に分周された PLL クロックであり TX PCS ブロックで使用されます TX 位相インターポレータは TX バッファをバイパスする場合に FPGA ロジッククロックと内部クロックの位相を一致させるために使用します REFCLKPLL : このクロックは PLL の入力リファレンスクロックです REFCLKPLL は 一般的な使用で推奨されるクロックであり TX バッファをバイパスするファブリックで必要なクロックです GTPA1_DUAL プリミティブには 追加のクロック出力ポート (REFCLKOUT REFCLKPLL TXOUTCLK RXRECCLK) ありますが これらは予約されているため使用できません その代わりに GTPCLKOUT を使用してください ポートおよび属性 表 3-19 に TX ファブリッククロック出力制御ブロックのポートを示します 表 3-19 : TX ファブリッククロック出力制御のポート ポート方向 GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] INTDATAWIDTH0 INTDATAWIDTH1 REFCLKOUT0 REFCLKOUT1 クロックドメイン 出力 N/A GTPA1_DUAL タイルから FPGA ロジックへクロックを供給する場合は GTPCLKOUT(0/1) ポートを使用することを推奨します GTPCLKOUT(0/1) のビット 0 によって ユーザーが TXOUTCLK(0/1) または REFCLKPLL(0/1) のいずれかの出力を有効にできます CLK_OUT_GTP_SEL_(0/1) が出力クロックを指定します GTPCLKOUT(0/1) のビット 1 は RXRECCLK(0/1) を出力します 入力 非同期 このポートは 同じ GTP レーンの TX および RX データパス用の内部データパス幅およびパラレルクロック分周器の値を指定します 0 : 内部データパスは 8 ビット幅 パラレルクロック分周値は 4 1 : 内部データパスは 10 ビット幅 パラレルクロック分周値は 5 INTDATAWIDTH(0/1) は PLL フィードバック分周器 N1 も制御するため GTPA1_DUAL タイル内の 2 つのレーンが同じ PLL を共有している場合は 両方のレーンの INTDATAWIDTH(0/1) を同じ値にしてください 出力 N/A 予約されています 代わりに GTPCLKOUT(0/1)[0] を使用してくだ さい 説明 98 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
99 TX ファブリッククロック出力の制御 表 3-19 : TX ファブリッククロック出力制御のポート ( 続き ) REFCLKPLL0 REFCLKPLL1 TXOUTCLK0 TXOUTCLK1 ポート方向 クロックドメイン 出力 N/A 1 つの GTP トランシーバが複数のリファレンスクロックを使用する場合は これらのポートを使用して 一方の GTPA1_DUAL のリファレンスクロックを もう一方の GTPA1_DUAL の CLKINEAST/ CLKINWEST へ手動で接続する必要があります したがって IBUFDS エレメントが一方の GTPA1_DUAL タイルの近くに配置され このタイルはもう一方の GTPA1_DUAL へクロックを転送します GTP トランシーバは 1 つのリファレンスクロックを共有します リファレンスクロックを 1 つ使用する場合は ソフトウェアがこのポートを使用して GTPA1_DUAL タイル間のリファレンスクロックを自動的にカスケード接続します (LOC 制約で指定 または IBUFDS および GTPA1_DUAL エレメント間の接続で指定されているデザインで必要な場合に実行 ) この出力は未接続にできます 出力 N/A 予約されています 代わりに GTPCLKOUT(0/1)[0] を使用してくだ さい 説明 表 3-20 : TX ファブリッククロック出力制御の属性 表 3-20 に TX ファブリッククロック出力制御ブロックの属性を示します 属性 種類 説明 CLK_OUT_GTP_SEL_0 CLK_OUT_GTP_SEL_1 文字列 この属性は マルチプレクサのセレクト信号です (97 ページの図 3-18 参照 ) GTPCLKOUT(0/1) 信号ポートを介して FPGA ロジックへ出力する GTP トランシーバ (GTP0/GTP1) の内部クロックを指定できます CLK_OUT_GTP_SEL_0 の有効な設定は次のとおりです TXOUTCLK0 REFCLKPLL0 CLK_OUT_GTP_SEL_1 の有効な設定は次のとおりです TXOUTCLK1 REFCLKPLL1 PLL_TXDIVSEL_OUT 整数 TX シリアルクロック分周器の設定を制御して 低いラインレートをサポート します (97 ページの表 3-18 参照 ) 有効な設定は次のとおりです 1 : 分周値 D は 1 2 : 分周値 D は 2 4 : 分周値 D は 4 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 99
100 第 3 章 : トランスミッタ TX のコンフィギュレーション可能な TX ドライバ 機能の説明 GTX TX ドライバは 高速電流モードの差動出力バッファです このドライバは シグナルインテグリティを最大にすることを目的として 次の機能を備えています 差動電圧制御 プリエンファシス 設定可能な終端レジスタ X-Ref Target - Figure 3-19 MGTAVTTTX Pre-Driver Pre-Emphasis Pad Driver nom. 50Ω nom. 50Ω TX Serial Clock = Data Rate / 2 TXBUFDIFFCTRL(0/1)[2:0] TXPREEMPHASIS(0/1)[2:0] PISO Pre-Driver Main Pad Driver TXP(0/1) TXN(0/1) TXDIFFCTRL(0/1)[3:0] UG386_c3_12_ 図 3-19 : TX ドライバのブロック図 ポートおよび属性 表 3-21 に コンフィギュレーション可能な TX ドライバのポートを示します 表 3-21 : コンフィギュレーション可能な TX ドライバのポート ポート 方向 クロックドメイン 説明 TXBUFDIFFCTRL0[2:0] TXBUFDIFFCTRL1[2:0] 入力 非同期 プリドライバの強度を制御します デフォルト値は 3 b101 です この値は 変更してはいけません 100 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
101 TX のコンフィギュレーション可能な TX ドライバ 表 3-21 : コンフィギュレーション可能な TX ドライバのポート ( 続き ) ポート方向クロックドメイン説明 TXDIFFCTRL0[3:0] TXDIFFCTRL1[3:0] 入力 非同期 ドライバの強度を制御します デフォルト値は ユーザーが定義 します [3:0]mVppd (1) TXELECIDLE0 TXELECIDLE0 TXINHIBIT0 TXINHIBIT1 入力 入力 TXUSRCLK2(0/1) 非同期 TXPDOWNASYNCH(0/1) によって このピンは非同期になります TXUSRCLK2(0/1) High の場合 TXDATA(0/1) の転送を停止し 強制的に TXP(0/1) を 0 に TXN(0/1) を 1 にします TXP0 TXP1 TXN0 TXN1 出力 ( パッド ) TX シリアルクロック TXP(0/1) および TXN(0/1) は 差動送信出力ペアを構成します これらのポートは パッドを表しています 位置制約を適用して (30 ページの インプリメンテーション 参照 ) デザインのトップレベルで指定する必要があります TXPDOWNASYNCH0 TXPDOWNASYNCH1 入力 非同期 TXELECIDLE(0/1) および TXPOWERDOWN(0/1) が同期信号または非同期信号のいずれで処理されるかを決定します PCI Express のコールドリセットおよびウォームリセットのコンプライアンスを有効にします Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 101
102 第 3 章 : トランスミッタ 表 3-21 : コンフィギュレーション可能な TX ドライバのポート ( 続き ) ポート方向クロックドメイン説明 TXPREEMPHASIS0[2:0] TXPREEMPHASIS1[2:0] 入力 非同期 プリカーソルによるプリエンファシスの相対的強度を制御しま す デフォルト値はユーザーが指定します [2:0]Pre-Emphasis (db) (1) メモ : 1. 公称値です 正確な値は Spartan-6 FPGA データシート を参照してください コンフィギュレーション可能な TX ドライバの属性はありません 使用モード TX ドライバ 標準 アプリケーションの要件に応じて TXDIFFCTRL および TXPREEMPHASIS の値を適切に設定します 使用モード - 抵抗キャリブレーション オンチップ抵抗キャリブレーションの詳細は 176 ページの 終端抵抗キャリブレーション回路 を参照してください 102 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
103 PCI Express デザイン用の TX レシーバ検出機能 PCI Express デザイン用の TX レシーバ検出機能 機能の説明 PCI Express には リンク上のトランスミッタがレシーバの検出を実行する機能があります TXP/TXN の立ち上がり時間に基づいて レシーバの存在を確認します 図 3-20 に レシーバ検出に使用される回路モデルを示します レシーバ検出を実行する場合は GTP トランシーバが P1 パワーダウンステートに遷移している必要があります また レシーバ検出にはトランスミッタとレシーバ間に 75 ~ 200nF の外部カップリングキャパシタが必要で レシーバは GND 終端する必要があります 検出シーケンスは TXDETECTRX をアサートすると開始します それに応じて レシーバ検出ロジックが TXN および TXP を V DD V SWING /2 に駆動して その後リリースします 一定時間 ( プログラム可能 ) 経過後 TXN および TXP のレベルがしきい値電圧と比較されます 最後に レシーバ検出結果が RXSTATUS および PHYSTATUS 出力に反映されます X-Ref Target - Figure 3-20 V DD R TERMT : 40Ω - 60Ω TXP C AC : 75 nf nf C CH : < 3 nf R TERMR : 40Ω - 60Ω V TERMR TXDETECTRX GTP Transceiver Components Channel Components Far-End Receiver Components UG386_c3_13_ 図 3-20 : レシーバ検出回路モデル ポートおよび属性 表 3-22 : TX レシーバ検出をサポートするポート 表 3-22 に TX レシーバ検出をサポートするポートを示します ポート 方向 クロックドメイン 説明 PHYSTATUS0 PHYSTATUS1 出力 非同期 電力管理ステートの移行や受信検出などの PHY ファンクションが完了すると High になります P2 電力ステートへの遷移中 (Entry および Exit) であり また RXUSRCLK2 が動作していないときにこの信号が遷移する場合は 信号送信が非同期になります Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 103
104 第 3 章 : トランスミッタ 表 3-22 : TX レシーバ検出をサポートするポート ( 続き ) RXSTATUS0[2:0] RXSTATUS1[2:0] TXDETECTRX0 TXDETECTRX1 ポート方向クロックドメイン説明 RXPOWERDOWN0[1:0] RXPOWERDOWN1[1:0] TXPOWERDOWN0[1:0] TXPOWERDOWN1[1:0] TXPDOWNASYNCH0 TXPDOWNASYNCH1 出力 RXUSRCLK2 PCIe 規格の場合は次のとおりです 000 : ( レシーバ検出シーケンス ) レシーバがない /( 通常動作中 ) 受信データは問題なし 001 : 予約 010 : 予約 011 : ( レシーバ検出シーケンス ) レシーバがある 100 : 8B/10B デコーダエラー 101 : エラスティックバッファのオーバーフロー PIPE 仕様の定義とは異なる 110 : エラスティックバッファのオーバーフロー PIPE 仕様の定義とは異なる 111 : ディスパリティエラーの受信 SATA 規格の場合のビットの詳細は 表 3-23 を参照してください 入力 TXUSRCLK2 レシーバ検出シーケンスをアクティブにします テスト結果が RXSTATUS 上で確認できることを示す PHYSTATUS がアサートされると シーケンスが終了します RXSTATUS = 000 の場合は レシーバが検出されていないことを示します RXSTATUS = 011 の場合は レシーバが検出されたことを示します 入力 非同期 TX および RX リンクのパワーステートを制御します PCI Express 仕様のエンコードに準拠しています TX と RX は個別に電源をオフにできます PCI Express 準拠の場合は TXPOWERDOWN と RXPOWERDOWN を同時に使用す TXUSRCLK2/ る必要があります 非同期 00 : P0 ( 通常動作 ) 01 : P0s ( リカバリタイムが短い ) 10 : P1 ( リカバリタイムが長い レシーバ検出はオンの まま ) 11 : P2 ( 消費電力が最も低い状態 ) 入力 非同期 TXELECIDLE および TXPOWERDOWN が同期信号または非同期信号のいずれで処理されるかを決定します 最初の電源投入時および PCIe リセットが適用される場合には 送信レーンが電気的アイドル状態となる必要がある という PCIe 規格に準拠するためには このポートを使用できます 0 : TXELECIDLE と TXPOWERDOWN は 同期信号として処理される 1 : TXELECIDLE と TXPOWERDOWN は非同期信号として処理される TX レシーバ検出機能をサポートする属性はありません 104 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
105 TX OOB ( 帯域外 ) 信号 TX OOB ( 帯域外 ) 信号 機能の説明 GTP トランシーバは SATA (Serial ATA) 仕様で定義されている OOB (Out-of-Band) シーケンスの生成および PCI Express 仕様で定義されているビーコン信号の生成をサポートします SATA OOB 信号に対する GTP トランシーバのサポート機能には OOB 信号ステートのエンコードに必要なアナログ回路 および SATA COM シーケンスの OOB 信号のバーストを構成するステートマシンがあります また 各 GTP トランシーバは COM シーケンスのタイミングを TX ラインレートの分周設定に基づいて変更可能にすることで SATA のオートネゴシエーション機能をサポートします GTP トランシーバは PIPE (PHY Interface for the PCI Express) の仕様書に定義されるビーコン信号をサポートします ビーコンシーケンスは FPGA ロジックで制御されます ポートおよび属性 表 3-23 に TX OOB のポートを示します 表 3-23 : TX OOB のポートポート方向ドメイン説明 RXSTATUS[2:0] のデコードは RX_STATUS_FMT 設定に依存します RX_STATUS_FMT = PCIE の場合 : RXSTATUS0[2:0] RXSTATUS1[2:0] 出力 RXUSRCLK2 RXSTATUS は PCIe TXELECIDLE に使用されません RX_STATUS_FMT = SATA の場合 : RXSTATUS[0] : COM* シーケンスの送信完了 RXSTATUS[1] : COMWAKE 信号の受信 RXSTATUS[2] : COMRESET/COMINIT 信号の受信 TXCOMSTART0 TXCOMSTART1 入力 TXUSRCLK2 TXCOMTYPE で選択された COM* シーケンスの送信を開始します (SATA の場合のみ ) TXELECIDLE が High のときに TXCOMSTART を TXUSRCLK2 の 1 サイクル間アサートすると COM シーケンスの送信が開始されます TXCOMTYPE0 TXCOMTYPE1 入力 TXUSRCLK2 送信する COM 信号のタイプを選択します (SATA の場合のみ ) 0 : COMRESET/COMINIT 1 : COMWAKE TXELECIDLE0 TXELECIDLE1 入力 TXUSRCLK2/ 非同期 P2 パワーステートのとき 電気的アイドルまたはビーコン信号のいずれかを TX ペアに出力するかを制御します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 105
106 第 3 章 : トランスミッタ 表 3-23 : TX OOB のポート ( 続き ) ポート方向ドメイン説明 TXPDOWNASYNCH0 TXPDOWNASYNCH1 入力 非同期 TXELECIDLE および TXPOWERDOWN が同期信号または非同期信号のいずれで処理されるかを決定します 最初の電源投入時 および PCIe リセットが適用されるときに 送信レーンが電気的アイドル状態になる必要があるという PCIe 規格に準拠するには このポートを使用できます 0 : TXELECIDLE と TXPOWERDOWN は 同期信号として処理される 1 : TXELECIDLE と TXPOWERDOWN は非同期信号として処理される TXPOWERDOWN0[1:0] TXPOWERDOWN1[1:0] 入力 TXUSRCLK2/ 非同期 TX レーンの電源を切ります この入力は PCIe デザインでのみ使用されます 表 3-24 に TX OOB の属性を示します 表 3-24 : TX OOB/ ビーコン信号の属性 属性 種類 説明 COM_BURST_VAL_0 4 ビット この属性が COM シーケンスにおけるバースト数 COM_BURST_VAL_1 バイナリ を決定します PLL_SATA_0 PLL_SATA_1 PLL_TXDIVSEL_OUT_0 PLL_TXDIVSEL_OUT_1 ブール関数 整数 FALSE に設定します FALSE の場合 TX SATA は SATA Generation 1 (1.5Gb/s) レートで処理できます 各 GTP トランシーバの TX ラインレートの分周値を指定します 1 2 または 4 に設定できます GTP トランシーバは 4 つの信号モード (SATA 動作用に 3 つ PCI Express 動作用に 1 つ ) をサポートします これらの信号モードは同時に使用できません 106 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
107 第 4 章 レシーバ レシーバ (RX) の概要 本章では GTP レシーバにある各ファンクションブロックのコンフィギュレーションおよび使用方法について説明します 各 Spartan -6 FPGA GTP トランシーバには PCS と PMA を 1 個ずつ含む 1 個のレシーバがあります 図 4-1 に レシーバ (RX) のブロック図を示します ボード上のトレースからの高速シリアルデータは RX の PMA から PCS に入り 最終的に FPGA ロジックに送信されます X-Ref Target - Figure 4-1 From TX Parallel Data (Far-End PMA Loopback) To TX Parallel Data (Far-End PMA Loopback) To TX Parallel Data (Far-End PCS Loopback) PLL Pattern Checker Loss of Sync RX EQ RX OOB RX CDR Polarity Comma Detect and Align RX PIPE Control RX Status Control FPGA RX Interface Elastic Buffer SIPO 10B /8B RX-PMA RX-PCS UG386_c4_01_ 図 4-1 : GTP レシーバのブロック図 GTP レシーバは 次のようなエレメントで構成されています ページの RX アナログフロントエンド ページの RX OOB ( 帯域外 ) 信号 ページの RX イコライザ ページの RX CDR ページの RX クロック分周制御 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 107
108 第 4 章 : レシーバ ページの RX マージン解析 ページの RX 極性制御 ページの RX パターンチェッカ ページの RX バイトおよびワードアライメント ページの RX の LOS (Loss of Sync) ステートマシン ページの RX 8B/10B デコーダ ページの RX エラスティックバッファのバイパス ページの RX エラスティックバッファ ページの RX クロックコレクション ページの RX チャネルボンディング ページの FPGA RX インターフェイス RX アナログフロントエンド 機能の説明 RX アナログフロントエンド (AFE) は 高速電流モードの差動入力バッファであり 次のような機能があります 設定可能な RX 終端電圧 バイパス可能なオンチップカップリングキャパシタ コンフィギュレーション可能な終端レジスタ X-Ref Target - Figure 4-2 Board FPGA MGTAVTTRX ~100 nf nom pf nom. 50Ω RCV_TERM_VTTRX(0/1) RCV_TERM_GND(0/1) nom. 30 KΩ AC_CAP_DIS(0/1) MGTAVTTRX nom. 50Ω MGTAVTTRX 3/4 MGTAVTTRX nom. 30 KΩ ~100 nf GND nom pf UG386_c4_02_ 図 4-2 : RX AFE のブロック図 108 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
109 RX アナログフロントエンド ポートおよび属性 表 4-1 : RX AFE のポート 表 4-1 に RX AFE のポートを示します ポート方向 クロックドメイン 説明 RXN0 RXN1 RXP0 RXP1 入力 ( パッド ) RX シリアルクロック RXN(0/1) および RXP(0/1) は 差動受信出力ペアを構成します これらのポートは パッドを表しています 位置制約を適用して (30 ページの インプリメンテーション 参照 ) デザインのトップレベルで指定する必要があります 表 4-2 : RX アナログフロントエンドの属性 表 4-2 に RX アナログフロントエンドの属性を示します 属性 種類 説明 AC_CAP_DIS_0 AC_CAP_DIS_1 ブール関数 レシーバでビルトイン AC カップリングをバイパスします TRUE : ビルトイン AC カップリングキャパシタをバイパスする レシーバの DC カップリングは有効 FALSE : ビルトインの AC カップリングキャパシタを有効にする CM_TRIM_0[1:0] CM_TRIM_1[1:0] RCV_TERM_GND_0 RCV_TERM_GND_1 RCV_TERM_VTTRX_0 RCV_TERM_VTTRX_1 2 ビットバイナリ ブール関数 データレートまたはプロトコルに基づいて 外部 AC カップリングキャパシタを追加する必要がある場合の詳細は 第 5 章 ボードデザインのガイドライン を参照してください RX 終端コンビネーションの詳細は 使用モード RX 終端 を参照してください 同相モードの入力レベルを調整します これらのレベルは Spartan-6 FPGA GTP Transceiver Wizard で自動的に設定されます 受信部の終端ネットワークでグランドが参照されるようにします PCI Express デザインの場合 この属性のデフォルト設定は TRUE です そのほかのプロトコルの場合は FALSE に設定します TRUE : 受信終端でグランドが参照される FALSE : 受信終端でグランドが参照されない RX 終端コンビネーションの詳細は 使用モード RX 終端 を参照してください ブール関数レシーバ終端ネットワークで MGTAVTTRX が参照されるようにします PCI Express デザインの場合 この属性のデフォルト設定は FALSE です そのほかのプロトコルの場合は TRUE に設定します AC カップリングを使用する場合は FALSE に設定します TRUE : 受信終端で MGTAVTTRX が参照される FALSE : 受信終端で MGTAVTTRX が参照されない RX 終端コンビネーションの詳細は 使用モード RX 終端 を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 109
110 第 4 章 : レシーバ 表 4-2 : RX アナログフロントエンドの属性 ( 続き ) TERMINATION_CTRL_0[4:0] TERMINATION_CTRL_1[4:0] TERMINATION_OVRD_0 TERMINATION_OVRD_1 属性種類説明 5 ビットバイナリ 内部終端キャリブレーション回路を制御します ブール関数 MGTRREF ピンに接続された 50Ω の外部精密抵抗を使用するか TERMINATION_CTRL[4:0] で定義された値使用するかを選択します 使用モード RX 終端 表 4-3 : RX 終端電圧および属性 RCV_TERM_GND_0 RCV_TERM_GND_1 表 4-3 に RCV_TERM_GND および RCV_TERM_VTTRX で有効な設定を示します RCV_TERM_VTTRX_0 RCV_TERM_VTTRX_1 RX 終端電圧 FALSE FALSE 3/4 * MGTAVTTRX FALSE TRUE MGTAVTTRX TRUE FALSE GND TRUE TRUE 予約 / 未許可 110 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
111 RX アナログフロントエンド 表 4-4 : RX 終端の使用モデル 1 表 4-4 に 推奨される使用モデル 1 の RX 終端コンフィギュレーションを示し 図 4-3 に その図を示します 使用モード 外部 AC カップリング 終端電圧 内部 AC カップリング 内部バイアス 最大スイング mv DPP 推奨されるプロトコルおよび使用法 1 オン GND オン 900mV 1200 プロトコル : PCIe 属性設定 : AC_CAP_DIS_(0/1) = FALSE RCV_TERM_GND_(0/1) = TRUE RCV_TERM_VTTRX_(0/1) = FALSE X-Ref Target - Figure 4-3 Board FPGA MGTAVTTRX ~100 nf nom pf nom. 50Ω nom. 30 KΩ MGTAVTTRX nom. 50Ω 3/4 MGTAVTTRX nom. 30 KΩ ~100 nf GND GND nom pf UG386_c4_03_ 図 4-3 : RX 終端の使用モデル 1 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 111
112 第 4 章 : レシーバ 表 4-5 : RX 終端の使用モデル 2 表 4-5 に 推奨される使用モデル 2 の RX 終端コンフィギュレーションを示し 図 4-4 に その図を示します 使用モード 外部 AC カップリング 終端電圧 内部 AC カップリング 内部バイアス 最大スイング mv DPP 推奨されるプロトコルおよび使用法 2 オン MGTVTTRX オン 900mV 1200 プロトコル : バックプレーン ワイヤレス シリアル RapidIO DisplayPort (0.4/0.6/0.8V オプション ) 属性設定 : AC_CAP_DIS_(0/1) = FALSE RCV_TERM_GND_(0/1) = FALSE RCV_TERM_VTTRX_(0/1) = TRUE X-Ref Target - Figure 4-4 Board FPGA MGTAVTTRX ~100 nf nom pf nom. 50Ω nom. 30 KΩ MGTAVTTRX nom. 50Ω MGTAVTTRX 3/4 MGTAVTTRX nom. 30 KΩ ~100 nf nom pf UG386_c4_04_ 図 4-4 : RX 終端の使用モデル japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
113 RX アナログフロントエンド 表 4-6 : RX 終端の使用モデル 3 表 4-6 に 推奨される使用モデル 3 の RX 終端コンフィギュレーションを示し 図 4-5 に その図を示します 使用モード 外部 AC カップリング 終端電圧 内部 AC カップリング 内部バイアス 最大スイング mv DPP 推奨されるプロトコルおよび使用法 3 ON 3/4* MGTAVTTRX オフ 900mV 1600 プロトコル : Optical IF (SONET/SDH/OTU) SFP+ HD/SD-SDI XAUI (1600mVdpp) GbE DisplayPort (1.2V オプション ) 属性設定 : AC_CAP_DIS_(0/1) = TRUE RCV_TERM_GND_(0/1) = FALSE RCV_TERM_VTTRX_(0/1) = FALSE X-Ref Target - Figure 4-5 Board FPGA MGTAVTTRX ~100 nf nom pf nom. 50Ω nom. 30 KΩ MGTAVTTRX nom. 50Ω 3/4 MGTAVTTRX nom. 30 KΩ ~100 nf nom pf UG386_c4_05_ 図 4-5 : RX 終端の使用モデル 3 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 113
114 第 4 章 : レシーバ 表 4-7 : RX 終端の使用モデル 4 表 4-7 に 推奨される使用モデル 4 の RX 終端コンフィギュレーションを示し 図 4-6 に その図を示します 使用モード 外部 AC カップリング 終端電圧 内部 AC カップリング 内部バイアス 最大スイング mv DPP 推奨されるプロトコルおよび使用法 4 オフ MGTAVTTRX ON 900mV 1200 プロトコル : カスタム GTP-GTP チップ間インターフェイス属性設定 : AC_CAP_DIS_(0/1) = FALSE RCV_TERM_GND_(0/1) = FALSE RCV_TERM_VTTRX_(0/1) = TRUE 注 : これは ボード上の DC カップリングが可能となる TX 終端電圧が 1.2V の場合に推奨されます TX 終端電圧が 1.2V ではない場合は DC 電流に信号の歪みが生じます TX 終端電圧が 1.2V ではない SerDes とは インターオペラビリティに問題があるため バックプレーンには推奨されません X-Ref Target - Figure 4-6 Board FPGA MGTAVTTRX nom pf nom. 50Ω nom. 30 KΩ MGTAVTTRX nom. 50Ω MGTAVTTRX 3/4 MGTAVTTRX nom. 30 KΩ nom pf UG386_c4_06_ 図 4-6 : RX 終端の使用モデル japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
115 RX アナログフロントエンド 表 4-8 : RX 終端の使用モデル 5 表 4-8 に 推奨される使用モデル 5 の RX 終端コンフィギュレーションを示し 図 4-7 に その図を示します 使用モード 外部 AC カップリング 終端電圧 内部 AC カップリング 内部バイアス 最大スイング mv DPP 推奨されるプロトコルおよび使用法 5 オフ 3/4 * MGTAVTTRX/ GND オフ 900mV 1600 プロトコル : GPON 属性設定 : AC_CAP_DIS_(0/1) = TRUE RCV_TERM_GND_(0/1) = TRUE/FALSE RCV_TERM_VTTRX_(0/1) = FALSE 注 : 完全な DC モードです DC 同相モードの 2/3 MGTAVTRX (900mV) を得るには 外部にレベルシフトネットワークが必要な場合があります X-Ref Target - Figure 4-7 Board FPGA MGTAVTTRX External Termination Network nom pf nom. 50Ω nom. 30 KΩ MGTAVTTRX nom. 50Ω nom. 30 KΩ External Termination Network GND nom pf UG386_c4_07_ 図 4-7 : RX 終端の使用モデル 5 使用モード - 抵抗キャリブレーション オンチップ抵抗キャリブレーションの詳細は 176 ページの 終端抵抗キャリブレーション回路 を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 115
116 第 4 章 : レシーバ RX OOB ( 帯域外 ) 信号 機能の説明 GTP トランシーバは SATA (Serial ATA) 仕様で定義されている OOB (Out-of-Band) シーケンスのデコードおよび PCI Express 仕様で定義されているビーコン信号をサポートします SATA OOB 信号に対する GTP レシーバのサポート機能には OOB 信号ステートのデコードに必要なアナログ回路と SATA COM シーケンスの OOB 信号のバーストデータをデコードするためのステートマシンがあります また GTP レシーバは PIPE (PHY Interface for the PCI Express) 仕様で定義されているインターフェイス信号を使用して PCI Express 準拠のビーコン信号もサポートします ビーコン信号のシーケンスは FPGA ロジックでデコードされます ポートおよび属性 表 4-9 に RX OOB のポートを示します 表 4-9 : RX OOB のポートポート方向クロックドメイン説明 RXELECIDLE0 RXELECIDLE1 出力 非同期 RXN および RXP 間の差動電圧が 最小しきい値 (OOBDETECT_THRESHOLD) 未満に降下したことを示します こ のしきい値より下の信号が OOB 信号です 1 : OOB 信号が検出された 差動電圧が最小しきい値未満となる 0 : OOB 信号は検出されていない差動電圧は最小しきい値以上である このポートは PCI Express および SATA 規格専用です RXSTATUS0[2:0] RXSTATUS1[2:0] RXVALID0 RXVALID1 出力 RXUSRCLK2 RXSTATUS[2:0] は PCIe 規格専用であり PIPE 仕様に基づいて動 作します 出力 RXUSRCLK2 PIPE 仕様に基づいて シンボルがロックし RXDATA および RXCHARISK[3:0] 上のデータが有効になると この信号が High に駆 動されます 表 4-10 に RX OOB の属性を示します 表 4-10 : RX OOB の属性属性 種類 説明 OOB_CLK_DIVIDER_0 OOB_CLK_DIVIDER_1 整数 スケルチクロックのレートを設定します このクロックは 25MHz ~ 37.5MHz の範囲内で動作する必要があり SATA OOB 検出器を適切に動作させるには 可能な限り 25MHz に近いレートにしてください スケルチクロックレート = CLKIN/OOB_CLK_DIVIDER 有効な分周値は です 116 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
117 RX OOB ( 帯域外 ) 信号 表 4-10 : RX OOB の属性 ( 続き ) 属性 種類 説明 OOBDETECT_THRESHOLD_0 OOBDETECT_THRESHOLD_1 3 ビットバイナリ RXN および RXP 間の最小差動電圧を設定します 差動電圧がこのレベル未満に降下すると 入力信号は OOB 信号となります この 3 ビットにエンコードされた属性は OOB しきい値電圧の公称値 (1) を次のように指定します 値 OOB しきい値電圧の公称値 [mv] サポートされていない 110 ( デフォルト ) 105 RX_STATUS_FMT_0 RX_STATUS_FMT_1 文字列 使用するステータスエンコードを定義します PCIE : PCI Express エンコード SATA_BURST_VAL_0 SATA_BURST_VAL_1 SATA_IDLE_VAL_0 SATA_IDLE_VAL_1 SATA_MAX_BURST_0 SATA_MAX_BURST_1 SATA_MAX_INIT_0 SATA_MAX_INIT_1 SATA_MAX_WAKE_0 SATA_MAX_WAKE_1 SATA_MIN_BURST_0 SATA_MIN_BURST_1 SATA : SATA エンコード 3 ビットバイナリ COM の一致を宣言するために必要なバースト数 デフォルト値は 4 で COMINIT COMRESET および COMWAIT に対して SATA で指定されたバースト数です 3 ビットバイナリ COM の一致を宣言するために必要なアイドル数 各アイドル信号は COMINIT/COMRESET または COMWAIT のいずれかと同じ長さの OOB 信号です SATA 検出器が一方のタイプのアイドル ( たとえば COMRESET/COMINIT) のカウントを開始した場合 そのカウントはもう一方のタイプのアイドルを受信するとリセットされます デフォルト値は 3 で SATA 仕様に準拠します 整数スケルチクロックサイクルにおいて SATA 検出器がバーストを拒否する際のしきい値を設定します 有効な設定値は 1 ~ 61 ( デフォルトは 7) で SATA_MIN_BURST より大きい値となる必要があります 整数スケルチクロックサイクルにおいて SATA 検出器で許容可能な COMINIT/COMRESET アイドルの最大時間を設定します 有効な設定値は 1 ~ 61 ( デフォルトは 22) で SATA_MIN_INIT より大きい値となる必要があります 整数スケルチクロックサイクルにおいて SATA 検出器で許容可能な COMWAKE アイドルの最大時間を設定します 有効な設定値は 1 ~ 61 ( デフォルトは 7) で SATA_MIN_WAKE より大きい値となる必要があります 整数スケルチクロックサイクルにおいて SATA 検出器がバーストを拒否する際のしきい値を設定します 有効な設定値は 1 ~ 61 ( デフォルトは 4) で SATA_MAX_BURST より小さい値になる必要があります Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 117
118 第 4 章 : レシーバ 表 4-10 : RX OOB の属性 ( 続き ) 属性 種類 説明 SATA_MIN_INIT_0 SATA_MIN_INIT_1 整数 SATA の場合 OOB 信号は COMINIT COMRESET および COMWAKE でアイドルとして使用されます SATA の COMINIT/ COMRESET 信号で許容される最小のアイドル長は 304ns です アイドルが 175ns より短い場合 COMINIT/COMRESET では使用できません スケルチクロックサイクルにおいて SATA 検出器で許容可能な COMINIT/COMRESET アイドルの最小時間の設定に使用します SATA_MIN_WAKE_0 SATA_MIN_WAKE_1 RX イコライザ 機能の説明 整数 有効な設定値は 1 ~ 61 ( デフォルトは 12) で SATA_MAX_INIT より小さい値になる必要があります スケルチクロックは OOB_CLK_DIVIDER に基づいて設定されます SATA の場合 OOB 信号は COMINIT COMRESET および COMWAKE でアイドルとして使用されます SATA の COMWAKE 信号で許容される最小のアイドル長は 101ns です アイドルが 55ns より短い場合 COMWAKE では使用できません スケルチクロックサイクルに関して SATA 検出器で許容可能な COMWAKE アイドルの最小時間の設定に使用します 有効な設定値は 1 ~ 61 ( デフォルトは 4) で SATA_MAX_WAKE より小さい値になる必要があります スケルチクロックは OOB_CLK_DIVIDER に基づいて設定されます メモ : 1. OOV の公称値です 詳細は Spartan-6 FPGA データシート の OOB Specifications を参照してください RX には チャネルにおける高周波数の損失を補正するために 連続時間対応の受信イコライゼーション回路があります この連続時間対応の受信イコライゼーション回路は 高周波数による信号の歪みを補正してデザインの物理的チャネルの特定要件を満たすように調整できます この回路は 低周波数および高周波数で入力信号を増幅することができる 2 段階の増幅器です 複数チャネルに対応するために 4 つの周波数応答があります 118 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
119 RX イコライザ X-Ref Target - Figure db, RXEQMIX = db, RXEQMIX = Gain (db) db, RXEQMIX = db, RXEQMIX = 00 M1-20 1M 10M 100M 1G 10G 100G Frequency (Hz) UG386_c4_08_ 図 4-8 : 実際のゲイン ポートおよび属性 表 4-11 に RX イコライゼーションのポートを示します 表 4-11 : RX イコライゼーションのポート ポート方向 RXEQMIX0[1:0] RXEQMIX1[1:0] 表 4-12 : RX イコライゼーションの属性 クロックドメイン 表 4-12 に RX イコライゼーションの属性を示します 説明 入力 非同期 レシーバイコライゼーションを制御します デフォ ルト値は 2 b00 であり ユーザー指定可能です RXEQMIX[1:0] ゲイン (db) (1) メモ : 1. 公称値です 正確な値は Spartan-6 FPGA データシート を参照してください 属性種類説明 RXEQ_CFG_0[7:0] RXEQ_CFG_1[7:0] 8 ビットバイナリ RXEQ_CFG_0 RXEQ_CFG_1 説明 [7:3] リミッタ /EQAMP のゲインおよび電力制御です [2:0] リミッタ /EQAMP のゲインおよび電力制御です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 119
120 第 4 章 : レシーバ RX CDR 使用モード 連続時間対応の RX リニアイコライザ 高速周波数で高ゲインを得るモードは 高損失の ( 通常は長い ) チャネル用です RX イコライザの基本的な使用方法は 次のとおりです 1. 動作データレートを決定します 2. 1/2 データレートでのチャネル損失 (db) を決定します これは 測定された差動挿入損失 つ まり S パラメータデータです (Sdd21) 3. ゲイン値を示す図から適切な RXEQMIX の設定を選択します これらの結果に基づいて RXEQMIX の適切な設定を選択できます システムの分断や TX クロックのジッタなど リニアイコライザでは補正できない問題が生じるため 常にハードウェアでこれらの設定を検証する必要があります 例 機能の説明 データレート = 3.125Gb/s ( つまり 基本周波数は GHz) GHz でのチャネル損失は 6dB RXEQMIX[1:0] = 10 この設定は GHz で 6dB のゲイン補正が可能であるため 必要なゲインを提供できます 各 GTP トランシーバにある RX CDR ( クロックデータリカバリ ) 回路では 入力されたデータからリカバリクロックとデータが抽出されます 図 4-9 に CDR ブロックのアーキテクチャを示し 明確にするためにクロックパスも示しています X-Ref Target - Figure 4-9 Edge Sampler PI (E) Demux CDR FSM RXP/N RXEQ Data Sampler PI (D) Demux RXDATA RXRECCLK Local REFCLK RX PLL UG386_c4_09_ 図 4-9 : CDR の詳細図 GTP トランシーバでは 位相ローテータを搭載した CDR アーキテクチャを採用しています 入力されたデータは 最初にレシーバのイコライゼーションステージを通過します イコライズされたデータは エッジサンプラおよびデータサンプラで取り込まれます データサンプラで取り込まれたデータは ダウンストリームのトランシーバブロックへ転送されます 120 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
121 RX CDR CDR ステートマシンは エッジサンプラとデータサンプラの両方のデータを使用して入力データストリームの位相を判断し 位相補間 (PI) を制御します エッジサンプラの位相はデータストリームが変更する部分に位置し データサンプラの位相はデータアイの中央に位置します X-Ref Target - Figure 4-10 E 0 E 1 E 2 D 0 D 1 UG386_c4_10_ 図 4-10 : CDR サンプラの位置 RX PLL が位相補間 (PI) に基本クロックを提供します そして 位相補間が高精度で等間隔のサンプリング位相を生成することによって CDR ステートマシンの細かい位相制御が可能になります CDR ステートマシンは ローカル PLL リファレンスクロックから 一定の周波数オフセット値で ( 通常 ±1000PPM 以下 ) 入力データストリームをトラッキングできます ポートおよび属性 表 4-13 に RX CDR のポートを示します 表 4-13 : RX CDR のポート ポート方向 クロックドメイン 説明 RXCDRRESET[1:0] 入力 非同期 High になると CDR ロジックおよびこのチャネルに対する PCS の RX 部をリセットします この信号は RX PLL 周波数が変更するたびにアサートされる必要があります 表 4-14 に RX CDR の属性を示します 表 4-14 : RX CDR の属性 属性 種類 説明 CDR_PH_ADJ_TIME_0 CDR_PH_ADJ_TIME_1 5 ビットバイナリ 予約されています GTP Transceiver Wizard で推奨される値のみを使用してください この属性は 電気的アイドル状態のとき CDR 位相リセットがディアサートされてから PCI Express 動作のオプショナルリセットシーケンスが完了するまでの待機時間を示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 121
122 第 4 章 : レシーバ 表 4-14 : RX CDR の属性 ( 続き ) PLL_RXDIVSEL_OUT_0 PLL_RXDIVSEL_OUT_1 PMA_CDR_SCAN_0 PMA_CDR_SCAN_1 PMA_RX_CFG_0 PMA_RX_CFG_1 属性種類説明 RX_EN_IDLE_HOLD_CDR_0 RX_EN_IDLE_HOLD_CDR_1 RX_EN_IDLE_RESET_FR_0 RX_EN_IDLE_RESET_FR_1 RX_EN_IDLE_RESET_PH_0 RX_EN_IDLE_RESET_PH_1 整数 27 ビットの 16 進数 25 ビットの 16 進数 ブール関数 ブール関数 ブール関数 受信部の標準ラインレートを定義する分周値です 1 2 または 4 に設定できます RX Line Rate = RX PLL Clock * 2/PLL_RXDIVSEL_OUT 予約されています GTP Transceiver Wizard で推奨される値のみを使用してください 予約されています GTP Transceiver Wizard で推奨される値のみを使用してください PCI Express アプリケーション以外の場合は FALSE に設定します PCI Express 動作の場合 TRUE に設定すると 電気的アイドル状態のオプショナルリセットシーケンスの際に CDR が内部ステートを保持できます PCI Express アプリケーション以外の場合は FALSE に設定します PCI Express 動作の場合 TRUE に設定すると 電気的アイドル状態のオプショナルリセットシーケンスの際に CDR 周波数の自動リセット機能が有効になります PCI Express アプリケーション以外の場合は FALSE に設定します PCI Express 動作の場合 TRUE に設定すると 電気的アイドル状態のオプショナルリセットシーケンスの際に CDR 位相の自動リセット機能が有効になります RX クロック分周制御 機能の説明 RX クロック分周制御ブロックは 2 つのコンポーネント ( シリアルクロック分周制御およびパラレルクロック分周制御 ) で構成されています 図 4-11 に GTP0 トランシーバのクロック分周器を示します GTP1 トランシーバの構造は GTP0 トランシーバと同様です 122 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
123 RX クロック分周制御 X-Ref Target - Figure 4-11 GTP0 Transceiver RXP/N RX PMA Phase Interp PISO RXDATA RX PCS RXDATA for Downstream PCS Blocks /D {1,2,4} /4 or /5 Parallel Clock for Downstream PCS Blocks RXRECCLK0 GTPCLKOUT0[1] PLL1 (1) PLL0 REFCLKPLL Can be output to FPGA logic via GTPCLKOUT0[0] REFCLK Sel REFCLK Distribution MGT REFCLK IBUFDS O Notes: 1. PLL1 resides in the GTP1 portion of the same GTPA1_DUAL block. It can be used in place of PLL0 for low-power operation. UG386_c4_11_ シリアルクロック分周器 図 4-11 : RX シリアルおよびパラレルクロック分周器の詳細図 レシーバの各 PMA モジュールには 低いラインレートをサポートするために PLL からのクロックを分周する分周器 (D) があります この分周器は PLL_RXDIVSEL_OUT 属性で設定され DRP ポートを使用して動的に変更できます 表 4-15 に シリアル分周器の制御を示します 表 4-15 : RX PLL 出力分周器の設定 ラインレート範囲 (GHz) 分周器 (D) の値 属性設定 ~ PLL_RXDIVSEL_OUT = ~ PLL_RXDIVSEL_OUT = ~ PLL_RXDIVSEL_OUT = 4 メモ : 1. 正確なラインレート範囲は Spartan-6 FPGA データシート を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 123
124 第 4 章 : レシーバ パラレルクロック分周器 FPGA ロジックにはリカバリクロックが提供されます リカバリクロックは クロック補正機能がないプロトコルにおいて データに同期したクロックをダウンストリームの FPGA ロジックへ提供する場合に使用されます レシーバのパラレルクロック分周ブロックが GTPCLKOUT[1] ポートを介して FPGA ロジックへ 1 バイト幅のリカバリクロックを出力します 周波数は INTDATAWIDTH の値に基づいて 8 または 10 で分周されたラインレートとなります ポートおよび属性 表 4-16 : RX クロック分周制御のポート ポート方向 GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] INTDATAWIDTH0 INTDATAWIDTH1 RXRECCLK0 RXRECCLK1 表 4-16 に RX クロック分周制御のポートを示します クロックドメイン 出力 N/A GTPA1_DUAL タイルから FPGA ロジックへクロックを供給する場合は GTPCLKOUT(0/1) ポートを使用することを推奨します 説明 GTPCLKOUT(0/1) のビット 0 によって ユーザーが TXOUTCLK(0/1) または REFCLKPLL(0/1) のいずれかの出力を有効にできます CLK_OUT_GTP_SEL_(0/1) が出力クロックを選択します GTPCLKOUT(0/1) のビット 1 は RXRECCLK(0/1) を出力します 入力 非同期 このポートは 同じ GTP レーンの TX および RX データパス用の内部データパス幅およびパラレルクロック分周器の値を指定します 0 : 内部データパスは 8 ビット幅 パラレルクロック分周値は 4 1 : 内部データパスは 10 ビット幅 パラレルクロック分周値は 5 INTDATAWIDTH は PLL フィードバック分周器 N1 も制御するため GTPA1_DUAL タイル内の 2 つのレーンが同じ PLL を共有している場合は 両方のレーンの INTDATAWIDTH が同じ値に設定される必要があります 出力 N/A 予約されています 代わりに GTPCLKOUT(0/1)[1] を使用してください 表 4-17 に RX CDR の属性を示します 表 4-17 : RX CDR の属性 属性 種類 説明 PLL_RXDIVSEL_OUT 整数 RX シリアルクロック分周器の設定を制御して 低いライ ンレートをサポートします (123 ページの表 4-15 参照 ) 有効な設定は次のとおりです 1 : D の分周値は 1 2 : D の分周値は 2 4 : D の分周値は japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
125 RX マージン解析 RX マージン解析 機能の説明 ラインレートが増加し チャネル減衰が悪化するにしたがって RX イコライザを多用してこれらを補正する必要があります このとき 遠端のリンク状態はアイダイアグラムでは判断できないため システムデバッグには課題が生じます 高ラインレートの場合 PCB 上のレシーバでのアイパターンは RX イコライザが有効の場合であっても完全に閉じた状態になってしまいます RX CDR ブロックには イコライザ後にレシーバでのアイマージンを測定するための診断メカニズムが含まれています 水平方向のアイマージンスキャン 通常動作の場合 データサンプラの位相には エッジサンプラから一定のオフセット値 (0.5UI) があるため データサンプラはデータアイの中央に位置します 水平方向のアイマージンスキャンモードの場合 データサンプラとエッジサンプラ間のオフセット値は PMA_CDR_SCAN_0 または PMA_CDR_SCAN_1 属性で調整します ( 図 4-12 参照 ) CDR のステートマシンが正常動作する限りは スキャンされたマージンが レシーバのイコライザ機能と CDR 機能を両方使用する実際のレシーバマージンとなります X-Ref Target - Figure 4-12 Edge Sampler PI (E) Demux CDR FSM RXP/N RXEQ Data Sampler PI (D) Demux PMA_CDR_SCAN[6:0] RXDATA RXRECCLK Local REFCLK RX PLL UG386_c4_12_ 図 4-12 : 水平方向のアイマージンスキャンの詳細 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 125
126 第 4 章 : レシーバ 図 4-13 に示すように データサンプリングの位相がエッジへ近づくにしたがって 受信したユーザーデータのビットエラー率が増加します X-Ref Target - Figure 4-13 E 0 D 0 E 1 PMA_CDR_SCAN[6:0] BER 1e -6 1e -8 1e -10 1e -12 Internal Eye Opening UG386_c4_12_ 図 4-13 : データサンプリングの位置とビットエラー率の関係 この測定モードは データサンプリング位置に対するオフセットを物理的に示しただけであり 実際の測定値やビットエラー率を表しているわけではありません これらのファンクションは FPGA ユーザーロジックまたはユーザーソフトウェアのいずれかにインプリメントされる必要があります また スキャンモードは ラインレートが最も高い設定 (PLL_RXDIVSEL_OUT = 1) の場合のみ有効です このモードは サンプリング位置が適切でないために受信データにエラーが生じた際に 診断目的としてのみ使用することを推奨します ポートおよび属性 表 4-18 に RX マージン解析のポートを示します 表 4-18 : RX マージン解析のポート ポート方向 クロックドメイン 説明 RXDATA[31:0] 出力 RXUSRCLK2 リンクのビットエラー率をモニタするため ユー ザーが RXDATA に出力されるデータエラーを検 出する必要があります 126 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
127 RX 極性制御 表 4-19 に RX マージン解析の属性を示します 表 4-19 : RX マージン解析の属性 属性 種類 説明 PMA_CDR_SCAN_0[7:0] PMA_CDR_SCAN_1[7:0] 8 ビットの 16 進数 CDR サンプリングポイントを制御します 属性値を 8 h00 ~ 8 h7f (10 進数の場合は 0 ~ 127) で指定して ユニット内の左端から右端までの間におけるサンプリングポイントを調整します ビット 7 は常に 0 に設定されます RX 極性制御 機能の説明 ポートおよび属性 GTP RX では RX の極性制御機能を使用して入力データを反転できます この機能は 誤って RXP および RXN 信号が逆に接続される可能性のあるデザインに効果的です 入力データの極性を反転させるには RXPOLARITY ポートを High に駆動してください 表 4-20 に RX 極性制御のポートを示します 表 4-20 : RX 極性制御のポート ポート方向 RXPOLARITY0 RXPOLARITY1 RX 極性制御の属性はありません クロックドメイン 説明 入力 RXUSRCLK2 入力データの極性の反転には RX の極性ポートが使 用されます 0 : 反転しない RXP は正 RXN は負 1 : 反転する RXP は負 RXN は正 RX 極性制御の使用 RXP/RXN の極性を反転させる必要がある場合は RXPOLARITY を High に接続してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 127
128 第 4 章 : レシーバ RX パターンチェッカ 機能の説明 GTP レシーバには PRBS チェッカが内蔵されています このチェッカは 業界標準の 4 つの PRBS パターンのうち 1 つをチェックするように設定できます チェッカは自己同期タイプであり カンマアライメントまたはデコード実行より前の段階で入力データに対して実行します この機能を利用して チャネルのシグナルインテグリティを検証できます X-Ref Target - Figure 4-14 PRBS-7 Pattern Checker Error Error Counter (16 bits) RX_PRBS_ERR_CNT PRBS-15 Pattern Checker PRBS-23 Pattern Checker RXPRBSERR PRBS-31 Pattern Checker Polarity Inversion SIPO RXENPRBSTST RXDATA UG386_c4_14_ 図 4-14 : RX パターンジェネレータのブロック図 ポートおよび属性 表 4-21 : パターンチェッカのポート PRBSCNTRESET0 PRBSCNTRESET1 ポート方向 RXENPRBSTST0[2:0] RXENPRBSTST1[2:0] RXPRBSERR0 RXPRBSERR1 表 4-21 に パターンチェッカのポートを示します クロックドメイン 説明 入力 RXUSRCLK2 PRBS エラーカウンタをリセットします 入力 RXUSRCLK2 レシーバの PRBS チェッカのテストパターンを制御します 有効な値は次のとおりです 000 : 標準動作モード (PRBS チェックはオフ ) 001 : PRBS : PRBS : PRBS : PRBS-31 PRBS 以外のパターンに対してチェックは実行されません PRBS チェッカは 現サイクルからのデータを使用して 次のサイクルの予想データを生成するため シングルエラーが PRBS のバーストエラーとなって生じます 出力 RXUSRCLK2 PRBS エラーが発生したことを示すステータス出力です 128 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
129 RX バイトおよびワードアライメント 表 4-22 : パターンチェッカの属性 表 4-22 に パターンチェッカの属性を示します 属性 種類 説明 RX_PRBS_ERR_CNT_0 16 ビットバイナリ PRBS エラーカウンタこのカウンタは PRBSCNTRESET のア RX_PRBS_ERR_CNT_1 サートでリセットされます 入力されるパラレル データにエ ラーがあると このカウンタが 1 つインクリメントします ( 最大 0xFFFF までカウント可能 ) この属性は DRP ポートでのみ使 用可能です GTP トランシーバ 0 の場合は DRP アドレス 82h GTP トランシーバ 1 の場合は DRP アドレス C2h で このカウ ンタを読み出すことが可能です RXPRBSERR_LOOPBACK_0 RXPRBSERR_LOOPBACK_1 1 ビットバイナリ 1 の場合 RXPRBSERR ビットが同じ GTP トランシーバの TXPRBSFORCEERR へ内部ループバックします これによって データのクロックドメイン交差を懸念せずに 同期および非同期ジッタ耐性テストが可能になります 0 の場合 TXPRBSFORCEERR が TX PRBS に対応します 使用モデル 内蔵されている PRBS チェッカを使用するには レシーバに送信された PRBS パターンと一致するように RXENPRBSTST を設定します RXENPRBSTST の有効な設定は 表 4-21 を参照してください PRBS チェッカは 有効の場合に入力データ内にある特定の PRBS パターンを検索します 入力データがトランスミッタまたは反転 RXP/RXN で反転される場合は 受信データも RXPOLARITY を使用して反転する必要があります この設定をしなければ PRBS チェッカがロックしません パターンが検出されると 入力パターンと予想パターンの比較によって PRBS エラーを検出できます 予想パターンは 前のサイクルで入力されたデータに基づいて生成されます チェッカはエラーワード数 ( 各ワードに 20 ビット ) をカウントし 入力されるパラレルデータにエラーが 1 つ検索されるごとにワードエラーカウンタが 1 つインクリメントします つまり 入力されるパラレルデータに 2 ビット以上のエラーがある場合は ワードエラーカウンタの値と実際のビットエラー数は一致しません エラーカウンタは 0xFFFF に到達するとカウントを停止します エラーが生じると RXPRBSERR がアサートされます そして次の入力データにエラーが含まれていなければ RXPRBSERR はクリアされます PRBSCNTRESET がアサートされるとエラーカウンタがクリアされます また GTPRESET RXCDRRESET および RXRESET もカウントをリセットします 使用モデルの詳細は 93 ページの TX パターンジェネレータ を参照してください RX バイトおよびワードアライメント 機能の説明 シリアルデータをパラレルデータとして使用できるようにするには データをシンボルバウンダリに揃える必要があります このアライメントを実行するため トランスミッタは通常カンマと呼ばれる識別可能なシーケンスを送信します レシーバは 入力データ内でカンマを検索します レシーバでカンマを検出して カンマをバイトバウンダリに移動すると 受信したパラレルワードが送信されたパラレルワードと一致します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 129
130 第 4 章 : レシーバ 図 4-15 に 10 ビットカンマのアライメントを示します TX のパラレルデータは左側にあります カンマを含むシリアルデータは 中央でハイライトしています RX が受信するアラインされていないビットデータは右側にあります X-Ref Target - Figure 4-15 Stream of Serial Data All Subsequent Data Aligned to Correct Byte Boundary Alignment Block Finds Comma Transmitted First UG386_c4_15_ 図 4-15 : カンマアライメントの詳細図 (10 ビットカンマのアライメント ) 図 4-16 では TX のパラレルデータが左側にあり 識別可能なパラレルデータを受信している RX が右側にあります X-Ref Target - Figure 4-16 TX Parallel Data RX Parallel Data Data0 Non-aligned Data Comma Comma Time Data1 Data1 Data2 Data2 GTP トランシーバには 特定のカンマを多様なバイトバウンダリに揃えるようにプログラムしたり 属性設定 ( 図 4-16 参照 ) を使用して手動でデータを揃えるアライメントブロックが含まれています このブロックが不要な場合は バイパスしてレイテンシを削減できます カンマアライメントの有効化 図 4-16 : カンマアライメントのパラレルデータ図 UG386_c4_16_ カンマアライメントブロックを有効にするには RXCOMMADETUSE ポートを High に駆動します RXCOMMADETUSE を Low に駆動すると ブロックをバイパスしてレイテンシを最小限に抑えることができます 130 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
131 RX バイトおよびワードアライメント カンマパターンの設定 ブロックが入力データストリーム内で検索するカンマパターンを設定するには MCOMMA_10B_VALUE PCOMMA_10B_VALUE および COMMA_10B_ENABLE 属性を使用します 図 4-17 に COMMA と COMMA_ENABLE の組み合わせによって 20 ビットの内部カンマのワイルドカードカンマが構成される図を示します X-Ref Target - Figure 4-17 MCOMMA_10B_VALUE or PCOMMA_10B_VALUE Pattern required for comma detection (x = don t care) xxx COMMA_10B_ENABLE UG386_c4_17_ カンマアライメントの有効化 カンマアライメントが有効なときにカンマが検出されると 最も近接したバウンダリに揃えられます MCOMMA パターンに揃えるには RXENMCOMMAALIGN を High に駆動し PCOMMA パターンに揃えるには RXENPCOMMAALIGN を High に駆動します両方のイネーブルポートが駆動され いずれかのパターンに揃えます アライメントステータス信号 MCOMMA または PCOMMA アライメントが有効の間 ブロックはカンマパターン一致機能により 最も近いバウンダリに再び揃えられます アライメントが適切に完了すると ブロックでは RXBYTEISALIGNED が High に保持されます この時点で RXENMCOMMAALIGN および RXENPCOMMAALIGN を Low に駆動してアライメントをオフにすると 回路アライメントの状態を維持できます RXBYTEISALIGNED を High にするには PCOMMA に対する PCOMMA_ALIGN を TRUE に設定する必要があり 同様に MCOMMA に対する MCOMMA_ALIGN を TRUE に設定する必要があります カンマは RXBYTEISALIGNED が High の間に到達できます カンマがバウンダリに揃えられて到達する場合 変更はありません カンマがずれた位置に到達すると ブロックが RXBYTEISALIGNE をディアサートし 再びカンマが揃うまでディアサートされた状態が保持されます 到達したカンマに対してアライメントが有効のままのとき ブロックは自動的に新しいカンマを最も近接するバウンダリに揃えて RXUSRCLK2 の 1 サイクル間 RXBYTEREALIGN を High に駆動します アライメントバウンダリ 図 4-17 : カンマパターンのマスク アライメントで有効なバウンダリは ALIGN_COMMA_WORD で定義されます 有効なバウンダリの間隔は RXDATAWIDTH で指定され 有効なバウンダリ位置の数は RXDAT インターフェイスのバイト数によって決定されます (RX_DATA_WIDTH の設定は 166 ページの FPGA RX インターフェイス を参照 ) 図 4-15 に 選択可能なバウンダリを示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 131
132 第 4 章 : レシーバ X-Ref Target - Figure 4-18 RXDATAWIDTH ALIGN_COMMA_WORD Possible RX Alignments (Grey = Comma Can Appear on Byte) 0 (1-byte) 1 (Any Boundary) RXDATA Byte 0 0 (1-byte) 2 (Even Boundary Only) Invalid Configuration 1 (2-byte) 1 (Any Boundary) RXDATA Byte 1 RXDATA Byte 0 1 (2-byte) 2 (Even Boundaries Only) RXDATA Byte 1 RXDATA Byte 0 2 (4-byte) 1 (Any Boundariy) RXDATA Byte 3 RXDATA Byte 2 RXDATA Byte 1 RXDATA Byte 0 2 (4-byte) 2 (Even Boundaries Only) RXDATA Byte 3 RXDATA Byte 2 RXDATA Byte 1 RXDATA Byte 0 UG386_c4_18_ 図 4-18 : カンマアライメントバウンダリ ポートおよび属性 表 4-23 に RX カンマアライメントおよびカンマ検出のポートを示します 表 4-23 : RX カンマアライメントおよびカンマ検出のポート ポート方向 RXBYTEISALIGNED0 RXBYTEISALIGNED1 クロックドメイン 出力 RXUSRCLK2 この信号は カンマ検出回路およびリアライメント回路から出力される信号であり カンマ検出に従って パラレルデータストリームがバイトバウンダリに適切に揃えられているときに High になります 0 : パラレルデータストリームがバイトバウンダリに揃えられていない 1 : パラレルデータストリームがバイトバウンダリに揃えられている 説明 揃えられたデータが FPGA RX インターフェイスで有効になるには RXBYTEISALIGNED がアサートされてから数サイクル後となります PCOMMA_ALIGN = TRUE のとき RXBYTEISALIGNED は正のカンマアライメントに応答し MCOMMA_ALIGN = TRUE のときは負のカンマアライメントに応答します 132 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
133 RX バイトおよびワードアライメント 表 4-23 : RX カンマアライメントおよびカンマ検出のポート ( 続き ) RXBYTEREALIGN0 RXBYTEREALIGN1 RXCOMMADET0 RXCOMMADET1 RXCOMMADETUSE0 RXCOMMADETUSE1 RXENMCOMMAALIGN0 RXENMCOMMAALIGN1 RXENPCOMMAALIGN0 RXENPCOMMAALIGN1 RXSLIDE0 RXSLIDE1 ポート方向 クロックドメイン 説明 出力 RXUSRCLK2 この信号は カンマ検出回路およびリアライメント回路からの出力される信号であり カンマ検出によって シリアルデータストリーム内のバイトアライメントが変更されたかを示します 0 : バイトアライメント変更なし 1 : バイトアライメント変更あり アライメントが起こるとデータが失われる場合があり これにより データエラー ( および 8B/10B デコーダの使用時はディスパリティエラー ) が発生する可能性があります 出力 RXUSRCLK2 カンマアライメントブロックでカンマが検出されると アサートされます この信号は FPGA RX インターフェイスでカンマが使用可能となる数サイクル前にアサートされます 0 : カンマは検出されていない 1 : カンマが検出された 入力 RXUSRCLK2 RXCOMMADETUSE は カンマ検出回路およびアライメント回路の使用を制御します 0 : 回路をバイパスする 1 : カンマ検出回路およびアライメント回路を使用するカンマおよびアライメント回路をバイパスする場合 RX データパスのレイテンシが削減されます 入力 RXUSRCLK2 負のカンマが検出された場合に バイトバウンダリを揃えます 0 : 無効 1 : 有効 入力 RXUSRCLK2 正のカンマが検出された場合に バイトバウンダリを揃えます 0 : 無効 1 : 有効 入力 RXUSRCLK2 RXSLIDE は カンマアライメントのバンプ制御をインプリメントします 1 : RXSLIDE がアサートされると バイトアライメントが 1 ビットずつ調整され FPGA ロジックによるバイトアライメントの決定および制御が可能になる 1 回の RXSLIDE アサートでは 1 ビットのみが調整されます RXSLIDE がアサートされている間は 通常のカンマアライメントより RXSLIDE が優先される 0 : RXSLIDE を再度アサートして別の調整を行うには RXSLIDE を RXUSRCLK2 の 2 サイクル間ディアサートする必要がある Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 133
134 第 4 章 : レシーバ 表 4-24 : RX カンマアライメントの属性 表 4-24 に RX カンマアライメントの属性を示します 属性 種類 説明 ALIGN_COMMA_WORD_0 ALIGN_COMMA_WORD_1 整数 この属性は マルチバイトのデータパスで検出されたカンマのアライメントを制御します 1 : 2 バイトデータパス内のいずれかのバイトにカンマを揃える 2 バイトの RX インターフェイスを選択した場合 カンマは FPGA で RXDATA の偶数バイト [9:0] または奇数バイト [19:10] のいずれかに揃えることができる 2 : 2 バイトデータパス内のいずれかのバイトにカンマを揃える 揃えられたカンマは 確実にバイト RXDATA [9:0] に揃る ALIGN_COMMA_WORD = 2 で エラスティックバッファを併用する場合は CLK_COR_ADJ_LEN と CLK_COR_MIN_LAT を同じにすること COMMA_10B_ENABLE_0 COMMA_10B_ENABLE_1 MCOMMA_10B_VALUE_0 MCOMMA_10B_VALUE_1 MCOMMA_DETECT_0 MCOMMA_DETECT_1 PCOMMA_10B_VALUE_0 PCOMMA_10B_VALUE_1 PCOMMA_DETECT_0 PCOMMA_DETECT_1 RX_SLIDE_MODE_0 RX_SLIDE_MODE_1 10 ビットバイナリ 10 ビットバイナリ ブール関数 10 ビットバイナリ ブール関数 文字列 カンマを偶数および奇数位置に送信するプロトコルでは ALIGN_COMMA_WORD を 1 に設定してください RXDATAWIDTH が Low に駆動される場合は ALIGN_COMMA_WORD を 1 に設定する必要があります 入力データに一致する必要がある MCOMMA/PCOMMA のビットに対して設定します この属性は 10 ビットのマスクビットで デフォルト値は です 0 にリセットされたマスクビットによって MCOMMA または PCOMMA の対応するビットが don t care ビットとして処理されます RXCOMMADET を High にし パラレルデータを揃える場合の負のカンマを定義します 受信順は右から左です (MCOMMA_10B_VALUE[0] が先に受信される ) デフォルト値は (K28.5) です この定義は 8B/10B エンコードまたはデコードに影響しません 負のカンマで RXCOMMADET の High 駆動を制御します FALSE : 負のカンマが検出される場合に RXCOMMADET を High 駆動しない TRUE : 負のカンマが検出される場合に RXCOMMADET を High 駆動する この設定は カンマアライメントには影響しない RXCOMMADET を High にし パラレルデータを揃えるため 正のカンマを定義します 受信順は右から左です (PCOMMA_10B_VALUE[0] が先に受信される ) デフォルト値は (K28.5) です この定義は 8B/10B エンコードまたはデコードに影響しません 正のカンマで RXCOMMADET の High 駆動を制御します FALSE : 正のカンマが検出される場合に RXCOMMADET を High 駆動しない TRUE : 正のカンマが検出される場合に RXCOMMADET を High 駆動する この設定は カンマアライメントには影響しない PMA または PCS の選択を制御します 有効な値は PCS ( デフォルト ) と PMA です 134 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
135 RX の LOS (Loss of Sync) ステートマシン RX の LOS (Loss of Sync) ステートマシン 機能の説明 一部の 8B/10B プロトコルでは 標準的な LOS ステートマシンを利用してチャネルにおけるエラーの発生を検出します それぞれの GTP レシーバには 必要なときにアクティブにできる LOS ステートマシンが含まれます ステートマシンを使用しない場合は LOS ステートマシンのポートを入力データの状態をモニタするためのポートとして使用できます 図 4-19 に XAUI など一部の 8B/10B プロトコルで 入力データストリームにおけるエラーの検出に使用される標準的な LOS ステートマシンを示します X-Ref Target - Figure 4-19 Count < RX_LOS_THRESHOLD SYNC_ACQUIRED 00 Valid Data + 4 RXRECCLK Cycles Count = RX_LOS_THRESHOLD Channel Alignment or Comma Realignment Invalid Data Valid Data + < 4 RXRECCLK Cycles No Comma Received RESYNC LOSS_OF_SYNC Comma Received UG386_c4_19_ 図 4-19 : LOS ステートマシン GTP トランシーバの LOS ステートマシンをアクティブにするには RX_LOSS_OF_SYNC_FSM を TRUE に設定します ステートマシンが有効のときは RXLOSSOFSYNC ポートに現在のステートが示されます LOS ステートマシンが非アクティブ (RX_LOSS_OF_SYNC_FSM = FALSE) の場合 RXLOSSOFSYNC ポートには受信データの情報が示されます この場合の RXLOSSOFSYNC ポートについては 表 4-25 の RXLOSSOFSYNC の項目で説明しています LOS ステートマシンの動作は RX_LOS_INVALID_INCR および RX_LOS_THRESHOLD 属性を使用して調整できます RX_LOS_THRESHOLD は 強制的に SYNC_ACQUIRED ステートを LOSS_OF_SYNC ステートにするのに必要なキャラクタ数を調整することにより LOS ステートマシンが不正なキャラクタに対してどの程度敏感に対応するかを調節します この属性の有効な設定は 表 4-26 の RX_LOS_THRESHOLD の項目を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 135
136 第 4 章 : レシーバ LOS ステートマシンによって SYNC_ACQUIRED ステートにおけるエラー数が時間の経過と共に減少し 最終的にはゼロになります 表 4-26 で説明するように エラー数が減少する比率は RX_LOS_INVALID_INCR 属性で指定されます ポートおよび属性 表 4-25 : RX の LOS ステートマシンのポート ポート方向 RXLOSSOFSYNC0[1:0] RXLOSSOFSYNC1[1:0] 表 4-25 に RX の LOS ステートマシンのポートを示します クロックドメイン 出力 RXUSRCLK2 バイトストリームの同期に関連した FPGA のステータスです RX_LOSS_OF_SYNC_FSM 属性のステートよって決定します RX_LOSS_OF_SYNC_FSM = TRUE のとき 次のように 内部 Lossof-Sync FSM のステートを示します 説明 [1] = 1 : 無効なキャラクタシーケンスまたはリセットシーケンスにより 同期が失われている [0] = 1 : チャネルボンディングシーケンスまたはリアライメントによる同期状態である RX_LOSS_OF_SYNC_FSM = FALSE のとき 次のように 入力データの情報を示します [1] = 1 : 受信データが 8B/10B キャラクタではない またはディスパリティエラーが発生している [0] = 1 : データでチャネルボンディングシーケンスを検出 表 4-26 : RX の LOS ステートマシンの属性 表 4-26 に RX の LOS ステートマシンの属性を示します 属性 種類 説明 RX_LOS_INVALID_INCR_0 整数 LOS を確定するため 無効キャラクタを 1 つ相殺するときに要する有効なキャ RX_LOS_INVALID_INCR_1 ラクタ数を定義します 有効な設定値は および 128 です RX_LOS_THRESHOLD_0 RX_LOS_THRESHOLD_1 RX_LOSS_OF_SYNC_FSM_0 RX_LOSS_OF_SYNC_FSM_1 整数 整数 RX_LOS_INVALID_INCR_(0/1) で分周する場合 FSM を LOS ステートに移行させるために必要な無効なキャラクタ数を定義します 有効な設定値は および 512 です RX_LOSS_OF_SYNC_FSM は RXLOSSOFSYNC[1:0] 出力の動作を定義します FALSE ( デフォルト ) : 8B/10B デコードで無効なデータ (Out-of-Table エラーまたはディスパリティエラーではない ) が検出されると RXLOSSOFSYNC[1] が High になる チャネルボンディングシーケンスが RX エラスティックバッファに書き込まれると RXLOSSOFSYNC[0] が High になる TRUE : Loss of Sync FSM が動作中で ステートは RXLOSSOFSYNC[1] に反映される 136 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
137 RX 8B/10B デコーダ RX 8B/10B デコーダ 機能の説明 多くのプロトコルでは レシーバで 8B/10B データのデコードが必要とされています 8B/10B は業界標準のエンコード方法で パフォーマンスを向上させるため 1 バイトに対して追加 2 ビットのオーバーヘッドが加担されます GTP トランシーバには 8B/10B デコーダが内蔵されているため FPGA のリソースを使用することなく RX データをデコードできます デコーダには エラーおよび制御シーケンスの入力を制御するシーケンスのステータス信号が含まれます デコードが不要な場合は ブロックをディスエーブルにしてレイテンシを最小にできます 8B/10B デコーダでのビットおよびバイト順 8B/10B ではビット a0 を最初に受信する必要がありますが GTP トランシーバでは常に最も右にあるビットが最初に受信されます したがって 8B/10B デコーダは デコード前に受信データのビット順を自動的に反転させるよう設計されています 2 バイトインターフェイスを使用する場合 GTP トランシーバでは右側にあるビットが先に受信されるため 受信した最初のバイト ( バイト 0) が RXDATA[7:0] に現れ 2 番目のバイトは RXDATA[15:8] に現れます 同様に 4 バイトインターフェイスを使用する場合 受信した最初のバイトが RXDATA[23:16] に現れ 4 番目のバイトは RXDATA[31:24] に現れます 図 4-20 に デコーダが 10 ビットデータを 8 ビット値に割り当てるプロセスを示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 137
138 第 4 章 : レシーバ X-Ref Target - Figure 4-20 RXDATAWIDTH = 1 RXDATAWIDTH = 0 H 1 G 1 F 1 E 1 D 1 C 1 B 1 A 1 H 0 G 0 F 0 E 0 D 0 C 0 B 0 A 0 H 0 G 0 F 0 E 0 D 0 C 0 B 0 A 0 RXDATA B/10B 8B/10B j 1 h 1 g 1 f 1 i 1 e 1 d 1 c 1 b 1 a 1 j 0 h 0 g 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 j 0 h 0 g 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 Received Last Received First Received Last Received First RXDATAWIDTH = 2 H3 G3 F3 E3 D3 C3 B3 A3 H2 G2 F2 E2 D2 C2 B2 A2 H1 G1 F1 E1 D1 C1 B1 A1 H0 G0 F0 E0 D0 C0 B0 A0 RXDATA B/10B j 3 h 3 g 3 f 3 i 3 e 3 d 3 c 3 b 3 a 3 j 2 h 2 g 2 f 2 i 2 e 2 d 2 c 2 b 2 a 2 j 1 h 1 g 1 f 1 i 1 e 1 d 1 c 1 b 1 a 1 j 0 h 0 g 0 f 0 i 0 e 0 d 0 c 0 b 0 a 0 Received Last Received First UG386_c4_20_ 図 4-20 : 8B/10B デコードを行う RX インターフェイス K キャラクタおよび 8B/10B カンマ 8B/10B テーブル ( 付録 A 参照 ) には ファンクション制御に頻繁に使用される特殊文字 (K キャラクタ ) が含まれます RXDATA が K キャラクタの場合 デコーダは RXCHARISK を High に駆動します DEC_PCOMMA_DETECT が TRUE の場合 RXDATA が正の 8B/10B カンマのときは 常にデコーダが RXCHARISCOMMA を High に駆動します 同様に DEC_MCOMMA_DETECT が TRUE の場合 RXDATA が負の 8B/10B カンマのときは 常に RXCHARISCOMMA を High に駆動します K28.1 K28.5 および K28.7 に対してのみ RXCHARISCOMMA がトリガするように制限する場合は DEC_VALID_COMMA_ONLY を TRUE に設定します 通常 この設定はイーサネットベースのアプリケーションに使用されます RXCHARISCOMMA は MCOMMA_10B_VALUE または PCOMMA_10B_VALUE に依存しません RX ランニングディスパリティ 8B/10B デコーダは ランニングディスパリティシステムを使用して送信された 1 と 0 のバランスを取ります また 8B/10B デコーダは 入力データのランニングディスパリティをトラッキングしてエラーを検出します 現在のランニングディスパリティは RXRUNDISP ポートを確認することでわかります 138 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
139 RX 8B/10B デコーダ ディスパリティエラーおよび Out of Table エラー 不正なディスパリティの RXDATA が到達すると デコーダは RXDISPERR を High に駆動します 8B/10B デコーダは ディスパリティエラーだけではなく 20 ビットの Out-of-Table エラーコードも検出します RXDATA が無効な 8B/10B キャラクタの場合 デコーダは RXNOTINTABLE ポートを High に駆動します 図 4-21 には RXDATA にエラーバイトが現れ RXNOTINTABLE および RXDISPERR ポートがエラーを示している波形を示します X-Ref Target - Figure 4-21 RXUSRCLK2 RXDATA Good Data Disp Error Out of Table Both Errors Good Data RXDISPERR RXNOTINTABLE UG386_c4_21_ 図 4-21 : 8B/10B エラーがある RX データ ポートおよび属性 表 4-27 : RX デコーダのポート 表 4-27 に RX デコーダのポートを示します ポート方向 クロックドメイン 説明 RXCHARISCOMMA0[3:0] RXCHARISCOMMA1[3:0] 出力 RXUSRCLK2 RXDATA が 8B/10B カンマのときに RXCHARISCOMMA がアサートされます この信号は DEC_MCOMMA_DETECT および DEC_PCOMMA_DETECT に依存し RXDEC8B10BUSE が Low のときは常に Low となります RXCHARISCOMMA[3] は RXDATA[31:24] に対応 RXCHARISCOMMA[2] は RXDATA[23:16] に対応 RXCHARISCOMMA[1] は RXDATA[15:8] に対応 RXCHARISCOMMA[0] は RXDATA[7:0] に対応 RXCHARISK0[3:0] RXCHARISK1[3:0] 出力 RXUSRCLK2 RXDATA が 8B/10B キャラクタの場合に RXCHARISK がアサートされます RXDEC8B10BUSE が Low のときは 常に Low となります RXCHARISK[3] は RXDATA[31:24] に対応 RXCHARISK[2] は RXDATA[23:16] に対応 RXCHARISK[1] は RXDATA[15:8] に対応 RXCHARISK[0] は RXDATA[7:0] に対応 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 139
140 第 4 章 : レシーバ 表 4-27 : RX デコーダのポート ( 続き ) ポート方向 クロックドメイン 説明 RXDATA ポート幅を選択します RXDATAWIDTH0[1:0] RXDATAWIDTH1[1:0] 入力 RXUSRCLK2 0 : RXDATA は 8 ビットまたは 10 ビット幅 1 : RXDATA は 16 ビットまたは 20 ビット幅 2 : RXDATA は 32 ビットまたは 40 ビット幅 3 : 予約 RXDEC8B10BUSE0 RXDEC8B10BUSE1 入力 RXUSRCLK2 8B/10B デコーダを有効にします 1 : 8B/10B デコーダを使用する 0 : 8B/10B デコーダをバイパスする ( レイテンシ削減 ) 受信した RXDATA にディスパリティエラーがあると RXDISPERR が High になります RXDISPERR0[3:0] RXDISPERR1[3:0] 出力 RXUSRCLK2 RXDISPERR[3] は RXDATA[31:24] に対応 RXDISPERR[2] は RXDATA[23:16] に対応 RXDISPERR[1] は RXDATA[15:8] に対応 RXDISPERR[0] は RXDATA[7:0] に対応 RXDATA に不正な 8B/10B コードが含まれている場合に RXNOTINTABLE が対応します RXNOTINTABLE0[3:0] RXNOTINTABLE1[3:0] 出力 RXUSRCLK2 RXNOTINTABLE[3] は RXDATA[31:24] に対応 RXNOTINTABLE[2] は RXDATA[23:16] に対応 RXNOTINTABLE[1] は RXDATA[15:8] に対応 RXNOTINTABLE[0] は RXDATA[7:0] に対応 RXDATA の受信時に 8B/10B エンコーダのランニングディスパリティを示します RXRUNDISP0[3:0] RXRUNDISP1[3:0] 出力 RXUSRCLK2 RXRUNDISP[3] は RXDATA[31:24] に対応 RXRUNDISP[2] は RXDATA[23:16] に対応 RXRUNDISP[1] は RXDATA[15:8] に対応 RXRUNDISP[0] は RXDATA[7:0] に対応 140 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
141 RX エラスティックバッファのバイパス 表 4-28 : RX デコーダの属性 表 4-28 に RX デコーダの属性を示します 属性種類説明 DEC_MCOMMA_DETECT_0 DEC_MCOMMA_DETECT_1 DEC_PCOMMA_DETECT_0 DEC_PCOMMA_DETECT_1 DEC_VALID_COMMA_ONLY_0 DEC_VALID_COMMA_ONLY_1 ブール関数 ブール関数 ブール関数 負の 8B/10B カンマの検出を有効にします TRUE : RXDATA が負の 8B/10B カンマの場合に RXCHARISCOMMA がアサートされる FALSE : RXCHARISCOMMA は 負の 8B/10B カンマに応答しない 正の 8B/10B カンマの検出を有効にします TRUE : RXDATA が正の 8B/10B カンマの場合に RXCHARISCOMMA がアサートされる FALSE : RXCHARISCOMMA は 正の 8B/10B カンマに応答しない RXCHARISCOMMA が応答するカンマを制限します TRUE : RXCHARISCOMMA は K28.1 K28.5 および K28.7 に対してのみアサートされます ( 付録 A 8B/10B 有効な文字 の 8B/10B K キャラクタの表を参照 ) FALSE : RXCHARISCOMMA は DEC_MCOMMA_DETECT および DEC_PCOMMA_DETECT の設定により 正または負の 8B/10B カンマに応答します RX エラスティックバッファのバイパス 機能の説明 標準動作には推奨されていない Spartan-6 FPGA GTP トランシーバのアドバンス機能は RX エラスティックバッファをバイパスできることです RX エラスティックバッファをバイパスする場合は RX 位相アライメントというプロセスを実行して PMA パラレルドメイン (XCLK) と PCS パラレルクロックドメイン (RXUSRCLK) の位相を一致させる必要があります RX 位相アライメントプロセスのほかに GTP トランシーバから DCM/PLL への専用フィードバックパス (GTPCLKFBWEST および GTPCLKFBEAST) を使用して 熱や電圧の変化によって影響を受けた RXUSRCLK を調整します 150 ページの図 4-27 に XCLK ドメインおよび RXUSRCLK ドメインを示します 150 ページの表 4-31 には バッファを使用する場合と使用しない場合の比較を示します RXUSRCLK および RXUSRCLK2 のソースとして RXRECCLK を使用する場合は レイテンシを削減するために RX エラスティックバッファをバイパスできます RX エラスティックバッファをバイパスすると RX データパスを通過する際のレイテンシが削減されて安定しますが クロックコレクションおよびチャネルボンディングが使用できません 図 4-22 に RX エラスティックバッファをバイパス可能にする 位相アライメント回路を示します 位相アライメント実行前は CDR 回路のリカバリクロックから生成されたパラレルクロック (XCLK) と FPGA ロジックからの PCS パラレルクロック (RXUSRCLK) 間の位相関係の保証はありません 位相アライメントにより CDR からの RXRECCLK が調整されるため XCLK と RXUSRCLK 間の位相差が最低限に抑えられます Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 141
142 第 4 章 : レシーバ X-Ref Target - Figure 4-22 RX Interface Parallel Clock (RXUSRCLK2) RX Serial Clock PMA Parallel Clock (XCLK) PCS Parallel Clock (RXUSRCLK) RX EQ RX OOB RX CDR SIPO RX Polarity Comma Detect and Align 10B/8B Decoder RX Elastic Buffer From Shared PMA PLL RX-PMA Shared PMA PLL Divider PRBS Check Loss of Sync RX Elastic Buffer Bypassed RX-PCS RX Status Control FPGA RX Interface After phase alignment: - SIPO parallel clock phase matches RXUSRCLK phase - No phase difference between XCLK and RXUSRCLK UG386_c4_22_ 図 4-22 : 位相アライメントを使用する場合 ポートおよび属性 表 4-29 に RX エラスティックバッファをバイパスする場合のポートを示します 表 4-29 : X エラスティックバッファをバイパスする場合のポート ポート方向 クロックドメイン 説明 GTPCLKFBEAST[1:0] 出力 N/A PLL または DCM の専用フィードバッククロックであり RX エラスティックバッファをバイパスする場合に 電圧や温度の変化に応じて USRCLK を調整するために使用されます このフィードバックパスは TXUSRCLK(0/1) および RXUSRCLK(0/1) を使用して個別に選択できます GTPCLKFBSEL0EAST[1:0] GTPCLKFBSEL1EAST[1:0] 入力 非同期 GTPCLKFBSEL0EAST は GTPCLKFBEAST[0] の専用フィードバッククロックセレクタです GTPCLKFBSEL1EAST は GTPCLKFBEAST[1] の専用フィードバッククロックセレクタです 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 142 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
143 RX エラスティックバッファのバイパス 表 4-29 : X エラスティックバッファをバイパスする場合のポート ( 続き ) GTPCLKFBSEL0WEST[1:0] GTPCLKFBSEL1WEST[1:0] 入力 非同期 GTPCLKFBSEL0WEST は GTPCLKFBWEST[0] の専用フィードバッククロックセレクタです GTPCLKFBSEL1WEST は GTPCLKFBWEST[1] の専用フィードバッククロックセレクタです 00 : TXUSRCLK0 01 : RXUSRCLK0 10 : TXUSRCLK1 11 : RXUSRCLK1 GTPCLKFBWEST[1:0] 出力 N/A PLL または DCM の専用フィードバッククロックであり RX エラスティックバッファをバイパスする場合に 電圧や温度の変化に応じて USRCLK を調整するために使用されます このフィードバックパスは TXUSRCLK(0/1) および RXUSRCLK(0/1) を使用して個別に選択できます GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] PLLLKDET0 PLLLKDET1 PLLLKDETEN0 PLLLKDETEN1 RXENPMAPHASEALIGN0 RXENPMAPHASEALIGN1 RXPMASETPHASE0 RXPMASETPHASE1 ポート方向 クロックドメイン 説明 出力 N/A GTPA1_DUAL タイルから FPGA ロジックへクロックを供給する場合は GTPCLKOUT ポートを使用することを推奨します GTPCLKOUT[1] は RX エラスティックバッファをバイパスする場合に使用してください GTPCLKOUT[0] は CLK_OUT_GTP_SEL に基づいて TXOUTCLK またはREFCLKPLL のいずれかを出力します GTPCLKOUT[1] は RXRECCLK を出力します (RX エラスティックバッファをバイパスする場合に使用する必要がある ) 出力 非同期 このポートが High の場合は VCO レートが任意レートの許 容範囲内であることを示します GTP トランシーバの動作 は この条件が満たされるまで保証されません 入力 非同期 このポートが High の場合は PLL のロック検出機能が有効 になります 入力 非同期 このポートが High にアサートされると RX 位相アライメント回路が有効になります これによって RXPMASETPHASE がアサートされるときに XCLK と RXUSRCLK の位相が揃います 入力 非同期 このポートが High にアサートされると GTP トランシーバ が XCLK と RXUSRCLK の位相を揃えるため この場合は RX バッファをバイパスできます Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 143
144 第 4 章 : レシーバ 表 4-29 : X エラスティックバッファをバイパスする場合のポート ( 続き ) RXRECCLK0 RXRECCLK1 RXUSRCLK0 RXUSRCLK1 ポート方向 クロックドメイン 説明 出力 N/A これらのポートは RX のクロックデータリカバリ回路から派生したリカバリクロックであり PMA と RX エラスティックバッファ間の RX ロジックで使用されるクロックです これらのポートは FPGA ロジック専用として予約されています 入力 N/A このポートは 内部 RX PCS パラレルデータパスへクロック 提供する際に使用されます このクロックは常に供給される 必要があります 表 4-30 に RX エラスティックバッファをバイパスする場合の属性を示します 表 4-30 : RX エラスティックバッファをバイパスする場合の属性 属性 種類 説明 RX_BUFFER_USE_0 RX_BUFFER_USE_1 ブール関数 RX エラスティックバッファの使用またはバイパスを決定します TRUE : RX エラスティックバッファを使用する ( 標準モード ) FALSE : TX バッファをバイパスする ( アドバンス機能 ) RX_XCLK_SEL_0 RX_XCLK_SEL_1 文字列 RX バッファの後にある XCLK ドメインを駆動するクロックを選択します RX エラスティックバッファをバイパスする場合は この属性を RXUSR に設定する必要があります RXREC : RX_BUFFER_USE = TRUE のときに使用する RXUSR : RX_BUFFER_USE = FALSE のときに使用する 説明 RX エラスティックバッファをバイパスして RX 位相アライメント回路を使用 RX_BUFFER_USE を FALSE に設定する場合は RX 位相アライメント回路を使用する必要があります RX 位相アライメント回路を使用して XCLK と RXUSRCL の位相を揃える場合は 次の手順に従うことを推奨します 1. RX_XCLK_SEL を RXUSR に設定します 2. すべてのクロック信号およびロック信号が安定するまで待機してから RXENPMAPHASEALIGN を High にアサートします 安定した RXRECCLK で CDR をロックする必要があります 3. RXENPMAPHASEALIGN がアサートされた後 RXUSRCLK2 クロックの 32 サイクル間待機し その後 RXPMASETPHASE を High にアサートします 4. RXUSERCLK2 クロックの 32 サイクル間待機し RXPMASETPHASE をディアサートします 5. RX 位相アライメントプロセスを反復実行する必要がある場合を除き RXENPMAPHASEALIGN はアサートされた状態で保持します RXENPMAPHASEALIGN をディアサートすると RX 位相アライメント機能が無効になります 6. RX 位相アライメントプロセスが完了すると XCLK と RXUSRCLK の位相が揃います 144 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
145 RX エラスティックバッファのバイパス ステップ 2 の実行には 注意を払う必要があります 通常 CDR のロックは 入力データの質をモニタリングすることで検出できます CDR のロック検出方法は 次のようなものがあります カンマキャラクタなど 入力データストリーム内で既知のデータを検索します 一般に 連続した既知のデータパターンがエラーなしで複数受信されると CDR がロックしたことを示します LOS ステートマシンを使用します ( 図 4-23 参照 ) LOS ステートマシンが SYNC_ACQUIRED ステートに遷移し その状態を維持している場合には 入力データが 8B/10B エンコードされ CDR がロックされていることを示します RX エラスティックバッファをバイパスする場合は PCS を通過する際の位相差によって PMA からのデータ信号に歪みが生じる可能性があります このため CDR がロックしていないため または CDR はロックしているが位相アライメント回路がまだ有効になっていないために 受信データが適切であるかを判断することが難しくなります この問題の解決方法として RX 位相アライメントを複数回実行して実行ごとに出力データを評価してください RX CDR のロックしている間に位相が揃えられた場合は 適切なデータが受信されたことになります 図 4-23 に RX 位相アライメントの実効に必要な手順を示します CDR のロック時には 任意のサイクル数のクロックを使用できますが そのサイクル数が多いと ステート全体のサイクル数が減少します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 145
146 第 4 章 : レシーバ X-Ref Target - Figure 4-23 RESET Wait for PLL Lock and DCM/PLL Lock. RXN/RXP Should Be Driven Wait for CDR to Lock Assert RXPMASETPHASE 32 RXUSRCLK2 Cycles to Phase Align Fail Evaluate CDR Lock by Checking Data or Using LOS State Machine Pass Final RXPMASETPHASE Assertion for Phase Alignment with Known CDR Lock (32 Cycles) Phase Alignment Done UG386_c4_33_ 図 4-23 : RX 位相アライメントの手順 146 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
147 RX エラスティックバッファのバイパス 次に示すいずれかの状態が発生したときは RX 位相アライメントプロセスを再実行する必要があります GTPRESET0 または GTPRESET1 のアサート PLLPOWERDOWN のディアサート クロックソースの変更 GTP RX トランシーバのラインレート変更 図 4-24 に GTPRESET 後の RX 位相アライメントプロセスを示します GTPRESET が完了後 RESETDONE および PLLLKDET が High になり すべてのクロックが安定するまで待機してから RX 位相アライメントのプロセスが開始されます DCM または PLL を使用して RXUSRCLK を駆動する場合は DCM または PLL のロック信号がアサートされるまで RX 位相アライメントプロセスの開始は待機する必要があります X-Ref Target - Figure 4-24 CDR Lock (1) RXENPMAPHASEALIGN 32 RXUSRCLK2 Cycles RXPMASETPHASE 32 RXUSRCLK2 Cycles 1. CDR Lock is not an actual port. It is used as a reference point to show that the CDR has a lock. UG386_c4_34_ 図 4-24 : リセット後の RX 位相アライメント 図 4-25 に RX バッファをバイパスする場合 GTPA1_DUAL タイルの GTP0 および GTP1 トランシーバが同じリファレンスクロックを共有する場合の GTPA1_DUAL のクロック配線例を示します この例では 専用フィードバックパス GTPCLKFBWEST[0] が選択され 電圧や温度の変化に応じて RXUSRCLK0 を調整します この GTPA1_DUAL タイルの GTP0 と GTP1 は 同じリファレンスクロックを共有しているため 必要なフィードバックパスは 1 つとなります PLL または DCM のいずれかを使用する場合は フィードバックパスを使用して RXUSRCLK を調整します 詳細は 89 ページの フィードバックパスを使用した電圧および温度の変化への対応 を参照してください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 147
148 第 4 章 : レシーバ X-Ref Target - Figure 4-25 GTPA1_DUAL GTP0/GTP1 RX PMA RXRECCLK0 CLK00 GTPCLKOUT0[1] IBUFDS BUFIO2 REF_CLK0_P REF_CLK0_N GTPCLKFBWEST[1] BUFIO2FB CLKFB0_IN CLK0_IN MUX GTPCLKFBSEL1WEST = 01 PLL/DCM for Tile0 CLK0_1 CLK0_0 BUFG TXUSRCLK0 RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 BUFG TXUSRCLK20 RXUSRCLK20 TXUSRCLK21 RXUSRCLK21 FPGA Fabric User Logic UG386_c4_35_ 図 4-25 : GTPA1_DUAL のクロック配線 (GTP0 と GTP1 が同じリファレンスクロックを共有 RX エラスティックバッファをバイパスする場合 ) 図 4-26 に RX エラスティックバッファをバイパスする場合 GTPA1_DUAL タイルの GTP0 および GTP1 トランシーバが異なるリファレンスクロックを使用している場合の GTPA1_DUAL のクロック配線例を示します この例では 専用フィードバックパス GTPCLKFBWEST[0] が選択されて 電圧や温度の変化に応じて GTP0 の RXUSRCLK0 を調整します 同様に 専用フィードバックパス GTPCLKFBEAST[0] が選択されて 電圧や温度の変化に応じて GTP1 の RXUSRCLK1 を調整します PLL または DCM のいずれかを使用する場合は これらのフィードバックパスを使用して RXUSRCLK を調整します 詳細は 89 ページの フィードバックパスを使用した電圧および温度の変化への対応 を参照してください 148 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
149 RX エラスティックバッファのバイパス X-Ref Target - Figure 4-26 GTPA1_DUAL GTP0 RX PMA GTP1 RX PMA REF_CLK0_P REF_CLK0_N IBUFDS CLK00 RXRECCLK0 RXRECCLK0 CLK01 IBUFDS REF_CLK1_P REF_CLK1_N BUFIO2 BUFIO2 GTPCLKOUT0[1] GTPCLKOUT1[1] BUFIO2FB GTPCLKFBWEST[1] GTPCLKFBEAST[1] BUFIO2FB CLKFB0_IN CLK0_IN CLKFB1_IN CLK1_IN PLL/DCM for GTP0 CLK0_0 BUFG CLK0_1 GTPCLKFBSEL1WEST = 01 MUX MUX GTPCLKFBSEL1EAST = 11 CLK1_1 BUFG PLL/DCM for GTP1 CLK1_0 BUFG TXUSRCLK0 BUFG RXUSRCLK0 TXUSRCLK1 RXUSRCLK1 TXUSRCLK20 TXUSRCLK21 RXUSRCLK20 RXUSRCLK21 FPGA Fabric User Logic FPGA Fabric User Logic UG386_c4_36_ 図 4-26 : GTPA1_DUAL のクロック配線 (GTP0 と GTP1 が異なるリファレンスクロックを使用 - RX バッファをバイパスする場合 ) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 149
150 第 4 章 : レシーバ RX エラスティックバッファ 機能の説明 GTP RX データパスには PCS で使用される 2 つの内部パラレルクロックドメイン (XCLK ドメインおよび RXUSRCLK ドメイン ) があります データを受信するためには PMA パラレルレートと RXUSRCLK レートを極力一致させて 2 つのドメイン間でのすべての位相差をなくすようにしてください 図 4-27 に 2 つのパラレルクロックドメイン (XCLK および RXUSRCLK) を示します X-Ref Target - Figure 4-27 FPGA Parallel Clock (RXUSRCLK2) RX Serial Clock PMA Parallel Clock (XCLK) PCS Parallel Clock (RXUSRCLK) RX EQ RX OOB RX CDR Shared PMA PLL Divider SIPO Polarity PRBS Checker Comma Detect and Align 10B/8B Decoder Loss of Sync RX Elastic Buffer FPGA RX Interface RX Status Control RX-PMA RX-PCS RX PIPE Control From TX Parallel Data (Near-End PMA Loopback) To TX Parallel Data (Far-End PMA Loopback) To TX Parallel Data (Far-End) PCS Loopback) UG386_c4_23_ 図 4-27 : RX クロックドメイン 表 4-31 : バッファリングと位相アライメントの比較 GTP トランシーバには RX エラスティックバッファが内蔵されているため PMACLK ドメインと RXUSRCLK ドメインの間の位相差をなくすことができます また トランシーバからのリカバリクロックを使用して RXUSRCLK を駆動し その位相を XCLK と一致するよう調整することで 2 つのドメインの位相を一致させることも可能です (141 ページの RX エラスティックバッファのバイパス 参照 ) すべての RX データパスは これらのいずれかの方法を使用して位相を一致させる必要があります 表 4-31 に 各方法におけるメリットおよびデメリットを示します クロッキングオプション RX エラスティックバッファ リカバリクロックまたはローカルクロック ( クロックコレクションあり ) を使用可能 RX 位相アライメント リカバリクロック (RXRECCLK) の使用が必須 初期化 すぐに実行 全クロックが安定するまで待機して から実行 150 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
151 RX エラスティックバッファ 表 4-31 : バッファリングと位相アライメントの比較 ( 続き ) レイテンシ クロックコレクション / チャネルボンディング RX エラスティックバッファ 使用する機能 ( クロックコレクションおよびチャネルボンディング ) に依存 クロックコレクション / チャネルボンディングには必須 RX 位相アライメント RX エラスティックバッファを使用する場合よりレイテンシは低い ポートおよび属性 表 4-32 に RX エラスティックバッファを使用する場合のポートを示します 表 4-32 : RX エラスティックバッファを使用する場合のポート ポート 方向 クロックドメイン 説明 RXBUFRESET0 RXBUFRESET1 入力 非同期 RX エラスティックバッファロジックをリセットして RX バッファを再初期化します RXBUFSTATUS0[2:0] RXBUFSTATUS1[2:0] 出力 RXUSRCLK2 次のように RX エラスティックバッファのステータスが示されます 000 : 通常条件 001 : バッファのバイト数が CLK_COR_MIN_LAT 未満 010 : バッファのバイト数が CLK_COR_MAX_LAT より多い 101 : RX エラスティックバッファのアンダーフロー (1) 110 : RX エラスティックバッファのオーバーフロー (1) メモ : 1. RX エラスティックバッファのオーバーフローまたはアンダーフローが発生すると RX エラスティックバッファの内容が無効となるため RXBUFRESET をアサート / ディアサートして RX エラスティックバッファを再初期化する必要があります 表 4-33 に RX エラスティックバッファを使用する場合の属性を示します 表 4-33 : RX エラスティックバッファを使用する場合の属性 属性 種類 説明 RX_BUFFER_USE_0 RX_BUFFER_USE_1 ブール関数 RX エラスティックバッファの使用またはバイパスを指定します TRUE : RX エラスティックバッファを使用する ( 標準モード ) FALSE : RX エラスティックバッファを常時バイパスする RX_EN_IDLE_RESET_BUF_0 RX_EN_IDLE_RESET_BUF_1 ブール関数 RX エラスティックバッファの自動リセット機能を有効 / 無効にします TRUE : RXN/RXP 入力に有効な信号が現れない場合 RX エラスティックバッファの自動リセットが実行される RX_IDLE_HI_CNT_0 RX_IDLE_HI_CNT_1 4 ビットバイナリ FALSE : RXN/RXP 入力に有効な信号が現れない場合 RX エラスティックバッファの自動リセットは実行されない RXP/RXN ラインに有効なデータが現れなくなり RX_EN_IDLE_RESET_BUF がトリガされてリセットがアサートされた後のカウント値を指定します GTP Transceiver Wizard のデフォルト設定を使用します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 151
152 第 4 章 : レシーバ 表 4-33 : RX エラスティックバッファを使用する場合の属性 ( 続き ) RX_IDLE_LO_CNT_0 RX_IDLE_LO_CNT_1 RX_XCLK_SEL_0 RX_XCLK_SEL_1 属性種類説明 4 ビットバイナリ 文字列 RXP/RXN ラインに有効なデータが再び現われた後 RX_EN_IDLE_RESET_BUF がトリガされてリセットがディアサートされた後のカウント値を指定します GTP Transceiver Wizard のデフォルト設定を使用します XCLK ドメインを駆動するクロックを選択します RXREC : ( デフォルト ) CDR からのリカバリクロックで駆動します RXUSR : RXUSRCLK ポートが RX パラレルクロックドメインを駆動します RX バッファをバイパスする場合は このモードを使用します RX エラスティックバッファを使用して チャネルボンディングまたはクロックコレクションをサポート RX エラスティックバッファは クロックコレクション ( RX クロックコレクション 参照 ) やチャネルボンディング (159 ページの RX チャネルボンディング 参照 ) にも使用されますクロックコレクションは PMACLK と RXUSRCLK の周波数が一致していない場合に使用します 表 4-34 に 一般的なクロックのコンフィギュレーションおよびクロックコレクションの必要性を示します 表 4-34 : 一般的なクロックのコンフィギュレーション クロックコレクションの必要性 同期システム ( 両方とも REFCLK 用に同じ物理オシレータを使用 ) 別々のリファレンスクロック RX はリカバリクロックを使用 別々のリファレンスクロック RX はローカルクロックを使用 なし なし あり チャネルボンディングまたはクロックコレクション用に RX エラスティックバッファを使用する場合は 次の手順に従ってください RX_BUFFER_USE を TRUE に設定します RXBUFSTATUS がオーバーフローまたはアンダーフローを示した場合は 随時バッファをリセットします バッファのリセットには GTPRESET RXRESET または RXBUFRESET を使用できます (54 ページの リセット 参照 ) RX クロックコレクション 機能の説明 RX のエラスティックバッファには クロックコレクションにより XCLK および RXUSRCLK ドメイン間の周波数差を許容できるという優れた機能があります クロックコレクションは データストリーム内の特殊アイドルキャラクタを複製または削除して RX エラスティックバッファが過度に FULL または EMPTY にならないようにします 図 4-28 に クロックコレクションの概要図を示します 152 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
153 RX クロックコレクション X-Ref Target - Figure 4-28 Read RXUSRCLK Write XCLK Nominal Condition: Buffer Half Full Read Write Read Repeatable Sequence Buffer Less Than Half Full (Emptying) Write Repeatable Sequence Buffer More Than Half Full (Filling Up) 図 4-28 : クロックコレクション UG386_c4_24_ XCLK と RXUSRCLK の周波数が異なる場合には クロックコレクションを必ず使用してください 周波数差は TX および RX に対して同じ周波数ソースを使用するか リカバリクロックを使用して RXUSRCLK を駆動することで解消できます クロックコレクションを使用しない場合の手順については 150 ページの RX エラスティックバッファ で詳しく説明します ポートおよび属性 表 4-35 : RX クロックコレクションのポート RXBUFRESET0 RXBUFRESET1 ポート方向 RXBUFSTATUS0[2:0] RXBUFSTATUS1[2:0] 表 4-35 に RX クロックコレクションのポートを示します クロックドメイン 入力 非同期 RX エラスティックバッファロジックをリセットして RX バッファを 再初期化します 出力 RXUSRCLK2 次のように RX エラスティックバッファのステータスが示されます 000 : 通常条件 説明 001 : バッファのバイト数が CLK_COR_MIN_LAT 未満 010 : バッファのバイト数が CLK_COR_MAX_LAT より多い 101 : RX エラスティックバッファのアンダーフロー (1) 110 : RX エラスティックバッファのオーバーフロー (1) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 153
154 第 4 章 : レシーバ 表 4-35 : RX クロックコレクションのポート ポート方向 RXCLKCORCNT0[2:0] RXCLKCORCNT1[2:0] クロックドメイン 出力 RXUSRCLK2 RX エラスティックバッファでのクロックコレクションのステータス を示します 000 : クロックコレクションなし 001 : 1 シーケンスをスキップ 010 : 2 シーケンスをスキップ 011 : 3 シーケンスをスキップ 100 : 4 シーケンスをスキップ 101 : 予約 110 : 2 シーケンスを追加 111 : 1 シーケンスを追加 メモ : 1. RX エラスティックバッファのオーバーフローまたはアンダーフローが発生すると RX エラスティックバッファの内容が無効となるため RXBUFRESET をアサート / ディアサートして RX エラスティックバッファを再初期化する必要があります 表 4-36 : RX クロックコレクションの属性 表 4-36 に RX クロックコレクションの属性を示します 属性種類説明 説明 CLK_COR_ADJ_LEN_0 CLK_COR_ADJ_LEN_1 CLK_COR_DET_LEN_0 CLK_COR_DET_LEN_1 整数 クロックコレクションでの調整サイズ ( 反復またはスキップするバイト数 ) を定義します 指定したクロックコレクションシーケンスのバイト数より多くのバイトを置き換えられるようにするため スキップまたは反復されるバイトは 常にクロックコレクションシーケンスの最初から開始します 有効な長さは 1 2 および 4 バイトです 整数クロックコレクション時に一致させるシーケンスの長さを定義します 有効な長さは 1 2 および 4 バイトです CLK_COR_INSERT_IDLE_FLAG_0 CLK_COR_INSERT_IDLE_FLAG_1 ブール関数 RXRUNDISP 入力ステータスがランニングディスパリティまたは Inserted-Idle ( クロックコレクションシーケンス ) フラグを示すかを制御します FALSE : RXDATA がデコードされたデータの場合 RXRUNDISP はランニングディスパリティを示す TRUE : RXDATA がデコードされたデータの場合 RXRUNDISP は 挿入された ( 反復 ) クロックコレクション ( アイドル ) シーケンスの最初のバイトに対して High 駆動する 154 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
155 RX クロックコレクション 表 4-36 : RX クロックコレクションの属性 ( 続き ) CLK_COR_KEEP_IDLE_0 CLK_COR_KEEP_IDLE_1 CLK_COR_MAX_LAT_0 CLK_COR_MAX_LAT_1 CLK_COR_MIN_LAT_0 CLK_COR_MIN_LAT_1 CLK_COR_PRECEDENCE_0 CLK_COR_PRECEDENCE_1 CLK_COR_REPEAT_WAIT_0 CLK_COR_REPEAT_WAIT_1 属性種類説明 ブール関数 整数 整数 ブール関数 整数 RX エラスティックバッファが バイトストリームに最低 1 つのクロックコレクションシーケンスを保持するべきかを指定します FALSE : トランシーバは クロックコレクション中に RX エラスティックバッファをリセットする際 すべてのクロックコレクションシーケンスを削除できる TRUE : トランシーバは 最後の RXDATA ストリームで クロックコレクションシーケンスの連続ストリームのうちの最低 1 つのクロックコレクションシーケンスを保持する RX エラスティックバッファの最大レイテンシを指定します RX エラスティックバッファが CLK_COR_MAX_LAT を越える場合 オーバーフローを回避するために クロックコレクション回路は 入力されるクロックコレクションシーケンスを反復します 有効な設定値は 3 ~ 48 です RX エラスティックバッファの最小レイテンシを指定します RX エラスティックバッファが CLK_COR_MIN_LAT 未満になると アンダーフローを回避するために クロックコレクション回路は 入力されるクロックコレクションシーケンスを反復します RX エラスティックバッファがリセットされたとき ポインタはバッファ内に未読 ( および未初期化 ) の CLK_COR_MIN_LAT データバイトがあるように設定されます 有効な設定値は 3 ~ 48 です クロックコレクションとチャネルボンディングが同時にトリガされた場合に どちらを優先するかを指定します TRUE : チャネルボンディングよりクロックコレクションを優先 FALSE : クロックコレクションよりチャネルボンディングを優先 次のクロックコレクションが行われるまでの RXUSRCLK の最少サイクル数を指定します 0 の場合は クロックコレクションの頻度に制限はありません 有効な設定値は 0 ~ 31 です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 155
156 第 4 章 : レシーバ 表 4-36 : RX クロックコレクションの属性 ( 続き ) CLK_COR_SEQ_1_1_0 CLK_COR_SEQ_1_1_1 CLK_COR_SEQ_1_2_0 CLK_COR_SEQ_1_2_1 CLK_COR_SEQ_1_3_0 CLK_COR_SEQ_1_3_1 CLK_COR_SEQ_1_4_0 CLK_COR_SEQ_1_4_1 CLK_COR_SEQ_1_ENABLE_0 CLK_COR_SEQ_1_ENABLE_1 CLK_COR_SEQ_2_1_0 CLK_COR_SEQ_2_1_1 CLK_COR_SEQ_2_2_0 CLK_COR_SEQ_2_2_1 CLK_COR_SEQ_2_3_0 CLK_COR_SEQ_2_3_1 CLK_COR_SEQ_2_4_0 CLK_COR_SEQ_2_4_1 CLK_COR_SEQ_2_ENABLE_0 CLK_COR_SEQ_2_ENABLE_1 CLK_COR_SEQ_2_USE_0 CLK_COR_SEQ_2_USE_1 属性種類説明 10 ビットバイナリ 4 ビットバイナリ 10 ビットバイナリ 4 ビットバイナリ ブール関数 CLK_COR_SEQ_1 属性は クロックコレクションシーケンス 1 を定義するために CLK_COR_SEQ_1_ENABLE と共に使用されます シーケンスは 4 つのサブシーケンスで構成され 各サブシーケンスの長さは 10 ビットです サブシーケンスの設定規則は RX_DATA_WIDTH および RX_DECODE_SEQ_MATCH で決定されます クロックコレクションシーケンスの設定方法は 158 ページの クロックコレクションシーケンスの設定 を参照してください すべてのサブシーケンスを使用する必要はありません CLK_COR_DET_LEN は 一致に要するシーケンス数を決定します CLK_COR_DET_LEN = 1 のときは CLK_COR_SEQ_1_1 のみを使用します CLK_COR_SEQ_1_ENABLE を使用すると シーケンスの一部を don't care にできます CLK_COR_SEQ_1_ENABLE[k] が 0 の場合 CLK_COR_SEQ_1_k は don't care のサブシーケンスとなり 常に一致します CLK_COR_SEQ_2 属性は 2 番目のクロックコレクションシーケンスを定義するために CLK_COR_SEQ_2_ENABLE と共に使用されます CLK_COR_SEQ_2_ USE が TRUE の場合 ( つまり シーケンス 1 または 2 が到達すると クロックコレクションが実行される場合 ) は この 2 番目のシーケンスがクロックコレクション用の代替シーケンスとして使用されます シーケンスは 4 つのサブシーケンスで構成され 各サブシーケンスの長さは 10 ビットです サブシーケンスの設定規則は RX_DATA_WIDTH および RX_DECODE_SEQ_MATCH で決定されます クロックコレクションシーケンスの設定方法は 158 ページの クロックコレクションシーケンスの設定 を参照してください すべてのサブシーケンスを使用する必要はありません CLK_COR_DET_LEN は 一致に要するシーケンス数を決定します CLK_COR_DET_LEN = 1 のときは CLK_COR_SEQ_2_1 のみ使用します CLK_COR_SEQ_2_ENABLE を使用すると シーケンスの一部を don't care にできます CLK_COR_SEQ_2_ENABLE[k] が 0 の場合 CLK_COR_SEQ_2_k は don't care バイトのサブシーケンスとなり 常に一致します クロックコレクションシーケンス 2 の使用を判断します TRUE の場合は 2 番目のクロックコレクションシーケンスもクロックコレクションをトリガします 156 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
157 RX クロックコレクション 表 4-36 : RX クロックコレクションの属性 ( 続き ) CLK_CORRECT_USE_0 CLK_CORRECT_USE_1 属性種類説明 RX_DECODE_SEQ_MATCH_0 RX_DECODE_SEQ_MATCH_1 ブール関数 ブール関数 クロックコレクションを有効にします FALSE : クロックコレクションは無効 TRUE : クロックコレクションは有効 シーケンスが 8B/10B デコーダの入力または出力のいずれに一致しているかを決定します クロックコレクション回路およびチャネルボンディング回路で使用されます TRUE : 8B/10B デコーダの出力に対して一致する K キャラクタおよびディスパリティ情報が使用され 8B/10B 出力のビット順が使用される FALSE : エンコードされていないデータに対して一致する デコードされていないパラレルインターフェイス対応のビット順となる RX クロックコレクションの使用 このセクションでは レシーバクロックコレクションを使用する際の手順を説明します クロックコレクションの有効化 各 GTP トランシーバには クロックコレクション回路が 1 つ内蔵されています この回路では RX エラスティックバッファのポインタを制御することにより クロックコレクションを実行します クロックコレクション回路を使用する場合は RX_BUFFER_USE を TRUE に設定して RX エラスティックバッファを有効にし CLK_CORRECT_USE を TRUE に設定してクロックコレクション回路を有効にします RX エラスティックバッファのレイテンシが大きすぎる または小さすぎる場合にクロックコレクションがトリガされ クロックコレクション回路は一致シーケンスを検出します クロックコレクション回路を使用する場合は クロックコレクション回路に対して次の設定を行う必要があります RX エラスティックバッファの制限 クロックコレクションシーケンス RX エラスティックバッファの制限設定 RX エラスティックバッファの制限は CLK_COR_MIN_LAT ( 最小レイテンシ ) および CLK_COR_MAX_LAT ( 最大レイテンシ ) を使用して設定されます RX エラスティックバッファ内のバイト数が CLK_COR_MIN_LAT 未満になると バッファのアンダーフローを回避するために クロックコレクション回路は一致する最初のクロックコレクションシーケンスの CLK_COR_ADJ_ LEN バイトを追加で書き込みます 同様に RX エラスティックバッファのバイト数が CLK_COR_MAX_LAT を越えると クロックコレクション回路は 一致する最初のクロックコレクションシーケンスから CLK_COR_ADJ_LEN バイトを削除して シーケンスの最初のバイトから開始します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 157
158 第 4 章 : レシーバ クロックコレクションシーケンスの設定 クロックコレクションシーケンスは CLK_COR_SEQ_1_* および CLK_COR_ADJ_LEN を使用してプログラムされます 各 CLK_COR_SEQ_1_* 属性は クロックコレクションシーケンス内の特定サブシーケンスに対応します CLK_COR_ADJ_LEN では サブシーケンスの数を設定します 20 ビットの内部データパス幅が使用される場合 クロックコレクション回路は各サブシーケンスの 10 ビットすべてを一致させます 一方 16 ビットの内部データパス幅が使用される場合は 各サブシーケンスの右から 8 ビットのみが使用されます CLK_COR_SEQ_2_USE を TRUE に設定することで 2 番目の代替クロックコレクションシーケンスをアクティブにできます 1 番目と 2 番目のシーケンスでは 同じ長さ設定を使用しますが 一致させるサブシーケンスには異なる値を使用します 2 番目のシーケンスのサブシーケンスを定義するには CLK_COR_SEQ_2_* 属性を設定します 8B/10B デコードを使用する場合は (RXDEC8B10BUSE=High) RX_DECODE_SEQ_MATCH を TRUE に設定して デコードされていないデータではなく 8B/10B デコーダ出力を検索します これによって 回路は正または負のディスパリティを含む 8 ビット値を検索し 通常キャラクタと K キャラクタを識別することが可能になります 詳細は 79 ページの TX の 8B/10B エンコーダ および 137 ページの RX 8B/10B デコーダ を参照してください 図 4-29 に RX_DECODE_SEQ_MATCH が TRUE に設定されている場合のクロックコレクションシーケンスのバイトを示します RX_DECODE_SEQ_MATCH が FALSE の場合は シーケンスがデコードされていない入力データに正確に一致する必要があります X-Ref Target - Figure 4-29 CLK_COR_SEQ_x_y 9 8 7:0 8-Bit Clock Correction Sequence 1 = Sequence is a K Character 0 = Sequence is a Regular Character 1 = Sequence Uses Inverted Disparity 0 = Sequence Uses Regular Disparity UG386_c4_25_ 図 4-29 : RX_DECODE_SEQ_MATCH = TRUE の場合のクロックコレクションサブシーケンス設定 一部のプロトコルでは don't care サブシーケンスを含むクロックコレクションシーケンスが使用されます CLK_COR_SEQ_1_ENABLE および CLK_COR_SEQ_2_ENABLE を使用して これらのシーケンスを認識するようにクロックコレクション回路をプログラムできます シーケンスのイネーブルビットが Low の場合は いかなる値に対してもバイトが一致していると見なされます 図 4-30 に クロックコレクションシーケンスに対するクロックコレクションシーケンスのイネーブルビットを示します 158 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
159 RX チャネルボンディング X-Ref Target - Figure 4-30 CLK_COR_SEQ_x_4 CLK_COR_SEQ_x_3 CLK_COR_SEQ_x_2 CLK_COR_SEQ_x_1 CLK_COR_SEQ_x_ENABLE UG386_c4_26_ クロックコレクションのオプション クロックコレクションの周波数制御には CLK_COR_REPEAT_WAIT を使用します この値は クロックコレクションイベント間に必要な RXUSRCLK サイクルの最小数に設定する必要があります クロックコレクションを常に実行可能な状態にする場合は この属性を 0 に設定します 一部のプロトコルはクロックコレクションを常時実行可能ですが この場合はクロックコレクション回路からシーケンスを削除する際に ストリームに少なくとも 1 シーケンス残す必要があります このような要件を持つプロトコルの場合 CLK_COR_KEEP_IDLE を TRUE に設定してください クロックコレクションのモニタリング 図 4-30 : クロックコレクションシーケンスのマッピング クロックコレクション回路は RXCLKCORCNT および RXBUFSTATUS ポートを使用してモニタできます 表 4-35 の RXCLKCORCNT の項目に クロックコレクション回路のステータスを示す RXCLKCORCNT の値を示します 表 4-35 の RXBUFSTATUS の項目に RX エラスティックバッファのステータスを示す RXBUFSTATUS の値を示します RXCLKCORCNT および RXBUFSTATUS のほかにも 8B/10B デコーダインターフェイスからの RXRUNDISP (137 ページの RX 8B/10B デコーダ 参照 ) を使用して 反復されて RX エラスティックバッファに追加されたクロックコレクションシーケンスの最初のバイトが RXDATA に含まれるタイミングを示します RXRUNDISP ポートを使用して 現在の RX ランニングディスパリティの代わりに Inserted-Idle を示すようにするには CLK_COR_INSERT_IDLE_FLAG を TRUE に設定します RX チャネルボンディング 機能の説明 RX エラスティックバッファは チャネルボンディングにも使用できます チャネルボンディングでは RX エラスティックバッファを可変レイテンシブロックとして使用することにより 同じ行にある GTP トランシーバレーン間のスキューを相殺できます トランスミッタは すべてのレーンに同時に 1 つのパターンを送信します チャネルボンディング回路では このパターンを使用して FPGA インターフェイスでスキューがない状態でデータが送信されるよう 各レーンのレイテンシを設定します 図 4-31 に チャネルボンディングの概要図を示します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 159
160 第 4 章 : レシーバ X-Ref Target - Figure 4-31 RX Data is Two Clock Cycles Ahead of GTP1 Data 64 Element Elastic Buffer (Set to Four Cycles of Latency by Channel Bonding Controller) Deskewed Data GTP0 (Master) RX Data is Two Clock Cycles Behind GTP0 Data 64 Element Elastic Buffer (Set to Two Cycles of Latency by Channel Bonding Controller) Deskewed Data GTP1 (Slave) UG386_c4_27_ 図 4-31 : チャネルボンディングの概要図 ポートおよび属性 表 4-37 : RX チャネルボンディングのポート ポート方向 RXCHANBONDSEQ0 RXCHANBONDSEQ1 RXCHANISALIGNED0 RXCHANISALIGNED1 RXCHANREALIGN0 RXCHANREALIGN1 表 4-37 に RX チャネルボンディングのポートを示します クロックドメイン 出力 RXUSRCLK2 RXDATA にチャネルにボンディングシーケンスの開始ビットが 含まれると High になります 出力 RXUSRCLK2 この信号は RX エラスティックバッファからの信号であり データストリーム内で確認されたチャネルボンディングシーケンスに従って チャネルがマスタトランシーバに適切にアラインされている場合に High になります アラインされていないチャネルボンディングシーケンスが検出された場合は この信号が Low に駆動され チャネルアライメントが失われていることを示します 出力 RXUSRCLK2 この信号は RX エラスティックバッファからの信号であり レ シーバでトランシーバとマスタ間のアライメントが変更される と 少なくとも 1 サイクル間 High を保持します 説明 160 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
161 RX チャネルボンディング 表 4-37 : RX チャネルボンディングのポート ( 続き ) ポート方向 クロックドメイン 説明 RXCHBONDI[2:0] 入力 RXUSRCLK チップ上の片側半分の西側と東側を接続する専用のハードウェアコネクションです チャネルボンディングは 最大 4 レーンまで可能です この信号は スレーブでのみ使用され マスタとして設定されている別のトランシーバの RXCHBONDO ポートから駆動されます シミュレーション動作を正常に行うため ユーザーデザインでこのポートを接続する必要があります 単一 GTPA1_DUAL タイル内の 2 つのレーン間でチャネルボンディングが使用される場合は このポートをフローティング状態にできます RXCHBONDO[2:0] 出力 RXUSRCLK チップ上の片側半分の西側と東側を接続すつ専用のハードウェアコネクションです チャネルボンディングは 最大 4 レーンまで可能です マスタおよびスレーブで使用される信号であり 2 つの GTPA1_DUAL プリミティブ間において チャネルボンディングの制御とクロックコレクションの制御を渡すために使用されます マスタとして設定されている別のトランシーバの RXCHBONDO ポートから駆動されます シミュレーション動作を正常に行うため ユーザーデザインでこのポートを接続する必要があります 単一 GTPA1_DUAL タイル内の 2 つのレーン間でチャネルボンディングが使用される場合は このポートをフローティング状態にできます RXCHBONDMASTER0 RXCHBONDMASTER1 RXCHBONDSLAVE0 RXCHBONDSLAVE1 入力 RXUSRCLK2 トランシーバがチャネルボンディングのマスタであることを示します このポートは 同じレーンの RXCHBONDSLAVE と同時に High 駆動できません また これらのポートは PCS 内部で使用される RX チャネルボンディングレベルを自動的かつ動的に設定します また GTPA1_DUAL タイル内にあるデュアル (DUAL) 間の RXCHBONDO と RXCHBONDI は 自動的に接続されます ただし シミュレーション動作を行う場合は この GTPA1_DUAL タイルを手動で接続する必要があります 入力 RXUSRCLK2 トランシーバがチャネルボンディングのスレーブであることを示します このポートは 同じレーンの RXCHBONDMASTER と同時に High 駆動はできません また これらのポートは PCS 内部で使用される RX チャネルボンディングレベルを自動的かつ動的に設定します また GTPA1_DUAL タイル内にあるデュアル (DUIAL) 間の RXCHBONDO と RXCHBONDI は 自動的に接続されます ただし シミュレーション動作を行う場合は この GTPA1_DUAL タイルを手動で接続する必要があります Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 161
162 第 4 章 : レシーバ 表 4-37 : RX チャネルボンディングのポート ( 続き ) RXDATAWIDTH0 RXDATAWIDTH1 ポート方向 クロックドメイン 入力 RXUSRCLK2 レシーバの外部データ幅を設定します 8/10 : 1 バイトインターフェイス 16/20 : 2 バイトインターフェイス 32/40 : 4 バイトインターフェイス 8B10B が使用される場合 この属性値は 10 の倍数値となります 説明 RXENCHANSYNC0 RXENCHANSYNC1 入力 RXUSRCLK2 チャネルボンディングを有効にします (FPGA ロジックからマス タとスレーブの両方へ ) 表 4-38 に RX チャネルボンディングの属性を示します 表 4-38 : RX チャネルボンディングの属性 属性 種類 説明 CB2_INH_CC_PERIOD_0 CB2_INH_CC_PERIOD_1 整数 この入力は PCIe デザインで使用されます チャネルボンディングまたはクロックコレクション実行時における 制御キャラクタの削除 / 保持を決定します ウィザードのデフォルト設定を使用してください CHAN_BOND_1_MAX_SKEW_0 CHAN_BOND_1_MAX_SKEW_1 整数 この属性は スレーブにチャネルボンディングの実行を命令する前に マスタが待機する USRCLK サイクル数を制御し また チャネルボンディ ングで許容可能な最大スキューを決定します これらの属性値は チャネ CHAN_BOND_2_MAX_SKEW_0 整数ルボンディングシーケンス間の最小距離の 1/2 未満 ( バイトまたは 10 CHAN_BOND_2_MAX_SKEW_1 ビットコード ) に設定してください CHAN_BOND_KEEP_ALIGN_0 CHAN_BOND_KEEP_ALIGN_1 ブール関数 PCI Express デザインでチャネルボンディング中に ALIGN キャラクタを保持します この属性は予約されており 常に FALSE に設定されている必要があります CHAN_BOND_SEQ_1_1_0 CHAN_BOND_SEQ_1_1_1 CHAN_BOND_SEQ_1_2_0 10 ビットバイナリ CHAN_BOND_SEQ_1 属性は CHAN_BOND_SEQ_1_ENABLE と併用してチャネルボンディングシーケンス 1 を定義します 各サブシーケンスの長さは 10 ビットです サブシーケンスの設定規則 は RX_DATA_WIDTH および RX_DECODE_SEQ_MATCH で決定さ CHAN_BOND_SEQ_1_2_1 れます チャネルボンディングサブシーケンスの設定方法は 165 ペー CHAN_BOND_SEQ_1_3_0 ジの チャネルボンディングシーケンスの設定 を参照してください CHAN_BOND_SEQ_1_3_1 CHAN_BOND_SEQ_1_4_0 CHAN_BOND_SEQ_1_4_1 CHAN_BOND_SEQ_1_ENABLE_0 CHAN_BOND_SEQ_1_ENABLE_1 4 ビットバイナリ すべてのサブシーケンスを使用する必要はありません CHAN_BOND_SEQ_LEN は 一致させる際のシーケンス数を決定します CHAN_BOND_SEQ_LEN = 1 の場合 CHAN_BOND_SEQ_1_1 のみ使用します CHAN_BOND_SEQ_1_ENABLE を使用すると シーケンスの一部を don't care にできます CHAN_BOND_SEQ_1_ENABLE[k] が 0 の場合 CHAN_BOND_SEQ_1_k は don't care のサブシーケンスとなり 常に一致します 162 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
163 RX チャネルボンディング 表 4-38 : RX チャネルボンディングの属性 ( 続き ) 属性 種類 説明 CHAN_BOND_SEQ_2_1_0 CHAN_BOND_SEQ_2_1_1 10 ビットバイナリ CHAN_BOND_SEQ_2_2_0 CHAN_BOND_SEQ_2_2_1 CHAN_BOND_SEQ_2_3_0 CHAN_BOND_SEQ_2_3_1 CHAN_BOND_SEQ_2_4_0 CHAN_BOND_SEQ_2_4_1 CHAN_BOND_SEQ_2_ENABLE_0 4 ビット CHAN_BOND_SEQ_2_ENABLE_1 バイナリ CHAN_BOND_SEQ_2 属性は CHAN_BOND_SEQ_2_ENABLE と併用して 2 番目のチャネルボンディングを定義します CHAN_BOND_SEQ_2_USE が TRUE の場合は 2 番目のシーケンスがチャネルボンディングをトリガする代替シーケンスとして使用されます 各サブシーケンスの長さは 10 ビットです サブシーケンスの設定規則は RXDATAWIDTH および RX_DECODE_SEQ_MATCH で決定されます チャネルボンディングサブシーケンスの設定方法は 165 ページの チャネルボンディングシーケンスの設定 を参照してください すべてのサブシーケンスを使用する必要はありません CHAN_BOND_SEQ_LEN は 一致させる際に使用するシーケンス数を決定します CHAN_BOND_SEQ_LEN = 1 の場合 CHAN_BOND_SEQ_2_1 のみ使用します CHAN_BOND_SEQ_2_USE_0 CHAN_BOND_SEQ_2_USE_1 CHAN_BOND_SEQ_LEN_0 CHAN_BOND_SEQ_LEN_1 PCI_EXPRESS_MODE_0 PCI_EXPRESS_MODE_1 RX_EN_MODE_RESET_BUF_0 RX_EN_MODE_RESET_BUF_1 ブール関数 整数 ブール関数 ブール関数 CHAN_BOND_SEQ_2_ENABLE を使用すると シーケンスの一部を don't care にできます CHAN_BOND_SEQ_2_ENABLE[k] が 0 の場合 CHAN_BOND_SEQ_2_k は don't care のサブシーケンスとなり 常に一致します チャネルボンディングシーケンス 2 を使用するかを指定します TRUE : シーケンス 1 または 2 でトリガ可能 FALSE : シーケンス 1 でのみトリガ可能チャネルボンディングを検出するためにトランシーバが一致させるチャネルボンディングシーケンスの長さをバイトで定義します 有効な長さは 1 2 および 4 バイトです PCI Express デザインの場合 この属性のデフォルト設定は TRUE です そのほかのプロトコルの場合は FALSE に設定します TRUE に設定すると PCI Express 用の特別動作 ( チャネルのパワーダウン要求として TXELECIDLE = 1 TXCHARDISPMODE = 1 TXCHARDISPVAL = 0 を認識 ) が可能になり TXCHARDISPMODE = 1 および TXCHARDISPVAL = 0 は PIPE 仕様のインターフェイス信号 TXCompliance = 1 をエンコードします TXCHARDISPMODE および TXCHARDISPVAL の設定は PIPE 用にエンコードし FTS レーンデスキュー用の特殊サポートを有効化します チャネルボンディングでこの属性を TRUE に設定すると 前のチャネルボンディング情報を再利用した 短いシーケンスでのチャネルボンディングが可能になります RXCHBONDMASTER(0/1) または RXCHBONDSLAVE(0/1) ポートが変更するときに RX エラスティックバッファを自動リセットする機能を有効にします Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 163
164 第 4 章 : レシーバ RX チャネルボンディングの使用 このセクションでは レシーバチャネルボンディングを使用する際の手順を説明します チャネルボンディングの有効化 各 GTP トランシーバには RX エラスティックバッファのポインタを制御して チャネルボンディングを実行できる回路が含まれます チャネルボンディングを使用する場合 RX_BUFFER_USE 属性を TRUE に設定し RX エラスティックバッファを有効にする必要があります 各 GTP トランシーバには 1 つのチャネルボンディング回路が内蔵されています GTP ランシーバのチャネルボンディング回路を使用する場合は 次の手順に従ってください 1. 各 GTP トランシーバに対して チャネルボンディングモードを設定します 2. マスタトランシーバの RXCHBONDMASTER を High に設定します 3. スレーブトランシーバの RXCHBONDSLAVE を High に設定します 4. チップ上の同じ側にある東と西の間でチャネルボンディングが必要な場合は マスタとなるデュアルの RXCHBONDO ポートとスレーブとなるデュアルの RXCHBONDI ポートを接続してください 単一デュアル内にある 2 つのレーン間でチャネルボンディングが必要な場合は ユーザーデザインで RXCHBONDO および RXCHBONDI をフローティング状態にできます マスタからスレーブのデュアルへ直接チャネルボンディングポートを接続します これは シミュレーションを正常に行うために必要です 5. チャネルボンディングシーケンスおよび検出パラメータを設定します チャネルボンディングモード 各 GTP トランシーバのチャネルボンディングモードは チャネルボンディングを有効化し トランシーバをマスタまたはスレーブに指定します チャネルボンディングされた GTP トランシーバグループには マスタが 1 つあり 2 レーンまたは 4 レーンのスレーブが 1 つまたは 3 つあります GTP トランシーバグループのチャネルボンディングを有効にする場合は 1 つのトランシーバをマスタとして設定します グループ内の残りの GTP トランシーバはスレーブとなります シミュレーションを正常に行うため RXCHBONDI/RXCHBONDO ポート間を接続する必要があります 有効なチャネルボンディングのコンフィギュレーションは次のとおりです 2 レーンコンフィギュレーション M S X X S M X X X X M S X X S M 4 レーンコンフィギュレーション M S S S S M S S S S M S S S S M メモ : X はシングルレーンを示します つまり XX は MS または SM の 2 倍レーンペアを意味しています 164 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
165 RX チャネルボンディング チャネルボンディングシーケンスの設定 チャネルボンディングシーケンスは クロックコレクションシーケンスと同じ方法でプログラムされます CHAN_BOND_SEQ_LEN は 1 ~ 4 のサブシーケンスで シーケンスの長さを設定します CHAN_BOND_SEQ_1_* は シーケンスの値を設定します CHAN_BOND_SEQ_2_USE が TRUE の場合 CHAN_BOND_SEQ_2_* は 2 番目のシーケンスの値を設定します 各サブシーケンスのアクティブビット数は RXDATAWIDTH および RX_DECODE_SEQ_MATCH によって異なります (152 ページの RX クロックコレクション 参照 ) 図 4-32 に サブシーケンスビットのマッピングを示します X-Ref Target - Figure 4-32 CHAN BOND_SEQ_x_y 9 8 7:0 8-Bit Channel Bonding Sequence 1 = Sequence is a K Character 0 = Sequence is Regular Character 1 = Sequence Uses Inverted Disparity 0 = Sequence Uses Regular Disparity UG386_c4_28_ 図 4-32 : チャネルボンディングシーケンスの設定 クロックコレクションシーケンスと同様 チャネルボンディングシーケンスには don't care サブシーケンスを含むことができます CHAN_BOND_SEQ_1_ENABLE および CHAN_BOND_SEQ_2_ENABLE がこれらのバイトを設定します 図 4-33 に チャネルボンディングサブシーケンスのマッピングを示します X-Ref Target - Figure 4-33 CHAN_BOND_SEQ_x_4 CHAN_BOND_SEQ_x_3 CHAN_BOND_SEQ_x_2 CHAN_BOND_SEQ_x_1 CHAN_BOND_SEQ_x_ENABLE 図 4-33 : チャネルボンディングシーケンスのマッピング UG386_c4_29_ 最大スキューの設定 チャネルボンディングシーケンスがマスタで受信されても すぐにチャネルボンディングが実行されるわけではありません スレーブにレイテンシがある場合は さらにいくつかのバイトを受信する必要があります この待機時間が 実質的には RX エラスティックバッファが許容可能な最大スキューとなります スキューが待機時間より大きい場合 マスタがチャネルボンディングをトリガするまでに スレーブがシーケンスを受信していない可能性があります ( 図 4-34 参照 ) 図 4-34 に 2 つの FIFO ( マスタとスレーブに各 1 つずつ ) 示します スレーブがマスタの後ろにある場合 マスタはチャネルボンディングをトリガするまで数サイクル待機する必要があり 待機しないでトリガすると スレーブではバッファにチャネルボンディングシーケンスをまだ受信できていない状態になります Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 165
166 第 4 章 : レシーバ X-Ref Target - Figure 4-34 Master Receives CB Sequence SEQ1 D7 D7 D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1 D1 D0 Master Elastic Buffer Slave Elastic Buffer The Master waits MAX SKEW cycles before triggering bonding, giving the slave time to receive the sequence as well. The message to perform channel bonding is sent using the CHBONDO port. D10 D9 D9 D8 D8 SEQ1 SEQ1 D7 D7 D6 D6 D5 D5 D4 D4 D3 Master Elastic Buffer Slave Elastic Buffer D11 D10 D9 D8 SEQ1 D7 D6 D5 Master Elastic Buffer D10 D9 D8 SEQ1 D7 D6 D5 D4 Slave Elastic Buffer 図 4-34 : チャネルボンディングの例 ( マスタで CHAN_BOND_*_MAX_SKEW = 2 の場合 ) CHAN_BOND_1_MAX_SKEW および CHAN_BOND_2_MAX_SKEW は 各チャネルボンディングシーケンス 1 および 2 で許容可能な最大スキューの設定に使用されます 最大スキュー範囲は 1 ~ 14 です チャネルボンディングのスキューは データストリーム内のチャネルボンディングシーケンス間で許容される最小距離未満に設定する必要があります この最小距離の値は 使用しているプロトコルによって異なります チャネルボンディングとクロックコレクションの優先順位 FPGA RX インターフェイス 機能の説明 Slave s New Elastic Buffer Read Pointer UG386_c4_30_ クロックコレクション (152 ページの RX クロックコレクション 参照 ) およびチャネルボンディングは 共に RX エラスティックバッファのポインタで動作します 通常 2 つの回路は競合することなく機能しますが これらが同時に発生すると競合が発生します このような場合は 一方の回路を優先させる必要があります クロックコレクションを優先させる場合 CLK_COR_PRECEDENCE を TRUE に設定し チャネルボンディングを優先させる場合は これを FALSE に設定します FPGA は FPGA の RX インターフェイスを介して GTP レシーバから RX データを受信します データは RXUSRCLK2 の立ち上がりエッジで RXDATA ポートから読み出されます RXDATA は 1 2 または 4 バイト幅に設定できます 実際のポート幅は GTP トランシーバの INTDATAWIDTH 属性や 8B/10B デコーダの使用有無に依存します 有効なポート幅は および 40 ビットです 166 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
167 FPGA RX インターフェイス インターフェイスでのパラレルクロック (RXUSRCLK2) レートは RX ラインレート RXDATA ポート幅 および 8B/10B デコーダの使用有無によって決定されます また レシーバの内部 PCS ロジックに RXUSRCLK が供給される必要があります ここでは パラレルクロックがどのように駆動されるかを示し それらが正しく動作するための制約について説明します ポートおよび属性 表 4-39 : FPGA RX インターフェイスのポート ポート方向 GTPCLKOUT0[1:0] GTPCLKOUT1[1:0] INTDATAWIDTH0 INTDATAWIDTH1 REFCLKOUT0 REFCLKOUT1 RXDATA0[31:0] RXDATA1[31:0] RXDATAWIDTH0 RXDATAWIDTH1 表 4-39 に FPGA RX インターフェイスのポートを示します クロックドメイン 出力 N/A GTPA1_DUAL タイルから FPGA ロジックへクロックを供給する場合は GTPCLKOUT(0/1) ポートを使用することを推奨します GTPCLKOUT(0/1) のビット 0 によって ユーザーが TXOUTCLK(0/1) または REFCLKPLL(0/1) のいずれかの出力が有効になります CLK_OUT_GTP_SEL_(0/1) が出力されるクロックを選択します GTPCLKOUT(0/1) のビット 1 は RXRECCLK(0/1) を出力します 入力 非同期 INTDATAWIDTH は データ幅 (8 ビットまたは 10 ビット ) を決定し ます 0 : 8 ビットバイナリ 1 : 10 ビットバイナリ 説明 両方の GTP トランシーバが同じ PLL を共有する場合は INTDATAWIDTH0 と INTDATAWIDTH1 を同じにしてください 出力 N/A 予約されています 代替として CLK_OUT_GTP_SEL_(0/1) 属性を REFCLKPLL(0/1) に設定して GTPCLKOUT(0/1)[0] を使用してくだ さい 出力 RXUSRCLK2 FPGA の受信インターフェイスの受信データバスです RXDATA(0/1) の幅は RXDATAWIDTH(0/1) 設定で決定されます 入力 RXUSRCLK2 このポートは FPGA と接続する RXDATA(0/1) 受信データの幅を選択します 0 : 1 バイトインターフェイス RXDATA(0/1)[7:0] 1 : 2 バイトインターフェイス RXDATA(0/1)[15:0] 2 : 4 バイトインターフェイス RXDATA(0/1)[31:0] クロックドメインは このインターフェイス用に選択したクロック [RXRECCLK(0/1) RXUSRCLK(0/1) RXUSRCLK2(0/1)] に依存します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 167
168 第 4 章 : レシーバ 表 4-39 : FPGA RX インターフェイスのポート ( 続き ) ポート方向 クロックドメイン 説明 RXRECCLK0 RXRECCLK1 出力 N/A このポートは CDR ユニットからのリカバリクロック用です PMA と RX エラスティックバッファ間の RX ロジックにクロックを提供します このクロックは RXUSRCLK を入力データと同期して駆動するために使用できます RXPOWERDOWN[1:0] を電力が最も低い P2 ステートを示す 11 に指定すると このトランシーバの RXRECCLK は不定となります GTP トランシーバの RXRECCLK は 固定値 1 または 0 のいずれかになります RXRESET0 RXRESET1 RXUSRCLK20 RXUSRCLK21 入力 非同期 このポートは PCS RX システムリセットです RX エラスティックバッファ 8B/10B デコーダ カンマ検出 およびその他の RX レジスタをリセットします RXRESET は GTPRESET のチャネルごとのサブセットです 入力 N/A このポートを使用して FPGA ロジックと RX インターフェイスを同期化します このクロックは 立ち上がりエッジで RXUSRCLK と位相が揃う必要があります クロックレートは F RXUSRCLK および RXDATAWIDTH に依存します RXDATAWIDTH = 0 の場合は F RXUSRCLK2 = F RXUSRCLK RXDATAWIDTH = 1 の場合は F RXUSRCLK2 = F RXUSRCLK /2 RXDATAWIDTH = 2 の場合は F RXUSRCLK2 = F RXUSRCLK /4 RXUSRCLK0 RXUSRCLK1 入力 N/A このポートは RX PCS の内部データパスへクロックを供給します このクロックは常に供給される必要があります クロックレートは INTDATAWIDTH(0/1) に依存します INTDATAWIDTH(0/1) が Low の場合は F RXUSRCLK = Line Rate/8 INTDATAWIDTH(0/1) が High の場合は F RXUSRCLK = Line Rate/10 FPGA RX インターフェイスの属性はありません 説明 FPGA RX インターフェイスによって GTP トランシーバからパラレルで受信データを読み出すことができます このインターフェイスを使用するには 次の設定が必要です RXDATA ポート幅を設定します RXUSRCLK2 および RXUSRCLK を適切なレートで動作しているクロックに接続します インターフェイス幅の設定 表 4-40 に RX データパス幅のコンフィギュレーションを示します 8B/10B エンコーダについては 137 ページの RX 8B/10B デコーダ で詳しく説明します 168 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
169 FPGA RX インターフェイス 表 4-40 : RX データパス幅のコンフィギュレーション INTDATAWIDTH(0/1) (1) RXDATAWIDTH (2) RXDEC8B10BUSE FPGA RX インターフェイス幅 ( ビット ) 0 0 N/A N/A N/A メモ : 1. 内部データパス幅は INTDATAWIDTH(0/1) が Low のとき 8 ビットで INTDATAWIDTH(0/1) が High のとき 10 ビットです 2. RXDATA インターフェイスは RXDATAWIDTH = 0 のとき 1 バイト幅 RXDATAWIDTH = 1 のとき 2 バイト幅 RXDATAWIDTH = 2 のとき 4 バイト幅です 図 4-35 に 内部データパスが 8 ビット幅 (INTDATAWIDTH = Low) で 8B/10B エンコーダ無効の場合での RXDATA がシリアル受信されるようすをを示します X-Ref Target - Figure 4-35 INTDATAWIDTH(0/1) = 0 and RXDEC8B10BUSE = 0 Received Last Received First Received Last Received First RXDATA RXDATAWIDTH = 1 RXDATAWIDTH = 0 Received Last Received First RXDATA RXDATAWIDTH = 2 UG386_c4_31_ 図 4-35 : 8B/10B がパイパスされる場合の RX インターフェイス ( 内部データパスは 8 ビット ) 図 4-36 に 内部データパス幅が 10 ビット (INTDATAWIDTH = High) で 8B/10B デコーディングが無効の場合に RXDATA がシリアル受信されるようすを示します RXDATA が 10 ビットまたは 20 ビット幅の場合には 8B/10B デコーダインターフェイスの RXDISPERR および RXCHARISK ポートを使用して 追加ビットを受信します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 169
170 第 4 章 : レシーバ X-Ref Target - Figure 4-36 INTDATAWIDTH(0/1) = 1 and RXDEC8B10BUSE = 0 Received Last Received First Received Last Received First RXDATA RXDATAWIDTH = 1 RXDATAWIDTH = 0 RXCHARISK[1] RXDISPERR[1] RXCHARISK[0] RXDISPERR[0] RXCHARISK[0] RXDISPERR[0] Received Last Received First RXDATA RXDATAWIDTH = 2 RXCHARISK[3] RXCHARISK[2] RXCHARISK[1] RXCHARISK[0] RXDISPERR[3] RXDISPERR[2] RXDISPERR[1] RXDISPERR[0] UG386_c4_32_ 図 4-36 : 8B/10B がパイパスされる場合の RX インターフェイス ( 内部データパスは 10 ビット ) 8B/10B デコードを使用する場合 データインターフェイスは 8 ビットの倍数ですが ( 図 4-35 参照 ) データは RXDATA ポートに現れる前にデコードされます 8B/10B エンコーダを使用する場合のビット順序については 137 ページの RX 8B/10B デコーダ を参照してください RXUSRCLK および RXUSRCLK2 の接続 FPGA RX インターフェイスには 2 つのパラレルクロック (RXUSRCLK および RXUSRCLK2) があります RXUSRCLK は GTP トランシーバの PCS ロジック用の内部クロックです RXUSRCLK で必要なレートは GTPA1_DUAL タイルの内部データパス幅 (INTDATAWIDTH) および GTP レシーバの RX ラインレートに依存します (RX ラインレートの詳細は 122 ページの RX クロック分周制御 を参照 ) 式 4-1 に RXUSRCLK のレートを求める計算式を示します Line Rate RXUSRCLK Rate = Internal Datapath Width 式 4-1 RXUSRCLK2 は GTP トランシーバの RX 側に入る信号すべてを同期化するための主要クロックです GTP レシーバの RX 側に入力されるほとんどの信号は RXUSRCLK2 の立ち上がりエッジで取り込まれます RXUSRCLK2 と RXUSRCLK の関係は RXDATAWIDTH に基づいた固定レートになります 式 4-2 ~ 式 4-4 に RXDATAWIDTH = {0 1 2} の場合における RXUSRCLK と RXUSRCLK2 の関係式を示します RXDATAWIDTH = 0:F RXUSRCLK2 =F RXUSRCLK 式 4-2 RXDATAWIDTH = 1:F RXUSRCLK2 =F RXUSRCLK /2 式 4-3 RXDATAWIDTH = 2:F RXUSRCLK2 =F RXUSRCLK /4 式 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
171 FPGA RX インターフェイス RXUSRCLK RXUSRCLK2 および CLKIN の関係には 従うべき規則があります まず RXUSRCLK および RXUSRCLK2 は クロックスキューを可能な限り最小限に抑えた状態で 立ち上がりエッジで位相が揃う必要があります 低スキュークロックリソース (BUFG) を使用して RXUSRCLK および RXUSRCLK2 を駆動します 2 つの周波数が同一の場合は 同じクロックリソースを使用して両クロックを駆動します 2 つのクロック周波数が異なる場合は RXUSRCLK を分周して RXUSRCLK2 の周波数を生成します 設計者は これら 2 つのクロックの立ち上がりエッジが揃うように調整してください 同じオシレータがトランスミッタおよびレシーバのリファレンスクロックを駆動するようにチャネルが構成されている場合は GTPCLKOUT[0] を使用して TXUSRCLK および TXUSRCLK2 を駆動する方法と同じようにして GTPCLKOUT[0] を使用して RXUSRCLK および RXUSRCLK2 を駆動できます ( ユーザーが CLK_OUT_GTP_SEL 属性を使用して TXOUTCLK または REFCLKPLL を選択します ) クロックコレクションが無効の場合は RX 位相アライメント機能を使用してシリアルクロックとパラレルクロックを揃える必要があります 位相アライメント回路を有効にする際の手順は 141 ページの RX エラスティックバッファのバイパス を参照してください 異なるオシレータを使用して トランスミッタおよびレシーバのリファレンスクロックを駆動し またクロックコレクション機能が無効の場合は RXUSRCLK および RXUSRCLK2 が GTPCLKOUT[1] (RXREFCLK) で駆動されるようにし 位相アライメント回路を使用する必要があります クロックコレクションを使用しているときは RXRECCLK REFCLKOUT および TXOUTCLK が RXUSRCLK および RXUSRCLK2 のソースとして使用可能です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 171
172 第 4 章 : レシーバ 172 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
173 第 5 章 ボードデザインのガイドライン 概要 本章では Spartan-6 FPGA GTP トランシーバを使用するデザインをプリント基板 (PCB) にインプリメントする方法を示します GTP トランシーバはアナログ回路であるため PCB にインプリメントする際には特別な配慮が必要です デザインの最適動作を実現するためには デバイスピンの機能を理解することのほかに デバイスインターフェイス 伝送ラインのインピーダンスと配線 電源デザインのフィルタリングと分配 コンポーネント選択 PCB レイアウトとスタックアップデザインなどの問題に取り組む必要があります ピンの説明およびデザインのガイドライン GTPA1_DUAL ピンの説明 表 5-1 に GTPA1_DUAL タイルのピンを示します 表 5-1 : GTPA1_DUAL タイルのピン ピン方向説明 MGTAVCC 入力 ( パッド ) MGTAVCC は GTPA1_DUAL タイルの内部アナログ回路およびデジタ ル回路用のアナログ電源です 公称電圧 = 1.2VDC です MGTAVCCPLL0 入力 ( パッド ) MGTAVCCPLL0 は GTPA1_DUAL タイルの PLL0 に電源供給します また GTPA1_DUAL タイルのレーン 0 におけるトランスミッタおよびレシーバでのクロック配線回路にも電源を供給します したがって PLL0 が使用されない場合でも レーン 0 のトランスミッタ / レシーバが使用される場合は MGTAVCCPLL0 に電源を投入する必要があります 公称電圧 = 1.2VDC です MGTAVCCPLL1 入力 ( パッド ) MGTAVCCPLL1 は GTPA1_DUAL タイルの PLL1 に電源供給します また GTPA1_DUAL タイルのレーン 1 におけるトランスミッタおよびレシーバでのクロック配線回路にも電源を供給します したがって PLL1 が使用されない場合でも レーン 1 のトランスミッタ / レシーバが使用される場合は MGTAVCCPLL1 に電源を投入する必要があります 公称電圧 = 1.2VDC です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 173
174 第 5 章 : ボードデザインのガイドライン 表 5-1 : GTPA1_DUAL タイルのピン ( 続き ) MGTAVTTRCAL 入力 ( パッド ) 終端抵抗キャリブレーション回路のバイアス電源電流です このピンは MGTAVTTTX 電源ピンと 50Ω の外部精密抵抗があるピンへ接続する必要があります 抵抗のもう一方のピンは MGTRREF ピンへ接続します MGTAVTTRCAL ピンから抵抗ピンまでのトレースは 抵抗ピンのもう一方のピンから MGTRREF ピンまでのトレースと 長さおよび構造が同じである必要があります MGTAVTTRX 入力 ( パッド ) MGTAVTTRX は GTPA1_DUAL タイルにおけるレシーバの終端回路用 アナログ電源です 公称電圧 = 1.2VDC MGTAVTTTX 入力 ( パッド ) MGTAVTTTX は GTPA1_DUAL タイルにおけるトランスミッタの終端 回路用アナログ電源です 公称電圧 = 1.2VDC MGTREFCLK0P MGTREFCLK0N MGTREFCLK1P MGTREFCLK1N 入力 ( パッド ) 入力 ( パッド ) GTPA1_DUAL タイルのリファレンスクロック用差動クロック入力ピンペアです GTPA1_DUAL タイルのリファレンスクロック用差動クロック入力ピンペアです MGTRREF 入力 ( パッド ) 終端抵抗キャリブレーション回路のキャリブレーション抵抗入力ピンです 50Ω の外部精密抵抗があるピンは 最短トレースでこのピンへ接続してください 抵抗ピンから MGTRRE ピンまでのトレースは 抵抗ピンのもう一方のピンから MGTAVTTRCAL ピンまでのトレースと 長さおよび構造が同じである必要があります MGTRXP0/MGTRXN0 MGTRXP1/MGTRXN1 MGTTXP0/MGTTXN0 MGTTXP1/MGTTXN1 ピン方向説明 入力 ( パッド ) 出力 ( パッド ) RXP と RXN は GTPA1_DUAL タイル内にある各レシーバの作動入力ペアです レシーバが使用されていない場合は これらの入力ピンをグランドに接続してください TXP と TXN は GTPA1_DUAL タイルにある各トランスミッタの作動出力ペアです トランスミッタが使用されていない場合は これらの入力ピンをフローティングにしてください GTP トランシーバへの電源供給接続 GTP トランシーバの物理的構造 Spartan -6 FPGA GTP トランシーバは バンク デュアル およびレーンという構成要素から成っています GTP のレーンにはレシーバとトランスミッタ 1 つずつ含まれ デュアルには 2 つのレーンが含まれ バンクには 2 つのデュアルが含まれます GTP レーン GTP レーンは トランスミッタ レシーバ および PLL をそれぞれ 1 つずつ含む構成になっています 各 GTP レーンには 差動レシーバ入力ピンペア 差動リファレンスクロック入力ピンペア および差動トランスミッタ出力ピンペアがそれぞれ一対ずつあります さらに GTP レーンには PLL 用の電源供給ピン (MGTAVCCPLL) があります 174 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
175 ピンの説明およびデザインのガイドライン GTP デュアル GTP のデュアルは 2 つのレーンで構成されています デュアル内の 2 つのレーンの電源供給は MGTAVCCPLL 電源供給入力ピンを除いて すべて共有します 共有する電源ピンは MGTAVCC MGTAVTTTX および MGTAVTTRX です MGTAVCCPLL0 および MGTAVCCPLL1 は PLL0 と PLL1 へそれぞれ電源を供給するピンとなります GTP バンク GTP バンクは 2 つのデュアルおよび 1 つの終端抵抗キャリブレーション回路で構成されています また GTP DUAL がリファレンスクロックソースやチャネルボンディング用のタイミング情報を共有できるようにする回路もあります 終端抵抗キャリブレーション回路は GTP バンク内の 2 つのデュアルにあるすべてのレシーバとトランスミッタの終端回路へキャリブレーション情報を提供します 終端キャリブレーション回路は GTP バンク内の GTPA1_DUAL タイル 0 の MGTAVTTTX から電源供給されます 図 5-1 に 異なるパッケージにおける GTPA1_DUAL の位置および番号付けを示します X-Ref Target - Figure 5-1 GTP Bank1 GTP Bank1 GTPA1_ DUAL_101 GTPA1_ DUAL_101 GTPA1_ DUAL_123 GTPA1_ DUAL_101 GTPA1_ DUAL_123 Spartan-6 FPGA XC6SLX25T - CSG324, FG484 Spartan-6 FPGA All except XC6SLX25T - CSG324, FG484 Spartan-6 FPGA FG676, FG900 GTPA1_ DUAL_245 GTPA1_ DUAL_267 GTPA1_DUAL tiles are available in 1, 2, or 4 to a package - GTPA1_DUAL_101: Lanes 0 & 1 - GTPA1_DUAL_102: Lanes 2 & 3 - GTPA1_DUAL_103: Lanes 4 & 5 - GTPA1_DUAL_104: Lanes 6 & 7 GTP Bank2 UG386_c5_11_ 図 5-1 : Spartan-6 FPGA の GTP パッケージの詳細 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 175
176 第 5 章 : ボードデザインのガイドライン 電源接続 図 5-2 に GTP バンクの電源接続を示します X-Ref Target - Figure 5-2 GTP Bank GTPA1_DUAL Tile 0 MGTAVCC 1.2V (1,2) MGTAVCCPLL0 MGTAVCCPLL1 MGTAVTTRX MGTAVTTTX MGTAVTTRCAL MGTRREF GTP Bank RCAL 50Ω MGTAVTTTX MGTAVCCPLL0 MGTAVCCPLL1 MGTAVTTRX MGTAVCC GTPA1_DUAL Tile 1 Notes: 1. Nominal values. Refer to the Spartan-6 FPGA Data Sheet for values and operating conditions. 2. Devices with only one GTPA1_DUAL tile will not have the second GTPA1_DUAL tile in the bank. UG386_c5_01_ 図 5-2 : Spartan-6 FPGA GTP トランシーバの電源接続 図 5-2 のデカップリングキャパシタの値は 例として示しています これらのキャパシタの実際の値は 表 5-2 を参照してください 終端抵抗キャリブレーション回路 RCAL ( 抵抗キャリブレーション ) 回路で計算されたキャリブレーション値は 同じ GTP バンク内のすべての GTPA1_DUAL プリミティブで共有されます ( 図 5-3 参照 ) MGTAVTTRCAL ピンおよび MGTRREF ピンを使用して バイアス回路電源と外部キャリブレーション抵抗を RCAL 回路へ接続します RCAL 回路は FPGA コンフィギュレーション時にのみ抵抗キャリブレーションを実行します すべてのアナログ電圧は Spartan-6 FPGA データシート で指定する範囲内で供給される必要があります 176 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
177 ピンの説明およびデザインのガイドライン RCAL 回路は 各 GTP バンクに関連しています RCAL 回路は FPGA のコンフィギュレーション中に終端抵抗キャリブレーションを実行し バンク内のすべての GTPA1_DUAL タイルへキャリブレートした値を提供します X-Ref Target - Figure 5-3 The trace length from the resistor pins to the FPGA pins MGTRREF and MGTVTTRCAL must be equal in length and geometry MGTAVTTTX 1.2V Internal to FPGA MGTAVTTRCAL Binary Resistor Calibration (BRcal) RREF External 50Ω Precision Resistor MGTRREF Comparator Internal Resistor Network rctrl[4:0] Master RCAL GTPA1_DUAL Tile for Resistor Calibration RX/TX Termination in each GTPA1_DUAL Tile UG386_c5_02_ 図 5-3 : 終端抵抗キャリブレーション回路 X-Ref Target - Figure 5-4 Connection to MGTAVTTTX Voltage 50Ω The trace lengths from the resistor pins to the FPGA pins MGTRREF and MGTVTTRCAL must be equal in length MGTAVTTRCAL MGTRREF UG386_c5_03_ 図 5-4 : RREF 抵抗用の PCB レイアウト Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 177
178 第 5 章 : ボードデザインのガイドライン GTP トランシーバを使用する場合と未使用の場合の電源接続管理 GTP バンクをすべて使用する場合の接続 電源接続 図 5-2 に示すように電源ピンを接続します 各電源ピンの電圧は 図に示すとおりです 単一電源ソースを使用して GTP バンクのすべての電源ピンへ接続します GTP バンクのすべての電源ピンへ電圧供給するためには PCB の電源プレーンが効果的であり 使用を推奨します RCAL 回路の接続 終端抵抗キャリブレーション回路は 図 5-2 に示すように MGTAVCCRCAL および MGTRREF ピンへ接続してください 詳細は 176 ページの 終端抵抗キャリブレーション回路 を参照してください 同じ GTP バンク内の GTP デュアルを使用する場合としない場合の電源接続 電源接続 GTP バンク内にあるいずれか 1 つの GTP DUAL のみ使用する場合は 未使用 GTP DUAL へ電源供給をオフにできます この場合 未使用 GTP DUAL の電源ピンはグランドへ接続してください GTP デュアルの一方の GTP DUAL のみを使用し もう一方のデュアルには電源を供給しない場合は 使用するデュアルを GTPA1_DUAL タイル 0 とし 未使用デュアルを GTPA1_DUAL タイル 1 としてください これは 終端抵抗キャリブレーション回路の電源が GTPA1_DUAL タイル 0 の MGTAVTTTX 電源ピンから供給されているためです RCAL 回路の接続 終端抵抗キャリブレーション回路は 図 5-2 に示すように MGTAVCCRCAL および MGTRREF ピンへ接続してください 詳細は 176 ページの 終端抵抗キャリブレーション回路 を参照してください リファレンスクロック 概要 このセクションでは リファレンスクロックソースやオシレータの選択について説明します オシレータは 次の項目で評価されます 周波数範囲 出力電圧幅 ジッタ ( 予測可能 ランダム Peak-to-Peak) 立ち上がりおよび立ち下がり時間 電源電圧および電流 ノイズ仕様 デューティサイクルおよびデューティサイクル耐性 周波数の安定性 178 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
179 リファレンスクロック これらの項目は GTP トランシーバを含むデザインで使用するオシレータを選択する際の基準となります 図 5-5 に Spartan-6 FPGA データシート の GTP トランシーバセクションで使用されている シングルエンドクロック入力の Peak-to-Peak 電圧振幅を示します X-Ref Target - Figure 5-5 +V MGTREFCLKP 0 MGTREFCLKN V ISE UG386_c5_04_ 図 5-5 : シングルエンドクロック入力の Peak-to-Peak 電圧振幅 図 5-6 に MGTREFCLKP-MGTREFCLKN の差動クロック入力の Peak-to-Peak 電圧振幅を示します X-Ref Target - Figure 5-6 +V MGTREFCLKP MGTREFCLKN 0 V IDIFF V UG386_c5_05_ 図 5-6 : 差動クロック入力の Peak-to-Peak 電圧振幅 図 5-7 に リファレンスクロックの立ち上がり時間および立ち下がり時間の規則を示します X-Ref Target - Figure % T RCLK 20% T FCLK UG386_c5_06_ 図 5-7 : 立ち上がりおよび立ち下がり時間 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 179
180 第 5 章 : ボードデザインのガイドライン 図 5-8 に IBUFDS 内部の詳細を示します 専用の差動リファレンスクロック入力ペア (MGTREFCLKP/MGTREFCLKN) は 100W の差動インピーダンスで内部終端されています この差動リファレンスクロック入力ペアの同相モード電圧は 2/3 MGTAVCC または 0.8V ( 公称値 ) となります 詳細は Spartan-6 FPGA データシート を参照してください X-Ref Target - Figure 5-8 MGTREFCLKP 50Ω (1) 2 MGTAVCC 3 50Ω (1) REFCLK to GTP Dedicated Clock Routing MGTREFCLKN Notes: 1. Nominal values. Refer to the Spartan-6 FPGA Data Sheet for exact specifications. UG386_c5_07_ 図 5-8 : MGTREFCLK 入力の詳細 GTP のリファレンスクロックに関するチェック項目 GTP トランシーバを含むデザインで使用するオシレータを選択する際には 次の条件を満たしているかを判断する必要があります オシレータの出力ピンと GTPA1_DUAL 専用クロック入力ピン間に AC カップリングを提供している リファレンスクロックの差動電圧振幅が Spartan-6 FPGA データシート に示す範囲内である ( 公称範囲 200mV ~ 2000mV 公称値 1200mV ) リファレンスクロックの特性評価が Spartan-6 FPGA データシート に定義されている基準を満たす またはそれ以上である GTP トランシーバが物理レイヤサポートを提供する場合の標準的なリファレンスクロックの特性を満たしている またはそれ以上である 電源 ボード配置 およびノイズ仕様に関するオシレータベンダーの規定要件を満たしている オシレータと GTPA1_DUAL のクロック入力ピン間には 専用の Point-to-Point 接続を使用する 差動送信ライン上のインピーダンスの不連続を最小限に抑える ( インピーダンスの不連続はジッタを発生する ) リファレンスクロックのソースとなる GTPA1_DUAL タイルをインスタンシエートする 180 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
181 リファレンスクロック インターフェイス LVDS 図 5-9 に LVDS オシレータと GTP リファレンスクロック入力の接続を示します X-Ref Target - Figure μf Internal to Spartan-6 FPGA LVDS Oscillator 0.01 μf GTP Reference Clock Input Buffer UG386_c5_08_ 図 5-9 : LVDS オシレータと GTP トランシーバのリファレンスクロック入力の接続 LVPECL 図 5-10 に LVPECL オシレータと GTP リファレンスクロック入力の接続を示します X-Ref Target - Figure μf Internal to Spartan-6 FPGA 240Ω (1) LVPECL Oscillator 240Ω (1) 0.01 μf GTP Reference Clock Input Buffer AC カップリング Notes: 1. Nominal values. Refer to the oscillator vendor data sheet for the actual bias resistor requirement. UG386_c5_09_ 図 5-10 : LVPECL オシレータと GTP トランシーバのリファレンスクロック入力の接続 オシレータリファレンスクロック出力と GTPA1_DUAL リファレンスクロック入力の AC カップリングは 次のような役割を果たします オシレータと GTPA1_DUAL 専用クロック入力ピン間の DC 電流をブロックする ( これにより 両方の消費電力が削減可能 ) 同相電圧の独立 AC カップリングキャパシタがオンチップ終端を持つハイパスフィルタとなり リファレンスクロックのワンダを低減させる ノイズおよび消費電力を最小限にするため ソースとなっているオシレータと GTPA1_DUAL 専用のリファレンスクロック入力ピンの間に外部 AC カップリングキャパシタが必要です Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 181
182 第 5 章 : ボードデザインのガイドライン クロック分配 オシレータからの 2 つ以上の差動クロック入力ペアへクロックを提供 Spartan-6 デバイス内において反対側に配置されている GTPA1_DUAL プリミティブ間で 1 つのクロックが共有される必要がある場合 2 対以上の差動クロック入力ペアが必要になります 複数出力のオシレータを使用するか または単一出力のオシレータと複数出力のクロックバッファの組み合わせを使用する必要があります GTPA1_DUAL プリミティブの専用クロック入力ピンペアとオシレータ出力またはバッファ出力との接続は ポイント間接続してください 分岐送信ライン T スタブ ブランチ あるいはデイジーチェーン接続は使用できません 未使用のリファレンスクロック入力 電源供給およびフィルタリング 概要 未使用の差動入力ピンのクロックペア (MGTREFCLKP および MGTREFCLKN) は 共にグランドに接続するか フローティング状態にすることを推奨します Spartan-6 FPGA の GTPA1_DUAL タイルには 1.2VDC ( 公称電圧レベル ) の単一電源が必要です GTP のアナログ電源供給でのノイズは GTP トランシーバのパフォーマンスに悪影響を与える可能性があります つまり GTP トランスミッタの出力でジッタが増加し GTP レシーバのジッタ耐性が低下します 電源ノイズの原因には 次のようなものがあります 電圧レギュレータのノイズ 電力分配ネットワーク ほかの回路からのカップリング GTP アナログ電源供給をインプリメントする際には これらのノイズの原因を考慮する必要があります FPGA の入力ピンで測定される Peak-to-Peak ノイズの合計値は 10mVpp を超過してはいけません 電圧レギュレータ 通常 GTP のアナログ電源供給には 電圧制御の最終段階を提供するローカル電圧レギュレータがあります これらのレギュレータは できる限り GTP の電源ピンの近くに配置することが理想です アナログ電圧レギュレータと GTP 電源ピンの距離が短いほど 制御後のノイズ結合を低減できます また 動的な負荷による過渡電流が原因で生じるノイズ生成も抑えられます リニアレギュレータおよびスイッチングレギュレータ 使用する電圧レギュレータによって 電源回路の複雑性 コスト およびパフォーマンスが大きく異なります 電圧レギュレータは システム全体の熱要件や効率要件を満たしながら ノイズを最小限に抑えて GTP トランシーバへ適切な電源を供給する必要があります GTP アナログ電圧レールで使用されるレギュレータは 主に 2 種類 ( リニアレギュレータおよびスイッチングレギュレータ ) あります これらはそれぞれにメリットおよびデメリットがあるため 最適なレギュレータを選択する際には 次の要件を基準にしてください 物理的なサイズ サーマルバジェット 182 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
183 電源供給およびフィルタリング 電力効率 コスト リニアレギュレータ 一般的にリニアレギュレータは GTP アナログ電源レール用の電圧制御としては最もシンプルなレギュレータです このレギュレータは 制御された出力電圧に大きなノイズを発生させないことが特徴です 一部のリニアレギュレータには 電圧入力で生じたノイズを出力で除去する機能があります また このレギュレータは 最小限の外部コンポーネントで PCB 上に電源回路を構築できることも特徴です リニアレギュレータの欠点は 最小ドロップアウト電圧および制限された効率性です リニアレギュレータでは 出力電圧より高い入力電圧が必要です この最小ドロップアウト電圧は 負荷電流によって異なります 低ドロップアウトのリニアレギュレータであっても レギュレータの入力電圧と出力電圧の差は最小限にする必要があります このため システム電源供給デザインでは リニアレギュレータの最小ドロップアウト電圧要件を考慮する必要があります リニアレギュレータの効率は リニアレギュレータの入力電圧と出力電圧の差に依存します たとえば レギュレータの入力電圧が 2.5VDC で 出力電圧が 1.2VDC の場合 電圧差は 1.3VDC となります レギュレータへ入力する電流とレギュレータから出力される電流が同じであると仮定した場合 このレギュレータの最大効率は 48% となります つまり 負荷に対して電力が供給され そのたびにレギュレータが余分な電力を消費します レギュレータが電力を消費すると熱が生成されるため システムではこれらの熱を処理する必要があります このようにリニアレギュレータで生成された熱の放熱処理が システムコストを増加させる可能性があります コンポーネント数や複雑性を考えた場合 リニアレギュレータはスイッチングレギュレータより優位性があるように思いますが 消費電力や放熱器を含む全体的なシステムコストを考えた場合 高電流アプリケーションではリニアレギュレータの方が高コストになる場合もあります スイッチングレギュレータ スイッチングレギュレータは GTP アナログ電源供給に対して優れた電圧制御を提供できる高効率レギュレータです リニアレギュレータとは異なり スイッチングレギュレータによる電圧制御は 入力電圧と出力電圧の電圧降下に依存しません したがって 高い効率を維持しながら 大容量の電流を供給できます スイッチングレギュレータが 95% 以上の効率性を維持できることはめずらしくありません このレギュレータの効率は 入力電圧と出力電圧の差にあまり影響されず 負荷電流の影響を受けます それでも リニアレギュレータの場合よりも この影響は少ないです スイッチングレギュレータは高効率であるため 大量の電力を回路へ供給する必要がない上に レギュレータで生成される熱を放出するための大きな装置も必要ありません スイッチングレギュレータの欠点は 回路の複雑性とレギュレータのスイッチ機能によってノイズが生成されることです 通常 スイッチングレギュレータの回路は リニアレギュレータの回路より複雑です この難点を解消するため 多くのスイッチングレギュレータコンポーネント開発ベンダーが開発に努めています 通常 スイッチングレギュレータ回路には スイッチングトランジスタエレメント インダクタ およびキャパシタが必要です 求められる効率要件や負荷要件によっては 外部にスイッチングトランジスタやインダクタが必要になる場合があります コンポーネント数のほかにも これらのスイッチングレギュレータを効率良く動作させるためには PCB 上の配置配線を慎重に行う必要があります スイッチングレギュレータは非常に大きなノイズを生成するため Spartan-6 FPGA の GTP アナログ電源入力ピンへ電圧を供給する前にフィルタ機能を追加する必要があります 182 ページの 概要 で説明したとおり ノイズ振幅は 10mVpp 未満に抑える必要があります したがって このノイズ要件を満たすように電源フィルタを設計し スイッチングレギュレータで生成されるノイズを抑えてください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 183
184 第 5 章 : ボードデザインのガイドライン 電力分配ネットワーク 電源供給デカップリングキャパシタ Spartan-6 FPGA GTP トランシーバのアナログ電源の場合 デカップリングキャパシタによって電源プレーンとグランド間のインピーダンスを低減します 最低限のグランドへのインピーダンスで 電源プレーンはノイズを低減することができます この場合は 同じパッケージ内のトランシーバ間を分離するように GTP トランシーバと外部回路を分離すると そのメリットを享受できます GTP トランシーバのアナログ電源でデカップリングキャパシタを使用する主な目的は 電源ソースやそのほかの PCB 上の回路から生じるノイズ振幅を低減することです 表 5-2 に 電源 (MGTAVCC および MGTAVTTTX MGTAVTTRX および MGTAVCCPLL) の推奨されるフィルタリング方法を示します 表 5-2 : Spartan-6 FPGA GTPA1_DUAL タイルの推奨される最低限のデカップリング キャパシタンス (µf) 種類 サイズ 電源デカップリングキャパシタの数 1 個の GTPA1_DUAL 2 個の GTPA1_DUAL (1 つのバンク ) 製造者 0.22 セラミック AVX 社 04026D224KAT2A Kemet 社 C0402C224K9PAC 村田製作所 GRM155R06J224KE01D 4.7 セラミック AVX 社 06036D475KAT2A P/N Kemet 社 村田製作所 C0603C475K9PAC GRM188R60J475KE19D PCB ( プリント回路基板 ) の設計 Spartan-6 FPGA GTP トランシーバの最高パフォーマンスを実現するには PCB の設計を慎重に行う必要があります PCB を設計する際の注意すべき項目は ボードスタックアップ コンポーネント配置 および信号配線です プリント基板 (PCB) デザインには 次のコンポーネントが含まれます 1.2VDC MGT アナログ電源用の電力分配ネットワーク レシーバおよびトランスミッタのデータライン ソースとなるオシレータと GTP リファレンスクロック入力間の接続 終端キャリブレーション抵抗 次のセクションでは これらのコンポーネントを PCB へインプリメントする際の問題について説明します 184 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
185 電源供給およびフィルタリング ボードスタックアップ Spartan-6 FPGA GTP トランシーバの場合 ボードスタックップレイヤは 電源レイヤと信号レイヤに分類されます 電源レイヤのグループは 電源ソース (MGTACC MGTAVCCPLL MGTAVTTTX および MGTAVTTRX) を Spartan-6 FPGA の電源ピンへ接続します 信号レイヤグループには レシーバ / トランスミッタデータの回路ボードトレースやリファレンスクロックが提供されます スタックアップ内にある 2 つのレイヤグループはそれぞれ相対的で重要な役割を果たすため 個別の機能として考えられます 図 5-11 に PCB 全体に統合されているこれらのグループを示します X-Ref Target - Figure 5-11 Layer 1 (Top Signal Microstrip Routing) MGT Signal Layers Layer 2 (GND Plane) Layer 3 (Signal Stripline Routing) Layer 4 (GND Plane) Other Layers in Board Stackup MGT Power Layers Other Layers in Board Stackup Layer N (GND Plane) Layer N+1 (MGT Power Plane) Layer N+2 (GND Plane) UG386_c5_12_ 図 5-11 : GTP 電源レイヤおよび信号レイヤのスタックアップ このスタックアップの最上位には GTP 信号レイヤグループがあります この信号レイヤグループには 2 つの信号レイヤと 2 つのプレーンレイヤが含まれています プレーンレイヤは 信号レイヤの伝送ラインにリターン電流パスを提供します 各信号レイヤは グランドプレーンによって隣接するレイヤからシールド ( 保護 ) されています このため 隣接レイヤの配線を気にすることなく 各信号レイヤのトレースを配線できます これによって 各信号レイヤの配線チャネルが増加し レイアウト設計者に最適な信号のブレイクアウトオプションをより多く与えることができます GTP 電源レイヤグループは 自律レイヤグループとして処理されるため ボードスタックアップ全体に配置できます このレイヤグループは 中央に GTP 電源プレーンのレイヤがあり それを 2 つのグランドレイヤで挟む構成となっています グランドプレーンは 電源プレーンを上 / 下レイヤの信号配線から保護する役割を果たします グランドプレーンは低インピーダンスであることから 電源プレーンは上または下に配線されている信号のリターン電流パスとして使用されます また グランドプレーンは Spartan-6 FPGA の MGT 領域にあるグランドピンを接続する手段も提供します Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 185
186 第 5 章 : ボードデザインのガイドライン MGT 電源接続 GTP の電源ピンと電力分散ネットワーク間の接続は トランシーバ全体のパフォーマンスに非常に大きな影響を与えます PDN と FPGA 間のインターフェイスは 低インピーダンスで低ノイズにする必要があります FPGA の MGT 電源供給で許容される最大ノイズは 10mVpp です (10KHz ~ 80MHz) MGT の電源は 電源アイランド (Power Island) から供給できます 図 5-12 に Spartan-6 FPGA パッケージにおける MGT 領域と電源アイランドの位置関係を示します 電源アイランドが FPGA の SelectIO インターフェイス領域に飛び出さないように配線してください X-Ref Target - Figure 5-12 MGT BGA Region 1.2V Analog Power Island GND Plane GND Plane UG386_c5_13_ 図 5-12 : GTP の電源アイランド 図 5-13 では Spartan-6 FPGA MGT 領域に対する電源アイランドの位置づけを示し FPGA BGA ピンフィールドの SelectIO インターフェイス領域への侵入をどのように回避するかを示しています また 図 5-13 では 184 ページの 電源供給デカップリングキャパシタ で説明したフィルタキャパシタが電源プレーン上で適切なノイズフィルタリングを提供する方法を示しています X-Ref Target - Figure 5-13 MGT 1.2V Island MGT Region Spartan-6 FPGA UG386_c5_14_ 図 5-13 : MGT 電源アイランドと Spartan-6 FPGA 186 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
187 SelectIO の使用ガイドライン クロストーク クロストークは MGT のパフォーマンス低下の主な原因となります クロストークとは Aggressor 信号による信号トレースとのカップリングや MGT 電源供給とのカップリングによって生じるノイズ現象のことです MGT 電源供給とのカップリングは最も頻繁に生じる現象で 大きなダメージが生じます 電源供給でノイズが生じると 信号トレースのノイズカップリングのように単一レーンへの影響ではなく トランシーバ回路全体へ影響を及ぼします また 電源供給でノイズカップリングが生じた場合 ノイズはトランシーバの通常信号と統合されているため 原因を解明することが困難となります 結果として トランスミッタ出力にノイズが生じ レシーバのジッタ耐性が減少することで トランシーバのパフォーマンスが低下します クロストークによるパフォーマンス低下を回避するには 次の対策が必要があります 電源プレーンがボード上のほかの回路へ与える影響をモニタしてください これらの回路には メモリインターフェイス用のデータラインやプロセッサバスなどが含まれます 負荷ポイント周辺にある MGT 電源に対して適切なフィルタリングを適用してください ノイズの原因となる信号の大きさや周波数に基づいてフィルタリング要件を判断してください MGT 電源供給で許容される最大ノイズは 10mVpp です (10KHz ~ 80MHz) MGT 電力分散ネットワークに近接している信号トレースのリターン電流パスに注意が必要です 広帯域や同一レイヤまたは隣接レイヤ上で生じるトレースのエッジカップリング以外にも 異なるリファレンスプレーンを使用するレイヤ間で Aggressor 信号が伝播される場合には Aggressor 信号によるカップリングが生じます リターン電流パスをもたないビア部分に信号が伝播されると ボード上でインピーダンスが低いパスにリターン電流が流れます このとき対象となるのは MGT の信号ビアまたは電源ビアです SelectIO の使用ガイドライン SelectIO 信号の使用ガイドラインは次のとおりです GTP トランシーバ信号の配線と SelectIO 信号の配線を隣接レイヤで行わないでください これらの信号が隣接レイヤで配線されていると 大規模なノイズカップリングが生じる可能性があります SelectIO 信号と GTP トランシーバ信号のリターン電流パスを分離します ( トレースおよびビアを含む ) GTP トランシーバの電源アイランドも SelectIO がノイズを発生する原因となります SelectIO 信号を GTP の電源アイランド上で配線してはいけません 推奨される信号ランチ (Signal Launch) Spartan-6 FPGA GTP トランシーバの信号ランチについては ザイリンクス販売代理店へお問い合わせください Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 187
188 第 5 章 : ボードデザインのガイドライン 188 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
189 付録 A 8B/10B 有効な文字 8B/10B エンコードには データ文字と K 符号のセットが含まれます シリアルラインの DC バランスを維持したまま 8 ビットの値を 10 ビットのコードに変換します K 符号は CHARISK で指定された特別なデータ文字で 特殊な情報を付与するために使用します 表 A-1 に有効なデータ文字を示し 197 ページの表 A-2 に有効な K 符号を示します 表 A-1 : 有効なデータ文字 データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 189
190 付録 A : 8B/10B 有効な文字 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
191 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 191
192 付録 A : 8B/10B 有効な文字 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
193 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 193
194 付録 A : 8B/10B 有効な文字 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
195 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 195
196 付録 A : 8B/10B 有効な文字 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
197 表 A-1 : 有効なデータ文字 ( 続き ) データバイト名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj D D D D D D D D D D D D D D D D D D D 表 A-2 : 有効な制御 K 符号 特殊コード名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj K K K K K K K K28.7 (1) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 197
198 付録 A : 8B/10B 有効な文字 表 A-2 : 有効な制御 K 符号 ( 続き ) 特殊コード名 ビット HGF EDCBA 現在の RD - abcdei fghj 現在の RD + abcdei fghj K K K K メモ : 1. テストおよび特性評価にのみ使用します 198 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
199 付録 B GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ 表 B-1 は PCS0 または PCS1 にデコードされる DRP アドレス空間を示しています 表 B-1 : PCS0/PCS1 にデコードされる DRP アドレス DADDR[7] DADDR[6] DADDR[5:0] アドレス指定可能な DRP 領域 0 0 XXXXXX Attribute space for PCS0 0 1 XXXXXX Attribute space for PCS1 表 B-2 にアドレス順に並び替えた DRP マップを示します 属性はすべてバイナリ値として DRP テーブルに格納されます メモ : 予約済みのビットに変更を加えないでください 明示的に示されていない属性は Spartan-6 FPGA GTX トランシーバウィザードによって自動的に設定されます これらの属性は 別の値を明示的に要求する場合を除き デフォルトのままにしておきます DADDR[5:0] DRP ビット R/W 属性名 属性ビット 0h 15:0 R/W Reserved 15:0 1h 15:0 R/W Reserved 15:0 2h 15:0 R/W Reserved 15:0 3h 15:0 R/W Reserved 15:0 4h 15:0 R/W Reserved 15:0 属性のエンコード DRP バイナリエンコード Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 199
200 付録 B : GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 5h 15 R/W Reserved 属性のエンコード DRP バイナリエンコード 14 R/W RX_EN_IDLE_RESET_BUF_(0,1) FALSE 0 TRUE 1 13 R/W RX_EN_IDLE_RESET_PH_(0,1) FALSE 0 TRUE 1 12 R/W RX_EN_IDLE_RESET_FR_(0,1) FALSE 0 TRUE 1 11 R/W RX_EN_IDLE_HOLD_CDR_(0,1) FALSE 0 TRUE 1 10:6 R/W CDR_PH_ADJ_TIME_(0,1) 4: (1) 5:3 R/W OOB_CLK_DIVIDER_(0,1) 2: :0 R/W CLK25_DIVIDER_(0,1) 2: h 15:0 R/W PLL_COM_CFG_(0,1) 15:0 7h 15:12 R/W RX_IDLE_LO_CNT_(0,1) 3: (1) 11:8 R/W RX_IDLE_HI_CNT_(0,1) 3: (1) 7:0 R/W PLL_COM_CFG_(0,1) 23: japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
201 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 8h 15:2 R/W Reserved 13:0 属性のエンコード DRP バイナリエンコード 1 R/W TX_XCLK_SEL_(0,1) TXUSR 1 TXOUT 0 0 R/W RX_XCLK_SEL_(0,1) RXREC 0 RXUSR 1 9h 15:13 R/W Reserved 12 R/W GTP_CFG_PWRUP_(0,1) FALSE 0 TRUE 1 11:0 R/W TRANS_TIME_FROM_P2_(0,1) 11:0 Ah 15:8 R/W Reserved 7:0 7:0 R/W TRANS_TIME_NON_P2_(0,1) 7:0 Bh 15:10 R/W Reserved 5:0 9:0 R/W RANS_TIME_TO_P2_(0,1) 9:0 Ch 15 R/W PCOMMA_DETECT_(0,1) FALSE 0 TRUE 1 14 R/W DEC_PCOMMA_DETECT_(0,1) FALSE 0 TRUE 1 13 R/W MCOMMA_DETECT_(0,1) FALSE 0 TRUE 1 12 R/W DEC_MCOMMA_DETECT_(0,1) FALSE 0 TRUE 1 11 R/W DEC_VALID_COMMA_ONLY_(0,1) FALSE 0 TRUE 1 10 R/W ALIGN_COMMA_WORD_(0,1) :0 R/W COMMA_10B_ENABLE_(0,1) 9: (1) Dh 15:11 R/W Reserved 4:0 10 R/W RX_SLIDE_MODE_(0,1) PCS 0 PMA 1 9:0 R/W MCOMMA_10B_VALUE_(0,1) 9: (1) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 201
202 付録 B : GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット Eh 15:10 R/W Reserved 5:0 9:0 R/W PCOMMA_10B_VALUE_(0,1) 9: (1) Fh 15:12 R/W CHAN_BOND_SEQ_1_ENABLE_(0,1) 4: (1) 11:10 R/W Reserved 1:0 9:0 R/W CHAN_BOND_SEQ_1_1_(0,1) 9: (1) 10h 15:14 R/W Reserved 1:0 13:10 R/W CHAN_BOND_1_MAX_SKEW_(0,1) 3: (1) 9:0 R/W CHAN_BOND_SEQ_1_2_(0,1) 9: (1) 11h 15:14 R/W Reserved 1:0 13:10 R/W CB2_INH_CC_PERIOD_(0,1) 3: (1) 9:0 R/W CHAN_BOND_SEQ_1_3_(0,1) 9: (1) 12h 15:11 R/W Reserved 4:0 属性のエンコード DRP バイナリエンコード 10 R/W RX_EN_MODE_RESET_BUF_(0,1) FALSE 0 TRUE 1 9:0 R/W CHAN_BOND_SEQ_1_4_(0,1) 9: (1) 13h 15:12 R/W CHAN_BOND_SEQ_2_ENABLE_(0,1) 4: (1) 11:10 R/W Reserved 1:0 9:0 R/W CHAN_BOND_SEQ_2_1_(0,1) 9: (1) 14h 15:14 R/W Reserved 1:0 13:10 R/W CHAN_BOND_2_MAX_SKEW_(0,1) 3: (1) 9:0 R/W CHAN_BOND_SEQ_2_2_(0,1) 9: (1) 202 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
203 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 15h 15 R/W Reserved 属性のエンコード DRP バイナリエンコード 14 R/W PCI_EXPRESS_MODE_(0,1) FALSE 0 TRUE 1 13:12 R/W CHAN_BOND_SEQ_LEN_(0,1) 1: R/W CHAN_BOND_SEQ_2_USE_(0,1) FALSE 0 TRUE 1 10 R/W CHAN_BOND_KEEP_ALIGN_(0,1) FALSE 0 TRUE 1 9:0 R/W CHAN_BOND_SEQ_2_3_(0,1) 9: (1) 16h 15:10 R/W Reserved 5:0 9:0 R/W CHAN_BOND_SEQ_2_4_(0,1) 9: (1) 17h 15:12 R/W CLK_COR_SEQ_1_ENABLE_(0,1) 4: (1) 11:10 R/W CLK_COR_ADJ_LEN_(0,1) 1: :0 R/W CLK_COR_SEQ_1_1_(0,1) 9: (1) 18h 15:10 R/W CLK_COR_MAX_LAT_(0,1) 5: (1) 9:0 R/W CLK_COR_SEQ_1_2_(0,1) 9: (1) 19h 15:10 R/W CLK_COR_MIN_LAT_(0,1) 5: (1) 9:0 R/W CLK_COR_SEQ_1_3_(0,1) 9: (1) 1Ah 15 R/W Reserved 14:10 R/W CLK_COR_REPEAT_WAIT_(0,1) 4: (1) 9:0 R/W CLK_COR_SEQ_1_4_(0,1) 9: (1) Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 203
204 付録 B : GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 属性のエンコード DRP バイナリエンコード 1Bh 15:12 R/W CLK_COR_SEQ_2_ENABLE_(0,1) 4: (1) 11:10 R/W CLK_COR_DET_LEN_(0,1) 1: :0 R/W CLK_COR_SEQ_2_1_(0,1) 9: (1) 1Ch 15 R/W RX_DECODE_SEQ_MATCH_(0,1) FALSE 0 TRUE 1 14 R/W CLK_CORRECT_USE_(0,1) FALSE 0 TRUE 1 13 R/W CLK_COR_SEQ_2_USE_(0,1) FALSE 0 TRUE 1 12 R/W CLK_COR_PRECEDENCE_(0,1) FALSE 0 TRUE 1 11 R/W CLK_COR_KEEP_IDLE_(0,1) FALSE 0 TRUE 1 10 R/W CLK_COR_INSERT_IDLE_FLAG_(0,1) FALSE 0 TRUE 1 9:0 R/W CLK_COR_SEQ_2_2_(0,1) 9: (1) 1Dh 15:10 R/W Reserved 15:10 9:0 R/W CLK_COR_SEQ_2_3_(0,1) 9: (1) 1Eh 15:10 R/W Reserved 15:10 9:0 R/W CLK_COR_SEQ_2_4_(0,1) 9: (1) 1Fh 15:14 R/W Reserved 1:0 13:8 R/W SATA_MIN_BURST_(0,1) 5: (1) 7:6 R/W Reserved 1:0 5:0 R/W SATA_MAX_BURST_(0,1) 5: (1) 20h 15:14 R/W Reserved 1:0 13:8 R/W SATA_MIN_INIT_(0,1) 5: (1) 7:6 R/W Reserved 1:0 5:0 R/W SATA_MAX_INIT_(0,1) 5: (1) 204 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
205 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 21h 15:14 R/W Reserved 1:0 13:8 R/W SATA_MIN_WAKE_(0,1) 5: (1) 7:6 R/W Reserved 1:0 5:0 R/W SATA_MAX_WAKE_(0,1) 5: (1) 22h 15:12 R/W Reserved 11 R/W RX_STATUS_FMT_(0,1) PCIE 0 SATA 1 10 R/W PLL_SATA_(0,1) FALSE 0 TRUE 1 9:7 R/W SATA_IDLE_VAL_(0,1) 2: (1) 6:4 R/W SATA_BURST_VAL_(0,1) 2: (1) 3:0 R/W COM_BURST_VAL_(0,1) 3: (1) 23h 15:1 R/W Reserved 15:1 0 R/W RXPRBSERR_LOOPBACK_(0,1) 属性のエンコード DRP バイナリエンコード Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 205
206 付録 B : GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名 属性ビット 24h 15:13 R/W Reserved 2:0 12 R/W USR_CODE_ERR_CLR_(0,1) 属性のエンコード DRP バイナリエンコード 11:9 R/W RX_LOS_INVALID_INCR_(0,1) 2: :6 R/W RX_LOS_THRESHOLD_(0,1) 2: R/W RX_LOSS_OF_SYNC_FSM_(0,1) FALSE 0 TRUE 1 4:2 R/W TXRX_INVERT_(0,1) 2: (1) 1 R/W TX_BUFFER_USE_(0,1) FALSE 0 TRUE 1 0 R/W RX_BUFFER_USE_(0,1) FALSE 0 TRUE 1 25h 15:0 R/W PMA_CDR_SCAN_(0,1) 15:0 26h 15:14 R/W Reserved 1:0 13:11 R/W TX_IDLE_DELAY_(0,1) 2: (1) 10:0 R/W PMA_CDR_SCAN_(0,1) 26:16 27h 15:14 R/W Reserved 1:0 13:0 R/W TX_DETECT_RX_CFG_(0,1) 13:0 206 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
207 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名 属性ビット 28h 15:0 R/W Reserved 15:0 29h 15:0 R/W Reserved 15:0 2Ah 15:0 R/W Reserved 15:0 2Bh 15:0 R/W Reserved 15:0 2Ch 15:0 R/W TST_ATTR_(0,1) 15:0 2Dh 15:0 R/W TST_ATTR_(0,1) 31:16 2Eh 15:0 R/W Reserved 15:0 2Fh 15:0 R/W Reserved 15:0 30h 15:0 R/W Reserved 15:0 31h 15:2 R/W Reserved 13:0 属性のエンコード DRP バイナリエンコード 1 R/W CLKRCV_TRST_(0,1) FALSE 0 TRUE 1 0 R/W CLKINDC_B_(0,1) FALSE 0 TRUE 1 32h 15:3 R/W Reserved 12:0 2 R/W CLK_OUT_GTP_SEL_(0,1) FALSE 0 TRUE 1 1:0 R/W Reserved 1:0 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 207
208 付録 B : GTP トランシーバの DRP アドレスマップ 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 33h 15:14 R/W Reserved 1:0 13:11 R/W PLLLKDET_CFG_(0,1) 2: (1) 10:6 R/W PLL_DIVSEL_FB_(0,1) 4: :0 R/W PLL_DIVSEL_REF_(0,1) 5: h 15:14 R/W Reserved 1: R/W PLL_SOURCE_(0,1) PLL R/W Reserved PLL1 1 11:10 R/W PLL_TXDIVSEL_OUT_(0,1) 1: :8 R/W PLL_RXDIVSEL_OUT_(0,1) 1: :0 R/W PLL_CP_CFG_(0,1) 7:0 属性のエンコード DRP バイナリエンコード japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
209 表 B-2 : DRP アドレスマップ ( 続き ) DADDR[5:0] DRP ビット R/W 属性名属性ビット 35h 15:6 R/W Reserved 9:0 属性のエンコード DRP バイナリエンコード 5 R/W TERMINATION_OVRD_(0,1) FALSE 0 TRUE 1 4:0 R/W TERMINATION_CTRL_(0,1) 4: (1) 36h 15:0 R/W PMA_RX_CFG_(0,1) 15:0 37h 15:9 R/W PMA_RXSYNC_CFG_(0,1) 6:0 8:0 R/W PMA_RX_CFG_(0,1) 24:16 38h 15:10 R/W Reserved 5:0 9 R/W RCV_TERM_VTTRX_(0,1) FALSE 0 TRUE 1 8 R/W RCV_TERM_GND_(0,1) FALSE 0 TRUE 1 7:6 R/W CM_TRIM_(0,1) 1: (1) 5 R/W AC_CAP_DIS_(0,1) FALSE 0 TRUE 1 4:3 R/W TX_TDCC_CFG_(0,1) 1: (1) 2:0 R/W OOBDETECT_THRESHOLD_(0,1) 2: (1) 39h 15:0 R/W PMA_TX_CFG_(0,1) 15:0 3Ah 15:8 R/W RXEQ_CFG_(0,1) 7: (1) 7:4 R/W Reserved 3:0 3:0 R/W PMA_TX_CFG_(0,1) 19:16 3Bh 15:0 R/W Reserved 15:0 3Ch 15:0 R/W Reserved 15:0 3Dh 15:0 R/W PMA_COM_CFG_WEST 15:0 3Eh 15:0 R/W PMA_COM_CFG_EAST 15:0 3Fh 15:0 R/W PMA_COM_CFG_WEST 31:16 40h 15:0 R/W PMA_COM_CFG_EAST 31:16 41h 15:4 R/W Reserved 11:0 3:0 R/W PMA_COM_CFG_WEST 35:32 42h 15:4 R/W Reserved 11:0 3:0 R/W PMA_COM_CFG_EAST 35:32 Spartan-6 FPGA GTP トランシーバユーザーガイド japan.xilinx.com 209
210 付録 B : GTP トランシーバの DRP アドレスマップ 210 japan.xilinx.com Spartan-6 FPGA GTP トランシーバユーザーガイド
Virtex-6 Clocking
Spartan-6 クロックリソース Proprietary to PALTEK CORPORATION 1 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 2 AGENDA はじめに クロックネットワーク クロックマネージメントタイル (CMT) 使用例 3 高速なクロッキング 新型アプリケーションには複雑なクロック要件が必要 : 高速クロック信号
インターネット接続ガイド v110
1 2 1 2 3 3 4 5 6 4 7 8 5 1 2 3 6 4 5 6 7 7 8 8 9 9 10 11 12 10 13 14 11 1 2 12 3 4 13 5 6 7 8 14 1 2 3 4 < > 15 5 6 16 7 8 9 10 17 18 1 2 3 19 1 2 3 4 20 U.R.G., Pro Audio & Digital Musical Instrument
エレクトーンのお客様向けiPhone/iPad接続マニュアル
/ JA 1 2 3 4 USB TO DEVICE USB TO DEVICE USB TO DEVICE 5 USB TO HOST USB TO HOST USB TO HOST i-ux1 6 7 i-ux1 USB TO HOST i-mx1 OUT IN IN OUT OUT IN OUT IN i-mx1 OUT IN IN OUT OUT IN OUT IN USB TO DEVICE
ScanFront300/300P セットアップガイド
libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby
7 シリーズ FPGA GTP トランシーバー ユーザー ガイド (UG482)
7 シリーズ FPGA GTP トランシーバー ユーザーガイド 本資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください Notice of Disclaimer The information disclosed to
TH-47LFX60 / TH-47LFX6N
TH-47LFX60J TH-47LFX6NJ 1 2 3 4 - + - + DVI-D IN PC IN SERIAL IN AUDIO IN (DVI-D / PC) LAN, DIGITAL LINK AV IN AUDIO OUT 1 11 2 12 3 13 4 14 5 6 15 7 16 8 17 9 18 10 19 19 3 1 18 4 2 HDMI AV OUT
2
NSCP-W61 08545-00U60 2 3 4 5 6 7 8 9 10 11 12 1 2 13 7 3 4 8 9 5 6 10 7 14 11 15 12 13 16 17 14 15 1 5 2 3 6 4 16 17 18 19 2 1 20 1 21 2 1 2 1 22 23 1 2 3 24 1 2 1 2 3 3 25 1 2 3 4 1 2 26 3 4 27 1 1 28
TH-65LFE7J TH-50LFE7J TH-42LFE7J - + - + PC IN DVI-D IN IR IN/OUT CHARGE OUT SERIAL IN LAN AUDIO IN (DVI-D / PC) AUDIO OUT AV IN (HDMI 1 HDMI 2) 19 3 1 1 11 2 12 3 13 4 14 5 6 15 7 16 8 17 9 18 10
Chapter 1 1-1 2
Chapter 1 1-1 2 create table ( date, weather ); create table ( date, ); 1 weather, 2 weather, 3 weather, : : 31 weather -- 1 -- 2 -- 3 -- 31 create table ( date, ); weather[] -- 3 Chapter 1 weather[] create
ScanFront 220/220P 取扱説明書
libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby
ScanFront 220/220P セットアップガイド
libtiff Copyright (c) 1988-1996 Sam Leffler Copyright (c) 1991-1996 Silicon Graphics, Inc. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby
ザイリンクス UG382 Spartan-6 FPGA クロック リソース ユーザー ガイド
Spartan-6 FPGA クロックリソース [Guide ユーザー Subtitle] ガイド [optional] [optional] Xilinx is disclosing this user guide, manual, release note, and/or specification (the "Documentation") to you solely for use in the
iPhone/iPad接続マニュアル
/ JA 2 3 USB 4 USB USB i-ux1 USB i-ux1 5 6 i-mx1 THRU i-mx1 THRU 7 USB THRU 1 2 3 4 1 2 3 4 5 8 1 1 9 2 1 2 10 1 2 2 6 7 11 1 2 3 4 5 6 7 8 12 1 2 3 4 5 6 13 14 15 WPA Supplicant Copyright 2003-2009, Jouni
WQD770W WQD770W WQD770W WQD770W WQD770W 5 2 1 4 3 WQD8438 WQD770W 1 2 3 5 4 6 7 8 10 12 11 14 13 9 15 16 17 19 20 20 18 21 22 22 24 25 23 2 1 3 1 2 2 3 1 4 1 2 3 2 1 1 2 5 6 3 4 1 2 5 4 6 3 7 8 10 11
WYE771W取扱説明書
WYE771W WYE771W 2 3 4 5 6 MEMO 7 8 9 10 UNLOCK RESET/ STOPALARM EMERG. TALK FIRE CONFIRM MENU OFF POWER 11 UNLOCK RESET/ STOPALARM EMERG. TALK FIRE CONFIRM MENU OFF POWER 12 POWER EMERG. RESET/ STOPALARM
外部SQLソース入門
Introduction to External SQL Sources 外部 SQL ソース入門 3 ESS 3 ESS : 4 ESS : 4 5 ESS 5 Step 1:... 6 Step 2: DSN... 6 Step 3: FileMaker Pro... 6 Step 4: FileMaker Pro 1. 6 Step 5:... 6 Step 6: FileMaker Pro...
NetVehicle GX5取扱説明書 基本編
-GX5 1 2 3 4 5 6 7 8 # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 All of the documentation and software included in the 4.4BSD and 4.4BSD-Lite Releases is copyrighted by The Regents of the University of California.
DS-30
NPD4633-00 JA ...6... 6... 6... 6... 6... 7... 7... 7... 7... 8... 8...9...10...11...11...13 Document Capture Pro Windows...13 EPSON Scan Mac OS X...14 SharePoint Windows...16 Windows...16...17 Document
ザイリンクス XAPP1097 : Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装
アプリケーションノート : Artix-7 ファミリ XAPP1097 (v1.0) 2013 年 12 月 5 日 Artix-7 FPGA GTP トランシーバーを使用した SMPTE SDI インターフェイスの実装著者 : John Snow 概要 放送業界向けの映像機器には SMPTE (Society of Motion Picture and Television Engineers)
ダウンロード方法アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルの完全なセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールするための
Quartus II ソフトウェア ダウンロードおよびインストール クイック スタート ガイド 2013 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks of
DS-70000/DS-60000/DS-50000
NPD4647-02 JA ...5...7...8 ADF...9... 9 ADF...10...11...13...15 Document Capture Pro Windows...15 EPSON Scan Mac OS X...16 SharePoint Windows...18 Windows...18...19 Windows...19 Mac OS X...19...20...23...23
PPTフォーム(white)
Spartan-6 概要 株式会社 PALTEK Engineering Group Proprietary to PALTEK CORPORATION 1 アジェンダ Spartan-6 導入 概要 Spartan-6 アーキテクチャ CLB ブロック RAM SelectIO クロック DSP メモリコントローラブロック (MCB) GTP 2 概要 ( ファミリ ) Virtex-6 LXT
DDR3 SDRAMメモリ・インタフェースのレベリング手法の活用
WP-01034-1.0/JP DLL (PVT compensation) 90 PLL PVT compensated FPGA fabric 90 Stratix III I/O block Read Dynamic OC T FPGA Write Memory Run Time Configurable Run Time Configurable Set at Compile dq0 dq1
DDK-7 取扱説明書 v1.10
DDK-7 v. JA 2 ()B-9 /4 ()B-9 2/4 3 4 ()B-9 3/4 ()B-9 4/4 5 6 7 "Mobile Wnn" OMRON SOFTWARE Co., Ltd. 999 All Rights Reserved. 8 CONTENTS 2 3 4 5 6 7 8 9 0 2 3 4 3 4 5 6 2 3 0 4 5 6 7 8 9 0 2 D. 2 3 4 5
EPSON ES-D200 パソコンでのスキャンガイド
NPD4271-00 ...4...7 EPSON Scan... 7...11 PDF...12 / EPSON Scan...13 EPSON Scan...13 EPSON Scan...14 EPSON Scan...14 EPSON Scan...15 Epson Event Manager...16 Epson Event Manager...16 Epson Event Manager...16
untitled
SUBJECT: Applied Biosystems Data Collection Software v2.0 v3.0 Windows 2000 OS : 30 45 Cancel Data Collection - Applied Biosystems Sequencing Analysis Software v5.2 - Applied Biosystems SeqScape Software
ダウンロード方法 アルテラのソフトウェアをインストールするためのダウンロード ファイルには以下の種類があります.tar フォーマットのソフトウェアとデバイス ファイルがバンドルされたセット ダウンロードとインストールをカスタマイズするための個別の実行ファイル ディスクに焼いて他の場所にインストールす
Quartus Prime ソフトウェア ダウンロードおよびインストール クイック スタート ガイド 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks
デザインパフォーマンス向上のためのHDLコーディング法
WP231 (1.1) 2006 1 6 HDL FPGA TL TL 100MHz 400MHz HDL FPGA FPGA 2005 2006 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx,
GT-X980
NPD5061-00 JA ...6...10...10...11...13...15...20...21...21...22 /...23 PDF...27 PDF...31 /...35...38...43...46 EPSON Scan...49...49...49...50 EPSON Scan...51...51...52...52...53 2 Windows...53 Mac OS X...53...53...53...54...56...56...58...59...60...60...61...62...63
GT-X830
NPD5108-00 ...5... 5... 6... 8...11 EPSON Scan...11 PDF...16 OCR...16...17...17...20 /...20...20...22...23...23...24...25...25...26...27 PDF...30...31 / EPSON Scan...34 EPSON Scan...34 EPSON Scan...36
ES-D400/ES-D350
NPD4650-00 ...4 EPSON Scan... 4 Document Capture Pro Windows... 7 EPSON Scan...10 EPSON Scan...10...14 PDF...15 / EPSON Scan...17 EPSON Scan...17 EPSON Scan...18 EPSON Scan...18 Document Capture Pro Windows...19
TH-80LF50J TH-70LF50J
TH-80LF50J TH-70LF50J TY-ST58P20 (70V) TY-ST65P20 (80V) TY-WK70PV50 TY-FB10HD TY-PG70LF50 (70V) TY-PG80LF50 (80V) - + - + SERIAL IN, SERIAL OUT AUDIO IN (COMPOSITE) AV IN DVI-D IN/OUT PC IN AUDIO
基本操作ガイド
HT7-0199-000-V.5.0 1. 2. 3. 4. 5. 6. 7. 8. 9. Copyright 2004 CANON INC. ALL RIGHTS RESERVED 1 2 3 1 1 2 3 4 1 2 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 3 4 5 AB AB Step 1 Step
GT-F740/GT-S640
NPD4743-00 JA ...5 EPSON Scan... 5 Document Capture Pro / Document Capture...11...14 EPSON Scan...14 PDF...18 OCR...18...19...19...21 /...21...22...23 GT-F740...24...24...25...26...26...26...27 PDF...28...30
Veritas System Recovery 18 System Recovery Disk
Veritas System Recovery 18 System Recovery Disk 免責事項 ベリタステクノロジーズ合同会社は この 書の著作権を留保します また 記載された内容の無謬性を保証しません VERITAS の製品は将来に渡って仕様を変更する可能性を常に含み これらは予告なく われることもあります なお 当ドキュメントの内容は参考資料として 読者の責任において管理 / 配布されるようお願いいたします
PX-403A
NPD4403-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22!ex...22 /...23 P.I.F. PRINT Image Framer...23...24...27...27...28...28...28...32 Web...32...32...35...35...35...37...37...37...39...39...40...43...46
操作ガイド(本体操作編)
J-1 QT5-0681-V02 1 m a b c d e f l kj i h g a b c d e f g h i j k l m n n o o s p q r p q r s w t u v x y z t u v w x y z a bc d e f g q p o n m l k j i h a b c d e f g h i j k l {}[] {}[] m n
AWS Client VPN - ユーザーガイド
AWS Client VPN ユーザーガイド AWS Client VPN: ユーザーガイド Copyright 2019 Amazon Web Services, Inc. and/or its affiliates. All rights reserved. Amazon's trademarks and trade dress may not be used in connection with
PX-504A
NPD4537-00 ...6... 6... 9 Mac OS X...10 Mac OS X v10.5.x v10.6.x...10 Mac OS X v10.4.11...13...15...16...16...18...19...20!ex...20 /...21 P.I.F. PRINT Image Framer...21...22...26...26...27...27...27...31
操作ガイド(本体操作編)
J QT5-0571-V03 1 ...5...10...11...11...11...12...12...15...21...21...22...25...27...28...33...37...40...47...48...54...60...64...64...68...69...70...70...71...72...73...74...75...76...77 2 ...79...79...80...81...82...83...95...98
PX-434A/PX-404A
NPD4534-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.11...15...18...19...19...21...22!ex...22 /...23 P.I.F. PRINT Image Framer...23...24...26...27...27...28...28...31 Web...31...31...35...35...35...37...37...37...39...39...40...43...48
ザイリンクス XCN 製造中止製品の通知 : CPLD、コンフィギュレーション PROM、Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号
XCN12011 (v1.0) 2012 年 12 月 3 日 製造中止製品の通知 : CPLD コンフィギュレーション PROM Spartan および Virtex FPGA 製品のリビジョン制御 SCD 製品番号 製造中止製品の通知 概要 この通知は一部の SCD (Specification Control Document) 製品が製造中止となることをお知らせするものです これらの SCD
基本操作ガイド
HT7-0022-000-V.4.0 Copyright 2004 CANON INC. ALL RIGHTS RESERVED 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 4 1 1 2 3 4 5 1 2 1 2 3 1 2 3 1 2 3 1 2 3 4 1 2 3 4 1 2 3 4 5 6 1 2 3 4 5 6 7 1 2 3 4
EPSON PX-503A ユーザーズガイド
NPD4296-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22...23!ex...23 /...24 P.I.F. PRINT Image Framer...24...25...28...28...29...29...30...33
Virtex-6 FPGA で LVDS を使用した、1.25Gb/s での 4X 非同期オーバーサンプリング, アプリケーション ノート (XAPP881)
アプリケーションノート : 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
Microsoft Word - 実験4_FPGA実験2_2015
FPGA の実験 Ⅱ 1. 目的 (1)FPGA を用いて組合せ回路や順序回路を設計する方法を理解する (2) スイッチや表示器の動作を理解し 入出力信号を正しく扱う 2. スケジュール項目 FPGAの実験 Ⅱ( その1) FPGAの実験 Ⅱ( その2) FPGAの実験 Ⅱ( その3) FPGAの実験 Ⅱ( その4) FPGAの実験 Ⅱ( その5) FPGAの実験 Ⅱ( その6) FPGAの実験 Ⅱ(
EP-704A
NPD4533-01 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.11...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...29...29...30...30...31...34
2
SXSXD 2 3 4 5 6 7 8 9 10 11 12 13 DC12V EIAJ RC5320A Class4 14 15 16 17 18 19 20 21 22 23 24 25 26 SCOPE CHART SCOPE CHART CHART SCOPE SCOPE SCOPE CHART CHART 27 SCOPE MODE CHART MODE 28 29 CHART MODE
Microsoft Word - HowToSetupVault_mod.doc
Autodesk Vault 環境設定ガイド Autodesk Vault をインストール後 必要最小限の環境設定方法を説明します ここで 紹介しているのは一般的な環境での設定です すべての環境に当てはまるものではありません 1 条件 Autodesk Data Management Server がインストール済み Autodesk Vault Explorer がクライアント PC にインストール済み
Microsoft Word - PCI-X_PCIeバスのデータ転送-ver1.0.docx
データ転送時におけるエラー / ボード認識不具合に関する資料 2012/06/20 目次 画像データ転送時に発生する問題 ( 過去の事例 )... 3 不具合の発生したチップセットの例... 7 Intel 社製チップセット... 8 テレダインダルサが推奨するチップセットの例... 9 トランザクション層の機能... 11 PCI Express のレーン順序と差動信号の特性... 12 レーン0とレーン1で送信側と受信側で速度差を吸収する機能...
EPSON EP-803A/EP-803AW ユーザーズガイド
NPD4293-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...30...30...31...31...31...35
EPSON EP-703A ユーザーズガイド
NPD4295-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...22...23...24!ex...24 /...25 P.I.F. PRINT Image Framer...25...26...29...30...30...31...31...34
QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?
アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます
PLL ダイナミック リコンフィギュレーション, アプリケーション ノート (XAPP879)
アプリケーションノート : Spartan-6 ファミリ XAPP7 (v1.1) 11 年 1 月 6 日 PLL ダイナミックリコンフィギュレーション著者 : Karl Kurbjun Carl Ribbing 概要 このアプリケーションノートは ダイナミックリコンフィギュレーションポート (DRP) を介して Spartan - 6 FPGA の位相ロックループ (PLL) のクロック出力の周波数
2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk
2D/3D CAD データ管理導入手法実践セミナー Autodesk Vault 最新バージョン情報 Presenter Name 2013 年 4 月 2013 Autodesk Autodesk Vault 2014 新機能 操作性向上 Inventor ファイルを Vault にチェックインすることなくステータス変更を実行できるようになりました 履歴テーブルの版管理を柔軟に設定できるようになりました
MusicSoft Manager
MusicSoft Manager( ミュージックソフトマネージャー ) は 電子楽器で扱うファイル ( ソングやスタイルデータ ) を iphone/ipod touch/ipad 上で管理するアプリケーションです 本アプリケーションにより以下のことができます データのダウンロード購入 データをアプリと楽器 コンピューター オンラインストレージサービス Dropbox ( ドロップボックス ) 間で転送
IM 21B04C50-01
User s Manual Blank Page Media No. (CD) 5th Edition : Sep. 2009 (YK) All Rights Reserved. Copyright 2001, Yokogawa Electric Corporation Yokogawa Electric Corporation Software License Agreement This
PX-673F
NPD4385-00 ...6... 6...10 Mac OS X...11 Mac OS X v10.5.x v10.6.x...11 Mac OS X v10.4.x...15...18...19...19...21...22...23!ex...23 /...24 P.I.F. PRINT Image Framer...24...25...28...29...29...30...30...33
Xpand! Plug-In Guide
Xpand! Version 1.0 Copyright 2006 Digidesign, a division of Avid Technology, Inc. All rights reserved. This guide may not be duplicated in whole or in part without the express written consent of Digidesign.
非圧縮の1080p60ビデオをサポートする3Gbps SDIコネクティビティ・ソリューション
LMH0340,LMH0341 Literature Number: JAJA432 SIGNAL PATH designer Tips, tricks, and techniques from the analog signal-path experts No. 113... 1-5...4... 7 1080p60 3Gbps SDI Mark Sauerwald, SDI Applications
Welcome-Kit ~STM32L4-Nucleo~
STM32CubeMX の使い方 0 STM32CubeMX ダウンロード 1 1 ST マイクロ社 HP より STM32CubeMX インストーラーをダウンロードし インストーラーの表示に沿ってインストールします URL : http://www.st.com/content/st_com/ja/products/development-tools/software-development-tools/stm32-
1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )
TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000
内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一
RX210 グループ IRQ 割り込みを使用したパルス出力 要旨 本サンプルコードでは IRQ 割り込みが発生すると 一定期間タイマでパルスを出力する 方法について説明します 対象デバイス RX210 1 / 25 内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 3 3.1 使用端子一覧... 3 4. ソフトウェア説明... 4 4.1 動作概要... 4
X-Form Plug-in Guide
X-Form Plug-in Version 7.2 Copyright 2006 Digidesign, a division of Avid Technology, Inc. All rights reserved. This guide may not be duplicated in whole or in part without the express written consent of
ModelSim-Altera - RTL シミュレーションの方法
ALTIMA Corp. ModelSim-Altera RTL シミュレーションの方法 ver.15.1 2016 年 5 月 Rev.1 ELSENA,Inc. 目次 1. 2. 3. はじめに...3 RTL シミュレーションの手順...4 RTL シミュレーションの実施...5 3-1. 3-2. 新規プロジェクトの作成... 5 ファイルの作成と登録... 7 3-2-1. 新規ファイルの作成...
2.4 DSOF 4 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12 1 2 SET RESET POWER PPP PPP 3 POWER DATA 4 SET RESET WAN PC1 PC2 5 POWER PPP DATA AIR 6 1 2 3 4 5 6 7 II II II 8 1 2 3 4 5 6 7 8 9 10 II
Microsoft PowerPoint LC_15.ppt
( 第 15 回 ) 鹿間信介摂南大学理工学部電気電子工学科 特別講義 : 言語を使った設計 (2) 2.1 HDL 設計入門 2.2 FPGA ボードの設計デモ配布資料 VHDL の言語構造と基本文法 2.1 HDL 設計入門 EDAツール : メンター社製品が有名 FPGAベンダーのSW 1 1 仕様設計 にも簡易機能あり 2 3 2 HDLコード記述 3 論理シミュレーション 4 4 論理合成
2.4 DSOF 4 RESET WAN LAN1 LAN2 LAN3 LAN4 DC-IN 12V 1 2 3 4 ON 1 2 3 4 ON 1 2 3 4 5 6 7 8 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 1 2 3 4 5 3 1 2 1 2 3 4
1 2 3 4 5 6 7 2.4 DSOF 4 1 1 1 1 1 1 1 1 1 DC-IN SET RESET WAN PC1 PC2 PC3 PC4 1 POWER LAN 1 LAN 2 AIR 1 LAN1 LAN2 RESET 1 1 1 1 2 3 4 5 6 7 1 2 3 4 1 5 6 7 1 2 3 > 4 5 6 7 8 1 1
1 2 3 4 5 6 7 2.4 DSOF 4 1 1 POWER LINK AIR 1 1 1 1 1 1 POWER LINK AIR 1 1 DC-IN SET RESET WAN PC1 PC2 PC3 PC4 1 POWER LINK AIR 1 POWER PC1 PC2 PC3 PC4 DC-IN DC5V LINK AIR 1 1 1
1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください 1.1. MFS
スプリット演算器 MFS2 用コンフィギュレータソフトウェア MFS2CFG バージョン 0.02 取扱説明書 1/10 NM-9307 改 2 1. はじめに 本書は スプリット演算器 MFS2 用コンフィギュレータソフトウェア の取扱方法 操作手順 注意事項などを説明したものです Windows の操作や用語を理解している方を前提にしています Windows の操作や用語については それぞれのマニュアルを参照してください
SketchBook Express V6.0.1
SketchBook Express V6.0.1 Copyrights and Trademarks Autodesk SketchBook Express v6.0.1 2012 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc., this publication, or parts
CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x
CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )
RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)
RL78 開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行 ( 統合開発環境編 ) (High-performance Embedded Workshop CS+) 2017/4/7 R20UT2087JJ0103 ソフトウェア事業部ソフトウエア技術部ルネサスシステムデザイン株式会社 はじめに 本資料は 統合開発環境 High-performance Embedded Workshop
べリンガーB-CONTROL
B-CONTROL B-CONTROL B-CONTROL NATIVE INSTRUMENTS as well as the name of companies, institutions or publications pictured or mentioned and their respective logos are registered trademarks of their respective
7 シリーズ FPGA クロッキング リソース ユーザー ガイド (UG472)
7 シリーズ FPGA クロッキングリソース ユーザーガイド 本資料は表記のバージョンの英語版を翻訳したもので 内容に相違が生じる場合には原文を優先します 資料によっては英語版の更新に対応していないものがあります 日本語版は参考用としてご使用の上 最新情報につきましては 必ず最新英語版をご参照ください The information disclosed to you hereunder (the Materials
PX-B750F
NPD4539-00 ...6... 6... 9 Mac OS X...10 Mac OS X v10.5.x v10.6.x...10 Mac OS X v10.4.11...13...16...16...17...18...20...22!ex...22...23...26...27...27...28...28...30 Web...30...30...34...34...34...35...36...36...38...40...40...44...46...51
インテル(R) Visual Fortran コンパイラ 10.0
インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行
ISim ハードウェア協調シミュレーション : Virtex-5 エンベデッド イーサネット MAC を介したライブ イーサネット トラフィックの処理
ISim ハードウェア協調シミュレーション : UG819 (v13.3) 2011 年 11 月 11 日 Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of
POWER LINK AIR 2.4 DS/OF 4 1 1 LINK AIR POWER LINK AIR 1-1 POWER 1-2 POWER LINK AIR 1 1-3 POWER LINK AIR 1 POWER LINK AIR PC1 PC2 PC3 PC4 DC-IN DC5V 1-4 1 1 2 3 4 1 5 6 7 8 1 2 3 4 5 1 1 2
UCB User's Manual
UCB-21489 ユーザーズマニュアル 第 1 版 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては 当社ホームページを通じて公開される情報を参照ください 2. 当社から提供する情報の正確性と信頼性には万全を尽くしていますが 誤りがないことを保証するものではありません 当社はその使用に対する責任を一切負いません
