IP/サブモジュール XDC に推奨される制約規則 - 2022.1 日本語

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

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

ブロック レベルの制約は、次のような規則に従う必要があります。

  1. クロックがデザインの最上位で作成されるようにする場合は、ブロック レベルの制約内でクロックを定義しないようにします。

    ブロック内では、get_clocks -of_objects コマンドを使用してクエリします。このコマンドは、デザインの特定オブジェクトを介するクロックすべてを返します。

    例:

    set blockClock [get_clocks -of_objects [get_ports clkIn]]

    クロックをブロック内で定義する必要がある場合は、インスタンシエート済み入力/入出力バッファーを駆動する入力/入出力ポートか、クロックを作成/変換するセルの出力 (MMCM/PLL またはタイミング ツールで自動的に処理される特別バッファーは除く) に対して定義する必要があります。

    例:

    • 入力バッファーの付いた入力クロック
    • クロック分周器
    • GT 復元クロック
  2. ポートが最上位ポートに直接接続され、I/O バッファーが IP 内にインスタンシエートされている場合にのみ、入力および出力遅延を指定します。

    例:

    • 入力バッファーの付いた入力データ ポート
    • 出力バッファーの付いた出力データ ポート
  3. IP 内に制限されていない 2 つのクロックにタイミング例外を定義しないようにします。
  4. クロック名は最上位のクロック名に基づいて変わるので、クロックは名前で指定しないようにしてください。ブロックが複数回インスタンシエートされる場合も名前で指定しないでください。
  5. ブロックが同じ最上位デザインで複数回インスタンシエートできる場合、配置制約は追加しないでください。