Versal アーキテクチャでクロック スキューを削減するための一般的な推奨事項は、次のとおりです。詳細は、 『Versal アダプティブ SoC ハードウェア、IP、およびプラットフォーム開発設計手法ガイド』 (UG1387) のこのセクションを参照してください。
- BUFG_GT クロックの単純な分周に MMCM、XPLL、または DPLL を使用しないようにします。BUFG_GT セルには、入力クロックを分周する機能があります。BUFG_GT クロックの単純な分周をファブリックに複数供給する場合、MBUFG_GT セルでは最下位分周を使用してクロックを分周できるので、リソースを最小限に抑えて QoR を向上できます。次の図に、MMCM リソースを節約し、MBUFG_GT を使用して GT*_QUAD セルからの 2 つのクロックのバランスの取れたクロック ツリーをインプリメントする方法を示します。図 1. Versal MBUFG_GT を使用してバランスの取れたクロック ツリーをインプリメント
- GT クロックの周波数合成が必要な場合は、GT*_QUAD リソースを含むクロック領域に DPLL があります。
- 合成クロック間のタイミング パスには、MBUFGCE、MBUFGCE_DIV、MBUFGCTRL、MBUFG_PS、および MBUFG_GT プリミティブを使用して最下位分周を活用し、リソース使用率を最小限に抑えてタイミング QoR を向上するようにします。
- 並列クロック バッファーを使用する場合は、配置配線中の CLOCK_ROOT と配線が一致するようにするため、クリティカル同期クロックのドライバー ネットに CLOCK_DELAY_GROUP を使用します。この制約が適用されるようにするためには、クロック バッファーを同じセルで駆動する必要があります。注記: この最適化手法は、
report_qor_suggestions
Tcl コマンドにより自動的に適用されます。 - タイミング パスのタイミングを満たすことが困難で、スキューが見積もりよりも大きい場合は、タイミング パスがリソース列またはクロック領域をまたいでいる可能性があります。その場合は、Pblock などの物理制約を使用してソースとデスティネーションを 1 つのクロック領域に配置するか、ネットワーク オン チップ (NoC)、100G マルチレート イーサネット MAC (MRMAC)、または PCIe (Gen4 x16) 用の統合ブロックなどのリソース列をまたがないようにします。
- CLOCK_DEDICATED_ROUTE=FALSE 制約が設定されたクロック ネットがグローバル クロック リソースを使用して配線されていることを確認します。FALSE の代わりに ANY_CMT_REGION を使用して、配線除外が設定されたクロック ネットが専用クロック リソースを使用して配線されるようにします。クロック ネットがファブリック インターコネクトを使用して配線されている場合は、この状況を解決するのに必要なデザインの変更またはクロック配置制約を特定し、インプリメンテーション ツールでグローバル クロック リソースが使用されるようにします。ファブリック インターコネクトを使用して配線されたクロック パスでは、クロック スキューが大きくなったりスイッチ ノイズの影響を受けたりすることがあるので、達成可能なクロック周波数が低下したり、デザインが機能しなくなる可能性があります。