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

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

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

この例では、次が想定されます。

  • セットアップの乗数 3 がソース クロックに対して定義されます (-start)。
  • ホールドの乗数 1 が定義されます。
例:
set_multicycle_path 3 -setup -start -from [get_clocks CLK1] -to [get_clocks CLK2] 
set_multicycle_path 2 -hold -from [get_clocks CLK1] -to [get_clocks CLK2]

ソース クロック (-start) に対してセットアップの乗数を設定すると、セットアップ チェックに使用されるソース クロックのエッジが 2 (3 - 1) サイクル前に移動します。ただし、ホールドの乗数はソース クロックに対して設定されるので (デフォルトの -start オプションと -hold を使用)、ホールド関係に使用されるソース クロックのエッジは 2 サイクル先に移動します。

セットアップ チェックおよびホールド チェックの両方で、デスティネーション クロックのエッジは変更されません。次の図を参照してください。

図 1. セットアップの乗数を 3 (-start)、ホールドの乗数を 2 に設定

重要: 高速クロックから低速クロックへのクロック乗せ換えでは、セットアップの乗数をソース クロック (-start) に対して N に設定し、ホールドの乗数を N-1 に設定します (最も一般的なケース)。次に例を示します。
set_multicycle_path N -setup -start -from [get_clocks CLK1] -to [get_clocks CLK2] 
set_multicycle_path N-1 -hold -from [get_clocks CLK1] -to [get_clocks CLK2]

次の表に、前の結果を示します。

表 1. セットアップ N を使用してマルチサイクル パスを定義する方法
状況 マルチサイクル パス制約
同じクロック ドメインまたは同じ周期で位相シフトのない同期クロック ドメイン間
set_multicycle_path N -setup -from CLK1 -to CLK2 
set_multicycle_path N-1 -hold -from CLK1 -to CLK2
同期した低速クロック ドメインから高速クロック ドメイン
set_multicycle_path N -setup -from CLK1 -to CLK2 
set_multicycle_path N-1 -hold -end -from CLK1 -to CLK2
同期した高速クロック ドメインから低速クロック ドメイン
set_multicycle_path N -setup -start -from CLK1 -to CLK2 
set_multicycle_path N-1 -hold -from CLK1 -to CLK2
注記: コマンドをシンプルにするため、前の表では get_clocks コマンドは省略されています。