アウト オブ コンテキスト制約の管理 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: カスタム IP の作成とパッケージ (UG1118)

Document ID
UG1118
Release Date
2023-11-06
Version
2023.2 日本語

デフォルトでは、IP は最上位デザインから独立させてアウト オブ コンテキスト (OOC) で合成されます。アウト オブ コンテキスト フローを使用する場合は、Vivado 合成時に順序ロジックのタイミング用に OOC フロー専用の XDC ファイルが必要です。この XDC ファイルには、ユーザー IP または別の IP の最上位のクロック定義が含まれます。

カスタム IP を作成するときは、IP をスタンドアロンで合成するときにこれらのクロック定義が使用されるように OOC 用の XDC ファイルを含めることをお勧めします。

OOC フローの詳細は、次の資料を参照してください。

  • 『Vivado Design Suite ユーザー ガイド: IP を使用した設計』 (UG896)
  • 『Vivado Design Suite ユーザー ガイド: 合成』 (UG901)
注記: AMD が提供する IP では、OOC 用 XDC ファイル名に _ooc が付いていますが、OOC の XDC ファイルであるかどうかは、ファイル名ではなく USED_IN ファイル プロパティで判別されます。

通常のデザインでは、IP は最上位デザインから必要な制約の一部を受け取ります。たとえば、カスタム IP とデバイス境界の間に直接インターフェイスがない場合、通常はその親デザインからの入力クロック定義に依存します。OOC の XDC ファイルには、これらの入力クロック定義のみが含まれます。これは、IP を最上位制約から独立させて合成する場合に、クロック定義が存在するようにするためです。これは必須ではありませんが、その他の制約タイプを追加することはお勧めしません。デザイン全体をインプリメントするときは、IP ネットリストは最上位ネットリストとリンクされるので、OOC の XDC は必要ありません。

次の場合は、OOC の XDC ファイルではなく、IP の XDC ファイルに IP の入力クロック定義を含める必要があります。

  • IP に入力バッファーに接続されたクロック定義が含まれる場合
  • IP にその IP 内のクロック定義が含まれる場合

OOC モードでは、Vivado 合成で I/O バッファーは挿入されません。

  • カスタム IP ポートに入力バッファーがインスタンシエートされている場合は、IP の XDC ファイルに入力クロック定義を含めたままにしておきます。
  • 入力クロック定義がフリップフロップや GT などの IP の内部エレメントで定義される場合も、IP の XDC ファイルに入力クロック定義を含めておきます。
  • この 2 つのカテゴリに当てはまらない場合は、OOC の XDC ファイルにクロック定義を移動してください。

OOC の XDC ファイルを作成したら、USED_IN プロパティを out_of_context に設定して、XDC ファイルが OOC フローの場合にのみ処理されるようにします。

重要: OOC の XDC ファイルの USED_IN プロパティは {synthesis implementation out_of_context} にする必要があります。out_of_context のみを設定すると、合成およびインプリメンテーションでは使用されません。