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

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

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

前の例でホールド要件を緩和するには、ホールド関係のデスティネーション クロック エッジを 2 クロック サイクル前に移動する必要があります。これには、set_multicycle_path -hold コマンドを -end オプションを指定して使用します。

set_multicycle_path 3 -setup -from [get_clocks CLK1] -to [get_clocks CLK2] 
set_multicycle_path 2 -hold -end -from [get_clocks CLK1] -to [get_clocks CLK2]
ヒント: set_multicycle_path -hold コマンドに -end オプションを指定しない場合、ソース クロック エッジが先に移動します。これでは意図したホールド要件が得られません。

例 1: セットアップの乗数を 3 に設定し、ホールドをそれに応じて移動にあるように、セットアップの乗数は、セットアップ チェックに使用されるデスティネーション クロックのエッジを 2 (3 - 1) サイクル先に移動します。

次の図に、2 つのマルチサイクル パス制約が設定された後のセットアップ関係とホールド関係を示します。

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

重要: 低速クロックから高速クロックへのクロック乗せ換えでは、次のコード例に示すように、セットアップの乗数を N に定義した場合、デスティネーション クロック (-end) に対してホールドの乗数を N-1 に定義します (最も一般的なケース)。
set_multicycle_path N -setup -from [get_clocks CLK1] -to [get_clocks CLK2] 
set_multicycle_path N-1 -hold -end -from [get_clocks CLK1] -to [get_clocks CLK2]