[Asynchronous Clock Domain Crossings] ページ - 2022.1 日本語

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

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

Timing Constraints ウィザードでは、非同期クロック間のクロック乗せ換え (CDC) パスのトポロジが解析され、それが安全であると判断された場合は、クロック グループまたはフォルス パスが推奨されます。

非同期クロックとは、通常は同じプライマリ クロックを共有していなかったり、共通周期がないために、位相関係が不明のクロックのことです。このため、非同期 CDC パスのスラックは正確に算出できません。非同期 CDC パスがタイミング解析されると、非同期クロック間のスキューが大きくなる可能性があるため、タイミングの結果の質にかなり影響し、タイミング クロージャが達成できない可能性があります。このため、ユーザーがこれらのパスに set_clock_groupsset_false_path、または set_max_delay -datapath_only などのタイミング例外を追加して、タイミング解析を完全に無視するか、クロック スキューとクロックのばらつきを無視するように設定する必要があります。また、メタステーブル状態を回避するため、デザインに正しい CDC 回路をインプリメントする必要があります。

Vivado Design Suite では、同期データおよび非同期リセットに対するフリップフロップ ベースのシンクロナイザーのみが特定されます。このようなシンクロナイザーの例については、 『Vivado Design Suite ユーザー ガイド: デザイン解析およびクロージャ テクニック』 (UG906) を参照してください。

次の図に、推奨される制約と推奨されない制約の表の例を示します。

図 1. 推奨される制約と推奨されない制約の表の例

どちらの表にも、次の情報が表示されます。

[Source Clock] (ソース クロック)
ウィザードで特定された CDC パスの始点のクロック。
[Destination Clock] (デスティネーション クロック)
ウィザードで特定された CDC パスの終点のクロック。
[Constraint]
優先度の高いタイミング例外、例外がない場合はクロック関係の特性。
  • [Recommended Constraints] の表には、制約が作成されると想定されて新しい制約が表示されます。
    • [asynch (clock groups)]: 両方向のタイミングを無視するのが安全な場合。この場合は set_clock_groups 制約が作成されます。
    • [asynch (false path)]: 一方向のパスを無視することのみが安全な場合。この場合は set_false_path 制約が作成されます。
  • [Non-recommended Constraints] の表には、クロック グループまたはフォルス パス例外を適用する前に CDC パスに設定されているタイミング制約が示されます。
    • [Timed - No Common Primary Clock]
    • [Timed - No Common Period]
    • [MaxDelay DataPath]: 少なくとも 1 つのパスに set_max_delay -datapath_only 制約が設定されており、それ以外のパスにフォルス パス制約が設定されている場合
[Endpoints]
ウィザードで特定された CDC パスの終点の数。
[Synchronized (with ASYNC_REG)]
すべてのシンクロナイザー フリップフロップで ASYNC_REG プロパティが true に設定された状態で、正しく同期された終点の数。
[Synchronizer without ASYNC_REG]
少なくとも 1 つのフリップフロップで ASYNC_REG プロパティが true に設定されていない場合のシンクロナイザーの数。
[Unknown]
ウィザードでシンクロナイザーが検出されなかった CDC パスの終点の数。
[Max Delay Datapath Only]
set_max_delay -datapath_only 制約が設定されている CDC パスの終点の数。

表には、可能な場合はクロスプローブ リンクが含まれます。数値をクリックすると、該当する CDC パスがウィンドウ下部の [Paths] タブにリストされます。CDC パスを 1 つまたは複数選択し、[Schematic] ボタンをクリックする (F4 キーを押す) と、メインの Vivado IDE ウィンドウに選択したパスのロジックを表示できます。