クロック ネットワーク レポートにすべてのクロック ネットワークに制約が設定されたことが示されたら、生成クロックが正しいことを確認します。Vivado ツールでは、クロック制約はクロック調整ブロックを介して自動的に伝搬されるので、生成された制約を確認することが重要です。report_clocks
を使用して、どのクロックが create_clock
制約で生成され、どのクロックが自動生成されたかを確認します。
注記: MMCM、PLL、およびクロック バッファーはクロック調整ブロックです。AMD UltraScale™
デバイスでは、GT もクロック調整ブロックです。
report_clocks
の結果にすべてのクロックが伝搬されていることが示されます。create_clock
で作成されるプライマリ クロックと生成クロックの違いは、[Attributes] 列に示されます。
- 伝搬 (P) とのみ示されるクロックは、プライマリ クロックです。
- ほかのクロックから派生されたクロックは、伝搬 (P) および生成 (G) の両方として示されます。
- クロック調整ブロックにより生成されたクロックは、自動派生 (A) と示されます。
- その他の属性は、自動派生クロックの名前が変更されている (R)、生成クロックの波形が入力マスター クロックから反転されている (I)、プライマリ クロックが仮想クロックである (V) ことを示します。
生成クロックは、create_generated_clock
制約を使用しても作成できます。詳細は、
『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) を参照してください。
図 1. report_clocks により示されるプライマリ クロックから生成されたクロック
ヒント: デザインに制約が適用されていない終点がないことを調べるには、チェック タイミング レポート (
no_clock
カテゴリ) を確認します。このレポートは、タイミング サマリ レポートから、または check_timing
Tcl コマンドを使用して取得できます。