CDC パスがグレイ コードを使用する場合 (FIFO など) や、1 つまたは複数の信号で 2 つの非同期クロック間のレイテンシを制限する必要がある場合、set_max_delay
制約を -datapath_only
オプションを使用して指定してこれらのパスのクロック スキューおよびジッターが無視されるようにし、さらにデフォルト パス要件をレイテンシ要件で置き換える必要があります。通常は最大遅延値にソース クロック周期を使用するので十分ですが、任意の時間で CDC パスに複数のデータが存在することがないように注意してください。
クロック周期間の比率が大きい場合、最小のソースとデスティネーション クロック周期を選択して転送レイテンシを削減することもできます。クリーンな非同期 CDC パスにはソースおよびデスティネーション シーケンシャル セル間にロジックが含まれないので、通常はインプリメンテーション ツールで set_max_delay -datapath_only 制約を簡単に満たすことができます。
一部の非同期 CDC パスでは、バス レイテンシの制約の代わりに、バスのビット間のスキュー制御が必要です。バス スキュー制約を使用すると、受信クロック ドメインで同じクロック エッジでバスの複数のステートがラッチされるのが回避されます。バスにバス スキュー制約を設定するには、set_bus_skew
コマンドを使用します。たとえば、グレイ コードを使用する CDC バスに、set_max_delay -datapath_only 制約の代わりに set_bus_skew
を適用できます。詳細は、
『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) のこのセクションを参照してください。
レイテンシ制御を必要としないパスの場合は、ポイント トゥ ポイントのフォルス パス制約を定義できます。