パス分割によりタイミング例外間の優先順位が変更されると思われるかもしれませんが、実際にはそうではありません。
set_max_delay
制約が set_clock_groups
制約より優先されるかどうかは、ケース バイ ケースです。次の 2 つの状況を考えます。
状況 1
set_max_delay <ns> -datapath_only -from <instance> -to <instance>
この場合、-from
/-to
でインスタンス名が指定されます。インスタンスが指定されると、Vivado は常に有効な始点を選択するので、set_max_delay
により常に set_clock_groups -asynchronous
は無効になります。
状況 2
set_max_delay <ns> -datapath_only -from <pin> -to <pin | instance>
この場合、-from
でピン名を指定してパスが分割されると、set_max_delay
制約が set_clock_groups -asynchronous
により無効になることはありません。これは、パス分割により、ピン名のパス始点が最初のクロック ドメインから開始すると考慮されなくなり、このパスに set_clock_groups
制約が適用されず、set_max_delay
制約が適用されるからです。