アウト オブ コンテキスト (OOC) 合成モードを使用する場合、OOC モジュール(IP/BD/DFx/...) は最上位内のブラック ボックスとして推論されます。つまり、OOC モジュール内のネットリスト オブジェクトには最上位制約からはアクセスできません。これには、合成用の最上位制約がインプリメンテーション用の制約と異なっている必要があることがあります。プロジェクト モードでは、これは合成用の特定の XDC ファイルを作成し、USED_IN_SYNTHESIS=TRUE および USED_IN_IMPLEMENTATION=FALSE プロパティを設定すると実行できます。インプリメンテーション用の最上位 XDC は、USE_IN_SYNTHESIS = FALSE である必要があります。
ブラック ボックスからアクセス可能なオブジェクトは、入力ポートと出力ポートのみです。このため、ブラック ボックスを参照するときに最上位が指定できるタイミング制約のタイプが限られます。
OOC 合成による最上位制約の制限には、次のようなものがあります。
- OOC モジュール内で生成された自動派生クロックの名前は変更できません。
- OOC モジュール内で定義されたクロック名は参照できません。OOC モジュールの出力に伝搬されるクロックは、モジュールの XDC 内でクロックの名前が変更された場合でも、モジュール内の名前からではなく、モジュールのポートに接続されているネットに基づいて命名されます。
- 最上位制約が OOC モジュールから出力されるクロックを参照する必要がある場合は、‘get_clocks -of_objects [get_pins <MODULE_OOC_OUTPUT_CLOCK_PORT>]’ などのクエリを使用する必要があります。