UltraScale および UltraScale+ デバイス デザインでの Dynamic Function eXchange チェックリスト - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: Dynamic Function eXchange (UG909)

Document ID
UG909
Release Date
2022-06-07
Version
2022.1 日本語

ザイリンクスでは、Dynamic Function eXchange を使用する UltraScale および UltraScale+ デバイス デザインに次の事項を推奨しています。

クロッキング ネットワーク

グローバル クロック バッファーまたはクロック調整ブロック (MMCM、PLL) を使用していますか。

これらのブロックはリコンフィギュレーション可能ですが、このフレーム タイプのすべてのエレメントをリコンフィギュレーションする必要があります。これには、I/O バンク全体、その共有領域のすべてのクロック エレメント、およびインターコネクトを共有する CLB の 1 つの列が含まれます。

詳細は、リコンフィギャラブル モジュール内のデザイン エレメントを参照してください。グローバル クロックのインプリメンテーションの詳細は、グローバル クロックの規則を参照してください。

さらに、現在のところ、Vivado Design Suite の DRC により次の制限が適用されます。BUFGCTRLBUFG_CEBUFG_GT のクロッキング リソースの使用はサポートされていますが、次の制限があります。

  • ザイリンクスでは、長方形の Pblock を使用することをお勧めします。クロック ロジックを含む RP では長方形以外の形状もサポートされますが、Pblock の最も高い列がクロック領域の高さおよび幅に揃っていることが条件です。また、RP Pblock の一番高い列が IOB を含み、この範囲に RP Pblock を定義する長方形すべての高さが含まれていることも必須条件です (UltraScale および UltraScale+ デバイス デザインでの Dynamic Function eXchange チェックリスト を参照)。つまり、IOB 範囲の縦の列が Pblock のすべての行にアクセスできることが必要だということです。横にした L 型の Pblock は、形状の縦の部分に IOB 範囲が含まれる場合を除き、サポートされません。
    図 1. Pblock の最も高い列がクロック領域に揃っている例

  • ギャップは、範囲に含まれているサイトが両側にある範囲に含まれていないサイト タイプとして定義されます。次のギャップは許容されません。
  • 次の場合、2 つの RP Pblock でクロック領域の形状を指定することはできません。
    • 少なくともいずれかの Pblock にグローバル クロック ソースが含まれる。
    • もう 1 つの Pblock がグローバル クロック ソースの範囲を指定する。

コンフィギュレーション機能ブロック

デバイス機能ブロック (BSCAN、DCIRESET、FRAME_ECC、ICAP、STARTUP、USR_ACCESS) を使用していますか。

これらの機能ブロックは、スタティック ロジックに配置する必要があります。

詳細は、リコンフィギャラブル モジュール内のデザイン エレメントを参照してください。

Pblock 境界

Pblock 境界は設定しましたか。

UltraScale および UltraScale+ デバイスの場合、ダイナミック領域の X 軸境界を CLB、ブロック RAM、DSP などを含む PU で設定できます。Pblock は有効な配置になるように Vivado で自動的に調整されます。PR 領域の Y 軸境界は、クロック領域および I/O バンクにできますが、BUFGCTRL/BUFG_CE/BUFG_GT が RP で使用される場合は、フル クロック領域を使用する必要があります。

SSI テクノロジ

Pblock は SSI デバイスの SLR をまたぎますか。

SSI デバイスを使用している場合は、ダイナミック領域を 1 つの SLR 内に収めることを推奨します。ただし、UltraScale および UltraScale+ デバイスでは、RP Pblock が 1 つの SLR をまたぐ必要がある場合、この境界を越えて配線できるよう必要な Laguna サイトを含める必要があります。これには、SLR 境界の両側のダイナミック領域に、少なくとも 1 つのクロック領域全体が含まれている必要があります。

SSI テクノロジ デバイスおよび Laguna の詳細は、 『UltraScale アーキテクチャ コンフィギャラブル ロジック ブロック ユーザー ガイド』 (UG574) の「スタックド シリコン インターコネクト (SSI) テクノロジを使用するデバイス」セクションを参照してください。

高速トランシーバー ブロック

デザインに高速トランシーバーが含まれていますか。

高速トランシーバーはリコンフィギュレーション可能です。すべてのコンポーネント タイプ (GT_CHANNEL、GT_COMMON、BUFG_GT) を含むクワッド全体をリコンフィギュレーションする必要があります。

特定の要件は、高速トランシーバーの使用を参照してください。

System Generator DSP コア、HLS コア、または IP インテグレーター ブロック図

Dynamic Function eXchange デザインで System Generator DSP コア、HLS コア、または IP インテグレーター ブロック図を使用していますか。

Dynamic Function eXchange の基本的な要件を満たしていれば、どのタイプのソースでも使用できます。System Generator、HLS、IP インテグレーターなどのツールで処理されたコードは最終的に合成されます。結果のデザイン チェックポイントまたはネットリストを RP に含めることができるようにするには、リコンフィギャラブル エレメントのみで構成されるようにする必要があります。

I/O のリコンフィギャラブル パーティションへの配置

RM に I/O が含まれていますか。

I/O をパーシャル リコンフィギュレーションできます。I/O バンク全体を、すべての I/O ロジック (XiPhy) およびクロック リソースと共にリコンフィギュレーションする必要があります。IOSTANDARD および方向は変更できず、DCI カスケード規則に従う必要がありますが、その他の I/O 特性は RM から次の RM に変更できます。

詳細は、リコンフィギャラブル モジュール内のデザイン エレメントを参照してください。

ロジックのリコンフィギャラブル パーティションへの配置

一緒に配置する必要のあるロジックが同じ RP に配置されていますか。

一緒に配置する必要のあるロジックは、同じ RP および RM に配置する必要があります。

詳細は、ロジックのパック を参照してください。

クリティカル パスのリコンフィギャラブル パーティションへの配置

クリティカル パスが同じパーティション内に制約されていますか。

RP の境界では最適化およびパックに制限があるので、クリティカル パスは同じパーティション内に制約する必要があります。

詳細は、ロジックのパックを参照してください。

フロアプラン

RP を効率的にフロアプランできますか。

詳細は、UltraScale および UltraScale+ デバイスでの Pblock の作成を参照してください。

デカップリング ロジックの使用 (推奨)

RM の出力にデカップリング ロジックを作成しましたか。

リコンフィギュレーション中、RP の出力は不定の状態になるので、スタティック データが破損するのを回避するためデカップリング ロジックを使用する必要があります。

詳細は、デカップリング機能を参照してください。

リコンフィギュレーション後にリセットを適用 (推奨)

リコンフィギュレーション後に RAM のロジックをリセットしていますか。

リコンフィギュレーション後にリセットは、UltraScale および UltraScale+ デバイスでは常にイネーブルになっています。この機能はオフにはできません。

詳細は、リコンフィギュレーション後にリセットを適用を参照してください。

ロジック解析ブロックを使用したデバッグ

Dynamic Function eXchange で Vivado ロジック解析を使用していますか。

Vivado ロジック解析 (ILA/VIO デバッグ コア) は Dynamic Function eXchange デザインで使用できますが、これらのコアをデバッグ ハブに接続する際には注意が必要です。Vivado デバッグ コアの使用に説明する自動推論ソリューションを使用してください。

効率的なリコンフィギャラブル パーティション Pblock

デザインに対して効率的な RP Pblock を作成していますか。

RP Pblock の高さに制限はありませんが、複数の RP を 1 つのクロック領域内で縦に並べることはできません。

詳細は、UltraScale および UltraScale+ デバイスでの Pblock の作成を参照してください。

コンフィギュレーションの検証

コンフィギュレーション間の一貫性はどのように検証しますか。

pr_verify コマンドを使用すると、すべてのコンフィギュレーションにインポートされるリソースが一致していることを確認できます。

詳細は、コンフィギュレーションの検証を参照してください。

コンフィギュレーションの要件

デザインおよびデバイスにおける Dynamic Function eXchange に特定のコンフィギュレーション要件があることを理解していますか。

各デバイス ファミリに特定のコンフィギュレーション要件および考慮事項があります。

詳細は、デバイスのコンフィギュレーションを参照してください。