仮想クロックの使用 - 2023.2 日本語

FPGA および SoC 用 UltraFast 設計手法ガイド (UG949)

Document ID
UG949
Release Date
2023-11-29
Version
2023.2 日本語

ボード クロックが挿入遅延を補正するだけでなく実際に波形を変換するクロック調整ブロックを通過する場合、入力または出力遅延の基準クロックとしてボード クロックの代わりに仮想クロックを使用することをお勧めします。仮想クロックを使用するのには、主に次の 3 つの場合があります。

  • 内部クロックおよびボード クロックの周期が異なる: 仮想クロックを内部クロックの周期および波形と同じになるよう定義する必要があります。これにより、I/O パスのシングルサイクル パス要件が標準的なものになります。
  • 入力パスで、内部クロックの波形がボード クロックから正の方向にシフトされている: 仮想クロックはボード クロックと同様に定義し、仮想クロックから内部クロックにセットアップ対して 2 サイクルのマルチサイクル パス制約を定義します。これらの制約により、セットアップ タイミング解析が 1 クロック サイクル + 位相シフト量の要件で実行されます。
  • 出力パスで、内部クロックの波形がボード クロックから負の方向にシフトされている: 仮想クロックはボード クロックと同様に定義し、内部クロックから仮想クロックにセットアップに対して 2 サイクルのマルチサイクル パス制約を定義します。これらの制約により、セットアップ タイミング解析が 1 クロック サイクル + 位相シフト量の要件で実行されます。

仮想クロックを使用すると、デフォルトのタイミング解析を調整して、I/O パスが要件の厳しいクロック乗せ換えパスとして処理されるのを回避できます。

重要: 位相シフトされたクロックを含む I/O パスにマルチサイクル パスを使用する必要があるのは、位相シフトによりクロック波形が変更される場合のみです。クロック調整ブロックの挿入遅延に位相シフトが追加され、クロック波形が保持される場合は、マルチサイクル パスは必要ありません。詳細は、 『Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック』 (UG906)このセクションを参照してください。

たとえば、100 MHz で動作する sysClk ボード クロックを MMCM で逓倍し、266 MHz で動作する clk266 を生成するとします。clk266 で生成される出力では、clk266 を基準クロックとして使用する必要があります。set_output_delaysysClk を基準クロックとして使用しようとすると、非同期クロックとして認識され、パスに単一サイクルのタイミング制約が適用されなくなります。