例 2: セットアップの乗数を 5、ホールドの乗数を 4 に設定 - 2022.1 日本語

Vivado Design Suite ユーザー ガイド: 制約の使用 (UG903)

Document ID
UG903
Release Date
2022-06-01
Version
2022.1 日本語

この例では、次のように定義されています。

  • セットアップの乗数を 5
  • ホールドの乗数を 4 (5 - 1)

これは、2 つのシーケンシャル セル間で新しいデータが 5 サイクルごとに送信および受信されるということです。

set_multicycle_path 5 -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D] 
set_multicycle_path 4 -hold -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]

デフォルトでは、セットアップの乗数はデスティネーション クロックに対して適用され、この場合はデスティネーション エッジが 5 番目のサイクルに移動します。

デフォルトでは、ホールド チェックはセットアップ チェックに応じて変更されます。

2 つ目のコマンドでは、ホールドの乗数はソース クロックに対して適用され、この場合はソース エッジが 4 番目のサイクルに移動します。

図 1. セットアップの乗数を 5、ホールドの乗数を 4 に設定

ソース クロックおよびデスティネーション クロックの両方の波形が同じで、位相も一致しているので、図 1図 2 と同じになります。

図 2. セットアップの乗数を 5、ホールドの乗数を 4 に設定

重要: 通常、同じクロック ドメイン内または同じ波形を持つ 2 つのクロック間では、次に示すように、セットアップの乗数が N の場合、ホールドの乗数は N-1 (最も一般的なケース) に定義します。
set_multicycle_path N -setup -from [get_pins data0_reg/C] -to [get_pins data1_reg/D] 
set_multicycle_path N-1 -hold -from [get_pins data0_reg/C] -to [get_pins data1_reg/D]