クロックのばらつきは、クロック エッジのペア間での時間の変動量の合計です。ばらつきは、算出されるクロック ジッター (システム、入力、および個別)、一部のハードウェア プリミティブにより発生する位相エラー、デザイン制約でユーザーにより指定されるクロックのばらつき (set_clock_uncertainty
) で構成されます。
プライマリ クロックのジッターは、set_input_jitter
および set_system_jitter
により定義されます。MMCM や PLL などのクロック生成ブロックに対しては、ソース クロックに指定されたジッターとコンフィギュレーションに基づいて、ジッターが自動的に算出されます。フリップフロップ ベースのクロック分周器などその他の生成クロックのジッターは、ソース クロックと同じになります。
ユーザーが指定するクロックのばらつきは、AMD Vivado™ Design Suite タイミング エンジンで算出されるばらつきに加算されます。ソース クロックにユーザーが指定したばらつきは、MMCM、PLL、フリップフロップ ベースのクロック分周器などを介して生成クロックに伝搬されません。
ジッターおよび位相エラーの定義の詳細は、 『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) を参照してください。
クロックのばらつきの指定には、次の 2 つ目的があります。
- ハードウェアの機能に影響するクロックのノイズを表すため、スラック値にある程度のマージンを持たせます。遅延値およびジッター値は大きめに見積もられるので、AMDでは、通常はハードウェアが正しく機能するようばらつきを追加することはお勧めしていません。
- 一部のインプリメンテーション手順でクロックまたはクロック ペアに関連するパスの制約を厳しくします。これにより使用可能な QoR マージンが増加し、次の手順でこれらのパスのタイミング クロージャを達成するのに役立ちます。クロックのばらつきを使用することにより、クロック波形およびその関係が変更されることはないので、残りのタイミング制約は正しく適用されます。