制約を含む Vivado IP は、ユーザー デザイン制約の前か後に処理されます。制約の詳細は、 『Vivado Design Suite ユーザー ガイド: 制約の使用』 (UG903) を参照してください。
重要:
OUT_OF_CONTEXT
と指定された XDC ファイルは、PROCESSING_ORDER
が EARLY
のファイルも含め、その IP で使用されるどの XDC ファイルよりも先に処理されます。PROCESSING_ORDER
のデフォルト値は NORMAL
です。値には LATE
もあります。カスタム IP を作成する際は、制約がユーザー デザインの中で処理される順序を指定する必要があります。IP パッケージャーでは、プロジェクトの制約ファイルの処理順序セットが使用されます。これらのプロパティを、IP をパッケージする前にプロジェクトで適切に設定してください。IP 用の制約では、EARLY
と LATE
の 2 つの処理順序のみがサポートされます。デフォルトの NORMAL
に指定されている制約はすべて EARLY
に変換されます。
最上位ユーザー制約はデフォルトで NORMAL
に設定されており、EARLY
と LATE
の間に処理されます。これにより、EARLY
に設定されている IP の XDC に含まれる出力クロックが最上位制約で参照できるようになるだけでなく、必要に応じて最上位制約で IP 制約を上書きできます。
IP 制約が最上位クロック オブジェクトなどの最上位制約に依存する場合、XDC の制約を LATE
に設定して、IP 制約が処理されるときに必要なオブジェクトが存在するようにします。アウト オブ コンテキストで合成される IP の場合、OOC の XDC に最上位クロック オブジェクトが含まれます。
注記:
AMD IP の
PROCESSING_ORDER
プロパティが LATE
に設定されている XDC ファイルは <IP_NAME>_clocks.xdc
という名前です。カスタム IP では、この命名規則に従う必要はありません。ほとんどの IP 制約の処理順序は EARLY
です。LATE
と指定された制約には、処理前にユーザー制約が必要です。これは、通常「クロック依存」と呼ばれます。