クロック関連性レポートには、各クロック ペアに対して、ワースト パスのセットアップ要件も示されます。表を Path Req (WNS) で並べ替え、デザインで最も厳しい要件を確認します。これらの要件を見直して、無効な厳しい要件が存在していないことを確認します。
Vivado ツールは、各クロックを 1000 サイクル調べ、最も少ないサイクルでエッジが揃う箇所を特定します。最も厳しい要件を判断するのに 1000 サイクルでは十分でない場合は、レポートに「Not Expanded」と示され、2 つのクロックを非同期として処理する必要があります。
たとえば、250 MHz クロックから 200 MHz クロックに切り替わるタイミング パがあるとします。
- 200 MHz クロックの立ち上がりエッジは {0, 5, 10, 15, 20} です。
- 250 MHz クロックの立ち上がりエッジは {0, 4, 8, 12, 16, 20} です。
このクロック ペアで要件が最も厳しいのは、次の 2 つの条件が満たされるときです。
- 250 MHz クロックの立ち上がりエッジ 4 ns。
- 200 MHz クロックの次の立ち上がりエッジが 5 ns。
これにより、250 MHz クロック ドメインから 200 MHz クロック ドメインに切り替わるすべてのパスに 1 ns のタイミングが適用されます。
これは厳しいタイミング要件なので、追加の手順が必要となります。デザインによって、次のいずれかの制約を使用すると、これらのタイミング ドメイン間をまたぐ状況を適切に処理できます。
-
set_clock_groups
/set_false_path
/set_max_delay -datapath_only
クロック ペアを非同期とする場合は、上記のいずれかの制約を使用します。
report_cdc
Tcl コマンドを使用して、クロック乗せ換え回路が安全であるかどうかを検証します。 -
set_multicycle_path
この制約は、適切なクロック回路によりソース クロック エッジとデスティネーション クロック エッジが制御されている場合に、タイミング要件を緩和する場合に使用します。
何もしない場合、これらのクロック ドメイン間をまたぐパスでタイミング違反が発生したり、最適化および配置配線が、デザインの実際のクリティカル パスではなく、これらのパスに焦点を置いて実行される可能性があります。このようなパスをタイミング ドリブンのインプリメンテーションの前に特定することが重要です。