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

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

Document ID
UG903
Release Date
2023-11-01
Version
2023.2 日本語

セットアップ パスの乗数を 5 に設定するとします。ホールド パスの乗数は指定されていないので、ホールド関係はセットアップのソース エッジおよびデスティネーション エッジから算出されます。

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

デフォルトでは、セットアップ パスの乗数はデスティネーション クロックに対して定義されるので、デスティネーション クロックのエッジが先に移動します。セットアップのデスティネーション エッジは、5 クロック周期後になります。ホールドの乗数は指定されていないので、ホールド チェックのデスティネーション クロックのエッジは、セットアップ チェックに使用されるアクティブ エッジの 1 サイクル前に到着するエッジのままになります。

セットアップ関係およびホールド関係の両方に対し、ソース クロックのエッジは変更されません。

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

4 サイクルのホールド要件では、タイミング ドリブンのインプリメンテーション ツールで通常、スローおよびファーストの両方のタイミング コーナーでホールド タイミングを満たすため、データパスに大きな遅延を挿入する必要があります。これにより、不要なエリアおよび消費電力が発生します。そのため、可能な場合はホールド要件を緩和することが重要です。

このサンプル デザインでは、クロック イネーブル信号があるので、data0_reg でデータを 4 サイクル間保持しなくてもメタステーブル状態になることはありません。例 2: セットアップの乗数を 5、ホールドの乗数を 4 に設定では、ホールド要件の緩和方法を説明します。