制約の処理順と無効な制約 - 2022.1 日本語

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

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

Timing Constraints ウィザードでは、クロックを定義したり、クロックを参照する制約が推奨され、プロジェクト モードの場合はターゲット XDC ファイルの最後に、それ以外のモードの場合はすべての制約の最後に保存されます。このため、次の規則を理解しておく必要があります。

プロジェクト モード
Timing Constraints ウィザードを起動する前に、PROCESSING_ORDER を NORMAL に設定したターゲット XDC ファイルを指定する必要があります。ターゲット XDC ファイルは、メモリで開いているデザインの現在選択されている制約セットに含まれている必要があります。すべての XDC ファイルの中でターゲット XDC ファイルがどこに位置しているかにより、推奨された制約がどこで適用され、保存されるかが決まります。また、ウィザードはできるだけ完全で正確な制約を推奨するため、ターゲット XDC ファイルの後に解析される XDC ファイルに含まれる無効な制約を適用し直そうとします。

たとえば、制約セット constr_1 が選択された synth_1 run からのネットリストがメモリで開いているとします。この制約セットには、3 つの XDC ファイルが a.xdcb.xdcc.xdc の順で含まれています。ターゲット XDC ファイルとして b.xdc を選択し、各ファイルに無効な制約が含まれていると、Timing Constraints ウィザードは、次の段階に進んでほかの不足している制約を検出する前に、推奨クロックを適用して c.xdc の無効な制約を適用し直します。

非プロジェクト モードまたはデザイン チェック ボックス ポイント (DCP) モード
これらのモードではターゲット XDC ファイルを指定できないので、Timing Constraints ウィザードは新しい制約を制約順の最後に推奨して適用します。これは、Tcl コンソールまたは [Timing Constraints] ウィンドウに新しい制約を入力するのと同じです。これらのモードでは、ウィザードは無効な制約を適用し直そうとはしません。制約の依存関係や優先度の問題を回避するために新しい制約を先に適用する必要がある場合は、制約の順序を手動で変更する必要があります。

制約を手動で変更するには、次の手順に従います。

  1. Vivado Design Suite を使用して新しい制約を作成します 。
  2. 次のいずれかを実行します。
    write_xdc -exclude_physical timing_constraints.xdc write_xdc -type timing timing_constraints.xdc
  3. timing_constraints.xdc を編集して新しい制約を XDC ファイルの上の方に移動します。
  4. ファイルを保存します。
  5. 次のコマンドを実行します。
    reset_timing
  6. 次のコマンドを実行して、編集したタイミング制約ファイルを読み込みます。
    read_xdc timing_constraints.xdc

アップデートされたタイミング制約の順序は、[Timing Constraints] ウィンドウを使用して確認できます。新しい制約を確認したら、その順序を DCP に保存できます。