- Flow Navigator または [File] メニューから Add Sources をクリックします。
Add Sources ウィザードが表示されます。
- Add or create constraints をオンにし、Next をクリックします。
- Add or Create Constraints ページで Create File をクリックします。
-
Create Constraints
File ダイアログ ボックスで、制約ファイルを次のように設定します。
- File type
- XDC
- File name
-
uart_top_ooc.xdc
- File location
- <Local to Project>
-
OK をクリックします。 ヒント: AMD IP の場合、アウト オブ コンテキスト XDC ファイルのファイル名に _ooc が付いていますが、それが OOC XDC ファイルかどうかを指定するのはファイルの USED_IN プロパティであり、ファイル名ではありません。
-
Finish をクリックし、Add Sources ウィザードを終了します。
AMD Vivado™ ツールによりプロジェクトに新しい XDC ファイルが作成され、Sources ウィンドウの Hierarchy ビューの Constraints セクションに表示されます。
次に、
create_clock
制約を元のデザイン XDC ファイル (uart_top.xdc) から OOC XDC ファイル (uart_top_ooc.xdc) に移動します。 - Sources ウィンドウで、新しい OOC XDC ファイル (uart_top_ooc.xdc) をダブルクリックして開きます。このファイルは空です。
- IP XDC ファイル (uart_top.xdc) の 1 行目と 2 行目の
create_clock
制約を切り取り、空の OOC XDC ファイルに貼り付けます。OOC XDC ファイルには、この 2 つの
create_clock
制約のみを含めます。
- テキスト部分を右クリックし、Save All
Files をクリックします。
現在開いている両方の XDC ファイルが保存されます。
- create_clock 制約が IP XDC ファイル (uart_top.xdc) から削除されていることを確認して、ファイルを保存します。
クロックは親デザインにより定義されるので、
create_clock
制約は不要です。IP の XDC ファイルには、次の図に示す制約のみが含まれます。スタンドアロン処理に必要なクロックは、OOC の XDC ファイルで定義されます。
- 開いている 2 つの XDC ファイルを閉じます。
OOC および IP の XDC ファイルが定義されたので、Vivado ツールで IP の制約ファイルが正しく処理されるよう、これらの XDC ファイルの USED_IN および PROCESSING_ORDER プロパティを設定する必要があります。
-
Sources ウィンドウの Hierarchy ビューの Constraints セクションにリストされている OOC XDC ファイル (uart_top_ooc.xdc) を選択します。
Source File Properties ウィンドウに、このファイルのプロパティが表示されます。
-
Source File
Properties ウィンドウの Properties ビューで Used In までスクロールダウンし、[...] ボタンをクリックします。
Make Selection ダイアログ ボックスが開きます。
- [Unused values] で out_of_context を選択して Move Right ボタン をクリックし、USED_IN プロパティに追加します。
- (オプション) [Tcl Console] ウィンドウで USED_IN プロパティを設定することもできます。OOC XDC ファイルの USED_IN プロパティを設定するには、次の Tcl コマンドを使用して out_of_context を含めます。
set_property USED_IN {synthesis implementation out_of_context}\ [get_files uart_top_ooc.xdc]
- USED_IN プロパティに out_of_context を含めると、その XDC ファイルは、アウト オブ コンテキスト (OOC) run の合成またはインプリメンテーションにのみ使用されます (
-mode out_of_context
)。重要: OOC XDC ファイルの USED_IN プロパティは{synthesis implementation out_of_context}
にする必要があります。out_of_context のみを設定すると、合成およびインプリメンテーションでは使用されません。