デザインに同じ MMCM/XPLL/DPLL からのクロック間の同期 CDC パスが含まれる場合、次の方法を使用して、クロック挿入遅延とスキューを制御することにより、これらのパスのスラックを制御できます。
同じ MMCM/XPLL/DPLL の異なる出力ピンからの 2 つのクロック間のパスに対してタイミング解析が実行されると、MMCM/XPLL/DPLL 位相エラーによりそのパスにクロックのばらつきが追加されます。高クロック周波数を使用するデザインでは、位相エラーによりセットアップとホールドの両方でタイミング クロージャ問題が発生することがあります。
次の図に、位相エラーのある場合とない場合のパスの例を示します。パス 1 は、同じ MMCM 出力に接続された 2 つのバッファーからクロックが供給されている CDC パスで、位相エラーはありません。パス 2 には、2 つの異なる MMCM 出力から 2 つのクロックが供給されており、位相エラーがあります。
同じ MMCM/XPLL/DPLL からの 2 つの同期クロックがシンプルな周期比 (/2 /4 /8) である場合は、1 つの MBUFGCE または 2 つの BUFGCE_DIV バッファーに接続される 1 つの MMCM/XPLL/DPLL 出力を使用すると、2 つのクロック ドメイン間で位相エラーが発生しないようにできます。MBUFGCE セルでは、単純なクロック分周 (/1、/2、/4、/8) と単純なクロック逓倍 (*2) を実行できます。BUFGCE_DIV バッファーでは、単純なクロック分周 (/1、/2、/4、/8) を実行できます。BUFGCE_DIV ではその他の分周比 (/3、/5、/6、/7) も可能ですが、クロックのデューティ サイクルを変更する必要があり、混合エッジのタイミング パスがさらに困難になります。
次の図に、CLKOUT0 クロックを 1 分周 (O1 ピン) および 2 分周 (O2 ピン) する 1 つの MBUFGCE セルを示します。MBUFGCE セルでは、ネットは最下位分周器に到達するまでシングル クロック トラックを使用して配線されるので、論理出力ネットに追加のクロック制約は必要ありません。
次の図に、CLKOUT0 クロックを 1 と 2 でそれぞれ分周する 2 つの BUFGCE_DIV を示します。
同じ MMCM または PLL からの複数のクロック間のバランスが自動的に調整されるようにするには、バランス調整する必要のあるクロック バッファーで駆動されるネットに同じ CLOCK_DELAY_GROUP プロパティ値を設定します。次はその他の推奨事項です。
- CLOCK_DELAY_GROUP を設定するクロックの数が多すぎないようにします。設定するクロックの数が多すぎると、クロック配置ツールに負荷がかかり、ソリューションが最適でなくなるか、エラーが発生します。
- GCLK_DESKEW 制約を OFF に設定し、CLOCK_DELAY_GROUP 制約を設定して、クロック ネット上の挿入遅延を最小限に抑えて一致させます。
- タイミング サマリ レポートでクリティカル同期 CDC パスを確認し、タイミングを満たすためにどのクロックの遅延を一致させる必要があるかを判断します。
- 要件が厳しく、クロック トポロジが同一の同期クロックのグループに対しては、CLOCK_DELAY_GROUP の使用は制限してください。 重要: AMDでは、最適なクロッキング構造を作成するため、Clocking Wizard を使用することをお勧めします。Clocking Wizard では、BUFGCE と BUFGCE_DIV が組み合わせて使用され、関連のクロック グループ制約が設定されます。