現在の制約ファイルの解析 - 2023.2 日本語

Vivado Design Suite チュートリアル: カスタム IP の作成とパッケージ (UG1119)

Document ID
UG1119
Release Date
2023-11-10
Version
2023.2 日本語
  1. Sources ウィンドウの Hierarchy ビューで、Constraints フォルダーの下にあるターゲットの XDC ファイル (uart_top.xdc) を開きます。

    この XDC ファイルで、次の 2 つの制約に注目します。

    • create_clock 制約 (1 行目および 2 行目)。
    • クロック オブジェクト周期の値に依存する set_max_delay 制約 (14 行目)。
    注記: 上の図の制約は見やすいように編集されているので、実際の XDC ファイルでは行番号が異なる場合があります。
  2. 新しい IP 定義をパッケージする前に、create_clock 制約をすべて確認します。

    作成したクロックが IP (GT) の内部クロックである場合、または IP に入力バッファー (IBUF) が含まれている場合、create_clock 制約はローカル クロックの定義に必要なので、IP XDC ファイルに残しておく必要があります。

    IP の内部クロックおよびローカル クロック以外のクロックは、親デザインによりクロックが供給されるので、次の手順でそれらのクロックを IP XDC ファイルから OOC XDC ファイルに移動します。

    この例では、デザインの XDC ファイルの 1 行目と 2 行目の create_clock 制約を OOC XDC ファイルに移動します。パッケージする IP を IP カタログからインスタンシエートする場合、クロック定義は親デザインから IP に継承されます。

    set_max_delay 制約が、定義されているクロック (get_clocks –of_objects) の PERIOD プロパティに依存している点にも注目してください。この依存関係は、IP および最上位デザインの制約の処理順序の影響を受けます。

    AMD Vivado™ IDE でカスタム IP をデザインにインスタンシエートすると、デフォルトでは、IP の XDC ファイルが最上位デザインの XDC ファイルより前に処理されます。これは、IP の XDC ファイルの PROCESSING_ORDER プロパティが EARLY に設定されているからです。

    デフォルトでは、最上位デザインの XDC ファイルは NORMAL に設定されます。つまり、IP 制約の XDC ファイルがユーザーが作成した最上位デザインの制約より先に処理されます。

    set_max_delay 制約はクロックの PERIOD に依存しているので、IP 制約を処理した後にクロック定義すると、エラーになります。

    この問題を解決するには、UART IP の XDC ファイルを LATE に設定します。
    ヒント: XDC のファイル名に「_clock」が付いているAMD IP は、すべて LATE に設定されます。