セットアップおよびホールド スラックには、複数の要素が影響します。次の簡潔なセットアップおよびホールド スラックの式から、各要素を特定できます。
- スラック (セットアップ/リカバリ) = セットアップ パス要件
-
- データパス遅延 (最大)
+ クロック スキュー
- クロックのばらつき
- セットアップ/リカバリ タイム
- スラック (ホールド/リムーバル) = ホールド パス要件
-
+ データパス遅延 (最小)
- クロック スキュー
- クロックのばらつき
- ホールド/リムーバル タイム
タイミング解析では、クロック スキューは常に次のように算出されます。
- クロック スキュー = デスティネーション クロック遅延 - ソース クロック遅延 (存在する場合は共通ノードの後)
違反が発生しているタイミング パスの解析中、各変数の相対的な影響を調べ、どの変数が違反に最も影響しているかを判断する必要があります。その後主な要因を解析して、パスのどの特性がその値に最も影響しているかを理解し、その影響を軽減するためのデザインおよび制約の変更を特定します。デザインまたは制約の変更が実質的でない場合は、最悪のものから開始してほかのすべての要因を同様に解析する必要があります。次に、典型的な要因を最悪のものから順にリストします。
セットアップ/リカバリの場合:
- データパス遅延
- データパス遅延からタイミング パス要件を減算します。差が負のスラック値と同等である場合は、パス要件が厳しすぎるか、データパス遅延が大きすぎます。
- データパス遅延 - セットアップ/リカバリ タイム
- データパス遅延からタイミング パス要件を減算し、セットアップ/リカバリ タイムを加算します。差が負のスラック値と同等である場合は、パス要件が厳しすぎるか、セットアップ/リカバリ タイムが通常より大きいことが違反の原因となっています。
- クロック スキュー
- クロック スキューおよびスラックが似たような負の値であり、スキューの絶対値が数百ピコ秒以上である場合、スキューが主な要因であり、クロック トポロジを見直す必要があります。
- クロックのばらつき
- クロックのばらつきが 100 ps を超える場合、クロック トポロジとジッター値を見直してばらつきが大きい原因を理解する必要があります。
ホールド/リムーバルの場合:
- クロック スキュー
- クロック スキューが 300 ps を超える場合、クロック トポロジを見直す必要があります。
- クロックのばらつき
- クロックのばらつきが 200 ps を超える場合、クロック トポロジとジッター値を見直してばらつきが大きい原因を理解する必要があります。
- ホールド/リムーバル タイム
- ホールド/リムーバル タイムが数百ピコ秒以上である場合、プリミティブのデータシートを見直してこれが予測される結果であるかどうかを確認できます。
- ホールド パス要件
- 要件は通常 0 です。0 でない場合、タイミング制約が正しいかどうかを確認する必要があります。
すべてのタイミング制約が正しく妥当である場合は、タイミング違反の最も一般的な要因はセットアップ/リカバリ タイミング パスのデータパス遅延およびホールド/リムーバル タイミング パスのスキューです。デザイン サイクルの初期段階では、これら 2 つの要因を解析することによりほとんどのタイミング問題を修正できます。デザインおよび制約を改善および調整した後は、残りの違反は複数の要素が組み合わさって発生しており、すべての要素を同時に調べてどれを改善するかを特定する必要があります。
タイミング解析の概念の詳細は
『Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック』 (UG906) のこのセクションを、タイミング レポート (report_timing_summary/report_timing
) の詳細は同じガイドのこのセクションを参照してください。