Vivado IDE では、ザイリンクス デザイン制約 (XDC) および Synopsys Design Constraint (SDC) ファイル形式がサポートされます。SDC 形式ではタイミング制約、XDC 形式ではタイミング制約および物理制約の両方が指定されます。制約には、配置、タイミング、および I/O に関する指示があります。制約は、RTL 解析、合成、インプリメンテーションを含めたデザイン フローのさまざまな段階中に作成できます。制約ファイル、制約セット、制約タイプの詳細は、 『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) を参照してください。
Vivado Design Suite を使用すると、プロジェクトで制約を柔軟に定義および作成できます。1 つの XDC ファイルを使用してデザインで使用されるすべての制約を追加および管理するか、または制約を複数の XDC ファイルに分類して管理できます。複数の制約セットを作成して、さまざまな制約を試したり、複数のバージョンの制約を保存したりすることも可能です。各制約セットには、1 つまたはそれ以上の制約ファイルを含めることができます。
また、Vivado Design Suite では、Tcl スクリプトで制約を定義することも可能です。スクリプトは Tcl シェルまたは Tcl コンソールで実行するか、デザインの制約セットに追加できます。Tcl スクリプトで制約を定義すると、制約適用範囲の指定や定義に標準 Tcl コマンドを使用できます。ただし、この方法では、デザイン制約への変更をソース Tcl スクリプトに保存できないなどの制限があります。
複数のデザインで 1 つの制約セットを参照できます。ただし、この場合は変更の管理に注意を払う必要があります。Vivado IDE で複数のデザインが開いていて、保存されていない変更がある場合、どの制約ファイルを保存するかを選択するダイアログ ボックスが表示されます。
インプリメント済みデザインには、インプリメンテーション run の実行中に使用された制約セットのスナップショットが元の制約ファイル行への参照と共に保存されます。インプリメント済みデザインを開く際、インプリメンテーション run から読み込まれた制約セットがプロジェクトの制約セットからのインプリメンテーション制約よりも古い場合があります。この場合、メモリ内の制約を追加または編集した後に、インプリメント済み run からデザインを保存すると、プロジェクト ファイルの新しい制約の方が消されてしまう可能性があります。通常は Vivado IDE でこれらのリビジョンが管理され、随時適切な処置をとるようメッセージが表示されますが、メモリ内の制約とインプリメンテーション run に関連付けられた制約セットの制約ファイル間に競合がある可能性もあるので、注意してください。
Vivado IDE では、次のウィンドウを使用して制約を作成および変更できます。
- [Timing Constraints] ウィンドウ
- プロジェクトの XDC ファイル タイミング制約がすべて表で表示されます。既存の制約はインタラクティブに編集して、ソース ファイルに保存し戻すことができるほか、新規に制約を作成することもできます。
- [Device Constraints] ウィンドウ
- 表示されたバンクでさまざまな SelectIO インターフェイスを設定できます。
- [Physical Constraints] ウィンドウ
- Pblock を作成および管理できます。