バンクの概要

UltraScale アーキテクチャ SelectIO リソース ユーザー ガイド (UG571)

Document ID
UG571
Release Date
2023-08-31
Revision
1.15 日本語

各 I/O バンクには 52 本のピンがあり、適切なシングルエンド規格を使用する入力/出力/双方向の動作が可能です。
これらのバンクは、HR (High Range) バンクまたは HP (High Performance) バンクのいずれかになります。これらのピンのうち最大 48 本は HR I/O バンクまたは HP I/O バンクに適した信号規格を使用する 24 組の差動信号ピンとしてコンフィギュレーションできます。各シングルエンド ピンに使用されるロジックはビット スライスと呼ばれているため、このユーザー ガイドでは、差動ピン ペアに関しては、_P ピンに対してマスター ビット スライス、_N ピンに対してスレーブ ビット スライスと表現しています。

この図 に各バンクの概要図を示します。 入力/出力制御ブロック ビット スライスは、旧世代の AMD アダプティブ コンピューティング デバイスのようにコンポーネント プリミティブを使用してプログラムできますが、最高性能が必要な場合は、ネイティブ PHY プリミティブを使用してプログラムすることもできます。 この章では、この 2 つの方法について説明します。

図 2-1: バンクの概要

X-Ref Target - Figure 2-1

X16003-bank-overview.jpg

ヒント: ネイティブ モード デザインには追加の制限事項があります。High Speed SelectIO Wizard (HSSIO-Wiz) は、デザインが正しく動作するよう、必要な項目をすべて自動で設定し、デザイン規則に沿っているかをチェックします。 AMD は、ネイティブ モード デザインには HSSIO-Wiz を使用することを推奨しています。

利用可能な 2 つの PLL は、同じ I/O バンクにあるビット スライスと関連しています。各 PLL は、ビット スライスのコントローラーへの専用の高速クロック接続と 2 つの追加出力を備えています。これらのクロックは、その I/O バンクがカバーするクロック領域に配置されたロジック用アプリケーション クロックに使用できます。Mixed-Mode Clock Manager (MMCM) は、I/O バンクにあるビット スライスのコントローラー用のクロック ソース、および I/O バンクがカバーするクロック領域に配置されたロジック用のクロック ソースとして使用できますが、FPGA 全体の I/O バンクとロジックに対応するクロック ソースとしても利用できます。

ヒント: 高い性能と低ジッターが必要なアプリケーションには、I/O バンクの後ろにあるクロック領域に配置された PLL を使用してください。MMCM は、複数の I/O バンクおよびクロック領域でのクロッキングを必要とする比較的低速アプリケーションに使用できます。

クロック入力が、設計対象のインターフェイスに使用される I/O バンクの一部ではない場合、次の XDC 制約を使用してください。

set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets <clock_net_name>]

Vivado™ ツールでは警告メッセージが表示されますが、エラーによって停止することはなくなります。

ヒント: ネイティブ モードでは、PLL の速クロック出力は、専用配線を介して (クロック バッファーなしで) BITSLICE_CONTROL の PLL_CLK 入力へ接続されます。このため、PLL は必ず、インターフェイスの I/O バンクに結合しているクロック領域に配置する必要があります。入力クロック バッファーは、XDC 制約を使用する限り、異なる I/O バンクに配置できます。

MMCM を使用してネイティブまたはコンポーネント モード インターフェイスにクロックを供給する場合は、クロック バッファーを使用する必要があります。最善のソリューションは構築した I/O インターフェイスの近くに配置することですが、MMCM は、使用する I/O バンクに隣接するクロック領域以外の領域にも配置可能です。I/O インターフェイスのクロックは、クロック バッファーとクロック配線を経由して分配されます。

各バンクは 4 つのバイト グループに分割されており、各グループには 13 本の I/O ピンがあります ( この図 )。各バイト グループは、さらに 2 つのニブル グループに分割されています ( この図 )。トライステート制御のビット スライス ブロックおよび上位/下位ニブル制御ブロックは、ネイティブ モードを使用した場合のみ重要です。詳細は、後続のセクションで説明します。BITSLICE_12 (上位ニブルの BITSLICE_6) はシングルエンド信号にしか使用できませんが、その他すべてのビット スライスがシングルエンドまたは差動信号に使用可能です。ビット スライスでシングルエンド クロックを使用する場合はニブル内の BITSLICE_0 を、差動クロックはニブル内の BITSLICE_0 (P 側) と BITSLICE_1 (N 側) を使用する必要があります。その他のピンは、 『UltraScale アーキテクチャ クロッキング リソース ユーザー ガイド』 (UG572) [参照 9] で説明されているとおり、グローバル クロッキング リソースへアクセスする必要があるクロックに使用できます。

図 2-2: バイト グループの概要

X-Ref Target - Figure 2-2

X16004-byte-group-overview.jpg

中央にある 2 つのバイト グループ (1 および 2) には、それぞれにクワッド バイト クロック (QBC) とグローバル クロック (GC) 兼用入力ピンまたはピン ペアがあります。QBC ピンは、ニブルまたはそれらが配置されたバイト グループに対してキャプチャ クロック入力として使用できますが、専用クロック バックボーンを介してキャプチャ クロックを I/O バンクのその他すべてのニブルおよびバイト グループに供給することも可能です。GC ピンは MMCM および/または PLL プリミティブを駆動できるクロック入力です。これらのクロック兼用入力の一部は、QBC と GC のデュアル ファンクションを備えています。上下のバイト グループにも、それぞれに専用バイト クロック (DBC) 兼用入力ピン (ピン ペア) があり、それらはバイト グループ内のクロッキングに使用できます。ただし、キャプチャ クロックを I/O バンク内のほかのバイト グループに駆動する機能や MMCM および PLL を駆動する機能は備えていません。

上位ニブルおよび下位ニブルの BITSLICE_0 の使用は制限される場合があります。

注記: 上位ニブルの BITSLICE_0 はバイト グループの BITSLICE_6 に相当します。バイトおよびニブル内のビット スライス番号の説明は、 この図 のサンプル I/O バンク (XCKU040FFVA1156 のバンク 44) を参照してください。

RX_BITSLICE または RXTX_BITSLICE を使用する場合、インターバイト クロッキングによって BITSLICE_0 の利用には一部条件があります。

あるバイト (ソース) のニブルから別のバイト (シンク) のニブルまでインターバイト クロッキング (QBC) を使用する場合、シンク バイトのニブルは必ず BITSLICE 0 とその DATA_TYPE (DATA に設定されている) を含む必要があります。

受信シリアル モード アプリケーションの場合は、各ニブルは BITSLICE 0 とその DATA_TYPE (SERIAL に設定されている) を含む必要があります。

詳細は、 ネイティブ モードでのクロッキング を参照してください。

IDELAY/ODELAY および RX_BITSLICE/TX_BITSLICE/RXTX_BITSLICE は、継続してアライメントを調整することでより正確な遅延を与える TIME モードをサポートします。TIME モードを IDELAY/ODELAY およびネイティブ プリミティブに使用すると、初期キャリブレーション プロセスで BITSLICE_0 が使用されます。IDELAY/ODELAY の場合、RDY (IDELAYCTRL) が High にアサートされると、この初期キャリブレーション プロセスが完了します。BITSLICE_0 に接続されたコンポーネント ロジックは、次の場合に初期キャリブレーション中に利用できないことがあります。

IDELAY/ODELAY が TIME モード

RX_BITSLICE/TX_BITSLICE/RXTX_BITSLICE が TIME モード

Vivado では、入力配線とニブル内の BITSLICE_0 に関連するロジックが BISC 動作時に利用できないことを示すエラー メッセージが表示されることがあります。これらの制限がデザインに影響をおよぼさない場合は、次の制約を使用して DRC を無効にできます。

set_property UNAVAILABLE_DURING_CALIBRATION TRUE [get_ports <name>]

TIME モードではキャリブレーションに BITSLICE_0 を使用するため、IDELAY/ODELAY が TIME モードの場合、同じニブル内のその他のビット スライスはキャリブレーションが完了するまで利用できません。

UltraScale™ FPGA は I/O バンク、バイト、ニブルに同じセットアップを持ちます。 この図 に、XCKU040FFVA1156 FPGA の I/O バンク 44 のピン設定を例として示します。示したセットアップは、FPGA ファミリ全体ですべての I/O バンクに適用できます。 この図 を使用すると、ピン ニブル、バイト、および I/O バンク ピンの割り当てが簡単になります。

図 2-3: I/O バンクの例 (XCKU040FFVA1156 のバンク 44)

X-Ref Target - Figure 2-3

X16263-io-bank-44-of-xcku040ffva1156.jpg