XDC 制約は、業界標準の Synopsys Design Constraints (SDC バージョン 1.9) と AMD 独自の物理制約を組み合わせたものです。
XDC には、次の特徴があります。
- 単純な文字列ではなく、Tcl のセマンティクスに従ったコマンドです。
- ほかの Tcl コマンドと同様に、Vivado Tcl インタープリターで処理できます。
- ほかの Tcl コマンドと同様に、順次読み込まれ、解析されます。
XDC 制約は、フローの異なる段階で複数の方法で入力できます。
- 制約を 1 つまたは複数の XDC ファイルに保存します。
メモリ内に XDC ファイルを読み込むには、次のいずれかを実行します。
-
read_xdc
コマンドを使用します。 - XDC ファイルをプロジェクトの制約セットの 1 つに追加します。XDC ファイルで使用可能なビルトイン Tcl コマンドは、
set
、list
、およびexpr
のみです。サポートされているコマンドのリストは、サポートされる XDC および SDC コマンドを参照してください。
-
- ツールで管理されない Tcl スクリプトで制約を生成します。
Tcl スクリプトを実行するには、次のいずれかを実行します。
- source コマンドを実行します。
- 非プロジェクト モード:
-
read_xdc -unmanaged
コマンドを使用します。
-
- プロジェクト モード: Tcl スクリプトをプロジェクトの制約セットの 1 つに追加します。
- プロジェクトにファイルを追加する
- ファイルのプロパティを Tcl に設定する
- Add_files -fileset constrs_me timing.xdc
set_property file_type Tcl [get_files -of [get_filesets constrs_me] timing.xdc]
ヒント: XDC ファイルとは異なり、ツールで管理されない Tcl スクリプトには、デザイン オブジェクトを選択したりデザイン制約を定義するため、条件やループ制御構造などの一般的な Tcl コマンドを含めることができます。
重要:
Vivado Design Suite では、同じ制約セットに XDC ファイルと Tcl スクリプトの両方を追加できます。変更された制約は、XDC ファイルからのものである場合のみ元の場所に保存されます。ツールで管理されない Tcl スクリプトからのものは元の場所には保存されません。Tcl スクリプトで生成された制約は Vivado Design Suite では管理されないため、インタラクティブには変更できません。詳細は、制約の入力方法を参照してください。
注記: XDC 制約の場合、source と
read_xdc
の動作には違いがあります。source コマンドでインポートした制約は、インポートした順番ではチェックポイントに保存されません。read_xdc
でインポートした制約がまず保存されてから、source でインポートした制約が保存されます。すべての制約をデザインに適用した順番で保存するには、source ではなく read_xdc -unmanaged
を使用します。デザインをメモリに読み込んだ後に特定の制約の構文を検証またはその影響を確認するには、[Tcl Console] ウィンドウおよび Vivado Design Suite のレポート機能を使用します。これは、タイミング制約および物理制約を解析し、デバッグするのに有益な方法です。