set_max_delay より優先されるクロック例外 - 2023.2 日本語

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

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

CDC 制約を記述する場合は、優先度を考慮する必要があります。set_max_delay -datapath_only を 2 つのクロック間の少なくとも 1 つのパスに使用すると、同じクロック間に set_clock_groups 制約は使用できず、2 つのクロック間のほかのパスに使用できるのは set_false_path 制約のみです。

次の図では、clk0 クロックの周期は 5 ns で、clk1 とは非同期です。clk0 ドメインから clk1 ドメインまでには、2 つのパスがあります。最初のパスは 1 ビット データ同期で、2 つ目のパスは複数ビットのグレイ コードのバス転送です。

図 1. 2 つの非同期クロック間の複数の関連性

グレイ コードのバス転送でビット内の遅延パターンを制限するために set_max_delay -datapath_only 制約が必要かどうかは設計者が判断するので、クロック間に直接クロック グループまたはフォルス パス制約を使用することはできません。代わりに、2 つの制約を定義する必要があります。

set_max_delay -from [get_cells GCB0[*]] -to [get_cells [GCB1a[*]] \
-datapath_only 5
set_false_path -from [get_cells REG0] -to [get_cells REG1a]

この例にはパスがないので、clk1 から clk0 までのフォルス パスを設定する必要はありません。