例 1: セットアップの乗数を 3 に設定し、ホールドをそれに応じて移動 - 2022.1 日本語

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

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

次のようなセットアップの乗数が 3 のマルチサイクル パス制約を定義するとします。

set_multicycle_path 3 -setup -from [get_clocks CLK1] -to [get_clocks CLK2]

セットアップに対してマルチサイクル パス制約を設定すると、セットアップ チェックに使用されるデスティネーション クロックのエッジが 2 (3 - 1) サイクル先に移動します。ホールド パスの乗数は指定されていないので、ホールド関係はセットアップのソース エッジおよびデスティネーション エッジから導出されます。ソース クロックのアクティブ エッジは、マルチサイクル パス制約により変更されません。

次の図に、マルチサイクル後のセットアップ関係とホールド関係を示します。

図 1. セットアップの乗数を 3 に設定し、ホールドをそれに応じて移動

このパスが機能するためには、送信レジスタにデータを CLK2 の 1 サイクル間保持する必要はありません。そのようにすると不要なロジックを追加することになり、エリアおよび消費電力が増加します。

受信レジスタにはクロック ネーブル信号があるので、メタステーブル状態になることなくホールド要件を緩和できます。